diff --git a/CMakeLists.txt b/CMakeLists.txt index a93267d2..e7b8f152 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,9 @@ # the License. cmake_minimum_required(VERSION 3.12 FATAL_ERROR) +if(DRACO_TRANSCODER_SUPPORTED) + set(CMAKE_CXX_STANDARD 17) +endif() project(draco C CXX) if(NOT CMAKE_BUILD_TYPE) @@ -479,10 +482,14 @@ list( "${draco_src_root}/metadata/geometry_metadata.h" "${draco_src_root}/metadata/metadata.cc" "${draco_src_root}/metadata/metadata.h" + "${draco_src_root}/metadata/property_attribute.cc" + "${draco_src_root}/metadata/property_attribute.h" "${draco_src_root}/metadata/property_table.cc" "${draco_src_root}/metadata/property_table.h" "${draco_src_root}/metadata/structural_metadata.cc" - "${draco_src_root}/metadata/structural_metadata.h") + "${draco_src_root}/metadata/structural_metadata.h" + "${draco_src_root}/metadata/structural_metadata_schema.cc" + "${draco_src_root}/metadata/structural_metadata_schema.h") list(APPEND draco_metadata_enc_sources "${draco_src_root}/metadata/metadata_encoder.cc" diff --git a/README.md b/README.md index 4cc717c8..bbbe93ae 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,14 @@ delays can result in transient errors that can be difficult to diagnose when new Draco releases are launched. To avoid the issue pin your sites to a versioned release. +### Version 1.5.7 release: +* Using the versioned www.gstatic.com WASM and Javascript decoders continues + to be recommended. To use v1.5.7, use this URL: + * https://www.gstatic.com/draco/versioned/decoders/1.5.7/* +* Added support for normalized attributes to Emscripten encoder API. +* Bug fixes. +* Security fixes. + ### Version 1.5.6 release: * Using the versioned www.gstatic.com WASM and Javascript decoders continues to be recommended. To use v1.5.6, use this URL: diff --git a/cmake/draco_build_definitions.cmake b/cmake/draco_build_definitions.cmake index 4dc23233..4c7b3f9f 100644 --- a/cmake/draco_build_definitions.cmake +++ b/cmake/draco_build_definitions.cmake @@ -56,7 +56,7 @@ macro(draco_set_build_definitions) # passed to libtool. # # We set DRACO_SOVERSION = [c-a].a.r - set(LT_CURRENT 8) + set(LT_CURRENT 9) set(LT_REVISION 0) set(LT_AGE 0) math(EXPR DRACO_SOVERSION_MAJOR "${LT_CURRENT} - ${LT_AGE}") diff --git a/cmake/draco_tests.cmake b/cmake/draco_tests.cmake index 1d905a96..a8283e2d 100644 --- a/cmake/draco_tests.cmake +++ b/cmake/draco_tests.cmake @@ -89,8 +89,10 @@ if(DRACO_TRANSCODER_SUPPORTED) "${draco_src_root}/io/texture_io_test.cc" "${draco_src_root}/material/material_library_test.cc" "${draco_src_root}/material/material_test.cc" + "${draco_src_root}/metadata/property_attribute_test.cc" "${draco_src_root}/metadata/property_table_test.cc" "${draco_src_root}/metadata/structural_metadata_test.cc" + "${draco_src_root}/metadata/structural_metadata_schema_test.cc" "${draco_src_root}/scene/instance_array_test.cc" "${draco_src_root}/scene/light_test.cc" "${draco_src_root}/scene/mesh_group_test.cc" diff --git a/javascript/draco_decoder.js b/javascript/draco_decoder.js index 6629469b..acf6e23a 100644 --- a/javascript/draco_decoder.js +++ b/javascript/draco_decoder.js @@ -9,8 +9,8 @@ var Module=typeof DracoDecoderModule!="undefined"?DracoDecoderModule:{};var read // EMSCRIPTEN_START_ASM function instantiate(na){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>2];s=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;a:{b:{c:{if(g>>>0>k>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break c}d=e+H[b>>2]|0;H[a>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[a>>2]>31){break c}s=H[b+8>>2];y=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(y|0)|(d|0)>(y|0)){break c}d=e+H[b>>2]|0;H[a+4>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;s=H[b+8>>2];y=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(y|0)|(d|0)>(y|0)){break c}d=e+H[b>>2]|0;H[a+12>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;d=H[a+20>>2];x=H[a+12>>2];if((x|0)!=(d|0)?d:0){break c}s=H[b+8>>2];y=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(y|0)|(d|0)>(y|0)){break c}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[a+16>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(e>>>0>=7){H[B>>2]=e;Qd(1713,B);break c}H[B+664>>2]=c;d:{if(!x){break d}e:{k=H[c>>2];if(x>>>0<=(H[c+8>>2]-k|0)/12>>>0){break e}if(x>>>0<357913942){l=H[c+4>>2];d=N(x,12);e=pa(d);g=d+e|0;e=e+N((l-k|0)/12|0,12)|0;d=e;if((k|0)!=(l|0)){while(1){d=d-12|0;l=l-12|0;H[d>>2]=H[l>>2];H[d+4>>2]=H[l+4>>2];H[d+8>>2]=H[l+8>>2];if((k|0)!=(l|0)){continue}break}}H[c+8>>2]=g;H[c+4>>2]=e;H[c>>2]=d;if(!k){break e}oa(k);break e}break b}f:{switch(H[a+16>>2]){case 0:i=wb(B+8|0,3);z=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;g:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break g}d=e+H[b>>2]|0;H[i>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[i>>2]>32){break g}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break g}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[i+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break g}H[i+8>>2]=0;if(!ua(i+16|0,b)){break g}if(!ua(i+36|0,b)){break g}if(!ua(i+56|0,b)){break g}if(!ua(i+76|0,b)){break g}A=H[i+4>>2];d=0;g=0;f=ca-32|0;ca=f;m=H[i+12>>2];H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;if(m){if(m>>>0>=1073741824){break b}b=m<<2;g=pa(b);H[f+8>>2]=g;d=b+g|0;H[f+16>>2]=d;ra(g,0,b);H[f+12>>2]=d}e=H[i+120>>2];b=H[e>>2];if(b){H[e+4>>2]=b;oa(b);m=H[i+12>>2];g=H[f+8>>2];d=H[f+12>>2]}H[e+4>>2]=d;H[e>>2]=g;H[e+8>>2]=H[f+16>>2];g=0;H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;h:{if(m){if(m>>>0>=1073741824){break b}b=m<<2;w=pa(b);H[f+8>>2]=w;g=b+w|0;H[f+16>>2]=g;ra(w,0,b);H[f+12>>2]=g}d=H[i+132>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);w=H[f+8>>2];g=H[f+12>>2]}H[d+4>>2]=g;H[d>>2]=w;H[d+8>>2]=H[f+16>>2];H[f+24>>2]=0;H[f+28>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;xa(f+8|0);d=H[f+24>>2]+H[f+28>>2]|0;b=(d>>>0)/341|0;b=H[H[f+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=A;m=H[f+28>>2]+1|0;H[f+28>>2]=m;i:{if(!m){break i}y=i+96|0;while(1){n=H[f+12>>2];g=H[f+24>>2];e=m-1|0;d=g+e|0;b=(d>>>0)/341|0;b=H[n+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;o=H[b+8>>2];k=H[b+4>>2];t=H[b>>2];H[f+28>>2]=e;b=H[f+16>>2];if((((b|0)!=(n|0)?N(b-n>>2,341)-1|0:0)-(g+m|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[f+16>>2]=H[f+16>>2]-4}b=0;if(t>>>0>A>>>0){break i}d=H[i+12>>2];m=(k|0)!=(d-1|0)?k+1|0:0;if(m>>>0>=d>>>0){break i}q=N(o,12);p=q+H[i+132>>2]|0;l=q+H[i+120>>2]|0;g=H[i>>2];r=m<<2;e=H[r+H[p>>2]>>2];j:{k:{if((g|0)==(e|0)){if(!t){break k}while(1){d=H[l>>2];x=H[d+8>>2];s=H[d+4>>2];n=H[d>>2];q=H[z>>2];m=H[q+4>>2];d=H[q+8>>2];l:{if(m>>>0>>0){H[m+8>>2]=x;H[m+4>>2]=s;H[m>>2]=n;H[q+4>>2]=m+12;break l}r=H[q>>2];g=(m-r|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(d-r|0)/12|0;d=e<<1;k=e>>>0>=178956970?357913941:d>>>0>k>>>0?d:k;if(k){if(k>>>0>=357913942){break a}d=pa(N(k,12))}else{d=0}w=d+N(g,12)|0;H[w+8>>2]=x;H[w+4>>2]=s;H[w>>2]=n;e=w+12|0;if((m|0)!=(r|0)){while(1){w=w-12|0;m=m-12|0;H[w>>2]=H[m>>2];H[w+4>>2]=H[m+4>>2];H[w+8>>2]=H[m+8>>2];if((m|0)!=(r|0)){continue}break}}H[q+8>>2]=d+N(k,12);H[q+4>>2]=e;H[q>>2]=w;if(!r){break l}oa(r)}H[i+8>>2]=H[i+8>>2]+1;b=b+1|0;if((t|0)!=(b|0)){continue}break}break k}m:{n:{o:{p:{if(t>>>0<=2){d=H[i+108>>2];H[d>>2]=m;w=1;g=H[i+12>>2];if(g>>>0>1){break p}break m}if(K[i+8>>2]>K[i+4>>2]){break i}b=H[i+120>>2];s=o+1|0;x=N(s,12);d=b+x|0;if((d|0)!=(l|0)){Aa(d,H[l>>2],H[l+4>>2]);b=H[i+120>>2]}b=r+H[b+x>>2]|0;H[b>>2]=H[b>>2]+(1<>2];e=32-k|0;q:{if((n|0)<=(e|0)){e=H[i+28>>2];if((e|0)==H[i+20>>2]){break o}d=H[e>>2];b=k+n|0;H[i+32>>2]=b;w=d<>>32-n|0;if((b|0)!=32){break q}H[i+32>>2]=0;H[i+28>>2]=e+4;break q}g=H[i+28>>2];b=g+4|0;if((b|0)==H[i+20>>2]){break o}d=H[g>>2];H[i+28>>2]=b;b=n-e|0;H[i+32>>2]=b;w=H[g+4>>2]>>>32-b|d<>>32-n}d=t>>>1|0;if(w>>>0>d>>>0){break i}break n}while(1){m=(g-1|0)!=(m|0)?m+1|0:0;H[d+(w<<2)>>2]=m;g=H[i+12>>2];w=w+1|0;if(g>>>0>w>>>0){continue}break}break m}d=t>>>1|0;w=0}r:{s:{e=d-w|0;b=t-e|0;t:{if((b|0)==(e|0)){b=e;break t}n=H[i+88>>2];if((n|0)==H[i+80>>2]){break s}k=H[n>>2];g=H[i+92>>2];d=g+1|0;H[i+92>>2]=d;g=k&-2147483648>>>g;u:{if((d|0)==32){H[i+92>>2]=0;H[i+88>>2]=n+4;if(g){break u}break s}if(!g){break s}}}d=b;b=e;break r}d=e}n=H[i+132>>2];k=n+q|0;g=H[k>>2];e=g+r|0;H[e>>2]=H[e>>2]+1;Aa(n+x|0,g,H[k+4>>2]);if(b){g=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];w=H[f+12>>2];if((g|0)==(((e|0)!=(w|0)?N(e-w>>2,341)-1|0:0)|0)){xa(f+8|0);w=H[f+12>>2];g=H[f+24>>2]+H[f+28>>2]|0}e=(g>>>0)/341|0;e=H[(e<<2)+w>>2]+N(g-N(e,341)|0,12)|0;H[e+8>>2]=o;H[e+4>>2]=m;H[e>>2]=b;H[f+28>>2]=H[f+28>>2]+1}if(!d){break k}g=H[f+28>>2]+H[f+24>>2]|0;b=H[f+16>>2];w=H[f+12>>2];if((g|0)==(((b|0)!=(w|0)?N(b-w>>2,341)-1|0:0)|0)){xa(f+8|0);w=H[f+12>>2];g=H[f+24>>2]+H[f+28>>2]|0}b=(g>>>0)/341|0;b=H[(b<<2)+w>>2]+N(g-N(b,341)|0,12)|0;H[b+8>>2]=s;H[b+4>>2]=m;H[b>>2]=d;m=H[f+28>>2]+1|0;H[f+28>>2]=m;break j}if(!t){break k}while(1){if(H[i+12>>2]){o=H[i+40>>2];n=H[p>>2];w=H[i+96>>2];k=H[i+108>>2];m=0;while(1){q=k+(m<<2)|0;H[w+(H[q>>2]<<2)>>2]=0;g=H[i>>2];e=H[q>>2]<<2;d=H[e+n>>2];v:{if((g|0)==(d|0)){break v}r=e+w|0;u=g-d|0;x=H[i+52>>2];g=32-x|0;if((u|0)<=(g|0)){e=H[i+48>>2];if((e|0)==(o|0)){break i}H[r>>2]=H[e>>2]<>>32-u;d=u+H[i+52>>2]|0;H[i+52>>2]=d;if((d|0)!=32){break v}H[i+52>>2]=0;H[i+48>>2]=e+4;break v}s=H[i+48>>2];d=s+4|0;if((d|0)==(o|0)){break i}e=H[s>>2];H[i+48>>2]=d;d=u-g|0;H[i+52>>2]=d;H[r>>2]=H[s+4>>2]>>>32-d|e<>>32-u}e=H[q>>2]<<2;d=e+w|0;H[d>>2]=H[d>>2]|H[e+H[l>>2]>>2];m=m+1|0;if(m>>>0>2]){continue}break}}jb(z,y);H[i+8>>2]=H[i+8>>2]+1;b=b+1|0;if((t|0)!=(b|0)){continue}break}}m=H[f+28>>2]}if(m){continue}break}}H[f+28>>2]=0;w=H[f+16>>2];m=H[f+12>>2];g=w-m|0;if(g>>>0>=9){while(1){oa(H[m>>2]);m=H[f+12>>2]+4|0;H[f+12>>2]=m;w=H[f+16>>2];g=w-m|0;if(g>>>0>8){continue}break}}b=170;w:{switch((g>>>2|0)-1|0){case 1:b=341;case 0:H[f+24>>2]=b;break;default:break w}}x:{if((m|0)==(w|0)){break x}while(1){oa(H[m>>2]);m=m+4|0;if((w|0)!=(m|0)){continue}break}d=H[f+16>>2];b=H[f+12>>2];if((d|0)==(b|0)){break x}H[f+16>>2]=d+((b-d|0)+3&-4)}b=H[f+8>>2];if(b){oa(b)}ca=f+32|0;break h}}xb(i);break d;case 1:i=wb(B+8|0,3);A=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;y:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break y}d=e+H[b>>2]|0;H[i>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[i>>2]>32){break y}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break y}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[i+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break y}H[i+8>>2]=0;if(!ua(i+16|0,b)){break y}if(!ua(i+36|0,b)){break y}if(!ua(i+56|0,b)){break y}if(!ua(i+76|0,b)){break y}p=H[i+4>>2];d=0;f=ca-32|0;ca=f;m=H[i+12>>2];H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;if(m){if(m>>>0>=1073741824){break b}b=m<<2;t=pa(b);H[f+8>>2]=t;d=b+t|0;H[f+16>>2]=d;ra(t,0,b);H[f+12>>2]=d}e=H[i+120>>2];b=H[e>>2];if(b){H[e+4>>2]=b;oa(b);m=H[i+12>>2];t=H[f+8>>2];d=H[f+12>>2]}H[e+4>>2]=d;H[e>>2]=t;H[e+8>>2]=H[f+16>>2];t=0;H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;z:{if(m){if(m>>>0>=1073741824){break b}b=m<<2;o=pa(b);H[f+8>>2]=o;t=b+o|0;H[f+16>>2]=t;ra(o,0,b);H[f+12>>2]=t}d=H[i+132>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);t=H[f+12>>2];o=H[f+8>>2]}H[d+4>>2]=t;H[d>>2]=o;H[d+8>>2]=H[f+16>>2];H[f+24>>2]=0;H[f+28>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;xa(f+8|0);d=H[f+24>>2]+H[f+28>>2]|0;b=(d>>>0)/341|0;b=H[H[f+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=p;m=H[f+28>>2]+1|0;H[f+28>>2]=m;A:{if(!m){break A}s=i+96|0;while(1){k=H[f+12>>2];g=H[f+24>>2];e=m-1|0;d=g+e|0;b=(d>>>0)/341|0;b=H[k+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;q=H[b+8>>2];d=H[b+4>>2];l=H[b>>2];H[f+28>>2]=e;b=H[f+16>>2];if((((b|0)!=(k|0)?N(b-k>>2,341)-1|0:0)-(g+m|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[f+16>>2]=H[f+16>>2]-4}if(l>>>0>p>>>0){break A}b=H[i+12>>2];m=(d|0)!=(b-1|0)?d+1|0:0;if(m>>>0>=b>>>0){break A}b=H[i+120>>2];r=N(q,12);u=b+r|0;e=H[i>>2];x=m<<2;n=r+H[i+132>>2]|0;d=H[x+H[n>>2]>>2];B:{C:{if((e|0)==(d|0)){x=0;if(!l){break C}while(1){b=H[u>>2];y=H[b+8>>2];n=H[b+4>>2];k=H[b>>2];q=H[A>>2];m=H[q+4>>2];b=H[q+8>>2];D:{if(m>>>0>>0){H[m+8>>2]=y;H[m+4>>2]=n;H[m>>2]=k;H[q+4>>2]=m+12;break D}r=H[q>>2];e=(m-r|0)/12|0;g=e+1|0;if(g>>>0>=357913942){break b}d=(b-r|0)/12|0;b=d<<1;g=d>>>0>=178956970?357913941:b>>>0>g>>>0?b:g;if(g){if(g>>>0>=357913942){break a}b=pa(N(g,12))}else{b=0}o=b+N(e,12)|0;H[o+8>>2]=y;H[o+4>>2]=n;H[o>>2]=k;d=o+12|0;if((m|0)!=(r|0)){while(1){o=o-12|0;m=m-12|0;H[o>>2]=H[m>>2];H[o+4>>2]=H[m+4>>2];H[o+8>>2]=H[m+8>>2];if((m|0)!=(r|0)){continue}break}}H[q+8>>2]=b+N(g,12);H[q+4>>2]=d;H[q>>2]=o;if(!r){break D}oa(r)}H[i+8>>2]=H[i+8>>2]+1;x=x+1|0;if((l|0)!=(x|0)){continue}break}break C}E:{F:{G:{H:{if(l>>>0<=2){b=H[i+108>>2];H[b>>2]=m;o=1;t=H[i+12>>2];if(t>>>0>1){break H}break E}if(K[i+8>>2]>K[i+4>>2]){break A}k=b;b=r+12|0;Aa(k+b|0,H[u>>2],H[u+4>>2]);b=x+H[b+H[i+120>>2]>>2]|0;H[b>>2]=H[b>>2]+(1<>2];e=32-k|0;I:{if((n|0)<=(e|0)){e=H[i+28>>2];if((e|0)==H[i+20>>2]){break G}d=H[e>>2];b=k+n|0;H[i+32>>2]=b;d=d<>>32-n|0;if((b|0)!=32){break I}H[i+32>>2]=0;H[i+28>>2]=e+4;break I}g=H[i+28>>2];b=g+4|0;if((b|0)==H[i+20>>2]){break G}d=H[g>>2];H[i+28>>2]=b;b=n-e|0;H[i+32>>2]=b;d=H[g+4>>2]>>>32-b|d<>>32-n}o=l>>>1|0;if(o>>>0>>0){break A}break F}while(1){m=(t-1|0)!=(m|0)?m+1|0:0;H[b+(o<<2)>>2]=m;o=o+1|0;t=H[i+12>>2];if(o>>>0>>0){continue}break}break E}o=l>>>1|0;d=0}y=q+1|0;J:{K:{e=o-d|0;d=l-e|0;L:{if((d|0)==(e|0)){b=e;break L}n=H[i+88>>2];if((n|0)==H[i+80>>2]){break K}k=H[n>>2];g=H[i+92>>2];b=g+1|0;H[i+92>>2]=b;g=k&-2147483648>>>g;M:{if((b|0)==32){H[i+92>>2]=0;H[i+88>>2]=n+4;if(g){break M}break K}if(!g){break K}}b=d}d=e;break J}b=e}n=H[i+132>>2];k=n+r|0;g=H[k>>2];e=g+x|0;H[e>>2]=H[e>>2]+1;Aa(n+N(y,12)|0,g,H[k+4>>2]);if(d){t=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];o=H[f+12>>2];if((t|0)==(((e|0)!=(o|0)?N(e-o>>2,341)-1|0:0)|0)){xa(f+8|0);t=H[f+24>>2]+H[f+28>>2]|0;o=H[f+12>>2]}e=(t>>>0)/341|0;e=H[o+(e<<2)>>2]+N(t-N(e,341)|0,12)|0;H[e+8>>2]=q;H[e+4>>2]=m;H[e>>2]=d;H[f+28>>2]=H[f+28>>2]+1}if(!b){break C}t=H[f+28>>2]+H[f+24>>2]|0;d=H[f+16>>2];o=H[f+12>>2];if((t|0)==(((d|0)!=(o|0)?N(d-o>>2,341)-1|0:0)|0)){xa(f+8|0);t=H[f+24>>2]+H[f+28>>2]|0;o=H[f+12>>2]}d=(t>>>0)/341|0;d=H[o+(d<<2)>>2]+N(t-N(d,341)|0,12)|0;H[d+8>>2]=y;H[d+4>>2]=m;H[d>>2]=b;m=H[f+28>>2]+1|0;H[f+28>>2]=m;break B}t=0;if(!l){break C}while(1){if(H[i+12>>2]){o=H[i+40>>2];k=H[n>>2];z=H[i+96>>2];g=H[i+108>>2];m=0;while(1){q=g+(m<<2)|0;H[z+(H[q>>2]<<2)>>2]=0;e=H[i>>2];d=H[q>>2]<<2;b=H[d+k>>2];N:{if((e|0)==(b|0)){break N}r=d+z|0;w=e-b|0;x=H[i+52>>2];e=32-x|0;if((w|0)<=(e|0)){d=H[i+48>>2];if((d|0)==(o|0)){break A}H[r>>2]=H[d>>2]<>>32-w;b=w+H[i+52>>2]|0;H[i+52>>2]=b;if((b|0)!=32){break N}H[i+52>>2]=0;H[i+48>>2]=d+4;break N}y=H[i+48>>2];b=y+4|0;if((b|0)==(o|0)){break A}d=H[y>>2];H[i+48>>2]=b;b=w-e|0;H[i+52>>2]=b;H[r>>2]=H[y+4>>2]>>>32-b|d<>>32-w}d=H[q>>2]<<2;b=d+z|0;H[b>>2]=H[b>>2]|H[d+H[u>>2]>>2];m=m+1|0;if(m>>>0>2]){continue}break}}jb(A,s);H[i+8>>2]=H[i+8>>2]+1;t=t+1|0;if((l|0)!=(t|0)){continue}break}}m=H[f+28>>2]}if(m){continue}break}}H[f+28>>2]=0;o=H[f+16>>2];m=H[f+12>>2];t=o-m|0;if(t>>>0>=9){while(1){oa(H[m>>2]);m=H[f+12>>2]+4|0;H[f+12>>2]=m;o=H[f+16>>2];t=o-m|0;if(t>>>0>8){continue}break}}b=170;O:{switch((t>>>2|0)-1|0){case 1:b=341;case 0:H[f+24>>2]=b;break;default:break O}}P:{if((m|0)==(o|0)){break P}while(1){oa(H[m>>2]);m=m+4|0;if((o|0)!=(m|0)){continue}break}d=H[f+16>>2];b=H[f+12>>2];if((d|0)==(b|0)){break P}H[f+16>>2]=d+((b-d|0)+3&-4)}b=H[f+8>>2];if(b){oa(b)}ca=f+32|0;break z}}xb(i);break d;case 2:f=ub(B+8|0,3);w=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Q:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Q}d=e+H[b>>2]|0;H[f>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[f>>2]>32){break Q}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Q}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[f+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break Q}H[f+8>>2]=0;if(!ta(f+16|0,b)){break Q}if(!ua(f+32|0,b)){break Q}if(!ua(f+52|0,b)){break Q}if(!ua(f+72|0,b)){break Q}z=H[f+4>>2];g=0;b=0;h=ca-32|0;ca=h;j=H[f+12>>2];H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;if(j){if(j>>>0>=1073741824){break b}d=j<<2;g=pa(d);H[h+8>>2]=g;b=d+g|0;H[h+16>>2]=b;ra(g,0,d);H[h+12>>2]=b}e=H[f+116>>2];d=H[e>>2];if(d){H[e+4>>2]=d;oa(d);j=H[f+12>>2];g=H[h+8>>2];b=H[h+12>>2]}H[e+4>>2]=b;H[e>>2]=g;H[e+8>>2]=H[h+16>>2];g=0;H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;R:{if(j){if(j>>>0>=1073741824){break b}b=j<<2;u=pa(b);H[h+8>>2]=u;g=b+u|0;H[h+16>>2]=g;ra(u,0,b);H[h+12>>2]=g}d=H[f+128>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);u=H[h+8>>2];g=H[h+12>>2]}H[d+4>>2]=g;H[d>>2]=u;H[d+8>>2]=H[h+16>>2];H[h+24>>2]=0;H[h+28>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;xa(h+8|0);d=H[h+24>>2]+H[h+28>>2]|0;b=(d>>>0)/341|0;b=H[H[h+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=z;j=H[h+28>>2]+1|0;H[h+28>>2]=j;S:{if(!j){break S}x=f+92|0;y=f+16|0;while(1){n=H[h+12>>2];g=H[h+24>>2];e=j-1|0;d=g+e|0;b=(d>>>0)/341|0;b=H[n+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;p=H[b+8>>2];k=H[b+4>>2];i=H[b>>2];H[h+28>>2]=e;b=H[h+16>>2];if((((b|0)!=(n|0)?N(b-n>>2,341)-1|0:0)-(g+j|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[h+16>>2]=H[h+16>>2]-4}d=0;if(i>>>0>z>>>0){break S}b=H[f+12>>2];j=(k|0)!=(b-1|0)?k+1|0:0;if(j>>>0>=b>>>0){break S}o=N(p,12);A=o+H[f+128>>2]|0;t=o+H[f+116>>2]|0;g=H[f>>2];q=j<<2;e=H[q+H[A>>2]>>2];T:{if((g|0)==(e|0)){if(!i){break T}while(1){b=H[t>>2];r=H[b+8>>2];s=H[b+4>>2];n=H[b>>2];o=H[w>>2];j=H[o+4>>2];b=H[o+8>>2];U:{if(j>>>0>>0){H[j+8>>2]=r;H[j+4>>2]=s;H[j>>2]=n;H[o+4>>2]=j+12;break U}q=H[o>>2];g=(j-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=pa(N(k,12))}else{b=0}u=b+N(g,12)|0;H[u+8>>2]=r;H[u+4>>2]=s;H[u>>2]=n;e=u+12|0;if((j|0)!=(q|0)){while(1){u=u-12|0;j=j-12|0;H[u>>2]=H[j>>2];H[u+4>>2]=H[j+4>>2];H[u+8>>2]=H[j+8>>2];if((j|0)!=(q|0)){continue}break}}H[o+8>>2]=b+N(k,12);H[o+4>>2]=e;H[o>>2]=u;if(!q){break U}oa(q)}H[f+8>>2]=H[f+8>>2]+1;d=d+1|0;if((i|0)!=(d|0)){continue}break}break T}V:{W:{X:{Y:{if(i>>>0<=2){b=H[f+104>>2];H[b>>2]=j;u=1;g=H[f+12>>2];if(g>>>0>1){break Y}break V}if(K[f+8>>2]>K[f+4>>2]){break S}b=H[f+116>>2];s=p+1|0;r=N(s,12);d=b+r|0;if((d|0)!=(t|0)){Aa(d,H[t>>2],H[t+4>>2]);b=H[f+116>>2]}b=q+H[b+r>>2]|0;H[b>>2]=H[b>>2]+(1<>2]=0;pc(y,Q(i)^31,h+4|0);d=i>>>1|0;b=H[h+4>>2];if(d>>>0>>0){break S}e=d-b|0;d=i-e|0;Z:{if((d|0)==(e|0)){b=e;break Z}n=H[f+84>>2];if((n|0)==H[f+76>>2]){break X}k=H[n>>2];g=H[f+88>>2];b=g+1|0;H[f+88>>2]=b;g=k&-2147483648>>>g;_:{if((b|0)==32){H[f+88>>2]=0;H[f+84>>2]=n+4;if(g){break _}break X}if(!g){break X}}b=d}d=e;break W}while(1){j=(g-1|0)!=(j|0)?j+1|0:0;H[b+(u<<2)>>2]=j;g=H[f+12>>2];u=u+1|0;if(g>>>0>u>>>0){continue}break}break V}b=e}n=H[f+128>>2];k=n+o|0;g=H[k>>2];e=g+q|0;H[e>>2]=H[e>>2]+1;Aa(n+r|0,g,H[k+4>>2]);if(d){g=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];u=H[h+12>>2];if((g|0)==(((e|0)!=(u|0)?N(e-u>>2,341)-1|0:0)|0)){xa(h+8|0);u=H[h+12>>2];g=H[h+24>>2]+H[h+28>>2]|0}e=(g>>>0)/341|0;e=H[(e<<2)+u>>2]+N(g-N(e,341)|0,12)|0;H[e+8>>2]=p;H[e+4>>2]=j;H[e>>2]=d;H[h+28>>2]=H[h+28>>2]+1}if(!b){break T}g=H[h+28>>2]+H[h+24>>2]|0;d=H[h+16>>2];u=H[h+12>>2];if((g|0)==(((d|0)!=(u|0)?N(d-u>>2,341)-1|0:0)|0)){xa(h+8|0);u=H[h+12>>2];g=H[h+24>>2]+H[h+28>>2]|0}d=(g>>>0)/341|0;d=H[(d<<2)+u>>2]+N(g-N(d,341)|0,12)|0;H[d+8>>2]=s;H[d+4>>2]=j;H[d>>2]=b;H[h+28>>2]=H[h+28>>2]+1;break T}if(!i){break T}while(1){if(H[f+12>>2]){p=H[f+36>>2];n=H[A>>2];u=H[f+92>>2];k=H[f+104>>2];j=0;while(1){o=k+(j<<2)|0;H[u+(H[o>>2]<<2)>>2]=0;g=H[f>>2];e=H[o>>2]<<2;b=H[e+n>>2];$:{if((g|0)==(b|0)){break $}q=e+u|0;l=g-b|0;r=H[f+48>>2];g=32-r|0;if((l|0)<=(g|0)){e=H[f+44>>2];if((e|0)==(p|0)){break S}H[q>>2]=H[e>>2]<>>32-l;b=l+H[f+48>>2]|0;H[f+48>>2]=b;if((b|0)!=32){break $}H[f+48>>2]=0;H[f+44>>2]=e+4;break $}s=H[f+44>>2];b=s+4|0;if((b|0)==(p|0)){break S}e=H[s>>2];H[f+44>>2]=b;b=l-g|0;H[f+48>>2]=b;H[q>>2]=H[s+4>>2]>>>32-b|e<>>32-l}e=H[o>>2]<<2;b=e+u|0;H[b>>2]=H[b>>2]|H[e+H[t>>2]>>2];j=j+1|0;if(j>>>0>2]){continue}break}}jb(w,x);H[f+8>>2]=H[f+8>>2]+1;d=d+1|0;if((i|0)!=(d|0)){continue}break}}j=H[h+28>>2];if(j){continue}break}}H[h+28>>2]=0;u=H[h+16>>2];j=H[h+12>>2];g=u-j|0;if(g>>>0>=9){while(1){oa(H[j>>2]);j=H[h+12>>2]+4|0;H[h+12>>2]=j;u=H[h+16>>2];g=u-j|0;if(g>>>0>8){continue}break}}b=170;aa:{switch((g>>>2|0)-1|0){case 1:b=341;case 0:H[h+24>>2]=b;break;default:break aa}}ba:{if((j|0)==(u|0)){break ba}while(1){oa(H[j>>2]);j=j+4|0;if((u|0)!=(j|0)){continue}break}d=H[h+16>>2];b=H[h+12>>2];if((d|0)==(b|0)){break ba}H[h+16>>2]=d+((b-d|0)+3&-4)}b=H[h+8>>2];if(b){oa(b)}ca=h+32|0;break R}}vb(f);break d;case 3:i=ub(B+8|0,3);z=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;ca:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break ca}d=e+H[b>>2]|0;H[i>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[i>>2]>32){break ca}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break ca}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[i+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break ca}H[i+8>>2]=0;if(!ta(i+16|0,b)){break ca}if(!ua(i+32|0,b)){break ca}if(!ua(i+52|0,b)){break ca}if(!ua(i+72|0,b)){break ca}A=H[i+4>>2];d=0;f=ca-32|0;ca=f;j=H[i+12>>2];H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;if(j){if(j>>>0>=1073741824){break b}b=j<<2;m=pa(b);H[f+8>>2]=m;d=b+m|0;H[f+16>>2]=d;ra(m,0,b);H[f+12>>2]=d}e=H[i+116>>2];b=H[e>>2];if(b){H[e+4>>2]=b;oa(b);j=H[i+12>>2];m=H[f+8>>2];d=H[f+12>>2]}H[e+4>>2]=d;H[e>>2]=m;H[e+8>>2]=H[f+16>>2];m=0;H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;da:{if(j){if(j>>>0>=1073741824){break b}b=j<<2;p=pa(b);H[f+8>>2]=p;m=b+p|0;H[f+16>>2]=m;ra(p,0,b);H[f+12>>2]=m}d=H[i+128>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);m=H[f+12>>2];p=H[f+8>>2]}H[d+4>>2]=m;H[d>>2]=p;H[d+8>>2]=H[f+16>>2];H[f+24>>2]=0;H[f+28>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;xa(f+8|0);d=H[f+24>>2]+H[f+28>>2]|0;b=(d>>>0)/341|0;b=H[H[f+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=A;j=H[f+28>>2]+1|0;H[f+28>>2]=j;ea:{if(!j){break ea}y=i+92|0;s=i+16|0;while(1){k=H[f+12>>2];g=H[f+24>>2];e=j-1|0;d=g+e|0;b=(d>>>0)/341|0;b=H[k+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;o=H[b+8>>2];d=H[b+4>>2];t=H[b>>2];H[f+28>>2]=e;b=H[f+16>>2];if((((b|0)!=(k|0)?N(b-k>>2,341)-1|0:0)-(g+j|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[f+16>>2]=H[f+16>>2]-4}if(t>>>0>A>>>0){break ea}b=H[i+12>>2];j=(d|0)!=(b-1|0)?d+1|0:0;if(j>>>0>=b>>>0){break ea}b=H[i+116>>2];q=N(o,12);l=b+q|0;e=H[i>>2];r=j<<2;n=q+H[i+128>>2]|0;d=H[r+H[n>>2]>>2];fa:{if((e|0)==(d|0)){r=0;if(!t){break fa}while(1){b=H[l>>2];x=H[b+8>>2];n=H[b+4>>2];k=H[b>>2];o=H[z>>2];j=H[o+4>>2];b=H[o+8>>2];ga:{if(j>>>0>>0){H[j+8>>2]=x;H[j+4>>2]=n;H[j>>2]=k;H[o+4>>2]=j+12;break ga}q=H[o>>2];e=(j-q|0)/12|0;g=e+1|0;if(g>>>0>=357913942){break b}d=(b-q|0)/12|0;b=d<<1;g=d>>>0>=178956970?357913941:b>>>0>g>>>0?b:g;if(g){if(g>>>0>=357913942){break a}b=pa(N(g,12))}else{b=0}p=b+N(e,12)|0;H[p+8>>2]=x;H[p+4>>2]=n;H[p>>2]=k;d=p+12|0;if((j|0)!=(q|0)){while(1){p=p-12|0;j=j-12|0;H[p>>2]=H[j>>2];H[p+4>>2]=H[j+4>>2];H[p+8>>2]=H[j+8>>2];if((j|0)!=(q|0)){continue}break}}H[o+8>>2]=b+N(g,12);H[o+4>>2]=d;H[o>>2]=p;if(!q){break ga}oa(q)}H[i+8>>2]=H[i+8>>2]+1;r=r+1|0;if((t|0)!=(r|0)){continue}break}break fa}ha:{ia:{ja:{ka:{if(t>>>0<=2){b=H[i+104>>2];H[b>>2]=j;p=1;m=H[i+12>>2];if(m>>>0>1){break ka}break ha}if(K[i+8>>2]>K[i+4>>2]){break ea}k=b;b=q+12|0;Aa(k+b|0,H[l>>2],H[l+4>>2]);b=r+H[b+H[i+116>>2]>>2]|0;H[b>>2]=H[b>>2]+(1<>2]=0;pc(s,Q(t)^31,f+4|0);d=t>>>1|0;b=H[f+4>>2];if(d>>>0>>0){break ea}x=o+1|0;e=d-b|0;d=t-e|0;la:{if((d|0)==(e|0)){b=e;break la}n=H[i+84>>2];if((n|0)==H[i+76>>2]){break ja}k=H[n>>2];g=H[i+88>>2];b=g+1|0;H[i+88>>2]=b;g=k&-2147483648>>>g;ma:{if((b|0)==32){H[i+88>>2]=0;H[i+84>>2]=n+4;if(g){break ma}break ja}if(!g){break ja}}b=d}d=e;break ia}while(1){j=(m-1|0)!=(j|0)?j+1|0:0;H[b+(p<<2)>>2]=j;m=H[i+12>>2];p=p+1|0;if(m>>>0>p>>>0){continue}break}break ha}b=e}n=H[i+128>>2];k=n+q|0;g=H[k>>2];e=g+r|0;H[e>>2]=H[e>>2]+1;Aa(n+N(x,12)|0,g,H[k+4>>2]);if(d){m=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];p=H[f+12>>2];if((m|0)==(((e|0)!=(p|0)?N(e-p>>2,341)-1|0:0)|0)){xa(f+8|0);m=H[f+24>>2]+H[f+28>>2]|0;p=H[f+12>>2]}e=(m>>>0)/341|0;e=H[p+(e<<2)>>2]+N(m-N(e,341)|0,12)|0;H[e+8>>2]=o;H[e+4>>2]=j;H[e>>2]=d;H[f+28>>2]=H[f+28>>2]+1}if(!b){break fa}m=H[f+28>>2]+H[f+24>>2]|0;d=H[f+16>>2];p=H[f+12>>2];if((m|0)==(((d|0)!=(p|0)?N(d-p>>2,341)-1|0:0)|0)){xa(f+8|0);m=H[f+24>>2]+H[f+28>>2]|0;p=H[f+12>>2]}d=(m>>>0)/341|0;d=H[p+(d<<2)>>2]+N(m-N(d,341)|0,12)|0;H[d+8>>2]=x;H[d+4>>2]=j;H[d>>2]=b;H[f+28>>2]=H[f+28>>2]+1;break fa}m=0;if(!t){break fa}while(1){if(H[i+12>>2]){p=H[i+36>>2];k=H[n>>2];w=H[i+92>>2];g=H[i+104>>2];j=0;while(1){o=g+(j<<2)|0;H[w+(H[o>>2]<<2)>>2]=0;e=H[i>>2];d=H[o>>2]<<2;b=H[d+k>>2];na:{if((e|0)==(b|0)){break na}q=d+w|0;u=e-b|0;r=H[i+48>>2];e=32-r|0;if((u|0)<=(e|0)){d=H[i+44>>2];if((d|0)==(p|0)){break ea}H[q>>2]=H[d>>2]<>>32-u;b=u+H[i+48>>2]|0;H[i+48>>2]=b;if((b|0)!=32){break na}H[i+48>>2]=0;H[i+44>>2]=d+4;break na}x=H[i+44>>2];b=x+4|0;if((b|0)==(p|0)){break ea}d=H[x>>2];H[i+44>>2]=b;b=u-e|0;H[i+48>>2]=b;H[q>>2]=H[x+4>>2]>>>32-b|d<>>32-u}d=H[o>>2]<<2;b=d+w|0;H[b>>2]=H[b>>2]|H[d+H[l>>2]>>2];j=j+1|0;if(j>>>0>2]){continue}break}}jb(z,y);H[i+8>>2]=H[i+8>>2]+1;m=m+1|0;if((t|0)!=(m|0)){continue}break}}j=H[f+28>>2];if(j){continue}break}}H[f+28>>2]=0;p=H[f+16>>2];j=H[f+12>>2];m=p-j|0;if(m>>>0>=9){while(1){oa(H[j>>2]);j=H[f+12>>2]+4|0;H[f+12>>2]=j;p=H[f+16>>2];m=p-j|0;if(m>>>0>8){continue}break}}b=170;oa:{switch((m>>>2|0)-1|0){case 1:b=341;case 0:H[f+24>>2]=b;break;default:break oa}}pa:{if((j|0)==(p|0)){break pa}while(1){oa(H[j>>2]);j=j+4|0;if((p|0)!=(j|0)){continue}break}d=H[f+16>>2];b=H[f+12>>2];if((d|0)==(b|0)){break pa}H[f+16>>2]=d+((b-d|0)+3&-4)}b=H[f+8>>2];if(b){oa(b)}ca=f+32|0;break da}}vb(i);break d;case 4:f=$a(B+8|0,3);w=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;qa:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break qa}d=e+H[b>>2]|0;H[f>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[f>>2]>32){break qa}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break qa}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[f+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break qa}H[f+8>>2]=0;if(!sb(f+16|0,b)){break qa}if(!ua(f+544|0,b)){break qa}if(!ua(f+564|0,b)){break qa}if(!ua(f+584|0,b)){break qa}z=H[f+4>>2];l=0;b=0;h=ca-32|0;ca=h;d=H[f+12>>2];H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=pa(e);H[h+8>>2]=l;b=e+l|0;H[h+16>>2]=b;ra(l,0,e);H[h+12>>2]=b}g=H[f+628>>2];e=H[g>>2];if(e){H[g+4>>2]=e;oa(e);d=H[f+12>>2];l=H[h+8>>2];b=H[h+12>>2]}H[g+4>>2]=b;H[g>>2]=l;H[g+8>>2]=H[h+16>>2];l=0;H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;ra:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;j=pa(b);H[h+8>>2]=j;l=b+j|0;H[h+16>>2]=l;ra(j,0,b);H[h+12>>2]=l}d=H[f+640>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);j=H[h+8>>2];l=H[h+12>>2]}H[d+4>>2]=l;H[d>>2]=j;H[d+8>>2]=H[h+16>>2];H[h+24>>2]=0;H[h+28>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;xa(h+8|0);d=H[h+24>>2]+H[h+28>>2]|0;b=(d>>>0)/341|0;b=H[H[h+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=z;d=H[h+28>>2]+1|0;H[h+28>>2]=d;sa:{if(!d){break sa}x=f+604|0;y=f+16|0;while(1){n=H[h+12>>2];k=H[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=H[n+(b<<2)>>2]+N(e-N(b,341)|0,12)|0;p=H[b+8>>2];e=H[b+4>>2];i=H[b>>2];H[h+28>>2]=g;b=H[h+16>>2];if((((b|0)!=(n|0)?N(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[h+16>>2]=H[h+16>>2]-4}if(i>>>0>z>>>0){break sa}b=H[f+12>>2];j=(e|0)!=(b-1|0)?e+1|0:0;if(j>>>0>=b>>>0){break sa}o=N(p,12);A=o+H[f+640>>2]|0;t=o+H[f+628>>2]|0;g=H[f>>2];q=j<<2;e=H[q+H[A>>2]>>2];ta:{ua:{if((g|0)==(e|0)){o=0;if(!i){break ua}while(1){b=H[t>>2];r=H[b+8>>2];s=H[b+4>>2];n=H[b>>2];p=H[w>>2];d=H[p+4>>2];b=H[p+8>>2];va:{if(d>>>0>>0){H[d+8>>2]=r;H[d+4>>2]=s;H[d>>2]=n;H[p+4>>2]=d+12;break va}q=H[p>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=pa(N(k,12))}else{b=0}j=b+N(g,12)|0;H[j+8>>2]=r;H[j+4>>2]=s;H[j>>2]=n;e=j+12|0;if((d|0)!=(q|0)){while(1){j=j-12|0;d=d-12|0;H[j>>2]=H[d>>2];H[j+4>>2]=H[d+4>>2];H[j+8>>2]=H[d+8>>2];if((d|0)!=(q|0)){continue}break}}H[p+8>>2]=b+N(k,12);H[p+4>>2]=e;H[p>>2]=j;if(!q){break va}oa(q)}H[f+8>>2]=H[f+8>>2]+1;o=o+1|0;if((i|0)!=(o|0)){continue}break}break ua}wa:{xa:{ya:{if(i>>>0<=2){b=H[f+616>>2];H[b>>2]=j;d=1;l=H[f+12>>2];if(l>>>0>1){break ya}break wa}if(K[f+8>>2]>K[f+4>>2]){break sa}b=H[f+628>>2];s=p+1|0;r=N(s,12);d=b+r|0;if((d|0)!=(t|0)){Aa(d,H[t>>2],H[t+4>>2]);b=H[f+628>>2]}b=q+H[b+r>>2]|0;H[b>>2]=H[b>>2]+(1<>>1|0;break xa}while(1){l=Ba(y+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break xa}break sa}while(1){j=(l-1|0)!=(j|0)?j+1|0:0;H[b+(d<<2)>>2]=j;d=d+1|0;l=H[f+12>>2];if(d>>>0>>0){continue}break}break wa}za:{Aa:{e=d-l|0;d=i-e|0;Ba:{if((d|0)==(e|0)){b=e;break Ba}n=H[f+596>>2];if((n|0)==H[f+588>>2]){break Aa}k=H[n>>2];g=H[f+600>>2];b=g+1|0;H[f+600>>2]=b;g=k&-2147483648>>>g;Ca:{if((b|0)==32){H[f+600>>2]=0;H[f+596>>2]=n+4;if(g){break Ca}break Aa}if(!g){break Aa}}b=d}d=e;break za}b=e}n=H[f+640>>2];k=n+o|0;g=H[k>>2];e=g+q|0;H[e>>2]=H[e>>2]+1;Aa(n+r|0,g,H[k+4>>2]);if(d){g=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];l=H[h+12>>2];if((g|0)==(((e|0)!=(l|0)?N(e-l>>2,341)-1|0:0)|0)){xa(h+8|0);l=H[h+12>>2];g=H[h+24>>2]+H[h+28>>2]|0}e=(g>>>0)/341|0;e=H[(e<<2)+l>>2]+N(g-N(e,341)|0,12)|0;H[e+8>>2]=p;H[e+4>>2]=j;H[e>>2]=d;H[h+28>>2]=H[h+28>>2]+1}if(!b){break ua}l=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];d=H[h+12>>2];if((l|0)==(((d|0)!=(e|0)?N(e-d>>2,341)-1|0:0)|0)){xa(h+8|0);l=H[h+24>>2]+H[h+28>>2]|0;e=H[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=H[e+(d<<2)>>2]+N(l-N(d,341)|0,12)|0;H[d+8>>2]=s;H[d+4>>2]=j;H[d>>2]=b;d=H[h+28>>2]+1|0;H[h+28>>2]=d;break ta}j=0;if(!i){break ua}while(1){if(H[f+12>>2]){p=H[f+548>>2];n=H[A>>2];u=H[f+604>>2];k=H[f+616>>2];d=0;while(1){o=k+(d<<2)|0;H[u+(H[o>>2]<<2)>>2]=0;g=H[f>>2];e=H[o>>2]<<2;b=H[e+n>>2];Da:{if((g|0)==(b|0)){break Da}q=e+u|0;l=g-b|0;r=H[f+560>>2];g=32-r|0;if((l|0)<=(g|0)){e=H[f+556>>2];if((e|0)==(p|0)){break sa}H[q>>2]=H[e>>2]<>>32-l;b=l+H[f+560>>2]|0;H[f+560>>2]=b;if((b|0)!=32){break Da}H[f+560>>2]=0;H[f+556>>2]=e+4;break Da}s=H[f+556>>2];b=s+4|0;if((b|0)==(p|0)){break sa}e=H[s>>2];H[f+556>>2]=b;b=l-g|0;H[f+560>>2]=b;H[q>>2]=H[s+4>>2]>>>32-b|e<>>32-l}e=H[o>>2]<<2;b=e+u|0;H[b>>2]=H[b>>2]|H[e+H[t>>2]>>2];d=d+1|0;if(d>>>0>2]){continue}break}}jb(w,x);H[f+8>>2]=H[f+8>>2]+1;j=j+1|0;if((i|0)!=(j|0)){continue}break}}d=H[h+28>>2]}if(d){continue}break}}H[h+28>>2]=0;j=H[h+16>>2];d=H[h+12>>2];l=j-d|0;if(l>>>0>=9){while(1){oa(H[d>>2]);d=H[h+12>>2]+4|0;H[h+12>>2]=d;j=H[h+16>>2];l=j-d|0;if(l>>>0>8){continue}break}}b=170;Ea:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:H[h+24>>2]=b;break;default:break Ea}}Fa:{if((d|0)==(j|0)){break Fa}while(1){oa(H[d>>2]);d=d+4|0;if((j|0)!=(d|0)){continue}break}d=H[h+16>>2];b=H[h+12>>2];if((d|0)==(b|0)){break Fa}H[h+16>>2]=d+((b-d|0)+3&-4)}b=H[h+8>>2];if(b){oa(b)}ca=h+32|0;break ra}}ab(f);break d;case 5:f=$a(B+8|0,3);w=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Ga:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Ga}d=e+H[b>>2]|0;H[f>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[f>>2]>32){break Ga}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Ga}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[f+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break Ga}H[f+8>>2]=0;if(!sb(f+16|0,b)){break Ga}if(!ua(f+544|0,b)){break Ga}if(!ua(f+564|0,b)){break Ga}if(!ua(f+584|0,b)){break Ga}z=H[f+4>>2];l=0;b=0;h=ca-32|0;ca=h;d=H[f+12>>2];H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=pa(e);H[h+8>>2]=l;b=e+l|0;H[h+16>>2]=b;ra(l,0,e);H[h+12>>2]=b}g=H[f+628>>2];e=H[g>>2];if(e){H[g+4>>2]=e;oa(e);d=H[f+12>>2];l=H[h+8>>2];b=H[h+12>>2]}H[g+4>>2]=b;H[g>>2]=l;H[g+8>>2]=H[h+16>>2];l=0;H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;Ha:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;p=pa(b);H[h+8>>2]=p;l=b+p|0;H[h+16>>2]=l;ra(p,0,b);H[h+12>>2]=l}d=H[f+640>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);l=H[h+12>>2];p=H[h+8>>2]}H[d+4>>2]=l;H[d>>2]=p;H[d+8>>2]=H[h+16>>2];H[h+24>>2]=0;H[h+28>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;xa(h+8|0);d=H[h+24>>2]+H[h+28>>2]|0;b=(d>>>0)/341|0;b=H[H[h+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=z;d=H[h+28>>2]+1|0;H[h+28>>2]=d;Ia:{if(!d){break Ia}x=f+604|0;y=f+16|0;while(1){n=H[h+12>>2];k=H[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=H[n+(b<<2)>>2]+N(e-N(b,341)|0,12)|0;o=H[b+8>>2];e=H[b+4>>2];i=H[b>>2];H[h+28>>2]=g;b=H[h+16>>2];if((((b|0)!=(n|0)?N(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[h+16>>2]=H[h+16>>2]-4}if(i>>>0>z>>>0){break Ia}m=0;b=H[f+12>>2];p=(e|0)!=(b-1|0)?e+1|0:0;if(p>>>0>=b>>>0){break Ia}b=H[f+628>>2];q=N(o,12);t=b+q|0;e=H[f>>2];r=p<<2;s=q+H[f+640>>2]|0;d=H[r+H[s>>2]>>2];Ja:{Ka:{if((e|0)==(d|0)){if(!i){break Ka}while(1){b=H[t>>2];r=H[b+8>>2];s=H[b+4>>2];n=H[b>>2];o=H[w>>2];d=H[o+4>>2];b=H[o+8>>2];La:{if(d>>>0>>0){H[d+8>>2]=r;H[d+4>>2]=s;H[d>>2]=n;H[o+4>>2]=d+12;break La}q=H[o>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=pa(N(k,12))}else{b=0}p=b+N(g,12)|0;H[p+8>>2]=r;H[p+4>>2]=s;H[p>>2]=n;e=p+12|0;if((d|0)!=(q|0)){while(1){p=p-12|0;d=d-12|0;H[p>>2]=H[d>>2];H[p+4>>2]=H[d+4>>2];H[p+8>>2]=H[d+8>>2];if((d|0)!=(q|0)){continue}break}}H[o+8>>2]=b+N(k,12);H[o+4>>2]=e;H[o>>2]=p;if(!q){break La}oa(q)}H[f+8>>2]=H[f+8>>2]+1;m=m+1|0;if((i|0)!=(m|0)){continue}break}break Ka}Ma:{Na:{Oa:{if(i>>>0<=2){b=H[f+616>>2];H[b>>2]=p;d=1;l=H[f+12>>2];if(l>>>0>1){break Oa}break Ma}if(K[f+8>>2]>K[f+4>>2]){break Ia}k=b;b=q+12|0;Aa(k+b|0,H[t>>2],H[t+4>>2]);b=r+H[b+H[f+628>>2]>>2]|0;H[b>>2]=H[b>>2]+(1<>>1|0;break Na}while(1){l=Ba(y+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break Na}break Ia}while(1){p=(l-1|0)!=(p|0)?p+1|0:0;H[b+(d<<2)>>2]=p;d=d+1|0;l=H[f+12>>2];if(d>>>0>>0){continue}break}break Ma}s=o+1|0;Pa:{Qa:{e=d-l|0;d=i-e|0;Ra:{if((d|0)==(e|0)){b=e;break Ra}n=H[f+596>>2];if((n|0)==H[f+588>>2]){break Qa}k=H[n>>2];g=H[f+600>>2];b=g+1|0;H[f+600>>2]=b;g=k&-2147483648>>>g;Sa:{if((b|0)==32){H[f+600>>2]=0;H[f+596>>2]=n+4;if(g){break Sa}break Qa}if(!g){break Qa}}b=d}d=e;break Pa}b=e}n=H[f+640>>2];k=n+q|0;g=H[k>>2];e=g+r|0;H[e>>2]=H[e>>2]+1;Aa(n+N(s,12)|0,g,H[k+4>>2]);if(d){m=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];l=H[h+12>>2];if((m|0)==(((e|0)!=(l|0)?N(e-l>>2,341)-1|0:0)|0)){xa(h+8|0);m=H[h+24>>2]+H[h+28>>2]|0;l=H[h+12>>2]}e=(m>>>0)/341|0;e=H[l+(e<<2)>>2]+N(m-N(e,341)|0,12)|0;H[e+8>>2]=o;H[e+4>>2]=p;H[e>>2]=d;H[h+28>>2]=H[h+28>>2]+1}if(!b){break Ka}l=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];d=H[h+12>>2];if((l|0)==(((d|0)!=(e|0)?N(e-d>>2,341)-1|0:0)|0)){xa(h+8|0);l=H[h+24>>2]+H[h+28>>2]|0;e=H[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=H[e+(d<<2)>>2]+N(l-N(d,341)|0,12)|0;H[d+8>>2]=s;H[d+4>>2]=p;H[d>>2]=b;d=H[h+28>>2]+1|0;H[h+28>>2]=d;break Ja}if(!i){break Ka}while(1){if(H[f+12>>2]){A=H[f+548>>2];n=H[s>>2];u=H[f+604>>2];k=H[f+616>>2];d=0;while(1){p=k+(d<<2)|0;H[u+(H[p>>2]<<2)>>2]=0;g=H[f>>2];e=H[p>>2]<<2;b=H[e+n>>2];Ta:{if((g|0)==(b|0)){break Ta}o=e+u|0;l=g-b|0;q=H[f+560>>2];g=32-q|0;if((l|0)<=(g|0)){e=H[f+556>>2];if((e|0)==(A|0)){break Ia}H[o>>2]=H[e>>2]<>>32-l;b=l+H[f+560>>2]|0;H[f+560>>2]=b;if((b|0)!=32){break Ta}H[f+560>>2]=0;H[f+556>>2]=e+4;break Ta}r=H[f+556>>2];b=r+4|0;if((b|0)==(A|0)){break Ia}e=H[r>>2];H[f+556>>2]=b;b=l-g|0;H[f+560>>2]=b;H[o>>2]=H[r+4>>2]>>>32-b|e<>>32-l}e=H[p>>2]<<2;b=e+u|0;H[b>>2]=H[b>>2]|H[e+H[t>>2]>>2];d=d+1|0;if(d>>>0>2]){continue}break}}jb(w,x);H[f+8>>2]=H[f+8>>2]+1;m=m+1|0;if((i|0)!=(m|0)){continue}break}}d=H[h+28>>2]}if(d){continue}break}}H[h+28>>2]=0;p=H[h+16>>2];d=H[h+12>>2];l=p-d|0;if(l>>>0>=9){while(1){oa(H[d>>2]);d=H[h+12>>2]+4|0;H[h+12>>2]=d;p=H[h+16>>2];l=p-d|0;if(l>>>0>8){continue}break}}b=170;Ua:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:H[h+24>>2]=b;break;default:break Ua}}Va:{if((d|0)==(p|0)){break Va}while(1){oa(H[d>>2]);d=d+4|0;if((p|0)!=(d|0)){continue}break}d=H[h+16>>2];b=H[h+12>>2];if((d|0)==(b|0)){break Va}H[h+16>>2]=d+((b-d|0)+3&-4)}b=H[h+8>>2];if(b){oa(b)}ca=h+32|0;break Ha}}ab(f);break d;case 6:break f;default:break c}}f=$a(B+8|0,3);w=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Wa:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Wa}d=e+H[b>>2]|0;H[f>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[f>>2]>32){break Wa}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Wa}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[f+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break Wa}H[f+8>>2]=0;if(!sb(f+16|0,b)){break Wa}if(!ua(f+544|0,b)){break Wa}if(!ua(f+564|0,b)){break Wa}if(!ua(f+584|0,b)){break Wa}z=H[f+4>>2];l=0;b=0;h=ca-32|0;ca=h;d=H[f+12>>2];H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=pa(e);H[h+8>>2]=l;b=e+l|0;H[h+16>>2]=b;ra(l,0,e);H[h+12>>2]=b}g=H[f+628>>2];e=H[g>>2];if(e){H[g+4>>2]=e;oa(e);d=H[f+12>>2];l=H[h+8>>2];b=H[h+12>>2]}H[g+4>>2]=b;H[g>>2]=l;H[g+8>>2]=H[h+16>>2];l=0;H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;Xa:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;j=pa(b);H[h+8>>2]=j;l=b+j|0;H[h+16>>2]=l;ra(j,0,b);H[h+12>>2]=l}d=H[f+640>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);j=H[h+8>>2];l=H[h+12>>2]}H[d+4>>2]=l;H[d>>2]=j;H[d+8>>2]=H[h+16>>2];H[h+24>>2]=0;H[h+28>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;xa(h+8|0);d=H[h+24>>2]+H[h+28>>2]|0;b=(d>>>0)/341|0;b=H[H[h+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=z;d=H[h+28>>2]+1|0;H[h+28>>2]=d;Ya:{if(!d){break Ya}x=f+604|0;y=f+16|0;while(1){n=H[h+12>>2];k=H[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=H[n+(b<<2)>>2]+N(e-N(b,341)|0,12)|0;p=H[b+8>>2];i=H[b>>2];H[h+28>>2]=g;b=H[h+16>>2];if((((b|0)!=(n|0)?N(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[h+16>>2]=H[h+16>>2]-4}if(i>>>0>z>>>0){break Ya}b=H[f+628>>2];o=N(p,12);A=o+H[f+640>>2]|0;j=Vd(f,i,A);if(j>>>0>=K[f+12>>2]){break Ya}t=b+o|0;g=H[f>>2];q=j<<2;e=H[q+H[A>>2]>>2];Za:{_a:{if((g|0)==(e|0)){o=0;if(!i){break _a}while(1){b=H[t>>2];r=H[b+8>>2];s=H[b+4>>2];n=H[b>>2];p=H[w>>2];d=H[p+4>>2];b=H[p+8>>2];$a:{if(d>>>0>>0){H[d+8>>2]=r;H[d+4>>2]=s;H[d>>2]=n;H[p+4>>2]=d+12;break $a}q=H[p>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=pa(N(k,12))}else{b=0}j=b+N(g,12)|0;H[j+8>>2]=r;H[j+4>>2]=s;H[j>>2]=n;e=j+12|0;if((d|0)!=(q|0)){while(1){j=j-12|0;d=d-12|0;H[j>>2]=H[d>>2];H[j+4>>2]=H[d+4>>2];H[j+8>>2]=H[d+8>>2];if((d|0)!=(q|0)){continue}break}}H[p+8>>2]=b+N(k,12);H[p+4>>2]=e;H[p>>2]=j;if(!q){break $a}oa(q)}H[f+8>>2]=H[f+8>>2]+1;o=o+1|0;if((i|0)!=(o|0)){continue}break}break _a}ab:{bb:{cb:{if(i>>>0<=2){b=H[f+616>>2];H[b>>2]=j;d=1;l=H[f+12>>2];if(l>>>0>1){break cb}break ab}if(K[f+8>>2]>K[f+4>>2]){break Ya}b=H[f+628>>2];s=p+1|0;r=N(s,12);d=b+r|0;if((d|0)!=(t|0)){Aa(d,H[t>>2],H[t+4>>2]);b=H[f+628>>2]}b=q+H[b+r>>2]|0;H[b>>2]=H[b>>2]+(1<>>1|0;break bb}while(1){l=Ba(y+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break bb}break Ya}while(1){j=(l-1|0)!=(j|0)?j+1|0:0;H[b+(d<<2)>>2]=j;d=d+1|0;l=H[f+12>>2];if(d>>>0>>0){continue}break}break ab}db:{eb:{e=d-l|0;d=i-e|0;fb:{if((d|0)==(e|0)){b=e;break fb}n=H[f+596>>2];if((n|0)==H[f+588>>2]){break eb}k=H[n>>2];g=H[f+600>>2];b=g+1|0;H[f+600>>2]=b;g=k&-2147483648>>>g;gb:{if((b|0)==32){H[f+600>>2]=0;H[f+596>>2]=n+4;if(g){break gb}break eb}if(!g){break eb}}b=d}d=e;break db}b=e}n=H[f+640>>2];k=n+o|0;g=H[k>>2];e=g+q|0;H[e>>2]=H[e>>2]+1;Aa(n+r|0,g,H[k+4>>2]);if(d){g=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];l=H[h+12>>2];if((g|0)==(((e|0)!=(l|0)?N(e-l>>2,341)-1|0:0)|0)){xa(h+8|0);l=H[h+12>>2];g=H[h+24>>2]+H[h+28>>2]|0}e=(g>>>0)/341|0;e=H[(e<<2)+l>>2]+N(g-N(e,341)|0,12)|0;H[e+8>>2]=p;H[e+4>>2]=j;H[e>>2]=d;H[h+28>>2]=H[h+28>>2]+1}if(!b){break _a}l=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];d=H[h+12>>2];if((l|0)==(((d|0)!=(e|0)?N(e-d>>2,341)-1|0:0)|0)){xa(h+8|0);l=H[h+24>>2]+H[h+28>>2]|0;e=H[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=H[e+(d<<2)>>2]+N(l-N(d,341)|0,12)|0;H[d+8>>2]=s;H[d+4>>2]=j;H[d>>2]=b;d=H[h+28>>2]+1|0;H[h+28>>2]=d;break Za}j=0;if(!i){break _a}while(1){if(H[f+12>>2]){p=H[f+548>>2];n=H[A>>2];u=H[f+604>>2];k=H[f+616>>2];d=0;while(1){o=k+(d<<2)|0;H[u+(H[o>>2]<<2)>>2]=0;g=H[f>>2];e=H[o>>2]<<2;b=H[e+n>>2];hb:{if((g|0)==(b|0)){break hb}q=e+u|0;l=g-b|0;r=H[f+560>>2];g=32-r|0;if((l|0)<=(g|0)){e=H[f+556>>2];if((e|0)==(p|0)){break Ya}H[q>>2]=H[e>>2]<>>32-l;b=l+H[f+560>>2]|0;H[f+560>>2]=b;if((b|0)!=32){break hb}H[f+560>>2]=0;H[f+556>>2]=e+4;break hb}s=H[f+556>>2];b=s+4|0;if((b|0)==(p|0)){break Ya}e=H[s>>2];H[f+556>>2]=b;b=l-g|0;H[f+560>>2]=b;H[q>>2]=H[s+4>>2]>>>32-b|e<>>32-l}e=H[o>>2]<<2;b=e+u|0;H[b>>2]=H[b>>2]|H[e+H[t>>2]>>2];d=d+1|0;if(d>>>0>2]){continue}break}}jb(w,x);H[f+8>>2]=H[f+8>>2]+1;j=j+1|0;if((i|0)!=(j|0)){continue}break}}d=H[h+28>>2]}if(d){continue}break}}H[h+28>>2]=0;j=H[h+16>>2];d=H[h+12>>2];l=j-d|0;if(l>>>0>=9){while(1){oa(H[d>>2]);d=H[h+12>>2]+4|0;H[h+12>>2]=d;j=H[h+16>>2];l=j-d|0;if(l>>>0>8){continue}break}}b=170;ib:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:H[h+24>>2]=b;break;default:break ib}}jb:{if((d|0)==(j|0)){break jb}while(1){oa(H[d>>2]);d=d+4|0;if((j|0)!=(d|0)){continue}break}d=H[h+16>>2];b=H[h+12>>2];if((d|0)==(b|0)){break jb}H[h+16>>2]=d+((b-d|0)+3&-4)}b=H[h+8>>2];if(b){oa(b)}ca=h+32|0;break Xa}}ab(f)}n=H[a+12>>2]==((H[c+4>>2]-H[c>>2]|0)/12|0)}ca=B+672|0;return n}sa();v()}wa();v()}function kd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!a){return 1}e=H[c+20>>2];g=H[c+12>>2];i=H[c+16>>2];a:{if((e|0)>=(g|0)&i>>>0>=K[c+8>>2]|(e|0)>(g|0)){break a}g=I[i+H[c>>2]|0];i=i+1|0;e=i?e:e+1|0;H[c+16>>2]=i;H[c+20>>2]=e;b:{switch(g|0){case 0:e=a;f=b;i=d;a=0;d=0;m=ca+-64|0;ca=m;H[m+56>>2]=0;H[m+48>>2]=0;H[m+52>>2]=0;H[m+40>>2]=0;H[m+44>>2]=0;H[m+32>>2]=0;H[m+36>>2]=0;H[m+24>>2]=0;H[m+28>>2]=0;H[m+16>>2]=0;H[m+20>>2]=0;H[m+8>>2]=0;H[m+12>>2]=0;c:{if(!Ne(m+8|0,c)){break c}if(!Me(m+8|0,c)|(H[m+20>>2]?0:e)){break c}Db(c,0,0);if(e){s=f<<2;t=H[m+36>>2];w=H[m+48>>2];x=H[m+24>>2];l=H[m+56>>2];j=H[m+52>>2];while(1){d:{if(l>>>0>16383){break d}while(1){if((j|0)<=0){break d}j=j-1|0;H[m+52>>2]=j;l=I[j+w|0]|l<<8;H[m+56>>2]=l;if(l>>>0<16384){continue}break}}a=l&4095;r=H[(a<<2)+x>>2];b=(r<<3)+t|0;l=(N(H[b>>2],l>>>12|0)+a|0)-H[b+4>>2]|0;H[m+56>>2]=l;if((f|0)>0){a=0;if(!I[c+36|0]|r>>>0>32){break c}g=d+f|0;e:{if(!r){ra(i+(d<<2)|0,0,s);break e}y=r&-2;z=r&1;b=H[c+32>>2];h=H[c+28>>2];n=H[c+24>>2];while(1){k=0;a=b;o=0;q=0;if((r|0)!=1){while(1){p=n+(a>>>3|0)|0;f:{if(p>>>0>=h>>>0){p=0;break f}p=I[p|0];b=a+1|0;H[c+32>>2]=b;p=p>>>(a&7)&1;a=b}p=p<>>3|0)|0;if(u>>>0>>0){o=I[u|0];b=a+1|0;H[c+32>>2]=b;o=o>>>(a&7)&1;a=b}u=k|1;k=k+2|0;o=p|o<>>3|0)|0;if(p>>>0>>0){p=I[p|0];b=a+1|0;H[c+32>>2]=b;a=p>>>(a&7)&1}else{a=0}o=a<>2]=o;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=g}v=f+v|0;if(e>>>0>v>>>0){continue}break}}F[c+36|0]=0;b=H[c+20>>2];e=0;d=H[c+32>>2]+7|0;e=d>>>0<7?1:e;d=(e&7)<<29|d>>>3;a=d+H[c+16>>2]|0;e=(e>>>3|0)+b|0;H[c+16>>2]=a;H[c+20>>2]=a>>>0>>0?e+1|0:e;a=1}b=H[m+36>>2];if(b){H[m+40>>2]=b;oa(b)}b=H[m+24>>2];if(b){H[m+28>>2]=b;oa(b)}b=H[m+8>>2];if(b){H[m+12>>2]=b;oa(b)}ca=m- -64|0;return a;case 1:break b;default:break a}}b=0;e=H[c+20>>2];g=H[c+12>>2];i=H[c+16>>2];g:{if((e|0)>=(g|0)&i>>>0>=K[c+8>>2]|(e|0)>(g|0)){break g}g=I[i+H[c>>2]|0];i=i+1|0;e=i?e:e+1|0;H[c+16>>2]=i;H[c+20>>2]=e;h:{switch(g-1|0){case 8:g=a;r=d;i=ca+-64|0;ca=i;H[i+56>>2]=0;H[i+48>>2]=0;H[i+52>>2]=0;H[i+40>>2]=0;H[i+44>>2]=0;H[i+32>>2]=0;H[i+36>>2]=0;H[i+24>>2]=0;H[i+28>>2]=0;H[i+16>>2]=0;H[i+20>>2]=0;H[i+8>>2]=0;H[i+12>>2]=0;j=i+8|0;a=J[c+38>>1];i:{j:{if(!a){break j}k:{if(a>>>0<=511){d=H[c+8>>2];b=H[c+12>>2];e=H[c+20>>2];a=H[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break j}a=a+H[c>>2]|0;h=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24);H[j+12>>2]=h;e=H[c+20>>2];f=H[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;H[c+16>>2]=f;H[c+20>>2]=e;break k}if(!hb(1,j+12|0,c)){break j}f=H[c+16>>2];e=H[c+20>>2];h=H[j+12>>2]}a=H[c+8>>2];d=a-f|0;a=H[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break j}b=H[j>>2];a=H[j+4>>2]-b>>2;l:{if(a>>>0>>0){ya(j,h-a|0);h=H[j+12>>2];break l}if(a>>>0<=h>>>0){break l}H[j+4>>2]=b+(h<<2)}d=1;if(!h){break i}f=H[c+16>>2];e=H[c+20>>2];s=H[j>>2];m=H[c+8>>2];n=H[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=m>>>0|(e|0)>(n|0)){break i}d=H[c>>2];p=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=p>>>2|0;l=0;m:{n:{o:{p:{t=p&3;switch(t|0){case 0:break n;case 3:break p;default:break o}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break i}ra(s+(b<<2)|0,0,(p&252)+4|0);b=a;break m}while(1){if((f|0)==(m|0)&(e|0)==(n|0)){break j}h=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}H[s+(b<<2)>>2]=a}b=b+1|0;h=H[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=H[j>>2];d=H[j+16>>2];b=H[j+20>>2]-d|0;q:{if(b>>>0<=32767){ya(a,8192-(b>>>2|0)|0);break q}if((b|0)==32768){break q}H[j+20>>2]=d+32768}d=j+28|0;b=H[d>>2];f=H[j+32>>2]-b>>3;r:{if(f>>>0>>0){ob(d,h-f|0);b=H[d>>2];break r}if(f>>>0>h>>>0){H[j+32>>2]=(h<<3)+b}if(!h){break j}}m=H[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=H[e>>2];l=(f<<3)+b|0;a=d;H[l+4>>2]=a;H[l>>2]=j;e=H[e>>2];d=e+a|0;if(d>>>0>8192){break j}s:{if(a>>>0>=d>>>0){break s}l=0;j=e&7;if(j){while(1){H[m+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break s}while(1){e=m+(a<<2)|0;H[e>>2]=f;H[e+28>>2]=f;H[e+24>>2]=f;H[e+20>>2]=f;H[e+16>>2]=f;H[e+12>>2]=f;H[e+8>>2]=f;H[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==8192}d=k}t:{if(!d|(H[i+20>>2]?0:g)){break t}d=0;m=ca-16|0;ca=m;u:{v:{if(J[c+38>>1]<=511){b=H[c+8>>2];a=H[c+12>>2];h=a;e=H[c+20>>2];k=H[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break u}k=k+H[c>>2]|0;a=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);k=I[k+4|0]|I[k+5|0]<<8|(I[k+6|0]<<16|I[k+7|0]<<24);H[c+16>>2]=f;H[c+20>>2]=e;break v}if(!gb(1,m+8|0,c)){break u}f=H[c+16>>2];e=H[c+20>>2];b=H[c+8>>2];h=H[c+12>>2];a=H[m+8>>2];k=H[m+12>>2]}j=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>j>>>0|b>>>0>>0){break u}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;H[c+16>>2]=b;H[c+20>>2]=e;if((a|0)<=0){break u}b=H[c>>2]+f|0;H[i+48>>2]=b;c=a-1|0;f=c+b|0;e=I[f|0];w:{if(e>>>0<=63){H[i+52>>2]=c;a=I[f|0]&63;break w}x:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break u}a=a-2|0;H[i+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8&16128|I[a|0];break w;case 1:if(a>>>0<3){break u}a=a-3|0;H[i+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8|I[a+2|0]<<16&4128768|I[a|0];break w;default:break x}}a=a-4|0;H[i+52>>2]=a;a=a+b|0;a=(I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24))&1073741823}H[i+56>>2]=a+32768;d=a>>>0<8355840}ca=m+16|0;if(!d){break t}if(!g){o=1;break t}b=H[i+52>>2];a=H[i+56>>2];c=H[i+36>>2];d=H[i+48>>2];f=H[i+24>>2];while(1){y:{if(a>>>0>32767){break y}while(1){if((b|0)<=0){break y}b=b-1|0;H[i+52>>2]=b;a=I[b+d|0]|a<<8;H[i+56>>2]=a;if(a>>>0<32768){continue}break}}e=a&8191;o=H[f+(e<<2)>>2];k=c+(o<<3)|0;a=(N(H[k>>2],a>>>13|0)+e|0)-H[k+4>>2]|0;H[i+56>>2]=a;H[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((g|0)!=(q|0)){continue}break}}a=H[i+36>>2];if(a){H[i+40>>2]=a;oa(a)}a=H[i+24>>2];if(a){H[i+28>>2]=a;oa(a)}a=H[i+8>>2];if(a){H[i+12>>2]=a;oa(a)}ca=i- -64|0;b=o;break g;case 9:m=a;r=d;g=ca+-64|0;ca=g;H[g+56>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;j=g+8|0;a=J[c+38>>1];z:{A:{if(!a){break A}B:{if(a>>>0<=511){d=H[c+8>>2];b=H[c+12>>2];e=H[c+20>>2];a=H[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break A}a=a+H[c>>2]|0;h=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24);H[j+12>>2]=h;e=H[c+20>>2];f=H[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;H[c+16>>2]=f;H[c+20>>2]=e;break B}if(!hb(1,j+12|0,c)){break A}f=H[c+16>>2];e=H[c+20>>2];h=H[j+12>>2]}a=H[c+8>>2];d=a-f|0;a=H[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break A}b=H[j>>2];a=H[j+4>>2]-b>>2;C:{if(a>>>0>>0){ya(j,h-a|0);h=H[j+12>>2];break C}if(a>>>0<=h>>>0){break C}H[j+4>>2]=b+(h<<2)}d=1;if(!h){break z}f=H[c+16>>2];e=H[c+20>>2];s=H[j>>2];i=H[c+8>>2];n=H[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break z}d=H[c>>2];p=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=p>>>2|0;l=0;D:{E:{F:{G:{t=p&3;switch(t|0){case 0:break E;case 3:break G;default:break F}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break z}ra(s+(b<<2)|0,0,(p&252)+4|0);b=a;break D}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break A}h=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}H[s+(b<<2)>>2]=a}b=b+1|0;h=H[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=H[j>>2];d=H[j+16>>2];b=H[j+20>>2]-d|0;H:{if(b>>>0<=131071){ya(a,32768-(b>>>2|0)|0);break H}if((b|0)==131072){break H}H[j+20>>2]=d+131072}d=j+28|0;b=H[d>>2];f=H[j+32>>2]-b>>3;I:{if(f>>>0>>0){ob(d,h-f|0);b=H[d>>2];break I}if(f>>>0>h>>>0){H[j+32>>2]=(h<<3)+b}if(!h){break A}}i=H[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=H[e>>2];l=(f<<3)+b|0;a=d;H[l+4>>2]=a;H[l>>2]=j;e=H[e>>2];d=e+a|0;if(d>>>0>32768){break A}J:{if(a>>>0>=d>>>0){break J}l=0;j=e&7;if(j){while(1){H[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break J}while(1){e=i+(a<<2)|0;H[e>>2]=f;H[e+28>>2]=f;H[e+24>>2]=f;H[e+20>>2]=f;H[e+16>>2]=f;H[e+12>>2]=f;H[e+8>>2]=f;H[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==32768}d=k}K:{if(!d|(H[g+20>>2]?0:m)){break K}d=0;j=ca-16|0;ca=j;L:{M:{if(J[c+38>>1]<=511){b=H[c+8>>2];a=H[c+12>>2];h=a;e=H[c+20>>2];k=H[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break L}k=k+H[c>>2]|0;a=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);k=I[k+4|0]|I[k+5|0]<<8|(I[k+6|0]<<16|I[k+7|0]<<24);H[c+16>>2]=f;H[c+20>>2]=e;break M}if(!gb(1,j+8|0,c)){break L}f=H[c+16>>2];e=H[c+20>>2];b=H[c+8>>2];h=H[c+12>>2];a=H[j+8>>2];k=H[j+12>>2]}i=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>i>>>0|b>>>0>>0){break L}i=e+k|0;b=a+f|0;i=b>>>0>>0?i+1|0:i;H[c+16>>2]=b;H[c+20>>2]=i;if((a|0)<=0){break L}b=H[c>>2]+f|0;H[g+48>>2]=b;c=a-1|0;f=c+b|0;e=I[f|0];N:{if(e>>>0<=63){H[g+52>>2]=c;a=I[f|0]&63;break N}O:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break L}a=a-2|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8&16128|I[a|0];break N;case 1:if(a>>>0<3){break L}a=a-3|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8|I[a+2|0]<<16&4128768|I[a|0];break N;default:break O}}a=a-4|0;H[g+52>>2]=a;a=a+b|0;a=(I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24))&1073741823}H[g+56>>2]=a+131072;d=a>>>0<33423360}ca=j+16|0;if(!d){break K}if(!m){o=1;break K}b=H[g+52>>2];a=H[g+56>>2];c=H[g+36>>2];d=H[g+48>>2];f=H[g+24>>2];while(1){P:{if(a>>>0>131071){break P}while(1){if((b|0)<=0){break P}b=b-1|0;H[g+52>>2]=b;a=I[b+d|0]|a<<8;H[g+56>>2]=a;if(a>>>0<131072){continue}break}}e=a&32767;o=H[f+(e<<2)>>2];k=c+(o<<3)|0;a=(N(H[k>>2],a>>>15|0)+e|0)-H[k+4>>2]|0;H[g+56>>2]=a;H[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=H[g+36>>2];if(a){H[g+40>>2]=a;oa(a)}a=H[g+24>>2];if(a){H[g+28>>2]=a;oa(a)}a=H[g+8>>2];if(a){H[g+12>>2]=a;oa(a)}ca=g- -64|0;b=o;break g;case 10:m=a;j=d;g=ca+-64|0;ca=g;H[g+56>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;n=g+8|0;a=J[c+38>>1];Q:{R:{if(!a){break R}S:{if(a>>>0<=511){d=H[c+8>>2];b=H[c+12>>2];e=H[c+20>>2];a=H[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break R}a=a+H[c>>2]|0;h=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24);H[n+12>>2]=h;e=H[c+20>>2];f=H[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;H[c+16>>2]=f;H[c+20>>2]=e;break S}if(!hb(1,n+12|0,c)){break R}f=H[c+16>>2];e=H[c+20>>2];h=H[n+12>>2]}a=H[c+8>>2];d=a-f|0;a=H[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break R}b=H[n>>2];a=H[n+4>>2]-b>>2;T:{if(a>>>0>>0){ya(n,h-a|0);h=H[n+12>>2];break T}if(a>>>0<=h>>>0){break T}H[n+4>>2]=b+(h<<2)}d=1;if(!h){break Q}f=H[c+16>>2];e=H[c+20>>2];t=H[n>>2];r=H[c+8>>2];p=H[c+12>>2];b=0;while(1){d=0;if((e|0)>=(p|0)&f>>>0>=r>>>0|(e|0)>(p|0)){break Q}d=H[c>>2];s=I[d+f|0];f=f+1|0;i=f?e:e+1|0;H[c+16>>2]=f;e=i;H[c+20>>2]=e;a=s>>>2|0;l=0;U:{V:{W:{X:{i=s&3;switch(i|0){case 0:break V;case 3:break X;default:break W}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break Q}ra(t+(b<<2)|0,0,(s&252)+4|0);b=a;break U}while(1){if((f|0)==(r|0)&(e|0)==(p|0)){break R}h=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((i|0)!=(l|0)){continue}break}}H[t+(b<<2)>>2]=a}b=b+1|0;h=H[n+12>>2];if(b>>>0>>0){continue}break}a=n+16|0;r=H[n>>2];d=H[n+16>>2];b=H[n+20>>2]-d|0;Y:{if(b>>>0<=262143){ya(a,65536-(b>>>2|0)|0);break Y}if((b|0)==262144){break Y}H[n+20>>2]=d+262144}d=n+28|0;b=H[d>>2];f=H[n+32>>2]-b>>3;Z:{if(f>>>0>>0){ob(d,h-f|0);b=H[d>>2];break Z}if(f>>>0>h>>>0){H[n+32>>2]=(h<<3)+b}if(!h){break R}}i=H[a>>2];f=0;d=0;while(1){e=r+(f<<2)|0;l=H[e>>2];n=(f<<3)+b|0;a=d;H[n+4>>2]=a;H[n>>2]=l;e=H[e>>2];d=e+a|0;if(d>>>0>65536){break R}_:{if(a>>>0>=d>>>0){break _}l=0;n=e&7;if(n){while(1){H[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((n|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break _}while(1){e=i+(a<<2)|0;H[e>>2]=f;H[e+28>>2]=f;H[e+24>>2]=f;H[e+20>>2]=f;H[e+16>>2]=f;H[e+12>>2]=f;H[e+8>>2]=f;H[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==65536}d=k}$:{if(!d|(H[g+20>>2]?0:m)){break $}d=0;i=ca-16|0;ca=i;aa:{ba:{if(J[c+38>>1]<=511){b=H[c+8>>2];a=H[c+12>>2];h=a;e=H[c+20>>2];k=H[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break aa}k=k+H[c>>2]|0;a=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);k=I[k+4|0]|I[k+5|0]<<8|(I[k+6|0]<<16|I[k+7|0]<<24);H[c+16>>2]=f;H[c+20>>2]=e;break ba}if(!gb(1,i+8|0,c)){break aa}f=H[c+16>>2];e=H[c+20>>2];b=H[c+8>>2];h=H[c+12>>2];a=H[i+8>>2];k=H[i+12>>2]}r=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>r>>>0|b>>>0>>0){break aa}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;H[c+16>>2]=b;H[c+20>>2]=e;if((a|0)<=0){break aa}b=H[c>>2]+f|0;H[g+48>>2]=b;c=a-1|0;f=c+b|0;e=I[f|0];ca:{if(e>>>0<=63){H[g+52>>2]=c;a=I[f|0]&63;break ca}da:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break aa}a=a-2|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8&16128|I[a|0];break ca;case 1:if(a>>>0<3){break aa}a=a-3|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8|I[a+2|0]<<16&4128768|I[a|0];break ca;default:break da}}a=a-4|0;H[g+52>>2]=a;a=a+b|0;a=(I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24))&1073741823}H[g+56>>2]=a+262144;d=a>>>0<66846720}ca=i+16|0;if(!d){break $}if(!m){o=1;break $}b=H[g+52>>2];a=H[g+56>>2];c=H[g+36>>2];d=H[g+48>>2];f=H[g+24>>2];while(1){ea:{if(a>>>0>262143){break ea}while(1){if((b|0)<=0){break ea}b=b-1|0;H[g+52>>2]=b;a=I[b+d|0]|a<<8;H[g+56>>2]=a;if(a>>>0<262144){continue}break}}e=a&65535;o=H[f+(e<<2)>>2];k=c+(o<<3)|0;a=(N(H[k>>2],a>>>16|0)+e|0)-H[k+4>>2]|0;H[g+56>>2]=a;H[j+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=H[g+36>>2];if(a){H[g+40>>2]=a;oa(a)}a=H[g+24>>2];if(a){H[g+28>>2]=a;oa(a)}a=H[g+8>>2];if(a){H[g+12>>2]=a;oa(a)}ca=g- -64|0;b=o;break g;case 11:m=a;r=d;g=ca+-64|0;ca=g;H[g+56>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;j=g+8|0;a=J[c+38>>1];fa:{ga:{if(!a){break ga}ha:{if(a>>>0<=511){d=H[c+8>>2];b=H[c+12>>2];e=H[c+20>>2];a=H[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break ga}a=a+H[c>>2]|0;h=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24);H[j+12>>2]=h;i=H[c+20>>2];f=H[c+16>>2]+4|0;i=f>>>0<4?i+1|0:i;H[c+16>>2]=f;e=i;H[c+20>>2]=e;break ha}if(!hb(1,j+12|0,c)){break ga}f=H[c+16>>2];e=H[c+20>>2];h=H[j+12>>2]}a=H[c+8>>2];d=a-f|0;a=H[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break ga}b=H[j>>2];a=H[j+4>>2]-b>>2;ia:{if(a>>>0>>0){ya(j,h-a|0);h=H[j+12>>2];break ia}if(a>>>0<=h>>>0){break ia}H[j+4>>2]=b+(h<<2)}d=1;if(!h){break fa}f=H[c+16>>2];e=H[c+20>>2];s=H[j>>2];i=H[c+8>>2];n=H[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break fa}d=H[c>>2];p=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=p>>>2|0;l=0;ja:{ka:{la:{ma:{t=p&3;switch(t|0){case 0:break ka;case 3:break ma;default:break la}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break fa}ra(s+(b<<2)|0,0,(p&252)+4|0);b=a;break ja}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break ga}h=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}H[s+(b<<2)>>2]=a}b=b+1|0;h=H[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=H[j>>2];d=H[j+16>>2];b=H[j+20>>2]-d|0;na:{if(b>>>0<=1048575){ya(a,262144-(b>>>2|0)|0);break na}if((b|0)==1048576){break na}H[j+20>>2]=d- -1048576}d=j+28|0;b=H[d>>2];f=H[j+32>>2]-b>>3;oa:{if(f>>>0>>0){ob(d,h-f|0);b=H[d>>2];break oa}if(f>>>0>h>>>0){H[j+32>>2]=(h<<3)+b}if(!h){break ga}}i=H[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=H[e>>2];l=(f<<3)+b|0;a=d;H[l+4>>2]=a;H[l>>2]=j;e=H[e>>2];d=e+a|0;if(d>>>0>262144){break ga}pa:{if(a>>>0>=d>>>0){break pa}l=0;j=e&7;if(j){while(1){H[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break pa}while(1){e=i+(a<<2)|0;H[e>>2]=f;H[e+28>>2]=f;H[e+24>>2]=f;H[e+20>>2]=f;H[e+16>>2]=f;H[e+12>>2]=f;H[e+8>>2]=f;H[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==262144}d=k}qa:{if(!d|(H[g+20>>2]?0:m)){break qa}d=0;j=ca-16|0;ca=j;ra:{sa:{if(J[c+38>>1]<=511){b=H[c+8>>2];a=H[c+12>>2];h=a;i=H[c+20>>2];k=H[c+16>>2];f=k+8|0;i=f>>>0<8?i+1|0:i;e=i;if(b>>>0>>0&(e|0)>=(a|0)|(a|0)<(e|0)){break ra}k=k+H[c>>2]|0;a=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);k=I[k+4|0]|I[k+5|0]<<8|(I[k+6|0]<<16|I[k+7|0]<<24);H[c+16>>2]=f;H[c+20>>2]=e;break sa}if(!gb(1,j+8|0,c)){break ra}f=H[c+16>>2];e=H[c+20>>2];b=H[c+8>>2];h=H[c+12>>2];a=H[j+8>>2];k=H[j+12>>2]}i=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>i>>>0|b>>>0>>0){break ra}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;H[c+16>>2]=b;H[c+20>>2]=e;if((a|0)<=0){break ra}b=H[c>>2]+f|0;H[g+48>>2]=b;c=a-1|0;f=c+b|0;e=I[f|0];ta:{if(e>>>0<=63){H[g+52>>2]=c;a=I[f|0]&63;break ta}ua:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break ra}a=a-2|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8&16128|I[a|0];break ta;case 1:if(a>>>0<3){break ra}a=a-3|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8|I[a+2|0]<<16&4128768|I[a|0];break ta;default:break ua}}a=a-4|0;H[g+52>>2]=a;a=a+b|0;a=(I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24))&1073741823}H[g+56>>2]=a- -1048576;d=a>>>0<267386880}ca=j+16|0;if(!d){break qa}if(!m){o=1;break qa}b=H[g+52>>2];a=H[g+56>>2];c=H[g+36>>2];d=H[g+48>>2];f=H[g+24>>2];while(1){va:{if(a>>>0>1048575){break va}while(1){if((b|0)<=0){break va}b=b-1|0;H[g+52>>2]=b;a=I[b+d|0]|a<<8;H[g+56>>2]=a;if(a>>>0<1048576){continue}break}}e=a&262143;o=H[f+(e<<2)>>2];k=c+(o<<3)|0;a=(N(H[k>>2],a>>>18|0)+e|0)-H[k+4>>2]|0;H[g+56>>2]=a;H[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=H[g+36>>2];if(a){H[g+40>>2]=a;oa(a)}a=H[g+24>>2];if(a){H[g+28>>2]=a;oa(a)}a=H[g+8>>2];if(a){H[g+12>>2]=a;oa(a)}ca=g- -64|0;b=o;break g;case 12:m=a;r=d;g=ca+-64|0;ca=g;H[g+56>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;j=g+8|0;a=J[c+38>>1];wa:{xa:{if(!a){break xa}ya:{if(a>>>0<=511){d=H[c+8>>2];b=H[c+12>>2];i=H[c+20>>2];a=H[c+16>>2];f=a+4|0;i=f>>>0<4?i+1|0:i;if(d>>>0>>0&(b|0)<=(i|0)|(b|0)<(i|0)){break xa}a=a+H[c>>2]|0;h=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24);H[j+12>>2]=h;e=H[c+20>>2];f=H[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;H[c+16>>2]=f;H[c+20>>2]=e;break ya}if(!hb(1,j+12|0,c)){break xa}f=H[c+16>>2];e=H[c+20>>2];h=H[j+12>>2]}a=H[c+8>>2];d=a-f|0;a=H[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break xa}b=H[j>>2];a=H[j+4>>2]-b>>2;za:{if(a>>>0>>0){ya(j,h-a|0);h=H[j+12>>2];break za}if(a>>>0<=h>>>0){break za}H[j+4>>2]=b+(h<<2)}d=1;if(!h){break wa}f=H[c+16>>2];e=H[c+20>>2];s=H[j>>2];i=H[c+8>>2];n=H[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break wa}d=H[c>>2];p=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=p>>>2|0;l=0;Aa:{Ba:{Ca:{Da:{t=p&3;switch(t|0){case 0:break Ba;case 3:break Da;default:break Ca}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break wa}ra(s+(b<<2)|0,0,(p&252)+4|0);b=a;break Aa}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break xa}h=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}H[s+(b<<2)>>2]=a}b=b+1|0;h=H[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=H[j>>2];d=H[j+16>>2];b=H[j+20>>2]-d|0;Ea:{if(b>>>0<=2097151){ya(a,524288-(b>>>2|0)|0);break Ea}if((b|0)==2097152){break Ea}H[j+20>>2]=d+2097152}d=j+28|0;b=H[d>>2];f=H[j+32>>2]-b>>3;Fa:{if(f>>>0>>0){ob(d,h-f|0);b=H[d>>2];break Fa}if(f>>>0>h>>>0){H[j+32>>2]=(h<<3)+b}if(!h){break xa}}i=H[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=H[e>>2];l=(f<<3)+b|0;a=d;H[l+4>>2]=a;H[l>>2]=j;e=H[e>>2];d=e+a|0;if(d>>>0>524288){break xa}Ga:{if(a>>>0>=d>>>0){break Ga}l=0;j=e&7;if(j){while(1){H[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break Ga}while(1){e=i+(a<<2)|0;H[e>>2]=f;H[e+28>>2]=f;H[e+24>>2]=f;H[e+20>>2]=f;H[e+16>>2]=f;H[e+12>>2]=f;H[e+8>>2]=f;H[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==524288}d=k}Ha:{if(!d|(H[g+20>>2]?0:m)){break Ha}d=0;i=ca-16|0;ca=i;Ia:{Ja:{if(J[c+38>>1]<=511){b=H[c+8>>2];a=H[c+12>>2];h=a;e=H[c+20>>2];k=H[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break Ia}k=k+H[c>>2]|0;a=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);k=I[k+4|0]|I[k+5|0]<<8|(I[k+6|0]<<16|I[k+7|0]<<24);H[c+16>>2]=f;H[c+20>>2]=e;break Ja}if(!gb(1,i+8|0,c)){break Ia}f=H[c+16>>2];e=H[c+20>>2];b=H[c+8>>2];h=H[c+12>>2];a=H[i+8>>2];k=H[i+12>>2]}j=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>j>>>0|b>>>0>>0){break Ia}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;H[c+16>>2]=b;H[c+20>>2]=e;if((a|0)<=0){break Ia}b=H[c>>2]+f|0;H[g+48>>2]=b;c=a-1|0;f=c+b|0;e=I[f|0];Ka:{if(e>>>0<=63){H[g+52>>2]=c;a=I[f|0]&63;break Ka}La:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break Ia}a=a-2|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8&16128|I[a|0];break Ka;case 1:if(a>>>0<3){break Ia}a=a-3|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8|I[a+2|0]<<16&4128768|I[a|0];break Ka;default:break La}}a=a-4|0;H[g+52>>2]=a;a=a+b|0;a=(I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24))&1073741823}H[g+56>>2]=a+2097152;d=a>>>0<534773760}ca=i+16|0;if(!d){break Ha}if(!m){o=1;break Ha}b=H[g+52>>2];a=H[g+56>>2];c=H[g+36>>2];d=H[g+48>>2];f=H[g+24>>2];while(1){Ma:{if(a>>>0>2097151){break Ma}while(1){if((b|0)<=0){break Ma}b=b-1|0;H[g+52>>2]=b;a=I[b+d|0]|a<<8;H[g+56>>2]=a;if(a>>>0<2097152){continue}break}}e=a&524287;o=H[f+(e<<2)>>2];k=c+(o<<3)|0;a=(N(H[k>>2],a>>>19|0)+e|0)-H[k+4>>2]|0;H[g+56>>2]=a;H[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=H[g+36>>2];if(a){H[g+40>>2]=a;oa(a)}a=H[g+24>>2];if(a){H[g+28>>2]=a;oa(a)}a=H[g+8>>2];if(a){H[g+12>>2]=a;oa(a)}ca=g- -64|0;b=o;break g;case 17:b=Le(a,c,d);break g;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:b=ca+-64|0;ca=b;H[b+56>>2]=0;H[b+48>>2]=0;H[b+52>>2]=0;H[b+40>>2]=0;H[b+44>>2]=0;H[b+32>>2]=0;H[b+36>>2]=0;H[b+24>>2]=0;H[b+28>>2]=0;H[b+16>>2]=0;H[b+20>>2]=0;H[b+8>>2]=0;H[b+12>>2]=0;Na:{if(!Ne(b+8|0,c)|(H[b+20>>2]?0:a)){break Na}if(!Me(b+8|0,c)){break Na}if(!a){f=1;break Na}e=H[b+52>>2];c=H[b+56>>2];k=H[b+36>>2];i=H[b+48>>2];g=H[b+24>>2];while(1){Oa:{if(c>>>0>16383){break Oa}while(1){if((e|0)<=0){break Oa}e=e-1|0;H[b+52>>2]=e;c=I[e+i|0]|c<<8;H[b+56>>2]=c;if(c>>>0<16384){continue}break}}f=c&4095;m=H[g+(f<<2)>>2];r=k+(m<<3)|0;c=(N(H[r>>2],c>>>12|0)+f|0)-H[r+4>>2]|0;H[b+56>>2]=c;H[(o<<2)+d>>2]=m;f=1;o=o+1|0;if((o|0)!=(a|0)){continue}break}}a=H[b+36>>2];if(a){H[b+40>>2]=a;oa(a)}a=H[b+24>>2];if(a){H[b+28>>2]=a;oa(a)}a=H[b+8>>2];if(a){H[b+12>>2]=a;oa(a)}ca=b- -64|0;b=f;break g;case 13:case 14:case 15:case 16:break h;default:break g}}b=Le(a,c,d)}f=b}return f}function gi(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,L=0,M=0,O=0,P=0,Q=0,R=0;s=ca+-64|0;ca=s;H[a+132>>2]=0;if(H[a+148>>2]){c=H[a+144>>2];if(c){while(1){d=H[c>>2];oa(c);c=d;if(c){continue}break}}c=0;H[a+144>>2]=0;d=H[a+140>>2];a:{if(!d){break a}if(d>>>0>=4){g=d&-4;while(1){e=c<<2;H[e+H[a+136>>2]>>2]=0;H[H[a+136>>2]+(e|4)>>2]=0;H[H[a+136>>2]+(e|8)>>2]=0;H[H[a+136>>2]+(e|12)>>2]=0;c=c+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}b=d&3;if(!b){break a}while(1){H[H[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;u=u+1|0;if((b|0)!=(u|0)){continue}break}}H[a+148>>2]=0}b:{c:{d:{c=H[a+4>>2];u=I[c+36|0];b=u<<8|I[c+37|0];if(b>>>0<=513){i=H[c+32>>2];e:{if(b>>>0<=511){b=H[i+20>>2];e=H[i+16>>2];d=e+4|0;b=d>>>0<4?b+1|0:b;g=b;h=H[i+12>>2];if(K[i+8>>2]>>0&(b|0)>=(h|0)|(b|0)>(h|0)){break d}b=e+H[i>>2]|0;b=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[i+16>>2]=d;H[i+20>>2]=g;break e}if(!Ea(1,s,i)){break d}c=H[a+4>>2];u=I[c+36|0];b=H[s>>2]}H[a+132>>2]=b}g=H[c+32>>2];f:{g:{h:{if((u&255)>>>0<=1){u=0;d=H[g+20>>2];e=H[g+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;i=H[g+12>>2];if(K[g+8>>2]>>0&(i|0)<=(d|0)|(d|0)>(i|0)){break c}e=e+H[g>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[s+60>>2]=e;H[g+16>>2]=b;H[g+20>>2]=d;H[a+156>>2]=e;n=a+156|0;break h}u=0;if(!Ea(1,s+60|0,g)){break c}c=H[a+4>>2];b=I[c+36|0];H[a+156>>2]=H[s+60>>2];n=a+156|0;if(b>>>0>1){break g}}g=H[c+32>>2];h=H[g+8>>2];i=H[g+12>>2];c=H[g+20>>2];d=H[g+16>>2];b=d+4|0;c=b>>>0<4?c+1|0:c;e=b;if(b>>>0>h>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){break c}b=d+H[g>>2]|0;b=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[s+56>>2]=b;H[g+16>>2]=e;H[g+20>>2]=c;break f}if(!Ea(1,s+56|0,H[c+32>>2])){break c}b=H[s+56>>2]}if(b>>>0>1431655765|K[n>>2]>N(b,3)>>>0){break c}f=H[a+4>>2];g=H[f+32>>2];c=g;e=H[c+8>>2];i=H[c+16>>2];j=H[c+12>>2];d=H[c+20>>2];c=d;if((j|0)<=(c|0)&e>>>0<=i>>>0|(c|0)>(j|0)){break c}n=H[g>>2];o=I[n+i|0];h=i+1|0;c=h?c:c+1|0;H[g+16>>2]=h;H[g+20>>2]=c;i:{if(I[f+36|0]<=1){f=e;c=j;e=i+5|0;d=e>>>0<5?d+1|0:d;if((c|0)<=(d|0)&e>>>0>f>>>0|(c|0)<(d|0)){break c}c=h+n|0;n=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[s+52>>2]=n;H[g+16>>2]=e;H[g+20>>2]=d;break i}if(!Ea(1,s+52|0,g)){break c}n=H[s+52>>2]}if(b>>>0>>0|((n>>>0)/3|0)+n>>>0>>0){break c}c=H[a+4>>2];i=H[c+32>>2];j:{if(I[c+36|0]<=1){c=H[i+20>>2];e=H[i+16>>2];d=e+4|0;c=d>>>0<4?c+1|0:c;g=d;f=K[i+8>>2]>>0;d=H[i+12>>2];if(f&(d|0)<=(c|0)|(c|0)>(d|0)){break c}d=e+H[i>>2]|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[s+48>>2]=d;H[i+16>>2]=g;H[i+20>>2]=c;break j}if(!Ea(1,s+48|0,i)){break c}d=H[s+48>>2]}if(d>>>0>n>>>0){break c}H[a+28>>2]=H[a+24>>2];e=$b(pa(88));c=H[a+8>>2];H[a+8>>2]=e;if(c){cb(c);if(!H[a+8>>2]){break c}}H[a+164>>2]=H[a+160>>2];Jb(a+160|0,b);H[a+176>>2]=H[a+172>>2];Jb(a+172|0,b);H[a- -64>>2]=0;H[a+92>>2]=-1;H[a+84>>2]=-1;H[a+88>>2]=-1;H[a+40>>2]=H[a+36>>2];H[a+52>>2]=H[a+48>>2];H[a+76>>2]=H[a+72>>2];B=a+216|0;ed(B);dd(B,o);if(!Lc(H[a+8>>2],b,H[a+156>>2]+d|0)){break c}c=H[a+156>>2];F[s|0]=1;Oa(a+120|0,c+d|0,s);c=H[a+4>>2];b=J[c+36>>1];b=(b<<8|b>>>8)&65535;k:{if(b>>>0<=513){i=H[c+32>>2];l:{if(b>>>0<=511){b=H[i+20>>2];e=H[i+16>>2];c=e+4|0;b=c>>>0<4?b+1|0:b;g=b;h=H[i+12>>2];if(K[i+8>>2]>>0&(b|0)>=(h|0)|(b|0)>(h|0)){break c}b=e+H[i>>2]|0;b=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[i+16>>2]=c;H[i+20>>2]=g;break l}if(!Ea(1,s+44|0,i)){break c}b=H[s+44>>2]}if(!b){break c}c=H[H[a+4>>2]+32>>2];e=H[c+8>>2];g=H[c+16>>2];i=e-g|0;c=H[c+12>>2]-(H[c+20>>2]+(e>>>0>>0)|0)|0;if((c|0)<=0&b>>>0>i>>>0|(c|0)<0){break c}c=Ha(s);e=H[H[a+4>>2]+32>>2];g=H[e+16>>2];i=(g+H[e>>2]|0)+b|0;g=H[e+8>>2]-g|0;G[c+38>>1]=J[e+38>>1];H[c>>2]=i;H[c+16>>2]=0;H[c+20>>2]=0;H[c+8>>2]=g-b;H[c+12>>2]=0;C=Ib(a,c);if((C|0)==-1){break c}M=C>>31;break k}C=-1;M=-1;if((Ib(a,H[c+32>>2])|0)==-1){break c}}e=a+232|0;Ee(e,a);H[a+372>>2]=o;H[a+384>>2]=H[a+156>>2]+d;O=Ha(s);g=O;b=0;j=ca-16|0;ca=j;m:{n:{c=H[e+144>>2];c=J[(ea[H[H[c>>2]+32>>2]](c)|0)+36>>1];if(((c<<8|c>>>8)&65535)>>>0<=513){c=H[e+4>>2];H[e+40>>2]=H[e>>2];H[e+44>>2]=c;c=H[e+36>>2];H[e+72>>2]=H[e+32>>2];H[e+76>>2]=c;d=H[e+28>>2];c=e- -64|0;H[c>>2]=H[e+24>>2];H[c+4>>2]=d;c=H[e+20>>2];H[e+56>>2]=H[e+16>>2];H[e+60>>2]=c;c=H[e+12>>2];H[e+48>>2]=H[e+8>>2];H[e+52>>2]=c;if(!Db(e+40|0,1,j+8|0)){break n}c=H[e+44>>2];H[e>>2]=H[e+40>>2];H[e+4>>2]=c;c=H[e+76>>2];H[e+32>>2]=H[e+72>>2];H[e+36>>2]=c;c=H[e+68>>2];H[e+24>>2]=H[e+64>>2];H[e+28>>2]=c;c=H[e+60>>2];h=c;d=H[e+56>>2];H[e+16>>2]=d;H[e+20>>2]=c;i=H[e+52>>2];f=i;c=H[e+48>>2];H[e+8>>2]=c;H[e+12>>2]=f;o=c-d|0;k=H[j+12>>2];c=f-((c>>>0>>0)+h|0)|0;i=H[j+8>>2];if((k|0)==(c|0)&o>>>0>>0|c>>>0>>0){break n}c=h+k|0;f=d;d=d+i|0;c=f>>>0>d>>>0?c+1|0:c;H[e+16>>2]=d;H[e+20>>2]=c}o:{if(J[e+38>>1]<=513){c=H[e+4>>2];H[e+96>>2]=H[e>>2];H[e+100>>2]=c;c=H[e+36>>2];H[e+128>>2]=H[e+32>>2];H[e+132>>2]=c;c=H[e+28>>2];H[e+120>>2]=H[e+24>>2];H[e+124>>2]=c;c=H[e+20>>2];H[e+112>>2]=H[e+16>>2];H[e+116>>2]=c;c=H[e+12>>2];H[e+104>>2]=H[e+8>>2];H[e+108>>2]=c;if(!Db(e+96|0,1,j+8|0)){break n}c=H[e+100>>2];H[e>>2]=H[e+96>>2];H[e+4>>2]=c;c=H[e+132>>2];H[e+32>>2]=H[e+128>>2];H[e+36>>2]=c;c=H[e+124>>2];H[e+24>>2]=H[e+120>>2];H[e+28>>2]=c;d=H[e+116>>2];h=d;c=H[e+112>>2];H[e+16>>2]=c;H[e+20>>2]=d;i=H[e+108>>2];f=i;d=H[e+104>>2];H[e+8>>2]=d;H[e+12>>2]=f;o=d-c|0;k=H[j+12>>2];d=f-((c>>>0>d>>>0)+h|0)|0;i=H[j+8>>2];if((k|0)==(d|0)&o>>>0>>0|d>>>0>>0){break n}d=h+k|0;f=c;c=c+i|0;d=f>>>0>c>>>0?d+1|0:d;H[e+16>>2]=c;H[e+20>>2]=d;break o}if(!ta(e+80|0,e)){break m}}if(!Fe(e)){break m}c=H[e+4>>2];H[g>>2]=H[e>>2];H[g+4>>2]=c;c=H[e+36>>2];H[g+32>>2]=H[e+32>>2];H[g+36>>2]=c;c=H[e+28>>2];H[g+24>>2]=H[e+24>>2];H[g+28>>2]=c;c=H[e+20>>2];H[g+16>>2]=H[e+16>>2];H[g+20>>2]=c;c=H[e+12>>2];H[g+8>>2]=H[e+8>>2];H[g+12>>2]=c;c=H[e+144>>2];c=J[(ea[H[H[c>>2]+32>>2]](c)|0)+36>>1];p:{if(((c<<8|c>>>8)&65535)>>>0<=513){c=H[e+144>>2];q:{if(I[(ea[H[H[c>>2]+32>>2]](c)|0)+36|0]<=1){c=H[g+20>>2];i=H[g+16>>2];d=i+4|0;c=d>>>0<4?c+1|0:c;h=d;f=K[g+8>>2]>>0;d=H[g+12>>2];if(f&(d|0)<=(c|0)|(c|0)>(d|0)){break m}d=i+H[g>>2]|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[g+16>>2]=h;H[g+20>>2]=c;break q}if(!Ea(1,j+8|0,g)){break m}d=H[j+8>>2]}c=H[e+152>>2];if(d>>>0>=c>>>0){break m}d=H[g+20>>2];h=H[g+12>>2];i=H[g+16>>2];if((d|0)>=(h|0)&i>>>0>=K[g+8>>2]|(d|0)>(h|0)){break m}h=I[i+H[g>>2]|0];i=i+1|0;d=i?d:d+1|0;H[g+16>>2]=i;H[g+20>>2]=d;if(h){break m}H[e+176>>2]=2;H[e+180>>2]=7;break p}H[e+176>>2]=2;H[e+180>>2]=7;c=H[e+152>>2]}if((c|0)<0){break m}H[j+8>>2]=0;b=2;h=H[e+156>>2];i=H[e+160>>2]-h>>2;r:{if(i>>>0>>0){Pa(e+156|0,c-i|0,j+8|0);b=H[e+176>>2];d=H[e+180>>2];break r}d=7;if(c>>>0>=i>>>0){break r}H[e+160>>2]=h+(c<<2)}i=e+184|0;b=(d-b|0)+1|0;c=H[e+188>>2];h=H[e+184>>2];d=(c-h|0)/12|0;s:{if(b>>>0>d>>>0){o=0;d=b-d|0;f=H[i+8>>2];c=H[i+4>>2];t:{if(d>>>0<=(f-c|0)/12>>>0){if(d){b=c;c=N(d,12)-12|0;c=(c-((c>>>0)%12|0)|0)+12|0;c=ra(b,0,c)+c|0}H[i+4>>2]=c;break t}u:{v:{w:{h=H[i>>2];k=(c-h|0)/12|0;b=k+d|0;if(b>>>0<357913942){f=(f-h|0)/12|0;l=f<<1;f=f>>>0>=178956970?357913941:b>>>0>>0?l:b;if(f){if(f>>>0>=357913942){break w}o=pa(N(f,12))}b=N(k,12)+o|0;d=N(d,12)-12|0;k=(d-((d>>>0)%12|0)|0)+12|0;d=ra(b,0,k);k=d+k|0;f=N(f,12)+o|0;if((c|0)==(h|0)){break v}while(1){b=b-12|0;c=c-12|0;H[b>>2]=H[c>>2];H[b+4>>2]=H[c+4>>2];H[b+8>>2]=H[c+8>>2];H[c+8>>2]=0;H[c>>2]=0;H[c+4>>2]=0;if((c|0)!=(h|0)){continue}break}H[i+8>>2]=f;d=H[i+4>>2];H[i+4>>2]=k;c=H[i>>2];H[i>>2]=b;if((c|0)==(d|0)){break u}while(1){b=d-12|0;h=H[b>>2];if(h){H[d-8>>2]=h;oa(h)}d=b;if((b|0)!=(c|0)){continue}break}break u}break b}wa();v()}H[i+8>>2]=f;H[i+4>>2]=k;H[i>>2]=d}if(c){oa(c)}}d=H[e+188>>2];break s}if(b>>>0>=d>>>0){d=c;break s}d=h+N(b,12)|0;if((d|0)!=(c|0)){while(1){b=c-12|0;h=H[b>>2];if(h){H[c-8>>2]=h;oa(h)}c=b;if((d|0)!=(b|0)){continue}break}}H[e+188>>2]=d}f=e+196|0;b=H[e+184>>2];c=(d-b|0)/12|0;o=H[e+196>>2];h=H[e+200>>2]-o>>2;x:{if(c>>>0>h>>>0){ya(f,c-h|0);b=H[e+184>>2];d=H[e+188>>2];break x}if(c>>>0>=h>>>0){break x}H[e+200>>2]=o+(c<<2)}if((b|0)==(d|0)){b=1;break m}c=0;while(1){if(!Ea(1,j+8|0,g)){break n}b=H[e+148>>2];d=(H[b+4>>2]-H[b>>2]>>2>>>0)/3|0;b=H[j+8>>2];if(d>>>0>>0){break n}if(b){k=N(c,12);h=k+H[i>>2]|0;d=H[h>>2];o=H[h+4>>2]-d>>2;y:{if(o>>>0>>0){ya(h,b-o|0);d=H[k+H[i>>2]>>2];break y}if(b>>>0>=o>>>0){break y}H[h+4>>2]=(b<<2)+d}kd(b,1,g,d);H[H[f>>2]+(c<<2)>>2]=b}b=1;c=c+1|0;if(c>>>0<(H[e+188>>2]-H[e+184>>2]|0)/12>>>0){continue}break}break m}b=0}ca=j+16|0;z:{if(!b){break z}d=0;c=0;g=0;i=0;o=0;l=ca-96|0;ca=l;H[l+72>>2]=0;H[l+64>>2]=0;H[l+68>>2]=0;H[l+48>>2]=0;H[l+52>>2]=0;H[l+40>>2]=0;H[l+44>>2]=0;H[l+56>>2]=1065353216;H[l+32>>2]=0;H[l+24>>2]=0;H[l+28>>2]=0;j=a;L=H[a+124>>2];A:{B:{C:{D:{E:{if((n|0)<=0){break E}r=j+232|0;P=H[j+216>>2]!=H[j+220>>2];D=1;while(1){h=i;i=h+1|0;a=H[r+172>>2];F:{G:{if((a|0)!=-1){b=H[r+196>>2]+(a<<2)|0;f=H[b>>2];a=f-1|0;H[b>>2]=a;b=9;if((f|0)<=0){break F}a=H[H[H[r+184>>2]+N(H[r+172>>2],12)>>2]+(a<<2)>>2];if(a>>>0>4){break F}b=H[(a<<2)+12144>>2];break G}b=7;a=H[r+144>>2];a=J[(ea[H[H[a>>2]+32>>2]](a)|0)+36>>1];if(((a<<8|a>>>8)&65535)>>>0>513|!I[r+76|0]){break G}b=0;m=H[r- -64>>2];k=H[r+72>>2];a=m+(k>>>3|0)|0;p=H[r+68>>2];if(a>>>0>=p>>>0){break G}f=I[a|0];a=k+1|0;H[r+72>>2]=a;f=f>>>(k&7)&1;if(!f){break G}q=a>>>3|0;b=m+q|0;H:{if(b>>>0>=p>>>0){b=a;a=0;break H}t=I[b|0];b=k+2|0;H[r+72>>2]=b;q=b>>>3|0;a=t>>>(a&7)&1}k=m+q|0;if(k>>>0

>>0){k=I[k|0];H[r+72>>2]=b+1;b=k>>>(b&7)<<1&2}else{b=0}b=(a|b)<<1|f}H[r+168>>2]=b}a=b;I:{J:{if(!a){if((c|0)==(g|0)){b=-1;break D}d=-1;m=H[j+8>>2];t=H[m+24>>2];D=c-4|0;f=H[D>>2];a=-1;K:{if((f|0)==-1){break K}k=f+1|0;k=(k>>>0)%3|0?k:f-2|0;a=-1;if((k|0)==-1){break K}a=H[H[m>>2]+(k<<2)>>2]}b=H[t+(a<<2)>>2];if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}if((d|0)==(f|0)){b=-1;break D}if((f|0)!=-1){b=-1;if(H[H[m+12>>2]+(f<<2)>>2]!=-1){break D}}k=H[m+12>>2];if((d|0)!=-1){b=-1;if(H[k+(d<<2)>>2]!=-1){break D}}p=N(h,3);b=p+1|0;H[k+(f<<2)>>2]=b;w=b<<2;H[w+k>>2]=f;q=p+2|0;H[k+(d<<2)>>2]=q;y=q<<2;H[y+k>>2]=d;k=-1;h=-1;L:{if((f|0)==-1){break L}M:{if((f>>>0)%3|0){b=f-1|0;break M}b=f+2|0;h=-1;if((b|0)==-1){break L}}h=H[H[m>>2]+(b<<2)>>2]}N:{if((d|0)==-1){break N}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if((b|0)==-1){break N}k=H[H[m>>2]+(b<<2)>>2]}b=-1;if((a|0)==(h|0)|(a|0)==(k|0)){break D}b=H[m>>2];H[b+(p<<2)>>2]=a;H[b+w>>2]=k;H[b+y>>2]=h;if((h|0)!=-1){H[t+(h<<2)>>2]=q}b=H[j+120>>2]+(a>>>3&536870908)|0;d=H[b>>2];Q=b,R=Vj(a)&d,H[Q>>2]=R;H[D>>2]=p;k=H[c-4>>2];break J}b=-1;O:{P:{Q:{R:{S:{T:{U:{V:{W:{switch(a-1|0){case 2:case 4:if((c|0)==(g|0)){break D}t=c-4|0;d=H[t>>2];f=H[j+8>>2];m=H[f+12>>2];if((d|0)!=-1&H[m+(d<<2)>>2]!=-1){break D}k=N(h,3);p=(a|0)==5;q=k+(p?2:1)|0;w=q<<2;H[w+m>>2]=d;H[m+(d<<2)>>2]=q;Ka(f+24|0,11424);a=H[j+8>>2];m=H[a+24>>2];if(H[a+28>>2]-m>>2>(L|0)){break D}a=H[a>>2];y=a+w|0;b=H[f+28>>2];f=H[f+24>>2];w=(b-f>>2)-1|0;H[y>>2]=w;if((b|0)!=(f|0)){H[m+(w<<2)>>2]=q}b=p?k:k+2|0;q=a+(k+p<<2)|0;X:{if((d|0)==-1){H[a+(b<<2)>>2]=-1;b=-1;break X}Y:{Z:{_:{if((d>>>0)%3|0){f=d-1|0;break _}f=d+2|0;if((f|0)==-1){break Z}}f=H[a+(f<<2)>>2];H[a+(b<<2)>>2]=f;if((f|0)==-1){break Y}H[m+(f<<2)>>2]=b;break Y}H[a+(b<<2)>>2]=-1}f=d+1|0;d=(f>>>0)%3|0?f:d-2|0;b=-1;if((d|0)==-1){break X}b=H[a+(d<<2)>>2]}H[q>>2]=b;H[t>>2]=k;break V;case 0:if((c|0)==(d|0)){break D}a=c-4|0;m=H[a>>2];H[l+68>>2]=a;p=H[l+44>>2];$:{if(!p){c=a;break $}f=H[l+40>>2];q=Uj(p)>>>0>1;b=h&p+2147483647;aa:{if(!q){break aa}b=h;if(b>>>0

>>0){break aa}b=(h>>>0)%(p>>>0)|0}k=b;b=H[f+(k<<2)>>2];if(!b){c=a;break $}b=H[b>>2];if(!b){c=a;break $}ba:{if(!q){f=p-1|0;while(1){p=H[b+4>>2];ca:{if((p|0)!=(h|0)){if((k|0)==(f&p)){break ca}c=a;break $}if((h|0)==H[b+8>>2]){break ba}}b=H[b>>2];if(b){continue}break}c=a;break $}while(1){f=H[b+4>>2];da:{if((f|0)!=(h|0)){if(f>>>0>=p>>>0){f=(f>>>0)%(p>>>0)|0}if((f|0)==(k|0)){break da}c=a;break $}if((h|0)==H[b+8>>2]){break ba}}b=H[b>>2];if(b){continue}break}c=a;break $}if((a|0)!=(x|0)){H[a>>2]=H[b+12>>2];H[l+68>>2]=c;break $}a=x-d|0;g=a>>2;c=g+1|0;if(c>>>0>=1073741824){break b}f=a>>>1|0;f=a>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break B}a=pa(f<<2)}else{a=0}g=a+(g<<2)|0;H[g>>2]=H[b+12>>2];c=g+4|0;if((d|0)!=(x|0)){while(1){g=g-4|0;x=x-4|0;H[g>>2]=H[x>>2];if((d|0)!=(x|0)){continue}break}}x=a+(f<<2)|0;H[l+72>>2]=x;H[l+68>>2]=c;H[l+64>>2]=g;if(d){oa(d)}}if((c|0)==(g|0)){break P}w=c-4|0;a=H[w>>2];if((a|0)==(m|0)){break P}b=(a|0)==-1;p=H[j+8>>2];if(!b&H[H[p+12>>2]+(a<<2)>>2]!=-1){break P}q=H[p+12>>2];if((m|0)!=-1&H[q+(m<<2)>>2]!=-1){break P}k=N(h,3);t=k+2|0;H[q+(a<<2)>>2]=t;h=t<<2;H[h+q>>2]=a;d=k+1|0;H[q+(m<<2)>>2]=d;y=d<<2;H[y+q>>2]=m;if(b){break T}if((a>>>0)%3|0){f=a-1|0;break S}f=a+2|0;if((f|0)!=-1){break S}d=H[p>>2];f=-1;break R;case 6:break W;default:break D}}k=H[j+8>>2];Ka(k+24|0,11424);f=H[j+8>>2];a=N(h,3);m=H[k+28>>2];p=H[k+24>>2];q=m-p|0;k=q>>2;t=k-1|0;H[H[f>>2]+(a<<2)>>2]=t;Ka(f+24|0,11424);w=a+1|0;H[H[f>>2]+(w<<2)>>2]=(H[f+28>>2]-H[f+24>>2]>>2)-1;f=H[j+8>>2];Ka(f+24|0,11424);y=a+2|0;H[H[f>>2]+(y<<2)>>2]=(H[f+28>>2]-H[f+24>>2]>>2)-1;E=H[j+8>>2];f=H[E+24>>2];if(H[E+28>>2]-f>>2>(L|0)){break D}ea:{fa:{if((m|0)!=(p|0)){H[f+(t<<2)>>2]=a;b=0;if((q|0)==-4){break fa}}H[f+(k<<2)>>2]=w;b=k+1|0;if((b|0)==-1){break ea}}H[f+(b<<2)>>2]=y}if((c|0)!=(x|0)){H[c>>2]=a;c=c+4|0;H[l+68>>2]=c;break U}b=c-d|0;k=b>>2;g=k+1|0;if(g>>>0>=1073741824){break b}f=b>>>1|0;b=b>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(b){if(b>>>0>=1073741824){break B}f=pa(b<<2)}else{f=0}g=f+(k<<2)|0;H[g>>2]=a;x=f+(b<<2)|0;a=g+4|0;if((c|0)!=(d|0)){while(1){g=g-4|0;c=c-4|0;H[g>>2]=H[c>>2];if((c|0)!=(d|0)){continue}break}}H[l+72>>2]=x;H[l+68>>2]=a;H[l+64>>2]=g;if(d){oa(d)}c=a}d=g}Ce(r,H[c-4>>2]);a=H[j+40>>2];if((a|0)==H[j+36>>2]){break I}b=a-12|0;f=H[b+4>>2];h=(h^-1)+n|0;if(f>>>0>h>>>0){break P}if((f|0)!=(h|0)){break I}k=I[a-4|0];f=H[b>>2];H[j+40>>2]=b;if((f|0)<0){break P}m=c-4|0;a=H[m>>2];H[l+20>>2]=(f^-1)+n;b=l+20|0;H[l+88>>2]=b;Gb(l,l+40|0,b,l+88|0);f=H[l>>2];ga:{if(k&1){b=-1;if((a|0)==-1){break ga}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break ga}b=-1;if((a|0)==-1){break ga}b=a-1|0;if((a>>>0)%3|0){break ga}b=a+2|0}H[f+12>>2]=b;b=H[j+40>>2];if((b|0)==H[j+36>>2]){break I}while(1){a=b-12|0;f=H[a+4>>2];if(f>>>0>h>>>0){break P}if((f|0)!=(h|0)){break I}f=I[b-4|0];b=H[a>>2];H[j+40>>2]=a;if((b|0)<0){break P}a=H[m>>2];H[l+20>>2]=(b^-1)+n;b=l+20|0;H[l+88>>2]=b;Gb(l,l+40|0,b,l+88|0);k=H[l>>2];ha:{if(f&1){b=-1;if((a|0)==-1){break ha}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break ha}b=-1;if((a|0)==-1){break ha}b=a-1|0;if((a>>>0)%3|0){break ha}b=a+2|0}H[k+12>>2]=b;b=H[j+40>>2];if((b|0)!=H[j+36>>2]){continue}break}break I}f=-1;d=H[p>>2];H[d+(k<<2)>>2]=-1;b=-1;break Q}d=H[p>>2];f=H[d+(f<<2)>>2]}H[(k<<2)+d>>2]=f;E=a+1|0;a=(E>>>0)%3|0?E:a-2|0;b=-1;if((a|0)==-1){break Q}b=H[(a<<2)+d>>2]}H[d+y>>2]=b;ia:{if((m|0)==-1){H[d+h>>2]=-1;t=-1;a=-1;break ia}ja:{ka:{la:{if((m>>>0)%3|0){b=m-1|0;break la}b=m+2|0;if((b|0)==-1){break ka}}a=H[(b<<2)+d>>2];H[d+h>>2]=a;if((a|0)==-1){break ja}H[H[p+24>>2]+(a<<2)>>2]=t;break ja}H[d+h>>2]=-1}t=-1;b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;a=-1;if((b|0)==-1){break ia}t=H[(b<<2)+d>>2];a=b}b=H[j+388>>2];h=f<<2;m=b+h|0;y=b;b=t<<2;H[m>>2]=H[m>>2]+H[y+b>>2];m=b;b=H[p+24>>2];m=m+b|0;if((f|0)!=-1){H[b+h>>2]=H[m>>2]}b=a;while(1){if((b|0)==-1){break O}H[(b<<2)+d>>2]=f;p=b+1|0;b=(p>>>0)%3|0?p:b-2|0;h=-1;ma:{if((b|0)==-1){break ma}b=H[q+(b<<2)>>2];h=-1;if((b|0)==-1){break ma}h=b+1|0;h=(h>>>0)%3|0?h:b-2|0}b=h;if((a|0)!=(b|0)){continue}break}}b=-1;if(!D){break E}break D}H[m>>2]=-1;na:{if(P){break na}if((z|0)!=(A|0)){H[A>>2]=t;A=A+4|0;H[l+28>>2]=A;break na}a=z-o|0;h=a>>2;b=h+1|0;if(b>>>0>=1073741824){break b}d=a>>>1|0;d=a>>>0>=2147483644?1073741823:b>>>0>>0?d:b;if(d){if(d>>>0>=1073741824){break B}a=pa(d<<2)}else{a=0}b=a+(h<<2)|0;H[b>>2]=t;A=b+4|0;if((o|0)!=(z|0)){while(1){b=b-4|0;z=z-4|0;H[b>>2]=H[z>>2];if((o|0)!=(z|0)){continue}break}}z=a+(d<<2)|0;H[l+32>>2]=z;H[l+28>>2]=A;H[l+24>>2]=b;if(o){oa(o)}o=b}H[w>>2]=k}Ce(r,k);d=g}D=(i|0)<(n|0);if((i|0)!=(n|0)){continue}break}i=n}b=-1;d=H[j+8>>2];if(H[d+28>>2]-H[d+24>>2]>>2>(L|0)){break D}if((c|0)!=(g|0)){x=j+72|0;h=j+60|0;p=j+312|0;while(1){c=c-4|0;o=H[c>>2];H[l+68>>2]=c;oa:{pa:{qa:{if(J[j+270>>1]<=513){if(!I[j+364|0]){break pa}a=H[j+360>>2];b=H[j+352>>2]+(a>>>3|0)|0;if(b>>>0>=K[j+356>>2]){break qa}b=I[b|0];H[j+360>>2]=a+1;if(!(b>>>(a&7)&1)){break qa}break pa}if(Ba(p)){break pa}}b=H[j+64>>2];a=H[j+68>>2];if((b|0)==a<<5){if((b+1|0)<0){break b}if(b>>>0<=1073741822){a=a<<6;b=(b&-32)+32|0;a=a>>>0>b>>>0?a:b}else{a=2147483647}pb(h,a);b=H[j+64>>2]}H[j+64>>2]=b+1;a=H[j+60>>2]+(b>>>3&536870908)|0;d=H[a>>2];Q=a,R=Vj(b)&d,H[Q>>2]=R;b=H[j+76>>2];if((b|0)!=H[j+80>>2]){H[b>>2]=o;H[j+76>>2]=b+4;break oa}d=H[x>>2];a=b-d|0;k=a>>2;f=k+1|0;if(f>>>0<1073741824){n=a>>>1|0;n=a>>>0>=2147483644?1073741823:f>>>0>>0?n:f;if(n){if(n>>>0>=1073741824){break B}a=pa(n<<2)}else{a=0}f=a+(k<<2)|0;H[f>>2]=o;o=f+4|0;if((b|0)!=(d|0)){while(1){f=f-4|0;b=b-4|0;H[f>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[j+80>>2]=a+(n<<2);H[j+76>>2]=o;H[j+72>>2]=f;if(!d){break oa}oa(d);break oa}break b}m=H[j+8>>2];r=H[m>>2];if(((H[m+4>>2]-r>>2>>>0)/3|0)<=(i|0)){b=-1;break D}d=-1;q=H[m+24>>2];n=-1;ra:{if((o|0)==-1){break ra}g=o+1|0;g=(g>>>0)%3|0?g:o-2|0;n=-1;if((g|0)==-1){break ra}n=H[r+(g<<2)>>2]}a=H[q+(n<<2)>>2];sa:{if((a|0)==-1){k=1;f=-1;break sa}k=1;f=-1;b=a+1|0;a=(b>>>0)%3|0?b:a-2|0;if((a|0)==-1){break sa}k=0;d=a;b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;if((b|0)!=-1){f=H[r+(b<<2)>>2]}}b=-1;g=-1;a=H[q+(f<<2)>>2];if((a|0)!=-1){g=a+1|0;g=(g>>>0)%3|0?g:a-2|0}if((d|0)==(o|0)|(g|0)==(o|0)|((o|0)!=-1&H[H[m+12>>2]+(o<<2)>>2]!=-1|(d|0)==(g|0))){break D}if(!k&H[H[m+12>>2]+(d<<2)>>2]!=-1){break D}k=-1;a=H[m+12>>2];m=-1;ta:{if((g|0)==-1){break ta}if(H[a+(g<<2)>>2]!=-1){break D}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;m=-1;if((b|0)==-1){break ta}m=H[r+(b<<2)>>2]}b=N(i,3);H[l>>2]=b;H[a+(b<<2)>>2]=o;H[a+(o<<2)>>2]=b;b=H[l>>2]+1|0;H[a+(b<<2)>>2]=d;H[a+(d<<2)>>2]=b;b=H[l>>2]+2|0;H[a+(b<<2)>>2]=g;H[a+(g<<2)>>2]=b;a=H[l>>2];H[r+(a<<2)>>2]=f;b=a+1|0;d=r+(b<<2)|0;H[d>>2]=m;g=a+2|0;o=r+(g<<2)|0;H[o>>2]=n;a=H[j+120>>2];f=b?f:-1;n=a+(f>>>3&536870908)|0;r=H[n>>2];Q=n,R=Vj(f)&r,H[Q>>2]=R;k=(b|0)!=-1?H[d>>2]:k;b=a+(k>>>3&536870908)|0;d=H[b>>2];Q=b,R=Vj(k)&d,H[Q>>2]=R;b=-1;b=(g|0)!=-1?H[o>>2]:b;a=a+(b>>>3&536870908)|0;d=H[a>>2];Q=a,R=Vj(b)&d,H[Q>>2]=R;F[l+88|0]=1;_c(h,l+88|0);Ka(x,l);i=i+1|0;g=H[l+64>>2]}if((c|0)!=(g|0)){continue}break}d=H[j+8>>2]}b=-1;if(((H[d+4>>2]-H[d>>2]>>2>>>0)/3|0)!=(i|0)){break D}b=H[d+28>>2]-H[d+24>>2]>>2;i=H[l+24>>2];f=H[l+28>>2];if((i|0)==(f|0)){break C}while(1){a=H[i>>2];h=H[d+24>>2];c=b-1|0;g=h+(c<<2)|0;if(H[g>>2]==-1){while(1){c=b-2|0;b=b-1|0;g=h+(c<<2)|0;if(H[g>>2]==-1){continue}break}}if(a>>>0<=c>>>0){H[l>>2]=d;g=H[g>>2];F[l+12|0]=1;H[l+8>>2]=g;H[l+4>>2]=g;if((g|0)!=-1){while(1){d=H[H[j+8>>2]>>2]+(g<<2)|0;if(H[d>>2]!=(c|0)){b=-1;break D}H[d>>2]=a;uc(l);g=H[l+8>>2];if((g|0)!=-1){continue}break}d=H[j+8>>2]}h=H[d+24>>2];g=h+(c<<2)|0;if((a|0)!=-1){H[h+(a<<2)>>2]=H[g>>2]}H[g>>2]=-1;g=1<>2];a=h+(a>>>3&536870908)|0;h=h+(c>>>3&536870908)|0;c=1<>2]&c){g=g|H[a>>2]}else{g=H[a>>2]&(g^-1)}H[a>>2]=g;H[h>>2]=H[h>>2]&(c^-1);b=b-1|0}i=i+4|0;if((f|0)!=(i|0)){continue}break}}i=H[l+24>>2]}if(i){oa(i)}a=H[l+48>>2];if(a){while(1){c=H[a>>2];oa(a);a=c;if(a){continue}break}}a=H[l+40>>2];H[l+40>>2]=0;if(a){oa(a)}a=H[l+64>>2];if(a){H[l+68>>2]=a;oa(a)}ca=l+96|0;break A}wa();v()}if((b|0)==-1){break z}a=O;c=H[a+16>>2];d=c+H[a>>2]|0;c=H[a+8>>2]-c|0;a=H[H[j+4>>2]+32>>2];G[a+38>>1]=J[a+38>>1];H[a>>2]=d;H[a+16>>2]=0;H[a+20>>2]=0;H[a+8>>2]=c;H[a+12>>2]=0;a=H[j+4>>2];c=J[a+36>>1];g=c<<8|c>>>8;if((g&65535)>>>0<=513){a=H[a+32>>2];c=H[a+16>>2];d=M+H[a+20>>2]|0;c=c+C|0;d=c>>>0>>0?d+1|0:d;H[a+16>>2]=c;H[a+20>>2]=d}ua:{if(H[j+216>>2]==H[j+220>>2]){break ua}c=H[j+8>>2];a=H[c>>2];c=H[c+4>>2];va:{if((g&65535)>>>0>=513){if((a|0)==(c|0)){break ua}c=0;break va}if((a|0)==(c|0)){break ua}c=0;while(1){if(cd(j,c)){c=c+3|0;a=H[j+8>>2];if(c>>>0>2]-H[a>>2]>>2>>>0){continue}break ua}break}break z}while(1){if(bd(j,c)){c=c+3|0;a=H[j+8>>2];if(c>>>0>2]-H[a>>2]>>2>>>0){continue}break ua}break}break z}ad(e);c=H[j+216>>2];if((c|0)!=H[j+220>>2]){n=0;while(1){d=N(n,144);Jc((d+c|0)+4|0,H[j+8>>2]);a=H[B>>2];e=a+d|0;c=H[e+132>>2];e=H[e+136>>2];if((c|0)!=(e|0)){while(1){Hc((d+H[B>>2]|0)+4|0,H[c>>2]);c=c+4|0;if((e|0)!=(c|0)){continue}break}a=H[B>>2]}if(!Ic((a+d|0)+4|0)){break z}n=n+1|0;c=H[j+216>>2];if(n>>>0<(H[j+220>>2]-c|0)/144>>>0){continue}break}}a=H[j+8>>2];Hb(j+184|0,H[a+28>>2]-H[a+24>>2]>>2);u=H[j+216>>2];if((u|0)!=H[j+220>>2]){c=0;while(1){a=N(c,144)+u|0;d=H[a+60>>2]-H[a+56>>2]>>2;f=a+104|0;a=H[j+8>>2];a=H[a+28>>2]-H[a+24>>2]>>2;Hb(f,(a|0)<(d|0)?d:a);c=c+1|0;u=H[j+216>>2];if(c>>>0<(H[j+220>>2]-u|0)/144>>>0){continue}break}}u=$c(j,b)}break c}u=0}ca=s- -64|0;return u|0}sa();v()}function ii(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0;u=ca+-64|0;ca=u;H[a+132>>2]=0;if(H[a+148>>2]){c=H[a+144>>2];if(c){while(1){b=H[c>>2];oa(c);c=b;if(b){continue}break}}c=0;H[a+144>>2]=0;l=H[a+140>>2];a:{if(!l){break a}if(l>>>0>=4){b=l&-4;while(1){e=c<<2;H[e+H[a+136>>2]>>2]=0;H[H[a+136>>2]+(e|4)>>2]=0;H[H[a+136>>2]+(e|8)>>2]=0;H[H[a+136>>2]+(e|12)>>2]=0;c=c+4|0;f=f+4|0;if((b|0)!=(f|0)){continue}break}}b=l&3;if(!b){break a}while(1){H[H[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;w=w+1|0;if((b|0)!=(w|0)){continue}break}}H[a+148>>2]=0}b:{c:{c=H[a+4>>2];w=I[c+36|0];b=w<<8|I[c+37|0];if(b>>>0<=513){g=H[c+32>>2];d:{if(b>>>0<=511){f=H[g+20>>2];l=H[g+16>>2];e=l+4|0;f=e>>>0<4?f+1|0:f;b=f;d=H[g+12>>2];if(K[g+8>>2]>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}f=l+H[g>>2]|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[g+16>>2]=e;H[g+20>>2]=b;break d}if(!Ea(1,u,g)){break c}c=H[a+4>>2];w=I[c+36|0];f=H[u>>2]}H[a+132>>2]=f}d=H[c+32>>2];e:{f:{g:{if((w&255)>>>0<=1){w=0;b=H[d+20>>2];e=H[d+16>>2];f=e+4|0;b=f>>>0<4?b+1|0:b;l=H[d+12>>2];if(K[d+8>>2]>>0&(l|0)<=(b|0)|(b|0)>(l|0)){break b}e=e+H[d>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[u+60>>2]=e;H[d+16>>2]=f;H[d+20>>2]=b;H[a+156>>2]=e;t=a+156|0;break g}w=0;if(!Ea(1,u+60|0,d)){break b}c=H[a+4>>2];b=I[c+36|0];H[a+156>>2]=H[u+60>>2];t=a+156|0;if(b>>>0>1){break f}}d=H[c+32>>2];e=H[d+8>>2];l=H[d+12>>2];c=H[d+20>>2];f=H[d+16>>2];b=f+4|0;c=b>>>0<4?c+1|0:c;if(b>>>0>e>>>0&(c|0)>=(l|0)|(c|0)>(l|0)){break b}f=f+H[d>>2]|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[u+56>>2]=f;H[d+16>>2]=b;H[d+20>>2]=c;break e}if(!Ea(1,u+56|0,H[c+32>>2])){break b}f=H[u+56>>2]}if(f>>>0>1431655765|K[t>>2]>N(f,3)>>>0){break b}E=H[a+4>>2];x=H[E+32>>2];c=H[x+8>>2];d=H[x+12>>2];b=H[x+20>>2];h=H[x+16>>2];if((d|0)<=(b|0)&h>>>0>=c>>>0|(b|0)>(d|0)){break b}j=H[x>>2];k=I[j+h|0];e=x;l=h+1|0;g=l?b:b+1|0;H[e+16>>2]=l;H[e+20>>2]=g;h:{if(I[E+36|0]<=1){e=c;c=h+5|0;b=c>>>0<5?b+1|0:b;if(c>>>0>e>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break b}e=j+l|0;t=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[u+52>>2]=t;H[x+16>>2]=c;H[x+20>>2]=b;break h}if(!Ea(1,u+52|0,x)){break b}t=H[u+52>>2]}if(f>>>0>>0|((t>>>0)/3|0)+t>>>0>>0){break b}c=H[a+4>>2];d=H[c+32>>2];i:{if(I[c+36|0]<=1){c=H[d+20>>2];b=H[d+16>>2];e=b+4|0;c=e>>>0<4?c+1|0:c;l=H[d+12>>2];if(K[d+8>>2]>>0&(l|0)<=(c|0)|(c|0)>(l|0)){break b}b=b+H[d>>2]|0;b=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[u+48>>2]=b;H[d+16>>2]=e;H[d+20>>2]=c;break i}if(!Ea(1,u+48|0,d)){break b}b=H[u+48>>2]}if(b>>>0>t>>>0){break b}H[a+28>>2]=H[a+24>>2];c=$b(pa(88));e=H[a+8>>2];H[a+8>>2]=c;if(e){cb(e);if(!H[a+8>>2]){break b}}H[a+164>>2]=H[a+160>>2];Jb(a+160|0,f);H[a+176>>2]=H[a+172>>2];Jb(a+172|0,f);H[a- -64>>2]=0;H[a+92>>2]=-1;H[a+84>>2]=-1;H[a+88>>2]=-1;H[a+40>>2]=H[a+36>>2];H[a+52>>2]=H[a+48>>2];H[a+76>>2]=H[a+72>>2];M=a+216|0;ed(M);dd(M,k);if(!Lc(H[a+8>>2],f,H[a+156>>2]+b|0)){break b}c=H[a+156>>2];F[u|0]=1;Oa(a+120|0,b+c|0,u);f=H[a+4>>2];c=J[f+36>>1];c=(c<<8|c>>>8)&65535;j:{if(c>>>0<=513){g=H[f+32>>2];k:{if(c>>>0<=511){f=H[g+20>>2];l=H[g+16>>2];e=l+4|0;f=e>>>0<4?f+1|0:f;c=f;d=H[g+12>>2];if(K[g+8>>2]>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break b}f=l+H[g>>2]|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[g+16>>2]=e;H[g+20>>2]=c;break k}if(!Ea(1,u+44|0,g)){break b}f=H[u+44>>2]}if(!f){break b}d=H[H[a+4>>2]+32>>2];l=H[d+8>>2];c=H[d+16>>2];e=l-c|0;c=H[d+12>>2]-(H[d+20>>2]+(c>>>0>l>>>0)|0)|0;if((c|0)<=0&f>>>0>e>>>0|(c|0)<0){break b}g=Ha(u);d=H[H[a+4>>2]+32>>2];l=H[d+16>>2];e=(l+H[d>>2]|0)+f|0;c=H[d+8>>2]-l|0;G[g+38>>1]=J[d+38>>1];H[g>>2]=e;H[g+16>>2]=0;H[g+20>>2]=0;H[g+8>>2]=c-f;H[g+12>>2]=0;c=Ib(a,g);if((c|0)==-1){break b}E=c;P=c>>31;break j}E=-1;P=-1;if((Ib(a,H[f+32>>2])|0)==-1){break b}}B=a+232|0;Ee(B,a);H[a+372>>2]=k;H[a+384>>2]=H[a+156>>2]+b;x=Ha(u);g=x;d=0;l=ca-16|0;ca=l;l:{if(!Ge(B,g)){break l}b=H[g+20>>2];f=H[g+16>>2];c=f+4|0;b=c>>>0<4?b+1|0:b;e=H[g+12>>2];if(K[g+8>>2]>>0&(e|0)<=(b|0)|(b|0)>(e|0)){break l}f=f+H[g>>2]|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[g+16>>2]=c;H[g+20>>2]=b;if((f|0)<0){break l}b=f;f=H[B+152>>2];if((b|0)>=(f|0)){break l}H[l+12>>2]=0;c=H[B+156>>2];b=H[B+160>>2]-c>>2;m:{if(b>>>0>>0){Pa(B+156|0,f-b|0,l+12|0);break m}if(b>>>0<=f>>>0){break m}H[B+160>>2]=c+(f<<2)}d=ta(B+168|0,g)}ca=l+16|0;n:{if(!d){break n}d=0;c=0;f=0;l=0;i=ca-96|0;ca=i;H[i+72>>2]=0;H[i+64>>2]=0;H[i+68>>2]=0;H[i+48>>2]=0;H[i+52>>2]=0;H[i+40>>2]=0;H[i+44>>2]=0;H[i+56>>2]=1065353216;H[i+32>>2]=0;H[i+24>>2]=0;H[i+28>>2]=0;g=a;O=H[a+124>>2];o:{p:{q:{r:{s:{t:{if((t|0)<=0){break t}z=g+400|0;Q=g+232|0;C=H[g+216>>2]!=H[g+220>>2];y=1;while(1){e=l;l=e+1|0;u:{v:{w:{x:{y:{if(H[g+420>>2]!=-1){if(Ba(z)){break y}}if(!I[g+308|0]){break x}z:{o=H[g+296>>2];r=H[g+304>>2];a=o+(r>>>3|0)|0;k=H[g+300>>2];if(a>>>0>=k>>>0){break z}b=I[a|0];a=r+1|0;H[g+304>>2]=a;h=b>>>(r&7)&1;if(!h){break z}n=a>>>3|0;b=o+n|0;A:{if(b>>>0>=k>>>0){b=a;a=0;break A}j=I[b|0];b=r+2|0;H[g+304>>2]=b;n=b>>>3|0;a=j>>>(a&7)&1}j=n+o|0;if(j>>>0>>0){j=I[j|0];H[g+304>>2]=b+1;b=j>>>(b&7)<<1&2}else{b=0}p=(a|b)<<1|h;H[g+416>>2]=p;break w}H[g+416>>2]=0;break x}p=H[g+420>>2];H[g+416>>2]=p;if(p){break w}}if((c|0)==(f|0)){b=-1;break s}p=-1;n=H[g+8>>2];o=H[n+24>>2];j=c-4|0;m=H[j>>2];d=-1;B:{if((m|0)==-1){break B}b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;d=-1;if((b|0)==-1){break B}d=H[H[n>>2]+(b<<2)>>2]}b=H[o+(d<<2)>>2];if((b|0)!=-1){a=b+1|0;p=(a>>>0)%3|0?a:b-2|0}if((m|0)==(p|0)){b=-1;break s}if((m|0)!=-1){b=-1;if(H[H[n+12>>2]+(m<<2)>>2]!=-1){break s}}k=H[n+12>>2];if((p|0)!=-1){b=-1;if(H[k+(p<<2)>>2]!=-1){break s}}q=N(e,3);a=q+1|0;H[k+(m<<2)>>2]=a;h=a<<2;H[h+k>>2]=m;r=q+2|0;H[k+(p<<2)>>2]=r;e=r<<2;H[e+k>>2]=p;k=-1;a=-1;C:{if((m|0)==-1){break C}D:{if((m>>>0)%3|0){b=m-1|0;break D}b=m+2|0;a=-1;if((b|0)==-1){break C}}a=H[H[n>>2]+(b<<2)>>2]}E:{if((p|0)==-1){break E}b=p+1|0;b=(b>>>0)%3|0?b:p-2|0;if((b|0)==-1){break E}k=H[H[n>>2]+(b<<2)>>2]}b=-1;if((a|0)==(d|0)|(d|0)==(k|0)){break s}b=H[n>>2];H[b+(q<<2)>>2]=d;H[b+h>>2]=k;H[b+e>>2]=a;if((a|0)!=-1){H[o+(a<<2)>>2]=r}b=H[g+120>>2]+(d>>>3&536870908)|0;a=H[b>>2];R=b,S=Vj(d)&a,H[R>>2]=S;H[j>>2]=q;p=H[c-4>>2];break v}b=-1;F:{G:{H:{I:{J:{K:{L:{M:{N:{O:{P:{switch(p-1|0){case 2:case 4:if((c|0)==(f|0)){break s}h=c-4|0;m=H[h>>2];r=H[g+8>>2];d=H[r+12>>2];if((m|0)!=-1&H[d+(m<<2)>>2]!=-1){break s}q=N(e,3);k=(p|0)==5;j=q+(k?2:1)|0;a=j<<2;H[a+d>>2]=m;H[d+(m<<2)>>2]=j;Ka(r+24|0,11424);d=H[g+8>>2];o=H[d+24>>2];if(H[d+28>>2]-o>>2>(O|0)){break s}n=H[d>>2];p=n+a|0;d=H[r+28>>2];b=H[r+24>>2];a=(d-b>>2)-1|0;H[p>>2]=a;if((b|0)!=(d|0)){H[o+(a<<2)>>2]=j}d=k?q:q+2|0;j=n+(k+q<<2)|0;Q:{if((m|0)==-1){H[n+(d<<2)>>2]=-1;b=-1;break Q}R:{S:{T:{if((m>>>0)%3|0){a=m-1|0;break T}a=m+2|0;if((a|0)==-1){break S}}a=H[n+(a<<2)>>2];H[n+(d<<2)>>2]=a;if((a|0)==-1){break R}H[o+(a<<2)>>2]=d;break R}H[n+(d<<2)>>2]=-1}a=m+1|0;a=(a>>>0)%3|0?a:m-2|0;b=-1;if((a|0)==-1){break Q}b=H[n+(a<<2)>>2]}H[j>>2]=b;H[h>>2]=q;break O;case 0:if((c|0)==(d|0)){break s}a=c-4|0;m=H[a>>2];H[i+68>>2]=a;k=H[i+44>>2];U:{if(!k){c=a;break U}o=H[i+40>>2];h=Uj(k)>>>0>1;b=e&k+2147483647;V:{if(!h){break V}b=e;if(b>>>0>>0){break V}b=(e>>>0)%(k>>>0)|0}j=b;b=H[o+(j<<2)>>2];if(!b){c=a;break U}b=H[b>>2];if(!b){c=a;break U}W:{if(!h){k=k-1|0;while(1){h=H[b+4>>2];X:{if((h|0)!=(e|0)){if((j|0)==(h&k)){break X}c=a;break U}if((e|0)==H[b+8>>2]){break W}}b=H[b>>2];if(b){continue}break}c=a;break U}while(1){h=H[b+4>>2];Y:{if((h|0)!=(e|0)){if(h>>>0>=k>>>0){h=(h>>>0)%(k>>>0)|0}if((h|0)==(j|0)){break Y}c=a;break U}if((e|0)==H[b+8>>2]){break W}}b=H[b>>2];if(b){continue}break}c=a;break U}if((a|0)!=(A|0)){H[a>>2]=H[b+12>>2];H[i+68>>2]=c;break U}h=A-d|0;c=h>>2;f=c+1|0;if(f>>>0>=1073741824){break M}a=h>>>1|0;h=h>>>0>=2147483644?1073741823:a>>>0>f>>>0?a:f;if(h){if(h>>>0>=1073741824){break p}a=pa(h<<2)}else{a=0}f=a+(c<<2)|0;H[f>>2]=H[b+12>>2];c=f+4|0;if((d|0)!=(A|0)){while(1){f=f-4|0;A=A-4|0;H[f>>2]=H[A>>2];if((d|0)!=(A|0)){continue}break}}A=a+(h<<2)|0;H[i+72>>2]=A;H[i+68>>2]=c;H[i+64>>2]=f;if(d){oa(d)}}if((c|0)==(f|0)){break G}j=c-4|0;n=H[j>>2];if((n|0)==(m|0)){break G}d=(n|0)==-1;q=H[g+8>>2];if(!d&H[H[q+12>>2]+(n<<2)>>2]!=-1){break G}r=H[q+12>>2];if((m|0)!=-1&H[r+(m<<2)>>2]!=-1){break G}p=N(e,3);e=p+2|0;H[r+(n<<2)>>2]=e;o=e<<2;H[o+r>>2]=n;a=p+1|0;H[r+(m<<2)>>2]=a;b=a<<2;H[b+r>>2]=m;if(d){break L}if((n>>>0)%3|0){k=n-1|0;break J}k=n+2|0;if((k|0)!=-1){break J}d=H[q>>2];a=-1;break I;case 6:break P;default:break s}}a=H[g+8>>2];Ka(a+24|0,11424);h=H[g+8>>2];p=N(e,3);q=H[a+28>>2];r=H[a+24>>2];o=q-r|0;n=o>>2;k=n-1|0;H[H[h>>2]+(p<<2)>>2]=k;Ka(h+24|0,11424);j=p+1|0;H[H[h>>2]+(j<<2)>>2]=(H[h+28>>2]-H[h+24>>2]>>2)-1;a=H[g+8>>2];Ka(a+24|0,11424);h=p+2|0;H[H[a>>2]+(h<<2)>>2]=(H[a+28>>2]-H[a+24>>2]>>2)-1;a=H[g+8>>2];m=H[a+24>>2];if(H[a+28>>2]-m>>2>(O|0)){break s}Z:{_:{if((q|0)!=(r|0)){H[m+(k<<2)>>2]=p;b=0;if((o|0)==-4){break _}}H[m+(n<<2)>>2]=j;b=n+1|0;if((b|0)==-1){break Z}}H[m+(b<<2)>>2]=h}if((c|0)!=(A|0)){H[c>>2]=p;c=c+4|0;H[i+68>>2]=c;break N}h=c-d|0;b=h>>2;f=b+1|0;if(f>>>0>=1073741824){break K}a=h>>>1|0;h=h>>>0>=2147483644?1073741823:a>>>0>f>>>0?a:f;if(h){if(h>>>0>=1073741824){break p}a=pa(h<<2)}else{a=0}f=a+(b<<2)|0;H[f>>2]=p;A=a+(h<<2)|0;a=f+4|0;if((c|0)!=(d|0)){while(1){f=f-4|0;c=c-4|0;H[f>>2]=H[c>>2];if((c|0)!=(d|0)){continue}break}}H[i+72>>2]=A;H[i+68>>2]=a;H[i+64>>2]=f;if(d){oa(d)}c=a}d=f}De(Q,H[c-4>>2]);h=H[g+40>>2];if((h|0)==H[g+36>>2]){break u}b=h-12|0;a=H[b+4>>2];k=(e^-1)+t|0;if(a>>>0>k>>>0){break G}if((a|0)!=(k|0)){break u}e=I[h-4|0];a=H[b>>2];H[g+40>>2]=b;if((a|0)<0){break G}h=c-4|0;j=H[h>>2];H[i+20>>2]=(a^-1)+t;a=i+20|0;H[i+88>>2]=a;Gb(i,i+40|0,a,i+88|0);b=H[i>>2];$:{if(e&1){a=-1;if((j|0)==-1){break $}a=j+1|0;a=(a>>>0)%3|0?a:j-2|0;break $}a=-1;if((j|0)==-1){break $}a=j-1|0;if((j>>>0)%3|0){break $}a=j+2|0}H[b+12>>2]=a;b=H[g+40>>2];if((b|0)==H[g+36>>2]){break u}while(1){j=b-12|0;a=H[j+4>>2];if(a>>>0>k>>>0){break G}if((a|0)!=(k|0)){break u}e=I[b-4|0];a=H[j>>2];H[g+40>>2]=j;if((a|0)<0){break G}j=H[h>>2];H[i+20>>2]=(a^-1)+t;a=i+20|0;H[i+88>>2]=a;Gb(i,i+40|0,a,i+88|0);b=H[i>>2];aa:{if(e&1){a=-1;if((j|0)==-1){break aa}a=j+1|0;a=(a>>>0)%3|0?a:j-2|0;break aa}a=-1;if((j|0)==-1){break aa}a=j-1|0;if((j>>>0)%3|0){break aa}a=j+2|0}H[b+12>>2]=a;b=H[g+40>>2];if((b|0)!=H[g+36>>2]){continue}break}break u}sa();v()}k=-1;d=H[q>>2];H[d+(p<<2)>>2]=-1;h=-1;break H}sa();v()}d=H[q>>2];a=H[d+(k<<2)>>2]}k=a;H[(p<<2)+d>>2]=a;a=n+1|0;a=(a>>>0)%3|0?a:n-2|0;h=-1;if((a|0)==-1){break H}h=H[(a<<2)+d>>2]}H[b+d>>2]=h;ba:{if((m|0)==-1){H[d+o>>2]=-1;n=-1;a=-1;break ba}ca:{da:{ea:{if((m>>>0)%3|0){b=m-1|0;break ea}b=m+2|0;if((b|0)==-1){break da}}a=H[(b<<2)+d>>2];H[d+o>>2]=a;if((a|0)==-1){break ca}H[H[q+24>>2]+(a<<2)>>2]=e;break ca}H[d+o>>2]=-1}n=-1;b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;a=-1;if((b|0)==-1){break ba}n=H[(b<<2)+d>>2];a=b}h=H[g+388>>2];e=k<<2;b=h+e|0;o=b;m=H[b>>2];b=n<<2;H[o>>2]=m+H[b+h>>2];h=b;b=H[q+24>>2];o=h+b|0;if((k|0)!=-1){H[b+e>>2]=H[o>>2]}b=a;while(1){if((b|0)==-1){break F}H[(b<<2)+d>>2]=k;h=b+1|0;b=(h>>>0)%3|0?h:b-2|0;e=-1;fa:{if((b|0)==-1){break fa}h=H[r+(b<<2)>>2];e=-1;if((h|0)==-1){break fa}b=h+1|0;e=(b>>>0)%3|0?b:h-2|0}b=e;if((a|0)!=(b|0)){continue}break}}b=-1;if(!(y&1)){break t}break s}H[o>>2]=-1;ga:{if(C){break ga}if((D|0)!=(L|0)){H[L>>2]=n;L=L+4|0;H[i+28>>2]=L;break ga}d=D-s|0;b=d>>2;e=b+1|0;if(e>>>0>=1073741824){break q}a=d>>>1|0;e=d>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(e){if(e>>>0>=1073741824){break p}a=pa(e<<2)}else{a=0}b=a+(b<<2)|0;H[b>>2]=n;L=b+4|0;if((s|0)!=(D|0)){while(1){b=b-4|0;D=D-4|0;H[b>>2]=H[D>>2];if((s|0)!=(D|0)){continue}break}}D=a+(e<<2)|0;H[i+32>>2]=D;H[i+28>>2]=L;H[i+24>>2]=b;if(s){oa(s)}s=b}H[j>>2]=p}De(Q,p);d=f}y=(l|0)<(t|0);if((l|0)!=(t|0)){continue}break}l=t}b=-1;y=H[g+8>>2];if(H[y+28>>2]-H[y+24>>2]>>2>(O|0)){break s}if((c|0)!=(f|0)){r=g+72|0;j=g+60|0;t=g+312|0;while(1){c=c-4|0;z=H[c>>2];H[i+68>>2]=c;ha:{ia:{ja:{if(J[g+270>>1]<=513){if(!I[g+364|0]){break ia}b=H[g+360>>2];a=H[g+352>>2]+(b>>>3|0)|0;if(a>>>0>=K[g+356>>2]){break ja}a=I[a|0];H[g+360>>2]=b+1;if(!(a>>>(b&7)&1)){break ja}break ia}if(Ba(t)){break ia}}ka:{la:{b=H[g+64>>2];e=H[g+68>>2];if((b|0)==e<<5){if((b+1|0)<0){break la}if(b>>>0<=1073741822){e=e<<6;b=(b&-32)+32|0;a=b>>>0>>0?e:b}else{a=2147483647}pb(j,a);b=H[g+64>>2]}H[g+64>>2]=b+1;e=H[g+60>>2]+(b>>>3&536870908)|0;a=H[e>>2];R=e,S=Vj(b)&a,H[R>>2]=S;b=H[g+76>>2];if((b|0)!=H[g+80>>2]){H[b>>2]=z;H[g+76>>2]=b+4;break ha}s=H[r>>2];h=b-s|0;e=h>>2;d=e+1|0;if(d>>>0>=1073741824){break ka}a=h>>>1|0;h=h>>>0>=2147483644?1073741823:a>>>0>d>>>0?a:d;if(h){if(h>>>0>=1073741824){break p}a=pa(h<<2)}else{a=0}d=a+(e<<2)|0;H[d>>2]=z;e=d+4|0;if((b|0)!=(s|0)){while(1){d=d-4|0;b=b-4|0;H[d>>2]=H[b>>2];if((b|0)!=(s|0)){continue}break}}H[g+80>>2]=a+(h<<2);H[g+76>>2]=e;H[g+72>>2]=d;if(!s){break ha}oa(s);break ha}sa();v()}sa();v()}q=H[g+8>>2];C=H[q>>2];if(((H[q+4>>2]-C>>2>>>0)/3|0)<=(l|0)){b=-1;break s}f=-1;b=-1;d=-1;s=H[q+24>>2];e=-1;ma:{if((z|0)==-1){break ma}a=z+1|0;a=(a>>>0)%3|0?a:z-2|0;e=-1;if((a|0)==-1){break ma}e=H[C+(a<<2)>>2]}o=H[s+(e<<2)>>2];na:{if((o|0)==-1){k=1;a=-1;break na}k=1;h=o+1|0;h=(h>>>0)%3|0?h:o-2|0;a=-1;if((h|0)==-1){break na}k=0;a=h+1|0;f=h;a=(a>>>0)%3|0?a:f-2|0;if((a|0)!=-1){a=H[C+(a<<2)>>2]}else{a=-1}}h=H[(a<<2)+s>>2];if((h|0)!=-1){d=h+1|0;d=(d>>>0)%3|0?d:h-2|0}if((f|0)==(z|0)|(d|0)==(z|0)|((z|0)!=-1&H[H[q+12>>2]+(z<<2)>>2]!=-1|(d|0)==(f|0))){break s}if(!k&H[H[q+12>>2]+(f<<2)>>2]!=-1){break s}k=-1;s=H[q+12>>2];h=-1;oa:{if((d|0)==-1){break oa}if(H[s+(d<<2)>>2]!=-1){break s}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;h=-1;if((b|0)==-1){break oa}h=H[C+(b<<2)>>2]}b=N(l,3);H[i>>2]=b;H[s+(b<<2)>>2]=z;H[s+(z<<2)>>2]=b;b=H[i>>2]+1|0;H[s+(b<<2)>>2]=f;H[s+(f<<2)>>2]=b;b=H[i>>2]+2|0;H[s+(b<<2)>>2]=d;H[s+(d<<2)>>2]=b;b=H[i>>2];H[C+(b<<2)>>2]=a;o=b+1|0;s=C+(o<<2)|0;H[s>>2]=h;h=b+2|0;d=C+(h<<2)|0;H[d>>2]=e;e=H[g+120>>2];f=o?a:-1;b=e+(f>>>3&536870908)|0;a=H[b>>2];R=b,S=Vj(f)&a,H[R>>2]=S;k=(o|0)!=-1?H[s>>2]:k;b=e+(k>>>3&536870908)|0;a=H[b>>2];R=b,S=Vj(k)&a,H[R>>2]=S;b=-1;b=(h|0)!=-1?H[d>>2]:b;f=e+(b>>>3&536870908)|0;a=H[f>>2];R=f,S=Vj(b)&a,H[R>>2]=S;F[i+88|0]=1;_c(j,i+88|0);Ka(r,i);l=l+1|0;f=H[i+64>>2]}if((c|0)!=(f|0)){continue}break}y=H[g+8>>2]}b=-1;if(((H[y+4>>2]-H[y>>2]>>2>>>0)/3|0)!=(l|0)){break s}b=H[y+28>>2]-H[y+24>>2]>>2;l=H[i+24>>2];e=H[i+28>>2];if((l|0)==(e|0)){break r}while(1){j=H[l>>2];a=H[y+24>>2];c=b-1|0;d=a+(c<<2)|0;if(H[d>>2]==-1){while(1){c=b-2|0;b=b-1|0;d=a+(c<<2)|0;if(H[d>>2]==-1){continue}break}}if(c>>>0>=j>>>0){H[i>>2]=y;d=H[d>>2];F[i+12|0]=1;H[i+8>>2]=d;H[i+4>>2]=d;if((d|0)!=-1){while(1){a=H[H[g+8>>2]>>2]+(d<<2)|0;if(H[a>>2]!=(c|0)){b=-1;break s}H[a>>2]=j;uc(i);d=H[i+8>>2];if((d|0)!=-1){continue}break}y=H[g+8>>2]}a=H[y+24>>2];f=a+(c<<2)|0;if((j|0)!=-1){H[a+(j<<2)>>2]=H[f>>2]}H[f>>2]=-1;h=1<>2];f=a+(j>>>3&536870908)|0;d=a+(c>>>3&536870908)|0;a=1<>2]&a){c=h|H[f>>2]}else{c=H[f>>2]&(h^-1)}H[f>>2]=c;H[d>>2]=H[d>>2]&(a^-1);b=b-1|0}l=l+4|0;if((e|0)!=(l|0)){continue}break}}l=H[i+24>>2]}if(l){oa(l)}a=H[i+48>>2];if(a){while(1){c=H[a>>2];oa(a);a=c;if(a){continue}break}}a=H[i+40>>2];H[i+40>>2]=0;if(a){oa(a)}a=H[i+64>>2];if(a){H[i+68>>2]=a;oa(a)}ca=i+96|0;break o}sa();v()}wa();v()}f=b;if((b|0)==-1){break n}b=H[x+16>>2];c=b+H[x>>2]|0;a=H[x+8>>2]-b|0;b=H[H[g+4>>2]+32>>2];G[b+38>>1]=J[b+38>>1];H[b>>2]=c;H[b+16>>2]=0;H[b+20>>2]=0;H[b+8>>2]=a;H[b+12>>2]=0;b=H[g+4>>2];a=J[b+36>>1];c=a<<8|a>>>8;if((c&65535)>>>0<=513){b=H[b+32>>2];e=b;a=H[b+16>>2];b=P+H[b+20>>2]|0;a=a+E|0;b=a>>>0>>0?b+1|0:b;H[e+16>>2]=a;H[e+20>>2]=b}pa:{if(H[g+216>>2]==H[g+220>>2]){break pa}a=H[g+8>>2];b=H[a>>2];a=H[a+4>>2];qa:{if((c&65535)>>>0>=513){if((a|0)==(b|0)){break pa}c=0;break qa}if((a|0)==(b|0)){break pa}c=0;while(1){if(cd(g,c)){c=c+3|0;a=H[g+8>>2];if(c>>>0>2]-H[a>>2]>>2>>>0){continue}break pa}break}break n}while(1){if(bd(g,c)){c=c+3|0;a=H[g+8>>2];if(c>>>0>2]-H[a>>2]>>2>>>0){continue}break pa}break}break n}ad(B);c=H[g+216>>2];if((c|0)!=H[g+220>>2]){t=0;while(1){e=N(t,144);Jc((e+c|0)+4|0,H[g+8>>2]);a=H[M>>2];b=a+e|0;c=H[b+132>>2];b=H[b+136>>2];if((c|0)!=(b|0)){while(1){Hc((e+H[M>>2]|0)+4|0,H[c>>2]);c=c+4|0;if((b|0)!=(c|0)){continue}break}a=H[M>>2]}if(!Ic((a+e|0)+4|0)){break n}t=t+1|0;c=H[g+216>>2];if(t>>>0<(H[g+220>>2]-c|0)/144>>>0){continue}break}}a=H[g+8>>2];Hb(g+184|0,H[a+28>>2]-H[a+24>>2]>>2);w=H[g+216>>2];if((w|0)!=H[g+220>>2]){c=0;while(1){a=N(c,144)+w|0;b=H[a+60>>2]-H[a+56>>2]>>2;e=a+104|0;a=H[g+8>>2];a=H[a+28>>2]-H[a+24>>2]>>2;Hb(e,(a|0)<(b|0)?b:a);c=c+1|0;w=H[g+216>>2];if(c>>>0<(H[g+220>>2]-w|0)/144>>>0){continue}break}}w=$c(g,f)}break b}w=0}ca=u- -64|0;return w|0}function ki(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,L=0,M=0,O=0,P=0,Q=0;t=ca+-64|0;ca=t;H[a+132>>2]=0;if(H[a+148>>2]){d=H[a+144>>2];if(d){while(1){b=H[d>>2];oa(d);d=b;if(b){continue}break}}d=0;H[a+144>>2]=0;k=H[a+140>>2];a:{if(!k){break a}if(k>>>0>=4){b=k&-4;while(1){c=d<<2;H[c+H[a+136>>2]>>2]=0;H[H[a+136>>2]+(c|4)>>2]=0;H[H[a+136>>2]+(c|8)>>2]=0;H[H[a+136>>2]+(c|12)>>2]=0;d=d+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}}b=k&3;if(!b){break a}while(1){H[H[a+136>>2]+(d<<2)>>2]=0;d=d+1|0;x=x+1|0;if((b|0)!=(x|0)){continue}break}}H[a+148>>2]=0}b:{c:{d=H[a+4>>2];x=I[d+36|0];b=x<<8|I[d+37|0];if(b>>>0<=513){f=H[d+32>>2];d:{if(b>>>0<=511){b=H[f+20>>2];e=H[f+16>>2];c=e+4|0;b=c>>>0<4?b+1|0:b;k=H[f+12>>2];if(K[f+8>>2]>>0&(k|0)<=(b|0)|(b|0)>(k|0)){break c}e=e+H[f>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[f+16>>2]=c;H[f+20>>2]=b;break d}if(!Ea(1,t,f)){break c}d=H[a+4>>2];x=I[d+36|0];e=H[t>>2]}H[a+132>>2]=e}f=H[d+32>>2];e:{f:{g:{if((x&255)>>>0<=1){x=0;b=H[f+20>>2];c=H[f+16>>2];e=c+4|0;b=e>>>0<4?b+1|0:b;k=H[f+12>>2];if(K[f+8>>2]>>0&(k|0)<=(b|0)|(b|0)>(k|0)){break b}c=c+H[f>>2]|0;c=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[t+60>>2]=c;H[f+16>>2]=e;H[f+20>>2]=b;H[a+156>>2]=c;l=a+156|0;break g}x=0;if(!Ea(1,t+60|0,f)){break b}d=H[a+4>>2];b=I[d+36|0];H[a+156>>2]=H[t+60>>2];l=a+156|0;if(b>>>0>1){break f}}f=H[d+32>>2];c=H[f+8>>2];k=H[f+12>>2];d=H[f+20>>2];e=H[f+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;if(b>>>0>c>>>0&(d|0)>=(k|0)|(d|0)>(k|0)){break b}e=e+H[f>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[t+56>>2]=e;H[f+16>>2]=b;H[f+20>>2]=d;break e}if(!Ea(1,t+56|0,H[d+32>>2])){break b}e=H[t+56>>2]}if(e>>>0>1431655765|K[l>>2]>N(e,3)>>>0){break b}j=H[a+4>>2];y=H[j+32>>2];d=H[y+8>>2];f=H[y+12>>2];b=H[y+20>>2];m=H[y+16>>2];if((f|0)<=(b|0)&m>>>0>=d>>>0|(b|0)>(f|0)){break b}l=H[y>>2];g=I[l+m|0];c=y;k=m+1|0;C=k?b:b+1|0;H[c+16>>2]=k;H[c+20>>2]=C;h:{if(I[j+36|0]<=1){c=d;d=m+5|0;b=d>>>0<5?b+1|0:b;if(c>>>0>>0&(b|0)>=(f|0)|(b|0)>(f|0)){break b}c=k+l|0;l=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[t+52>>2]=l;H[y+16>>2]=d;H[y+20>>2]=b;break h}if(!Ea(1,t+52|0,y)){break b}l=H[t+52>>2]}if(e>>>0>>0|((l>>>0)/3|0)+l>>>0>>0){break b}d=H[a+4>>2];f=H[d+32>>2];i:{if(I[d+36|0]<=1){d=H[f+20>>2];b=H[f+16>>2];c=b+4|0;d=c>>>0<4?d+1|0:d;k=H[f+12>>2];if(K[f+8>>2]>>0&(k|0)<=(d|0)|(d|0)>(k|0)){break b}b=b+H[f>>2]|0;b=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[t+48>>2]=b;H[f+16>>2]=c;H[f+20>>2]=d;break i}if(!Ea(1,t+48|0,f)){break b}b=H[t+48>>2]}if(b>>>0>l>>>0){break b}H[a+28>>2]=H[a+24>>2];d=$b(pa(88));c=H[a+8>>2];H[a+8>>2]=d;if(c){cb(c);if(!H[a+8>>2]){break b}}H[a+164>>2]=H[a+160>>2];Jb(a+160|0,e);H[a+176>>2]=H[a+172>>2];Jb(a+172|0,e);H[a- -64>>2]=0;H[a+92>>2]=-1;H[a+84>>2]=-1;H[a+88>>2]=-1;H[a+40>>2]=H[a+36>>2];H[a+52>>2]=H[a+48>>2];H[a+76>>2]=H[a+72>>2];E=a+216|0;ed(E);dd(E,g);if(!Lc(H[a+8>>2],e,H[a+156>>2]+b|0)){break b}d=H[a+156>>2];F[t|0]=1;Oa(a+120|0,b+d|0,t);b=H[a+4>>2];d=J[b+36>>1];d=(d<<8|d>>>8)&65535;j:{if(d>>>0<=513){k=H[b+32>>2];k:{if(d>>>0<=511){b=H[k+20>>2];e=H[k+16>>2];d=e+4|0;b=d>>>0<4?b+1|0:b;c=H[k+12>>2];if(K[k+8>>2]>>0&(c|0)<=(b|0)|(b|0)>(c|0)){break b}e=e+H[k>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[k+16>>2]=d;H[k+20>>2]=b;break k}if(!Ea(1,t+44|0,k)){break b}e=H[t+44>>2]}if(!e){break b}k=H[H[a+4>>2]+32>>2];c=H[k+8>>2];d=H[k+16>>2];b=c-d|0;d=H[k+12>>2]-(H[k+20>>2]+(c>>>0>>0)|0)|0;if(b>>>0>>0&(d|0)<=0|(d|0)<0){break b}f=Ha(t);k=H[H[a+4>>2]+32>>2];c=H[k+16>>2];b=(c+H[k>>2]|0)+e|0;d=H[k+8>>2]-c|0;G[f+38>>1]=J[k+38>>1];H[f>>2]=b;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=d-e;H[f+12>>2]=0;d=Ib(a,f);if((d|0)==-1){break b}y=d;M=d>>31;break j}y=-1;M=-1;if((Ib(a,H[b+32>>2])|0)==-1){break b}}O=a+232|0;e=O;H[e+144>>2]=a;d=H[(ea[H[H[a>>2]+32>>2]](a)|0)+32>>2];b=H[d>>2]+H[d+16>>2]|0;d=H[(ea[H[H[a>>2]+32>>2]](a)|0)+32>>2];d=H[d+8>>2]-H[d+16>>2]|0;P=e,Q=J[H[(ea[H[H[a>>2]+32>>2]](a)|0)+32>>2]+38>>1],G[P+38>>1]=Q;H[e>>2]=b;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=d;H[e+12>>2]=0;H[a+372>>2]=g;C=Ha(t);l:{if(!Ge(e,C)){break l}b=0;d=0;e=0;k=0;i=ca-96|0;ca=i;H[i+72>>2]=0;H[i+64>>2]=0;H[i+68>>2]=0;H[i+48>>2]=0;H[i+52>>2]=0;H[i+40>>2]=0;H[i+44>>2]=0;H[i+56>>2]=1065353216;H[i+32>>2]=0;H[i+24>>2]=0;H[i+28>>2]=0;h=a;L=H[a+124>>2];m:{n:{o:{p:{q:{r:{if((l|0)<=0){break r}A=H[h+216>>2]!=H[h+220>>2];s=1;while(1){f=k;k=f+1|0;s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{if(!I[h+308|0]){break G}u=H[h+296>>2];g=H[h+304>>2];a=u+(g>>>3|0)|0;p=H[h+300>>2];if(a>>>0>=p>>>0){break G}c=I[a|0];a=g+1|0;H[h+304>>2]=a;m=c>>>(g&7)&1;if(!m){break G}n=0;j=a>>>3|0;c=u+j|0;H:{if(c>>>0>=p>>>0){g=a;a=0;break H}c=I[c|0];g=g+2|0;H[h+304>>2]=g;j=g>>>3|0;a=c>>>(a&7)&1}c=j+u|0;if(c>>>0

>>0){c=I[c|0];H[h+304>>2]=g+1;n=c>>>(g&7)<<1&2}j=-1;a=m|(a|n)<<1;switch(a-1|0){case 6:break D;case 0:break E;case 2:case 4:break F;default:break q}}if((d|0)==(e|0)){j=-1;break q}g=-1;q=H[h+8>>2];u=H[q+24>>2];p=d-4|0;s=H[p>>2];c=-1;I:{if((s|0)==-1){break I}b=s+1|0;b=(b>>>0)%3|0?b:s-2|0;c=-1;if((b|0)==-1){break I}c=H[H[q>>2]+(b<<2)>>2]}b=H[u+(c<<2)>>2];if((b|0)!=-1){a=b+1|0;g=(a>>>0)%3|0?a:b-2|0}if((g|0)==(s|0)){j=-1;break q}if((s|0)!=-1){j=-1;if(H[H[q+12>>2]+(s<<2)>>2]!=-1){break q}}b=H[q+12>>2];if((g|0)!=-1){j=-1;if(H[b+(g<<2)>>2]!=-1){break q}}n=N(f,3);a=n+1|0;H[b+(s<<2)>>2]=a;m=a<<2;H[m+b>>2]=s;r=n+2|0;H[b+(g<<2)>>2]=r;f=r<<2;H[f+b>>2]=g;o=-1;a=-1;J:{if((s|0)==-1){break J}K:{if((s>>>0)%3|0){b=s-1|0;break K}b=s+2|0;a=-1;if((b|0)==-1){break J}}a=H[H[q>>2]+(b<<2)>>2]}L:{if((g|0)==-1){break L}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1){break L}o=H[H[q>>2]+(b<<2)>>2]}j=-1;if((a|0)==(c|0)|(c|0)==(o|0)){break q}b=H[q>>2];H[b+(n<<2)>>2]=c;H[b+m>>2]=o;H[b+f>>2]=a;if((a|0)!=-1){H[u+(a<<2)>>2]=r}b=H[h+120>>2]+(c>>>3&536870908)|0;a=H[b>>2];P=b,Q=Vj(c)&a,H[P>>2]=Q;H[p>>2]=n;b=e;break s}if((d|0)==(e|0)){break q}m=d-4|0;n=H[m>>2];r=H[h+8>>2];b=H[r+12>>2];if((n|0)!=-1&H[b+(n<<2)>>2]!=-1){break q}o=N(f,3);p=(a|0)==5;g=o+(p?2:1)|0;a=g<<2;H[a+b>>2]=n;H[b+(n<<2)>>2]=g;Ka(r+24|0,11424);b=H[h+8>>2];u=H[b+24>>2];if(H[b+28>>2]-u>>2>(L|0)){break q}j=H[b>>2];q=j+a|0;c=H[r+28>>2];b=H[r+24>>2];a=(c-b>>2)-1|0;H[q>>2]=a;if((b|0)!=(c|0)){H[u+(a<<2)>>2]=g}c=p?o:o+2|0;g=j+(o+p<<2)|0;M:{if((n|0)==-1){H[j+(c<<2)>>2]=-1;b=-1;break M}N:{O:{P:{if((n>>>0)%3|0){a=n-1|0;break P}a=n+2|0;if((a|0)==-1){break O}}a=H[j+(a<<2)>>2];H[j+(c<<2)>>2]=a;if((a|0)==-1){break N}H[u+(a<<2)>>2]=c;break N}H[j+(c<<2)>>2]=-1}a=n+1|0;a=(a>>>0)%3|0?a:n-2|0;b=-1;if((a|0)==-1){break M}b=H[j+(a<<2)>>2]}H[g>>2]=b;H[m>>2]=o;b=e;break y}if((b|0)==(d|0)){break q}a=d-4|0;q=H[a>>2];H[i+68>>2]=a;p=H[i+44>>2];Q:{if(!p){d=a;break Q}g=H[i+40>>2];j=Uj(p)>>>0>1;c=f&p+2147483647;R:{if(!j){break R}c=f;if(c>>>0

>>0){break R}c=(f>>>0)%(p>>>0)|0}m=c;c=H[g+(m<<2)>>2];if(!c){d=a;break Q}g=H[c>>2];if(!g){d=a;break Q}S:{if(!j){j=p-1|0;while(1){c=H[g+4>>2];T:{if((c|0)!=(f|0)){if((m|0)==(c&j)){break T}d=a;break Q}if((f|0)==H[g+8>>2]){break S}}g=H[g>>2];if(g){continue}break}d=a;break Q}while(1){c=H[g+4>>2];U:{if((c|0)!=(f|0)){if(c>>>0>=p>>>0){c=(c>>>0)%(p>>>0)|0}if((c|0)==(m|0)){break U}d=a;break Q}if((f|0)==H[g+8>>2]){break S}}g=H[g>>2];if(g){continue}break}d=a;break Q}if((a|0)!=(z|0)){H[a>>2]=H[g+12>>2];H[i+68>>2]=d;break Q}c=z-b|0;d=c>>2;e=d+1|0;if(e>>>0>=1073741824){break C}a=c>>>1|0;c=c>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(c){if(c>>>0>=1073741824){break n}a=pa(c<<2)}else{a=0}e=a+(d<<2)|0;H[e>>2]=H[g+12>>2];d=e+4|0;if((b|0)!=(z|0)){while(1){e=e-4|0;z=z-4|0;H[e>>2]=H[z>>2];if((b|0)!=(z|0)){continue}break}}z=a+(c<<2)|0;H[i+72>>2]=z;H[i+68>>2]=d;H[i+64>>2]=e;if(b){oa(b)}}if((d|0)==(e|0)){break u}g=d-4|0;n=H[g>>2];if((n|0)==(q|0)){break u}b=(n|0)==-1;o=H[h+8>>2];if(!b&H[H[o+12>>2]+(n<<2)>>2]!=-1){break u}r=H[o+12>>2];if((q|0)!=-1&H[r+(q<<2)>>2]!=-1){break u}u=N(f,3);f=u+2|0;H[r+(n<<2)>>2]=f;p=f<<2;H[p+r>>2]=n;a=u+1|0;H[r+(q<<2)>>2]=a;c=a<<2;H[c+r>>2]=q;if(b){break B}if((n>>>0)%3|0){m=n-1|0;break x}m=n+2|0;if((m|0)!=-1){break x}a=H[o>>2];b=-1;break w}a=H[h+8>>2];Ka(a+24|0,11424);c=H[h+8>>2];q=N(f,3);r=H[a+28>>2];u=H[a+24>>2];p=r-u|0;o=p>>2;g=o-1|0;H[H[c>>2]+(q<<2)>>2]=g;Ka(c+24|0,11424);m=q+1|0;H[H[c>>2]+(m<<2)>>2]=(H[c+28>>2]-H[c+24>>2]>>2)-1;a=H[h+8>>2];Ka(a+24|0,11424);c=q+2|0;H[H[a>>2]+(c<<2)>>2]=(H[a+28>>2]-H[a+24>>2]>>2)-1;a=H[h+8>>2];n=H[a+24>>2];if(H[a+28>>2]-n>>2>(L|0)){break q}V:{W:{if((r|0)!=(u|0)){H[n+(g<<2)>>2]=q;j=0;if((p|0)==-4){break W}}H[n+(o<<2)>>2]=m;j=o+1|0;if((j|0)==-1){break V}}H[n+(j<<2)>>2]=c}if((d|0)!=(z|0)){H[d>>2]=q;d=d+4|0;H[i+68>>2]=d;break y}m=d-b|0;e=m>>2;c=e+1|0;if(c>>>0>=1073741824){break A}a=m>>>1|0;c=m>>>0>=2147483644?1073741823:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=1073741824){break n}a=pa(c<<2)}else{a=0}e=a+(e<<2)|0;H[e>>2]=q;z=a+(c<<2)|0;a=e+4|0;if((b|0)!=(d|0)){while(1){e=e-4|0;d=d-4|0;H[e>>2]=H[d>>2];if((b|0)!=(d|0)){continue}break}}H[i+72>>2]=z;H[i+68>>2]=a;H[i+64>>2]=e;if(!b){break z}oa(b);break z}sa();v()}m=-1;a=H[o>>2];H[a+(u<<2)>>2]=-1;j=-1;break v}sa();v()}d=a;b=e}m=H[h+40>>2];if((m|0)==H[h+36>>2]){break s}c=m-12|0;a=H[c+4>>2];j=(f^-1)+l|0;if(a>>>0>j>>>0){break u}if((a|0)!=(j|0)){break s}f=I[m-4|0];a=H[c>>2];H[h+40>>2]=c;if((a|0)<0){break u}m=d-4|0;g=H[m>>2];H[i+20>>2]=(a^-1)+l;a=i+20|0;H[i+88>>2]=a;Gb(i,i+40|0,a,i+88|0);c=H[i>>2];X:{if(f&1){a=-1;if((g|0)==-1){break X}a=g+1|0;a=(a>>>0)%3|0?a:g-2|0;break X}a=-1;if((g|0)==-1){break X}a=g-1|0;if((g>>>0)%3|0){break X}a=g+2|0}H[c+12>>2]=a;g=H[h+40>>2];if((g|0)==H[h+36>>2]){break s}while(1){c=g-12|0;a=H[c+4>>2];if(a>>>0>j>>>0){break u}if((a|0)!=(j|0)){break s}f=I[g-4|0];a=H[c>>2];H[h+40>>2]=c;if((a|0)<0){break u}g=H[m>>2];H[i+20>>2]=(a^-1)+l;a=i+20|0;H[i+88>>2]=a;Gb(i,i+40|0,a,i+88|0);c=H[i>>2];Y:{if(f&1){a=-1;if((g|0)==-1){break Y}a=g+1|0;a=(a>>>0)%3|0?a:g-2|0;break Y}a=-1;if((g|0)==-1){break Y}a=g-1|0;if((g>>>0)%3|0){break Y}a=g+2|0}H[c+12>>2]=a;g=H[h+40>>2];if((g|0)!=H[h+36>>2]){continue}break}break s}a=H[o>>2];b=H[a+(m<<2)>>2]}m=b;H[(u<<2)+a>>2]=b;b=n+1|0;b=(b>>>0)%3|0?b:n-2|0;j=-1;if((b|0)==-1){break v}j=H[(b<<2)+a>>2]}H[a+c>>2]=j;Z:{if((q|0)==-1){H[a+p>>2]=-1;n=-1;c=-1;break Z}_:{$:{aa:{if((q>>>0)%3|0){b=q-1|0;break aa}b=q+2|0;if((b|0)==-1){break $}}b=H[(b<<2)+a>>2];H[a+p>>2]=b;if((b|0)==-1){break _}H[H[o+24>>2]+(b<<2)>>2]=f;break _}H[a+p>>2]=-1}n=-1;b=q+1|0;b=(b>>>0)%3|0?b:q-2|0;c=-1;if((b|0)==-1){break Z}n=H[(b<<2)+a>>2];c=b}b=H[o+24>>2];p=b+(n<<2)|0;if((m|0)!=-1){H[b+(m<<2)>>2]=H[p>>2]}b=c;while(1){if((b|0)==-1){break t}H[(b<<2)+a>>2]=m;j=b+1|0;b=(j>>>0)%3|0?j:b-2|0;f=-1;ba:{if((b|0)==-1){break ba}j=H[r+(b<<2)>>2];f=-1;if((j|0)==-1){break ba}b=j+1|0;f=(b>>>0)%3|0?b:j-2|0}b=f;if((c|0)!=(b|0)){continue}break}}j=-1;if(!(s&1)){break r}break q}H[p>>2]=-1;ca:{if(A){break ca}if((B|0)!=(D|0)){H[D>>2]=n;D=D+4|0;H[i+28>>2]=D;break ca}f=B-w|0;b=f>>2;c=b+1|0;if(c>>>0>=1073741824){break o}a=f>>>1|0;c=f>>>0>=2147483644?1073741823:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=1073741824){break n}a=pa(c<<2)}else{a=0}b=a+(b<<2)|0;H[b>>2]=n;D=b+4|0;if((w|0)!=(B|0)){while(1){b=b-4|0;B=B-4|0;H[b>>2]=H[B>>2];if((w|0)!=(B|0)){continue}break}}B=a+(c<<2)|0;H[i+32>>2]=B;H[i+28>>2]=D;H[i+24>>2]=b;if(w){oa(w)}w=b}H[g>>2]=u;b=e}s=(k|0)<(l|0);if((k|0)!=(l|0)){continue}break}k=l}j=-1;a=H[h+8>>2];if(H[a+28>>2]-H[a+24>>2]>>2>(L|0)){break q}if((d|0)!=(e|0)){u=h+72|0;m=h+60|0;p=h+312|0;while(1){d=d-4|0;o=H[d>>2];H[i+68>>2]=d;da:{ea:{fa:{if(J[h+270>>1]<=513){if(!I[h+364|0]){break ea}b=H[h+360>>2];a=H[h+352>>2]+(b>>>3|0)|0;if(a>>>0>=K[h+356>>2]){break fa}a=I[a|0];H[h+360>>2]=b+1;if(!(a>>>(b&7)&1)){break fa}break ea}if(Ba(p)){break ea}}ga:{ha:{b=H[h+64>>2];c=H[h+68>>2];if((b|0)==c<<5){if((b+1|0)<0){break ha}if(b>>>0<=1073741822){c=c<<6;b=(b&-32)+32|0;a=b>>>0>>0?c:b}else{a=2147483647}pb(m,a);b=H[h+64>>2]}H[h+64>>2]=b+1;c=H[h+60>>2]+(b>>>3&536870908)|0;a=H[c>>2];P=c,Q=Vj(b)&a,H[P>>2]=Q;b=H[h+76>>2];if((b|0)!=H[h+80>>2]){H[b>>2]=o;H[h+76>>2]=b+4;break da}l=H[u>>2];w=b-l|0;c=w>>2;f=c+1|0;if(f>>>0>=1073741824){break ga}a=w>>>1|0;f=w>>>0>=2147483644?1073741823:a>>>0>f>>>0?a:f;if(f){if(f>>>0>=1073741824){break n}a=pa(f<<2)}else{a=0}g=a+(c<<2)|0;H[g>>2]=o;c=g+4|0;if((b|0)!=(l|0)){while(1){g=g-4|0;b=b-4|0;H[g>>2]=H[b>>2];if((b|0)!=(l|0)){continue}break}}H[h+80>>2]=a+(f<<2);H[h+76>>2]=c;H[h+72>>2]=g;if(!l){break da}oa(l);break da}sa();v()}sa();v()}r=H[h+8>>2];A=H[r>>2];if(((H[r+4>>2]-A>>2>>>0)/3|0)<=(k|0)){j=-1;break q}a=-1;j=-1;b=-1;w=H[r+24>>2];f=-1;ia:{if((o|0)==-1){break ia}e=o+1|0;e=(e>>>0)%3|0?e:o-2|0;f=-1;if((e|0)==-1){break ia}f=H[A+(e<<2)>>2]}l=H[w+(f<<2)>>2];ja:{if((l|0)==-1){g=1;e=-1;break ja}g=1;c=l+1|0;c=(c>>>0)%3|0?c:l-2|0;e=-1;if((c|0)==-1){break ja}g=0;a=c;e=a+1|0;e=(e>>>0)%3|0?e:a-2|0;if((e|0)!=-1){e=H[A+(e<<2)>>2]}else{e=-1}}c=H[(e<<2)+w>>2];if((c|0)!=-1){b=c+1|0;b=(b>>>0)%3|0?b:c-2|0}if((a|0)==(o|0)|(b|0)==(o|0)|((o|0)!=-1&H[H[r+12>>2]+(o<<2)>>2]!=-1|(a|0)==(b|0))){break q}if(!g&H[H[r+12>>2]+(a<<2)>>2]!=-1){break q}g=-1;l=H[r+12>>2];w=-1;ka:{if((b|0)==-1){break ka}if(H[l+(b<<2)>>2]!=-1){break q}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;w=-1;if((c|0)==-1){break ka}w=H[A+(c<<2)>>2]}c=N(k,3);H[i>>2]=c;H[l+(c<<2)>>2]=o;H[l+(o<<2)>>2]=c;c=H[i>>2]+1|0;H[l+(c<<2)>>2]=a;H[l+(a<<2)>>2]=c;a=H[i>>2]+2|0;H[l+(a<<2)>>2]=b;H[l+(b<<2)>>2]=a;a=H[i>>2];H[A+(a<<2)>>2]=e;j=a+1|0;l=A+(j<<2)|0;H[l>>2]=w;w=a+2|0;c=A+(w<<2)|0;H[c>>2]=f;f=H[h+120>>2];e=j?e:-1;b=f+(e>>>3&536870908)|0;a=H[b>>2];P=b,Q=Vj(e)&a,H[P>>2]=Q;g=(j|0)!=-1?H[l>>2]:g;b=f+(g>>>3&536870908)|0;a=H[b>>2];P=b,Q=Vj(g)&a,H[P>>2]=Q;b=-1;b=(w|0)!=-1?H[c>>2]:b;e=f+(b>>>3&536870908)|0;a=H[e>>2];P=e,Q=Vj(b)&a,H[P>>2]=Q;F[i+88|0]=1;_c(m,i+88|0);Ka(u,i);k=k+1|0;e=H[i+64>>2]}if((d|0)!=(e|0)){continue}break}a=H[h+8>>2]}j=-1;if(((H[a+4>>2]-H[a>>2]>>2>>>0)/3|0)!=(k|0)){break q}j=H[a+28>>2]-H[a+24>>2]>>2;s=H[i+24>>2];c=H[i+28>>2];if((s|0)==(c|0)){break p}while(1){k=H[s>>2];d=H[a+24>>2];b=j-1|0;g=d+(b<<2)|0;if(H[g>>2]==-1){while(1){b=j-2|0;j=j-1|0;g=d+(b<<2)|0;if(H[g>>2]==-1){continue}break}}if(b>>>0>=k>>>0){H[i>>2]=a;g=H[g>>2];F[i+12|0]=1;H[i+8>>2]=g;H[i+4>>2]=g;if((g|0)!=-1){while(1){a=H[H[h+8>>2]>>2]+(g<<2)|0;if(H[a>>2]!=(b|0)){j=-1;break q}H[a>>2]=k;uc(i);g=H[i+8>>2];if((g|0)!=-1){continue}break}a=H[h+8>>2]}d=H[a+24>>2];e=d+(b<<2)|0;if((k|0)!=-1){H[d+(k<<2)>>2]=H[e>>2]}H[e>>2]=-1;f=1<>2];e=d+(k>>>3&536870908)|0;k=d+(b>>>3&536870908)|0;d=1<>2]&d){b=f|H[e>>2]}else{b=H[e>>2]&(f^-1)}H[e>>2]=b;H[k>>2]=H[k>>2]&(d^-1);j=j-1|0}s=s+4|0;if((c|0)!=(s|0)){continue}break}}s=H[i+24>>2]}if(s){oa(s)}a=H[i+48>>2];if(a){while(1){d=H[a>>2];oa(a);a=d;if(a){continue}break}}a=H[i+40>>2];H[i+40>>2]=0;if(a){oa(a)}a=H[i+64>>2];if(a){H[i+68>>2]=a;oa(a)}ca=i+96|0;a=j;break m}sa();v()}wa();v()}e=a;if((a|0)==-1){break l}b=H[C+16>>2];d=b+H[C>>2]|0;a=H[C+8>>2]-b|0;b=H[H[h+4>>2]+32>>2];G[b+38>>1]=J[b+38>>1];H[b>>2]=d;H[b+16>>2]=0;H[b+20>>2]=0;H[b+8>>2]=a;H[b+12>>2]=0;b=H[h+4>>2];a=J[b+36>>1];d=a<<8|a>>>8;if((d&65535)>>>0<=513){b=H[b+32>>2];c=b;a=H[b+16>>2];b=M+H[b+20>>2]|0;a=a+y|0;b=a>>>0>>0?b+1|0:b;H[c+16>>2]=a;H[c+20>>2]=b}la:{if(H[h+216>>2]==H[h+220>>2]){break la}a=H[h+8>>2];b=H[a>>2];a=H[a+4>>2];ma:{if((d&65535)>>>0>=513){if((a|0)==(b|0)){break la}d=0;break ma}if((a|0)==(b|0)){break la}d=0;while(1){if(cd(h,d)){d=d+3|0;a=H[h+8>>2];if(d>>>0>2]-H[a>>2]>>2>>>0){continue}break la}break}break l}while(1){if(bd(h,d)){d=d+3|0;a=H[h+8>>2];if(d>>>0>2]-H[a>>2]>>2>>>0){continue}break la}break}break l}ad(O);d=H[h+216>>2];if((d|0)!=H[h+220>>2]){l=0;while(1){c=N(l,144);Jc((c+d|0)+4|0,H[h+8>>2]);a=H[E>>2];b=a+c|0;d=H[b+132>>2];b=H[b+136>>2];if((d|0)!=(b|0)){while(1){Hc((c+H[E>>2]|0)+4|0,H[d>>2]);d=d+4|0;if((b|0)!=(d|0)){continue}break}a=H[E>>2]}if(!Ic((a+c|0)+4|0)){break l}l=l+1|0;d=H[h+216>>2];if(l>>>0<(H[h+220>>2]-d|0)/144>>>0){continue}break}}a=H[h+8>>2];Hb(h+184|0,H[a+28>>2]-H[a+24>>2]>>2);x=H[h+216>>2];if((x|0)!=H[h+220>>2]){d=0;while(1){a=N(d,144)+x|0;b=H[a+60>>2]-H[a+56>>2]>>2;c=a+104|0;a=H[h+8>>2];a=H[a+28>>2]-H[a+24>>2]>>2;Hb(c,(a|0)<(b|0)?b:a);d=d+1|0;x=H[h+216>>2];if(d>>>0<(H[h+220>>2]-x|0)/144>>>0){continue}break}}x=$c(h,e)}break b}x=0}ca=t- -64|0;return x|0}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,J=0,K=0,L=0,M=0,O=0;B=c;c=0;m=ca-96|0;ca=m;l=m+16|0;ra(l,0,76);H[m+92>>2]=-1;H[m+8>>2]=0;H[m>>2]=0;H[m+4>>2]=0;r=ca-16|0;ca=r;H[l+68>>2]=0;H[l+72>>2]=0;H[l>>2]=b;s=ca-16|0;ca=s;u=b;a=H[b+20>>2];a:{if((H[b+24>>2]-a|0)<=0){break a}a=H[a>>2];if((a|0)==-1){break a}c=H[H[u+8>>2]+(a<<2)>>2]}b:{c:{d:{if(!c){a=0;break d}a=H[u+100>>2];e=H[u+96>>2];H[s+8>>2]=0;H[s>>2]=0;H[s+4>>2]=0;f=a-e|0;b=(f|0)/12|0;e:{if((a|0)==(e|0)){break e}if(b>>>0>=357913942){break c}d=pa(f);H[s>>2]=d;H[s+8>>2]=d+N(b,12);a=0;n=d;f=f-12|0;d=(f-((f>>>0)%12|0)|0)+12|0;f=ra(n,0,d);H[s+4>>2]=d+f;if(I[c+84|0]){c=b>>>0<=1?1:b;h=c&1;if(b>>>0>=2){g=c&-2;c=0;while(1){d=N(a,12);b=d+e|0;i=H[b+4>>2];j=H[b>>2];d=d+f|0;H[d+8>>2]=H[b+8>>2];H[d>>2]=j;H[d+4>>2]=i;d=N(a|1,12);b=d+e|0;i=H[b+4>>2];j=H[b>>2];d=d+f|0;H[d+8>>2]=H[b+8>>2];H[d>>2]=j;H[d+4>>2]=i;a=a+2|0;c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!h){break e}b=N(a,12);a=b+e|0;c=H[a+4>>2];e=H[a>>2];b=b+f|0;H[b+8>>2]=H[a+8>>2];H[b>>2]=e;H[b+4>>2]=c;break e}h=b>>>0<=1?1:b;a=H[c+68>>2];c=0;while(1){d=N(c,12);b=d+e|0;g=H[a+(H[b>>2]<<2)>>2];i=H[a+(H[b+4>>2]<<2)>>2];d=d+f|0;H[d+8>>2]=H[a+(H[b+8>>2]<<2)>>2];H[d+4>>2]=i;H[d>>2]=g;c=c+1|0;if((h|0)!=(c|0)){continue}break}}d=0;E=ca-16|0;ca=E;h=pa(88);$b(h);C=ca-16|0;ca=C;H[h+80>>2]=0;H[h+84>>2]=0;a=H[h+76>>2];H[h+76>>2]=0;if(a){oa(a)}H[h+68>>2]=0;H[h+72>>2]=0;b=h- -64|0;a=H[b>>2];H[b>>2]=0;if(a){oa(a)}g=H[s+4>>2];b=H[s>>2];c=(g-b|0)/12|0;a=N(c,3);f=H[h>>2];e=H[h+4>>2]-f>>2;f:{if(a>>>0>e>>>0){ue(h,a-e|0);g=H[s+4>>2];b=H[s>>2];c=(g-b|0)/12|0;break f}if(a>>>0>=e>>>0){break f}H[h+4>>2]=f+(a<<2)}g:{if((b|0)==(g|0)){break g}e=c>>>0<=1?1:c;g=e&1;a=H[h>>2];if(c>>>0>=2){i=e&-2;c=0;while(1){e=N(d,12);j=e+a|0;f=b+e|0;H[j>>2]=H[f>>2];H[a+(e|4)>>2]=H[f+4>>2];H[j+8>>2]=H[f+8>>2];f=N(d|1,12);e=f+a|0;f=b+f|0;H[e>>2]=H[f>>2];H[e+4>>2]=H[f+4>>2];H[e+8>>2]=H[f+8>>2];d=d+2|0;c=c+2|0;if((i|0)!=(c|0)){continue}break}}if(!g){break g}c=N(d,12);a=c+a|0;b=b+c|0;H[a>>2]=H[b>>2];H[a+4>>2]=H[b+4>>2];H[a+8>>2]=H[b+8>>2]}H[C+12>>2]=-1;a=0;e=0;g=0;f=ca-32|0;ca=f;h:{i:{w=C+12|0;j:{if(!w){break j}c=H[h+4>>2];j=H[h>>2];d=c-j|0;i=d>>2;n=H[h+12>>2];b=H[h+16>>2]-n>>2;k:{if(i>>>0>b>>>0){qb(h+12|0,i-b|0,13652);c=H[h+4>>2];j=H[h>>2];d=c-j|0;i=d>>2;break k}if(b>>>0<=i>>>0){break k}H[h+16>>2]=n+(i<<2)}H[f+24>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;b=(c|0)==(j|0);if(!b){if((d|0)<0){break i}e=pa(d);H[f+20>>2]=e;H[f+16>>2]=e;H[f+24>>2]=(i<<2)+e}l:{m:{n:{o:{p:{if(d){while(1){i=H[(a<<2)+j>>2];b=H[f+20>>2]-e>>2;q:{if(i>>>0>>0){break q}H[f>>2]=0;d=i+1|0;if(d>>>0>b>>>0){Pa(f+16|0,d-b|0,f);j=H[h>>2];c=H[h+4>>2];e=H[f+16>>2];break q}if(b>>>0<=d>>>0){break q}H[f+20>>2]=(d<<2)+e}b=(i<<2)+e|0;H[b>>2]=H[b>>2]+1;a=a+1|0;d=c-j|0;i=d>>2;if(a>>>0>>0){continue}break}break p}d=0;if(!b){break o}break n}if((c|0)==(j|0)){d=0;break n}if(d>>>0>=2147483645){break m}}d=pa(d<<1);ra(d,255,i<<3)}H[f+8>>2]=0;H[f>>2]=0;H[f+4>>2]=0;b=H[f+20>>2];a=b-e|0;t=a>>2;r:{s:{if((b|0)==(e|0)){break s}if((a|0)<0){break r}q=pa(a);H[f>>2]=q;H[f+8>>2]=(t<<2)+q;b=ra(q,0,a);H[f+4>>2]=b+a;c=t>>>0<=1?1:t;n=c&3;a=0;if(c-1>>>0>=3){o=c&-4;while(1){c=g<<2;H[c+b>>2]=a;x=c|4;a=H[c+e>>2]+a|0;H[x+b>>2]=a;y=c|8;a=a+H[e+x>>2]|0;H[y+b>>2]=a;c=c|12;a=a+H[e+y>>2]|0;H[c+b>>2]=a;a=a+H[c+e>>2]|0;g=g+4|0;p=p+4|0;if((o|0)!=(p|0)){continue}break}}if(!n){break s}while(1){c=g<<2;H[c+b>>2]=a;g=g+1|0;a=H[c+e>>2]+a|0;k=k+1|0;if((n|0)!=(k|0)){continue}break}}if(!i){break l}x=H[h+40>>2];y=H[h+12>>2];n=0;while(1){G=n<<2;a=G+j|0;k=-1;c=n+1|0;b=(c>>>0)%3|0?c:n-2|0;if((b|0)!=-1){k=H[(b<<2)+j>>2]}b=H[a>>2];t:{u:{if(!((n>>>0)%3|0)){p=-1;a=n+2|0;if((a|0)!=-1){p=H[(a<<2)+j>>2]}if(!((b|0)==(k|0)|(b|0)==(p|0))&(k|0)!=(p|0)){break u}x=x+1|0;H[h+40>>2]=x;c=n+3|0;break t}p=H[a-4>>2]}a=p<<2;A=H[a+e>>2];v:{w:{if((A|0)<=0){break w}a=H[a+q>>2];g=0;while(1){o=(a<<3)+d|0;z=H[o>>2];if((z|0)==-1){break w}x:{if((k|0)!=(z|0)){break x}o=H[o+4>>2];if((o|0)!=-1){z=H[(o<<2)+j>>2]}else{z=-1}if((z|0)==(b|0)){break x}while(1){y:{b=a;g=g+1|0;if((A|0)<=(g|0)){break y}a=b+1|0;J=(a<<3)+d|0;z=H[J>>2];K=(b<<3)+d|0;H[K+4>>2]=H[J+4>>2];H[K>>2]=z;if((z|0)!=-1){continue}}break}H[(b<<3)+d>>2]=-1;if((o|0)==-1){break w}H[y+G>>2]=o;H[y+(o<<2)>>2]=n;break v}a=a+1|0;g=g+1|0;if((A|0)!=(g|0)){continue}break}}a=k<<2;k=H[a+e>>2];if((k|0)<=0){break v}a=H[a+q>>2];g=0;while(1){b=(a<<3)+d|0;if(H[b>>2]==-1){H[b>>2]=p;H[b+4>>2]=n;break v}a=a+1|0;g=g+1|0;if((k|0)!=(g|0)){continue}break}}}n=c;if(n>>>0>>0){continue}break}break l}break i}sa();v()}H[w>>2]=t;if(q){oa(q)}if(d){oa(d)}a=H[f+16>>2];if(!a){break j}H[f+20>>2]=a;oa(a)}ca=f+32|0;x=(w|0)!=0;if(x){k=ca-32|0;ca=k;a=H[h>>2];g=H[h+4>>2];H[k+24>>2]=0;H[k+16>>2]=0;H[k+20>>2]=0;if((a|0)==(g|0)){c=g}else{a=g-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=pa(b<<2);H[k+24>>2]=b;H[k+20>>2]=0;H[k+16>>2]=c;Mc(k+16|0,a);g=H[h>>2];c=H[h+4>>2]}H[k+8>>2]=0;H[k>>2]=0;while(1){z:{o=0;i=0;if((c|0)==(g|0)){break z}while(1){b=H[k+16>>2];A:{if(H[b+(i>>>3&536870908)>>2]>>>i&1){break A}c=H[k>>2];H[k+4>>2]=c;e=H[h+12>>2];a=i;while(1){B:{f=a+1|0;d=a;a=(f>>>0)%3|0?f:a-2|0;if((a|0)==-1){break B}a=H[e+(a<<2)>>2];if((a|0)==-1){break B}f=a+1|0;a=(f>>>0)%3|0?f:a-2|0;if((i|0)==(a|0)|(a|0)==-1){break B}if(!(H[b+(a>>>3&536870908)>>2]>>>a&1)){continue}}break}j=d;C:{D:{E:{while(1){a=H[k+16>>2]+(j>>>3&536870908)|0;H[a>>2]=H[a>>2]|1<>>0)%3|0?a:j-2|0;g=H[h>>2];y=(j>>>0)%3|0;b=(y?-1:2)+j|0;n=H[k>>2];A=(n|0)==(c|0);F:{if(A){break F}w=H[(f<<2)+g>>2];q=H[h+12>>2];a=n;if((b|0)!=-1){e=q+(b<<2)|0;while(1){G:{if((w|0)!=H[a>>2]){break G}p=H[a+4>>2];t=H[e>>2];if((p|0)==(t|0)){break G}e=b;c=-1;a=-1;if((p|0)==-1){break C}break D}a=a+8|0;if((c|0)!=(a|0)){continue}break}break F}while(1){if((w|0)==H[a>>2]){t=-1;e=-1;p=H[a+4>>2];if((p|0)!=-1){break D}}a=a+8|0;if((c|0)!=(a|0)){continue}break}}b=H[(b<<2)+g>>2];H:{if(H[k+8>>2]!=(c|0)){H[c>>2]=b;H[c+4>>2]=f;c=c+8|0;H[k+4>>2]=c;break H}a=c-n|0;p=a>>3;e=p+1|0;if(e>>>0>=536870912){break i}g=a>>>2|0;g=a>>>0>=2147483640?536870911:e>>>0>>0?g:e;if(g){if(g>>>0>=536870912){break E}e=pa(g<<3)}else{e=0}a=e+(p<<3)|0;H[a>>2]=b;H[a+4>>2]=f;b=a+8|0;if(!A){while(1){c=c-8|0;f=H[c+4>>2];a=a-8|0;H[a>>2]=H[c>>2];H[a+4>>2]=f;if((c|0)!=(n|0)){continue}break}c=H[k>>2]}H[k+8>>2]=e+(g<<3);H[k+4>>2]=b;H[k>>2]=a;if(c){oa(c)}c=b}I:{J:{if(y){a=j-1|0;break J}a=j+2|0;if((a|0)==-1){break I}}a=H[H[h+12>>2]+(a<<2)>>2];if((a|0)==-1){break I}j=a+((a>>>0)%3|0?-1:2)|0;if((d|0)==(j|0)){break I}if((j|0)!=-1){continue}}break}g=H[h>>2];break A}wa();v()}c=H[q+(p<<2)>>2];b=e;a=p}if((t|0)!=-1){H[q+(t<<2)>>2]=-1}if((c|0)!=-1){H[q+(c<<2)>>2]=-1}H[q+(b<<2)>>2]=-1;H[q+(a<<2)>>2]=-1;o=1}i=i+1|0;c=H[h+4>>2];if(i>>>0>2>>>0){continue}break}if(o){continue}}break}a=H[k>>2];if(a){oa(a)}a=H[k+16>>2];if(a){oa(a)}ca=k+32|0;n=0;g=ca-32|0;ca=g;e=H[C+12>>2];H[h+36>>2]=e;p=h+24|0;b=H[h+24>>2];a=H[h+28>>2]-b>>2;K:{L:{if(a>>>0>>0){qb(p,e-a|0,13652);H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;break L}if(a>>>0>e>>>0){H[h+28>>2]=b+(e<<2)}H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;if(!e){break K}}if((e|0)<0){break i}a=(e-1>>>5|0)+1|0;b=pa(a<<2);H[g+24>>2]=a;H[g+20>>2]=0;H[g+16>>2]=b;Mc(g+16|0,e)}a=H[h>>2];b=H[h+4>>2];H[g+8>>2]=0;H[g>>2]=0;H[g+4>>2]=0;M:{if((a|0)==(b|0)){a=b}else{a=b-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=pa(b<<2);H[g+8>>2]=b;H[g+4>>2]=0;H[g>>2]=c;Mc(g,a);b=H[h>>2];a=H[h+4>>2]}if(a-b>>>0<12){break M}N:{while(1){q=N(n,3);d=(q<<2)+b|0;f=H[d>>2];c=-1;i=q+1|0;if((i|0)!=-1){c=H[(i<<2)+b>>2]}O:{if((c|0)==(f|0)){break O}i=f;f=H[d+8>>2];if((i|0)==(f|0)|(c|0)==(f|0)){break O}k=0;i=H[g>>2];while(1){f=k+q|0;if(!(H[(f>>>3&536870908)+i>>2]>>>f&1)){a=H[(f<<2)+b>>2];c=1<>2];b=a>>>5|0;i=H[d+(b<<2)>>2];t=c&i;if(t){c=H[h+28>>2];P:{if((c|0)!=H[h+32>>2]){H[c>>2]=-1;H[h+28>>2]=c+4;break P}i=H[p>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=pa(j<<2)}else{b=0}d=b+(o<<2)|0;H[d>>2]=-1;o=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;H[d>>2]=H[c>>2];if((c|0)!=(i|0)){continue}break}}H[h+32>>2]=b+(j<<2);H[h+28>>2]=o;H[h+24>>2]=d;if(!i){break P}oa(i)}c=H[h+52>>2];Q:{if((c|0)!=H[h+56>>2]){H[c>>2]=a;H[h+52>>2]=c+4;break Q}i=H[h+48>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=pa(j<<2)}else{b=0}d=b+(o<<2)|0;H[d>>2]=a;a=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;H[d>>2]=H[c>>2];if((c|0)!=(i|0)){continue}break}}H[h+56>>2]=b+(j<<2);H[h+52>>2]=a;H[h+48>>2]=d;if(!i){break Q}oa(i)}c=H[g+20>>2];a=H[g+24>>2];if((c|0)==a<<5){if((c+1|0)<0){break i}b=g+16|0;if(c>>>0<=1073741822){a=a<<6;c=(c&-32)+32|0;a=a>>>0>c>>>0?a:c}else{a=2147483647}pb(b,a);c=H[g+20>>2]}H[g+20>>2]=c+1;d=H[g+16>>2];a=d+(c>>>3&536870908)|0;b=H[a>>2];M=a,O=Vj(c)&b,H[M>>2]=O;c=1<>>5|0;i=H[(b<<2)+d>>2];a=e;e=a+1|0}H[(b<<2)+d>>2]=c|i;o=H[h+24>>2]+(a<<2)|0;j=H[h+12>>2];b=H[h>>2];i=H[g>>2];c=f;R:{S:{T:{while(1){if((c|0)==-1){break T}d=(c>>>3&536870908)+i|0;H[d>>2]=H[d>>2]|1<>2]=c;if(t){H[(c<<2)+b>>2]=a}w=c+1|0;c=(w>>>0)%3|0?w:c-2|0;d=-1;U:{if((c|0)==-1){break U}c=H[j+(c<<2)>>2];d=-1;if((c|0)==-1){break U}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0}c=d;if((f|0)!=(c|0)){continue}break}if((f|0)!=-1){break R}c=1;break S}if((f>>>0)%3|0){c=f-1|0;break S}c=f+2|0;if((c|0)==-1){break R}}c=H[j+(c<<2)>>2];if((c|0)==-1){break R}V:{if((c>>>0)%3|0){c=c-1|0;break V}c=c+2|0;if((c|0)==-1){break R}}f=H[h+12>>2];b=H[h>>2];while(1){d=(c>>>3&536870908)+i|0;H[d>>2]=H[d>>2]|1<>2]=a}W:{if((c>>>0)%3|0){c=c-1|0;break W}c=c+2|0;if((c|0)==-1){break R}}c=H[f+(c<<2)>>2];if((c|0)==-1){break R}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)!=-1){continue}break}}}k=k+1|0;if((k|0)!=3){continue}break}b=H[h>>2];a=H[h+4>>2]}n=n+1|0;if(n>>>0<(a-b>>2>>>0)/3>>>0){continue}break}break M}wa();v()}c=0;H[h+44>>2]=0;a=H[g+16>>2];b=H[g+20>>2];if(b){e=b&31;b=(b>>>3&536870908)+a|0;d=a;i=0;while(1){if(!(H[d>>2]>>>c&1)){i=i+1|0;H[h+44>>2]=i}f=(c|0)==31;c=f?0:c+1|0;d=(f<<2)+d|0;if((b|0)!=(d|0)|(c|0)!=(e|0)){continue}break}}b=H[g>>2];if(b){oa(b);a=H[g+16>>2]}if(a){oa(a)}ca=g+32|0}ca=C+16|0;if(!x){H[E+8>>2]=0;cb(h);h=0}ca=E+16|0;a=h;break h}sa();v()}b=H[s>>2];if(!b){break d}H[s+4>>2]=b;oa(b)}ca=s+16|0;break b}sa();v()}c=H[l+4>>2];b=a;H[l+4>>2]=a;if(c){cb(c);b=H[l+4>>2]}X:{if(!b){break X}a=H[u+100>>2];c=H[u+96>>2];F[r+12|0]=0;Oa(l+56|0,(a-c|0)/12|0,r+12|0);a=H[u+100>>2];c=H[u+96>>2];if((a|0)==(c|0)){break X}while(1){if(!(H[H[l+56>>2]+(D>>>3&536870908)>>2]>>>D&1)){a=N(D,3);Gc(l,0,a);c=H[l+8>>2];e=H[l+12>>2];Gc(l,1,a+1|0);f=H[l+20>>2];d=H[l+24>>2];Gc(l,2,a+2|0);n=(c|0)==(e|0)?-1:0;a=d-f>>2;c=e-c>>2;e=a>>>0>c>>>0;c=H[l+36>>2]-H[l+32>>2]>>2>>>0>(e?a:c)>>>0?2:e?1:n;Y:{if(H[l+68>>2]<=0){break Y}H[r+12>>2]=H[l+76>>2];H[r+8>>2]=m;bb(r+8|0,r+12|0);a=H[((c<<2)+l|0)+44>>2];if((a|0)<0){a=-1}else{e=(a>>>0)/3|0;a=H[(H[H[l>>2]+96>>2]+N(e,12)|0)+(a-N(e,3)<<2)>>2]}H[r+12>>2]=a;H[r+8>>2]=m;bb(r+8|0,r+12|0);e=H[l+72>>2];H[l+72>>2]=e+2;if(!(e&1)){break Y}H[r+12>>2]=a;H[r+8>>2]=m;bb(r+8|0,r+12|0);H[l+72>>2]=H[l+72>>2]+1}d=0;e=ca-16|0;ca=e;H[l+68>>2]=H[l+68>>2]+1;a=N(c,12)+l|0;a=H[a+12>>2]-H[a+8>>2]|0;if((a|0)>0){a=a>>>2|0;h=a>>>0<=1?1:a;c=H[((c<<2)+l|0)+44>>2];while(1){a=c;f=(a>>>0)/3|0;c=(a|0)==-1;g=c?-1:f;i=H[l+56>>2]+(g>>>3&536870908)|0;H[i>>2]=H[i>>2]|1<>2]=H[l+72>>2]+1;Z:{_:{$:{aa:{ba:{if(!d){ca:{if((a|0)>=0){H[e+12>>2]=H[(H[H[l>>2]+96>>2]+N(f,12)|0)+((a>>>0)%3<<2)>>2];H[e+8>>2]=m;bb(e+8|0,e+12|0);break ca}H[e+12>>2]=-1;H[e+8>>2]=m;bb(e+8|0,e+12|0);if(c){break ba}}c=-1;f=a+1|0;f=(f>>>0)%3|0?f:a-2|0;if((f|0)>=0){g=(f>>>0)/3|0;f=H[(H[H[l>>2]+96>>2]+N(g,12)|0)+(f-N(g,3)<<2)>>2]}else{f=-1}H[e+12>>2]=f;H[e+8>>2]=m;bb(e+8|0,e+12|0);f=((a>>>0)%3|0?-1:2)+a|0;if((f|0)<0){break aa}c=(f>>>0)/3|0;c=H[(H[H[l>>2]+96>>2]+N(c,12)|0)+(f-N(c,3)<<2)>>2];break aa}c=(a|0)<0?-1:H[(H[H[l>>2]+96>>2]+N(f,12)|0)+((a>>>0)%3<<2)>>2];H[l+76>>2]=c;H[e+12>>2]=c;H[e+8>>2]=m;bb(e+8|0,e+12|0);if(d&1){c=-1;if((a|0)==-1){break Z}if((N(f,3)|0)!=(a|0)){a=a-1|0;break _}a=a+2|0;break $}c=-1;if((a|0)==-1){break Z}c=a+1|0;a=(c>>>0)%3|0?c:a-2|0;break $}c=-1;H[e+12>>2]=-1;H[e+8>>2]=m;bb(e+8|0,e+12|0)}H[l+76>>2]=c;H[e+12>>2]=c;H[e+8>>2]=m;bb(e+8|0,e+12|0)}c=-1;if((a|0)==-1){break Z}}c=H[H[H[l+4>>2]+12>>2]+(a<<2)>>2]}d=d+1|0;if((h|0)!=(d|0)){continue}break}}ca=e+16|0;c=H[u+96>>2];a=H[u+100>>2]}D=D+1|0;if(D>>>0<(a-c|0)/12>>>0){continue}break}}ca=r+16|0;da:{if(b){a=H[B>>2];if(a){H[B+4>>2]=a;oa(a)}H[B>>2]=H[m>>2];H[B+4>>2]=H[m+4>>2];H[B+8>>2]=H[m+8>>2];L=H[m+84>>2];break da}a=H[m>>2];if(!a){break da}H[m+4>>2]=a;oa(a)}a=H[m+72>>2];if(a){oa(a)}a=H[m+48>>2];if(a){H[m+52>>2]=a;oa(a)}a=H[m+36>>2];if(a){H[m+40>>2]=a;oa(a)}a=H[m+24>>2];if(a){H[m+28>>2]=a;oa(a)}a=H[m+20>>2];H[m+20>>2]=0;if(a){cb(a)}ca=m+96|0;return L|0}function qg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=b;a=0;b=0;a:{b:{switch(d-1|0){case 0:j=H[i+80>>2];h=I[c+24|0];c:{if((N(j,h)|0)!=(e|0)){break c}d=H[c+28>>2]!=1;b=I[c+84|0];if(!(d|!b)){qa(f,H[H[c>>2]>>2]+H[c+48>>2]|0,e);b=1;break c}if(h){a=pa(h);ra(a,0,h)}d:{if(!j){b=1;break d}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=H[H[c>>2]>>2];m=H[c+48>>2];g=H[c+40>>2];b=Rj(g,H[c+44>>2],I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;qa(i,qa(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break d}if(b){b=1;h=H[c>>2];e=H[c+48>>2];f=H[c+40>>2];i=H[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=H[h>>2];m=Rj(f,i,c,0)+e|0;k=qa(a,k+m|0,f);m=H[h>>2];n=Rj(f,i,c|1,0)+e|0;qa(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break d}c=H[h>>2];d=Rj(g,0,f,i)+e|0;qa(a,c+d|0,f);break d}b=1;h=H[c>>2];e=H[c+48>>2];g=H[c+68>>2];f=H[c+40>>2];i=H[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=H[h>>2];n=c<<2;l=Rj(f,i,H[n+g>>2],0)+e|0;m=qa(a,m+l|0,f);l=H[h>>2];n=Rj(f,i,H[g+(n|4)>>2],0)+e|0;qa(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break d}d=H[h>>2];c=Rj(f,i,H[g+(c<<2)>>2],0)+e|0;qa(a,c+d|0,f);break d}b=0;if(!h){d=0;while(1){if(!ic(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],a)){break d}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break d}d=0;e=0;while(1){if(!ic(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],a)){break d}qa(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break c}oa(a)}break a;case 2:n=I[c+24|0];l=n<<1;j=H[i+80>>2];e:{if((N(l,j)|0)!=(e|0)){break e}i=H[c+28>>2]!=3;d=I[c+84|0];if(!(i|!d)){qa(f,H[H[c>>2]>>2]+H[c+48>>2]|0,e);a=1;break e}f:{if(!n){e=0;break f}e=pa(l);ra(e,0,l)}g:{if(!j){a=1;break g}if(!i){o=H[c+68>>2];k=H[c>>2];b=H[c+48>>2];i=H[c+40>>2];m=H[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=H[k>>2];p=Rj(i,m,H[o+(d<<2)>>2],0)+b|0;qa((c<<1)+f|0,qa(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break g}c=0;while(1){a=1;o=H[k>>2];p=Rj(g,h,i,m)+b|0;qa((c<<1)+f|0,qa(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break g}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=H[k>>2];g=c<<2;n=Rj(i,m,H[g+o>>2],0)+b|0;h=qa(e,h+n|0,i);n=H[k>>2];g=Rj(i,m,H[o+(g|4)>>2],0)+b|0;qa(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break g}d=H[k>>2];b=Rj(i,m,H[o+(c<<2)>>2],0)+b|0;qa(e,b+d|0,i);break g}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=H[k>>2];l=Rj(g,h,i,m)+b|0;d=qa(e,d+l|0,i);l=H[k>>2];o=Rj(i,m,g|1,h)+b|0;qa(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break g}c=H[k>>2];b=Rj(g,h,i,m)+b|0;qa(e,b+c|0,i);break g}if(!n){d=0;while(1){if(!gc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break g}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break g}d=0;while(1){if(!gc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break g}qa((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break e}oa(e)}b=a;break a;case 4:l=I[c+24|0];o=l<<2;j=H[i+80>>2];h:{if((N(o,j)|0)!=(e|0)){break h}i=H[c+28>>2]!=5;d=I[c+84|0];if(!(i|!d)){qa(f,H[H[c>>2]>>2]+H[c+48>>2]|0,e);b=1;break h}i:{if(!l){e=0;break i}e=pa(o);ra(e,0,o)}b=1;j:{if(!j){break j}if(!i){a=H[c+68>>2];m=H[c>>2];i=H[c+48>>2];k=H[c+40>>2];n=H[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=H[m>>2];p=Rj(k,n,H[a+(d<<2)>>2],0)+i|0;qa((c<<2)+f|0,qa(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break j}c=0;while(1){d=H[m>>2];p=Rj(g,h,k,n)+i|0;qa((c<<2)+f|0,qa(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break j}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=H[m>>2];g=c<<2;l=Rj(k,n,H[g+a>>2],0)+i|0;h=qa(e,h+l|0,k);l=H[m>>2];g=Rj(k,n,H[a+(g|4)>>2],0)+i|0;qa(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break j}d=H[m>>2];a=Rj(k,n,H[a+(c<<2)>>2],0)+i|0;qa(e,a+d|0,k);break j}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=H[m>>2];d=Rj(g,h,k,n)+i|0;a=qa(e,a+d|0,k);d=H[m>>2];o=Rj(k,n,g|1,h)+i|0;qa(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break j}a=H[m>>2];c=Rj(g,h,k,n)+i|0;qa(e,a+c|0,k);break j}b=0;if(!l){d=0;while(1){if(!ec(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break j}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break j}d=0;while(1){if(!ec(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break j}qa((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break h}oa(e)}break a;case 1:j=H[i+80>>2];h=I[c+24|0];k:{if((N(j,h)|0)!=(e|0)){break k}d=H[c+28>>2]!=2;b=I[c+84|0];if(!(d|!b)){qa(f,H[H[c>>2]>>2]+H[c+48>>2]|0,e);b=1;break k}if(h){a=pa(h);ra(a,0,h)}l:{if(!j){b=1;break l}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=H[H[c>>2]>>2];m=H[c+48>>2];g=H[c+40>>2];b=Rj(g,H[c+44>>2],I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;qa(i,qa(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break l}if(b){b=1;h=H[c>>2];e=H[c+48>>2];f=H[c+40>>2];i=H[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=H[h>>2];m=Rj(f,i,c,0)+e|0;k=qa(a,k+m|0,f);m=H[h>>2];n=Rj(f,i,c|1,0)+e|0;qa(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break l}c=H[h>>2];d=Rj(g,0,f,i)+e|0;qa(a,c+d|0,f);break l}b=1;h=H[c>>2];e=H[c+48>>2];g=H[c+68>>2];f=H[c+40>>2];i=H[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=H[h>>2];n=c<<2;l=Rj(f,i,H[n+g>>2],0)+e|0;m=qa(a,m+l|0,f);l=H[h>>2];n=Rj(f,i,H[g+(n|4)>>2],0)+e|0;qa(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break l}d=H[h>>2];c=Rj(f,i,H[g+(c<<2)>>2],0)+e|0;qa(a,c+d|0,f);break l}b=0;if(!h){d=0;while(1){if(!hc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],a)){break l}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break l}d=0;e=0;while(1){if(!hc(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],a)){break l}qa(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break k}oa(a)}break a;case 3:n=I[c+24|0];l=n<<1;j=H[i+80>>2];m:{if((N(l,j)|0)!=(e|0)){break m}i=H[c+28>>2]!=4;d=I[c+84|0];if(!(i|!d)){qa(f,H[H[c>>2]>>2]+H[c+48>>2]|0,e);a=1;break m}n:{if(!n){e=0;break n}e=pa(l);ra(e,0,l)}o:{if(!j){a=1;break o}if(!i){o=H[c+68>>2];k=H[c>>2];b=H[c+48>>2];i=H[c+40>>2];m=H[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=H[k>>2];p=Rj(i,m,H[o+(d<<2)>>2],0)+b|0;qa((c<<1)+f|0,qa(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break o}c=0;while(1){a=1;o=H[k>>2];p=Rj(g,h,i,m)+b|0;qa((c<<1)+f|0,qa(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break o}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=H[k>>2];g=c<<2;n=Rj(i,m,H[g+o>>2],0)+b|0;h=qa(e,h+n|0,i);n=H[k>>2];g=Rj(i,m,H[o+(g|4)>>2],0)+b|0;qa(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break o}d=H[k>>2];b=Rj(i,m,H[o+(c<<2)>>2],0)+b|0;qa(e,b+d|0,i);break o}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=H[k>>2];l=Rj(g,h,i,m)+b|0;d=qa(e,d+l|0,i);l=H[k>>2];o=Rj(i,m,g|1,h)+b|0;qa(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break o}c=H[k>>2];b=Rj(g,h,i,m)+b|0;qa(e,b+c|0,i);break o}if(!n){d=0;while(1){if(!fc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break o}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break o}d=0;while(1){if(!fc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break o}qa((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break m}oa(e)}b=a;break a;case 5:l=I[c+24|0];o=l<<2;j=H[i+80>>2];p:{if((N(o,j)|0)!=(e|0)){break p}i=H[c+28>>2]!=6;d=I[c+84|0];if(!(i|!d)){qa(f,H[H[c>>2]>>2]+H[c+48>>2]|0,e);b=1;break p}q:{if(!l){e=0;break q}e=pa(o);ra(e,0,o)}b=1;r:{if(!j){break r}if(!i){a=H[c+68>>2];m=H[c>>2];i=H[c+48>>2];k=H[c+40>>2];n=H[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=H[m>>2];p=Rj(k,n,H[a+(d<<2)>>2],0)+i|0;qa((c<<2)+f|0,qa(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break r}c=0;while(1){d=H[m>>2];p=Rj(g,h,k,n)+i|0;qa((c<<2)+f|0,qa(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break r}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=H[m>>2];g=c<<2;l=Rj(k,n,H[g+a>>2],0)+i|0;h=qa(e,h+l|0,k);l=H[m>>2];g=Rj(k,n,H[a+(g|4)>>2],0)+i|0;qa(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break r}d=H[m>>2];a=Rj(k,n,H[a+(c<<2)>>2],0)+i|0;qa(e,a+d|0,k);break r}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=H[m>>2];d=Rj(g,h,k,n)+i|0;a=qa(e,a+d|0,k);d=H[m>>2];o=Rj(k,n,g|1,h)+i|0;qa(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break r}a=H[m>>2];c=Rj(g,h,k,n)+i|0;qa(e,a+c|0,k);break r}b=0;if(!l){d=0;while(1){if(!dc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break r}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break r}d=0;while(1){if(!dc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break r}qa((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break p}oa(e)}break a;case 8:p=I[c+24|0];q=p<<2;k=H[i+80>>2];s:{if((N(q,k)|0)!=(e|0)){break s}i=H[c+28>>2];t:{if(!p){break t}a=pa(q);d=a;m=q-4|0;l=(m>>>2|0)+1&7;if(l){e=0;while(1){H[d>>2]=-1073741824;d=d+4|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(m>>>0<28){break t}e=(p<<2)+a|0;while(1){H[d+24>>2]=-1073741824;H[d+28>>2]=-1073741824;H[d+16>>2]=-1073741824;H[d+20>>2]=-1073741824;H[d+8>>2]=-1073741824;H[d+12>>2]=-1073741824;H[d>>2]=-1073741824;H[d+4>>2]=-1073741824;d=d+32|0;if((e|0)!=(d|0)){continue}break}}u:{if(!k){b=1;break u}if((i|0)==9){r=H[c+68>>2];l=H[c>>2];i=H[c+48>>2];s=I[c+84|0];m=H[c+44>>2];c=H[c+40>>2];o=c;if(p){e=0;d=0;while(1){h=(e<<2)+f|0;g=H[l>>2];b=Rj(c,m,s?d:H[r+(d<<2)>>2],0)+i|0;qa(h,qa(a,b+g|0,o),q);e=e+p|0;b=1;d=d+1|0;if((k|0)!=(d|0)){continue}break}break u}if(!s){b=1;d=0;if((k|0)!=1){f=k&-2;e=0;while(1){h=H[l>>2];g=d<<2;j=Rj(c,m,H[g+r>>2],0)+i|0;h=qa(a,h+j|0,o);j=H[l>>2];g=Rj(c,m,H[r+(g|4)>>2],0)+i|0;qa(h,j+g|0,o);d=d+2|0;e=e+2|0;if((f|0)!=(e|0)){continue}break}}if(!(k&1)){break u}e=H[l>>2];c=Rj(c,m,H[r+(d<<2)>>2],0)+i|0;qa(a,c+e|0,o);break u}f=k&1;b=1;if((k|0)!=1){k=k&-2;while(1){d=H[l>>2];e=Rj(g,h,c,m)+i|0;d=qa(a,d+e|0,o);e=H[l>>2];p=Rj(c,m,g|1,h)+i|0;qa(d,e+p|0,o);g=g+2|0;h=g>>>0<2?h+1|0:h;d=j;e=n+2|0;d=e>>>0<2?d+1|0:d;n=e;j=d;if((e|0)!=(k|0)|d){continue}break}}if(!f){break u}d=H[l>>2];c=Rj(g,h,c,m)+i|0;qa(a,c+d|0,o);break u}if(!p){d=0;while(1){if(!Va(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],a)){break u}d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}break u}e=0;d=0;while(1){if(!Va(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],a)){break u}qa((e<<2)+f|0,a,q);e=e+p|0;d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}}if(!a){break s}oa(a)}a=b;break;default:break b}}b=a}return b|0}function ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=ca-48|0;ca=i;a:{b:{if((c|0)!=1){break b}c=H[a+4>>2];g=H[a+12>>2];H[i+40>>2]=0;a=i;H[a+32>>2]=0;H[a+36>>2]=0;H[a+24>>2]=0;H[a+28>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0;e=a+8|0;c:{if((b|0)==-2){break c}l=H[H[H[c+4>>2]+8>>2]+(g<<2)>>2];if((ea[H[H[c>>2]+8>>2]](c)|0)==1){a=J[c+36>>1];j=(a<<8|a>>>8)&65535;a=0;h=ca-32|0;ca=h;d=H[H[H[c+4>>2]+8>>2]+(g<<2)>>2];d:{if((ea[H[H[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break d}k=ea[H[H[c>>2]+36>>2]](c)|0;f=ea[H[H[c>>2]+44>>2]](c,g)|0;if(!k|!f){break d}a=ea[H[H[c>>2]+40>>2]](c,g)|0;if(a){c=H[c+44>>2];H[h+12>>2]=a;H[h+8>>2]=c;H[h+20>>2]=f;H[h+16>>2]=f+12;c=h+8|0;a=0;e:{f:{switch(b-1|0){case 0:a=pa(60);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a>>2]=2564;break e;case 1:a=pa(60);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a>>2]=3328;break e;case 3:a=pa(112);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a+60>>2]=0;H[a+64>>2]=0;H[a>>2]=3564;H[a+68>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+88>>2]=0;H[a+92>>2]=0;H[a+96>>2]=0;H[a+100>>2]=0;H[a+104>>2]=0;H[a+108>>2]=0;break e;case 2:a=pa(92);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a+60>>2]=0;H[a+64>>2]=0;H[a>>2]=3812;H[a+68>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+88>>2]=j;break e;case 4:a=pa(104);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a+84>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+60>>2]=0;H[a+64>>2]=0;H[a>>2]=4040;b=H[c+4>>2];H[a+88>>2]=H[c>>2];H[a+92>>2]=b;b=H[c+12>>2];H[a+96>>2]=H[c+8>>2];H[a+100>>2]=b;break e;case 5:break f;default:break e}}a=pa(128);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;g:{b=H[e+28>>2];d=H[e+24>>2];if((b|0)!=(d|0)){d=b-d|0;if((d|0)<0){break a}b=pa(d);H[a+36>>2]=b;H[a+32>>2]=b;H[a+40>>2]=(d&-4)+b;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}H[a+36>>2]=b}H[a>>2]=3216;b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;b=a- -64|0;H[b>>2]=0;H[b+4>>2]=0;H[a+60>>2]=4904;H[a>>2]=4276;b=H[c+4>>2];H[a+72>>2]=H[c>>2];H[a+76>>2]=b;b=H[c+12>>2];H[a+80>>2]=H[c+8>>2];H[a+84>>2]=b;H[a+104>>2]=1065353216;H[a+108>>2]=-1;H[a+96>>2]=-1;H[a+100>>2]=-1;H[a+88>>2]=1;H[a+92>>2]=-1;H[a+60>>2]=4512;H[a+112>>2]=0;H[a+116>>2]=0;F[a+117|0]=0;F[a+118|0]=0;F[a+119|0]=0;F[a+120|0]=0;F[a+121|0]=0;F[a+122|0]=0;F[a+123|0]=0;F[a+124|0]=0;break g}}break d}a=H[c+44>>2];H[h+12>>2]=k;H[h+8>>2]=a;H[h+20>>2]=f;H[h+16>>2]=f+12;c=h+8|0;a=0;h:{i:{switch(b-1|0){case 0:a=pa(60);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a>>2]=4932;break h;case 1:a=pa(60);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a>>2]=5356;break h;case 3:a=pa(112);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a+60>>2]=0;H[a+64>>2]=0;H[a>>2]=5580;H[a+68>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+88>>2]=0;H[a+92>>2]=0;H[a+96>>2]=0;H[a+100>>2]=0;H[a+104>>2]=0;H[a+108>>2]=0;break h;case 2:a=pa(92);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a+60>>2]=0;H[a+64>>2]=0;H[a>>2]=5816;H[a+68>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+88>>2]=j;break h;case 4:a=pa(104);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a+84>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+60>>2]=0;H[a+64>>2]=0;H[a>>2]=6032;b=H[c+4>>2];H[a+88>>2]=H[c>>2];H[a+92>>2]=b;b=H[c+12>>2];H[a+96>>2]=H[c+8>>2];H[a+100>>2]=b;break h;case 5:break i;default:break h}}a=pa(128);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;j:{b=H[e+28>>2];d=H[e+24>>2];if((b|0)!=(d|0)){d=b-d|0;if((d|0)<0){break a}b=pa(d);H[a+36>>2]=b;H[a+32>>2]=b;H[a+40>>2]=(d&-4)+b;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}H[a+36>>2]=b}H[a>>2]=5300;b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;b=a- -64|0;H[b>>2]=0;H[b+4>>2]=0;H[a+60>>2]=6840;H[a>>2]=6256;b=H[c+4>>2];H[a+72>>2]=H[c>>2];H[a+76>>2]=b;b=H[c+12>>2];H[a+80>>2]=H[c+8>>2];H[a+84>>2]=b;H[a+104>>2]=1065353216;H[a+108>>2]=-1;H[a+96>>2]=-1;H[a+100>>2]=-1;H[a+88>>2]=1;H[a+92>>2]=-1;H[a+60>>2]=6476;H[a+112>>2]=0;H[a+116>>2]=0;F[a+117|0]=0;F[a+118|0]=0;F[a+119|0]=0;F[a+120|0]=0;F[a+121|0]=0;F[a+122|0]=0;F[a+123|0]=0;F[a+124|0]=0;break j}}}ca=h+32|0;d=a;if(a){break c}}d=pa(44);H[d+4>>2]=l;H[d>>2]=3272;a=H[e+4>>2];H[d+8>>2]=H[e>>2];H[d+12>>2]=a;a=H[e+12>>2];H[d+16>>2]=H[e+8>>2];H[d+20>>2]=a;a=H[e+20>>2];H[d+24>>2]=H[e+16>>2];H[d+28>>2]=a;H[d+40>>2]=0;H[d+32>>2]=0;H[d+36>>2]=0;c=H[e+24>>2];a=H[e+28>>2];if((c|0)!=(a|0)){b=a-c|0;if((b|0)<0){break a}e=pa(b);H[d+32>>2]=e;H[d+40>>2]=(b&-4)+e;while(1){H[e>>2]=H[c>>2];e=e+4|0;c=c+4|0;if((a|0)!=(c|0)){continue}break}H[d+36>>2]=e}H[d>>2]=6868;break c}e=d;a=H[i+32>>2];if(!a){break b}H[i+36>>2]=a;oa(a)}ca=i+48|0;return e|0}sa();v()}function Ec(a){a=a|0;var 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;l=ca-16|0;ca=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(a>>>0<=244){g=H[4298];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+17232|0;d=H[a+17240>>2];a=H[d+8>>2];j:{if((b|0)==(a|0)){m=17192,n=Vj(c)&g,H[m>>2]=n;break j}H[a+12>>2]=b;H[b+8>>2]=a}a=d+8|0;b=c<<3;H[d+4>>2]=b|3;b=b+d|0;H[b+4>>2]=H[b+4>>2]|1;break a}k=H[4300];if(k>>>0>=h>>>0){break i}if(b){a=2<>2];a=H[e+8>>2];k:{if((b|0)==(a|0)){g=Vj(d)&g;H[4298]=g;break k}H[a+12>>2]=b;H[b+8>>2]=a}H[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;H[c+4>>2]=d|1;H[a+e>>2]=d;if(k){b=(k&-8)+17232|0;f=H[4303];a=1<<(k>>>3);l:{if(!(a&g)){H[4298]=a|g;a=b;break l}a=H[b+8>>2]}H[b+8>>2]=f;H[a+12>>2]=f;H[f+12>>2]=b;H[f+8>>2]=a}a=e+8|0;H[4303]=c;H[4300]=d;break a}j=H[4299];if(!j){break i}c=H[(Qj(0-j&j)<<2)+17496>>2];f=(H[c+4>>2]&-8)-h|0;b=c;while(1){m:{a=H[b+16>>2];if(!a){a=H[b+20>>2];if(!a){break m}}b=(H[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=H[c+24>>2];d=H[c+12>>2];if((d|0)!=(c|0)){a=H[c+8>>2];H[a+12>>2]=d;H[d+8>>2]=a;break b}b=c+20|0;a=H[b>>2];if(!a){a=H[c+16>>2];if(!a){break h}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=H[b>>2];if(a){continue}b=d+16|0;a=H[d+16>>2];if(a){continue}break}H[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break i}a=a+11|0;h=a&-8;j=H[4299];if(!j){break i}f=0-h|0;g=0;n:{if(h>>>0<256){break n}g=31;if(h>>>0>16777215){break n}a=Q(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=H[(g<<2)+17496>>2];o:{p:{q:{if(!b){a=0;break q}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){r:{e=(H[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break r}d=b;f=e;if(e){break r}f=0;a=b;break p}e=H[b+20>>2];b=H[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break o}}while(1){b=(H[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=H[a+16>>2];if(b){a=b}else{a=H[a+20>>2]}if(a){continue}break}}if(!d|H[4300]-h>>>0<=f>>>0){break i}g=H[d+24>>2];c=H[d+12>>2];if((d|0)!=(c|0)){a=H[d+8>>2];H[a+12>>2]=c;H[c+8>>2]=a;break c}b=d+20|0;a=H[b>>2];if(!a){a=H[d+16>>2];if(!a){break g}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=H[b>>2];if(a){continue}b=c+16|0;a=H[c+16>>2];if(a){continue}break}H[e>>2]=0;break c}a=H[4300];if(a>>>0>=h>>>0){d=H[4303];b=a-h|0;s:{if(b>>>0>=16){c=d+h|0;H[c+4>>2]=b|1;H[a+d>>2]=b;H[d+4>>2]=h|3;break s}H[d+4>>2]=a|3;a=a+d|0;H[a+4>>2]=H[a+4>>2]|1;c=0;b=0}H[4300]=b;H[4303]=c;a=d+8|0;break a}i=H[4301];if(i>>>0>h>>>0){b=i-h|0;H[4301]=b;c=H[4304];a=c+h|0;H[4304]=a;H[a+4>>2]=b|1;H[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(H[4416]){c=H[4418]}else{H[4419]=-1;H[4420]=-1;H[4417]=4096;H[4418]=4096;H[4416]=l+12&-16^1431655768;H[4421]=0;H[4409]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=H[4408];if(d){c=H[4406];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}t:{if(!(I[17636]&4)){u:{v:{w:{x:{d=H[4304];if(d){a=17640;while(1){c=H[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break x}a=H[a+8>>2];if(a){continue}break}}c=zb(0);if((c|0)==-1){break u}g=b;d=H[4417];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break u}d=H[4408];if(d){a=H[4406];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break u}}a=zb(g);if((c|0)!=(a|0)){break w}break t}g=f&e-i;c=zb(g);if((c|0)==(H[a>>2]+H[a+4>>2]|0)){break v}a=c}if((a|0)==-1){break u}if(h+48>>>0<=g>>>0){c=a;break t}c=H[4418];c=c+(j-g|0)&0-c;if((zb(c)|0)==-1){break u}g=c+g|0;c=a;break t}if((c|0)!=-1){break t}}H[4409]=H[4409]|4}c=zb(b);a=zb(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}g=a-c|0;if(g>>>0<=h+40>>>0){break d}}a=H[4406]+g|0;H[4406]=a;if(a>>>0>K[4407]){H[4407]=a}y:{e=H[4304];if(e){a=17640;while(1){d=H[a>>2];b=H[a+4>>2];if((d+b|0)==(c|0)){break y}a=H[a+8>>2];if(a){continue}break}break f}a=H[4302];if(!(a>>>0<=c>>>0?a:0)){H[4302]=c}a=0;H[4411]=g;H[4410]=c;H[4306]=-1;H[4307]=H[4416];H[4413]=0;while(1){d=a<<3;b=d+17232|0;H[d+17240>>2]=b;H[d+17244>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;H[4301]=b;a=a+c|0;H[4304]=a;H[a+4>>2]=b|1;H[(c+d|0)+4>>2]=40;H[4305]=H[4420];break e}if(I[a+12|0]&8|d>>>0>e>>>0|c>>>0<=e>>>0){break f}H[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;H[4304]=c;b=H[4301]+g|0;a=b-a|0;H[4301]=a;H[c+4>>2]=a|1;H[(b+e|0)+4>>2]=40;H[4305]=H[4420];break e}d=0;break b}c=0;break c}if(K[4302]>c>>>0){H[4302]=c}b=c+g|0;a=17640;z:{A:{B:{C:{D:{E:{while(1){if((b|0)!=H[a>>2]){a=H[a+8>>2];if(a){continue}break E}break}if(!(I[a+12|0]&8)){break D}}a=17640;while(1){b=H[a>>2];if(b>>>0<=e>>>0){f=b+H[a+4>>2]|0;if(f>>>0>e>>>0){break C}}a=H[a+8>>2];continue}}H[a>>2]=c;H[a+4>>2]=H[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;H[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){H[4304]=i;a=H[4301]+a|0;H[4301]=a;H[i+4>>2]=a|1;break A}if(H[4303]==(g|0)){H[4303]=i;a=H[4300]+a|0;H[4300]=a;H[i+4>>2]=a|1;H[a+i>>2]=a;break A}f=H[g+4>>2];if((f&3)==1){e=f&-8;F:{if(f>>>0<=255){d=H[g+8>>2];b=f>>>3|0;c=H[g+12>>2];if((c|0)==(d|0)){m=17192,n=H[4298]&Vj(b),H[m>>2]=n;break F}H[d+12>>2]=c;H[c+8>>2]=d;break F}h=H[g+24>>2];c=H[g+12>>2];G:{if((g|0)!=(c|0)){b=H[g+8>>2];H[b+12>>2]=c;H[c+8>>2]=b;break G}H:{f=g+20|0;b=H[f>>2];if(b){break H}f=g+16|0;b=H[f>>2];if(b){break H}c=0;break G}while(1){d=f;c=b;f=c+20|0;b=H[f>>2];if(b){continue}f=c+16|0;b=H[c+16>>2];if(b){continue}break}H[d>>2]=0}if(!h){break F}d=H[g+28>>2];b=(d<<2)+17496|0;I:{if(H[b>>2]==(g|0)){H[b>>2]=c;if(c){break I}m=17196,n=H[4299]&Vj(d),H[m>>2]=n;break F}H[h+(H[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break F}}H[c+24>>2]=h;b=H[g+16>>2];if(b){H[c+16>>2]=b;H[b+24>>2]=c}b=H[g+20>>2];if(!b){break F}H[c+20>>2]=b;H[b+24>>2]=c}g=e+g|0;f=H[g+4>>2];a=a+e|0}H[g+4>>2]=f&-2;H[i+4>>2]=a|1;H[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+17232|0;c=H[4298];a=1<<(a>>>3);J:{if(!(c&a)){H[4298]=a|c;a=b;break J}a=H[b+8>>2]}H[b+8>>2]=i;H[a+12>>2]=i;H[i+12>>2]=b;H[i+8>>2]=a;break A}f=31;if(a>>>0<=16777215){b=Q(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}H[i+28>>2]=f;H[i+16>>2]=0;H[i+20>>2]=0;b=(f<<2)+17496|0;d=H[4299];c=1<>2]=i;break K}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=H[b>>2];while(1){b=c;if((H[c+4>>2]&-8)==(a|0)){break B}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=H[d+16>>2];if(c){continue}break}H[d+16>>2]=i}H[i+24>>2]=b;H[i+12>>2]=i;H[i+8>>2]=i;break A}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;H[4301]=b;a=a+c|0;H[4304]=a;H[a+4>>2]=b|1;H[(c+d|0)+4>>2]=40;H[4305]=H[4420];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;H[d+4>>2]=27;a=H[4413];H[d+16>>2]=H[4412];H[d+20>>2]=a;a=H[4411];H[d+8>>2]=H[4410];H[d+12>>2]=a;H[4412]=d+8;H[4411]=g;H[4410]=c;H[4413]=0;a=d+24|0;while(1){H[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break e}H[d+4>>2]=H[d+4>>2]&-2;f=d-e|0;H[e+4>>2]=f|1;H[d>>2]=f;if(f>>>0<=255){b=(f&-8)+17232|0;c=H[4298];a=1<<(f>>>3);L:{if(!(c&a)){H[4298]=a|c;a=b;break L}a=H[b+8>>2]}H[b+8>>2]=e;H[a+12>>2]=e;H[e+12>>2]=b;H[e+8>>2]=a;break e}a=31;if(f>>>0<=16777215){a=Q(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}H[e+28>>2]=a;H[e+16>>2]=0;H[e+20>>2]=0;b=(a<<2)+17496|0;d=H[4299];c=1<>2]=e;break M}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=H[b>>2];while(1){b=d;if((f|0)==(H[b+4>>2]&-8)){break z}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=H[c+16>>2];if(d){continue}break}H[c+16>>2]=e}H[e+24>>2]=b;H[e+12>>2]=e;H[e+8>>2]=e;break e}a=H[b+8>>2];H[a+12>>2]=i;H[b+8>>2]=i;H[i+24>>2]=0;H[i+12>>2]=b;H[i+8>>2]=a}a=j+8|0;break a}a=H[b+8>>2];H[a+12>>2]=e;H[b+8>>2]=e;H[e+24>>2]=0;H[e+12>>2]=b;H[e+8>>2]=a}a=H[4301];if(a>>>0<=h>>>0){break d}b=a-h|0;H[4301]=b;c=H[4304];a=c+h|0;H[4304]=a;H[a+4>>2]=b|1;H[c+4>>2]=h|3;a=c+8|0;break a}H[3992]=48;a=0;break a}N:{if(!g){break N}b=H[d+28>>2];a=(b<<2)+17496|0;O:{if(H[a>>2]==(d|0)){H[a>>2]=c;if(c){break O}j=Vj(b)&j;H[4299]=j;break N}H[g+(H[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break N}}H[c+24>>2]=g;a=H[d+16>>2];if(a){H[c+16>>2]=a;H[a+24>>2]=c}a=H[d+20>>2];if(!a){break N}H[c+20>>2]=a;H[a+24>>2]=c}P:{if(f>>>0<=15){a=f+h|0;H[d+4>>2]=a|3;a=a+d|0;H[a+4>>2]=H[a+4>>2]|1;break P}H[d+4>>2]=h|3;e=d+h|0;H[e+4>>2]=f|1;H[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+17232|0;c=H[4298];a=1<<(f>>>3);Q:{if(!(c&a)){H[4298]=a|c;a=b;break Q}a=H[b+8>>2]}H[b+8>>2]=e;H[a+12>>2]=e;H[e+12>>2]=b;H[e+8>>2]=a;break P}a=31;if(f>>>0<=16777215){a=Q(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}H[e+28>>2]=a;H[e+16>>2]=0;H[e+20>>2]=0;b=(a<<2)+17496|0;R:{c=1<>2]=e;break S}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=H[b>>2];while(1){b=h;if((H[b+4>>2]&-8)==(f|0)){break R}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=H[c+16>>2];if(h){continue}break}H[c+16>>2]=e}H[e+24>>2]=b;H[e+12>>2]=e;H[e+8>>2]=e;break P}a=H[b+8>>2];H[a+12>>2]=e;H[b+8>>2]=e;H[e+24>>2]=0;H[e+12>>2]=b;H[e+8>>2]=a}a=d+8|0;break a}T:{if(!i){break T}b=H[c+28>>2];a=(b<<2)+17496|0;U:{if(H[a>>2]==(c|0)){H[a>>2]=d;if(d){break U}m=17196,n=Vj(b)&j,H[m>>2]=n;break T}H[i+(H[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break T}}H[d+24>>2]=i;a=H[c+16>>2];if(a){H[d+16>>2]=a;H[a+24>>2]=d}a=H[c+20>>2];if(!a){break T}H[d+20>>2]=a;H[a+24>>2]=d}V:{if(f>>>0<=15){a=f+h|0;H[c+4>>2]=a|3;a=a+c|0;H[a+4>>2]=H[a+4>>2]|1;break V}H[c+4>>2]=h|3;d=c+h|0;H[d+4>>2]=f|1;H[d+f>>2]=f;if(k){b=(k&-8)+17232|0;e=H[4303];a=1<<(k>>>3);W:{if(!(a&g)){H[4298]=a|g;a=b;break W}a=H[b+8>>2]}H[b+8>>2]=e;H[a+12>>2]=e;H[e+12>>2]=b;H[e+8>>2]=a}H[4303]=d;H[4300]=f}a=c+8|0}ca=l+16|0;return a|0}function ce(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;m=ca-32|0;ca=m;o=pa(12);H[o+8>>2]=0;H[o+4>>2]=b;H[o>>2]=0;s=o+12|0;b=s;a:{b:{c:{while(1){b=b-12|0;w=H[b+8>>2];j=H[b+4>>2];t=H[b>>2];if(t){if((w|0)>1e3){break a}H[m+24>>2]=0;H[m+16>>2]=0;H[m+20>>2]=0;d=1;c=H[a>>2];e=H[c+8>>2];h=H[c+12>>2];g=H[c+20>>2];f=H[c+16>>2];d:{if((h|0)<=(g|0)&f>>>0>=e>>>0|(g|0)>(h|0)){break d}e=I[f+H[c>>2]|0];h=c;c=g;f=f+1|0;c=f?c:c+1|0;H[h+16>>2]=f;H[h+20>>2]=c;Cc(m+16|0,e);if(e){c=H[a>>2];n=Dc(m+16|0);p=H[c+8>>2];g=H[c+12>>2];h=H[c+20>>2];f=H[c+16>>2];k=f+e|0;h=k>>>0>>0?h+1|0:h;if((g|0)<=(h|0)&k>>>0>p>>>0|(g|0)<(h|0)){break d}qa(n,f+H[c>>2]|0,e);d=H[c+20>>2];f=e;e=e+H[c+16>>2]|0;d=f>>>0>e>>>0?d+1|0:d;H[c+16>>2]=e;H[c+20>>2]=d}j=pa(24);c=j;H[c+4>>2]=0;H[c+8>>2]=0;c=c+16|0;H[c>>2]=0;H[c+4>>2]=0;H[j>>2]=j+4;H[j+12>>2]=c;e=ca-32|0;ca=e;h=t+12|0;c=m+16|0;u=nb(h,c);i=t+16|0;e:{if((u|0)==(i|0)){H[e+16>>2]=c;f:{g:{d=H[h+4>>2];h:{if(!d){f=h+4|0;c=f;break h}f=I[c+11|0];g=f<<24>>24<0;n=g?H[c>>2]:c;g=g?H[c+4>>2]:f;while(1){c=d;d=I[c+27|0];f=d<<24>>24<0;d=f?H[c+20>>2]:d;p=d>>>0>>0;i:{j:{k:{l:{k=p?d:g;m:{if(k){f=f?H[c+16>>2]:c+16|0;q=Fa(n,f,k);if(!q){if(d>>>0>g>>>0){break m}break l}if((q|0)>=0){break l}break m}if(d>>>0<=g>>>0){break k}}f=c;d=H[c>>2];if(d){continue}break h}d=Fa(f,n,k);if(d){break j}}if(p){break i}break g}if((d|0)>=0){break g}}d=H[c+4>>2];if(d){continue}break}f=c+4|0}d=pa(32);n=d+16|0;g=H[e+16>>2];n:{if(F[g+11|0]>=0){p=H[g+4>>2];H[n>>2]=H[g>>2];H[n+4>>2]=p;H[n+8>>2]=H[g+8>>2];break n}za(n,H[g>>2],H[g+4>>2])}H[d+8>>2]=c;H[d>>2]=0;H[d+4>>2]=0;H[d+28>>2]=0;H[f>>2]=d;c=d;g=H[H[h>>2]>>2];if(g){H[h>>2]=g;c=H[f>>2]}Sb(H[h+4>>2],c);H[h+8>>2]=H[h+8>>2]+1;c=1;break f}d=c;c=0}F[e+28|0]=c;H[e+24>>2]=d;d=H[e+24>>2];c=H[d+28>>2];H[d+28>>2]=j;if(!c){break e}Ra(c+12|0,H[c+16>>2]);Qa(c,H[c+4>>2]);oa(c);break e}if(!j){break e}Ra(j+12|0,H[j+16>>2]);Qa(j,H[j+4>>2]);oa(j)}ca=e+32|0;d=(i|0)!=(u|0)}if(F[m+27|0]<0){oa(H[m+16>>2])}if(d){break a}}if(!j){break a}H[m+16>>2]=0;if(!Bb(1,m+16|0,H[a>>2])){break a}q=0;x=H[m+16>>2];if(x){while(1){d=0;i=ca-32|0;ca=i;H[i+24>>2]=0;H[i+16>>2]=0;H[i+20>>2]=0;c=H[a>>2];f=H[c+8>>2];o:{p:{h=H[c+12>>2];g=H[c+20>>2];e=H[c+16>>2];q:{if((h|0)<=(g|0)&e>>>0>=f>>>0|(g|0)>(h|0)){break q}f=I[e+H[c>>2]|0];h=c;c=g;e=e+1|0;c=e?c:c+1|0;H[h+16>>2]=e;H[h+20>>2]=c;Cc(i+16|0,f);if(f){e=H[a>>2];n=Dc(i+16|0);p=H[e+8>>2];g=H[e+12>>2];c=H[e+20>>2];h=H[e+16>>2];k=h+f|0;c=k>>>0>>0?c+1|0:c;if(k>>>0>p>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break q}qa(n,h+H[e>>2]|0,f);c=H[e+20>>2];g=f;f=f+H[e+16>>2]|0;c=g>>>0>f>>>0?c+1|0:c;H[e+16>>2]=f;H[e+20>>2]=c}H[i+12>>2]=0;if(!Bb(1,i+12|0,H[a>>2])){break q}f=H[i+12>>2];if(!f){break q}e=H[a>>2];c=H[e+8>>2];h=H[e+16>>2];g=c-h|0;c=H[e+12>>2]-(H[e+20>>2]+(c>>>0>>0)|0)|0;if((c|0)<=0&f>>>0>g>>>0|(c|0)<0){break q}H[i+8>>2]=0;H[i>>2]=0;H[i+4>>2]=0;if((f|0)<0){break p}d=pa(f);H[i>>2]=d;c=d+f|0;H[i+8>>2]=c;l=ra(d,0,f);H[i+4>>2]=c;h=H[e+12>>2];y=h;p=H[e+8>>2];c=H[e+20>>2];k=H[e+16>>2];g=f+k|0;c=g>>>0>>0?c+1|0:c;u=g;n=c;r:{if((c|0)<=(h|0)&g>>>0<=p>>>0|(c|0)<(h|0)){qa(l,H[e>>2]+k|0,f);d=H[e+20>>2];c=f+H[e+16>>2]|0;d=c>>>0>>0?d+1|0:d;H[e+16>>2]=c;H[e+20>>2]=d;h=ca-48|0;ca=h;e=nb(j,i+16|0);if((e|0)!=(j+4|0)){c=H[e+4>>2];s:{if(!c){c=e;while(1){d=H[c+8>>2];f=H[d>>2]!=(c|0);c=d;if(f){continue}break}break s}while(1){d=c;c=H[c>>2];if(c){continue}break}}if((e|0)==H[j>>2]){H[j>>2]=d}H[j+8>>2]=H[j+8>>2]-1;f=H[j+4>>2];t:{u:{g=e;d=e;e=H[d>>2];if(e){c=H[g+4>>2];if(!c){break u}while(1){d=c;c=H[c>>2];if(c){continue}break}}e=H[d+4>>2];if(e){break u}e=0;k=1;break t}H[e+8>>2]=H[d+8>>2];k=0}l=H[d+8>>2];c=H[l>>2];v:{if((d|0)==(c|0)){H[l>>2]=e;if((d|0)==(f|0)){c=0;f=e;break v}c=H[l+4>>2];break v}H[l+4>>2]=e}r=!I[d+12|0];if((d|0)!=(g|0)){l=H[g+8>>2];H[d+8>>2]=l;H[l+(((g|0)!=H[H[g+8>>2]>>2])<<2)>>2]=d;l=H[g>>2];H[d>>2]=l;H[l+8>>2]=d;l=H[g+4>>2];H[d+4>>2]=l;if(l){H[l+8>>2]=d}F[d+12|0]=I[g+12|0];f=(f|0)==(g|0)?d:f}w:{if(r|!f){break w}if(k){while(1){e=I[c+12|0];x:{d=H[c+8>>2];if(H[d>>2]!=(c|0)){if(!e){F[c+12|0]=1;F[d+12|0]=0;e=H[d+4>>2];k=H[e>>2];H[d+4>>2]=k;if(k){H[k+8>>2]=d}H[e+8>>2]=H[d+8>>2];k=H[d+8>>2];H[(((d|0)!=H[k>>2])<<2)+k>>2]=e;H[e>>2]=d;H[d+8>>2]=e;d=c;c=H[c>>2];f=(c|0)==(f|0)?d:f;c=H[c+4>>2]}y:{z:{d=H[c>>2];A:{if(!(I[d+12|0]?0:d)){e=H[c+4>>2];if(I[e+12|0]?0:e){break A}F[c+12|0]=0;c=H[c+8>>2];B:{if((f|0)==(c|0)){c=f;break B}if(I[c+12|0]){break x}}F[c+12|0]=1;break w}e=H[c+4>>2];if(!e){break z}}if(I[e+12|0]){break z}d=c;break y}F[d+12|0]=1;F[c+12|0]=0;e=H[d+4>>2];H[c>>2]=e;if(e){H[e+8>>2]=c}H[d+8>>2]=H[c+8>>2];e=H[c+8>>2];H[((H[e>>2]!=(c|0))<<2)+e>>2]=d;H[d+4>>2]=c;H[c+8>>2]=d;e=c}c=H[d+8>>2];F[d+12|0]=I[c+12|0];F[c+12|0]=1;F[e+12|0]=1;d=H[c+4>>2];e=H[d>>2];H[c+4>>2]=e;if(e){H[e+8>>2]=c}H[d+8>>2]=H[c+8>>2];e=H[c+8>>2];H[(((c|0)!=H[e>>2])<<2)+e>>2]=d;H[d>>2]=c;H[c+8>>2]=d;break w}if(!e){F[c+12|0]=1;F[d+12|0]=0;e=H[c+4>>2];H[d>>2]=e;if(e){H[e+8>>2]=d}H[c+8>>2]=H[d+8>>2];e=H[d+8>>2];H[(((d|0)!=H[e>>2])<<2)+e>>2]=c;H[c+4>>2]=d;H[d+8>>2]=c;f=(d|0)==(f|0)?c:f;c=H[d>>2]}e=H[c>>2];C:{if(!(!e|I[e+12|0])){d=c;break C}d=H[c+4>>2];if(!(I[d+12|0]?0:d)){F[c+12|0]=0;c=H[c+8>>2];if((c|0)!=(f|0)?I[c+12|0]:0){break x}F[c+12|0]=1;break w}if(e){if(!I[e+12|0]){d=c;break C}d=H[c+4>>2]}F[d+12|0]=1;F[c+12|0]=0;e=H[d>>2];H[c+4>>2]=e;if(e){H[e+8>>2]=c}H[d+8>>2]=H[c+8>>2];e=H[c+8>>2];H[((H[e>>2]!=(c|0))<<2)+e>>2]=d;H[d>>2]=c;H[c+8>>2]=d;e=c}c=H[d+8>>2];F[d+12|0]=I[c+12|0];F[c+12|0]=1;F[e+12|0]=1;d=H[c>>2];e=H[d+4>>2];H[c>>2]=e;if(e){H[e+8>>2]=c}H[d+8>>2]=H[c+8>>2];e=H[c+8>>2];H[(((c|0)!=H[e>>2])<<2)+e>>2]=d;H[d+4>>2]=c;H[c+8>>2]=d;break w}d=c;c=H[c+8>>2];c=H[(((d|0)==H[c>>2])<<2)+c>>2];continue}}F[e+12|0]=1}c=H[g+28>>2];if(c){H[g+32>>2]=c;oa(c)}if(F[g+27|0]<0){oa(H[g+16>>2])}oa(g)}H[h+8>>2]=0;H[h>>2]=0;H[h+4>>2]=0;c=H[i+4>>2];d=H[i>>2];f=c-d|0;e=0;D:{E:{if((c|0)!=(d|0)){if((f|0)<0){break E}e=pa(f);c=ra(e,0,f);g=c+f|0;H[h+8>>2]=g;H[h+4>>2]=g;H[h>>2]=c;c=d}qa(e,c,f);F:{if(F[i+27|0]>=0){H[h+24>>2]=H[i+24>>2];c=H[i+20>>2];H[h+16>>2]=H[i+16>>2];H[h+20>>2]=c;break F}za(h+16|0,H[i+16>>2],H[i+20>>2])}ae(h+28|0,h);f=h+16|0;c=f;G:{H:{d=H[j+4>>2];I:{if(!d){e=j+4|0;c=e;break I}e=I[c+11|0];g=e<<24>>24<0;k=g?H[c>>2]:c;g=g?H[c+4>>2]:e;while(1){c=d;d=I[c+27|0];e=d<<24>>24<0;d=e?H[c+20>>2]:d;l=d>>>0>>0;J:{K:{L:{M:{r=l?d:g;N:{if(r){e=e?H[c+16>>2]:c+16|0;z=Fa(k,e,r);if(!z){if(d>>>0>g>>>0){break N}break M}if((z|0)>=0){break M}break N}if(d>>>0<=g>>>0){break L}}e=c;d=H[c>>2];if(d){continue}break I}d=Fa(e,k,r);if(d){break K}}if(l){break J}break H}if((d|0)>=0){break H}}d=H[c+4>>2];if(d){continue}break}e=c+4|0}d=pa(40);H[d+24>>2]=H[f+8>>2];g=H[f+4>>2];H[d+16>>2]=H[f>>2];H[d+20>>2]=g;H[f>>2]=0;H[f+4>>2]=0;H[f+8>>2]=0;ae(d+28|0,f+12|0);H[d+8>>2]=c;H[d>>2]=0;H[d+4>>2]=0;H[e>>2]=d;c=d;f=H[H[j>>2]>>2];if(f){H[j>>2]=f;c=H[e>>2]}Sb(H[j+4>>2],c);H[j+8>>2]=H[j+8>>2]+1;c=1;break G}d=c;c=0}F[h+44|0]=c;H[h+40>>2]=d;c=H[h+28>>2];if(c){H[h+32>>2]=c;oa(c)}if(F[h+27|0]<0){oa(H[h+16>>2])}c=H[h>>2];if(c){H[h+4>>2]=c;oa(c)}ca=h+48|0;break D}sa();v()}d=H[i>>2];if(!d){break r}}H[i+4>>2]=d;oa(d)}d=(n|0)<=(y|0)&p>>>0>=u>>>0|(n|0)<(y|0)}if(F[i+27|0]<0){oa(H[i+16>>2])}ca=i+32|0;break o}sa();v()}if(!d){break a}q=q+1|0;if((x|0)!=(q|0)){continue}break}}H[m+12>>2]=0;if(!Bb(1,m+12|0,H[a>>2])){break a}c=H[a>>2];e=H[c+8>>2];f=H[c+16>>2];h=e-f|0;d=H[m+12>>2];c=H[c+12>>2]-(H[c+20>>2]+(e>>>0>>0)|0)|0;if(h>>>0>>0&(c|0)<=0|(c|0)<0){break a}if(d){q=0;h=((t|0)!=0)+w|0;while(1){O:{if(b>>>0>>0){H[b+8>>2]=h;H[b+4>>2]=0;H[b>>2]=j;b=b+12|0;d=H[m+12>>2];break O}c=b-o|0;g=(c|0)/12|0;b=g+1|0;if(b>>>0>=357913942){break c}e=(s-o|0)/12|0;f=e<<1;e=e>>>0>=178956970?357913941:b>>>0>>0?f:b;if(e){if(e>>>0>=357913942){break b}f=pa(N(e,12))}else{f=0}b=f+N(g,12)|0;H[b+8>>2]=h;H[b+4>>2]=0;H[b>>2]=j;c=va(b+N((c|0)/-12|0,12)|0,o,c);s=f+N(e,12)|0;b=b+12|0;if(o){oa(o)}o=c}q=q+1|0;if(q>>>0>>0){continue}break}}if((b|0)!=(o|0)){continue}break}A=1;break a}sa();v()}wa();v()}if(o){oa(o)}ca=m+32|0;return A}function Af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=O(0),q=0,r=0;e=ca-720|0;ca=e;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(J[b+38>>1]>=515){H[e+680>>2]=0;H[e+672>>2]=0;H[e+676>>2]=0;if((ea[H[H[a>>2]+24>>2]](a)|0)<=0){break d}while(1){c=ea[H[H[a>>2]+20>>2]](a,n)|0;d=H[H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];if(H[d+28>>2]==9){f=H[e+672>>2];c=H[e+676>>2]-f>>2;k=I[d+24|0];j:{if(c>>>0>>0){ya(e+672|0,k-c|0);break j}if(c>>>0<=k>>>0){break j}H[e+676>>2]=f+(k<<2)}j=0;i=H[b+8>>2];h=H[b+12>>2];c=H[b+20>>2];d=k<<2;f=H[b+16>>2];l=f+d|0;c=d>>>0>l>>>0?c+1|0:c;if(i>>>0>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break b}qa(H[e+672>>2],f+H[b>>2]|0,d);c=H[b+20>>2];f=d;d=d+H[b+16>>2]|0;c=f>>>0>d>>>0?c+1|0:c;i=d;H[b+16>>2]=d;H[b+20>>2]=c;l=H[b+12>>2];g=H[b+8>>2];h=d+4|0;f=h>>>0<4?c+1|0:c;d=f;if(g>>>0>>0&(d|0)>=(l|0)|(d|0)>(l|0)){break b}o=H[b>>2];f=o+i|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=h;H[b+20>>2]=d;if(g>>>0<=h>>>0&(d|0)>=(l|0)|(d|0)>(l|0)){break b}d=I[h+o|0];h=i+5|0;c=h>>>0<5?c+1|0:c;H[b+16>>2]=h;H[b+20>>2]=c;if(d>>>0>31){break b}p=(A(2,f),B());H[e+20>>2]=-1;H[e+16>>2]=1832;H[e+32>>2]=0;H[e+36>>2]=0;H[e+24>>2]=0;H[e+28>>2]=0;c=H[e+672>>2];o=d-1|0;if(o>>>0<=29){H[e+20>>2]=d;k:{h=c+(k<<2)|0;l=h-c|0;f=l>>2;i=H[e+32>>2];d=H[e+24>>2];if(f>>>0<=i-d>>2>>>0){i=H[e+28>>2]-d|0;l=i>>2;i=f>>>0>l>>>0?c+i|0:h;g=i-c|0;if((c|0)!=(i|0)){va(d,c,g)}if(f>>>0>l>>>0){c=h-i|0;d=H[e+28>>2];if((h|0)!=(i|0)){va(d,i,c)}H[e+28>>2]=c+d;break k}H[e+28>>2]=d+g;break k}if(d){H[e+28>>2]=d;oa(d);H[e+32>>2]=0;H[e+24>>2]=0;H[e+28>>2]=0;i=0}l:{if((l|0)<0){break l}d=i>>>1|0;d=i>>>0>=2147483644?1073741823:d>>>0>f>>>0?d:f;if(d>>>0>=1073741824){break l}i=d<<2;d=pa(i);H[e+28>>2]=d;H[e+24>>2]=d;H[e+32>>2]=d+i;if((c|0)!=(h|0)){qa(d,c,l)}H[e+28>>2]=d+(f<<2);break k}sa();v()}L[e+36>>2]=p}m:{if(o>>>0>=30){break m}if(!Xc(e+16|0,H[H[a+60>>2]+((H[a+40>>2]-H[a+36>>2]|0)/24<<2)>>2])){break m}c=H[a+40>>2];n:{if((c|0)!=H[a+44>>2]){H[c>>2]=1832;d=H[e+20>>2];H[c+16>>2]=0;H[c+8>>2]=0;H[c+12>>2]=0;H[c+4>>2]=d;d=H[e+28>>2];f=H[e+24>>2];if((d|0)!=(f|0)){d=d-f|0;if((d|0)<0){break i}g=pa(d);H[c+12>>2]=g;H[c+8>>2]=g;H[c+16>>2]=(d&-4)+g;k=H[e+24>>2];d=H[e+28>>2];if((k|0)!=(d|0)){while(1){L[g>>2]=L[k>>2];g=g+4|0;k=k+4|0;if((d|0)!=(k|0)){continue}break}}H[c+12>>2]=g}L[c+20>>2]=L[e+36>>2];H[a+40>>2]=c+24;break n}d=0;o:{p:{q:{r:{j=H[a+40>>2];f=H[a+36>>2];i=(j-f|0)/24|0;c=i+1|0;if(c>>>0<178956971){h=(H[a+44>>2]-f|0)/24|0;l=h<<1;h=h>>>0>=89478485?178956970:c>>>0>>0?l:c;if(h){if(h>>>0>=178956971){break r}d=pa(N(h,24))}g=N(i,24)+d|0;H[g>>2]=1832;c=H[e+20>>2];H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;H[g+4>>2]=c;c=H[e+24>>2];i=H[e+28>>2];if((c|0)!=(i|0)){l=i-c|0;if((l|0)<0){break q}k=pa(l);H[g+8>>2]=k;H[g+16>>2]=(l&-4)+k;while(1){L[k>>2]=L[c>>2];k=k+4|0;c=c+4|0;if((i|0)!=(c|0)){continue}break}H[g+12>>2]=k}c=N(h,24)+d|0;L[g+20>>2]=L[e+36>>2];d=g+24|0;if((f|0)==(j|0)){break p}while(1){g=g-24|0;H[g>>2]=1832;j=j-24|0;H[g+4>>2]=H[j+4>>2];H[g+8>>2]=H[j+8>>2];H[g+12>>2]=H[j+12>>2];H[g+16>>2]=H[j+16>>2];H[j+16>>2]=0;H[j+8>>2]=0;H[j+12>>2]=0;L[g+20>>2]=L[j+20>>2];if((f|0)!=(j|0)){continue}break}H[a+44>>2]=c;k=H[a+40>>2];H[a+40>>2]=d;j=H[a+36>>2];H[a+36>>2]=g;if((j|0)==(k|0)){break o}while(1){k=k-24|0;ea[H[H[k>>2]>>2]](k)|0;if((j|0)!=(k|0)){continue}break}break o}sa();v()}wa();v()}sa();v()}H[a+44>>2]=c;H[a+40>>2]=d;H[a+36>>2]=g}if(j){oa(j)}}j=1}H[e+16>>2]=1832;c=H[e+24>>2];if(c){H[e+28>>2]=c;oa(c)}if(!j){break c}}n=n+1|0;if((ea[H[H[a>>2]+24>>2]](a)|0)>(n|0)){continue}break}break d}k=ea[H[H[a>>2]+24>>2]](a)|0;H[e+712>>2]=0;H[e+704>>2]=0;H[e+708>>2]=0;if(k){if(k>>>0>=214748365){break h}c=N(k,20);d=pa(c);H[e+704>>2]=d;H[e+712>>2]=c+d;c=c-20|0;c=(c-((c>>>0)%20|0)|0)+20|0;q=e,r=ra(d,0,c)+c|0,H[q+708>>2]=r;while(1){c=ea[H[H[a>>2]+20>>2]](a,m)|0;d=H[H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];f=H[d+28>>2];c=f-1|0;if(c>>>0<=10){c=H[(c<<2)+13584>>2]}else{c=-1}h=(c|0)>0?c:0;if(h>>>0>4){break f}c=H[e+704>>2]+N(m,20)|0;i=I[d+24|0];H[c+16>>2]=i;H[c+12>>2]=h;H[c+8>>2]=f;H[c+4>>2]=g;H[c>>2]=d;g=g+i|0;m=m+1|0;if((k|0)!=(m|0)){continue}break}}c=ea[H[H[a>>2]+20>>2]](a,0)|0;m=H[H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];F[m+84|0]=1;H[m+72>>2]=H[m+68>>2];h=H[b+12>>2];c=h;d=H[b+20>>2];f=H[b+8>>2];i=H[b+16>>2];if((c|0)<=(d|0)&f>>>0<=i>>>0|(c|0)<(d|0)){break f}n=H[b>>2];o=I[n+i|0];c=d;l=i+1|0;c=l?c:c+1|0;H[b+16>>2]=l;H[b+20>>2]=c;s:{switch(o|0){case 0:a=H[e+704>>2];if((H[e+708>>2]-a|0)!=20){break e}if(H[a+16>>2]!=3){break f}t:{if(f>>>0<=l>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break t}c=d;a=i+2|0;c=a>>>0<2?c+1|0:c;l=a;H[b+16>>2]=a;H[b+20>>2]=c;c=d;a=i+6|0;c=a>>>0<6?c+1|0:c;if(a>>>0>f>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break t}d=l+n|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=a;H[b+20>>2]=c;mb(m,d);j=e+672|0;H[j+20>>2]=0;H[j+12>>2]=0;H[j+16>>2]=0;H[j>>2]=0;H[j+4>>2]=0;H[j+20>>2]=d;d=Ac(e+16|0,e+704|0);k=0;g=ca-32|0;ca=g;H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;f=H[b+12>>2];m=f;i=H[b+8>>2];c=H[b+20>>2];l=c;h=H[b+16>>2];a=h+4|0;c=a>>>0<4?c+1|0:c;u:{if(a>>>0>i>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break u}n=H[b>>2];f=n+h|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=a;H[b+20>>2]=c;v:{w:{switch(f-2|0){case 1:if((c|0)>=(m|0)&a>>>0>=i>>>0|(c|0)>(m|0)){break u}a=F[a+n|0];c=l;f=h+5|0;c=f>>>0<5?c+1|0:c;H[b+16>>2]=f;H[b+20>>2]=c;H[j+8>>2]=a;if((a|0)==1){if(Ud(j,b,g+16|0)){break v}break u}Rd(1799,23,H[3443]);break u;default:Rd(1774,24,H[3443]);break u;case 0:break w}}if(!Ud(j,b,g+16|0)){break u}}H[g+8>>2]=H[g+16>>2];H[g>>2]=H[g+20>>2];c=ca-32|0;ca=c;a=H[j>>2];p=L[j+4>>2];H[c+24>>2]=1065353216;h=-1<0){L[c+24>>2]=p/O(a|0)}m=H[g+8>>2];n=H[g>>2];if((m|0)!=(n|0)){a=H[d+28>>2];while(1){b=H[m>>2];f=H[m+4>>2];p=L[c+24>>2];L[c+16>>2]=p*O(H[m+8>>2]-h|0);L[c+12>>2]=p*O(f-h|0);L[c+8>>2]=p*O(b-h|0);b=a;i=H[d+16>>2];f=H[i>>2];if(!I[f+84|0]){b=H[H[f+68>>2]+(a<<2)>>2]}if(K[f+80>>2]>b>>>0){a=H[f+40>>2];qa(H[H[f>>2]>>2]+N(a,b)|0,(c+8|0)+(H[i+4>>2]<<2)|0,a);n=H[g>>2];a=H[d+28>>2]}a=a+1|0;H[d+28>>2]=a;m=m+12|0;if((n|0)!=(m|0)){continue}break}}ca=c+32|0;k=1}a=H[g+16>>2];if(a){H[g+20>>2]=a;oa(a)}ca=g+32|0;yc(d);j=1;if(k){break f}}j=0;break f;case 1:break s;default:break f}}if(f>>>0<=l>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break f}o=I[l+n|0];c=d;l=i+2|0;c=l>>>0<2?c+1|0:c;H[b+16>>2]=l;H[b+20>>2]=c;if(o>>>0>=7){H[e>>2]=o;Qd(1651,e);break f}c=d;d=i+6|0;c=d>>>0<6?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break f}f=l+n|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=d;H[b+20>>2]=c;if(k){m=0;while(1){c=ea[H[H[a>>2]+20>>2]](a,m)|0;c=H[H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];mb(c,f);F[c+84|0]=1;H[c+72>>2]=H[c+68>>2];m=m+1|0;if((k|0)!=(m|0)){continue}break}}a=Ac(e+672|0,e+704|0);x:{y:{switch(o|0){case 1:c=wb(e+16|0,g);b=zd(c,b,a,-1);xb(c);if(!b){break g}break x;case 2:c=ub(e+16|0,g);b=yd(c,b,a,-1);vb(c);if(!b){break g}break x;case 3:c=ub(e+16|0,g);b=xd(c,b,a,-1);vb(c);if(!b){break g}break x;case 4:c=$a(e+16|0,g);b=wd(c,b,a,-1);ab(c);if(!b){break g}break x;case 5:c=$a(e+16|0,g);b=vd(c,b,a,-1);ab(c);if(!b){break g}break x;case 6:c=$a(e+16|0,g);b=ud(c,b,a,-1);ab(c);if(b){break x}break g;case 0:break y;default:break g}}c=wb(e+16|0,g);b=Bd(c,b,a,-1);xb(c);if(!b){break g}}yc(a);j=1;break f}sa();v()}sa();v()}yc(a)}a=H[e+704>>2]}if(!a){break a}H[e+708>>2]=a;oa(a);break a}j=1;if(H[a+52>>2]==H[a+48>>2]){break b}while(1){if(!td(1,e+16|0,b)){break c}c=H[a+48>>2];d=H[e+16>>2];H[c+(m<<2)>>2]=d>>>1^0-(d&1);m=m+1|0;if(m>>>0>2]-c>>2>>>0){continue}break}break b}j=0}a=H[e+672>>2];if(!a){break a}H[e+676>>2]=a;oa(a)}ca=e+720|0;return j|0}function te(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=ca-32|0;ca=h;H[b+32>>2]=d;H[b+40>>2]=c;H[b+4>>2]=e;nc(a,d,h+16|0);a:{if(H[a>>2]){break a}if(F[a+15|0]<0){oa(H[a+4>>2])}d=I[h+23|0];if((ea[H[H[b>>2]+8>>2]](b)|0)!=(d|0)){b=pa(64);F[b+50|0]=0;c=I[1314]|I[1315]<<8;F[b+48|0]=c;F[b+49|0]=c>>>8;c=I[1310]|I[1311]<<8|(I[1312]<<16|I[1313]<<24);d=I[1306]|I[1307]<<8|(I[1308]<<16|I[1309]<<24);F[b+40|0]=d;F[b+41|0]=d>>>8;F[b+42|0]=d>>>16;F[b+43|0]=d>>>24;F[b+44|0]=c;F[b+45|0]=c>>>8;F[b+46|0]=c>>>16;F[b+47|0]=c>>>24;c=I[1302]|I[1303]<<8|(I[1304]<<16|I[1305]<<24);d=I[1298]|I[1299]<<8|(I[1300]<<16|I[1301]<<24);F[b+32|0]=d;F[b+33|0]=d>>>8;F[b+34|0]=d>>>16;F[b+35|0]=d>>>24;F[b+36|0]=c;F[b+37|0]=c>>>8;F[b+38|0]=c>>>16;F[b+39|0]=c>>>24;c=I[1294]|I[1295]<<8|(I[1296]<<16|I[1297]<<24);d=I[1290]|I[1291]<<8|(I[1292]<<16|I[1293]<<24);F[b+24|0]=d;F[b+25|0]=d>>>8;F[b+26|0]=d>>>16;F[b+27|0]=d>>>24;F[b+28|0]=c;F[b+29|0]=c>>>8;F[b+30|0]=c>>>16;F[b+31|0]=c>>>24;c=I[1286]|I[1287]<<8|(I[1288]<<16|I[1289]<<24);d=I[1282]|I[1283]<<8|(I[1284]<<16|I[1285]<<24);F[b+16|0]=d;F[b+17|0]=d>>>8;F[b+18|0]=d>>>16;F[b+19|0]=d>>>24;F[b+20|0]=c;F[b+21|0]=c>>>8;F[b+22|0]=c>>>16;F[b+23|0]=c>>>24;c=I[1278]|I[1279]<<8|(I[1280]<<16|I[1281]<<24);d=I[1274]|I[1275]<<8|(I[1276]<<16|I[1277]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1270]|I[1271]<<8|(I[1272]<<16|I[1273]<<24);d=I[1266]|I[1267]<<8|(I[1268]<<16|I[1269]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;H[a>>2]=-1;za(a+4|0,b,50);oa(b);break a}c=I[h+21|0];F[b+36|0]=c;e=I[h+22|0];F[b+37|0]=e;if((c-3&255)>>>0<=253){b=pa(32);F[b+22|0]=0;c=I[1427]|I[1428]<<8|(I[1429]<<16|I[1430]<<24);d=I[1423]|I[1424]<<8|(I[1425]<<16|I[1426]<<24);F[b+14|0]=d;F[b+15|0]=d>>>8;F[b+16|0]=d>>>16;F[b+17|0]=d>>>24;F[b+18|0]=c;F[b+19|0]=c>>>8;F[b+20|0]=c>>>16;F[b+21|0]=c>>>24;c=I[1421]|I[1422]<<8|(I[1423]<<16|I[1424]<<24);d=I[1417]|I[1418]<<8|(I[1419]<<16|I[1420]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1413]|I[1414]<<8|(I[1415]<<16|I[1416]<<24);d=I[1409]|I[1410]<<8|(I[1411]<<16|I[1412]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;H[a>>2]=-5;za(a+4|0,b,22);oa(b);break a}if(!((c|0)!=2|e>>>0<=(d?2:3)>>>0)){b=pa(32);F[b+22|0]=0;c=I[1404]|I[1405]<<8|(I[1406]<<16|I[1407]<<24);d=I[1400]|I[1401]<<8|(I[1402]<<16|I[1403]<<24);F[b+14|0]=d;F[b+15|0]=d>>>8;F[b+16|0]=d>>>16;F[b+17|0]=d>>>24;F[b+18|0]=c;F[b+19|0]=c>>>8;F[b+20|0]=c>>>16;F[b+21|0]=c>>>24;c=I[1398]|I[1399]<<8|(I[1400]<<16|I[1401]<<24);d=I[1394]|I[1395]<<8|(I[1396]<<16|I[1397]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1390]|I[1391]<<8|(I[1392]<<16|I[1393]<<24);d=I[1386]|I[1387]<<8|(I[1388]<<16|I[1389]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;H[a>>2]=-5;za(a+4|0,b,22);oa(b);break a}c=e|c<<8;G[H[b+32>>2]+38>>1]=c;b:{if((c&65535)>>>0<259|G[h+26>>1]>=0){break b}i=ca-16|0;ca=i;e=pa(36);c=e;H[c+4>>2]=0;H[c+8>>2]=0;H[c+24>>2]=0;H[c+28>>2]=0;c=c+16|0;H[c>>2]=0;H[c+4>>2]=0;H[e>>2]=e+4;H[e+32>>2]=0;H[e+12>>2]=c;H[i>>2]=0;d=H[b+32>>2];j=ca-16|0;ca=j;c=0;c:{if(!e){break c}H[i>>2]=d;H[j+12>>2]=0;c=0;if(!Bb(1,j+12|0,d)){break c}m=H[j+12>>2];if(m){while(1){d:{if(Bb(1,j+8|0,H[i>>2])){c=pa(28);H[c+4>>2]=0;H[c+8>>2]=0;d=c+16|0;H[d>>2]=0;H[d+4>>2]=0;H[c>>2]=c+4;H[c+12>>2]=d;H[c+24>>2]=H[j+8>>2];if(ce(i,c)){break d}Ra(c+12|0,H[c+16>>2]);Qa(c,H[c+4>>2]);oa(c)}c=0;break c}f=ca-16|0;ca=f;H[f+8>>2]=c;e:{if(!c){break e}d=H[e+28>>2];f:{if(d>>>0>2]){H[f+8>>2]=0;H[d>>2]=c;H[e+28>>2]=d+4;break f}d=0;g:{h:{i:{g=H[e+24>>2];l=H[e+28>>2]-g>>2;c=l+1|0;if(c>>>0<1073741824){g=H[e+32>>2]-g|0;k=g>>>1|0;g=g>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(g){if(g>>>0>=1073741824){break i}d=pa(g<<2)}k=H[f+8>>2];H[f+8>>2]=0;c=(l<<2)+d|0;H[c>>2]=k;g=(g<<2)+d|0;l=c+4|0;d=H[e+28>>2];k=H[e+24>>2];if((d|0)==(k|0)){break h}while(1){d=d-4|0;o=H[d>>2];H[d>>2]=0;c=c-4|0;H[c>>2]=o;if((d|0)!=(k|0)){continue}break}H[e+32>>2]=g;g=H[e+28>>2];H[e+28>>2]=l;d=H[e+24>>2];H[e+24>>2]=c;if((d|0)==(g|0)){break g}while(1){g=g-4|0;c=H[g>>2];H[g>>2]=0;if(c){Ra(c+12|0,H[c+16>>2]);Qa(c,H[c+4>>2]);oa(c)}if((d|0)!=(g|0)){continue}break}break g}sa();v()}wa();v()}H[e+32>>2]=g;H[e+28>>2]=l;H[e+24>>2]=c}if(d){oa(d)}}c=H[f+8>>2];H[f+8>>2]=0;if(!c){break e}Ra(c+12|0,H[c+16>>2]);Qa(c,H[c+4>>2]);oa(c)}ca=f+16|0;n=n+1|0;if((m|0)!=(n|0)){continue}break}}c=ce(i,e)}ca=j+16|0;j:{if(c){d=H[b+4>>2];c=H[d+4>>2];H[d+4>>2]=e;if(c){Uc(c)}H[a>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0;break j}c=pa(32);F[c+26|0]=0;d=I[1579]|I[1580]<<8;F[c+24|0]=d;F[c+25|0]=d>>>8;d=I[1575]|I[1576]<<8|(I[1577]<<16|I[1578]<<24);f=I[1571]|I[1572]<<8|(I[1573]<<16|I[1574]<<24);F[c+16|0]=f;F[c+17|0]=f>>>8;F[c+18|0]=f>>>16;F[c+19|0]=f>>>24;F[c+20|0]=d;F[c+21|0]=d>>>8;F[c+22|0]=d>>>16;F[c+23|0]=d>>>24;d=I[1567]|I[1568]<<8|(I[1569]<<16|I[1570]<<24);f=I[1563]|I[1564]<<8|(I[1565]<<16|I[1566]<<24);F[c+8|0]=f;F[c+9|0]=f>>>8;F[c+10|0]=f>>>16;F[c+11|0]=f>>>24;F[c+12|0]=d;F[c+13|0]=d>>>8;F[c+14|0]=d>>>16;F[c+15|0]=d>>>24;d=I[1559]|I[1560]<<8|(I[1561]<<16|I[1562]<<24);f=I[1555]|I[1556]<<8|(I[1557]<<16|I[1558]<<24);F[c|0]=f;F[c+1|0]=f>>>8;F[c+2|0]=f>>>16;F[c+3|0]=f>>>24;F[c+4|0]=d;F[c+5|0]=d>>>8;F[c+6|0]=d>>>16;F[c+7|0]=d>>>24;H[a>>2]=-1;za(a+4|0,c,26);oa(c);H[i+8>>2]=0;Uc(e)}ca=i+16|0;if(H[a>>2]){break a}if(F[a+15|0]>=0){break b}oa(H[a+4>>2])}if(!(ea[H[H[b>>2]+12>>2]](b)|0)){b=pa(48);F[b+33|0]=0;F[b+32|0]=I[1384];c=I[1380]|I[1381]<<8|(I[1382]<<16|I[1383]<<24);d=I[1376]|I[1377]<<8|(I[1378]<<16|I[1379]<<24);F[b+24|0]=d;F[b+25|0]=d>>>8;F[b+26|0]=d>>>16;F[b+27|0]=d>>>24;F[b+28|0]=c;F[b+29|0]=c>>>8;F[b+30|0]=c>>>16;F[b+31|0]=c>>>24;c=I[1372]|I[1373]<<8|(I[1374]<<16|I[1375]<<24);d=I[1368]|I[1369]<<8|(I[1370]<<16|I[1371]<<24);F[b+16|0]=d;F[b+17|0]=d>>>8;F[b+18|0]=d>>>16;F[b+19|0]=d>>>24;F[b+20|0]=c;F[b+21|0]=c>>>8;F[b+22|0]=c>>>16;F[b+23|0]=c>>>24;c=I[1364]|I[1365]<<8|(I[1366]<<16|I[1367]<<24);d=I[1360]|I[1361]<<8|(I[1362]<<16|I[1363]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1356]|I[1357]<<8|(I[1358]<<16|I[1359]<<24);d=I[1352]|I[1353]<<8|(I[1354]<<16|I[1355]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;H[a>>2]=-1;za(a+4|0,b,33);oa(b);break a}if(!(ea[H[H[b>>2]+20>>2]](b)|0)){b=mc(h,1582);H[a>>2]=-1;a=a+4|0;if(F[b+11|0]>=0){c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c;H[a+8>>2]=H[b+8>>2];break a}za(a,H[b>>2],H[b+4>>2]);if(F[b+11|0]>=0){break a}oa(H[b>>2]);break a}if(!(ea[H[H[b>>2]+24>>2]](b)|0)){b=mc(h,1317);H[a>>2]=-1;a=a+4|0;if(F[b+11|0]>=0){c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c;H[a+8>>2]=H[b+8>>2];break a}za(a,H[b>>2],H[b+4>>2]);if(F[b+11|0]>=0){break a}oa(H[b>>2]);break a}H[a>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0}ca=h+32|0}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;m=ca-16|0;ca=m;H[m+12>>2]=b;b=pa(32);H[m>>2]=b;H[m+4>>2]=24;H[m+8>>2]=-2147483616;c=I[1206]|I[1207]<<8|(I[1208]<<16|I[1209]<<24);d=I[1202]|I[1203]<<8|(I[1204]<<16|I[1205]<<24);F[b+16|0]=d;F[b+17|0]=d>>>8;F[b+18|0]=d>>>16;F[b+19|0]=d>>>24;F[b+20|0]=c;F[b+21|0]=c>>>8;F[b+22|0]=c>>>16;F[b+23|0]=c>>>24;c=I[1198]|I[1199]<<8|(I[1200]<<16|I[1201]<<24);d=I[1194]|I[1195]<<8|(I[1196]<<16|I[1197]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1190]|I[1191]<<8|(I[1192]<<16|I[1193]<<24);d=I[1186]|I[1187]<<8|(I[1188]<<16|I[1189]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;F[b+24|0]=0;l=ca-48|0;ca=l;f=H[m+12>>2];d=a;a=a+16|0;b=H[a>>2];a:{b:{if(!b){break b}c=a;while(1){e=(f|0)>H[b+16>>2];c=e?c:b;b=H[(e?b+4|0:b)>>2];if(b){continue}break}if((a|0)==(c|0)){break b}if((f|0)>=H[c+16>>2]){break a}}H[l+28>>2]=0;H[l+32>>2]=0;y=l+24|0;H[l+24>>2]=y|4;a=l+16|0;H[a>>2]=0;H[a+4>>2]=0;H[l+8>>2]=f;H[l+12>>2]=a;t=l+8|0;a=t;x=ca-16|0;ca=x;u=d+12|0;c=H[u+4>>2];c:{d:{if(!c){o=u+4|0;d=o;break d}a=H[a>>2];while(1){d=c;b=H[c+16>>2];if((b|0)>(a|0)){o=d;c=H[d>>2];if(c){continue}break d}if((a|0)<=(b|0)){g=d;a=0;break c}c=H[d+4>>2];if(c){continue}break}o=d+4|0}g=pa(32);b=H[t>>2];q=g+24|0;a=q;H[a>>2]=0;H[a+4>>2]=0;H[g+16>>2]=b;r=g+20|0;H[r>>2]=a;c=H[t+4>>2];z=t+8|0;if((c|0)!=(z|0)){while(1){p=ca-16|0;ca=p;a=p+8|0;k=c+16|0;e:{f:{g:{h:{i:{j:{k:{f=q;e=r+4|0;l:{if((f|0)==(e|0)){break l}b=I[f+27|0];h=b<<24>>24<0;i=I[k+11|0];n=i<<24>>24;j=(n|0)<0;i=j?H[k+4>>2]:i;b=h?H[f+20>>2]:b;s=i>>>0>b>>>0;w=s?b:i;if(w){j=j?H[k>>2]:k;h=h?H[f+16>>2]:f+16|0;A=Fa(j,h,w);if(!A){if(b>>>0>i>>>0){break l}break k}if((A|0)>=0){break k}break l}if(b>>>0<=i>>>0){break j}}h=H[f>>2];m:{a=f;n:{if((a|0)==H[r>>2]){break n}o:{if(!h){b=f;while(1){a=H[b+8>>2];i=H[a>>2]==(b|0);b=a;if(i){continue}break}break o}b=h;while(1){a=b;b=H[b+4>>2];if(b){continue}break}}i=I[k+11|0];s=i<<24>>24;b=(s|0)<0;j=I[a+27|0];n=j<<24>>24<0;p:{i=b?H[k+4>>2]:i;j=n?H[a+20>>2]:j;w=i>>>0>>0?i:j;if(w){b=Fa(n?H[a+16>>2]:a+16|0,b?H[k>>2]:k,w);if(b){break p}}if(i>>>0>j>>>0){break n}break m}if((b|0)>=0){break m}}if(!h){H[p+12>>2]=f;a=f;break e}H[p+12>>2]=a;a=a+4|0;break e}b=H[e>>2];if(!b){H[p+12>>2]=e;a=e;break e}h=(s|0)<0?H[k>>2]:k;f=e;while(1){a=b;b=I[b+27|0];e=b<<24>>24<0;b=e?H[a+20>>2]:b;k=b>>>0>>0;q:{r:{s:{t:{n=k?b:i;u:{if(n){e=e?H[a+16>>2]:a+16|0;j=Fa(h,e,n);if(!j){if(b>>>0>i>>>0){break u}break t}if((j|0)>=0){break t}break u}if(b>>>0<=i>>>0){break s}}f=a;b=H[a>>2];if(b){continue}break g}b=Fa(e,h,n);if(b){break r}}if(k){break q}break g}if((b|0)>=0){break g}}f=a+4|0;b=H[a+4>>2];if(b){continue}break}break g}b=Fa(h,j,w);if(b){break i}}if(s){break h}break f}if((b|0)>=0){break f}}h=H[f+4>>2];v:{if(!h){b=f;while(1){a=H[b+8>>2];j=H[a>>2]!=(b|0);b=a;if(j){continue}break}break v}b=h;while(1){a=b;b=H[b>>2];if(b){continue}break}}w:{x:{if((a|0)==(e|0)){break x}j=I[a+27|0];b=j<<24>>24<0;y:{j=b?H[a+20>>2]:j;s=i>>>0>j>>>0?j:i;if(s){b=Fa((n|0)<0?H[k>>2]:k,b?H[a+16>>2]:a+16|0,s);if(b){break y}}if(i>>>0>>0){break x}break w}if((b|0)>=0){break w}}if(!h){H[p+12>>2]=f;a=f+4|0;break e}H[p+12>>2]=a;break e}b=H[e>>2];if(!b){H[p+12>>2]=e;a=e;break e}h=(n|0)<0?H[k>>2]:k;f=e;while(1){a=b;b=I[b+27|0];e=b<<24>>24<0;b=e?H[a+20>>2]:b;k=b>>>0>>0;z:{A:{B:{C:{n=k?b:i;D:{if(n){e=e?H[a+16>>2]:a+16|0;j=Fa(h,e,n);if(!j){if(b>>>0>i>>>0){break D}break C}if((j|0)>=0){break C}break D}if(b>>>0<=i>>>0){break B}}f=a;b=H[a>>2];if(b){continue}break g}b=Fa(e,h,n);if(b){break A}}if(k){break z}break g}if((b|0)>=0){break g}}f=a+4|0;b=H[a+4>>2];if(b){continue}break}}H[p+12>>2]=a;a=f;break e}H[p+12>>2]=f;H[a>>2]=f}f=a;a=H[a>>2];if(a){b=0}else{a=pa(40);b=a+16|0;E:{if(F[c+27|0]>=0){e=H[c+20>>2];H[b>>2]=H[c+16>>2];H[b+4>>2]=e;H[b+8>>2]=H[c+24>>2];break E}za(b,H[c+16>>2],H[c+20>>2])}b=a+28|0;F:{if(F[c+39|0]>=0){e=H[c+32>>2];H[b>>2]=H[c+28>>2];H[b+4>>2]=e;H[b+8>>2]=H[c+36>>2];break F}za(b,H[c+28>>2],H[c+32>>2])}H[a+8>>2]=H[p+12>>2];H[a>>2]=0;H[a+4>>2]=0;H[f>>2]=a;b=a;e=H[H[r>>2]>>2];if(e){H[r>>2]=e;b=H[f>>2]}Sb(H[r+4>>2],b);H[r+8>>2]=H[r+8>>2]+1;b=1}F[x+12|0]=b;H[x+8>>2]=a;ca=p+16|0;b=H[c+4>>2];G:{if(b){while(1){c=b;b=H[b>>2];if(b){continue}break G}}while(1){a=c;c=H[c+8>>2];if((a|0)!=H[c>>2]){continue}break}}if((c|0)!=(z|0)){continue}break}}H[g+8>>2]=d;H[g>>2]=0;H[g+4>>2]=0;H[o>>2]=g;c=g;a=H[H[u>>2]>>2];if(a){H[u>>2]=a;c=H[o>>2]}Sb(H[u+4>>2],c);H[u+8>>2]=H[u+8>>2]+1;a=1}F[l+44|0]=a;H[l+40>>2]=g;ca=x+16|0;c=H[l+40>>2];Kb(t|4,H[l+16>>2]);Kb(y,H[l+28>>2])}f=ca-48|0;ca=f;d=f+8|0;g=ca-32|0;ca=g;o=g+32|0;b=o;a=g+21|0;H:{if((b|0)==(a|0)){break H}}e=b-a|0;I:{if((e|0)<=9){h=61;if((e|0)<(K[3660]<=1|0)){break I}}F[a|0]=49;b=a+1|0;h=0}H[g+12>>2]=h;H[g+8>>2]=b;h=ca-16|0;ca=h;e=ca-16|0;ca=e;J:{q=H[g+8>>2];g=q-a|0;if(g>>>0<=2147483631){K:{if(g>>>0<11){F[d+11|0]=g|I[d+11|0]&128;F[d+11|0]=I[d+11|0]&127;b=d;break K}t=e+8|0;if(g>>>0>=11){k=g+16&-16;b=k-1|0;b=(b|0)==11?k:b}else{b=10}Zb(t,b+1|0);b=H[e+8>>2];H[d>>2]=b;H[d+8>>2]=H[d+8>>2]&-2147483648|H[e+12>>2]&2147483647;H[d+8>>2]=H[d+8>>2]|-2147483648;H[d+4>>2]=g}while(1){if((a|0)!=(q|0)){F[b|0]=I[a|0];b=b+1|0;a=a+1|0;continue}break}F[e+7|0]=0;F[b|0]=I[e+7|0];ca=e+16|0;break J}Na();v()}ca=h+16|0;ca=o;H[f+32>>2]=m;L:{M:{a=c+20|0;d=H[a+4>>2];N:{if(!d){g=a+4|0;c=g;break N}b=I[m+11|0];c=b<<24>>24<0;e=c?H[m>>2]:m;b=c?H[m+4>>2]:b;while(1){c=d;d=I[c+27|0];g=d<<24>>24<0;d=g?H[c+20>>2]:d;o=d>>>0>>0;O:{P:{Q:{R:{h=o?d:b;S:{if(h){g=g?H[c+16>>2]:c+16|0;q=Fa(e,g,h);if(!q){if(b>>>0>>0){break S}break R}if((q|0)>=0){break R}break S}if(b>>>0>=d>>>0){break Q}}g=c;d=H[c>>2];if(d){continue}break N}d=Fa(g,e,h);if(d){break P}}if(o){break O}break M}if((d|0)>=0){break M}}d=H[c+4>>2];if(d){continue}break}g=c+4|0}d=pa(40);e=d+16|0;b=H[f+32>>2];T:{if(F[b+11|0]>=0){o=H[b+4>>2];H[e>>2]=H[b>>2];H[e+4>>2]=o;H[e+8>>2]=H[b+8>>2];break T}za(e,H[b>>2],H[b+4>>2])}H[d+8>>2]=c;H[d>>2]=0;H[d+4>>2]=0;H[d+36>>2]=0;H[d+28>>2]=0;H[d+32>>2]=0;H[g>>2]=d;c=d;b=H[H[a>>2]>>2];if(b){H[a>>2]=b;c=H[g>>2]}Sb(H[a+4>>2],c);H[a+8>>2]=H[a+8>>2]+1;a=1;break L}d=c;a=0}F[f+44|0]=a;H[f+40>>2]=d;a=H[f+40>>2];if(F[a+39|0]<0){oa(H[a+28>>2])}b=H[f+12>>2];H[a+28>>2]=H[f+8>>2];H[a+32>>2]=b;H[a+36>>2]=H[f+16>>2];ca=f+48|0;ca=l+48|0;if(F[m+11|0]<0){oa(H[m>>2])}ca=m+16|0}function Bd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=H[b+8>>2];e=H[b+12>>2];g=H[b+20>>2];h=H[b+16>>2];k=h+4|0;g=k>>>0<4?g+1|0:g;a:{if(j>>>0>>0&(e|0)<=(g|0)|(e|0)<(g|0)){break a}h=h+H[b>>2]|0;H[a>>2]=I[h|0]|I[h+1|0]<<8|(I[h+2|0]<<16|I[h+3|0]<<24);h=H[b+20>>2];e=h;j=H[b+16>>2];g=j+4|0;h=g>>>0<4?e+1|0:e;H[b+16>>2]=g;H[b+20>>2]=h;if(K[a>>2]>32){break a}l=H[b+8>>2];k=H[b+12>>2];h=e;e=j+8|0;h=e>>>0<8?h+1|0:h;if(e>>>0>l>>>0&(h|0)>=(k|0)|(h|0)>(k|0)){break a}h=H[b>>2]+g|0;g=I[h|0]|I[h+1|0]<<8|(I[h+2|0]<<16|I[h+3|0]<<24);H[a+4>>2]=g;h=H[b+20>>2];e=H[b+16>>2]+4|0;h=e>>>0<4?h+1|0:h;H[b+16>>2]=e;H[b+20>>2]=h;if(!g){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!ua(a+16|0,b)){break a}if(!ua(a+36|0,b)){break a}if(!ua(a+56|0,b)){break a}if(!ua(a+76|0,b)){break a}s=H[a+4>>2];h=c;b=0;g=0;e=ca-32|0;ca=e;d=a;a=H[a+12>>2];H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}c=a<<2;b=pa(c);H[e+8>>2]=b;g=b+c|0;H[e+16>>2]=g;ra(b,0,c);H[e+12>>2]=g}c=H[d+120>>2];i=H[c>>2];if(i){H[c+4>>2]=i;oa(i);g=H[e+12>>2];b=H[e+8>>2];a=H[d+12>>2]}H[c+4>>2]=g;H[c>>2]=b;H[c+8>>2]=H[e+16>>2];b=0;H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;f=pa(a);H[e+8>>2]=f;b=a+f|0;H[e+16>>2]=b;ra(f,0,a);H[e+12>>2]=b}a=H[d+132>>2];c=H[a>>2];if(c){H[a+4>>2]=c;oa(c);f=H[e+8>>2];b=H[e+12>>2]}H[a+4>>2]=b;H[a>>2]=f;H[a+8>>2]=H[e+16>>2];H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;xa(e+8|0);a=H[e+24>>2]+H[e+28>>2]|0;b=(a>>>0)/341|0;a=H[H[e+12>>2]+(b<<2)>>2]+N(a-N(b,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=s;c=1;a=H[e+28>>2]+1|0;H[e+28>>2]=a;e:{if(!a){break e}while(1){b=H[e+12>>2];f=H[e+24>>2];k=a-1|0;c=f+k|0;i=(c>>>0)/341|0;c=H[b+(i<<2)>>2]+N(c-N(i,341)|0,12)|0;g=H[c+8>>2];i=H[c+4>>2];j=H[c>>2];H[e+28>>2]=k;c=H[e+16>>2];if((((b|0)!=(c|0)?N(c-b>>2,341)-1|0:0)-(a+f|0)|0)+1>>>0>=682){oa(H[c-4>>2]);H[e+16>>2]=H[e+16>>2]-4}c=0;if(j>>>0>s>>>0){break e}b=H[d+12>>2];a=(b-1|0)!=(i|0)?i+1|0:0;if(a>>>0>=b>>>0){break e}f=N(g,12);o=f+H[d+132>>2]|0;k=f+H[d+120>>2]|0;i=H[d>>2];l=a<<2;m=H[l+H[o>>2]>>2];f:{g:{if((i|0)==(m|0)){if(!j){break g}o=0;b=H[h+20>>2];g=H[h+16>>2];if((b|0)==(g|0)){a=H[d+8>>2];H[h+28>>2]=j+H[h+28>>2];H[d+8>>2]=a+j;break g}while(1){c=(b|0)==(g|0);a=b;i=0;b=g;h:{if(c){break h}while(1){f=H[h+28>>2];b=a;c=N(i,20)+g|0;l=H[c>>2];if(!I[l+84|0]){f=H[H[l+68>>2]+(f<<2)>>2]}if(K[l+80>>2]<=f>>>0){break h}m=H[k>>2]+(H[c+4>>2]<<2)|0;g=H[c+12>>2];b=m;i:{if(g>>>0>3){break i}a=0;b=H[h+12>>2];if(!H[c+16>>2]){break i}while(1){b=qa(b,m+(a<<2)|0,g);g=H[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[h+12>>2]}a=H[l+40>>2];qa(H[H[l>>2]>>2]+N(a,f)|0,b,a);i=i+1|0;a=H[h+20>>2];b=a;g=H[h+16>>2];if(i>>>0<(b-g|0)/20>>>0){continue}break}}H[h+28>>2]=H[h+28>>2]+1;H[d+8>>2]=H[d+8>>2]+1;o=o+1|0;if((j|0)!=(o|0)){continue}break}break g}j:{k:{l:{m:{if(j>>>0<=2){c=H[d+108>>2];H[c>>2]=a;f=1;b=H[d+12>>2];if(b>>>0>1){break m}break j}if(K[d+8>>2]>K[d+4>>2]){break e}b=H[d+120>>2];n=g+1|0;o=N(n,12);p=b+o|0;if((p|0)!=(k|0)){Aa(p,H[k>>2],H[k+4>>2]);b=H[d+120>>2]}b=l+H[b+o>>2]|0;H[b>>2]=H[b>>2]+(1<>2];m=32-i|0;n:{if((b|0)<=(m|0)){k=H[d+28>>2];if((k|0)==H[d+20>>2]){break l}m=H[k>>2];p=b+i|0;H[d+32>>2]=p;b=m<>>32-b|0;if((p|0)!=32){break n}H[d+32>>2]=0;H[d+28>>2]=k+4;break n}k=H[d+28>>2];p=k+4|0;if((p|0)==H[d+20>>2]){break l}r=H[k>>2];H[d+28>>2]=p;m=b-m|0;H[d+32>>2]=m;b=H[k+4>>2]>>>32-m|r<>>32-b}i=j>>>1|0;if(i>>>0>>0){break e}break k}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;H[c+(f<<2)>>2]=a;b=H[d+12>>2];f=f+1|0;if(b>>>0>f>>>0){continue}break}break j}i=j>>>1|0;b=0}o:{p:{b=i-b|0;c=j-b|0;q:{if((c|0)==(b|0)){c=b;break q}i=H[d+88>>2];if((i|0)==H[d+80>>2]){break p}j=H[i>>2];k=H[d+92>>2];m=k+1|0;H[d+92>>2]=m;j=j&-2147483648>>>k;r:{if((m|0)==32){H[d+92>>2]=0;H[d+88>>2]=i+4;if(j){break r}break p}if(!j){break p}}}i=c;c=b;break o}i=b}b=H[d+132>>2];j=b+f|0;f=H[j>>2];k=f+l|0;H[k>>2]=H[k>>2]+1;Aa(b+o|0,f,H[j+4>>2]);if(c){b=H[e+28>>2]+H[e+24>>2]|0;j=H[e+16>>2];f=H[e+12>>2];if((b|0)==(((f|0)!=(j|0)?N(j-f>>2,341)-1|0:0)|0)){xa(e+8|0);f=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}j=(b>>>0)/341|0;b=H[(j<<2)+f>>2]+N(b-N(j,341)|0,12)|0;H[b+8>>2]=g;H[b+4>>2]=a;H[b>>2]=c;H[e+28>>2]=H[e+28>>2]+1}if(!i){break g}b=H[e+28>>2]+H[e+24>>2]|0;c=H[e+16>>2];f=H[e+12>>2];if((b|0)==(((c|0)!=(f|0)?N(c-f>>2,341)-1|0:0)|0)){xa(e+8|0);f=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}c=(b>>>0)/341|0;b=H[(c<<2)+f>>2]+N(b-N(c,341)|0,12)|0;H[b+8>>2]=n;H[b+4>>2]=a;H[b>>2]=i;a=H[e+28>>2]+1|0;H[e+28>>2]=a;break f}m=0;if(!j){break g}while(1){if(H[d+12>>2]){i=H[d+40>>2];p=H[o>>2];c=H[d+96>>2];r=H[d+108>>2];a=0;while(1){g=r+(a<<2)|0;H[c+(H[g>>2]<<2)>>2]=0;b=H[d>>2];f=H[g>>2]<<2;l=H[f+p>>2];s:{if((b|0)==(l|0)){break s}f=c+f|0;b=b-l|0;l=H[d+52>>2];q=32-l|0;if((b|0)<=(q|0)){n=H[d+48>>2];if((n|0)==(i|0)){c=0;break e}H[f>>2]=H[n>>2]<>>32-b;b=b+H[d+52>>2]|0;H[d+52>>2]=b;if((b|0)!=32){break s}H[d+52>>2]=0;H[d+48>>2]=n+4;break s}n=H[d+48>>2];t=n+4|0;if((i|0)==(t|0)){c=0;break e}u=H[n>>2];H[d+48>>2]=t;q=b-q|0;H[d+52>>2]=q;H[f>>2]=H[n+4>>2]>>>32-q|u<>>32-b}b=H[g>>2]<<2;g=b+c|0;H[g>>2]=H[g>>2]|H[b+H[k>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}i=0;a=H[h+16>>2];t:{if((a|0)==H[h+20>>2]){break t}while(1){f=H[h+28>>2];c=N(i,20)+a|0;l=H[c>>2];if(!I[l+84|0]){f=H[H[l+68>>2]+(f<<2)>>2]}if(K[l+80>>2]<=f>>>0){break t}n=H[d+96>>2]+(H[c+4>>2]<<2)|0;g=H[c+12>>2];b=n;u:{if(g>>>0>3){break u}a=0;b=H[h+12>>2];if(!H[c+16>>2]){break u}while(1){b=qa(b,n+(a<<2)|0,g);g=H[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[h+12>>2]}a=H[l+40>>2];qa(H[H[l>>2]>>2]+N(a,f)|0,b,a);i=i+1|0;a=H[h+16>>2];if(i>>>0<(H[h+20>>2]-a|0)/20>>>0){continue}break}}H[h+28>>2]=H[h+28>>2]+1;H[d+8>>2]=H[d+8>>2]+1;m=m+1|0;if((j|0)!=(m|0)){continue}break}}a=H[e+28>>2]}if(a){continue}break}c=1}H[e+28>>2]=0;f=H[e+16>>2];a=H[e+12>>2];b=f-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[e+12>>2]+4|0;H[e+12>>2]=a;f=H[e+16>>2];b=f-a|0;if(b>>>0>8){continue}break}}g=170;v:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:H[e+24>>2]=g;break;default:break v}}w:{if((a|0)==(f|0)){break w}while(1){oa(H[a>>2]);a=a+4|0;if((f|0)!=(a|0)){continue}break}a=H[e+16>>2];b=H[e+12>>2];if((a|0)==(b|0)){break w}H[e+16>>2]=a+((b-a|0)+3&-4)}a=H[e+8>>2];if(a){oa(a)}ca=e+32|0;break b}sa();v()}sa();v()}i=c}return i}function zd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=H[b+8>>2];l=H[b+12>>2];k=H[b+20>>2];i=H[b+16>>2];f=i+4|0;k=f>>>0<4?k+1|0:k;a:{if(f>>>0>j>>>0&(k|0)>=(l|0)|(k|0)>(l|0)){break a}i=i+H[b>>2]|0;H[a>>2]=I[i|0]|I[i+1|0]<<8|(I[i+2|0]<<16|I[i+3|0]<<24);i=H[b+20>>2];j=i;f=H[b+16>>2];i=f+4|0;l=i>>>0<4?j+1|0:j;H[b+16>>2]=i;H[b+20>>2]=l;if(K[a>>2]>32){break a}l=H[b+8>>2];k=H[b+12>>2];f=f+8|0;j=f>>>0<8?j+1|0:j;if((k|0)<=(j|0)&f>>>0>l>>>0|(k|0)<(j|0)){break a}i=H[b>>2]+i|0;f=I[i|0]|I[i+1|0]<<8|(I[i+2|0]<<16|I[i+3|0]<<24);H[a+4>>2]=f;j=H[b+20>>2];i=H[b+16>>2]+4|0;j=i>>>0<4?j+1|0:j;H[b+16>>2]=i;H[b+20>>2]=j;if(!f){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!ua(a+16|0,b)){break a}if(!ua(a+36|0,b)){break a}if(!ua(a+56|0,b)){break a}if(!ua(a+76|0,b)){break a}t=H[a+4>>2];i=c;b=0;c=0;e=ca-32|0;ca=e;f=a;a=H[a+12>>2];H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=pa(d);H[e+8>>2]=b;c=b+d|0;H[e+16>>2]=c;ra(b,0,d);H[e+12>>2]=c}g=H[f+120>>2];d=H[g>>2];if(d){H[g+4>>2]=d;oa(d);c=H[e+12>>2];b=H[e+8>>2];a=H[f+12>>2]}H[g+4>>2]=c;H[g>>2]=b;H[g+8>>2]=H[e+16>>2];b=0;H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;h=pa(a);H[e+8>>2]=h;b=a+h|0;H[e+16>>2]=b;ra(h,0,a);H[e+12>>2]=b}c=H[f+132>>2];a=H[c>>2];if(a){H[c+4>>2]=a;oa(a);h=H[e+8>>2];b=H[e+12>>2]}H[c+4>>2]=b;H[c>>2]=h;H[c+8>>2]=H[e+16>>2];H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;xa(e+8|0);b=H[e+24>>2]+H[e+28>>2]|0;a=(b>>>0)/341|0;a=H[H[e+12>>2]+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=t;d=1;a=H[e+28>>2]+1|0;H[e+28>>2]=a;e:{if(!a){break e}while(1){j=H[e+12>>2];g=H[e+24>>2];d=a-1|0;c=g+d|0;b=(c>>>0)/341|0;b=H[j+(b<<2)>>2]+N(c-N(b,341)|0,12)|0;n=H[b+8>>2];c=H[b+4>>2];m=H[b>>2];H[e+28>>2]=d;b=H[e+16>>2];if((((b|0)!=(j|0)?N(b-j>>2,341)-1|0:0)-(a+g|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[e+16>>2]=H[e+16>>2]-4}if(m>>>0>t>>>0){d=0;break e}d=0;b=H[f+12>>2];a=(c|0)!=(b-1|0)?c+1|0:0;if(a>>>0>=b>>>0){break e}b=H[f+120>>2];o=N(n,12);q=b+o|0;g=H[f>>2];h=a<<2;l=o+H[f+132>>2]|0;c=H[h+H[l>>2]>>2];f:{g:{if((g|0)==(c|0)){if(!m){break g}h=0;b=H[i+20>>2];c=H[i+16>>2];if((b|0)==(c|0)){a=H[f+8>>2];H[i+28>>2]=m+H[i+28>>2];H[f+8>>2]=a+m;break g}while(1){d=(b|0)==(c|0);a=b;g=0;b=c;h:{if(d){break h}while(1){d=H[i+28>>2];b=a;k=N(g,20)+c|0;l=H[k>>2];if(!I[l+84|0]){d=H[H[l+68>>2]+(d<<2)>>2]}if(K[l+80>>2]<=d>>>0){break h}j=H[q>>2]+(H[k+4>>2]<<2)|0;c=H[k+12>>2];b=j;i:{if(c>>>0>3){break i}a=0;b=H[i+12>>2];if(!H[k+16>>2]){break i}while(1){b=qa(b,j+(a<<2)|0,c);c=H[k+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[i+12>>2]}a=H[l+40>>2];qa(H[H[l>>2]>>2]+N(a,d)|0,b,a);g=g+1|0;a=H[i+20>>2];b=a;c=H[i+16>>2];if(g>>>0<(b-c|0)/20>>>0){continue}break}}H[i+28>>2]=H[i+28>>2]+1;H[f+8>>2]=H[f+8>>2]+1;h=h+1|0;if((m|0)!=(h|0)){continue}break}break g}j:{k:{l:{m:{if(m>>>0<=2){c=H[f+108>>2];H[c>>2]=a;h=1;b=H[f+12>>2];if(b>>>0>1){break m}break j}if(K[f+8>>2]>K[f+4>>2]){break e}j=b;b=o+12|0;Aa(j+b|0,H[q>>2],H[q+4>>2]);b=h+H[b+H[f+120>>2]>>2]|0;H[b>>2]=H[b>>2]+(1<>2];g=32-l|0;n:{if((k|0)<=(g|0)){g=H[f+28>>2];if((g|0)==H[f+20>>2]){break l}c=H[g>>2];b=k+l|0;H[f+32>>2]=b;c=c<>>32-k|0;if((b|0)!=32){break n}H[f+32>>2]=0;H[f+28>>2]=g+4;break n}j=H[f+28>>2];b=j+4|0;if((b|0)==H[f+20>>2]){break l}c=H[j>>2];H[f+28>>2]=b;b=k-g|0;H[f+32>>2]=b;c=H[j+4>>2]>>>32-b|c<>>32-k}g=m>>>1|0;if(g>>>0>>0){break e}break k}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;H[c+(h<<2)>>2]=a;b=H[f+12>>2];h=h+1|0;if(b>>>0>h>>>0){continue}break}break j}g=m>>>1|0;c=0}k=n+1|0;o:{p:{b=g-c|0;c=m-b|0;q:{if((c|0)==(b|0)){c=b;break q}l=H[f+88>>2];if((l|0)==H[f+80>>2]){break p}j=H[l>>2];g=H[f+92>>2];d=g+1|0;H[f+92>>2]=d;g=j&-2147483648>>>g;r:{if((d|0)==32){H[f+92>>2]=0;H[f+88>>2]=l+4;if(g){break r}break p}if(!g){break p}}}g=c;c=b;break o}g=b}l=H[f+132>>2];j=l+o|0;d=H[j>>2];b=d+h|0;H[b>>2]=H[b>>2]+1;Aa(l+N(k,12)|0,d,H[j+4>>2]);if(c){b=H[e+28>>2]+H[e+24>>2]|0;d=H[e+16>>2];h=H[e+12>>2];if((b|0)==(((d|0)!=(h|0)?N(d-h>>2,341)-1|0:0)|0)){xa(e+8|0);h=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}d=(b>>>0)/341|0;b=H[(d<<2)+h>>2]+N(b-N(d,341)|0,12)|0;H[b+8>>2]=n;H[b+4>>2]=a;H[b>>2]=c;H[e+28>>2]=H[e+28>>2]+1}if(!g){break g}b=H[e+28>>2]+H[e+24>>2]|0;c=H[e+16>>2];h=H[e+12>>2];if((b|0)==(((c|0)!=(h|0)?N(c-h>>2,341)-1|0:0)|0)){xa(e+8|0);h=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}c=(b>>>0)/341|0;b=H[(c<<2)+h>>2]+N(b-N(c,341)|0,12)|0;H[b+8>>2]=k;H[b+4>>2]=a;H[b>>2]=g;a=H[e+28>>2]+1|0;H[e+28>>2]=a;break f}r=0;if(!m){break g}while(1){if(H[f+12>>2]){u=H[f+40>>2];j=H[l>>2];s=H[f+96>>2];g=H[f+108>>2];a=0;while(1){n=(a<<2)+g|0;H[s+(H[n>>2]<<2)>>2]=0;d=H[f>>2];c=H[n>>2]<<2;b=H[c+j>>2];s:{if((d|0)==(b|0)){break s}o=c+s|0;p=d-b|0;h=H[f+52>>2];d=32-h|0;if((p|0)<=(d|0)){c=H[f+48>>2];if((c|0)==(u|0)){d=0;break e}H[o>>2]=H[c>>2]<>>32-p;b=p+H[f+52>>2]|0;H[f+52>>2]=b;if((b|0)!=32){break s}H[f+52>>2]=0;H[f+48>>2]=c+4;break s}k=H[f+48>>2];b=k+4|0;if((u|0)==(b|0)){d=0;break e}c=H[k>>2];H[f+48>>2]=b;b=p-d|0;H[f+52>>2]=b;H[o>>2]=H[k+4>>2]>>>32-b|c<>>32-p}c=H[n>>2]<<2;b=c+s|0;H[b>>2]=H[b>>2]|H[c+H[q>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}g=0;a=H[i+16>>2];t:{if((a|0)==H[i+20>>2]){break t}while(1){d=H[i+28>>2];h=N(g,20)+a|0;k=H[h>>2];if(!I[k+84|0]){d=H[H[k+68>>2]+(d<<2)>>2]}if(K[k+80>>2]<=d>>>0){break t}j=H[f+96>>2]+(H[h+4>>2]<<2)|0;c=H[h+12>>2];b=j;u:{if(c>>>0>3){break u}a=0;b=H[i+12>>2];if(!H[h+16>>2]){break u}while(1){b=qa(b,j+(a<<2)|0,c);c=H[h+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[i+12>>2]}a=H[k+40>>2];qa(H[H[k>>2]>>2]+N(a,d)|0,b,a);g=g+1|0;a=H[i+16>>2];if(g>>>0<(H[i+20>>2]-a|0)/20>>>0){continue}break}}H[i+28>>2]=H[i+28>>2]+1;H[f+8>>2]=H[f+8>>2]+1;r=r+1|0;if((m|0)!=(r|0)){continue}break}}a=H[e+28>>2]}if(a){continue}break}d=1}H[e+28>>2]=0;h=H[e+16>>2];a=H[e+12>>2];b=h-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[e+12>>2]+4|0;H[e+12>>2]=a;h=H[e+16>>2];b=h-a|0;if(b>>>0>8){continue}break}}c=170;v:{switch((b>>>2|0)-1|0){case 1:c=341;case 0:H[e+24>>2]=c;break;default:break v}}w:{if((a|0)==(h|0)){break w}while(1){oa(H[a>>2]);a=a+4|0;if((h|0)!=(a|0)){continue}break}b=H[e+16>>2];a=H[e+12>>2];if((b|0)==(a|0)){break w}H[e+16>>2]=b+((a-b|0)+3&-4)}a=H[e+8>>2];if(a){oa(a)}ca=e+32|0;g=d;break b}sa();v()}sa();v()}}return g}function wd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;i=H[b+8>>2];j=H[b+12>>2];n=H[b+20>>2];e=H[b+16>>2];h=e+4|0;n=h>>>0<4?n+1|0:n;a:{if(i>>>0>>0&(j|0)<=(n|0)|(j|0)<(n|0)){break a}e=e+H[b>>2]|0;H[a>>2]=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);e=H[b+20>>2];i=e;h=H[b+16>>2];e=h+4|0;j=e>>>0<4?i+1|0:i;H[b+16>>2]=e;H[b+20>>2]=j;if(K[a>>2]>32){break a}j=H[b+8>>2];n=H[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>j>>>0&(i|0)>=(n|0)|(i|0)>(n|0)){break a}e=H[b>>2]+e|0;h=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[a+4>>2]=h;i=H[b+20>>2];e=H[b+16>>2]+4|0;i=e>>>0<4?i+1|0:i;H[b+16>>2]=e;H[b+20>>2]=i;if(!h){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!sb(a+16|0,b)){break a}if(!ua(a+544|0,b)){break a}if(!ua(a+564|0,b)){break a}if(!ua(a+584|0,b)){break a}u=H[a+4>>2];d=c;b=0;c=0;f=ca-32|0;ca=f;g=a;a=H[a+12>>2];H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}e=a<<2;b=pa(e);H[f+8>>2]=b;c=b+e|0;H[f+16>>2]=c;ra(b,0,e);H[f+12>>2]=c}h=H[g+628>>2];e=H[h>>2];if(e){H[h+4>>2]=e;oa(e);c=H[f+12>>2];b=H[f+8>>2];a=H[g+12>>2]}H[h+4>>2]=c;H[h>>2]=b;H[h+8>>2]=H[f+16>>2];b=0;H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;k=pa(a);H[f+8>>2]=k;b=a+k|0;H[f+16>>2]=b;ra(k,0,a);H[f+12>>2]=b}c=H[g+640>>2];a=H[c>>2];if(a){H[c+4>>2]=a;oa(a);k=H[f+8>>2];b=H[f+12>>2]}H[c+4>>2]=b;H[c>>2]=k;H[c+8>>2]=H[f+16>>2];H[f+24>>2]=0;H[f+28>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;xa(f+8|0);b=H[f+24>>2]+H[f+28>>2]|0;a=(b>>>0)/341|0;a=H[H[f+12>>2]+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=u;c=1;a=H[f+28>>2]+1|0;H[f+28>>2]=a;e:{if(!a){break e}n=g+16|0;while(1){j=H[f+12>>2];h=H[f+24>>2];e=a-1|0;c=h+e|0;b=(c>>>0)/341|0;b=H[j+(b<<2)>>2]+N(c-N(b,341)|0,12)|0;q=H[b+8>>2];i=H[b+4>>2];o=H[b>>2];H[f+28>>2]=e;b=H[f+16>>2];if((((b|0)!=(j|0)?N(b-j>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[f+16>>2]=H[f+16>>2]-4}c=0;if(o>>>0>u>>>0){break e}a=H[g+12>>2];k=(i|0)!=(a-1|0)?i+1|0:0;if(k>>>0>=a>>>0){break e}p=N(q,12);w=p+H[g+640>>2]|0;r=p+H[g+628>>2]|0;h=H[g>>2];l=k<<2;e=H[l+H[w>>2]>>2];f:{g:{if((h|0)==(e|0)){if(!o){break g}c=H[d+16>>2];b=H[d+20>>2];m=0;while(1){e=(b|0)==(c|0);a=b;j=0;b=c;h:{if(e){break h}while(1){l=H[d+28>>2];b=a;i=N(j,20)+c|0;h=H[i>>2];if(!I[h+84|0]){l=H[H[h+68>>2]+(l<<2)>>2]}if(K[h+80>>2]<=l>>>0){break h}e=H[r>>2]+(H[i+4>>2]<<2)|0;c=H[i+12>>2];b=e;i:{if(c>>>0>3){break i}a=0;b=H[d+12>>2];if(!H[i+16>>2]){break i}while(1){b=qa(b,e+(a<<2)|0,c);c=H[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[d+12>>2]}a=H[h+40>>2];qa(H[H[h>>2]>>2]+N(a,l)|0,b,a);a=H[d+20>>2];b=a;j=j+1|0;c=H[d+16>>2];if(j>>>0<(a-c|0)/20>>>0){continue}break}}H[d+28>>2]=H[d+28>>2]+1;H[g+8>>2]=H[g+8>>2]+1;m=m+1|0;if((o|0)!=(m|0)){continue}break}break g}j:{k:{l:{if(o>>>0<=2){c=H[g+616>>2];H[c>>2]=k;a=1;b=H[g+12>>2];if(b>>>0>1){break l}break j}if(K[g+8>>2]>K[g+4>>2]){break e}a=H[g+628>>2];j=q+1|0;m=N(j,12);b=a+m|0;if((b|0)!=(r|0)){Aa(b,H[r>>2],H[r+4>>2]);a=H[g+628>>2]}a=l+H[a+m>>2]|0;H[a>>2]=H[a>>2]+(1<>>1|0;break k}while(1){b=Ba((a<<4)+n|0)|b<<1;a=a+1|0;if((c|0)!=(a|0)){continue}break}a=o>>>1|0;if(b>>>0<=a>>>0){break k}c=0;break e}while(1){k=(b-1|0)!=(k|0)?k+1|0:0;H[c+(a<<2)>>2]=k;a=a+1|0;b=H[g+12>>2];if(a>>>0>>0){continue}break}break j}m:{n:{b=a-b|0;a=o-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=H[g+596>>2];if((i|0)==H[g+588>>2]){break n}h=H[i>>2];e=H[g+600>>2];c=e+1|0;H[g+600>>2]=c;e=h&-2147483648>>>e;p:{if((c|0)==32){H[g+600>>2]=0;H[g+596>>2]=i+4;if(e){break p}break n}if(!e){break n}}}c=a;a=b;break m}c=b}i=H[g+640>>2];h=i+p|0;e=H[h>>2];b=e+l|0;H[b>>2]=H[b>>2]+1;Aa(i+m|0,e,H[h+4>>2]);if(a){m=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];b=H[f+12>>2];if((m|0)==(((b|0)!=(e|0)?N(e-b>>2,341)-1|0:0)|0)){xa(f+8|0);m=H[f+24>>2]+H[f+28>>2]|0;e=H[f+12>>2]}else{e=b}b=(m>>>0)/341|0;b=H[e+(b<<2)>>2]+N(m-N(b,341)|0,12)|0;H[b+8>>2]=q;H[b+4>>2]=k;H[b>>2]=a;H[f+28>>2]=H[f+28>>2]+1}if(!c){break g}b=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];a=H[f+12>>2];if((b|0)==(((a|0)!=(e|0)?N(e-a>>2,341)-1|0:0)|0)){xa(f+8|0);b=H[f+24>>2]+H[f+28>>2]|0;e=H[f+12>>2]}else{e=a}a=(b>>>0)/341|0;a=H[e+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+8>>2]=j;H[a+4>>2]=k;H[a>>2]=c;a=H[f+28>>2]+1|0;H[f+28>>2]=a;break f}k=0;if(!o){break g}while(1){if(H[g+12>>2]){q=H[g+548>>2];i=H[w>>2];t=H[g+604>>2];h=H[g+616>>2];a=0;while(1){p=(a<<2)+h|0;H[t+(H[p>>2]<<2)>>2]=0;e=H[g>>2];c=H[p>>2]<<2;b=H[c+i>>2];q:{if((e|0)==(b|0)){break q}l=c+t|0;s=e-b|0;m=H[g+560>>2];e=32-m|0;if((s|0)<=(e|0)){c=H[g+556>>2];if((c|0)==(q|0)){c=0;break e}H[l>>2]=H[c>>2]<>>32-s;b=s+H[g+560>>2]|0;H[g+560>>2]=b;if((b|0)!=32){break q}H[g+560>>2]=0;H[g+556>>2]=c+4;break q}j=H[g+556>>2];b=j+4|0;if((q|0)==(b|0)){c=0;break e}c=H[j>>2];H[g+556>>2]=b;b=s-e|0;H[g+560>>2]=b;H[l>>2]=H[j+4>>2]>>>32-b|c<>>32-s}c=H[p>>2]<<2;b=c+t|0;H[b>>2]=H[b>>2]|H[c+H[r>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}j=0;a=H[d+16>>2];r:{if((a|0)==H[d+20>>2]){break r}while(1){l=H[d+28>>2];i=N(j,20)+a|0;h=H[i>>2];if(!I[h+84|0]){l=H[H[h+68>>2]+(l<<2)>>2]}if(K[h+80>>2]<=l>>>0){break r}e=H[g+604>>2]+(H[i+4>>2]<<2)|0;c=H[i+12>>2];b=e;s:{if(c>>>0>3){break s}a=0;b=H[d+12>>2];if(!H[i+16>>2]){break s}while(1){b=qa(b,e+(a<<2)|0,c);c=H[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[d+12>>2]}a=H[h+40>>2];qa(H[H[h>>2]>>2]+N(a,l)|0,b,a);j=j+1|0;a=H[d+16>>2];if(j>>>0<(H[d+20>>2]-a|0)/20>>>0){continue}break}}H[d+28>>2]=H[d+28>>2]+1;H[g+8>>2]=H[g+8>>2]+1;k=k+1|0;if((o|0)!=(k|0)){continue}break}}a=H[f+28>>2]}if(a){continue}break}c=1}H[f+28>>2]=0;k=H[f+16>>2];a=H[f+12>>2];b=k-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[f+12>>2]+4|0;H[f+12>>2]=a;k=H[f+16>>2];b=k-a|0;if(b>>>0>8){continue}break}}d=170;t:{switch((b>>>2|0)-1|0){case 1:d=341;case 0:H[f+24>>2]=d;break;default:break t}}u:{if((a|0)==(k|0)){break u}while(1){oa(H[a>>2]);a=a+4|0;if((k|0)!=(a|0)){continue}break}b=H[f+16>>2];a=H[f+12>>2];if((b|0)==(a|0)){break u}H[f+16>>2]=b+((a-b|0)+3&-4)}a=H[f+8>>2];if(a){oa(a)}ca=f+32|0;break b}sa();v()}sa();v()}g=c}return g}function ud(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;i=H[b+8>>2];k=H[b+12>>2];o=H[b+20>>2];e=H[b+16>>2];h=e+4|0;o=h>>>0<4?o+1|0:o;a:{if(i>>>0>>0&(k|0)<=(o|0)|(k|0)<(o|0)){break a}e=e+H[b>>2]|0;H[a>>2]=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);e=H[b+20>>2];i=e;h=H[b+16>>2];e=h+4|0;k=e>>>0<4?i+1|0:i;H[b+16>>2]=e;H[b+20>>2]=k;if(K[a>>2]>32){break a}k=H[b+8>>2];o=H[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>k>>>0&(i|0)>=(o|0)|(i|0)>(o|0)){break a}e=H[b>>2]+e|0;h=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[a+4>>2]=h;i=H[b+20>>2];e=H[b+16>>2]+4|0;i=e>>>0<4?i+1|0:i;H[b+16>>2]=e;H[b+20>>2]=i;if(!h){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!sb(a+16|0,b)){break a}if(!ua(a+544|0,b)){break a}if(!ua(a+564|0,b)){break a}if(!ua(a+584|0,b)){break a}w=H[a+4>>2];d=c;b=0;c=0;f=ca-32|0;ca=f;g=a;a=H[a+12>>2];H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}e=a<<2;b=pa(e);H[f+8>>2]=b;c=b+e|0;H[f+16>>2]=c;ra(b,0,e);H[f+12>>2]=c}h=H[g+628>>2];e=H[h>>2];if(e){H[h+4>>2]=e;oa(e);c=H[f+12>>2];b=H[f+8>>2];a=H[g+12>>2]}H[h+4>>2]=c;H[h>>2]=b;H[h+8>>2]=H[f+16>>2];b=0;H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;j=pa(a);H[f+8>>2]=j;b=a+j|0;H[f+16>>2]=b;ra(j,0,a);H[f+12>>2]=b}c=H[g+640>>2];a=H[c>>2];if(a){H[c+4>>2]=a;oa(a);j=H[f+8>>2];b=H[f+12>>2]}H[c+4>>2]=b;H[c>>2]=j;H[c+8>>2]=H[f+16>>2];H[f+24>>2]=0;H[f+28>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;xa(f+8|0);b=H[f+24>>2]+H[f+28>>2]|0;a=(b>>>0)/341|0;a=H[H[f+12>>2]+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=w;c=1;a=H[f+28>>2]+1|0;H[f+28>>2]=a;e:{if(!a){break e}o=g+16|0;while(1){i=H[f+12>>2];h=H[f+24>>2];e=a-1|0;c=h+e|0;b=(c>>>0)/341|0;b=H[i+(b<<2)>>2]+N(c-N(b,341)|0,12)|0;q=H[b+8>>2];n=H[b>>2];H[f+28>>2]=e;b=H[f+16>>2];if((((b|0)!=(i|0)?N(b-i>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[f+16>>2]=H[f+16>>2]-4}c=0;if(n>>>0>w>>>0){break e}a=H[g+628>>2];p=N(q,12);t=p+H[g+640>>2]|0;j=Vd(g,n,t);if(j>>>0>=K[g+12>>2]){break e}r=a+p|0;h=H[g>>2];l=j<<2;e=H[l+H[t>>2]>>2];f:{g:{if((h|0)==(e|0)){if(!n){break g}c=H[d+16>>2];b=H[d+20>>2];m=0;while(1){e=(b|0)==(c|0);a=b;k=0;b=c;h:{if(e){break h}while(1){l=H[d+28>>2];b=a;i=N(k,20)+c|0;h=H[i>>2];if(!I[h+84|0]){l=H[H[h+68>>2]+(l<<2)>>2]}if(K[h+80>>2]<=l>>>0){break h}e=H[r>>2]+(H[i+4>>2]<<2)|0;c=H[i+12>>2];b=e;i:{if(c>>>0>3){break i}a=0;b=H[d+12>>2];if(!H[i+16>>2]){break i}while(1){b=qa(b,e+(a<<2)|0,c);c=H[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[d+12>>2]}a=H[h+40>>2];qa(H[H[h>>2]>>2]+N(a,l)|0,b,a);a=H[d+20>>2];b=a;k=k+1|0;c=H[d+16>>2];if(k>>>0<(a-c|0)/20>>>0){continue}break}}H[d+28>>2]=H[d+28>>2]+1;H[g+8>>2]=H[g+8>>2]+1;m=m+1|0;if((n|0)!=(m|0)){continue}break}break g}j:{k:{l:{if(n>>>0<=2){c=H[g+616>>2];H[c>>2]=j;a=1;b=H[g+12>>2];if(b>>>0>1){break l}break j}if(K[g+8>>2]>K[g+4>>2]){break e}a=H[g+628>>2];k=q+1|0;m=N(k,12);b=a+m|0;if((b|0)!=(r|0)){Aa(b,H[r>>2],H[r+4>>2]);a=H[g+628>>2]}a=l+H[a+m>>2]|0;H[a>>2]=H[a>>2]+(1<>>1|0;break k}while(1){b=Ba((a<<4)+o|0)|b<<1;a=a+1|0;if((c|0)!=(a|0)){continue}break}a=n>>>1|0;if(b>>>0<=a>>>0){break k}c=0;break e}while(1){j=(b-1|0)!=(j|0)?j+1|0:0;H[c+(a<<2)>>2]=j;a=a+1|0;b=H[g+12>>2];if(a>>>0>>0){continue}break}break j}m:{n:{b=a-b|0;a=n-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=H[g+596>>2];if((i|0)==H[g+588>>2]){break n}h=H[i>>2];e=H[g+600>>2];c=e+1|0;H[g+600>>2]=c;e=h&-2147483648>>>e;p:{if((c|0)==32){H[g+600>>2]=0;H[g+596>>2]=i+4;if(e){break p}break n}if(!e){break n}}}c=a;a=b;break m}c=b}i=H[g+640>>2];h=i+p|0;e=H[h>>2];b=e+l|0;H[b>>2]=H[b>>2]+1;Aa(i+m|0,e,H[h+4>>2]);if(a){m=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];b=H[f+12>>2];if((m|0)==(((b|0)!=(e|0)?N(e-b>>2,341)-1|0:0)|0)){xa(f+8|0);m=H[f+24>>2]+H[f+28>>2]|0;e=H[f+12>>2]}else{e=b}b=(m>>>0)/341|0;b=H[e+(b<<2)>>2]+N(m-N(b,341)|0,12)|0;H[b+8>>2]=q;H[b+4>>2]=j;H[b>>2]=a;H[f+28>>2]=H[f+28>>2]+1}if(!c){break g}b=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];a=H[f+12>>2];if((b|0)==(((a|0)!=(e|0)?N(e-a>>2,341)-1|0:0)|0)){xa(f+8|0);b=H[f+24>>2]+H[f+28>>2]|0;e=H[f+12>>2]}else{e=a}a=(b>>>0)/341|0;a=H[e+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+8>>2]=k;H[a+4>>2]=j;H[a>>2]=c;a=H[f+28>>2]+1|0;H[f+28>>2]=a;break f}j=0;if(!n){break g}while(1){if(H[g+12>>2]){q=H[g+548>>2];i=H[t>>2];u=H[g+604>>2];h=H[g+616>>2];a=0;while(1){p=(a<<2)+h|0;H[u+(H[p>>2]<<2)>>2]=0;e=H[g>>2];c=H[p>>2]<<2;b=H[c+i>>2];q:{if((e|0)==(b|0)){break q}l=c+u|0;s=e-b|0;m=H[g+560>>2];e=32-m|0;if((s|0)<=(e|0)){c=H[g+556>>2];if((c|0)==(q|0)){c=0;break e}H[l>>2]=H[c>>2]<>>32-s;b=s+H[g+560>>2]|0;H[g+560>>2]=b;if((b|0)!=32){break q}H[g+560>>2]=0;H[g+556>>2]=c+4;break q}k=H[g+556>>2];b=k+4|0;if((q|0)==(b|0)){c=0;break e}c=H[k>>2];H[g+556>>2]=b;b=s-e|0;H[g+560>>2]=b;H[l>>2]=H[k+4>>2]>>>32-b|c<>>32-s}c=H[p>>2]<<2;b=c+u|0;H[b>>2]=H[b>>2]|H[c+H[r>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}k=0;a=H[d+16>>2];r:{if((a|0)==H[d+20>>2]){break r}while(1){l=H[d+28>>2];i=N(k,20)+a|0;h=H[i>>2];if(!I[h+84|0]){l=H[H[h+68>>2]+(l<<2)>>2]}if(K[h+80>>2]<=l>>>0){break r}e=H[g+604>>2]+(H[i+4>>2]<<2)|0;c=H[i+12>>2];b=e;s:{if(c>>>0>3){break s}a=0;b=H[d+12>>2];if(!H[i+16>>2]){break s}while(1){b=qa(b,e+(a<<2)|0,c);c=H[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[d+12>>2]}a=H[h+40>>2];qa(H[H[h>>2]>>2]+N(a,l)|0,b,a);k=k+1|0;a=H[d+16>>2];if(k>>>0<(H[d+20>>2]-a|0)/20>>>0){continue}break}}H[d+28>>2]=H[d+28>>2]+1;H[g+8>>2]=H[g+8>>2]+1;j=j+1|0;if((n|0)!=(j|0)){continue}break}}a=H[f+28>>2]}if(a){continue}break}c=1}H[f+28>>2]=0;j=H[f+16>>2];a=H[f+12>>2];b=j-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[f+12>>2]+4|0;H[f+12>>2]=a;j=H[f+16>>2];b=j-a|0;if(b>>>0>8){continue}break}}d=170;t:{switch((b>>>2|0)-1|0){case 1:d=341;case 0:H[f+24>>2]=d;break;default:break t}}u:{if((a|0)==(j|0)){break u}while(1){oa(H[a>>2]);a=a+4|0;if((j|0)!=(a|0)){continue}break}b=H[f+16>>2];a=H[f+12>>2];if((b|0)==(a|0)){break u}H[f+16>>2]=b+((a-b|0)+3&-4)}a=H[f+8>>2];if(a){oa(a)}ca=f+32|0;break b}sa();v()}sa();v()}g=c}return g}function vd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;i=H[b+8>>2];k=H[b+12>>2];m=H[b+20>>2];f=H[b+16>>2];h=f+4|0;m=h>>>0<4?m+1|0:m;a:{if(i>>>0>>0&(k|0)<=(m|0)|(k|0)<(m|0)){break a}f=f+H[b>>2]|0;H[a>>2]=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);f=H[b+20>>2];i=f;h=H[b+16>>2];f=h+4|0;k=f>>>0<4?i+1|0:i;H[b+16>>2]=f;H[b+20>>2]=k;if(K[a>>2]>32){break a}k=H[b+8>>2];m=H[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>k>>>0&(i|0)>=(m|0)|(i|0)>(m|0)){break a}f=f+H[b>>2]|0;h=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[a+4>>2]=h;i=H[b+20>>2];f=H[b+16>>2]+4|0;i=f>>>0<4?i+1|0:i;H[b+16>>2]=f;H[b+20>>2]=i;if(!h){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!sb(a+16|0,b)){break a}if(!ua(a+544|0,b)){break a}if(!ua(a+564|0,b)){break a}if(!ua(a+584|0,b)){break a}u=H[a+4>>2];b=0;e=ca-32|0;ca=e;f=a;a=H[a+12>>2];H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=pa(d);H[e+8>>2]=b;g=b+d|0;H[e+16>>2]=g;ra(b,0,d);H[e+12>>2]=g}h=H[f+628>>2];d=H[h>>2];if(d){H[h+4>>2]=d;oa(d);g=H[e+12>>2];b=H[e+8>>2];a=H[f+12>>2]}H[h+4>>2]=g;H[h>>2]=b;H[h+8>>2]=H[e+16>>2];b=0;H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;j=pa(a);H[e+8>>2]=j;b=a+j|0;H[e+16>>2]=b;ra(j,0,a);H[e+12>>2]=b}d=H[f+640>>2];a=H[d>>2];if(a){H[d+4>>2]=a;oa(a);j=H[e+8>>2];b=H[e+12>>2]}H[d+4>>2]=b;H[d>>2]=j;H[d+8>>2]=H[e+16>>2];H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;xa(e+8|0);b=H[e+24>>2]+H[e+28>>2]|0;a=(b>>>0)/341|0;a=H[H[e+12>>2]+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=u;d=1;a=H[e+28>>2]+1|0;H[e+28>>2]=a;e:{if(!a){break e}m=f+16|0;while(1){k=H[e+12>>2];h=H[e+24>>2];g=a-1|0;d=h+g|0;b=(d>>>0)/341|0;b=H[k+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;q=H[b+8>>2];i=H[b+4>>2];n=H[b>>2];H[e+28>>2]=g;b=H[e+16>>2];if((((b|0)!=(k|0)?N(b-k>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[e+16>>2]=H[e+16>>2]-4}if(n>>>0>u>>>0){d=0;break e}d=0;a=H[f+12>>2];j=(i|0)!=(a-1|0)?i+1|0:0;if(j>>>0>=a>>>0){break e}a=H[f+628>>2];o=N(q,12);s=a+o|0;g=H[f>>2];l=j<<2;k=o+H[f+640>>2]|0;b=H[l+H[k>>2]>>2];f:{g:{if((g|0)==(b|0)){if(!n){break g}g=H[c+16>>2];b=H[c+20>>2];p=0;while(1){d=(b|0)==(g|0);a=b;j=0;b=g;h:{if(d){break h}while(1){d=H[c+28>>2];b=a;k=N(j,20)+g|0;i=H[k>>2];if(!I[i+84|0]){d=H[H[i+68>>2]+(d<<2)>>2]}if(K[i+80>>2]<=d>>>0){break h}h=H[s>>2]+(H[k+4>>2]<<2)|0;g=H[k+12>>2];b=h;i:{if(g>>>0>3){break i}a=0;b=H[c+12>>2];if(!H[k+16>>2]){break i}while(1){b=qa(b,h+(a<<2)|0,g);g=H[k+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[c+12>>2]}a=H[i+40>>2];qa(H[H[i>>2]>>2]+N(a,d)|0,b,a);a=H[c+20>>2];b=a;j=j+1|0;g=H[c+16>>2];if(j>>>0<(a-g|0)/20>>>0){continue}break}}H[c+28>>2]=H[c+28>>2]+1;H[f+8>>2]=H[f+8>>2]+1;p=p+1|0;if((p|0)!=(n|0)){continue}break}break g}j:{k:{l:{if(n>>>0<=2){d=H[f+616>>2];H[d>>2]=j;a=1;b=H[f+12>>2];if(b>>>0>1){break l}break j}if(K[f+8>>2]>K[f+4>>2]){break e}d=a;a=o+12|0;Aa(d+a|0,H[s>>2],H[s+4>>2]);a=l+H[a+H[f+628>>2]>>2]|0;H[a>>2]=H[a>>2]+(1<>>1|0;break k}while(1){b=Ba((a<<4)+m|0)|b<<1;a=a+1|0;if((d|0)!=(a|0)){continue}break}a=n>>>1|0;if(b>>>0<=a>>>0){break k}d=0;break e}while(1){j=(b-1|0)!=(j|0)?j+1|0:0;H[d+(a<<2)>>2]=j;a=a+1|0;b=H[f+12>>2];if(a>>>0>>0){continue}break}break j}k=q+1|0;m:{n:{b=a-b|0;a=n-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=H[f+596>>2];if((i|0)==H[f+588>>2]){break n}h=H[i>>2];g=H[f+600>>2];d=g+1|0;H[f+600>>2]=d;g=h&-2147483648>>>g;p:{if((d|0)==32){H[f+600>>2]=0;H[f+596>>2]=i+4;if(g){break p}break n}if(!g){break n}}}d=a;a=b;break m}d=b}i=H[f+640>>2];h=i+o|0;g=H[h>>2];b=g+l|0;H[b>>2]=H[b>>2]+1;Aa(i+N(k,12)|0,g,H[h+4>>2]);if(a){h=H[e+28>>2]+H[e+24>>2]|0;g=H[e+16>>2];b=H[e+12>>2];if((h|0)==(((b|0)!=(g|0)?N(g-b>>2,341)-1|0:0)|0)){xa(e+8|0);h=H[e+24>>2]+H[e+28>>2]|0;g=H[e+12>>2]}else{g=b}b=(h>>>0)/341|0;b=H[g+(b<<2)>>2]+N(h-N(b,341)|0,12)|0;H[b+8>>2]=q;H[b+4>>2]=j;H[b>>2]=a;H[e+28>>2]=H[e+28>>2]+1}if(!d){break g}b=H[e+28>>2]+H[e+24>>2]|0;g=H[e+16>>2];a=H[e+12>>2];if((b|0)==(((a|0)!=(g|0)?N(g-a>>2,341)-1|0:0)|0)){xa(e+8|0);b=H[e+24>>2]+H[e+28>>2]|0;g=H[e+12>>2]}else{g=a}a=(b>>>0)/341|0;a=H[g+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+8>>2]=k;H[a+4>>2]=j;H[a>>2]=d;a=H[e+28>>2]+1|0;H[e+28>>2]=a;break f}p=0;if(!n){break g}while(1){if(H[f+12>>2]){w=H[f+548>>2];i=H[k>>2];t=H[f+604>>2];h=H[f+616>>2];a=0;while(1){j=h+(a<<2)|0;H[(H[j>>2]<<2)+t>>2]=0;g=H[f>>2];d=H[j>>2]<<2;b=H[d+i>>2];q:{if((g|0)==(b|0)){break q}q=d+t|0;r=g-b|0;o=H[f+560>>2];g=32-o|0;if((r|0)<=(g|0)){d=H[f+556>>2];if((d|0)==(w|0)){d=0;break e}H[q>>2]=H[d>>2]<>>32-r;b=H[f+560>>2]+r|0;H[f+560>>2]=b;if((b|0)!=32){break q}H[f+560>>2]=0;H[f+556>>2]=d+4;break q}l=H[f+556>>2];b=l+4|0;if((b|0)==(w|0)){d=0;break e}d=H[l>>2];H[f+556>>2]=b;b=r-g|0;H[f+560>>2]=b;H[q>>2]=H[l+4>>2]>>>32-b|d<>>32-r}d=H[j>>2]<<2;b=d+t|0;H[b>>2]=H[b>>2]|H[d+H[s>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}j=0;a=H[c+16>>2];r:{if((a|0)==H[c+20>>2]){break r}while(1){d=H[c+28>>2];l=N(j,20)+a|0;i=H[l>>2];if(!I[i+84|0]){d=H[H[i+68>>2]+(d<<2)>>2]}if(K[i+80>>2]<=d>>>0){break r}h=H[f+604>>2]+(H[l+4>>2]<<2)|0;g=H[l+12>>2];b=h;s:{if(g>>>0>3){break s}a=0;b=H[c+12>>2];if(!H[l+16>>2]){break s}while(1){b=qa(b,h+(a<<2)|0,g);g=H[l+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[c+12>>2]}a=H[i+40>>2];qa(H[H[i>>2]>>2]+N(a,d)|0,b,a);j=j+1|0;a=H[c+16>>2];if(j>>>0<(H[c+20>>2]-a|0)/20>>>0){continue}break}}H[c+28>>2]=H[c+28>>2]+1;H[f+8>>2]=H[f+8>>2]+1;p=p+1|0;if((p|0)!=(n|0)){continue}break}}a=H[e+28>>2]}if(a){continue}break}d=1}H[e+28>>2]=0;j=H[e+16>>2];a=H[e+12>>2];b=j-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[e+12>>2]+4|0;H[e+12>>2]=a;j=H[e+16>>2];b=j-a|0;if(b>>>0>8){continue}break}}g=170;t:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:H[e+24>>2]=g;break;default:break t}}u:{if((a|0)==(j|0)){break u}while(1){oa(H[a>>2]);a=a+4|0;if((j|0)!=(a|0)){continue}break}b=H[e+16>>2];a=H[e+12>>2];if((b|0)==(a|0)){break u}H[e+16>>2]=b+((a-b|0)+3&-4)}a=H[e+8>>2];if(a){oa(a)}ca=e+32|0;break b}sa();v()}sa();v()}g=d}return g}function yd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;j=H[b+8>>2];e=H[b+12>>2];g=H[b+20>>2];h=H[b+16>>2];l=h+4|0;g=l>>>0<4?g+1|0:g;a:{if(j>>>0>>0&(e|0)<=(g|0)|(e|0)<(g|0)){break a}h=h+H[b>>2]|0;H[a>>2]=I[h|0]|I[h+1|0]<<8|(I[h+2|0]<<16|I[h+3|0]<<24);h=H[b+20>>2];e=h;j=H[b+16>>2];g=j+4|0;h=g>>>0<4?e+1|0:e;H[b+16>>2]=g;H[b+20>>2]=h;if(K[a>>2]>32){break a}k=H[b+8>>2];l=H[b+12>>2];h=e;e=j+8|0;h=e>>>0<8?h+1|0:h;if(e>>>0>k>>>0&(h|0)>=(l|0)|(h|0)>(l|0)){break a}h=H[b>>2]+g|0;g=I[h|0]|I[h+1|0]<<8|(I[h+2|0]<<16|I[h+3|0]<<24);H[a+4>>2]=g;h=H[b+20>>2];e=H[b+16>>2]+4|0;h=e>>>0<4?h+1|0:h;H[b+16>>2]=e;H[b+20>>2]=h;if(!g){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!ta(a+16|0,b)){break a}if(!ua(a+32|0,b)){break a}if(!ua(a+52|0,b)){break a}if(!ua(a+72|0,b)){break a}r=H[a+4>>2];h=c;b=0;g=0;e=ca-32|0;ca=e;d=a;a=H[a+12>>2];H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}c=a<<2;b=pa(c);H[e+8>>2]=b;g=b+c|0;H[e+16>>2]=g;ra(b,0,c);H[e+12>>2]=g}c=H[d+116>>2];i=H[c>>2];if(i){H[c+4>>2]=i;oa(i);g=H[e+12>>2];b=H[e+8>>2];a=H[d+12>>2]}H[c+4>>2]=g;H[c>>2]=b;H[c+8>>2]=H[e+16>>2];b=0;H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;f=pa(a);H[e+8>>2]=f;b=a+f|0;H[e+16>>2]=b;ra(f,0,a);H[e+12>>2]=b}a=H[d+128>>2];c=H[a>>2];if(c){H[a+4>>2]=c;oa(c);f=H[e+8>>2];b=H[e+12>>2]}H[a+4>>2]=b;H[a>>2]=f;H[a+8>>2]=H[e+16>>2];H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;xa(e+8|0);a=H[e+24>>2]+H[e+28>>2]|0;b=(a>>>0)/341|0;a=H[H[e+12>>2]+(b<<2)>>2]+N(a-N(b,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=r;c=1;a=H[e+28>>2]+1|0;H[e+28>>2]=a;e:{if(!a){break e}t=d+16|0;while(1){b=H[e+12>>2];f=H[e+24>>2];l=a-1|0;c=f+l|0;i=(c>>>0)/341|0;c=H[b+(i<<2)>>2]+N(c-N(i,341)|0,12)|0;g=H[c+8>>2];i=H[c+4>>2];j=H[c>>2];H[e+28>>2]=l;c=H[e+16>>2];if((((b|0)!=(c|0)?N(c-b>>2,341)-1|0:0)-(a+f|0)|0)+1>>>0>=682){oa(H[c-4>>2]);H[e+16>>2]=H[e+16>>2]-4}c=0;if(j>>>0>r>>>0){break e}b=H[d+12>>2];a=(b-1|0)!=(i|0)?i+1|0:0;if(a>>>0>=b>>>0){break e}f=N(g,12);o=f+H[d+128>>2]|0;l=f+H[d+116>>2]|0;i=H[d>>2];k=a<<2;n=H[k+H[o>>2]>>2];f:{if((i|0)==(n|0)){if(!j){break f}o=0;b=H[h+20>>2];g=H[h+16>>2];if((b|0)==(g|0)){a=H[d+8>>2];H[h+28>>2]=j+H[h+28>>2];H[d+8>>2]=a+j;break f}while(1){c=(b|0)==(g|0);a=b;i=0;b=g;g:{if(c){break g}while(1){f=H[h+28>>2];b=a;c=N(i,20)+g|0;k=H[c>>2];if(!I[k+84|0]){f=H[H[k+68>>2]+(f<<2)>>2]}if(K[k+80>>2]<=f>>>0){break g}n=H[l>>2]+(H[c+4>>2]<<2)|0;g=H[c+12>>2];b=n;h:{if(g>>>0>3){break h}a=0;b=H[h+12>>2];if(!H[c+16>>2]){break h}while(1){b=qa(b,n+(a<<2)|0,g);g=H[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[h+12>>2]}a=H[k+40>>2];qa(H[H[k>>2]>>2]+N(a,f)|0,b,a);i=i+1|0;a=H[h+20>>2];b=a;g=H[h+16>>2];if(i>>>0<(b-g|0)/20>>>0){continue}break}}H[h+28>>2]=H[h+28>>2]+1;H[d+8>>2]=H[d+8>>2]+1;o=o+1|0;if((j|0)!=(o|0)){continue}break}break f}i:{j:{k:{l:{if(j>>>0<=2){c=H[d+104>>2];H[c>>2]=a;f=1;b=H[d+12>>2];if(b>>>0>1){break l}break i}if(K[d+8>>2]>K[d+4>>2]){break e}b=H[d+116>>2];m=g+1|0;o=N(m,12);q=b+o|0;if((q|0)!=(l|0)){Aa(q,H[l>>2],H[l+4>>2]);b=H[d+116>>2]}b=k+H[b+o>>2]|0;H[b>>2]=H[b>>2]+(1<>2]=0;pc(t,Q(j)^31,e+4|0);b=j>>>1|0;i=H[e+4>>2];if(b>>>0>>0){break e}b=b-i|0;c=j-b|0;m:{if((c|0)==(b|0)){c=b;break m}i=H[d+84>>2];if((i|0)==H[d+76>>2]){break k}j=H[i>>2];l=H[d+88>>2];n=l+1|0;H[d+88>>2]=n;j=j&-2147483648>>>l;n:{if((n|0)==32){H[d+88>>2]=0;H[d+84>>2]=i+4;if(j){break n}break k}if(!j){break k}}}i=c;c=b;break j}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;H[c+(f<<2)>>2]=a;b=H[d+12>>2];f=f+1|0;if(b>>>0>f>>>0){continue}break}break i}i=b}b=H[d+128>>2];j=b+f|0;f=H[j>>2];l=f+k|0;H[l>>2]=H[l>>2]+1;Aa(b+o|0,f,H[j+4>>2]);if(c){b=H[e+28>>2]+H[e+24>>2]|0;j=H[e+16>>2];f=H[e+12>>2];if((b|0)==(((f|0)!=(j|0)?N(j-f>>2,341)-1|0:0)|0)){xa(e+8|0);f=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}j=(b>>>0)/341|0;b=H[(j<<2)+f>>2]+N(b-N(j,341)|0,12)|0;H[b+8>>2]=g;H[b+4>>2]=a;H[b>>2]=c;H[e+28>>2]=H[e+28>>2]+1}if(!i){break f}b=H[e+28>>2]+H[e+24>>2]|0;c=H[e+16>>2];f=H[e+12>>2];if((b|0)==(((c|0)!=(f|0)?N(c-f>>2,341)-1|0:0)|0)){xa(e+8|0);f=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}c=(b>>>0)/341|0;b=H[(c<<2)+f>>2]+N(b-N(c,341)|0,12)|0;H[b+8>>2]=m;H[b+4>>2]=a;H[b>>2]=i;H[e+28>>2]=H[e+28>>2]+1;break f}n=0;if(!j){break f}while(1){if(H[d+12>>2]){i=H[d+36>>2];q=H[o>>2];c=H[d+92>>2];u=H[d+104>>2];a=0;while(1){g=(a<<2)+u|0;H[c+(H[g>>2]<<2)>>2]=0;b=H[d>>2];f=H[g>>2]<<2;k=H[f+q>>2];o:{if((b|0)==(k|0)){break o}f=c+f|0;b=b-k|0;k=H[d+48>>2];p=32-k|0;if((b|0)<=(p|0)){m=H[d+44>>2];if((m|0)==(i|0)){c=0;break e}H[f>>2]=H[m>>2]<>>32-b;b=b+H[d+48>>2]|0;H[d+48>>2]=b;if((b|0)!=32){break o}H[d+48>>2]=0;H[d+44>>2]=m+4;break o}m=H[d+44>>2];s=m+4|0;if((i|0)==(s|0)){c=0;break e}w=H[m>>2];H[d+44>>2]=s;p=b-p|0;H[d+48>>2]=p;H[f>>2]=H[m+4>>2]>>>32-p|w<>>32-b}b=H[g>>2]<<2;g=b+c|0;H[g>>2]=H[g>>2]|H[b+H[l>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}i=0;a=H[h+16>>2];p:{if((a|0)==H[h+20>>2]){break p}while(1){f=H[h+28>>2];c=N(i,20)+a|0;k=H[c>>2];if(!I[k+84|0]){f=H[H[k+68>>2]+(f<<2)>>2]}if(K[k+80>>2]<=f>>>0){break p}m=H[d+92>>2]+(H[c+4>>2]<<2)|0;g=H[c+12>>2];b=m;q:{if(g>>>0>3){break q}a=0;b=H[h+12>>2];if(!H[c+16>>2]){break q}while(1){b=qa(b,m+(a<<2)|0,g);g=H[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[h+12>>2]}a=H[k+40>>2];qa(H[H[k>>2]>>2]+N(a,f)|0,b,a);i=i+1|0;a=H[h+16>>2];if(i>>>0<(H[h+20>>2]-a|0)/20>>>0){continue}break}}H[h+28>>2]=H[h+28>>2]+1;H[d+8>>2]=H[d+8>>2]+1;n=n+1|0;if((j|0)!=(n|0)){continue}break}}a=H[e+28>>2];if(a){continue}break}c=1}H[e+28>>2]=0;f=H[e+16>>2];a=H[e+12>>2];b=f-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[e+12>>2]+4|0;H[e+12>>2]=a;f=H[e+16>>2];b=f-a|0;if(b>>>0>8){continue}break}}g=170;r:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:H[e+24>>2]=g;break;default:break r}}s:{if((a|0)==(f|0)){break s}while(1){oa(H[a>>2]);a=a+4|0;if((f|0)!=(a|0)){continue}break}a=H[e+16>>2];b=H[e+12>>2];if((a|0)==(b|0)){break s}H[e+16>>2]=a+((b-a|0)+3&-4)}a=H[e+8>>2];if(a){oa(a)}ca=e+32|0;break b}sa();v()}sa();v()}i=c}return i}function xd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;i=H[b+8>>2];k=H[b+12>>2];n=H[b+20>>2];h=H[b+16>>2];f=h+4|0;n=f>>>0<4?n+1|0:n;a:{if((k|0)<=(n|0)&f>>>0>i>>>0|(k|0)<(n|0)){break a}h=h+H[b>>2]|0;H[a>>2]=I[h|0]|I[h+1|0]<<8|(I[h+2|0]<<16|I[h+3|0]<<24);h=H[b+20>>2];i=h;f=H[b+16>>2];h=f+4|0;k=h>>>0<4?i+1|0:i;H[b+16>>2]=h;H[b+20>>2]=k;if(K[a>>2]>32){break a}k=H[b+8>>2];n=H[b+12>>2];f=f+8|0;i=f>>>0<8?i+1|0:i;if(f>>>0>k>>>0&(i|0)>=(n|0)|(i|0)>(n|0)){break a}h=H[b>>2]+h|0;f=I[h|0]|I[h+1|0]<<8|(I[h+2|0]<<16|I[h+3|0]<<24);H[a+4>>2]=f;i=H[b+20>>2];h=H[b+16>>2]+4|0;i=h>>>0<4?i+1|0:i;H[b+16>>2]=h;H[b+20>>2]=i;if(!f){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!ta(a+16|0,b)){break a}if(!ua(a+32|0,b)){break a}if(!ua(a+52|0,b)){break a}if(!ua(a+72|0,b)){break a}u=H[a+4>>2];h=c;b=0;c=0;e=ca-32|0;ca=e;f=a;a=H[a+12>>2];H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=pa(d);H[e+8>>2]=b;c=b+d|0;H[e+16>>2]=c;ra(b,0,d);H[e+12>>2]=c}j=H[f+116>>2];d=H[j>>2];if(d){H[j+4>>2]=d;oa(d);c=H[e+12>>2];b=H[e+8>>2];a=H[f+12>>2]}H[j+4>>2]=c;H[j>>2]=b;H[j+8>>2]=H[e+16>>2];b=0;H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;g=pa(a);H[e+8>>2]=g;b=a+g|0;H[e+16>>2]=b;ra(g,0,a);H[e+12>>2]=b}c=H[f+128>>2];a=H[c>>2];if(a){H[c+4>>2]=a;oa(a);g=H[e+8>>2];b=H[e+12>>2]}H[c+4>>2]=b;H[c>>2]=g;H[c+8>>2]=H[e+16>>2];H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;xa(e+8|0);b=H[e+24>>2]+H[e+28>>2]|0;a=(b>>>0)/341|0;a=H[H[e+12>>2]+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=u;d=1;a=H[e+28>>2]+1|0;H[e+28>>2]=a;e:{if(!a){break e}n=f+16|0;while(1){i=H[e+12>>2];j=H[e+24>>2];d=a-1|0;c=j+d|0;b=(c>>>0)/341|0;b=H[i+(b<<2)>>2]+N(c-N(b,341)|0,12)|0;o=H[b+8>>2];c=H[b+4>>2];m=H[b>>2];H[e+28>>2]=d;b=H[e+16>>2];if((((b|0)!=(i|0)?N(b-i>>2,341)-1|0:0)-(a+j|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[e+16>>2]=H[e+16>>2]-4}if(m>>>0>u>>>0){d=0;break e}d=0;b=H[f+12>>2];a=(c|0)!=(b-1|0)?c+1|0:0;if(a>>>0>=b>>>0){break e}b=H[f+116>>2];p=N(o,12);r=b+p|0;j=H[f>>2];g=a<<2;k=p+H[f+128>>2]|0;c=H[g+H[k>>2]>>2];f:{if((j|0)==(c|0)){if(!m){break f}b=H[h+20>>2];c=H[h+16>>2];if((b|0)==(c|0)){a=H[f+8>>2];H[h+28>>2]=m+H[h+28>>2];H[f+8>>2]=a+m;break f}while(1){i=(b|0)==(c|0);a=b;j=0;b=c;g:{if(i){break g}while(1){g=H[h+28>>2];b=a;l=N(j,20)+c|0;k=H[l>>2];if(!I[k+84|0]){g=H[H[k+68>>2]+(g<<2)>>2]}if(K[k+80>>2]<=g>>>0){break g}i=H[r>>2]+(H[l+4>>2]<<2)|0;c=H[l+12>>2];b=i;h:{if(c>>>0>3){break h}a=0;b=H[h+12>>2];if(!H[l+16>>2]){break h}while(1){b=qa(b,i+(a<<2)|0,c);c=H[l+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[h+12>>2]}a=H[k+40>>2];qa(H[H[k>>2]>>2]+N(a,g)|0,b,a);j=j+1|0;a=H[h+20>>2];b=a;c=H[h+16>>2];if(j>>>0<(b-c|0)/20>>>0){continue}break}}H[h+28>>2]=H[h+28>>2]+1;H[f+8>>2]=H[f+8>>2]+1;d=d+1|0;if((m|0)!=(d|0)){continue}break}break f}i:{j:{k:{l:{if(m>>>0<=2){c=H[f+104>>2];H[c>>2]=a;g=1;b=H[f+12>>2];if(b>>>0>1){break l}break i}if(K[f+8>>2]>K[f+4>>2]){break e}i=b;b=p+12|0;Aa(i+b|0,H[r>>2],H[r+4>>2]);b=g+H[b+H[f+116>>2]>>2]|0;H[b>>2]=H[b>>2]+(1<>2]=0;pc(n,Q(m)^31,e+4|0);c=m>>>1|0;b=H[e+4>>2];if(c>>>0>>0){break e}l=o+1|0;b=c-b|0;c=m-b|0;m:{if((c|0)==(b|0)){c=b;break m}k=H[f+84>>2];if((k|0)==H[f+76>>2]){break k}i=H[k>>2];j=H[f+88>>2];d=j+1|0;H[f+88>>2]=d;j=i&-2147483648>>>j;n:{if((d|0)==32){H[f+88>>2]=0;H[f+84>>2]=k+4;if(j){break n}break k}if(!j){break k}}}j=c;c=b;break j}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;H[c+(g<<2)>>2]=a;b=H[f+12>>2];g=g+1|0;if(b>>>0>g>>>0){continue}break}break i}j=b}k=H[f+128>>2];i=k+p|0;d=H[i>>2];b=d+g|0;H[b>>2]=H[b>>2]+1;Aa(k+N(l,12)|0,d,H[i+4>>2]);if(c){b=H[e+28>>2]+H[e+24>>2]|0;d=H[e+16>>2];g=H[e+12>>2];if((b|0)==(((d|0)!=(g|0)?N(d-g>>2,341)-1|0:0)|0)){xa(e+8|0);g=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}d=(b>>>0)/341|0;b=H[(d<<2)+g>>2]+N(b-N(d,341)|0,12)|0;H[b+8>>2]=o;H[b+4>>2]=a;H[b>>2]=c;H[e+28>>2]=H[e+28>>2]+1}if(!j){break f}b=H[e+28>>2]+H[e+24>>2]|0;c=H[e+16>>2];g=H[e+12>>2];if((b|0)==(((c|0)!=(g|0)?N(c-g>>2,341)-1|0:0)|0)){xa(e+8|0);g=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}c=(b>>>0)/341|0;b=H[(c<<2)+g>>2]+N(b-N(c,341)|0,12)|0;H[b+8>>2]=l;H[b+4>>2]=a;H[b>>2]=j;H[e+28>>2]=H[e+28>>2]+1;break f}s=0;if(!m){break f}while(1){if(H[f+12>>2]){w=H[f+36>>2];i=H[k>>2];t=H[f+92>>2];j=H[f+104>>2];a=0;while(1){o=(a<<2)+j|0;H[t+(H[o>>2]<<2)>>2]=0;d=H[f>>2];c=H[o>>2]<<2;b=H[c+i>>2];o:{if((d|0)==(b|0)){break o}p=c+t|0;q=d-b|0;g=H[f+48>>2];d=32-g|0;if((q|0)<=(d|0)){c=H[f+44>>2];if((c|0)==(w|0)){d=0;break e}H[p>>2]=H[c>>2]<>>32-q;b=q+H[f+48>>2]|0;H[f+48>>2]=b;if((b|0)!=32){break o}H[f+48>>2]=0;H[f+44>>2]=c+4;break o}l=H[f+44>>2];b=l+4|0;if((w|0)==(b|0)){d=0;break e}c=H[l>>2];H[f+44>>2]=b;b=q-d|0;H[f+48>>2]=b;H[p>>2]=H[l+4>>2]>>>32-b|c<>>32-q}c=H[o>>2]<<2;b=c+t|0;H[b>>2]=H[b>>2]|H[c+H[r>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}j=0;a=H[h+16>>2];p:{if((a|0)==H[h+20>>2]){break p}while(1){g=H[h+28>>2];l=N(j,20)+a|0;i=H[l>>2];if(!I[i+84|0]){g=H[H[i+68>>2]+(g<<2)>>2]}if(K[i+80>>2]<=g>>>0){break p}d=H[f+92>>2]+(H[l+4>>2]<<2)|0;c=H[l+12>>2];b=d;q:{if(c>>>0>3){break q}a=0;b=H[h+12>>2];if(!H[l+16>>2]){break q}while(1){b=qa(b,d+(a<<2)|0,c);c=H[l+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[h+12>>2]}a=H[i+40>>2];qa(H[H[i>>2]>>2]+N(a,g)|0,b,a);j=j+1|0;a=H[h+16>>2];if(j>>>0<(H[h+20>>2]-a|0)/20>>>0){continue}break}}H[h+28>>2]=H[h+28>>2]+1;H[f+8>>2]=H[f+8>>2]+1;s=s+1|0;if((m|0)!=(s|0)){continue}break}}a=H[e+28>>2];if(a){continue}break}d=1}H[e+28>>2]=0;g=H[e+16>>2];a=H[e+12>>2];b=g-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[e+12>>2]+4|0;H[e+12>>2]=a;g=H[e+16>>2];b=g-a|0;if(b>>>0>8){continue}break}}c=170;r:{switch((b>>>2|0)-1|0){case 1:c=341;case 0:H[e+24>>2]=c;break;default:break r}}s:{if((a|0)==(g|0)){break s}while(1){oa(H[a>>2]);a=a+4|0;if((g|0)!=(a|0)){continue}break}b=H[e+16>>2];a=H[e+12>>2];if((b|0)==(a|0)){break s}H[e+16>>2]=b+((a-b|0)+3&-4)}a=H[e+8>>2];if(a){oa(a)}ca=e+32|0;j=d;break b}sa();v()}sa();v()}}return j}function $c(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;h=ca-32|0;ca=h;g=H[H[a+4>>2]+44>>2];c=H[a+8>>2];d=H[c>>2];c=H[c+4>>2];H[h+24>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;d=(c-d>>2>>>0)/3|0;c=H[g+96>>2];f=(H[g+100>>2]-c|0)/12|0;a:{if(d>>>0>f>>>0){e=d-f|0;i=H[g+104>>2];c=H[g+100>>2];if(e>>>0<=(i-c|0)/12>>>0){b:{if(!e){break b}d=c;f=N(e,12)-12|0;i=((f>>>0)/12|0)+1&3;if(i){while(1){l=H[h+20>>2];H[d>>2]=H[h+16>>2];H[d+4>>2]=l;H[d+8>>2]=H[h+24>>2];d=d+12|0;j=j+1|0;if((i|0)!=(j|0)){continue}break}}c=N(e,12)+c|0;if(f>>>0<36){break b}while(1){f=H[h+20>>2];H[d>>2]=H[h+16>>2];H[d+4>>2]=f;H[d+8>>2]=H[h+24>>2];H[d+20>>2]=H[h+24>>2];f=H[h+20>>2];H[d+12>>2]=H[h+16>>2];H[d+16>>2]=f;H[d+32>>2]=H[h+24>>2];f=H[h+20>>2];H[d+24>>2]=H[h+16>>2];H[d+28>>2]=f;f=H[h+20>>2];H[d+36>>2]=H[h+16>>2];H[d+40>>2]=f;H[d+44>>2]=H[h+24>>2];d=d+48|0;if((d|0)!=(c|0)){continue}break}}H[g+100>>2]=c;break a}c:{f=H[g+96>>2];n=(c-f|0)/12|0;d=n+e|0;if(d>>>0<357913942){f=(i-f|0)/12|0;i=f<<1;i=f>>>0>=178956970?357913941:d>>>0>>0?i:d;if(i){if(i>>>0>=357913942){break c}l=pa(N(i,12))}f=N(n,12)+l|0;d=f;e=N(e,12);n=e-12|0;q=((n>>>0)/12|0)+1&3;if(q){while(1){r=H[h+20>>2];H[d>>2]=H[h+16>>2];H[d+4>>2]=r;H[d+8>>2]=H[h+24>>2];d=d+12|0;j=j+1|0;if((q|0)!=(j|0)){continue}break}}e=e+f|0;if(n>>>0>=36){while(1){j=H[h+20>>2];H[d>>2]=H[h+16>>2];H[d+4>>2]=j;H[d+8>>2]=H[h+24>>2];H[d+20>>2]=H[h+24>>2];j=H[h+20>>2];H[d+12>>2]=H[h+16>>2];H[d+16>>2]=j;H[d+32>>2]=H[h+24>>2];j=H[h+20>>2];H[d+24>>2]=H[h+16>>2];H[d+28>>2]=j;j=H[h+20>>2];H[d+36>>2]=H[h+16>>2];H[d+40>>2]=j;H[d+44>>2]=H[h+24>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}j=H[g+96>>2];if((j|0)!=(c|0)){while(1){c=c-12|0;n=H[c+4>>2];f=f-12|0;d=f;H[d>>2]=H[c>>2];H[d+4>>2]=n;H[d+8>>2]=H[c+8>>2];if((c|0)!=(j|0)){continue}break}c=H[g+96>>2]}H[g+104>>2]=N(i,12)+l;H[g+100>>2]=e;H[g+96>>2]=f;if(c){oa(c)}break a}sa();v()}wa();v()}if(d>>>0>=f>>>0){break a}H[g+100>>2]=c+N(d,12)}d:{if(H[a+216>>2]==H[a+220>>2]){j=H[a+4>>2];c=H[j+44>>2];d=H[c+100>>2];f=H[c+96>>2];if((d|0)!=(f|0)){c=(d-f|0)/12|0;o=c>>>0<=1?1:c;c=0;while(1){d=H[a+8>>2];i=f+N(c,12)|0;g=N(c,3);e:{f:{if((g|0)==-1){e=H[(H[d>>2]+(g<<2)|0)+4>>2];k=-1;g=1;break f}e=-1;k=H[H[d>>2]+(g<<2)>>2];l=g+1|0;if((l|0)==-1){g=0;break f}e=H[H[d>>2]+(l<<2)>>2];g=g+2|0;m=-1;if((g|0)==-1){break e}}m=H[H[d>>2]+(g<<2)>>2]}H[i+8>>2]=m;H[i+4>>2]=e;H[i>>2]=k;c=c+1|0;if((o|0)!=(c|0)){continue}break}}H[H[j+4>>2]+80>>2]=b;c=1;break d}d=0;H[h+24>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;l=H[a+8>>2];c=H[l>>2];g=H[l+4>>2];H[h+8>>2]=0;H[h>>2]=0;H[h+4>>2]=0;b=0;g:{h:{i:{j:{k:{l:{if((c|0)!=(g|0)){c=g-c|0;if((c|0)<0){break l}b=pa(c);H[h>>2]=b;H[h+8>>2]=(c&-4)+b;u=h,w=ra(b,0,c)+c|0,H[u+4>>2]=w}c=H[l+24>>2];if((H[l+28>>2]-c|0)<4){break h}f=0;while(1){g=H[(p<<2)+c>>2];m:{if((g|0)==-1){break m}n:{if(H[H[a+120>>2]+(p>>>3&536870908)>>2]>>>p&1){break n}n=H[a+216>>2];c=H[a+220>>2];if((n|0)==(c|0)){break n}e=g+2|0;i=(g>>>0)%3|0;q=i?g-1|0:e;c=(c-n|0)/144|0;r=c>>>0<=1?1:c;j=0;t=(i|0)!=0|(e|0)!=-1;while(1){s=g<<2;i=N(j,144)+n|0;c=H[s+H[H[i+68>>2]>>2]>>2];o:{if(!(H[H[i+16>>2]+(c>>>3&536870908)>>2]>>>c&1)){break o}c=-1;p:{if(!t){break p}e=H[H[l+12>>2]+(q<<2)>>2];c=-1;if((e|0)==-1){break p}c=e-1|0;if((e>>>0)%3|0){break p}c=e+2|0}if((g|0)==(c|0)){break o}e=s;s=H[i+32>>2];i=H[e+s>>2];while(1){e=0;if((c|0)==-1){break g}if((i|0)!=H[s+(c<<2)>>2]){g=c;break n}q:{r:{if((c>>>0)%3|0){e=c-1|0;break r}e=c+2|0;m=-1;if((e|0)==-1){break q}}c=H[H[l+12>>2]+(e<<2)>>2];m=-1;if((c|0)==-1){break q}m=c-1|0;if((c>>>0)%3|0){break q}m=c+2|0}c=m;if((g|0)!=(c|0)){continue}break}}j=j+1|0;if((r|0)!=(j|0)){continue}break}}i=k-f|0;e=i>>2;H[(g<<2)+b>>2]=e;s:{if(k>>>0>>0){H[k>>2]=g;k=k+4|0;H[h+20>>2]=k;break s}c=e+1|0;if(c>>>0>=1073741824){break k}d=o-f|0;k=d>>>1|0;c=d>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}d=pa(c<<2)}else{d=0}e=d+(e<<2)|0;H[e>>2]=g;m=c<<2;c=va(d,f,i);o=m+c|0;H[h+24>>2]=o;k=e+4|0;H[h+20>>2]=k;H[h+16>>2]=c;if(f){oa(f);l=H[a+8>>2]}f=c}if((g|0)==-1){break m}t:{if((g>>>0)%3|0){c=g-1|0;break t}c=g+2|0;if((c|0)==-1){break m}}c=H[H[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=g;if((c|0)==(g|0)){break m}while(1){i=c;u:{v:{c=H[a+220>>2];j=H[a+216>>2];if((c|0)==(j|0)){break v}c=(c-j|0)/144|0;n=c>>>0<=1?1:c;c=0;while(1){q=H[(j+N(c,144)|0)+32>>2];r=i<<2;if(H[q+r>>2]==H[q+(e<<2)>>2]){c=c+1|0;if((n|0)!=(c|0)){continue}break v}break}j=k-d|0;e=j>>2;H[b+r>>2]=e;if(k>>>0>>0){H[k>>2]=i;k=k+4|0;H[h+20>>2]=k;f=d;break u}c=e+1|0;if(c>>>0>=1073741824){break i}f=o-d|0;k=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}f=pa(c<<2)}else{f=0}e=f+(e<<2)|0;H[e>>2]=i;m=c<<2;c=va(f,d,j);o=m+c|0;H[h+24>>2]=o;k=e+4|0;H[h+20>>2]=k;H[h+16>>2]=c;if(!d){d=c;break u}oa(d);l=H[a+8>>2];d=c;break u}H[(i<<2)+b>>2]=H[(e<<2)+b>>2]}if((i|0)==-1){break m}w:{if((i>>>0)%3|0){c=i-1|0;break w}c=i+2|0;if((c|0)==-1){break m}}c=H[H[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=i;if((c|0)!=(g|0)){continue}break}}p=p+1|0;c=H[l+24>>2];if((p|0)>2]-c>>2){continue}break}break h}sa();v()}sa();v()}wa();v()}sa();v()}i=H[a+4>>2];a=H[i+44>>2];c=H[a+100>>2];a=H[a+96>>2];x:{if((c|0)==(a|0)){break x}g=(c-a|0)/12|0;f=g>>>0<=1?1:g;l=f&1;c=0;if(g>>>0>=2){j=f&-2;g=0;while(1){e=N(c,12);f=e+b|0;o=H[f>>2];p=H[f+4>>2];e=a+e|0;H[e+8>>2]=H[f+8>>2];H[e>>2]=o;H[e+4>>2]=p;e=N(c|1,12);f=e+b|0;o=H[f>>2];p=H[f+4>>2];e=a+e|0;H[e+8>>2]=H[f+8>>2];H[e>>2]=o;H[e+4>>2]=p;c=c+2|0;g=g+2|0;if((j|0)!=(g|0)){continue}break}}if(!l){break x}g=N(c,12);c=g+b|0;f=H[c>>2];e=H[c+4>>2];a=a+g|0;H[a+8>>2]=H[c+8>>2];H[a>>2]=f;H[a+4>>2]=e}H[H[i+4>>2]+80>>2]=k-d>>2;e=1}c=e;if(b){oa(b)}if(!d){break d}H[h+20>>2]=d;oa(d)}ca=h+32|0;return c}function Fj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0;g=ca+-64|0;ca=g;H[a+8>>2]=e;y=a+32|0;f=H[y>>2];d=H[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){ya(y,e-d|0);H[g+56>>2]=0;H[g+60>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g>>2]=0;break b}if(d>>>0>e>>>0){H[a+36>>2]=f+(e<<2)}H[g+56>>2]=0;H[g+60>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g>>2]=0;d=0;if(!e){break a}}Pa(g+16|0,e,g);h=H[g+28>>2];d=H[g+32>>2]}H[g>>2]=0;d=d-h>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}H[g+32>>2]=(e<<2)+h;break c}Pa(g+16|12,e-d|0,g)}H[g>>2]=0;f=H[g+40>>2];d=H[g+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}H[g+44>>2]=f+(e<<2);break d}Pa(g+40|0,e-d|0,g)}H[g>>2]=0;f=H[g+52>>2];d=H[g+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}H[g+56>>2]=f+(e<<2);break e}Pa(g+52|0,e-d|0,g)}f:{if(H[a+8>>2]<=0){break f}i=H[g+16>>2];j=H[a+32>>2];h=0;while(1){d=h<<2;f=H[d+i>>2];m=H[a+16>>2];g:{if((f|0)>(m|0)){H[d+j>>2]=m;break g}d=d+j|0;m=H[a+12>>2];if((m|0)>(f|0)){H[d>>2]=m;break g}H[d>>2]=f}h=h+1|0;d=H[a+8>>2];if((h|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){i=d<<2;f=i+c|0;i=H[b+i>>2]+H[j+i>>2]|0;H[f>>2]=i;h:{if((i|0)>H[a+16>>2]){i=i-H[a+20>>2]|0}else{if((i|0)>=H[a+12>>2]){break h}i=i+H[a+20>>2]|0}H[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}G=H[a+52>>2];t=H[a+48>>2];z=pa(16);d=z;H[d>>2]=0;H[d+4>>2]=0;H[d+8>>2]=0;H[d+12>>2]=0;H[g+8>>2]=0;H[g>>2]=0;H[g+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;r=pa(d);H[g>>2]=r;H[g+8>>2]=d+r;ra(r,0,d)}A=1;d=H[a+56>>2];B=H[d>>2];d=H[d+4>>2]-B|0;j:{if((d|0)<8){break j}w=d>>2;I=(w|0)<=2?2:w;J=w>>>0<=1?1:w;C=e&-2;D=e&1;K=e&-4;E=e&3;F=e-1|0;L=e<<2;M=e>>>0<4;A=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(J|0)){o:{p:{f=H[(m<<2)+B>>2];if((f|0)==-1){break p}k=1;d=f+2|0;j=(f>>>0)%3|0;x=j?f-1|0:d;s=1<>2];O=n+(x>>>3&536870908)|0;i=0;P=(j|0)!=0|(d|0)!=-1;d=f;q:{while(1){r:{if(H[n+(d>>>3&536870908)>>2]>>>d&1){break r}j=H[H[H[t+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break r}l=H[G>>2];h=H[t+28>>2];p=H[l+(H[h+(j<<2)>>2]<<2)>>2];if((p|0)>=(m|0)){break r}q=j+1|0;q=H[l+(H[h+(((q>>>0)%3|0?q:j-2|0)<<2)>>2]<<2)>>2];if((q|0)>=(m|0)){break r}h=H[l+(H[h+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((h|0)>=(m|0)){break r}s:{if(!e){break s}j=H[(g+16|0)+N(i,12)>>2];l=N(e,h);q=N(e,q);p=N(e,p);h=0;o=0;if(F){while(1){H[j+(h<<2)>>2]=(H[(h+l<<2)+c>>2]+H[(h+q<<2)+c>>2]|0)-H[(h+p<<2)+c>>2];u=h|1;H[j+(u<<2)>>2]=(H[(l+u<<2)+c>>2]+H[(q+u<<2)+c>>2]|0)-H[(p+u<<2)+c>>2];h=h+2|0;o=o+2|0;if((C|0)!=(o|0)){continue}break}}if(!D){break s}H[j+(h<<2)>>2]=(H[(h+l<<2)+c>>2]+H[(h+q<<2)+c>>2]|0)-H[(h+p<<2)+c>>2]}j=4;i=i+1|0;if((i|0)==4){break q}}t:{if(k&1){h=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:h;if((j|0)==-1|H[n+(j>>>3&536870908)>>2]>>>j&1){break t}j=H[H[H[t+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break t}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break t}u:{if((d>>>0)%3|0){h=d-1|0;break u}h=d+2|0;d=-1;if((h|0)==-1){break t}}d=-1;if(H[n+(h>>>3&536870908)>>2]>>>h&1){break t}j=H[H[H[t+64>>2]+12>>2]+(h<<2)>>2];if((j|0)==-1){break t}if((j>>>0)%3|0){d=j-1|0;break t}d=j+2|0}v:{if((d|0)==(f|0)){break v}if((d|0)==-1&k){if(!P|s&H[O>>2]){break v}d=H[H[H[t+64>>2]+12>>2]+(x<<2)>>2];if((d|0)==-1){break v}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}j=i;if((j|0)<=0){break p}}if(e){ra(r,0,L)}d=j-1|0;q=(d<<2)+z|0;d=N(d,12)+a|0;u=d;x=H[d- -64>>2];k=0;d=H[g>>2];f=0;while(1){i=H[q>>2];H[q>>2]=i+1;if(i>>>0>=x>>>0){break j}w:{if(H[H[u+60>>2]+(i>>>3&536870908)>>2]>>>i&1){break w}f=f+1|0;if(!e){break w}n=H[(g+16|0)+N(k,12)>>2];i=0;h=0;p=0;if(!M){while(1){l=h<<2;o=l+d|0;H[o>>2]=H[l+n>>2]+H[o>>2];o=l|4;s=o+d|0;H[s>>2]=H[n+o>>2]+H[s>>2];o=l|8;s=o+d|0;H[s>>2]=H[n+o>>2]+H[s>>2];l=l|12;o=l+d|0;H[o>>2]=H[l+n>>2]+H[o>>2];h=h+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break w}while(1){l=h<<2;p=l+d|0;H[p>>2]=H[l+n>>2]+H[p>>2];h=h+1|0;i=i+1|0;if((E|0)!=(i|0)){continue}break}}k=k+1|0;if((k|0)!=(j|0)){continue}break}i=N(e,m);if(!f){break o}if(!e){break l}h=0;d=0;if(F){break n}break m}i=N(e,m)}if(H[a+8>>2]<=0){break k}k=(N(m-1|0,e)<<2)+c|0;j=H[y>>2];h=0;while(1){d=h<<2;f=H[d+k>>2];n=H[a+16>>2];x:{if((f|0)>(n|0)){H[d+j>>2]=n;break x}d=d+j|0;n=H[a+12>>2];if((n|0)>(f|0)){H[d>>2]=n;break x}H[d>>2]=f}h=h+1|0;f=H[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=H[i+k>>2]+H[j+i>>2]|0;H[f>>2]=i;y:{if((i|0)>H[a+16>>2]){i=i-H[a+20>>2]|0}else{if((i|0)>=H[a+12>>2]){break y}i=i+H[a+20>>2]|0}H[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}break k}Ca();v()}while(1){j=h<<2;k=j+r|0;H[k>>2]=H[k>>2]/(f|0);j=(j|4)+r|0;H[j>>2]=H[j>>2]/(f|0);h=h+2|0;d=d+2|0;if((C|0)!=(d|0)){continue}break}}if(!D){break l}d=(h<<2)+r|0;H[d>>2]=H[d>>2]/(f|0)}if(H[a+8>>2]<=0){break k}j=H[y>>2];h=0;while(1){d=h<<2;f=H[d+r>>2];k=H[a+16>>2];z:{if((f|0)>(k|0)){H[d+j>>2]=k;break z}d=d+j|0;k=H[a+12>>2];if((k|0)>(f|0)){H[d>>2]=k;break z}H[d>>2]=f}h=h+1|0;f=H[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=H[i+k>>2]+H[j+i>>2]|0;H[f>>2]=i;A:{if((i|0)>H[a+16>>2]){i=i-H[a+20>>2]|0}else{if((i|0)>=H[a+12>>2]){break A}i=i+H[a+20>>2]|0}H[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;A=(w|0)<=(m|0);if((m|0)!=(I|0)){continue}break}}a=H[g>>2];if(a){oa(a)}oa(z);a=H[g+52>>2];if(a){H[g+56>>2]=a;oa(a)}a=H[g+40>>2];if(a){H[g+44>>2]=a;oa(a)}a=H[g+28>>2];if(a){H[g+32>>2]=a;oa(a)}a=H[g+16>>2];if(a){H[g+20>>2]=a;oa(a)}ca=g- -64|0;return A|0}sa();v()}function oj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;h=ca+-64|0;ca=h;H[a+8>>2]=e;x=a+32|0;f=H[x>>2];d=H[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){ya(x,e-d|0);H[h+56>>2]=0;H[h+60>>2]=0;H[h+48>>2]=0;H[h+52>>2]=0;H[h+40>>2]=0;H[h+44>>2]=0;H[h+32>>2]=0;H[h+36>>2]=0;H[h+24>>2]=0;H[h+28>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;H[h>>2]=0;break b}if(d>>>0>e>>>0){H[a+36>>2]=f+(e<<2)}H[h+56>>2]=0;H[h+60>>2]=0;H[h+48>>2]=0;H[h+52>>2]=0;H[h+40>>2]=0;H[h+44>>2]=0;H[h+32>>2]=0;H[h+36>>2]=0;H[h+24>>2]=0;H[h+28>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;H[h>>2]=0;d=0;if(!e){break a}}Pa(h+16|0,e,h);i=H[h+28>>2];d=H[h+32>>2]}H[h>>2]=0;d=d-i>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}H[h+32>>2]=(e<<2)+i;break c}Pa(h+16|12,e-d|0,h)}H[h>>2]=0;f=H[h+40>>2];d=H[h+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}H[h+44>>2]=f+(e<<2);break d}Pa(h+40|0,e-d|0,h)}H[h>>2]=0;f=H[h+52>>2];d=H[h+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}H[h+56>>2]=f+(e<<2);break e}Pa(h+52|0,e-d|0,h)}f:{if(H[a+8>>2]<=0){break f}g=H[h+16>>2];j=H[a+32>>2];i=0;while(1){d=i<<2;f=H[d+g>>2];m=H[a+16>>2];g:{if((f|0)>(m|0)){H[d+j>>2]=m;break g}d=d+j|0;m=H[a+12>>2];if((m|0)>(f|0)){H[d>>2]=m;break g}H[d>>2]=f}i=i+1|0;d=H[a+8>>2];if((i|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){g=d<<2;f=g+c|0;g=H[b+g>>2]+H[g+j>>2]|0;H[f>>2]=g;h:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break h}g=g+H[a+20>>2]|0}H[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}G=H[a+52>>2];A=H[a+48>>2];y=pa(16);d=y;H[d>>2]=0;H[d+4>>2]=0;H[d+8>>2]=0;H[d+12>>2]=0;H[h+8>>2]=0;H[h>>2]=0;H[h+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;t=pa(d);H[h>>2]=t;H[h+8>>2]=d+t;ra(t,0,d)}z=1;d=H[a+56>>2];B=H[d>>2];d=H[d+4>>2]-B|0;j:{if((d|0)<8){break j}w=d>>2;I=(w|0)<=2?2:w;J=w>>>0<=1?1:w;C=e&-2;D=e&1;K=e&-4;E=e&3;F=e-1|0;L=e<<2;M=e>>>0<4;z=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(J|0)){o:{p:{f=H[(m<<2)+B>>2];if((f|0)==-1){break p}n=H[A+12>>2];d=f+2|0;g=(f>>>0)%3|0;q=n+((g?f-1|0:d)<<2)|0;j=0;u=(g|0)!=0|(d|0)!=-1;k=1;d=f;q:{while(1){g=H[n+(d<<2)>>2];r:{if((g|0)==-1){break r}l=-1;p=H[G>>2];r=H[A>>2];i=p+(H[r+(g<<2)>>2]<<2)|0;o=g+1|0;o=(o>>>0)%3|0?o:g-2|0;if((o|0)!=-1){l=H[r+(o<<2)>>2]}o=H[i>>2];s:{t:{if((g>>>0)%3|0){i=g-1|0;break t}i=g+2|0;s=-1;if((i|0)==-1){break s}}s=H[r+(i<<2)>>2]}if((m|0)<=(o|0)){break r}i=H[p+(l<<2)>>2];if((i|0)>=(m|0)){break r}l=H[p+(s<<2)>>2];if((l|0)>=(m|0)){break r}g=H[(h+16|0)+N(j,12)>>2];u:{if(!e){break u}l=N(e,l);r=N(e,i);p=N(e,o);i=0;s=0;if(F){while(1){H[g+(i<<2)>>2]=(H[(i+l<<2)+c>>2]+H[(i+r<<2)+c>>2]|0)-H[(i+p<<2)+c>>2];o=i|1;H[g+(o<<2)>>2]=(H[(l+o<<2)+c>>2]+H[(o+r<<2)+c>>2]|0)-H[(o+p<<2)+c>>2];i=i+2|0;s=s+2|0;if((C|0)!=(s|0)){continue}break}}if(!D){break u}H[g+(i<<2)>>2]=(H[(i+l<<2)+c>>2]+H[(i+r<<2)+c>>2]|0)-H[(i+p<<2)+c>>2]}g=4;j=j+1|0;if((j|0)==4){break q}}v:{if(k&1){i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;g=-1;if((d|0)==-1){break v}d=H[n+(d<<2)>>2];g=-1;if((d|0)==-1){break v}g=d+1|0;g=(g>>>0)%3|0?g:d-2|0;break v}w:{if((d>>>0)%3|0){i=d-1|0;break w}i=d+2|0;g=-1;if((i|0)==-1){break v}}d=H[n+(i<<2)>>2];g=-1;if((d|0)==-1){break v}g=d-1|0;if((d>>>0)%3|0){break v}g=d+2|0}d=g;x:{if((f|0)==(d|0)){break x}if((d|0)==-1&k){if(!u){break x}d=H[q>>2];if((d|0)==-1){break x}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}g=j;if((g|0)<=0){break p}}if(e){ra(t,0,L)}d=g-1|0;r=(d<<2)+y|0;d=N(d,12)+a|0;o=d;s=H[d- -64>>2];k=0;d=H[h>>2];f=0;while(1){j=H[r>>2];H[r>>2]=j+1;if(j>>>0>=s>>>0){break j}y:{if(H[H[o+60>>2]+(j>>>3&536870908)>>2]>>>j&1){break y}f=f+1|0;if(!e){break y}j=H[(h+16|0)+N(k,12)>>2];l=0;i=0;p=0;if(!M){while(1){n=i<<2;q=n+d|0;H[q>>2]=H[j+n>>2]+H[q>>2];q=n|4;u=q+d|0;H[u>>2]=H[j+q>>2]+H[u>>2];q=n|8;u=q+d|0;H[u>>2]=H[j+q>>2]+H[u>>2];n=n|12;q=n+d|0;H[q>>2]=H[j+n>>2]+H[q>>2];i=i+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break y}while(1){n=i<<2;p=n+d|0;H[p>>2]=H[j+n>>2]+H[p>>2];i=i+1|0;l=l+1|0;if((E|0)!=(l|0)){continue}break}}k=k+1|0;if((k|0)!=(g|0)){continue}break}g=N(e,m);if(!f){break o}if(!e){break l}i=0;d=0;if(F){break n}break m}g=N(e,m)}if(H[a+8>>2]<=0){break k}k=(N(m-1|0,e)<<2)+c|0;j=H[x>>2];i=0;while(1){d=i<<2;f=H[d+k>>2];l=H[a+16>>2];z:{if((f|0)>(l|0)){H[d+j>>2]=l;break z}d=d+j|0;l=H[a+12>>2];if((l|0)>(f|0)){H[d>>2]=l;break z}H[d>>2]=f}i=i+1|0;f=H[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=H[g+k>>2]+H[g+j>>2]|0;H[f>>2]=g;A:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break A}g=g+H[a+20>>2]|0}H[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}break k}Ca();v()}while(1){j=i<<2;k=j+t|0;H[k>>2]=H[k>>2]/(f|0);j=(j|4)+t|0;H[j>>2]=H[j>>2]/(f|0);i=i+2|0;d=d+2|0;if((C|0)!=(d|0)){continue}break}}if(!D){break l}d=(i<<2)+t|0;H[d>>2]=H[d>>2]/(f|0)}if(H[a+8>>2]<=0){break k}j=H[x>>2];i=0;while(1){d=i<<2;f=H[d+t>>2];k=H[a+16>>2];B:{if((f|0)>(k|0)){H[d+j>>2]=k;break B}d=d+j|0;k=H[a+12>>2];if((k|0)>(f|0)){H[d>>2]=k;break B}H[d>>2]=f}i=i+1|0;f=H[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=H[g+k>>2]+H[g+j>>2]|0;H[f>>2]=g;C:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break C}g=g+H[a+20>>2]|0}H[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;z=(w|0)<=(m|0);if((m|0)!=(I|0)){continue}break}}a=H[h>>2];if(a){oa(a)}oa(y);a=H[h+52>>2];if(a){H[h+56>>2]=a;oa(a)}a=H[h+40>>2];if(a){H[h+44>>2]=a;oa(a)}a=H[h+28>>2];if(a){H[h+32>>2]=a;oa(a)}a=H[h+16>>2];if(a){H[h+20>>2]=a;oa(a)}ca=h- -64|0;return z|0}sa();v()}function Od(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0;i=ca-80|0;ca=i;H[i+76>>2]=b;y=i+55|0;r=i+56|0;a:{b:{c:{d:{e:while(1){h=b;if((o^2147483647)<(f|0)){break d}o=f+o|0;f:{g:{h:{f=h;g=I[f|0];if(g){while(1){i:{b=g&255;j:{if(!b){b=f;break j}if((b|0)!=37){break i}g=f;while(1){if(I[g+1|0]!=37){b=g;break j}f=f+1|0;j=I[g+2|0];b=g+2|0;g=b;if((j|0)==37){continue}break}}f=f-h|0;x=o^2147483647;if((f|0)>(x|0)){break d}if(a){Ab(a,h,f)}if(f){continue e}H[i+76>>2]=b;f=b+1|0;p=-1;if(!(I[b+2|0]!=36|F[b+1|0]-48>>>0>=10)){p=F[b+1|0]-48|0;s=1;f=b+3|0}H[i+76>>2]=f;n=0;g=F[f|0];b=g-32|0;k:{if(b>>>0>31){k=f;break k}k=f;b=1<>2]=k;n=b|n;g=F[f+1|0];b=g-32|0;if(b>>>0>=32){break k}f=k;b=1<>>0>=10)){H[((F[k+1|0]<<2)+e|0)-192>>2]=10;g=k+3|0;s=1;b=H[((F[k+1|0]<<3)+d|0)-384>>2];break m}if(s){break h}g=k+1|0;if(!a){H[i+76>>2]=g;s=0;q=0;break l}b=H[c>>2];H[c>>2]=b+4;s=0;b=H[b>>2]}H[i+76>>2]=g;q=b;if((b|0)>=0){break l}q=0-q|0;n=n|8192;break l}q=Nd(i+76|0);if((q|0)<0){break d}g=H[i+76>>2]}f=0;m=-1;n:{if(I[g|0]!=46){b=g;u=0;break n}if(I[g+1|0]==42){o:{if(!(I[g+3|0]!=36|F[g+2|0]-48>>>0>=10)){H[((F[g+2|0]<<2)+e|0)-192>>2]=10;b=g+4|0;m=H[((F[g+2|0]<<3)+d|0)-384>>2];break o}if(s){break h}b=g+2|0;m=0;if(!a){break o}j=H[c>>2];H[c>>2]=j+4;m=H[j>>2]}H[i+76>>2]=b;u=(m^-1)>>>31|0;break n}H[i+76>>2]=g+1;m=Nd(i+76|0);b=H[i+76>>2];u=1}while(1){g=f;k=28;l=b;f=F[b|0];if(f-123>>>0<4294967238){break c}b=l+1|0;f=I[(f+N(g,58)|0)+13711|0];if(f-1>>>0<8){continue}break}H[i+76>>2]=b;p:{q:{if((f|0)!=27){if(!f){break c}if((p|0)>=0){H[(p<<2)+e>>2]=f;j=(p<<3)+d|0;f=H[j+4>>2];H[i+64>>2]=H[j>>2];H[i+68>>2]=f;break q}if(!a){break f}Md(i- -64|0,f,c);break p}if((p|0)>=0){break c}}f=0;if(!a){continue e}}j=n&-65537;n=n&8192?j:n;p=0;t=1132;k=r;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{f=F[l|0];f=g?(f&15)==3?f&-33:f:f;switch(f-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(f-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((f|0)==83){break w}break g}l=H[i+64>>2];j=H[i+68>>2];t=1132;break z}f=0;I:{switch(g&255){case 0:H[H[i+64>>2]>>2]=o;continue e;case 1:H[H[i+64>>2]>>2]=o;continue e;case 2:h=H[i+64>>2];H[h>>2]=o;H[h+4>>2]=o>>31;continue e;case 3:G[H[i+64>>2]>>1]=o;continue e;case 4:F[H[i+64>>2]]=o;continue e;case 6:H[H[i+64>>2]>>2]=o;continue e;case 7:break I;default:continue e}}h=H[i+64>>2];H[h>>2]=o;H[h+4>>2]=o>>31;continue e}m=m>>>0<=8?8:m;n=n|8;f=120}h=r;l=H[i+64>>2];j=H[i+68>>2];if(l|j){z=f&32;while(1){h=h-1|0;F[h|0]=z|I[(l&15)+14240|0];w=!j&l>>>0>15|(j|0)!=0;g=j;j=g>>>4|0;l=(g&15)<<28|l>>>4;if(w){continue}break}}if(!(H[i+64>>2]|H[i+68>>2])|!(n&8)){break y}t=(f>>>4|0)+1132|0;p=2;break y}f=r;h=H[i+68>>2];j=h;l=H[i+64>>2];if(h|l){while(1){f=f-1|0;F[f|0]=l&7|48;g=!j&l>>>0>7|(j|0)!=0;h=j;j=h>>>3|0;l=(h&7)<<29|l>>>3;if(g){continue}break}}h=f;if(!(n&8)){break y}f=r-h|0;m=(f|0)<(m|0)?m:f+1|0;break y}l=H[i+64>>2];h=H[i+68>>2];j=h;if((h|0)<0){f=0-(((l|0)!=0)+j|0)|0;j=f;l=0-l|0;H[i+64>>2]=l;H[i+68>>2]=f;p=1;t=1132;break z}if(n&2048){p=1;t=1133;break z}p=n&1;t=p?1134:1132}g=r;if(j){while(1){g=g-1|0;f=j;w=Tj(l,f,10,0);h=da;A=g,B=l-Rj(w,h,10,0)|48,F[A|0]=B;l=w;j=h;if(f>>>0>9){continue}break}}h=l;if(h){while(1){g=g-1|0;f=(h>>>0)/10|0;F[g|0]=h-N(f,10)|48;j=h>>>0>9;h=f;if(j){continue}break}}h=g}if((m|0)<0?u:0){break d}n=u?n&-65537:n;f=H[i+64>>2];j=H[i+68>>2];if(!(m|(f|j)!=0)){h=r;m=0;break g}f=!(f|j)+(r-h|0)|0;m=(f|0)<(m|0)?m:f;break g}g=m>>>0>=2147483647?2147483647:m;k=g;n=(g|0)!=0;h=H[i+64>>2];h=h?h:1614;f=h;J:{K:{L:{M:{if(!(f&3)|!g){break M}while(1){if(!I[f|0]){break L}k=k-1|0;n=(k|0)!=0;f=f+1|0;if(!(f&3)){break M}if(k){continue}break}}if(!n){break K}if(!(!I[f|0]|k>>>0<4)){while(1){l=H[f>>2];if((l^-1)&l-16843009&-2139062144){break L}f=f+4|0;k=k-4|0;if(k>>>0>3){continue}break}}if(!k){break K}}while(1){if(!I[f|0]){break J}f=f+1|0;k=k-1|0;if(k){continue}break}}f=0}f=f?f-h|0:g;k=f+h|0;if((m|0)>=0){n=j;m=f;break g}n=j;m=f;if(I[k|0]){break d}break g}if(m){g=H[i+64>>2];break u}f=0;ib(a,32,q,0,n);break t}H[i+12>>2]=0;H[i+8>>2]=H[i+64>>2];g=i+8|0;H[i+64>>2]=g;m=-1}f=0;N:{while(1){h=H[g>>2];if(!h){break N}j=Ld(i+4|0,h);h=(j|0)<0;if(!(h|j>>>0>m-f>>>0)){g=g+4|0;f=f+j|0;if(m>>>0>f>>>0){continue}break N}break}if(h){break b}}k=61;if((f|0)<0){break c}ib(a,32,q,f,n);if(!f){f=0;break t}k=0;g=H[i+64>>2];while(1){h=H[g>>2];if(!h){break t}h=Ld(i+4|0,h);k=h+k|0;if(k>>>0>f>>>0){break t}Ab(a,i+4|0,h);g=g+4|0;if(f>>>0>k>>>0){continue}break}}ib(a,32,q,f,n^8192);f=(f|0)<(q|0)?q:f;continue e}if((m|0)<0?u:0){break d}v()}F[i+55|0]=H[i+64>>2];m=1;h=y;n=j;break g}g=I[f+1|0];f=f+1|0;continue}}if(a){break a}if(!s){break f}f=1;while(1){a=H[(f<<2)+e>>2];if(a){Md((f<<3)+d|0,a,c);o=1;f=f+1|0;if((f|0)!=10){continue}break a}break}o=1;if(f>>>0>=10){break a}while(1){if(H[(f<<2)+e>>2]){break h}f=f+1|0;if((f|0)!=10){continue}break}break a}k=28;break c}l=k-h|0;j=(m|0)>(l|0)?m:l;if((j|0)>(p^2147483647)){break d}k=61;g=j+p|0;f=(g|0)<(q|0)?q:g;if((x|0)<(f|0)){break c}ib(a,32,f,g,n);Ab(a,t,p);ib(a,48,f,g,n^65536);ib(a,48,j,l,0);Ab(a,h,l);ib(a,32,f,g,n^8192);continue}break}o=0;break a}k=61}H[3992]=k}o=-1}ca=i+80|0;return o}function hj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;a:{b:{if((e|0)!=2){break b}H[a+8>>2]=2;H[a- -64>>2]=f;M=a+32|0;e=H[M>>2];d=H[a+36>>2]-e|0;c:{if(d>>>0<=7){ya(M,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}H[a+36>>2]=e+8}i=1;d=H[a+56>>2];d=H[d+4>>2]-H[d>>2]|0;if((d|0)<=0){break b}o=a+60|0;d=d>>>2|0;X=d>>>0<=1?1:d;Y=a+68|0;d=0;while(1){f=H[a+56>>2];e=H[f>>2];if(H[f+4>>2]-e>>2>>>0<=d>>>0){break a}k=ca-80|0;ca=k;f=-1;d:{e:{e=H[e+(d<<2)>>2];if((e|0)==-1){break e}i=H[o+32>>2];g=e+1|0;g=(g>>>0)%3|0?g:e-2|0;if((g|0)!=-1){f=H[H[i>>2]+(g<<2)>>2]}p=-1;e=e+((e>>>0)%3|0?-1:2)|0;if((e|0)!=-1){p=H[H[i>>2]+(e<<2)>>2]}i=H[o+36>>2];e=H[i>>2];i=H[i+4>>2]-e>>2;if(i>>>0<=f>>>0|i>>>0<=p>>>0){break e}f:{g:{h:{i:{j:{k:{j=H[e+(p<<2)>>2];f=H[e+(f<<2)>>2];if((j|0)>=(d|0)|(f|0)>=(d|0)){break k}i=(j<<3)+c|0;w=H[i+4>>2];g=(f<<3)+c|0;e=H[g+4>>2];l=H[i>>2];i=H[g>>2];if(!((l|0)!=(i|0)|(e|0)!=(w|0))){H[o+8>>2]=i;H[o+12>>2]=e;break j}p=H[H[o+4>>2]+(d<<2)>>2];H[k+72>>2]=0;H[k+76>>2]=0;g=k- -64|0;H[g>>2]=0;H[g+4>>2]=0;H[k+56>>2]=0;H[k+60>>2]=0;g=H[o>>2];if(!I[g+84|0]){p=H[H[g+68>>2]+(p<<2)>>2]}Sa(g,p,F[g+24|0],k+56|0);p=H[H[o+4>>2]+(f<<2)>>2];H[k+48>>2]=0;H[k+52>>2]=0;H[k+40>>2]=0;H[k+44>>2]=0;H[k+32>>2]=0;H[k+36>>2]=0;g=H[o>>2];if(!I[g+84|0]){p=H[H[g+68>>2]+(p<<2)>>2]}Sa(g,p,F[g+24|0],k+32|0);p=H[H[o+4>>2]+(j<<2)>>2];H[k+24>>2]=0;H[k+28>>2]=0;H[k+16>>2]=0;H[k+20>>2]=0;H[k+8>>2]=0;H[k+12>>2]=0;g=H[o>>2];if(!I[g+84|0]){p=H[H[g+68>>2]+(p<<2)>>2]}Sa(g,p,F[g+24|0],k+8|0);g=H[k+16>>2];n=H[k+40>>2];x=g-n|0;N=H[k+44>>2];g=H[k+20>>2]-(N+(g>>>0>>0)|0)|0;E=g;j=Rj(x,g,x,g);q=da;g=H[k+8>>2];z=H[k+32>>2];A=g-z|0;O=H[k+36>>2];g=H[k+12>>2]-(O+(g>>>0>>0)|0)|0;G=g;h=j;j=Rj(A,g,A,g);g=h+j|0;h=da+q|0;h=g>>>0>>0?h+1|0:h;j=H[k+24>>2];B=H[k+48>>2];C=j-B|0;P=H[k+52>>2];j=H[k+28>>2]-(P+(j>>>0>>0)|0)|0;J=j;m=g;g=Rj(C,j,C,j);r=m+g|0;h=da+h|0;s=g>>>0>r>>>0?h+1|0:h;if(!(s|r)){break k}p=0;D=Tj(-1,2147483647,r,s);f=i>>31;R=f;h=f>>31;Q=i;g=h;q=i^g;i=q-g|0;f=(f^g)-((g>>>0>q>>>0)+g|0)|0;g=f;f=e>>31;S=f;K=e;e=f>>31;q=K^e;m=q-e|0;h=f>>31;e=(h^f)-((e>>>0>q>>>0)+h|0)|0;f=(g|0)==(e|0)&i>>>0>m>>>0|e>>>0>>0;i=f?i:m;j=da;e=f?g:e;if((j|0)==(e|0)&i>>>0>D>>>0|e>>>0>j>>>0){break f}i=H[k+64>>2];T=H[k+68>>2];e=Rj(i-n|0,T-((i>>>0>>0)+N|0)|0,x,E);f=da;g=H[k+56>>2];U=H[k+60>>2];j=Rj(g-z|0,U-((g>>>0>>0)+O|0)|0,A,G);e=j+e|0;h=da+f|0;h=e>>>0>>0?h+1|0:h;f=e;m=H[k+72>>2];V=H[k+76>>2];e=Rj(m-B|0,V-((m>>>0>>0)+P|0)|0,C,J);j=f+e|0;f=da+h|0;q=e>>>0>j>>>0?f+1|0:f;e=l;D=e-Q|0;e=(e>>31)-((e>>>0>>0)+R|0)|0;W=e;l=e>>31;y=l^D;f=y-l|0;h=e>>31;e=(h^e)-((l>>>0>y>>>0)+h|0)|0;h=e;y=w-K|0;e=(w>>31)-((w>>>0>>0)+S|0)|0;w=e;l=f;t=e>>31;u=t^y;L=u-t|0;f=e>>31;e=(f^e)-((t>>>0>u>>>0)+f|0)|0;f=(h|0)==(e|0)&l>>>0>L>>>0|e>>>0>>0;f=Tj(-1,2147483647,f?l:L,f?h:e)>>>0>>0;e=da;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break f}e=G>>31;f=e;l=e^A;e=l-e|0;f=(f^G)-((f>>>0>l>>>0)+f|0)|0;h=E>>31;t=h^x;u=t-h|0;l=(h^E)-((h>>>0>t>>>0)+h|0)|0;h=(f|0)==(l|0)&e>>>0>u>>>0|f>>>0>l>>>0;e=h?e:u;f=h?f:l;h=J>>31;L=e;t=h^C;u=t-h|0;l=(h^J)-((h>>>0>t>>>0)+h|0)|0;e=(f|0)==(l|0)&e>>>0>u>>>0|f>>>0>l>>>0;f=Tj(-1,2147483647,e?L:u,e?f:l)>>>0>>0;e=da;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break f}l=1;e=0;f=n;n=Sj(Rj(j,q,x,E),da,r,s);f=f+n|0;h=da+N|0;h=f>>>0>>0?h+1|0:h;n=i-f|0;f=T-((f>>>0>i>>>0)+h|0)|0;n=Rj(n,f,n,f);x=da;f=g;h=Sj(Rj(j,q,A,G),da,r,s);i=h+z|0;g=da+O|0;g=h>>>0>i>>>0?g+1|0:g;h=f-i|0;f=U-((f>>>0>>0)+g|0)|0;g=Rj(h,f,h,f);i=g+n|0;f=da+x|0;f=g>>>0>i>>>0?f+1|0:f;n=i;g=Sj(Rj(j,q,C,J),da,r,s);i=g+B|0;h=da+P|0;h=g>>>0>i>>>0?h+1|0:h;g=m-i|0;i=V-((i>>>0>m>>>0)+h|0)|0;m=Rj(g,i,g,i);i=m+n|0;g=da+f|0;f=Rj(i,i>>>0>>0?g+1|0:g,r,s);i=da;m=i;if(!i&f>>>0<=1){break i}h=f;while(1){g=e<<1|l>>>31;l=l<<1;e=g;n=!i&h>>>0>7|(i|0)!=0;h=(i&3)<<30|h>>>2;i=i>>>2|0;if(n){continue}break}break h}if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){H[o+8>>2]=0;H[o+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;H[o+8>>2]=H[e>>2];H[o+12>>2]=H[e+4>>2]}p=1;break f}e=m;l=f;if(f-1|0){break g}}while(1){i=Tj(f,m,l,e);h=e+da|0;e=i+l|0;h=e>>>0>>0?h+1|0:h;l=(h&1)<<31|e>>>1;e=h>>>1|0;i=Rj(l,e,l,e);g=da;if((m|0)==(g|0)&f>>>0>>0|g>>>0>m>>>0){continue}break}}f=H[o+20>>2];if(!f){break f}g=f-1|0;h=H[H[o+16>>2]+(g>>>3&536870908)>>2];H[o+20>>2]=g;p=1;f=Rj(j,q,y,w);i=da;n=Rj(r,s,K,S);m=n+f|0;f=da+i|0;f=m>>>0>>0?f+1|0:f;i=Rj(l,e,D,W);g=h>>>g&1;h=g?0-i|0:i;m=h+m|0;n=f;f=da;i=n+(g?0-(f+((i|0)!=0)|0)|0:f)|0;Z=o,_=Sj(m,h>>>0>m>>>0?i+1|0:i,r,s),H[Z+12>>2]=_;f=Rj(j,q,D,W);i=da;j=Rj(r,s,Q,R);f=j+f|0;h=da+i|0;e=Rj(l,e,y,w);i=0-e|0;l=da;h=(f>>>0>>0?h+1|0:h)+(g?l:0-(((e|0)!=0)+l|0)|0)|0;i=g?e:i;f=i+f|0;Z=o,_=Sj(f,f>>>0>>0?h+1|0:h,r,s),H[Z+8>>2]=_}ca=k+80|0;e=p;break d}Ca();v()}i=e;if(!e){return 0}l:{if(H[a+8>>2]<=0){break l}l=H[M>>2];e=0;while(1){f=e<<2;g=H[f+Y>>2];j=H[a+16>>2];m:{if((g|0)>(j|0)){H[f+l>>2]=j;break m}f=f+l|0;j=H[a+12>>2];if((j|0)>(g|0)){H[f>>2]=j;break m}H[f>>2]=g}e=e+1|0;g=H[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break l}e=d<<3;j=e+c|0;q=b+e|0;while(1){g=f<<2;e=g+j|0;g=H[g+q>>2]+H[g+l>>2]|0;H[e>>2]=g;n:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break n}g=g+H[a+20>>2]|0}H[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((X|0)!=(d|0)){continue}break}}return i|0}Ca();v()}function xj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;a:{b:{if((e|0)!=2){break b}H[a+8>>2]=2;H[a- -64>>2]=f;M=a+32|0;e=H[M>>2];d=H[a+36>>2]-e|0;c:{if(d>>>0<=7){ya(M,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}H[a+36>>2]=e+8}p=1;d=H[a+56>>2];d=H[d+4>>2]-H[d>>2]|0;if((d|0)<=0){break b}o=a+60|0;d=d>>>2|0;X=d>>>0<=1?1:d;Y=a+68|0;d=0;while(1){e=H[a+56>>2];h=H[e>>2];if(H[e+4>>2]-h>>2>>>0<=d>>>0){break a}k=ca-80|0;ca=k;f=-1;h=H[h+(d<<2)>>2];e=-1;d:{if((h|0)==-1){break d}e=h+1|0;f=(e>>>0)%3|0?e:h-2|0;e=h-1|0;if((h>>>0)%3|0){break d}e=h+2|0}g=H[o+36>>2];h=H[g>>2];e:{f:{g:{h:{i:{g=H[g+4>>2]-h>>2;i=f<<2;f=H[H[o+32>>2]+28>>2];j=H[i+f>>2];if(g>>>0<=j>>>0){break i}e=H[f+(e<<2)>>2];if(e>>>0>=g>>>0){break i}j:{k:{l=H[h+(e<<2)>>2];f=H[h+(j<<2)>>2];if((l|0)>=(d|0)|(f|0)>=(d|0)){break k}h=(l<<3)+c|0;w=H[h+4>>2];g=(f<<3)+c|0;e=H[g+4>>2];j=H[h>>2];h=H[g>>2];if(!((j|0)!=(h|0)|(e|0)!=(w|0))){H[o+8>>2]=h;H[o+12>>2]=e;break j}p=H[H[o+4>>2]+(d<<2)>>2];H[k+72>>2]=0;H[k+76>>2]=0;g=k- -64|0;H[g>>2]=0;H[g+4>>2]=0;H[k+56>>2]=0;H[k+60>>2]=0;g=H[o>>2];if(!I[g+84|0]){p=H[H[g+68>>2]+(p<<2)>>2]}Sa(g,p,F[g+24|0],k+56|0);p=H[H[o+4>>2]+(f<<2)>>2];H[k+48>>2]=0;H[k+52>>2]=0;H[k+40>>2]=0;H[k+44>>2]=0;H[k+32>>2]=0;H[k+36>>2]=0;g=H[o>>2];if(!I[g+84|0]){p=H[H[g+68>>2]+(p<<2)>>2]}Sa(g,p,F[g+24|0],k+32|0);p=H[H[o+4>>2]+(l<<2)>>2];H[k+24>>2]=0;H[k+28>>2]=0;H[k+16>>2]=0;H[k+20>>2]=0;H[k+8>>2]=0;H[k+12>>2]=0;g=H[o>>2];if(!I[g+84|0]){p=H[H[g+68>>2]+(p<<2)>>2]}Sa(g,p,F[g+24|0],k+8|0);g=H[k+16>>2];n=H[k+40>>2];x=g-n|0;N=H[k+44>>2];g=H[k+20>>2]-(N+(g>>>0>>0)|0)|0;E=g;l=Rj(x,g,x,g);q=da;g=H[k+8>>2];z=H[k+32>>2];A=g-z|0;O=H[k+36>>2];g=H[k+12>>2]-(O+(g>>>0>>0)|0)|0;G=g;i=l;l=Rj(A,g,A,g);g=i+l|0;i=da+q|0;i=g>>>0>>0?i+1|0:i;l=H[k+24>>2];B=H[k+48>>2];C=l-B|0;P=H[k+52>>2];l=H[k+28>>2]-(P+(l>>>0>>0)|0)|0;J=l;m=g;g=Rj(C,l,C,l);r=m+g|0;i=da+i|0;s=g>>>0>r>>>0?i+1|0:i;if(!(s|r)){break k}p=0;D=Tj(-1,2147483647,r,s);f=h>>31;R=f;i=f>>31;Q=h;g=i;q=h^g;h=q-g|0;f=(f^g)-((g>>>0>q>>>0)+g|0)|0;g=f;f=e>>31;S=f;K=e;e=f>>31;q=K^e;m=q-e|0;i=f>>31;e=(i^f)-((e>>>0>q>>>0)+i|0)|0;f=(g|0)==(e|0)&h>>>0>m>>>0|e>>>0>>0;h=f?h:m;l=da;e=f?g:e;if((l|0)==(e|0)&h>>>0>D>>>0|e>>>0>l>>>0){break e}h=H[k+64>>2];T=H[k+68>>2];e=Rj(h-n|0,T-((h>>>0>>0)+N|0)|0,x,E);f=da;g=H[k+56>>2];U=H[k+60>>2];l=Rj(g-z|0,U-((g>>>0>>0)+O|0)|0,A,G);e=l+e|0;i=da+f|0;i=e>>>0>>0?i+1|0:i;f=e;m=H[k+72>>2];V=H[k+76>>2];e=Rj(m-B|0,V-((m>>>0>>0)+P|0)|0,C,J);l=f+e|0;f=da+i|0;q=e>>>0>l>>>0?f+1|0:f;e=j;D=e-Q|0;e=(e>>31)-((e>>>0>>0)+R|0)|0;W=e;j=e>>31;y=j^D;f=y-j|0;i=e>>31;e=(i^e)-((j>>>0>y>>>0)+i|0)|0;i=e;y=w-K|0;e=(w>>31)-((w>>>0>>0)+S|0)|0;w=e;j=f;t=e>>31;u=t^y;L=u-t|0;f=e>>31;e=(f^e)-((t>>>0>u>>>0)+f|0)|0;f=(i|0)==(e|0)&j>>>0>L>>>0|e>>>0>>0;f=Tj(-1,2147483647,f?j:L,f?i:e)>>>0>>0;e=da;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break e}e=G>>31;f=e;j=e^A;e=j-e|0;f=(f^G)-((f>>>0>j>>>0)+f|0)|0;i=E>>31;t=i^x;u=t-i|0;j=(i^E)-((i>>>0>t>>>0)+i|0)|0;i=(f|0)==(j|0)&e>>>0>u>>>0|f>>>0>j>>>0;e=i?e:u;f=i?f:j;i=J>>31;L=e;t=i^C;u=t-i|0;j=(i^J)-((i>>>0>t>>>0)+i|0)|0;e=(f|0)==(j|0)&e>>>0>u>>>0|f>>>0>j>>>0;f=Tj(-1,2147483647,e?L:u,e?f:j)>>>0>>0;e=da;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break e}j=1;e=0;f=n;n=Sj(Rj(l,q,x,E),da,r,s);f=f+n|0;i=da+N|0;i=f>>>0>>0?i+1|0:i;n=h-f|0;f=T-((f>>>0>h>>>0)+i|0)|0;n=Rj(n,f,n,f);x=da;f=g;i=Sj(Rj(l,q,A,G),da,r,s);h=i+z|0;g=da+O|0;g=h>>>0>>0?g+1|0:g;i=f-h|0;f=U-((f>>>0>>0)+g|0)|0;g=Rj(i,f,i,f);h=g+n|0;f=da+x|0;f=h>>>0>>0?f+1|0:f;n=h;g=Sj(Rj(l,q,C,J),da,r,s);h=g+B|0;i=da+P|0;i=h>>>0>>0?i+1|0:i;g=m-h|0;h=V-((h>>>0>m>>>0)+i|0)|0;m=Rj(g,h,g,h);h=m+n|0;g=da+f|0;f=Rj(h,h>>>0>>0?g+1|0:g,r,s);h=da;m=h;if(!h&f>>>0<=1){break h}i=f;while(1){g=e<<1|j>>>31;j=j<<1;e=g;n=!h&i>>>0>7|(h|0)!=0;i=(h&3)<<30|i>>>2;h=h>>>2|0;if(n){continue}break}break g}if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){H[o+8>>2]=0;H[o+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;H[o+8>>2]=H[e>>2];H[o+12>>2]=H[e+4>>2]}p=1;break e}Ca();v()}e=m;j=f;if(f-1|0){break f}}while(1){h=Tj(f,m,j,e);i=e+da|0;e=h+j|0;i=e>>>0>>0?i+1|0:i;j=(i&1)<<31|e>>>1;e=i>>>1|0;h=Rj(j,e,j,e);g=da;if((m|0)==(g|0)&f>>>0>>0|g>>>0>m>>>0){continue}break}}f=H[o+20>>2];if(!f){break e}g=f-1|0;i=H[H[o+16>>2]+(g>>>3&536870908)>>2];H[o+20>>2]=g;p=1;f=Rj(l,q,y,w);h=da;n=Rj(r,s,K,S);m=n+f|0;f=da+h|0;f=m>>>0>>0?f+1|0:f;h=Rj(j,e,D,W);g=i>>>g&1;i=g?0-h|0:h;m=i+m|0;n=f;f=da;h=n+(g?0-(f+((h|0)!=0)|0)|0:f)|0;Z=o,_=Sj(m,i>>>0>m>>>0?h+1|0:h,r,s),H[Z+12>>2]=_;f=Rj(l,q,D,W);h=da;l=Rj(r,s,Q,R);f=l+f|0;i=da+h|0;e=Rj(j,e,y,w);h=0-e|0;j=da;i=(f>>>0>>0?i+1|0:i)+(g?j:0-(((e|0)!=0)+j|0)|0)|0;h=g?e:h;f=h+f|0;Z=o,_=Sj(f,f>>>0>>0?i+1|0:i,r,s),H[Z+8>>2]=_}ca=k+80|0;if(!p){return 0}l:{if(H[a+8>>2]<=0){break l}g=H[M>>2];e=0;while(1){f=e<<2;h=H[f+Y>>2];j=H[a+16>>2];m:{if((h|0)>(j|0)){H[f+g>>2]=j;break m}f=f+g|0;j=H[a+12>>2];if((j|0)>(h|0)){H[f>>2]=j;break m}H[f>>2]=h}e=e+1|0;h=H[a+8>>2];if((e|0)<(h|0)){continue}break}f=0;if((h|0)<=0){break l}e=d<<3;j=e+c|0;l=b+e|0;while(1){h=f<<2;e=h+j|0;h=H[h+l>>2]+H[h+g>>2]|0;H[e>>2]=h;n:{if((h|0)>H[a+16>>2]){i=h-H[a+20>>2]|0}else{if((h|0)>=H[a+12>>2]){break n}i=h+H[a+20>>2]|0}H[e>>2]=i}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((X|0)!=(d|0)){continue}break}}return p|0}Ca();v()}function $a(a,b){var c=0,d=0,e=0,f=0,g=0;e=ca-16|0;ca=e;H[a+12>>2]=b;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;d=a+16|0;H[d>>2]=0;H[d+4>>2]=0;F[d+5|0]=0;F[d+6|0]=0;F[d+7|0]=0;F[d+8|0]=0;F[d+9|0]=0;F[d+10|0]=0;F[d+11|0]=0;F[d+12|0]=0;c=d+16|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+32|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+48|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d- -64|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+80|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+96|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+112|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+128|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+144|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+160|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+176|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+192|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+208|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+224|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+240|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+256|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+272|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+288|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+304|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+320|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+336|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+352|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+368|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+384|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+400|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+416|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+432|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+448|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+464|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+480|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;d=d+496|0;H[d>>2]=0;H[d+4>>2]=0;F[d+5|0]=0;F[d+6|0]=0;F[d+7|0]=0;F[d+8|0]=0;F[d+9|0]=0;F[d+10|0]=0;F[d+11|0]=0;F[d+12|0]=0;H[a+528>>2]=0;H[a+532>>2]=0;F[a+533|0]=0;F[a+534|0]=0;F[a+535|0]=0;F[a+536|0]=0;F[a+537|0]=0;F[a+538|0]=0;F[a+539|0]=0;F[a+540|0]=0;H[a+544>>2]=0;H[a+548>>2]=0;H[a+560>>2]=0;H[a+552>>2]=0;H[a+556>>2]=0;H[a+564>>2]=0;H[a+568>>2]=0;H[a+580>>2]=0;H[a+572>>2]=0;H[a+576>>2]=0;H[a+584>>2]=0;H[a+588>>2]=0;H[a+600>>2]=0;H[a+592>>2]=0;H[a+596>>2]=0;H[a+612>>2]=0;H[a+604>>2]=0;H[a+608>>2]=0;g=a+628|0;a:{b:{if(b){if(b>>>0<1073741824){break b}sa();v()}H[a+616>>2]=0;H[a+620>>2]=0;H[a+624>>2]=0;H[e+8>>2]=0;H[e>>2]=0;H[e+4>>2]=0;d=1;break a}d=b<<2;c=pa(d);H[a+604>>2]=c;f=c+d|0;H[a+612>>2]=f;ra(c,0,d);H[a+624>>2]=0;H[a+616>>2]=0;H[a+620>>2]=0;H[a+608>>2]=f;c=pa(d);H[a+616>>2]=c;f=c+d|0;H[a+624>>2]=f;ra(c,0,d);H[a+620>>2]=f;c=pa(d);H[e>>2]=c;f=c+d|0;H[e+8>>2]=f;ra(c,0,d);H[e+4>>2]=f;d=b<<5|1}tb(g,d,e);c=H[e>>2];if(c){H[e+4>>2]=c;oa(c)}H[e+8>>2]=0;H[e>>2]=0;H[e+4>>2]=0;if(b){b=b<<2;c=pa(b);H[e>>2]=c;f=b+c|0;H[e+8>>2]=f;ra(c,0,b);H[e+4>>2]=f}tb(a+640|0,d,e);b=H[e>>2];if(b){H[e+4>>2]=b;oa(b)}ca=e+16|0;return a}function gc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=O(0),n=O(0),o=0;a:{b:{if(!d){break b}c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=F[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=J[b>>1];b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=G[b>>1];if((e|0)<0){break b}G[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=H[b>>2];if(e+32768>>>0>65535){break b}G[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=H[b>>2];if(e>>>0>32767){break b}G[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=H[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=H[b+4>>2];e=H[b>>2];i=e+32768|0;h=i>>>0<32768?h+1|0:h;if(!h&i>>>0>65535|h){break b}G[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=H[b+4>>2];e=H[b>>2];if(!k&e>>>0>32767|k){break b}G[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=H[a>>2];j=H[e>>2];g=j;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-j|0;if(!I[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(32767)|m>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(32767)|mO(1)){break d}e=(b<<1)+d|0;l=T(+m*32767+.5);f:{if(P(l)<2147483648){i=~~l;break f}i=-2147483648}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}ra((e<<1)+d|0,0,c-e<<1)}return j;case 9:g:{h:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=H[a>>2];j=H[e>>2];g=j;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-j|0;if(!I[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=M[g>>3];if(l>=32767|l<-32768|l!=l){break g}o=P(l);if(o==Infinity){break g}e=(b<<1)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=M[g>>3];if(l>=32767|l<-32768|(P(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<1)+d|0;l=T(l*32767+.5);i:{if(P(l)<2147483648){i=~~l;break i}i=-2147483648}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}ra((e<<1)+d|0,0,c-e<<1)}return j;case 10:break c;default:break b}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}ra((e<<1)+d|0,0,(c&255)-e<<1)}return j}ra((e<<1)+d|0,0,(c&255)-e<<1);return 1}function ec(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=O(0),n=O(0),o=0;a:{b:{if(!d){break b}c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=F[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=G[b>>1];b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=J[b>>1];b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=H[b>>2];b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=H[b>>2];if((e|0)<0){break b}H[(g<<2)+d>>2]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=H[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=H[b+4>>2];e=H[b>>2];if(e- -2147483648>>>0<2147483648?h+1|0:h){break b}H[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=H[b+4>>2];e=H[b>>2];if(!k&e>>>0>2147483647|k){break b}H[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=H[a>>2];j=H[e>>2];g=j;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-j|0;if(!I[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(2147483648)|m>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(2147483648)|mO(1)){break d}e=(b<<2)+d|0;l=T(+m*2147483647+.5);f:{if(P(l)<2147483648){i=~~l;break f}i=-2147483648}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}ra((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=H[a>>2];j=H[e>>2];g=j;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-j|0;if(!I[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=M[g>>3];if(l>=2147483647|l<-2147483648|l!=l){break g}o=P(l);if(o==Infinity){break g}e=(b<<2)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=M[g>>3];if(l>=2147483647|l<-2147483648|(P(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<2)+d|0;l=T(l*2147483647+.5);i:{if(P(l)<2147483648){i=~~l;break i}i=-2147483648}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}ra((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}ra((e<<2)+d|0,0,(c&255)-e<<2)}return j}ra((e<<2)+d|0,0,(c&255)-e<<2);return 1}function fc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=O(0);a:{b:{if(!d){break b}c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=F[b|0];if((e|0)<0){break b}G[(g<<1)+d>>1]=e&255;b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=G[b>>1];if((e|0)<0){break b}G[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=J[b>>1];b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=H[b>>2];if(e>>>0>65535){break b}G[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=H[b>>2];if(e>>>0>65535){break b}G[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=H[b+4>>2];e=H[b>>2];if(!k&e>>>0>65535|k){break b}G[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=H[b+4>>2];e=H[b>>2];if(!k&e>>>0>65535|k){break b}G[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=H[a>>2];l=H[e>>2];g=l;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-l|0;if(!I[a+32|0]){l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(65535)|m=O(0)){i=~~m>>>0}else{i=0}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(65535)|mO(1)){break d}e=(b<<1)+d|0;j=T(+m*65535+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=1;if(c>>>0<=e>>>0){break d}ra((e<<1)+d|0,0,c-e<<1)}return l;case 9:g:{h:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=H[a>>2];l=H[e>>2];g=l;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-l|0;if(!I[a+32|0]){l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=M[g>>3];if(j>=65535|j<0|(P(j)==Infinity|j!=j)){break g}e=(b<<1)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=M[g>>3];if(j>=65535|j<0|(P(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<1)+d|0;j=T(j*65535+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=1;if(c>>>0<=e>>>0){break g}ra((e<<1)+d|0,0,c-e<<1)}return l;case 10:break c;default:break b}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}ra((e<<1)+d|0,0,(c&255)-e<<1)}return l}ra((e<<1)+d|0,0,(c&255)-e<<1);return 1}function Sa(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=O(0),l=0,m=0,n=O(0),o=0;a:{if(!d){break a}b:{c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=F[b|0];H[e>>2]=i;H[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;H[e>>2]=I[b|0];H[e+4>>2]=0;b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=G[b>>1];H[e>>2]=i;H[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;H[e>>2]=J[b>>1];H[e+4>>2]=0;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=H[b>>2];H[e>>2]=i;H[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;H[e>>2]=H[b>>2];H[e+4>>2]=0;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=H[b+4>>2];e=(g<<3)+d|0;H[e>>2]=H[b>>2];H[e+4>>2]=i;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=H[b>>2];i=H[b+4>>2];if((i|0)<0){break a}j=(g<<3)+d|0;H[j>>2]=e;H[j+4>>2]=i;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=I[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break d}if(I[a+32|0]){break a}e=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+e|0;e=H[a>>2];i=H[e+4>>2];e=H[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=L[g>>2];if(k>=O(0x8000000000000000)|k=O(1)?~~(k>O(0)?O(R(O(T(O(k*O(2.3283064365386963e-10)))),O(4294967296))):O(U(O(O(k-O(~~k>>>0>>>0))*O(2.3283064365386963e-10)))))>>>0:0;m=~~k>>>0;break e}j=-2147483648;m=0}H[e>>2]=m;H[e+4>>2]=j;b=b+1|0;e=I[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=I[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break f}if(I[a+32|0]){break a}e=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+e|0;e=H[a>>2];i=H[e+4>>2];e=H[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){l=M[g>>3];if(l>=0x8000000000000000|l<-0x8000000000000000|l!=l){break a}o=P(l);if(o==Infinity){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){j=P(l)>=1?~~(l>0?R(T(l*2.3283064365386963e-10),4294967295):U((l-+(~~l>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~l>>>0;break g}j=-2147483648;m=0}H[e>>2]=m;H[e+4>>2]=j;b=b+1|0;e=I[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;H[e>>2]=I[b|0];H[e+4>>2]=0;b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}ra(d,0,a<<3)}}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=a;a:{b:{c:{d:{e:{f:{g:{h:{a=H[a+8>>2];switch(H[a+28>>2]-1|0){case 4:break c;case 5:break d;case 2:break e;case 3:break f;case 0:break g;case 1:break h;default:break a}}f=I[a+24|0];c=pa(f);a=H[j+16>>2];if(H[a+80>>2]){g=H[H[a>>2]>>2]+H[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;F[a+c|0]=H[k>>2];F[(a|1)+c|0]=H[k+4>>2];F[(a|2)+c|0]=H[k+8>>2];F[(a|3)+c|0]=H[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){F[a+c|0]=H[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[H[H[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;qa(a+H[H[H[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}f=I[a+24|0];c=pa(f);a=H[j+16>>2];if(H[a+80>>2]){g=H[H[a>>2]>>2]+H[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;F[a+c|0]=H[k>>2];F[(a|1)+c|0]=H[k+4>>2];F[(a|2)+c|0]=H[k+8>>2];F[(a|3)+c|0]=H[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){F[a+c|0]=H[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[H[H[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;qa(a+H[H[H[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}h=I[a+24|0];i=h<<1;c=pa(i);a=H[j+16>>2];if(H[a+80>>2]){g=H[H[a>>2]>>2]+H[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;G[f+c>>1]=H[k>>2];G[(f|2)+c>>1]=H[k+4>>2];G[(f|4)+c>>1]=H[k+8>>2];G[(f|6)+c>>1]=H[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){G[(a<<1)+c>>1]=H[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[H[H[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;qa(a+H[H[H[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=I[a+24|0];i=h<<1;c=pa(i);a=H[j+16>>2];if(H[a+80>>2]){g=H[H[a>>2]>>2]+H[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;G[f+c>>1]=H[k>>2];G[(f|2)+c>>1]=H[k+4>>2];G[(f|4)+c>>1]=H[k+8>>2];G[(f|6)+c>>1]=H[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){G[(a<<1)+c>>1]=H[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[H[H[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;qa(a+H[H[H[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=I[a+24|0];i=h<<2;c=pa(i);a=H[j+16>>2];if(H[a+80>>2]){g=H[H[a>>2]>>2]+H[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;H[f+c>>2]=H[k>>2];H[(f|4)+c>>2]=H[k+4>>2];H[(f|8)+c>>2]=H[k+8>>2];H[(f|12)+c>>2]=H[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){H[(a<<2)+c>>2]=H[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[H[H[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;qa(a+H[H[H[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=I[a+24|0];i=h<<2;c=pa(i);a=H[j+16>>2];if(H[a+80>>2]){g=H[H[a>>2]>>2]+H[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;H[f+c>>2]=H[k>>2];H[(f|4)+c>>2]=H[k+4>>2];H[(f|8)+c>>2]=H[k+8>>2];H[(f|12)+c>>2]=H[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){H[(a<<2)+c>>2]=H[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[H[H[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;qa(a+H[H[H[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i)}oa(c);c=1}return c|0}function dc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=O(0);a:{b:{if(!d){break b}c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=F[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=G[b>>1];b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=J[b>>1];b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=H[b>>2];b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=H[b>>2];b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=H[b>>2];if(H[b+4>>2]){break b}H[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=H[b>>2];if(H[b+4>>2]){break b}H[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=H[a>>2];k=H[e>>2];g=k;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-k|0;if(!I[a+32|0]){k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(4294967296)|m=O(0)){i=~~m>>>0}else{i=0}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(4294967296)|mO(1)){break d}e=(b<<2)+d|0;j=T(+m*4294967295+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=1;if(c>>>0<=e>>>0){break d}ra((e<<2)+d|0,0,c-e<<2)}return k;case 9:g:{h:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=H[a>>2];k=H[e>>2];g=k;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-k|0;if(!I[a+32|0]){k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=M[g>>3];if(j>=4294967295|j<0|(P(j)==Infinity|j!=j)){break g}e=(b<<2)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=M[g>>3];if(j>=4294967295|j<0|(P(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<2)+d|0;j=T(j*4294967295+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=1;if(c>>>0<=e>>>0){break g}ra((e<<2)+d|0,0,c-e<<2)}return k;case 10:break c;default:break b}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ra((e<<2)+d|0,0,(c&255)-e<<2)}return k}ra((e<<2)+d|0,0,(c&255)-e<<2);return 1}function ye(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{if(H[a+92>>2]==H[a+88>>2]){break e}c=H[a+52>>2];f:{if((c|0)!=H[a+56>>2]){H[c>>2]=b;H[a+52>>2]=c+4;break f}h=H[a+48>>2];g=c-h|0;d=g>>2;f=d+1|0;if(f>>>0>=1073741824){break a}e=g>>>1|0;g=g>>>0>=2147483644?1073741823:f>>>0>>0?e:f;if(g){if(g>>>0>=1073741824){break d}e=pa(g<<2)}else{e=0}f=e+(d<<2)|0;H[f>>2]=b;d=f+4|0;if((c|0)!=(h|0)){while(1){f=f-4|0;c=c-4|0;H[f>>2]=H[c>>2];if((c|0)!=(h|0)){continue}break}}H[a+56>>2]=e+(g<<2);H[a+52>>2]=d;H[a+48>>2]=f;if(!h){break f}oa(h)}H[a+84>>2]=0;c=-1;e=-1;g:{if((b|0)==-1){break g}d=H[a+4>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){c=H[H[d>>2]+(e<<2)>>2]}h:{if((b>>>0)%3|0){l=b-1|0;break h}l=b+2|0;e=-1;if((l|0)==-1){break g}}e=H[H[d>>2]+(l<<2)>>2]}i=e>>>3&536870908;d=H[a+36>>2];h=d+(c>>>3&536870908)|0;g=H[h>>2];f=1<>2]=f|g;f=a+8|0;if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}else{d=-1}Ua(f,c,d);d=H[a+36>>2]}f=d+i|0;d=H[f>>2];c=1<>2]=c|d;d=a+8|0;c=-1;i:{if((b|0)==-1){break i}c=b-1|0;if((b>>>0)%3|0){break i}c=b+2|0}Ua(d,e,c)}c=-1;c=(b|0)!=-1?H[H[H[a+4>>2]>>2]+(b<<2)>>2]:c;f=H[a+36>>2]+(c>>>3&536870908)|0;d=H[f>>2];e=1<>2]=d|e;Ua(a+8|0,c,b)}d=H[a+84>>2];if((d|0)>2){break e}while(1){e=N(d,12)+a|0;b=H[e+52>>2];if((b|0)==H[e+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}b=b-4|0;c=H[b>>2];H[e+52>>2]=b;H[a+84>>2]=d;if((c|0)==-1){break e}f=H[a+24>>2];b=(c>>>0)/3|0;j:{if(H[f+(b>>>3&268435452)>>2]>>>b&1){break j}k:{while(1){k=(c>>>0)/3|0;b=(k>>>3&268435452)+f|0;H[b>>2]=H[b>>2]|1<>2]>>2]+(c<<2)>>2]:d;f=H[a+36>>2]+(d>>>3&536870908)|0;e=H[f>>2];b=1<>2]=b|e;i=H[(H[H[a+16>>2]+96>>2]+N(k,12)|0)+((c>>>0)%3<<2)>>2];l=H[H[a+20>>2]+4>>2];f=H[l+4>>2];t:{if((f|0)!=H[l+8>>2]){H[f>>2]=i;H[l+4>>2]=f+4;break t}j=H[l>>2];h=f-j|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break s}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=pa(h<<2)}else{e=0}b=e+(g<<2)|0;H[b>>2]=i;g=b+4|0;if((f|0)!=(j|0)){while(1){b=b-4|0;f=f-4|0;H[b>>2]=H[f>>2];if((f|0)!=(j|0)){continue}break}}H[l+8>>2]=e+(h<<2);H[l+4>>2]=g;H[l>>2]=b;if(!j){break t}oa(j)}j=H[a+12>>2];f=H[j+4>>2];u:{if((f|0)!=H[j+8>>2]){H[f>>2]=c;H[j+4>>2]=f+4;break u}i=H[j>>2];h=f-i|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break r}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=pa(h<<2)}else{e=0}b=e+(g<<2)|0;H[b>>2]=c;g=b+4|0;if((f|0)!=(i|0)){while(1){b=b-4|0;f=f-4|0;H[b>>2]=H[f>>2];if((f|0)!=(i|0)){continue}break}}H[j+8>>2]=e+(h<<2);H[j+4>>2]=g;H[j>>2]=b;if(!i){break u}oa(i)}b=H[a+12>>2];H[H[b+12>>2]+(d<<2)>>2]=H[b+24>>2];H[b+24>>2]=H[b+24>>2]+1}if((c|0)==-1){break k}g=H[a+4>>2];f=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){f=H[H[g+12>>2]+(b<<2)>>2]}v:{w:{if((N(k,3)|0)!=(c|0)){d=c-1|0;break w}d=c+2|0;c=-1;if((d|0)==-1){break v}}c=H[H[g+12>>2]+(d<<2)>>2]}d=(c|0)==-1;e=(c>>>0)/3|0;if((f|0)!=-1){b=(f>>>0)/3|0;b=H[H[a+24>>2]+(b>>>3&268435452)>>2]&1<>2]+(b>>>3&536870908)>>2]>>>b&1){break x}k=0;b=H[H[g>>2]+(c<<2)>>2];if(!(H[H[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=H[a+88>>2]+(b<<2)|0;e=H[b>>2];H[b>>2]=e+1;k=(e|0)<=0?2:1}if(H[a+84>>2]>=(k|0)&l){break m}j=N(k,12)+a|0;b=H[j+52>>2];y:{if((b|0)!=H[j+56>>2]){H[b>>2]=c;H[j+52>>2]=b+4;break y}i=H[j+48>>2];h=b-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break c}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=pa(g<<2)}else{e=0}d=e+(d<<2)|0;H[d>>2]=c;c=d+4|0;if((b|0)!=(i|0)){while(1){d=d-4|0;b=b-4|0;H[d>>2]=H[b>>2];if((b|0)!=(i|0)){continue}break}}H[j+48>>2]=d;H[j+52>>2]=c;H[j+56>>2]=e+(g<<2);if(!i){break y}oa(i)}if(H[a+84>>2]<=(k|0)){break x}H[a+84>>2]=k}if(l){break k}c=-1;if((f|0)==-1){break n}}c=H[H[H[a+4>>2]>>2]+(f<<2)>>2]}b=0;if(!(H[H[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){b=H[a+88>>2]+(c<<2)|0;c=H[b>>2];H[b>>2]=c+1;b=(c|0)<=0?2:1}if(H[a+84>>2]<(b|0)){break l}c=f}f=H[a+24>>2];continue}break}k=N(b,12)+a|0;c=H[k+52>>2];z:{if((c|0)!=H[k+56>>2]){H[c>>2]=f;H[k+52>>2]=c+4;break z}i=H[k+48>>2];h=c-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break b}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=pa(g<<2)}else{e=0}d=e+(d<<2)|0;H[d>>2]=f;f=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;H[d>>2]=H[c>>2];if((c|0)!=(i|0)){continue}break}}H[k+48>>2]=d;H[k+52>>2]=f;H[k+56>>2]=e+(g<<2);if(!i){break z}oa(i)}d=H[a+84>>2];if((d|0)<=(b|0)){break j}H[a+84>>2]=b;d=b;break j}d=H[a+84>>2]}if((d|0)<3){continue}break}}return 1}wa();v()}sa();v()}sa();v()}sa();v()}function gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=ca-96|0;ca=n;o=H[a+4>>2];d=H[o+32>>2];i=H[d+8>>2];j=H[d+12>>2];e=j;c=H[d+20>>2];f=H[d+16>>2];a:{if((e|0)<=(c|0)&f>>>0>=i>>>0|(c|0)>(e|0)){break a}p=H[d>>2];g=I[p+f|0];h=f+1|0;e=h?c:c+1|0;H[d+16>>2]=h;H[d+20>>2]=e;if((e|0)>=(j|0)&h>>>0>=i>>>0|(e|0)>(j|0)){break a}m=I[h+p|0];h=f+2|0;e=h>>>0<2?c+1|0:c;H[d+16>>2]=h;H[d+20>>2]=e;l=g<<24>>24;b:{if((l|0)>=0){k=H[a+216>>2];if(g>>>0>=(H[a+220>>2]-k|0)/144>>>0){break a}k=k+N(g,144)|0;if(H[k>>2]<0){break b}break a}if(H[a+212>>2]>=0){break a}k=a+212|0}H[k>>2]=b;c:{d:{e:{f:{g:{h:{k=J[o+36>>1];i:{if(((k<<8|k>>>8)&65535)>>>0>=258){if((e|0)>=(j|0)&h>>>0>=i>>>0|(e|0)>(j|0)){break a}e=I[h+p|0];f=f+3|0;c=f>>>0<3?c+1|0:c;H[d+16>>2]=f;H[d+20>>2]=c;if(e>>>0>1){break a}d=e>>>0<2?e:0;if(!m){break i}if(!d){break h}break a}if(m){break g}d=0}if((l|0)<0){e=a+184|0}else{c=H[a+216>>2]+N(g,144)|0;F[c+100|0]=0;e=c+104|0}if((d|0)!=1){break e}c=ca-112|0;ca=c;h=H[H[a+4>>2]+44>>2];d=pa(120);H[d>>2]=12172;H[d+4>>2]=0;H[d+116>>2]=0;H[d+112>>2]=e;H[d+108>>2]=h;H[d+12>>2]=0;H[d+16>>2]=0;H[d+20>>2]=0;H[d+24>>2]=0;H[d+28>>2]=0;H[d+32>>2]=0;H[d+36>>2]=0;H[d+40>>2]=0;H[d+44>>2]=0;H[d+48>>2]=0;H[d+52>>2]=0;H[d+56>>2]=0;H[d+60>>2]=0;H[d+8>>2]=12384;f=d- -64|0;H[f>>2]=0;H[f+4>>2]=0;H[d+72>>2]=0;H[d+76>>2]=0;H[d+80>>2]=0;H[d+84>>2]=0;H[d+88>>2]=0;H[d+104>>2]=0;H[d+96>>2]=0;H[d+100>>2]=0;f=H[a+8>>2];H[c+48>>2]=0;H[c+52>>2]=0;H[c+40>>2]=0;H[c+44>>2]=0;i=c+32|0;H[i>>2]=0;H[i+4>>2]=0;H[c+24>>2]=0;H[c+28>>2]=0;g=c- -64|0;H[g>>2]=0;H[g+4>>2]=0;H[c+72>>2]=0;H[c+76>>2]=0;H[c+80>>2]=0;H[c+84>>2]=0;H[c+88>>2]=0;H[c+104>>2]=0;H[c+16>>2]=0;H[c+20>>2]=0;H[c+56>>2]=0;H[c+60>>2]=0;H[c+8>>2]=12384;H[c+96>>2]=0;H[c+100>>2]=0;H[c+12>>2]=f;g=H[f>>2];j=H[f+4>>2];F[c+111|0]=0;m=i;i=c+111|0;Oa(m,(j-g>>2>>>0)/3|0,i);g=H[c+12>>2];j=H[g+28>>2];g=H[g+24>>2];F[c+111|0]=0;Oa(c+44|0,j-g>>2,i);H[c+28>>2]=d;H[c+24>>2]=h;H[c+20>>2]=e;H[c+16>>2]=f;f=d+8|0;e=c+8|0;fd(f,e);j:{if((e|0)==(f|0)){H[d+92>>2]=H[e+84>>2];break j}Cb(d+56|0,H[e+48>>2],H[e+52>>2]);Cb(d+68|0,H[e+60>>2],H[e- -64>>2]);Cb(d+80|0,H[e+72>>2],H[e+76>>2]);H[d+92>>2]=H[e+84>>2];Aa(d+96|0,H[e+88>>2],H[e+92>>2])}H[c+8>>2]=12384;e=H[c+96>>2];if(e){H[c+100>>2]=e;oa(e)}e=H[c+80>>2];if(e){H[c+84>>2]=e;oa(e)}e=H[c+68>>2];if(e){H[c+72>>2]=e;oa(e)}e=H[c+56>>2];if(e){H[c+60>>2]=e;oa(e)}H[c+8>>2]=12620;e=H[c+44>>2];if(e){oa(e)}e=H[c+32>>2];if(e){oa(e)}ca=c+112|0;break d}if((l|0)>=0){break f}break a}if((l|0)<0){break a}}e=H[a+216>>2];c=H[o+44>>2];d=pa(80);H[d>>2]=12932;H[d+4>>2]=0;H[d+76>>2]=0;H[d+68>>2]=c;H[d+8>>2]=11872;H[d+12>>2]=0;H[d+16>>2]=0;H[d+20>>2]=0;H[d+24>>2]=0;H[d+28>>2]=0;H[d+32>>2]=0;H[d+36>>2]=0;H[d+40>>2]=0;H[d+44>>2]=0;H[d+48>>2]=0;H[d+52>>2]=0;e=e+N(g,144)|0;f=e+104|0;H[d+72>>2]=f;H[d- -64>>2]=0;H[d+56>>2]=0;H[d+60>>2]=0;H[n+24>>2]=c;c=n;H[c+68>>2]=0;H[c+72>>2]=0;H[c+60>>2]=0;H[c+64>>2]=0;H[c+52>>2]=0;H[c+56>>2]=0;H[c+44>>2]=0;H[c+48>>2]=0;H[c+84>>2]=0;H[c+88>>2]=0;H[c+76>>2]=0;H[c+80>>2]=0;H[c+28>>2]=d;h=H[c+28>>2];H[c+8>>2]=H[c+24>>2];H[c+12>>2]=h;H[c+20>>2]=f;f=e+4|0;H[c+16>>2]=f;H[c+36>>2]=0;H[c+40>>2]=0;H[c+32>>2]=11872;e=H[c+20>>2];H[c>>2]=H[c+16>>2];H[c+4>>2]=e;e=c+32|0;Ie(e,f,c);c=d+8|0;fd(c,e);if((c|0)!=(e|0)){Cb(d+56|0,H[e+48>>2],H[e+52>>2])}He(e);break c}c=ca+-64|0;ca=c;h=H[H[a+4>>2]+44>>2];d=pa(80);H[d>>2]=12640;H[d+4>>2]=0;H[d+76>>2]=0;H[d+72>>2]=e;H[d+68>>2]=h;H[d+8>>2]=12804;H[d+12>>2]=0;H[d+16>>2]=0;H[d+20>>2]=0;H[d+24>>2]=0;H[d+28>>2]=0;H[d+32>>2]=0;H[d+36>>2]=0;H[d+40>>2]=0;H[d+44>>2]=0;H[d+48>>2]=0;H[d+52>>2]=0;H[d- -64>>2]=0;i=d+56|0;f=i;H[f>>2]=0;H[f+4>>2]=0;f=H[a+8>>2];H[c+40>>2]=0;H[c+44>>2]=0;H[c+32>>2]=0;H[c+36>>2]=0;g=c+24|0;H[g>>2]=0;H[g+4>>2]=0;H[c+16>>2]=0;H[c+20>>2]=0;H[c+56>>2]=0;H[c+8>>2]=0;H[c+12>>2]=0;H[c+48>>2]=0;H[c+52>>2]=0;H[c>>2]=12804;H[c+4>>2]=f;j=H[f>>2];l=H[f+4>>2];F[c+63|0]=0;m=g;g=c+63|0;Oa(m,(l-j>>2>>>0)/3|0,g);j=H[c+4>>2];l=H[j+28>>2];j=H[j+24>>2];F[c+63|0]=0;Oa(c+36|0,l-j>>2,g);H[c+20>>2]=d;H[c+16>>2]=h;H[c+12>>2]=e;H[c+8>>2]=f;fd(d+8|0,c);Cb(i,H[c+48>>2],H[c+52>>2]);H[c>>2]=12804;e=H[c+48>>2];if(e){H[c+52>>2]=e;oa(e)}H[c>>2]=12620;e=H[c+36>>2];if(e){oa(e)}e=H[c+24>>2];if(e){oa(e)}ca=c- -64|0}if(!d){break a}}d=od(pa(64),d);c=H[a+4>>2];a=d;d=b;k:{l:{if((d|0)>=0){h=c+8|0;b=H[c+12>>2];i=H[c+8>>2];e=b-i>>2;m:{if((e|0)>(d|0)){break m}f=d+1|0;if(d>>>0>=e>>>0){Vb(h,f-e|0);break m}if(e>>>0<=f>>>0){break m}f=i+(f<<2)|0;if((f|0)!=(b|0)){while(1){b=b-4|0;e=H[b>>2];H[b>>2]=0;if(e){ea[H[H[e>>2]+4>>2]](e)}if((b|0)!=(f|0)){continue}break}}H[c+12>>2]=f}c=H[h>>2]+(d<<2)|0;b=H[c>>2];H[c>>2]=a;if(b){break l}break k}b=a;if(!a){break k}}ea[H[H[b>>2]+4>>2]](b)}q=(d^-1)>>>31|0}ca=n+96|0;return q|0}function Kd(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=ca-16|0;ca=e;H[e+12>>2]=a;a:{if(a>>>0<=211){d=H[Jd(14256,14448,e+12|0)>>2];break a}if(a>>>0>=4294967292){X();v()}f=(a>>>0)/210|0;d=N(f,210);H[e+8>>2]=a-d;g=Jd(14448,14640,e+8|0)-14448>>2;while(1){d=H[(g<<2)+14448>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0>>0){break a}if((N(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((N(b,c)|0)!=(d|0)){continue}break}break b}b=H[(a<<2)+14256>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((N(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=N(f,210);continue}}ca=e+16|0;return d}function Ib(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,n=0,o=0,p=0;j=ca-16|0;ca=j;a:{b:{c:{d:{if(I[H[a+4>>2]+36|0]<=1){k=-1;c=H[b+20>>2];d=H[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=H[b+12>>2];if(K[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){break c}d=d+H[b>>2]|0;l=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[j+12>>2]=l;H[b+16>>2]=e;H[b+20>>2]=c;break d}k=-1;if(!Ea(1,j+12|0,b)){break c}l=H[j+12>>2]}e:{f:{g:{h:{i:{if(!l){break i}c=H[a+8>>2];if((H[c+4>>2]-H[c>>2]>>2>>>0)/3>>>0>>0){break c}c=J[H[a+4>>2]+36>>1];if(((c<<8|c>>>8)&65535)>>>0>=258){j:{while(1){if(!Ea(1,j+8|0,b)){break c}c=H[j+8>>2];if(!Ea(1,j+8|0,b)){break c}f=c+f|0;c=H[j+8>>2];if(f>>>0>>0){break c}g=f-c|0;c=H[a+40>>2];k:{if((c|0)!=H[a+44>>2]){H[c+4>>2]=f;H[c>>2]=g;H[a+40>>2]=c+12;l=H[j+12>>2];break k}m=H[a+36>>2];d=c-m|0;o=(d|0)/12|0;e=o+1|0;if(e>>>0>=357913942){break j}c=o<<1;h=o>>>0>=178956970?357913941:c>>>0>e>>>0?c:e;if(h){if(h>>>0>=357913942){break b}i=pa(N(h,12))}else{i=0}e=i+N(o,12)|0;H[e+4>>2]=f;H[e>>2]=g;c=va(e+N((d|0)/-12|0,12)|0,m,d);H[a+44>>2]=i+N(h,12);H[a+40>>2]=e+12;H[a+36>>2]=c;if(!m){break k}oa(m)}p=p+1|0;if(l>>>0>p>>>0){continue}break}k=0;Db(b,0,0);if(l){while(1){e=I[b+36|0];c=J[H[a+4>>2]+36>>1];l:{m:{if(((c<<8|c>>>8)&65535)>>>0<=513){if(!e){break l}p=0;c=H[b+32>>2];n=c>>>3|0;g=H[b+24>>2];e=n+g|0;d=H[b+28>>2];n:{if(e>>>0>=d>>>0){f=c;break n}e=I[e|0];f=c+1|0;H[b+32>>2]=f;n=f>>>3|0;p=e>>>(c&7)&1}if(d>>>0>g+n>>>0){break m}break l}if(!e){break l}p=0;f=H[b+32>>2];c=H[b+24>>2]+(f>>>3|0)|0;if(c>>>0>=K[b+28>>2]){break l}p=I[c|0]>>>(f&7)&1}H[b+32>>2]=f+1}c=H[a+36>>2]+N(k,12)|0;F[c+8|0]=I[c+8|0]&254|p&1;k=k+1|0;if((k|0)!=(l|0)){continue}break}}F[b+36|0]=0;f=H[b+20>>2];e=0;d=H[b+32>>2]+7|0;e=d>>>0<7?1:e;c=e>>>3|0;e=(e&7)<<29|d>>>3;d=e+H[b+16>>2]|0;c=c+f|0;H[b+16>>2]=d;H[b+20>>2]=d>>>0>>0?c+1|0:c;break i}sa();v()}while(1){d=H[b+8>>2];c=H[b+12>>2];g=c;c=H[b+20>>2];e=c;h=H[b+16>>2];f=h+4|0;c=f>>>0<4?c+1|0:c;i=f;if(f>>>0>d>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}m=H[b>>2];f=m+h|0;o=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=i;H[b+20>>2]=c;c=e;f=h+8|0;c=f>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}i=i+m|0;i=I[i|0]|I[i+1|0]<<8|(I[i+2|0]<<16|I[i+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=c;if(d>>>0<=f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=I[f+m|0];c=h+9|0;e=c>>>0<9?e+1|0:e;H[b+16>>2]=c;H[b+20>>2]=e;f=d&1;c=H[a+40>>2];o:{if((c|0)!=H[a+44>>2]){F[c+8|0]=f;H[c+4>>2]=i;H[c>>2]=o;H[a+40>>2]=c+12;l=H[j+12>>2];break o}m=H[a+36>>2];d=c-m|0;h=(d|0)/12|0;e=h+1|0;if(e>>>0>=357913942){break h}c=h<<1;g=h>>>0>=178956970?357913941:c>>>0>e>>>0?c:e;if(g){if(g>>>0>=357913942){break b}e=pa(N(g,12))}else{e=0}h=e+N(h,12)|0;F[h+8|0]=f;H[h+4>>2]=i;H[h>>2]=o;c=va(h+N((d|0)/-12|0,12)|0,m,d);H[a+44>>2]=e+N(g,12);H[a+40>>2]=h+12;H[a+36>>2]=c;if(!m){break o}oa(m)}n=n+1|0;if(l>>>0>n>>>0){continue}break}}H[j+8>>2]=0;c=J[H[a+4>>2]+36>>1];c=(c<<8|c>>>8)&65535;p:{if(c>>>0<=511){k=-1;c=H[b+20>>2];d=H[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;f=H[b+12>>2];if(K[b+8>>2]>>0&(f|0)<=(c|0)|(c|0)>(f|0)){break c}d=d+H[b>>2]|0;f=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;break p}if((c|0)!=512){break e}k=-1;if(!Ea(1,j+8|0,b)){break c}f=H[j+8>>2]}if(!f){break e}c=J[H[a+4>>2]+36>>1];if(((c<<8|c>>>8)&65535)>>>0<258){break f}n=0;l=0;while(1){if(!Ea(1,j+4|0,b)){break c}l=H[j+4>>2]+l|0;c=H[a+52>>2];q:{if((c|0)!=H[a+56>>2]){H[c>>2]=l;H[a+52>>2]=c+4;break q}i=H[a+48>>2];g=c-i|0;e=g>>2;d=e+1|0;if(d>>>0>=1073741824){break g}c=g>>>1|0;d=g>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(d){if(d>>>0>=1073741824){break b}c=pa(d<<2)}else{c=0}e=c+(e<<2)|0;H[e>>2]=l;c=va(c,i,g);H[a+56>>2]=c+(d<<2);H[a+52>>2]=e+4;H[a+48>>2]=c;if(!i){break q}oa(i)}n=n+1|0;if((n|0)!=(f|0)){continue}break}break e}sa();v()}sa();v()}k=0;while(1){c=H[b+20>>2];d=H[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=H[b+12>>2];if(K[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){k=-1;break c}d=d+H[b>>2]|0;g=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;c=H[a+52>>2];r:{if((c|0)!=H[a+56>>2]){H[c>>2]=g;H[a+52>>2]=c+4;break r}h=H[a+48>>2];i=c-h|0;e=i>>2;d=e+1|0;if(d>>>0>=1073741824){break a}c=i>>>1|0;d=i>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(d){if(d>>>0>=1073741824){break b}c=pa(d<<2)}else{c=0}e=c+(e<<2)|0;H[e>>2]=g;c=va(c,h,i);H[a+56>>2]=c+(d<<2);H[a+52>>2]=e+4;H[a+48>>2]=c;if(!h){break r}oa(h)}k=k+1|0;if((k|0)!=(f|0)){continue}break}}k=H[b+16>>2]}ca=j+16|0;return k}wa();v()}sa();v()}function Va(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=O(0),k=0,l=0;a:{if(!d){break a}b:{c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(F[b|0]);L[(h<<2)+d>>2]=i?O(j/O(127)):j;b=b+1|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(I[b|0]);L[(h<<2)+d>>2]=i?O(j/O(255)):j;b=b+1|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(G[b>>1]);L[(h<<2)+d>>2]=i?O(j/O(32767)):j;b=b+2|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(J[b>>1]);L[(h<<2)+d>>2]=i?O(j/O(65535)):j;b=b+2|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(H[b>>2]);L[(h<<2)+d>>2]=i?O(j*O(4.656612873077393e-10)):j;b=b+4|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(K[b>>2]);L[(h<<2)+d>>2]=i?O(j*O(2.3283064365386963e-10)):j;b=b+4|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(+K[b>>2]+ +H[b+4>>2]*4294967296);L[(h<<2)+d>>2]=i?O(j*O(10842021724855044e-35)):j;b=b+8|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(+K[b>>2]+ +K[b+4>>2]*4294967296);L[(h<<2)+d>>2]=i?O(j*O(5.421010862427522e-20)):j;b=b+8|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 8:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}L[(h<<2)+d>>2]=L[b>>2];b=b+4|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 9:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}L[(h<<2)+d>>2]=M[b>>3];b=b+8|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}L[(h<<2)+d>>2]=I[b|0]?O(1):O(0);b=b+1|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0}ra(d,0,a<<2)}return l}function ic(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=O(0),m=O(0);a:{b:{if(!d){break b}c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}F[d+g|0]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){return 0}e=F[b|0];if((e|0)<0){break b}F[d+g|0]=e;b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>1];if((e+128&65535)>>>0>255){break b}F[d+g|0]=e;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>1];if(e>>>0>127){break b}F[d+g|0]=e;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>2];if(e+128>>>0>255){break b}F[d+g|0]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>2];if(e>>>0>127){break b}F[d+g|0]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}i=H[b+4>>2];e=H[b>>2];h=e+128|0;i=h>>>0<128?i+1|0:i;if(!i&h>>>0>255|i){break b}F[d+g|0]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}i=H[b+4>>2];e=H[b>>2];if(!i&e>>>0>127|i){break b}F[d+g|0]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=I[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=H[H[a>>2]>>2];f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break d}l=L[b>>2];if(l>=O(127)|lO(1)){break d}j=T(+l*127+.5);if(!(P(j)<2147483648)){break f}h=~~j;break e}if(!(m>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}ra(d+e|0,0,c-e|0)}return k;case 9:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}j=M[b>>3];if(j>=127|j<-128|(P(j)==Infinity|j!=j)){break b}e=d+g|0;if(I[a+32|0]){if(j<0|j>1){break b}j=T(j*127+.5)}g:{if(P(j)<2147483648){h=~~j;break g}h=-2147483648}F[e|0]=h;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}F[d+g|0]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ra(d+e|0,0,(c&255)-e|0)}return k}ra(d+e|0,0,(c&255)-e|0);return 1}function hc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=O(0);a:{b:{if(!d){break b}c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){return 0}e=F[b|0];if((e|0)<0){break b}F[d+g|0]=e;b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}F[d+g|0]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>1];if(e>>>0>255){break b}F[d+g|0]=e;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>1];if(e>>>0>255){break b}F[d+g|0]=e;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>2];if(e>>>0>255){break b}F[d+g|0]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>2];if(e>>>0>255){break b}F[d+g|0]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}i=H[b+4>>2];e=H[b>>2];if(!i&e>>>0>255|i){break b}F[d+g|0]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}i=H[b+4>>2];e=H[b>>2];if(!i&e>>>0>255|i){break b}F[d+g|0]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=I[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=H[H[a>>2]>>2];f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break d}l=L[b>>2];if(l>=O(255)|lO(1)){break d}j=T(+l*255+.5);if(!(j<4294967296&j>=0)){break f}h=~~j>>>0;break e}if(!(l=O(0))){break f}h=~~l>>>0;break e}h=0}F[e|0]=h;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}ra(d+e|0,0,c-e|0)}return k;case 9:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}j=M[b>>3];if(j>=255|j<0|(P(j)==Infinity|j!=j)){break b}e=d+g|0;if(I[a+32|0]){if(j>1){break b}j=T(j*255+.5)}g:{if(j<4294967296&j>=0){h=~~j>>>0;break g}h=0}F[e|0]=h;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}F[d+g|0]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ra(d+e|0,0,(c&255)-e|0)}return k}ra(d+e|0,0,(c&255)-e|0);return 1}function Hh(a){a=a|0;var 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;g=ca-32|0;ca=g;i=H[a+32>>2];b=J[a+36>>1];a:{b:{if(((b<<8|b>>>8)&65535)>>>0<=513){b=H[i+8>>2];d=H[i+12>>2];c=b;b=H[i+20>>2];e=b;j=H[i+16>>2];f=j+4|0;b=f>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break a}n=H[i>>2];k=n+j|0;k=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);H[i+16>>2]=f;H[i+20>>2]=b;h=c;c=d;b=e;d=j+8|0;b=d>>>0<8?b+1|0:b;if(d>>>0>h>>>0&(b|0)>=(c|0)|(b|0)>(c|0)){break a}c=f+n|0;n=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[i+16>>2]=d;H[i+20>>2]=b;break b}if(!Fb(1,g+28|0,i)){break a}if(!Fb(1,g+24|0,H[a+32>>2])){break a}k=H[g+28>>2];n=H[g+24>>2]}if(k>>>0>1431655765){break a}d=H[a+32>>2];b=d;j=H[b+8>>2];c=H[b+16>>2];f=H[b+12>>2];b=H[b+20>>2];e=Sj(j-c|0,f-(b+(c>>>0>j>>>0)|0)|0,3,0);if(!da&e>>>0>>0){break a}e=Rj(k,0,3,0);if(!da&e>>>0>>0|((b|0)>=(f|0)&c>>>0>=j>>>0|(b|0)>(f|0))){break a}j=I[c+H[d>>2]|0];c=c+1|0;b=c?b:b+1|0;H[d+16>>2]=c;H[d+20>>2]=b;c:{d:{if(!j){d=0;c=ca-32|0;ca=c;H[c+24>>2]=0;H[c+16>>2]=0;H[c+20>>2]=0;e:{f:{b=N(k,3);if(b){if(b>>>0>=1073741824){break f}j=N(k,12);d=pa(j);ra(d,0,j)}b=kd(b,1,H[a+32>>2],d);g:{h:{if(!(!k|!b)){j=0;while(1){i:{b=(j<<2)+d|0;f=H[b>>2];e=f>>>1|0;f=(f&1?0-e|0:e)+l|0;if((f|0)<0){break i}H[c>>2]=f;e=H[b+4>>2];h=e>>>1|0;f=f+(e&1?0-h|0:h)|0;if((f|0)<0){break i}H[c+4>>2]=f;b=H[b+8>>2];e=b>>>1|0;l=f+(b&1?0-e|0:e)|0;if((l|0)<0){break i}H[c+8>>2]=l;Rb(H[a+44>>2]+96|0,c);j=j+3|0;b=1;o=o+1|0;if((o|0)!=(k|0)){continue}break h}break}b=0;break h}if(!d){break g}}oa(d)}ca=c+32|0;break e}sa();v()}if(b){break d}break a}if(n>>>0<=255){if(!k){break d}while(1){j:{H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;d=H[a+32>>2];b=d;j=H[b+16>>2];e=H[b+8>>2];c=H[b+20>>2];h=H[b+12>>2];b=h;if(e>>>0<=j>>>0&(c|0)>=(b|0)|(b|0)<(c|0)){break j}i=H[d>>2];l=I[i+j|0];b=c;f=j+1|0;b=f?b:b+1|0;H[d+16>>2]=f;H[d+20>>2]=b;H[g+8>>2]=l;l=e>>>0>>0&(c|0)>=(h|0)|(c|0)>(h|0);e=l?j:e;h=l?c:h;if((e|0)==(f|0)&(h|0)==(b|0)){break j}l=I[f+i|0];b=c;f=j+2|0;b=f>>>0<2?b+1|0:b;H[d+16>>2]=f;H[d+20>>2]=b;H[g+12>>2]=l;if((e|0)==(f|0)&(b|0)==(h|0)){break j}f=I[f+i|0];b=c;c=j+3|0;b=c>>>0<3?b+1|0:b;H[d+16>>2]=c;H[d+20>>2]=b;H[g+16>>2]=f;Rb(H[a+44>>2]+96|0,g+8|0);m=m+1|0;if((m|0)!=(k|0)){continue}break d}break}m=0;break a}if(n>>>0<=65535){if(!k){break d}while(1){k:{H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;i=H[a+32>>2];b=i;c=H[b+8>>2];d=H[b+12>>2];f=H[b+16>>2];b=H[b+20>>2];j=b;e=f+2|0;b=e>>>0<2?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break k}l=H[i>>2];h=l+f|0;h=I[h|0]|I[h+1|0]<<8;H[i+16>>2]=e;H[i+20>>2]=b;H[g+8>>2]=h;b=j;h=f+4|0;b=h>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break k}e=e+l|0;e=I[e|0]|I[e+1|0]<<8;H[i+16>>2]=h;H[i+20>>2]=b;H[g+12>>2]=e;e=c;b=j;c=f+6|0;b=c>>>0<6?b+1|0:b;if(c>>>0>e>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break k}d=h+l|0;d=I[d|0]|I[d+1|0]<<8;H[i+16>>2]=c;H[i+20>>2]=b;H[g+16>>2]=d;Rb(H[a+44>>2]+96|0,g+8|0);m=m+1|0;if((m|0)!=(k|0)){continue}break d}break}m=0;break a}l:{if(n>>>0>2097151){break l}b=J[a+36>>1];if(((b<<8|b>>>8)&65535)>>>0<514){break l}if(!k){break d}while(1){m:{H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;if(!Fb(1,g+4|0,H[a+32>>2])){break m}H[g+8>>2]=H[g+4>>2];if(!Fb(1,g+4|0,H[a+32>>2])){break m}H[g+12>>2]=H[g+4>>2];if(!Fb(1,g+4|0,H[a+32>>2])){break m}H[g+16>>2]=H[g+4>>2];Rb(H[a+44>>2]+96|0,g+8|0);m=m+1|0;if((m|0)!=(k|0)){continue}break d}break}m=0;break a}if(!k){break d}while(1){H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;i=H[a+32>>2];b=i;c=H[b+8>>2];d=H[b+12>>2];f=H[b+16>>2];b=H[b+20>>2];j=b;e=f+4|0;b=e>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}l=H[i>>2];h=l+f|0;h=I[h|0]|I[h+1|0]<<8|(I[h+2|0]<<16|I[h+3|0]<<24);H[i+16>>2]=e;H[i+20>>2]=b;H[g+8>>2]=h;b=j;h=f+8|0;b=h>>>0<8?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}e=e+l|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[i+16>>2]=h;H[i+20>>2]=b;H[g+12>>2]=e;e=c;b=j;c=f+12|0;b=c>>>0<12?b+1|0:b;if(c>>>0>e>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}d=h+l|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[i+16>>2]=c;H[i+20>>2]=b;H[g+16>>2]=d;Rb(H[a+44>>2]+96|0,g+8|0);m=m+1|0;if((m|0)!=(k|0)){continue}break}}H[H[a+4>>2]+80>>2]=n;m=1;break a}m=0}ca=g+32|0;return m|0}function zf(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,v=O(0),w=0;p=ca-16|0;ca=p;a:{if(!(H[a+60>>2]!=H[a- -64>>2]|H[a+48>>2]!=H[a+52>>2])){j=1;break a}j=1;if((ea[H[H[a>>2]+24>>2]](a)|0)<=0){break a}while(1){b:{b=ea[H[H[a>>2]+20>>2]](a,w)|0;c:{d:{e:{f=H[H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(b<<2)>>2];switch(H[f+28>>2]-1|0){case 8:break d;case 0:case 2:case 4:break e;default:break c}}b=I[f+24|0];f:{if(!b){n=0;j=0;break f}j=0;b=b<<2;n=pa(b);ra(n,0,b);b=I[f+24|0];if(!b){break f}b=b<<2;j=pa(b);ra(j,0,b)}g:{h:{i:{switch(H[f+28>>2]-1|0){case 4:i=0;h=0;d=0;b=0;k=0;e=I[f+24|0];j:{if(!e){g=0;break j}e=e<<2;h=pa(e);ra(h,0,e);g=pa(e);ra(g,0,e)}k:{if(H[f+80>>2]){while(1){o=H[f>>2];c=H[o>>2];m=H[f+48>>2];e=H[f+40>>2];l=Rj(e,H[f+44>>2],d,b);m=m+l|0;s=c+m|0;c=e;m=qa(h,s,c);l=I[f+24|0];if(l){t=H[a+48>>2];e=0;while(1){r=e<<2;s=H[r+m>>2];if((s|0)<0){break k}H[g+r>>2]=s+H[t+(e+u<<2)>>2];e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[o>>2]+N(d,c)|0,g,c);d=d+1|0;b=d?b:b+1|0;if(!b&K[f+80>>2]>d>>>0){continue}break}}k=1}if(g){oa(g)}if(h){oa(h)}if(k){break h}break g;case 2:g=0;e=0;d=0;b=0;c=I[f+24|0];if(c){c=c<<1;e=pa(c);ra(e,0,c);g=pa(c);ra(g,0,c)}if(H[f+80>>2]){while(1){l=H[f>>2];h=H[l>>2];i=H[f+48>>2];c=H[f+40>>2];k=Rj(c,H[f+44>>2],d,b);i=i+k|0;k=qa(e,h+i|0,c);o=I[f+24|0];l:{if(!o){break l}m=H[a+48>>2];h=0;if((o|0)!=1){t=o&254;i=0;while(1){r=h<<1;G[r+g>>1]=J[k+r>>1]+J[m+(h+u<<2)>>1];r=h|1;s=r<<1;G[s+g>>1]=J[k+s>>1]+J[m+(r+u<<2)>>1];h=h+2|0;i=i+2|0;if((t|0)!=(i|0)){continue}break}}if(!(o&1)){break l}i=h<<1;G[i+g>>1]=J[i+k>>1]+J[m+(h+u<<2)>>1]}qa(H[l>>2]+N(d,c)|0,g,c);d=d+1|0;b=d?b:b+1|0;if(!b&K[f+80>>2]>d>>>0){continue}break}}if(g){oa(g)}if(e){oa(e)}break h;case 0:break i;default:break h}}h=0;e=0;d=0;b=0;c=I[f+24|0];if(c){e=pa(c);ra(e,0,c);h=pa(c);ra(h,0,c)}if(H[f+80>>2]){while(1){t=H[f>>2];g=H[t>>2];i=H[f+48>>2];c=H[f+40>>2];k=Rj(c,H[f+44>>2],d,b);i=i+k|0;k=qa(e,g+i|0,c);o=I[f+24|0];m:{if(!o){break m}m=H[a+48>>2];g=0;if((o|0)!=1){r=o&254;i=0;while(1){F[g+h|0]=I[g+k|0]+I[m+(g+u<<2)|0];l=g|1;F[l+h|0]=I[k+l|0]+I[m+(l+u<<2)|0];g=g+2|0;i=i+2|0;if((r|0)!=(i|0)){continue}break}}if(!(o&1)){break m}F[g+h|0]=I[g+k|0]+I[m+(g+u<<2)|0]}qa(H[t>>2]+N(d,c)|0,h,c);d=d+1|0;b=d?b:b+1|0;if(!b&K[f+80>>2]>d>>>0){continue}break}}if(h){oa(h)}if(e){oa(e)}}u=I[f+24|0]+u|0;i=1}if(j){oa(j)}if(n){oa(n)}if(i){break c}j=0;break a}e=H[H[a+60>>2]+(q<<2)>>2];h=H[a+36>>2];g=H[(ea[H[H[a>>2]+28>>2]](a)|0)+40>>2];H[p+12>>2]=H[f+56>>2];b=pa(32);H[p>>2]=b;H[p+4>>2]=24;H[p+8>>2]=-2147483616;d=I[1206]|I[1207]<<8|(I[1208]<<16|I[1209]<<24);c=I[1202]|I[1203]<<8|(I[1204]<<16|I[1205]<<24);F[b+16|0]=c;F[b+17|0]=c>>>8;F[b+18|0]=c>>>16;F[b+19|0]=c>>>24;F[b+20|0]=d;F[b+21|0]=d>>>8;F[b+22|0]=d>>>16;F[b+23|0]=d>>>24;d=I[1198]|I[1199]<<8|(I[1200]<<16|I[1201]<<24);c=I[1194]|I[1195]<<8|(I[1196]<<16|I[1197]<<24);F[b+8|0]=c;F[b+9|0]=c>>>8;F[b+10|0]=c>>>16;F[b+11|0]=c>>>24;F[b+12|0]=d;F[b+13|0]=d>>>8;F[b+14|0]=d>>>16;F[b+15|0]=d>>>24;d=I[1190]|I[1191]<<8|(I[1192]<<16|I[1193]<<24);c=I[1186]|I[1187]<<8|(I[1188]<<16|I[1189]<<24);F[b|0]=c;F[b+1|0]=c>>>8;F[b+2|0]=c>>>16;F[b+3|0]=c>>>24;F[b+4|0]=d;F[b+5|0]=d>>>8;F[b+6|0]=d>>>16;F[b+7|0]=d>>>24;F[b+24|0]=0;d=sd(g,p+12|0,p);if(F[p+11|0]<0){oa(H[p>>2])}b=q+1|0;n:{if(d){oe(f,e);break n}g=h+N(q,24)|0;q=H[g+4>>2];c=I[f+24|0];h=c<<2;d=pa(h);H[p>>2]=1065353216;v=L[g+20>>2];q=-1<0){L[p>>2]=v/O(q|0)}if((q|0)<=0){break b}o:{if(!H[e+80>>2]){break o}if(!c){n=0;j=0;while(1){qa(H[H[f+64>>2]>>2]+j|0,d,h);j=h+j|0;n=n+1|0;if(n>>>0>2]){continue}break}break o}o=H[H[e>>2]>>2]+H[e+48>>2]|0;t=c&254;r=c&1;i=0;k=0;j=0;while(1){q=H[g+8>>2];v=L[p>>2];n=0;m=0;if((c|0)!=1){while(1){l=n<<2;s=o+(j<<2)|0;L[l+d>>2]=O(v*O(H[s>>2]))+L[l+q>>2];l=l|4;L[l+d>>2]=O(v*O(H[s+4>>2]))+L[l+q>>2];n=n+2|0;j=j+2|0;m=m+2|0;if((t|0)!=(m|0)){continue}break}}if(r){n=n<<2;L[n+d>>2]=O(v*O(H[o+(j<<2)>>2]))+L[n+q>>2];j=j+1|0}qa(H[H[f+64>>2]>>2]+k|0,d,h);k=h+k|0;i=i+1|0;if(i>>>0>2]){continue}break}}oa(d)}q=b}j=1;w=w+1|0;if((ea[H[H[a>>2]+24>>2]](a)|0)>(w|0)){continue}break a}break}oa(d);j=0}ca=p+16|0;return j|0}function Le(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=ca+-64|0;ca=g;H[g+56>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;j=g+8|0;d=J[b+38>>1];a:{b:{if(!d){break b}c:{if(d>>>0<=511){h=H[b+8>>2];f=H[b+12>>2];e=H[b+20>>2];d=H[b+16>>2];i=d+4|0;e=i>>>0<4?e+1|0:e;if(h>>>0>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break b}d=d+H[b>>2]|0;l=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[j+12>>2]=l;e=H[b+20>>2];d=H[b+16>>2]+4|0;e=d>>>0<4?e+1|0:e;H[b+16>>2]=d;H[b+20>>2]=e;break c}if(!hb(1,j+12|0,b)){break b}d=H[b+16>>2];e=H[b+20>>2];l=H[j+12>>2]}f=H[b+8>>2];i=f-d|0;d=H[b+12>>2]-((d>>>0>f>>>0)+e|0)|0;if(i>>>0>>6>>>0&(d|0)<=0|(d|0)<0){break b}e=H[j>>2];d=H[j+4>>2]-e>>2;d:{if(d>>>0>>0){ya(j,l-d|0);l=H[j+12>>2];break d}if(d>>>0<=l>>>0){break d}H[j+4>>2]=e+(l<<2)}i=1;if(!l){break a}d=H[b+16>>2];e=H[b+20>>2];r=H[j>>2];k=H[b+8>>2];o=H[b+12>>2];h=0;while(1){i=0;if((e|0)>=(o|0)&d>>>0>=k>>>0|(e|0)>(o|0)){break a}i=H[b>>2];p=I[i+d|0];d=d+1|0;e=d?e:e+1|0;H[b+16>>2]=d;H[b+20>>2]=e;f=p>>>2|0;m=0;e:{f:{g:{h:{s=p&3;switch(s|0){case 0:break f;case 3:break h;default:break g}}f=f+h|0;i=0;if(f>>>0>=l>>>0){break a}ra(r+(h<<2)|0,0,(p&252)+4|0);h=f;break e}while(1){if((d|0)==(k|0)&(e|0)==(o|0)){break b}l=I[d+i|0];d=d+1|0;e=d?e:e+1|0;H[b+16>>2]=d;H[b+20>>2]=e;f=l<<(m<<3|6)|f;m=m+1|0;if((s|0)!=(m|0)){continue}break}}H[r+(h<<2)>>2]=f}l=H[j+12>>2];h=h+1|0;if(l>>>0>h>>>0){continue}break}d=j+16|0;o=H[j>>2];f=H[j+16>>2];e=H[j+20>>2]-f|0;i:{if(e>>>0<=4194303){ya(d,1048576-(e>>>2|0)|0);break i}if((e|0)==4194304){break i}H[j+20>>2]=f+4194304}e=j+28|0;h=H[e>>2];f=H[j+32>>2]-h>>3;j:{if(f>>>0>>0){ob(e,l-f|0);h=H[e>>2];break j}if(f>>>0>l>>>0){H[j+32>>2]=(l<<3)+h}if(!l){break b}}k=H[d>>2];d=0;i=0;while(1){e=o+(d<<2)|0;j=H[e>>2];m=(d<<3)+h|0;f=i;H[m+4>>2]=f;H[m>>2]=j;e=H[e>>2];i=e+f|0;if(i>>>0>1048576){break b}k:{if(f>>>0>=i>>>0){break k}m=0;j=e&7;if(j){while(1){H[k+(f<<2)>>2]=d;f=f+1|0;m=m+1|0;if((j|0)!=(m|0)){continue}break}}if(e-1>>>0<=6){break k}while(1){e=k+(f<<2)|0;H[e>>2]=d;H[e+28>>2]=d;H[e+24>>2]=d;H[e+20>>2]=d;H[e+16>>2]=d;H[e+12>>2]=d;H[e+8>>2]=d;H[e+4>>2]=d;f=f+8|0;if((i|0)!=(f|0)){continue}break}}d=d+1|0;if((l|0)!=(d|0)){continue}break}n=(i|0)==1048576}i=n}l:{if(!i|(H[g+20>>2]?0:a)){break l}i=0;n=ca-16|0;ca=n;m:{n:{if(J[b+38>>1]<=511){h=H[b+8>>2];f=H[b+12>>2];j=f;e=H[b+20>>2];k=H[b+16>>2];d=k+8|0;e=d>>>0<8?e+1|0:e;if(d>>>0>h>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break m}k=k+H[b>>2]|0;f=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);k=I[k+4|0]|I[k+5|0]<<8|(I[k+6|0]<<16|I[k+7|0]<<24);H[b+16>>2]=d;H[b+20>>2]=e;break n}if(!gb(1,n+8|0,b)){break m}d=H[b+16>>2];e=H[b+20>>2];h=H[b+8>>2];j=H[b+12>>2];f=H[n+8>>2];k=H[n+12>>2]}l=h-d|0;h=j-((d>>>0>h>>>0)+e|0)|0;if((h|0)==(k|0)&f>>>0>l>>>0|h>>>0>>0){break m}e=e+k|0;h=d+f|0;e=h>>>0>>0?e+1|0:e;H[b+16>>2]=h;H[b+20>>2]=e;if((f|0)<=0){break m}b=H[b>>2]+d|0;H[g+48>>2]=b;d=f-1|0;e=d+b|0;h=I[e|0];o:{if(h>>>0<=63){H[g+52>>2]=d;b=I[e|0]&63;break o}p:{switch((h>>>6|0)-1|0){case 0:if(f>>>0<2){break m}d=f-2|0;H[g+52>>2]=d;b=b+d|0;b=I[b+1|0]<<8&16128|I[b|0];break o;case 1:if(f>>>0<3){break m}d=f-3|0;H[g+52>>2]=d;b=b+d|0;b=I[b+1|0]<<8|I[b+2|0]<<16&4128768|I[b|0];break o;default:break p}}d=f-4|0;H[g+52>>2]=d;b=b+d|0;b=(I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24))&1073741823}H[g+56>>2]=b+4194304;i=b>>>0<1069547520}ca=n+16|0;if(!i){break l}if(!a){t=1;break l}b=H[g+52>>2];f=H[g+56>>2];d=H[g+36>>2];e=H[g+48>>2];h=H[g+24>>2];while(1){q:{if(f>>>0>4194303){break q}while(1){if((b|0)<=0){break q}b=b-1|0;H[g+52>>2]=b;f=I[b+e|0]|f<<8;H[g+56>>2]=f;if(f>>>0<4194304){continue}break}}i=f&1048575;k=H[h+(i<<2)>>2];n=d+(k<<3)|0;f=(N(H[n>>2],f>>>20|0)+i|0)-H[n+4>>2]|0;H[g+56>>2]=f;H[(q<<2)+c>>2]=k;t=1;q=q+1|0;if((q|0)!=(a|0)){continue}break}}a=H[g+36>>2];if(a){H[g+40>>2]=a;oa(a)}a=H[g+24>>2];if(a){H[g+28>>2]=a;oa(a)}a=H[g+8>>2];if(a){H[g+12>>2]=a;oa(a)}ca=g- -64|0;return t}function nc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=ca-48|0;ca=e;f=J[6677]|J[6678]<<16;d=J[6675]|J[6676]<<16;G[e+38>>1]=d;G[e+40>>1]=d>>>16;G[e+42>>1]=f;G[e+44>>1]=f>>>16;d=H[3337];H[e+32>>2]=H[3336];H[e+36>>2]=d;d=H[3335];H[e+24>>2]=H[3334];H[e+28>>2]=d;d=H[3333];H[e+16>>2]=H[3332];H[e+20>>2]=d;g=H[b+8>>2];i=H[b+12>>2];h=H[b+20>>2];d=H[b+16>>2];f=d+5|0;h=f>>>0<5?h+1|0:h;a:{b:{if(g>>>0>>0&(h|0)>=(i|0)|(h|0)>(i|0)){d=Ma(e+16|0);if(d>>>0>=2147483632){break a}c:{d:{if(d>>>0>=11){b=(d|15)+1|0;c=pa(b);H[e+8>>2]=b|-2147483648;H[e>>2]=c;H[e+4>>2]=d;b=c+d|0;break d}F[e+11|0]=d;b=d+e|0;c=e;if(!d){break c}}qa(c,e+16|0,d)}F[b|0]=0;H[a>>2]=-2;b=a+4|0;if(F[e+11|0]>=0){a=H[e+4>>2];H[b>>2]=H[e>>2];H[b+4>>2]=a;H[b+8>>2]=H[e+8>>2];break b}za(b,H[e>>2],H[e+4>>2]);if(F[e+11|0]>=0){break b}oa(H[e>>2]);break b}f=d+H[b>>2]|0;d=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);F[c|0]=d;F[c+1|0]=d>>>8;F[c+2|0]=d>>>16;F[c+3|0]=d>>>24;F[c+4|0]=I[f+4|0];d=H[b+20>>2];f=H[b+16>>2]+5|0;d=f>>>0<5?d+1|0:d;H[b+16>>2]=f;H[b+20>>2]=d;if(Fa(c,1260,5)){d=pa(32);F[d+17|0]=0;F[d+16|0]=I[1496];c=I[1492]|I[1493]<<8|(I[1494]<<16|I[1495]<<24);b=I[1488]|I[1489]<<8|(I[1490]<<16|I[1491]<<24);F[d+8|0]=b;F[d+9|0]=b>>>8;F[d+10|0]=b>>>16;F[d+11|0]=b>>>24;F[d+12|0]=c;F[d+13|0]=c>>>8;F[d+14|0]=c>>>16;F[d+15|0]=c>>>24;c=I[1484]|I[1485]<<8|(I[1486]<<16|I[1487]<<24);b=I[1480]|I[1481]<<8|(I[1482]<<16|I[1483]<<24);F[d|0]=b;F[d+1|0]=b>>>8;F[d+2|0]=b>>>16;F[d+3|0]=b>>>24;F[d+4|0]=c;F[d+5|0]=c>>>8;F[d+6|0]=c>>>16;F[d+7|0]=c>>>24;H[a>>2]=-1;za(a+4|0,d,17);oa(d);break b}g=H[b+12>>2];if((g|0)<=(d|0)&K[b+8>>2]<=f>>>0|(d|0)>(g|0)){d=Ma(e+16|0);if(d>>>0>=2147483632){break a}e:{f:{if(d>>>0>=11){b=(d|15)+1|0;c=pa(b);H[e+8>>2]=b|-2147483648;H[e>>2]=c;H[e+4>>2]=d;b=c+d|0;break f}F[e+11|0]=d;b=d+e|0;c=e;if(!d){break e}}qa(c,e+16|0,d)}F[b|0]=0;H[a>>2]=-2;b=a+4|0;if(F[e+11|0]>=0){a=H[e+4>>2];H[b>>2]=H[e>>2];H[b+4>>2]=a;H[b+8>>2]=H[e+8>>2];break b}za(b,H[e>>2],H[e+4>>2]);if(F[e+11|0]>=0){break b}oa(H[e>>2]);break b}F[c+5|0]=I[f+H[b>>2]|0];g=H[b+20>>2];d=H[b+16>>2]+1|0;g=d?g:g+1|0;H[b+16>>2]=d;H[b+20>>2]=g;f=H[b+12>>2];if((f|0)<=(g|0)&K[b+8>>2]<=d>>>0|(g|0)>(f|0)){d=Ma(e+16|0);if(d>>>0>=2147483632){break a}g:{h:{if(d>>>0>=11){b=(d|15)+1|0;c=pa(b);H[e+8>>2]=b|-2147483648;H[e>>2]=c;H[e+4>>2]=d;b=c+d|0;break h}F[e+11|0]=d;b=d+e|0;c=e;if(!d){break g}}qa(c,e+16|0,d)}F[b|0]=0;H[a>>2]=-2;b=a+4|0;if(F[e+11|0]>=0){a=H[e+4>>2];H[b>>2]=H[e>>2];H[b+4>>2]=a;H[b+8>>2]=H[e+8>>2];break b}za(b,H[e>>2],H[e+4>>2]);if(F[e+11|0]>=0){break b}oa(H[e>>2]);break b}F[c+6|0]=I[d+H[b>>2]|0];h=H[b+20>>2];d=H[b+16>>2]+1|0;h=d?h:h+1|0;H[b+16>>2]=d;H[b+20>>2]=h;f=H[b+12>>2];if((f|0)<=(h|0)&K[b+8>>2]<=d>>>0|(f|0)<(h|0)){d=Ma(e+16|0);if(d>>>0>=2147483632){break a}i:{j:{if(d>>>0>=11){b=(d|15)+1|0;c=pa(b);H[e+8>>2]=b|-2147483648;H[e>>2]=c;H[e+4>>2]=d;b=c+d|0;break j}F[e+11|0]=d;b=d+e|0;c=e;if(!d){break i}}qa(c,e+16|0,d)}F[b|0]=0;H[a>>2]=-2;b=a+4|0;if(F[e+11|0]>=0){a=H[e+4>>2];H[b>>2]=H[e>>2];H[b+4>>2]=a;H[b+8>>2]=H[e+8>>2];break b}za(b,H[e>>2],H[e+4>>2]);if(F[e+11|0]>=0){break b}oa(H[e>>2]);break b}F[c+7|0]=I[d+H[b>>2]|0];g=H[b+20>>2];d=H[b+16>>2]+1|0;g=d?g:g+1|0;H[b+16>>2]=d;H[b+20>>2]=g;f=H[b+12>>2];if((f|0)<=(g|0)&K[b+8>>2]<=d>>>0|(g|0)>(f|0)){c=mc(e,e+16|0);H[a>>2]=-2;b=a+4|0;if(F[c+11|0]>=0){a=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=a;H[b+8>>2]=H[c+8>>2];break b}za(b,H[c>>2],H[c+4>>2]);if(F[c+11|0]>=0){break b}oa(H[c>>2]);break b}F[c+8|0]=I[d+H[b>>2]|0];d=H[b+20>>2];g=H[b+16>>2];f=g+1|0;i=f?d:d+1|0;H[b+16>>2]=f;H[b+20>>2]=i;i=H[b+8>>2];h=H[b+12>>2];g=g+3|0;d=g>>>0<3?d+1|0:d;if(g>>>0>i>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){c=mc(e,e+16|0);H[a>>2]=-2;b=a+4|0;if(F[c+11|0]>=0){a=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=a;H[b+8>>2]=H[c+8>>2];break b}za(b,H[c>>2],H[c+4>>2]);if(F[c+11|0]>=0){break b}oa(H[c>>2]);break b}d=c;c=H[b>>2]+f|0;G[d+10>>1]=I[c|0]|I[c+1|0]<<8;g=H[b+20>>2];c=H[b+16>>2]+2|0;g=c>>>0<2?g+1|0:g;H[b+16>>2]=c;H[b+20>>2]=g;H[a+8>>2]=0;H[a+12>>2]=0;H[a>>2]=0;H[a+4>>2]=0}ca=e+48|0;return}Na();v()}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0;e=ca-96|0;ca=e;f=H[a+16>>2];F[e+92|0]=1;H[e+88>>2]=b;H[e+84>>2]=b;H[e+80>>2]=f;j=H[a+20>>2];d=H[j>>2];a:{b:{f=H[H[f+28>>2]+(b<<2)>>2];if(f>>>0>2]-d>>2>>>0){d=H[H[a+8>>2]+(H[d+(f<<2)>>2]<<2)>>2];f=H[a+4>>2];if(!I[f+84|0]){d=H[H[f+68>>2]+(d<<2)>>2]}H[e+72>>2]=0;H[e+76>>2]=0;j=e- -64|0;H[j>>2]=0;H[j+4>>2]=0;H[e+56>>2]=0;H[e+60>>2]=0;Sa(f,d,F[f+24|0],e+56|0);if((b|0)!=-1){f=b+1|0;j=(f>>>0)%3|0?f:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;while(1){d=j;f=m;c:{if(!H[a+28>>2]){break c}f=b+1|0;d=(f>>>0)%3|0?f:b-2|0;f=b-1|0;if((b>>>0)%3|0){break c}f=b+2|0}n=H[a+20>>2];b=H[n>>2];d=H[H[H[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=H[n+4>>2]-b>>2>>>0){break b}d=H[H[a+8>>2]+(H[b+(d<<2)>>2]<<2)>>2];b=H[a+4>>2];if(!I[b+84|0]){d=H[H[b+68>>2]+(d<<2)>>2]}H[e+48>>2]=0;H[e+52>>2]=0;H[e+40>>2]=0;H[e+44>>2]=0;H[e+32>>2]=0;H[e+36>>2]=0;Sa(b,d,F[b+24|0],e+32|0);d=H[a+20>>2];b=H[d>>2];f=H[H[H[a+16>>2]+28>>2]+(f<<2)>>2];if(f>>>0>=H[d+4>>2]-b>>2>>>0){break a}d=H[H[a+8>>2]+(H[b+(f<<2)>>2]<<2)>>2];b=H[a+4>>2];if(!I[b+84|0]){d=H[H[b+68>>2]+(d<<2)>>2]}H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;Sa(b,d,F[b+24|0],e+8|0);g=H[e+8>>2];b=H[e+56>>2];d=g-b|0;p=H[e+60>>2];t=H[e+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=H[e+40>>2];f=H[e+64>>2];n=h-f|0;u=H[e+68>>2];y=H[e+44>>2]-(u+(f>>>0>h>>>0)|0)|0;g=Rj(d,t,n,y);w=o-g|0;x=i-(da+(g>>>0>o>>>0)|0)|0;i=w;h=H[e+16>>2];g=h-f|0;u=H[e+20>>2]-((f>>>0>h>>>0)+u|0)|0;k=H[e+32>>2];h=k-b|0;w=H[e+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=Rj(g,u,h,w);o=i+b|0;i=da+x|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=d;p=t;k=H[e+48>>2];f=H[e+72>>2];d=k-f|0;t=H[e+76>>2];x=H[e+52>>2]-(t+(f>>>0>k>>>0)|0)|0;l=Rj(l,p,d,x);k=b+l|0;b=da+q|0;b=k>>>0>>0?b+1|0:b;l=H[e+24>>2];p=l-f|0;f=H[e+28>>2]-((f>>>0>l>>>0)+t|0)|0;q=Rj(p,f,h,w);l=k-q|0;q=b-(da+(k>>>0>>0)|0)|0;b=Rj(g,u,d,x);d=r-b|0;b=s-(da+(b>>>0>r>>>0)|0)|0;s=Rj(p,f,n,y);r=s+d|0;b=da+b|0;s=r>>>0>>0?b+1|0:b;b=H[e+88>>2];f=H[e+80>>2];d:{if(I[e+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|H[H[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=H[H[H[f+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}H[e+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;H[e+88>>2]=b;if((b|0)!=-1){break e}}b=H[e+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(H[H[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=H[H[H[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}F[e+92|0]=0;H[e+88>>2]=d;break d}if((b|0)!=H[e+84>>2]){break d}H[e+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(H[H[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=H[H[H[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}H[e+88>>2]=d}b=H[e+88>>2];if((b|0)!=-1){continue}break}}b=s>>31;f=b^r;d=f-b|0;b=(b^s)-((b>>>0>f>>>0)+b|0)|0;m=-1;f=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;m:{n:{if(!H[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break m}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;f=a;g=i;a=g>>31;d=a;m=d^o;a=m-d|0;i=a;d=(d^g)-((d>>>0>m>>>0)+d|0)|0;a=a+f|0;d=d^2147483647;i=(d|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>d>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break o}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=i;d=i>>31;h=d^o;i=h-d|0;j=(d^k)-((d>>>0>h>>>0)+d|0)|0;g=j^2147483647;d=a;a=i;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break o}b=b+j|0;m=a+d|0;b=m>>>0>>0?b+1|0:b;f=b;if(!b&m>>>0<536870913){break m}}b=f>>>29|0;a=(f&536870911)<<3|m>>>29}o=Sj(o,n,a,b);l=Sj(l,q,a,b);r=Sj(r,s,a,b)}H[c+8>>2]=o;H[c+4>>2]=l;H[c>>2]=r;ca=e+96|0;return}Ca();v()}Ca();v()}Ca();v()}function Jj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;H[a+8>>2]=e;r=a+32|0;g=H[r>>2];f=H[a+36>>2]-g>>2;a:{if(f>>>0>>0){ya(r,e-f|0);d=H[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}H[a+36>>2]=g+(e<<2);d=e}w=e<<2;f=e>>>0>1073741823?-1:w;m=ra(pa(f),0,f);p=ra(pa(f),0,f);b:{if((d|0)<=0){break b}i=H[a+32>>2];while(1){d=h<<2;f=H[d+m>>2];g=H[a+16>>2];c:{if((f|0)>(g|0)){H[d+i>>2]=g;break c}d=d+i|0;g=H[a+12>>2];if((g|0)>(f|0)){H[d>>2]=g;break c}H[d>>2]=f}d=H[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){g=f<<2;d=g+c|0;g=H[b+g>>2]+H[g+i>>2]|0;H[d>>2]=g;d:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break d}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=H[a+56>>2];x=H[f>>2];f=H[f+4>>2]-x|0;if((f|0)>=5){D=H[a+52>>2];s=H[a+48>>2];u=f>>>2|0;E=u>>>0<=2?2:u;y=e&-2;z=e&1;F=e&-4;A=e&3;B=e-1|0;n=1;while(1){e:{f:{g:{h:{if((n|0)!=(u|0)){g=H[(n<<2)+x>>2];t=(e|0)<=0;if(!t){ra(m,0,w)}if((g|0)==-1){i=N(e,n);break f}C=H[s>>2];l=0;f=g;while(1){i:{if(H[(f>>>3&536870908)+C>>2]>>>f&1){break i}i=H[H[H[s+64>>2]+12>>2]+(f<<2)>>2];if((i|0)==-1){break i}j=H[D>>2];h=H[s+28>>2];o=H[j+(H[h+(i<<2)>>2]<<2)>>2];if((o|0)>=(n|0)){break i}k=i+1|0;k=H[j+(H[h+(((k>>>0)%3|0?k:i-2|0)<<2)>>2]<<2)>>2];if((k|0)>=(n|0)){break i}i=H[j+(H[h+(i+((i>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((i|0)>=(n|0)){break i}j:{if(t){break j}i=N(e,i);j=N(e,k);o=N(e,o);h=0;q=0;if(B){while(1){H[(h<<2)+p>>2]=(H[(h+i<<2)+c>>2]+H[(h+j<<2)+c>>2]|0)-H[(h+o<<2)+c>>2];k=h|1;H[(k<<2)+p>>2]=(H[(i+k<<2)+c>>2]+H[(j+k<<2)+c>>2]|0)-H[(k+o<<2)+c>>2];h=h+2|0;q=q+2|0;if((y|0)!=(q|0)){continue}break}}if(z){H[(h<<2)+p>>2]=(H[(h+i<<2)+c>>2]+H[(h+j<<2)+c>>2]|0)-H[(h+o<<2)+c>>2]}if(t){break j}o=0;h=0;i=0;if(e>>>0>3){while(1){j=h<<2;k=j+m|0;H[k>>2]=H[j+p>>2]+H[k>>2];k=j|4;q=k+m|0;H[q>>2]=H[k+p>>2]+H[q>>2];k=j|8;q=k+m|0;H[q>>2]=H[k+p>>2]+H[q>>2];j=j|12;k=j+m|0;H[k>>2]=H[j+p>>2]+H[k>>2];h=h+4|0;i=i+4|0;if((F|0)!=(i|0)){continue}break}}if(!A){break j}while(1){i=h<<2;j=i+m|0;H[j>>2]=H[i+p>>2]+H[j>>2];h=h+1|0;o=o+1|0;if((A|0)!=(o|0)){continue}break}}l=l+1|0}k:{l:{if((f>>>0)%3|0){h=f-1|0;break l}h=f+2|0;i=-1;if((h|0)==-1){break k}}i=-1;if(H[(h>>>3&536870908)+C>>2]>>>h&1){break k}f=H[H[H[s+64>>2]+12>>2]+(h<<2)>>2];i=-1;if((f|0)==-1){break k}i=f-1|0;if((f>>>0)%3|0){break k}i=f+2|0}f=i;if((g|0)!=(f|0)&(f|0)!=-1){continue}break}i=N(e,n);if(!l){break f}if(t){break g}h=0;f=0;if(!B){break h}while(1){g=h<<2;j=g+m|0;H[j>>2]=H[j>>2]/(l|0);g=(g|4)+m|0;H[g>>2]=H[g>>2]/(l|0);h=h+2|0;f=f+2|0;if((y|0)!=(f|0)){continue}break}break h}Ca();v()}if(!z){break g}f=(h<<2)+m|0;H[f>>2]=H[f>>2]/(l|0)}if((d|0)<=0){break e}l=H[r>>2];h=0;while(1){d=h<<2;f=H[d+m>>2];g=H[a+16>>2];m:{if((f|0)>(g|0)){H[d+l>>2]=g;break m}d=d+l|0;g=H[a+12>>2];if((g|0)>(f|0)){H[d>>2]=g;break m}H[d>>2]=f}d=H[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=i<<2;i=d+c|0;h=b+d|0;while(1){g=f<<2;d=g+i|0;g=H[h+g>>2]+H[g+l>>2]|0;H[d>>2]=g;n:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break n}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}if((d|0)<=0){break e}g=(N(n-1|0,e)<<2)+c|0;l=H[r>>2];h=0;while(1){d=h<<2;f=H[d+g>>2];j=H[a+16>>2];o:{if((f|0)>(j|0)){H[d+l>>2]=j;break o}d=d+l|0;j=H[a+12>>2];if((j|0)>(f|0)){H[d>>2]=j;break o}H[d>>2]=f}d=H[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=i<<2;i=d+c|0;h=b+d|0;while(1){g=f<<2;d=g+i|0;g=H[h+g>>2]+H[g+l>>2]|0;H[d>>2]=g;p:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break p}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}n=n+1|0;if((E|0)!=(n|0)){continue}break}}oa(p);oa(m);return 1}function sj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;H[a+8>>2]=e;r=a+32|0;f=H[r>>2];j=H[a+36>>2]-f>>2;a:{if(j>>>0>>0){ya(r,e-j|0);d=H[a+8>>2];break a}d=e;if(e>>>0>=j>>>0){break a}H[a+36>>2]=f+(e<<2);d=e}u=e<<2;f=e>>>0>1073741823?-1:u;m=ra(pa(f),0,f);p=ra(pa(f),0,f);b:{if((d|0)<=0){break b}i=H[a+32>>2];while(1){f=h<<2;j=H[f+m>>2];d=H[a+16>>2];c:{if((j|0)>(d|0)){H[f+i>>2]=d;break c}f=f+i|0;d=H[a+12>>2];if((d|0)>(j|0)){H[f>>2]=d;break c}H[f>>2]=j}d=H[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){j=f<<2;d=j+c|0;j=H[b+j>>2]+H[j+i>>2]|0;H[d>>2]=j;d:{if((j|0)>H[a+16>>2]){j=j-H[a+20>>2]|0}else{if((j|0)>=H[a+12>>2]){break d}j=j+H[a+20>>2]|0}H[d>>2]=j}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=H[a+56>>2];w=H[f>>2];f=H[f+4>>2]-w|0;if((f|0)>=5){D=H[a+52>>2];x=H[a+48>>2];t=f>>>2|0;E=t>>>0<=2?2:t;y=e&-2;z=e&1;F=e&-4;A=e&3;B=e-1|0;n=1;while(1){e:{f:{g:{h:{if((n|0)!=(t|0)){j=H[(n<<2)+w>>2];s=(e|0)<=0;if(!s){ra(m,0,u)}if((j|0)==-1){g=N(e,n);break f}C=H[x+12>>2];q=0;f=j;while(1){h=H[(f<<2)+C>>2];i:{if((h|0)==-1){break i}o=H[D>>2];l=H[x>>2];k=H[o+(H[l+(h<<2)>>2]<<2)>>2];i=h+1|0;i=(i>>>0)%3|0?i:h-2|0;if((i|0)!=-1){g=H[l+(i<<2)>>2]}else{g=-1}j:{k:{if((h>>>0)%3|0){h=h-1|0;break k}h=h+2|0;i=-1;if((h|0)==-1){break j}}i=H[l+(h<<2)>>2]}if((k|0)>=(n|0)){break i}g=H[(g<<2)+o>>2];if((g|0)>=(n|0)){break i}i=H[o+(i<<2)>>2];if((i|0)>=(n|0)){break i}l:{if(s){break l}l=N(e,i);o=N(e,g);k=N(e,k);h=0;i=0;if(B){while(1){H[(h<<2)+p>>2]=(H[(h+l<<2)+c>>2]+H[(h+o<<2)+c>>2]|0)-H[(h+k<<2)+c>>2];g=h|1;H[(g<<2)+p>>2]=(H[(g+l<<2)+c>>2]+H[(g+o<<2)+c>>2]|0)-H[(g+k<<2)+c>>2];h=h+2|0;i=i+2|0;if((y|0)!=(i|0)){continue}break}}if(z){H[(h<<2)+p>>2]=(H[(h+l<<2)+c>>2]+H[(h+o<<2)+c>>2]|0)-H[(h+k<<2)+c>>2]}if(s){break l}o=0;h=0;k=0;if(e>>>0>3){while(1){l=h<<2;i=l+m|0;H[i>>2]=H[l+p>>2]+H[i>>2];g=l|4;i=g+m|0;H[i>>2]=H[g+p>>2]+H[i>>2];g=l|8;i=g+m|0;H[i>>2]=H[g+p>>2]+H[i>>2];g=l|12;i=g+m|0;H[i>>2]=H[g+p>>2]+H[i>>2];h=h+4|0;k=k+4|0;if((F|0)!=(k|0)){continue}break}}if(!A){break l}while(1){g=h<<2;i=g+m|0;H[i>>2]=H[g+p>>2]+H[i>>2];h=h+1|0;o=o+1|0;if((A|0)!=(o|0)){continue}break}}q=q+1|0}m:{n:{if((f>>>0)%3|0){h=f-1|0;break n}h=f+2|0;g=-1;if((h|0)==-1){break m}}f=H[(h<<2)+C>>2];g=-1;if((f|0)==-1){break m}g=f-1|0;if((f>>>0)%3|0){break m}g=f+2|0}f=g;if((j|0)!=(f|0)&(f|0)!=-1){continue}break}g=N(e,n);if(!q){break f}if(s){break g}h=0;f=0;if(!B){break h}while(1){i=h<<2;j=i+m|0;H[j>>2]=H[j>>2]/(q|0);j=(i|4)+m|0;H[j>>2]=H[j>>2]/(q|0);h=h+2|0;f=f+2|0;if((y|0)!=(f|0)){continue}break}break h}Ca();v()}if(!z){break g}f=(h<<2)+m|0;H[f>>2]=H[f>>2]/(q|0)}if((d|0)<=0){break e}k=H[r>>2];h=0;while(1){f=h<<2;j=H[f+m>>2];d=H[a+16>>2];o:{if((j|0)>(d|0)){H[f+k>>2]=d;break o}f=f+k|0;d=H[a+12>>2];if((d|0)>(j|0)){H[f>>2]=d;break o}H[f>>2]=j}d=H[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=g<<2;i=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+i|0;g=H[g+j>>2]+H[g+k>>2]|0;H[d>>2]=g;p:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break p}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}if((d|0)<=0){break e}f=(N(n-1|0,e)<<2)+c|0;k=H[r>>2];h=0;while(1){j=h<<2;i=H[j+f>>2];d=H[a+16>>2];q:{if((i|0)>(d|0)){H[j+k>>2]=d;break q}j=j+k|0;d=H[a+12>>2];if((d|0)>(i|0)){H[j>>2]=d;break q}H[j>>2]=i}d=H[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=g<<2;i=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+i|0;g=H[g+j>>2]+H[g+k>>2]|0;H[d>>2]=g;r:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break r}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}n=n+1|0;if((E|0)!=(n|0)){continue}break}}oa(p);oa(m);return 1}function xa(a){var 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;f=ca-32|0;ca=f;a:{b=H[a+16>>2];b:{if(b>>>0>=341){H[a+16>>2]=b-341;b=H[a+4>>2];j=H[b>>2];c=b+4|0;H[a+4>>2]=c;b=H[a+8>>2];c:{if((b|0)!=H[a+12>>2]){d=b;break c}k=H[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=va(e+c|0,c,b)+b|0;H[a+8>>2]=d;H[a+4>>2]=e+H[a+4>>2];break c}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=pa(e);l=e+h|0;e=h+(d&-4)|0;d=e;d:{if((b|0)==(c|0)){break d}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;e:{if(!g){b=e;break e}d=0;b=e;while(1){H[b>>2]=H[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break d}while(1){H[b>>2]=H[c>>2];H[b+4>>2]=H[c+4>>2];H[b+8>>2]=H[c+8>>2];H[b+12>>2]=H[c+12>>2];H[b+16>>2]=H[c+16>>2];H[b+20>>2]=H[c+20>>2];H[b+24>>2]=H[c+24>>2];H[b+28>>2]=H[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}H[a+12>>2]=l;H[a+8>>2]=d;H[a+4>>2]=e;H[a>>2]=h;if(!k){break c}oa(k);d=H[a+8>>2]}H[d>>2]=j;H[a+8>>2]=H[a+8>>2]+4;break b}c=H[a+8>>2];b=H[a+4>>2];l=c-b|0;h=l>>2;g=H[a+12>>2];d=H[a>>2];e=g-d|0;if(h>>>0>2>>>0){if((c|0)!=(g|0)){n=f,o=pa(4092),H[n+8>>2]=o;d=a;f:{g:{b=H[a+8>>2];h:{if((b|0)!=H[a+12>>2]){e=b;break h}c=H[d+4>>2];h=H[d>>2];if(c>>>0>h>>>0){g=((c-h>>2)+1|0)/-2<<2;a=b-c|0;e=va(g+c|0,c,a)+a|0;H[d+8>>2]=e;H[d+4>>2]=g+H[d+4>>2];break h}e=(b|0)==(h|0)?1:b-h>>1;if(e>>>0>=1073741824){break g}a=e<<2;j=pa(a);l=a+j|0;a=j+(e&-4)|0;e=a;i:{if((b|0)==(c|0)){break i}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;j:{if(!g){b=a;break j}e=0;b=a;while(1){H[b>>2]=H[c>>2];c=c+4|0;b=b+4|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}}e=a+m|0;if(i>>>0<28){break i}while(1){H[b>>2]=H[c>>2];H[b+4>>2]=H[c+4>>2];H[b+8>>2]=H[c+8>>2];H[b+12>>2]=H[c+12>>2];H[b+16>>2]=H[c+16>>2];H[b+20>>2]=H[c+20>>2];H[b+24>>2]=H[c+24>>2];H[b+28>>2]=H[c+28>>2];c=c+32|0;b=b+32|0;if((e|0)!=(b|0)){continue}break}}H[d+12>>2]=l;H[d+8>>2]=e;H[d+4>>2]=a;H[d>>2]=j;if(!h){break h}oa(h);e=H[d+8>>2]}H[e>>2]=H[f+8>>2];H[d+8>>2]=H[d+8>>2]+4;break f}wa();v()}break b}n=f,o=pa(4092),H[n+8>>2]=o;qd(a,f+8|0);b=H[a+4>>2];j=H[b>>2];c=b+4|0;H[a+4>>2]=c;b=H[a+8>>2];k:{if((b|0)!=H[a+12>>2]){d=b;break k}k=H[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=va(e+c|0,c,b)+b|0;H[a+8>>2]=d;H[a+4>>2]=e+H[a+4>>2];break k}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=pa(e);l=e+h|0;e=h+(d&-4)|0;d=e;l:{if((b|0)==(c|0)){break l}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;m:{if(!g){b=e;break m}d=0;b=e;while(1){H[b>>2]=H[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break l}while(1){H[b>>2]=H[c>>2];H[b+4>>2]=H[c+4>>2];H[b+8>>2]=H[c+8>>2];H[b+12>>2]=H[c+12>>2];H[b+16>>2]=H[c+16>>2];H[b+20>>2]=H[c+20>>2];H[b+24>>2]=H[c+24>>2];H[b+28>>2]=H[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}H[a+12>>2]=l;H[a+8>>2]=d;H[a+4>>2]=e;H[a>>2]=h;if(!k){break k}oa(k);d=H[a+8>>2]}H[d>>2]=j;H[a+8>>2]=H[a+8>>2]+4;break b}H[f+24>>2]=a+12;m=(d|0)==(g|0)?1:e>>1;if(m>>>0>=1073741824){break a}e=m<<2;g=pa(e);H[f+8>>2]=g;j=e+g|0;H[f+20>>2]=j;d=(h<<2)+g|0;H[f+12>>2]=d;i=pa(4092);n:{if((h|0)!=(m|0)){break n}if((l|0)>0){d=((h+1|0)/-2<<2)+d|0;H[f+12>>2]=d;break n}d=(b|0)==(c|0)?1:l>>1;if(d>>>0>=1073741824){break a}b=d<<2;e=pa(b);H[f+8>>2]=e;j=b+e|0;H[f+20>>2]=j;d=e+(d&-4)|0;H[f+12>>2]=d;oa(g);b=H[a+4>>2];c=H[a+8>>2];g=e}H[d>>2]=i;i=d+4|0;H[f+16>>2]=i;e=b;if((b|0)!=(c|0)){while(1){c=c-4|0;qd(f+8|0,c);if(H[a+4>>2]!=(c|0)){continue}break}j=H[f+20>>2];i=H[f+16>>2];d=H[f+12>>2];g=H[f+8>>2];e=c;b=H[a+8>>2]}c=H[a>>2];H[a>>2]=g;H[f+8>>2]=c;H[a+4>>2]=d;H[f+12>>2]=e;H[a+8>>2]=i;H[f+16>>2]=b;d=H[a+12>>2];H[a+12>>2]=j;H[f+20>>2]=d;if((b|0)!=(e|0)){H[f+16>>2]=((e-b|0)+3&-4)+b}if(!c){break b}oa(c)}ca=f+32|0;return}wa();v()}function Aj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=O(0),j=0,k=0,l=0,m=O(0),n=O(0),o=O(0),p=O(0),q=O(0),r=0,s=O(0),t=O(0),u=O(0),w=O(0),x=0,y=O(0),z=O(0),A=O(0),B=0;a:{b:{if((e|0)!=2){break b}H[a+64>>2]=f;H[a+72>>2]=2;e=pa(8);d=H[a+68>>2];H[a+68>>2]=e;if(d){oa(d)}H[a+8>>2]=2;x=a+32|0;e=H[x>>2];d=H[a+36>>2]-e|0;c:{if(d>>>0<=7){ya(x,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}H[a+36>>2]=e+8}h=1;d=H[a+56>>2];d=H[d+4>>2]-H[d>>2]|0;if((d|0)<=0){break b}d=d>>>2|0;B=d>>>0<=1?1:d;d=0;while(1){e=H[a+56>>2];h=H[e>>2];if(H[e+4>>2]-h>>2>>>0<=d>>>0){break a}q=O(0);g=ca-48|0;ca=g;e=-1;h=H[h+(d<<2)>>2];f=-1;d:{if((h|0)==-1){break d}e=h+1|0;e=(e>>>0)%3|0?e:h-2|0;f=h-1|0;if((h>>>0)%3|0){break d}f=h+2|0}j=H[a+52>>2];h=H[j>>2];e:{f:{j=H[j+4>>2]-h>>2;l=e<<2;e=H[H[a+48>>2]+28>>2];r=H[l+e>>2];if(j>>>0<=r>>>0){break f}e=H[e+(f<<2)>>2];if(e>>>0>=j>>>0){break f}j=H[h+(e<<2)>>2];f=H[h+(r<<2)>>2];g:{if(!((j|0)>=(d|0)|(f|0)>=(d|0))){e=H[a+72>>2];h=(N(e,j)<<2)+c|0;m=O(H[h+4>>2]);e=(N(e,f)<<2)+c|0;p=O(H[e+4>>2]);y=O(H[e>>2]);n=O(H[h>>2]);if(!(y!=n|m!=p)){h=+m>2147483647;e=H[a+68>>2];if(O(P(m))>2]=m2147483647;if(O(P(n))>2]=n>2]+(d<<2)>>2];H[g+40>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;h=H[a+60>>2];if(!I[h+84|0]){e=H[H[h+68>>2]+(e<<2)>>2]}Va(h,e,F[h+24|0],g+32|0);f=H[H[a+64>>2]+(f<<2)>>2];H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;e=H[a+60>>2];if(!I[e+84|0]){f=H[H[e+68>>2]+(f<<2)>>2]}Va(e,f,F[e+24|0],g+16|0);f=H[H[a+64>>2]+(j<<2)>>2];H[g+8>>2]=0;H[g>>2]=0;H[g+4>>2]=0;e=H[a+60>>2];if(!I[e+84|0]){f=H[H[e+68>>2]+(f<<2)>>2]}Va(e,f,F[e+24|0],g);o=L[g+24>>2];s=O(L[g+8>>2]-o);t=L[g+20>>2];u=O(L[g+4>>2]-t);A=L[g+16>>2];w=O(L[g>>2]-A);z=O(O(s*s)+O(O(u*u)+O(O(w*w)+O(0))));h:{if(H[a+88>>2]>=258){i=O(0);if(!(z>O(0))){break h}}i=O(L[g+40>>2]-o);o=O(L[g+36>>2]-t);t=O(L[g+32>>2]-A);q=O(O(O(s*i)+O(O(u*o)+O(O(w*t)+O(0))))/z);i=O(i-O(s*q));s=O(i*i);i=O(o-O(u*q));o=O(i*i);i=O(t-O(w*q));i=O(W(O(O(s+O(o+O(O(i*i)+O(0))))/z)))}f=H[a+80>>2];if(f){e=f-1|0;h=H[H[a+76>>2]+(e>>>3&536870908)>>2];H[a+80>>2]=e;m=O(m-p);o=O(O(m*q)+p);n=O(n-y);p=O(n*i);e=h>>>e&1;p=O(o+(e?p:O(-p)));i=O(i*m);k=T(+O(O(O(n*q)+y)+(e?O(-i):i))+.5);i:{if(k<-2147483648|k!=k|k>2147483647){e=H[a+68>>2];H[e>>2]=-2147483648;break i}e=H[a+68>>2];if(P(k)<2147483648){h=~~k}else{h=-2147483648}H[e>>2]=h}k=T(+p+.5);j=k>2147483647;if(P(k)<2147483648){h=~~k}else{h=-2147483648}H[e+4>>2]=k<-2147483648?-2147483648:k!=k?-2147483648:j?-2147483648:h}f=(f|0)!=0;break g}j:{if((d|0)>(f|0)){e=H[a+72>>2];h=N(f,e);break j}if((d|0)<=0){f=1;if(H[a+72>>2]<=0){break g}h=H[a+68>>2];e=0;while(1){H[h+(e<<2)>>2]=0;e=e+1|0;if((e|0)>2]){continue}break}break g}e=H[a+72>>2];h=N(e,d-1|0)}f=1;if((e|0)<=0){break g}j=H[a+68>>2];e=0;while(1){H[j+(e<<2)>>2]=H[(e+h<<2)+c>>2];e=e+1|0;if((e|0)>2]){continue}break}}ca=g+48|0;break e}Ca();v()}h=f;if(!h){return 0}k:{if(H[a+8>>2]<=0){break k}r=H[a+68>>2];j=H[x>>2];e=0;while(1){f=e<<2;g=H[f+r>>2];l=H[a+16>>2];l:{if((g|0)>(l|0)){H[f+j>>2]=l;break l}f=f+j|0;l=H[a+12>>2];if((l|0)>(g|0)){H[f>>2]=l;break l}H[f>>2]=g}e=e+1|0;g=H[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break k}e=d<<3;r=e+c|0;l=b+e|0;while(1){g=f<<2;e=g+r|0;g=H[g+l>>2]+H[g+j>>2]|0;H[e>>2]=g;m:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break m}g=g+H[a+20>>2]|0}H[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((B|0)!=(d|0)){continue}break}}return h|0}Ca();v()}function kj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=O(0),j=0,k=0,l=O(0),m=O(0),n=O(0),o=O(0),p=0,q=O(0),r=O(0),s=O(0),t=O(0),u=O(0),w=0,x=O(0),y=O(0),z=0,A=O(0),B=0;a:{b:{if((e|0)!=2){break b}H[a+64>>2]=f;H[a+72>>2]=2;e=pa(8);d=H[a+68>>2];H[a+68>>2]=e;if(d){oa(d)}H[a+8>>2]=2;w=a+32|0;e=H[w>>2];d=H[a+36>>2]-e|0;c:{if(d>>>0<=7){ya(w,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}H[a+36>>2]=e+8}h=1;d=H[a+56>>2];d=H[d+4>>2]-H[d>>2]|0;if((d|0)<=0){break b}d=d>>>2|0;B=d>>>0<=1?1:d;d=0;while(1){f=H[a+56>>2];e=H[f>>2];if(H[f+4>>2]-e>>2>>>0<=d>>>0){break a}q=O(0);g=ca-48|0;ca=g;h=-1;d:{e:{e=H[e+(d<<2)>>2];if((e|0)==-1){break e}j=H[a+48>>2];f=e+1|0;f=(f>>>0)%3|0?f:e-2|0;if((f|0)!=-1){h=H[H[j>>2]+(f<<2)>>2]}f=-1;e=e+((e>>>0)%3|0?-1:2)|0;if((e|0)!=-1){f=H[H[j>>2]+(e<<2)>>2]}e=H[a+52>>2];j=H[e>>2];e=H[e+4>>2]-j>>2;if(e>>>0<=h>>>0|e>>>0<=f>>>0){break e}e=H[j+(h<<2)>>2];j=H[j+(f<<2)>>2];f:{if(!((d|0)<=(e|0)|(j|0)>=(d|0))){f=H[a+72>>2];h=(N(f,j)<<2)+c|0;l=O(H[h+4>>2]);f=(N(e,f)<<2)+c|0;o=O(H[f+4>>2]);x=O(H[f>>2]);m=O(H[h>>2]);if(!(x!=m|l!=o)){h=+l>2147483647;e=H[a+68>>2];if(O(P(l))>2]=l2147483647;if(O(P(m))>2]=m>2]+(d<<2)>>2];H[g+40>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;h=H[a+60>>2];if(!I[h+84|0]){f=H[H[h+68>>2]+(f<<2)>>2]}Va(h,f,F[h+24|0],g+32|0);f=H[H[a+64>>2]+(e<<2)>>2];H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;e=H[a+60>>2];if(!I[e+84|0]){f=H[H[e+68>>2]+(f<<2)>>2]}Va(e,f,F[e+24|0],g+16|0);h=H[H[a+64>>2]+(j<<2)>>2];H[g+8>>2]=0;H[g>>2]=0;H[g+4>>2]=0;e=H[a+60>>2];if(!I[e+84|0]){h=H[H[e+68>>2]+(h<<2)>>2]}Va(e,h,F[e+24|0],g);n=L[g+24>>2];r=O(L[g+8>>2]-n);s=L[g+20>>2];t=O(L[g+4>>2]-s);A=L[g+16>>2];u=O(L[g>>2]-A);y=O(O(r*r)+O(O(t*t)+O(O(u*u)+O(0))));g:{if(H[a+88>>2]>=258){i=O(0);if(!(y>O(0))){break g}}i=O(L[g+40>>2]-n);n=O(L[g+36>>2]-s);s=O(L[g+32>>2]-A);q=O(O(O(r*i)+O(O(t*n)+O(O(u*s)+O(0))))/y);i=O(i-O(r*q));r=O(i*i);i=O(n-O(t*q));n=O(i*i);i=O(s-O(u*q));i=O(W(O(O(r+O(n+O(O(i*i)+O(0))))/y)))}e=H[a+80>>2];if(e){f=e-1|0;h=H[H[a+76>>2]+(f>>>3&536870908)>>2];H[a+80>>2]=f;l=O(l-o);n=O(O(l*q)+o);m=O(m-x);o=O(m*i);f=h>>>f&1;o=O(n+(f?o:O(-o)));i=O(i*l);k=T(+O(O(O(m*q)+x)+(f?O(-i):i))+.5);h:{if(k<-2147483648|k!=k|k>2147483647){h=H[a+68>>2];H[h>>2]=-2147483648;break h}h=H[a+68>>2];if(P(k)<2147483648){f=~~k}else{f=-2147483648}H[h>>2]=f}k=T(+o+.5);j=k>2147483647;if(P(k)<2147483648){f=~~k}else{f=-2147483648}H[h+4>>2]=k<-2147483648?-2147483648:k!=k?-2147483648:j?-2147483648:f}h=(e|0)!=0;break f}i:{if((d|0)>(e|0)){f=H[a+72>>2];e=N(e,f);break i}if((d|0)<=0){h=1;if(H[a+72>>2]<=0){break f}e=H[a+68>>2];f=0;while(1){H[e+(f<<2)>>2]=0;f=f+1|0;if((f|0)>2]){continue}break}break f}f=H[a+72>>2];e=N(f,d-1|0)}h=1;if((f|0)<=0){break f}j=H[a+68>>2];f=0;while(1){H[j+(f<<2)>>2]=H[(e+f<<2)+c>>2];f=f+1|0;if((f|0)>2]){continue}break}}ca=g+48|0;break d}Ca();v()}if(!h){return 0}j:{if(H[a+8>>2]<=0){break j}z=H[a+68>>2];j=H[w>>2];e=0;while(1){f=e<<2;g=H[f+z>>2];p=H[a+16>>2];k:{if((g|0)>(p|0)){H[f+j>>2]=p;break k}f=f+j|0;p=H[a+12>>2];if((p|0)>(g|0)){H[f>>2]=p;break k}H[f>>2]=g}e=e+1|0;g=H[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break j}e=d<<3;z=e+c|0;p=b+e|0;while(1){g=f<<2;e=g+z|0;g=H[g+p>>2]+H[g+j>>2]|0;H[e>>2]=g;l:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break l}g=g+H[a+20>>2]|0}H[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((B|0)!=(d|0)){continue}break}}return h|0}Ca();v()}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=ca-704|0;ca=f;n=1;a:{b:{c:{d:{if(J[b+38>>1]<515){break d}n=0;c=H[b+20>>2];d=H[b+12>>2];g=H[b+16>>2];if((c|0)>=(d|0)&g>>>0>=K[b+8>>2]|(c|0)>(d|0)){break d}p=I[H[b>>2]+g|0];g=g+1|0;c=g?c:c+1|0;H[b+16>>2]=g;H[b+20>>2]=c;g=H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+80>>2];c=ea[H[H[a>>2]+24>>2]](a)|0;H[f+40>>2]=0;H[f+32>>2]=0;H[f+36>>2]=0;if(c){if(c>>>0>=214748365){break c}c=N(c,20);d=pa(c);H[f+32>>2]=d;H[f+40>>2]=c+d;c=c-20|0;c=(c-((c>>>0)%20|0)|0)+20|0;q=f,r=ra(d,0,c)+c|0,H[q+36>>2]=r}e:{if((ea[H[H[a>>2]+24>>2]](a)|0)>0){while(1){c=ea[H[H[a>>2]+20>>2]](a,l)|0;c=H[H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];mb(c,g);F[c+84|0]=1;H[c+72>>2]=H[c+68>>2];d=H[c+28>>2];if(d>>>0>9){break e}f:{g:{h:{e=1<>2],d,6,0,i,i>>31);c=jc(pa(96),e);H[f>>2]=c;F[c+84|0]=1;H[c+72>>2]=H[c+68>>2];mb(c,g);c=H[a+64>>2];if(c>>>0>=K[a+68>>2]){break h}d=H[f>>2];H[f>>2]=0;H[c>>2]=d;c=c+4|0;H[a+64>>2]=c;break g}j=0;if(!I[c+24|0]){break f}while(1){d=H[a+52>>2];i=H[a+56>>2];i:{if(d>>>0>>0){H[d>>2]=0;H[a+52>>2]=d+4;break i}e=d;d=H[a+48>>2];m=e-d|0;k=m>>2;e=k+1|0;if(e>>>0>=1073741824){break b}o=k<<2;i=i-d|0;k=i>>>1|0;e=i>>>0>=2147483644?1073741823:e>>>0>>0?k:e;if(e){if(e>>>0>=1073741824){break a}i=pa(e<<2)}else{i=0}k=o+i|0;H[k>>2]=0;o=e<<2;e=va(i,d,m);H[a+56>>2]=o+e;H[a+52>>2]=k+4;H[a+48>>2]=e;if(!d){break i}oa(d)}j=j+1|0;if(j>>>0>2];i=H[a+64>>2]-e>>2;d=i+1|0;if(d>>>0<1073741824){e=H[a+68>>2]-e|0;j=e>>>1|0;e=e>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(e){if(e>>>0>=1073741824){break l}c=pa(e<<2)}j=H[f>>2];H[f>>2]=0;d=(i<<2)+c|0;H[d>>2]=j;e=(e<<2)+c|0;i=d+4|0;c=H[a+64>>2];j=H[a+60>>2];if((c|0)==(j|0)){break k}while(1){c=c-4|0;m=H[c>>2];H[c>>2]=0;d=d-4|0;H[d>>2]=m;if((c|0)!=(j|0)){continue}break}H[a+68>>2]=e;e=H[a+64>>2];H[a+64>>2]=i;c=H[a+60>>2];H[a+60>>2]=d;if((c|0)==(e|0)){break j}while(1){e=e-4|0;d=H[e>>2];H[e>>2]=0;if(d){Ga(d)}if((c|0)!=(e|0)){continue}break}break j}sa();v()}wa();v()}H[a+68>>2]=e;H[a+64>>2]=i;H[a+60>>2]=d}if(c){oa(c)}c=H[a+64>>2]}c=H[c-4>>2];d=H[f>>2];H[f>>2]=0;if(!d){break f}Ga(d)}i=H[c+28>>2];d=i-1|0;if(d>>>0<=10){e=H[(d<<2)+13584>>2]}else{e=-1}d=H[f+32>>2]+N(l,20)|0;j=I[c+24|0];H[d+16>>2]=j;H[d+12>>2]=(e|0)>0?e:0;H[d+8>>2]=i;H[d+4>>2]=h;H[d>>2]=c;h=h+j|0;l=l+1|0;if((ea[H[H[a>>2]+24>>2]](a)|0)>(l|0)){continue}break}}a=Ac(f,f+32|0);m:{n:{o:{switch(p|0){case 0:c=wb(f+48|0,h);b=Bd(c,b,a,g);h=H[c+8>>2];xb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 1:c=wb(f+48|0,h);b=zd(c,b,a,g);h=H[c+8>>2];xb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 2:c=ub(f+48|0,h);b=yd(c,b,a,g);h=H[c+8>>2];vb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 3:c=ub(f+48|0,h);b=xd(c,b,a,g);h=H[c+8>>2];vb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 4:c=$a(f+48|0,h);b=wd(c,b,a,g);h=H[c+8>>2];ab(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 5:c=$a(f+48|0,h);b=vd(c,b,a,g);h=H[c+8>>2];ab(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 6:break o;default:break m}}c=$a(f+48|0,h);b=ud(c,b,a,g);h=H[c+8>>2];ab(c);if(!b|(h|0)!=(g|0)){break m}}n=1}b=H[a+16>>2];if(b){H[a+20>>2]=b;oa(b)}b=H[a>>2];if(!b){break e}H[a+4>>2]=b;oa(b)}a=H[f+32>>2];if(!a){break d}H[f+36>>2]=a;oa(a)}ca=f+704|0;return n|0}sa();v()}sa();v()}wa();v()}function Zi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=ca-32|0;ca=e;a:{b:{switch(c-2|0){case 0:c=H[a+4>>2];f=H[a+12>>2];H[e+24>>2]=-1;H[e+16>>2]=-1;H[e+20>>2]=1065353216;H[e+8>>2]=-1;H[e+12>>2]=-1;if((b|0)==-2){break a}i=H[H[H[c+4>>2]+8>>2]+(f<<2)>>2];if((ea[H[H[c>>2]+8>>2]](c)|0)==1){h=H[H[H[c+4>>2]+8>>2]+(f<<2)>>2];c:{if((ea[H[H[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break c}g=ea[H[H[c>>2]+36>>2]](c)|0;a=ea[H[H[c>>2]+44>>2]](c,f)|0;if(!g|!a){break c}f=ea[H[H[c>>2]+40>>2]](c,f)|0;d:{if(f){if((b|0)!=6){break c}b=H[c+44>>2];d=pa(112);H[d+4>>2]=h;c=H[e+12>>2];H[d+8>>2]=H[e+8>>2];H[d+12>>2]=c;c=H[e+20>>2];H[d+16>>2]=H[e+16>>2];H[d+20>>2]=c;H[d+24>>2]=H[e+24>>2];H[d+40>>2]=a;c=a+12|0;H[d+36>>2]=c;H[d+32>>2]=f;H[d+28>>2]=b;H[d+68>>2]=a;H[d- -64>>2]=c;H[d+60>>2]=f;H[d+56>>2]=b;H[d+48>>2]=0;H[d+52>>2]=0;H[d>>2]=7144;H[d+88>>2]=1065353216;H[d+92>>2]=-1;H[d+80>>2]=-1;H[d+84>>2]=-1;H[d+72>>2]=1;H[d+76>>2]=-1;H[d+44>>2]=7668;a=d+96|0;break d}if((b|0)!=6){break c}b=H[c+44>>2];d=pa(112);H[d+4>>2]=h;c=H[e+12>>2];H[d+8>>2]=H[e+8>>2];H[d+12>>2]=c;c=H[e+20>>2];H[d+16>>2]=H[e+16>>2];H[d+20>>2]=c;H[d+24>>2]=H[e+24>>2];H[d+40>>2]=a;c=a+12|0;H[d+36>>2]=c;H[d+32>>2]=g;H[d+28>>2]=b;H[d+68>>2]=a;H[d- -64>>2]=c;H[d+60>>2]=g;H[d+56>>2]=b;H[d+48>>2]=0;H[d+52>>2]=0;H[d>>2]=8080;H[d+88>>2]=1065353216;H[d+92>>2]=-1;H[d+80>>2]=-1;H[d+84>>2]=-1;H[d+72>>2]=1;H[d+76>>2]=-1;H[d+44>>2]=8472;a=d+96|0}H[a>>2]=0;H[a+4>>2]=0;F[a+5|0]=0;F[a+6|0]=0;F[a+7|0]=0;F[a+8|0]=0;F[a+9|0]=0;F[a+10|0]=0;F[a+11|0]=0;F[a+12|0]=0}if(d){break a}}d=pa(28);H[d+4>>2]=i;a=H[e+12>>2];H[d+8>>2]=H[e+8>>2];H[d+12>>2]=a;a=H[e+20>>2];H[d+16>>2]=H[e+16>>2];H[d+20>>2]=a;H[d+24>>2]=H[e+24>>2];H[d>>2]=8860;break a;case 1:break b;default:break a}}c=H[a+4>>2];f=H[a+12>>2];H[e+24>>2]=-1;H[e+16>>2]=-1;H[e+20>>2]=1065353216;H[e+8>>2]=-1;H[e+12>>2]=-1;if((b|0)==-2){break a}i=H[H[H[c+4>>2]+8>>2]+(f<<2)>>2];if((ea[H[H[c>>2]+8>>2]](c)|0)==1){h=H[H[H[c+4>>2]+8>>2]+(f<<2)>>2];e:{if((ea[H[H[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break e}g=ea[H[H[c>>2]+36>>2]](c)|0;a=ea[H[H[c>>2]+44>>2]](c,f)|0;if(!g|!a){break e}f=ea[H[H[c>>2]+40>>2]](c,f)|0;f:{if(f){if((b|0)!=6){break e}b=H[c+44>>2];d=pa(112);H[d+4>>2]=h;c=H[e+12>>2];H[d+8>>2]=H[e+8>>2];H[d+12>>2]=c;c=H[e+20>>2];H[d+16>>2]=H[e+16>>2];H[d+20>>2]=c;H[d+24>>2]=H[e+24>>2];H[d+40>>2]=a;c=a+12|0;H[d+36>>2]=c;H[d+32>>2]=f;H[d+28>>2]=b;H[d+68>>2]=a;H[d- -64>>2]=c;H[d+60>>2]=f;H[d+56>>2]=b;H[d+48>>2]=0;H[d+52>>2]=0;H[d>>2]=9028;H[d+88>>2]=1065353216;H[d+92>>2]=-1;H[d+80>>2]=-1;H[d+84>>2]=-1;H[d+72>>2]=1;H[d+76>>2]=-1;H[d+44>>2]=9592;a=d+96|0;break f}if((b|0)!=6){break e}b=H[c+44>>2];d=pa(112);H[d+4>>2]=h;c=H[e+12>>2];H[d+8>>2]=H[e+8>>2];H[d+12>>2]=c;c=H[e+20>>2];H[d+16>>2]=H[e+16>>2];H[d+20>>2]=c;H[d+24>>2]=H[e+24>>2];H[d+40>>2]=a;c=a+12|0;H[d+36>>2]=c;H[d+32>>2]=g;H[d+28>>2]=b;H[d+68>>2]=a;H[d- -64>>2]=c;H[d+60>>2]=g;H[d+56>>2]=b;H[d+48>>2]=0;H[d+52>>2]=0;H[d>>2]=10032;H[d+88>>2]=1065353216;H[d+92>>2]=-1;H[d+80>>2]=-1;H[d+84>>2]=-1;H[d+72>>2]=1;H[d+76>>2]=-1;H[d+44>>2]=10452;a=d+96|0}H[a>>2]=0;H[a+4>>2]=0;F[a+5|0]=0;F[a+6|0]=0;F[a+7|0]=0;F[a+8|0]=0;F[a+9|0]=0;F[a+10|0]=0;F[a+11|0]=0;F[a+12|0]=0}if(d){break a}}d=pa(28);H[d+4>>2]=i;a=H[e+12>>2];H[d+8>>2]=H[e+8>>2];H[d+12>>2]=a;a=H[e+20>>2];H[d+16>>2]=H[e+16>>2];H[d+20>>2]=a;H[d+24>>2]=H[e+24>>2];H[d>>2]=10864}ca=e+32|0;return d|0}function Ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=O(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=O(0),p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(H[c>>2]==H[c+4>>2]){m=H[d+80>>2];u=ca-16|0;ca=u;g=H[a+4>>2];k=I[b+24|0];h=H[d+48>>2];n=H[H[d>>2]>>2];c=u+8|0;H[c>>2]=1065353216;d=c;L[c>>2]=O(-1<>2];c=pa(k<<2);a:{if(!m|!k){break a}p=h+n|0;o=L[d>>2];n=H[a+8>>2];v=H[b>>2];d=H[b+48>>2];g=H[b+40>>2];w=H[b+44>>2];if(!I[b+84|0]){f=H[b+68>>2];s=k&254;t=k&1;a=0;while(1){b=H[v>>2];l=Rj(g,w,H[f+(i<<2)>>2],0)+d|0;h=qa(c,b+l|0,g);b=0;q=0;if((k|0)!=1){while(1){l=p+(a<<2)|0;j=b<<2;e=O(T(O(O(o*O(L[j+h>>2]-L[n+j>>2]))+O(.5))));b:{if(O(P(e))>2]=r;j=j|4;e=O(T(O(O(o*O(L[j+h>>2]-L[n+j>>2]))+O(.5))));c:{if(O(P(e))>2]=j;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){l=p+(a<<2)|0;b=b<<2;e=O(T(O(O(o*O(L[b+h>>2]-L[b+n>>2]))+O(.5))));d:{if(O(P(e))>2]=b;a=a+1|0}i=i+1|0;if((m|0)!=(i|0)){continue}break}break a}s=k&254;t=k&1;a=0;while(1){b=H[v>>2];h=Rj(g,w,i,l)+d|0;j=qa(c,b+h|0,g);b=0;q=0;if((k|0)!=1){while(1){h=p+(a<<2)|0;f=b<<2;e=O(T(O(O(o*O(L[f+j>>2]-L[f+n>>2]))+O(.5))));e:{if(O(P(e))>2]=r;f=f|4;e=O(T(O(O(o*O(L[f+j>>2]-L[f+n>>2]))+O(.5))));f:{if(O(P(e))>2]=f;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){h=p+(a<<2)|0;b=b<<2;e=O(T(O(O(o*O(L[b+j>>2]-L[b+n>>2]))+O(.5))));g:{if(O(P(e))>2]=b;a=a+1|0}b=l;i=i+1|0;b=i?b:b+1|0;l=b;if((i|0)!=(m|0)|b){continue}break}}oa(c);ca=u+16|0;return 1}j=ca-16|0;ca=j;m=H[a+4>>2];i=I[b+24|0];g=H[d+48>>2];h=H[H[d>>2]>>2];d=j+8|0;H[d>>2]=1065353216;l=d;L[d>>2]=O(-1<>2];d=pa(i<<2);m=H[c+4>>2];q=H[c>>2];h:{if(!i|(m|0)==(q|0)){break h}n=h+g|0;c=m-q>>2;u=c>>>0<=1?1:c;o=L[l>>2];h=H[a+8>>2];v=H[b>>2];l=H[b+48>>2];m=H[b+40>>2];w=H[b+44>>2];if(I[b+84|0]){s=i&254;t=i&1;a=0;c=0;while(1){b=H[v>>2];g=Rj(m,w,H[q+(c<<2)>>2],0)+l|0;p=qa(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=O(T(O(O(o*O(L[f+p>>2]-L[h+f>>2]))+O(.5))));i:{if(O(P(e))>2]=r;f=f|4;e=O(T(O(O(o*O(L[f+p>>2]-L[h+f>>2]))+O(.5))));j:{if(O(P(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(t){g=n+(a<<2)|0;b=b<<2;e=O(T(O(O(o*O(L[b+p>>2]-L[b+h>>2]))+O(.5))));k:{if(O(P(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}break h}s=H[b+68>>2];t=i&254;x=i&1;a=0;c=0;while(1){b=H[v>>2];g=Rj(m,w,H[s+(H[q+(c<<2)>>2]<<2)>>2],0)+l|0;p=qa(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=O(T(O(O(o*O(L[f+p>>2]-L[h+f>>2]))+O(.5))));l:{if(O(P(e))>2]=r;f=f|4;e=O(T(O(O(o*O(L[f+p>>2]-L[h+f>>2]))+O(.5))));m:{if(O(P(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(x){g=n+(a<<2)|0;b=b<<2;e=O(T(O(O(o*O(L[b+p>>2]-L[b+h>>2]))+O(.5))));n:{if(O(P(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}}oa(d);ca=j+16|0;return 1}function dd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=H[a+4>>2];e=H[a>>2];f=(c-e|0)/144|0;if(f>>>0>>0){e=a;b=b-f|0;h=H[a+8>>2];c=H[a+4>>2];a:{if(b>>>0<=(h-c|0)/144>>>0){b:{if(!b){break b}a=c;f=b&7;if(f){while(1){Ia(a);a=a+144|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}c=N(b,144)+c|0;if((b-1&268435455)>>>0<7){break b}while(1){Ia(a);Ia(a+144|0);Ia(a+288|0);Ia(a+432|0);Ia(a+576|0);Ia(a+720|0);Ia(a+864|0);Ia(a+1008|0);a=a+1152|0;if((c|0)!=(a|0)){continue}break}}H[e+4>>2]=c;break a}c:{d:{e:{a=c;c=H[e>>2];i=(a-c|0)/144|0;a=i+b|0;if(a>>>0<29826162){c=(h-c|0)/144|0;f=c<<1;f=c>>>0>=14913080?29826161:a>>>0>>0?f:a;if(f){if(f>>>0>=29826162){break e}g=pa(N(f,144))}c=N(i,144)+g|0;a=c;h=b&7;if(h){while(1){Ia(a);a=a+144|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}}h=N(b,144)+c|0;if((b-1&268435455)>>>0>=7){while(1){Ia(a);Ia(a+144|0);Ia(a+288|0);Ia(a+432|0);Ia(a+576|0);Ia(a+720|0);Ia(a+864|0);Ia(a+1008|0);a=a+1152|0;if((h|0)!=(a|0)){continue}break}}b=N(f,144)+g|0;d=H[e+4>>2];f=H[e>>2];if((d|0)==(f|0)){break d}while(1){c=c-144|0;d=d-144|0;a=d;H[c>>2]=H[a>>2];H[c+4>>2]=H[a+4>>2];H[c+8>>2]=H[a+8>>2];H[c+12>>2]=H[a+12>>2];H[a+12>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[c+16>>2]=H[a+16>>2];H[c+20>>2]=H[a+20>>2];H[c+24>>2]=H[a+24>>2];H[a+24>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;g=I[a+28|0];H[c+40>>2]=0;H[c+32>>2]=0;H[c+36>>2]=0;F[c+28|0]=g;H[c+32>>2]=H[a+32>>2];H[c+36>>2]=H[a+36>>2];H[c+40>>2]=H[a+40>>2];H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;H[c+52>>2]=0;H[c+44>>2]=0;H[c+48>>2]=0;H[c+44>>2]=H[a+44>>2];H[c+48>>2]=H[a+48>>2];H[c+52>>2]=H[a+52>>2];H[a+52>>2]=0;H[a+44>>2]=0;H[a+48>>2]=0;g=c- -64|0;H[g>>2]=0;H[c+56>>2]=0;H[c+60>>2]=0;H[c+56>>2]=H[a+56>>2];H[c+60>>2]=H[a+60>>2];i=g;g=a- -64|0;H[i>>2]=H[g>>2];H[g>>2]=0;H[a+56>>2]=0;H[a+60>>2]=0;H[c+68>>2]=H[a+68>>2];g=H[a+72>>2];H[c+84>>2]=0;H[c+76>>2]=0;H[c+80>>2]=0;H[c+72>>2]=g;H[c+76>>2]=H[a+76>>2];H[c+80>>2]=H[a+80>>2];H[c+84>>2]=H[a+84>>2];H[a+84>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[c+96>>2]=0;H[c+88>>2]=0;H[c+92>>2]=0;H[c+88>>2]=H[a+88>>2];H[c+92>>2]=H[a+92>>2];H[c+96>>2]=H[a+96>>2];H[a+96>>2]=0;H[a+88>>2]=0;H[a+92>>2]=0;g=I[a+100|0];H[c+112>>2]=0;H[c+104>>2]=0;H[c+108>>2]=0;F[c+100|0]=g;H[c+104>>2]=H[a+104>>2];H[c+108>>2]=H[a+108>>2];H[c+112>>2]=H[a+112>>2];H[a+112>>2]=0;H[a+104>>2]=0;H[a+108>>2]=0;H[c+124>>2]=0;H[c+116>>2]=0;H[c+120>>2]=0;H[c+116>>2]=H[a+116>>2];H[c+120>>2]=H[a+120>>2];H[c+124>>2]=H[a+124>>2];H[a+124>>2]=0;H[a+116>>2]=0;H[a+120>>2]=0;g=H[a+128>>2];H[c+140>>2]=0;H[c+132>>2]=0;H[c+136>>2]=0;H[c+128>>2]=g;H[c+132>>2]=H[a+132>>2];H[c+136>>2]=H[a+136>>2];H[c+140>>2]=H[a+140>>2];H[a+140>>2]=0;H[a+132>>2]=0;H[a+136>>2]=0;if((a|0)!=(f|0)){continue}break}H[e+8>>2]=b;a=H[e+4>>2];H[e+4>>2]=h;d=H[e>>2];H[e>>2]=c;if((a|0)==(d|0)){break c}while(1){b=a-144|0;c=H[b+132>>2];if(c){H[a-8>>2]=c;oa(c)}c=H[a-28>>2];if(c){H[a-24>>2]=c;oa(c)}c=H[a-40>>2];if(c){H[a-36>>2]=c;oa(c)}oc(a-140|0);a=b;if((d|0)!=(a|0)){continue}break}break c}sa();v()}wa();v()}H[e+8>>2]=b;H[e+4>>2]=h;H[e>>2]=c}if(d){oa(d)}}return}if(b>>>0>>0){e=e+N(b,144)|0;if((e|0)!=(c|0)){while(1){b=c-144|0;d=H[b+132>>2];if(d){H[c-8>>2]=d;oa(d)}d=H[c-28>>2];if(d){H[c-24>>2]=d;oa(d)}d=H[c-40>>2];if(d){H[c-36>>2]=d;oa(d)}oc(c-140|0);c=b;if((e|0)!=(c|0)){continue}break}}H[a+4>>2]=e}}function Pe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=ca-80|0;ca=f;e=H[c+36>>2];H[f+72>>2]=H[c+32>>2];H[f+76>>2]=e;g=H[c+28>>2];e=f- -64|0;H[e>>2]=H[c+24>>2];H[e+4>>2]=g;e=H[c+20>>2];H[f+56>>2]=H[c+16>>2];H[f+60>>2]=e;e=H[c+12>>2];H[f+48>>2]=H[c+8>>2];H[f+52>>2]=e;e=H[c+4>>2];H[f+40>>2]=H[c>>2];H[f+44>>2]=e;nc(a,f+40|0,f+24|0);a:{if(H[a>>2]){break a}if(F[a+15|0]<0){oa(H[a+4>>2])}if(I[f+31|0]){b=pa(32);F[b+27|0]=0;c=I[1521]|I[1522]<<8|(I[1523]<<16|I[1524]<<24);F[b+23|0]=c;F[b+24|0]=c>>>8;F[b+25|0]=c>>>16;F[b+26|0]=c>>>24;c=I[1518]|I[1519]<<8|(I[1520]<<16|I[1521]<<24);d=I[1514]|I[1515]<<8|(I[1516]<<16|I[1517]<<24);F[b+16|0]=d;F[b+17|0]=d>>>8;F[b+18|0]=d>>>16;F[b+19|0]=d>>>24;F[b+20|0]=c;F[b+21|0]=c>>>8;F[b+22|0]=c>>>16;F[b+23|0]=c>>>24;c=I[1510]|I[1511]<<8|(I[1512]<<16|I[1513]<<24);d=I[1506]|I[1507]<<8|(I[1508]<<16|I[1509]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1502]|I[1503]<<8|(I[1504]<<16|I[1505]<<24);d=I[1498]|I[1499]<<8|(I[1500]<<16|I[1501]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;H[a>>2]=-1;za(a+4|0,b,27);oa(b);break a}i=ca-16|0;ca=i;b:{c:{switch(F[f+32|0]){case 0:e=pa(44);H[e>>2]=0;H[e+4>>2]=0;H[e+40>>2]=0;H[e+32>>2]=0;H[e+36>>2]=0;H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;e=Vc(e);H[e>>2]=13496;H[f+8>>2]=0;H[f+12>>2]=0;H[f>>2]=0;H[f+4>>2]=0;H[f+16>>2]=e;break b;case 1:e=pa(44);H[e>>2]=0;H[e+4>>2]=0;H[e+40>>2]=0;H[e+32>>2]=0;H[e+36>>2]=0;H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;e=Vc(e);H[e>>2]=13404;H[f+8>>2]=0;H[f+12>>2]=0;H[f>>2]=0;H[f+4>>2]=0;H[f+16>>2]=e;break b;default:break c}}g=pa(32);F[g+28|0]=0;e=I[1550]|I[1551]<<8|(I[1552]<<16|I[1553]<<24);F[g+24|0]=e;F[g+25|0]=e>>>8;F[g+26|0]=e>>>16;F[g+27|0]=e>>>24;e=I[1546]|I[1547]<<8|(I[1548]<<16|I[1549]<<24);h=I[1542]|I[1543]<<8|(I[1544]<<16|I[1545]<<24);F[g+16|0]=h;F[g+17|0]=h>>>8;F[g+18|0]=h>>>16;F[g+19|0]=h>>>24;F[g+20|0]=e;F[g+21|0]=e>>>8;F[g+22|0]=e>>>16;F[g+23|0]=e>>>24;e=I[1538]|I[1539]<<8|(I[1540]<<16|I[1541]<<24);h=I[1534]|I[1535]<<8|(I[1536]<<16|I[1537]<<24);F[g+8|0]=h;F[g+9|0]=h>>>8;F[g+10|0]=h>>>16;F[g+11|0]=h>>>24;F[g+12|0]=e;F[g+13|0]=e>>>8;F[g+14|0]=e>>>16;F[g+15|0]=e>>>24;e=I[1530]|I[1531]<<8|(I[1532]<<16|I[1533]<<24);h=I[1526]|I[1527]<<8|(I[1528]<<16|I[1529]<<24);F[g|0]=h;F[g+1|0]=h>>>8;F[g+2|0]=h>>>16;F[g+3|0]=h>>>24;F[g+4|0]=e;F[g+5|0]=e>>>8;F[g+6|0]=e>>>16;F[g+7|0]=e>>>24;H[i>>2]=-1;e=i|4;za(e,g,28);j=F[i+15|0];H[f>>2]=H[i>>2];h=f+4|0;d:{if((j|0)>=0){j=H[e+4>>2];H[h>>2]=H[e>>2];H[h+4>>2]=j;H[h+8>>2]=H[e+8>>2];H[f+16>>2]=0;break d}za(h,H[i+4>>2],H[i+8>>2]);e=F[i+15|0];H[f+16>>2]=0;if((e|0)>=0){break d}oa(H[i+4>>2])}oa(g)}ca=i+16|0;e=H[f>>2];e:{if(e){H[a>>2]=e;a=a+4|0;if(F[f+15|0]>=0){b=f|4;c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c;H[a+8>>2]=H[b+8>>2];break e}za(a,H[f+4>>2],H[f+8>>2]);break e}e=H[f+16>>2];H[f+16>>2]=0;te(a,e,b,c,d);if(!H[a>>2]){if(F[a+15|0]<0){oa(H[a+4>>2])}H[a>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0}ea[H[H[e>>2]+4>>2]](e)}a=H[f+16>>2];H[f+16>>2]=0;if(a){ea[H[H[a>>2]+4>>2]](a)}if(F[f+15|0]>=0){break a}oa(H[f+4>>2])}ca=f+80|0}function Ic(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;H[a+56>>2]=H[a+52>>2];H[a+44>>2]=H[a+40>>2];b=H[a+64>>2];c=H[b+24>>2];if((c|0)==H[b+28>>2]){return 1}a:{b:{c:{while(1){g=i;i=H[(k<<2)+c>>2];d:{if((i|0)==-1){i=g;break d}b=H[a+56>>2];e:{if((b|0)!=H[a+60>>2]){H[b>>2]=g;H[a+56>>2]=b+4;break e}d=H[a+52>>2];e=b-d|0;h=e>>2;c=h+1|0;if(c>>>0>=1073741824){break c}f=e>>>1|0;f=e>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}e=pa(f<<2)}else{e=0}c=e+(h<<2)|0;H[c>>2]=g;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[a+60>>2]=e+(f<<2);H[a+56>>2]=h;H[a+52>>2]=c;if(!d){break e}oa(d)}f:{g:{if(!(H[H[a+12>>2]+(k>>>3&536870908)>>2]>>>k&1)){break g}e=i+1|0;e=(e>>>0)%3|0?e:i-2|0;if((e|0)==-1|H[H[a>>2]+(e>>>3&536870908)>>2]>>>e&1){break g}e=H[H[H[a+64>>2]+12>>2]+(e<<2)>>2];if((e|0)==-1){break g}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)==-1){break g}c=H[a+64>>2];f=H[a>>2];while(1){e=b;b=-1;d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;h:{if((d|0)==-1|H[f+(d>>>3&536870908)>>2]>>>d&1){break h}d=H[H[c+12>>2]+(d<<2)>>2];if((d|0)==-1){break h}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0}if((b|0)!=(i|0)){if((b|0)==-1){break f}continue}break}return 0}e=i}H[H[a+28>>2]+(e<<2)>>2]=g;b=H[a+44>>2];i:{if((b|0)!=H[a+48>>2]){H[b>>2]=e;H[a+44>>2]=b+4;break i}d=H[a+40>>2];i=b-d|0;h=i>>2;c=h+1|0;if(c>>>0>=1073741824){break a}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}i=pa(f<<2)}else{i=0}c=i+(h<<2)|0;H[c>>2]=e;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[a+48>>2]=i+(f<<2);H[a+44>>2]=h;H[a+40>>2]=c;if(!d){break i}oa(d)}i=g+1|0;b=H[a+64>>2];if((e|0)==-1){break d}j:{if((e>>>0)%3|0){c=e-1|0;break j}c=e+2|0;if((c|0)==-1){break d}}d=H[H[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1|(e|0)==(f|0)){break d}while(1){b=f+1|0;b=(b>>>0)%3|0?b:f-2|0;if(H[H[a>>2]+(b>>>3&536870908)>>2]>>>b&1){b=H[a+56>>2];k:{if((b|0)!=H[a+60>>2]){H[b>>2]=i;H[a+56>>2]=b+4;break k}d=H[a+52>>2];g=b-d|0;j=g>>2;c=j+1|0;if(c>>>0>=1073741824){break c}h=g>>>1|0;h=g>>>0>=2147483644?1073741823:c>>>0>>0?h:c;if(h){if(h>>>0>=1073741824){break b}g=pa(h<<2)}else{g=0}c=g+(j<<2)|0;H[c>>2]=i;j=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[a+60>>2]=g+(h<<2);H[a+56>>2]=j;H[a+52>>2]=c;if(!d){break k}oa(d)}d=i+1|0;b=H[a+44>>2];l:{if((b|0)!=H[a+48>>2]){H[b>>2]=f;H[a+44>>2]=b+4;break l}h=H[a+40>>2];g=b-h|0;l=g>>2;c=l+1|0;if(c>>>0>=1073741824){break a}j=g>>>1|0;j=g>>>0>=2147483644?1073741823:c>>>0>>0?j:c;if(j){if(j>>>0>=1073741824){break b}g=pa(j<<2)}else{g=0}c=g+(l<<2)|0;H[c>>2]=f;l=c+4|0;if((b|0)!=(h|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(h|0)){continue}break}}H[a+48>>2]=g+(j<<2);H[a+44>>2]=l;H[a+40>>2]=c;if(!h){break l}oa(h)}g=i;i=d}H[H[a+28>>2]+(f<<2)>>2]=g;b=H[a+64>>2];m:{if((f>>>0)%3|0){c=f-1|0;break m}c=f+2|0;if((c|0)==-1){break d}}d=H[H[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1){break d}if((e|0)!=(f|0)){continue}break}}k=k+1|0;c=H[b+24>>2];if(k>>>0>2]-c>>2>>>0){continue}break}return 1}sa();v()}wa();v()}sa();v()}function ti(a){a=a|0;var b=0,c=0,d=0,e=0;c=H[a+32>>2];d=H[c+16>>2];e=H[c+12>>2];b=H[c+20>>2];if(K[c+8>>2]>d>>>0&(e|0)>=(b|0)|(b|0)<(e|0)){e=I[H[c>>2]+d|0];d=d+1|0;b=d?b:b+1|0;H[c+16>>2]=d;H[c+20>>2]=b;b=H[a+48>>2];H[a+48>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}a:{b:{c:{d:{switch(e|0){case 0:b=pa(384);H[b>>2]=11384;ra(b+4|0,0,80);H[b+96>>2]=0;H[b+100>>2]=0;H[b+92>>2]=-1;H[b+84>>2]=-1;H[b+88>>2]=-1;H[b+104>>2]=0;H[b+108>>2]=0;H[b+112>>2]=0;H[b+116>>2]=0;H[b+120>>2]=0;H[b+124>>2]=0;H[b+128>>2]=0;H[b+132>>2]=0;H[b+136>>2]=0;H[b+140>>2]=0;H[b+144>>2]=0;H[b+148>>2]=0;H[b+156>>2]=0;H[b+160>>2]=0;H[b+152>>2]=1065353216;H[b+164>>2]=0;H[b+168>>2]=0;H[b+172>>2]=0;H[b+176>>2]=0;H[b+180>>2]=0;H[b+184>>2]=0;H[b+188>>2]=0;H[b+192>>2]=0;H[b+196>>2]=0;H[b+200>>2]=0;H[b+204>>2]=0;H[b+208>>2]=0;H[b+212>>2]=-1;H[b+216>>2]=0;H[b+220>>2]=0;H[b+224>>2]=0;Ha(b+232|0);Ha(b+272|0);c=b+312|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;Ha(b+328|0);H[b+376>>2]=0;H[b+368>>2]=0;H[b+372>>2]=0;break c;case 1:b=pa(424);H[b>>2]=11436;ra(b+4|0,0,80);H[b+96>>2]=0;H[b+100>>2]=0;H[b+92>>2]=-1;H[b+84>>2]=-1;H[b+88>>2]=-1;H[b+104>>2]=0;H[b+108>>2]=0;H[b+112>>2]=0;H[b+116>>2]=0;H[b+120>>2]=0;H[b+124>>2]=0;H[b+128>>2]=0;H[b+132>>2]=0;H[b+136>>2]=0;H[b+140>>2]=0;H[b+144>>2]=0;H[b+148>>2]=0;H[b+156>>2]=0;H[b+160>>2]=0;H[b+152>>2]=1065353216;H[b+164>>2]=0;H[b+168>>2]=0;H[b+172>>2]=0;H[b+176>>2]=0;H[b+180>>2]=0;H[b+184>>2]=0;H[b+188>>2]=0;H[b+192>>2]=0;H[b+196>>2]=0;H[b+200>>2]=0;H[b+204>>2]=0;H[b+208>>2]=0;H[b+212>>2]=-1;H[b+216>>2]=0;H[b+220>>2]=0;H[b+224>>2]=0;Ha(b+232|0);Ha(b+272|0);c=b+312|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;Ha(b+328|0);H[b+392>>2]=0;H[b+396>>2]=0;H[b+384>>2]=0;H[b+388>>2]=0;H[b+376>>2]=0;H[b+380>>2]=0;H[b+368>>2]=0;H[b+372>>2]=0;c=b+400|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;H[b+416>>2]=-1;H[b+420>>2]=-1;break c;case 2:break d;default:break b}}b=pa(440);H[b>>2]=11484;ra(b+4|0,0,80);H[b+96>>2]=0;H[b+100>>2]=0;H[b+92>>2]=-1;H[b+84>>2]=-1;H[b+88>>2]=-1;H[b+104>>2]=0;H[b+108>>2]=0;H[b+112>>2]=0;H[b+116>>2]=0;H[b+120>>2]=0;H[b+124>>2]=0;H[b+128>>2]=0;H[b+132>>2]=0;H[b+136>>2]=0;H[b+140>>2]=0;H[b+144>>2]=0;H[b+148>>2]=0;H[b+156>>2]=0;H[b+160>>2]=0;H[b+152>>2]=1065353216;H[b+164>>2]=0;H[b+168>>2]=0;H[b+172>>2]=0;H[b+176>>2]=0;H[b+180>>2]=0;H[b+184>>2]=0;H[b+188>>2]=0;H[b+192>>2]=0;H[b+196>>2]=0;H[b+200>>2]=0;H[b+204>>2]=0;H[b+208>>2]=0;H[b+212>>2]=-1;H[b+216>>2]=0;H[b+220>>2]=0;H[b+224>>2]=0;Ha(b+232|0);Ha(b+272|0);c=b+312|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;Ha(b+328|0);H[b+392>>2]=0;H[b+396>>2]=0;H[b+384>>2]=0;H[b+388>>2]=0;H[b+376>>2]=0;H[b+380>>2]=0;H[b+368>>2]=0;H[b+372>>2]=0;H[b+416>>2]=0;H[b+420>>2]=0;H[b+408>>2]=2;H[b+412>>2]=7;H[b+400>>2]=-1;H[b+404>>2]=-1;H[b+424>>2]=0;H[b+428>>2]=0;H[b+432>>2]=0;H[b+436>>2]=0}c=H[a+48>>2];H[a+48>>2]=b;if(!c){break a}ea[H[H[c>>2]+4>>2]](c)}b=H[a+48>>2];if(b){break a}return 0}a=ea[H[H[b>>2]+8>>2]](b,a)|0}else{a=0}return a|0}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0;f=ca-96|0;ca=f;e=H[a+16>>2];F[f+92|0]=1;H[f+88>>2]=b;H[f+84>>2]=b;H[f+80>>2]=e;a:{if((b|0)==-1){break a}j=H[a+20>>2];d=H[j>>2];e=H[H[e>>2]+(b<<2)>>2];if(e>>>0>=H[j+4>>2]-d>>2>>>0){break a}e=H[H[a+8>>2]+(H[d+(e<<2)>>2]<<2)>>2];d=H[a+4>>2];if(!I[d+84|0]){e=H[H[d+68>>2]+(e<<2)>>2]}H[f+72>>2]=0;H[f+76>>2]=0;j=f- -64|0;H[j>>2]=0;H[j+4>>2]=0;H[f+56>>2]=0;H[f+60>>2]=0;Sa(d,e,F[d+24|0],f+56|0);e=b+1|0;j=(e>>>0)%3|0?e:b-2|0;n=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){d=j;e=n;d:{if(!H[a+28>>2]){break d}e=b+1|0;d=(e>>>0)%3|0?e:b-2|0;e=b-1|0;if((b>>>0)%3|0){break d}e=b+2|0}if((d|0)==-1){break b}m=H[a+20>>2];b=H[m>>2];d=H[H[H[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=H[m+4>>2]-b>>2>>>0){break b}d=H[H[a+8>>2]+(H[(d<<2)+b>>2]<<2)>>2];b=H[a+4>>2];if(!I[b+84|0]){d=H[H[b+68>>2]+(d<<2)>>2]}H[f+48>>2]=0;H[f+52>>2]=0;H[f+40>>2]=0;H[f+44>>2]=0;H[f+32>>2]=0;H[f+36>>2]=0;Sa(b,d,F[b+24|0],f+32|0);if((e|0)==-1){break c}d=H[a+20>>2];b=H[d>>2];e=H[H[H[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=H[d+4>>2]-b>>2>>>0){break c}d=H[H[a+8>>2]+(H[b+(e<<2)>>2]<<2)>>2];b=H[a+4>>2];if(!I[b+84|0]){d=H[H[b+68>>2]+(d<<2)>>2]}H[f+24>>2]=0;H[f+28>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;Sa(b,d,F[b+24|0],f+8|0);g=H[f+8>>2];b=H[f+56>>2];d=g-b|0;p=H[f+60>>2];t=H[f+12>>2]-(p+(b>>>0>g>>>0)|0)|0;i=H[f+40>>2];e=H[f+64>>2];m=i-e|0;u=H[f+68>>2];y=H[f+44>>2]-(u+(e>>>0>i>>>0)|0)|0;g=Rj(d,t,m,y);w=o-g|0;x=h-(da+(g>>>0>o>>>0)|0)|0;h=w;i=H[f+16>>2];g=i-e|0;u=H[f+20>>2]-((e>>>0>i>>>0)+u|0)|0;k=H[f+32>>2];i=k-b|0;w=H[f+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=Rj(g,u,i,w);o=h+b|0;h=da+x|0;h=b>>>0>o>>>0?h+1|0:h;b=l;l=d;p=t;k=H[f+48>>2];e=H[f+72>>2];d=k-e|0;t=H[f+76>>2];x=H[f+52>>2]-(t+(e>>>0>k>>>0)|0)|0;l=Rj(l,p,d,x);k=b+l|0;b=da+q|0;b=k>>>0>>0?b+1|0:b;l=H[f+24>>2];p=l-e|0;e=H[f+28>>2]-((e>>>0>l>>>0)+t|0)|0;q=Rj(p,e,i,w);l=k-q|0;q=b-(da+(k>>>0>>0)|0)|0;b=Rj(g,u,d,x);d=r-b|0;b=s-(da+(b>>>0>r>>>0)|0)|0;s=Rj(p,e,m,y);r=s+d|0;b=da+b|0;s=r>>>0>>0?b+1|0:b;uc(f+80|0);b=H[f+88>>2];if((b|0)!=-1){continue}break}b=s>>31;e=b^r;d=e-b|0;b=(b^s)-((b>>>0>e>>>0)+b|0)|0;n=-1;e=2147483647;m=q>>31;g=m;i=g^l;j=i-g|0;m=(g^q)-((i>>>0>>0)+g|0)|0;i=m;k=j^-1;g=i^2147483647;m=h;e:{f:{if(!H[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break e}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;e=a;g=h;a=g>>31;d=a;n=d^o;a=n-d|0;h=a;d=(d^g)-((d>>>0>n>>>0)+d|0)|0;a=a+e|0;d=d^2147483647;h=(d|0)==(b|0)&(h^-1)>>>0>>0|b>>>0>d>>>0;a=h?-1:a;if(!(h&0)&(a|0)<=536870912|(a|0)<536870912){break e}b=0;a=a>>>29|0;break f}g:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break g}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=h;h=h>>31;g=h;i=g^o;h=i-g|0;j=(g^k)-((g>>>0>i>>>0)+g|0)|0;g=j^2147483647;d=a;a=h;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break g}b=b+j|0;n=a+d|0;b=n>>>0>>0?b+1|0:b;e=b;if(!b&n>>>0<536870913){break e}}b=e>>>29|0;a=(e&536870911)<<3|n>>>29}o=Sj(o,m,a,b);l=Sj(l,q,a,b);r=Sj(r,s,a,b)}H[c+8>>2]=o;H[c+4>>2]=l;H[c>>2]=r;ca=f+96|0;return}Ca();v()}Ca();v()}Ca();v()}function Wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if((b|0)<0){break a}c=H[a+12>>2];d=H[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=H[d>>2];i=H[e+60>>2];f=H[e+56>>2];e=d+4|0;if((e|0)!=(c|0)){while(1){h=H[e>>2];H[e>>2]=0;g=H[d>>2];H[d>>2]=h;if(g){Ga(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=H[a+12>>2]}if((c|0)!=(d|0)){while(1){c=c-4|0;e=H[c>>2];H[c>>2]=0;if(e){Ga(e)}if((c|0)!=(d|0)){continue}break}}H[a+12>>2]=d;g=H[a+4>>2];b:{if(!g|(i|0)<0){break b}c=H[g+24>>2];d=H[g+28>>2];if((c|0)==(d|0)){break b}while(1){if((i|0)==H[H[c>>2]+24>>2]){d=c+4|0;i=H[g+28>>2];if((d|0)!=(i|0)){while(1){h=H[d>>2];H[d>>2]=0;e=H[c>>2];H[c>>2]=h;if(e){Ra(e+12|0,H[e+16>>2]);Qa(e,H[e+4>>2]);oa(e)}c=c+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}d=H[g+28>>2]}if((c|0)!=(d|0)){while(1){d=d-4|0;e=H[d>>2];H[d>>2]=0;if(e){Ra(e+12|0,H[e+16>>2]);Qa(e,H[e+4>>2]);oa(e)}if((c|0)!=(d|0)){continue}break}}H[g+28>>2]=c;break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}c:{if((f|0)>4){break c}d:{e=N(f,12)+a|0;c=H[e+20>>2];d=H[e+24>>2];if((c|0)==(d|0)){break d}while(1){if(H[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c;c=c+4|0;va(f,c,d-c|0);H[e+24>>2]=d-4}c=H[a+24>>2];d=H[a+20>>2];e:{if((c|0)==(d|0)){break e}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=H[h>>2];if((j|0)>(b|0)){H[h>>2]=j-1}f=d+(f|4)|0;h=H[f>>2];if((h|0)>(b|0)){H[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break e}c=d+(c<<2)|0;d=H[c>>2];if((d|0)<=(b|0)){break e}H[c>>2]=d-1}c=H[a+36>>2];d=H[a+32>>2];f:{if((c|0)==(d|0)){break f}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=H[h>>2];if((j|0)>(b|0)){H[h>>2]=j-1}f=d+(f|4)|0;h=H[f>>2];if((h|0)>(b|0)){H[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break f}c=d+(c<<2)|0;d=H[c>>2];if((d|0)<=(b|0)){break f}H[c>>2]=d-1}c=H[a+48>>2];d=H[a+44>>2];g:{if((c|0)==(d|0)){break g}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=H[h>>2];if((j|0)>(b|0)){H[h>>2]=j-1}f=d+(f|4)|0;h=H[f>>2];if((h|0)>(b|0)){H[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break g}c=d+(c<<2)|0;d=H[c>>2];if((d|0)<=(b|0)){break g}H[c>>2]=d-1}c=H[a+60>>2];d=H[a+56>>2];h:{if((c|0)==(d|0)){break h}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=H[h>>2];if((j|0)>(b|0)){H[h>>2]=j-1}f=d+(f|4)|0;h=H[f>>2];if((h|0)>(b|0)){H[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break h}c=d+(c<<2)|0;d=H[c>>2];if((d|0)<=(b|0)){break h}H[c>>2]=d-1}c=H[a+72>>2];a=H[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;g=e&1;c=0;if(d>>>0>=8){d=e&-2;e=0;while(1){i=c<<2;f=i+a|0;h=H[f>>2];if((h|0)>(b|0)){H[f>>2]=h-1}i=a+(i|4)|0;f=H[i>>2];if((f|0)>(b|0)){H[i>>2]=f-1}c=c+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!g){break a}f=b;a=a+(c<<2)|0;b=H[a>>2];if((f|0)>=(b|0)){break a}H[a>>2]=b-1}}function oa(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=H[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=H[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=H[d+8>>2];b=b>>>3|0;c=H[d+12>>2];if((c|0)==(e|0)){i=17192,j=H[4298]&Vj(b),H[i>>2]=j;break b}H[e+12>>2]=c;H[c+8>>2]=e;break b}h=H[d+24>>2];b=H[d+12>>2];c:{if((d|0)!=(b|0)){c=H[d+8>>2];H[c+12>>2]=b;H[b+8>>2]=c;break c}d:{e=d+20|0;c=H[e>>2];if(c){break d}e=d+16|0;c=H[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=H[e>>2];if(c){continue}e=b+16|0;c=H[b+16>>2];if(c){continue}break}H[g>>2]=0}if(!h){break b}e=H[d+28>>2];c=(e<<2)+17496|0;e:{if(H[c>>2]==(d|0)){H[c>>2]=b;if(b){break e}i=17196,j=H[4299]&Vj(e),H[i>>2]=j;break b}H[h+(H[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}H[b+24>>2]=h;c=H[d+16>>2];if(c){H[b+16>>2]=c;H[c+24>>2]=b}c=H[d+20>>2];if(!c){break b}H[b+20>>2]=c;H[c+24>>2]=b;break b}b=H[f+4>>2];if((b&3)!=3){break b}H[4300]=a;H[f+4>>2]=b&-2;H[d+4>>2]=a|1;H[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=H[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(H[4304]==(f|0)){H[4304]=d;a=H[4301]+a|0;H[4301]=a;H[d+4>>2]=a|1;if(H[4303]!=(d|0)){break a}H[4300]=0;H[4303]=0;return}if(H[4303]==(f|0)){H[4303]=d;a=H[4300]+a|0;H[4300]=a;H[d+4>>2]=a|1;H[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=H[f+8>>2];b=b>>>3|0;c=H[f+12>>2];if((c|0)==(e|0)){i=17192,j=H[4298]&Vj(b),H[i>>2]=j;break g}H[e+12>>2]=c;H[c+8>>2]=e;break g}h=H[f+24>>2];b=H[f+12>>2];h:{if((f|0)!=(b|0)){c=H[f+8>>2];H[c+12>>2]=b;H[b+8>>2]=c;break h}i:{e=f+20|0;c=H[e>>2];if(c){break i}e=f+16|0;c=H[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=H[e>>2];if(c){continue}e=b+16|0;c=H[b+16>>2];if(c){continue}break}H[g>>2]=0}if(!h){break g}e=H[f+28>>2];c=(e<<2)+17496|0;j:{if(H[c>>2]==(f|0)){H[c>>2]=b;if(b){break j}i=17196,j=H[4299]&Vj(e),H[i>>2]=j;break g}H[h+(H[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}H[b+24>>2]=h;c=H[f+16>>2];if(c){H[b+16>>2]=c;H[c+24>>2]=b}c=H[f+20>>2];if(!c){break g}H[b+20>>2]=c;H[c+24>>2]=b}H[d+4>>2]=a|1;H[a+d>>2]=a;if(H[4303]!=(d|0)){break f}H[4300]=a;return}H[f+4>>2]=b&-2;H[d+4>>2]=a|1;H[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+17232|0;c=H[4298];a=1<<(a>>>3);k:{if(!(c&a)){H[4298]=a|c;a=b;break k}a=H[b+8>>2]}H[b+8>>2]=d;H[a+12>>2]=d;H[d+12>>2]=b;H[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=Q(a>>>8|0);e=((a>>>38-b&1)-(b<<1)|0)+62|0}H[d+28>>2]=e;H[d+16>>2]=0;H[d+20>>2]=0;g=(e<<2)+17496|0;l:{m:{c=H[4299];b=1<>2]=d;H[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=H[g>>2];while(1){c=b;if((H[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=H[g+16>>2];if(b){continue}break}H[g+16>>2]=d;H[d+24>>2]=c}H[d+12>>2]=d;H[d+8>>2]=d;break l}a=H[c+8>>2];H[a+12>>2]=d;H[c+8>>2]=d;H[d+24>>2]=0;H[d+12>>2]=c;H[d+8>>2]=a}a=H[4306]-1|0;H[4306]=a?a:-1}}function tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;H[a+8>>2]=e;n=a+32|0;h=H[n>>2];f=H[a+36>>2]-h>>2;a:{if(f>>>0>>0){ya(n,e-f|0);d=H[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}H[a+36>>2]=h+(e<<2);d=e}s=H[a+52>>2];p=H[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;m=ra(pa(h),0,h);b:{if((d|0)<=0){break b}g=H[a+32>>2];while(1){d=f<<2;h=H[d+m>>2];j=H[a+16>>2];c:{if((h|0)>(j|0)){H[d+g>>2]=j;break c}d=d+g|0;j=H[a+12>>2];if((j|0)>(h|0)){H[d>>2]=j;break c}H[d>>2]=h}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=H[b+h>>2]+H[g+h>>2]|0;H[d>>2]=h;d:{if((h|0)>H[a+16>>2]){i=h-H[a+20>>2]|0}else{if((h|0)>=H[a+12>>2]){break d}i=h+H[a+20>>2]|0}H[d>>2]=i}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=H[a+56>>2];q=H[f>>2];f=H[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;w=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=N(e,h);f=H[(h<<2)+q>>2];if((f|0)==-1){break f}f=H[H[p+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}j=H[s>>2];g=H[p>>2];k=H[j+(H[g+(f<<2)>>2]<<2)>>2];i=f+1|0;i=(i>>>0)%3|0?i:f-2|0;if((i|0)!=-1){i=H[g+(i<<2)>>2]}else{i=-1}g:{h:{if((f>>>0)%3|0){f=f-1|0;break h}f=f+2|0;l=-1;if((f|0)==-1){break g}}l=H[g+(f<<2)>>2]}if((h|0)<=(k|0)){break f}f=H[(i<<2)+j>>2];if((f|0)>=(h|0)){break f}g=H[j+(l<<2)>>2];if((g|0)>=(h|0)){break f}i:{if((e|0)<=0){break i}g=N(e,g);j=N(e,f);k=N(e,k);f=0;l=0;if((e|0)!=1){while(1){H[(f<<2)+m>>2]=(H[(f+g<<2)+c>>2]+H[(f+j<<2)+c>>2]|0)-H[(f+k<<2)+c>>2];i=f|1;H[(i<<2)+m>>2]=(H[(g+i<<2)+c>>2]+H[(j+i<<2)+c>>2]|0)-H[(i+k<<2)+c>>2];f=f+2|0;l=l+2|0;if((u|0)!=(l|0)){continue}break}}if(!w){break i}H[(f<<2)+m>>2]=(H[(f+g<<2)+c>>2]+H[(f+j<<2)+c>>2]|0)-H[(f+k<<2)+c>>2]}if((d|0)<=0){break e}j=H[n>>2];f=0;while(1){d=f<<2;g=H[d+m>>2];k=H[a+16>>2];j:{if((g|0)>(k|0)){H[d+j>>2]=k;break j}d=d+j|0;k=H[a+12>>2];if((k|0)>(g|0)){H[d>>2]=k;break j}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=H[g+i>>2]+H[g+j>>2]|0;H[d>>2]=g;k:{if((g|0)>H[a+16>>2]){l=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break k}l=g+H[a+20>>2]|0}H[d>>2]=l}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}Ca();v()}if((d|0)<=0){break e}k=(N(h-1|0,e)<<2)+c|0;j=H[n>>2];f=0;while(1){d=f<<2;g=H[d+k>>2];i=H[a+16>>2];l:{if((g|0)>(i|0)){H[d+j>>2]=i;break l}d=d+j|0;i=H[a+12>>2];if((i|0)>(g|0)){H[d>>2]=i;break l}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=H[g+i>>2]+H[g+j>>2]|0;H[d>>2]=g;m:{if((g|0)>H[a+16>>2]){l=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break m}l=g+H[a+20>>2]|0}H[d>>2]=l}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}oa(m);return 1}function we(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(H[H[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){e=H[a+48>>2];H[a+52>>2]=e;a:{if((e|0)!=H[a+56>>2]){H[e>>2]=b;H[a+52>>2]=e+4;break a}d=pa(4);H[d>>2]=b;c=d+4|0;H[a+56>>2]=c;H[a+52>>2]=c;H[a+48>>2]=d;if(!e){break a}oa(e)}c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;c=H[H[a+4>>2]+28>>2];k=H[(i<<2)+c>>2];if((k|0)==-1){return 0}e=(b-N(g,3)|0?-1:2)+b|0;j=H[c+(e<<2)>>2];if((j|0)==-1){return 0}b=H[a+36>>2];g=b+(k>>>3&536870908)|0;d=H[g>>2];c=1<>2]=c|d;Ua(a+8|0,k,i);b=H[a+36>>2]}d=(j>>>3&536870908)+b|0;c=H[d>>2];b=1<>2]=b|c;Ua(a+8|0,j,e)}f=H[a+52>>2];if((f|0)==H[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{f=f-4|0;b=H[f>>2];if((b|0)==-1){break c}c=(b>>>0)/3|0;g=H[a+24>>2]+(c>>>3&268435452)|0;d=H[g>>2];c=1<>2]=c|d;h=H[a+4>>2];c=H[H[h+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{e:{j=H[a+36>>2]+(c>>>3&536870908)|0;i=H[j>>2];e=1<>2]+(c<<2)>>2];g:{if((g|0)==-1){break g}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1|H[H[h>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}g=H[H[H[h+64>>2]+12>>2]+(b<<2)>>2];if((g|0)!=-1){break f}}H[j>>2]=e|i;Ua(k,c,d);h=H[a+4>>2];break e}H[j>>2]=e|i;Ua(k,c,d);h=H[a+4>>2];b=g+1|0;if((((b>>>0)%3|0?b:g-2|0)|0)==-1){break e}b=-1;h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1|H[H[h>>2]+(c>>>3&536870908)>>2]>>>c&1){break h}b=H[H[H[h+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];e=c>>>5|0;j=H[f+(e<<2)>>2];break d}i:{j:{if((d|0)==-1){break j}c=-1;b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if(!((b|0)==-1|H[H[h>>2]+(b>>>3&536870908)>>2]>>>b&1)){c=H[H[H[h+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((d>>>0)%3|0){f=d-1|0;break l}f=d+2|0;b=-1;if((f|0)==-1){break k}}b=-1;if(H[H[h>>2]+(f>>>3&536870908)>>2]>>>f&1){break k}b=H[H[H[h+64>>2]+12>>2]+(f<<2)>>2]}g=(b|0)==-1;i=g?-1:(b>>>0)/3|0;if((c|0)!=-1){f=H[a+24>>2];d=(c>>>0)/3|0;e=d>>>5|0;j=H[f+(e<<2)>>2];d=1<>2];e=i>>>5|0;j=H[f+(e<<2)>>2];if(!(d&j)){break d}}f=H[a+52>>2]-4|0;H[a+52>>2]=f;break b}if(g){b=c;break d}if(H[(i>>>3&536870908)+f>>2]>>>i&1){b=c;break d}h=H[a+52>>2];H[h-4>>2]=b;if(H[a+56>>2]!=(h|0)){H[h>>2]=c;f=h+4|0;break c}m:{i=H[a+48>>2];e=h-i|0;g=e>>2;d=g+1|0;if(d>>>0<1073741824){b=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(e){if(e>>>0>=1073741824){break m}d=pa(e<<2)}else{d=0}b=d+(g<<2)|0;H[b>>2]=c;f=b+4|0;if((h|0)!=(i|0)){while(1){b=b-4|0;h=h-4|0;H[b>>2]=H[h>>2];if((h|0)!=(i|0)){continue}break}}H[a+56>>2]=d+(e<<2);H[a+52>>2]=f;H[a+48>>2]=b;if(!i){break b}oa(i);f=H[a+52>>2];break b}sa();v()}wa();v()}H[(e<<2)+f>>2]=d|j;c=H[H[h+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}H[a+52>>2]=f}if(H[a+48>>2]!=(f|0)){continue}break}}return 1}function Lj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;H[a+8>>2]=e;m=a+32|0;h=H[m>>2];f=H[a+36>>2]-h>>2;a:{if(f>>>0>>0){ya(m,e-f|0);d=H[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}H[a+36>>2]=h+(e<<2);d=e}s=H[a+52>>2];n=H[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;l=ra(pa(h),0,h);b:{if((d|0)<=0){break b}g=H[a+32>>2];while(1){d=f<<2;h=H[d+l>>2];i=H[a+16>>2];c:{if((h|0)>(i|0)){H[d+g>>2]=i;break c}d=d+g|0;i=H[a+12>>2];if((i|0)>(h|0)){H[d>>2]=i;break c}H[d>>2]=h}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=H[b+h>>2]+H[g+h>>2]|0;H[d>>2]=h;d:{if((h|0)>H[a+16>>2]){h=h-H[a+20>>2]|0}else{if((h|0)>=H[a+12>>2]){break d}h=h+H[a+20>>2]|0}H[d>>2]=h}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=H[a+56>>2];q=H[f>>2];f=H[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;w=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=N(e,h);f=H[(h<<2)+q>>2];if((f|0)==-1|H[H[n>>2]+(f>>>3&536870908)>>2]>>>f&1){break f}f=H[H[H[n+64>>2]+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}i=H[s>>2];g=H[n+28>>2];k=H[i+(H[g+(f<<2)>>2]<<2)>>2];if((k|0)>=(h|0)){break f}j=f+1|0;j=H[i+(H[g+(((j>>>0)%3|0?j:f-2|0)<<2)>>2]<<2)>>2];if((j|0)>=(h|0)){break f}f=H[i+(H[g+(f+((f>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((f|0)>=(h|0)){break f}g:{if((e|0)<=0){break g}g=N(e,f);i=N(e,j);k=N(e,k);f=0;p=0;if((e|0)!=1){while(1){H[(f<<2)+l>>2]=(H[(f+g<<2)+c>>2]+H[(f+i<<2)+c>>2]|0)-H[(f+k<<2)+c>>2];j=f|1;H[(j<<2)+l>>2]=(H[(g+j<<2)+c>>2]+H[(i+j<<2)+c>>2]|0)-H[(k+j<<2)+c>>2];f=f+2|0;p=p+2|0;if((u|0)!=(p|0)){continue}break}}if(!w){break g}H[(f<<2)+l>>2]=(H[(f+g<<2)+c>>2]+H[(f+i<<2)+c>>2]|0)-H[(f+k<<2)+c>>2]}if((d|0)<=0){break e}i=H[m>>2];f=0;while(1){d=f<<2;g=H[d+l>>2];k=H[a+16>>2];h:{if((g|0)>(k|0)){H[d+i>>2]=k;break h}d=d+i|0;k=H[a+12>>2];if((k|0)>(g|0)){H[d>>2]=k;break h}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=H[g+j>>2]+H[g+i>>2]|0;H[d>>2]=g;i:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break i}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}Ca();v()}if((d|0)<=0){break e}k=(N(h-1|0,e)<<2)+c|0;i=H[m>>2];f=0;while(1){d=f<<2;g=H[d+k>>2];j=H[a+16>>2];j:{if((g|0)>(j|0)){H[d+i>>2]=j;break j}d=d+i|0;j=H[a+12>>2];if((j|0)>(g|0)){H[d>>2]=j;break j}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=H[g+j>>2]+H[g+i>>2]|0;H[d>>2]=g;k:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break k}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}oa(l);return 1}function Gb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=O(0),k=0,l=0,m=O(0);i=H[c>>2];a:{b:{f=H[b+4>>2];if(!f){break b}g=Uj(f);c:{if(g>>>0>=2){e=i;if(f>>>0<=e>>>0){e=(i>>>0)%(f>>>0)|0}c=H[H[b>>2]+(e<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=H[c>>2];if(!c){break b}g=H[c+4>>2];if((g|0)!=(i|0)){if(f>>>0<=g>>>0){g=(g>>>0)%(f>>>0)|0}if((e|0)!=(g|0)){break b}}if(H[c+8>>2]!=(i|0)){continue}break}b=0;break a}e=f-1&i;c=H[H[b>>2]+(e<<2)>>2];if(!c){break b}}h=f-1|0;while(1){c=H[c>>2];if(!c){break b}g=H[c+4>>2];if((g|0)!=(i|0)&(g&h)!=(e|0)){break b}if(H[c+8>>2]!=(i|0)){continue}break}b=0;break a}c=pa(16);d=H[H[d>>2]>>2];H[c+12>>2]=0;H[c+8>>2]=d;H[c+4>>2]=i;H[c>>2]=0;m=O(H[b+12>>2]+1>>>0);j=L[b+16>>2];d:{if(m>O(j*O(f>>>0))?0:f){break d}e=2;d=(f-1&f)!=0|f>>>0<3|f<<1;j=O(U(O(m/j)));e:{if(j=O(0)){g=~~j>>>0;break e}g=0}d=d>>>0>g>>>0?d:g;f:{if((d|0)==1){break f}if(!(d&d-1)){e=d;break f}e=Kd(d);f=H[b+4>>2]}g:{if(e>>>0<=f>>>0){if(e>>>0>=f>>>0){break g}g=f>>>0<3;j=O(U(O(O(K[b+12>>2])/L[b+16>>2])));h:{if(j=O(0)){d=~~j>>>0;break h}d=0}i:{j:{if(g){break j}if(Uj(f)>>>0>1){break j}d=d>>>0<2?d:1<<32-Q(d-1|0);break i}d=Kd(d)}e=d>>>0>>0?e:d;if(f>>>0<=e>>>0){break g}}f=0;g=0;h=e;k:{l:{m:{n:{if(e){if(h>>>0>=1073741824){break n}d=pa(h<<2);e=H[b>>2];H[b>>2]=d;if(e){oa(e)}H[b+4>>2]=h;d=0;if(h>>>0>=4){e=h&-4;while(1){k=d<<2;H[k+H[b>>2]>>2]=0;H[H[b>>2]+(k|4)>>2]=0;H[H[b>>2]+(k|8)>>2]=0;H[H[b>>2]+(k|12)>>2]=0;d=d+4|0;g=g+4|0;if((e|0)!=(g|0)){continue}break}}e=h&3;if(e){while(1){H[H[b>>2]+(d<<2)>>2]=0;d=d+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}e=H[b+8>>2];if(!e){break k}d=b+8|0;f=H[e+4>>2];g=Uj(h);if(g>>>0<2){break m}f=f>>>0>=h>>>0?(f>>>0)%(h>>>0)|0:f;H[H[b>>2]+(f<<2)>>2]=d;d=H[e>>2];if(!d){break k}if(g>>>0<=1){break l}while(1){g=H[d+4>>2];if(h>>>0<=g>>>0){g=(g>>>0)%(h>>>0)|0}o:{if((f|0)==(g|0)){e=d;break o}l=g<<2;k=l+H[b>>2]|0;if(!H[k>>2]){H[k>>2]=e;e=d;f=g;break o}H[e>>2]=H[d>>2];H[d>>2]=H[H[l+H[b>>2]>>2]>>2];H[H[l+H[b>>2]>>2]>>2]=d}d=H[e>>2];if(d){continue}break}break k}d=H[b>>2];H[b>>2]=0;if(d){oa(d)}H[b+4>>2]=0;break k}wa();v()}f=h-1&f;H[H[b>>2]+(f<<2)>>2]=d;d=H[e>>2];if(!d){break k}}k=h-1|0;while(1){g=k&H[d+4>>2];p:{if((g|0)==(f|0)){e=d;break p}l=g<<2;h=l+H[b>>2]|0;if(H[h>>2]){H[e>>2]=H[d>>2];H[d>>2]=H[H[l+H[b>>2]>>2]>>2];H[H[l+H[b>>2]>>2]>>2]=d;break p}H[h>>2]=e;e=d;f=g}d=H[e>>2];if(d){continue}break}}}f=H[b+4>>2];d=f-1|0;if(!(d&f)){e=d&i;break d}if(f>>>0>i>>>0){e=i;break d}e=(i>>>0)%(f>>>0)|0}e=H[b>>2]+(e<<2)|0;d=H[e>>2];q:{r:{if(!d){d=b+8|0;H[c>>2]=H[d>>2];H[b+8>>2]=c;H[e>>2]=d;d=H[c>>2];if(!d){break q}d=H[d+4>>2];e=f-1|0;s:{if(!(e&f)){d=d&e;break s}if(d>>>0>>0){break s}d=(d>>>0)%(f>>>0)|0}d=H[b>>2]+(d<<2)|0;break r}H[c>>2]=H[d>>2]}H[d>>2]=c}H[b+12>>2]=H[b+12>>2]+1;b=1}F[a+4|0]=b;H[a>>2]=c}function Oe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=ca-80|0;ca=f;e=H[c+36>>2];H[f+72>>2]=H[c+32>>2];H[f+76>>2]=e;g=H[c+28>>2];e=f- -64|0;H[e>>2]=H[c+24>>2];H[e+4>>2]=g;e=H[c+20>>2];H[f+56>>2]=H[c+16>>2];H[f+60>>2]=e;e=H[c+12>>2];H[f+48>>2]=H[c+8>>2];H[f+52>>2]=e;e=H[c+4>>2];H[f+40>>2]=H[c>>2];H[f+44>>2]=e;nc(a,f+40|0,f+24|0);a:{if(H[a>>2]){break a}if(F[a+15|0]<0){oa(H[a+4>>2])}if(I[f+31|0]!=1){b=pa(32);F[b+20|0]=0;c=I[1448]|I[1449]<<8|(I[1450]<<16|I[1451]<<24);F[b+16|0]=c;F[b+17|0]=c>>>8;F[b+18|0]=c>>>16;F[b+19|0]=c>>>24;c=I[1444]|I[1445]<<8|(I[1446]<<16|I[1447]<<24);d=I[1440]|I[1441]<<8|(I[1442]<<16|I[1443]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1436]|I[1437]<<8|(I[1438]<<16|I[1439]<<24);d=I[1432]|I[1433]<<8|(I[1434]<<16|I[1435]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;H[a>>2]=-1;za(a+4|0,b,20);oa(b);break a}i=ca-16|0;ca=i;b:{c:{switch(I[f+32|0]){case 0:e=Ke(pa(48));H[e>>2]=13112;H[f+8>>2]=0;H[f+12>>2]=0;H[f>>2]=0;H[f+4>>2]=0;H[f+16>>2]=e;break b;case 1:e=Ke(pa(52));H[e+48>>2]=0;H[e>>2]=11276;H[f+8>>2]=0;H[f+12>>2]=0;H[f>>2]=0;H[f+4>>2]=0;H[f+16>>2]=e;break b;default:break c}}g=pa(32);F[g+28|0]=0;e=I[1550]|I[1551]<<8|(I[1552]<<16|I[1553]<<24);F[g+24|0]=e;F[g+25|0]=e>>>8;F[g+26|0]=e>>>16;F[g+27|0]=e>>>24;e=I[1546]|I[1547]<<8|(I[1548]<<16|I[1549]<<24);h=I[1542]|I[1543]<<8|(I[1544]<<16|I[1545]<<24);F[g+16|0]=h;F[g+17|0]=h>>>8;F[g+18|0]=h>>>16;F[g+19|0]=h>>>24;F[g+20|0]=e;F[g+21|0]=e>>>8;F[g+22|0]=e>>>16;F[g+23|0]=e>>>24;e=I[1538]|I[1539]<<8|(I[1540]<<16|I[1541]<<24);h=I[1534]|I[1535]<<8|(I[1536]<<16|I[1537]<<24);F[g+8|0]=h;F[g+9|0]=h>>>8;F[g+10|0]=h>>>16;F[g+11|0]=h>>>24;F[g+12|0]=e;F[g+13|0]=e>>>8;F[g+14|0]=e>>>16;F[g+15|0]=e>>>24;e=I[1530]|I[1531]<<8|(I[1532]<<16|I[1533]<<24);h=I[1526]|I[1527]<<8|(I[1528]<<16|I[1529]<<24);F[g|0]=h;F[g+1|0]=h>>>8;F[g+2|0]=h>>>16;F[g+3|0]=h>>>24;F[g+4|0]=e;F[g+5|0]=e>>>8;F[g+6|0]=e>>>16;F[g+7|0]=e>>>24;H[i>>2]=-1;e=i|4;za(e,g,28);j=F[i+15|0];H[f>>2]=H[i>>2];h=f+4|0;d:{if((j|0)>=0){j=H[e+4>>2];H[h>>2]=H[e>>2];H[h+4>>2]=j;H[h+8>>2]=H[e+8>>2];H[f+16>>2]=0;break d}za(h,H[i+4>>2],H[i+8>>2]);e=F[i+15|0];H[f+16>>2]=0;if((e|0)>=0){break d}oa(H[i+4>>2])}oa(g)}ca=i+16|0;e=H[f>>2];e:{if(e){H[a>>2]=e;a=a+4|0;if(F[f+15|0]>=0){b=f|4;c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c;H[a+8>>2]=H[b+8>>2];break e}za(a,H[f+4>>2],H[f+8>>2]);break e}e=H[f+16>>2];H[f+16>>2]=0;H[e+44>>2]=d;te(a,e,b,c,d);if(!H[a>>2]){if(F[a+15|0]<0){oa(H[a+4>>2])}H[a>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0}ea[H[H[e>>2]+4>>2]](e)}a=H[f+16>>2];H[f+16>>2]=0;if(a){ea[H[H[a>>2]+4>>2]](a)}if(F[f+15|0]>=0){break a}oa(H[f+4>>2])}ca=f+80|0}function Gc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=N(b,12)+a|0;H[j+12>>2]=H[j+8>>2];m=(c|0)==-1?-1:(c>>>0)/3|0;d=1;k=c;a:{b:{c:{while(1){d:{l=d;if(!d){if((k|0)==-1){break d}if((de(a,((k>>>0)%3|0?-1:2)+k|0)|0)==-1){break a}c=k+1|0;d=(c>>>0)%3|0?c:k-2|0;if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}d=H[H[H[a+4>>2]+12>>2]+(c<<2)>>2];if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}m=(c>>>0)/3|0}e:{d=H[a+56>>2]+(m>>>3&536870908)|0;h=H[d>>2];e=1<>2]=e|h;d=H[j+12>>2];f:{if((d|0)!=H[j+16>>2]){H[d>>2]=m;H[j+12>>2]=d+4;break f}n=H[j+8>>2];h=d-n|0;e=h>>2;i=e+1|0;if(i>>>0>=1073741824){break c}g=h>>>1|0;i=h>>>0>=2147483644?1073741823:i>>>0>>0?g:i;if(i){if(i>>>0>=1073741824){break b}g=pa(i<<2)}else{g=0}h=g+(e<<2)|0;H[h>>2]=m;e=h+4|0;if((d|0)!=(n|0)){while(1){h=h-4|0;d=d-4|0;H[h>>2]=H[d>>2];if((d|0)!=(n|0)){continue}break}}H[j+8>>2]=h;H[j+12>>2]=e;H[j+16>>2]=g+(i<<2);if(!n){break f}oa(n)}g=f+1|0;g:{h:{i:{if(!f){break i}if(g&1){if((c|0)==-1){c=-1;break g}d=c+1|0;c=(d>>>0)%3|0?d:c-2|0;break i}k=l?k:c;if((c|0)==-1){c=-1;break g}if((c>>>0)%3|0){d=c-1|0;break h}c=c+2|0}d=c;c=-1;if((d|0)==-1){break g}}c=H[H[H[a+4>>2]+12>>2]+(d<<2)>>2];h=-1;f=-1;e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=H[(H[H[a>>2]+96>>2]+N(f,12)|0)+(e-N(f,3)<<2)>>2]}j:{if((c|0)==-1){break j}i=((c>>>0)%3|0?-1:2)+c|0;if((i|0)<0){break j}e=(i>>>0)/3|0;h=H[(H[H[a>>2]+96>>2]+N(e,12)|0)+(i-N(e,3)<<2)>>2]}if((f|0)!=(h|0)){c=-1;break g}k:{l:{f=((d>>>0)%3|0?-1:2)+d|0;if((f|0)>=0){d=(f>>>0)/3|0;if((c|0)!=-1){break l}c=-1;break g}d=-1;if((c|0)!=-1){break k}c=-1;break g}d=H[(H[H[a>>2]+96>>2]+N(d,12)|0)+(f-N(d,3)<<2)>>2]}f=c+1|0;e=(f>>>0)%3|0?f:c-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=H[(H[H[a>>2]+96>>2]+N(f,12)|0)+(e-N(f,3)<<2)>>2]}else{f=-1}if((f|0)!=(d|0)){c=-1;break g}f=g;m=(c>>>0)/3|0;d=H[a+56>>2]+(m>>>3&268435452)|0;h=H[d>>2];e=1<>2]-4|0;g=H[l>>2];d=H[a+56>>2]+(g>>>3&536870908)|0;c=H[d>>2];o=d,p=Vj(g)&c,H[o>>2]=p;H[j+12>>2]=l;break a}d=0;if(l){continue}break a}break}k=-1;de(a,-1);break a}sa();v()}wa();v()}H[((b<<2)+a|0)+44>>2]=k;b=H[j+12>>2];i=H[j+8>>2];m:{if((b|0)==(i|0)){break m}c=b-i|0;b=c>>2;b=b>>>0<=1?1:b;k=b&1;e=H[a+56>>2];d=0;if(c>>>0>=8){f=b&-2;c=0;while(1){l=d<<2;g=H[l+i>>2];b=e+(g>>>3&536870908)|0;a=H[b>>2];o=b,p=Vj(g)&a,H[o>>2]=p;g=H[i+(l|4)>>2];b=e+(g>>>3&536870908)|0;a=H[b>>2];o=b,p=Vj(g)&a,H[o>>2]=p;d=d+2|0;c=c+2|0;if((f|0)!=(c|0)){continue}break}}if(!k){break m}c=H[i+(d<<2)>>2];b=e+(c>>>3&536870908)|0;a=H[b>>2];o=b,p=Vj(c)&a,H[o>>2]=p}}function Gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=ca-32|0;ca=h;a:{if(J[b+38>>1]<=513){c=H[b+20>>2];f=H[b+12>>2];d=H[b+16>>2];if((c|0)>=(f|0)&d>>>0>=K[b+8>>2]|(c|0)>(f|0)){break a}f=I[d+H[b>>2]|0];d=d+1|0;c=d?c:c+1|0;H[b+16>>2]=d;H[b+20>>2]=c;if(f){break a}}b:{if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[H[a+48>>2]+64>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}c:{if(d){Wa(a+60|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[H[a+48>>2]+64>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}if(d){e=0;Wa(a+72|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[H[a+48>>2]+64>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}if(d){e=0;Wa(a+84|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[H[a+48>>2]+64>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}if(d){e=0;Wa(a+96|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=H[b+8>>2];f=H[b+12>>2];d=c;c=H[b+20>>2];i=c;g=H[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=H[b>>2];k=m+g|0;l=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);H[b+16>>2]=j;H[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=c;if((d|0)<(l|0)){break a}H[a+16>>2]=d;H[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;H[a+20>>2]=b;c=b>>>1|0;H[a+24>>2]=c;H[a+28>>2]=0-c;if(b&1){break a}H[a+24>>2]=c-1;break a}}e=0}ca=h+32|0;return e|0}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=ca-32|0;ca=h;a:{if(J[b+38>>1]<=513){c=H[b+20>>2];f=H[b+12>>2];d=H[b+16>>2];if((c|0)>=(f|0)&d>>>0>=K[b+8>>2]|(c|0)>(f|0)){break a}f=I[d+H[b>>2]|0];d=d+1|0;c=d?c:c+1|0;H[b+16>>2]=d;H[b+20>>2]=c;if(f){break a}}b:{if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[a+48>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}c:{if(d){Wa(a+60|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[a+48>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}if(d){e=0;Wa(a+72|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[a+48>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}if(d){e=0;Wa(a+84|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[a+48>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}if(d){e=0;Wa(a+96|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=H[b+8>>2];f=H[b+12>>2];d=c;c=H[b+20>>2];i=c;g=H[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=H[b>>2];k=m+g|0;l=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);H[b+16>>2]=j;H[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=c;if((d|0)<(l|0)){break a}H[a+16>>2]=d;H[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;H[a+20>>2]=b;c=b>>>1|0;H[a+24>>2]=c;H[a+28>>2]=0-c;if(b&1){break a}H[a+24>>2]=c-1;break a}}e=0}ca=h+32|0;return e|0}function xe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(H[H[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){f=H[a+48>>2];H[a+52>>2]=f;a:{if((f|0)!=H[a+56>>2]){H[f>>2]=b;H[a+52>>2]=f+4;break a}d=pa(4);H[d>>2]=b;c=d+4|0;H[a+56>>2]=c;H[a+52>>2]=c;H[a+48>>2]=d;if(!f){break a}oa(f)}e=-1;d=H[a+4>>2];c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;if((i|0)!=-1){e=H[H[d>>2]+(i<<2)>>2]}b:{h=b-N(g,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}j=H[H[d>>2]+(c<<2)>>2];if((j|0)==-1){return 0}c=H[a+36>>2];f=c+(e>>>3&536870908)|0;g=H[f>>2];d=1<>2]=d|g;Ua(a+8|0,e,i);c=H[a+36>>2]}g=(j>>>3&536870908)+c|0;d=H[g>>2];c=1<>2]=c|d;Ua(a+8|0,j,(h?-1:2)+b|0)}c=H[a+52>>2];if((c|0)==H[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=H[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;f=H[a+24>>2]+(d>>>3&268435452)|0;g=H[f>>2];d=1<>2]=d|g;while(1){i=H[a+4>>2];e=H[H[i>>2]+(b<<2)>>2];if((e|0)==-1){return 0}e:{f:{h=H[a+36>>2]+(e>>>3&536870908)|0;f=H[h>>2];g=1<>2]+(e<<2)>>2];h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break h}d=H[H[i+12>>2]+(c<<2)>>2];if((d|0)!=-1){break g}}H[h>>2]=f|g;Ua(j,e,b);break f}H[h>>2]=f|g;Ua(j,e,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}c=b-2|0;d=b+1|0;b=-1;c=(d>>>0)%3|0?d:c;if((c|0)!=-1){b=H[H[H[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];f=c>>>5|0;i=H[e+(f<<2)>>2];break e}c=-1;g=H[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=H[H[g+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=H[H[g+12>>2]+(e<<2)>>2]}g=(b|0)==-1;h=g?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=H[a+24>>2];d=(c>>>0)/3|0;f=d>>>5|0;i=H[e+(f<<2)>>2];d=1<>2];f=h>>>5|0;i=H[e+(f<<2)>>2];if(!(d&i)){break e}}c=H[a+52>>2]-4|0;H[a+52>>2]=c;break c}if(g){b=c;break e}if(H[(h>>>3&536870908)+e>>2]>>>h&1){b=c;break e}e=H[a+52>>2];H[e-4>>2]=b;if(H[a+56>>2]!=(e|0)){H[e>>2]=c;c=e+4|0;break d}l:{h=H[a+48>>2];f=e-h|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){b=f>>>1|0;f=f>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(f){if(f>>>0>=1073741824){break l}d=pa(f<<2)}else{d=0}b=d+(g<<2)|0;H[b>>2]=c;c=b+4|0;if((e|0)!=(h|0)){while(1){b=b-4|0;e=e-4|0;H[b>>2]=H[e>>2];if((e|0)!=(h|0)){continue}break}}H[a+56>>2]=d+(f<<2);H[a+52>>2]=c;H[a+48>>2]=b;if(!h){break c}oa(h);c=H[a+52>>2];break c}sa();v()}wa();v()}H[(f<<2)+e>>2]=d|i;if((b|0)!=-1){continue}break}return 0}H[a+52>>2]=c}if(H[a+48>>2]!=(c|0)){continue}break}}return 1}function uj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=ca-32|0;ca=g;H[a+68>>2]=f;d=H[a+56>>2];e=H[d>>2];d=H[d+4>>2];H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=H[a+56>>2];d=H[e>>2];if(H[e+4>>2]-d>>2>>>0<=j>>>0){break a}Nb(m,H[d+(j<<2)>>2],g+16|0);i=H[g+20>>2];d=i>>31;h=H[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=H[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){H[g+16>>2]=H[a+108>>2];break b}f=H[a+108>>2];l=f>>31;h=Sj(Rj(f,l,h,h>>31),da,e,d);H[g+16>>2]=h;d=Sj(Rj(f,l,i,i>>31),da,e,d);H[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){H[g+24>>2]=f-d;break b}H[g+24>>2]=d-f}d=Ba(o);f=H[g+16>>2];c:{if(d){H[g+24>>2]=0-H[g+24>>2];e=0-H[g+20>>2]|0;H[g+20>>2]=e;f=0-f|0;H[g+16>>2]=f;break c}e=H[g+20>>2]}d:{if((f|0)>=0){f=H[a+108>>2];d=f+H[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=H[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=H[g+24>>2];f=d>>31;f=H[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=H[a+100>>2]+(d-(d^e)|0)|0}e=H[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=H[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=H[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=H[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=H[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}H[g+12>>2]=d;H[g+8>>2]=f;j:{if(H[a+8>>2]<=0){break j}i=H[a+32>>2];f=0;while(1){d=f<<2;e=H[d+(g+8|0)>>2];h=H[a+16>>2];k:{if((e|0)>(h|0)){H[d+i>>2]=h;break k}d=d+i|0;h=H[a+12>>2];if((h|0)>(e|0)){H[d>>2]=h;break k}H[d>>2]=e}f=f+1|0;e=H[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=H[f+k>>2]+H[f+i>>2]|0;H[e>>2]=f;l:{if((f|0)>H[a+16>>2]){f=f-H[a+20>>2]|0}else{if((f|0)>=H[a+12>>2]){break l}f=f+H[a+20>>2]|0}H[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}ca=g+32|0;return 1}Ca();v()}function dj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=ca-32|0;ca=g;H[a+68>>2]=f;d=H[a+56>>2];e=H[d>>2];d=H[d+4>>2];H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=H[a+56>>2];d=H[e>>2];if(H[e+4>>2]-d>>2>>>0<=j>>>0){break a}Lb(m,H[d+(j<<2)>>2],g+16|0);i=H[g+20>>2];d=i>>31;h=H[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=H[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){H[g+16>>2]=H[a+108>>2];break b}f=H[a+108>>2];l=f>>31;h=Sj(Rj(f,l,h,h>>31),da,e,d);H[g+16>>2]=h;d=Sj(Rj(f,l,i,i>>31),da,e,d);H[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){H[g+24>>2]=f-d;break b}H[g+24>>2]=d-f}d=Ba(o);f=H[g+16>>2];c:{if(d){H[g+24>>2]=0-H[g+24>>2];e=0-H[g+20>>2]|0;H[g+20>>2]=e;f=0-f|0;H[g+16>>2]=f;break c}e=H[g+20>>2]}d:{if((f|0)>=0){f=H[a+108>>2];d=f+H[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=H[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=H[g+24>>2];f=d>>31;f=H[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=H[a+100>>2]+(d-(d^e)|0)|0}e=H[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=H[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=H[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=H[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=H[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}H[g+12>>2]=d;H[g+8>>2]=f;j:{if(H[a+8>>2]<=0){break j}i=H[a+32>>2];f=0;while(1){d=f<<2;e=H[d+(g+8|0)>>2];h=H[a+16>>2];k:{if((e|0)>(h|0)){H[d+i>>2]=h;break k}d=d+i|0;h=H[a+12>>2];if((h|0)>(e|0)){H[d>>2]=h;break k}H[d>>2]=e}f=f+1|0;e=H[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=H[f+k>>2]+H[f+i>>2]|0;H[e>>2]=f;l:{if((f|0)>H[a+16>>2]){f=f-H[a+20>>2]|0}else{if((f|0)>=H[a+12>>2]){break l}f=f+H[a+20>>2]|0}H[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}ca=g+32|0;return 1}Ca();v()}function ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=ca-80|0;ca=h;a:{b:{if(I[H[a+28>>2]+36|0]<=1){d=H[b+20>>2];f=H[b+16>>2];c=f+4|0;d=c>>>0<4?d+1|0:d;g=H[b+12>>2];if(K[b+8>>2]>>0&(g|0)<=(d|0)|(d|0)>(g|0)){break a}f=f+H[b>>2]|0;j=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=c;H[b+20>>2]=d;break b}if(!Pc(1,h+76|0,b)){break a}j=H[h+76>>2]}if(!j){break a}d=H[b+8>>2];c=H[b+16>>2];d=Rj(d-c|0,H[b+12>>2]-(H[b+20>>2]+(c>>>0>d>>>0)|0)|0,5,0);c=da;if(d>>>0>>0&(c|0)<=0|(c|0)<0){break a}c=H[a+4>>2];d=H[a+8>>2]-c>>2;c:{if(d>>>0>>0){ya(a+4|0,j-d|0);break c}if(d>>>0<=j>>>0){break c}H[a+8>>2]=c+(j<<2)}p=a+16|0;l=H[a+32>>2];while(1){i=H[b+12>>2];c=i;d=H[b+20>>2];e=H[b+8>>2];f=H[b+16>>2];if((c|0)<=(d|0)&e>>>0<=f>>>0|(c|0)<(d|0)){e=0;break a}n=H[b>>2];q=I[n+f|0];c=d;g=f+1|0;c=g?c:c+1|0;H[b+16>>2]=g;H[b+20>>2]=c;if(e>>>0<=g>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}g=I[g+n|0];c=d;k=f+2|0;c=k>>>0<2?c+1|0:c;H[b+16>>2]=k;H[b+20>>2]=c;if(e>>>0<=k>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}k=I[k+n|0];c=d;m=f+3|0;c=m>>>0<3?c+1|0:c;H[b+16>>2]=m;H[b+20>>2]=c;if(e>>>0<=m>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}e=I[m+n|0];c=d;d=f+4|0;c=d>>>0<4?c+1|0:c;H[b+16>>2]=d;H[b+20>>2]=c;if(q>>>0>4){e=0;break a}if((g-12&255)>>>0<245){e=0;break a}if(!k){e=0;break a}m=Eb(h+8|0);i=(e|0)!=0;d=g-1|0;if(d>>>0<=10){c=H[(d<<2)+13584>>2]}else{c=-1}d=N(c,k);lc(m,q,k,g,i,d,d>>31);d:{d=J[H[a+28>>2]+36>>1];e:{if(((d<<8|d>>>8)&65535)>>>0<=258){c=H[b+20>>2];f=H[b+16>>2];d=f+2|0;c=d>>>0<2?c+1|0:c;e=H[b+12>>2];if(K[b+8>>2]>>0&(e|0)<=(c|0)|(c|0)>(e|0)){break d}f=f+H[b>>2]|0;e=I[f|0]|I[f+1|0]<<8;H[b+16>>2]=d;H[b+20>>2]=c;break e}if(!Pc(1,h+4|0,b)){break d}e=H[h+4>>2]}H[h+68>>2]=e;d=jc(pa(96),m);ea[H[H[l>>2]+8>>2]](l,H[l+12>>2]-H[l+8>>2]>>2,d);d=(H[l+12>>2]-H[l+8>>2]>>2)-1|0;f=d<<2;H[H[f+H[l+8>>2]>>2]+60>>2]=e;H[H[a+4>>2]+(o<<2)>>2]=d;e=H[a+16>>2];c=H[a+20>>2]-e>>2;f:{if((c|0)>(d|0)){break f}H[h>>2]=-1;d=d+1|0;if(d>>>0>c>>>0){Pa(p,d-c|0,h);e=H[p>>2];break f}if(c>>>0<=d>>>0){break f}H[a+20>>2]=(d<<2)+e}H[e+f>>2]=o;e=1;o=o+1|0;if((o|0)!=(j|0)){continue}break a}break}e=0}ca=h+80|0;return e|0}function nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=ea[H[H[a>>2]+44>>2]](a)|0;a:{if((n|0)<=0){break a}i=H[b+4>>2]-H[b>>2]>>2;e=ca+-64|0;ca=e;f=Eb(e);d=N(H[3400],n);lc(f,H[H[a+8>>2]+56>>2],n&255,5,0,d,d>>31);f=jc(pa(96),f);F[f+84|0]=1;H[f+72>>2]=H[f+68>>2];mb(f,i);H[f+60>>2]=H[H[a+8>>2]+60>>2];d=H[a+16>>2];H[a+16>>2]=f;if(d){Ga(d)}ca=e- -64|0;h=H[a+16>>2];if(!H[h+80>>2]){break a}j=H[H[h>>2]>>2];if(!j){break a}m=H[c+12>>2];e=m;d=H[c+20>>2];g=H[c+8>>2];k=H[c+16>>2];if((e|0)<=(d|0)&g>>>0<=k>>>0|(d|0)>(e|0)){break a}l=N(i,n);i=j+H[h+48>>2]|0;h=H[c>>2];j=I[h+k|0];e=k+1|0;f=e?d:d+1|0;H[c+16>>2]=e;H[c+20>>2]=f;b:{c:{if(j){if(kd(l,n,c,i)){break c}break a}if((f|0)>=(m|0)&e>>>0>=g>>>0|(f|0)>(m|0)){break a}g=I[e+h|0];f=k+2|0;d=f>>>0<2?d+1|0:d;H[c+16>>2]=f;H[c+20>>2]=d;d=H[H[a+16>>2]+64>>2];d=H[d+4>>2]-H[d>>2]|0;if((g|0)==H[3400]){e=l<<2;if(e>>>0>d>>>0){break a}g=H[c+8>>2];k=H[c+12>>2];j=H[c+20>>2];d=H[c+16>>2];f=e+d|0;j=f>>>0>>0?j+1|0:j;if(f>>>0>g>>>0&(j|0)>=(k|0)|(j|0)>(k|0)){break a}qa(i,d+H[c>>2]|0,e);f=H[c+20>>2];d=e+H[c+16>>2]|0;f=d>>>0>>0?f+1|0:f;H[c+16>>2]=d;H[c+20>>2]=f;break c}if(d>>>0>>0){break a}d=H[c+8>>2];f=H[c+16>>2];e=d-f|0;m=d>>>0>>0;d=H[c+20>>2];k=H[c+12>>2]-(m+d|0)|0;m=Rj(g,0,l,0)>>>0>e>>>0;e=da;if(m&(e|0)>=(k|0)|(e|0)>(k|0)){break a}e=1;if(!l){break b}h=0;while(1){k=H[c+8>>2];j=H[c+12>>2];e=f+g|0;d=e>>>0>>0?d+1|0:d;if(e>>>0>k>>>0&(d|0)>=(j|0)|(d|0)>(j|0)){return 0}qa(i+(h<<2)|0,H[c>>2]+f|0,g);d=H[c+20>>2];f=g+H[c+16>>2]|0;d=f>>>0>>0?d+1|0:d;H[c+16>>2]=f;H[c+20>>2]=d;h=h+1|0;if((l|0)!=(h|0)){continue}break}}e=1;if(!l){break b}d=H[a+20>>2];if(d){e=0;if(ea[H[H[d>>2]+32>>2]](d)|0){break b}}g=0;h=0;d:{if((l|0)<=0){break d}if((l|0)!=1){f=l&-2;while(1){e=g<<2;d=H[e+i>>2];H[e+i>>2]=0-(d&1)^d>>>1;d=e|4;e=H[d+i>>2];H[d+i>>2]=0-(e&1)^e>>>1;g=g+2|0;h=h+2|0;if((f|0)!=(h|0)){continue}break}}if(!(l&1)){break d}d=g<<2;f=H[d+i>>2];H[d+i>>2]=0-(f&1)^f>>>1}e=0}d=e;f=H[a+20>>2];e:{if(!f){break e}if(!(ea[H[H[f>>2]+40>>2]](f,c)|0)){break a}if(d){break e}a=H[a+20>>2];if(!(ea[H[H[a>>2]+44>>2]](a,i,i,l,n,H[b>>2])|0)){break a}}o=1}return o|0}function pb(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;h=ca-32|0;ca=h;a:{b:{if(H[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=pa(b<<2);H[h+24>>2]=b;H[h+20>>2]=0;H[h+16>>2]=c;b=H[a>>2];H[h+12>>2]=0;H[h+8>>2]=b;c=H[a+4>>2];H[h+4>>2]=c&31;H[h>>2]=b+(c>>>3&536870908);e=ca-32|0;ca=e;i=H[h+4>>2];g=H[h+12>>2];j=H[h>>2];d=H[h+8>>2];b=(i-g|0)+(j-d<<3)|0;f=H[h+20>>2];c=b+f|0;H[h+20>>2]=c;if(!((c-1^f-1)>>>0<32?f:0)){H[H[h+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=H[h+16>>2]+(f>>>3&536870908)|0;f=f&31;c:{if((f|0)==(g|0)){if((b|0)<=0){break c}if(g){i=32-g|0;f=(b|0)<(i|0)?b:i;i=-1<>>i-f;H[c>>2]=H[c>>2]&(i^-1)|i&H[d>>2];d=d+4|0;c=(g+f>>>3&536870908)+c|0;b=b-f|0}g=(b|0)/32|0;if(b+31>>>0>=63){va(c,d,g<<2)}b=b-(g<<5)|0;if((b|0)<=0){break c}f=c;c=g<<2;g=f+c|0;b=-1>>>32-b|0;H[g>>2]=H[g>>2]&(b^-1)|b&H[c+d>>2];break c}H[e+28>>2]=g;H[e+24>>2]=d;H[e+20>>2]=i;H[e+16>>2]=j;H[e+12>>2]=f;H[e+8>>2]=c;b=H[e+28>>2];c=H[e+24>>2];g=(H[e+20>>2]-b|0)+(H[e+16>>2]-c<<3)|0;d:{if((g|0)<=0){b=H[e+12>>2];d=H[e+8>>2];break d}e:{if(!b){b=H[e+12>>2];break e}d=H[e+12>>2];j=32-d|0;k=32-b|0;f=(g|0)<(k|0)?g:k;i=f>>>0>j>>>0?j:f;l=H[e+8>>2];m=H[l>>2]&(-1<>>j-i^-1);j=H[c>>2]&(-1<>>k-f);H[l>>2]=m|(b>>>0>>0?j<>>b-d|0);c=d+i|0;b=c&31;H[e+12>>2]=b;d=l+(c>>>3&536870908)|0;H[e+8>>2]=d;c=f-i|0;if((c|0)>0){H[d>>2]=H[d>>2]&(-1>>>32-c^-1)|j>>>i+H[e+28>>2];H[e+12>>2]=c;b=c}g=g-f|0;c=H[e+24>>2]+4|0;H[e+24>>2]=c}i=-1<=32){j=i^-1;while(1){d=H[e+8>>2];c=H[c>>2];H[d>>2]=j&H[d>>2]|c<>2]=d+4;H[d+4>>2]=i&H[d+4>>2]|c>>>f;c=H[e+24>>2]+4|0;H[e+24>>2]=c;d=g>>>0>63;g=g-32|0;if(d){continue}break}}d=H[e+8>>2];if((g|0)<=0){break d}j=f;f=(g|0)>(f|0)?f:g;j=H[d>>2]&(i&-1>>>j-f^-1);i=H[c>>2]&-1>>>32-g;H[d>>2]=j|i<>2]=c;d=(b>>>3&536870908)+d|0;H[e+8>>2]=d;b=g-f|0;if((b|0)<=0){b=c;break d}H[d>>2]=H[d>>2]&(-1>>>32-b^-1)|i>>>f;H[e+12>>2]=b}H[e+4>>2]=b;H[e>>2]=d}ca=e+32|0;b=H[a>>2];H[a>>2]=H[h+16>>2];H[h+16>>2]=b;c=H[a+4>>2];H[a+4>>2]=H[h+20>>2];H[h+20>>2]=c;c=H[a+8>>2];H[a+8>>2]=H[h+24>>2];H[h+24>>2]=c;if(!b){break b}oa(b)}ca=h+32|0;return}sa();v()}function Ne(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,n=0,o=0;c=J[b+38>>1];a:{if(!c){break a}b:{if(c>>>0<=511){g=H[b+8>>2];e=H[b+12>>2];d=H[b+20>>2];c=H[b+16>>2];i=c+4|0;d=i>>>0<4?d+1|0:d;if(g>>>0>>0&(d|0)>=(e|0)|(d|0)>(e|0)){break a}c=c+H[b>>2]|0;f=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[a+12>>2]=f;d=H[b+20>>2];c=H[b+16>>2]+4|0;d=c>>>0<4?d+1|0:d;H[b+16>>2]=c;H[b+20>>2]=d;break b}if(!hb(1,a+12|0,b)){break a}c=H[b+16>>2];d=H[b+20>>2];f=H[a+12>>2]}e=H[b+8>>2];i=e-c|0;c=H[b+12>>2]-(d+(c>>>0>e>>>0)|0)|0;if(i>>>0>>6>>>0&(c|0)<=0|(c|0)<0){break a}d=H[a>>2];c=H[a+4>>2]-d>>2;c:{if(c>>>0>>0){ya(a,f-c|0);f=H[a+12>>2];break c}if(c>>>0<=f>>>0){break c}H[a+4>>2]=d+(f<<2)}if(!f){return 1}c=H[b+16>>2];d=H[b+20>>2];l=H[a>>2];i=H[b+8>>2];j=H[b+12>>2];g=0;while(1){if((d|0)>=(j|0)&c>>>0>=i>>>0|(d|0)>(j|0)){return 0}m=H[b>>2];k=I[m+c|0];c=c+1|0;d=c?d:d+1|0;H[b+16>>2]=c;H[b+20>>2]=d;e=k>>>2|0;h=0;d:{e:{f:{g:{n=k&3;switch(n|0){case 0:break e;case 3:break g;default:break f}}e=e+g|0;if(e>>>0>=f>>>0){return 0}ra(l+(g<<2)|0,0,(k&252)+4|0);g=e;break d}while(1){if((c|0)==(i|0)&(d|0)==(j|0)){break a}f=I[c+m|0];c=c+1|0;d=c?d:d+1|0;H[b+16>>2]=c;H[b+20>>2]=d;e=f<<(h<<3|6)|e;h=h+1|0;if((n|0)!=(h|0)){continue}break}}H[l+(g<<2)>>2]=e}f=H[a+12>>2];g=g+1|0;if(f>>>0>g>>>0){continue}break}b=a+16|0;i=H[a>>2];d=H[a+16>>2];c=H[a+20>>2]-d|0;h:{if(c>>>0<=16383){ya(b,4096-(c>>>2|0)|0);break h}if((c|0)==16384){break h}H[a+20>>2]=d+16384}c=a+28|0;g=H[c>>2];d=H[a+32>>2]-g>>3;i:{if(d>>>0>>0){ob(c,f-d|0);g=H[c>>2];break i}if(d>>>0>f>>>0){H[a+32>>2]=(f<<3)+g}if(!f){break a}}d=H[b>>2];b=0;a=0;while(1){c=i+(b<<2)|0;h=H[c>>2];e=a;j=(b<<3)+g|0;H[j+4>>2]=a;H[j>>2]=h;c=H[c>>2];a=c+a|0;if(a>>>0>4096){break a}j:{if(a>>>0<=e>>>0){break j}h=0;j=c&7;if(j){while(1){H[d+(e<<2)>>2]=b;e=e+1|0;h=h+1|0;if((j|0)!=(h|0)){continue}break}}if(c-1>>>0<=6){break j}while(1){c=d+(e<<2)|0;H[c>>2]=b;H[c+28>>2]=b;H[c+24>>2]=b;H[c+20>>2]=b;H[c+16>>2]=b;H[c+12>>2]=b;H[c+8>>2]=b;H[c+4>>2]=b;e=e+8|0;if((e|0)!=(a|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}o=(a|0)==4096}return o}function Ni(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=ca-48|0;ca=g;d=H[a+8>>2];if(d-2>>>0<=28){H[a+76>>2]=d;e=-1<>2]=d;H[a+80>>2]=e^-1;H[a+92>>2]=(d|0)/2;L[a+88>>2]=O(2)/O(d|0)}H[a+52>>2]=f;d=H[a+40>>2];e=H[d>>2];d=H[d+4>>2];H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=H[a+40>>2];d=H[e>>2];if(H[e+4>>2]-d>>2>>>0<=j>>>0){break a}Nb(n,H[d+(j<<2)>>2],g+8|0);h=H[g+12>>2];d=h>>31;i=H[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=H[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){H[g+8>>2]=H[a+92>>2];break b}f=H[a+92>>2];k=f>>31;i=Sj(Rj(f,k,i,i>>31),da,e,d);H[g+8>>2]=i;d=Sj(Rj(f,k,h,h>>31),da,e,d);H[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){H[g+16>>2]=f-d;break b}H[g+16>>2]=d-f}d=Ba(p);f=H[g+8>>2];c:{if(d){H[g+16>>2]=0-H[g+16>>2];e=0-H[g+12>>2]|0;H[g+12>>2]=e;f=0-f|0;H[g+8>>2]=f;break c}e=H[g+12>>2]}d:{if((f|0)>=0){f=H[a+92>>2];d=f+H[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=H[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=H[g+16>>2];f=d>>31;f=H[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=H[a+84>>2]+(d-(d^e)|0)|0}e=H[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=H[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=H[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=H[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=H[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=H[h>>2];h=H[h+4>>2];H[g+36>>2]=d;H[g+32>>2]=f;H[g+24>>2]=i;H[g+28>>2]=h;qc(g+40|0,m,g+32|0,g+24|0);d=c+e|0;H[d>>2]=H[g+40>>2];H[d+4>>2]=H[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}ca=g+48|0;return 1}Ca();v()}function Ii(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=ca-48|0;ca=g;d=H[a+8>>2];if(d-2>>>0<=28){H[a+76>>2]=d;e=-1<>2]=d;H[a+80>>2]=e^-1;H[a+92>>2]=(d|0)/2;L[a+88>>2]=O(2)/O(d|0)}H[a+52>>2]=f;d=H[a+40>>2];e=H[d>>2];d=H[d+4>>2];H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=H[a+40>>2];d=H[e>>2];if(H[e+4>>2]-d>>2>>>0<=j>>>0){break a}Lb(n,H[d+(j<<2)>>2],g+8|0);h=H[g+12>>2];d=h>>31;i=H[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=H[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){H[g+8>>2]=H[a+92>>2];break b}f=H[a+92>>2];k=f>>31;i=Sj(Rj(f,k,i,i>>31),da,e,d);H[g+8>>2]=i;d=Sj(Rj(f,k,h,h>>31),da,e,d);H[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){H[g+16>>2]=f-d;break b}H[g+16>>2]=d-f}d=Ba(p);f=H[g+8>>2];c:{if(d){H[g+16>>2]=0-H[g+16>>2];e=0-H[g+12>>2]|0;H[g+12>>2]=e;f=0-f|0;H[g+8>>2]=f;break c}e=H[g+12>>2]}d:{if((f|0)>=0){f=H[a+92>>2];d=f+H[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=H[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=H[g+16>>2];f=d>>31;f=H[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=H[a+84>>2]+(d-(d^e)|0)|0}e=H[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=H[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=H[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=H[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=H[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=H[h>>2];h=H[h+4>>2];H[g+36>>2]=d;H[g+32>>2]=f;H[g+24>>2]=i;H[g+28>>2]=h;qc(g+40|0,m,g+32|0,g+24|0);d=c+e|0;H[d>>2]=H[g+40>>2];H[d+4>>2]=H[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}ca=g+48|0;return 1}Ca();v()}function Wi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=ca-48|0;ca=g;d=H[a+8>>2];if(d-2>>>0<=28){H[a+76>>2]=d;e=-1<>2]=d;H[a+80>>2]=e^-1;H[a+92>>2]=(d|0)/2;L[a+88>>2]=O(2)/O(d|0)}H[a+52>>2]=f;d=H[a+40>>2];e=H[d>>2];d=H[d+4>>2];H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=H[a+40>>2];d=H[e>>2];if(H[e+4>>2]-d>>2>>>0<=j>>>0){break a}Nb(n,H[d+(j<<2)>>2],g+8|0);h=H[g+12>>2];d=h>>31;i=H[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=H[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){H[g+8>>2]=H[a+92>>2];break b}f=H[a+92>>2];k=f>>31;i=Sj(Rj(f,k,i,i>>31),da,e,d);H[g+8>>2]=i;d=Sj(Rj(f,k,h,h>>31),da,e,d);H[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){H[g+16>>2]=f-d;break b}H[g+16>>2]=d-f}d=Ba(p);f=H[g+8>>2];c:{if(d){H[g+16>>2]=0-H[g+16>>2];e=0-H[g+12>>2]|0;H[g+12>>2]=e;f=0-f|0;H[g+8>>2]=f;break c}e=H[g+12>>2]}d:{if((f|0)>=0){f=H[a+92>>2];d=f+H[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=H[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=H[g+16>>2];f=d>>31;f=H[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=H[a+84>>2]+(d-(d^e)|0)|0}e=H[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=H[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=H[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=H[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=H[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=H[h+4>>2];H[g+40>>2]=H[h>>2];H[g+44>>2]=i;H[g+28>>2]=d;H[g+24>>2]=f;rc(g+32|0,m,g+24|0,g+40|0);d=c+e|0;H[d>>2]=H[g+32>>2];H[d+4>>2]=H[g+36>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}ca=g+48|0;return 1}Ca();v()}function Ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=ca-48|0;ca=g;d=H[a+8>>2];if(d-2>>>0<=28){H[a+76>>2]=d;e=-1<>2]=d;H[a+80>>2]=e^-1;H[a+92>>2]=(d|0)/2;L[a+88>>2]=O(2)/O(d|0)}H[a+52>>2]=f;d=H[a+40>>2];e=H[d>>2];d=H[d+4>>2];H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=H[a+40>>2];d=H[e>>2];if(H[e+4>>2]-d>>2>>>0<=j>>>0){break a}Lb(n,H[d+(j<<2)>>2],g+8|0);h=H[g+12>>2];d=h>>31;i=H[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=H[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){H[g+8>>2]=H[a+92>>2];break b}f=H[a+92>>2];k=f>>31;i=Sj(Rj(f,k,i,i>>31),da,e,d);H[g+8>>2]=i;d=Sj(Rj(f,k,h,h>>31),da,e,d);H[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){H[g+16>>2]=f-d;break b}H[g+16>>2]=d-f}d=Ba(p);f=H[g+8>>2];c:{if(d){H[g+16>>2]=0-H[g+16>>2];e=0-H[g+12>>2]|0;H[g+12>>2]=e;f=0-f|0;H[g+8>>2]=f;break c}e=H[g+12>>2]}d:{if((f|0)>=0){f=H[a+92>>2];d=f+H[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=H[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=H[g+16>>2];f=d>>31;f=H[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=H[a+84>>2]+(d-(d^e)|0)|0}e=H[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=H[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=H[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=H[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=H[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=H[h+4>>2];H[g+40>>2]=H[h>>2];H[g+44>>2]=i;H[g+28>>2]=d;H[g+24>>2]=f;rc(g+32|0,m,g+24|0,g+40|0);d=c+e|0;H[d>>2]=H[g+32>>2];H[d+4>>2]=H[g+36>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}ca=g+48|0;return 1}Ca();v()}function Ge(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=ca-16|0;ca=f;c=H[a+4>>2];H[a+40>>2]=H[a>>2];H[a+44>>2]=c;c=H[a+36>>2];H[a+72>>2]=H[a+32>>2];H[a+76>>2]=c;d=H[a+28>>2];c=a- -64|0;H[c>>2]=H[a+24>>2];H[c+4>>2]=d;c=H[a+20>>2];H[a+56>>2]=H[a+16>>2];H[a+60>>2]=c;c=H[a+12>>2];H[a+48>>2]=H[a+8>>2];H[a+52>>2]=c;a:{b:{if(Db(a+40|0,1,f+8|0)){c=H[a+44>>2];H[a>>2]=H[a+40>>2];H[a+4>>2]=c;c=H[a+76>>2];H[a+32>>2]=H[a+72>>2];H[a+36>>2]=c;c=H[a+68>>2];H[a+24>>2]=H[a+64>>2];H[a+28>>2]=c;d=H[a+60>>2];h=d;c=H[a+56>>2];H[a+16>>2]=c;H[a+20>>2]=d;e=H[a+52>>2];d=H[a+48>>2];H[a+8>>2]=d;H[a+12>>2]=e;i=d-c|0;g=H[f+12>>2];e=e-((c>>>0>d>>>0)+h|0)|0;d=H[f+8>>2];if((g|0)==(e|0)&i>>>0>=d>>>0|e>>>0>g>>>0){break b}}c=0;break a}e=h+g|0;c=c+d|0;e=c>>>0>>0?e+1|0:e;H[a+16>>2]=c;H[a+20>>2]=e;c:{if(J[a+38>>1]<=513){c=H[a+4>>2];H[a+96>>2]=H[a>>2];H[a+100>>2]=c;c=H[a+36>>2];H[a+128>>2]=H[a+32>>2];H[a+132>>2]=c;c=H[a+28>>2];H[a+120>>2]=H[a+24>>2];H[a+124>>2]=c;c=H[a+20>>2];H[a+112>>2]=H[a+16>>2];H[a+116>>2]=c;c=H[a+12>>2];H[a+104>>2]=H[a+8>>2];H[a+108>>2]=c;d:{if(Db(a+96|0,1,f+8|0)){c=H[a+100>>2];H[a>>2]=H[a+96>>2];H[a+4>>2]=c;c=H[a+132>>2];H[a+32>>2]=H[a+128>>2];H[a+36>>2]=c;c=H[a+124>>2];H[a+24>>2]=H[a+120>>2];H[a+28>>2]=c;d=H[a+116>>2];h=d;c=H[a+112>>2];H[a+16>>2]=c;H[a+20>>2]=d;e=H[a+108>>2];d=H[a+104>>2];H[a+8>>2]=d;H[a+12>>2]=e;i=d-c|0;g=H[f+12>>2];e=e-((c>>>0>d>>>0)+h|0)|0;d=H[f+8>>2];if((g|0)==(e|0)&i>>>0>=d>>>0|e>>>0>g>>>0){break d}}c=0;break a}e=h+g|0;c=c+d|0;e=c>>>0>>0?e+1|0:e;H[a+16>>2]=c;H[a+20>>2]=e;break c}c=0;if(!ta(a+80|0,a)){break a}}c=0;if(!Fe(a)){break a}c=H[a+4>>2];H[b>>2]=H[a>>2];H[b+4>>2]=c;c=H[a+36>>2];H[b+32>>2]=H[a+32>>2];H[b+36>>2]=c;c=H[a+28>>2];H[b+24>>2]=H[a+24>>2];H[b+28>>2]=c;c=H[a+20>>2];H[b+16>>2]=H[a+16>>2];H[b+20>>2]=c;c=H[a+12>>2];H[b+8>>2]=H[a+8>>2];H[b+12>>2]=c;c=1}ca=f+16|0;return c}function oe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!H[a+64>>2]){c=pa(32);H[c+16>>2]=0;H[c+20>>2]=0;H[c+8>>2]=0;H[c>>2]=0;H[c+4>>2]=0;H[c+24>>2]=0;H[c+28>>2]=0;d=H[a+64>>2];H[a+64>>2]=c;if(d){c=H[d>>2];if(c){H[d+4>>2]=c;oa(c)}oa(d);c=H[a+64>>2]}H[a>>2]=c;d=H[c+20>>2];H[a+8>>2]=H[c+16>>2];H[a+12>>2]=d;d=H[c+24>>2];c=H[c+28>>2];H[a+48>>2]=0;H[a+52>>2]=0;H[a+40>>2]=0;H[a+44>>2]=0;H[a+16>>2]=d;H[a+20>>2]=c}a:{F[a+24|0]=I[b+24|0];H[a+28>>2]=H[b+28>>2];F[a+32|0]=I[b+32|0];c=H[b+44>>2];H[a+40>>2]=H[b+40>>2];H[a+44>>2]=c;c=H[b+52>>2];H[a+48>>2]=H[b+48>>2];H[a+52>>2]=c;H[a+56>>2]=H[b+56>>2];c=H[b+12>>2];H[a+8>>2]=H[b+8>>2];H[a+12>>2]=c;c=H[b+20>>2];H[a+16>>2]=H[b+16>>2];H[a+20>>2]=c;H[a+60>>2]=H[b+60>>2];c=H[b>>2];b:{if(!c){H[a>>2]=0;d=1;break b}g=H[a>>2];d=0;if(!g){break b}d=H[c>>2];c=H[c+4>>2]-d|0;se(g,d,c,0);d=1}c:{if(!d){break c}F[a+84|0]=I[b+84|0];H[a+80>>2]=H[b+80>>2];if((a|0)!=(b|0)){Cb(a+68|0,H[b+68>>2],H[b+72>>2])}f=H[b+88>>2];d:{if(f){e=pa(40);b=H[f>>2];H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;H[e>>2]=b;c=H[f+12>>2];b=H[f+8>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break a}b=pa(c);H[e+12>>2]=b;H[e+8>>2]=b;H[e+16>>2]=b+c;c=H[f+8>>2];h=H[f+12>>2];e:{if((c|0)==(h|0)){break e}g=(c^-1)+h|0;d=h-c&7;if(d){while(1){F[b|0]=I[c|0];b=b+1|0;c=c+1|0;i=i+1|0;if((d|0)!=(i|0)){continue}break}}if(g>>>0<7){break e}while(1){F[b|0]=I[c|0];F[b+1|0]=I[c+1|0];F[b+2|0]=I[c+2|0];F[b+3|0]=I[c+3|0];F[b+4|0]=I[c+4|0];F[b+5|0]=I[c+5|0];F[b+6|0]=I[c+6|0];F[b+7|0]=I[c+7|0];b=b+8|0;c=c+8|0;if((h|0)!=(c|0)){continue}break}}H[e+12>>2]=b}b=H[f+36>>2];H[e+32>>2]=H[f+32>>2];H[e+36>>2]=b;b=H[f+28>>2];H[e+24>>2]=H[f+24>>2];H[e+28>>2]=b;b=H[a+88>>2];H[a+88>>2]=e;if(b){break d}break c}b=H[a+88>>2];H[a+88>>2]=0;if(!b){break c}}a=H[b+8>>2];if(a){H[b+12>>2]=a;oa(a)}oa(b)}return}sa();v()}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=ca-32|0;ca=f;e=f+8|0;c=ca-80|0;ca=c;a=H[b+36>>2];H[c+72>>2]=H[b+32>>2];H[c+76>>2]=a;d=H[b+28>>2];a=c- -64|0;H[a>>2]=H[b+24>>2];H[a+4>>2]=d;a=H[b+20>>2];H[c+56>>2]=H[b+16>>2];H[c+60>>2]=a;a=H[b+12>>2];H[c+48>>2]=H[b+8>>2];H[c+52>>2]=a;a=H[b+4>>2];H[c+40>>2]=H[b>>2];H[c+44>>2]=a;nc(c+8|0,c+40|0,c+24|0);a=H[c+8>>2];a:{if(a){H[e>>2]=a;a=e+4|0;if(F[c+23|0]>=0){b=c+8|4;e=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=e;H[a+8>>2]=H[b+8>>2];break a}za(a,H[c+12>>2],H[c+16>>2]);if(F[c+23|0]>=0){break a}oa(H[c+12>>2]);break a}if(F[c+23|0]<0){oa(H[c+12>>2])}a=I[c+31|0];if(a>>>0>=2){b=pa(32);F[b+26|0]=0;a=I[1477]|I[1478]<<8;F[b+24|0]=a;F[b+25|0]=a>>>8;a=I[1473]|I[1474]<<8|(I[1475]<<16|I[1476]<<24);d=I[1469]|I[1470]<<8|(I[1471]<<16|I[1472]<<24);F[b+16|0]=d;F[b+17|0]=d>>>8;F[b+18|0]=d>>>16;F[b+19|0]=d>>>24;F[b+20|0]=a;F[b+21|0]=a>>>8;F[b+22|0]=a>>>16;F[b+23|0]=a>>>24;a=I[1465]|I[1466]<<8|(I[1467]<<16|I[1468]<<24);d=I[1461]|I[1462]<<8|(I[1463]<<16|I[1464]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=a;F[b+13|0]=a>>>8;F[b+14|0]=a>>>16;F[b+15|0]=a>>>24;a=I[1457]|I[1458]<<8|(I[1459]<<16|I[1460]<<24);d=I[1453]|I[1454]<<8|(I[1455]<<16|I[1456]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=a;F[b+5|0]=a>>>8;F[b+6|0]=a>>>16;F[b+7|0]=a>>>24;H[c+8>>2]=-1;a=c+8|4;za(a,b,26);d=F[c+23|0];H[e>>2]=H[c+8>>2];e=e+4|0;if((d|0)>=0){d=H[a+4>>2];H[e>>2]=H[a>>2];H[e+4>>2]=d;H[e+8>>2]=H[a+8>>2];oa(b);break a}za(e,H[c+12>>2],H[c+16>>2]);if(F[c+23|0]<0){oa(H[c+12>>2])}oa(b);break a}H[e>>2]=0;H[e+4>>2]=0;H[e+16>>2]=a;H[e+8>>2]=0;H[e+12>>2]=0}ca=c+80|0;a=H[f+24>>2];if(F[f+23|0]<0){oa(H[f+12>>2])}ca=f+32|0;return a|0}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=ca-16|0;ca=k;H[k+8>>2]=c;h=H[a+12>>2];d=H[a+8>>2];g=h-d>>2;a:{if((g|0)>(b|0)){break a}e=b+1|0;if(e>>>0>g>>>0){l=e-g|0;f=H[a+16>>2];d=H[a+12>>2];if(l>>>0<=f-d>>2>>>0){if(l){e=d;d=l<<2;d=ra(e,0,d)+d|0}H[a+12>>2]=d;break a}b:{c:{d:{m=H[a+8>>2];g=d-m>>2;i=g+l|0;if(i>>>0<1073741824){e=f-m|0;f=e>>>1|0;e=e>>>0>=2147483644?1073741823:f>>>0>i>>>0?f:i;if(e){if(e>>>0>=1073741824){break d}j=pa(e<<2)}h=(g<<2)+j|0;f=l<<2;i=ra(h,0,f);g=f+i|0;e=(e<<2)+j|0;if((d|0)==(m|0)){break c}while(1){d=d-4|0;f=H[d>>2];H[d>>2]=0;h=h-4|0;H[h>>2]=f;if((d|0)!=(m|0)){continue}break}H[a+16>>2]=e;e=H[a+12>>2];H[a+12>>2]=g;d=H[a+8>>2];H[a+8>>2]=h;if((d|0)==(e|0)){break b}while(1){e=e-4|0;f=H[e>>2];H[e>>2]=0;if(f){Ga(f)}if((d|0)!=(e|0)){continue}break}break b}sa();v()}wa();v()}H[a+16>>2]=e;H[a+12>>2]=g;H[a+8>>2]=i}if(d){oa(d)}break a}if(e>>>0>=g>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(h|0)){while(1){h=h-4|0;c=H[h>>2];H[h>>2]=0;if(c){Ga(c)}if((d|0)!=(h|0)){continue}break}c=H[k+8>>2]}H[a+12>>2]=d}e:{f:{d=H[c+56>>2];g:{if((d|0)>4){break g}j=N(d,12)+a|0;d=H[j+24>>2];if((d|0)!=H[j+28>>2]){H[d>>2]=b;H[j+24>>2]=d+4;break g}i=H[j+20>>2];g=d-i|0;f=g>>2;e=f+1|0;if(e>>>0>=1073741824){break f}d=g>>>1|0;e=g>>>0>=2147483644?1073741823:d>>>0>e>>>0?d:e;if(e){if(e>>>0>=1073741824){break e}d=pa(e<<2)}else{d=0}f=d+(f<<2)|0;H[f>>2]=b;d=va(d,i,g);H[j+20>>2]=d;H[j+24>>2]=f+4;H[j+28>>2]=d+(e<<2);if(!i){break g}oa(i)}H[c+60>>2]=b;a=H[a+8>>2];H[k+8>>2]=0;a=a+(b<<2)|0;b=H[a>>2];H[a>>2]=c;if(b){Ga(b)}a=H[k+8>>2];H[k+8>>2]=0;if(a){Ga(a)}ca=k+16|0;return}sa();v()}wa();v()}function Og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c;d=a;a:{if(H[a+12>>2]==(b|0)){break a}a=b;b=H[d+4>>2];e=H[d>>2];if((b|0)!=(e|0)){while(1){c=b-12|0;if(F[b-1|0]<0){oa(H[c>>2])}b=c;if((e|0)!=(b|0)){continue}break}}H[d+12>>2]=a;H[d+4>>2]=e;c=H[a>>2];j=a+4|0;if((c|0)==(j|0)){break a}while(1){a=H[d+4>>2];b:{if((a|0)!=H[d+8>>2]){c:{if(F[c+27|0]>=0){b=H[c+20>>2];H[a>>2]=H[c+16>>2];H[a+4>>2]=b;H[a+8>>2]=H[c+24>>2];break c}za(a,H[c+16>>2],H[c+20>>2])}H[d+4>>2]=a+12;break b}g=0;d:{e:{f:{a=H[d+4>>2];e=H[d>>2];f=(a-e|0)/12|0;b=f+1|0;if(b>>>0<357913942){h=(H[d+8>>2]-e|0)/12|0;k=h<<1;b=h>>>0>=178956970?357913941:b>>>0>>0?k:b;if(b){if(b>>>0>=357913942){break f}g=pa(N(b,12))}h=N(b,12);b=N(f,12)+g|0;g:{if(F[c+27|0]>=0){f=H[c+20>>2];H[b>>2]=H[c+16>>2];H[b+4>>2]=f;H[b+8>>2]=H[c+24>>2];break g}za(b,H[c+16>>2],H[c+20>>2]);e=H[d>>2];a=H[d+4>>2]}g=g+h|0;f=b+12|0;if((a|0)==(e|0)){break e}while(1){a=a-12|0;h=H[a+4>>2];b=b-12|0;H[b>>2]=H[a>>2];H[b+4>>2]=h;H[b+8>>2]=H[a+8>>2];H[a>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;if((a|0)!=(e|0)){continue}break}H[d+8>>2]=g;a=H[d+4>>2];H[d+4>>2]=f;e=H[d>>2];H[d>>2]=b;if((a|0)==(e|0)){break d}while(1){b=a-12|0;if(F[a-1|0]<0){oa(H[b>>2])}a=b;if((e|0)!=(b|0)){continue}break}break d}sa();v()}wa();v()}H[d+8>>2]=g;H[d+4>>2]=f;H[d>>2]=b}if(e){oa(e)}}b=H[c+4>>2];h:{if(b){while(1){a=b;b=H[b>>2];if(b){continue}break h}}while(1){a=H[c+8>>2];b=H[a>>2]!=(c|0);c=a;if(b){continue}break}}c=a;if((j|0)!=(a|0)){continue}break}}a=0;i:{if((i|0)<0){break i}b=H[d>>2];if((H[d+4>>2]-b|0)/12>>>0<=i>>>0){break i}a=b+N(i,12)|0;a=F[a+11|0]<0?H[a>>2]:a}return a|0}function bd(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,n=0;i=ca-16|0;ca=i;H[i>>2]=b;f=-1;a:{if((b|0)==-1){H[i+4>>2]=-1;break a}f=b+1|0;H[i+4>>2]=(f>>>0)%3|0?f:b-2|0;if((b>>>0)%3|0){f=b-1|0;break a}f=b+2|0}H[i+8>>2]=f;n=(b>>>0)/3|0;b:{c:{d:{while(1){e:{f:{j=H[(l<<2)+i>>2];if((j|0)!=-1){f=H[H[H[a+8>>2]+12>>2]+(j<<2)>>2];if((f|0)!=-1){break f}}f=0;g=H[a+216>>2];if((g|0)==H[a+220>>2]){break e}while(1){g=N(f,144)+g|0;d=H[g+136>>2];c=H[g+140>>2];g:{if(d>>>0>>0){H[d>>2]=j;H[g+136>>2]=d+4;break g}e=d;d=H[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break d}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=pa(h<<2)}else{c=0}e=m+c|0;H[e>>2]=j;c=va(c,d,k);H[g+132>>2]=c;H[g+136>>2]=e+4;H[g+140>>2]=c+(h<<2);if(!d){break g}oa(d)}f=f+1|0;g=H[a+216>>2];if(f>>>0<(H[a+220>>2]-g|0)/144>>>0){continue}break}break e}if((b|0)==-1|(f>>>0)/3>>>0>>0){break e}f=0;if(H[a+220>>2]==H[a+216>>2]){break e}while(1){h:{if(!Ba(H[a+368>>2]+(f<<4)|0)){break h}g=H[a+216>>2]+N(f,144)|0;d=H[g+136>>2];c=H[g+140>>2];if(d>>>0>>0){H[d>>2]=j;H[g+136>>2]=d+4;break h}e=d;d=H[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break b}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=pa(h<<2)}else{c=0}e=m+c|0;H[e>>2]=j;c=va(c,d,k);H[g+132>>2]=c;H[g+136>>2]=e+4;H[g+140>>2]=c+(h<<2);if(!d){break h}oa(d)}f=f+1|0;if(f>>>0<(H[a+220>>2]-H[a+216>>2]|0)/144>>>0){continue}break}}l=l+1|0;if((l|0)!=3){continue}break}ca=i+16|0;return 1}sa();v()}wa();v()}sa();v()}function cd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=ca-16|0;ca=h;H[h>>2]=b;c=-1;a:{if((b|0)==-1){H[h+4>>2]=-1;break a}c=b+1|0;H[h+4>>2]=(c>>>0)%3|0?c:b-2|0;if((b>>>0)%3|0){c=b-1|0;break a}c=b+2|0}H[h+8>>2]=c;b:{c:{while(1){i=H[(k<<2)+h>>2];d:{if(!((i|0)==-1|H[H[H[a+8>>2]+12>>2]+(i<<2)>>2]==-1)){b=0;if(H[a+220>>2]==H[a+216>>2]){break d}while(1){e:{f:{if(!Ba(H[a+368>>2]+(b<<4)|0)){break f}c=H[a+216>>2]+N(b,144)|0;e=H[c+136>>2];d=H[c+140>>2];if(e>>>0>>0){H[e>>2]=i;H[c+136>>2]=e+4;break f}f=e;e=H[c+132>>2];j=f-e|0;f=j>>2;g=f+1|0;if(g>>>0>=1073741824){break e}l=f<<2;d=d-e|0;f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(g){if(g>>>0>=1073741824){break b}d=pa(g<<2)}else{d=0}f=l+d|0;H[f>>2]=i;d=va(d,e,j);H[c+132>>2]=d;H[c+136>>2]=f+4;H[c+140>>2]=d+(g<<2);if(!e){break f}oa(e)}b=b+1|0;if(b>>>0<(H[a+220>>2]-H[a+216>>2]|0)/144>>>0){continue}break d}break}sa();v()}b=0;c=H[a+216>>2];if((c|0)==H[a+220>>2]){break d}while(1){c=N(b,144)+c|0;e=H[c+136>>2];d=H[c+140>>2];g:{if(e>>>0>>0){H[e>>2]=i;H[c+136>>2]=e+4;break g}f=e;e=H[c+132>>2];j=f-e|0;f=j>>2;g=f+1|0;if(g>>>0>=1073741824){break c}l=f<<2;d=d-e|0;f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(g){if(g>>>0>=1073741824){break b}d=pa(g<<2)}else{d=0}f=l+d|0;H[f>>2]=i;d=va(d,e,j);H[c+132>>2]=d;H[c+136>>2]=f+4;H[c+140>>2]=d+(g<<2);if(!e){break g}oa(e)}b=b+1|0;c=H[a+216>>2];if(b>>>0<(H[a+220>>2]-c|0)/144>>>0){continue}break}}k=k+1|0;if((k|0)!=3){continue}break}ca=h+16|0;return 1}sa();v()}wa();v()}function vg(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,l=0,m=0,n=0,o=0;m=ca-16|0;ca=m;l=H[b+80>>2];e=I[c+24|0];a=N(l,e);a:{b:{c:{d:{b=H[c+28>>2];if(!(!I[c+84|0]|(b|0)!=1&(b|0)!=2)){b=H[c+48>>2];c=H[H[c>>2]>>2];H[m+8>>2]=0;H[m>>2]=0;H[m+4>>2]=0;if(a){if((a|0)<0){break d}f=pa(a);h=qa(f,b+c|0,a)+a|0}a=H[d>>2];if(a){H[d+4>>2]=a;oa(a)}H[d+8>>2]=h;H[d+4>>2]=h;H[d>>2]=f;b=1;break a}if(e){f=pa(e);ra(f,0,e)}e:{i=H[d+4>>2];b=H[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=H[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=ra(i,0,k)+k|0,H[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=pa(i);ra(j+g|0,0,k);g=va(j,b,g);H[d+8>>2]=g+i;H[d+4>>2]=a+g;H[d>>2]=g;if(!b){break f}oa(b);break f}if(a>>>0>=g>>>0){break f}H[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!ic(c,I[c+84|0]?a:H[H[c+68>>2]+(a<<2)>>2],F[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!ic(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){F[H[d>>2]+h|0]=I[a+f|0];F[(H[d>>2]+h|0)+1|0]=I[(a|1)+f|0];F[(H[d>>2]+h|0)+2|0]=I[(a|2)+f|0];F[(H[d>>2]+h|0)+3|0]=I[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){F[H[d>>2]+h|0]=I[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}sa();v()}sa();v()}if(!f){break a}}oa(f)}ca=m+16|0;return b&1}function ug(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,l=0,m=0,n=0,o=0;m=ca-16|0;ca=m;l=H[b+80>>2];e=I[c+24|0];a=N(l,e);a:{b:{c:{d:{b=H[c+28>>2];if(!(!I[c+84|0]|(b|0)!=1&(b|0)!=2)){b=H[c+48>>2];c=H[H[c>>2]>>2];H[m+8>>2]=0;H[m>>2]=0;H[m+4>>2]=0;if(a){if((a|0)<0){break d}f=pa(a);h=qa(f,b+c|0,a)+a|0}a=H[d>>2];if(a){H[d+4>>2]=a;oa(a)}H[d+8>>2]=h;H[d+4>>2]=h;H[d>>2]=f;b=1;break a}if(e){f=pa(e);ra(f,0,e)}e:{i=H[d+4>>2];b=H[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=H[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=ra(i,0,k)+k|0,H[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=pa(i);ra(j+g|0,0,k);g=va(j,b,g);H[d+8>>2]=g+i;H[d+4>>2]=a+g;H[d>>2]=g;if(!b){break f}oa(b);break f}if(a>>>0>=g>>>0){break f}H[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!hc(c,I[c+84|0]?a:H[H[c+68>>2]+(a<<2)>>2],F[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!hc(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){F[H[d>>2]+h|0]=I[a+f|0];F[(H[d>>2]+h|0)+1|0]=I[(a|1)+f|0];F[(H[d>>2]+h|0)+2|0]=I[(a|2)+f|0];F[(H[d>>2]+h|0)+3|0]=I[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){F[H[d>>2]+h|0]=I[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}sa();v()}sa();v()}if(!f){break a}}oa(f)}ca=m+16|0;return b&1}function qc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=H[b+16>>2];h=H[c+4>>2]-k|0;e=H[c>>2]-k|0;H[c>>2]=e;f=h;H[c+4>>2]=f;l=H[b+16>>2];f=f>>31;g=(h^f)-f|0;f=e>>31;m=l>>>0>=g+((f^e)-f|0)>>>0;a:{if(m){f=h;break a}b:{c:{if((e|0)>=0){g=1;j=1;if((h|0)>=0){break b}i=1;g=-1;j=-1;if(e){break c}break b}i=-1;g=-1;j=-1;if((h|0)<=0){break b}}g=(h|0)<=0?-1:1;j=i}n=N(j,l);f=(e<<1)-n|0;i=(N(g,j)|0)>=0;e=N(g,l);f=((i?0-f|0:f)+e|0)/2|0;H[c+4>>2]=f;e=(h<<1)-e|0;e=((i?0-e|0:e)+n|0)/2|0;H[c>>2]=e}d:{e:{f:{g:{h:{i:{j:{if(e){if((e|0)<0){break j}if((f|0)>=0){break i}break f}if(f){break h}j=1;g=0;f=0;i=0;break d}j=1;if((f|0)>0){break g}i=(f|0)>0?3:0;g=f;f=e;break d}g=0-f|0;f=0-e|0;i=2;break e}if((f|0)<=0){break f}}f=0-f|0;g=e;i=3;break e}g=0-e|0;i=1}H[c>>2]=f;H[c+4>>2]=g;j=0}e=H[d>>2]+f|0;h=H[b+16>>2];k:{if((e|0)>(h|0)){e=e-H[b+4>>2]|0;break k}if((0-h|0)<=(e|0)){break k}e=H[b+4>>2]+e|0}c=H[d+4>>2]+g|0;l:{if((h|0)<(c|0)){c=c-H[b+4>>2]|0;break l}if((0-h|0)<=(c|0)){break l}c=H[b+4>>2]+c|0}m:{if(j){b=c;break m}b=c;n:{o:{p:{d=4-i|0;switch((d>>>0<4?d:0-i|0)-1|0){case 2:break n;case 1:break o;case 0:break p;default:break m}}b=0-e|0;e=c;break m}b=0-c|0;e=0-e|0;break m}b=e;e=0-c|0}q:{if(m){c=b;break q}r:{s:{if((e|0)>=0){c=1;f=1;if((b|0)>=0){break r}d=1;c=-1;f=-1;if(e){break s}break r}d=-1;c=-1;f=-1;if((b|0)<=0){break r}}c=(b|0)<=0?-1:1;f=d}d=e<<1;e=N(f,h);d=d-e|0;f=(N(c,f)|0)>=0;g=f?0-d|0:d;d=N(c,h);c=(g+d|0)/2|0;b=(b<<1)-d|0;e=(e+(f?0-b|0:b)|0)/2|0}b=a;H[b>>2]=e+k;H[b+4>>2]=c+k}function Cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=ca-32|0;ca=j;H[j+28>>2]=0;a:{b:{if(J[b+38>>1]<=513){c=H[b+20>>2];d=H[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;h=H[b+12>>2];if(K[b+8>>2]>>0&(h|0)<=(c|0)|(c|0)>(h|0)){break a}d=d+H[b>>2]|0;f=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;break b}if(!Xa(1,j+28|0,b)){break a}f=H[j+28>>2]}if(!f){break a}c=H[H[a+48>>2]+64>>2];if(H[c+4>>2]-H[c>>2]>>2>>>0>>0){break a}Wa(a+76|0,f);c=j+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c:{if(!ta(c,b)){break c}h=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^h;if(e&1){d=H[g>>2]&(d^-1)}else{d=d|H[g>>2]}h=e^1;H[g>>2]=d;i=i+1|0;if((f|0)!=(i|0)){continue}break}c=H[b+8>>2];e=H[b+12>>2];g=e;e=H[b+20>>2];h=e;f=H[b+16>>2];d=f+4|0;e=d>>>0<4?e+1|0:e;i=d;if(d>>>0>c>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break c}l=H[b>>2];d=l+f|0;k=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=i;H[b+20>>2]=e;d=c;c=h;e=f+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=i+l|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;if((d|0)<(k|0)){break c}H[a+16>>2]=d;H[a+12>>2]=k;c=(d>>31)-((k>>31)+(d>>>0>>0)|0)|0;b=d-k|0;if(!c&b>>>0>2147483646|c){break c}m=1;c=b+1|0;H[a+20>>2]=c;b=c>>>1|0;H[a+24>>2]=b;H[a+28>>2]=0-b;if(c&1){break c}H[a+24>>2]=b-1}}ca=j+32|0;return m|0}function lj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=ca-32|0;ca=j;H[j+28>>2]=0;a:{b:{if(J[b+38>>1]<=513){c=H[b+20>>2];d=H[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;h=H[b+12>>2];if(K[b+8>>2]>>0&(h|0)<=(c|0)|(c|0)>(h|0)){break a}d=d+H[b>>2]|0;f=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;break b}if(!Xa(1,j+28|0,b)){break a}f=H[j+28>>2]}if(!f){break a}c=H[a+48>>2];if(H[c+4>>2]-H[c>>2]>>2>>>0>>0){break a}Wa(a+76|0,f);c=j+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c:{if(!ta(c,b)){break c}h=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^h;if(e&1){d=H[g>>2]&(d^-1)}else{d=d|H[g>>2]}h=e^1;H[g>>2]=d;i=i+1|0;if((f|0)!=(i|0)){continue}break}c=H[b+8>>2];e=H[b+12>>2];g=e;e=H[b+20>>2];h=e;f=H[b+16>>2];d=f+4|0;e=d>>>0<4?e+1|0:e;i=d;if(d>>>0>c>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break c}l=H[b>>2];d=l+f|0;k=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=i;H[b+20>>2]=e;d=c;c=h;e=f+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=i+l|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;if((d|0)<(k|0)){break c}H[a+16>>2]=d;H[a+12>>2]=k;c=(d>>31)-((k>>31)+(d>>>0>>0)|0)|0;b=d-k|0;if(!c&b>>>0>2147483646|c){break c}m=1;c=b+1|0;H[a+20>>2]=c;b=c>>>1|0;H[a+24>>2]=b;H[a+28>>2]=0-b;if(c&1){break c}H[a+24>>2]=b-1}}ca=j+32|0;return m|0}function cj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;H[a+8>>2]=e;m=a+32|0;h=H[m>>2];g=H[a+36>>2]-h>>2;a:{if(g>>>0>>0){ya(m,e-g|0);f=H[a+8>>2];break a}f=e;if(f>>>0>=g>>>0){break a}H[a+36>>2]=h+(e<<2);f=e}g=e>>>0>1073741823?-1:e<<2;n=ra(pa(g),0,g);b:{if((f|0)<=0){break b}h=H[a+32>>2];while(1){f=i<<2;g=H[f+n>>2];j=H[a+16>>2];c:{if((g|0)>(j|0)){H[f+h>>2]=j;break c}f=f+h|0;j=H[a+12>>2];if((j|0)>(g|0)){H[f>>2]=j;break c}H[f>>2]=g}f=H[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}if((f|0)<=0){break b}i=0;while(1){g=i<<2;f=g+c|0;g=H[b+g>>2]+H[g+h>>2]|0;H[f>>2]=g;d:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break d}g=g+H[a+20>>2]|0}H[f>>2]=g}f=H[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}if(!((d|0)<=(e|0)|(f|0)<=0)){p=0-e<<2;g=e;while(1){e:{if((f|0)<=0){break e}l=g<<2;o=l+c|0;q=o+p|0;j=H[m>>2];i=0;while(1){f=i<<2;h=H[f+q>>2];k=H[a+16>>2];f:{if((h|0)>(k|0)){H[f+j>>2]=k;break f}f=f+j|0;k=H[a+12>>2];if((k|0)>(h|0)){H[f>>2]=k;break f}H[f>>2]=h}f=H[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}i=0;if((f|0)<=0){break e}l=b+l|0;while(1){h=i<<2;f=h+o|0;h=H[h+l>>2]+H[h+j>>2]|0;H[f>>2]=h;g:{if((h|0)>H[a+16>>2]){h=h-H[a+20>>2]|0}else{if((h|0)>=H[a+12>>2]){break g}h=h+H[a+20>>2]|0}H[f>>2]=h}f=H[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}g=e+g|0;if((g|0)<(d|0)){continue}break}}oa(n);return 1}function De(a,b){var c=0,d=0,e=0,f=0,g=0;d=-1;f=-1;a:{if((b|0)==-1){break a}c=b+1|0;d=(c>>>0)%3|0?c:b-2|0;f=b-1|0;if((b>>>0)%3|0){break a}f=b+2|0}b:{c:{d:{e:{f:{g:{e=H[a+184>>2];switch(e|0){case 7:break d;case 3:break e;case 5:break f;case 0:case 1:break g;default:break b}}g=H[a+148>>2];c=-1;e=1;d=((d|0)!=-1?H[H[g>>2]+(d<<2)>>2]:c)<<2;c=H[a+156>>2];d=d+c|0;H[d>>2]=H[d>>2]+1;c=(((f|0)==-1?-1:H[H[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=H[a+148>>2];c=H[a+156>>2];e=c+(((b|0)==-1?-1:H[H[g>>2]+(b<<2)>>2])<<2)|0;H[e>>2]=H[e>>2]+1;d=(((d|0)==-1?-1:H[H[g>>2]+(d<<2)>>2])<<2)+c|0;H[d>>2]=H[d>>2]+1;e=2;c=(((f|0)==-1?-1:H[H[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=H[a+148>>2];c=H[a+156>>2];e=c+(((b|0)==-1?-1:H[H[g>>2]+(b<<2)>>2])<<2)|0;H[e>>2]=H[e>>2]+1;d=(((d|0)==-1?-1:H[H[g>>2]+(d<<2)>>2])<<2)+c|0;H[d>>2]=H[d>>2]+2;e=1;c=(((f|0)==-1?-1:H[H[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=H[a+148>>2];c=H[a+156>>2];e=c+(((b|0)==-1?-1:H[H[g>>2]+(b<<2)>>2])<<2)|0;H[e>>2]=H[e>>2]+2;d=(((d|0)==-1?-1:H[H[g>>2]+(d<<2)>>2])<<2)+c|0;H[d>>2]=H[d>>2]+2;e=2;c=(((f|0)==-1?-1:H[H[g>>2]+(f<<2)>>2])<<2)+c|0}H[c>>2]=H[c>>2]+e;e=H[a+184>>2]}h:{switch(e|0){case 0:case 5:f=H[a+156>>2];c=-1;i:{if((b|0)==-1){break i}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;c=-1;if((b|0)==-1){break i}c=H[H[H[a+148>>2]>>2]+(b<<2)>>2]}if(H[f+(c<<2)>>2]<=5){H[a+188>>2]=5;return}H[a+188>>2]=0;return;default:break h}}H[a+188>>2]=-1}function xg(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,l=0,m=0,n=0,o=0;j=H[b+80>>2];b=I[c+24|0];g=N(j,b);a:{if(!b){break a}h=b<<2;f=pa(h);a=f;k=b&7;if(k){while(1){H[a>>2]=-1073741824;a=a+4|0;e=e+1|0;if((k|0)!=(e|0)){continue}break}}if((b-1&1073741823)>>>0<7){break a}e=f+h|0;while(1){H[a+24>>2]=-1073741824;H[a+28>>2]=-1073741824;H[a+16>>2]=-1073741824;H[a+20>>2]=-1073741824;H[a+8>>2]=-1073741824;H[a+12>>2]=-1073741824;H[a>>2]=-1073741824;H[a+4>>2]=-1073741824;a=a+32|0;if((e|0)!=(a|0)){continue}break}}e=H[d>>2];a=H[d+4>>2]-e>>2;b:{if(a>>>0>>0){ya(d,g-a|0);break b}if(a>>>0<=g>>>0){break b}H[d+4>>2]=e+(g<<2)}c:{d:{e:{if(!j){i=1;break e}if(!b){a=0;while(1){if(!Va(c,I[c+84|0]?a:H[H[c+68>>2]+(a<<2)>>2],F[c+24|0],f)){break e}a=a+1|0;i=j>>>0<=a>>>0;if((a|0)!=(j|0)){continue}break}break e}n=b&252;k=b&3;o=b>>>0<4;e=0;b=0;while(1){if(!Va(c,I[c+84|0]?b:H[H[c+68>>2]+(b<<2)>>2],F[c+24|0],f)){break e}m=H[d>>2];i=0;a=0;l=0;if(!o){while(1){g=(e<<2)+m|0;h=a<<2;L[g>>2]=L[h+f>>2];L[g+4>>2]=L[(h|4)+f>>2];L[g+8>>2]=L[(h|8)+f>>2];L[g+12>>2]=L[(h|12)+f>>2];a=a+4|0;e=e+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(k){while(1){L[(e<<2)+m>>2]=L[(a<<2)+f>>2];a=a+1|0;e=e+1|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}}b=b+1|0;i=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break d}if(!f){break c}}oa(f)}return i|0}function mf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=ca-16|0;ca=e;h=1;i=ea[H[H[a>>2]+24>>2]](a)|0;a:{if((i|0)<=0){break a}l=a+48|0;h=0;while(1){b:{c:{if(!H[(ea[H[H[a>>2]+28>>2]](a)|0)+40>>2]){break c}j=f<<2;g=H[j+H[a+36>>2]>>2];b=H[g+8>>2];k=rb(g);if(!k){break c}g=H[(ea[H[H[a>>2]+28>>2]](a)|0)+40>>2];H[e+12>>2]=H[b+56>>2];b=pa(32);H[e>>2]=b;H[e+4>>2]=24;H[e+8>>2]=-2147483616;c=I[1206]|I[1207]<<8|(I[1208]<<16|I[1209]<<24);d=I[1202]|I[1203]<<8|(I[1204]<<16|I[1205]<<24);F[b+16|0]=d;F[b+17|0]=d>>>8;F[b+18|0]=d>>>16;F[b+19|0]=d>>>24;F[b+20|0]=c;F[b+21|0]=c>>>8;F[b+22|0]=c>>>16;F[b+23|0]=c>>>24;c=I[1198]|I[1199]<<8|(I[1200]<<16|I[1201]<<24);d=I[1194]|I[1195]<<8|(I[1196]<<16|I[1197]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1190]|I[1191]<<8|(I[1192]<<16|I[1193]<<24);d=I[1186]|I[1187]<<8|(I[1188]<<16|I[1189]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;F[b+24|0]=0;b=sd(g,e+12|0,e);if(F[e+11|0]<0){oa(H[e>>2])}if(!b){break c}oe(H[H[H[a+36>>2]+j>>2]+8>>2],k);break b}b=H[H[a+36>>2]+(f<<2)>>2];if(!(ea[H[H[b>>2]+24>>2]](b,l)|0)){break a}}f=f+1|0;h=(i|0)<=(f|0);if((f|0)!=(i|0)){continue}break}}ca=e+16|0;return h|0}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=ca-16|0;ca=k;c=H[b+20>>2];d=H[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=H[b+12>>2];a:{if(K[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){break a}d=d+H[b>>2]|0;h=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;if((h|0)<0){break a}Wa(a+76|0,h);c=k;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;b:{if(!ta(c,b)){break b}if(h){g=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^g;if(e&1){d=H[f>>2]&(d^-1)}else{d=d|H[f>>2]}g=e^1;H[f>>2]=d;i=i+1|0;if((h|0)!=(i|0)){continue}break}}i=0;c=H[b+8>>2];e=H[b+12>>2];f=e;e=H[b+20>>2];g=e;l=H[b+16>>2];d=l+4|0;e=d>>>0<4?e+1|0:e;h=d;if(d>>>0>c>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break b}m=H[b>>2];d=m+l|0;j=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=h;H[b+20>>2]=e;d=c;c=g;e=l+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break b}d=h+m|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;if((d|0)<(j|0)){break b}H[a+16>>2]=d;H[a+12>>2]=j;c=(d>>31)-((j>>31)+(d>>>0>>0)|0)|0;b=d-j|0;if(!c&b>>>0>2147483646|c){break b}i=1;c=b+1|0;H[a+20>>2]=c;b=c>>>1|0;H[a+24>>2]=b;H[a+28>>2]=0-b;if(c&1){break b}H[a+24>>2]=b-1}}ca=k+16|0;return i|0}function rg(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,l=0,m=0,n=0,o=0,p=0;a=0;k=ca-16|0;ca=k;j=H[b+80>>2];e=I[c+24|0];b=N(j,e);a:{b:{c:{d:{f=H[c+28>>2];if(!(!I[c+84|0]|(f|0)!=5&(f|0)!=6)){e=H[c+48>>2];c=H[H[c>>2]>>2];H[k+8>>2]=0;H[k>>2]=0;H[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=pa(b);g=qa(a,c+e|0,b)+b|0}b=H[d>>2];if(b){H[d+4>>2]=b;oa(b)}H[d+8>>2]=g;H[d+4>>2]=g;H[d>>2]=a;h=1;break a}if(e){f=e<<2;a=pa(f);ra(a,0,f)}i=H[d>>2];f=H[d+4>>2]-i>>2;e:{if(f>>>0>>0){ya(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}H[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!dc(c,I[c+84|0]?b:H[H[c+68>>2]+(b<<2)>>2],F[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!dc(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],a)){break c}n=H[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;H[f>>2]=H[i+a>>2];H[f+4>>2]=H[(i|4)+a>>2];H[f+8>>2]=H[(i|8)+a>>2];H[f+12>>2]=H[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){H[(g<<2)+n>>2]=H[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}sa();v()}if(!a){break a}}oa(a)}ca=k+16|0;return h|0}function ge(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,l=0,m=0,n=0,o=0,p=0;a=0;k=ca-16|0;ca=k;j=H[b+80>>2];e=I[c+24|0];b=N(j,e);a:{b:{c:{d:{f=H[c+28>>2];if(!(!I[c+84|0]|(f|0)!=5&(f|0)!=6)){e=H[c+48>>2];c=H[H[c>>2]>>2];H[k+8>>2]=0;H[k>>2]=0;H[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=pa(b);g=qa(a,c+e|0,b)+b|0}b=H[d>>2];if(b){H[d+4>>2]=b;oa(b)}H[d+8>>2]=g;H[d+4>>2]=g;H[d>>2]=a;h=1;break a}if(e){f=e<<2;a=pa(f);ra(a,0,f)}i=H[d>>2];f=H[d+4>>2]-i>>2;e:{if(f>>>0>>0){ya(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}H[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!ec(c,I[c+84|0]?b:H[H[c+68>>2]+(b<<2)>>2],F[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!ec(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],a)){break c}n=H[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;H[f>>2]=H[i+a>>2];H[f+4>>2]=H[(i|4)+a>>2];H[f+8>>2]=H[(i|8)+a>>2];H[f+12>>2]=H[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){H[(g<<2)+n>>2]=H[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}sa();v()}if(!a){break a}}oa(a)}ca=k+16|0;return h|0}function tg(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,l=0,m=0,n=0,o=0,p=0;a=0;k=ca-16|0;ca=k;j=H[b+80>>2];e=I[c+24|0];b=N(j,e);a:{b:{c:{d:{f=H[c+28>>2];if(!(!I[c+84|0]|(f|0)!=3&(f|0)!=4)){e=H[c+48>>2];c=H[H[c>>2]>>2];H[k+8>>2]=0;H[k>>2]=0;H[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=pa(b);g=qa(a,c+e|0,b)+b|0}b=H[d>>2];if(b){H[d+4>>2]=b;oa(b)}H[d+8>>2]=g;H[d+4>>2]=g;H[d>>2]=a;h=1;break a}if(e){f=e<<1;a=pa(f);ra(a,0,f)}i=H[d>>2];f=H[d+4>>2]-i>>1;e:{if(f>>>0>>0){qe(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}H[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!gc(c,I[c+84|0]?b:H[H[c+68>>2]+(b<<2)>>2],F[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!gc(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],a)){break c}n=H[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;G[f>>1]=J[i+a>>1];G[f+2>>1]=J[(i|2)+a>>1];G[f+4>>1]=J[(i|4)+a>>1];G[f+6>>1]=J[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){G[(g<<1)+n>>1]=J[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}sa();v()}if(!a){break a}}oa(a)}ca=k+16|0;return h|0}function sg(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,l=0,m=0,n=0,o=0,p=0;a=0;k=ca-16|0;ca=k;j=H[b+80>>2];e=I[c+24|0];b=N(j,e);a:{b:{c:{d:{f=H[c+28>>2];if(!(!I[c+84|0]|(f|0)!=3&(f|0)!=4)){e=H[c+48>>2];c=H[H[c>>2]>>2];H[k+8>>2]=0;H[k>>2]=0;H[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=pa(b);g=qa(a,c+e|0,b)+b|0}b=H[d>>2];if(b){H[d+4>>2]=b;oa(b)}H[d+8>>2]=g;H[d+4>>2]=g;H[d>>2]=a;h=1;break a}if(e){f=e<<1;a=pa(f);ra(a,0,f)}i=H[d>>2];f=H[d+4>>2]-i>>1;e:{if(f>>>0>>0){qe(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}H[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!fc(c,I[c+84|0]?b:H[H[c+68>>2]+(b<<2)>>2],F[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!fc(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],a)){break c}n=H[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;G[f>>1]=J[i+a>>1];G[f+2>>1]=J[(i|2)+a>>1];G[f+4>>1]=J[(i|4)+a>>1];G[f+6>>1]=J[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){G[(g<<1)+n>>1]=J[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}sa();v()}if(!a){break a}}oa(a)}ca=k+16|0;return h|0}function Ce(a,b){var c=0,d=0,e=0,f=0,g=0;f=-1;d=-1;a:{if((b|0)==-1){break a}d=b+1|0;f=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}b:{c:{d:{switch(H[a+168>>2]){case 0:case 1:e=H[a+148>>2];c=1;b=H[a+156>>2];g=b+(((f|0)==-1?-1:H[H[e>>2]+(f<<2)>>2])<<2)|0;H[g>>2]=H[g>>2]+1;b=(((d|0)==-1?-1:H[H[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 5:e=H[a+148>>2];c=-1;c=((b|0)!=-1?H[H[e>>2]+(b<<2)>>2]:c)<<2;b=H[a+156>>2];c=c+b|0;H[c>>2]=H[c>>2]+1;c=(((f|0)==-1?-1:H[H[e>>2]+(f<<2)>>2])<<2)+b|0;H[c>>2]=H[c>>2]+1;c=2;b=(((d|0)==-1?-1:H[H[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 3:e=H[a+148>>2];c=-1;c=((b|0)!=-1?H[H[e>>2]+(b<<2)>>2]:c)<<2;b=H[a+156>>2];c=c+b|0;H[c>>2]=H[c>>2]+1;c=(((f|0)==-1?-1:H[H[e>>2]+(f<<2)>>2])<<2)+b|0;H[c>>2]=H[c>>2]+2;c=1;b=(((d|0)==-1?-1:H[H[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 7:break d;default:break b}}e=H[a+148>>2];c=-1;c=((b|0)!=-1?H[H[e>>2]+(b<<2)>>2]:c)<<2;b=H[a+156>>2];c=c+b|0;H[c>>2]=H[c>>2]+2;c=(((f|0)==-1?-1:H[H[e>>2]+(f<<2)>>2])<<2)+b|0;H[c>>2]=H[c>>2]+2;c=2;b=(((d|0)==-1?-1:H[H[e>>2]+(d<<2)>>2])<<2)+b|0}H[b>>2]=H[b>>2]+c}c=a;b=H[H[a+156>>2]+(((f|0)==-1?-1:H[H[H[a+148>>2]>>2]+(f<<2)>>2])<<2)>>2];d=H[a+180>>2];a=H[a+176>>2];H[c+172>>2]=(a|0)<=(b|0)?((b|0)<(d|0)?b:d)-a|0:0}function Ac(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;H[a+24>>2]=0;f=H[b+4>>2];g=H[b>>2];e=f-g|0;c=(e|0)/20|0;a:{if((f|0)==(g|0)){break a}b:{if(c>>>0<214748365){f=pa(e);H[a+20>>2]=f;H[a+16>>2]=f;H[a+24>>2]=f+N(c,20);c=H[b>>2];g=H[b+4>>2];if((c|0)==(g|0)){break a}b=f;while(1){e=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=e;H[b+16>>2]=H[c+16>>2];e=H[c+12>>2];H[b+8>>2]=H[c+8>>2];H[b+12>>2]=e;b=b+20|0;c=c+20|0;if((g|0)!=(c|0)){continue}break}g=0;H[a+28>>2]=0;H[a+20>>2]=b;if((b|0)!=(f|0)){b=(b-f|0)/20|0;e=b>>>0<=1?1:b;h=e&3;b=0;c=0;if(e-1>>>0>=3){i=e&-4;e=0;while(1){d=f+N(b,20)|0;d=N(H[d+16>>2],H[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+N(b|1,20)|0;d=N(H[d+16>>2],H[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+N(b|2,20)|0;d=N(H[d+16>>2],H[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+N(b|3,20)|0;d=N(H[d+16>>2],H[d+12>>2]);c=c>>>0>d>>>0?c:d;b=b+4|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}if(h){while(1){e=f+N(b,20)|0;e=N(H[e+16>>2],H[e+12>>2]);c=c>>>0>e>>>0?c:e;b=b+1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}if(!c){H[a+12>>2]=0;return a}if((c|0)<0){break b}g=pa(c);b=ra(g,0,c);f=b+c|0;H[a+8>>2]=f;H[a+4>>2]=f;H[a>>2]=b}H[a+12>>2]=g;return a}sa();v()}sa();v()}H[a+28>>2]=0;H[a+12>>2]=0;return a}function Dh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b=H[a+32>>2];f=H[b+8>>2];h=H[b+12>>2];g=H[b+20>>2];c=H[b+16>>2];e=0;b:{if((h|0)<=(g|0)&c>>>0>=f>>>0|(g|0)>(h|0)){break b}f=I[H[b>>2]+c|0];e=b;b=g;c=c+1|0;b=c?b:b+1|0;H[e+16>>2]=c;H[e+20>>2]=b;c:{if(!f){break c}while(1){if(ea[H[H[a>>2]+16>>2]](a,d)|0){d=d+1|0;if((f|0)!=(d|0)){continue}break c}break}return 0}d=H[a+8>>2];b=H[a+12>>2];if((d|0)!=(b|0)){while(1){c=H[d>>2];if(!(ea[H[H[c>>2]+8>>2]](c,a,H[a+4>>2])|0)){break a}d=d+4|0;if((b|0)!=(d|0)){continue}break}}d:{if(!f){break d}d=0;while(1){b=H[H[a+8>>2]+(d<<2)>>2];if(!(ea[H[H[b>>2]+12>>2]](b,H[a+32>>2])|0)){break a}d=d+1|0;if((f|0)!=(d|0)){continue}break}if(!f){break d}i=a+20|0;b=0;while(1){d=0;j=b<<2;c=H[j+H[a+8>>2]>>2];k=ea[H[H[c>>2]+24>>2]](c)|0;if((k|0)>0){while(1){c=H[H[a+8>>2]+j>>2];c=ea[H[H[c>>2]+20>>2]](c,d)|0;e=H[a+20>>2];g=H[a+24>>2]-e>>2;e:{if(c>>>0>>0){break e}h=c+1|0;if(h>>>0>g>>>0){ya(i,h-g|0);e=H[i>>2];break e}if(g>>>0<=h>>>0){break e}H[a+24>>2]=(h<<2)+e}H[(c<<2)+e>>2]=b;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}}e=0;if(!(ea[H[H[a>>2]+28>>2]](a)|0)){break b}e=ea[H[H[a>>2]+32>>2]](a)|0}return e|0}return 0}function ta(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=ca-16|0;ca=i;f=H[b+20>>2];d=H[b+12>>2];c=H[b+16>>2];a:{if((f|0)>=(d|0)&c>>>0>=K[b+8>>2]|(d|0)<(f|0)){break a}F[a+12|0]=I[c+H[b>>2]|0];c=H[b+20>>2];g=c;f=H[b+16>>2];e=f+1|0;c=e?c:c+1|0;H[b+16>>2]=e;H[b+20>>2]=c;b:{if(J[b+38>>1]<=513){d=H[b+8>>2];c=H[b+12>>2];h=c;c=g;f=f+5|0;c=f>>>0<5?c+1|0:c;if(d>>>0>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}e=e+H[b>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=c;break b}if(!Qe(1,i+12|0,b)){break a}f=H[b+16>>2];c=H[b+20>>2];d=H[b+8>>2];h=H[b+12>>2];e=H[i+12>>2]}g=d-f|0;d=h-(c+(d>>>0>>0)|0)|0;if((d|0)<=0&e>>>0>g>>>0|(d|0)<0|(e|0)<=0){break a}j=H[b>>2]+f|0;H[a>>2]=j;c:{d:{h=e-1|0;g=h+j|0;d=I[g|0];e:{if(d>>>0<=63){H[a+4>>2]=h;g=I[g|0]&63;break e}f:{switch((d>>>6|0)-1|0){case 1:break d;case 0:break f;default:break a}}if(e>>>0<2){break a}d=e-2|0;H[a+4>>2]=d;d=d+j|0;g=I[d+1|0]<<8&16128|I[d|0]}H[a+8>>2]=g+4096;break c}if(e>>>0<3){break a}d=e-3|0;H[a+4>>2]=d;g=a;a=d+j|0;a=I[a+1|0]<<8|I[a+2|0]<<16&4128768|I[a|0];H[g+8>>2]=a+4096;if(a>>>0>1044479){break a}}a=e+f|0;c=a>>>0>>0?c+1|0:c;H[b+16>>2]=a;H[b+20>>2]=c;k=1}ca=i+16|0;return k}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Xd(a,b,c);c=H[a+84>>2];d=H[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=H[a+92>>2];c=H[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;e=d&7;if(e){while(1){H[b>>2]=1;b=b+4|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){H[b+24>>2]=1;H[b+28>>2]=1;H[b+16>>2]=1;H[b+20>>2]=1;H[b+8>>2]=1;H[b+12>>2]=1;H[b>>2]=1;H[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}H[a+88>>2]=c;break b}d:{b=c;c=H[a+84>>2];i=b-c|0;g=i>>2;b=g+d|0;if(b>>>0<1073741824){e=e-c|0;h=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>>0?h:b;if(e){if(e>>>0>=1073741824){break d}j=pa(e<<2)}g=(g<<2)+j|0;b=g;h=d&7;if(h){while(1){H[b>>2]=1;b=b+4|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=g+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){H[b+24>>2]=1;H[b+28>>2]=1;H[b+16>>2]=1;H[b+20>>2]=1;H[b+8>>2]=1;H[b+12>>2]=1;H[b>>2]=1;H[b+4>>2]=1;b=b+32|0;if((f|0)!=(b|0)){continue}break}}b=va(j,c,i);H[a+88>>2]=f;H[a+84>>2]=b;H[a+92>>2]=b+(e<<2);if(c){oa(c)}break b}sa();v()}wa();v()}return}if(b>>>0>=d>>>0){break a}H[a+88>>2]=c+(b<<2)}}function qb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=H[a+8>>2];e=H[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){H[d>>2]=H[c>>2];d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){H[d>>2]=H[c>>2];H[d+4>>2]=H[c>>2];H[d+8>>2]=H[c>>2];H[d+12>>2]=H[c>>2];H[d+16>>2]=H[c>>2];H[d+20>>2]=H[c>>2];H[d+24>>2]=H[c>>2];H[d+28>>2]=H[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}H[a+4>>2]=e;return}b:{i=H[a>>2];f=e-i>>2;h=f+b|0;if(h>>>0<1073741824){j=d-i|0;d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break b}k=pa(h<<2)}f=(f<<2)+k|0;d=f;j=b&7;if(j){while(1){H[d>>2]=H[c>>2];d=d+4|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}g=(b<<2)+f|0;if((b-1&1073741823)>>>0>=7){while(1){H[d>>2]=H[c>>2];H[d+4>>2]=H[c>>2];H[d+8>>2]=H[c>>2];H[d+12>>2]=H[c>>2];H[d+16>>2]=H[c>>2];H[d+20>>2]=H[c>>2];H[d+24>>2]=H[c>>2];H[d+28>>2]=H[c>>2];d=d+32|0;if((g|0)!=(d|0)){continue}break}}if((e|0)!=(i|0)){while(1){f=f-4|0;e=e-4|0;H[f>>2]=H[e>>2];if((e|0)!=(i|0)){continue}break}}H[a+8>>2]=(h<<2)+k;H[a+4>>2]=g;H[a>>2]=f;if(i){oa(i)}return}sa();v()}wa();v()}function Kc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=H[a+8>>2];e=H[a>>2];if(d-e>>2>>>0>=b>>>0){f=H[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){H[d>>2]=H[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){H[d>>2]=H[c>>2];H[d+4>>2]=H[c>>2];H[d+8>>2]=H[c>>2];H[d+12>>2]=H[c>>2];H[d+16>>2]=H[c>>2];H[d+20>>2]=H[c>>2];H[d+24>>2]=H[c>>2];H[d+28>>2]=H[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){H[f>>2]=H[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}H[a+4>>2]=b;return}H[a+4>>2]=e+(b<<2);return}if(e){H[a+4>>2]=e;oa(e);H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=pa(d);H[a>>2]=e;H[a+8>>2]=d+e;c=H[c>>2];d=e;g=b&7;if(g){while(1){H[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){H[d+28>>2]=c;H[d+24>>2]=c;H[d+20>>2]=c;H[d+16>>2]=c;H[d+12>>2]=c;H[d+8>>2]=c;H[d+4>>2]=c;H[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}H[a+4>>2]=e;return}sa();v()}function Me(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=ca-16|0;ca=h;a:{b:{if(J[b+38>>1]<=511){e=H[b+8>>2];c=H[b+12>>2];i=c;f=H[b+20>>2];d=H[b+16>>2];g=d+8|0;f=g>>>0<8?f+1|0:f;if(e>>>0>>0&(c|0)<=(f|0)|(c|0)<(f|0)){break a}d=d+H[b>>2]|0;c=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=I[d+4|0]|I[d+5|0]<<8|(I[d+6|0]<<16|I[d+7|0]<<24);H[b+16>>2]=g;H[b+20>>2]=f;break b}if(!gb(1,h+8|0,b)){break a}g=H[b+16>>2];f=H[b+20>>2];e=H[b+8>>2];i=H[b+12>>2];c=H[h+8>>2];d=H[h+12>>2]}j=e-g|0;e=i-(f+(e>>>0>>0)|0)|0;if((e|0)==(d|0)&c>>>0>j>>>0|d>>>0>e>>>0){break a}e=d+f|0;f=c+g|0;e=f>>>0>>0?e+1|0:e;H[b+16>>2]=f;H[b+20>>2]=e;if((c|0)<=0){break a}b=H[b>>2]+g|0;H[a+40>>2]=b;g=c-1|0;e=b+g|0;f=I[e|0];c:{if(f>>>0<=63){H[a+44>>2]=g;b=I[e|0]&63;break c}d:{switch((f>>>6|0)-1|0){case 0:if(c>>>0<2){break a}c=c-2|0;H[a+44>>2]=c;b=b+c|0;b=I[b+1|0]<<8&16128|I[b|0];break c;case 1:if(c>>>0<3){break a}c=c-3|0;H[a+44>>2]=c;b=b+c|0;b=I[b+1|0]<<8|I[b+2|0]<<16&4128768|I[b|0];break c;default:break d}}c=c-4|0;H[a+44>>2]=c;b=b+c|0;b=(I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24))&1073741823}H[a+48>>2]=b+16384;k=b>>>0<4177920}ca=h+16|0;return k}function Ua(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=(c>>>0)/3|0;j=H[(H[H[a+8>>2]+96>>2]+N(f,12)|0)+(c-N(f,3)<<2)>>2];a:{h=H[H[a+12>>2]+4>>2];e=H[h+4>>2];if((e|0)!=H[h+8>>2]){H[e>>2]=j;H[h+4>>2]=e+4;break a}b:{i=H[h>>2];f=e-i|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){k=g<<2;g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break b}f=pa(g<<2)}else{f=0}d=k+f|0;H[d>>2]=j;j=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;H[d>>2]=H[e>>2];if((e|0)!=(i|0)){continue}break}}H[h+8>>2]=f+(g<<2);H[h+4>>2]=j;H[h>>2]=d;if(i){oa(i)}break a}sa();v()}wa();v()}c:{d:{h=H[a+4>>2];e=H[h+4>>2];e:{if((e|0)!=H[h+8>>2]){H[e>>2]=c;H[h+4>>2]=e+4;break e}i=H[h>>2];f=e-i|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break d}g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break c}f=pa(g<<2)}else{f=0}d=f+(j<<2)|0;H[d>>2]=c;c=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;H[d>>2]=H[e>>2];if((e|0)!=(i|0)){continue}break}}H[h+8>>2]=f+(g<<2);H[h+4>>2]=c;H[h>>2]=d;if(!i){break e}oa(i)}a=H[a+4>>2];H[H[a+12>>2]+(b<<2)>>2]=H[a+24>>2];H[a+24>>2]=H[a+24>>2]+1;return}sa();v()}wa();v()}function Wb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=d-c|0;if((h|0)<=0){return}a:{e=H[a+8>>2];i=H[a+4>>2];if((e-i|0)>=(h|0)){j=i-b|0;if((j|0)>=(h|0)){f=i;g=d;break a}f=i;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){F[f|0]=I[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}H[a+4>>2]=f;if((j|0)>0){break a}return}k=H[a>>2];g=(i-k|0)+h|0;if((g|0)>=0){j=b-k|0;f=e-k|0;e=f<<1;f=f>>>0>=1073741823?2147483647:e>>>0>g>>>0?e:g;if(f){e=pa(f)}else{e=0}g=j+e|0;if((c|0)!=(d|0)){g=qa(g,c,h)+h|0}d=va(e,k,j);c=i-b|0;b=va(g,b,c);H[a+8>>2]=e+f;H[a+4>>2]=b+c;H[a>>2]=d;if(k){oa(k)}return}sa();v()}e=f;d=e-h|0;if(i>>>0>d>>>0){while(1){F[e|0]=I[d|0];e=e+1|0;d=d+1|0;if(i>>>0>d>>>0){continue}break}}H[a+4>>2]=e;a=b+h|0;if((a|0)!=(f|0)){a=f-a|0;va(f-a|0,b,a)}if((c|0)==(g|0)){return}f=(c^-1)+g|0;a=g-c&7;b:{if(!a){e=b;break b}d=0;e=b;while(1){F[e|0]=I[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((a|0)!=(d|0)){continue}break}}if(f>>>0<7){return}while(1){F[e|0]=I[c|0];F[e+1|0]=I[c+1|0];F[e+2|0]=I[c+2|0];F[e+3|0]=I[c+3|0];F[e+4|0]=I[c+4|0];F[e+5|0]=I[c+5|0];F[e+6|0]=I[c+6|0];F[e+7|0]=I[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function qa(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){ba(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){F[c|0]=I[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){H[c>>2]=H[b>>2];H[c+4>>2]=H[b+4>>2];H[c+8>>2]=H[b+8>>2];H[c+12>>2]=H[b+12>>2];H[c+16>>2]=H[b+16>>2];H[c+20>>2]=H[b+20>>2];H[c+24>>2]=H[b+24>>2];H[c+28>>2]=H[b+28>>2];H[c+32>>2]=H[b+32>>2];H[c+36>>2]=H[b+36>>2];H[c+40>>2]=H[b+40>>2];H[c+44>>2]=H[b+44>>2];H[c+48>>2]=H[b+48>>2];H[c+52>>2]=H[b+52>>2];H[c+56>>2]=H[b+56>>2];H[c+60>>2]=H[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){H[c>>2]=H[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){F[c|0]=I[b|0];F[c+1|0]=I[b+1|0];F[c+2|0]=I[b+2|0];F[c+3|0]=I[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){F[c|0]=I[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function ub(a,b){var c=0,d=0,e=0,f=0,g=0;d=ca-16|0;ca=d;H[a+12>>2]=b;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;c=a+16|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;H[a+32>>2]=0;H[a+36>>2]=0;H[a+48>>2]=0;H[a+40>>2]=0;H[a+44>>2]=0;H[a+52>>2]=0;H[a+56>>2]=0;H[a+68>>2]=0;H[a+60>>2]=0;H[a+64>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;H[a+88>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+100>>2]=0;H[a+92>>2]=0;H[a+96>>2]=0;g=a+116|0;a:{b:{if(b){if(b>>>0<1073741824){break b}sa();v()}H[a+104>>2]=0;H[a+108>>2]=0;H[a+112>>2]=0;H[d+8>>2]=0;H[d>>2]=0;H[d+4>>2]=0;c=1;break a}c=b<<2;e=pa(c);H[a+92>>2]=e;f=c+e|0;H[a+100>>2]=f;ra(e,0,c);H[a+112>>2]=0;H[a+104>>2]=0;H[a+108>>2]=0;H[a+96>>2]=f;e=pa(c);H[a+104>>2]=e;f=c+e|0;H[a+112>>2]=f;ra(e,0,c);H[a+108>>2]=f;e=pa(c);H[d>>2]=e;f=c+e|0;H[d+8>>2]=f;ra(e,0,c);H[d+4>>2]=f;c=b<<5|1}tb(g,c,d);e=H[d>>2];if(e){H[d+4>>2]=e;oa(e)}H[d+8>>2]=0;H[d>>2]=0;H[d+4>>2]=0;if(b){b=b<<2;e=pa(b);H[d>>2]=e;f=b+e|0;H[d+8>>2]=f;ra(e,0,b);H[d+4>>2]=f}tb(a+128|0,c,d);b=H[d>>2];if(b){H[d+4>>2]=b;oa(b)}ca=d+16|0;return a}function ze(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;H[a>>2]=11484;d=a+232|0;b=H[d+196>>2];if(b){H[d+200>>2]=b;oa(b)}c=H[d+184>>2];if(c){b=c;e=H[d+188>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=H[b>>2];if(f){H[e-8>>2]=f;oa(f)}e=b;if((b|0)!=(c|0)){continue}break}b=H[d+184>>2]}H[d+188>>2]=c;oa(b)}b=H[d+156>>2];if(b){H[d+160>>2]=b;oa(b)}c=H[d+136>>2];H[d+136>>2]=0;if(c){e=c-4|0;b=H[e>>2];if(b){b=c+(b<<4)|0;while(1){b=b-16|0;if((c|0)!=(b|0)){continue}break}}oa(e)}Yc(a+216|0);b=H[a+196>>2];if(b){H[a+200>>2]=b;oa(b)}b=H[a+184>>2];if(b){H[a+188>>2]=b;oa(b)}b=H[a+172>>2];if(b){H[a+176>>2]=b;oa(b)}b=H[a+160>>2];if(b){H[a+164>>2]=b;oa(b)}b=H[a+144>>2];if(b){while(1){c=H[b>>2];oa(b);b=c;if(b){continue}break}}b=H[a+136>>2];H[a+136>>2]=0;if(b){oa(b)}b=H[a+120>>2];if(b){oa(b)}b=H[a+108>>2];if(b){oa(b)}b=H[a+96>>2];if(b){oa(b)}b=H[a+72>>2];if(b){H[a+76>>2]=b;oa(b)}b=H[a+60>>2];if(b){oa(b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}b=H[a+36>>2];if(b){H[a+40>>2]=b;oa(b)}b=H[a+24>>2];if(b){H[a+28>>2]=b;oa(b)}b=H[a+12>>2];if(b){H[a+16>>2]=b;oa(b)}b=H[a+8>>2];H[a+8>>2]=0;if(b){cb(b)}return a|0}function Pa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=H[a+8>>2];e=H[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;f=b&7;if(f){while(1){H[d>>2]=H[c>>2];d=d+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){H[d>>2]=H[c>>2];H[d+4>>2]=H[c>>2];H[d+8>>2]=H[c>>2];H[d+12>>2]=H[c>>2];H[d+16>>2]=H[c>>2];H[d+20>>2]=H[c>>2];H[d+24>>2]=H[c>>2];H[d+28>>2]=H[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}H[a+4>>2]=e;return}b:{i=H[a>>2];j=e-i|0;f=j>>2;g=f+b|0;if(g>>>0<1073741824){d=d-i|0;e=d>>>1|0;g=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break b}k=pa(g<<2)}f=(f<<2)+k|0;d=f;e=b&7;if(e){while(1){H[d>>2]=H[c>>2];d=d+4|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}e=f+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){H[d>>2]=H[c>>2];H[d+4>>2]=H[c>>2];H[d+8>>2]=H[c>>2];H[d+12>>2]=H[c>>2];H[d+16>>2]=H[c>>2];H[d+20>>2]=H[c>>2];H[d+24>>2]=H[c>>2];H[d+28>>2]=H[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}b=va(k,i,j);H[a+4>>2]=e;H[a>>2]=b;H[a+8>>2]=b+(g<<2);if(i){oa(i)}return}sa();v()}wa();v()}function Cc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(I[a+11|0]>>>7|0){d=H[a+4>>2]}else{d=I[a+11|0]&127}if(d>>>0>>0){h=ca-16|0;ca=h;b=b-d|0;if(b){g=I[a+11|0]>>>7|0?(H[a+8>>2]&2147483647)-1|0:10;if(I[a+11|0]>>>7|0){d=H[a+4>>2]}else{d=I[a+11|0]&127}i=d+b|0;if(g-d>>>0>>0){a:{e=ca-16|0;ca=e;c=i-g|0;if(c>>>0<=2147483631-g>>>0){if(I[a+11|0]>>>7|0){f=H[a>>2]}else{f=a}if(g>>>0<1073741799){H[e+12>>2]=g<<1;H[e>>2]=c+g;c=ca-16|0;ca=c;ca=c+16|0;c=e+12|0;c=H[(K[e>>2]>2]?c:e)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}Zb(e,c);c=H[e>>2];if(d){yb(c,f,d)}if((g|0)!=10){oa(f)}H[a>>2]=c;H[a+8>>2]=H[a+8>>2]&-2147483648|H[e+4>>2]&2147483647;H[a+8>>2]=H[a+8>>2]|-2147483648;ca=e+16|0;break a}Na();v()}}f=d;if(I[a+11|0]>>>7|0){d=H[a>>2]}else{d=a}f=f+d|0;e=ca-16|0;ca=e;F[e+15|0]=0;while(1){if(b){F[f|0]=I[e+15|0];b=b-1|0;f=f+1|0;continue}break}ca=e+16|0;Id(a,i);F[h+15|0]=0;F[d+i|0]=I[h+15|0]}ca=h+16|0;return}if(I[a+11|0]>>>7|0){d=H[a>>2]}else{d=a}f=ca-16|0;ca=f;Id(a,b);F[f+15|0]=0;F[b+d|0]=I[f+15|0];ca=f+16|0}function Jc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=ca-16|0;ca=g;a:{b:{if(b){H[a+88>>2]=0;H[a+92>>2]=0;d=H[a+84>>2];H[a+84>>2]=0;if(d){oa(d)}H[a+76>>2]=0;H[a+80>>2]=0;d=H[a+72>>2];H[a+72>>2]=0;if(d){oa(d)}d=H[b>>2];c=H[b+4>>2];F[g+15|0]=0;Oa(a,c-d>>2,g+15|0);d=H[b+28>>2];c=H[b+24>>2];F[g+14|0]=0;Oa(a+12|0,d-c>>2,g+14|0);Kc(a+28|0,H[b+4>>2]-H[b>>2]>>2,13708);c=H[b+28>>2]-H[b+24>>2]|0;f=c>>2;e=H[a+52>>2];c:{if(f>>>0<=H[a+60>>2]-e>>2>>>0){break c}if((c|0)<0){break b}d=H[a+56>>2];c=pa(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;H[c>>2]=H[d>>2];if((d|0)!=(e|0)){continue}break}}H[a+60>>2]=f;H[a+56>>2]=h;H[a+52>>2]=c;if(!e){break c}oa(e)}c=H[b+28>>2]-H[b+24>>2]|0;f=c>>2;e=H[a+40>>2];d:{if(f>>>0<=H[a+48>>2]-e>>2>>>0){break d}if((c|0)<0){break a}d=H[a+44>>2];c=pa(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;H[c>>2]=H[d>>2];if((d|0)!=(e|0)){continue}break}}H[a+48>>2]=f;H[a+44>>2]=h;H[a+40>>2]=c;if(!e){break d}oa(e)}F[a+24|0]=1;H[a+64>>2]=b}ca=g+16|0;return}sa();v()}sa();v()}function wb(a,b){var c=0,d=0,e=0,f=0,g=0;c=ca-16|0;ca=c;H[a+12>>2]=b;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+32>>2]=0;H[a+24>>2]=0;H[a+28>>2]=0;H[a+36>>2]=0;H[a+40>>2]=0;H[a+52>>2]=0;H[a+44>>2]=0;H[a+48>>2]=0;H[a+56>>2]=0;H[a+60>>2]=0;H[a+72>>2]=0;H[a+64>>2]=0;H[a+68>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+92>>2]=0;H[a+84>>2]=0;H[a+88>>2]=0;H[a+104>>2]=0;H[a+96>>2]=0;H[a+100>>2]=0;g=a+120|0;a:{b:{if(b){if(b>>>0<1073741824){break b}sa();v()}H[a+108>>2]=0;H[a+112>>2]=0;H[a+116>>2]=0;H[c+8>>2]=0;H[c>>2]=0;H[c+4>>2]=0;e=1;break a}e=b<<2;d=pa(e);H[a+96>>2]=d;f=d+e|0;H[a+104>>2]=f;ra(d,0,e);H[a+116>>2]=0;H[a+108>>2]=0;H[a+112>>2]=0;H[a+100>>2]=f;d=pa(e);H[a+108>>2]=d;f=d+e|0;H[a+116>>2]=f;ra(d,0,e);H[a+112>>2]=f;d=pa(e);H[c>>2]=d;f=d+e|0;H[c+8>>2]=f;ra(d,0,e);H[c+4>>2]=f;e=b<<5|1}tb(g,e,c);d=H[c>>2];if(d){H[c+4>>2]=d;oa(d)}H[c+8>>2]=0;H[c>>2]=0;H[c+4>>2]=0;if(b){b=b<<2;d=pa(b);H[c>>2]=d;f=b+d|0;H[c+8>>2]=f;ra(d,0,b);H[c+4>>2]=f}tb(a+132|0,e,c);b=H[c>>2];if(b){H[c+4>>2]=b;oa(b)}ca=c+16|0;return a}function Sb(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);F[b+12|0]=c;a:{if(c){break a}while(1){d=H[b+8>>2];if(I[d+12|0]){break a}b:{c=H[d+8>>2];e=H[c>>2];if((e|0)==(d|0)){e=H[c+4>>2];if(!(!e|I[e+12|0])){break b}c:{if(H[d>>2]==(b|0)){b=d;break c}b=H[d+4>>2];a=H[b>>2];H[d+4>>2]=a;if(a){H[a+8>>2]=d;c=H[d+8>>2]}H[b+8>>2]=c;a=H[d+8>>2];H[((H[a>>2]!=(d|0))<<2)+a>>2]=b;H[b>>2]=d;H[d+8>>2]=b;c=H[b+8>>2];d=H[c>>2]}F[b+12|0]=1;F[c+12|0]=0;a=H[d+4>>2];H[c>>2]=a;if(a){H[a+8>>2]=c}H[d+8>>2]=H[c+8>>2];a=H[c+8>>2];H[((H[a>>2]!=(c|0))<<2)+a>>2]=d;H[d+4>>2]=c;H[c+8>>2]=d;return}if(!(I[e+12|0]|!e)){break b}d:{if(H[d>>2]!=(b|0)){b=d;break d}a=H[b+4>>2];H[d>>2]=a;if(a){H[a+8>>2]=d;c=H[d+8>>2]}H[b+8>>2]=c;a=H[d+8>>2];H[((H[a>>2]!=(d|0))<<2)+a>>2]=b;H[b+4>>2]=d;H[d+8>>2]=b;c=H[b+8>>2]}F[b+12|0]=1;F[c+12|0]=0;a=H[c+4>>2];b=H[a>>2];H[c+4>>2]=b;if(b){H[b+8>>2]=c}H[a+8>>2]=H[c+8>>2];b=H[c+8>>2];H[((H[b>>2]!=(c|0))<<2)+b>>2]=a;H[a>>2]=c;H[c+8>>2]=a;break a}F[d+12|0]=1;F[c+12|0]=(a|0)==(c|0);F[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function Tj(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!c){break k}if(!d){break j}e=Q(d)-Q(b)|0;if(e>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}da=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}if(!d|d-1&d){break g}a=b>>>Qj(d)|0;da=0;break a}if(!(c-1&c)){break f}h=(Q(c)+33|0)-Q(b)|0;g=0-h|0;break d}h=e+1|0;g=63-e|0;break d}da=0;a=(b>>>0)/(d>>>0)|0;break a}e=Q(d)-Q(b)|0;if(e>>>0<31){break e}break c}if((c|0)==1){break b}d=Qj(c);c=d&31;if((d&63)>>>0>=32){a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}da=e;break a}h=e+1|0;g=63-e|0}e=h&63;f=e&31;if(e>>>0>=32){e=0;i=b>>>f|0}else{e=b>>>f|0;i=((1<>>f}g=g&63;f=g&31;if(g>>>0>=32){b=a<>>32-f|b<>>31;e=i<<1|b>>>31;f=m-(j+(e>>>0>g>>>0)|0)>>31;k=c&f;i=e-k|0;e=j-((d&f)+(e>>>0>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=f&1;h=h-1|0;if(h){continue}break}}da=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}da=b}return a}function rc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=H[b+16>>2];h=H[c+4>>2]-k|0;e=H[c>>2]-k|0;H[c>>2]=e;H[c+4>>2]=h;g=H[b+16>>2];f=h>>31;i=(f^h)-f|0;f=e>>31;l=g>>>0>=i+((f^e)-f|0)>>>0;a:{if(l){f=h;break a}b:{c:{if((e|0)>=0){f=1;i=1;if((h|0)>=0){break b}j=1;f=-1;i=-1;if(e){break c}break b}j=-1;f=-1;i=-1;if((h|0)<=0){break b}}f=(h|0)<=0?-1:1;i=j}j=N(g,i);e=(e<<1)-j|0;i=(N(f,i)|0)>=0;g=N(f,g);f=((i?0-e|0:e)+g|0)/2|0;H[c+4>>2]=f;m=c;c=(h<<1)-g|0;e=(j+(i?0-c|0:c)|0)/2|0;H[m>>2]=e;g=H[b+16>>2]}c=H[d+4>>2]+f|0;e=H[d>>2]+e|0;d:{if((g|0)<(e|0)){e=e-H[b+4>>2]|0;break d}if((0-g|0)<=(e|0)){break d}e=H[b+4>>2]+e|0}e:{if((c|0)>(g|0)){c=c-H[b+4>>2]|0;break e}if((0-g|0)<=(c|0)){break e}c=H[b+4>>2]+c|0}f:{if(l){g=c;break f}g:{h:{if((e|0)>=0){b=1;f=1;if((c|0)>=0){break g}d=1;b=-1;f=-1;if(e){break h}break g}d=-1;b=-1;f=-1;if((c|0)<=0){break g}}b=(c|0)<=0?-1:1;f=d}d=N(f,g);h=(e<<1)-d|0;f=(N(b,f)|0)>=0;b=N(b,g);g=((f?0-h|0:h)+b|0)/2|0;b=(c<<1)-b|0;e=(d+(f?0-b|0:b)|0)/2|0}c=a;H[c>>2]=e+k;H[c+4>>2]=g+k}function Wh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=ca-16|0;ca=g;e=H[a+4>>2];d=H[e>>2];a:{b=H[a+12>>2];c=H[b+28>>2]-H[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=H[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=H[e+4>>2];c=pa(c);f=c+(f<<2)|0;h=c+(b-d&-4)|0;c=h;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[e+8>>2]=f;H[e+4>>2]=h;H[e>>2]=c;if(!d){break b}oa(d)}b=H[a+12>>2];c=H[b+28>>2];b=H[b+24>>2];H[g+12>>2]=0;b=c-b>>2;d=a+96|0;e=H[d>>2];c=H[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){Pa(d,b-c|0,g+12|0);break c}if(b>>>0>=c>>>0){break c}H[a+100>>2]=e+(b<<2)}e=a+8|0;b=H[a+116>>2];d:{if(b){d=H[b>>2];if((d|0)==H[b+4>>2]){c=1;break d}b=0;while(1){c=ye(e,H[(b<<2)+d>>2]);if(!c){break d}f=H[a+116>>2];d=H[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break d}c=1;a=H[a+12>>2];a=H[a+4>>2]-H[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){c=ye(e,N(b,3));if(!c){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}ca=g+16|0;return c|0}sa();v()}function gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=H[b+88>>2];if(!(!c|H[c>>2]!=1)){e=H[c+8>>2];H[a+4>>2]=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);f=a+8|0;d=I[b+24|0];h=H[a+8>>2];g=H[a+12>>2]-h>>2;a:{if(d>>>0>g>>>0){ya(f,d-g|0);d=I[b+24|0];e=H[c+8>>2];break a}if(d>>>0>=g>>>0){break a}H[a+12>>2]=h+(d<<2)}b:{if(!d){b=4;break b}h=d&3;f=H[f>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){g=d<<2;c=b+e|0;H[g+f>>2]=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[f+(g|4)>>2]=I[c+4|0]|I[c+5|0]<<8|(I[c+6|0]<<16|I[c+7|0]<<24);H[f+(g|8)>>2]=I[c+8|0]|I[c+9|0]<<8|(I[c+10|0]<<16|I[c+11|0]<<24);H[f+(g|12)>>2]=I[c+12|0]|I[c+13|0]<<8|(I[c+14|0]<<16|I[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+e|0;H[f+(d<<2)>>2]=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}d=a;a=b+e|0;H[d+20>>2]=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24);d=1}return d|0}function se(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{b:{c:{if(!b){if((d|0)<0){break a}f=H[a+4>>2];b=H[a>>2];d=f-b|0;if(c>>>0>d>>>0){g=c-d|0;e=H[a+8>>2];if(g>>>0<=e-f>>>0){i=a,j=ra(f,0,g)+g|0,H[i+4>>2]=j;break c}if((c|0)<0){break b}f=e-b|0;e=f<<1;f=f>>>0>=1073741823?2147483647:c>>>0>>0?e:c;e=pa(f);ra(e+d|0,0,g);d=va(e,b,d);H[a+8>>2]=d+f;H[a+4>>2]=c+d;H[a>>2]=d;if(!b){break c}oa(b);break c}if(c>>>0>=d>>>0){break c}H[a+4>>2]=b+c;break c}if((d|0)<0){break a}e=H[a+4>>2];f=H[a>>2];g=e-f|0;d:{if((d|0)<=0&c>>>0<=g>>>0|(d|0)<0){break d}if(c>>>0>g>>>0){d=c-g|0;h=H[a+8>>2];if(d>>>0<=h-e>>>0){i=a,j=ra(e,0,d)+d|0,H[i+4>>2]=j;break d}if((c|0)<0){break b}e=h-f|0;h=e<<1;e=e>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=pa(e);ra(h+g|0,0,d);d=va(h,f,g);H[a+8>>2]=d+e;H[a+4>>2]=c+d;H[a>>2]=d;if(!f){break d}oa(f);break d}if(c>>>0>=g>>>0){break d}H[a+4>>2]=c+f}if(!c){break c}va(H[a>>2],b,c)}b=H[a+28>>2];c=H[a+24>>2]+1|0;b=c?b:b+1|0;H[a+24>>2]=c;H[a+28>>2]=b;g=1;break a}sa();v()}return g}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=H[a+12>>2];c=H[a+68>>2];d=H[c+80>>2];F[b+84|0]=0;n=b+68|0;i=H[b+68>>2];e=H[b+72>>2]-i>>2;a:{if(e>>>0>>0){qb(n,d-e|0,12372);c=H[a+68>>2];d=H[c+80>>2];break a}if(d>>>0>=e>>>0){break a}H[b+72>>2]=i+(d<<2)}b=H[c+100>>2];e=H[c+96>>2];i=(b-e|0)/12|0;m=1;b:{if((b|0)==(e|0)){break b}k=H[k+28>>2];f=H[k>>2];if((f|0)==-1){return 0}o=i>>>0<=1?1:i;c=e;b=0;m=0;while(1){g=H[c>>2];if(g>>>0>=d>>>0){break b}j=H[H[a+72>>2]+12>>2];h=H[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=H[n>>2];H[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=H[g+4>>2];if((h|0)==-1){break b}l=H[c+4>>2];if(l>>>0>=d>>>0){break b}h=H[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}H[f+(l<<2)>>2]=h;g=H[g+8>>2];if((g|0)==-1){break b}c=H[c+8>>2];if(c>>>0>=d>>>0){break b}j=H[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}H[f+(c<<2)>>2]=j;b=b+1|0;m=i>>>0<=b>>>0;if((b|0)==(o|0)){break b}c=e+N(b,12)|0;l=N(b,3);f=H[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return m|0}function Gh(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,l=0,m=0;h=H[d+80>>2];e=ca-48|0;ca=e;a=H[a+4>>2];m=a-2|0;a:{if(m>>>0>28){break a}j=H[H[d>>2]>>2]+H[d+48>>2]|0;H[e+16>>2]=a;a=-1<>2]=a^-1;a=-2-a|0;H[e+24>>2]=a;H[e+32>>2]=(a|0)/2;L[e+28>>2]=O(2)/O(a|0);f=H[c>>2];if((f|0)!=H[c+4>>2]){a=0;d=0;while(1){g=H[(d<<2)+f>>2];h=e+36|0;k=H[H[b>>2]>>2];l=H[b+48>>2];f=H[b+40>>2];i=H[b+44>>2];if(!I[b+84|0]){g=H[H[b+68>>2]+(g<<2)>>2]}g=Rj(f,i,g,0);i=g;g=g+l|0;qa(h,g+k|0,f);he(e+16|0,h,e+12|0,e+8|0);f=a<<2;H[f+j>>2]=H[e+12>>2];H[(f|4)+j>>2]=H[e+8>>2];a=a+2|0;d=d+1|0;f=H[c>>2];if(d>>>0>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){k=e+36|0;l=H[H[b>>2]>>2];i=H[b+48>>2];c=H[b+40>>2];f=Rj(c,H[b+44>>2],I[b+84|0]?a:H[H[b+68>>2]+(a<<2)>>2],0);g=f;f=f+i|0;qa(k,f+l|0,c);he(e+16|0,k,e+12|0,e+8|0);c=d<<2;H[c+j>>2]=H[e+12>>2];H[(c|4)+j>>2]=H[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}ca=e+48|0;return m>>>0<29|0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=O(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=ca-16|0;ca=k;if(H[c+28>>2]==9){d=H[a+4>>2];h=I[c+24|0];e=h<<2;f=pa(e);l=k+8|0;H[l>>2]=1065353216;i=L[a+20>>2];d=-1<0){L[l>>2]=i/O(d|0)}o=(d|0)>0;a:{if(!o){break a}j=H[c+80>>2];if(!j){break a}if(h){p=H[H[b>>2]>>2]+H[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=H[a+8>>2];i=L[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;L[g+f>>2]=O(i*O(H[q>>2]))+L[g+m>>2];g=g|4;L[g+f>>2]=O(i*O(H[q+4>>2]))+L[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;L[d+f>>2]=O(i*O(H[(b<<2)+p>>2]))+L[d+m>>2];b=b+1|0}qa(H[H[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){qa(H[H[c+64>>2]>>2]+b|0,f,e);b=b+e|0;qa(b+H[H[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}qa(H[H[c+64>>2]>>2]+b|0,f,e)}oa(f)}ca=k+16|0;return o|0}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=H[a+12>>2];d=H[a+108>>2];e=H[d+80>>2];F[b+84|0]=0;m=b+68|0;h=H[b+68>>2];f=H[b+72>>2]-h>>2;a:{if(f>>>0>>0){qb(m,e-f|0,12372);d=H[a+108>>2];e=H[d+80>>2];break a}if(e>>>0>=f>>>0){break a}H[b+72>>2]=h+(e<<2)}b=H[d+100>>2];f=H[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=H[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=H[c>>2];if((i|0)==-1){break b}g=H[d>>2];if(g>>>0>=e>>>0){break b}l=H[H[a+112>>2]+12>>2];j=H[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=H[m>>2];H[i+(g<<2)>>2]=j;g=H[c+4>>2];if((g|0)==-1){break b}j=H[d+4>>2];if(j>>>0>=e>>>0){break b}g=H[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}H[i+(j<<2)>>2]=g;c=H[c+8>>2];if((c|0)==-1){break b}d=H[d+8>>2];if(d>>>0>=e>>>0){break b}c=H[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}H[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=N(b,3);d=f+N(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=H[a+12>>2];d=H[a+68>>2];e=H[d+80>>2];F[b+84|0]=0;m=b+68|0;h=H[b+68>>2];f=H[b+72>>2]-h>>2;a:{if(f>>>0>>0){qb(m,e-f|0,12372);d=H[a+68>>2];e=H[d+80>>2];break a}if(e>>>0>=f>>>0){break a}H[b+72>>2]=h+(e<<2)}b=H[d+100>>2];f=H[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=H[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=H[c>>2];if((i|0)==-1){break b}g=H[d>>2];if(g>>>0>=e>>>0){break b}l=H[H[a+72>>2]+12>>2];j=H[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=H[m>>2];H[i+(g<<2)>>2]=j;g=H[c+4>>2];if((g|0)==-1){break b}j=H[d+4>>2];if(j>>>0>=e>>>0){break b}g=H[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}H[i+(j<<2)>>2]=g;c=H[c+8>>2];if((c|0)==-1){break b}d=H[d+8>>2];if(d>>>0>=e>>>0){break b}c=H[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}H[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=N(b,3);d=f+N(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Wa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=ca-16|0;ca=d;a:{f=H[a+4>>2];b:{if(f>>>0>>0){e=b-f|0;c=H[a+8>>2];g=c<<5;c:{if(!(e>>>0>g>>>0|f>>>0>g-e>>>0)){H[a+4>>2]=b;h=f&31;b=H[a>>2]+(f>>>3&536870908)|0;break c}H[d+8>>2]=0;H[d>>2]=0;H[d+4>>2]=0;if((b|0)<0){break a}if(g>>>0<=1073741822){c=c<<6;b=b+31&-32;b=b>>>0>>0?c:b}else{b=2147483647}pb(d,b);f=H[a+4>>2];H[d+4>>2]=f+e;i=H[a>>2];b=H[d>>2];d:{if((f|0)<=0){break d}c=f>>>5|0;if(f>>>0>=32){va(b,i,c<<2)}g=c<<2;b=g+b|0;h=f&31;if(h){c=-1>>>32-h|0;H[b>>2]=H[b>>2]&(c^-1)|H[i+g>>2]&c}i=H[a>>2]}H[a>>2]=H[d>>2];H[d>>2]=i;c=H[a+4>>2];H[a+4>>2]=H[d+4>>2];H[d+4>>2]=c;c=H[a+8>>2];H[a+8>>2]=H[d+8>>2];H[d+8>>2]=c;if(!i){break c}oa(i)}if(!e){break b}if(h){c=32-h|0;a=c>>>0>>0?c:e;H[b>>2]=H[b>>2]&(-1<>>c-a^-1);e=e-a|0;b=b+4|0}a=e>>>5|0;if(e>>>0>=32){ra(b,0,a<<2)}if((e&-32)==(e|0)){break b}a=(a<<2)+b|0;H[a>>2]=H[a>>2]&(-1>>>32-(e&31)^-1);break b}H[a+4>>2]=b}ca=d+16|0;return}sa();v()}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=H[a+12>>2];i=H[a+8>>2];d=e-i>>2;b=I[b+24|0];a:{if(d>>>0>>0){ya(a+8|0,b-d|0);i=H[a+8>>2];e=H[a+12>>2];break a}if(b>>>0>=d>>>0){break a}e=(b<<2)+i|0;H[a+12>>2]=e}b=0;f=H[c+8>>2];h=H[c+12>>2];j=H[c+20>>2];e=e-i|0;d=H[c+16>>2];g=e+d|0;j=e>>>0>g>>>0?j+1|0:j;b:{if(f>>>0>>0&(h|0)<=(j|0)|(h|0)<(j|0)){break b}qa(i,d+H[c>>2]|0,e);d=H[c+20>>2];g=e;e=e+H[c+16>>2]|0;d=g>>>0>e>>>0?d+1|0:d;H[c+16>>2]=e;H[c+20>>2]=d;f=H[c+8>>2];h=H[c+12>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;if(f>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break b}d=e+H[c>>2]|0;H[a+20>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[c+20>>2];g=d;f=d;e=H[c+16>>2];d=e+4|0;f=d>>>0<4?f+1|0:f;H[c+16>>2]=d;H[c+20>>2]=f;h=H[c+12>>2];if((f|0)>=(h|0)&d>>>0>=K[c+8>>2]|(f|0)>(h|0)){break b}f=I[d+H[c>>2]|0];d=g;e=e+5|0;d=e>>>0<5?d+1|0:d;H[c+16>>2]=e;H[c+20>>2]=d;if(f-1>>>0>29){break b}H[a+4>>2]=f;b=1}return b|0}function qd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{f=H[a+4>>2];b:{if((f|0)!=H[a>>2]){c=f;break b}g=H[a+8>>2];c=H[a+12>>2];if(g>>>0>>0){e=((c-g>>2)+1|0)/2<<2;c=e+g|0;if((f|0)!=(g|0)){d=g-f|0;c=c-d|0;va(c,f,d);f=H[a+8>>2]}H[a+4>>2]=c;H[a+8>>2]=e+f;break b}d=(c|0)==(f|0)?1:c-f>>1;if(d>>>0>=1073741824){break a}c=d<<2;i=pa(c);k=i+c|0;c=(d+3&-4)+i|0;h=c;c:{if((f|0)==(g|0)){break c}g=g-f|0;l=g&-4;e=c;d=f;j=g-4|0;g=(j>>>2|0)+1&7;if(g){h=0;while(1){H[e>>2]=H[d>>2];d=d+4|0;e=e+4|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}h=c+l|0;if(j>>>0<28){break c}while(1){H[e>>2]=H[d>>2];H[e+4>>2]=H[d+4>>2];H[e+8>>2]=H[d+8>>2];H[e+12>>2]=H[d+12>>2];H[e+16>>2]=H[d+16>>2];H[e+20>>2]=H[d+20>>2];H[e+24>>2]=H[d+24>>2];H[e+28>>2]=H[d+28>>2];d=d+32|0;e=e+32|0;if((h|0)!=(e|0)){continue}break}}H[a+12>>2]=k;H[a+8>>2]=h;H[a+4>>2]=c;H[a>>2]=i;if(!f){break b}oa(f);c=H[a+4>>2]}H[c-4>>2]=H[b>>2];H[a+4>>2]=H[a+4>>2]-4;return}wa();v()}function sb(a,b){var c=0;a:{if(!ta(a,b)){break a}if(!ta(a+16|0,b)){break a}if(!ta(a+32|0,b)){break a}if(!ta(a+48|0,b)){break a}if(!ta(a- -64|0,b)){break a}if(!ta(a+80|0,b)){break a}if(!ta(a+96|0,b)){break a}if(!ta(a+112|0,b)){break a}if(!ta(a+128|0,b)){break a}if(!ta(a+144|0,b)){break a}if(!ta(a+160|0,b)){break a}if(!ta(a+176|0,b)){break a}if(!ta(a+192|0,b)){break a}if(!ta(a+208|0,b)){break a}if(!ta(a+224|0,b)){break a}if(!ta(a+240|0,b)){break a}if(!ta(a+256|0,b)){break a}if(!ta(a+272|0,b)){break a}if(!ta(a+288|0,b)){break a}if(!ta(a+304|0,b)){break a}if(!ta(a+320|0,b)){break a}if(!ta(a+336|0,b)){break a}if(!ta(a+352|0,b)){break a}if(!ta(a+368|0,b)){break a}if(!ta(a+384|0,b)){break a}if(!ta(a+400|0,b)){break a}if(!ta(a+416|0,b)){break a}if(!ta(a+432|0,b)){break a}if(!ta(a+448|0,b)){break a}if(!ta(a+464|0,b)){break a}if(!ta(a+480|0,b)){break a}if(!ta(a+496|0,b)){break a}c=ta(a+512|0,b)}return c}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{if(!ke(a,b)){break a}h=a+36|0;g=ea[H[H[a>>2]+24>>2]](a)|0;e=H[a+40>>2];d=H[a+36>>2];c=e-d>>2;b:{if(g>>>0>c>>>0){Vb(h,g-c|0);break b}if(c>>>0<=g>>>0){break b}d=d+(g<<2)|0;if((d|0)!=(e|0)){while(1){e=e-4|0;c=H[e>>2];H[e>>2]=0;if(c){ea[H[H[c>>2]+4>>2]](c)}if((d|0)!=(e|0)){continue}break}}H[a+40>>2]=d}c=1;if((g|0)<=0){break a}e=0;while(1){c:{c=H[b+20>>2];f=H[b+12>>2];d=H[b+16>>2];if((c|0)>=(f|0)&d>>>0>=K[b+8>>2]|(c|0)>(f|0)){break c}f=I[H[b>>2]+d|0];d=d+1|0;c=d?c:c+1|0;H[b+16>>2]=d;H[b+20>>2]=c;d=ea[H[H[a>>2]+48>>2]](a,f)|0;f=e<<2;i=f+H[a+36>>2]|0;c=H[i>>2];H[i>>2]=d;if(c){ea[H[H[c>>2]+4>>2]](c)}c=H[H[h>>2]+f>>2];if(!c){break c}if(!(k=c,l=ea[H[H[a>>2]+28>>2]](a)|0,m=ea[H[H[a>>2]+20>>2]](a,e)|0,j=H[H[c>>2]+8>>2],ea[j](k|0,l|0,m|0)|0)){break c}c=1;e=e+1|0;if((g|0)!=(e|0)){continue}break a}break}c=0}return c|0}function he(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+L[b>>2];k=+L[b+4>>2];l=+L[b+8>>2];g=P(j)+P(k)+P(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=H[a+16>>2];l=+(h|0);g=T(j*l+.5);b:{if(P(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=T(k*l+.5);c:{if(P(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=H[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=H[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}H[c>>2]=a;H[d>>2]=b}function Ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=H[b+8>>2];h=H[b+12>>2];c=H[b+20>>2];i=c;k=H[b+16>>2];d=k+4|0;c=d>>>0<4?c+1|0:c;a:{if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}l=H[b>>2];f=k+l|0;e=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=d;H[b+20>>2]=c;c=i;f=k+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}d=d+l|0;j=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=c;if((e|0)>(j|0)){break a}H[a+16>>2]=j;H[a+12>>2]=e;d=j-e|0;e=(j>>31)-((e>>31)+(e>>>0>j>>>0)|0)|0;if(!e&d>>>0>2147483646|e){break a}d=d+1|0;H[a+20>>2]=d;e=d>>>1|0;H[a+24>>2]=e;H[a+28>>2]=0-e;if(!(d&1)){H[a+24>>2]=e-1}if(J[b+38>>1]<=513){if((c|0)>=(h|0)&f>>>0>=g>>>0|(c|0)>(h|0)){break a}g=I[f+l|0];c=i;i=k+9|0;c=i>>>0<9?c+1|0:c;H[b+16>>2]=i;H[b+20>>2]=c;if(g>>>0>1){break a}H[a+88>>2]=g}m=ta(a+112|0,b)}return m|0}function Hc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=H[a>>2];c=g+(b>>>3&536870908)|0;H[c>>2]=H[c>>2]|1<>2];e=(b|0)==-1;d=-1;a:{if(e){break a}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;d=-1;if((c|0)==-1){break a}d=H[H[f>>2]+(c<<2)>>2]}c=H[a+12>>2];h=(d>>>3&536870908)+c|0;H[h>>2]=H[h>>2]|1<>>0)%3|0){e=b-1|0;break e}e=b+2|0;d=-1;if((e|0)==-1){break d}}d=H[H[f>>2]+(e<<2)>>2]}e=(d>>>3&536870908)+c|0;H[e>>2]=H[e>>2]|1<>2]+(b<<2)>>2];if((b|0)==-1){break b}F[a+24|0]=0;a=(b>>>3&536870908)+g|0;H[a>>2]=H[a>>2]|1<>>0)%3|0?a:b-2|0;if((a|0)!=-1){d=H[H[f>>2]+(a<<2)>>2]}a=c+(d>>>3&536870908)|0;H[a>>2]=H[a>>2]|1<>>0)%3|0){b=b-1|0;break g}b=b+2|0;a=-1;if((b|0)==-1){break f}}a=H[H[f>>2]+(b<<2)>>2]}b=1<>>3&536870908)|0;c=H[a>>2];break c}a=c+536870908|0;b=H[c+536870908>>2];c=-2147483648}H[a>>2]=b|c}}function Fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=O(0),f=O(0),g=O(0),h=O(0),i=O(0),j=0,k=O(0),l=O(0),m=O(0),n=O(0),o=0;a:{if(H[c+28>>2]!=9|I[c+24|0]!=3){break a}a=H[a+4>>2];if(a-2>>>0>28){break a}o=1;j=H[c+80>>2];if(!j){break a}k=O(O(2)/O((1<>2]>>2]+H[c+48>>2]|0;a=H[H[b>>2]>>2]+H[b+48>>2]|0;b=0;while(1){g=O(0);l=O(0);m=O(0);e=O(O(O(H[a>>2])*k)+O(-1));f=O(O(O(H[a+4>>2])*k)+O(-1));i=O(O(O(1)-O(P(e)))-O(P(f)));h=O(S(O(-i),O(0)));n=O(-h);f=O(f+(f>>8;F[c+10|0]=d>>>16;F[c+11|0]=d>>>24;d=(w(l),y(2));F[c+4|0]=d;F[c+5|0]=d>>>8;F[c+6|0]=d>>>16;F[c+7|0]=d>>>24;d=(w(g),y(2));F[c|0]=d;F[c+1|0]=d>>>8;F[c+2|0]=d>>>16;F[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function Vd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(b>>>0<=63){b=0;a=H[a+12>>2];if(a>>>0<2){break a}b=a-1|0;e=b&3;d=H[c>>2];c=0;b:{if(a-2>>>0<3){a=1;b=0;break b}f=b&-4;b=0;a=1;while(1){g=a+3|0;h=a+2|0;i=a+1|0;b=K[d+(b<<2)>>2]>K[d+(a<<2)>>2]?a:b;b=K[d+(b<<2)>>2]>K[d+(i<<2)>>2]?i:b;b=K[d+(b<<2)>>2]>K[d+(h<<2)>>2]?h:b;b=K[d+(b<<2)>>2]>K[d+(g<<2)>>2]?g:b;a=a+4|0;j=j+4|0;if((f|0)!=(j|0)){continue}break}}if(!e){break a}while(1){b=K[d+(b<<2)>>2]>K[d+(a<<2)>>2]?a:b;a=a+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}break a}b=H[a+580>>2];d=32-b|0;if((d|0)>=4){c=H[a+576>>2];if((c|0)==H[a+568>>2]){return 0}d=H[c>>2];e=b+4|0;H[a+580>>2]=e;b=d<>>28|0;if((e|0)!=32){break a}H[a+580>>2]=0;H[a+576>>2]=c+4;return b}c=H[a+576>>2];e=c+4|0;if((e|0)==H[a+568>>2]){return 0}f=H[c>>2];H[a+576>>2]=e;H[a+580>>2]=b-28;a=60-b|0;b=H[c+4>>2]>>>a|f<>>a-d}return b}function Ae(a){a=a|0;var b=0,c=0,d=0,e=0;H[a>>2]=11436;b=H[a+388>>2];if(b){H[a+392>>2]=b;oa(b)}d=H[a+368>>2];H[a+368>>2]=0;if(d){e=d-4|0;b=H[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}oa(e)}Yc(a+216|0);b=H[a+196>>2];if(b){H[a+200>>2]=b;oa(b)}b=H[a+184>>2];if(b){H[a+188>>2]=b;oa(b)}b=H[a+172>>2];if(b){H[a+176>>2]=b;oa(b)}b=H[a+160>>2];if(b){H[a+164>>2]=b;oa(b)}c=H[a+144>>2];if(c){while(1){b=H[c>>2];oa(c);c=b;if(b){continue}break}}b=H[a+136>>2];H[a+136>>2]=0;if(b){oa(b)}b=H[a+120>>2];if(b){oa(b)}b=H[a+108>>2];if(b){oa(b)}b=H[a+96>>2];if(b){oa(b)}b=H[a+72>>2];if(b){H[a+76>>2]=b;oa(b)}b=H[a+60>>2];if(b){oa(b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}b=H[a+36>>2];if(b){H[a+40>>2]=b;oa(b)}b=H[a+24>>2];if(b){H[a+28>>2]=b;oa(b)}b=H[a+12>>2];if(b){H[a+16>>2]=b;oa(b)}b=H[a+8>>2];H[a+8>>2]=0;if(b){cb(b)}return a|0}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a:{a=ca-32|0;ca=a;e=Ma(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=pa(g);H[a+24>>2]=g|-2147483648;H[a+16>>2]=f;H[a+20>>2]=e;g=e+f|0;break c}F[a+27|0]=e;f=a+16|0;g=e+f|0;if(!e){break b}}qa(f,c,e)}F[g|0]=0;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;d:{c=nb(b,a+16|0);if((c|0)==(b+4|0)){break d}b=H[c+28>>2];e=H[c+32>>2];if((b|0)==(e|0)){break d}b=e-b|0;if(b&3){break d}e=b>>>2|0;f=H[a+4>>2];b=H[a>>2];g=f-b>>2;e:{if(e>>>0>g>>>0){ya(a,e-g|0);b=H[a>>2];f=H[a+4>>2];break e}if(e>>>0>=g>>>0){break e}f=(e<<2)+b|0;H[a+4>>2]=f}if((b|0)!=(f|0)){e=b;b=H[c+28>>2];qa(e,b,H[c+32>>2]-b|0);break d}Ca();v()}b=H[d>>2];if(b){H[d+4>>2]=b;oa(b)}H[d>>2]=H[a>>2];H[d+4>>2]=H[a+4>>2];H[d+8>>2]=H[a+8>>2];if(F[a+27|0]<0){oa(H[a+16>>2])}ca=a+32|0;break a}Na();v()}}function Be(a){a=a|0;var b=0,c=0,d=0,e=0;H[a>>2]=11384;d=H[a+368>>2];H[a+368>>2]=0;if(d){e=d-4|0;b=H[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}oa(e)}Yc(a+216|0);b=H[a+196>>2];if(b){H[a+200>>2]=b;oa(b)}b=H[a+184>>2];if(b){H[a+188>>2]=b;oa(b)}b=H[a+172>>2];if(b){H[a+176>>2]=b;oa(b)}b=H[a+160>>2];if(b){H[a+164>>2]=b;oa(b)}c=H[a+144>>2];if(c){while(1){b=H[c>>2];oa(c);c=b;if(b){continue}break}}b=H[a+136>>2];H[a+136>>2]=0;if(b){oa(b)}b=H[a+120>>2];if(b){oa(b)}b=H[a+108>>2];if(b){oa(b)}b=H[a+96>>2];if(b){oa(b)}b=H[a+72>>2];if(b){H[a+76>>2]=b;oa(b)}b=H[a+60>>2];if(b){oa(b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}b=H[a+36>>2];if(b){H[a+40>>2]=b;oa(b)}b=H[a+24>>2];if(b){H[a+28>>2]=b;oa(b)}b=H[a+12>>2];if(b){H[a+16>>2]=b;oa(b)}b=H[a+8>>2];H[a+8>>2]=0;if(b){cb(b)}return a|0}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=ca-16|0;ca=d;a:{e=Ma(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=pa(f);H[d+8>>2]=f|-2147483648;H[d>>2]=a;H[d+4>>2]=e;f=a+e|0;break c}F[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}qa(a,c,e)}F[f|0]=0;c=I[d+11|0];e=c<<24>>24;b=H[b+4>>2];a=0;d:{if(!b){break d}a=c;c=(e|0)<0;a=c?H[d+4>>2]:a;f=c?H[d>>2]:d;while(1){c=I[b+27|0];g=c<<24>>24<0;c=g?H[b+20>>2]:c;i=c>>>0>>0;e:{f:{g:{h:{i:{j:{h=i?c:a;if(h){g=g?H[b+16>>2]:b+16|0;j=Fa(f,g,h);if(j){break j}if(a>>>0>=c>>>0){break i}break e}if(a>>>0>=c>>>0){break h}break e}if((j|0)<0){break e}}c=Fa(g,f,h);if(c){break g}}if(i){break f}a=1;break d}if((c|0)<0){break f}a=1;break d}b=b+4|0}b=H[b>>2];if(b){continue}break}a=0}if((e|0)<0){oa(H[d>>2])}ca=d+16|0;break a}Na();v()}return a|0}function fd(a,b){var c=0,d=0;c=H[b+8>>2];H[a+4>>2]=H[b+4>>2];H[a+8>>2]=c;H[a+20>>2]=H[b+20>>2];c=H[b+16>>2];H[a+12>>2]=H[b+12>>2];H[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=H[b+28>>2];if(c){d=H[a+24>>2];if(H[a+32>>2]<<5>>>0>>0){if(d){oa(d);H[a+32>>2]=0;H[a+24>>2]=0;H[a+28>>2]=0;c=H[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=pa(c<<2);H[a+32>>2]=c;H[a+28>>2]=0;H[a+24>>2]=d;c=H[b+28>>2]}va(d,H[b+24>>2],(c-1>>>3&536870908)+4|0);c=H[b+28>>2]}else{c=0}H[a+28>>2]=c;c=H[b+40>>2];if(c){d=H[a+36>>2];if(H[a+44>>2]<<5>>>0>>0){if(d){oa(d);H[a+44>>2]=0;H[a+36>>2]=0;H[a+40>>2]=0;c=H[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=pa(c<<2);H[a+44>>2]=c;H[a+40>>2]=0;H[a+36>>2]=d;c=H[b+40>>2]}va(d,H[b+36>>2],(c-1>>>3&536870908)+4|0);b=H[b+40>>2]}else{b=0}H[a+40>>2]=b}return}sa();v()}sa();v()}function uc(a){var b=0,c=0,d=0;b=H[a+8>>2];d=H[a>>2];a:{if(I[a+12|0]){b:{c:{d:{e:{if((b|0)==-1){break e}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;if((b|0)==-1){break e}b=H[H[d+12>>2]+(b<<2)>>2];if((b|0)!=-1){break d}}H[a+8>>2]=-1;break c}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;H[a+8>>2]=b;if((b|0)!=-1){break b}}c=H[a+4>>2];b=-1;f:{if((c|0)==-1){break f}g:{if((c>>>0)%3|0){c=c-1|0;break g}c=c+2|0;b=-1;if((c|0)==-1){break f}}c=H[H[d+12>>2]+(c<<2)>>2];b=-1;if((c|0)==-1){break f}b=c-1|0;if((c>>>0)%3|0){break f}b=c+2|0}F[a+12|0]=0;H[a+8>>2]=b;return}if((b|0)!=H[a+4>>2]){break a}H[a+8>>2]=-1;return}c=-1;h:{if((b|0)==-1){break h}i:{if((b>>>0)%3|0){b=b-1|0;break i}b=b+2|0;c=-1;if((b|0)==-1){break h}}b=H[H[d+12>>2]+(b<<2)>>2];c=-1;if((b|0)==-1){break h}c=b-1|0;if((b>>>0)%3|0){break h}c=b+2|0}H[a+8>>2]=c}}function Rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=ca-32|0;ca=f;d=H[a+28>>2];H[f+16>>2]=d;g=H[a+20>>2];H[f+28>>2]=c;H[f+24>>2]=b;b=g-d|0;H[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=Z(H[a+60>>2],b|0,2,f+12|0)|0;if(d){H[3992]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=H[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=H[b+4>>2];j=h>>>0>>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;H[d>>2]=h+H[d>>2];b=(j?12:4)+b|0;H[b>>2]=H[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=Z(H[a+60>>2],b|0,i|0,f+12|0)|0;if(e){H[3992]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=H[a+44>>2];H[a+28>>2]=b;H[a+20>>2]=b;H[a+16>>2]=b+H[a+48>>2];a=c;break a}H[a+28>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a>>2]=H[a>>2]|32;a=0;if((i|0)==2){break a}a=c-H[d+4>>2]|0}ca=f+32|0;return a|0}function Ih(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=H[a+4>>2];d=H[e>>2];a:{b=H[a+12>>2];c=H[b+56>>2]-H[b+52>>2]|0;f=c>>2;b:{if(f>>>0<=H[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=H[e+4>>2];c=pa(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[e+8>>2]=f;H[e+4>>2]=g;H[e>>2]=c;if(!d){break b}oa(d)}e=a+8|0;b=H[a+76>>2];c:{if(b){d=H[b>>2];if((d|0)==H[b+4>>2]){return 1}b=0;while(1){c=we(e,H[(b<<2)+d>>2]);if(!c){break c}f=H[a+76>>2];d=H[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=H[H[a+12>>2]+64>>2];a=H[a+4>>2]-H[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=we(e,N(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}sa();v()}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=H[a+4>>2];d=H[e>>2];a:{b=H[a+12>>2];c=H[b+28>>2]-H[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=H[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=H[e+4>>2];c=pa(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[e+8>>2]=f;H[e+4>>2]=g;H[e>>2]=c;if(!d){break b}oa(d)}e=a+8|0;b=H[a+76>>2];c:{if(b){d=H[b>>2];if((d|0)==H[b+4>>2]){return 1}b=0;while(1){c=xe(e,H[(b<<2)+d>>2]);if(!c){break c}f=H[a+76>>2];d=H[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=H[a+12>>2];a=H[a+4>>2]-H[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=xe(e,N(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}sa();v()}function Te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=H[b+8>>2];h=H[b+12>>2];c=H[b+20>>2];i=c;e=H[b+16>>2];d=e+4|0;c=d>>>0<4?c+1|0:c;a:{if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}j=H[b>>2];f=e+j|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=d;H[b+20>>2]=c;k=J[b+38>>1];if(k>>>0<=513){c=i;d=e+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}H[b+16>>2]=d;H[b+20>>2]=c}if(!(f&1)){break a}e=Q(f)^31;if(e-1>>>0>28){break a}H[a+8>>2]=e+1;i=-2<>2]=e;H[a+12>>2]=i^-1;H[a+24>>2]=e>>1;L[a+20>>2]=O(2)/O(e|0);if(k>>>0<=513){if((c|0)>=(h|0)&d>>>0>=g>>>0|(c|0)>(h|0)){break a}g=I[d+j|0];d=d+1|0;c=d?c:c+1|0;H[b+16>>2]=d;H[b+20>>2]=c;if(g>>>0>1){break a}H[a+72>>2]=g}l=ta(a+96|0,b)}return l|0}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=H[b+8>>2];g=H[b+12>>2];c=H[b+20>>2];h=c;i=H[b+16>>2];e=i+4|0;c=e>>>0<4?c+1|0:c;a:{if(e>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}j=H[b>>2];d=i+j|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;c=h;e=i+8|0;c=e>>>0<8?c+1|0:c;if(e>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}H[b+16>>2]=e;H[b+20>>2]=c;if(!(d&1)){break a}d=Q(d)^31;if(d-1>>>0>28){break a}H[a+8>>2]=d+1;k=-2<>2]=d;H[a+12>>2]=k^-1;H[a+24>>2]=d>>1;L[a+20>>2]=O(2)/O(d|0);if(J[b+38>>1]<=513){if((c|0)>=(g|0)&e>>>0>=f>>>0|(c|0)>(g|0)){break a}c=I[e+j|0];f=i+9|0;h=f>>>0<9?h+1|0:h;H[b+16>>2]=f;H[b+20>>2]=h;if(c>>>0>1){break a}H[a+72>>2]=c}l=ta(a+96|0,b)}return l|0} -function va(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return qa(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}F[d|0]=I[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;F[d|0]=I[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;H[c+a>>2]=H[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;F[c+a|0]=I[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){H[d>>2]=H[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){F[d|0]=I[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function ff(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=H[c+12>>2];f=h;e=H[c+20>>2];i=H[c+8>>2];g=H[c+16>>2];a:{if((f|0)<=(e|0)&i>>>0<=g>>>0|(e|0)>(f|0)){break a}j=H[c>>2];k=F[j+g|0];d=e;f=g+1|0;d=f?d:d+1|0;H[c+16>>2]=f;H[c+20>>2]=d;b:{if((k|0)==-2){break b}if((d|0)>=(h|0)&f>>>0>=i>>>0|(d|0)>(h|0)){break a}d=F[f+j|0];g=g+2|0;e=g>>>0<2?e+1|0:e;H[c+16>>2]=g;H[c+20>>2]=e;if((d-4&255)>>>0<251){break a}e=ea[H[H[a>>2]+40>>2]](a,k,d)|0;d=H[a+20>>2];H[a+20>>2]=e;if(!d){break b}ea[H[H[d>>2]+4>>2]](d)}d=H[a+20>>2];if(d){if(!(ea[H[H[a>>2]+28>>2]](a,d)|0)){break a}}if(!(ea[H[H[a>>2]+36>>2]](a,b,c)|0)){break a}c=H[a+4>>2];if(!(!c|I[c+36|0]>1)){if(!(ea[H[H[a>>2]+48>>2]](a,H[b+4>>2]-H[b>>2]>>2)|0)){break a}}l=1}return l|0}function Vb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=H[a+8>>2];c=H[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=ra(c,0,b)+b|0}H[a+4>>2]=c;return}a:{b:{c:{g=H[a>>2];f=c-g>>2;e=f+b|0;if(e>>>0<1073741824){d=d-g|0;h=d>>>1|0;e=d>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break c}i=pa(e<<2)}d=(f<<2)+i|0;f=b<<2;b=ra(d,0,f);f=b+f|0;e=(e<<2)+i|0;if((c|0)==(g|0)){break b}while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;d=d-4|0;H[d>>2]=b;if((c|0)!=(g|0)){continue}break}H[a+8>>2]=e;b=H[a+4>>2];H[a+4>>2]=f;c=H[a>>2];H[a>>2]=d;if((b|0)==(c|0)){break a}while(1){b=b-4|0;a=H[b>>2];H[b>>2]=0;if(a){ea[H[H[a>>2]+4>>2]](a)}if((b|0)!=(c|0)){continue}break}break a}sa();v()}wa();v()}H[a+8>>2]=e;H[a+4>>2]=f;H[a>>2]=b}if(c){oa(c)}}function Md(a,b,c){a:{switch(b-9|0){case 0:b=H[c>>2];H[c>>2]=b+4;H[a>>2]=H[b>>2];return;case 6:b=H[c>>2];H[c>>2]=b+4;b=G[b>>1];H[a>>2]=b;H[a+4>>2]=b>>31;return;case 7:b=H[c>>2];H[c>>2]=b+4;H[a>>2]=J[b>>1];H[a+4>>2]=0;return;case 8:b=H[c>>2];H[c>>2]=b+4;b=F[b|0];H[a>>2]=b;H[a+4>>2]=b>>31;return;case 9:b=H[c>>2];H[c>>2]=b+4;H[a>>2]=I[b|0];H[a+4>>2]=0;return;case 16:b=H[c>>2]+7&-8;H[c>>2]=b+8;M[a>>3]=M[b>>3];return;case 17:v();default:return;case 1:case 4:case 14:b=H[c>>2];H[c>>2]=b+4;b=H[b>>2];H[a>>2]=b;H[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=H[c>>2];H[c>>2]=b+4;H[a>>2]=H[b>>2];H[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=H[c>>2]+7&-8;H[c>>2]=b+8;c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c}function Ed(a,b){var c=0,d=0,e=0;c=ca+-64|0;ca=c;d=H[a>>2];e=H[d-4>>2];d=H[d-8>>2];H[c+32>>2]=0;H[c+36>>2]=0;H[c+40>>2]=0;H[c+44>>2]=0;H[c+48>>2]=0;H[c+52>>2]=0;F[c+55|0]=0;F[c+56|0]=0;F[c+57|0]=0;F[c+58|0]=0;F[c+59|0]=0;F[c+60|0]=0;F[c+61|0]=0;F[c+62|0]=0;H[c+24>>2]=0;H[c+28>>2]=0;H[c+20>>2]=0;H[c+16>>2]=14924;H[c+12>>2]=a;H[c+8>>2]=b;a=a+d|0;d=0;a:{if(Ya(e,b,0)){H[c+56>>2]=1;ea[H[H[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=H[c+32>>2]==1?a:0;break a}ea[H[H[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(H[c+44>>2]){case 0:d=H[c+48>>2]==1?H[c+36>>2]==1?H[c+40>>2]==1?H[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(H[c+32>>2]!=1){if(H[c+48>>2]|H[c+36>>2]!=1|H[c+40>>2]!=1){break a}}d=H[c+24>>2]}ca=c- -64|0;return d}function ua(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;H[a+16>>2]=0;e=H[a>>2];H[a+4>>2]=e;H[a+12>>2]=e;e=H[b+8>>2];c=H[b+12>>2];h=c;d=H[b+20>>2];f=H[b+16>>2];g=f+4|0;d=g>>>0<4?d+1|0:d;a:{if(e>>>0>>0&(d|0)>=(c|0)|(d|0)>(c|0)){break a}c=f+H[b>>2]|0;c=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[b+16>>2]=g;H[b+20>>2]=d;if(!c|c&3){break a}f=h-(d+(e>>>0>>0)|0)|0;if(e-g>>>0>>0&(f|0)<=0|(f|0)<0){break a}if(c>>>0>=4){ya(a,c>>>2|0);h=H[b+12>>2];g=H[b+16>>2];d=H[b+20>>2];e=H[b+8>>2]}f=c+g|0;d=f>>>0>>0?d+1|0:d;if(e>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}qa(H[a>>2],H[b>>2]+g|0,c);d=H[b+20>>2];e=c+H[b+16>>2]|0;d=e>>>0>>0?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;H[a+16>>2]=0;H[a+12>>2]=H[a>>2];i=1}return i}function de(a,b){var c=0,d=0,e=0,f=0;d=-1;e=-1;f=-1;a:{b:{if((b|0)==-1){break b}e=H[H[H[a+4>>2]+12>>2]+(b<<2)>>2];c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)>=0){f=(c>>>0)/3|0;f=H[(H[H[a>>2]+96>>2]+N(f,12)|0)+(c-N(f,3)<<2)>>2]}c:{if((e|0)==-1){break c}c=((e>>>0)%3|0?-1:2)+e|0;if((c|0)<0){break c}d=(c>>>0)/3|0;d=H[(H[H[a>>2]+96>>2]+N(d,12)|0)+(c-N(d,3)<<2)>>2]}c=-1;if((d|0)!=(f|0)){break a}f=-1;d:{b=((b>>>0)%3|0?-1:2)+b|0;if((b|0)>=0){d=(b>>>0)/3|0;d=H[(H[H[a>>2]+96>>2]+N(d,12)|0)+(b-N(d,3)<<2)>>2];if((e|0)==-1){break b}break d}d=-1;if((e|0)!=-1){break d}break b}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)<0){break b}c=H[H[a>>2]+96>>2];a=(b>>>0)/3|0;f=H[(c+N(a,12)|0)+(b-N(a,3)<<2)>>2]}c=(d|0)!=(f|0)?-1:e}return c}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=pa(72);H[c+4>>2]=0;H[c+8>>2]=0;H[c>>2]=1984;H[c+12>>2]=0;H[c+16>>2]=0;H[c+20>>2]=0;H[c+24>>2]=0;H[c+28>>2]=0;H[c+32>>2]=0;H[c+36>>2]=0;H[c+40>>2]=0;H[c>>2]=2128;H[c+44>>2]=0;H[c+48>>2]=0;H[c+52>>2]=0;H[c+56>>2]=0;H[c+60>>2]=0;H[c+64>>2]=0;H[c+68>>2]=0;h=c;a:{if((b|0)>=0){g=a+8|0;c=H[a+12>>2];e=H[a+8>>2];f=c-e>>2;b:{if((f|0)>(b|0)){break b}d=b+1|0;if(b>>>0>=f>>>0){Vb(g,d-f|0);break b}if(d>>>0>=f>>>0){break b}e=(d<<2)+e|0;if((e|0)!=(c|0)){while(1){c=c-4|0;d=H[c>>2];H[c>>2]=0;if(d){ea[H[H[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}H[a+12>>2]=e}a=H[g>>2]+(b<<2)|0;c=H[a>>2];H[a>>2]=h;if(!c){break a}}ea[H[H[c>>2]+4>>2]](c)}return(b^-1)>>>31|0}function ra(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}F[a|0]=b;d=a+c|0;F[d-1|0]=b;if(c>>>0<3){break a}F[a+2|0]=b;F[a+1|0]=b;F[d-3|0]=b;F[d-2|0]=b;if(c>>>0<7){break a}F[a+3|0]=b;F[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=N(b&255,16843009);H[e>>2]=b;d=c-d&-4;c=d+e|0;H[c-4>>2]=b;if(d>>>0<9){break a}H[e+8>>2]=b;H[e+4>>2]=b;H[c-8>>2]=b;H[c-12>>2]=b;if(d>>>0<25){break a}H[e+24>>2]=b;H[e+20>>2]=b;H[e+16>>2]=b;H[e+12>>2]=b;H[c-16>>2]=b;H[c-20>>2]=b;H[c-24>>2]=b;H[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=Rj(b,0,1,1);f=da;b=e+g|0;while(1){H[b+24>>2]=d;H[b+28>>2]=f;H[b+16>>2]=d;H[b+20>>2]=f;H[b+8>>2]=d;H[b+12>>2]=f;H[b>>2]=d;H[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=H[b+8>>2];e=H[b+12>>2];g=e;e=H[b+20>>2];k=e;h=H[b+16>>2];c=h+4|0;e=c>>>0<4?e+1|0:e;i=c;a:{if(c>>>0>d>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break a}j=H[b>>2];c=j+h|0;f=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[b+16>>2]=i;H[b+20>>2]=e;c=d;d=k;e=h+8|0;d=e>>>0<8?d+1|0:d;if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}c=i+j|0;c=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=d;if((c|0)<(f|0)){break a}H[a+16>>2]=c;H[a+12>>2]=f;d=(c>>31)-((f>>31)+(c>>>0>>0)|0)|0;b=c-f|0;if(!d&b>>>0>2147483646|d){break a}l=1;d=b+1|0;H[a+20>>2]=d;b=d>>>1|0;H[a+24>>2]=b;H[a+28>>2]=0-b;if(d&1){break a}H[a+24>>2]=b-1}return l|0}function sd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+16|0;d=H[e>>2];a:{if(!d){break a}f=H[b>>2];b=e;while(1){g=(f|0)>H[d+16>>2];b=g?b:d;d=H[(g?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(e|0)|(f|0)>2]){break a}d=H[b+24>>2];if(!d){break a}f=b+20|0;b=I[c+11|0];e=b<<24>>24<0;g=e?H[c>>2]:c;b=e?H[c+4>>2]:b;while(1){e=I[d+27|0];h=e<<24>>24<0;e=h?H[d+20>>2]:e;j=e>>>0>>0;b:{c:{d:{e:{f:{g:{i=j?e:b;if(i){h=h?H[d+16>>2]:d+16|0;k=Fa(g,h,i);if(k){break g}if(b>>>0>=e>>>0){break f}break b}if(b>>>0>=e>>>0){break e}break b}if((k|0)<0){break b}}e=Fa(h,g,i);if(e){break d}}if(j){break c}return Tc(f,c)}if((e|0)<0){break c}return Tc(f,c)}d=d+4|0}d=H[d>>2];if(d){continue}break}}return Tc(a,c)}function be(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=ca-16|0;ca=d;f=H[a+24>>2];k=H[a+28>>2];a:{if((f|0)!=(k|0)){while(1){H[d+8>>2]=0;H[d>>2]=0;H[d+4>>2]=0;a=$d(H[f>>2],b,d);g=I[d+11|0];h=g<<24>>24;i=3;b:{c:{d:{if(!a){break d}i=0;a=I[c+11|0];e=a<<24>>24;j=(h|0)<0?H[d+4>>2]:g;if((j|0)!=(((e|0)<0?H[c+4>>2]:a)|0)){break d}a=(e|0)<0?H[c>>2]:c;e=(h|0)<0;e:{if(!e){e=d;if(!h){break e}while(1){if(I[e|0]!=I[a|0]){break d}a=a+1|0;e=e+1|0;g=g-1|0;if(g){continue}break}break e}if(!j){break e}if(Fa(e?H[d>>2]:d,a,j)){break c}}l=H[f>>2];i=1}if((h|0)>=0){break b}}oa(H[d>>2])}f:{switch(i|0){case 0:case 3:break f;default:break a}}f=f+4|0;if((k|0)!=(f|0)){continue}break}}l=0}ca=d+16|0;return l}function Cb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;h=f>>2;d=H[a+8>>2];e=H[a>>2];if(h>>>0<=d-e>>2>>>0){d=H[a+4>>2];g=d-e|0;f=g+b|0;i=g>>2;g=i>>>0>>0?f:c;if((g|0)!=(b|0)){while(1){H[e>>2]=H[b>>2];e=e+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}if(h>>>0>i>>>0){if((c|0)!=(g|0)){while(1){H[d>>2]=H[f>>2];d=d+4|0;f=f+4|0;if((f|0)!=(c|0)){continue}break}}H[a+4>>2]=d;return}H[a+4>>2]=e;return}if(e){H[a+4>>2]=e;oa(e);H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(d>>>0>=1073741824){break a}e=d<<2;d=pa(e);H[a>>2]=d;H[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=qa(d,c,b)+b|0}H[a+4>>2]=d;return}sa();v()}function Oa(a,b,c){var d=0,e=0,f=0;e=ca-16|0;ca=e;H[a+4>>2]=0;a:{b:{if(!b){break b}f=H[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){H[a+4>>2]=b;break c}H[e+8>>2]=0;H[e>>2]=0;H[e+4>>2]=0;if((b|0)<0){break a}if(d>>>0<=1073741822){f=f<<6;d=b+31&-32;d=d>>>0>>0?f:d}else{d=2147483647}pb(e,d);f=H[a>>2];H[a>>2]=H[e>>2];H[e>>2]=f;d=H[a+4>>2];H[a+4>>2]=b;H[e+4>>2]=d;d=H[a+8>>2];H[a+8>>2]=H[e+8>>2];H[e+8>>2]=d;if(!f){break c}oa(f)}d=b>>>5|0;a=H[a>>2];if(I[c|0]){if(b>>>0>=32){ra(a,255,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;H[a>>2]=H[a>>2]|-1>>>32-(b&31);break b}if(b>>>0>=32){ra(a,0,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;H[a>>2]=H[a>>2]&(-1>>>32-(b&31)^-1)}ca=e+16|0;return}sa();v()}function Hg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=ca-32|0;ca=e;a:{b:{f=Ma(c);if(f>>>0<2147483632){c:{d:{if(f>>>0>=11){a=(f|15)+1|0;g=pa(a);H[e+24>>2]=a|-2147483648;H[e+16>>2]=g;H[e+20>>2]=f;a=f+g|0;break d}F[e+27|0]=f;g=e+16|0;a=f+g|0;if(!f){break c}}qa(g,c,f)}F[a|0]=0;c=Ma(d);if(c>>>0>=2147483632){break b}e:{f:{if(c>>>0>=11){f=(c|15)+1|0;a=pa(f);H[e+8>>2]=f|-2147483648;H[e>>2]=a;H[e+4>>2]=c;g=a+c|0;break f}F[e+11|0]=c;g=c+e|0;a=e;if(!c){break e}}qa(a,d,c)}F[g|0]=0;c=H[b+4>>2];a=-1;g:{if(!c){break g}c=be(c,e+16|0,e);a=-1;if(!c){break g}a=Yd(b,H[c+24>>2])}if(F[e+11|0]<0){oa(H[e>>2])}if(F[e+27|0]<0){oa(H[e+16>>2])}ca=e+32|0;break a}Na();v()}Na();v()}return a|0}function jb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=H[b>>2];h=H[b+8>>2];i=H[b+4>>2];j=H[b>>2];d=H[a>>2];b=H[d+4>>2];a=H[d+8>>2];if(b>>>0>>0){H[b+8>>2]=h;H[b+4>>2]=i;H[b>>2]=j;H[d+4>>2]=b+12;return}a:{e=H[d>>2];g=(b-e|0)/12|0;c=g+1|0;if(c>>>0<357913942){f=(a-e|0)/12|0;a=f<<1;c=f>>>0>=178956970?357913941:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=357913942){break a}f=pa(N(c,12))}else{f=0}a=f+N(g,12)|0;H[a+8>>2]=h;H[a+4>>2]=i;H[a>>2]=j;g=a+12|0;if((b|0)!=(e|0)){while(1){a=a-12|0;b=b-12|0;H[a>>2]=H[b>>2];H[a+4>>2]=H[b+4>>2];H[a+8>>2]=H[b+8>>2];if((b|0)!=(e|0)){continue}break}}H[d+8>>2]=f+N(c,12);H[d+4>>2]=g;H[d>>2]=a;if(e){oa(e)}return}sa();v()}wa();v()}function lf(a,b){a=a|0;b=b|0;a=0;a:{switch(b|0){case 0:a=pa(20);H[a+12>>2]=-1;H[a+16>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=2232;return a|0;case 1:a=pa(24);H[a+12>>2]=-1;H[a+16>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=2232;H[a+20>>2]=0;H[a>>2]=2448;return a|0;case 2:a=pa(48);H[a+12>>2]=-1;H[a+16>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=2232;H[a+20>>2]=0;H[a>>2]=2448;H[a+24>>2]=1832;H[a>>2]=11048;H[a+32>>2]=0;H[a+36>>2]=0;H[a+28>>2]=-1;H[a+40>>2]=0;H[a+44>>2]=0;return a|0;case 3:a=pa(32);H[a+12>>2]=-1;H[a+16>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=2232;H[a+20>>2]=0;H[a>>2]=2448;H[a+24>>2]=1032;H[a>>2]=7028;H[a+28>>2]=-1;break;default:break a}}return a|0}function tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=H[b>>2];b=H[b+4>>2];d=H[H[a+8>>2]+40>>2];j=d;m=pa((d|0)<0?-1:d);i=b-f|0;e=1;a:{if((i|0)<4){break a}b=0;g=H[c+16>>2];k=d;f=g+d|0;d=0+H[c+20>>2]|0;d=f>>>0>>0?d+1|0:d;h=H[c+12>>2];e=0;if(K[c+8>>2]>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}e=i>>2;i=(e|0)<=1?1:e;while(1){b:{g=qa(m,H[c>>2]+g|0,j);H[c+16>>2]=f;H[c+20>>2]=d;qa(H[H[H[a+8>>2]+64>>2]>>2]+b|0,g,j);l=l+1|0;if((i|0)==(l|0)){break b}b=b+j|0;d=n+H[c+20>>2]|0;g=H[c+16>>2];f=k+g|0;d=f>>>0>>0?d+1|0:d;h=H[c+12>>2];if((d|0)<=(h|0)&K[c+8>>2]>=f>>>0|(d|0)<(h|0)){continue}}break}e=(e|0)<=(l|0)}oa(m);return e|0}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;H[b>>2]=1;f=b+8|0;c=H[b+8>>2];d=H[b+12>>2]-c|0;if(d>>>0<=4294967291){kc(f,d+4|0);c=H[f>>2]}c=c+d|0;d=H[a+4>>2];F[c|0]=d;F[c+1|0]=d>>>8;F[c+2|0]=d>>>16;F[c+3|0]=d>>>24;c=H[a+8>>2];if((c|0)!=H[a+12>>2]){d=0;while(1){g=(d<<2)+c|0;c=H[b+8>>2];e=H[b+12>>2]-c|0;if(e>>>0<=4294967291){kc(f,e+4|0);c=H[f>>2]}c=c+e|0;e=H[g>>2];F[c|0]=e;F[c+1|0]=e>>>8;F[c+2|0]=e>>>16;F[c+3|0]=e>>>24;d=d+1|0;c=H[a+8>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}c=H[b+12>>2];b=H[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){kc(f,c+4|0);b=H[f>>2]}b=b+c|0;a=H[a+20>>2];F[b|0]=a;F[b+1|0]=a>>>8;F[b+2|0]=a>>>16;F[b+3|0]=a>>>24}function Aa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;g=f>>2;d=H[a+8>>2];e=H[a>>2];if(g>>>0<=d-e>>2>>>0){f=H[a+4>>2]-e|0;d=f+b|0;h=f>>2;f=h>>>0>>0?d:c;i=f-b|0;if((b|0)!=(f|0)){va(e,b,i)}if(g>>>0>h>>>0){b=H[a+4>>2];if((c|0)!=(f|0)){while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}}H[a+4>>2]=b;return}H[a+4>>2]=e+i;return}if(e){H[a+4>>2]=e;oa(e);H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(d>>>0>=1073741824){break a}e=d<<2;d=pa(e);H[a>>2]=d;H[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=qa(d,c,b)+b|0}H[a+4>>2]=d;return}sa();v()}function Rb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=H[a+4>>2];if((c|0)!=H[a+8>>2]){e=H[b+4>>2];H[c>>2]=H[b>>2];H[c+4>>2]=e;H[c+8>>2]=H[b+8>>2];H[a+4>>2]=c+12;return}a:{g=H[a>>2];d=(c-g|0)/12|0;e=d+1|0;if(e>>>0<357913942){f=d<<1;f=d>>>0>=178956970?357913941:e>>>0>>0?f:e;if(f){if(f>>>0>=357913942){break a}e=pa(N(f,12))}else{e=0}d=e+N(d,12)|0;h=H[b+4>>2];H[d>>2]=H[b>>2];H[d+4>>2]=h;H[d+8>>2]=H[b+8>>2];b=d+12|0;if((c|0)!=(g|0)){while(1){c=c-12|0;h=H[c+4>>2];d=d-12|0;H[d>>2]=H[c>>2];H[d+4>>2]=h;H[d+8>>2]=H[c+8>>2];if((c|0)!=(g|0)){continue}break}c=H[a>>2]}H[a+8>>2]=e+N(f,12);H[a+4>>2]=b;H[a>>2]=d;if(c){oa(c)}return}sa();v()}wa();v()}function Qi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=ca-32|0;ca=f;g=e>>>0>1073741823?-1:e<<2;l=ra(pa(g),0,g);g=l;i=H[g>>2];g=H[g+4>>2];k=H[b+4>>2];H[f+24>>2]=H[b>>2];H[f+28>>2]=k;H[f+8>>2]=i;H[f+12>>2]=g;i=a+8|0;rc(f+16|0,i,f+8|0,f+24|0);H[c>>2]=H[f+16>>2];H[c+4>>2]=H[f+20>>2];if((d|0)>(e|0)){k=0-e<<2;a=e;while(1){h=a<<2;g=h+c|0;j=g+k|0;m=H[j>>2];j=H[j+4>>2];h=b+h|0;n=H[h+4>>2];H[f+24>>2]=H[h>>2];H[f+28>>2]=n;H[f+8>>2]=m;H[f+12>>2]=j;rc(f+16|0,i,f+8|0,f+24|0);H[g>>2]=H[f+16>>2];H[g+4>>2]=H[f+20>>2];a=a+e|0;if((d|0)>(a|0)){continue}break}}oa(l);ca=f+32|0;return 1}function Hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=ca-32|0;ca=f;h=e>>>0>1073741823?-1:e<<2;h=ra(pa(h),0,h);g=H[b>>2];i=H[b+4>>2];k=H[h+4>>2];H[f+16>>2]=H[h>>2];H[f+20>>2]=k;H[f+8>>2]=g;H[f+12>>2]=i;i=a+8|0;qc(f+24|0,i,f+16|0,f+8|0);H[c>>2]=H[f+24>>2];H[c+4>>2]=H[f+28>>2];if((d|0)>(e|0)){k=0-e<<2;a=e;while(1){g=a<<2;j=g+b|0;m=H[j>>2];j=H[j+4>>2];g=c+g|0;l=g+k|0;n=H[l+4>>2];H[f+16>>2]=H[l>>2];H[f+20>>2]=n;H[f+8>>2]=m;H[f+12>>2]=j;qc(f+24|0,i,f+16|0,f+8|0);H[g>>2]=H[f+24>>2];H[g+4>>2]=H[f+28>>2];a=a+e|0;if((d|0)>(a|0)){continue}break}}oa(h);ca=f+32|0;return 1}function Ag(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;a:{if(K[b+80>>2]>65535){break a}a=H[b+100>>2];b=H[b+96>>2];e=(a-b|0)/12|0;f=N(e,6);g=(f|0)==(c|0);if((a|0)==(b|0)|(c|0)!=(f|0)){break a}g=1;c=e>>>0<=1?1:e;i=c&1;a=0;if(e>>>0>=2){j=c&-2;c=0;while(1){f=N(a,6);h=f+d|0;e=b+N(a,12)|0;G[h>>1]=H[e>>2];G[(f|2)+d>>1]=H[e+4>>2];G[h+4>>1]=H[e+8>>2];f=a|1;e=N(f,6)+d|0;f=b+N(f,12)|0;G[e>>1]=H[f>>2];G[e+2>>1]=H[f+4>>2];G[e+4>>1]=H[f+8>>2];a=a+2|0;c=c+2|0;if((j|0)!=(c|0)){continue}break}}if(!i){break a}c=N(a,6)+d|0;a=b+N(a,12)|0;G[c>>1]=H[a>>2];G[c+2>>1]=H[a+4>>2];G[c+4>>1]=H[a+8>>2]}return g|0}function Gd(a,b,c,d,e,f,g){var h=0,i=0,j=0;h=ca-16|0;ca=h;if((b^-1)+2147483631>>>0>=c>>>0){if(I[a+11|0]>>>7|0){i=H[a>>2]}else{i=a}if(b>>>0<1073741799){H[h+12>>2]=b<<1;H[h>>2]=b+c;c=ca-16|0;ca=c;ca=c+16|0;c=h+12|0;c=H[(K[h>>2]>2]?c:h)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}Zb(h,c);c=H[h>>2];if(f){yb(c,g,f)}g=d-e|0;if((d|0)!=(e|0)){yb(c+f|0,e+i|0,g)}if((b|0)!=10){oa(i)}H[a>>2]=c;H[a+8>>2]=H[a+8>>2]&-2147483648|H[h+4>>2]&2147483647;H[a+8>>2]=H[a+8>>2]|-2147483648;b=a;a=f+g|0;H[b+4>>2]=a;F[h+12|0]=0;F[a+c|0]=I[h+12|0];ca=h+16|0;return}Na();v()}function Rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a=ca-32|0;ca=a;H[a+24>>2]=0;H[a+28>>2]=0;a:{d=Ma(c);if(d>>>0<2147483632){b:{c:{if(d>>>0>=11){e=(d|15)+1|0;f=pa(e);H[a+16>>2]=e|-2147483648;H[a+8>>2]=f;H[a+12>>2]=d;e=d+f|0;break c}F[a+19|0]=d;f=a+8|0;e=f+d|0;if(!d){break b}}qa(f,c,d)}F[e|0]=0;c=b+4|0;b=nb(b,a+8|0);d:{if((c|0)==(b|0)){break d}c=H[b+32>>2];b=H[b+28>>2];if((c-b|0)!=8){break d}c=I[b+4|0]|I[b+5|0]<<8|(I[b+6|0]<<16|I[b+7|0]<<24);H[a+24>>2]=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[a+28>>2]=c}g=M[a+24>>3];if(F[a+19|0]<0){oa(H[a+8>>2])}ca=a+32|0;break a}Na();v()}return+g}function uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=1;a:{if((ea[H[H[b>>2]+20>>2]](b)|0)<=0){break a}while(1){f=0;c=Zd(H[H[a+4>>2]+4>>2],ea[H[H[b>>2]+24>>2]](b,g)|0);if((c|0)==-1){break a}e=H[a+4>>2];b:{if(I[e+36|0]<=1){if(ea[H[H[b>>2]+28>>2]](b,H[H[H[e+4>>2]+8>>2]+(c<<2)>>2])|0){break b}break a}d=0;c:{if((c|0)<0){break c}h=H[e+4>>2];if(H[h+12>>2]-H[h+8>>2]>>2<=(c|0)){break c}d=H[H[e+8>>2]+(H[H[e+20>>2]+(c<<2)>>2]<<2)>>2];d=ea[H[H[d>>2]+32>>2]](d,c)|0}if(!d){break a}if(!(ea[H[H[b>>2]+28>>2]](b,d)|0)){break a}}f=1;g=g+1|0;if((ea[H[H[b>>2]+20>>2]](b)|0)>(g|0)){continue}break}}return f|0}function tb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;a:{b:{if(b){if(b>>>0>=357913942){break b}b=N(b,12);d=pa(b);H[a+4>>2]=d;H[a>>2]=d;e=b+d|0;H[a+8>>2]=e;f=H[c+4>>2];g=H[c>>2];c:{if((f|0)==(g|0)){b=b-12|0;ra(d,0,(b-((b>>>0)%12|0)|0)+12|0);break c}h=f-g|0;if((h|0)<0){break a}i=h&-4;while(1){H[d+8>>2]=0;H[d>>2]=0;H[d+4>>2]=0;b=pa(h);H[d>>2]=b;H[d+8>>2]=b+i;c=g;while(1){H[b>>2]=H[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}H[d+4>>2]=b;d=d+12|0;if((e|0)!=(d|0)){continue}break}}H[a+4>>2]=e}return}sa();v()}H[d+8>>2]=0;H[d>>2]=0;H[d+4>>2]=0;sa();v()}function Vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=H[b+8>>2];d=H[b+12>>2];g=d;d=H[b+20>>2];i=d;h=H[b+16>>2];f=h+4|0;d=f>>>0<4?d+1|0:d;a:{if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}e=h+H[b>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=d;if(J[b+38>>1]<=513){f=c;c=i;d=h+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}H[b+16>>2]=d;H[b+20>>2]=c}if(!(e&1)){break a}b=Q(e)^31;if(b-1>>>0>28){break a}j=1;H[a+8>>2]=b+1;b=-2<>2]=c;H[a+12>>2]=b^-1;H[a+24>>2]=c>>1;L[a+20>>2]=O(2)/O(c|0)}return j|0}function Lc(a,b,c){var d=0,e=0,f=0,g=0;a:{f=b>>>0<1431655766&(b|c)>=0;b:{if(!f){break b}b=N(b,3);Kc(a,b,13648);Kc(a+12|0,b,13652);d=H[a+24>>2];c:{if(H[a+32>>2]-d>>2>>>0>=c>>>0){break c}if(c>>>0>=1073741824){break a}b=H[a+28>>2];e=c<<2;c=pa(e);e=c+e|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[a+32>>2]=e;H[a+28>>2]=g;H[a+24>>2]=c;if(!d){break c}oa(d)}H[a+80>>2]=0;H[a+84>>2]=0;b=H[a+76>>2];H[a+76>>2]=0;if(b){oa(b)}H[a+68>>2]=0;H[a+72>>2]=0;b=a- -64|0;a=H[b>>2];H[b>>2]=0;if(!a){break b}oa(a)}return f}sa();v()}function Fe(a){var b=0,c=0,d=0,e=0,f=0;f=1;c=H[a+140>>2];a:{if((c|0)<=0){break a}b=c<<4;d=pa(c>>>0>268435455?-1:b|4);H[d>>2]=c;d=d+4|0;c=d+b|0;b=d;while(1){H[b>>2]=0;H[b+4>>2]=0;F[b+5|0]=0;F[b+6|0]=0;F[b+7|0]=0;F[b+8|0]=0;F[b+9|0]=0;F[b+10|0]=0;F[b+11|0]=0;F[b+12|0]=0;b=b+16|0;if((c|0)!=(b|0)){continue}break}e=H[a+136>>2];H[a+136>>2]=d;if(e){c=e-4|0;d=H[c>>2];if(d){b=(d<<4)+e|0;while(1){b=b-16|0;if((e|0)!=(b|0)){continue}break}}oa(c)}b=0;if(H[a+140>>2]<=0){break a}while(1){f=ta(H[a+136>>2]+(b<<4)|0,a);if(!f){break a}b=b+1|0;if((b|0)>2]){continue}break}}return f}function mb(a,b){var c=0,d=0,e=0,f=0,g=0;a:{if(H[a+64>>2]){break a}c=pa(32);H[c+16>>2]=0;H[c+20>>2]=0;H[c+8>>2]=0;H[c>>2]=0;H[c+4>>2]=0;H[c+24>>2]=0;H[c+28>>2]=0;d=H[a+64>>2];H[a+64>>2]=c;if(!d){break a}c=H[d>>2];if(c){H[d+4>>2]=c;oa(c)}oa(d)}d=H[a+64>>2];c=H[a+28>>2]-1|0;if(c>>>0<=10){c=H[(c<<2)+13584>>2]}else{c=-1}c=N(c,I[a+24|0]);f=c>>31;g=se(d,0,Rj(c,f,b,0),da);if(g){d=H[a+64>>2];H[a>>2]=d;e=H[d+20>>2];H[a+8>>2]=H[d+16>>2];H[a+12>>2]=e;e=H[d+24>>2];d=H[d+28>>2];H[a+48>>2]=0;H[a+52>>2]=0;H[a+40>>2]=c;H[a+44>>2]=f;H[a+16>>2]=e;H[a+20>>2]=d;H[a+80>>2]=b}return g}function jc(a,b){var c=0;c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c;c=H[b+60>>2];H[a+56>>2]=H[b+56>>2];H[a+60>>2]=c;c=H[b+52>>2];H[a+48>>2]=H[b+48>>2];H[a+52>>2]=c;c=H[b+44>>2];H[a+40>>2]=H[b+40>>2];H[a+44>>2]=c;c=H[b+36>>2];H[a+32>>2]=H[b+32>>2];H[a+36>>2]=c;c=H[b+28>>2];H[a+24>>2]=H[b+24>>2];H[a+28>>2]=c;c=H[b+20>>2];H[a+16>>2]=H[b+16>>2];H[a+20>>2]=c;c=H[b+12>>2];H[a+8>>2]=H[b+8>>2];H[a+12>>2]=c;H[a+88>>2]=0;H[a+64>>2]=0;H[a+68>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;F[a+77|0]=0;F[a+78|0]=0;F[a+79|0]=0;F[a+80|0]=0;F[a+81|0]=0;F[a+82|0]=0;F[a+83|0]=0;F[a+84|0]=0;return a}function zg(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;a=H[b+100>>2];b=H[b+96>>2];h=a-b|0;a:{if((h|0)!=(c|0)|(a|0)==(b|0)){break a}g=(c|0)/12|0;e=g>>>0<=1?1:g;j=e&1;a=0;if(g>>>0>=2){k=e&-2;g=0;while(1){e=N(a,12);i=e+d|0;f=b+e|0;H[i>>2]=H[f>>2];H[(e|4)+d>>2]=H[f+4>>2];H[i+8>>2]=H[f+8>>2];f=N(a|1,12);e=f+d|0;f=b+f|0;H[e>>2]=H[f>>2];H[e+4>>2]=H[f+4>>2];H[e+8>>2]=H[f+8>>2];a=a+2|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}}if(!j){break a}e=d;d=N(a,12);a=e+d|0;b=b+d|0;H[a>>2]=H[b>>2];H[a+4>>2]=H[b+4>>2];H[a+8>>2]=H[b+8>>2]}return(c|0)==(h|0)|0}function Mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=H[b+8>>2];d=H[b+12>>2];g=d;d=H[b+20>>2];i=d;h=H[b+16>>2];f=h+4|0;d=f>>>0<4?d+1|0:d;a:{if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}e=h+H[b>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=d;f=c;c=i;d=h+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}H[b+16>>2]=d;H[b+20>>2]=c;if(!(e&1)){break a}b=Q(e)^31;if(b-1>>>0>28){break a}j=1;H[a+8>>2]=b+1;b=-2<>2]=c;H[a+12>>2]=b^-1;H[a+24>>2]=c>>1;L[a+20>>2]=O(2)/O(c|0)}return j|0}function nb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;a=H[a+4>>2];a:{b:{if(!a){break b}d=I[b+11|0];c=d<<24>>24<0;g=c?H[b>>2]:b;d=c?H[b+4>>2]:d;b=f;while(1){e=I[a+27|0];c=e<<24>>24<0;e=c?H[a+20>>2]:e;h=e>>>0>d>>>0;i=h?d:e;c:{if(i){c=Fa(c?H[a+16>>2]:a+16|0,g,i);if(c){break c}}c=d>>>0>e>>>0?-1:h}c=(c|0)<0;b=c?b:a;a=H[(c?a+4|0:a)>>2];if(a){continue}break}if((b|0)==(f|0)){break b}c=I[b+27|0];a=c<<24>>24<0;d:{c=a?H[b+20>>2]:c;e=c>>>0>>0?c:d;if(e){a=Fa(g,a?H[b+16>>2]:b+16|0,e);if(a){break d}}if(c>>>0>d>>>0){break b}break a}if((a|0)>=0){break a}}b=f}return b}function Jf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Ya(a,H[b+8>>2],e)){if(!(H[b+28>>2]==1|H[b+4>>2]!=(c|0))){H[b+28>>2]=d}return}a:{if(Ya(a,H[b>>2],e)){if(!(H[b+16>>2]!=(c|0)&H[b+20>>2]!=(c|0))){if((d|0)!=1){break a}H[b+32>>2]=1;return}H[b+32>>2]=d;b:{if(H[b+44>>2]==4){break b}G[b+52>>1]=0;a=H[a+8>>2];ea[H[H[a>>2]+20>>2]](a,b,c,c,1,e);if(I[b+53|0]){H[b+44>>2]=3;if(!I[b+52|0]){break b}break a}H[b+44>>2]=4}H[b+20>>2]=c;H[b+40>>2]=H[b+40>>2]+1;if(H[b+36>>2]!=1|H[b+24>>2]!=2){break a}F[b+54|0]=1;return}a=H[a+8>>2];ea[H[H[a>>2]+24>>2]](a,b,c,d,e)}}function Db(a,b,c){var d=0,e=0,f=0,g=0;a:{b:{if(!b){break b}if(J[a+38>>1]<=513){f=H[a+12>>2];d=H[a+20>>2];b=H[a+16>>2];g=b+8|0;d=g>>>0<8?d+1|0:d;e=0;if(K[a+8>>2]>>0&(d|0)>=(f|0)|(d|0)>(f|0)){break a}b=b+H[a>>2]|0;d=I[b+4|0]|I[b+5|0]<<8|(I[b+6|0]<<16|I[b+7|0]<<24);H[c>>2]=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[c+4>>2]=d;b=H[a+20>>2];c=H[a+16>>2]+8|0;b=c>>>0<8?b+1|0:b;H[a+16>>2]=c;H[a+20>>2]=b;break b}e=0;if(!re(1,c,a)){break a}}F[a+36|0]=1;H[a+32>>2]=0;b=H[a+16>>2];c=b+H[a>>2]|0;H[a+24>>2]=c;H[a+28>>2]=(H[a+8>>2]-b|0)+c;e=1}return e}function ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=pa(64);c=pa(12);H[c+8>>2]=H[H[a+4>>2]+80>>2];H[c>>2]=13216;H[c+4>>2]=0;f=od(f,c);a:{b:{if((b|0)<0){c=f;break b}h=a+8|0;c=H[a+12>>2];e=H[a+8>>2];g=c-e>>2;c:{if((g|0)>(b|0)){break c}d=b+1|0;if(b>>>0>=g>>>0){Vb(h,d-g|0);break c}if(d>>>0>=g>>>0){break c}e=e+(d<<2)|0;if((e|0)!=(c|0)){while(1){c=c-4|0;d=H[c>>2];H[c>>2]=0;if(d){ea[H[H[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}H[a+12>>2]=e}a=H[h>>2]+(b<<2)|0;c=H[a>>2];H[a>>2]=f;if(!c){break a}}ea[H[H[c>>2]+4>>2]](c)}return(b^-1)>>>31|0}function Qd(a,b){var c=0,d=0,e=0,f=0;d=ca-16|0;ca=d;H[d+12>>2]=b;c=ca-208|0;ca=c;H[c+204>>2]=b;b=c+160|0;ra(b,0,40);H[c+200>>2]=H[c+204>>2];a:{if((Od(0,a,c+200|0,c+80|0,b)|0)<0){break a}f=H[3941]>=0;b=H[3922];if(H[3940]<=0){H[3922]=b&-33}b:{c:{d:{if(!H[3934]){H[3934]=80;H[3929]=0;H[3926]=0;H[3927]=0;e=H[3933];H[3933]=c;break d}if(H[3926]){break c}}if(Sd(15688)){break b}}Od(15688,a,c+200|0,c+80|0,c+160|0)}if(e){ea[H[3931]](15688,0,0)|0;H[3934]=0;H[3933]=e;H[3929]=0;H[3926]=0;H[3927]=0}H[3922]=H[3922]|b&32;if(!f){break a}}ca=c+208|0;ca=d+16|0}function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=H[a+60>>2];a:{if(!c){break a}H[c+4>>2]=a+48;if(!(ea[H[H[c>>2]+12>>2]](c)|0)){break a}b:{c=ea[H[H[a>>2]+24>>2]](a)|0;if((c|0)<=0){break b}while(1){c:{f=H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2];g=ea[H[H[a>>2]+20>>2]](a,d)|0;e=H[a+60>>2];if(!(ea[H[H[e>>2]+8>>2]](e,H[H[f+8>>2]+(g<<2)>>2])|0)){break c}d=d+1|0;if((c|0)!=(d|0)){continue}break b}break}return 0}d=0;if(!(ea[H[H[a>>2]+36>>2]](a,b)|0)){break a}if(!(ea[H[H[a>>2]+40>>2]](a,b)|0)){break a}d=ea[H[H[a>>2]+44>>2]](a)|0}return d|0}function id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=H[a+216>>2];if((c|0)!=H[a+220>>2]){while(1){a:{c=H[N(e,144)+c>>2];if((c|0)<0){break a}d=H[a+4>>2];f=H[d+8>>2];if((c|0)>=H[d+12>>2]-f>>2){break a}d=0;c=H[(c<<2)+f>>2];if((ea[H[H[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if((ea[H[H[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((ea[H[H[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}a=H[a+216>>2]+N(e,144)|0;return(I[a+100|0]?a+4|0:0)|0}e=e+1|0;c=H[a+216>>2];if(e>>>0<(H[a+220>>2]-c|0)/144>>>0){continue}break}}return 0}function xb(a){var b=0,c=0,d=0,e=0;c=H[a+132>>2];if(c){d=c;b=H[a+136>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=H[d>>2];if(e){H[b-8>>2]=e;oa(e)}b=d;if((c|0)!=(b|0)){continue}break}d=H[a+132>>2]}H[a+136>>2]=c;oa(d)}c=H[a+120>>2];if(c){d=c;b=H[a+124>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=H[d>>2];if(e){H[b-8>>2]=e;oa(e)}b=d;if((c|0)!=(b|0)){continue}break}d=H[a+120>>2]}H[a+124>>2]=c;oa(d)}b=H[a+108>>2];if(b){H[a+112>>2]=b;oa(b)}b=H[a+96>>2];if(b){H[a+100>>2]=b;oa(b)}Za(a+76|0);Za(a+56|0);Za(a+36|0);Za(a+16|0)}function rd(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=2128;d=H[a+60>>2];if(d){b=d;c=H[a- -64>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;if(b){Ga(b)}if((c|0)!=(d|0)){continue}break}b=H[a+60>>2]}H[a+64>>2]=d;oa(b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}d=H[a+36>>2];if(d){b=d;c=H[a+40>>2];if((b|0)!=(c|0)){while(1){c=c-24|0;ea[H[H[c>>2]>>2]](c)|0;if((c|0)!=(d|0)){continue}break}b=H[a+36>>2]}H[a+40>>2]=d;oa(b)}H[a>>2]=1984;b=H[a+16>>2];if(b){H[a+20>>2]=b;oa(b)}b=H[a+4>>2];if(b){H[a+8>>2]=b;oa(b)}return a|0}function ue(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=H[a+8>>2];d=H[a+4>>2];if(c-d>>2>>>0>=b>>>0){if(b){b=b<<2;d=ra(d,0,b)+b|0}H[a+4>>2]=d;return}a:{f=H[a>>2];g=d-f>>2;e=g+b|0;if(e>>>0<1073741824){c=c-f|0;h=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break a}i=pa(e<<2)}c=(g<<2)+i|0;b=b<<2;b=ra(c,0,b)+b|0;if((d|0)!=(f|0)){while(1){c=c-4|0;d=d-4|0;H[c>>2]=H[d>>2];if((d|0)!=(f|0)){continue}break}}H[a+8>>2]=(e<<2)+i;H[a+4>>2]=b;H[a>>2]=c;if(f){oa(f)}return}sa();v()}wa();v()}function rb(a){var b=0,c=0,d=0,e=0,f=0;d=H[a+8>>2];a:{if(I[d+84|0]){break a}b=H[a+16>>2];if(!b|!I[b+84|0]){break a}c=H[d+72>>2];e=H[d+68>>2];F[b+84|0]=0;c=c-e>>2;f=H[b+68>>2];e=H[b+72>>2]-f>>2;b:{if(c>>>0>e>>>0){qb(b+68|0,c-e|0,2316);d=H[a+8>>2];break b}if(c>>>0>=e>>>0){break b}H[b+72>>2]=f+(c<<2)}if(I[d+84|0]){break a}c=H[d+68>>2];if((c|0)==H[d+72>>2]){break a}e=H[H[a+16>>2]+68>>2];b=0;while(1){f=b<<2;H[f+e>>2]=H[c+f>>2];b=b+1|0;c=H[d+68>>2];if(b>>>0>2]-c>>2>>>0){continue}break}}return H[a+16>>2]}function Lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=ca+-64|0;ca=e;f=Ha(e+8|0);H[f+16>>2]=0;H[f+20>>2]=0;H[f>>2]=b;H[f+8>>2]=c;H[f+12>>2]=0;b=e+48|0;Pe(b,a,f,d);H[a+24>>2]=H[e+48>>2];f=a+24|0;a:{if((f|0)==(b|0)){break a}b=a+28|0;c=e+48|4;g=I[e+63|0];d=g<<24>>24;if(F[a+39|0]>=0){if((d|0)>=0){a=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=a;H[b+8>>2]=H[c+8>>2];break a}Xb(b,H[e+52>>2],H[e+56>>2]);break a}a=(d|0)<0;Yb(b,a?H[e+52>>2]:c,a?H[e+56>>2]:g)}if(F[e+63|0]<0){oa(H[e+52>>2])}ca=e- -64|0;return f|0}function Kg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=ca+-64|0;ca=e;f=Ha(e+8|0);H[f+16>>2]=0;H[f+20>>2]=0;H[f>>2]=b;H[f+8>>2]=c;H[f+12>>2]=0;b=e+48|0;Oe(b,a,f,d);H[a+24>>2]=H[e+48>>2];f=a+24|0;a:{if((f|0)==(b|0)){break a}b=a+28|0;c=e+48|4;g=I[e+63|0];d=g<<24>>24;if(F[a+39|0]>=0){if((d|0)>=0){a=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=a;H[b+8>>2]=H[c+8>>2];break a}Xb(b,H[e+52>>2],H[e+56>>2]);break a}a=(d|0)<0;Yb(b,a?H[e+52>>2]:c,a?H[e+56>>2]:g)}if(F[e+63|0]<0){oa(H[e+52>>2])}ca=e- -64|0;return f|0}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;a=ca-32|0;ca=a;a:{d=Ma(c);if(d>>>0<2147483632){b:{c:{if(d>>>0>=11){e=(d|15)+1|0;f=pa(e);H[a+24>>2]=e|-2147483648;H[a+16>>2]=f;H[a+20>>2]=d;e=d+f|0;break c}F[a+27|0]=d;f=a+16|0;e=f+d|0;if(!d){break b}}qa(f,c,d)}F[e|0]=0;F[a+4|0]=0;H[a>>2]=1701667182;F[a+11|0]=4;d=H[b+4>>2];c=-1;d:{if(!d){break d}d=be(d,a,a+16|0);c=-1;if(!d){break d}c=Yd(b,H[d+24>>2])}b=c;if(F[a+11|0]<0){oa(H[a>>2])}if(F[a+27|0]<0){oa(H[a+16>>2])}ca=a+32|0;break a}Na();v()}return b|0}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=H[a+216>>2];if((c|0)!=H[a+220>>2]){while(1){a:{c=H[N(e,144)+c>>2];if((c|0)<0){break a}d=H[a+4>>2];f=H[d+8>>2];if((c|0)>=H[d+12>>2]-f>>2){break a}d=0;c=H[(c<<2)+f>>2];if((ea[H[H[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if((ea[H[H[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((ea[H[H[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}return(H[a+216>>2]+N(e,144)|0)+104|0}e=e+1|0;c=H[a+216>>2];if(e>>>0<(H[a+220>>2]-c|0)/144>>>0){continue}break}}return a+184|0}function ab(a){var b=0,c=0,d=0,e=0;c=H[a+640>>2];if(c){d=c;b=H[a+644>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=H[d>>2];if(e){H[b-8>>2]=e;oa(e)}b=d;if((c|0)!=(b|0)){continue}break}d=H[a+640>>2]}H[a+644>>2]=c;oa(d)}c=H[a+628>>2];if(c){d=c;b=H[a+632>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=H[d>>2];if(e){H[b-8>>2]=e;oa(e)}b=d;if((c|0)!=(b|0)){continue}break}d=H[a+628>>2]}H[a+632>>2]=c;oa(d)}b=H[a+616>>2];if(b){H[a+620>>2]=b;oa(b)}b=H[a+604>>2];if(b){H[a+608>>2]=b;oa(b)}Za(a+584|0);Za(a+564|0);Za(a+544|0)}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=ca-16|0;ca=d;H[d+12>>2]=0;a:{e=Ma(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=pa(f);H[d+8>>2]=f|-2147483648;H[d>>2]=a;H[d+4>>2]=e;f=a+e|0;break c}F[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}qa(a,c,e)}F[f|0]=0;a=nb(b,d);d:{if((a|0)==(b+4|0)){break d}b=H[a+32>>2];a=H[a+28>>2];if((b-a|0)!=4){break d}H[d+12>>2]=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24)}a=H[d+12>>2];if(F[d+11|0]<0){oa(H[d>>2])}ca=d+16|0;break a}Na();v()}return a|0}function vb(a){var b=0,c=0,d=0,e=0;c=H[a+128>>2];if(c){d=c;b=H[a+132>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=H[d>>2];if(e){H[b-8>>2]=e;oa(e)}b=d;if((c|0)!=(b|0)){continue}break}d=H[a+128>>2]}H[a+132>>2]=c;oa(d)}c=H[a+116>>2];if(c){d=c;b=H[a+120>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=H[d>>2];if(e){H[b-8>>2]=e;oa(e)}b=d;if((c|0)!=(b|0)){continue}break}d=H[a+116>>2]}H[a+120>>2]=c;oa(d)}b=H[a+104>>2];if(b){H[a+108>>2]=b;oa(b)}b=H[a+92>>2];if(b){H[a+96>>2]=b;oa(b)}Za(a+72|0);Za(a+52|0);Za(a+32|0)}function kc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=H[a+4>>2];e=H[a>>2];d=c-e|0;b:{if(d>>>0>>0){g=b-d|0;f=H[a+8>>2];if(g>>>0<=f-c>>>0){h=a,i=ra(c,0,g)+g|0,H[h+4>>2]=i;break b}if((b|0)<0){break a}c=f-e|0;f=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0>>0?f:b;f=pa(c);ra(f+d|0,0,g);d=va(f,e,d);H[a+8>>2]=d+c;H[a+4>>2]=b+d;H[a>>2]=d;if(!e){break b}oa(e);break b}if(b>>>0>=d>>>0){break b}H[a+4>>2]=b+e}b=H[a+28>>2];c=b;d=b+1|0;b=H[a+24>>2]+1|0;e=b?c:d;H[a+24>>2]=b;H[a+28>>2]=e;return}sa();v()}function Ka(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=H[a+4>>2];if((e|0)!=H[a+8>>2]){H[e>>2]=H[b>>2];H[a+4>>2]=e+4;return}a:{g=H[a>>2];f=e-g|0;c=f>>2;d=c+1|0;if(d>>>0<1073741824){h=c<<2;c=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(c){if(c>>>0>=1073741824){break a}f=pa(c<<2)}else{f=0}d=h+f|0;H[d>>2]=H[b>>2];b=d+4|0;if((e|0)!=(g|0)){while(1){d=d-4|0;e=e-4|0;H[d>>2]=H[e>>2];if((e|0)!=(g|0)){continue}break}}H[a+8>>2]=f+(c<<2);H[a+4>>2]=b;H[a>>2]=d;if(g){oa(g)}return}sa();v()}wa();v()}function Ia(a){H[a>>2]=-1;H[a+4>>2]=0;H[a+8>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;F[a+28|0]=1;H[a+20>>2]=0;H[a+24>>2]=0;H[a+12>>2]=0;H[a+16>>2]=0;H[a+40>>2]=0;H[a+44>>2]=0;H[a+48>>2]=0;H[a+52>>2]=0;H[a+56>>2]=0;H[a+60>>2]=0;H[a+64>>2]=0;H[a+68>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+88>>2]=0;H[a+92>>2]=0;H[a+96>>2]=0;H[a+72>>2]=a+4;H[a+104>>2]=0;H[a+108>>2]=0;F[a+100|0]=1;H[a+112>>2]=0;H[a+116>>2]=0;H[a+120>>2]=0;H[a+124>>2]=0;H[a+128>>2]=0;H[a+132>>2]=0;H[a+136>>2]=0;H[a+140>>2]=0}function Ld(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!H[H[4292]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){F[a+1|0]=b&63|128;F[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){F[a+2|0]=b&63|128;F[a|0]=b>>>12|224;F[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){F[a+3|0]=b&63|128;F[a|0]=b>>>18|240;F[a+2|0]=b>>>6&63|128;F[a+1|0]=b>>>12&63|128;a=4;break a}}H[3992]=25;a=-1}else{a=1}break a}F[a|0]=b;a=1}return a}function Hb(a,b){var c=0,d=0,e=0,f=0;d=H[a+12>>2];c=H[a+16>>2]-d>>2;a:{if(c>>>0>>0){ya(a+12|0,b-c|0);break a}if(b>>>0>=c>>>0){break a}H[a+16>>2]=d+(b<<2)}b:{c=H[a>>2];c:{if(H[a+8>>2]-c>>2>>>0>=b>>>0){break c}if(b>>>0>=1073741824){break b}d=H[a+4>>2];e=b<<2;b=pa(e);e=b+e|0;f=b+(d-c&-4)|0;b=f;if((c|0)!=(d|0)){while(1){b=b-4|0;d=d-4|0;H[b>>2]=H[d>>2];if((c|0)!=(d|0)){continue}break}}H[a+8>>2]=e;H[a+4>>2]=f;H[a>>2]=b;if(!c){break c}oa(c)}return}sa();v()}function _b(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=13724;b=H[a+68>>2];if(b){H[a+72>>2]=b;oa(b)}b=H[a+56>>2];if(b){H[a+60>>2]=b;oa(b)}b=H[a+44>>2];if(b){H[a+48>>2]=b;oa(b)}b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}b=H[a+20>>2];if(b){H[a+24>>2]=b;oa(b)}b=H[a+8>>2];if(b){d=b;c=H[a+12>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;d=H[c>>2];H[c>>2]=0;if(d){Ga(d)}if((b|0)!=(c|0)){continue}break}d=H[a+8>>2]}H[a+12>>2]=b;oa(d)}b=H[a+4>>2];H[a+4>>2]=0;if(b){Uc(b)}return a|0}function yb(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=ca-16|0;ca=f;d=ca-32|0;ca=d;e=ca-16|0;ca=e;H[e+12>>2]=b;H[e+8>>2]=b+c;H[d+24>>2]=H[e+12>>2];H[d+28>>2]=H[e+8>>2];ca=e+16|0;c=ca-16|0;ca=c;h=H[d+28>>2];e=H[d+24>>2];g=h-e|0;if((e|0)!=(h|0)){va(a,e,g)}H[c+12>>2]=e+g;H[c+8>>2]=a+g;H[d+16>>2]=H[c+12>>2];H[d+20>>2]=H[c+8>>2];ca=c+16|0;H[d+12>>2]=(H[d+16>>2]-b|0)+b;H[d+8>>2]=(H[d+20>>2]-a|0)+a;H[f+8>>2]=H[d+12>>2];H[f+12>>2]=H[d+8>>2];ca=d+32|0;ca=f+16|0}function ya(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=H[a+8>>2];c=H[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=ra(c,0,b)+b|0}H[a+4>>2]=c;return}a:{f=c;c=H[a>>2];g=f-c|0;h=g>>2;d=h+b|0;if(d>>>0<1073741824){e=e-c|0;f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}i=pa(d<<2)}b=b<<2;e=ra((h<<2)+i|0,0,b);f=d<<2;d=va(i,c,g);H[a+8>>2]=f+d;H[a+4>>2]=b+e;H[a>>2]=d;if(c){oa(c)}return}sa();v()}wa();v()}function Tc(a,b){var c=0,d=0,e=0,f=0;c=a+4|0;a=nb(a,b);a:{if((c|0)==(a|0)){break a}b=a+28|0;b=F[a+39|0]<0?H[b>>2]:b;while(1){a=b;b=a+1|0;c=F[a|0];if((c|0)==32|c-9>>>0<5){continue}break}b:{c:{d:{c=F[a|0];switch(c-43|0){case 0:break c;case 2:break d;default:break b}}e=1}c=F[b|0];a=b}if(c-48>>>0<10){while(1){d=(N(d,10)-F[a|0]|0)+48|0;b=F[a+1|0];a=a+1|0;if(b-48>>>0<10){continue}break}}a=e?d:0-d|0;if((a|0)==-1){break a}f=(a|0)!=0}return f}function bb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a=H[a>>2];c=H[a+4>>2];e=H[a+8>>2];if(c>>>0>>0){H[c>>2]=H[b>>2];H[a+4>>2]=c+4;return}a:{d=c;c=H[a>>2];g=d-c|0;d=g>>2;f=d+1|0;if(f>>>0<1073741824){h=d<<2;e=e-c|0;d=e>>>1|0;f=e>>>0>=2147483644?1073741823:f>>>0>>0?d:f;if(f){if(f>>>0>=1073741824){break a}e=pa(f<<2)}else{e=0}d=h+e|0;H[d>>2]=H[b>>2];b=va(e,c,g);H[a+8>>2]=b+(f<<2);H[a+4>>2]=d+4;H[a>>2]=b;if(c){oa(c)}return}sa();v()}wa();v()}function ob(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=H[a+8>>2];c=H[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=ra(c,0,b)+b|0}H[a+4>>2]=c;return}a:{f=c;c=H[a>>2];g=f-c|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){e=e-c|0;f=e>>>2|0;d=e>>>0>=2147483640?536870911:d>>>0>>0?f:d;if(d){if(d>>>0>=536870912){break a}i=pa(d<<3)}b=b<<3;e=ra((h<<3)+i|0,0,b);f=d<<3;d=va(i,c,g);H[a+8>>2]=f+d;H[a+4>>2]=b+e;H[a>>2]=d;if(c){oa(c)}return}sa();v()}wa();v()}function kf(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=2328;b=H[a+60>>2];H[a+60>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}d=H[a+36>>2];if(d){c=H[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=H[a+36>>2]}H[a+40>>2]=d;oa(b)}H[a>>2]=1984;b=H[a+16>>2];if(b){H[a+20>>2]=b;oa(b)}b=H[a+4>>2];if(b){H[a+8>>2]=b;oa(b)}return a|0}function jf(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=2328;b=H[a+60>>2];H[a+60>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}d=H[a+36>>2];if(d){c=H[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=H[a+36>>2]}H[a+40>>2]=d;oa(b)}H[a>>2]=1984;b=H[a+16>>2];if(b){H[a+20>>2]=b;oa(b)}b=H[a+4>>2];if(b){H[a+8>>2]=b;oa(b)}oa(a)}function xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=ca-16|0;ca=d;e=H[a+4>>2];a:{if((e|0)==-1){break a}c=H[b+20>>2];if(!!H[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Wb(b,H[b+4>>2],H[a+8>>2],H[a+12>>2]);c=H[b+20>>2];if(!!H[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Wb(b,H[b+4>>2],a+20|0,a+24|0);c=H[b+20>>2];f=H[b+16>>2];F[d+15|0]=H[a+4>>2];if(!!f&(c|0)>=0|(c|0)>0){break a}Wb(b,H[b+4>>2],d+15|0,d+16|0)}ca=d+16|0;return(e|0)!=-1|0}function Eh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;a:{b=H[a+8>>2];b:{if((b|0)<0){break b}c=H[a+4>>2];e=H[c>>2];d=H[c+4>>2]-e>>2;c:{if(d>>>0>>0){ue(c,b-d|0);f=H[a+8>>2];break c}f=b;if(b>>>0>=d>>>0){break c}H[c+4>>2]=e+(b<<2);f=b}d=f;if((d|0)<=0){break b}a=H[a+4>>2];c=H[a>>2];e=H[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(e|0)){break a}H[c+(a<<2)>>2]=a;a=a+1|0;if((d|0)!=(a|0)){continue}break}}return(b^-1)>>>31|0}Ca();v()}function qe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=H[a+8>>2];c=H[a+4>>2];if(e-c>>1>>>0>=b>>>0){if(b){b=b<<1;c=ra(c,0,b)+b|0}H[a+4>>2]=c;return}a:{f=c;c=H[a>>2];g=f-c|0;f=g>>1;d=f+b|0;if((d|0)>=0){e=e-c|0;d=e>>>0>=2147483646?2147483647:d>>>0>>0?e:d;if(d){if((d|0)<0){break a}h=pa(d<<1)}b=b<<1;e=ra((f<<1)+h|0,0,b);f=d<<1;d=va(h,c,g);H[a+8>>2]=f+d;H[a+4>>2]=b+e;H[a>>2]=d;if(c){oa(c)}return}sa();v()}wa();v()}function ng(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=ca-16|0;ca=d;Pe(d,a,b,c);H[a+24>>2]=H[d>>2];e=a+24|0;a:{if((e|0)==(d|0)){break a}b=a+28|0;c=d|4;f=I[d+15|0];g=f<<24>>24;if(F[a+39|0]>=0){if((g|0)>=0){a=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=a;H[b+8>>2]=H[c+8>>2];break a}Xb(b,H[d+4>>2],H[d+8>>2]);break a}a=(g|0)<0;Yb(b,a?H[d+4>>2]:c,a?H[d+8>>2]:f)}if(F[d+15|0]<0){oa(H[d+4>>2])}ca=d+16|0;return e|0}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=ca-16|0;ca=d;Oe(d,a,b,c);H[a+24>>2]=H[d>>2];e=a+24|0;a:{if((e|0)==(d|0)){break a}b=a+28|0;c=d|4;f=I[d+15|0];g=f<<24>>24;if(F[a+39|0]>=0){if((g|0)>=0){a=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=a;H[b+8>>2]=H[c+8>>2];break a}Xb(b,H[d+4>>2],H[d+8>>2]);break a}a=(g|0)<0;Yb(b,a?H[d+4>>2]:c,a?H[d+8>>2]:f)}if(F[d+15|0]<0){oa(H[d+4>>2])}ca=d+16|0;return e|0}function za(a,b,c){var d=0,e=0,f=0,g=0;e=ca-16|0;ca=e;a:{b:{if(c>>>0<11){d=a;F[a+11|0]=I[a+11|0]&128|c;F[a+11|0]=I[a+11|0]&127;break b}if(c>>>0>2147483631){break a}g=e+8|0;if(c>>>0>=11){f=c+16&-16;d=f-1|0;d=(d|0)==11?f:d}else{d=10}Zb(g,d+1|0);d=H[e+8>>2];H[a>>2]=d;H[a+8>>2]=H[a+8>>2]&-2147483648|H[e+12>>2]&2147483647;H[a+8>>2]=H[a+8>>2]|-2147483648;H[a+4>>2]=c}yb(d,b,c+1|0);ca=e+16|0;return}Na();v()}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=ca-16|0;ca=d;a:{e=Ma(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=pa(g);H[d+8>>2]=g|-2147483648;H[d>>2]=f;H[d+4>>2]=e;g=e+f|0;break c}F[d+11|0]=e;g=d+e|0;f=d;if(!e){break b}}qa(f,c,e)}F[g|0]=0;f=a+16|0;c=$d(b,d,f);b=H[a+16>>2];a=F[a+27|0];if(F[d+11|0]<0){oa(H[d>>2])}ca=d+16|0;a=c?(a|0)<0?b:f:0;break a}Na();v()}return a|0}function Mc(a,b){var c=0,d=0,e=0;c=H[a+4>>2];d=c+b|0;H[a+4>>2]=d;if(!((d-1^c-1)>>>0<32?c:0)){H[H[a>>2]+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0}a:{if(!b){break a}a=H[a>>2]+(c>>>3&536870908)|0;c=c&31;if(c){d=32-c|0;e=b>>>0>d>>>0?d:b;H[a>>2]=H[a>>2]&(-1<>>d-e^-1);b=b-e|0;a=a+4|0}c=b>>>5|0;if(b>>>0>=32){ra(a,0,c<<2)}if((b&-32)==(b|0)){break a}a=(c<<2)+a|0;H[a>>2]=H[a>>2]&(-1>>>32-(b&31)^-1)}}function Fc(a,b,c){var d=0,e=0,f=0;d=H[c+16>>2];a:{if(!d){if(Sd(c)){break a}d=H[c+16>>2]}f=H[c+20>>2];if(d-f>>>0>>0){return ea[H[c+36>>2]](c,a,b)|0}b:{if(H[c+80>>2]<0){d=0;break b}e=b;while(1){d=e;if(!d){d=0;break b}e=d-1|0;if(I[e+a|0]!=10){continue}break}e=ea[H[c+36>>2]](c,a,d)|0;if(e>>>0>>0){break a}a=a+d|0;b=b-d|0;f=H[c+20>>2]}qa(f,a,b);H[c+20>>2]=H[c+20>>2]+b;e=b+d|0}return e}function ad(a){var b=0,c=0,d=0,e=0;if(I[a+76|0]){F[a+76|0]=0;e=H[a+60>>2];c=H[a+72>>2]+7|0;b=c>>>0<7?1:b;d=b<<29|c>>>3;c=d+H[a+56>>2]|0;b=(b>>>3|0)+e|0;H[a+56>>2]=c;H[a+60>>2]=c>>>0>>0?b+1|0:b}if(J[a+38>>1]<=513){F[a+132|0]=0;e=H[a+116>>2];b=0;c=H[a+128>>2]+7|0;b=c>>>0<7?1:b;d=b<<29|c>>>3;c=d+H[a+112>>2]|0;b=(b>>>3|0)+e|0;H[a+112>>2]=c;H[a+116>>2]=c>>>0>>0?b+1|0:b}}function re(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=H[c+20>>2];f=H[c+12>>2];e=H[c+16>>2];if((d|0)>=(f|0)&e>>>0>=K[c+8>>2]|(d|0)>(f|0)){break a}f=F[e+H[c>>2]|0];e=e+1|0;d=e?d:d+1|0;H[c+16>>2]=e;H[c+20>>2]=d;d=f;b:{if((d|0)<0){if(!re(a+1|0,b,c)){break a}a=H[b>>2];d=d&127|a<<7;a=H[b+4>>2]<<7|a>>>25;break b}d=d&255;a=0}H[b>>2]=d;H[b+4>>2]=a;g=1}return g}function gb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=H[c+20>>2];f=H[c+12>>2];e=H[c+16>>2];if((d|0)>=(f|0)&e>>>0>=K[c+8>>2]|(d|0)>(f|0)){break a}f=F[e+H[c>>2]|0];e=e+1|0;d=e?d:d+1|0;H[c+16>>2]=e;H[c+20>>2]=d;d=f;b:{if((d|0)<0){if(!gb(a+1|0,b,c)){break a}a=H[b>>2];d=d&127|a<<7;a=H[b+4>>2]<<7|a>>>25;break b}d=d&255;a=0}H[b>>2]=d;H[b+4>>2]=a;g=1}return g}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=ca+-64|0;ca=e;d=ea[H[H[a>>2]+44>>2]](a,b)|0;a=ea[H[H[a>>2]+40>>2]](a,b)|0;f=Eb(e);g=H[b+56>>2];h=d&255;i=a;a=a-1|0;if(a>>>0<=10){a=H[(a<<2)+13584>>2]}else{a=-1}d=N(a,d);lc(f,g,h,i,0,d,d>>31);a=jc(pa(96),f);mb(a,c);F[a+84|0]=1;H[a+72>>2]=H[a+68>>2];H[a+60>>2]=H[b+60>>2];ca=e- -64|0;return a|0}function If(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Ya(a,H[b+8>>2],e)){if(!(H[b+28>>2]==1|H[b+4>>2]!=(c|0))){H[b+28>>2]=d}return}a:{if(!Ya(a,H[b>>2],e)){break a}if(!(H[b+16>>2]!=(c|0)&H[b+20>>2]!=(c|0))){if((d|0)!=1){break a}H[b+32>>2]=1;return}H[b+20>>2]=c;H[b+32>>2]=d;H[b+40>>2]=H[b+40>>2]+1;if(!(H[b+36>>2]!=1|H[b+24>>2]!=2)){F[b+54|0]=1}H[b+44>>2]=4}}function Bh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=H[a+32>>2];b=e;h=H[b+8>>2];g=H[b+12>>2];c=H[b+16>>2];b=H[b+20>>2];f=c+4|0;b=f>>>0<4?b+1|0:b;d=0;a:{if(f>>>0>h>>>0&(b|0)>=(g|0)|(b|0)>(g|0)){break a}c=H[e>>2]+c|0;c=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[e+16>>2]=f;H[e+20>>2]=b;d=0;if((c|0)<0){break a}H[H[a+4>>2]+80>>2]=c;d=1}return d|0}function qi(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=11276;b=H[a+48>>2];H[a+48>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}H[a>>2]=13280;b=H[a+20>>2];if(b){H[a+24>>2]=b;oa(b)}d=H[a+8>>2];if(d){c=H[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=H[a+8>>2]}H[a+12>>2]=d;oa(b)}return a|0}function Ee(a,b){var c=0,d=0,e=0,f=0;H[a+144>>2]=b;c=H[(ea[H[H[b>>2]+32>>2]](b)|0)+32>>2];c=H[c>>2]+H[c+16>>2]|0;d=H[(ea[H[H[b>>2]+32>>2]](b)|0)+32>>2];d=H[d+8>>2]-H[d+16>>2]|0;e=a,f=J[H[(ea[H[H[b>>2]+32>>2]](b)|0)+32>>2]+38>>1],G[e+38>>1]=f;H[a>>2]=c;H[a+16>>2]=0;H[a+20>>2]=0;H[a+8>>2]=d;H[a+12>>2]=0;e=a,f=ea[H[H[b>>2]+36>>2]](b)|0,H[e+148>>2]=f}function Cd(a,b,c,d){F[a+53|0]=1;a:{if(H[a+4>>2]!=(c|0)){break a}F[a+52|0]=1;c=H[a+16>>2];b:{if(!c){H[a+36>>2]=1;H[a+24>>2]=d;H[a+16>>2]=b;if((d|0)!=1){break a}if(H[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=H[a+24>>2];if((c|0)==2){H[a+24>>2]=d;c=d}if(H[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}H[a+36>>2]=H[a+36>>2]+1}F[a+54|0]=1}}function pi(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=11276;b=H[a+48>>2];H[a+48>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}H[a>>2]=13280;b=H[a+20>>2];if(b){H[a+24>>2]=b;oa(b)}d=H[a+8>>2];if(d){c=H[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=H[a+8>>2]}H[a+12>>2]=d;oa(b)}oa(a)}function zh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=H[a+32>>2];b=e;g=H[b+8>>2];d=H[b+12>>2];c=H[b+16>>2];b=H[b+20>>2];f=d;d=c+4|0;b=d>>>0<4?b+1|0:b;if((f|0)>=(b|0)&d>>>0<=g>>>0|(b|0)<(f|0)){c=H[e>>2]+c|0;c=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[e+16>>2]=d;H[e+20>>2]=b;H[H[a+4>>2]+80>>2]=c}return(b|0)<=(f|0)&d>>>0<=g>>>0|(b|0)<(f|0)}function Mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=ca+-64|0;ca=e;d=1;a:{if(Ya(a,b,0)){break a}d=0;if(!b){break a}b=Ed(b,14972);d=0;if(!b){break a}d=e+8|0;ra(d|4,0,52);H[e+56>>2]=1;H[e+20>>2]=-1;H[e+16>>2]=a;H[e+8>>2]=b;ea[H[H[b>>2]+28>>2]](b,d,H[c>>2],1);a=H[e+32>>2];if((a|0)==1){H[c>>2]=H[e+24>>2]}d=(a|0)==1}ca=e- -64|0;return d|0}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ca-16|0;ca=d;H[a+4>>2]=b;b=H[b+64>>2];e=H[b>>2];b=H[b+4>>2];F[d+15|0]=0;Oa(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=H[a+4>>2];e=H[b+56>>2];b=H[b+52>>2];F[d+14|0]=0;Oa(a+36|0,e-b>>2,d+14|0);b=H[c+12>>2];H[a+16>>2]=H[c+8>>2];H[a+20>>2]=b;b=H[c+4>>2];H[a+8>>2]=H[c>>2];H[a+12>>2]=b;ca=d+16|0}function pc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!b){H[c>>2]=0;return}h=0-I[a+12|0]&255;e=H[a+4>>2];d=H[a+8>>2];i=H[a>>2];while(1){j=f<<1;if(!((e|0)<=0|d>>>0>4095)){e=e-1|0;H[a+4>>2]=e;d=I[e+i|0]|d<<8}g=d&255;f=g>>>0>>0;k=g;g=N(d>>>8|0,h);d=f?k+g|0:d-(h+g|0)|0;H[a+8>>2]=d;f=f|j;b=b-1|0;if(b){continue}break}H[c>>2]=f}function yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a=ca-16|0;ca=a;f=F[b+24|0];e=H[3411];H[a+8>>2]=H[3410];H[a+12>>2]=e;e=H[3409];H[a>>2]=H[3408];H[a+4>>2]=e;e=Va(b,c,f,a);if(e){b=0;if(f){c=(f&255)<<2;b=pa(c);g=qa(b,a,c)+c|0}c=H[d>>2];if(c){H[d+4>>2]=c;oa(c)}H[d+8>>2]=g;H[d+4>>2]=g;H[d>>2]=b}ca=a+16|0;return e|0}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=ea[H[H[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=H[H[a+36>>2]>>2];g=a+48|0;c=0;if(!(ea[H[H[d>>2]+16>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=H[H[a+36>>2]+(e<<2)>>2];if(ea[H[H[d>>2]+16>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=ea[H[H[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=H[H[a+36>>2]>>2];g=a+48|0;c=0;if(!(ea[H[H[d>>2]+20>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=H[H[a+36>>2]+(e<<2)>>2];if(ea[H[H[d>>2]+20>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function _c(a,b){var c=0,d=0;a:{c=H[a+4>>2];d=H[a+8>>2];if((c|0)==d<<5){if((c+1|0)<0){break a}if(c>>>0<=1073741822){d=d<<6;c=(c&-32)+32|0;c=c>>>0>>0?d:c}else{c=2147483647}pb(a,c);c=H[a+4>>2]}H[a+4>>2]=c+1;d=1<>2]+(c>>>3&536870908)|0;if(I[b|0]){H[a>>2]=d|H[a>>2];return}H[a>>2]=H[a>>2]&(d^-1);return}sa();v()}function $h(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ca-16|0;ca=d;H[a+4>>2]=b;e=H[b>>2];b=H[b+4>>2];F[d+15|0]=0;Oa(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=H[a+4>>2];e=H[b+28>>2];b=H[b+24>>2];F[d+14|0]=0;Oa(a+36|0,e-b>>2,d+14|0);b=H[c+12>>2];H[a+16>>2]=H[c+8>>2];H[a+20>>2]=b;b=H[c+4>>2];H[a+8>>2]=H[c>>2];H[a+12>>2]=b;ca=d+16|0}function $b(a){var b=0;H[a>>2]=0;H[a+4>>2]=0;H[a+56>>2]=0;H[a+48>>2]=0;H[a+52>>2]=0;H[a+40>>2]=0;H[a+44>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;H[a+24>>2]=0;H[a+28>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0;b=a- -64|0;H[b>>2]=0;H[b+4>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+60>>2]=a;return a}function td(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=H[c+20>>2];e=H[c+12>>2];f=H[c+16>>2];if((d|0)>=(e|0)&f>>>0>=K[c+8>>2]|(d|0)>(e|0)){break a}e=I[H[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;H[c+16>>2]=f;H[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!td(a+1|0,b,c)){break a}e=d&127|H[b>>2]<<7}H[b>>2]=e;g=1}return g} +function Ud(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0;B=ca-672|0;ca=B;k=H[b+8>>2];s=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;a:{b:{c:{if(g>>>0>k>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break c}d=e+H[b>>2]|0;H[a>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[a>>2]>31){break c}s=H[b+8>>2];y=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(y|0)|(d|0)>(y|0)){break c}d=e+H[b>>2]|0;H[a+4>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;s=H[b+8>>2];y=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(y|0)|(d|0)>(y|0)){break c}d=e+H[b>>2]|0;H[a+12>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;d=H[a+20>>2];x=H[a+12>>2];if((x|0)!=(d|0)?d:0){break c}s=H[b+8>>2];y=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(y|0)|(d|0)>(y|0)){break c}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[a+16>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(e>>>0>=7){H[B>>2]=e;Qd(1713,B);break c}H[B+664>>2]=c;d:{if(!x){break d}e:{k=H[c>>2];if(x>>>0<=(H[c+8>>2]-k|0)/12>>>0){break e}if(x>>>0<357913942){l=H[c+4>>2];d=N(x,12);e=pa(d);g=d+e|0;e=e+N((l-k|0)/12|0,12)|0;d=e;if((k|0)!=(l|0)){while(1){d=d-12|0;l=l-12|0;H[d>>2]=H[l>>2];H[d+4>>2]=H[l+4>>2];H[d+8>>2]=H[l+8>>2];if((k|0)!=(l|0)){continue}break}}H[c+8>>2]=g;H[c+4>>2]=e;H[c>>2]=d;if(!k){break e}oa(k);break e}break b}f:{switch(H[a+16>>2]){case 0:i=wb(B+8|0,3);z=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;g:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break g}d=e+H[b>>2]|0;H[i>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[i>>2]>32){break g}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break g}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[i+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break g}H[i+8>>2]=0;if(!ua(i+16|0,b)){break g}if(!ua(i+36|0,b)){break g}if(!ua(i+56|0,b)){break g}if(!ua(i+76|0,b)){break g}A=H[i+4>>2];d=0;g=0;f=ca-32|0;ca=f;m=H[i+12>>2];H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;if(m){if(m>>>0>=1073741824){break b}b=m<<2;g=pa(b);H[f+8>>2]=g;d=b+g|0;H[f+16>>2]=d;ra(g,0,b);H[f+12>>2]=d}e=H[i+120>>2];b=H[e>>2];if(b){H[e+4>>2]=b;oa(b);m=H[i+12>>2];g=H[f+8>>2];d=H[f+12>>2]}H[e+4>>2]=d;H[e>>2]=g;H[e+8>>2]=H[f+16>>2];g=0;H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;h:{if(m){if(m>>>0>=1073741824){break b}b=m<<2;w=pa(b);H[f+8>>2]=w;g=b+w|0;H[f+16>>2]=g;ra(w,0,b);H[f+12>>2]=g}d=H[i+132>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);w=H[f+8>>2];g=H[f+12>>2]}H[d+4>>2]=g;H[d>>2]=w;H[d+8>>2]=H[f+16>>2];H[f+24>>2]=0;H[f+28>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;xa(f+8|0);d=H[f+24>>2]+H[f+28>>2]|0;b=(d>>>0)/341|0;b=H[H[f+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=A;m=H[f+28>>2]+1|0;H[f+28>>2]=m;i:{if(!m){break i}y=i+96|0;while(1){n=H[f+12>>2];g=H[f+24>>2];e=m-1|0;d=g+e|0;b=(d>>>0)/341|0;b=H[n+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;o=H[b+8>>2];k=H[b+4>>2];t=H[b>>2];H[f+28>>2]=e;b=H[f+16>>2];if((((b|0)!=(n|0)?N(b-n>>2,341)-1|0:0)-(g+m|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[f+16>>2]=H[f+16>>2]-4}b=0;if(t>>>0>A>>>0){break i}d=H[i+12>>2];m=(k|0)!=(d-1|0)?k+1|0:0;if(m>>>0>=d>>>0){break i}q=N(o,12);p=q+H[i+132>>2]|0;l=q+H[i+120>>2]|0;g=H[i>>2];r=m<<2;e=H[r+H[p>>2]>>2];j:{k:{if((g|0)==(e|0)){if(!t){break k}while(1){d=H[l>>2];x=H[d+8>>2];s=H[d+4>>2];n=H[d>>2];q=H[z>>2];m=H[q+4>>2];d=H[q+8>>2];l:{if(m>>>0>>0){H[m+8>>2]=x;H[m+4>>2]=s;H[m>>2]=n;H[q+4>>2]=m+12;break l}r=H[q>>2];g=(m-r|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(d-r|0)/12|0;d=e<<1;k=e>>>0>=178956970?357913941:d>>>0>k>>>0?d:k;if(k){if(k>>>0>=357913942){break a}d=pa(N(k,12))}else{d=0}w=d+N(g,12)|0;H[w+8>>2]=x;H[w+4>>2]=s;H[w>>2]=n;e=w+12|0;if((m|0)!=(r|0)){while(1){w=w-12|0;m=m-12|0;H[w>>2]=H[m>>2];H[w+4>>2]=H[m+4>>2];H[w+8>>2]=H[m+8>>2];if((m|0)!=(r|0)){continue}break}}H[q+8>>2]=d+N(k,12);H[q+4>>2]=e;H[q>>2]=w;if(!r){break l}oa(r)}H[i+8>>2]=H[i+8>>2]+1;b=b+1|0;if((t|0)!=(b|0)){continue}break}break k}m:{n:{o:{p:{if(t>>>0<=2){d=H[i+108>>2];H[d>>2]=m;w=1;g=H[i+12>>2];if(g>>>0>1){break p}break m}if(K[i+8>>2]>K[i+4>>2]){break i}b=H[i+120>>2];s=o+1|0;x=N(s,12);d=b+x|0;if((d|0)!=(l|0)){Aa(d,H[l>>2],H[l+4>>2]);b=H[i+120>>2]}b=r+H[b+x>>2]|0;H[b>>2]=H[b>>2]+(1<>2];e=32-k|0;q:{if((n|0)<=(e|0)){e=H[i+28>>2];if((e|0)==H[i+20>>2]){break o}d=H[e>>2];b=k+n|0;H[i+32>>2]=b;w=d<>>32-n|0;if((b|0)!=32){break q}H[i+32>>2]=0;H[i+28>>2]=e+4;break q}g=H[i+28>>2];b=g+4|0;if((b|0)==H[i+20>>2]){break o}d=H[g>>2];H[i+28>>2]=b;b=n-e|0;H[i+32>>2]=b;w=H[g+4>>2]>>>32-b|d<>>32-n}d=t>>>1|0;if(w>>>0>d>>>0){break i}break n}while(1){m=(g-1|0)!=(m|0)?m+1|0:0;H[d+(w<<2)>>2]=m;g=H[i+12>>2];w=w+1|0;if(g>>>0>w>>>0){continue}break}break m}d=t>>>1|0;w=0}r:{s:{e=d-w|0;b=t-e|0;t:{if((b|0)==(e|0)){b=e;break t}n=H[i+88>>2];if((n|0)==H[i+80>>2]){break s}k=H[n>>2];g=H[i+92>>2];d=g+1|0;H[i+92>>2]=d;g=k&-2147483648>>>g;u:{if((d|0)==32){H[i+92>>2]=0;H[i+88>>2]=n+4;if(g){break u}break s}if(!g){break s}}}d=b;b=e;break r}d=e}n=H[i+132>>2];k=n+q|0;g=H[k>>2];e=g+r|0;H[e>>2]=H[e>>2]+1;Aa(n+x|0,g,H[k+4>>2]);if(b){g=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];w=H[f+12>>2];if((g|0)==(((e|0)!=(w|0)?N(e-w>>2,341)-1|0:0)|0)){xa(f+8|0);w=H[f+12>>2];g=H[f+24>>2]+H[f+28>>2]|0}e=(g>>>0)/341|0;e=H[(e<<2)+w>>2]+N(g-N(e,341)|0,12)|0;H[e+8>>2]=o;H[e+4>>2]=m;H[e>>2]=b;H[f+28>>2]=H[f+28>>2]+1}if(!d){break k}g=H[f+28>>2]+H[f+24>>2]|0;b=H[f+16>>2];w=H[f+12>>2];if((g|0)==(((b|0)!=(w|0)?N(b-w>>2,341)-1|0:0)|0)){xa(f+8|0);w=H[f+12>>2];g=H[f+24>>2]+H[f+28>>2]|0}b=(g>>>0)/341|0;b=H[(b<<2)+w>>2]+N(g-N(b,341)|0,12)|0;H[b+8>>2]=s;H[b+4>>2]=m;H[b>>2]=d;m=H[f+28>>2]+1|0;H[f+28>>2]=m;break j}if(!t){break k}while(1){if(H[i+12>>2]){o=H[i+40>>2];n=H[p>>2];w=H[i+96>>2];k=H[i+108>>2];m=0;while(1){q=k+(m<<2)|0;H[w+(H[q>>2]<<2)>>2]=0;g=H[i>>2];e=H[q>>2]<<2;d=H[e+n>>2];v:{if((g|0)==(d|0)){break v}r=e+w|0;u=g-d|0;x=H[i+52>>2];g=32-x|0;if((u|0)<=(g|0)){e=H[i+48>>2];if((e|0)==(o|0)){break i}H[r>>2]=H[e>>2]<>>32-u;d=u+H[i+52>>2]|0;H[i+52>>2]=d;if((d|0)!=32){break v}H[i+52>>2]=0;H[i+48>>2]=e+4;break v}s=H[i+48>>2];d=s+4|0;if((d|0)==(o|0)){break i}e=H[s>>2];H[i+48>>2]=d;d=u-g|0;H[i+52>>2]=d;H[r>>2]=H[s+4>>2]>>>32-d|e<>>32-u}e=H[q>>2]<<2;d=e+w|0;H[d>>2]=H[d>>2]|H[e+H[l>>2]>>2];m=m+1|0;if(m>>>0>2]){continue}break}}jb(z,y);H[i+8>>2]=H[i+8>>2]+1;b=b+1|0;if((t|0)!=(b|0)){continue}break}}m=H[f+28>>2]}if(m){continue}break}}H[f+28>>2]=0;w=H[f+16>>2];m=H[f+12>>2];g=w-m|0;if(g>>>0>=9){while(1){oa(H[m>>2]);m=H[f+12>>2]+4|0;H[f+12>>2]=m;w=H[f+16>>2];g=w-m|0;if(g>>>0>8){continue}break}}b=170;w:{switch((g>>>2|0)-1|0){case 1:b=341;case 0:H[f+24>>2]=b;break;default:break w}}x:{if((m|0)==(w|0)){break x}while(1){oa(H[m>>2]);m=m+4|0;if((w|0)!=(m|0)){continue}break}d=H[f+16>>2];b=H[f+12>>2];if((d|0)==(b|0)){break x}H[f+16>>2]=d+((b-d|0)+3&-4)}b=H[f+8>>2];if(b){oa(b)}ca=f+32|0;break h}}xb(i);break d;case 1:i=wb(B+8|0,3);A=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;y:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break y}d=e+H[b>>2]|0;H[i>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[i>>2]>32){break y}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break y}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[i+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break y}H[i+8>>2]=0;if(!ua(i+16|0,b)){break y}if(!ua(i+36|0,b)){break y}if(!ua(i+56|0,b)){break y}if(!ua(i+76|0,b)){break y}p=H[i+4>>2];d=0;f=ca-32|0;ca=f;m=H[i+12>>2];H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;if(m){if(m>>>0>=1073741824){break b}b=m<<2;t=pa(b);H[f+8>>2]=t;d=b+t|0;H[f+16>>2]=d;ra(t,0,b);H[f+12>>2]=d}e=H[i+120>>2];b=H[e>>2];if(b){H[e+4>>2]=b;oa(b);m=H[i+12>>2];t=H[f+8>>2];d=H[f+12>>2]}H[e+4>>2]=d;H[e>>2]=t;H[e+8>>2]=H[f+16>>2];t=0;H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;z:{if(m){if(m>>>0>=1073741824){break b}b=m<<2;o=pa(b);H[f+8>>2]=o;t=b+o|0;H[f+16>>2]=t;ra(o,0,b);H[f+12>>2]=t}d=H[i+132>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);t=H[f+12>>2];o=H[f+8>>2]}H[d+4>>2]=t;H[d>>2]=o;H[d+8>>2]=H[f+16>>2];H[f+24>>2]=0;H[f+28>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;xa(f+8|0);d=H[f+24>>2]+H[f+28>>2]|0;b=(d>>>0)/341|0;b=H[H[f+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=p;m=H[f+28>>2]+1|0;H[f+28>>2]=m;A:{if(!m){break A}s=i+96|0;while(1){k=H[f+12>>2];g=H[f+24>>2];e=m-1|0;d=g+e|0;b=(d>>>0)/341|0;b=H[k+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;q=H[b+8>>2];d=H[b+4>>2];l=H[b>>2];H[f+28>>2]=e;b=H[f+16>>2];if((((b|0)!=(k|0)?N(b-k>>2,341)-1|0:0)-(g+m|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[f+16>>2]=H[f+16>>2]-4}if(l>>>0>p>>>0){break A}b=H[i+12>>2];m=(d|0)!=(b-1|0)?d+1|0:0;if(m>>>0>=b>>>0){break A}b=H[i+120>>2];r=N(q,12);u=b+r|0;e=H[i>>2];x=m<<2;n=r+H[i+132>>2]|0;d=H[x+H[n>>2]>>2];B:{C:{if((e|0)==(d|0)){x=0;if(!l){break C}while(1){b=H[u>>2];y=H[b+8>>2];n=H[b+4>>2];k=H[b>>2];q=H[A>>2];m=H[q+4>>2];b=H[q+8>>2];D:{if(m>>>0>>0){H[m+8>>2]=y;H[m+4>>2]=n;H[m>>2]=k;H[q+4>>2]=m+12;break D}r=H[q>>2];e=(m-r|0)/12|0;g=e+1|0;if(g>>>0>=357913942){break b}d=(b-r|0)/12|0;b=d<<1;g=d>>>0>=178956970?357913941:b>>>0>g>>>0?b:g;if(g){if(g>>>0>=357913942){break a}b=pa(N(g,12))}else{b=0}o=b+N(e,12)|0;H[o+8>>2]=y;H[o+4>>2]=n;H[o>>2]=k;d=o+12|0;if((m|0)!=(r|0)){while(1){o=o-12|0;m=m-12|0;H[o>>2]=H[m>>2];H[o+4>>2]=H[m+4>>2];H[o+8>>2]=H[m+8>>2];if((m|0)!=(r|0)){continue}break}}H[q+8>>2]=b+N(g,12);H[q+4>>2]=d;H[q>>2]=o;if(!r){break D}oa(r)}H[i+8>>2]=H[i+8>>2]+1;x=x+1|0;if((l|0)!=(x|0)){continue}break}break C}E:{F:{G:{H:{if(l>>>0<=2){b=H[i+108>>2];H[b>>2]=m;o=1;t=H[i+12>>2];if(t>>>0>1){break H}break E}if(K[i+8>>2]>K[i+4>>2]){break A}k=b;b=r+12|0;Aa(k+b|0,H[u>>2],H[u+4>>2]);b=x+H[b+H[i+120>>2]>>2]|0;H[b>>2]=H[b>>2]+(1<>2];e=32-k|0;I:{if((n|0)<=(e|0)){e=H[i+28>>2];if((e|0)==H[i+20>>2]){break G}d=H[e>>2];b=k+n|0;H[i+32>>2]=b;d=d<>>32-n|0;if((b|0)!=32){break I}H[i+32>>2]=0;H[i+28>>2]=e+4;break I}g=H[i+28>>2];b=g+4|0;if((b|0)==H[i+20>>2]){break G}d=H[g>>2];H[i+28>>2]=b;b=n-e|0;H[i+32>>2]=b;d=H[g+4>>2]>>>32-b|d<>>32-n}o=l>>>1|0;if(o>>>0>>0){break A}break F}while(1){m=(t-1|0)!=(m|0)?m+1|0:0;H[b+(o<<2)>>2]=m;o=o+1|0;t=H[i+12>>2];if(o>>>0>>0){continue}break}break E}o=l>>>1|0;d=0}y=q+1|0;J:{K:{e=o-d|0;d=l-e|0;L:{if((d|0)==(e|0)){b=e;break L}n=H[i+88>>2];if((n|0)==H[i+80>>2]){break K}k=H[n>>2];g=H[i+92>>2];b=g+1|0;H[i+92>>2]=b;g=k&-2147483648>>>g;M:{if((b|0)==32){H[i+92>>2]=0;H[i+88>>2]=n+4;if(g){break M}break K}if(!g){break K}}b=d}d=e;break J}b=e}n=H[i+132>>2];k=n+r|0;g=H[k>>2];e=g+x|0;H[e>>2]=H[e>>2]+1;Aa(n+N(y,12)|0,g,H[k+4>>2]);if(d){t=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];o=H[f+12>>2];if((t|0)==(((e|0)!=(o|0)?N(e-o>>2,341)-1|0:0)|0)){xa(f+8|0);t=H[f+24>>2]+H[f+28>>2]|0;o=H[f+12>>2]}e=(t>>>0)/341|0;e=H[o+(e<<2)>>2]+N(t-N(e,341)|0,12)|0;H[e+8>>2]=q;H[e+4>>2]=m;H[e>>2]=d;H[f+28>>2]=H[f+28>>2]+1}if(!b){break C}t=H[f+28>>2]+H[f+24>>2]|0;d=H[f+16>>2];o=H[f+12>>2];if((t|0)==(((d|0)!=(o|0)?N(d-o>>2,341)-1|0:0)|0)){xa(f+8|0);t=H[f+24>>2]+H[f+28>>2]|0;o=H[f+12>>2]}d=(t>>>0)/341|0;d=H[o+(d<<2)>>2]+N(t-N(d,341)|0,12)|0;H[d+8>>2]=y;H[d+4>>2]=m;H[d>>2]=b;m=H[f+28>>2]+1|0;H[f+28>>2]=m;break B}t=0;if(!l){break C}while(1){if(H[i+12>>2]){o=H[i+40>>2];k=H[n>>2];z=H[i+96>>2];g=H[i+108>>2];m=0;while(1){q=g+(m<<2)|0;H[z+(H[q>>2]<<2)>>2]=0;e=H[i>>2];d=H[q>>2]<<2;b=H[d+k>>2];N:{if((e|0)==(b|0)){break N}r=d+z|0;w=e-b|0;x=H[i+52>>2];e=32-x|0;if((w|0)<=(e|0)){d=H[i+48>>2];if((d|0)==(o|0)){break A}H[r>>2]=H[d>>2]<>>32-w;b=w+H[i+52>>2]|0;H[i+52>>2]=b;if((b|0)!=32){break N}H[i+52>>2]=0;H[i+48>>2]=d+4;break N}y=H[i+48>>2];b=y+4|0;if((b|0)==(o|0)){break A}d=H[y>>2];H[i+48>>2]=b;b=w-e|0;H[i+52>>2]=b;H[r>>2]=H[y+4>>2]>>>32-b|d<>>32-w}d=H[q>>2]<<2;b=d+z|0;H[b>>2]=H[b>>2]|H[d+H[u>>2]>>2];m=m+1|0;if(m>>>0>2]){continue}break}}jb(A,s);H[i+8>>2]=H[i+8>>2]+1;t=t+1|0;if((l|0)!=(t|0)){continue}break}}m=H[f+28>>2]}if(m){continue}break}}H[f+28>>2]=0;o=H[f+16>>2];m=H[f+12>>2];t=o-m|0;if(t>>>0>=9){while(1){oa(H[m>>2]);m=H[f+12>>2]+4|0;H[f+12>>2]=m;o=H[f+16>>2];t=o-m|0;if(t>>>0>8){continue}break}}b=170;O:{switch((t>>>2|0)-1|0){case 1:b=341;case 0:H[f+24>>2]=b;break;default:break O}}P:{if((m|0)==(o|0)){break P}while(1){oa(H[m>>2]);m=m+4|0;if((o|0)!=(m|0)){continue}break}d=H[f+16>>2];b=H[f+12>>2];if((d|0)==(b|0)){break P}H[f+16>>2]=d+((b-d|0)+3&-4)}b=H[f+8>>2];if(b){oa(b)}ca=f+32|0;break z}}xb(i);break d;case 2:f=ub(B+8|0,3);w=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Q:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Q}d=e+H[b>>2]|0;H[f>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[f>>2]>32){break Q}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Q}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[f+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break Q}H[f+8>>2]=0;if(!ta(f+16|0,b)){break Q}if(!ua(f+32|0,b)){break Q}if(!ua(f+52|0,b)){break Q}if(!ua(f+72|0,b)){break Q}z=H[f+4>>2];g=0;b=0;h=ca-32|0;ca=h;j=H[f+12>>2];H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;if(j){if(j>>>0>=1073741824){break b}d=j<<2;g=pa(d);H[h+8>>2]=g;b=d+g|0;H[h+16>>2]=b;ra(g,0,d);H[h+12>>2]=b}e=H[f+116>>2];d=H[e>>2];if(d){H[e+4>>2]=d;oa(d);j=H[f+12>>2];g=H[h+8>>2];b=H[h+12>>2]}H[e+4>>2]=b;H[e>>2]=g;H[e+8>>2]=H[h+16>>2];g=0;H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;R:{if(j){if(j>>>0>=1073741824){break b}b=j<<2;u=pa(b);H[h+8>>2]=u;g=b+u|0;H[h+16>>2]=g;ra(u,0,b);H[h+12>>2]=g}d=H[f+128>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);u=H[h+8>>2];g=H[h+12>>2]}H[d+4>>2]=g;H[d>>2]=u;H[d+8>>2]=H[h+16>>2];H[h+24>>2]=0;H[h+28>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;xa(h+8|0);d=H[h+24>>2]+H[h+28>>2]|0;b=(d>>>0)/341|0;b=H[H[h+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=z;j=H[h+28>>2]+1|0;H[h+28>>2]=j;S:{if(!j){break S}x=f+92|0;y=f+16|0;while(1){n=H[h+12>>2];g=H[h+24>>2];e=j-1|0;d=g+e|0;b=(d>>>0)/341|0;b=H[n+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;p=H[b+8>>2];k=H[b+4>>2];i=H[b>>2];H[h+28>>2]=e;b=H[h+16>>2];if((((b|0)!=(n|0)?N(b-n>>2,341)-1|0:0)-(g+j|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[h+16>>2]=H[h+16>>2]-4}d=0;if(i>>>0>z>>>0){break S}b=H[f+12>>2];j=(k|0)!=(b-1|0)?k+1|0:0;if(j>>>0>=b>>>0){break S}o=N(p,12);A=o+H[f+128>>2]|0;t=o+H[f+116>>2]|0;g=H[f>>2];q=j<<2;e=H[q+H[A>>2]>>2];T:{if((g|0)==(e|0)){if(!i){break T}while(1){b=H[t>>2];r=H[b+8>>2];s=H[b+4>>2];n=H[b>>2];o=H[w>>2];j=H[o+4>>2];b=H[o+8>>2];U:{if(j>>>0>>0){H[j+8>>2]=r;H[j+4>>2]=s;H[j>>2]=n;H[o+4>>2]=j+12;break U}q=H[o>>2];g=(j-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=pa(N(k,12))}else{b=0}u=b+N(g,12)|0;H[u+8>>2]=r;H[u+4>>2]=s;H[u>>2]=n;e=u+12|0;if((j|0)!=(q|0)){while(1){u=u-12|0;j=j-12|0;H[u>>2]=H[j>>2];H[u+4>>2]=H[j+4>>2];H[u+8>>2]=H[j+8>>2];if((j|0)!=(q|0)){continue}break}}H[o+8>>2]=b+N(k,12);H[o+4>>2]=e;H[o>>2]=u;if(!q){break U}oa(q)}H[f+8>>2]=H[f+8>>2]+1;d=d+1|0;if((i|0)!=(d|0)){continue}break}break T}V:{W:{X:{Y:{if(i>>>0<=2){b=H[f+104>>2];H[b>>2]=j;u=1;g=H[f+12>>2];if(g>>>0>1){break Y}break V}if(K[f+8>>2]>K[f+4>>2]){break S}b=H[f+116>>2];s=p+1|0;r=N(s,12);d=b+r|0;if((d|0)!=(t|0)){Aa(d,H[t>>2],H[t+4>>2]);b=H[f+116>>2]}b=q+H[b+r>>2]|0;H[b>>2]=H[b>>2]+(1<>2]=0;pc(y,Q(i)^31,h+4|0);d=i>>>1|0;b=H[h+4>>2];if(d>>>0>>0){break S}e=d-b|0;d=i-e|0;Z:{if((d|0)==(e|0)){b=e;break Z}n=H[f+84>>2];if((n|0)==H[f+76>>2]){break X}k=H[n>>2];g=H[f+88>>2];b=g+1|0;H[f+88>>2]=b;g=k&-2147483648>>>g;_:{if((b|0)==32){H[f+88>>2]=0;H[f+84>>2]=n+4;if(g){break _}break X}if(!g){break X}}b=d}d=e;break W}while(1){j=(g-1|0)!=(j|0)?j+1|0:0;H[b+(u<<2)>>2]=j;g=H[f+12>>2];u=u+1|0;if(g>>>0>u>>>0){continue}break}break V}b=e}n=H[f+128>>2];k=n+o|0;g=H[k>>2];e=g+q|0;H[e>>2]=H[e>>2]+1;Aa(n+r|0,g,H[k+4>>2]);if(d){g=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];u=H[h+12>>2];if((g|0)==(((e|0)!=(u|0)?N(e-u>>2,341)-1|0:0)|0)){xa(h+8|0);u=H[h+12>>2];g=H[h+24>>2]+H[h+28>>2]|0}e=(g>>>0)/341|0;e=H[(e<<2)+u>>2]+N(g-N(e,341)|0,12)|0;H[e+8>>2]=p;H[e+4>>2]=j;H[e>>2]=d;H[h+28>>2]=H[h+28>>2]+1}if(!b){break T}g=H[h+28>>2]+H[h+24>>2]|0;d=H[h+16>>2];u=H[h+12>>2];if((g|0)==(((d|0)!=(u|0)?N(d-u>>2,341)-1|0:0)|0)){xa(h+8|0);u=H[h+12>>2];g=H[h+24>>2]+H[h+28>>2]|0}d=(g>>>0)/341|0;d=H[(d<<2)+u>>2]+N(g-N(d,341)|0,12)|0;H[d+8>>2]=s;H[d+4>>2]=j;H[d>>2]=b;H[h+28>>2]=H[h+28>>2]+1;break T}if(!i){break T}while(1){if(H[f+12>>2]){p=H[f+36>>2];n=H[A>>2];u=H[f+92>>2];k=H[f+104>>2];j=0;while(1){o=k+(j<<2)|0;H[u+(H[o>>2]<<2)>>2]=0;g=H[f>>2];e=H[o>>2]<<2;b=H[e+n>>2];$:{if((g|0)==(b|0)){break $}q=e+u|0;l=g-b|0;r=H[f+48>>2];g=32-r|0;if((l|0)<=(g|0)){e=H[f+44>>2];if((e|0)==(p|0)){break S}H[q>>2]=H[e>>2]<>>32-l;b=l+H[f+48>>2]|0;H[f+48>>2]=b;if((b|0)!=32){break $}H[f+48>>2]=0;H[f+44>>2]=e+4;break $}s=H[f+44>>2];b=s+4|0;if((b|0)==(p|0)){break S}e=H[s>>2];H[f+44>>2]=b;b=l-g|0;H[f+48>>2]=b;H[q>>2]=H[s+4>>2]>>>32-b|e<>>32-l}e=H[o>>2]<<2;b=e+u|0;H[b>>2]=H[b>>2]|H[e+H[t>>2]>>2];j=j+1|0;if(j>>>0>2]){continue}break}}jb(w,x);H[f+8>>2]=H[f+8>>2]+1;d=d+1|0;if((i|0)!=(d|0)){continue}break}}j=H[h+28>>2];if(j){continue}break}}H[h+28>>2]=0;u=H[h+16>>2];j=H[h+12>>2];g=u-j|0;if(g>>>0>=9){while(1){oa(H[j>>2]);j=H[h+12>>2]+4|0;H[h+12>>2]=j;u=H[h+16>>2];g=u-j|0;if(g>>>0>8){continue}break}}b=170;aa:{switch((g>>>2|0)-1|0){case 1:b=341;case 0:H[h+24>>2]=b;break;default:break aa}}ba:{if((j|0)==(u|0)){break ba}while(1){oa(H[j>>2]);j=j+4|0;if((u|0)!=(j|0)){continue}break}d=H[h+16>>2];b=H[h+12>>2];if((d|0)==(b|0)){break ba}H[h+16>>2]=d+((b-d|0)+3&-4)}b=H[h+8>>2];if(b){oa(b)}ca=h+32|0;break R}}vb(f);break d;case 3:i=ub(B+8|0,3);z=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;ca:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break ca}d=e+H[b>>2]|0;H[i>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[i>>2]>32){break ca}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break ca}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[i+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break ca}H[i+8>>2]=0;if(!ta(i+16|0,b)){break ca}if(!ua(i+32|0,b)){break ca}if(!ua(i+52|0,b)){break ca}if(!ua(i+72|0,b)){break ca}A=H[i+4>>2];d=0;f=ca-32|0;ca=f;j=H[i+12>>2];H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;if(j){if(j>>>0>=1073741824){break b}b=j<<2;m=pa(b);H[f+8>>2]=m;d=b+m|0;H[f+16>>2]=d;ra(m,0,b);H[f+12>>2]=d}e=H[i+116>>2];b=H[e>>2];if(b){H[e+4>>2]=b;oa(b);j=H[i+12>>2];m=H[f+8>>2];d=H[f+12>>2]}H[e+4>>2]=d;H[e>>2]=m;H[e+8>>2]=H[f+16>>2];m=0;H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;da:{if(j){if(j>>>0>=1073741824){break b}b=j<<2;p=pa(b);H[f+8>>2]=p;m=b+p|0;H[f+16>>2]=m;ra(p,0,b);H[f+12>>2]=m}d=H[i+128>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);m=H[f+12>>2];p=H[f+8>>2]}H[d+4>>2]=m;H[d>>2]=p;H[d+8>>2]=H[f+16>>2];H[f+24>>2]=0;H[f+28>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;xa(f+8|0);d=H[f+24>>2]+H[f+28>>2]|0;b=(d>>>0)/341|0;b=H[H[f+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=A;j=H[f+28>>2]+1|0;H[f+28>>2]=j;ea:{if(!j){break ea}y=i+92|0;s=i+16|0;while(1){k=H[f+12>>2];g=H[f+24>>2];e=j-1|0;d=g+e|0;b=(d>>>0)/341|0;b=H[k+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;o=H[b+8>>2];d=H[b+4>>2];t=H[b>>2];H[f+28>>2]=e;b=H[f+16>>2];if((((b|0)!=(k|0)?N(b-k>>2,341)-1|0:0)-(g+j|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[f+16>>2]=H[f+16>>2]-4}if(t>>>0>A>>>0){break ea}b=H[i+12>>2];j=(d|0)!=(b-1|0)?d+1|0:0;if(j>>>0>=b>>>0){break ea}b=H[i+116>>2];q=N(o,12);l=b+q|0;e=H[i>>2];r=j<<2;n=q+H[i+128>>2]|0;d=H[r+H[n>>2]>>2];fa:{if((e|0)==(d|0)){r=0;if(!t){break fa}while(1){b=H[l>>2];x=H[b+8>>2];n=H[b+4>>2];k=H[b>>2];o=H[z>>2];j=H[o+4>>2];b=H[o+8>>2];ga:{if(j>>>0>>0){H[j+8>>2]=x;H[j+4>>2]=n;H[j>>2]=k;H[o+4>>2]=j+12;break ga}q=H[o>>2];e=(j-q|0)/12|0;g=e+1|0;if(g>>>0>=357913942){break b}d=(b-q|0)/12|0;b=d<<1;g=d>>>0>=178956970?357913941:b>>>0>g>>>0?b:g;if(g){if(g>>>0>=357913942){break a}b=pa(N(g,12))}else{b=0}p=b+N(e,12)|0;H[p+8>>2]=x;H[p+4>>2]=n;H[p>>2]=k;d=p+12|0;if((j|0)!=(q|0)){while(1){p=p-12|0;j=j-12|0;H[p>>2]=H[j>>2];H[p+4>>2]=H[j+4>>2];H[p+8>>2]=H[j+8>>2];if((j|0)!=(q|0)){continue}break}}H[o+8>>2]=b+N(g,12);H[o+4>>2]=d;H[o>>2]=p;if(!q){break ga}oa(q)}H[i+8>>2]=H[i+8>>2]+1;r=r+1|0;if((t|0)!=(r|0)){continue}break}break fa}ha:{ia:{ja:{ka:{if(t>>>0<=2){b=H[i+104>>2];H[b>>2]=j;p=1;m=H[i+12>>2];if(m>>>0>1){break ka}break ha}if(K[i+8>>2]>K[i+4>>2]){break ea}k=b;b=q+12|0;Aa(k+b|0,H[l>>2],H[l+4>>2]);b=r+H[b+H[i+116>>2]>>2]|0;H[b>>2]=H[b>>2]+(1<>2]=0;pc(s,Q(t)^31,f+4|0);d=t>>>1|0;b=H[f+4>>2];if(d>>>0>>0){break ea}x=o+1|0;e=d-b|0;d=t-e|0;la:{if((d|0)==(e|0)){b=e;break la}n=H[i+84>>2];if((n|0)==H[i+76>>2]){break ja}k=H[n>>2];g=H[i+88>>2];b=g+1|0;H[i+88>>2]=b;g=k&-2147483648>>>g;ma:{if((b|0)==32){H[i+88>>2]=0;H[i+84>>2]=n+4;if(g){break ma}break ja}if(!g){break ja}}b=d}d=e;break ia}while(1){j=(m-1|0)!=(j|0)?j+1|0:0;H[b+(p<<2)>>2]=j;m=H[i+12>>2];p=p+1|0;if(m>>>0>p>>>0){continue}break}break ha}b=e}n=H[i+128>>2];k=n+q|0;g=H[k>>2];e=g+r|0;H[e>>2]=H[e>>2]+1;Aa(n+N(x,12)|0,g,H[k+4>>2]);if(d){m=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];p=H[f+12>>2];if((m|0)==(((e|0)!=(p|0)?N(e-p>>2,341)-1|0:0)|0)){xa(f+8|0);m=H[f+24>>2]+H[f+28>>2]|0;p=H[f+12>>2]}e=(m>>>0)/341|0;e=H[p+(e<<2)>>2]+N(m-N(e,341)|0,12)|0;H[e+8>>2]=o;H[e+4>>2]=j;H[e>>2]=d;H[f+28>>2]=H[f+28>>2]+1}if(!b){break fa}m=H[f+28>>2]+H[f+24>>2]|0;d=H[f+16>>2];p=H[f+12>>2];if((m|0)==(((d|0)!=(p|0)?N(d-p>>2,341)-1|0:0)|0)){xa(f+8|0);m=H[f+24>>2]+H[f+28>>2]|0;p=H[f+12>>2]}d=(m>>>0)/341|0;d=H[p+(d<<2)>>2]+N(m-N(d,341)|0,12)|0;H[d+8>>2]=x;H[d+4>>2]=j;H[d>>2]=b;H[f+28>>2]=H[f+28>>2]+1;break fa}m=0;if(!t){break fa}while(1){if(H[i+12>>2]){p=H[i+36>>2];k=H[n>>2];w=H[i+92>>2];g=H[i+104>>2];j=0;while(1){o=g+(j<<2)|0;H[w+(H[o>>2]<<2)>>2]=0;e=H[i>>2];d=H[o>>2]<<2;b=H[d+k>>2];na:{if((e|0)==(b|0)){break na}q=d+w|0;u=e-b|0;r=H[i+48>>2];e=32-r|0;if((u|0)<=(e|0)){d=H[i+44>>2];if((d|0)==(p|0)){break ea}H[q>>2]=H[d>>2]<>>32-u;b=u+H[i+48>>2]|0;H[i+48>>2]=b;if((b|0)!=32){break na}H[i+48>>2]=0;H[i+44>>2]=d+4;break na}x=H[i+44>>2];b=x+4|0;if((b|0)==(p|0)){break ea}d=H[x>>2];H[i+44>>2]=b;b=u-e|0;H[i+48>>2]=b;H[q>>2]=H[x+4>>2]>>>32-b|d<>>32-u}d=H[o>>2]<<2;b=d+w|0;H[b>>2]=H[b>>2]|H[d+H[l>>2]>>2];j=j+1|0;if(j>>>0>2]){continue}break}}jb(z,y);H[i+8>>2]=H[i+8>>2]+1;m=m+1|0;if((t|0)!=(m|0)){continue}break}}j=H[f+28>>2];if(j){continue}break}}H[f+28>>2]=0;p=H[f+16>>2];j=H[f+12>>2];m=p-j|0;if(m>>>0>=9){while(1){oa(H[j>>2]);j=H[f+12>>2]+4|0;H[f+12>>2]=j;p=H[f+16>>2];m=p-j|0;if(m>>>0>8){continue}break}}b=170;oa:{switch((m>>>2|0)-1|0){case 1:b=341;case 0:H[f+24>>2]=b;break;default:break oa}}pa:{if((j|0)==(p|0)){break pa}while(1){oa(H[j>>2]);j=j+4|0;if((p|0)!=(j|0)){continue}break}d=H[f+16>>2];b=H[f+12>>2];if((d|0)==(b|0)){break pa}H[f+16>>2]=d+((b-d|0)+3&-4)}b=H[f+8>>2];if(b){oa(b)}ca=f+32|0;break da}}vb(i);break d;case 4:f=$a(B+8|0,3);w=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;qa:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break qa}d=e+H[b>>2]|0;H[f>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[f>>2]>32){break qa}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break qa}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[f+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break qa}H[f+8>>2]=0;if(!sb(f+16|0,b)){break qa}if(!ua(f+544|0,b)){break qa}if(!ua(f+564|0,b)){break qa}if(!ua(f+584|0,b)){break qa}z=H[f+4>>2];l=0;b=0;h=ca-32|0;ca=h;d=H[f+12>>2];H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=pa(e);H[h+8>>2]=l;b=e+l|0;H[h+16>>2]=b;ra(l,0,e);H[h+12>>2]=b}g=H[f+628>>2];e=H[g>>2];if(e){H[g+4>>2]=e;oa(e);d=H[f+12>>2];l=H[h+8>>2];b=H[h+12>>2]}H[g+4>>2]=b;H[g>>2]=l;H[g+8>>2]=H[h+16>>2];l=0;H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;ra:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;j=pa(b);H[h+8>>2]=j;l=b+j|0;H[h+16>>2]=l;ra(j,0,b);H[h+12>>2]=l}d=H[f+640>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);j=H[h+8>>2];l=H[h+12>>2]}H[d+4>>2]=l;H[d>>2]=j;H[d+8>>2]=H[h+16>>2];H[h+24>>2]=0;H[h+28>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;xa(h+8|0);d=H[h+24>>2]+H[h+28>>2]|0;b=(d>>>0)/341|0;b=H[H[h+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=z;d=H[h+28>>2]+1|0;H[h+28>>2]=d;sa:{if(!d){break sa}x=f+604|0;y=f+16|0;while(1){n=H[h+12>>2];k=H[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=H[n+(b<<2)>>2]+N(e-N(b,341)|0,12)|0;p=H[b+8>>2];e=H[b+4>>2];i=H[b>>2];H[h+28>>2]=g;b=H[h+16>>2];if((((b|0)!=(n|0)?N(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[h+16>>2]=H[h+16>>2]-4}if(i>>>0>z>>>0){break sa}b=H[f+12>>2];j=(e|0)!=(b-1|0)?e+1|0:0;if(j>>>0>=b>>>0){break sa}o=N(p,12);A=o+H[f+640>>2]|0;t=o+H[f+628>>2]|0;g=H[f>>2];q=j<<2;e=H[q+H[A>>2]>>2];ta:{ua:{if((g|0)==(e|0)){o=0;if(!i){break ua}while(1){b=H[t>>2];r=H[b+8>>2];s=H[b+4>>2];n=H[b>>2];p=H[w>>2];d=H[p+4>>2];b=H[p+8>>2];va:{if(d>>>0>>0){H[d+8>>2]=r;H[d+4>>2]=s;H[d>>2]=n;H[p+4>>2]=d+12;break va}q=H[p>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=pa(N(k,12))}else{b=0}j=b+N(g,12)|0;H[j+8>>2]=r;H[j+4>>2]=s;H[j>>2]=n;e=j+12|0;if((d|0)!=(q|0)){while(1){j=j-12|0;d=d-12|0;H[j>>2]=H[d>>2];H[j+4>>2]=H[d+4>>2];H[j+8>>2]=H[d+8>>2];if((d|0)!=(q|0)){continue}break}}H[p+8>>2]=b+N(k,12);H[p+4>>2]=e;H[p>>2]=j;if(!q){break va}oa(q)}H[f+8>>2]=H[f+8>>2]+1;o=o+1|0;if((i|0)!=(o|0)){continue}break}break ua}wa:{xa:{ya:{if(i>>>0<=2){b=H[f+616>>2];H[b>>2]=j;d=1;l=H[f+12>>2];if(l>>>0>1){break ya}break wa}if(K[f+8>>2]>K[f+4>>2]){break sa}b=H[f+628>>2];s=p+1|0;r=N(s,12);d=b+r|0;if((d|0)!=(t|0)){Aa(d,H[t>>2],H[t+4>>2]);b=H[f+628>>2]}b=q+H[b+r>>2]|0;H[b>>2]=H[b>>2]+(1<>>1|0;break xa}while(1){l=Ba(y+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break xa}break sa}while(1){j=(l-1|0)!=(j|0)?j+1|0:0;H[b+(d<<2)>>2]=j;d=d+1|0;l=H[f+12>>2];if(d>>>0>>0){continue}break}break wa}za:{Aa:{e=d-l|0;d=i-e|0;Ba:{if((d|0)==(e|0)){b=e;break Ba}n=H[f+596>>2];if((n|0)==H[f+588>>2]){break Aa}k=H[n>>2];g=H[f+600>>2];b=g+1|0;H[f+600>>2]=b;g=k&-2147483648>>>g;Ca:{if((b|0)==32){H[f+600>>2]=0;H[f+596>>2]=n+4;if(g){break Ca}break Aa}if(!g){break Aa}}b=d}d=e;break za}b=e}n=H[f+640>>2];k=n+o|0;g=H[k>>2];e=g+q|0;H[e>>2]=H[e>>2]+1;Aa(n+r|0,g,H[k+4>>2]);if(d){g=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];l=H[h+12>>2];if((g|0)==(((e|0)!=(l|0)?N(e-l>>2,341)-1|0:0)|0)){xa(h+8|0);l=H[h+12>>2];g=H[h+24>>2]+H[h+28>>2]|0}e=(g>>>0)/341|0;e=H[(e<<2)+l>>2]+N(g-N(e,341)|0,12)|0;H[e+8>>2]=p;H[e+4>>2]=j;H[e>>2]=d;H[h+28>>2]=H[h+28>>2]+1}if(!b){break ua}l=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];d=H[h+12>>2];if((l|0)==(((d|0)!=(e|0)?N(e-d>>2,341)-1|0:0)|0)){xa(h+8|0);l=H[h+24>>2]+H[h+28>>2]|0;e=H[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=H[e+(d<<2)>>2]+N(l-N(d,341)|0,12)|0;H[d+8>>2]=s;H[d+4>>2]=j;H[d>>2]=b;d=H[h+28>>2]+1|0;H[h+28>>2]=d;break ta}j=0;if(!i){break ua}while(1){if(H[f+12>>2]){p=H[f+548>>2];n=H[A>>2];u=H[f+604>>2];k=H[f+616>>2];d=0;while(1){o=k+(d<<2)|0;H[u+(H[o>>2]<<2)>>2]=0;g=H[f>>2];e=H[o>>2]<<2;b=H[e+n>>2];Da:{if((g|0)==(b|0)){break Da}q=e+u|0;l=g-b|0;r=H[f+560>>2];g=32-r|0;if((l|0)<=(g|0)){e=H[f+556>>2];if((e|0)==(p|0)){break sa}H[q>>2]=H[e>>2]<>>32-l;b=l+H[f+560>>2]|0;H[f+560>>2]=b;if((b|0)!=32){break Da}H[f+560>>2]=0;H[f+556>>2]=e+4;break Da}s=H[f+556>>2];b=s+4|0;if((b|0)==(p|0)){break sa}e=H[s>>2];H[f+556>>2]=b;b=l-g|0;H[f+560>>2]=b;H[q>>2]=H[s+4>>2]>>>32-b|e<>>32-l}e=H[o>>2]<<2;b=e+u|0;H[b>>2]=H[b>>2]|H[e+H[t>>2]>>2];d=d+1|0;if(d>>>0>2]){continue}break}}jb(w,x);H[f+8>>2]=H[f+8>>2]+1;j=j+1|0;if((i|0)!=(j|0)){continue}break}}d=H[h+28>>2]}if(d){continue}break}}H[h+28>>2]=0;j=H[h+16>>2];d=H[h+12>>2];l=j-d|0;if(l>>>0>=9){while(1){oa(H[d>>2]);d=H[h+12>>2]+4|0;H[h+12>>2]=d;j=H[h+16>>2];l=j-d|0;if(l>>>0>8){continue}break}}b=170;Ea:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:H[h+24>>2]=b;break;default:break Ea}}Fa:{if((d|0)==(j|0)){break Fa}while(1){oa(H[d>>2]);d=d+4|0;if((j|0)!=(d|0)){continue}break}d=H[h+16>>2];b=H[h+12>>2];if((d|0)==(b|0)){break Fa}H[h+16>>2]=d+((b-d|0)+3&-4)}b=H[h+8>>2];if(b){oa(b)}ca=h+32|0;break ra}}ab(f);break d;case 5:f=$a(B+8|0,3);w=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Ga:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Ga}d=e+H[b>>2]|0;H[f>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[f>>2]>32){break Ga}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Ga}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[f+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break Ga}H[f+8>>2]=0;if(!sb(f+16|0,b)){break Ga}if(!ua(f+544|0,b)){break Ga}if(!ua(f+564|0,b)){break Ga}if(!ua(f+584|0,b)){break Ga}z=H[f+4>>2];l=0;b=0;h=ca-32|0;ca=h;d=H[f+12>>2];H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=pa(e);H[h+8>>2]=l;b=e+l|0;H[h+16>>2]=b;ra(l,0,e);H[h+12>>2]=b}g=H[f+628>>2];e=H[g>>2];if(e){H[g+4>>2]=e;oa(e);d=H[f+12>>2];l=H[h+8>>2];b=H[h+12>>2]}H[g+4>>2]=b;H[g>>2]=l;H[g+8>>2]=H[h+16>>2];l=0;H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;Ha:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;p=pa(b);H[h+8>>2]=p;l=b+p|0;H[h+16>>2]=l;ra(p,0,b);H[h+12>>2]=l}d=H[f+640>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);l=H[h+12>>2];p=H[h+8>>2]}H[d+4>>2]=l;H[d>>2]=p;H[d+8>>2]=H[h+16>>2];H[h+24>>2]=0;H[h+28>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;xa(h+8|0);d=H[h+24>>2]+H[h+28>>2]|0;b=(d>>>0)/341|0;b=H[H[h+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=z;d=H[h+28>>2]+1|0;H[h+28>>2]=d;Ia:{if(!d){break Ia}x=f+604|0;y=f+16|0;while(1){n=H[h+12>>2];k=H[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=H[n+(b<<2)>>2]+N(e-N(b,341)|0,12)|0;o=H[b+8>>2];e=H[b+4>>2];i=H[b>>2];H[h+28>>2]=g;b=H[h+16>>2];if((((b|0)!=(n|0)?N(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[h+16>>2]=H[h+16>>2]-4}if(i>>>0>z>>>0){break Ia}m=0;b=H[f+12>>2];p=(e|0)!=(b-1|0)?e+1|0:0;if(p>>>0>=b>>>0){break Ia}b=H[f+628>>2];q=N(o,12);t=b+q|0;e=H[f>>2];r=p<<2;s=q+H[f+640>>2]|0;d=H[r+H[s>>2]>>2];Ja:{Ka:{if((e|0)==(d|0)){if(!i){break Ka}while(1){b=H[t>>2];r=H[b+8>>2];s=H[b+4>>2];n=H[b>>2];o=H[w>>2];d=H[o+4>>2];b=H[o+8>>2];La:{if(d>>>0>>0){H[d+8>>2]=r;H[d+4>>2]=s;H[d>>2]=n;H[o+4>>2]=d+12;break La}q=H[o>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=pa(N(k,12))}else{b=0}p=b+N(g,12)|0;H[p+8>>2]=r;H[p+4>>2]=s;H[p>>2]=n;e=p+12|0;if((d|0)!=(q|0)){while(1){p=p-12|0;d=d-12|0;H[p>>2]=H[d>>2];H[p+4>>2]=H[d+4>>2];H[p+8>>2]=H[d+8>>2];if((d|0)!=(q|0)){continue}break}}H[o+8>>2]=b+N(k,12);H[o+4>>2]=e;H[o>>2]=p;if(!q){break La}oa(q)}H[f+8>>2]=H[f+8>>2]+1;m=m+1|0;if((i|0)!=(m|0)){continue}break}break Ka}Ma:{Na:{Oa:{if(i>>>0<=2){b=H[f+616>>2];H[b>>2]=p;d=1;l=H[f+12>>2];if(l>>>0>1){break Oa}break Ma}if(K[f+8>>2]>K[f+4>>2]){break Ia}k=b;b=q+12|0;Aa(k+b|0,H[t>>2],H[t+4>>2]);b=r+H[b+H[f+628>>2]>>2]|0;H[b>>2]=H[b>>2]+(1<>>1|0;break Na}while(1){l=Ba(y+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break Na}break Ia}while(1){p=(l-1|0)!=(p|0)?p+1|0:0;H[b+(d<<2)>>2]=p;d=d+1|0;l=H[f+12>>2];if(d>>>0>>0){continue}break}break Ma}s=o+1|0;Pa:{Qa:{e=d-l|0;d=i-e|0;Ra:{if((d|0)==(e|0)){b=e;break Ra}n=H[f+596>>2];if((n|0)==H[f+588>>2]){break Qa}k=H[n>>2];g=H[f+600>>2];b=g+1|0;H[f+600>>2]=b;g=k&-2147483648>>>g;Sa:{if((b|0)==32){H[f+600>>2]=0;H[f+596>>2]=n+4;if(g){break Sa}break Qa}if(!g){break Qa}}b=d}d=e;break Pa}b=e}n=H[f+640>>2];k=n+q|0;g=H[k>>2];e=g+r|0;H[e>>2]=H[e>>2]+1;Aa(n+N(s,12)|0,g,H[k+4>>2]);if(d){m=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];l=H[h+12>>2];if((m|0)==(((e|0)!=(l|0)?N(e-l>>2,341)-1|0:0)|0)){xa(h+8|0);m=H[h+24>>2]+H[h+28>>2]|0;l=H[h+12>>2]}e=(m>>>0)/341|0;e=H[l+(e<<2)>>2]+N(m-N(e,341)|0,12)|0;H[e+8>>2]=o;H[e+4>>2]=p;H[e>>2]=d;H[h+28>>2]=H[h+28>>2]+1}if(!b){break Ka}l=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];d=H[h+12>>2];if((l|0)==(((d|0)!=(e|0)?N(e-d>>2,341)-1|0:0)|0)){xa(h+8|0);l=H[h+24>>2]+H[h+28>>2]|0;e=H[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=H[e+(d<<2)>>2]+N(l-N(d,341)|0,12)|0;H[d+8>>2]=s;H[d+4>>2]=p;H[d>>2]=b;d=H[h+28>>2]+1|0;H[h+28>>2]=d;break Ja}if(!i){break Ka}while(1){if(H[f+12>>2]){A=H[f+548>>2];n=H[s>>2];u=H[f+604>>2];k=H[f+616>>2];d=0;while(1){p=k+(d<<2)|0;H[u+(H[p>>2]<<2)>>2]=0;g=H[f>>2];e=H[p>>2]<<2;b=H[e+n>>2];Ta:{if((g|0)==(b|0)){break Ta}o=e+u|0;l=g-b|0;q=H[f+560>>2];g=32-q|0;if((l|0)<=(g|0)){e=H[f+556>>2];if((e|0)==(A|0)){break Ia}H[o>>2]=H[e>>2]<>>32-l;b=l+H[f+560>>2]|0;H[f+560>>2]=b;if((b|0)!=32){break Ta}H[f+560>>2]=0;H[f+556>>2]=e+4;break Ta}r=H[f+556>>2];b=r+4|0;if((b|0)==(A|0)){break Ia}e=H[r>>2];H[f+556>>2]=b;b=l-g|0;H[f+560>>2]=b;H[o>>2]=H[r+4>>2]>>>32-b|e<>>32-l}e=H[p>>2]<<2;b=e+u|0;H[b>>2]=H[b>>2]|H[e+H[t>>2]>>2];d=d+1|0;if(d>>>0>2]){continue}break}}jb(w,x);H[f+8>>2]=H[f+8>>2]+1;m=m+1|0;if((i|0)!=(m|0)){continue}break}}d=H[h+28>>2]}if(d){continue}break}}H[h+28>>2]=0;p=H[h+16>>2];d=H[h+12>>2];l=p-d|0;if(l>>>0>=9){while(1){oa(H[d>>2]);d=H[h+12>>2]+4|0;H[h+12>>2]=d;p=H[h+16>>2];l=p-d|0;if(l>>>0>8){continue}break}}b=170;Ua:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:H[h+24>>2]=b;break;default:break Ua}}Va:{if((d|0)==(p|0)){break Va}while(1){oa(H[d>>2]);d=d+4|0;if((p|0)!=(d|0)){continue}break}d=H[h+16>>2];b=H[h+12>>2];if((d|0)==(b|0)){break Va}H[h+16>>2]=d+((b-d|0)+3&-4)}b=H[h+8>>2];if(b){oa(b)}ca=h+32|0;break Ha}}ab(f);break d;case 6:break f;default:break c}}f=$a(B+8|0,3);w=B+664|0;k=H[b+8>>2];n=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Wa:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Wa}d=e+H[b>>2]|0;H[f>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[b+20>>2];k=d;g=H[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;if(K[f>>2]>32){break Wa}n=H[b+8>>2];s=H[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Wa}d=e+H[b>>2]|0;e=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[f+4>>2]=e;g=H[b+20>>2];d=H[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;H[b+16>>2]=d;H[b+20>>2]=g;if(!e){break Wa}H[f+8>>2]=0;if(!sb(f+16|0,b)){break Wa}if(!ua(f+544|0,b)){break Wa}if(!ua(f+564|0,b)){break Wa}if(!ua(f+584|0,b)){break Wa}z=H[f+4>>2];l=0;b=0;h=ca-32|0;ca=h;d=H[f+12>>2];H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=pa(e);H[h+8>>2]=l;b=e+l|0;H[h+16>>2]=b;ra(l,0,e);H[h+12>>2]=b}g=H[f+628>>2];e=H[g>>2];if(e){H[g+4>>2]=e;oa(e);d=H[f+12>>2];l=H[h+8>>2];b=H[h+12>>2]}H[g+4>>2]=b;H[g>>2]=l;H[g+8>>2]=H[h+16>>2];l=0;H[h+16>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;Xa:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;j=pa(b);H[h+8>>2]=j;l=b+j|0;H[h+16>>2]=l;ra(j,0,b);H[h+12>>2]=l}d=H[f+640>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b);j=H[h+8>>2];l=H[h+12>>2]}H[d+4>>2]=l;H[d>>2]=j;H[d+8>>2]=H[h+16>>2];H[h+24>>2]=0;H[h+28>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;H[h+8>>2]=0;H[h+12>>2]=0;xa(h+8|0);d=H[h+24>>2]+H[h+28>>2]|0;b=(d>>>0)/341|0;b=H[H[h+12>>2]+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;H[b+4>>2]=0;H[b+8>>2]=0;H[b>>2]=z;d=H[h+28>>2]+1|0;H[h+28>>2]=d;Ya:{if(!d){break Ya}x=f+604|0;y=f+16|0;while(1){n=H[h+12>>2];k=H[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=H[n+(b<<2)>>2]+N(e-N(b,341)|0,12)|0;p=H[b+8>>2];i=H[b>>2];H[h+28>>2]=g;b=H[h+16>>2];if((((b|0)!=(n|0)?N(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[h+16>>2]=H[h+16>>2]-4}if(i>>>0>z>>>0){break Ya}b=H[f+628>>2];o=N(p,12);A=o+H[f+640>>2]|0;j=Vd(f,i,A);if(j>>>0>=K[f+12>>2]){break Ya}t=b+o|0;g=H[f>>2];q=j<<2;e=H[q+H[A>>2]>>2];Za:{_a:{if((g|0)==(e|0)){o=0;if(!i){break _a}while(1){b=H[t>>2];r=H[b+8>>2];s=H[b+4>>2];n=H[b>>2];p=H[w>>2];d=H[p+4>>2];b=H[p+8>>2];$a:{if(d>>>0>>0){H[d+8>>2]=r;H[d+4>>2]=s;H[d>>2]=n;H[p+4>>2]=d+12;break $a}q=H[p>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=pa(N(k,12))}else{b=0}j=b+N(g,12)|0;H[j+8>>2]=r;H[j+4>>2]=s;H[j>>2]=n;e=j+12|0;if((d|0)!=(q|0)){while(1){j=j-12|0;d=d-12|0;H[j>>2]=H[d>>2];H[j+4>>2]=H[d+4>>2];H[j+8>>2]=H[d+8>>2];if((d|0)!=(q|0)){continue}break}}H[p+8>>2]=b+N(k,12);H[p+4>>2]=e;H[p>>2]=j;if(!q){break $a}oa(q)}H[f+8>>2]=H[f+8>>2]+1;o=o+1|0;if((i|0)!=(o|0)){continue}break}break _a}ab:{bb:{cb:{if(i>>>0<=2){b=H[f+616>>2];H[b>>2]=j;d=1;l=H[f+12>>2];if(l>>>0>1){break cb}break ab}if(K[f+8>>2]>K[f+4>>2]){break Ya}b=H[f+628>>2];s=p+1|0;r=N(s,12);d=b+r|0;if((d|0)!=(t|0)){Aa(d,H[t>>2],H[t+4>>2]);b=H[f+628>>2]}b=q+H[b+r>>2]|0;H[b>>2]=H[b>>2]+(1<>>1|0;break bb}while(1){l=Ba(y+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break bb}break Ya}while(1){j=(l-1|0)!=(j|0)?j+1|0:0;H[b+(d<<2)>>2]=j;d=d+1|0;l=H[f+12>>2];if(d>>>0>>0){continue}break}break ab}db:{eb:{e=d-l|0;d=i-e|0;fb:{if((d|0)==(e|0)){b=e;break fb}n=H[f+596>>2];if((n|0)==H[f+588>>2]){break eb}k=H[n>>2];g=H[f+600>>2];b=g+1|0;H[f+600>>2]=b;g=k&-2147483648>>>g;gb:{if((b|0)==32){H[f+600>>2]=0;H[f+596>>2]=n+4;if(g){break gb}break eb}if(!g){break eb}}b=d}d=e;break db}b=e}n=H[f+640>>2];k=n+o|0;g=H[k>>2];e=g+q|0;H[e>>2]=H[e>>2]+1;Aa(n+r|0,g,H[k+4>>2]);if(d){g=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];l=H[h+12>>2];if((g|0)==(((e|0)!=(l|0)?N(e-l>>2,341)-1|0:0)|0)){xa(h+8|0);l=H[h+12>>2];g=H[h+24>>2]+H[h+28>>2]|0}e=(g>>>0)/341|0;e=H[(e<<2)+l>>2]+N(g-N(e,341)|0,12)|0;H[e+8>>2]=p;H[e+4>>2]=j;H[e>>2]=d;H[h+28>>2]=H[h+28>>2]+1}if(!b){break _a}l=H[h+28>>2]+H[h+24>>2]|0;e=H[h+16>>2];d=H[h+12>>2];if((l|0)==(((d|0)!=(e|0)?N(e-d>>2,341)-1|0:0)|0)){xa(h+8|0);l=H[h+24>>2]+H[h+28>>2]|0;e=H[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=H[e+(d<<2)>>2]+N(l-N(d,341)|0,12)|0;H[d+8>>2]=s;H[d+4>>2]=j;H[d>>2]=b;d=H[h+28>>2]+1|0;H[h+28>>2]=d;break Za}j=0;if(!i){break _a}while(1){if(H[f+12>>2]){p=H[f+548>>2];n=H[A>>2];u=H[f+604>>2];k=H[f+616>>2];d=0;while(1){o=k+(d<<2)|0;H[u+(H[o>>2]<<2)>>2]=0;g=H[f>>2];e=H[o>>2]<<2;b=H[e+n>>2];hb:{if((g|0)==(b|0)){break hb}q=e+u|0;l=g-b|0;r=H[f+560>>2];g=32-r|0;if((l|0)<=(g|0)){e=H[f+556>>2];if((e|0)==(p|0)){break Ya}H[q>>2]=H[e>>2]<>>32-l;b=l+H[f+560>>2]|0;H[f+560>>2]=b;if((b|0)!=32){break hb}H[f+560>>2]=0;H[f+556>>2]=e+4;break hb}s=H[f+556>>2];b=s+4|0;if((b|0)==(p|0)){break Ya}e=H[s>>2];H[f+556>>2]=b;b=l-g|0;H[f+560>>2]=b;H[q>>2]=H[s+4>>2]>>>32-b|e<>>32-l}e=H[o>>2]<<2;b=e+u|0;H[b>>2]=H[b>>2]|H[e+H[t>>2]>>2];d=d+1|0;if(d>>>0>2]){continue}break}}jb(w,x);H[f+8>>2]=H[f+8>>2]+1;j=j+1|0;if((i|0)!=(j|0)){continue}break}}d=H[h+28>>2]}if(d){continue}break}}H[h+28>>2]=0;j=H[h+16>>2];d=H[h+12>>2];l=j-d|0;if(l>>>0>=9){while(1){oa(H[d>>2]);d=H[h+12>>2]+4|0;H[h+12>>2]=d;j=H[h+16>>2];l=j-d|0;if(l>>>0>8){continue}break}}b=170;ib:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:H[h+24>>2]=b;break;default:break ib}}jb:{if((d|0)==(j|0)){break jb}while(1){oa(H[d>>2]);d=d+4|0;if((j|0)!=(d|0)){continue}break}d=H[h+16>>2];b=H[h+12>>2];if((d|0)==(b|0)){break jb}H[h+16>>2]=d+((b-d|0)+3&-4)}b=H[h+8>>2];if(b){oa(b)}ca=h+32|0;break Xa}}ab(f)}n=H[a+12>>2]==((H[c+4>>2]-H[c>>2]|0)/12|0)}ca=B+672|0;return n}sa();v()}wa();v()}function kd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!a){return 1}e=H[c+20>>2];g=H[c+12>>2];i=H[c+16>>2];a:{if((e|0)>=(g|0)&i>>>0>=K[c+8>>2]|(e|0)>(g|0)){break a}g=I[i+H[c>>2]|0];i=i+1|0;e=i?e:e+1|0;H[c+16>>2]=i;H[c+20>>2]=e;b:{switch(g|0){case 0:e=a;f=b;i=d;a=0;d=0;m=ca+-64|0;ca=m;H[m+56>>2]=0;H[m+48>>2]=0;H[m+52>>2]=0;H[m+40>>2]=0;H[m+44>>2]=0;H[m+32>>2]=0;H[m+36>>2]=0;H[m+24>>2]=0;H[m+28>>2]=0;H[m+16>>2]=0;H[m+20>>2]=0;H[m+8>>2]=0;H[m+12>>2]=0;c:{if(!Ne(m+8|0,c)){break c}if(!Me(m+8|0,c)|(H[m+20>>2]?0:e)){break c}Db(c,0,0);if(e){s=f<<2;t=H[m+36>>2];w=H[m+48>>2];x=H[m+24>>2];l=H[m+56>>2];j=H[m+52>>2];while(1){d:{if(l>>>0>16383){break d}while(1){if((j|0)<=0){break d}j=j-1|0;H[m+52>>2]=j;l=I[j+w|0]|l<<8;H[m+56>>2]=l;if(l>>>0<16384){continue}break}}a=l&4095;r=H[(a<<2)+x>>2];b=(r<<3)+t|0;l=(N(H[b>>2],l>>>12|0)+a|0)-H[b+4>>2]|0;H[m+56>>2]=l;if((f|0)>0){a=0;if(!I[c+36|0]|r>>>0>32){break c}g=d+f|0;e:{if(!r){ra(i+(d<<2)|0,0,s);break e}y=r&-2;z=r&1;b=H[c+32>>2];h=H[c+28>>2];n=H[c+24>>2];while(1){k=0;a=b;o=0;q=0;if((r|0)!=1){while(1){p=n+(a>>>3|0)|0;f:{if(p>>>0>=h>>>0){p=0;break f}p=I[p|0];b=a+1|0;H[c+32>>2]=b;p=p>>>(a&7)&1;a=b}p=p<>>3|0)|0;if(u>>>0>>0){o=I[u|0];b=a+1|0;H[c+32>>2]=b;o=o>>>(a&7)&1;a=b}u=k|1;k=k+2|0;o=p|o<>>3|0)|0;if(p>>>0>>0){p=I[p|0];b=a+1|0;H[c+32>>2]=b;a=p>>>(a&7)&1}else{a=0}o=a<>2]=o;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=g}v=f+v|0;if(e>>>0>v>>>0){continue}break}}F[c+36|0]=0;b=H[c+20>>2];e=0;d=H[c+32>>2]+7|0;e=d>>>0<7?1:e;d=(e&7)<<29|d>>>3;a=d+H[c+16>>2]|0;e=(e>>>3|0)+b|0;H[c+16>>2]=a;H[c+20>>2]=a>>>0>>0?e+1|0:e;a=1}b=H[m+36>>2];if(b){H[m+40>>2]=b;oa(b)}b=H[m+24>>2];if(b){H[m+28>>2]=b;oa(b)}b=H[m+8>>2];if(b){H[m+12>>2]=b;oa(b)}ca=m- -64|0;return a;case 1:break b;default:break a}}b=0;e=H[c+20>>2];g=H[c+12>>2];i=H[c+16>>2];g:{if((e|0)>=(g|0)&i>>>0>=K[c+8>>2]|(e|0)>(g|0)){break g}g=I[i+H[c>>2]|0];i=i+1|0;e=i?e:e+1|0;H[c+16>>2]=i;H[c+20>>2]=e;h:{switch(g-1|0){case 8:g=a;r=d;i=ca+-64|0;ca=i;H[i+56>>2]=0;H[i+48>>2]=0;H[i+52>>2]=0;H[i+40>>2]=0;H[i+44>>2]=0;H[i+32>>2]=0;H[i+36>>2]=0;H[i+24>>2]=0;H[i+28>>2]=0;H[i+16>>2]=0;H[i+20>>2]=0;H[i+8>>2]=0;H[i+12>>2]=0;j=i+8|0;a=J[c+38>>1];i:{j:{if(!a){break j}k:{if(a>>>0<=511){d=H[c+8>>2];b=H[c+12>>2];e=H[c+20>>2];a=H[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break j}a=a+H[c>>2]|0;h=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24);H[j+12>>2]=h;e=H[c+20>>2];f=H[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;H[c+16>>2]=f;H[c+20>>2]=e;break k}if(!hb(1,j+12|0,c)){break j}f=H[c+16>>2];e=H[c+20>>2];h=H[j+12>>2]}a=H[c+8>>2];d=a-f|0;a=H[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break j}b=H[j>>2];a=H[j+4>>2]-b>>2;l:{if(a>>>0>>0){ya(j,h-a|0);h=H[j+12>>2];break l}if(a>>>0<=h>>>0){break l}H[j+4>>2]=b+(h<<2)}d=1;if(!h){break i}f=H[c+16>>2];e=H[c+20>>2];s=H[j>>2];m=H[c+8>>2];n=H[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=m>>>0|(e|0)>(n|0)){break i}d=H[c>>2];p=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=p>>>2|0;l=0;m:{n:{o:{p:{t=p&3;switch(t|0){case 0:break n;case 3:break p;default:break o}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break i}ra(s+(b<<2)|0,0,(p&252)+4|0);b=a;break m}while(1){if((f|0)==(m|0)&(e|0)==(n|0)){break j}h=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}H[s+(b<<2)>>2]=a}b=b+1|0;h=H[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=H[j>>2];d=H[j+16>>2];b=H[j+20>>2]-d|0;q:{if(b>>>0<=32767){ya(a,8192-(b>>>2|0)|0);break q}if((b|0)==32768){break q}H[j+20>>2]=d+32768}d=j+28|0;b=H[d>>2];f=H[j+32>>2]-b>>3;r:{if(f>>>0>>0){ob(d,h-f|0);b=H[d>>2];break r}if(f>>>0>h>>>0){H[j+32>>2]=(h<<3)+b}if(!h){break j}}m=H[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=H[e>>2];l=(f<<3)+b|0;a=d;H[l+4>>2]=a;H[l>>2]=j;e=H[e>>2];d=e+a|0;if(d>>>0>8192){break j}s:{if(a>>>0>=d>>>0){break s}l=0;j=e&7;if(j){while(1){H[m+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break s}while(1){e=m+(a<<2)|0;H[e>>2]=f;H[e+28>>2]=f;H[e+24>>2]=f;H[e+20>>2]=f;H[e+16>>2]=f;H[e+12>>2]=f;H[e+8>>2]=f;H[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==8192}d=k}t:{if(!d|(H[i+20>>2]?0:g)){break t}d=0;m=ca-16|0;ca=m;u:{v:{if(J[c+38>>1]<=511){b=H[c+8>>2];a=H[c+12>>2];h=a;e=H[c+20>>2];k=H[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break u}k=k+H[c>>2]|0;a=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);k=I[k+4|0]|I[k+5|0]<<8|(I[k+6|0]<<16|I[k+7|0]<<24);H[c+16>>2]=f;H[c+20>>2]=e;break v}if(!gb(1,m+8|0,c)){break u}f=H[c+16>>2];e=H[c+20>>2];b=H[c+8>>2];h=H[c+12>>2];a=H[m+8>>2];k=H[m+12>>2]}j=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>j>>>0|b>>>0>>0){break u}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;H[c+16>>2]=b;H[c+20>>2]=e;if((a|0)<=0){break u}b=H[c>>2]+f|0;H[i+48>>2]=b;c=a-1|0;f=c+b|0;e=I[f|0];w:{if(e>>>0<=63){H[i+52>>2]=c;a=I[f|0]&63;break w}x:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break u}a=a-2|0;H[i+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8&16128|I[a|0];break w;case 1:if(a>>>0<3){break u}a=a-3|0;H[i+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8|I[a+2|0]<<16&4128768|I[a|0];break w;default:break x}}a=a-4|0;H[i+52>>2]=a;a=a+b|0;a=(I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24))&1073741823}H[i+56>>2]=a+32768;d=a>>>0<8355840}ca=m+16|0;if(!d){break t}if(!g){o=1;break t}b=H[i+52>>2];a=H[i+56>>2];c=H[i+36>>2];d=H[i+48>>2];f=H[i+24>>2];while(1){y:{if(a>>>0>32767){break y}while(1){if((b|0)<=0){break y}b=b-1|0;H[i+52>>2]=b;a=I[b+d|0]|a<<8;H[i+56>>2]=a;if(a>>>0<32768){continue}break}}e=a&8191;o=H[f+(e<<2)>>2];k=c+(o<<3)|0;a=(N(H[k>>2],a>>>13|0)+e|0)-H[k+4>>2]|0;H[i+56>>2]=a;H[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((g|0)!=(q|0)){continue}break}}a=H[i+36>>2];if(a){H[i+40>>2]=a;oa(a)}a=H[i+24>>2];if(a){H[i+28>>2]=a;oa(a)}a=H[i+8>>2];if(a){H[i+12>>2]=a;oa(a)}ca=i- -64|0;b=o;break g;case 9:m=a;r=d;g=ca+-64|0;ca=g;H[g+56>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;j=g+8|0;a=J[c+38>>1];z:{A:{if(!a){break A}B:{if(a>>>0<=511){d=H[c+8>>2];b=H[c+12>>2];e=H[c+20>>2];a=H[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break A}a=a+H[c>>2]|0;h=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24);H[j+12>>2]=h;e=H[c+20>>2];f=H[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;H[c+16>>2]=f;H[c+20>>2]=e;break B}if(!hb(1,j+12|0,c)){break A}f=H[c+16>>2];e=H[c+20>>2];h=H[j+12>>2]}a=H[c+8>>2];d=a-f|0;a=H[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break A}b=H[j>>2];a=H[j+4>>2]-b>>2;C:{if(a>>>0>>0){ya(j,h-a|0);h=H[j+12>>2];break C}if(a>>>0<=h>>>0){break C}H[j+4>>2]=b+(h<<2)}d=1;if(!h){break z}f=H[c+16>>2];e=H[c+20>>2];s=H[j>>2];i=H[c+8>>2];n=H[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break z}d=H[c>>2];p=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=p>>>2|0;l=0;D:{E:{F:{G:{t=p&3;switch(t|0){case 0:break E;case 3:break G;default:break F}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break z}ra(s+(b<<2)|0,0,(p&252)+4|0);b=a;break D}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break A}h=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}H[s+(b<<2)>>2]=a}b=b+1|0;h=H[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=H[j>>2];d=H[j+16>>2];b=H[j+20>>2]-d|0;H:{if(b>>>0<=131071){ya(a,32768-(b>>>2|0)|0);break H}if((b|0)==131072){break H}H[j+20>>2]=d+131072}d=j+28|0;b=H[d>>2];f=H[j+32>>2]-b>>3;I:{if(f>>>0>>0){ob(d,h-f|0);b=H[d>>2];break I}if(f>>>0>h>>>0){H[j+32>>2]=(h<<3)+b}if(!h){break A}}i=H[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=H[e>>2];l=(f<<3)+b|0;a=d;H[l+4>>2]=a;H[l>>2]=j;e=H[e>>2];d=e+a|0;if(d>>>0>32768){break A}J:{if(a>>>0>=d>>>0){break J}l=0;j=e&7;if(j){while(1){H[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break J}while(1){e=i+(a<<2)|0;H[e>>2]=f;H[e+28>>2]=f;H[e+24>>2]=f;H[e+20>>2]=f;H[e+16>>2]=f;H[e+12>>2]=f;H[e+8>>2]=f;H[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==32768}d=k}K:{if(!d|(H[g+20>>2]?0:m)){break K}d=0;j=ca-16|0;ca=j;L:{M:{if(J[c+38>>1]<=511){b=H[c+8>>2];a=H[c+12>>2];h=a;e=H[c+20>>2];k=H[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break L}k=k+H[c>>2]|0;a=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);k=I[k+4|0]|I[k+5|0]<<8|(I[k+6|0]<<16|I[k+7|0]<<24);H[c+16>>2]=f;H[c+20>>2]=e;break M}if(!gb(1,j+8|0,c)){break L}f=H[c+16>>2];e=H[c+20>>2];b=H[c+8>>2];h=H[c+12>>2];a=H[j+8>>2];k=H[j+12>>2]}i=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>i>>>0|b>>>0>>0){break L}i=e+k|0;b=a+f|0;i=b>>>0>>0?i+1|0:i;H[c+16>>2]=b;H[c+20>>2]=i;if((a|0)<=0){break L}b=H[c>>2]+f|0;H[g+48>>2]=b;c=a-1|0;f=c+b|0;e=I[f|0];N:{if(e>>>0<=63){H[g+52>>2]=c;a=I[f|0]&63;break N}O:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break L}a=a-2|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8&16128|I[a|0];break N;case 1:if(a>>>0<3){break L}a=a-3|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8|I[a+2|0]<<16&4128768|I[a|0];break N;default:break O}}a=a-4|0;H[g+52>>2]=a;a=a+b|0;a=(I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24))&1073741823}H[g+56>>2]=a+131072;d=a>>>0<33423360}ca=j+16|0;if(!d){break K}if(!m){o=1;break K}b=H[g+52>>2];a=H[g+56>>2];c=H[g+36>>2];d=H[g+48>>2];f=H[g+24>>2];while(1){P:{if(a>>>0>131071){break P}while(1){if((b|0)<=0){break P}b=b-1|0;H[g+52>>2]=b;a=I[b+d|0]|a<<8;H[g+56>>2]=a;if(a>>>0<131072){continue}break}}e=a&32767;o=H[f+(e<<2)>>2];k=c+(o<<3)|0;a=(N(H[k>>2],a>>>15|0)+e|0)-H[k+4>>2]|0;H[g+56>>2]=a;H[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=H[g+36>>2];if(a){H[g+40>>2]=a;oa(a)}a=H[g+24>>2];if(a){H[g+28>>2]=a;oa(a)}a=H[g+8>>2];if(a){H[g+12>>2]=a;oa(a)}ca=g- -64|0;b=o;break g;case 10:m=a;j=d;g=ca+-64|0;ca=g;H[g+56>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;n=g+8|0;a=J[c+38>>1];Q:{R:{if(!a){break R}S:{if(a>>>0<=511){d=H[c+8>>2];b=H[c+12>>2];e=H[c+20>>2];a=H[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break R}a=a+H[c>>2]|0;h=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24);H[n+12>>2]=h;e=H[c+20>>2];f=H[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;H[c+16>>2]=f;H[c+20>>2]=e;break S}if(!hb(1,n+12|0,c)){break R}f=H[c+16>>2];e=H[c+20>>2];h=H[n+12>>2]}a=H[c+8>>2];d=a-f|0;a=H[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break R}b=H[n>>2];a=H[n+4>>2]-b>>2;T:{if(a>>>0>>0){ya(n,h-a|0);h=H[n+12>>2];break T}if(a>>>0<=h>>>0){break T}H[n+4>>2]=b+(h<<2)}d=1;if(!h){break Q}f=H[c+16>>2];e=H[c+20>>2];t=H[n>>2];r=H[c+8>>2];p=H[c+12>>2];b=0;while(1){d=0;if((e|0)>=(p|0)&f>>>0>=r>>>0|(e|0)>(p|0)){break Q}d=H[c>>2];s=I[d+f|0];f=f+1|0;i=f?e:e+1|0;H[c+16>>2]=f;e=i;H[c+20>>2]=e;a=s>>>2|0;l=0;U:{V:{W:{X:{i=s&3;switch(i|0){case 0:break V;case 3:break X;default:break W}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break Q}ra(t+(b<<2)|0,0,(s&252)+4|0);b=a;break U}while(1){if((f|0)==(r|0)&(e|0)==(p|0)){break R}h=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((i|0)!=(l|0)){continue}break}}H[t+(b<<2)>>2]=a}b=b+1|0;h=H[n+12>>2];if(b>>>0>>0){continue}break}a=n+16|0;r=H[n>>2];d=H[n+16>>2];b=H[n+20>>2]-d|0;Y:{if(b>>>0<=262143){ya(a,65536-(b>>>2|0)|0);break Y}if((b|0)==262144){break Y}H[n+20>>2]=d+262144}d=n+28|0;b=H[d>>2];f=H[n+32>>2]-b>>3;Z:{if(f>>>0>>0){ob(d,h-f|0);b=H[d>>2];break Z}if(f>>>0>h>>>0){H[n+32>>2]=(h<<3)+b}if(!h){break R}}i=H[a>>2];f=0;d=0;while(1){e=r+(f<<2)|0;l=H[e>>2];n=(f<<3)+b|0;a=d;H[n+4>>2]=a;H[n>>2]=l;e=H[e>>2];d=e+a|0;if(d>>>0>65536){break R}_:{if(a>>>0>=d>>>0){break _}l=0;n=e&7;if(n){while(1){H[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((n|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break _}while(1){e=i+(a<<2)|0;H[e>>2]=f;H[e+28>>2]=f;H[e+24>>2]=f;H[e+20>>2]=f;H[e+16>>2]=f;H[e+12>>2]=f;H[e+8>>2]=f;H[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==65536}d=k}$:{if(!d|(H[g+20>>2]?0:m)){break $}d=0;i=ca-16|0;ca=i;aa:{ba:{if(J[c+38>>1]<=511){b=H[c+8>>2];a=H[c+12>>2];h=a;e=H[c+20>>2];k=H[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break aa}k=k+H[c>>2]|0;a=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);k=I[k+4|0]|I[k+5|0]<<8|(I[k+6|0]<<16|I[k+7|0]<<24);H[c+16>>2]=f;H[c+20>>2]=e;break ba}if(!gb(1,i+8|0,c)){break aa}f=H[c+16>>2];e=H[c+20>>2];b=H[c+8>>2];h=H[c+12>>2];a=H[i+8>>2];k=H[i+12>>2]}r=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>r>>>0|b>>>0>>0){break aa}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;H[c+16>>2]=b;H[c+20>>2]=e;if((a|0)<=0){break aa}b=H[c>>2]+f|0;H[g+48>>2]=b;c=a-1|0;f=c+b|0;e=I[f|0];ca:{if(e>>>0<=63){H[g+52>>2]=c;a=I[f|0]&63;break ca}da:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break aa}a=a-2|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8&16128|I[a|0];break ca;case 1:if(a>>>0<3){break aa}a=a-3|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8|I[a+2|0]<<16&4128768|I[a|0];break ca;default:break da}}a=a-4|0;H[g+52>>2]=a;a=a+b|0;a=(I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24))&1073741823}H[g+56>>2]=a+262144;d=a>>>0<66846720}ca=i+16|0;if(!d){break $}if(!m){o=1;break $}b=H[g+52>>2];a=H[g+56>>2];c=H[g+36>>2];d=H[g+48>>2];f=H[g+24>>2];while(1){ea:{if(a>>>0>262143){break ea}while(1){if((b|0)<=0){break ea}b=b-1|0;H[g+52>>2]=b;a=I[b+d|0]|a<<8;H[g+56>>2]=a;if(a>>>0<262144){continue}break}}e=a&65535;o=H[f+(e<<2)>>2];k=c+(o<<3)|0;a=(N(H[k>>2],a>>>16|0)+e|0)-H[k+4>>2]|0;H[g+56>>2]=a;H[j+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=H[g+36>>2];if(a){H[g+40>>2]=a;oa(a)}a=H[g+24>>2];if(a){H[g+28>>2]=a;oa(a)}a=H[g+8>>2];if(a){H[g+12>>2]=a;oa(a)}ca=g- -64|0;b=o;break g;case 11:m=a;r=d;g=ca+-64|0;ca=g;H[g+56>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;j=g+8|0;a=J[c+38>>1];fa:{ga:{if(!a){break ga}ha:{if(a>>>0<=511){d=H[c+8>>2];b=H[c+12>>2];e=H[c+20>>2];a=H[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break ga}a=a+H[c>>2]|0;h=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24);H[j+12>>2]=h;i=H[c+20>>2];f=H[c+16>>2]+4|0;i=f>>>0<4?i+1|0:i;H[c+16>>2]=f;e=i;H[c+20>>2]=e;break ha}if(!hb(1,j+12|0,c)){break ga}f=H[c+16>>2];e=H[c+20>>2];h=H[j+12>>2]}a=H[c+8>>2];d=a-f|0;a=H[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break ga}b=H[j>>2];a=H[j+4>>2]-b>>2;ia:{if(a>>>0>>0){ya(j,h-a|0);h=H[j+12>>2];break ia}if(a>>>0<=h>>>0){break ia}H[j+4>>2]=b+(h<<2)}d=1;if(!h){break fa}f=H[c+16>>2];e=H[c+20>>2];s=H[j>>2];i=H[c+8>>2];n=H[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break fa}d=H[c>>2];p=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=p>>>2|0;l=0;ja:{ka:{la:{ma:{t=p&3;switch(t|0){case 0:break ka;case 3:break ma;default:break la}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break fa}ra(s+(b<<2)|0,0,(p&252)+4|0);b=a;break ja}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break ga}h=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}H[s+(b<<2)>>2]=a}b=b+1|0;h=H[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=H[j>>2];d=H[j+16>>2];b=H[j+20>>2]-d|0;na:{if(b>>>0<=1048575){ya(a,262144-(b>>>2|0)|0);break na}if((b|0)==1048576){break na}H[j+20>>2]=d- -1048576}d=j+28|0;b=H[d>>2];f=H[j+32>>2]-b>>3;oa:{if(f>>>0>>0){ob(d,h-f|0);b=H[d>>2];break oa}if(f>>>0>h>>>0){H[j+32>>2]=(h<<3)+b}if(!h){break ga}}i=H[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=H[e>>2];l=(f<<3)+b|0;a=d;H[l+4>>2]=a;H[l>>2]=j;e=H[e>>2];d=e+a|0;if(d>>>0>262144){break ga}pa:{if(a>>>0>=d>>>0){break pa}l=0;j=e&7;if(j){while(1){H[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break pa}while(1){e=i+(a<<2)|0;H[e>>2]=f;H[e+28>>2]=f;H[e+24>>2]=f;H[e+20>>2]=f;H[e+16>>2]=f;H[e+12>>2]=f;H[e+8>>2]=f;H[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==262144}d=k}qa:{if(!d|(H[g+20>>2]?0:m)){break qa}d=0;j=ca-16|0;ca=j;ra:{sa:{if(J[c+38>>1]<=511){b=H[c+8>>2];a=H[c+12>>2];h=a;i=H[c+20>>2];k=H[c+16>>2];f=k+8|0;i=f>>>0<8?i+1|0:i;e=i;if(b>>>0>>0&(e|0)>=(a|0)|(a|0)<(e|0)){break ra}k=k+H[c>>2]|0;a=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);k=I[k+4|0]|I[k+5|0]<<8|(I[k+6|0]<<16|I[k+7|0]<<24);H[c+16>>2]=f;H[c+20>>2]=e;break sa}if(!gb(1,j+8|0,c)){break ra}f=H[c+16>>2];e=H[c+20>>2];b=H[c+8>>2];h=H[c+12>>2];a=H[j+8>>2];k=H[j+12>>2]}i=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>i>>>0|b>>>0>>0){break ra}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;H[c+16>>2]=b;H[c+20>>2]=e;if((a|0)<=0){break ra}b=H[c>>2]+f|0;H[g+48>>2]=b;c=a-1|0;f=c+b|0;e=I[f|0];ta:{if(e>>>0<=63){H[g+52>>2]=c;a=I[f|0]&63;break ta}ua:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break ra}a=a-2|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8&16128|I[a|0];break ta;case 1:if(a>>>0<3){break ra}a=a-3|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8|I[a+2|0]<<16&4128768|I[a|0];break ta;default:break ua}}a=a-4|0;H[g+52>>2]=a;a=a+b|0;a=(I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24))&1073741823}H[g+56>>2]=a- -1048576;d=a>>>0<267386880}ca=j+16|0;if(!d){break qa}if(!m){o=1;break qa}b=H[g+52>>2];a=H[g+56>>2];c=H[g+36>>2];d=H[g+48>>2];f=H[g+24>>2];while(1){va:{if(a>>>0>1048575){break va}while(1){if((b|0)<=0){break va}b=b-1|0;H[g+52>>2]=b;a=I[b+d|0]|a<<8;H[g+56>>2]=a;if(a>>>0<1048576){continue}break}}e=a&262143;o=H[f+(e<<2)>>2];k=c+(o<<3)|0;a=(N(H[k>>2],a>>>18|0)+e|0)-H[k+4>>2]|0;H[g+56>>2]=a;H[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=H[g+36>>2];if(a){H[g+40>>2]=a;oa(a)}a=H[g+24>>2];if(a){H[g+28>>2]=a;oa(a)}a=H[g+8>>2];if(a){H[g+12>>2]=a;oa(a)}ca=g- -64|0;b=o;break g;case 12:m=a;r=d;g=ca+-64|0;ca=g;H[g+56>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;j=g+8|0;a=J[c+38>>1];wa:{xa:{if(!a){break xa}ya:{if(a>>>0<=511){d=H[c+8>>2];b=H[c+12>>2];i=H[c+20>>2];a=H[c+16>>2];f=a+4|0;i=f>>>0<4?i+1|0:i;if(d>>>0>>0&(b|0)<=(i|0)|(b|0)<(i|0)){break xa}a=a+H[c>>2]|0;h=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24);H[j+12>>2]=h;e=H[c+20>>2];f=H[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;H[c+16>>2]=f;H[c+20>>2]=e;break ya}if(!hb(1,j+12|0,c)){break xa}f=H[c+16>>2];e=H[c+20>>2];h=H[j+12>>2]}a=H[c+8>>2];d=a-f|0;a=H[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break xa}b=H[j>>2];a=H[j+4>>2]-b>>2;za:{if(a>>>0>>0){ya(j,h-a|0);h=H[j+12>>2];break za}if(a>>>0<=h>>>0){break za}H[j+4>>2]=b+(h<<2)}d=1;if(!h){break wa}f=H[c+16>>2];e=H[c+20>>2];s=H[j>>2];i=H[c+8>>2];n=H[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break wa}d=H[c>>2];p=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=p>>>2|0;l=0;Aa:{Ba:{Ca:{Da:{t=p&3;switch(t|0){case 0:break Ba;case 3:break Da;default:break Ca}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break wa}ra(s+(b<<2)|0,0,(p&252)+4|0);b=a;break Aa}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break xa}h=I[d+f|0];f=f+1|0;e=f?e:e+1|0;H[c+16>>2]=f;H[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}H[s+(b<<2)>>2]=a}b=b+1|0;h=H[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=H[j>>2];d=H[j+16>>2];b=H[j+20>>2]-d|0;Ea:{if(b>>>0<=2097151){ya(a,524288-(b>>>2|0)|0);break Ea}if((b|0)==2097152){break Ea}H[j+20>>2]=d+2097152}d=j+28|0;b=H[d>>2];f=H[j+32>>2]-b>>3;Fa:{if(f>>>0>>0){ob(d,h-f|0);b=H[d>>2];break Fa}if(f>>>0>h>>>0){H[j+32>>2]=(h<<3)+b}if(!h){break xa}}i=H[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=H[e>>2];l=(f<<3)+b|0;a=d;H[l+4>>2]=a;H[l>>2]=j;e=H[e>>2];d=e+a|0;if(d>>>0>524288){break xa}Ga:{if(a>>>0>=d>>>0){break Ga}l=0;j=e&7;if(j){while(1){H[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break Ga}while(1){e=i+(a<<2)|0;H[e>>2]=f;H[e+28>>2]=f;H[e+24>>2]=f;H[e+20>>2]=f;H[e+16>>2]=f;H[e+12>>2]=f;H[e+8>>2]=f;H[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==524288}d=k}Ha:{if(!d|(H[g+20>>2]?0:m)){break Ha}d=0;i=ca-16|0;ca=i;Ia:{Ja:{if(J[c+38>>1]<=511){b=H[c+8>>2];a=H[c+12>>2];h=a;e=H[c+20>>2];k=H[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break Ia}k=k+H[c>>2]|0;a=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);k=I[k+4|0]|I[k+5|0]<<8|(I[k+6|0]<<16|I[k+7|0]<<24);H[c+16>>2]=f;H[c+20>>2]=e;break Ja}if(!gb(1,i+8|0,c)){break Ia}f=H[c+16>>2];e=H[c+20>>2];b=H[c+8>>2];h=H[c+12>>2];a=H[i+8>>2];k=H[i+12>>2]}j=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>j>>>0|b>>>0>>0){break Ia}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;H[c+16>>2]=b;H[c+20>>2]=e;if((a|0)<=0){break Ia}b=H[c>>2]+f|0;H[g+48>>2]=b;c=a-1|0;f=c+b|0;e=I[f|0];Ka:{if(e>>>0<=63){H[g+52>>2]=c;a=I[f|0]&63;break Ka}La:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break Ia}a=a-2|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8&16128|I[a|0];break Ka;case 1:if(a>>>0<3){break Ia}a=a-3|0;H[g+52>>2]=a;a=a+b|0;a=I[a+1|0]<<8|I[a+2|0]<<16&4128768|I[a|0];break Ka;default:break La}}a=a-4|0;H[g+52>>2]=a;a=a+b|0;a=(I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24))&1073741823}H[g+56>>2]=a+2097152;d=a>>>0<534773760}ca=i+16|0;if(!d){break Ha}if(!m){o=1;break Ha}b=H[g+52>>2];a=H[g+56>>2];c=H[g+36>>2];d=H[g+48>>2];f=H[g+24>>2];while(1){Ma:{if(a>>>0>2097151){break Ma}while(1){if((b|0)<=0){break Ma}b=b-1|0;H[g+52>>2]=b;a=I[b+d|0]|a<<8;H[g+56>>2]=a;if(a>>>0<2097152){continue}break}}e=a&524287;o=H[f+(e<<2)>>2];k=c+(o<<3)|0;a=(N(H[k>>2],a>>>19|0)+e|0)-H[k+4>>2]|0;H[g+56>>2]=a;H[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=H[g+36>>2];if(a){H[g+40>>2]=a;oa(a)}a=H[g+24>>2];if(a){H[g+28>>2]=a;oa(a)}a=H[g+8>>2];if(a){H[g+12>>2]=a;oa(a)}ca=g- -64|0;b=o;break g;case 17:b=Le(a,c,d);break g;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:b=ca+-64|0;ca=b;H[b+56>>2]=0;H[b+48>>2]=0;H[b+52>>2]=0;H[b+40>>2]=0;H[b+44>>2]=0;H[b+32>>2]=0;H[b+36>>2]=0;H[b+24>>2]=0;H[b+28>>2]=0;H[b+16>>2]=0;H[b+20>>2]=0;H[b+8>>2]=0;H[b+12>>2]=0;Na:{if(!Ne(b+8|0,c)|(H[b+20>>2]?0:a)){break Na}if(!Me(b+8|0,c)){break Na}if(!a){f=1;break Na}e=H[b+52>>2];c=H[b+56>>2];k=H[b+36>>2];i=H[b+48>>2];g=H[b+24>>2];while(1){Oa:{if(c>>>0>16383){break Oa}while(1){if((e|0)<=0){break Oa}e=e-1|0;H[b+52>>2]=e;c=I[e+i|0]|c<<8;H[b+56>>2]=c;if(c>>>0<16384){continue}break}}f=c&4095;m=H[g+(f<<2)>>2];r=k+(m<<3)|0;c=(N(H[r>>2],c>>>12|0)+f|0)-H[r+4>>2]|0;H[b+56>>2]=c;H[(o<<2)+d>>2]=m;f=1;o=o+1|0;if((o|0)!=(a|0)){continue}break}}a=H[b+36>>2];if(a){H[b+40>>2]=a;oa(a)}a=H[b+24>>2];if(a){H[b+28>>2]=a;oa(a)}a=H[b+8>>2];if(a){H[b+12>>2]=a;oa(a)}ca=b- -64|0;b=f;break g;case 13:case 14:case 15:case 16:break h;default:break g}}b=Le(a,c,d)}f=b}return f}function gi(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,L=0,M=0,O=0,P=0,Q=0,R=0;s=ca+-64|0;ca=s;H[a+132>>2]=0;if(H[a+148>>2]){c=H[a+144>>2];if(c){while(1){d=H[c>>2];oa(c);c=d;if(c){continue}break}}c=0;H[a+144>>2]=0;d=H[a+140>>2];a:{if(!d){break a}if(d>>>0>=4){g=d&-4;while(1){e=c<<2;H[e+H[a+136>>2]>>2]=0;H[H[a+136>>2]+(e|4)>>2]=0;H[H[a+136>>2]+(e|8)>>2]=0;H[H[a+136>>2]+(e|12)>>2]=0;c=c+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}b=d&3;if(!b){break a}while(1){H[H[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;u=u+1|0;if((b|0)!=(u|0)){continue}break}}H[a+148>>2]=0}b:{c:{d:{c=H[a+4>>2];u=I[c+36|0];b=u<<8|I[c+37|0];if(b>>>0<=513){i=H[c+32>>2];e:{if(b>>>0<=511){d=H[i+20>>2];e=H[i+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;g=b;f=K[i+8>>2]>>0;b=H[i+12>>2];if(f&(b|0)<=(d|0)|(b|0)<(d|0)){break d}b=e+H[i>>2]|0;b=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[i+16>>2]=g;H[i+20>>2]=d;break e}if(!Ea(1,s,i)){break d}c=H[a+4>>2];u=I[c+36|0];b=H[s>>2]}H[a+132>>2]=b}g=H[c+32>>2];f:{g:{h:{if((u&255)>>>0<=1){u=0;d=H[g+20>>2];e=H[g+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;i=H[g+12>>2];if(K[g+8>>2]>>0&(i|0)<=(d|0)|(d|0)>(i|0)){break c}e=e+H[g>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[s+60>>2]=e;H[g+16>>2]=b;H[g+20>>2]=d;H[a+156>>2]=e;n=a+156|0;break h}u=0;if(!Ea(1,s+60|0,g)){break c}c=H[a+4>>2];b=I[c+36|0];H[a+156>>2]=H[s+60>>2];n=a+156|0;if(b>>>0>1){break g}}e=H[c+32>>2];i=H[e+8>>2];g=H[e+12>>2];d=H[e+20>>2];b=H[e+16>>2];c=b+4|0;d=c>>>0<4?d+1|0:d;if(c>>>0>i>>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break c}b=b+H[e>>2]|0;b=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[s+56>>2]=b;H[e+16>>2]=c;H[e+20>>2]=d;break f}if(!Ea(1,s+56|0,H[c+32>>2])){break c}b=H[s+56>>2]}if(b>>>0>1431655765){break c}c=H[n>>2];d=N(b,3);if(c>>>0>d>>>0){break c}e=d>>>1|0;d=c>>31;g=Rj(c-1|0,d-!c|0,c,d);c=da;d=c>>>1|0;c=(c&1)<<31|g>>>1;if(!d&c>>>0>>0){break c}f=H[a+4>>2];g=H[f+32>>2];c=g;e=H[c+8>>2];i=H[c+16>>2];j=H[c+12>>2];d=H[c+20>>2];c=d;if((j|0)<=(c|0)&e>>>0<=i>>>0|(c|0)>(j|0)){break c}n=H[g>>2];o=I[n+i|0];h=i+1|0;c=h?c:c+1|0;H[g+16>>2]=h;H[g+20>>2]=c;i:{if(I[f+36|0]<=1){f=e;c=j;e=i+5|0;d=e>>>0<5?d+1|0:d;if((c|0)<=(d|0)&e>>>0>f>>>0|(c|0)<(d|0)){break c}c=h+n|0;n=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[s+52>>2]=n;H[g+16>>2]=e;H[g+20>>2]=d;break i}if(!Ea(1,s+52|0,g)){break c}n=H[s+52>>2]}if(b>>>0>>0|((n>>>0)/3|0)+n>>>0>>0){break c}c=H[a+4>>2];i=H[c+32>>2];j:{if(I[c+36|0]<=1){c=H[i+20>>2];e=H[i+16>>2];d=e+4|0;c=d>>>0<4?c+1|0:c;g=d;f=K[i+8>>2]>>0;d=H[i+12>>2];if(f&(d|0)<=(c|0)|(c|0)>(d|0)){break c}d=e+H[i>>2]|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[s+48>>2]=d;H[i+16>>2]=g;H[i+20>>2]=c;break j}if(!Ea(1,s+48|0,i)){break c}d=H[s+48>>2]}if(d>>>0>n>>>0){break c}H[a+28>>2]=H[a+24>>2];e=$b(pa(88));c=H[a+8>>2];H[a+8>>2]=e;if(c){cb(c);if(!H[a+8>>2]){break c}}H[a+164>>2]=H[a+160>>2];Jb(a+160|0,b);H[a+176>>2]=H[a+172>>2];Jb(a+172|0,b);H[a- -64>>2]=0;H[a+92>>2]=-1;H[a+84>>2]=-1;H[a+88>>2]=-1;H[a+40>>2]=H[a+36>>2];H[a+52>>2]=H[a+48>>2];H[a+76>>2]=H[a+72>>2];B=a+216|0;ed(B);dd(B,o);if(!Lc(H[a+8>>2],b,H[a+156>>2]+d|0)){break c}c=H[a+156>>2];F[s|0]=1;Oa(a+120|0,c+d|0,s);c=H[a+4>>2];b=J[c+36>>1];b=(b<<8|b>>>8)&65535;k:{if(b>>>0<=513){i=H[c+32>>2];l:{if(b>>>0<=511){c=H[i+20>>2];e=H[i+16>>2];b=e+4|0;c=b>>>0<4?c+1|0:c;g=b;f=K[i+8>>2]>>0;b=H[i+12>>2];if(f&(b|0)<=(c|0)|(c|0)>(b|0)){break c}b=e+H[i>>2]|0;b=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[i+16>>2]=g;H[i+20>>2]=c;break l}if(!Ea(1,s+44|0,i)){break c}b=H[s+44>>2]}if(!b){break c}c=H[H[a+4>>2]+32>>2];e=H[c+8>>2];g=H[c+16>>2];i=e-g|0;c=H[c+12>>2]-(H[c+20>>2]+(e>>>0>>0)|0)|0;if((c|0)<=0&b>>>0>i>>>0|(c|0)<0){break c}c=Ha(s);e=H[H[a+4>>2]+32>>2];g=H[e+16>>2];i=(g+H[e>>2]|0)+b|0;g=H[e+8>>2]-g|0;G[c+38>>1]=J[e+38>>1];H[c>>2]=i;H[c+16>>2]=0;H[c+20>>2]=0;H[c+8>>2]=g-b;H[c+12>>2]=0;C=Ib(a,c);if((C|0)==-1){break c}M=C>>31;break k}C=-1;M=-1;if((Ib(a,H[c+32>>2])|0)==-1){break c}}e=a+232|0;Ee(e,a);H[a+372>>2]=o;H[a+384>>2]=H[a+156>>2]+d;O=Ha(s);g=O;b=0;j=ca-16|0;ca=j;m:{n:{c=H[e+144>>2];c=J[(ea[H[H[c>>2]+32>>2]](c)|0)+36>>1];if(((c<<8|c>>>8)&65535)>>>0<=513){c=H[e+4>>2];H[e+40>>2]=H[e>>2];H[e+44>>2]=c;c=H[e+36>>2];H[e+72>>2]=H[e+32>>2];H[e+76>>2]=c;d=H[e+28>>2];c=e- -64|0;H[c>>2]=H[e+24>>2];H[c+4>>2]=d;c=H[e+20>>2];H[e+56>>2]=H[e+16>>2];H[e+60>>2]=c;c=H[e+12>>2];H[e+48>>2]=H[e+8>>2];H[e+52>>2]=c;if(!Db(e+40|0,1,j+8|0)){break n}c=H[e+44>>2];H[e>>2]=H[e+40>>2];H[e+4>>2]=c;c=H[e+76>>2];H[e+32>>2]=H[e+72>>2];H[e+36>>2]=c;c=H[e+68>>2];H[e+24>>2]=H[e+64>>2];H[e+28>>2]=c;c=H[e+60>>2];h=c;d=H[e+56>>2];H[e+16>>2]=d;H[e+20>>2]=c;i=H[e+52>>2];f=i;c=H[e+48>>2];H[e+8>>2]=c;H[e+12>>2]=f;o=c-d|0;k=H[j+12>>2];c=f-((c>>>0>>0)+h|0)|0;i=H[j+8>>2];if((k|0)==(c|0)&o>>>0>>0|c>>>0>>0){break n}c=h+k|0;f=d;d=d+i|0;c=f>>>0>d>>>0?c+1|0:c;H[e+16>>2]=d;H[e+20>>2]=c}o:{if(J[e+38>>1]<=513){c=H[e+4>>2];H[e+96>>2]=H[e>>2];H[e+100>>2]=c;c=H[e+36>>2];H[e+128>>2]=H[e+32>>2];H[e+132>>2]=c;c=H[e+28>>2];H[e+120>>2]=H[e+24>>2];H[e+124>>2]=c;c=H[e+20>>2];H[e+112>>2]=H[e+16>>2];H[e+116>>2]=c;c=H[e+12>>2];H[e+104>>2]=H[e+8>>2];H[e+108>>2]=c;if(!Db(e+96|0,1,j+8|0)){break n}c=H[e+100>>2];H[e>>2]=H[e+96>>2];H[e+4>>2]=c;c=H[e+132>>2];H[e+32>>2]=H[e+128>>2];H[e+36>>2]=c;c=H[e+124>>2];H[e+24>>2]=H[e+120>>2];H[e+28>>2]=c;d=H[e+116>>2];h=d;c=H[e+112>>2];H[e+16>>2]=c;H[e+20>>2]=d;i=H[e+108>>2];f=i;d=H[e+104>>2];H[e+8>>2]=d;H[e+12>>2]=f;o=d-c|0;k=H[j+12>>2];d=f-((c>>>0>d>>>0)+h|0)|0;i=H[j+8>>2];if((k|0)==(d|0)&o>>>0>>0|d>>>0>>0){break n}d=h+k|0;f=c;c=c+i|0;d=f>>>0>c>>>0?d+1|0:d;H[e+16>>2]=c;H[e+20>>2]=d;break o}if(!ta(e+80|0,e)){break m}}if(!Fe(e)){break m}c=H[e+4>>2];H[g>>2]=H[e>>2];H[g+4>>2]=c;c=H[e+36>>2];H[g+32>>2]=H[e+32>>2];H[g+36>>2]=c;c=H[e+28>>2];H[g+24>>2]=H[e+24>>2];H[g+28>>2]=c;c=H[e+20>>2];H[g+16>>2]=H[e+16>>2];H[g+20>>2]=c;c=H[e+12>>2];H[g+8>>2]=H[e+8>>2];H[g+12>>2]=c;c=H[e+144>>2];c=J[(ea[H[H[c>>2]+32>>2]](c)|0)+36>>1];p:{if(((c<<8|c>>>8)&65535)>>>0<=513){c=H[e+144>>2];q:{if(I[(ea[H[H[c>>2]+32>>2]](c)|0)+36|0]<=1){c=H[g+20>>2];i=H[g+16>>2];d=i+4|0;c=d>>>0<4?c+1|0:c;h=d;f=K[g+8>>2]>>0;d=H[g+12>>2];if(f&(d|0)<=(c|0)|(c|0)>(d|0)){break m}d=i+H[g>>2]|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[g+16>>2]=h;H[g+20>>2]=c;break q}if(!Ea(1,j+8|0,g)){break m}d=H[j+8>>2]}c=H[e+152>>2];if(d>>>0>=c>>>0){break m}d=H[g+20>>2];h=H[g+12>>2];i=H[g+16>>2];if((d|0)>=(h|0)&i>>>0>=K[g+8>>2]|(d|0)>(h|0)){break m}h=I[i+H[g>>2]|0];i=i+1|0;d=i?d:d+1|0;H[g+16>>2]=i;H[g+20>>2]=d;if(h){break m}H[e+176>>2]=2;H[e+180>>2]=7;break p}H[e+176>>2]=2;H[e+180>>2]=7;c=H[e+152>>2]}if((c|0)<0){break m}H[j+8>>2]=0;b=2;h=H[e+156>>2];i=H[e+160>>2]-h>>2;r:{if(i>>>0>>0){Pa(e+156|0,c-i|0,j+8|0);b=H[e+176>>2];d=H[e+180>>2];break r}d=7;if(c>>>0>=i>>>0){break r}H[e+160>>2]=h+(c<<2)}i=e+184|0;b=(d-b|0)+1|0;c=H[e+188>>2];h=H[e+184>>2];d=(c-h|0)/12|0;s:{if(b>>>0>d>>>0){o=0;d=b-d|0;f=H[i+8>>2];c=H[i+4>>2];t:{if(d>>>0<=(f-c|0)/12>>>0){if(d){b=c;c=N(d,12)-12|0;c=(c-((c>>>0)%12|0)|0)+12|0;c=ra(b,0,c)+c|0}H[i+4>>2]=c;break t}u:{v:{w:{h=H[i>>2];k=(c-h|0)/12|0;b=k+d|0;if(b>>>0<357913942){f=(f-h|0)/12|0;l=f<<1;f=f>>>0>=178956970?357913941:b>>>0>>0?l:b;if(f){if(f>>>0>=357913942){break w}o=pa(N(f,12))}b=N(k,12)+o|0;d=N(d,12)-12|0;k=(d-((d>>>0)%12|0)|0)+12|0;d=ra(b,0,k);k=d+k|0;f=N(f,12)+o|0;if((c|0)==(h|0)){break v}while(1){b=b-12|0;c=c-12|0;H[b>>2]=H[c>>2];H[b+4>>2]=H[c+4>>2];H[b+8>>2]=H[c+8>>2];H[c+8>>2]=0;H[c>>2]=0;H[c+4>>2]=0;if((c|0)!=(h|0)){continue}break}H[i+8>>2]=f;d=H[i+4>>2];H[i+4>>2]=k;c=H[i>>2];H[i>>2]=b;if((c|0)==(d|0)){break u}while(1){b=d-12|0;h=H[b>>2];if(h){H[d-8>>2]=h;oa(h)}d=b;if((b|0)!=(c|0)){continue}break}break u}break b}wa();v()}H[i+8>>2]=f;H[i+4>>2]=k;H[i>>2]=d}if(c){oa(c)}}d=H[e+188>>2];break s}if(b>>>0>=d>>>0){d=c;break s}d=h+N(b,12)|0;if((d|0)!=(c|0)){while(1){b=c-12|0;h=H[b>>2];if(h){H[c-8>>2]=h;oa(h)}c=b;if((d|0)!=(b|0)){continue}break}}H[e+188>>2]=d}f=e+196|0;b=H[e+184>>2];c=(d-b|0)/12|0;o=H[e+196>>2];h=H[e+200>>2]-o>>2;x:{if(c>>>0>h>>>0){ya(f,c-h|0);b=H[e+184>>2];d=H[e+188>>2];break x}if(c>>>0>=h>>>0){break x}H[e+200>>2]=o+(c<<2)}if((b|0)==(d|0)){b=1;break m}c=0;while(1){if(!Ea(1,j+8|0,g)){break n}b=H[e+148>>2];d=(H[b+4>>2]-H[b>>2]>>2>>>0)/3|0;b=H[j+8>>2];if(d>>>0>>0){break n}if(b){k=N(c,12);h=k+H[i>>2]|0;d=H[h>>2];o=H[h+4>>2]-d>>2;y:{if(o>>>0>>0){ya(h,b-o|0);d=H[k+H[i>>2]>>2];break y}if(b>>>0>=o>>>0){break y}H[h+4>>2]=(b<<2)+d}kd(b,1,g,d);H[H[f>>2]+(c<<2)>>2]=b}b=1;c=c+1|0;if(c>>>0<(H[e+188>>2]-H[e+184>>2]|0)/12>>>0){continue}break}break m}b=0}ca=j+16|0;z:{if(!b){break z}d=0;c=0;g=0;i=0;o=0;l=ca-96|0;ca=l;H[l+72>>2]=0;H[l+64>>2]=0;H[l+68>>2]=0;H[l+48>>2]=0;H[l+52>>2]=0;H[l+40>>2]=0;H[l+44>>2]=0;H[l+56>>2]=1065353216;H[l+32>>2]=0;H[l+24>>2]=0;H[l+28>>2]=0;j=a;L=H[a+124>>2];A:{B:{C:{D:{E:{if((n|0)<=0){break E}r=j+232|0;P=H[j+216>>2]!=H[j+220>>2];D=1;while(1){h=i;i=i+1|0;a=H[r+172>>2];F:{G:{if((a|0)!=-1){b=H[r+196>>2]+(a<<2)|0;f=H[b>>2];a=f-1|0;H[b>>2]=a;b=9;if((f|0)<=0){break F}a=H[H[H[r+184>>2]+N(H[r+172>>2],12)>>2]+(a<<2)>>2];if(a>>>0>4){break F}b=H[(a<<2)+12144>>2];break G}b=7;a=H[r+144>>2];a=J[(ea[H[H[a>>2]+32>>2]](a)|0)+36>>1];if(((a<<8|a>>>8)&65535)>>>0>513|!I[r+76|0]){break G}b=0;m=H[r- -64>>2];k=H[r+72>>2];a=m+(k>>>3|0)|0;p=H[r+68>>2];if(a>>>0>=p>>>0){break G}f=I[a|0];a=k+1|0;H[r+72>>2]=a;f=f>>>(k&7)&1;if(!f){break G}q=a>>>3|0;b=m+q|0;H:{if(b>>>0>=p>>>0){b=a;a=0;break H}t=I[b|0];b=k+2|0;H[r+72>>2]=b;q=b>>>3|0;a=t>>>(a&7)&1}k=m+q|0;if(k>>>0

>>0){k=I[k|0];H[r+72>>2]=b+1;b=k>>>(b&7)<<1&2}else{b=0}b=(a|b)<<1|f}H[r+168>>2]=b}a=b;I:{J:{if(!a){if((c|0)==(g|0)){b=-1;break D}d=-1;m=H[j+8>>2];t=H[m+24>>2];D=c-4|0;f=H[D>>2];a=-1;K:{if((f|0)==-1){break K}k=f+1|0;k=(k>>>0)%3|0?k:f-2|0;a=-1;if((k|0)==-1){break K}a=H[H[m>>2]+(k<<2)>>2]}b=H[t+(a<<2)>>2];if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}if((d|0)==(f|0)){b=-1;break D}if((f|0)!=-1){b=-1;if(H[H[m+12>>2]+(f<<2)>>2]!=-1){break D}}k=H[m+12>>2];if((d|0)!=-1){b=-1;if(H[k+(d<<2)>>2]!=-1){break D}}p=N(h,3);b=p+1|0;H[k+(f<<2)>>2]=b;w=b<<2;H[w+k>>2]=f;q=p+2|0;H[k+(d<<2)>>2]=q;y=q<<2;H[y+k>>2]=d;k=-1;h=-1;L:{if((f|0)==-1){break L}M:{if((f>>>0)%3|0){b=f-1|0;break M}b=f+2|0;h=-1;if((b|0)==-1){break L}}h=H[H[m>>2]+(b<<2)>>2]}N:{if((d|0)==-1){break N}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if((b|0)==-1){break N}k=H[H[m>>2]+(b<<2)>>2]}b=-1;if((a|0)==(h|0)|(a|0)==(k|0)){break D}b=H[m>>2];H[b+(p<<2)>>2]=a;H[b+w>>2]=k;H[b+y>>2]=h;if((h|0)!=-1){H[t+(h<<2)>>2]=q}b=H[j+120>>2]+(a>>>3&536870908)|0;d=H[b>>2];Q=b,R=Vj(a)&d,H[Q>>2]=R;H[D>>2]=p;k=H[c-4>>2];break J}b=-1;O:{P:{Q:{R:{S:{T:{U:{V:{W:{switch(a-1|0){case 2:case 4:if((c|0)==(g|0)){break D}t=c-4|0;d=H[t>>2];f=H[j+8>>2];m=H[f+12>>2];if((d|0)!=-1&H[m+(d<<2)>>2]!=-1){break D}k=N(h,3);p=(a|0)==5;q=k+(p?2:1)|0;w=q<<2;H[w+m>>2]=d;H[m+(d<<2)>>2]=q;Ka(f+24|0,11424);a=H[j+8>>2];m=H[a+24>>2];if(H[a+28>>2]-m>>2>(L|0)){break D}a=H[a>>2];y=a+w|0;b=H[f+28>>2];f=H[f+24>>2];w=(b-f>>2)-1|0;H[y>>2]=w;if((b|0)!=(f|0)){H[m+(w<<2)>>2]=q}b=p?k:k+2|0;q=a+(k+p<<2)|0;X:{if((d|0)==-1){H[a+(b<<2)>>2]=-1;b=-1;break X}Y:{Z:{_:{if((d>>>0)%3|0){f=d-1|0;break _}f=d+2|0;if((f|0)==-1){break Z}}f=H[a+(f<<2)>>2];H[a+(b<<2)>>2]=f;if((f|0)==-1){break Y}H[m+(f<<2)>>2]=b;break Y}H[a+(b<<2)>>2]=-1}f=d+1|0;d=(f>>>0)%3|0?f:d-2|0;b=-1;if((d|0)==-1){break X}b=H[a+(d<<2)>>2]}H[q>>2]=b;H[t>>2]=k;break V;case 0:if((c|0)==(d|0)){break D}a=c-4|0;m=H[a>>2];H[l+68>>2]=a;p=H[l+44>>2];$:{if(!p){c=a;break $}f=H[l+40>>2];q=Uj(p)>>>0>1;b=h&p+2147483647;aa:{if(!q){break aa}b=h;if(b>>>0

>>0){break aa}b=(h>>>0)%(p>>>0)|0}k=b;b=H[f+(k<<2)>>2];if(!b){c=a;break $}b=H[b>>2];if(!b){c=a;break $}ba:{if(!q){f=p-1|0;while(1){p=H[b+4>>2];ca:{if((p|0)!=(h|0)){if((k|0)==(f&p)){break ca}c=a;break $}if((h|0)==H[b+8>>2]){break ba}}b=H[b>>2];if(b){continue}break}c=a;break $}while(1){f=H[b+4>>2];da:{if((f|0)!=(h|0)){if(f>>>0>=p>>>0){f=(f>>>0)%(p>>>0)|0}if((f|0)==(k|0)){break da}c=a;break $}if((h|0)==H[b+8>>2]){break ba}}b=H[b>>2];if(b){continue}break}c=a;break $}if((a|0)!=(x|0)){H[a>>2]=H[b+12>>2];H[l+68>>2]=c;break $}a=x-d|0;g=a>>2;c=g+1|0;if(c>>>0>=1073741824){break b}f=a>>>1|0;f=a>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break B}a=pa(f<<2)}else{a=0}g=a+(g<<2)|0;H[g>>2]=H[b+12>>2];c=g+4|0;if((d|0)!=(x|0)){while(1){g=g-4|0;x=x-4|0;H[g>>2]=H[x>>2];if((d|0)!=(x|0)){continue}break}}x=a+(f<<2)|0;H[l+72>>2]=x;H[l+68>>2]=c;H[l+64>>2]=g;if(d){oa(d)}}if((c|0)==(g|0)){break P}w=c-4|0;a=H[w>>2];if((a|0)==(m|0)){break P}b=(a|0)==-1;p=H[j+8>>2];if(!b&H[H[p+12>>2]+(a<<2)>>2]!=-1){break P}q=H[p+12>>2];if((m|0)!=-1&H[q+(m<<2)>>2]!=-1){break P}k=N(h,3);t=k+2|0;H[q+(a<<2)>>2]=t;h=t<<2;H[h+q>>2]=a;d=k+1|0;H[q+(m<<2)>>2]=d;y=d<<2;H[y+q>>2]=m;if(b){break T}if((a>>>0)%3|0){f=a-1|0;break S}f=a+2|0;if((f|0)!=-1){break S}d=H[p>>2];f=-1;break R;case 6:break W;default:break D}}k=H[j+8>>2];Ka(k+24|0,11424);f=H[j+8>>2];a=N(h,3);m=H[k+28>>2];p=H[k+24>>2];q=m-p|0;k=q>>2;t=k-1|0;H[H[f>>2]+(a<<2)>>2]=t;Ka(f+24|0,11424);w=a+1|0;H[H[f>>2]+(w<<2)>>2]=(H[f+28>>2]-H[f+24>>2]>>2)-1;f=H[j+8>>2];Ka(f+24|0,11424);y=a+2|0;H[H[f>>2]+(y<<2)>>2]=(H[f+28>>2]-H[f+24>>2]>>2)-1;E=H[j+8>>2];f=H[E+24>>2];if(H[E+28>>2]-f>>2>(L|0)){break D}ea:{fa:{if((m|0)!=(p|0)){H[f+(t<<2)>>2]=a;b=0;if((q|0)==-4){break fa}}H[f+(k<<2)>>2]=w;b=k+1|0;if((b|0)==-1){break ea}}H[f+(b<<2)>>2]=y}if((c|0)!=(x|0)){H[c>>2]=a;c=c+4|0;H[l+68>>2]=c;break U}b=c-d|0;k=b>>2;g=k+1|0;if(g>>>0>=1073741824){break b}f=b>>>1|0;b=b>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(b){if(b>>>0>=1073741824){break B}f=pa(b<<2)}else{f=0}g=f+(k<<2)|0;H[g>>2]=a;x=f+(b<<2)|0;a=g+4|0;if((c|0)!=(d|0)){while(1){g=g-4|0;c=c-4|0;H[g>>2]=H[c>>2];if((c|0)!=(d|0)){continue}break}}H[l+72>>2]=x;H[l+68>>2]=a;H[l+64>>2]=g;if(d){oa(d)}c=a}d=g}Ce(r,H[c-4>>2]);a=H[j+40>>2];if((a|0)==H[j+36>>2]){break I}b=a-12|0;f=H[b+4>>2];h=(h^-1)+n|0;if(f>>>0>h>>>0){break P}if((f|0)!=(h|0)){break I}k=I[a-4|0];f=H[b>>2];H[j+40>>2]=b;if((f|0)<0){break P}m=c-4|0;a=H[m>>2];H[l+20>>2]=(f^-1)+n;b=l+20|0;H[l+88>>2]=b;Gb(l,l+40|0,b,l+88|0);f=H[l>>2];ga:{if(k&1){b=-1;if((a|0)==-1){break ga}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break ga}b=-1;if((a|0)==-1){break ga}b=a-1|0;if((a>>>0)%3|0){break ga}b=a+2|0}H[f+12>>2]=b;b=H[j+40>>2];if((b|0)==H[j+36>>2]){break I}while(1){a=b-12|0;f=H[a+4>>2];if(f>>>0>h>>>0){break P}if((f|0)!=(h|0)){break I}f=I[b-4|0];b=H[a>>2];H[j+40>>2]=a;if((b|0)<0){break P}a=H[m>>2];H[l+20>>2]=(b^-1)+n;b=l+20|0;H[l+88>>2]=b;Gb(l,l+40|0,b,l+88|0);k=H[l>>2];ha:{if(f&1){b=-1;if((a|0)==-1){break ha}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break ha}b=-1;if((a|0)==-1){break ha}b=a-1|0;if((a>>>0)%3|0){break ha}b=a+2|0}H[k+12>>2]=b;b=H[j+40>>2];if((b|0)!=H[j+36>>2]){continue}break}break I}f=-1;d=H[p>>2];H[d+(k<<2)>>2]=-1;b=-1;break Q}d=H[p>>2];f=H[d+(f<<2)>>2]}H[(k<<2)+d>>2]=f;E=a+1|0;a=(E>>>0)%3|0?E:a-2|0;b=-1;if((a|0)==-1){break Q}b=H[(a<<2)+d>>2]}H[d+y>>2]=b;ia:{if((m|0)==-1){H[d+h>>2]=-1;t=-1;a=-1;break ia}ja:{ka:{la:{if((m>>>0)%3|0){b=m-1|0;break la}b=m+2|0;if((b|0)==-1){break ka}}a=H[(b<<2)+d>>2];H[d+h>>2]=a;if((a|0)==-1){break ja}H[H[p+24>>2]+(a<<2)>>2]=t;break ja}H[d+h>>2]=-1}t=-1;b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;a=-1;if((b|0)==-1){break ia}t=H[(b<<2)+d>>2];a=b}b=H[j+388>>2];h=f<<2;m=b+h|0;y=b;b=t<<2;H[m>>2]=H[m>>2]+H[y+b>>2];m=b;b=H[p+24>>2];m=m+b|0;if((f|0)!=-1){H[b+h>>2]=H[m>>2]}b=a;while(1){if((b|0)==-1){break O}H[(b<<2)+d>>2]=f;p=b+1|0;b=(p>>>0)%3|0?p:b-2|0;h=-1;ma:{if((b|0)==-1){break ma}b=H[q+(b<<2)>>2];h=-1;if((b|0)==-1){break ma}h=b+1|0;h=(h>>>0)%3|0?h:b-2|0}b=h;if((a|0)!=(b|0)){continue}break}}b=-1;if(!D){break E}break D}H[m>>2]=-1;na:{if(P){break na}if((z|0)!=(A|0)){H[A>>2]=t;A=A+4|0;H[l+28>>2]=A;break na}a=z-o|0;h=a>>2;b=h+1|0;if(b>>>0>=1073741824){break b}d=a>>>1|0;d=a>>>0>=2147483644?1073741823:b>>>0>>0?d:b;if(d){if(d>>>0>=1073741824){break B}a=pa(d<<2)}else{a=0}b=a+(h<<2)|0;H[b>>2]=t;A=b+4|0;if((o|0)!=(z|0)){while(1){b=b-4|0;z=z-4|0;H[b>>2]=H[z>>2];if((o|0)!=(z|0)){continue}break}}z=a+(d<<2)|0;H[l+32>>2]=z;H[l+28>>2]=A;H[l+24>>2]=b;if(o){oa(o)}o=b}H[w>>2]=k}Ce(r,k);d=g}D=(i|0)<(n|0);if((i|0)!=(n|0)){continue}break}i=n}b=-1;d=H[j+8>>2];if(H[d+28>>2]-H[d+24>>2]>>2>(L|0)){break D}if((c|0)!=(g|0)){x=j+72|0;h=j+60|0;p=j+312|0;while(1){c=c-4|0;o=H[c>>2];H[l+68>>2]=c;oa:{pa:{qa:{if(J[j+270>>1]<=513){if(!I[j+364|0]){break pa}a=H[j+360>>2];b=H[j+352>>2]+(a>>>3|0)|0;if(b>>>0>=K[j+356>>2]){break qa}b=I[b|0];H[j+360>>2]=a+1;if(!(b>>>(a&7)&1)){break qa}break pa}if(Ba(p)){break pa}}b=H[j+64>>2];a=H[j+68>>2];if((b|0)==a<<5){if((b+1|0)<0){break b}if(b>>>0<=1073741822){a=a<<6;b=(b&-32)+32|0;a=a>>>0>b>>>0?a:b}else{a=2147483647}pb(h,a);b=H[j+64>>2]}H[j+64>>2]=b+1;a=H[j+60>>2]+(b>>>3&536870908)|0;d=H[a>>2];Q=a,R=Vj(b)&d,H[Q>>2]=R;b=H[j+76>>2];if((b|0)!=H[j+80>>2]){H[b>>2]=o;H[j+76>>2]=b+4;break oa}d=H[x>>2];a=b-d|0;k=a>>2;f=k+1|0;if(f>>>0<1073741824){n=a>>>1|0;n=a>>>0>=2147483644?1073741823:f>>>0>>0?n:f;if(n){if(n>>>0>=1073741824){break B}a=pa(n<<2)}else{a=0}f=a+(k<<2)|0;H[f>>2]=o;o=f+4|0;if((b|0)!=(d|0)){while(1){f=f-4|0;b=b-4|0;H[f>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[j+80>>2]=a+(n<<2);H[j+76>>2]=o;H[j+72>>2]=f;if(!d){break oa}oa(d);break oa}break b}m=H[j+8>>2];r=H[m>>2];if(((H[m+4>>2]-r>>2>>>0)/3|0)<=(i|0)){b=-1;break D}d=-1;q=H[m+24>>2];n=-1;ra:{if((o|0)==-1){break ra}g=o+1|0;g=(g>>>0)%3|0?g:o-2|0;n=-1;if((g|0)==-1){break ra}n=H[r+(g<<2)>>2]}a=H[q+(n<<2)>>2];sa:{if((a|0)==-1){k=1;f=-1;break sa}k=1;f=-1;b=a+1|0;a=(b>>>0)%3|0?b:a-2|0;if((a|0)==-1){break sa}k=0;d=a;b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;if((b|0)!=-1){f=H[r+(b<<2)>>2]}}b=-1;g=-1;a=H[q+(f<<2)>>2];if((a|0)!=-1){g=a+1|0;g=(g>>>0)%3|0?g:a-2|0}if((d|0)==(o|0)|(g|0)==(o|0)|((o|0)!=-1&H[H[m+12>>2]+(o<<2)>>2]!=-1|(d|0)==(g|0))){break D}if(!k&H[H[m+12>>2]+(d<<2)>>2]!=-1){break D}k=-1;a=H[m+12>>2];m=-1;ta:{if((g|0)==-1){break ta}if(H[a+(g<<2)>>2]!=-1){break D}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;m=-1;if((b|0)==-1){break ta}m=H[r+(b<<2)>>2]}b=N(i,3);H[l>>2]=b;H[a+(b<<2)>>2]=o;H[a+(o<<2)>>2]=b;b=H[l>>2]+1|0;H[a+(b<<2)>>2]=d;H[a+(d<<2)>>2]=b;b=H[l>>2]+2|0;H[a+(b<<2)>>2]=g;H[a+(g<<2)>>2]=b;a=H[l>>2];H[r+(a<<2)>>2]=f;b=a+1|0;d=r+(b<<2)|0;H[d>>2]=m;g=a+2|0;o=r+(g<<2)|0;H[o>>2]=n;a=H[j+120>>2];f=b?f:-1;n=a+(f>>>3&536870908)|0;r=H[n>>2];Q=n,R=Vj(f)&r,H[Q>>2]=R;k=(b|0)!=-1?H[d>>2]:k;b=a+(k>>>3&536870908)|0;d=H[b>>2];Q=b,R=Vj(k)&d,H[Q>>2]=R;b=-1;b=(g|0)!=-1?H[o>>2]:b;a=a+(b>>>3&536870908)|0;d=H[a>>2];Q=a,R=Vj(b)&d,H[Q>>2]=R;F[l+88|0]=1;_c(h,l+88|0);Ka(x,l);i=i+1|0;g=H[l+64>>2]}if((c|0)!=(g|0)){continue}break}d=H[j+8>>2]}b=-1;if(((H[d+4>>2]-H[d>>2]>>2>>>0)/3|0)!=(i|0)){break D}b=H[d+28>>2]-H[d+24>>2]>>2;i=H[l+24>>2];f=H[l+28>>2];if((i|0)==(f|0)){break C}while(1){a=H[i>>2];h=H[d+24>>2];c=b-1|0;g=h+(c<<2)|0;if(H[g>>2]==-1){while(1){c=b-2|0;b=b-1|0;g=h+(c<<2)|0;if(H[g>>2]==-1){continue}break}}if(a>>>0<=c>>>0){H[l>>2]=d;g=H[g>>2];F[l+12|0]=1;H[l+8>>2]=g;H[l+4>>2]=g;if((g|0)!=-1){while(1){d=H[H[j+8>>2]>>2]+(g<<2)|0;if(H[d>>2]!=(c|0)){b=-1;break D}H[d>>2]=a;uc(l);g=H[l+8>>2];if((g|0)!=-1){continue}break}d=H[j+8>>2]}h=H[d+24>>2];g=h+(c<<2)|0;if((a|0)!=-1){H[h+(a<<2)>>2]=H[g>>2]}H[g>>2]=-1;g=1<>2];a=h+(a>>>3&536870908)|0;h=h+(c>>>3&536870908)|0;c=1<>2]&c){g=g|H[a>>2]}else{g=H[a>>2]&(g^-1)}H[a>>2]=g;H[h>>2]=H[h>>2]&(c^-1);b=b-1|0}i=i+4|0;if((f|0)!=(i|0)){continue}break}}i=H[l+24>>2]}if(i){oa(i)}a=H[l+48>>2];if(a){while(1){c=H[a>>2];oa(a);a=c;if(a){continue}break}}a=H[l+40>>2];H[l+40>>2]=0;if(a){oa(a)}a=H[l+64>>2];if(a){H[l+68>>2]=a;oa(a)}ca=l+96|0;break A}wa();v()}if((b|0)==-1){break z}a=O;c=H[a+16>>2];d=c+H[a>>2]|0;c=H[a+8>>2]-c|0;a=H[H[j+4>>2]+32>>2];G[a+38>>1]=J[a+38>>1];H[a>>2]=d;H[a+16>>2]=0;H[a+20>>2]=0;H[a+8>>2]=c;H[a+12>>2]=0;a=H[j+4>>2];c=J[a+36>>1];g=c<<8|c>>>8;if((g&65535)>>>0<=513){a=H[a+32>>2];c=H[a+16>>2];d=M+H[a+20>>2]|0;c=c+C|0;d=c>>>0>>0?d+1|0:d;H[a+16>>2]=c;H[a+20>>2]=d}ua:{if(H[j+216>>2]==H[j+220>>2]){break ua}c=H[j+8>>2];a=H[c>>2];c=H[c+4>>2];va:{if((g&65535)>>>0>=513){if((a|0)==(c|0)){break ua}c=0;break va}if((a|0)==(c|0)){break ua}c=0;while(1){if(cd(j,c)){c=c+3|0;a=H[j+8>>2];if(c>>>0>2]-H[a>>2]>>2>>>0){continue}break ua}break}break z}while(1){if(bd(j,c)){c=c+3|0;a=H[j+8>>2];if(c>>>0>2]-H[a>>2]>>2>>>0){continue}break ua}break}break z}ad(e);c=H[j+216>>2];if((c|0)!=H[j+220>>2]){n=0;while(1){d=N(n,144);Jc((d+c|0)+4|0,H[j+8>>2]);a=H[B>>2];e=a+d|0;c=H[e+132>>2];e=H[e+136>>2];if((c|0)!=(e|0)){while(1){Hc((d+H[B>>2]|0)+4|0,H[c>>2]);c=c+4|0;if((e|0)!=(c|0)){continue}break}a=H[B>>2]}if(!Ic((a+d|0)+4|0)){break z}n=n+1|0;c=H[j+216>>2];if(n>>>0<(H[j+220>>2]-c|0)/144>>>0){continue}break}}a=H[j+8>>2];Hb(j+184|0,H[a+28>>2]-H[a+24>>2]>>2);u=H[j+216>>2];if((u|0)!=H[j+220>>2]){c=0;while(1){a=N(c,144)+u|0;d=H[a+60>>2]-H[a+56>>2]>>2;f=a+104|0;a=H[j+8>>2];a=H[a+28>>2]-H[a+24>>2]>>2;Hb(f,(a|0)<(d|0)?d:a);c=c+1|0;u=H[j+216>>2];if(c>>>0<(H[j+220>>2]-u|0)/144>>>0){continue}break}}u=$c(j,b)}break c}u=0}ca=s- -64|0;return u|0}sa();v()}function ii(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0;u=ca+-64|0;ca=u;H[a+132>>2]=0;if(H[a+148>>2]){c=H[a+144>>2];if(c){while(1){b=H[c>>2];oa(c);c=b;if(b){continue}break}}c=0;H[a+144>>2]=0;k=H[a+140>>2];a:{if(!k){break a}if(k>>>0>=4){b=k&-4;while(1){f=c<<2;H[f+H[a+136>>2]>>2]=0;H[H[a+136>>2]+(f|4)>>2]=0;H[H[a+136>>2]+(f|8)>>2]=0;H[H[a+136>>2]+(f|12)>>2]=0;c=c+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}}b=k&3;if(!b){break a}while(1){H[H[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;w=w+1|0;if((b|0)!=(w|0)){continue}break}}H[a+148>>2]=0}b:{c:{c=H[a+4>>2];w=I[c+36|0];b=w<<8|I[c+37|0];if(b>>>0<=513){d=H[c+32>>2];d:{if(b>>>0<=511){b=H[d+20>>2];e=H[d+16>>2];f=e+4|0;b=f>>>0<4?b+1|0:b;k=H[d+12>>2];if(K[d+8>>2]>>0&(k|0)<=(b|0)|(b|0)>(k|0)){break c}e=e+H[d>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[d+16>>2]=f;H[d+20>>2]=b;break d}if(!Ea(1,u,d)){break c}c=H[a+4>>2];w=I[c+36|0];e=H[u>>2]}H[a+132>>2]=e}d=H[c+32>>2];e:{f:{g:{if((w&255)>>>0<=1){w=0;b=H[d+20>>2];f=H[d+16>>2];e=f+4|0;b=e>>>0<4?b+1|0:b;k=H[d+12>>2];if(K[d+8>>2]>>0&(k|0)<=(b|0)|(b|0)>(k|0)){break b}f=f+H[d>>2]|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[u+60>>2]=f;H[d+16>>2]=e;H[d+20>>2]=b;H[a+156>>2]=f;t=a+156|0;break g}w=0;if(!Ea(1,u+60|0,d)){break b}c=H[a+4>>2];b=I[c+36|0];H[a+156>>2]=H[u+60>>2];t=a+156|0;if(b>>>0>1){break f}}d=H[c+32>>2];f=H[d+8>>2];k=H[d+12>>2];c=H[d+20>>2];e=H[d+16>>2];b=e+4|0;c=b>>>0<4?c+1|0:c;if(b>>>0>f>>>0&(c|0)>=(k|0)|(c|0)>(k|0)){break b}e=e+H[d>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[u+56>>2]=e;H[d+16>>2]=b;H[d+20>>2]=c;break e}if(!Ea(1,u+56|0,H[c+32>>2])){break b}e=H[u+56>>2]}if(e>>>0>1431655765){break b}b=H[t>>2];c=N(e,3);if(b>>>0>c>>>0){break b}f=c>>>1|0;c=b>>31;c=Rj(b-1|0,c-!b|0,b,c);k=da;b=k>>>1|0;c=(k&1)<<31|c>>>1;if(!b&c>>>0>>0){break b}E=H[a+4>>2];x=H[E+32>>2];c=H[x+8>>2];d=H[x+12>>2];b=H[x+20>>2];g=H[x+16>>2];if((d|0)<=(b|0)&g>>>0>=c>>>0|(b|0)>(d|0)){break b}j=H[x>>2];l=I[j+g|0];f=x;k=g+1|0;h=k?b:b+1|0;H[f+16>>2]=k;H[f+20>>2]=h;h:{if(I[E+36|0]<=1){f=c;c=b;b=g+5|0;c=b>>>0<5?c+1|0:c;if(b>>>0>f>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break b}f=k+j|0;t=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[u+52>>2]=t;H[x+16>>2]=b;H[x+20>>2]=c;break h}if(!Ea(1,u+52|0,x)){break b}t=H[u+52>>2]}if(e>>>0>>0|((t>>>0)/3|0)+t>>>0>>0){break b}c=H[a+4>>2];d=H[c+32>>2];i:{if(I[c+36|0]<=1){c=H[d+20>>2];b=H[d+16>>2];f=b+4|0;c=f>>>0<4?c+1|0:c;k=H[d+12>>2];if(K[d+8>>2]>>0&(k|0)<=(c|0)|(c|0)>(k|0)){break b}b=b+H[d>>2]|0;b=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[u+48>>2]=b;H[d+16>>2]=f;H[d+20>>2]=c;break i}if(!Ea(1,u+48|0,d)){break b}b=H[u+48>>2]}if(b>>>0>t>>>0){break b}H[a+28>>2]=H[a+24>>2];c=$b(pa(88));f=H[a+8>>2];H[a+8>>2]=c;if(f){cb(f);if(!H[a+8>>2]){break b}}H[a+164>>2]=H[a+160>>2];Jb(a+160|0,e);H[a+176>>2]=H[a+172>>2];Jb(a+172|0,e);H[a- -64>>2]=0;H[a+92>>2]=-1;H[a+84>>2]=-1;H[a+88>>2]=-1;H[a+40>>2]=H[a+36>>2];H[a+52>>2]=H[a+48>>2];H[a+76>>2]=H[a+72>>2];M=a+216|0;ed(M);dd(M,l);if(!Lc(H[a+8>>2],e,H[a+156>>2]+b|0)){break b}c=H[a+156>>2];F[u|0]=1;Oa(a+120|0,b+c|0,u);e=H[a+4>>2];c=J[e+36>>1];c=(c<<8|c>>>8)&65535;j:{if(c>>>0<=513){d=H[e+32>>2];k:{if(c>>>0<=511){c=H[d+20>>2];e=H[d+16>>2];f=e+4|0;c=f>>>0<4?c+1|0:c;k=H[d+12>>2];if(K[d+8>>2]>>0&(k|0)<=(c|0)|(c|0)>(k|0)){break b}e=e+H[d>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[d+16>>2]=f;H[d+20>>2]=c;break k}if(!Ea(1,u+44|0,d)){break b}e=H[u+44>>2]}if(!e){break b}d=H[H[a+4>>2]+32>>2];k=H[d+8>>2];c=H[d+16>>2];f=k-c|0;c=H[d+12>>2]-(H[d+20>>2]+(c>>>0>k>>>0)|0)|0;if((c|0)<=0&e>>>0>f>>>0|(c|0)<0){break b}h=Ha(u);d=H[H[a+4>>2]+32>>2];c=d;k=H[c+16>>2];f=(k+H[c>>2]|0)+e|0;c=H[c+8>>2]-k|0;G[h+38>>1]=J[d+38>>1];H[h>>2]=f;H[h+16>>2]=0;H[h+20>>2]=0;H[h+8>>2]=c-e;H[h+12>>2]=0;c=Ib(a,h);if((c|0)==-1){break b}E=c;P=c>>31;break j}E=-1;P=-1;if((Ib(a,H[e+32>>2])|0)==-1){break b}}B=a+232|0;Ee(B,a);H[a+372>>2]=l;H[a+384>>2]=H[a+156>>2]+b;x=Ha(u);h=x;d=0;k=ca-16|0;ca=k;l:{if(!Ge(B,h)){break l}b=H[h+20>>2];e=H[h+16>>2];c=e+4|0;b=c>>>0<4?b+1|0:b;f=H[h+12>>2];if(K[h+8>>2]>>0&(f|0)<=(b|0)|(b|0)>(f|0)){break l}e=e+H[h>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[h+16>>2]=c;H[h+20>>2]=b;if((e|0)<0){break l}c=e;e=H[B+152>>2];if((c|0)>=(e|0)){break l}H[k+12>>2]=0;c=H[B+156>>2];b=H[B+160>>2]-c>>2;m:{if(b>>>0>>0){Pa(B+156|0,e-b|0,k+12|0);break m}if(b>>>0<=e>>>0){break m}H[B+160>>2]=c+(e<<2)}d=ta(B+168|0,h)}ca=k+16|0;n:{if(!d){break n}d=0;c=0;e=0;k=0;i=ca-96|0;ca=i;H[i+72>>2]=0;H[i+64>>2]=0;H[i+68>>2]=0;H[i+48>>2]=0;H[i+52>>2]=0;H[i+40>>2]=0;H[i+44>>2]=0;H[i+56>>2]=1065353216;H[i+32>>2]=0;H[i+24>>2]=0;H[i+28>>2]=0;h=a;O=H[a+124>>2];o:{p:{q:{r:{s:{t:{if((t|0)<=0){break t}z=h+400|0;Q=h+232|0;C=H[h+216>>2]!=H[h+220>>2];y=1;while(1){f=k;k=f+1|0;u:{v:{w:{x:{y:{if(H[h+420>>2]!=-1){if(Ba(z)){break y}}if(!I[h+308|0]){break x}z:{o=H[h+296>>2];r=H[h+304>>2];a=o+(r>>>3|0)|0;l=H[h+300>>2];if(a>>>0>=l>>>0){break z}b=I[a|0];a=r+1|0;H[h+304>>2]=a;g=b>>>(r&7)&1;if(!g){break z}n=a>>>3|0;b=o+n|0;A:{if(b>>>0>=l>>>0){b=a;a=0;break A}j=I[b|0];b=r+2|0;H[h+304>>2]=b;n=b>>>3|0;a=j>>>(a&7)&1}j=n+o|0;if(j>>>0>>0){j=I[j|0];H[h+304>>2]=b+1;b=j>>>(b&7)<<1&2}else{b=0}p=(a|b)<<1|g;H[h+416>>2]=p;break w}H[h+416>>2]=0;break x}p=H[h+420>>2];H[h+416>>2]=p;if(p){break w}}if((c|0)==(e|0)){b=-1;break s}p=-1;n=H[h+8>>2];o=H[n+24>>2];j=c-4|0;m=H[j>>2];d=-1;B:{if((m|0)==-1){break B}b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;d=-1;if((b|0)==-1){break B}d=H[H[n>>2]+(b<<2)>>2]}b=H[o+(d<<2)>>2];if((b|0)!=-1){a=b+1|0;p=(a>>>0)%3|0?a:b-2|0}if((m|0)==(p|0)){b=-1;break s}if((m|0)!=-1){b=-1;if(H[H[n+12>>2]+(m<<2)>>2]!=-1){break s}}l=H[n+12>>2];if((p|0)!=-1){b=-1;if(H[l+(p<<2)>>2]!=-1){break s}}q=N(f,3);a=q+1|0;H[l+(m<<2)>>2]=a;g=a<<2;H[g+l>>2]=m;r=q+2|0;H[l+(p<<2)>>2]=r;f=r<<2;H[f+l>>2]=p;l=-1;a=-1;C:{if((m|0)==-1){break C}D:{if((m>>>0)%3|0){b=m-1|0;break D}b=m+2|0;a=-1;if((b|0)==-1){break C}}a=H[H[n>>2]+(b<<2)>>2]}E:{if((p|0)==-1){break E}b=p+1|0;b=(b>>>0)%3|0?b:p-2|0;if((b|0)==-1){break E}l=H[H[n>>2]+(b<<2)>>2]}b=-1;if((a|0)==(d|0)|(d|0)==(l|0)){break s}b=H[n>>2];H[b+(q<<2)>>2]=d;H[b+g>>2]=l;H[b+f>>2]=a;if((a|0)!=-1){H[o+(a<<2)>>2]=r}b=H[h+120>>2]+(d>>>3&536870908)|0;a=H[b>>2];R=b,S=Vj(d)&a,H[R>>2]=S;H[j>>2]=q;p=H[c-4>>2];break v}b=-1;F:{G:{H:{I:{J:{K:{L:{M:{N:{O:{P:{switch(p-1|0){case 2:case 4:if((c|0)==(e|0)){break s}g=c-4|0;m=H[g>>2];r=H[h+8>>2];d=H[r+12>>2];if((m|0)!=-1&H[d+(m<<2)>>2]!=-1){break s}q=N(f,3);l=(p|0)==5;j=q+(l?2:1)|0;a=j<<2;H[a+d>>2]=m;H[d+(m<<2)>>2]=j;Ka(r+24|0,11424);d=H[h+8>>2];o=H[d+24>>2];if(H[d+28>>2]-o>>2>(O|0)){break s}n=H[d>>2];p=n+a|0;d=H[r+28>>2];b=H[r+24>>2];a=(d-b>>2)-1|0;H[p>>2]=a;if((b|0)!=(d|0)){H[o+(a<<2)>>2]=j}d=l?q:q+2|0;j=n+(l+q<<2)|0;Q:{if((m|0)==-1){H[n+(d<<2)>>2]=-1;b=-1;break Q}R:{S:{T:{if((m>>>0)%3|0){a=m-1|0;break T}a=m+2|0;if((a|0)==-1){break S}}a=H[n+(a<<2)>>2];H[n+(d<<2)>>2]=a;if((a|0)==-1){break R}H[o+(a<<2)>>2]=d;break R}H[n+(d<<2)>>2]=-1}a=m+1|0;a=(a>>>0)%3|0?a:m-2|0;b=-1;if((a|0)==-1){break Q}b=H[n+(a<<2)>>2]}H[j>>2]=b;H[g>>2]=q;break O;case 0:if((c|0)==(d|0)){break s}a=c-4|0;m=H[a>>2];H[i+68>>2]=a;l=H[i+44>>2];U:{if(!l){c=a;break U}o=H[i+40>>2];g=Uj(l)>>>0>1;b=f&l+2147483647;V:{if(!g){break V}b=f;if(b>>>0>>0){break V}b=(f>>>0)%(l>>>0)|0}j=b;b=H[o+(j<<2)>>2];if(!b){c=a;break U}b=H[b>>2];if(!b){c=a;break U}W:{if(!g){l=l-1|0;while(1){g=H[b+4>>2];X:{if((g|0)!=(f|0)){if((j|0)==(g&l)){break X}c=a;break U}if((f|0)==H[b+8>>2]){break W}}b=H[b>>2];if(b){continue}break}c=a;break U}while(1){g=H[b+4>>2];Y:{if((g|0)!=(f|0)){if(g>>>0>=l>>>0){g=(g>>>0)%(l>>>0)|0}if((g|0)==(j|0)){break Y}c=a;break U}if((f|0)==H[b+8>>2]){break W}}b=H[b>>2];if(b){continue}break}c=a;break U}if((a|0)!=(A|0)){H[a>>2]=H[b+12>>2];H[i+68>>2]=c;break U}g=A-d|0;c=g>>2;e=c+1|0;if(e>>>0>=1073741824){break M}a=g>>>1|0;g=g>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(g){if(g>>>0>=1073741824){break p}a=pa(g<<2)}else{a=0}e=a+(c<<2)|0;H[e>>2]=H[b+12>>2];c=e+4|0;if((d|0)!=(A|0)){while(1){e=e-4|0;A=A-4|0;H[e>>2]=H[A>>2];if((d|0)!=(A|0)){continue}break}}A=a+(g<<2)|0;H[i+72>>2]=A;H[i+68>>2]=c;H[i+64>>2]=e;if(d){oa(d)}}if((c|0)==(e|0)){break G}j=c-4|0;n=H[j>>2];if((n|0)==(m|0)){break G}d=(n|0)==-1;q=H[h+8>>2];if(!d&H[H[q+12>>2]+(n<<2)>>2]!=-1){break G}r=H[q+12>>2];if((m|0)!=-1&H[r+(m<<2)>>2]!=-1){break G}p=N(f,3);f=p+2|0;H[r+(n<<2)>>2]=f;o=f<<2;H[o+r>>2]=n;a=p+1|0;H[r+(m<<2)>>2]=a;b=a<<2;H[b+r>>2]=m;if(d){break L}if((n>>>0)%3|0){l=n-1|0;break J}l=n+2|0;if((l|0)!=-1){break J}d=H[q>>2];a=-1;break I;case 6:break P;default:break s}}a=H[h+8>>2];Ka(a+24|0,11424);g=H[h+8>>2];p=N(f,3);q=H[a+28>>2];r=H[a+24>>2];o=q-r|0;n=o>>2;l=n-1|0;H[H[g>>2]+(p<<2)>>2]=l;Ka(g+24|0,11424);j=p+1|0;H[H[g>>2]+(j<<2)>>2]=(H[g+28>>2]-H[g+24>>2]>>2)-1;a=H[h+8>>2];Ka(a+24|0,11424);g=p+2|0;H[H[a>>2]+(g<<2)>>2]=(H[a+28>>2]-H[a+24>>2]>>2)-1;a=H[h+8>>2];m=H[a+24>>2];if(H[a+28>>2]-m>>2>(O|0)){break s}Z:{_:{if((q|0)!=(r|0)){H[m+(l<<2)>>2]=p;b=0;if((o|0)==-4){break _}}H[m+(n<<2)>>2]=j;b=n+1|0;if((b|0)==-1){break Z}}H[m+(b<<2)>>2]=g}if((c|0)!=(A|0)){H[c>>2]=p;c=c+4|0;H[i+68>>2]=c;break N}g=c-d|0;b=g>>2;e=b+1|0;if(e>>>0>=1073741824){break K}a=g>>>1|0;g=g>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(g){if(g>>>0>=1073741824){break p}a=pa(g<<2)}else{a=0}e=a+(b<<2)|0;H[e>>2]=p;A=a+(g<<2)|0;a=e+4|0;if((c|0)!=(d|0)){while(1){e=e-4|0;c=c-4|0;H[e>>2]=H[c>>2];if((c|0)!=(d|0)){continue}break}}H[i+72>>2]=A;H[i+68>>2]=a;H[i+64>>2]=e;if(d){oa(d)}c=a}d=e}De(Q,H[c-4>>2]);g=H[h+40>>2];if((g|0)==H[h+36>>2]){break u}b=g-12|0;a=H[b+4>>2];l=(f^-1)+t|0;if(a>>>0>l>>>0){break G}if((a|0)!=(l|0)){break u}f=I[g-4|0];a=H[b>>2];H[h+40>>2]=b;if((a|0)<0){break G}g=c-4|0;j=H[g>>2];H[i+20>>2]=(a^-1)+t;a=i+20|0;H[i+88>>2]=a;Gb(i,i+40|0,a,i+88|0);b=H[i>>2];$:{if(f&1){a=-1;if((j|0)==-1){break $}a=j+1|0;a=(a>>>0)%3|0?a:j-2|0;break $}a=-1;if((j|0)==-1){break $}a=j-1|0;if((j>>>0)%3|0){break $}a=j+2|0}H[b+12>>2]=a;b=H[h+40>>2];if((b|0)==H[h+36>>2]){break u}while(1){j=b-12|0;a=H[j+4>>2];if(a>>>0>l>>>0){break G}if((a|0)!=(l|0)){break u}f=I[b-4|0];a=H[j>>2];H[h+40>>2]=j;if((a|0)<0){break G}j=H[g>>2];H[i+20>>2]=(a^-1)+t;a=i+20|0;H[i+88>>2]=a;Gb(i,i+40|0,a,i+88|0);b=H[i>>2];aa:{if(f&1){a=-1;if((j|0)==-1){break aa}a=j+1|0;a=(a>>>0)%3|0?a:j-2|0;break aa}a=-1;if((j|0)==-1){break aa}a=j-1|0;if((j>>>0)%3|0){break aa}a=j+2|0}H[b+12>>2]=a;b=H[h+40>>2];if((b|0)!=H[h+36>>2]){continue}break}break u}sa();v()}l=-1;d=H[q>>2];H[d+(p<<2)>>2]=-1;g=-1;break H}sa();v()}d=H[q>>2];a=H[d+(l<<2)>>2]}l=a;H[(p<<2)+d>>2]=a;a=n+1|0;a=(a>>>0)%3|0?a:n-2|0;g=-1;if((a|0)==-1){break H}g=H[(a<<2)+d>>2]}H[b+d>>2]=g;ba:{if((m|0)==-1){H[d+o>>2]=-1;n=-1;a=-1;break ba}ca:{da:{ea:{if((m>>>0)%3|0){b=m-1|0;break ea}b=m+2|0;if((b|0)==-1){break da}}a=H[(b<<2)+d>>2];H[d+o>>2]=a;if((a|0)==-1){break ca}H[H[q+24>>2]+(a<<2)>>2]=f;break ca}H[d+o>>2]=-1}n=-1;b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;a=-1;if((b|0)==-1){break ba}n=H[(b<<2)+d>>2];a=b}g=H[h+388>>2];f=l<<2;b=g+f|0;o=b;m=H[b>>2];b=n<<2;H[o>>2]=m+H[b+g>>2];g=b;b=H[q+24>>2];o=g+b|0;if((l|0)!=-1){H[b+f>>2]=H[o>>2]}b=a;while(1){if((b|0)==-1){break F}H[(b<<2)+d>>2]=l;g=b+1|0;b=(g>>>0)%3|0?g:b-2|0;f=-1;fa:{if((b|0)==-1){break fa}g=H[r+(b<<2)>>2];f=-1;if((g|0)==-1){break fa}b=g+1|0;f=(b>>>0)%3|0?b:g-2|0}b=f;if((a|0)!=(b|0)){continue}break}}b=-1;if(!(y&1)){break t}break s}H[o>>2]=-1;ga:{if(C){break ga}if((D|0)!=(L|0)){H[L>>2]=n;L=L+4|0;H[i+28>>2]=L;break ga}d=D-s|0;b=d>>2;f=b+1|0;if(f>>>0>=1073741824){break q}a=d>>>1|0;f=d>>>0>=2147483644?1073741823:a>>>0>f>>>0?a:f;if(f){if(f>>>0>=1073741824){break p}a=pa(f<<2)}else{a=0}b=a+(b<<2)|0;H[b>>2]=n;L=b+4|0;if((s|0)!=(D|0)){while(1){b=b-4|0;D=D-4|0;H[b>>2]=H[D>>2];if((s|0)!=(D|0)){continue}break}}D=a+(f<<2)|0;H[i+32>>2]=D;H[i+28>>2]=L;H[i+24>>2]=b;if(s){oa(s)}s=b}H[j>>2]=p}De(Q,p);d=e}y=(k|0)<(t|0);if((k|0)!=(t|0)){continue}break}k=t}b=-1;y=H[h+8>>2];if(H[y+28>>2]-H[y+24>>2]>>2>(O|0)){break s}if((c|0)!=(e|0)){r=h+72|0;j=h+60|0;t=h+312|0;while(1){c=c-4|0;z=H[c>>2];H[i+68>>2]=c;ha:{ia:{ja:{if(J[h+270>>1]<=513){if(!I[h+364|0]){break ia}b=H[h+360>>2];a=H[h+352>>2]+(b>>>3|0)|0;if(a>>>0>=K[h+356>>2]){break ja}a=I[a|0];H[h+360>>2]=b+1;if(!(a>>>(b&7)&1)){break ja}break ia}if(Ba(t)){break ia}}ka:{la:{b=H[h+64>>2];f=H[h+68>>2];if((b|0)==f<<5){if((b+1|0)<0){break la}if(b>>>0<=1073741822){f=f<<6;b=(b&-32)+32|0;a=b>>>0>>0?f:b}else{a=2147483647}pb(j,a);b=H[h+64>>2]}H[h+64>>2]=b+1;f=H[h+60>>2]+(b>>>3&536870908)|0;a=H[f>>2];R=f,S=Vj(b)&a,H[R>>2]=S;b=H[h+76>>2];if((b|0)!=H[h+80>>2]){H[b>>2]=z;H[h+76>>2]=b+4;break ha}s=H[r>>2];g=b-s|0;f=g>>2;d=f+1|0;if(d>>>0>=1073741824){break ka}a=g>>>1|0;g=g>>>0>=2147483644?1073741823:a>>>0>d>>>0?a:d;if(g){if(g>>>0>=1073741824){break p}a=pa(g<<2)}else{a=0}d=a+(f<<2)|0;H[d>>2]=z;f=d+4|0;if((b|0)!=(s|0)){while(1){d=d-4|0;b=b-4|0;H[d>>2]=H[b>>2];if((b|0)!=(s|0)){continue}break}}H[h+80>>2]=a+(g<<2);H[h+76>>2]=f;H[h+72>>2]=d;if(!s){break ha}oa(s);break ha}sa();v()}sa();v()}q=H[h+8>>2];C=H[q>>2];if(((H[q+4>>2]-C>>2>>>0)/3|0)<=(k|0)){b=-1;break s}e=-1;b=-1;d=-1;s=H[q+24>>2];f=-1;ma:{if((z|0)==-1){break ma}a=z+1|0;a=(a>>>0)%3|0?a:z-2|0;f=-1;if((a|0)==-1){break ma}f=H[C+(a<<2)>>2]}o=H[s+(f<<2)>>2];na:{if((o|0)==-1){l=1;a=-1;break na}l=1;g=o+1|0;g=(g>>>0)%3|0?g:o-2|0;a=-1;if((g|0)==-1){break na}l=0;a=g+1|0;e=g;a=(a>>>0)%3|0?a:e-2|0;if((a|0)!=-1){a=H[C+(a<<2)>>2]}else{a=-1}}g=H[(a<<2)+s>>2];if((g|0)!=-1){d=g+1|0;d=(d>>>0)%3|0?d:g-2|0}if((e|0)==(z|0)|(d|0)==(z|0)|((z|0)!=-1&H[H[q+12>>2]+(z<<2)>>2]!=-1|(d|0)==(e|0))){break s}if(!l&H[H[q+12>>2]+(e<<2)>>2]!=-1){break s}l=-1;s=H[q+12>>2];g=-1;oa:{if((d|0)==-1){break oa}if(H[s+(d<<2)>>2]!=-1){break s}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;g=-1;if((b|0)==-1){break oa}g=H[C+(b<<2)>>2]}b=N(k,3);H[i>>2]=b;H[s+(b<<2)>>2]=z;H[s+(z<<2)>>2]=b;b=H[i>>2]+1|0;H[s+(b<<2)>>2]=e;H[s+(e<<2)>>2]=b;b=H[i>>2]+2|0;H[s+(b<<2)>>2]=d;H[s+(d<<2)>>2]=b;b=H[i>>2];H[C+(b<<2)>>2]=a;o=b+1|0;s=C+(o<<2)|0;H[s>>2]=g;g=b+2|0;d=C+(g<<2)|0;H[d>>2]=f;f=H[h+120>>2];e=o?a:-1;b=f+(e>>>3&536870908)|0;a=H[b>>2];R=b,S=Vj(e)&a,H[R>>2]=S;l=(o|0)!=-1?H[s>>2]:l;b=f+(l>>>3&536870908)|0;a=H[b>>2];R=b,S=Vj(l)&a,H[R>>2]=S;b=-1;b=(g|0)!=-1?H[d>>2]:b;e=f+(b>>>3&536870908)|0;a=H[e>>2];R=e,S=Vj(b)&a,H[R>>2]=S;F[i+88|0]=1;_c(j,i+88|0);Ka(r,i);k=k+1|0;e=H[i+64>>2]}if((c|0)!=(e|0)){continue}break}y=H[h+8>>2]}b=-1;if(((H[y+4>>2]-H[y>>2]>>2>>>0)/3|0)!=(k|0)){break s}b=H[y+28>>2]-H[y+24>>2]>>2;k=H[i+24>>2];f=H[i+28>>2];if((k|0)==(f|0)){break r}while(1){j=H[k>>2];a=H[y+24>>2];c=b-1|0;d=a+(c<<2)|0;if(H[d>>2]==-1){while(1){c=b-2|0;b=b-1|0;d=a+(c<<2)|0;if(H[d>>2]==-1){continue}break}}if(c>>>0>=j>>>0){H[i>>2]=y;d=H[d>>2];F[i+12|0]=1;H[i+8>>2]=d;H[i+4>>2]=d;if((d|0)!=-1){while(1){a=H[H[h+8>>2]>>2]+(d<<2)|0;if(H[a>>2]!=(c|0)){b=-1;break s}H[a>>2]=j;uc(i);d=H[i+8>>2];if((d|0)!=-1){continue}break}y=H[h+8>>2]}a=H[y+24>>2];e=a+(c<<2)|0;if((j|0)!=-1){H[a+(j<<2)>>2]=H[e>>2]}H[e>>2]=-1;g=1<>2];e=a+(j>>>3&536870908)|0;d=a+(c>>>3&536870908)|0;a=1<>2]&a){c=g|H[e>>2]}else{c=H[e>>2]&(g^-1)}H[e>>2]=c;H[d>>2]=H[d>>2]&(a^-1);b=b-1|0}k=k+4|0;if((f|0)!=(k|0)){continue}break}}k=H[i+24>>2]}if(k){oa(k)}a=H[i+48>>2];if(a){while(1){c=H[a>>2];oa(a);a=c;if(a){continue}break}}a=H[i+40>>2];H[i+40>>2]=0;if(a){oa(a)}a=H[i+64>>2];if(a){H[i+68>>2]=a;oa(a)}ca=i+96|0;break o}sa();v()}wa();v()}if((b|0)==-1){break n}e=H[x+16>>2];c=e+H[x>>2]|0;a=H[x+8>>2]-e|0;e=H[H[h+4>>2]+32>>2];G[e+38>>1]=J[e+38>>1];H[e>>2]=c;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=a;H[e+12>>2]=0;c=H[h+4>>2];a=J[c+36>>1];e=a<<8|a>>>8;if((e&65535)>>>0<=513){c=H[c+32>>2];f=c;a=H[c+16>>2];c=P+H[c+20>>2]|0;a=a+E|0;c=a>>>0>>0?c+1|0:c;H[f+16>>2]=a;H[f+20>>2]=c}pa:{if(H[h+216>>2]==H[h+220>>2]){break pa}a=H[h+8>>2];c=H[a>>2];a=H[a+4>>2];qa:{if((e&65535)>>>0>=513){if((a|0)==(c|0)){break pa}c=0;break qa}if((a|0)==(c|0)){break pa}c=0;while(1){if(cd(h,c)){c=c+3|0;a=H[h+8>>2];if(c>>>0>2]-H[a>>2]>>2>>>0){continue}break pa}break}break n}while(1){if(bd(h,c)){c=c+3|0;a=H[h+8>>2];if(c>>>0>2]-H[a>>2]>>2>>>0){continue}break pa}break}break n}ad(B);c=H[h+216>>2];if((c|0)!=H[h+220>>2]){t=0;while(1){f=N(t,144);Jc((f+c|0)+4|0,H[h+8>>2]);a=H[M>>2];e=a+f|0;c=H[e+132>>2];e=H[e+136>>2];if((c|0)!=(e|0)){while(1){Hc((f+H[M>>2]|0)+4|0,H[c>>2]);c=c+4|0;if((e|0)!=(c|0)){continue}break}a=H[M>>2]}if(!Ic((a+f|0)+4|0)){break n}t=t+1|0;c=H[h+216>>2];if(t>>>0<(H[h+220>>2]-c|0)/144>>>0){continue}break}}a=H[h+8>>2];Hb(h+184|0,H[a+28>>2]-H[a+24>>2]>>2);w=H[h+216>>2];if((w|0)!=H[h+220>>2]){c=0;while(1){a=N(c,144)+w|0;e=H[a+60>>2]-H[a+56>>2]>>2;f=a+104|0;a=H[h+8>>2];a=H[a+28>>2]-H[a+24>>2]>>2;Hb(f,(a|0)<(e|0)?e:a);c=c+1|0;w=H[h+216>>2];if(c>>>0<(H[h+220>>2]-w|0)/144>>>0){continue}break}}w=$c(h,b)}break b}w=0}ca=u- -64|0;return w|0}function ki(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,L=0,M=0,O=0,P=0,Q=0;t=ca+-64|0;ca=t;H[a+132>>2]=0;if(H[a+148>>2]){d=H[a+144>>2];if(d){while(1){b=H[d>>2];oa(d);d=b;if(b){continue}break}}d=0;H[a+144>>2]=0;j=H[a+140>>2];a:{if(!j){break a}if(j>>>0>=4){b=j&-4;while(1){c=d<<2;H[c+H[a+136>>2]>>2]=0;H[H[a+136>>2]+(c|4)>>2]=0;H[H[a+136>>2]+(c|8)>>2]=0;H[H[a+136>>2]+(c|12)>>2]=0;d=d+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}}b=j&3;if(!b){break a}while(1){H[H[a+136>>2]+(d<<2)>>2]=0;d=d+1|0;x=x+1|0;if((b|0)!=(x|0)){continue}break}}H[a+148>>2]=0}b:{c:{d=H[a+4>>2];x=I[d+36|0];b=x<<8|I[d+37|0];if(b>>>0<=513){f=H[d+32>>2];d:{if(b>>>0<=511){b=H[f+20>>2];e=H[f+16>>2];c=e+4|0;b=c>>>0<4?b+1|0:b;j=H[f+12>>2];if(K[f+8>>2]>>0&(j|0)<=(b|0)|(b|0)>(j|0)){break c}e=e+H[f>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[f+16>>2]=c;H[f+20>>2]=b;break d}if(!Ea(1,t,f)){break c}d=H[a+4>>2];x=I[d+36|0];e=H[t>>2]}H[a+132>>2]=e}f=H[d+32>>2];e:{f:{g:{if((x&255)>>>0<=1){x=0;b=H[f+20>>2];c=H[f+16>>2];e=c+4|0;b=e>>>0<4?b+1|0:b;j=H[f+12>>2];if(K[f+8>>2]>>0&(j|0)<=(b|0)|(b|0)>(j|0)){break b}c=c+H[f>>2]|0;c=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[t+60>>2]=c;H[f+16>>2]=e;H[f+20>>2]=b;H[a+156>>2]=c;l=a+156|0;break g}x=0;if(!Ea(1,t+60|0,f)){break b}d=H[a+4>>2];b=I[d+36|0];H[a+156>>2]=H[t+60>>2];l=a+156|0;if(b>>>0>1){break f}}f=H[d+32>>2];c=H[f+8>>2];j=H[f+12>>2];d=H[f+20>>2];e=H[f+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;if(b>>>0>c>>>0&(d|0)>=(j|0)|(d|0)>(j|0)){break b}e=e+H[f>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[t+56>>2]=e;H[f+16>>2]=b;H[f+20>>2]=d;break e}if(!Ea(1,t+56|0,H[d+32>>2])){break b}e=H[t+56>>2]}if(e>>>0>1431655765){break b}b=H[l>>2];d=N(e,3);if(b>>>0>d>>>0){break b}c=d>>>1|0;d=b>>31;d=Rj(b-1|0,d-!b|0,b,d);j=da;b=j>>>1|0;d=(j&1)<<31|d>>>1;if(!b&d>>>0>>0){break b}k=H[a+4>>2];y=H[k+32>>2];d=H[y+8>>2];f=H[y+12>>2];b=H[y+20>>2];m=H[y+16>>2];if((f|0)<=(b|0)&m>>>0>=d>>>0|(b|0)>(f|0)){break b}l=H[y>>2];g=I[l+m|0];c=y;j=m+1|0;C=j?b:b+1|0;H[c+16>>2]=j;H[c+20>>2]=C;h:{if(I[k+36|0]<=1){c=d;d=b;b=m+5|0;d=b>>>0<5?d+1|0:d;if(b>>>0>c>>>0&(d|0)>=(f|0)|(d|0)>(f|0)){break b}c=j+l|0;l=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[t+52>>2]=l;H[y+16>>2]=b;H[y+20>>2]=d;break h}if(!Ea(1,t+52|0,y)){break b}l=H[t+52>>2]}if(e>>>0>>0|((l>>>0)/3|0)+l>>>0>>0){break b}d=H[a+4>>2];f=H[d+32>>2];i:{if(I[d+36|0]<=1){d=H[f+20>>2];b=H[f+16>>2];c=b+4|0;d=c>>>0<4?d+1|0:d;j=H[f+12>>2];if(K[f+8>>2]>>0&(j|0)<=(d|0)|(d|0)>(j|0)){break b}b=b+H[f>>2]|0;b=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[t+48>>2]=b;H[f+16>>2]=c;H[f+20>>2]=d;break i}if(!Ea(1,t+48|0,f)){break b}b=H[t+48>>2]}if(b>>>0>l>>>0){break b}H[a+28>>2]=H[a+24>>2];d=$b(pa(88));c=H[a+8>>2];H[a+8>>2]=d;if(c){cb(c);if(!H[a+8>>2]){break b}}H[a+164>>2]=H[a+160>>2];Jb(a+160|0,e);H[a+176>>2]=H[a+172>>2];Jb(a+172|0,e);H[a- -64>>2]=0;H[a+92>>2]=-1;H[a+84>>2]=-1;H[a+88>>2]=-1;H[a+40>>2]=H[a+36>>2];H[a+52>>2]=H[a+48>>2];H[a+76>>2]=H[a+72>>2];E=a+216|0;ed(E);dd(E,g);if(!Lc(H[a+8>>2],e,H[a+156>>2]+b|0)){break b}d=H[a+156>>2];F[t|0]=1;Oa(a+120|0,b+d|0,t);b=H[a+4>>2];d=J[b+36>>1];d=(d<<8|d>>>8)&65535;j:{if(d>>>0<=513){j=H[b+32>>2];k:{if(d>>>0<=511){d=H[j+20>>2];e=H[j+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;c=H[j+12>>2];if(K[j+8>>2]>>0&(c|0)<=(d|0)|(d|0)>(c|0)){break b}e=e+H[j>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[j+16>>2]=b;H[j+20>>2]=d;break k}if(!Ea(1,t+44|0,j)){break b}e=H[t+44>>2]}if(!e){break b}j=H[H[a+4>>2]+32>>2];c=H[j+8>>2];d=H[j+16>>2];b=c-d|0;d=H[j+12>>2]-(H[j+20>>2]+(d>>>0>c>>>0)|0)|0;if(b>>>0>>0&(d|0)<=0|(d|0)<0){break b}f=Ha(t);j=H[H[a+4>>2]+32>>2];c=H[j+16>>2];b=(c+H[j>>2]|0)+e|0;d=H[j+8>>2]-c|0;G[f+38>>1]=J[j+38>>1];H[f>>2]=b;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=d-e;H[f+12>>2]=0;d=Ib(a,f);if((d|0)==-1){break b}y=d;M=d>>31;break j}y=-1;M=-1;if((Ib(a,H[b+32>>2])|0)==-1){break b}}O=a+232|0;e=O;H[e+144>>2]=a;d=H[(ea[H[H[a>>2]+32>>2]](a)|0)+32>>2];b=H[d>>2]+H[d+16>>2]|0;d=H[(ea[H[H[a>>2]+32>>2]](a)|0)+32>>2];d=H[d+8>>2]-H[d+16>>2]|0;P=e,Q=J[H[(ea[H[H[a>>2]+32>>2]](a)|0)+32>>2]+38>>1],G[P+38>>1]=Q;H[e>>2]=b;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=d;H[e+12>>2]=0;H[a+372>>2]=g;C=Ha(t);l:{if(!Ge(e,C)){break l}b=0;d=0;e=0;j=0;i=ca-96|0;ca=i;H[i+72>>2]=0;H[i+64>>2]=0;H[i+68>>2]=0;H[i+48>>2]=0;H[i+52>>2]=0;H[i+40>>2]=0;H[i+44>>2]=0;H[i+56>>2]=1065353216;H[i+32>>2]=0;H[i+24>>2]=0;H[i+28>>2]=0;h=a;L=H[a+124>>2];m:{n:{o:{p:{q:{r:{if((l|0)<=0){break r}A=H[h+216>>2]!=H[h+220>>2];s=1;while(1){f=j;j=f+1|0;s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{if(!I[h+308|0]){break G}u=H[h+296>>2];g=H[h+304>>2];a=u+(g>>>3|0)|0;p=H[h+300>>2];if(a>>>0>=p>>>0){break G}c=I[a|0];a=g+1|0;H[h+304>>2]=a;m=c>>>(g&7)&1;if(!m){break G}n=0;k=a>>>3|0;c=u+k|0;H:{if(c>>>0>=p>>>0){g=a;a=0;break H}c=I[c|0];g=g+2|0;H[h+304>>2]=g;k=g>>>3|0;a=c>>>(a&7)&1}c=k+u|0;if(c>>>0

>>0){c=I[c|0];H[h+304>>2]=g+1;n=c>>>(g&7)<<1&2}k=-1;a=m|(a|n)<<1;switch(a-1|0){case 6:break D;case 0:break E;case 2:case 4:break F;default:break q}}if((d|0)==(e|0)){k=-1;break q}g=-1;q=H[h+8>>2];u=H[q+24>>2];p=d-4|0;s=H[p>>2];c=-1;I:{if((s|0)==-1){break I}b=s+1|0;b=(b>>>0)%3|0?b:s-2|0;c=-1;if((b|0)==-1){break I}c=H[H[q>>2]+(b<<2)>>2]}b=H[u+(c<<2)>>2];if((b|0)!=-1){a=b+1|0;g=(a>>>0)%3|0?a:b-2|0}if((g|0)==(s|0)){k=-1;break q}if((s|0)!=-1){k=-1;if(H[H[q+12>>2]+(s<<2)>>2]!=-1){break q}}b=H[q+12>>2];if((g|0)!=-1){k=-1;if(H[b+(g<<2)>>2]!=-1){break q}}n=N(f,3);a=n+1|0;H[b+(s<<2)>>2]=a;m=a<<2;H[m+b>>2]=s;r=n+2|0;H[b+(g<<2)>>2]=r;f=r<<2;H[f+b>>2]=g;o=-1;a=-1;J:{if((s|0)==-1){break J}K:{if((s>>>0)%3|0){b=s-1|0;break K}b=s+2|0;a=-1;if((b|0)==-1){break J}}a=H[H[q>>2]+(b<<2)>>2]}L:{if((g|0)==-1){break L}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1){break L}o=H[H[q>>2]+(b<<2)>>2]}k=-1;if((a|0)==(c|0)|(c|0)==(o|0)){break q}b=H[q>>2];H[b+(n<<2)>>2]=c;H[b+m>>2]=o;H[b+f>>2]=a;if((a|0)!=-1){H[u+(a<<2)>>2]=r}b=H[h+120>>2]+(c>>>3&536870908)|0;a=H[b>>2];P=b,Q=Vj(c)&a,H[P>>2]=Q;H[p>>2]=n;b=e;break s}if((d|0)==(e|0)){break q}m=d-4|0;n=H[m>>2];r=H[h+8>>2];b=H[r+12>>2];if((n|0)!=-1&H[b+(n<<2)>>2]!=-1){break q}o=N(f,3);p=(a|0)==5;g=o+(p?2:1)|0;a=g<<2;H[a+b>>2]=n;H[b+(n<<2)>>2]=g;Ka(r+24|0,11424);b=H[h+8>>2];u=H[b+24>>2];if(H[b+28>>2]-u>>2>(L|0)){break q}k=H[b>>2];q=k+a|0;c=H[r+28>>2];b=H[r+24>>2];a=(c-b>>2)-1|0;H[q>>2]=a;if((b|0)!=(c|0)){H[u+(a<<2)>>2]=g}c=p?o:o+2|0;g=k+(o+p<<2)|0;M:{if((n|0)==-1){H[k+(c<<2)>>2]=-1;b=-1;break M}N:{O:{P:{if((n>>>0)%3|0){a=n-1|0;break P}a=n+2|0;if((a|0)==-1){break O}}a=H[k+(a<<2)>>2];H[k+(c<<2)>>2]=a;if((a|0)==-1){break N}H[u+(a<<2)>>2]=c;break N}H[k+(c<<2)>>2]=-1}a=n+1|0;a=(a>>>0)%3|0?a:n-2|0;b=-1;if((a|0)==-1){break M}b=H[k+(a<<2)>>2]}H[g>>2]=b;H[m>>2]=o;b=e;break y}if((b|0)==(d|0)){break q}a=d-4|0;q=H[a>>2];H[i+68>>2]=a;p=H[i+44>>2];Q:{if(!p){d=a;break Q}g=H[i+40>>2];k=Uj(p)>>>0>1;c=f&p+2147483647;R:{if(!k){break R}c=f;if(c>>>0

>>0){break R}c=(f>>>0)%(p>>>0)|0}m=c;c=H[g+(m<<2)>>2];if(!c){d=a;break Q}g=H[c>>2];if(!g){d=a;break Q}S:{if(!k){k=p-1|0;while(1){c=H[g+4>>2];T:{if((c|0)!=(f|0)){if((m|0)==(c&k)){break T}d=a;break Q}if((f|0)==H[g+8>>2]){break S}}g=H[g>>2];if(g){continue}break}d=a;break Q}while(1){c=H[g+4>>2];U:{if((c|0)!=(f|0)){if(c>>>0>=p>>>0){c=(c>>>0)%(p>>>0)|0}if((c|0)==(m|0)){break U}d=a;break Q}if((f|0)==H[g+8>>2]){break S}}g=H[g>>2];if(g){continue}break}d=a;break Q}if((a|0)!=(z|0)){H[a>>2]=H[g+12>>2];H[i+68>>2]=d;break Q}c=z-b|0;d=c>>2;e=d+1|0;if(e>>>0>=1073741824){break C}a=c>>>1|0;c=c>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(c){if(c>>>0>=1073741824){break n}a=pa(c<<2)}else{a=0}e=a+(d<<2)|0;H[e>>2]=H[g+12>>2];d=e+4|0;if((b|0)!=(z|0)){while(1){e=e-4|0;z=z-4|0;H[e>>2]=H[z>>2];if((b|0)!=(z|0)){continue}break}}z=a+(c<<2)|0;H[i+72>>2]=z;H[i+68>>2]=d;H[i+64>>2]=e;if(b){oa(b)}}if((d|0)==(e|0)){break u}g=d-4|0;n=H[g>>2];if((n|0)==(q|0)){break u}b=(n|0)==-1;o=H[h+8>>2];if(!b&H[H[o+12>>2]+(n<<2)>>2]!=-1){break u}r=H[o+12>>2];if((q|0)!=-1&H[r+(q<<2)>>2]!=-1){break u}u=N(f,3);f=u+2|0;H[r+(n<<2)>>2]=f;p=f<<2;H[p+r>>2]=n;a=u+1|0;H[r+(q<<2)>>2]=a;c=a<<2;H[c+r>>2]=q;if(b){break B}if((n>>>0)%3|0){m=n-1|0;break x}m=n+2|0;if((m|0)!=-1){break x}a=H[o>>2];b=-1;break w}a=H[h+8>>2];Ka(a+24|0,11424);c=H[h+8>>2];q=N(f,3);r=H[a+28>>2];u=H[a+24>>2];p=r-u|0;o=p>>2;g=o-1|0;H[H[c>>2]+(q<<2)>>2]=g;Ka(c+24|0,11424);m=q+1|0;H[H[c>>2]+(m<<2)>>2]=(H[c+28>>2]-H[c+24>>2]>>2)-1;a=H[h+8>>2];Ka(a+24|0,11424);c=q+2|0;H[H[a>>2]+(c<<2)>>2]=(H[a+28>>2]-H[a+24>>2]>>2)-1;a=H[h+8>>2];n=H[a+24>>2];if(H[a+28>>2]-n>>2>(L|0)){break q}V:{W:{if((r|0)!=(u|0)){H[n+(g<<2)>>2]=q;k=0;if((p|0)==-4){break W}}H[n+(o<<2)>>2]=m;k=o+1|0;if((k|0)==-1){break V}}H[n+(k<<2)>>2]=c}if((d|0)!=(z|0)){H[d>>2]=q;d=d+4|0;H[i+68>>2]=d;break y}m=d-b|0;e=m>>2;c=e+1|0;if(c>>>0>=1073741824){break A}a=m>>>1|0;c=m>>>0>=2147483644?1073741823:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=1073741824){break n}a=pa(c<<2)}else{a=0}e=a+(e<<2)|0;H[e>>2]=q;z=a+(c<<2)|0;a=e+4|0;if((b|0)!=(d|0)){while(1){e=e-4|0;d=d-4|0;H[e>>2]=H[d>>2];if((b|0)!=(d|0)){continue}break}}H[i+72>>2]=z;H[i+68>>2]=a;H[i+64>>2]=e;if(!b){break z}oa(b);break z}sa();v()}m=-1;a=H[o>>2];H[a+(u<<2)>>2]=-1;k=-1;break v}sa();v()}d=a;b=e}m=H[h+40>>2];if((m|0)==H[h+36>>2]){break s}c=m-12|0;a=H[c+4>>2];k=(f^-1)+l|0;if(a>>>0>k>>>0){break u}if((a|0)!=(k|0)){break s}f=I[m-4|0];a=H[c>>2];H[h+40>>2]=c;if((a|0)<0){break u}m=d-4|0;g=H[m>>2];H[i+20>>2]=(a^-1)+l;a=i+20|0;H[i+88>>2]=a;Gb(i,i+40|0,a,i+88|0);c=H[i>>2];X:{if(f&1){a=-1;if((g|0)==-1){break X}a=g+1|0;a=(a>>>0)%3|0?a:g-2|0;break X}a=-1;if((g|0)==-1){break X}a=g-1|0;if((g>>>0)%3|0){break X}a=g+2|0}H[c+12>>2]=a;g=H[h+40>>2];if((g|0)==H[h+36>>2]){break s}while(1){c=g-12|0;a=H[c+4>>2];if(a>>>0>k>>>0){break u}if((a|0)!=(k|0)){break s}f=I[g-4|0];a=H[c>>2];H[h+40>>2]=c;if((a|0)<0){break u}g=H[m>>2];H[i+20>>2]=(a^-1)+l;a=i+20|0;H[i+88>>2]=a;Gb(i,i+40|0,a,i+88|0);c=H[i>>2];Y:{if(f&1){a=-1;if((g|0)==-1){break Y}a=g+1|0;a=(a>>>0)%3|0?a:g-2|0;break Y}a=-1;if((g|0)==-1){break Y}a=g-1|0;if((g>>>0)%3|0){break Y}a=g+2|0}H[c+12>>2]=a;g=H[h+40>>2];if((g|0)!=H[h+36>>2]){continue}break}break s}a=H[o>>2];b=H[a+(m<<2)>>2]}m=b;H[(u<<2)+a>>2]=b;b=n+1|0;b=(b>>>0)%3|0?b:n-2|0;k=-1;if((b|0)==-1){break v}k=H[(b<<2)+a>>2]}H[a+c>>2]=k;Z:{if((q|0)==-1){H[a+p>>2]=-1;n=-1;c=-1;break Z}_:{$:{aa:{if((q>>>0)%3|0){b=q-1|0;break aa}b=q+2|0;if((b|0)==-1){break $}}b=H[(b<<2)+a>>2];H[a+p>>2]=b;if((b|0)==-1){break _}H[H[o+24>>2]+(b<<2)>>2]=f;break _}H[a+p>>2]=-1}n=-1;b=q+1|0;b=(b>>>0)%3|0?b:q-2|0;c=-1;if((b|0)==-1){break Z}n=H[(b<<2)+a>>2];c=b}b=H[o+24>>2];p=b+(n<<2)|0;if((m|0)!=-1){H[b+(m<<2)>>2]=H[p>>2]}b=c;while(1){if((b|0)==-1){break t}H[(b<<2)+a>>2]=m;k=b+1|0;b=(k>>>0)%3|0?k:b-2|0;f=-1;ba:{if((b|0)==-1){break ba}k=H[r+(b<<2)>>2];f=-1;if((k|0)==-1){break ba}b=k+1|0;f=(b>>>0)%3|0?b:k-2|0}b=f;if((c|0)!=(b|0)){continue}break}}k=-1;if(!(s&1)){break r}break q}H[p>>2]=-1;ca:{if(A){break ca}if((B|0)!=(D|0)){H[D>>2]=n;D=D+4|0;H[i+28>>2]=D;break ca}f=B-w|0;b=f>>2;c=b+1|0;if(c>>>0>=1073741824){break o}a=f>>>1|0;c=f>>>0>=2147483644?1073741823:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=1073741824){break n}a=pa(c<<2)}else{a=0}b=a+(b<<2)|0;H[b>>2]=n;D=b+4|0;if((w|0)!=(B|0)){while(1){b=b-4|0;B=B-4|0;H[b>>2]=H[B>>2];if((w|0)!=(B|0)){continue}break}}B=a+(c<<2)|0;H[i+32>>2]=B;H[i+28>>2]=D;H[i+24>>2]=b;if(w){oa(w)}w=b}H[g>>2]=u;b=e}s=(j|0)<(l|0);if((j|0)!=(l|0)){continue}break}j=l}k=-1;a=H[h+8>>2];if(H[a+28>>2]-H[a+24>>2]>>2>(L|0)){break q}if((d|0)!=(e|0)){u=h+72|0;m=h+60|0;p=h+312|0;while(1){d=d-4|0;o=H[d>>2];H[i+68>>2]=d;da:{ea:{fa:{if(J[h+270>>1]<=513){if(!I[h+364|0]){break ea}b=H[h+360>>2];a=H[h+352>>2]+(b>>>3|0)|0;if(a>>>0>=K[h+356>>2]){break fa}a=I[a|0];H[h+360>>2]=b+1;if(!(a>>>(b&7)&1)){break fa}break ea}if(Ba(p)){break ea}}ga:{ha:{b=H[h+64>>2];c=H[h+68>>2];if((b|0)==c<<5){if((b+1|0)<0){break ha}if(b>>>0<=1073741822){c=c<<6;b=(b&-32)+32|0;a=b>>>0>>0?c:b}else{a=2147483647}pb(m,a);b=H[h+64>>2]}H[h+64>>2]=b+1;c=H[h+60>>2]+(b>>>3&536870908)|0;a=H[c>>2];P=c,Q=Vj(b)&a,H[P>>2]=Q;b=H[h+76>>2];if((b|0)!=H[h+80>>2]){H[b>>2]=o;H[h+76>>2]=b+4;break da}l=H[u>>2];w=b-l|0;c=w>>2;f=c+1|0;if(f>>>0>=1073741824){break ga}a=w>>>1|0;f=w>>>0>=2147483644?1073741823:a>>>0>f>>>0?a:f;if(f){if(f>>>0>=1073741824){break n}a=pa(f<<2)}else{a=0}g=a+(c<<2)|0;H[g>>2]=o;c=g+4|0;if((b|0)!=(l|0)){while(1){g=g-4|0;b=b-4|0;H[g>>2]=H[b>>2];if((b|0)!=(l|0)){continue}break}}H[h+80>>2]=a+(f<<2);H[h+76>>2]=c;H[h+72>>2]=g;if(!l){break da}oa(l);break da}sa();v()}sa();v()}r=H[h+8>>2];A=H[r>>2];if(((H[r+4>>2]-A>>2>>>0)/3|0)<=(j|0)){k=-1;break q}a=-1;k=-1;b=-1;w=H[r+24>>2];f=-1;ia:{if((o|0)==-1){break ia}e=o+1|0;e=(e>>>0)%3|0?e:o-2|0;f=-1;if((e|0)==-1){break ia}f=H[A+(e<<2)>>2]}l=H[w+(f<<2)>>2];ja:{if((l|0)==-1){g=1;e=-1;break ja}g=1;c=l+1|0;c=(c>>>0)%3|0?c:l-2|0;e=-1;if((c|0)==-1){break ja}g=0;a=c;e=a+1|0;e=(e>>>0)%3|0?e:a-2|0;if((e|0)!=-1){e=H[A+(e<<2)>>2]}else{e=-1}}c=H[(e<<2)+w>>2];if((c|0)!=-1){b=c+1|0;b=(b>>>0)%3|0?b:c-2|0}if((a|0)==(o|0)|(b|0)==(o|0)|((o|0)!=-1&H[H[r+12>>2]+(o<<2)>>2]!=-1|(a|0)==(b|0))){break q}if(!g&H[H[r+12>>2]+(a<<2)>>2]!=-1){break q}g=-1;l=H[r+12>>2];w=-1;ka:{if((b|0)==-1){break ka}if(H[l+(b<<2)>>2]!=-1){break q}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;w=-1;if((c|0)==-1){break ka}w=H[A+(c<<2)>>2]}c=N(j,3);H[i>>2]=c;H[l+(c<<2)>>2]=o;H[l+(o<<2)>>2]=c;c=H[i>>2]+1|0;H[l+(c<<2)>>2]=a;H[l+(a<<2)>>2]=c;a=H[i>>2]+2|0;H[l+(a<<2)>>2]=b;H[l+(b<<2)>>2]=a;a=H[i>>2];H[A+(a<<2)>>2]=e;k=a+1|0;l=A+(k<<2)|0;H[l>>2]=w;w=a+2|0;c=A+(w<<2)|0;H[c>>2]=f;f=H[h+120>>2];e=k?e:-1;b=f+(e>>>3&536870908)|0;a=H[b>>2];P=b,Q=Vj(e)&a,H[P>>2]=Q;g=(k|0)!=-1?H[l>>2]:g;b=f+(g>>>3&536870908)|0;a=H[b>>2];P=b,Q=Vj(g)&a,H[P>>2]=Q;b=-1;b=(w|0)!=-1?H[c>>2]:b;e=f+(b>>>3&536870908)|0;a=H[e>>2];P=e,Q=Vj(b)&a,H[P>>2]=Q;F[i+88|0]=1;_c(m,i+88|0);Ka(u,i);j=j+1|0;e=H[i+64>>2]}if((d|0)!=(e|0)){continue}break}a=H[h+8>>2]}k=-1;if(((H[a+4>>2]-H[a>>2]>>2>>>0)/3|0)!=(j|0)){break q}k=H[a+28>>2]-H[a+24>>2]>>2;s=H[i+24>>2];c=H[i+28>>2];if((s|0)==(c|0)){break p}while(1){j=H[s>>2];d=H[a+24>>2];b=k-1|0;g=d+(b<<2)|0;if(H[g>>2]==-1){while(1){b=k-2|0;k=k-1|0;g=d+(b<<2)|0;if(H[g>>2]==-1){continue}break}}if(b>>>0>=j>>>0){H[i>>2]=a;g=H[g>>2];F[i+12|0]=1;H[i+8>>2]=g;H[i+4>>2]=g;if((g|0)!=-1){while(1){a=H[H[h+8>>2]>>2]+(g<<2)|0;if(H[a>>2]!=(b|0)){k=-1;break q}H[a>>2]=j;uc(i);g=H[i+8>>2];if((g|0)!=-1){continue}break}a=H[h+8>>2]}d=H[a+24>>2];e=d+(b<<2)|0;if((j|0)!=-1){H[d+(j<<2)>>2]=H[e>>2]}H[e>>2]=-1;f=1<>2];e=d+(j>>>3&536870908)|0;j=d+(b>>>3&536870908)|0;d=1<>2]&d){b=f|H[e>>2]}else{b=H[e>>2]&(f^-1)}H[e>>2]=b;H[j>>2]=H[j>>2]&(d^-1);k=k-1|0}s=s+4|0;if((c|0)!=(s|0)){continue}break}}s=H[i+24>>2]}if(s){oa(s)}a=H[i+48>>2];if(a){while(1){d=H[a>>2];oa(a);a=d;if(a){continue}break}}a=H[i+40>>2];H[i+40>>2]=0;if(a){oa(a)}a=H[i+64>>2];if(a){H[i+68>>2]=a;oa(a)}ca=i+96|0;a=k;break m}sa();v()}wa();v()}b=a;if((a|0)==-1){break l}e=H[C+16>>2];d=e+H[C>>2]|0;a=H[C+8>>2]-e|0;e=H[H[h+4>>2]+32>>2];G[e+38>>1]=J[e+38>>1];H[e>>2]=d;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=a;H[e+12>>2]=0;d=H[h+4>>2];a=J[d+36>>1];e=a<<8|a>>>8;if((e&65535)>>>0<=513){d=H[d+32>>2];c=d;a=H[c+16>>2];d=M+H[c+20>>2]|0;a=a+y|0;d=a>>>0>>0?d+1|0:d;H[c+16>>2]=a;H[c+20>>2]=d}la:{if(H[h+216>>2]==H[h+220>>2]){break la}a=H[h+8>>2];d=H[a>>2];a=H[a+4>>2];ma:{if((e&65535)>>>0>=513){if((a|0)==(d|0)){break la}d=0;break ma}if((a|0)==(d|0)){break la}d=0;while(1){if(cd(h,d)){d=d+3|0;a=H[h+8>>2];if(d>>>0>2]-H[a>>2]>>2>>>0){continue}break la}break}break l}while(1){if(bd(h,d)){d=d+3|0;a=H[h+8>>2];if(d>>>0>2]-H[a>>2]>>2>>>0){continue}break la}break}break l}ad(O);d=H[h+216>>2];if((d|0)!=H[h+220>>2]){l=0;while(1){c=N(l,144);Jc((c+d|0)+4|0,H[h+8>>2]);a=H[E>>2];e=a+c|0;d=H[e+132>>2];e=H[e+136>>2];if((d|0)!=(e|0)){while(1){Hc((c+H[E>>2]|0)+4|0,H[d>>2]);d=d+4|0;if((e|0)!=(d|0)){continue}break}a=H[E>>2]}if(!Ic((a+c|0)+4|0)){break l}l=l+1|0;d=H[h+216>>2];if(l>>>0<(H[h+220>>2]-d|0)/144>>>0){continue}break}}a=H[h+8>>2];Hb(h+184|0,H[a+28>>2]-H[a+24>>2]>>2);x=H[h+216>>2];if((x|0)!=H[h+220>>2]){d=0;while(1){a=N(d,144)+x|0;e=H[a+60>>2]-H[a+56>>2]>>2;c=a+104|0;a=H[h+8>>2];a=H[a+28>>2]-H[a+24>>2]>>2;Hb(c,(a|0)<(e|0)?e:a);d=d+1|0;x=H[h+216>>2];if(d>>>0<(H[h+220>>2]-x|0)/144>>>0){continue}break}}x=$c(h,b)}break b}x=0}ca=t- -64|0;return x|0}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,J=0,K=0,L=0,M=0,O=0;B=c;c=0;m=ca-96|0;ca=m;l=m+16|0;ra(l,0,76);H[m+92>>2]=-1;H[m+8>>2]=0;H[m>>2]=0;H[m+4>>2]=0;r=ca-16|0;ca=r;H[l+68>>2]=0;H[l+72>>2]=0;H[l>>2]=b;s=ca-16|0;ca=s;u=b;a=H[b+20>>2];a:{if((H[b+24>>2]-a|0)<=0){break a}a=H[a>>2];if((a|0)==-1){break a}c=H[H[u+8>>2]+(a<<2)>>2]}b:{c:{d:{if(!c){a=0;break d}a=H[u+100>>2];e=H[u+96>>2];H[s+8>>2]=0;H[s>>2]=0;H[s+4>>2]=0;f=a-e|0;b=(f|0)/12|0;e:{if((a|0)==(e|0)){break e}if(b>>>0>=357913942){break c}d=pa(f);H[s>>2]=d;H[s+8>>2]=d+N(b,12);a=0;n=d;f=f-12|0;d=(f-((f>>>0)%12|0)|0)+12|0;f=ra(n,0,d);H[s+4>>2]=d+f;if(I[c+84|0]){c=b>>>0<=1?1:b;h=c&1;if(b>>>0>=2){g=c&-2;c=0;while(1){d=N(a,12);b=d+e|0;i=H[b+4>>2];j=H[b>>2];d=d+f|0;H[d+8>>2]=H[b+8>>2];H[d>>2]=j;H[d+4>>2]=i;d=N(a|1,12);b=d+e|0;i=H[b+4>>2];j=H[b>>2];d=d+f|0;H[d+8>>2]=H[b+8>>2];H[d>>2]=j;H[d+4>>2]=i;a=a+2|0;c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!h){break e}b=N(a,12);a=b+e|0;c=H[a+4>>2];e=H[a>>2];b=b+f|0;H[b+8>>2]=H[a+8>>2];H[b>>2]=e;H[b+4>>2]=c;break e}h=b>>>0<=1?1:b;a=H[c+68>>2];c=0;while(1){d=N(c,12);b=d+e|0;g=H[a+(H[b>>2]<<2)>>2];i=H[a+(H[b+4>>2]<<2)>>2];d=d+f|0;H[d+8>>2]=H[a+(H[b+8>>2]<<2)>>2];H[d+4>>2]=i;H[d>>2]=g;c=c+1|0;if((h|0)!=(c|0)){continue}break}}d=0;E=ca-16|0;ca=E;h=pa(88);$b(h);C=ca-16|0;ca=C;H[h+80>>2]=0;H[h+84>>2]=0;a=H[h+76>>2];H[h+76>>2]=0;if(a){oa(a)}H[h+68>>2]=0;H[h+72>>2]=0;b=h- -64|0;a=H[b>>2];H[b>>2]=0;if(a){oa(a)}g=H[s+4>>2];b=H[s>>2];c=(g-b|0)/12|0;a=N(c,3);f=H[h>>2];e=H[h+4>>2]-f>>2;f:{if(a>>>0>e>>>0){ue(h,a-e|0);g=H[s+4>>2];b=H[s>>2];c=(g-b|0)/12|0;break f}if(a>>>0>=e>>>0){break f}H[h+4>>2]=f+(a<<2)}g:{if((b|0)==(g|0)){break g}e=c>>>0<=1?1:c;g=e&1;a=H[h>>2];if(c>>>0>=2){i=e&-2;c=0;while(1){e=N(d,12);j=e+a|0;f=b+e|0;H[j>>2]=H[f>>2];H[a+(e|4)>>2]=H[f+4>>2];H[j+8>>2]=H[f+8>>2];f=N(d|1,12);e=f+a|0;f=b+f|0;H[e>>2]=H[f>>2];H[e+4>>2]=H[f+4>>2];H[e+8>>2]=H[f+8>>2];d=d+2|0;c=c+2|0;if((i|0)!=(c|0)){continue}break}}if(!g){break g}c=N(d,12);a=c+a|0;b=b+c|0;H[a>>2]=H[b>>2];H[a+4>>2]=H[b+4>>2];H[a+8>>2]=H[b+8>>2]}H[C+12>>2]=-1;a=0;e=0;g=0;f=ca-32|0;ca=f;h:{i:{w=C+12|0;j:{if(!w){break j}c=H[h+4>>2];j=H[h>>2];d=c-j|0;i=d>>2;n=H[h+12>>2];b=H[h+16>>2]-n>>2;k:{if(i>>>0>b>>>0){qb(h+12|0,i-b|0,13652);c=H[h+4>>2];j=H[h>>2];d=c-j|0;i=d>>2;break k}if(b>>>0<=i>>>0){break k}H[h+16>>2]=n+(i<<2)}H[f+24>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;b=(c|0)==(j|0);if(!b){if((d|0)<0){break i}e=pa(d);H[f+20>>2]=e;H[f+16>>2]=e;H[f+24>>2]=(i<<2)+e}l:{m:{n:{o:{p:{if(d){while(1){i=H[(a<<2)+j>>2];b=H[f+20>>2]-e>>2;q:{if(i>>>0>>0){break q}H[f>>2]=0;d=i+1|0;if(d>>>0>b>>>0){Pa(f+16|0,d-b|0,f);j=H[h>>2];c=H[h+4>>2];e=H[f+16>>2];break q}if(b>>>0<=d>>>0){break q}H[f+20>>2]=(d<<2)+e}b=(i<<2)+e|0;H[b>>2]=H[b>>2]+1;a=a+1|0;d=c-j|0;i=d>>2;if(a>>>0>>0){continue}break}break p}d=0;if(!b){break o}break n}if((c|0)==(j|0)){d=0;break n}if(d>>>0>=2147483645){break m}}d=pa(d<<1);ra(d,255,i<<3)}H[f+8>>2]=0;H[f>>2]=0;H[f+4>>2]=0;b=H[f+20>>2];a=b-e|0;t=a>>2;r:{s:{if((b|0)==(e|0)){break s}if((a|0)<0){break r}q=pa(a);H[f>>2]=q;H[f+8>>2]=(t<<2)+q;b=ra(q,0,a);H[f+4>>2]=b+a;c=t>>>0<=1?1:t;n=c&3;a=0;if(c-1>>>0>=3){o=c&-4;while(1){c=g<<2;H[c+b>>2]=a;x=c|4;a=H[c+e>>2]+a|0;H[x+b>>2]=a;y=c|8;a=a+H[e+x>>2]|0;H[y+b>>2]=a;c=c|12;a=a+H[e+y>>2]|0;H[c+b>>2]=a;a=a+H[c+e>>2]|0;g=g+4|0;p=p+4|0;if((o|0)!=(p|0)){continue}break}}if(!n){break s}while(1){c=g<<2;H[c+b>>2]=a;g=g+1|0;a=H[c+e>>2]+a|0;k=k+1|0;if((n|0)!=(k|0)){continue}break}}if(!i){break l}x=H[h+40>>2];y=H[h+12>>2];n=0;while(1){G=n<<2;a=G+j|0;k=-1;c=n+1|0;b=(c>>>0)%3|0?c:n-2|0;if((b|0)!=-1){k=H[(b<<2)+j>>2]}b=H[a>>2];t:{u:{if(!((n>>>0)%3|0)){p=-1;a=n+2|0;if((a|0)!=-1){p=H[(a<<2)+j>>2]}if(!((b|0)==(k|0)|(b|0)==(p|0))&(k|0)!=(p|0)){break u}x=x+1|0;H[h+40>>2]=x;c=n+3|0;break t}p=H[a-4>>2]}a=p<<2;A=H[a+e>>2];v:{w:{if((A|0)<=0){break w}a=H[a+q>>2];g=0;while(1){o=(a<<3)+d|0;z=H[o>>2];if((z|0)==-1){break w}x:{if((k|0)!=(z|0)){break x}o=H[o+4>>2];if((o|0)!=-1){z=H[(o<<2)+j>>2]}else{z=-1}if((z|0)==(b|0)){break x}while(1){y:{b=a;g=g+1|0;if((A|0)<=(g|0)){break y}a=b+1|0;J=(a<<3)+d|0;z=H[J>>2];K=(b<<3)+d|0;H[K+4>>2]=H[J+4>>2];H[K>>2]=z;if((z|0)!=-1){continue}}break}H[(b<<3)+d>>2]=-1;if((o|0)==-1){break w}H[y+G>>2]=o;H[y+(o<<2)>>2]=n;break v}a=a+1|0;g=g+1|0;if((A|0)!=(g|0)){continue}break}}a=k<<2;k=H[a+e>>2];if((k|0)<=0){break v}a=H[a+q>>2];g=0;while(1){b=(a<<3)+d|0;if(H[b>>2]==-1){H[b>>2]=p;H[b+4>>2]=n;break v}a=a+1|0;g=g+1|0;if((k|0)!=(g|0)){continue}break}}}n=c;if(n>>>0>>0){continue}break}break l}break i}sa();v()}H[w>>2]=t;if(q){oa(q)}if(d){oa(d)}a=H[f+16>>2];if(!a){break j}H[f+20>>2]=a;oa(a)}ca=f+32|0;x=(w|0)!=0;if(x){k=ca-32|0;ca=k;a=H[h>>2];g=H[h+4>>2];H[k+24>>2]=0;H[k+16>>2]=0;H[k+20>>2]=0;if((a|0)==(g|0)){c=g}else{a=g-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=pa(b<<2);H[k+24>>2]=b;H[k+20>>2]=0;H[k+16>>2]=c;Mc(k+16|0,a);g=H[h>>2];c=H[h+4>>2]}H[k+8>>2]=0;H[k>>2]=0;while(1){z:{o=0;i=0;if((c|0)==(g|0)){break z}while(1){b=H[k+16>>2];A:{if(H[b+(i>>>3&536870908)>>2]>>>i&1){break A}c=H[k>>2];H[k+4>>2]=c;e=H[h+12>>2];a=i;while(1){B:{f=a+1|0;d=a;a=(f>>>0)%3|0?f:a-2|0;if((a|0)==-1){break B}a=H[e+(a<<2)>>2];if((a|0)==-1){break B}f=a+1|0;a=(f>>>0)%3|0?f:a-2|0;if((i|0)==(a|0)|(a|0)==-1){break B}if(!(H[b+(a>>>3&536870908)>>2]>>>a&1)){continue}}break}j=d;C:{D:{E:{while(1){a=H[k+16>>2]+(j>>>3&536870908)|0;H[a>>2]=H[a>>2]|1<>>0)%3|0?a:j-2|0;g=H[h>>2];y=(j>>>0)%3|0;b=(y?-1:2)+j|0;n=H[k>>2];A=(n|0)==(c|0);F:{if(A){break F}w=H[(f<<2)+g>>2];q=H[h+12>>2];a=n;if((b|0)!=-1){e=q+(b<<2)|0;while(1){G:{if((w|0)!=H[a>>2]){break G}p=H[a+4>>2];t=H[e>>2];if((p|0)==(t|0)){break G}e=b;c=-1;a=-1;if((p|0)==-1){break C}break D}a=a+8|0;if((c|0)!=(a|0)){continue}break}break F}while(1){if((w|0)==H[a>>2]){t=-1;e=-1;p=H[a+4>>2];if((p|0)!=-1){break D}}a=a+8|0;if((c|0)!=(a|0)){continue}break}}b=H[(b<<2)+g>>2];H:{if(H[k+8>>2]!=(c|0)){H[c>>2]=b;H[c+4>>2]=f;c=c+8|0;H[k+4>>2]=c;break H}a=c-n|0;p=a>>3;e=p+1|0;if(e>>>0>=536870912){break i}g=a>>>2|0;g=a>>>0>=2147483640?536870911:e>>>0>>0?g:e;if(g){if(g>>>0>=536870912){break E}e=pa(g<<3)}else{e=0}a=e+(p<<3)|0;H[a>>2]=b;H[a+4>>2]=f;b=a+8|0;if(!A){while(1){c=c-8|0;f=H[c+4>>2];a=a-8|0;H[a>>2]=H[c>>2];H[a+4>>2]=f;if((c|0)!=(n|0)){continue}break}c=H[k>>2]}H[k+8>>2]=e+(g<<3);H[k+4>>2]=b;H[k>>2]=a;if(c){oa(c)}c=b}I:{J:{if(y){a=j-1|0;break J}a=j+2|0;if((a|0)==-1){break I}}a=H[H[h+12>>2]+(a<<2)>>2];if((a|0)==-1){break I}j=a+((a>>>0)%3|0?-1:2)|0;if((d|0)==(j|0)){break I}if((j|0)!=-1){continue}}break}g=H[h>>2];break A}wa();v()}c=H[q+(p<<2)>>2];b=e;a=p}if((t|0)!=-1){H[q+(t<<2)>>2]=-1}if((c|0)!=-1){H[q+(c<<2)>>2]=-1}H[q+(b<<2)>>2]=-1;H[q+(a<<2)>>2]=-1;o=1}i=i+1|0;c=H[h+4>>2];if(i>>>0>2>>>0){continue}break}if(o){continue}}break}a=H[k>>2];if(a){oa(a)}a=H[k+16>>2];if(a){oa(a)}ca=k+32|0;n=0;g=ca-32|0;ca=g;e=H[C+12>>2];H[h+36>>2]=e;p=h+24|0;b=H[h+24>>2];a=H[h+28>>2]-b>>2;K:{L:{if(a>>>0>>0){qb(p,e-a|0,13652);H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;break L}if(a>>>0>e>>>0){H[h+28>>2]=b+(e<<2)}H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;if(!e){break K}}if((e|0)<0){break i}a=(e-1>>>5|0)+1|0;b=pa(a<<2);H[g+24>>2]=a;H[g+20>>2]=0;H[g+16>>2]=b;Mc(g+16|0,e)}a=H[h>>2];b=H[h+4>>2];H[g+8>>2]=0;H[g>>2]=0;H[g+4>>2]=0;M:{if((a|0)==(b|0)){a=b}else{a=b-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=pa(b<<2);H[g+8>>2]=b;H[g+4>>2]=0;H[g>>2]=c;Mc(g,a);b=H[h>>2];a=H[h+4>>2]}if(a-b>>>0<12){break M}N:{while(1){q=N(n,3);d=(q<<2)+b|0;f=H[d>>2];c=-1;i=q+1|0;if((i|0)!=-1){c=H[(i<<2)+b>>2]}O:{if((c|0)==(f|0)){break O}i=f;f=H[d+8>>2];if((i|0)==(f|0)|(c|0)==(f|0)){break O}k=0;i=H[g>>2];while(1){f=k+q|0;if(!(H[(f>>>3&536870908)+i>>2]>>>f&1)){a=H[(f<<2)+b>>2];c=1<>2];b=a>>>5|0;i=H[d+(b<<2)>>2];t=c&i;if(t){c=H[h+28>>2];P:{if((c|0)!=H[h+32>>2]){H[c>>2]=-1;H[h+28>>2]=c+4;break P}i=H[p>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=pa(j<<2)}else{b=0}d=b+(o<<2)|0;H[d>>2]=-1;o=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;H[d>>2]=H[c>>2];if((c|0)!=(i|0)){continue}break}}H[h+32>>2]=b+(j<<2);H[h+28>>2]=o;H[h+24>>2]=d;if(!i){break P}oa(i)}c=H[h+52>>2];Q:{if((c|0)!=H[h+56>>2]){H[c>>2]=a;H[h+52>>2]=c+4;break Q}i=H[h+48>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=pa(j<<2)}else{b=0}d=b+(o<<2)|0;H[d>>2]=a;a=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;H[d>>2]=H[c>>2];if((c|0)!=(i|0)){continue}break}}H[h+56>>2]=b+(j<<2);H[h+52>>2]=a;H[h+48>>2]=d;if(!i){break Q}oa(i)}c=H[g+20>>2];a=H[g+24>>2];if((c|0)==a<<5){if((c+1|0)<0){break i}b=g+16|0;if(c>>>0<=1073741822){a=a<<6;c=(c&-32)+32|0;a=a>>>0>c>>>0?a:c}else{a=2147483647}pb(b,a);c=H[g+20>>2]}H[g+20>>2]=c+1;d=H[g+16>>2];a=d+(c>>>3&536870908)|0;b=H[a>>2];M=a,O=Vj(c)&b,H[M>>2]=O;c=1<>>5|0;i=H[(b<<2)+d>>2];a=e;e=a+1|0}H[(b<<2)+d>>2]=c|i;o=H[h+24>>2]+(a<<2)|0;j=H[h+12>>2];b=H[h>>2];i=H[g>>2];c=f;R:{S:{T:{while(1){if((c|0)==-1){break T}d=(c>>>3&536870908)+i|0;H[d>>2]=H[d>>2]|1<>2]=c;if(t){H[(c<<2)+b>>2]=a}w=c+1|0;c=(w>>>0)%3|0?w:c-2|0;d=-1;U:{if((c|0)==-1){break U}c=H[j+(c<<2)>>2];d=-1;if((c|0)==-1){break U}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0}c=d;if((f|0)!=(c|0)){continue}break}if((f|0)!=-1){break R}c=1;break S}if((f>>>0)%3|0){c=f-1|0;break S}c=f+2|0;if((c|0)==-1){break R}}c=H[j+(c<<2)>>2];if((c|0)==-1){break R}V:{if((c>>>0)%3|0){c=c-1|0;break V}c=c+2|0;if((c|0)==-1){break R}}f=H[h+12>>2];b=H[h>>2];while(1){d=(c>>>3&536870908)+i|0;H[d>>2]=H[d>>2]|1<>2]=a}W:{if((c>>>0)%3|0){c=c-1|0;break W}c=c+2|0;if((c|0)==-1){break R}}c=H[f+(c<<2)>>2];if((c|0)==-1){break R}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)!=-1){continue}break}}}k=k+1|0;if((k|0)!=3){continue}break}b=H[h>>2];a=H[h+4>>2]}n=n+1|0;if(n>>>0<(a-b>>2>>>0)/3>>>0){continue}break}break M}wa();v()}c=0;H[h+44>>2]=0;a=H[g+16>>2];b=H[g+20>>2];if(b){e=b&31;b=(b>>>3&536870908)+a|0;d=a;i=0;while(1){if(!(H[d>>2]>>>c&1)){i=i+1|0;H[h+44>>2]=i}f=(c|0)==31;c=f?0:c+1|0;d=(f<<2)+d|0;if((b|0)!=(d|0)|(c|0)!=(e|0)){continue}break}}b=H[g>>2];if(b){oa(b);a=H[g+16>>2]}if(a){oa(a)}ca=g+32|0}ca=C+16|0;if(!x){H[E+8>>2]=0;cb(h);h=0}ca=E+16|0;a=h;break h}sa();v()}b=H[s>>2];if(!b){break d}H[s+4>>2]=b;oa(b)}ca=s+16|0;break b}sa();v()}c=H[l+4>>2];b=a;H[l+4>>2]=a;if(c){cb(c);b=H[l+4>>2]}X:{if(!b){break X}a=H[u+100>>2];c=H[u+96>>2];F[r+12|0]=0;Oa(l+56|0,(a-c|0)/12|0,r+12|0);a=H[u+100>>2];c=H[u+96>>2];if((a|0)==(c|0)){break X}while(1){if(!(H[H[l+56>>2]+(D>>>3&536870908)>>2]>>>D&1)){a=N(D,3);Gc(l,0,a);c=H[l+8>>2];e=H[l+12>>2];Gc(l,1,a+1|0);f=H[l+20>>2];d=H[l+24>>2];Gc(l,2,a+2|0);n=(c|0)==(e|0)?-1:0;a=d-f>>2;c=e-c>>2;e=a>>>0>c>>>0;c=H[l+36>>2]-H[l+32>>2]>>2>>>0>(e?a:c)>>>0?2:e?1:n;Y:{if(H[l+68>>2]<=0){break Y}H[r+12>>2]=H[l+76>>2];H[r+8>>2]=m;bb(r+8|0,r+12|0);a=H[((c<<2)+l|0)+44>>2];if((a|0)<0){a=-1}else{e=(a>>>0)/3|0;a=H[(H[H[l>>2]+96>>2]+N(e,12)|0)+(a-N(e,3)<<2)>>2]}H[r+12>>2]=a;H[r+8>>2]=m;bb(r+8|0,r+12|0);e=H[l+72>>2];H[l+72>>2]=e+2;if(!(e&1)){break Y}H[r+12>>2]=a;H[r+8>>2]=m;bb(r+8|0,r+12|0);H[l+72>>2]=H[l+72>>2]+1}d=0;e=ca-16|0;ca=e;H[l+68>>2]=H[l+68>>2]+1;a=N(c,12)+l|0;a=H[a+12>>2]-H[a+8>>2]|0;if((a|0)>0){a=a>>>2|0;h=a>>>0<=1?1:a;c=H[((c<<2)+l|0)+44>>2];while(1){a=c;f=(a>>>0)/3|0;c=(a|0)==-1;g=c?-1:f;i=H[l+56>>2]+(g>>>3&536870908)|0;H[i>>2]=H[i>>2]|1<>2]=H[l+72>>2]+1;Z:{_:{$:{aa:{ba:{if(!d){ca:{if((a|0)>=0){H[e+12>>2]=H[(H[H[l>>2]+96>>2]+N(f,12)|0)+((a>>>0)%3<<2)>>2];H[e+8>>2]=m;bb(e+8|0,e+12|0);break ca}H[e+12>>2]=-1;H[e+8>>2]=m;bb(e+8|0,e+12|0);if(c){break ba}}c=-1;f=a+1|0;f=(f>>>0)%3|0?f:a-2|0;if((f|0)>=0){g=(f>>>0)/3|0;f=H[(H[H[l>>2]+96>>2]+N(g,12)|0)+(f-N(g,3)<<2)>>2]}else{f=-1}H[e+12>>2]=f;H[e+8>>2]=m;bb(e+8|0,e+12|0);f=((a>>>0)%3|0?-1:2)+a|0;if((f|0)<0){break aa}c=(f>>>0)/3|0;c=H[(H[H[l>>2]+96>>2]+N(c,12)|0)+(f-N(c,3)<<2)>>2];break aa}c=(a|0)<0?-1:H[(H[H[l>>2]+96>>2]+N(f,12)|0)+((a>>>0)%3<<2)>>2];H[l+76>>2]=c;H[e+12>>2]=c;H[e+8>>2]=m;bb(e+8|0,e+12|0);if(d&1){c=-1;if((a|0)==-1){break Z}if((N(f,3)|0)!=(a|0)){a=a-1|0;break _}a=a+2|0;break $}c=-1;if((a|0)==-1){break Z}c=a+1|0;a=(c>>>0)%3|0?c:a-2|0;break $}c=-1;H[e+12>>2]=-1;H[e+8>>2]=m;bb(e+8|0,e+12|0)}H[l+76>>2]=c;H[e+12>>2]=c;H[e+8>>2]=m;bb(e+8|0,e+12|0)}c=-1;if((a|0)==-1){break Z}}c=H[H[H[l+4>>2]+12>>2]+(a<<2)>>2]}d=d+1|0;if((h|0)!=(d|0)){continue}break}}ca=e+16|0;c=H[u+96>>2];a=H[u+100>>2]}D=D+1|0;if(D>>>0<(a-c|0)/12>>>0){continue}break}}ca=r+16|0;da:{if(b){a=H[B>>2];if(a){H[B+4>>2]=a;oa(a)}H[B>>2]=H[m>>2];H[B+4>>2]=H[m+4>>2];H[B+8>>2]=H[m+8>>2];L=H[m+84>>2];break da}a=H[m>>2];if(!a){break da}H[m+4>>2]=a;oa(a)}a=H[m+72>>2];if(a){oa(a)}a=H[m+48>>2];if(a){H[m+52>>2]=a;oa(a)}a=H[m+36>>2];if(a){H[m+40>>2]=a;oa(a)}a=H[m+24>>2];if(a){H[m+28>>2]=a;oa(a)}a=H[m+20>>2];H[m+20>>2]=0;if(a){cb(a)}ca=m+96|0;return L|0}function qg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=b;a=0;b=0;a:{b:{switch(d-1|0){case 0:j=H[i+80>>2];h=I[c+24|0];c:{if((N(j,h)|0)!=(e|0)){break c}d=H[c+28>>2]!=1;b=I[c+84|0];if(!(d|!b)){qa(f,H[H[c>>2]>>2]+H[c+48>>2]|0,e);b=1;break c}if(h){a=pa(h);ra(a,0,h)}d:{if(!j){b=1;break d}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=H[H[c>>2]>>2];m=H[c+48>>2];g=H[c+40>>2];b=Rj(g,H[c+44>>2],I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;qa(i,qa(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break d}if(b){b=1;h=H[c>>2];e=H[c+48>>2];f=H[c+40>>2];i=H[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=H[h>>2];m=Rj(f,i,c,0)+e|0;k=qa(a,k+m|0,f);m=H[h>>2];n=Rj(f,i,c|1,0)+e|0;qa(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break d}c=H[h>>2];d=Rj(g,0,f,i)+e|0;qa(a,c+d|0,f);break d}b=1;h=H[c>>2];e=H[c+48>>2];g=H[c+68>>2];f=H[c+40>>2];i=H[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=H[h>>2];n=c<<2;l=Rj(f,i,H[n+g>>2],0)+e|0;m=qa(a,m+l|0,f);l=H[h>>2];n=Rj(f,i,H[g+(n|4)>>2],0)+e|0;qa(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break d}d=H[h>>2];c=Rj(f,i,H[g+(c<<2)>>2],0)+e|0;qa(a,c+d|0,f);break d}b=0;if(!h){d=0;while(1){if(!ic(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],a)){break d}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break d}d=0;e=0;while(1){if(!ic(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],a)){break d}qa(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break c}oa(a)}break a;case 2:n=I[c+24|0];l=n<<1;j=H[i+80>>2];e:{if((N(l,j)|0)!=(e|0)){break e}i=H[c+28>>2]!=3;d=I[c+84|0];if(!(i|!d)){qa(f,H[H[c>>2]>>2]+H[c+48>>2]|0,e);a=1;break e}f:{if(!n){e=0;break f}e=pa(l);ra(e,0,l)}g:{if(!j){a=1;break g}if(!i){o=H[c+68>>2];k=H[c>>2];b=H[c+48>>2];i=H[c+40>>2];m=H[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=H[k>>2];p=Rj(i,m,H[o+(d<<2)>>2],0)+b|0;qa((c<<1)+f|0,qa(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break g}c=0;while(1){a=1;o=H[k>>2];p=Rj(g,h,i,m)+b|0;qa((c<<1)+f|0,qa(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break g}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=H[k>>2];g=c<<2;n=Rj(i,m,H[g+o>>2],0)+b|0;h=qa(e,h+n|0,i);n=H[k>>2];g=Rj(i,m,H[o+(g|4)>>2],0)+b|0;qa(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break g}d=H[k>>2];b=Rj(i,m,H[o+(c<<2)>>2],0)+b|0;qa(e,b+d|0,i);break g}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=H[k>>2];l=Rj(g,h,i,m)+b|0;d=qa(e,d+l|0,i);l=H[k>>2];o=Rj(i,m,g|1,h)+b|0;qa(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break g}c=H[k>>2];b=Rj(g,h,i,m)+b|0;qa(e,b+c|0,i);break g}if(!n){d=0;while(1){if(!gc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break g}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break g}d=0;while(1){if(!gc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break g}qa((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break e}oa(e)}b=a;break a;case 4:l=I[c+24|0];o=l<<2;j=H[i+80>>2];h:{if((N(o,j)|0)!=(e|0)){break h}i=H[c+28>>2]!=5;d=I[c+84|0];if(!(i|!d)){qa(f,H[H[c>>2]>>2]+H[c+48>>2]|0,e);b=1;break h}i:{if(!l){e=0;break i}e=pa(o);ra(e,0,o)}b=1;j:{if(!j){break j}if(!i){a=H[c+68>>2];m=H[c>>2];i=H[c+48>>2];k=H[c+40>>2];n=H[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=H[m>>2];p=Rj(k,n,H[a+(d<<2)>>2],0)+i|0;qa((c<<2)+f|0,qa(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break j}c=0;while(1){d=H[m>>2];p=Rj(g,h,k,n)+i|0;qa((c<<2)+f|0,qa(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break j}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=H[m>>2];g=c<<2;l=Rj(k,n,H[g+a>>2],0)+i|0;h=qa(e,h+l|0,k);l=H[m>>2];g=Rj(k,n,H[a+(g|4)>>2],0)+i|0;qa(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break j}d=H[m>>2];a=Rj(k,n,H[a+(c<<2)>>2],0)+i|0;qa(e,a+d|0,k);break j}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=H[m>>2];d=Rj(g,h,k,n)+i|0;a=qa(e,a+d|0,k);d=H[m>>2];o=Rj(k,n,g|1,h)+i|0;qa(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break j}a=H[m>>2];c=Rj(g,h,k,n)+i|0;qa(e,a+c|0,k);break j}b=0;if(!l){d=0;while(1){if(!ec(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break j}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break j}d=0;while(1){if(!ec(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break j}qa((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break h}oa(e)}break a;case 1:j=H[i+80>>2];h=I[c+24|0];k:{if((N(j,h)|0)!=(e|0)){break k}d=H[c+28>>2]!=2;b=I[c+84|0];if(!(d|!b)){qa(f,H[H[c>>2]>>2]+H[c+48>>2]|0,e);b=1;break k}if(h){a=pa(h);ra(a,0,h)}l:{if(!j){b=1;break l}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=H[H[c>>2]>>2];m=H[c+48>>2];g=H[c+40>>2];b=Rj(g,H[c+44>>2],I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;qa(i,qa(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break l}if(b){b=1;h=H[c>>2];e=H[c+48>>2];f=H[c+40>>2];i=H[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=H[h>>2];m=Rj(f,i,c,0)+e|0;k=qa(a,k+m|0,f);m=H[h>>2];n=Rj(f,i,c|1,0)+e|0;qa(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break l}c=H[h>>2];d=Rj(g,0,f,i)+e|0;qa(a,c+d|0,f);break l}b=1;h=H[c>>2];e=H[c+48>>2];g=H[c+68>>2];f=H[c+40>>2];i=H[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=H[h>>2];n=c<<2;l=Rj(f,i,H[n+g>>2],0)+e|0;m=qa(a,m+l|0,f);l=H[h>>2];n=Rj(f,i,H[g+(n|4)>>2],0)+e|0;qa(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break l}d=H[h>>2];c=Rj(f,i,H[g+(c<<2)>>2],0)+e|0;qa(a,c+d|0,f);break l}b=0;if(!h){d=0;while(1){if(!hc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],a)){break l}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break l}d=0;e=0;while(1){if(!hc(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],a)){break l}qa(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break k}oa(a)}break a;case 3:n=I[c+24|0];l=n<<1;j=H[i+80>>2];m:{if((N(l,j)|0)!=(e|0)){break m}i=H[c+28>>2]!=4;d=I[c+84|0];if(!(i|!d)){qa(f,H[H[c>>2]>>2]+H[c+48>>2]|0,e);a=1;break m}n:{if(!n){e=0;break n}e=pa(l);ra(e,0,l)}o:{if(!j){a=1;break o}if(!i){o=H[c+68>>2];k=H[c>>2];b=H[c+48>>2];i=H[c+40>>2];m=H[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=H[k>>2];p=Rj(i,m,H[o+(d<<2)>>2],0)+b|0;qa((c<<1)+f|0,qa(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break o}c=0;while(1){a=1;o=H[k>>2];p=Rj(g,h,i,m)+b|0;qa((c<<1)+f|0,qa(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break o}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=H[k>>2];g=c<<2;n=Rj(i,m,H[g+o>>2],0)+b|0;h=qa(e,h+n|0,i);n=H[k>>2];g=Rj(i,m,H[o+(g|4)>>2],0)+b|0;qa(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break o}d=H[k>>2];b=Rj(i,m,H[o+(c<<2)>>2],0)+b|0;qa(e,b+d|0,i);break o}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=H[k>>2];l=Rj(g,h,i,m)+b|0;d=qa(e,d+l|0,i);l=H[k>>2];o=Rj(i,m,g|1,h)+b|0;qa(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break o}c=H[k>>2];b=Rj(g,h,i,m)+b|0;qa(e,b+c|0,i);break o}if(!n){d=0;while(1){if(!fc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break o}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break o}d=0;while(1){if(!fc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break o}qa((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break m}oa(e)}b=a;break a;case 5:l=I[c+24|0];o=l<<2;j=H[i+80>>2];p:{if((N(o,j)|0)!=(e|0)){break p}i=H[c+28>>2]!=6;d=I[c+84|0];if(!(i|!d)){qa(f,H[H[c>>2]>>2]+H[c+48>>2]|0,e);b=1;break p}q:{if(!l){e=0;break q}e=pa(o);ra(e,0,o)}b=1;r:{if(!j){break r}if(!i){a=H[c+68>>2];m=H[c>>2];i=H[c+48>>2];k=H[c+40>>2];n=H[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=H[m>>2];p=Rj(k,n,H[a+(d<<2)>>2],0)+i|0;qa((c<<2)+f|0,qa(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break r}c=0;while(1){d=H[m>>2];p=Rj(g,h,k,n)+i|0;qa((c<<2)+f|0,qa(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break r}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=H[m>>2];g=c<<2;l=Rj(k,n,H[g+a>>2],0)+i|0;h=qa(e,h+l|0,k);l=H[m>>2];g=Rj(k,n,H[a+(g|4)>>2],0)+i|0;qa(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break r}d=H[m>>2];a=Rj(k,n,H[a+(c<<2)>>2],0)+i|0;qa(e,a+d|0,k);break r}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=H[m>>2];d=Rj(g,h,k,n)+i|0;a=qa(e,a+d|0,k);d=H[m>>2];o=Rj(k,n,g|1,h)+i|0;qa(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break r}a=H[m>>2];c=Rj(g,h,k,n)+i|0;qa(e,a+c|0,k);break r}b=0;if(!l){d=0;while(1){if(!dc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break r}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break r}d=0;while(1){if(!dc(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],e)){break r}qa((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break p}oa(e)}break a;case 8:p=I[c+24|0];q=p<<2;k=H[i+80>>2];s:{if((N(q,k)|0)!=(e|0)){break s}i=H[c+28>>2];t:{if(!p){break t}a=pa(q);d=a;m=q-4|0;l=(m>>>2|0)+1&7;if(l){e=0;while(1){H[d>>2]=-1073741824;d=d+4|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(m>>>0<28){break t}e=(p<<2)+a|0;while(1){H[d+24>>2]=-1073741824;H[d+28>>2]=-1073741824;H[d+16>>2]=-1073741824;H[d+20>>2]=-1073741824;H[d+8>>2]=-1073741824;H[d+12>>2]=-1073741824;H[d>>2]=-1073741824;H[d+4>>2]=-1073741824;d=d+32|0;if((e|0)!=(d|0)){continue}break}}u:{if(!k){b=1;break u}if((i|0)==9){r=H[c+68>>2];l=H[c>>2];i=H[c+48>>2];s=I[c+84|0];m=H[c+44>>2];c=H[c+40>>2];o=c;if(p){e=0;d=0;while(1){h=(e<<2)+f|0;g=H[l>>2];b=Rj(c,m,s?d:H[r+(d<<2)>>2],0)+i|0;qa(h,qa(a,b+g|0,o),q);e=e+p|0;b=1;d=d+1|0;if((k|0)!=(d|0)){continue}break}break u}if(!s){b=1;d=0;if((k|0)!=1){f=k&-2;e=0;while(1){h=H[l>>2];g=d<<2;j=Rj(c,m,H[g+r>>2],0)+i|0;h=qa(a,h+j|0,o);j=H[l>>2];g=Rj(c,m,H[r+(g|4)>>2],0)+i|0;qa(h,j+g|0,o);d=d+2|0;e=e+2|0;if((f|0)!=(e|0)){continue}break}}if(!(k&1)){break u}e=H[l>>2];c=Rj(c,m,H[r+(d<<2)>>2],0)+i|0;qa(a,c+e|0,o);break u}f=k&1;b=1;if((k|0)!=1){k=k&-2;while(1){d=H[l>>2];e=Rj(g,h,c,m)+i|0;d=qa(a,d+e|0,o);e=H[l>>2];p=Rj(c,m,g|1,h)+i|0;qa(d,e+p|0,o);g=g+2|0;h=g>>>0<2?h+1|0:h;d=j;e=n+2|0;d=e>>>0<2?d+1|0:d;n=e;j=d;if((e|0)!=(k|0)|d){continue}break}}if(!f){break u}d=H[l>>2];c=Rj(g,h,c,m)+i|0;qa(a,c+d|0,o);break u}if(!p){d=0;while(1){if(!Va(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],a)){break u}d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}break u}e=0;d=0;while(1){if(!Va(c,I[c+84|0]?d:H[H[c+68>>2]+(d<<2)>>2],F[c+24|0],a)){break u}qa((e<<2)+f|0,a,q);e=e+p|0;d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}}if(!a){break s}oa(a)}a=b;break;default:break b}}b=a}return b|0}function ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=ca-48|0;ca=i;a:{b:{if((c|0)!=1){break b}c=H[a+4>>2];g=H[a+12>>2];H[i+40>>2]=0;a=i;H[a+32>>2]=0;H[a+36>>2]=0;H[a+24>>2]=0;H[a+28>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0;e=a+8|0;c:{if((b|0)==-2){break c}l=H[H[H[c+4>>2]+8>>2]+(g<<2)>>2];if((ea[H[H[c>>2]+8>>2]](c)|0)==1){a=J[c+36>>1];j=(a<<8|a>>>8)&65535;a=0;h=ca-32|0;ca=h;d=H[H[H[c+4>>2]+8>>2]+(g<<2)>>2];d:{if((ea[H[H[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break d}k=ea[H[H[c>>2]+36>>2]](c)|0;f=ea[H[H[c>>2]+44>>2]](c,g)|0;if(!k|!f){break d}a=ea[H[H[c>>2]+40>>2]](c,g)|0;if(a){c=H[c+44>>2];H[h+12>>2]=a;H[h+8>>2]=c;H[h+20>>2]=f;H[h+16>>2]=f+12;c=h+8|0;a=0;e:{f:{switch(b-1|0){case 0:a=pa(60);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a>>2]=2564;break e;case 1:a=pa(60);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a>>2]=3328;break e;case 3:a=pa(112);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a+60>>2]=0;H[a+64>>2]=0;H[a>>2]=3564;H[a+68>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+88>>2]=0;H[a+92>>2]=0;H[a+96>>2]=0;H[a+100>>2]=0;H[a+104>>2]=0;H[a+108>>2]=0;break e;case 2:a=pa(92);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a+60>>2]=0;H[a+64>>2]=0;H[a>>2]=3812;H[a+68>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+88>>2]=j;break e;case 4:a=pa(104);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a+84>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+60>>2]=0;H[a+64>>2]=0;H[a>>2]=4040;b=H[c+4>>2];H[a+88>>2]=H[c>>2];H[a+92>>2]=b;b=H[c+12>>2];H[a+96>>2]=H[c+8>>2];H[a+100>>2]=b;break e;case 5:break f;default:break e}}a=pa(128);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;g:{b=H[e+28>>2];d=H[e+24>>2];if((b|0)!=(d|0)){d=b-d|0;if((d|0)<0){break a}b=pa(d);H[a+36>>2]=b;H[a+32>>2]=b;H[a+40>>2]=(d&-4)+b;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}H[a+36>>2]=b}H[a>>2]=3216;b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;b=a- -64|0;H[b>>2]=0;H[b+4>>2]=0;H[a+60>>2]=4904;H[a>>2]=4276;b=H[c+4>>2];H[a+72>>2]=H[c>>2];H[a+76>>2]=b;b=H[c+12>>2];H[a+80>>2]=H[c+8>>2];H[a+84>>2]=b;H[a+104>>2]=1065353216;H[a+108>>2]=-1;H[a+96>>2]=-1;H[a+100>>2]=-1;H[a+88>>2]=1;H[a+92>>2]=-1;H[a+60>>2]=4512;H[a+112>>2]=0;H[a+116>>2]=0;F[a+117|0]=0;F[a+118|0]=0;F[a+119|0]=0;F[a+120|0]=0;F[a+121|0]=0;F[a+122|0]=0;F[a+123|0]=0;F[a+124|0]=0;break g}}break d}a=H[c+44>>2];H[h+12>>2]=k;H[h+8>>2]=a;H[h+20>>2]=f;H[h+16>>2]=f+12;c=h+8|0;a=0;h:{i:{switch(b-1|0){case 0:a=pa(60);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a>>2]=4932;break h;case 1:a=pa(60);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a>>2]=5356;break h;case 3:a=pa(112);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a+60>>2]=0;H[a+64>>2]=0;H[a>>2]=5580;H[a+68>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+88>>2]=0;H[a+92>>2]=0;H[a+96>>2]=0;H[a+100>>2]=0;H[a+104>>2]=0;H[a+108>>2]=0;break h;case 2:a=pa(92);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a+60>>2]=0;H[a+64>>2]=0;H[a>>2]=5816;H[a+68>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+88>>2]=j;break h;case 4:a=pa(104);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=pa(g);H[a+32>>2]=b;H[a+40>>2]=(g&-4)+b;while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}H[a+36>>2]=b}b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;H[a+84>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+60>>2]=0;H[a+64>>2]=0;H[a>>2]=6032;b=H[c+4>>2];H[a+88>>2]=H[c>>2];H[a+92>>2]=b;b=H[c+12>>2];H[a+96>>2]=H[c+8>>2];H[a+100>>2]=b;break h;case 5:break i;default:break h}}a=pa(128);H[a+4>>2]=d;H[a>>2]=3272;b=H[e+4>>2];H[a+8>>2]=H[e>>2];H[a+12>>2]=b;b=H[e+12>>2];H[a+16>>2]=H[e+8>>2];H[a+20>>2]=b;b=H[e+20>>2];H[a+24>>2]=H[e+16>>2];H[a+28>>2]=b;H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;j:{b=H[e+28>>2];d=H[e+24>>2];if((b|0)!=(d|0)){d=b-d|0;if((d|0)<0){break a}b=pa(d);H[a+36>>2]=b;H[a+32>>2]=b;H[a+40>>2]=(d&-4)+b;d=H[e+24>>2];f=H[e+28>>2];if((d|0)!=(f|0)){while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}H[a+36>>2]=b}H[a>>2]=5300;b=H[c+4>>2];H[a+44>>2]=H[c>>2];H[a+48>>2]=b;b=H[c+12>>2];H[a+52>>2]=H[c+8>>2];H[a+56>>2]=b;b=a- -64|0;H[b>>2]=0;H[b+4>>2]=0;H[a+60>>2]=6840;H[a>>2]=6256;b=H[c+4>>2];H[a+72>>2]=H[c>>2];H[a+76>>2]=b;b=H[c+12>>2];H[a+80>>2]=H[c+8>>2];H[a+84>>2]=b;H[a+104>>2]=1065353216;H[a+108>>2]=-1;H[a+96>>2]=-1;H[a+100>>2]=-1;H[a+88>>2]=1;H[a+92>>2]=-1;H[a+60>>2]=6476;H[a+112>>2]=0;H[a+116>>2]=0;F[a+117|0]=0;F[a+118|0]=0;F[a+119|0]=0;F[a+120|0]=0;F[a+121|0]=0;F[a+122|0]=0;F[a+123|0]=0;F[a+124|0]=0;break j}}}ca=h+32|0;d=a;if(a){break c}}d=pa(44);H[d+4>>2]=l;H[d>>2]=3272;a=H[e+4>>2];H[d+8>>2]=H[e>>2];H[d+12>>2]=a;a=H[e+12>>2];H[d+16>>2]=H[e+8>>2];H[d+20>>2]=a;a=H[e+20>>2];H[d+24>>2]=H[e+16>>2];H[d+28>>2]=a;H[d+40>>2]=0;H[d+32>>2]=0;H[d+36>>2]=0;c=H[e+24>>2];a=H[e+28>>2];if((c|0)!=(a|0)){b=a-c|0;if((b|0)<0){break a}e=pa(b);H[d+32>>2]=e;H[d+40>>2]=(b&-4)+e;while(1){H[e>>2]=H[c>>2];e=e+4|0;c=c+4|0;if((a|0)!=(c|0)){continue}break}H[d+36>>2]=e}H[d>>2]=6868;break c}e=d;a=H[i+32>>2];if(!a){break b}H[i+36>>2]=a;oa(a)}ca=i+48|0;return e|0}sa();v()}function Ec(a){a=a|0;var 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;l=ca-16|0;ca=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(a>>>0<=244){g=H[4298];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+17232|0;d=H[a+17240>>2];a=H[d+8>>2];j:{if((b|0)==(a|0)){m=17192,n=Vj(c)&g,H[m>>2]=n;break j}H[a+12>>2]=b;H[b+8>>2]=a}a=d+8|0;b=c<<3;H[d+4>>2]=b|3;b=b+d|0;H[b+4>>2]=H[b+4>>2]|1;break a}k=H[4300];if(k>>>0>=h>>>0){break i}if(b){a=2<>2];a=H[e+8>>2];k:{if((b|0)==(a|0)){g=Vj(d)&g;H[4298]=g;break k}H[a+12>>2]=b;H[b+8>>2]=a}H[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;H[c+4>>2]=d|1;H[a+e>>2]=d;if(k){b=(k&-8)+17232|0;f=H[4303];a=1<<(k>>>3);l:{if(!(a&g)){H[4298]=a|g;a=b;break l}a=H[b+8>>2]}H[b+8>>2]=f;H[a+12>>2]=f;H[f+12>>2]=b;H[f+8>>2]=a}a=e+8|0;H[4303]=c;H[4300]=d;break a}j=H[4299];if(!j){break i}c=H[(Qj(0-j&j)<<2)+17496>>2];f=(H[c+4>>2]&-8)-h|0;b=c;while(1){m:{a=H[b+16>>2];if(!a){a=H[b+20>>2];if(!a){break m}}b=(H[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=H[c+24>>2];d=H[c+12>>2];if((d|0)!=(c|0)){a=H[c+8>>2];H[a+12>>2]=d;H[d+8>>2]=a;break b}b=c+20|0;a=H[b>>2];if(!a){a=H[c+16>>2];if(!a){break h}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=H[b>>2];if(a){continue}b=d+16|0;a=H[d+16>>2];if(a){continue}break}H[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break i}a=a+11|0;h=a&-8;j=H[4299];if(!j){break i}f=0-h|0;g=0;n:{if(h>>>0<256){break n}g=31;if(h>>>0>16777215){break n}a=Q(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=H[(g<<2)+17496>>2];o:{p:{q:{if(!b){a=0;break q}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){r:{e=(H[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break r}d=b;f=e;if(e){break r}f=0;a=b;break p}e=H[b+20>>2];b=H[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break o}}while(1){b=(H[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=H[a+16>>2];if(b){a=b}else{a=H[a+20>>2]}if(a){continue}break}}if(!d|H[4300]-h>>>0<=f>>>0){break i}g=H[d+24>>2];c=H[d+12>>2];if((d|0)!=(c|0)){a=H[d+8>>2];H[a+12>>2]=c;H[c+8>>2]=a;break c}b=d+20|0;a=H[b>>2];if(!a){a=H[d+16>>2];if(!a){break g}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=H[b>>2];if(a){continue}b=c+16|0;a=H[c+16>>2];if(a){continue}break}H[e>>2]=0;break c}a=H[4300];if(a>>>0>=h>>>0){d=H[4303];b=a-h|0;s:{if(b>>>0>=16){c=d+h|0;H[c+4>>2]=b|1;H[a+d>>2]=b;H[d+4>>2]=h|3;break s}H[d+4>>2]=a|3;a=a+d|0;H[a+4>>2]=H[a+4>>2]|1;c=0;b=0}H[4300]=b;H[4303]=c;a=d+8|0;break a}i=H[4301];if(i>>>0>h>>>0){b=i-h|0;H[4301]=b;c=H[4304];a=c+h|0;H[4304]=a;H[a+4>>2]=b|1;H[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(H[4416]){c=H[4418]}else{H[4419]=-1;H[4420]=-1;H[4417]=4096;H[4418]=4096;H[4416]=l+12&-16^1431655768;H[4421]=0;H[4409]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=H[4408];if(d){c=H[4406];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}t:{if(!(I[17636]&4)){u:{v:{w:{x:{d=H[4304];if(d){a=17640;while(1){c=H[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break x}a=H[a+8>>2];if(a){continue}break}}c=zb(0);if((c|0)==-1){break u}g=b;d=H[4417];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break u}d=H[4408];if(d){a=H[4406];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break u}}a=zb(g);if((c|0)!=(a|0)){break w}break t}g=f&e-i;c=zb(g);if((c|0)==(H[a>>2]+H[a+4>>2]|0)){break v}a=c}if((a|0)==-1){break u}if(h+48>>>0<=g>>>0){c=a;break t}c=H[4418];c=c+(j-g|0)&0-c;if((zb(c)|0)==-1){break u}g=c+g|0;c=a;break t}if((c|0)!=-1){break t}}H[4409]=H[4409]|4}c=zb(b);a=zb(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}g=a-c|0;if(g>>>0<=h+40>>>0){break d}}a=H[4406]+g|0;H[4406]=a;if(a>>>0>K[4407]){H[4407]=a}y:{e=H[4304];if(e){a=17640;while(1){d=H[a>>2];b=H[a+4>>2];if((d+b|0)==(c|0)){break y}a=H[a+8>>2];if(a){continue}break}break f}a=H[4302];if(!(a>>>0<=c>>>0?a:0)){H[4302]=c}a=0;H[4411]=g;H[4410]=c;H[4306]=-1;H[4307]=H[4416];H[4413]=0;while(1){d=a<<3;b=d+17232|0;H[d+17240>>2]=b;H[d+17244>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;H[4301]=b;a=a+c|0;H[4304]=a;H[a+4>>2]=b|1;H[(c+d|0)+4>>2]=40;H[4305]=H[4420];break e}if(I[a+12|0]&8|d>>>0>e>>>0|c>>>0<=e>>>0){break f}H[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;H[4304]=c;b=H[4301]+g|0;a=b-a|0;H[4301]=a;H[c+4>>2]=a|1;H[(b+e|0)+4>>2]=40;H[4305]=H[4420];break e}d=0;break b}c=0;break c}if(K[4302]>c>>>0){H[4302]=c}b=c+g|0;a=17640;z:{A:{B:{C:{D:{E:{while(1){if((b|0)!=H[a>>2]){a=H[a+8>>2];if(a){continue}break E}break}if(!(I[a+12|0]&8)){break D}}a=17640;while(1){b=H[a>>2];if(b>>>0<=e>>>0){f=b+H[a+4>>2]|0;if(f>>>0>e>>>0){break C}}a=H[a+8>>2];continue}}H[a>>2]=c;H[a+4>>2]=H[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;H[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){H[4304]=i;a=H[4301]+a|0;H[4301]=a;H[i+4>>2]=a|1;break A}if(H[4303]==(g|0)){H[4303]=i;a=H[4300]+a|0;H[4300]=a;H[i+4>>2]=a|1;H[a+i>>2]=a;break A}f=H[g+4>>2];if((f&3)==1){e=f&-8;F:{if(f>>>0<=255){d=H[g+8>>2];b=f>>>3|0;c=H[g+12>>2];if((c|0)==(d|0)){m=17192,n=H[4298]&Vj(b),H[m>>2]=n;break F}H[d+12>>2]=c;H[c+8>>2]=d;break F}h=H[g+24>>2];c=H[g+12>>2];G:{if((g|0)!=(c|0)){b=H[g+8>>2];H[b+12>>2]=c;H[c+8>>2]=b;break G}H:{f=g+20|0;b=H[f>>2];if(b){break H}f=g+16|0;b=H[f>>2];if(b){break H}c=0;break G}while(1){d=f;c=b;f=c+20|0;b=H[f>>2];if(b){continue}f=c+16|0;b=H[c+16>>2];if(b){continue}break}H[d>>2]=0}if(!h){break F}d=H[g+28>>2];b=(d<<2)+17496|0;I:{if(H[b>>2]==(g|0)){H[b>>2]=c;if(c){break I}m=17196,n=H[4299]&Vj(d),H[m>>2]=n;break F}H[h+(H[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break F}}H[c+24>>2]=h;b=H[g+16>>2];if(b){H[c+16>>2]=b;H[b+24>>2]=c}b=H[g+20>>2];if(!b){break F}H[c+20>>2]=b;H[b+24>>2]=c}g=e+g|0;f=H[g+4>>2];a=a+e|0}H[g+4>>2]=f&-2;H[i+4>>2]=a|1;H[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+17232|0;c=H[4298];a=1<<(a>>>3);J:{if(!(c&a)){H[4298]=a|c;a=b;break J}a=H[b+8>>2]}H[b+8>>2]=i;H[a+12>>2]=i;H[i+12>>2]=b;H[i+8>>2]=a;break A}f=31;if(a>>>0<=16777215){b=Q(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}H[i+28>>2]=f;H[i+16>>2]=0;H[i+20>>2]=0;b=(f<<2)+17496|0;d=H[4299];c=1<>2]=i;break K}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=H[b>>2];while(1){b=c;if((H[c+4>>2]&-8)==(a|0)){break B}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=H[d+16>>2];if(c){continue}break}H[d+16>>2]=i}H[i+24>>2]=b;H[i+12>>2]=i;H[i+8>>2]=i;break A}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;H[4301]=b;a=a+c|0;H[4304]=a;H[a+4>>2]=b|1;H[(c+d|0)+4>>2]=40;H[4305]=H[4420];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;H[d+4>>2]=27;a=H[4413];H[d+16>>2]=H[4412];H[d+20>>2]=a;a=H[4411];H[d+8>>2]=H[4410];H[d+12>>2]=a;H[4412]=d+8;H[4411]=g;H[4410]=c;H[4413]=0;a=d+24|0;while(1){H[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break e}H[d+4>>2]=H[d+4>>2]&-2;f=d-e|0;H[e+4>>2]=f|1;H[d>>2]=f;if(f>>>0<=255){b=(f&-8)+17232|0;c=H[4298];a=1<<(f>>>3);L:{if(!(c&a)){H[4298]=a|c;a=b;break L}a=H[b+8>>2]}H[b+8>>2]=e;H[a+12>>2]=e;H[e+12>>2]=b;H[e+8>>2]=a;break e}a=31;if(f>>>0<=16777215){a=Q(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}H[e+28>>2]=a;H[e+16>>2]=0;H[e+20>>2]=0;b=(a<<2)+17496|0;d=H[4299];c=1<>2]=e;break M}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=H[b>>2];while(1){b=d;if((f|0)==(H[b+4>>2]&-8)){break z}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=H[c+16>>2];if(d){continue}break}H[c+16>>2]=e}H[e+24>>2]=b;H[e+12>>2]=e;H[e+8>>2]=e;break e}a=H[b+8>>2];H[a+12>>2]=i;H[b+8>>2]=i;H[i+24>>2]=0;H[i+12>>2]=b;H[i+8>>2]=a}a=j+8|0;break a}a=H[b+8>>2];H[a+12>>2]=e;H[b+8>>2]=e;H[e+24>>2]=0;H[e+12>>2]=b;H[e+8>>2]=a}a=H[4301];if(a>>>0<=h>>>0){break d}b=a-h|0;H[4301]=b;c=H[4304];a=c+h|0;H[4304]=a;H[a+4>>2]=b|1;H[c+4>>2]=h|3;a=c+8|0;break a}H[3992]=48;a=0;break a}N:{if(!g){break N}b=H[d+28>>2];a=(b<<2)+17496|0;O:{if(H[a>>2]==(d|0)){H[a>>2]=c;if(c){break O}j=Vj(b)&j;H[4299]=j;break N}H[g+(H[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break N}}H[c+24>>2]=g;a=H[d+16>>2];if(a){H[c+16>>2]=a;H[a+24>>2]=c}a=H[d+20>>2];if(!a){break N}H[c+20>>2]=a;H[a+24>>2]=c}P:{if(f>>>0<=15){a=f+h|0;H[d+4>>2]=a|3;a=a+d|0;H[a+4>>2]=H[a+4>>2]|1;break P}H[d+4>>2]=h|3;e=d+h|0;H[e+4>>2]=f|1;H[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+17232|0;c=H[4298];a=1<<(f>>>3);Q:{if(!(c&a)){H[4298]=a|c;a=b;break Q}a=H[b+8>>2]}H[b+8>>2]=e;H[a+12>>2]=e;H[e+12>>2]=b;H[e+8>>2]=a;break P}a=31;if(f>>>0<=16777215){a=Q(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}H[e+28>>2]=a;H[e+16>>2]=0;H[e+20>>2]=0;b=(a<<2)+17496|0;R:{c=1<>2]=e;break S}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=H[b>>2];while(1){b=h;if((H[b+4>>2]&-8)==(f|0)){break R}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=H[c+16>>2];if(h){continue}break}H[c+16>>2]=e}H[e+24>>2]=b;H[e+12>>2]=e;H[e+8>>2]=e;break P}a=H[b+8>>2];H[a+12>>2]=e;H[b+8>>2]=e;H[e+24>>2]=0;H[e+12>>2]=b;H[e+8>>2]=a}a=d+8|0;break a}T:{if(!i){break T}b=H[c+28>>2];a=(b<<2)+17496|0;U:{if(H[a>>2]==(c|0)){H[a>>2]=d;if(d){break U}m=17196,n=Vj(b)&j,H[m>>2]=n;break T}H[i+(H[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break T}}H[d+24>>2]=i;a=H[c+16>>2];if(a){H[d+16>>2]=a;H[a+24>>2]=d}a=H[c+20>>2];if(!a){break T}H[d+20>>2]=a;H[a+24>>2]=d}V:{if(f>>>0<=15){a=f+h|0;H[c+4>>2]=a|3;a=a+c|0;H[a+4>>2]=H[a+4>>2]|1;break V}H[c+4>>2]=h|3;d=c+h|0;H[d+4>>2]=f|1;H[d+f>>2]=f;if(k){b=(k&-8)+17232|0;e=H[4303];a=1<<(k>>>3);W:{if(!(a&g)){H[4298]=a|g;a=b;break W}a=H[b+8>>2]}H[b+8>>2]=e;H[a+12>>2]=e;H[e+12>>2]=b;H[e+8>>2]=a}H[4303]=d;H[4300]=f}a=c+8|0}ca=l+16|0;return a|0}function ce(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;m=ca-32|0;ca=m;o=pa(12);H[o+8>>2]=0;H[o+4>>2]=b;H[o>>2]=0;s=o+12|0;b=s;a:{b:{c:{while(1){b=b-12|0;w=H[b+8>>2];j=H[b+4>>2];t=H[b>>2];if(t){if((w|0)>1e3){break a}H[m+24>>2]=0;H[m+16>>2]=0;H[m+20>>2]=0;d=1;c=H[a>>2];e=H[c+8>>2];h=H[c+12>>2];g=H[c+20>>2];f=H[c+16>>2];d:{if((h|0)<=(g|0)&f>>>0>=e>>>0|(g|0)>(h|0)){break d}e=I[f+H[c>>2]|0];h=c;c=g;f=f+1|0;c=f?c:c+1|0;H[h+16>>2]=f;H[h+20>>2]=c;Cc(m+16|0,e);if(e){c=H[a>>2];n=Dc(m+16|0);p=H[c+8>>2];g=H[c+12>>2];h=H[c+20>>2];f=H[c+16>>2];k=f+e|0;h=k>>>0>>0?h+1|0:h;if((g|0)<=(h|0)&k>>>0>p>>>0|(g|0)<(h|0)){break d}qa(n,f+H[c>>2]|0,e);d=H[c+20>>2];f=e;e=e+H[c+16>>2]|0;d=f>>>0>e>>>0?d+1|0:d;H[c+16>>2]=e;H[c+20>>2]=d}j=pa(24);c=j;H[c+4>>2]=0;H[c+8>>2]=0;c=c+16|0;H[c>>2]=0;H[c+4>>2]=0;H[j>>2]=j+4;H[j+12>>2]=c;e=ca-32|0;ca=e;h=t+12|0;c=m+16|0;u=nb(h,c);i=t+16|0;e:{if((u|0)==(i|0)){H[e+16>>2]=c;f:{g:{d=H[h+4>>2];h:{if(!d){f=h+4|0;c=f;break h}f=I[c+11|0];g=f<<24>>24<0;n=g?H[c>>2]:c;g=g?H[c+4>>2]:f;while(1){c=d;d=I[c+27|0];f=d<<24>>24<0;d=f?H[c+20>>2]:d;p=d>>>0>>0;i:{j:{k:{l:{k=p?d:g;m:{if(k){f=f?H[c+16>>2]:c+16|0;q=Fa(n,f,k);if(!q){if(d>>>0>g>>>0){break m}break l}if((q|0)>=0){break l}break m}if(d>>>0<=g>>>0){break k}}f=c;d=H[c>>2];if(d){continue}break h}d=Fa(f,n,k);if(d){break j}}if(p){break i}break g}if((d|0)>=0){break g}}d=H[c+4>>2];if(d){continue}break}f=c+4|0}d=pa(32);n=d+16|0;g=H[e+16>>2];n:{if(F[g+11|0]>=0){p=H[g+4>>2];H[n>>2]=H[g>>2];H[n+4>>2]=p;H[n+8>>2]=H[g+8>>2];break n}za(n,H[g>>2],H[g+4>>2])}H[d+8>>2]=c;H[d>>2]=0;H[d+4>>2]=0;H[d+28>>2]=0;H[f>>2]=d;c=d;g=H[H[h>>2]>>2];if(g){H[h>>2]=g;c=H[f>>2]}Sb(H[h+4>>2],c);H[h+8>>2]=H[h+8>>2]+1;c=1;break f}d=c;c=0}F[e+28|0]=c;H[e+24>>2]=d;d=H[e+24>>2];c=H[d+28>>2];H[d+28>>2]=j;if(!c){break e}Ra(c+12|0,H[c+16>>2]);Qa(c,H[c+4>>2]);oa(c);break e}if(!j){break e}Ra(j+12|0,H[j+16>>2]);Qa(j,H[j+4>>2]);oa(j)}ca=e+32|0;d=(i|0)!=(u|0)}if(F[m+27|0]<0){oa(H[m+16>>2])}if(d){break a}}if(!j){break a}H[m+16>>2]=0;if(!Bb(1,m+16|0,H[a>>2])){break a}q=0;x=H[m+16>>2];if(x){while(1){d=0;i=ca-32|0;ca=i;H[i+24>>2]=0;H[i+16>>2]=0;H[i+20>>2]=0;c=H[a>>2];f=H[c+8>>2];o:{p:{h=H[c+12>>2];g=H[c+20>>2];e=H[c+16>>2];q:{if((h|0)<=(g|0)&e>>>0>=f>>>0|(g|0)>(h|0)){break q}f=I[e+H[c>>2]|0];h=c;c=g;e=e+1|0;c=e?c:c+1|0;H[h+16>>2]=e;H[h+20>>2]=c;Cc(i+16|0,f);if(f){e=H[a>>2];n=Dc(i+16|0);p=H[e+8>>2];g=H[e+12>>2];c=H[e+20>>2];h=H[e+16>>2];k=h+f|0;c=k>>>0>>0?c+1|0:c;if(k>>>0>p>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break q}qa(n,h+H[e>>2]|0,f);c=H[e+20>>2];g=f;f=f+H[e+16>>2]|0;c=g>>>0>f>>>0?c+1|0:c;H[e+16>>2]=f;H[e+20>>2]=c}H[i+12>>2]=0;if(!Bb(1,i+12|0,H[a>>2])){break q}f=H[i+12>>2];if(!f){break q}e=H[a>>2];c=H[e+8>>2];h=H[e+16>>2];g=c-h|0;c=H[e+12>>2]-(H[e+20>>2]+(c>>>0>>0)|0)|0;if((c|0)<=0&f>>>0>g>>>0|(c|0)<0){break q}H[i+8>>2]=0;H[i>>2]=0;H[i+4>>2]=0;if((f|0)<0){break p}d=pa(f);H[i>>2]=d;c=d+f|0;H[i+8>>2]=c;l=ra(d,0,f);H[i+4>>2]=c;h=H[e+12>>2];y=h;p=H[e+8>>2];c=H[e+20>>2];k=H[e+16>>2];g=f+k|0;c=g>>>0>>0?c+1|0:c;u=g;n=c;r:{if((c|0)<=(h|0)&g>>>0<=p>>>0|(c|0)<(h|0)){qa(l,H[e>>2]+k|0,f);d=H[e+20>>2];c=f+H[e+16>>2]|0;d=c>>>0>>0?d+1|0:d;H[e+16>>2]=c;H[e+20>>2]=d;h=ca-48|0;ca=h;e=nb(j,i+16|0);if((e|0)!=(j+4|0)){c=H[e+4>>2];s:{if(!c){c=e;while(1){d=H[c+8>>2];f=H[d>>2]!=(c|0);c=d;if(f){continue}break}break s}while(1){d=c;c=H[c>>2];if(c){continue}break}}if((e|0)==H[j>>2]){H[j>>2]=d}H[j+8>>2]=H[j+8>>2]-1;f=H[j+4>>2];t:{u:{g=e;d=e;e=H[d>>2];if(e){c=H[g+4>>2];if(!c){break u}while(1){d=c;c=H[c>>2];if(c){continue}break}}e=H[d+4>>2];if(e){break u}e=0;k=1;break t}H[e+8>>2]=H[d+8>>2];k=0}l=H[d+8>>2];c=H[l>>2];v:{if((d|0)==(c|0)){H[l>>2]=e;if((d|0)==(f|0)){c=0;f=e;break v}c=H[l+4>>2];break v}H[l+4>>2]=e}r=!I[d+12|0];if((d|0)!=(g|0)){l=H[g+8>>2];H[d+8>>2]=l;H[l+(((g|0)!=H[H[g+8>>2]>>2])<<2)>>2]=d;l=H[g>>2];H[d>>2]=l;H[l+8>>2]=d;l=H[g+4>>2];H[d+4>>2]=l;if(l){H[l+8>>2]=d}F[d+12|0]=I[g+12|0];f=(f|0)==(g|0)?d:f}w:{if(r|!f){break w}if(k){while(1){e=I[c+12|0];x:{d=H[c+8>>2];if(H[d>>2]!=(c|0)){if(!e){F[c+12|0]=1;F[d+12|0]=0;e=H[d+4>>2];k=H[e>>2];H[d+4>>2]=k;if(k){H[k+8>>2]=d}H[e+8>>2]=H[d+8>>2];k=H[d+8>>2];H[(((d|0)!=H[k>>2])<<2)+k>>2]=e;H[e>>2]=d;H[d+8>>2]=e;d=c;c=H[c>>2];f=(c|0)==(f|0)?d:f;c=H[c+4>>2]}y:{z:{d=H[c>>2];A:{if(!(I[d+12|0]?0:d)){e=H[c+4>>2];if(I[e+12|0]?0:e){break A}F[c+12|0]=0;c=H[c+8>>2];B:{if((f|0)==(c|0)){c=f;break B}if(I[c+12|0]){break x}}F[c+12|0]=1;break w}e=H[c+4>>2];if(!e){break z}}if(I[e+12|0]){break z}d=c;break y}F[d+12|0]=1;F[c+12|0]=0;e=H[d+4>>2];H[c>>2]=e;if(e){H[e+8>>2]=c}H[d+8>>2]=H[c+8>>2];e=H[c+8>>2];H[((H[e>>2]!=(c|0))<<2)+e>>2]=d;H[d+4>>2]=c;H[c+8>>2]=d;e=c}c=H[d+8>>2];F[d+12|0]=I[c+12|0];F[c+12|0]=1;F[e+12|0]=1;d=H[c+4>>2];e=H[d>>2];H[c+4>>2]=e;if(e){H[e+8>>2]=c}H[d+8>>2]=H[c+8>>2];e=H[c+8>>2];H[(((c|0)!=H[e>>2])<<2)+e>>2]=d;H[d>>2]=c;H[c+8>>2]=d;break w}if(!e){F[c+12|0]=1;F[d+12|0]=0;e=H[c+4>>2];H[d>>2]=e;if(e){H[e+8>>2]=d}H[c+8>>2]=H[d+8>>2];e=H[d+8>>2];H[(((d|0)!=H[e>>2])<<2)+e>>2]=c;H[c+4>>2]=d;H[d+8>>2]=c;f=(d|0)==(f|0)?c:f;c=H[d>>2]}e=H[c>>2];C:{if(!(!e|I[e+12|0])){d=c;break C}d=H[c+4>>2];if(!(I[d+12|0]?0:d)){F[c+12|0]=0;c=H[c+8>>2];if((c|0)!=(f|0)?I[c+12|0]:0){break x}F[c+12|0]=1;break w}if(e){if(!I[e+12|0]){d=c;break C}d=H[c+4>>2]}F[d+12|0]=1;F[c+12|0]=0;e=H[d>>2];H[c+4>>2]=e;if(e){H[e+8>>2]=c}H[d+8>>2]=H[c+8>>2];e=H[c+8>>2];H[((H[e>>2]!=(c|0))<<2)+e>>2]=d;H[d>>2]=c;H[c+8>>2]=d;e=c}c=H[d+8>>2];F[d+12|0]=I[c+12|0];F[c+12|0]=1;F[e+12|0]=1;d=H[c>>2];e=H[d+4>>2];H[c>>2]=e;if(e){H[e+8>>2]=c}H[d+8>>2]=H[c+8>>2];e=H[c+8>>2];H[(((c|0)!=H[e>>2])<<2)+e>>2]=d;H[d+4>>2]=c;H[c+8>>2]=d;break w}d=c;c=H[c+8>>2];c=H[(((d|0)==H[c>>2])<<2)+c>>2];continue}}F[e+12|0]=1}c=H[g+28>>2];if(c){H[g+32>>2]=c;oa(c)}if(F[g+27|0]<0){oa(H[g+16>>2])}oa(g)}H[h+8>>2]=0;H[h>>2]=0;H[h+4>>2]=0;c=H[i+4>>2];d=H[i>>2];f=c-d|0;e=0;D:{E:{if((c|0)!=(d|0)){if((f|0)<0){break E}e=pa(f);c=ra(e,0,f);g=c+f|0;H[h+8>>2]=g;H[h+4>>2]=g;H[h>>2]=c;c=d}qa(e,c,f);F:{if(F[i+27|0]>=0){H[h+24>>2]=H[i+24>>2];c=H[i+20>>2];H[h+16>>2]=H[i+16>>2];H[h+20>>2]=c;break F}za(h+16|0,H[i+16>>2],H[i+20>>2])}ae(h+28|0,h);f=h+16|0;c=f;G:{H:{d=H[j+4>>2];I:{if(!d){e=j+4|0;c=e;break I}e=I[c+11|0];g=e<<24>>24<0;k=g?H[c>>2]:c;g=g?H[c+4>>2]:e;while(1){c=d;d=I[c+27|0];e=d<<24>>24<0;d=e?H[c+20>>2]:d;l=d>>>0>>0;J:{K:{L:{M:{r=l?d:g;N:{if(r){e=e?H[c+16>>2]:c+16|0;z=Fa(k,e,r);if(!z){if(d>>>0>g>>>0){break N}break M}if((z|0)>=0){break M}break N}if(d>>>0<=g>>>0){break L}}e=c;d=H[c>>2];if(d){continue}break I}d=Fa(e,k,r);if(d){break K}}if(l){break J}break H}if((d|0)>=0){break H}}d=H[c+4>>2];if(d){continue}break}e=c+4|0}d=pa(40);H[d+24>>2]=H[f+8>>2];g=H[f+4>>2];H[d+16>>2]=H[f>>2];H[d+20>>2]=g;H[f>>2]=0;H[f+4>>2]=0;H[f+8>>2]=0;ae(d+28|0,f+12|0);H[d+8>>2]=c;H[d>>2]=0;H[d+4>>2]=0;H[e>>2]=d;c=d;f=H[H[j>>2]>>2];if(f){H[j>>2]=f;c=H[e>>2]}Sb(H[j+4>>2],c);H[j+8>>2]=H[j+8>>2]+1;c=1;break G}d=c;c=0}F[h+44|0]=c;H[h+40>>2]=d;c=H[h+28>>2];if(c){H[h+32>>2]=c;oa(c)}if(F[h+27|0]<0){oa(H[h+16>>2])}c=H[h>>2];if(c){H[h+4>>2]=c;oa(c)}ca=h+48|0;break D}sa();v()}d=H[i>>2];if(!d){break r}}H[i+4>>2]=d;oa(d)}d=(n|0)<=(y|0)&p>>>0>=u>>>0|(n|0)<(y|0)}if(F[i+27|0]<0){oa(H[i+16>>2])}ca=i+32|0;break o}sa();v()}if(!d){break a}q=q+1|0;if((x|0)!=(q|0)){continue}break}}H[m+12>>2]=0;if(!Bb(1,m+12|0,H[a>>2])){break a}c=H[a>>2];e=H[c+8>>2];f=H[c+16>>2];h=e-f|0;d=H[m+12>>2];c=H[c+12>>2]-(H[c+20>>2]+(e>>>0>>0)|0)|0;if(h>>>0>>0&(c|0)<=0|(c|0)<0){break a}if(d){q=0;h=((t|0)!=0)+w|0;while(1){O:{if(b>>>0>>0){H[b+8>>2]=h;H[b+4>>2]=0;H[b>>2]=j;b=b+12|0;d=H[m+12>>2];break O}c=b-o|0;g=(c|0)/12|0;b=g+1|0;if(b>>>0>=357913942){break c}e=(s-o|0)/12|0;f=e<<1;e=e>>>0>=178956970?357913941:b>>>0>>0?f:b;if(e){if(e>>>0>=357913942){break b}f=pa(N(e,12))}else{f=0}b=f+N(g,12)|0;H[b+8>>2]=h;H[b+4>>2]=0;H[b>>2]=j;c=va(b+N((c|0)/-12|0,12)|0,o,c);s=f+N(e,12)|0;b=b+12|0;if(o){oa(o)}o=c}q=q+1|0;if(q>>>0>>0){continue}break}}if((b|0)!=(o|0)){continue}break}A=1;break a}sa();v()}wa();v()}if(o){oa(o)}ca=m+32|0;return A}function Af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=O(0),q=0,r=0;e=ca-720|0;ca=e;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(J[b+38>>1]>=515){H[e+680>>2]=0;H[e+672>>2]=0;H[e+676>>2]=0;if((ea[H[H[a>>2]+24>>2]](a)|0)<=0){break d}while(1){c=ea[H[H[a>>2]+20>>2]](a,n)|0;d=H[H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];if(H[d+28>>2]==9){f=H[e+672>>2];c=H[e+676>>2]-f>>2;k=I[d+24|0];j:{if(c>>>0>>0){ya(e+672|0,k-c|0);break j}if(c>>>0<=k>>>0){break j}H[e+676>>2]=f+(k<<2)}j=0;i=H[b+8>>2];h=H[b+12>>2];c=H[b+20>>2];d=k<<2;f=H[b+16>>2];l=f+d|0;c=d>>>0>l>>>0?c+1|0:c;if(i>>>0>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break b}qa(H[e+672>>2],f+H[b>>2]|0,d);c=H[b+20>>2];f=d;d=d+H[b+16>>2]|0;c=f>>>0>d>>>0?c+1|0:c;i=d;H[b+16>>2]=d;H[b+20>>2]=c;l=H[b+12>>2];g=H[b+8>>2];h=d+4|0;f=h>>>0<4?c+1|0:c;d=f;if(g>>>0>>0&(d|0)>=(l|0)|(d|0)>(l|0)){break b}o=H[b>>2];f=o+i|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=h;H[b+20>>2]=d;if(g>>>0<=h>>>0&(d|0)>=(l|0)|(d|0)>(l|0)){break b}d=I[h+o|0];h=i+5|0;c=h>>>0<5?c+1|0:c;H[b+16>>2]=h;H[b+20>>2]=c;if(d>>>0>31){break b}p=(A(2,f),B());H[e+20>>2]=-1;H[e+16>>2]=1832;H[e+32>>2]=0;H[e+36>>2]=0;H[e+24>>2]=0;H[e+28>>2]=0;c=H[e+672>>2];o=d-1|0;if(o>>>0<=29){H[e+20>>2]=d;k:{h=c+(k<<2)|0;l=h-c|0;f=l>>2;i=H[e+32>>2];d=H[e+24>>2];if(f>>>0<=i-d>>2>>>0){i=H[e+28>>2]-d|0;l=i>>2;i=f>>>0>l>>>0?c+i|0:h;g=i-c|0;if((c|0)!=(i|0)){va(d,c,g)}if(f>>>0>l>>>0){c=h-i|0;d=H[e+28>>2];if((h|0)!=(i|0)){va(d,i,c)}H[e+28>>2]=c+d;break k}H[e+28>>2]=d+g;break k}if(d){H[e+28>>2]=d;oa(d);H[e+32>>2]=0;H[e+24>>2]=0;H[e+28>>2]=0;i=0}l:{if((l|0)<0){break l}d=i>>>1|0;d=i>>>0>=2147483644?1073741823:d>>>0>f>>>0?d:f;if(d>>>0>=1073741824){break l}i=d<<2;d=pa(i);H[e+28>>2]=d;H[e+24>>2]=d;H[e+32>>2]=d+i;if((c|0)!=(h|0)){qa(d,c,l)}H[e+28>>2]=d+(f<<2);break k}sa();v()}L[e+36>>2]=p}m:{if(o>>>0>=30){break m}if(!Xc(e+16|0,H[H[a+60>>2]+((H[a+40>>2]-H[a+36>>2]|0)/24<<2)>>2])){break m}c=H[a+40>>2];n:{if((c|0)!=H[a+44>>2]){H[c>>2]=1832;d=H[e+20>>2];H[c+16>>2]=0;H[c+8>>2]=0;H[c+12>>2]=0;H[c+4>>2]=d;d=H[e+28>>2];f=H[e+24>>2];if((d|0)!=(f|0)){d=d-f|0;if((d|0)<0){break i}g=pa(d);H[c+12>>2]=g;H[c+8>>2]=g;H[c+16>>2]=(d&-4)+g;k=H[e+24>>2];d=H[e+28>>2];if((k|0)!=(d|0)){while(1){L[g>>2]=L[k>>2];g=g+4|0;k=k+4|0;if((d|0)!=(k|0)){continue}break}}H[c+12>>2]=g}L[c+20>>2]=L[e+36>>2];H[a+40>>2]=c+24;break n}d=0;o:{p:{q:{r:{j=H[a+40>>2];f=H[a+36>>2];i=(j-f|0)/24|0;c=i+1|0;if(c>>>0<178956971){h=(H[a+44>>2]-f|0)/24|0;l=h<<1;h=h>>>0>=89478485?178956970:c>>>0>>0?l:c;if(h){if(h>>>0>=178956971){break r}d=pa(N(h,24))}g=N(i,24)+d|0;H[g>>2]=1832;c=H[e+20>>2];H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;H[g+4>>2]=c;c=H[e+24>>2];i=H[e+28>>2];if((c|0)!=(i|0)){l=i-c|0;if((l|0)<0){break q}k=pa(l);H[g+8>>2]=k;H[g+16>>2]=(l&-4)+k;while(1){L[k>>2]=L[c>>2];k=k+4|0;c=c+4|0;if((i|0)!=(c|0)){continue}break}H[g+12>>2]=k}c=N(h,24)+d|0;L[g+20>>2]=L[e+36>>2];d=g+24|0;if((f|0)==(j|0)){break p}while(1){g=g-24|0;H[g>>2]=1832;j=j-24|0;H[g+4>>2]=H[j+4>>2];H[g+8>>2]=H[j+8>>2];H[g+12>>2]=H[j+12>>2];H[g+16>>2]=H[j+16>>2];H[j+16>>2]=0;H[j+8>>2]=0;H[j+12>>2]=0;L[g+20>>2]=L[j+20>>2];if((f|0)!=(j|0)){continue}break}H[a+44>>2]=c;k=H[a+40>>2];H[a+40>>2]=d;j=H[a+36>>2];H[a+36>>2]=g;if((j|0)==(k|0)){break o}while(1){k=k-24|0;ea[H[H[k>>2]>>2]](k)|0;if((j|0)!=(k|0)){continue}break}break o}sa();v()}wa();v()}sa();v()}H[a+44>>2]=c;H[a+40>>2]=d;H[a+36>>2]=g}if(j){oa(j)}}j=1}H[e+16>>2]=1832;c=H[e+24>>2];if(c){H[e+28>>2]=c;oa(c)}if(!j){break c}}n=n+1|0;if((ea[H[H[a>>2]+24>>2]](a)|0)>(n|0)){continue}break}break d}k=ea[H[H[a>>2]+24>>2]](a)|0;H[e+712>>2]=0;H[e+704>>2]=0;H[e+708>>2]=0;if(k){if(k>>>0>=214748365){break h}c=N(k,20);d=pa(c);H[e+704>>2]=d;H[e+712>>2]=c+d;c=c-20|0;c=(c-((c>>>0)%20|0)|0)+20|0;q=e,r=ra(d,0,c)+c|0,H[q+708>>2]=r;while(1){c=ea[H[H[a>>2]+20>>2]](a,m)|0;d=H[H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];f=H[d+28>>2];c=f-1|0;if(c>>>0<=10){c=H[(c<<2)+13584>>2]}else{c=-1}h=(c|0)>0?c:0;if(h>>>0>4){break f}c=H[e+704>>2]+N(m,20)|0;i=I[d+24|0];H[c+16>>2]=i;H[c+12>>2]=h;H[c+8>>2]=f;H[c+4>>2]=g;H[c>>2]=d;g=g+i|0;m=m+1|0;if((k|0)!=(m|0)){continue}break}}c=ea[H[H[a>>2]+20>>2]](a,0)|0;m=H[H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];F[m+84|0]=1;H[m+72>>2]=H[m+68>>2];h=H[b+12>>2];c=h;d=H[b+20>>2];f=H[b+8>>2];i=H[b+16>>2];if((c|0)<=(d|0)&f>>>0<=i>>>0|(c|0)<(d|0)){break f}n=H[b>>2];o=I[n+i|0];c=d;l=i+1|0;c=l?c:c+1|0;H[b+16>>2]=l;H[b+20>>2]=c;s:{switch(o|0){case 0:a=H[e+704>>2];if((H[e+708>>2]-a|0)!=20){break e}if(H[a+16>>2]!=3){break f}t:{if(f>>>0<=l>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break t}c=d;a=i+2|0;c=a>>>0<2?c+1|0:c;l=a;H[b+16>>2]=a;H[b+20>>2]=c;c=d;a=i+6|0;c=a>>>0<6?c+1|0:c;if(a>>>0>f>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break t}d=l+n|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=a;H[b+20>>2]=c;mb(m,d);j=e+672|0;H[j+20>>2]=0;H[j+12>>2]=0;H[j+16>>2]=0;H[j>>2]=0;H[j+4>>2]=0;H[j+20>>2]=d;d=Ac(e+16|0,e+704|0);k=0;g=ca-32|0;ca=g;H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;f=H[b+12>>2];m=f;i=H[b+8>>2];c=H[b+20>>2];l=c;h=H[b+16>>2];a=h+4|0;c=a>>>0<4?c+1|0:c;u:{if(a>>>0>i>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break u}n=H[b>>2];f=n+h|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=a;H[b+20>>2]=c;v:{w:{switch(f-2|0){case 1:if((c|0)>=(m|0)&a>>>0>=i>>>0|(c|0)>(m|0)){break u}a=I[a+n|0];c=l;f=h+5|0;c=f>>>0<5?c+1|0:c;H[b+16>>2]=f;H[b+20>>2]=c;F[j+8|0]=a;if((a|0)==1){if(Ud(j,b,g+16|0)){break v}break u}Rd(1799,23,H[3443]);break u;default:Rd(1774,24,H[3443]);break u;case 0:break w}}if(!Ud(j,b,g+16|0)){break u}}H[g+8>>2]=H[g+16>>2];H[g>>2]=H[g+20>>2];c=ca-32|0;ca=c;a=H[j>>2];p=L[j+4>>2];H[c+24>>2]=1065353216;h=-1<0){L[c+24>>2]=p/O(a|0)}m=H[g+8>>2];n=H[g>>2];if((m|0)!=(n|0)){a=H[d+28>>2];while(1){b=H[m>>2];f=H[m+4>>2];p=L[c+24>>2];L[c+16>>2]=p*O(H[m+8>>2]-h|0);L[c+12>>2]=p*O(f-h|0);L[c+8>>2]=p*O(b-h|0);b=a;i=H[d+16>>2];f=H[i>>2];if(!I[f+84|0]){b=H[H[f+68>>2]+(a<<2)>>2]}if(K[f+80>>2]>b>>>0){a=H[f+40>>2];qa(H[H[f>>2]>>2]+N(a,b)|0,(c+8|0)+(H[i+4>>2]<<2)|0,a);n=H[g>>2];a=H[d+28>>2]}a=a+1|0;H[d+28>>2]=a;m=m+12|0;if((n|0)!=(m|0)){continue}break}}ca=c+32|0;k=1}a=H[g+16>>2];if(a){H[g+20>>2]=a;oa(a)}ca=g+32|0;yc(d);j=1;if(k){break f}}j=0;break f;case 1:break s;default:break f}}if(f>>>0<=l>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break f}o=I[l+n|0];c=d;l=i+2|0;c=l>>>0<2?c+1|0:c;H[b+16>>2]=l;H[b+20>>2]=c;if(o>>>0>=7){H[e>>2]=o;Qd(1651,e);break f}c=d;d=i+6|0;c=d>>>0<6?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break f}f=l+n|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=d;H[b+20>>2]=c;if(k){m=0;while(1){c=ea[H[H[a>>2]+20>>2]](a,m)|0;c=H[H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];mb(c,f);F[c+84|0]=1;H[c+72>>2]=H[c+68>>2];m=m+1|0;if((k|0)!=(m|0)){continue}break}}a=Ac(e+672|0,e+704|0);x:{y:{switch(o|0){case 1:c=wb(e+16|0,g);b=zd(c,b,a,-1);xb(c);if(!b){break g}break x;case 2:c=ub(e+16|0,g);b=yd(c,b,a,-1);vb(c);if(!b){break g}break x;case 3:c=ub(e+16|0,g);b=xd(c,b,a,-1);vb(c);if(!b){break g}break x;case 4:c=$a(e+16|0,g);b=wd(c,b,a,-1);ab(c);if(!b){break g}break x;case 5:c=$a(e+16|0,g);b=vd(c,b,a,-1);ab(c);if(!b){break g}break x;case 6:c=$a(e+16|0,g);b=ud(c,b,a,-1);ab(c);if(b){break x}break g;case 0:break y;default:break g}}c=wb(e+16|0,g);b=Bd(c,b,a,-1);xb(c);if(!b){break g}}yc(a);j=1;break f}sa();v()}sa();v()}yc(a)}a=H[e+704>>2]}if(!a){break a}H[e+708>>2]=a;oa(a);break a}j=1;if(H[a+52>>2]==H[a+48>>2]){break b}while(1){if(!td(1,e+16|0,b)){break c}c=H[a+48>>2];d=H[e+16>>2];H[c+(m<<2)>>2]=d>>>1^0-(d&1);m=m+1|0;if(m>>>0>2]-c>>2>>>0){continue}break}break b}j=0}a=H[e+672>>2];if(!a){break a}H[e+676>>2]=a;oa(a)}ca=e+720|0;return j|0}function te(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=ca-32|0;ca=h;H[b+32>>2]=d;H[b+40>>2]=c;H[b+4>>2]=e;nc(a,d,h+16|0);a:{if(H[a>>2]){break a}if(F[a+15|0]<0){oa(H[a+4>>2])}d=I[h+23|0];if((ea[H[H[b>>2]+8>>2]](b)|0)!=(d|0)){b=pa(64);F[b+50|0]=0;c=I[1314]|I[1315]<<8;F[b+48|0]=c;F[b+49|0]=c>>>8;c=I[1310]|I[1311]<<8|(I[1312]<<16|I[1313]<<24);d=I[1306]|I[1307]<<8|(I[1308]<<16|I[1309]<<24);F[b+40|0]=d;F[b+41|0]=d>>>8;F[b+42|0]=d>>>16;F[b+43|0]=d>>>24;F[b+44|0]=c;F[b+45|0]=c>>>8;F[b+46|0]=c>>>16;F[b+47|0]=c>>>24;c=I[1302]|I[1303]<<8|(I[1304]<<16|I[1305]<<24);d=I[1298]|I[1299]<<8|(I[1300]<<16|I[1301]<<24);F[b+32|0]=d;F[b+33|0]=d>>>8;F[b+34|0]=d>>>16;F[b+35|0]=d>>>24;F[b+36|0]=c;F[b+37|0]=c>>>8;F[b+38|0]=c>>>16;F[b+39|0]=c>>>24;c=I[1294]|I[1295]<<8|(I[1296]<<16|I[1297]<<24);d=I[1290]|I[1291]<<8|(I[1292]<<16|I[1293]<<24);F[b+24|0]=d;F[b+25|0]=d>>>8;F[b+26|0]=d>>>16;F[b+27|0]=d>>>24;F[b+28|0]=c;F[b+29|0]=c>>>8;F[b+30|0]=c>>>16;F[b+31|0]=c>>>24;c=I[1286]|I[1287]<<8|(I[1288]<<16|I[1289]<<24);d=I[1282]|I[1283]<<8|(I[1284]<<16|I[1285]<<24);F[b+16|0]=d;F[b+17|0]=d>>>8;F[b+18|0]=d>>>16;F[b+19|0]=d>>>24;F[b+20|0]=c;F[b+21|0]=c>>>8;F[b+22|0]=c>>>16;F[b+23|0]=c>>>24;c=I[1278]|I[1279]<<8|(I[1280]<<16|I[1281]<<24);d=I[1274]|I[1275]<<8|(I[1276]<<16|I[1277]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1270]|I[1271]<<8|(I[1272]<<16|I[1273]<<24);d=I[1266]|I[1267]<<8|(I[1268]<<16|I[1269]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;H[a>>2]=-1;za(a+4|0,b,50);oa(b);break a}c=I[h+21|0];F[b+36|0]=c;e=I[h+22|0];F[b+37|0]=e;if((c-3&255)>>>0<=253){b=pa(32);F[b+22|0]=0;c=I[1427]|I[1428]<<8|(I[1429]<<16|I[1430]<<24);d=I[1423]|I[1424]<<8|(I[1425]<<16|I[1426]<<24);F[b+14|0]=d;F[b+15|0]=d>>>8;F[b+16|0]=d>>>16;F[b+17|0]=d>>>24;F[b+18|0]=c;F[b+19|0]=c>>>8;F[b+20|0]=c>>>16;F[b+21|0]=c>>>24;c=I[1421]|I[1422]<<8|(I[1423]<<16|I[1424]<<24);d=I[1417]|I[1418]<<8|(I[1419]<<16|I[1420]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1413]|I[1414]<<8|(I[1415]<<16|I[1416]<<24);d=I[1409]|I[1410]<<8|(I[1411]<<16|I[1412]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;H[a>>2]=-5;za(a+4|0,b,22);oa(b);break a}if(!((c|0)!=2|e>>>0<=(d?2:3)>>>0)){b=pa(32);F[b+22|0]=0;c=I[1404]|I[1405]<<8|(I[1406]<<16|I[1407]<<24);d=I[1400]|I[1401]<<8|(I[1402]<<16|I[1403]<<24);F[b+14|0]=d;F[b+15|0]=d>>>8;F[b+16|0]=d>>>16;F[b+17|0]=d>>>24;F[b+18|0]=c;F[b+19|0]=c>>>8;F[b+20|0]=c>>>16;F[b+21|0]=c>>>24;c=I[1398]|I[1399]<<8|(I[1400]<<16|I[1401]<<24);d=I[1394]|I[1395]<<8|(I[1396]<<16|I[1397]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1390]|I[1391]<<8|(I[1392]<<16|I[1393]<<24);d=I[1386]|I[1387]<<8|(I[1388]<<16|I[1389]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;H[a>>2]=-5;za(a+4|0,b,22);oa(b);break a}c=e|c<<8;G[H[b+32>>2]+38>>1]=c;b:{if((c&65535)>>>0<259|G[h+26>>1]>=0){break b}i=ca-16|0;ca=i;e=pa(36);c=e;H[c+4>>2]=0;H[c+8>>2]=0;H[c+24>>2]=0;H[c+28>>2]=0;c=c+16|0;H[c>>2]=0;H[c+4>>2]=0;H[e>>2]=e+4;H[e+32>>2]=0;H[e+12>>2]=c;H[i>>2]=0;d=H[b+32>>2];j=ca-16|0;ca=j;c=0;c:{if(!e){break c}H[i>>2]=d;H[j+12>>2]=0;c=0;if(!Bb(1,j+12|0,d)){break c}m=H[j+12>>2];if(m){while(1){d:{if(Bb(1,j+8|0,H[i>>2])){c=pa(28);H[c+4>>2]=0;H[c+8>>2]=0;d=c+16|0;H[d>>2]=0;H[d+4>>2]=0;H[c>>2]=c+4;H[c+12>>2]=d;H[c+24>>2]=H[j+8>>2];if(ce(i,c)){break d}Ra(c+12|0,H[c+16>>2]);Qa(c,H[c+4>>2]);oa(c)}c=0;break c}f=ca-16|0;ca=f;H[f+8>>2]=c;e:{if(!c){break e}d=H[e+28>>2];f:{if(d>>>0>2]){H[f+8>>2]=0;H[d>>2]=c;H[e+28>>2]=d+4;break f}d=0;g:{h:{i:{g=H[e+24>>2];l=H[e+28>>2]-g>>2;c=l+1|0;if(c>>>0<1073741824){g=H[e+32>>2]-g|0;k=g>>>1|0;g=g>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(g){if(g>>>0>=1073741824){break i}d=pa(g<<2)}k=H[f+8>>2];H[f+8>>2]=0;c=(l<<2)+d|0;H[c>>2]=k;g=(g<<2)+d|0;l=c+4|0;d=H[e+28>>2];k=H[e+24>>2];if((d|0)==(k|0)){break h}while(1){d=d-4|0;o=H[d>>2];H[d>>2]=0;c=c-4|0;H[c>>2]=o;if((d|0)!=(k|0)){continue}break}H[e+32>>2]=g;g=H[e+28>>2];H[e+28>>2]=l;d=H[e+24>>2];H[e+24>>2]=c;if((d|0)==(g|0)){break g}while(1){g=g-4|0;c=H[g>>2];H[g>>2]=0;if(c){Ra(c+12|0,H[c+16>>2]);Qa(c,H[c+4>>2]);oa(c)}if((d|0)!=(g|0)){continue}break}break g}sa();v()}wa();v()}H[e+32>>2]=g;H[e+28>>2]=l;H[e+24>>2]=c}if(d){oa(d)}}c=H[f+8>>2];H[f+8>>2]=0;if(!c){break e}Ra(c+12|0,H[c+16>>2]);Qa(c,H[c+4>>2]);oa(c)}ca=f+16|0;n=n+1|0;if((m|0)!=(n|0)){continue}break}}c=ce(i,e)}ca=j+16|0;j:{if(c){d=H[b+4>>2];c=H[d+4>>2];H[d+4>>2]=e;if(c){Uc(c)}H[a>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0;break j}c=pa(32);F[c+26|0]=0;d=I[1579]|I[1580]<<8;F[c+24|0]=d;F[c+25|0]=d>>>8;d=I[1575]|I[1576]<<8|(I[1577]<<16|I[1578]<<24);f=I[1571]|I[1572]<<8|(I[1573]<<16|I[1574]<<24);F[c+16|0]=f;F[c+17|0]=f>>>8;F[c+18|0]=f>>>16;F[c+19|0]=f>>>24;F[c+20|0]=d;F[c+21|0]=d>>>8;F[c+22|0]=d>>>16;F[c+23|0]=d>>>24;d=I[1567]|I[1568]<<8|(I[1569]<<16|I[1570]<<24);f=I[1563]|I[1564]<<8|(I[1565]<<16|I[1566]<<24);F[c+8|0]=f;F[c+9|0]=f>>>8;F[c+10|0]=f>>>16;F[c+11|0]=f>>>24;F[c+12|0]=d;F[c+13|0]=d>>>8;F[c+14|0]=d>>>16;F[c+15|0]=d>>>24;d=I[1559]|I[1560]<<8|(I[1561]<<16|I[1562]<<24);f=I[1555]|I[1556]<<8|(I[1557]<<16|I[1558]<<24);F[c|0]=f;F[c+1|0]=f>>>8;F[c+2|0]=f>>>16;F[c+3|0]=f>>>24;F[c+4|0]=d;F[c+5|0]=d>>>8;F[c+6|0]=d>>>16;F[c+7|0]=d>>>24;H[a>>2]=-1;za(a+4|0,c,26);oa(c);H[i+8>>2]=0;Uc(e)}ca=i+16|0;if(H[a>>2]){break a}if(F[a+15|0]>=0){break b}oa(H[a+4>>2])}if(!(ea[H[H[b>>2]+12>>2]](b)|0)){b=pa(48);F[b+33|0]=0;F[b+32|0]=I[1384];c=I[1380]|I[1381]<<8|(I[1382]<<16|I[1383]<<24);d=I[1376]|I[1377]<<8|(I[1378]<<16|I[1379]<<24);F[b+24|0]=d;F[b+25|0]=d>>>8;F[b+26|0]=d>>>16;F[b+27|0]=d>>>24;F[b+28|0]=c;F[b+29|0]=c>>>8;F[b+30|0]=c>>>16;F[b+31|0]=c>>>24;c=I[1372]|I[1373]<<8|(I[1374]<<16|I[1375]<<24);d=I[1368]|I[1369]<<8|(I[1370]<<16|I[1371]<<24);F[b+16|0]=d;F[b+17|0]=d>>>8;F[b+18|0]=d>>>16;F[b+19|0]=d>>>24;F[b+20|0]=c;F[b+21|0]=c>>>8;F[b+22|0]=c>>>16;F[b+23|0]=c>>>24;c=I[1364]|I[1365]<<8|(I[1366]<<16|I[1367]<<24);d=I[1360]|I[1361]<<8|(I[1362]<<16|I[1363]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1356]|I[1357]<<8|(I[1358]<<16|I[1359]<<24);d=I[1352]|I[1353]<<8|(I[1354]<<16|I[1355]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;H[a>>2]=-1;za(a+4|0,b,33);oa(b);break a}if(!(ea[H[H[b>>2]+20>>2]](b)|0)){b=mc(h,1582);H[a>>2]=-1;a=a+4|0;if(F[b+11|0]>=0){c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c;H[a+8>>2]=H[b+8>>2];break a}za(a,H[b>>2],H[b+4>>2]);if(F[b+11|0]>=0){break a}oa(H[b>>2]);break a}if(!(ea[H[H[b>>2]+24>>2]](b)|0)){b=mc(h,1317);H[a>>2]=-1;a=a+4|0;if(F[b+11|0]>=0){c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c;H[a+8>>2]=H[b+8>>2];break a}za(a,H[b>>2],H[b+4>>2]);if(F[b+11|0]>=0){break a}oa(H[b>>2]);break a}H[a>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0}ca=h+32|0}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;m=ca-16|0;ca=m;H[m+12>>2]=b;b=pa(32);H[m>>2]=b;H[m+4>>2]=24;H[m+8>>2]=-2147483616;c=I[1206]|I[1207]<<8|(I[1208]<<16|I[1209]<<24);d=I[1202]|I[1203]<<8|(I[1204]<<16|I[1205]<<24);F[b+16|0]=d;F[b+17|0]=d>>>8;F[b+18|0]=d>>>16;F[b+19|0]=d>>>24;F[b+20|0]=c;F[b+21|0]=c>>>8;F[b+22|0]=c>>>16;F[b+23|0]=c>>>24;c=I[1198]|I[1199]<<8|(I[1200]<<16|I[1201]<<24);d=I[1194]|I[1195]<<8|(I[1196]<<16|I[1197]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1190]|I[1191]<<8|(I[1192]<<16|I[1193]<<24);d=I[1186]|I[1187]<<8|(I[1188]<<16|I[1189]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;F[b+24|0]=0;l=ca-48|0;ca=l;f=H[m+12>>2];d=a;a=a+16|0;b=H[a>>2];a:{b:{if(!b){break b}c=a;while(1){e=(f|0)>H[b+16>>2];c=e?c:b;b=H[(e?b+4|0:b)>>2];if(b){continue}break}if((a|0)==(c|0)){break b}if((f|0)>=H[c+16>>2]){break a}}H[l+28>>2]=0;H[l+32>>2]=0;y=l+24|0;H[l+24>>2]=y|4;a=l+16|0;H[a>>2]=0;H[a+4>>2]=0;H[l+8>>2]=f;H[l+12>>2]=a;t=l+8|0;a=t;x=ca-16|0;ca=x;u=d+12|0;c=H[u+4>>2];c:{d:{if(!c){o=u+4|0;d=o;break d}a=H[a>>2];while(1){d=c;b=H[c+16>>2];if((b|0)>(a|0)){o=d;c=H[d>>2];if(c){continue}break d}if((a|0)<=(b|0)){g=d;a=0;break c}c=H[d+4>>2];if(c){continue}break}o=d+4|0}g=pa(32);b=H[t>>2];q=g+24|0;a=q;H[a>>2]=0;H[a+4>>2]=0;H[g+16>>2]=b;r=g+20|0;H[r>>2]=a;c=H[t+4>>2];z=t+8|0;if((c|0)!=(z|0)){while(1){p=ca-16|0;ca=p;a=p+8|0;k=c+16|0;e:{f:{g:{h:{i:{j:{k:{f=q;e=r+4|0;l:{if((f|0)==(e|0)){break l}b=I[f+27|0];h=b<<24>>24<0;i=I[k+11|0];n=i<<24>>24;j=(n|0)<0;i=j?H[k+4>>2]:i;b=h?H[f+20>>2]:b;s=i>>>0>b>>>0;w=s?b:i;if(w){j=j?H[k>>2]:k;h=h?H[f+16>>2]:f+16|0;A=Fa(j,h,w);if(!A){if(b>>>0>i>>>0){break l}break k}if((A|0)>=0){break k}break l}if(b>>>0<=i>>>0){break j}}h=H[f>>2];m:{a=f;n:{if((a|0)==H[r>>2]){break n}o:{if(!h){b=f;while(1){a=H[b+8>>2];i=H[a>>2]==(b|0);b=a;if(i){continue}break}break o}b=h;while(1){a=b;b=H[b+4>>2];if(b){continue}break}}i=I[k+11|0];s=i<<24>>24;b=(s|0)<0;j=I[a+27|0];n=j<<24>>24<0;p:{i=b?H[k+4>>2]:i;j=n?H[a+20>>2]:j;w=i>>>0>>0?i:j;if(w){b=Fa(n?H[a+16>>2]:a+16|0,b?H[k>>2]:k,w);if(b){break p}}if(i>>>0>j>>>0){break n}break m}if((b|0)>=0){break m}}if(!h){H[p+12>>2]=f;a=f;break e}H[p+12>>2]=a;a=a+4|0;break e}b=H[e>>2];if(!b){H[p+12>>2]=e;a=e;break e}h=(s|0)<0?H[k>>2]:k;f=e;while(1){a=b;b=I[b+27|0];e=b<<24>>24<0;b=e?H[a+20>>2]:b;k=b>>>0>>0;q:{r:{s:{t:{n=k?b:i;u:{if(n){e=e?H[a+16>>2]:a+16|0;j=Fa(h,e,n);if(!j){if(b>>>0>i>>>0){break u}break t}if((j|0)>=0){break t}break u}if(b>>>0<=i>>>0){break s}}f=a;b=H[a>>2];if(b){continue}break g}b=Fa(e,h,n);if(b){break r}}if(k){break q}break g}if((b|0)>=0){break g}}f=a+4|0;b=H[a+4>>2];if(b){continue}break}break g}b=Fa(h,j,w);if(b){break i}}if(s){break h}break f}if((b|0)>=0){break f}}h=H[f+4>>2];v:{if(!h){b=f;while(1){a=H[b+8>>2];j=H[a>>2]!=(b|0);b=a;if(j){continue}break}break v}b=h;while(1){a=b;b=H[b>>2];if(b){continue}break}}w:{x:{if((a|0)==(e|0)){break x}j=I[a+27|0];b=j<<24>>24<0;y:{j=b?H[a+20>>2]:j;s=i>>>0>j>>>0?j:i;if(s){b=Fa((n|0)<0?H[k>>2]:k,b?H[a+16>>2]:a+16|0,s);if(b){break y}}if(i>>>0>>0){break x}break w}if((b|0)>=0){break w}}if(!h){H[p+12>>2]=f;a=f+4|0;break e}H[p+12>>2]=a;break e}b=H[e>>2];if(!b){H[p+12>>2]=e;a=e;break e}h=(n|0)<0?H[k>>2]:k;f=e;while(1){a=b;b=I[b+27|0];e=b<<24>>24<0;b=e?H[a+20>>2]:b;k=b>>>0>>0;z:{A:{B:{C:{n=k?b:i;D:{if(n){e=e?H[a+16>>2]:a+16|0;j=Fa(h,e,n);if(!j){if(b>>>0>i>>>0){break D}break C}if((j|0)>=0){break C}break D}if(b>>>0<=i>>>0){break B}}f=a;b=H[a>>2];if(b){continue}break g}b=Fa(e,h,n);if(b){break A}}if(k){break z}break g}if((b|0)>=0){break g}}f=a+4|0;b=H[a+4>>2];if(b){continue}break}}H[p+12>>2]=a;a=f;break e}H[p+12>>2]=f;H[a>>2]=f}f=a;a=H[a>>2];if(a){b=0}else{a=pa(40);b=a+16|0;E:{if(F[c+27|0]>=0){e=H[c+20>>2];H[b>>2]=H[c+16>>2];H[b+4>>2]=e;H[b+8>>2]=H[c+24>>2];break E}za(b,H[c+16>>2],H[c+20>>2])}b=a+28|0;F:{if(F[c+39|0]>=0){e=H[c+32>>2];H[b>>2]=H[c+28>>2];H[b+4>>2]=e;H[b+8>>2]=H[c+36>>2];break F}za(b,H[c+28>>2],H[c+32>>2])}H[a+8>>2]=H[p+12>>2];H[a>>2]=0;H[a+4>>2]=0;H[f>>2]=a;b=a;e=H[H[r>>2]>>2];if(e){H[r>>2]=e;b=H[f>>2]}Sb(H[r+4>>2],b);H[r+8>>2]=H[r+8>>2]+1;b=1}F[x+12|0]=b;H[x+8>>2]=a;ca=p+16|0;b=H[c+4>>2];G:{if(b){while(1){c=b;b=H[b>>2];if(b){continue}break G}}while(1){a=c;c=H[c+8>>2];if((a|0)!=H[c>>2]){continue}break}}if((c|0)!=(z|0)){continue}break}}H[g+8>>2]=d;H[g>>2]=0;H[g+4>>2]=0;H[o>>2]=g;c=g;a=H[H[u>>2]>>2];if(a){H[u>>2]=a;c=H[o>>2]}Sb(H[u+4>>2],c);H[u+8>>2]=H[u+8>>2]+1;a=1}F[l+44|0]=a;H[l+40>>2]=g;ca=x+16|0;c=H[l+40>>2];Kb(t|4,H[l+16>>2]);Kb(y,H[l+28>>2])}f=ca-48|0;ca=f;d=f+8|0;g=ca-32|0;ca=g;o=g+32|0;b=o;a=g+21|0;H:{if((b|0)==(a|0)){break H}}e=b-a|0;I:{if((e|0)<=9){h=61;if((e|0)<(K[3660]<=1|0)){break I}}F[a|0]=49;b=a+1|0;h=0}H[g+12>>2]=h;H[g+8>>2]=b;h=ca-16|0;ca=h;e=ca-16|0;ca=e;J:{q=H[g+8>>2];g=q-a|0;if(g>>>0<=2147483631){K:{if(g>>>0<11){F[d+11|0]=g|I[d+11|0]&128;F[d+11|0]=I[d+11|0]&127;b=d;break K}t=e+8|0;if(g>>>0>=11){k=g+16&-16;b=k-1|0;b=(b|0)==11?k:b}else{b=10}Zb(t,b+1|0);b=H[e+8>>2];H[d>>2]=b;H[d+8>>2]=H[d+8>>2]&-2147483648|H[e+12>>2]&2147483647;H[d+8>>2]=H[d+8>>2]|-2147483648;H[d+4>>2]=g}while(1){if((a|0)!=(q|0)){F[b|0]=I[a|0];b=b+1|0;a=a+1|0;continue}break}F[e+7|0]=0;F[b|0]=I[e+7|0];ca=e+16|0;break J}Na();v()}ca=h+16|0;ca=o;H[f+32>>2]=m;L:{M:{a=c+20|0;d=H[a+4>>2];N:{if(!d){g=a+4|0;c=g;break N}b=I[m+11|0];c=b<<24>>24<0;e=c?H[m>>2]:m;b=c?H[m+4>>2]:b;while(1){c=d;d=I[c+27|0];g=d<<24>>24<0;d=g?H[c+20>>2]:d;o=d>>>0>>0;O:{P:{Q:{R:{h=o?d:b;S:{if(h){g=g?H[c+16>>2]:c+16|0;q=Fa(e,g,h);if(!q){if(b>>>0>>0){break S}break R}if((q|0)>=0){break R}break S}if(b>>>0>=d>>>0){break Q}}g=c;d=H[c>>2];if(d){continue}break N}d=Fa(g,e,h);if(d){break P}}if(o){break O}break M}if((d|0)>=0){break M}}d=H[c+4>>2];if(d){continue}break}g=c+4|0}d=pa(40);e=d+16|0;b=H[f+32>>2];T:{if(F[b+11|0]>=0){o=H[b+4>>2];H[e>>2]=H[b>>2];H[e+4>>2]=o;H[e+8>>2]=H[b+8>>2];break T}za(e,H[b>>2],H[b+4>>2])}H[d+8>>2]=c;H[d>>2]=0;H[d+4>>2]=0;H[d+36>>2]=0;H[d+28>>2]=0;H[d+32>>2]=0;H[g>>2]=d;c=d;b=H[H[a>>2]>>2];if(b){H[a>>2]=b;c=H[g>>2]}Sb(H[a+4>>2],c);H[a+8>>2]=H[a+8>>2]+1;a=1;break L}d=c;a=0}F[f+44|0]=a;H[f+40>>2]=d;a=H[f+40>>2];if(F[a+39|0]<0){oa(H[a+28>>2])}b=H[f+12>>2];H[a+28>>2]=H[f+8>>2];H[a+32>>2]=b;H[a+36>>2]=H[f+16>>2];ca=f+48|0;ca=l+48|0;if(F[m+11|0]<0){oa(H[m>>2])}ca=m+16|0}function Bd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=H[b+8>>2];e=H[b+12>>2];g=H[b+20>>2];h=H[b+16>>2];k=h+4|0;g=k>>>0<4?g+1|0:g;a:{if(j>>>0>>0&(e|0)<=(g|0)|(e|0)<(g|0)){break a}h=h+H[b>>2]|0;H[a>>2]=I[h|0]|I[h+1|0]<<8|(I[h+2|0]<<16|I[h+3|0]<<24);h=H[b+20>>2];e=h;j=H[b+16>>2];g=j+4|0;h=g>>>0<4?e+1|0:e;H[b+16>>2]=g;H[b+20>>2]=h;if(K[a>>2]>32){break a}l=H[b+8>>2];k=H[b+12>>2];h=e;e=j+8|0;h=e>>>0<8?h+1|0:h;if(e>>>0>l>>>0&(h|0)>=(k|0)|(h|0)>(k|0)){break a}h=H[b>>2]+g|0;g=I[h|0]|I[h+1|0]<<8|(I[h+2|0]<<16|I[h+3|0]<<24);H[a+4>>2]=g;h=H[b+20>>2];e=H[b+16>>2]+4|0;h=e>>>0<4?h+1|0:h;H[b+16>>2]=e;H[b+20>>2]=h;if(!g){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!ua(a+16|0,b)){break a}if(!ua(a+36|0,b)){break a}if(!ua(a+56|0,b)){break a}if(!ua(a+76|0,b)){break a}s=H[a+4>>2];h=c;b=0;g=0;e=ca-32|0;ca=e;d=a;a=H[a+12>>2];H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}c=a<<2;b=pa(c);H[e+8>>2]=b;g=b+c|0;H[e+16>>2]=g;ra(b,0,c);H[e+12>>2]=g}c=H[d+120>>2];i=H[c>>2];if(i){H[c+4>>2]=i;oa(i);g=H[e+12>>2];b=H[e+8>>2];a=H[d+12>>2]}H[c+4>>2]=g;H[c>>2]=b;H[c+8>>2]=H[e+16>>2];b=0;H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;f=pa(a);H[e+8>>2]=f;b=a+f|0;H[e+16>>2]=b;ra(f,0,a);H[e+12>>2]=b}a=H[d+132>>2];c=H[a>>2];if(c){H[a+4>>2]=c;oa(c);f=H[e+8>>2];b=H[e+12>>2]}H[a+4>>2]=b;H[a>>2]=f;H[a+8>>2]=H[e+16>>2];H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;xa(e+8|0);a=H[e+24>>2]+H[e+28>>2]|0;b=(a>>>0)/341|0;a=H[H[e+12>>2]+(b<<2)>>2]+N(a-N(b,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=s;c=1;a=H[e+28>>2]+1|0;H[e+28>>2]=a;e:{if(!a){break e}while(1){b=H[e+12>>2];f=H[e+24>>2];k=a-1|0;c=f+k|0;i=(c>>>0)/341|0;c=H[b+(i<<2)>>2]+N(c-N(i,341)|0,12)|0;g=H[c+8>>2];i=H[c+4>>2];j=H[c>>2];H[e+28>>2]=k;c=H[e+16>>2];if((((b|0)!=(c|0)?N(c-b>>2,341)-1|0:0)-(a+f|0)|0)+1>>>0>=682){oa(H[c-4>>2]);H[e+16>>2]=H[e+16>>2]-4}c=0;if(j>>>0>s>>>0){break e}b=H[d+12>>2];a=(b-1|0)!=(i|0)?i+1|0:0;if(a>>>0>=b>>>0){break e}f=N(g,12);o=f+H[d+132>>2]|0;k=f+H[d+120>>2]|0;i=H[d>>2];l=a<<2;m=H[l+H[o>>2]>>2];f:{g:{if((i|0)==(m|0)){if(!j){break g}o=0;b=H[h+20>>2];g=H[h+16>>2];if((b|0)==(g|0)){a=H[d+8>>2];H[h+28>>2]=j+H[h+28>>2];H[d+8>>2]=a+j;break g}while(1){c=(b|0)==(g|0);a=b;i=0;b=g;h:{if(c){break h}while(1){f=H[h+28>>2];b=a;c=N(i,20)+g|0;l=H[c>>2];if(!I[l+84|0]){f=H[H[l+68>>2]+(f<<2)>>2]}if(K[l+80>>2]<=f>>>0){break h}m=H[k>>2]+(H[c+4>>2]<<2)|0;g=H[c+12>>2];b=m;i:{if(g>>>0>3){break i}a=0;b=H[h+12>>2];if(!H[c+16>>2]){break i}while(1){b=qa(b,m+(a<<2)|0,g);g=H[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[h+12>>2]}a=H[l+40>>2];qa(H[H[l>>2]>>2]+N(a,f)|0,b,a);i=i+1|0;a=H[h+20>>2];b=a;g=H[h+16>>2];if(i>>>0<(b-g|0)/20>>>0){continue}break}}H[h+28>>2]=H[h+28>>2]+1;H[d+8>>2]=H[d+8>>2]+1;o=o+1|0;if((j|0)!=(o|0)){continue}break}break g}j:{k:{l:{m:{if(j>>>0<=2){c=H[d+108>>2];H[c>>2]=a;f=1;b=H[d+12>>2];if(b>>>0>1){break m}break j}if(K[d+8>>2]>K[d+4>>2]){break e}b=H[d+120>>2];n=g+1|0;o=N(n,12);p=b+o|0;if((p|0)!=(k|0)){Aa(p,H[k>>2],H[k+4>>2]);b=H[d+120>>2]}b=l+H[b+o>>2]|0;H[b>>2]=H[b>>2]+(1<>2];m=32-i|0;n:{if((b|0)<=(m|0)){k=H[d+28>>2];if((k|0)==H[d+20>>2]){break l}m=H[k>>2];p=b+i|0;H[d+32>>2]=p;b=m<>>32-b|0;if((p|0)!=32){break n}H[d+32>>2]=0;H[d+28>>2]=k+4;break n}k=H[d+28>>2];p=k+4|0;if((p|0)==H[d+20>>2]){break l}r=H[k>>2];H[d+28>>2]=p;m=b-m|0;H[d+32>>2]=m;b=H[k+4>>2]>>>32-m|r<>>32-b}i=j>>>1|0;if(i>>>0>>0){break e}break k}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;H[c+(f<<2)>>2]=a;b=H[d+12>>2];f=f+1|0;if(b>>>0>f>>>0){continue}break}break j}i=j>>>1|0;b=0}o:{p:{b=i-b|0;c=j-b|0;q:{if((c|0)==(b|0)){c=b;break q}i=H[d+88>>2];if((i|0)==H[d+80>>2]){break p}j=H[i>>2];k=H[d+92>>2];m=k+1|0;H[d+92>>2]=m;j=j&-2147483648>>>k;r:{if((m|0)==32){H[d+92>>2]=0;H[d+88>>2]=i+4;if(j){break r}break p}if(!j){break p}}}i=c;c=b;break o}i=b}b=H[d+132>>2];j=b+f|0;f=H[j>>2];k=f+l|0;H[k>>2]=H[k>>2]+1;Aa(b+o|0,f,H[j+4>>2]);if(c){b=H[e+28>>2]+H[e+24>>2]|0;j=H[e+16>>2];f=H[e+12>>2];if((b|0)==(((f|0)!=(j|0)?N(j-f>>2,341)-1|0:0)|0)){xa(e+8|0);f=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}j=(b>>>0)/341|0;b=H[(j<<2)+f>>2]+N(b-N(j,341)|0,12)|0;H[b+8>>2]=g;H[b+4>>2]=a;H[b>>2]=c;H[e+28>>2]=H[e+28>>2]+1}if(!i){break g}b=H[e+28>>2]+H[e+24>>2]|0;c=H[e+16>>2];f=H[e+12>>2];if((b|0)==(((c|0)!=(f|0)?N(c-f>>2,341)-1|0:0)|0)){xa(e+8|0);f=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}c=(b>>>0)/341|0;b=H[(c<<2)+f>>2]+N(b-N(c,341)|0,12)|0;H[b+8>>2]=n;H[b+4>>2]=a;H[b>>2]=i;a=H[e+28>>2]+1|0;H[e+28>>2]=a;break f}m=0;if(!j){break g}while(1){if(H[d+12>>2]){i=H[d+40>>2];p=H[o>>2];c=H[d+96>>2];r=H[d+108>>2];a=0;while(1){g=r+(a<<2)|0;H[c+(H[g>>2]<<2)>>2]=0;b=H[d>>2];f=H[g>>2]<<2;l=H[f+p>>2];s:{if((b|0)==(l|0)){break s}f=c+f|0;b=b-l|0;l=H[d+52>>2];q=32-l|0;if((b|0)<=(q|0)){n=H[d+48>>2];if((n|0)==(i|0)){c=0;break e}H[f>>2]=H[n>>2]<>>32-b;b=b+H[d+52>>2]|0;H[d+52>>2]=b;if((b|0)!=32){break s}H[d+52>>2]=0;H[d+48>>2]=n+4;break s}n=H[d+48>>2];t=n+4|0;if((i|0)==(t|0)){c=0;break e}u=H[n>>2];H[d+48>>2]=t;q=b-q|0;H[d+52>>2]=q;H[f>>2]=H[n+4>>2]>>>32-q|u<>>32-b}b=H[g>>2]<<2;g=b+c|0;H[g>>2]=H[g>>2]|H[b+H[k>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}i=0;a=H[h+16>>2];t:{if((a|0)==H[h+20>>2]){break t}while(1){f=H[h+28>>2];c=N(i,20)+a|0;l=H[c>>2];if(!I[l+84|0]){f=H[H[l+68>>2]+(f<<2)>>2]}if(K[l+80>>2]<=f>>>0){break t}n=H[d+96>>2]+(H[c+4>>2]<<2)|0;g=H[c+12>>2];b=n;u:{if(g>>>0>3){break u}a=0;b=H[h+12>>2];if(!H[c+16>>2]){break u}while(1){b=qa(b,n+(a<<2)|0,g);g=H[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[h+12>>2]}a=H[l+40>>2];qa(H[H[l>>2]>>2]+N(a,f)|0,b,a);i=i+1|0;a=H[h+16>>2];if(i>>>0<(H[h+20>>2]-a|0)/20>>>0){continue}break}}H[h+28>>2]=H[h+28>>2]+1;H[d+8>>2]=H[d+8>>2]+1;m=m+1|0;if((j|0)!=(m|0)){continue}break}}a=H[e+28>>2]}if(a){continue}break}c=1}H[e+28>>2]=0;f=H[e+16>>2];a=H[e+12>>2];b=f-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[e+12>>2]+4|0;H[e+12>>2]=a;f=H[e+16>>2];b=f-a|0;if(b>>>0>8){continue}break}}g=170;v:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:H[e+24>>2]=g;break;default:break v}}w:{if((a|0)==(f|0)){break w}while(1){oa(H[a>>2]);a=a+4|0;if((f|0)!=(a|0)){continue}break}a=H[e+16>>2];b=H[e+12>>2];if((a|0)==(b|0)){break w}H[e+16>>2]=a+((b-a|0)+3&-4)}a=H[e+8>>2];if(a){oa(a)}ca=e+32|0;break b}sa();v()}sa();v()}i=c}return i}function zd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=H[b+8>>2];l=H[b+12>>2];k=H[b+20>>2];i=H[b+16>>2];f=i+4|0;k=f>>>0<4?k+1|0:k;a:{if(f>>>0>j>>>0&(k|0)>=(l|0)|(k|0)>(l|0)){break a}i=i+H[b>>2]|0;H[a>>2]=I[i|0]|I[i+1|0]<<8|(I[i+2|0]<<16|I[i+3|0]<<24);i=H[b+20>>2];j=i;f=H[b+16>>2];i=f+4|0;l=i>>>0<4?j+1|0:j;H[b+16>>2]=i;H[b+20>>2]=l;if(K[a>>2]>32){break a}l=H[b+8>>2];k=H[b+12>>2];f=f+8|0;j=f>>>0<8?j+1|0:j;if((k|0)<=(j|0)&f>>>0>l>>>0|(k|0)<(j|0)){break a}i=H[b>>2]+i|0;f=I[i|0]|I[i+1|0]<<8|(I[i+2|0]<<16|I[i+3|0]<<24);H[a+4>>2]=f;j=H[b+20>>2];i=H[b+16>>2]+4|0;j=i>>>0<4?j+1|0:j;H[b+16>>2]=i;H[b+20>>2]=j;if(!f){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!ua(a+16|0,b)){break a}if(!ua(a+36|0,b)){break a}if(!ua(a+56|0,b)){break a}if(!ua(a+76|0,b)){break a}t=H[a+4>>2];i=c;b=0;c=0;e=ca-32|0;ca=e;f=a;a=H[a+12>>2];H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=pa(d);H[e+8>>2]=b;c=b+d|0;H[e+16>>2]=c;ra(b,0,d);H[e+12>>2]=c}g=H[f+120>>2];d=H[g>>2];if(d){H[g+4>>2]=d;oa(d);c=H[e+12>>2];b=H[e+8>>2];a=H[f+12>>2]}H[g+4>>2]=c;H[g>>2]=b;H[g+8>>2]=H[e+16>>2];b=0;H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;h=pa(a);H[e+8>>2]=h;b=a+h|0;H[e+16>>2]=b;ra(h,0,a);H[e+12>>2]=b}c=H[f+132>>2];a=H[c>>2];if(a){H[c+4>>2]=a;oa(a);h=H[e+8>>2];b=H[e+12>>2]}H[c+4>>2]=b;H[c>>2]=h;H[c+8>>2]=H[e+16>>2];H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;xa(e+8|0);b=H[e+24>>2]+H[e+28>>2]|0;a=(b>>>0)/341|0;a=H[H[e+12>>2]+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=t;d=1;a=H[e+28>>2]+1|0;H[e+28>>2]=a;e:{if(!a){break e}while(1){j=H[e+12>>2];g=H[e+24>>2];d=a-1|0;c=g+d|0;b=(c>>>0)/341|0;b=H[j+(b<<2)>>2]+N(c-N(b,341)|0,12)|0;n=H[b+8>>2];c=H[b+4>>2];m=H[b>>2];H[e+28>>2]=d;b=H[e+16>>2];if((((b|0)!=(j|0)?N(b-j>>2,341)-1|0:0)-(a+g|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[e+16>>2]=H[e+16>>2]-4}if(m>>>0>t>>>0){d=0;break e}d=0;b=H[f+12>>2];a=(c|0)!=(b-1|0)?c+1|0:0;if(a>>>0>=b>>>0){break e}b=H[f+120>>2];o=N(n,12);q=b+o|0;g=H[f>>2];h=a<<2;l=o+H[f+132>>2]|0;c=H[h+H[l>>2]>>2];f:{g:{if((g|0)==(c|0)){if(!m){break g}h=0;b=H[i+20>>2];c=H[i+16>>2];if((b|0)==(c|0)){a=H[f+8>>2];H[i+28>>2]=m+H[i+28>>2];H[f+8>>2]=a+m;break g}while(1){d=(b|0)==(c|0);a=b;g=0;b=c;h:{if(d){break h}while(1){d=H[i+28>>2];b=a;k=N(g,20)+c|0;l=H[k>>2];if(!I[l+84|0]){d=H[H[l+68>>2]+(d<<2)>>2]}if(K[l+80>>2]<=d>>>0){break h}j=H[q>>2]+(H[k+4>>2]<<2)|0;c=H[k+12>>2];b=j;i:{if(c>>>0>3){break i}a=0;b=H[i+12>>2];if(!H[k+16>>2]){break i}while(1){b=qa(b,j+(a<<2)|0,c);c=H[k+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[i+12>>2]}a=H[l+40>>2];qa(H[H[l>>2]>>2]+N(a,d)|0,b,a);g=g+1|0;a=H[i+20>>2];b=a;c=H[i+16>>2];if(g>>>0<(b-c|0)/20>>>0){continue}break}}H[i+28>>2]=H[i+28>>2]+1;H[f+8>>2]=H[f+8>>2]+1;h=h+1|0;if((m|0)!=(h|0)){continue}break}break g}j:{k:{l:{m:{if(m>>>0<=2){c=H[f+108>>2];H[c>>2]=a;h=1;b=H[f+12>>2];if(b>>>0>1){break m}break j}if(K[f+8>>2]>K[f+4>>2]){break e}j=b;b=o+12|0;Aa(j+b|0,H[q>>2],H[q+4>>2]);b=h+H[b+H[f+120>>2]>>2]|0;H[b>>2]=H[b>>2]+(1<>2];g=32-l|0;n:{if((k|0)<=(g|0)){g=H[f+28>>2];if((g|0)==H[f+20>>2]){break l}c=H[g>>2];b=k+l|0;H[f+32>>2]=b;c=c<>>32-k|0;if((b|0)!=32){break n}H[f+32>>2]=0;H[f+28>>2]=g+4;break n}j=H[f+28>>2];b=j+4|0;if((b|0)==H[f+20>>2]){break l}c=H[j>>2];H[f+28>>2]=b;b=k-g|0;H[f+32>>2]=b;c=H[j+4>>2]>>>32-b|c<>>32-k}g=m>>>1|0;if(g>>>0>>0){break e}break k}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;H[c+(h<<2)>>2]=a;b=H[f+12>>2];h=h+1|0;if(b>>>0>h>>>0){continue}break}break j}g=m>>>1|0;c=0}k=n+1|0;o:{p:{b=g-c|0;c=m-b|0;q:{if((c|0)==(b|0)){c=b;break q}l=H[f+88>>2];if((l|0)==H[f+80>>2]){break p}j=H[l>>2];g=H[f+92>>2];d=g+1|0;H[f+92>>2]=d;g=j&-2147483648>>>g;r:{if((d|0)==32){H[f+92>>2]=0;H[f+88>>2]=l+4;if(g){break r}break p}if(!g){break p}}}g=c;c=b;break o}g=b}l=H[f+132>>2];j=l+o|0;d=H[j>>2];b=d+h|0;H[b>>2]=H[b>>2]+1;Aa(l+N(k,12)|0,d,H[j+4>>2]);if(c){b=H[e+28>>2]+H[e+24>>2]|0;d=H[e+16>>2];h=H[e+12>>2];if((b|0)==(((d|0)!=(h|0)?N(d-h>>2,341)-1|0:0)|0)){xa(e+8|0);h=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}d=(b>>>0)/341|0;b=H[(d<<2)+h>>2]+N(b-N(d,341)|0,12)|0;H[b+8>>2]=n;H[b+4>>2]=a;H[b>>2]=c;H[e+28>>2]=H[e+28>>2]+1}if(!g){break g}b=H[e+28>>2]+H[e+24>>2]|0;c=H[e+16>>2];h=H[e+12>>2];if((b|0)==(((c|0)!=(h|0)?N(c-h>>2,341)-1|0:0)|0)){xa(e+8|0);h=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}c=(b>>>0)/341|0;b=H[(c<<2)+h>>2]+N(b-N(c,341)|0,12)|0;H[b+8>>2]=k;H[b+4>>2]=a;H[b>>2]=g;a=H[e+28>>2]+1|0;H[e+28>>2]=a;break f}r=0;if(!m){break g}while(1){if(H[f+12>>2]){u=H[f+40>>2];j=H[l>>2];s=H[f+96>>2];g=H[f+108>>2];a=0;while(1){n=(a<<2)+g|0;H[s+(H[n>>2]<<2)>>2]=0;d=H[f>>2];c=H[n>>2]<<2;b=H[c+j>>2];s:{if((d|0)==(b|0)){break s}o=c+s|0;p=d-b|0;h=H[f+52>>2];d=32-h|0;if((p|0)<=(d|0)){c=H[f+48>>2];if((c|0)==(u|0)){d=0;break e}H[o>>2]=H[c>>2]<>>32-p;b=p+H[f+52>>2]|0;H[f+52>>2]=b;if((b|0)!=32){break s}H[f+52>>2]=0;H[f+48>>2]=c+4;break s}k=H[f+48>>2];b=k+4|0;if((u|0)==(b|0)){d=0;break e}c=H[k>>2];H[f+48>>2]=b;b=p-d|0;H[f+52>>2]=b;H[o>>2]=H[k+4>>2]>>>32-b|c<>>32-p}c=H[n>>2]<<2;b=c+s|0;H[b>>2]=H[b>>2]|H[c+H[q>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}g=0;a=H[i+16>>2];t:{if((a|0)==H[i+20>>2]){break t}while(1){d=H[i+28>>2];h=N(g,20)+a|0;k=H[h>>2];if(!I[k+84|0]){d=H[H[k+68>>2]+(d<<2)>>2]}if(K[k+80>>2]<=d>>>0){break t}j=H[f+96>>2]+(H[h+4>>2]<<2)|0;c=H[h+12>>2];b=j;u:{if(c>>>0>3){break u}a=0;b=H[i+12>>2];if(!H[h+16>>2]){break u}while(1){b=qa(b,j+(a<<2)|0,c);c=H[h+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[i+12>>2]}a=H[k+40>>2];qa(H[H[k>>2]>>2]+N(a,d)|0,b,a);g=g+1|0;a=H[i+16>>2];if(g>>>0<(H[i+20>>2]-a|0)/20>>>0){continue}break}}H[i+28>>2]=H[i+28>>2]+1;H[f+8>>2]=H[f+8>>2]+1;r=r+1|0;if((m|0)!=(r|0)){continue}break}}a=H[e+28>>2]}if(a){continue}break}d=1}H[e+28>>2]=0;h=H[e+16>>2];a=H[e+12>>2];b=h-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[e+12>>2]+4|0;H[e+12>>2]=a;h=H[e+16>>2];b=h-a|0;if(b>>>0>8){continue}break}}c=170;v:{switch((b>>>2|0)-1|0){case 1:c=341;case 0:H[e+24>>2]=c;break;default:break v}}w:{if((a|0)==(h|0)){break w}while(1){oa(H[a>>2]);a=a+4|0;if((h|0)!=(a|0)){continue}break}b=H[e+16>>2];a=H[e+12>>2];if((b|0)==(a|0)){break w}H[e+16>>2]=b+((a-b|0)+3&-4)}a=H[e+8>>2];if(a){oa(a)}ca=e+32|0;g=d;break b}sa();v()}sa();v()}}return g}function wd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;i=H[b+8>>2];j=H[b+12>>2];n=H[b+20>>2];e=H[b+16>>2];h=e+4|0;n=h>>>0<4?n+1|0:n;a:{if(i>>>0>>0&(j|0)<=(n|0)|(j|0)<(n|0)){break a}e=e+H[b>>2]|0;H[a>>2]=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);e=H[b+20>>2];i=e;h=H[b+16>>2];e=h+4|0;j=e>>>0<4?i+1|0:i;H[b+16>>2]=e;H[b+20>>2]=j;if(K[a>>2]>32){break a}j=H[b+8>>2];n=H[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>j>>>0&(i|0)>=(n|0)|(i|0)>(n|0)){break a}e=H[b>>2]+e|0;h=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[a+4>>2]=h;i=H[b+20>>2];e=H[b+16>>2]+4|0;i=e>>>0<4?i+1|0:i;H[b+16>>2]=e;H[b+20>>2]=i;if(!h){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!sb(a+16|0,b)){break a}if(!ua(a+544|0,b)){break a}if(!ua(a+564|0,b)){break a}if(!ua(a+584|0,b)){break a}u=H[a+4>>2];d=c;b=0;c=0;f=ca-32|0;ca=f;g=a;a=H[a+12>>2];H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}e=a<<2;b=pa(e);H[f+8>>2]=b;c=b+e|0;H[f+16>>2]=c;ra(b,0,e);H[f+12>>2]=c}h=H[g+628>>2];e=H[h>>2];if(e){H[h+4>>2]=e;oa(e);c=H[f+12>>2];b=H[f+8>>2];a=H[g+12>>2]}H[h+4>>2]=c;H[h>>2]=b;H[h+8>>2]=H[f+16>>2];b=0;H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;k=pa(a);H[f+8>>2]=k;b=a+k|0;H[f+16>>2]=b;ra(k,0,a);H[f+12>>2]=b}c=H[g+640>>2];a=H[c>>2];if(a){H[c+4>>2]=a;oa(a);k=H[f+8>>2];b=H[f+12>>2]}H[c+4>>2]=b;H[c>>2]=k;H[c+8>>2]=H[f+16>>2];H[f+24>>2]=0;H[f+28>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;xa(f+8|0);b=H[f+24>>2]+H[f+28>>2]|0;a=(b>>>0)/341|0;a=H[H[f+12>>2]+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=u;c=1;a=H[f+28>>2]+1|0;H[f+28>>2]=a;e:{if(!a){break e}n=g+16|0;while(1){j=H[f+12>>2];h=H[f+24>>2];e=a-1|0;c=h+e|0;b=(c>>>0)/341|0;b=H[j+(b<<2)>>2]+N(c-N(b,341)|0,12)|0;q=H[b+8>>2];i=H[b+4>>2];o=H[b>>2];H[f+28>>2]=e;b=H[f+16>>2];if((((b|0)!=(j|0)?N(b-j>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[f+16>>2]=H[f+16>>2]-4}c=0;if(o>>>0>u>>>0){break e}a=H[g+12>>2];k=(i|0)!=(a-1|0)?i+1|0:0;if(k>>>0>=a>>>0){break e}p=N(q,12);w=p+H[g+640>>2]|0;r=p+H[g+628>>2]|0;h=H[g>>2];l=k<<2;e=H[l+H[w>>2]>>2];f:{g:{if((h|0)==(e|0)){if(!o){break g}c=H[d+16>>2];b=H[d+20>>2];m=0;while(1){e=(b|0)==(c|0);a=b;j=0;b=c;h:{if(e){break h}while(1){l=H[d+28>>2];b=a;i=N(j,20)+c|0;h=H[i>>2];if(!I[h+84|0]){l=H[H[h+68>>2]+(l<<2)>>2]}if(K[h+80>>2]<=l>>>0){break h}e=H[r>>2]+(H[i+4>>2]<<2)|0;c=H[i+12>>2];b=e;i:{if(c>>>0>3){break i}a=0;b=H[d+12>>2];if(!H[i+16>>2]){break i}while(1){b=qa(b,e+(a<<2)|0,c);c=H[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[d+12>>2]}a=H[h+40>>2];qa(H[H[h>>2]>>2]+N(a,l)|0,b,a);a=H[d+20>>2];b=a;j=j+1|0;c=H[d+16>>2];if(j>>>0<(a-c|0)/20>>>0){continue}break}}H[d+28>>2]=H[d+28>>2]+1;H[g+8>>2]=H[g+8>>2]+1;m=m+1|0;if((o|0)!=(m|0)){continue}break}break g}j:{k:{l:{if(o>>>0<=2){c=H[g+616>>2];H[c>>2]=k;a=1;b=H[g+12>>2];if(b>>>0>1){break l}break j}if(K[g+8>>2]>K[g+4>>2]){break e}a=H[g+628>>2];j=q+1|0;m=N(j,12);b=a+m|0;if((b|0)!=(r|0)){Aa(b,H[r>>2],H[r+4>>2]);a=H[g+628>>2]}a=l+H[a+m>>2]|0;H[a>>2]=H[a>>2]+(1<>>1|0;break k}while(1){b=Ba((a<<4)+n|0)|b<<1;a=a+1|0;if((c|0)!=(a|0)){continue}break}a=o>>>1|0;if(b>>>0<=a>>>0){break k}c=0;break e}while(1){k=(b-1|0)!=(k|0)?k+1|0:0;H[c+(a<<2)>>2]=k;a=a+1|0;b=H[g+12>>2];if(a>>>0>>0){continue}break}break j}m:{n:{b=a-b|0;a=o-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=H[g+596>>2];if((i|0)==H[g+588>>2]){break n}h=H[i>>2];e=H[g+600>>2];c=e+1|0;H[g+600>>2]=c;e=h&-2147483648>>>e;p:{if((c|0)==32){H[g+600>>2]=0;H[g+596>>2]=i+4;if(e){break p}break n}if(!e){break n}}}c=a;a=b;break m}c=b}i=H[g+640>>2];h=i+p|0;e=H[h>>2];b=e+l|0;H[b>>2]=H[b>>2]+1;Aa(i+m|0,e,H[h+4>>2]);if(a){m=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];b=H[f+12>>2];if((m|0)==(((b|0)!=(e|0)?N(e-b>>2,341)-1|0:0)|0)){xa(f+8|0);m=H[f+24>>2]+H[f+28>>2]|0;e=H[f+12>>2]}else{e=b}b=(m>>>0)/341|0;b=H[e+(b<<2)>>2]+N(m-N(b,341)|0,12)|0;H[b+8>>2]=q;H[b+4>>2]=k;H[b>>2]=a;H[f+28>>2]=H[f+28>>2]+1}if(!c){break g}b=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];a=H[f+12>>2];if((b|0)==(((a|0)!=(e|0)?N(e-a>>2,341)-1|0:0)|0)){xa(f+8|0);b=H[f+24>>2]+H[f+28>>2]|0;e=H[f+12>>2]}else{e=a}a=(b>>>0)/341|0;a=H[e+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+8>>2]=j;H[a+4>>2]=k;H[a>>2]=c;a=H[f+28>>2]+1|0;H[f+28>>2]=a;break f}k=0;if(!o){break g}while(1){if(H[g+12>>2]){q=H[g+548>>2];i=H[w>>2];t=H[g+604>>2];h=H[g+616>>2];a=0;while(1){p=(a<<2)+h|0;H[t+(H[p>>2]<<2)>>2]=0;e=H[g>>2];c=H[p>>2]<<2;b=H[c+i>>2];q:{if((e|0)==(b|0)){break q}l=c+t|0;s=e-b|0;m=H[g+560>>2];e=32-m|0;if((s|0)<=(e|0)){c=H[g+556>>2];if((c|0)==(q|0)){c=0;break e}H[l>>2]=H[c>>2]<>>32-s;b=s+H[g+560>>2]|0;H[g+560>>2]=b;if((b|0)!=32){break q}H[g+560>>2]=0;H[g+556>>2]=c+4;break q}j=H[g+556>>2];b=j+4|0;if((q|0)==(b|0)){c=0;break e}c=H[j>>2];H[g+556>>2]=b;b=s-e|0;H[g+560>>2]=b;H[l>>2]=H[j+4>>2]>>>32-b|c<>>32-s}c=H[p>>2]<<2;b=c+t|0;H[b>>2]=H[b>>2]|H[c+H[r>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}j=0;a=H[d+16>>2];r:{if((a|0)==H[d+20>>2]){break r}while(1){l=H[d+28>>2];i=N(j,20)+a|0;h=H[i>>2];if(!I[h+84|0]){l=H[H[h+68>>2]+(l<<2)>>2]}if(K[h+80>>2]<=l>>>0){break r}e=H[g+604>>2]+(H[i+4>>2]<<2)|0;c=H[i+12>>2];b=e;s:{if(c>>>0>3){break s}a=0;b=H[d+12>>2];if(!H[i+16>>2]){break s}while(1){b=qa(b,e+(a<<2)|0,c);c=H[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[d+12>>2]}a=H[h+40>>2];qa(H[H[h>>2]>>2]+N(a,l)|0,b,a);j=j+1|0;a=H[d+16>>2];if(j>>>0<(H[d+20>>2]-a|0)/20>>>0){continue}break}}H[d+28>>2]=H[d+28>>2]+1;H[g+8>>2]=H[g+8>>2]+1;k=k+1|0;if((o|0)!=(k|0)){continue}break}}a=H[f+28>>2]}if(a){continue}break}c=1}H[f+28>>2]=0;k=H[f+16>>2];a=H[f+12>>2];b=k-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[f+12>>2]+4|0;H[f+12>>2]=a;k=H[f+16>>2];b=k-a|0;if(b>>>0>8){continue}break}}d=170;t:{switch((b>>>2|0)-1|0){case 1:d=341;case 0:H[f+24>>2]=d;break;default:break t}}u:{if((a|0)==(k|0)){break u}while(1){oa(H[a>>2]);a=a+4|0;if((k|0)!=(a|0)){continue}break}b=H[f+16>>2];a=H[f+12>>2];if((b|0)==(a|0)){break u}H[f+16>>2]=b+((a-b|0)+3&-4)}a=H[f+8>>2];if(a){oa(a)}ca=f+32|0;break b}sa();v()}sa();v()}g=c}return g}function ud(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;i=H[b+8>>2];k=H[b+12>>2];o=H[b+20>>2];e=H[b+16>>2];h=e+4|0;o=h>>>0<4?o+1|0:o;a:{if(i>>>0>>0&(k|0)<=(o|0)|(k|0)<(o|0)){break a}e=e+H[b>>2]|0;H[a>>2]=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);e=H[b+20>>2];i=e;h=H[b+16>>2];e=h+4|0;k=e>>>0<4?i+1|0:i;H[b+16>>2]=e;H[b+20>>2]=k;if(K[a>>2]>32){break a}k=H[b+8>>2];o=H[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>k>>>0&(i|0)>=(o|0)|(i|0)>(o|0)){break a}e=H[b>>2]+e|0;h=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[a+4>>2]=h;i=H[b+20>>2];e=H[b+16>>2]+4|0;i=e>>>0<4?i+1|0:i;H[b+16>>2]=e;H[b+20>>2]=i;if(!h){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!sb(a+16|0,b)){break a}if(!ua(a+544|0,b)){break a}if(!ua(a+564|0,b)){break a}if(!ua(a+584|0,b)){break a}w=H[a+4>>2];d=c;b=0;c=0;f=ca-32|0;ca=f;g=a;a=H[a+12>>2];H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}e=a<<2;b=pa(e);H[f+8>>2]=b;c=b+e|0;H[f+16>>2]=c;ra(b,0,e);H[f+12>>2]=c}h=H[g+628>>2];e=H[h>>2];if(e){H[h+4>>2]=e;oa(e);c=H[f+12>>2];b=H[f+8>>2];a=H[g+12>>2]}H[h+4>>2]=c;H[h>>2]=b;H[h+8>>2]=H[f+16>>2];b=0;H[f+16>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;j=pa(a);H[f+8>>2]=j;b=a+j|0;H[f+16>>2]=b;ra(j,0,a);H[f+12>>2]=b}c=H[g+640>>2];a=H[c>>2];if(a){H[c+4>>2]=a;oa(a);j=H[f+8>>2];b=H[f+12>>2]}H[c+4>>2]=b;H[c>>2]=j;H[c+8>>2]=H[f+16>>2];H[f+24>>2]=0;H[f+28>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;xa(f+8|0);b=H[f+24>>2]+H[f+28>>2]|0;a=(b>>>0)/341|0;a=H[H[f+12>>2]+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=w;c=1;a=H[f+28>>2]+1|0;H[f+28>>2]=a;e:{if(!a){break e}o=g+16|0;while(1){i=H[f+12>>2];h=H[f+24>>2];e=a-1|0;c=h+e|0;b=(c>>>0)/341|0;b=H[i+(b<<2)>>2]+N(c-N(b,341)|0,12)|0;q=H[b+8>>2];n=H[b>>2];H[f+28>>2]=e;b=H[f+16>>2];if((((b|0)!=(i|0)?N(b-i>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[f+16>>2]=H[f+16>>2]-4}c=0;if(n>>>0>w>>>0){break e}a=H[g+628>>2];p=N(q,12);t=p+H[g+640>>2]|0;j=Vd(g,n,t);if(j>>>0>=K[g+12>>2]){break e}r=a+p|0;h=H[g>>2];l=j<<2;e=H[l+H[t>>2]>>2];f:{g:{if((h|0)==(e|0)){if(!n){break g}c=H[d+16>>2];b=H[d+20>>2];m=0;while(1){e=(b|0)==(c|0);a=b;k=0;b=c;h:{if(e){break h}while(1){l=H[d+28>>2];b=a;i=N(k,20)+c|0;h=H[i>>2];if(!I[h+84|0]){l=H[H[h+68>>2]+(l<<2)>>2]}if(K[h+80>>2]<=l>>>0){break h}e=H[r>>2]+(H[i+4>>2]<<2)|0;c=H[i+12>>2];b=e;i:{if(c>>>0>3){break i}a=0;b=H[d+12>>2];if(!H[i+16>>2]){break i}while(1){b=qa(b,e+(a<<2)|0,c);c=H[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[d+12>>2]}a=H[h+40>>2];qa(H[H[h>>2]>>2]+N(a,l)|0,b,a);a=H[d+20>>2];b=a;k=k+1|0;c=H[d+16>>2];if(k>>>0<(a-c|0)/20>>>0){continue}break}}H[d+28>>2]=H[d+28>>2]+1;H[g+8>>2]=H[g+8>>2]+1;m=m+1|0;if((n|0)!=(m|0)){continue}break}break g}j:{k:{l:{if(n>>>0<=2){c=H[g+616>>2];H[c>>2]=j;a=1;b=H[g+12>>2];if(b>>>0>1){break l}break j}if(K[g+8>>2]>K[g+4>>2]){break e}a=H[g+628>>2];k=q+1|0;m=N(k,12);b=a+m|0;if((b|0)!=(r|0)){Aa(b,H[r>>2],H[r+4>>2]);a=H[g+628>>2]}a=l+H[a+m>>2]|0;H[a>>2]=H[a>>2]+(1<>>1|0;break k}while(1){b=Ba((a<<4)+o|0)|b<<1;a=a+1|0;if((c|0)!=(a|0)){continue}break}a=n>>>1|0;if(b>>>0<=a>>>0){break k}c=0;break e}while(1){j=(b-1|0)!=(j|0)?j+1|0:0;H[c+(a<<2)>>2]=j;a=a+1|0;b=H[g+12>>2];if(a>>>0>>0){continue}break}break j}m:{n:{b=a-b|0;a=n-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=H[g+596>>2];if((i|0)==H[g+588>>2]){break n}h=H[i>>2];e=H[g+600>>2];c=e+1|0;H[g+600>>2]=c;e=h&-2147483648>>>e;p:{if((c|0)==32){H[g+600>>2]=0;H[g+596>>2]=i+4;if(e){break p}break n}if(!e){break n}}}c=a;a=b;break m}c=b}i=H[g+640>>2];h=i+p|0;e=H[h>>2];b=e+l|0;H[b>>2]=H[b>>2]+1;Aa(i+m|0,e,H[h+4>>2]);if(a){m=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];b=H[f+12>>2];if((m|0)==(((b|0)!=(e|0)?N(e-b>>2,341)-1|0:0)|0)){xa(f+8|0);m=H[f+24>>2]+H[f+28>>2]|0;e=H[f+12>>2]}else{e=b}b=(m>>>0)/341|0;b=H[e+(b<<2)>>2]+N(m-N(b,341)|0,12)|0;H[b+8>>2]=q;H[b+4>>2]=j;H[b>>2]=a;H[f+28>>2]=H[f+28>>2]+1}if(!c){break g}b=H[f+28>>2]+H[f+24>>2]|0;e=H[f+16>>2];a=H[f+12>>2];if((b|0)==(((a|0)!=(e|0)?N(e-a>>2,341)-1|0:0)|0)){xa(f+8|0);b=H[f+24>>2]+H[f+28>>2]|0;e=H[f+12>>2]}else{e=a}a=(b>>>0)/341|0;a=H[e+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+8>>2]=k;H[a+4>>2]=j;H[a>>2]=c;a=H[f+28>>2]+1|0;H[f+28>>2]=a;break f}j=0;if(!n){break g}while(1){if(H[g+12>>2]){q=H[g+548>>2];i=H[t>>2];u=H[g+604>>2];h=H[g+616>>2];a=0;while(1){p=(a<<2)+h|0;H[u+(H[p>>2]<<2)>>2]=0;e=H[g>>2];c=H[p>>2]<<2;b=H[c+i>>2];q:{if((e|0)==(b|0)){break q}l=c+u|0;s=e-b|0;m=H[g+560>>2];e=32-m|0;if((s|0)<=(e|0)){c=H[g+556>>2];if((c|0)==(q|0)){c=0;break e}H[l>>2]=H[c>>2]<>>32-s;b=s+H[g+560>>2]|0;H[g+560>>2]=b;if((b|0)!=32){break q}H[g+560>>2]=0;H[g+556>>2]=c+4;break q}k=H[g+556>>2];b=k+4|0;if((q|0)==(b|0)){c=0;break e}c=H[k>>2];H[g+556>>2]=b;b=s-e|0;H[g+560>>2]=b;H[l>>2]=H[k+4>>2]>>>32-b|c<>>32-s}c=H[p>>2]<<2;b=c+u|0;H[b>>2]=H[b>>2]|H[c+H[r>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}k=0;a=H[d+16>>2];r:{if((a|0)==H[d+20>>2]){break r}while(1){l=H[d+28>>2];i=N(k,20)+a|0;h=H[i>>2];if(!I[h+84|0]){l=H[H[h+68>>2]+(l<<2)>>2]}if(K[h+80>>2]<=l>>>0){break r}e=H[g+604>>2]+(H[i+4>>2]<<2)|0;c=H[i+12>>2];b=e;s:{if(c>>>0>3){break s}a=0;b=H[d+12>>2];if(!H[i+16>>2]){break s}while(1){b=qa(b,e+(a<<2)|0,c);c=H[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[d+12>>2]}a=H[h+40>>2];qa(H[H[h>>2]>>2]+N(a,l)|0,b,a);k=k+1|0;a=H[d+16>>2];if(k>>>0<(H[d+20>>2]-a|0)/20>>>0){continue}break}}H[d+28>>2]=H[d+28>>2]+1;H[g+8>>2]=H[g+8>>2]+1;j=j+1|0;if((n|0)!=(j|0)){continue}break}}a=H[f+28>>2]}if(a){continue}break}c=1}H[f+28>>2]=0;j=H[f+16>>2];a=H[f+12>>2];b=j-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[f+12>>2]+4|0;H[f+12>>2]=a;j=H[f+16>>2];b=j-a|0;if(b>>>0>8){continue}break}}d=170;t:{switch((b>>>2|0)-1|0){case 1:d=341;case 0:H[f+24>>2]=d;break;default:break t}}u:{if((a|0)==(j|0)){break u}while(1){oa(H[a>>2]);a=a+4|0;if((j|0)!=(a|0)){continue}break}b=H[f+16>>2];a=H[f+12>>2];if((b|0)==(a|0)){break u}H[f+16>>2]=b+((a-b|0)+3&-4)}a=H[f+8>>2];if(a){oa(a)}ca=f+32|0;break b}sa();v()}sa();v()}g=c}return g}function vd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;i=H[b+8>>2];k=H[b+12>>2];m=H[b+20>>2];f=H[b+16>>2];h=f+4|0;m=h>>>0<4?m+1|0:m;a:{if(i>>>0>>0&(k|0)<=(m|0)|(k|0)<(m|0)){break a}f=f+H[b>>2]|0;H[a>>2]=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);f=H[b+20>>2];i=f;h=H[b+16>>2];f=h+4|0;k=f>>>0<4?i+1|0:i;H[b+16>>2]=f;H[b+20>>2]=k;if(K[a>>2]>32){break a}k=H[b+8>>2];m=H[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>k>>>0&(i|0)>=(m|0)|(i|0)>(m|0)){break a}f=f+H[b>>2]|0;h=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[a+4>>2]=h;i=H[b+20>>2];f=H[b+16>>2]+4|0;i=f>>>0<4?i+1|0:i;H[b+16>>2]=f;H[b+20>>2]=i;if(!h){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!sb(a+16|0,b)){break a}if(!ua(a+544|0,b)){break a}if(!ua(a+564|0,b)){break a}if(!ua(a+584|0,b)){break a}u=H[a+4>>2];b=0;e=ca-32|0;ca=e;f=a;a=H[a+12>>2];H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=pa(d);H[e+8>>2]=b;g=b+d|0;H[e+16>>2]=g;ra(b,0,d);H[e+12>>2]=g}h=H[f+628>>2];d=H[h>>2];if(d){H[h+4>>2]=d;oa(d);g=H[e+12>>2];b=H[e+8>>2];a=H[f+12>>2]}H[h+4>>2]=g;H[h>>2]=b;H[h+8>>2]=H[e+16>>2];b=0;H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;j=pa(a);H[e+8>>2]=j;b=a+j|0;H[e+16>>2]=b;ra(j,0,a);H[e+12>>2]=b}d=H[f+640>>2];a=H[d>>2];if(a){H[d+4>>2]=a;oa(a);j=H[e+8>>2];b=H[e+12>>2]}H[d+4>>2]=b;H[d>>2]=j;H[d+8>>2]=H[e+16>>2];H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;xa(e+8|0);b=H[e+24>>2]+H[e+28>>2]|0;a=(b>>>0)/341|0;a=H[H[e+12>>2]+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=u;d=1;a=H[e+28>>2]+1|0;H[e+28>>2]=a;e:{if(!a){break e}m=f+16|0;while(1){k=H[e+12>>2];h=H[e+24>>2];g=a-1|0;d=h+g|0;b=(d>>>0)/341|0;b=H[k+(b<<2)>>2]+N(d-N(b,341)|0,12)|0;q=H[b+8>>2];i=H[b+4>>2];n=H[b>>2];H[e+28>>2]=g;b=H[e+16>>2];if((((b|0)!=(k|0)?N(b-k>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[e+16>>2]=H[e+16>>2]-4}if(n>>>0>u>>>0){d=0;break e}d=0;a=H[f+12>>2];j=(i|0)!=(a-1|0)?i+1|0:0;if(j>>>0>=a>>>0){break e}a=H[f+628>>2];o=N(q,12);s=a+o|0;g=H[f>>2];l=j<<2;k=o+H[f+640>>2]|0;b=H[l+H[k>>2]>>2];f:{g:{if((g|0)==(b|0)){if(!n){break g}g=H[c+16>>2];b=H[c+20>>2];p=0;while(1){d=(b|0)==(g|0);a=b;j=0;b=g;h:{if(d){break h}while(1){d=H[c+28>>2];b=a;k=N(j,20)+g|0;i=H[k>>2];if(!I[i+84|0]){d=H[H[i+68>>2]+(d<<2)>>2]}if(K[i+80>>2]<=d>>>0){break h}h=H[s>>2]+(H[k+4>>2]<<2)|0;g=H[k+12>>2];b=h;i:{if(g>>>0>3){break i}a=0;b=H[c+12>>2];if(!H[k+16>>2]){break i}while(1){b=qa(b,h+(a<<2)|0,g);g=H[k+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[c+12>>2]}a=H[i+40>>2];qa(H[H[i>>2]>>2]+N(a,d)|0,b,a);a=H[c+20>>2];b=a;j=j+1|0;g=H[c+16>>2];if(j>>>0<(a-g|0)/20>>>0){continue}break}}H[c+28>>2]=H[c+28>>2]+1;H[f+8>>2]=H[f+8>>2]+1;p=p+1|0;if((p|0)!=(n|0)){continue}break}break g}j:{k:{l:{if(n>>>0<=2){d=H[f+616>>2];H[d>>2]=j;a=1;b=H[f+12>>2];if(b>>>0>1){break l}break j}if(K[f+8>>2]>K[f+4>>2]){break e}d=a;a=o+12|0;Aa(d+a|0,H[s>>2],H[s+4>>2]);a=l+H[a+H[f+628>>2]>>2]|0;H[a>>2]=H[a>>2]+(1<>>1|0;break k}while(1){b=Ba((a<<4)+m|0)|b<<1;a=a+1|0;if((d|0)!=(a|0)){continue}break}a=n>>>1|0;if(b>>>0<=a>>>0){break k}d=0;break e}while(1){j=(b-1|0)!=(j|0)?j+1|0:0;H[d+(a<<2)>>2]=j;a=a+1|0;b=H[f+12>>2];if(a>>>0>>0){continue}break}break j}k=q+1|0;m:{n:{b=a-b|0;a=n-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=H[f+596>>2];if((i|0)==H[f+588>>2]){break n}h=H[i>>2];g=H[f+600>>2];d=g+1|0;H[f+600>>2]=d;g=h&-2147483648>>>g;p:{if((d|0)==32){H[f+600>>2]=0;H[f+596>>2]=i+4;if(g){break p}break n}if(!g){break n}}}d=a;a=b;break m}d=b}i=H[f+640>>2];h=i+o|0;g=H[h>>2];b=g+l|0;H[b>>2]=H[b>>2]+1;Aa(i+N(k,12)|0,g,H[h+4>>2]);if(a){h=H[e+28>>2]+H[e+24>>2]|0;g=H[e+16>>2];b=H[e+12>>2];if((h|0)==(((b|0)!=(g|0)?N(g-b>>2,341)-1|0:0)|0)){xa(e+8|0);h=H[e+24>>2]+H[e+28>>2]|0;g=H[e+12>>2]}else{g=b}b=(h>>>0)/341|0;b=H[g+(b<<2)>>2]+N(h-N(b,341)|0,12)|0;H[b+8>>2]=q;H[b+4>>2]=j;H[b>>2]=a;H[e+28>>2]=H[e+28>>2]+1}if(!d){break g}b=H[e+28>>2]+H[e+24>>2]|0;g=H[e+16>>2];a=H[e+12>>2];if((b|0)==(((a|0)!=(g|0)?N(g-a>>2,341)-1|0:0)|0)){xa(e+8|0);b=H[e+24>>2]+H[e+28>>2]|0;g=H[e+12>>2]}else{g=a}a=(b>>>0)/341|0;a=H[g+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+8>>2]=k;H[a+4>>2]=j;H[a>>2]=d;a=H[e+28>>2]+1|0;H[e+28>>2]=a;break f}p=0;if(!n){break g}while(1){if(H[f+12>>2]){w=H[f+548>>2];i=H[k>>2];t=H[f+604>>2];h=H[f+616>>2];a=0;while(1){j=h+(a<<2)|0;H[(H[j>>2]<<2)+t>>2]=0;g=H[f>>2];d=H[j>>2]<<2;b=H[d+i>>2];q:{if((g|0)==(b|0)){break q}q=d+t|0;r=g-b|0;o=H[f+560>>2];g=32-o|0;if((r|0)<=(g|0)){d=H[f+556>>2];if((d|0)==(w|0)){d=0;break e}H[q>>2]=H[d>>2]<>>32-r;b=H[f+560>>2]+r|0;H[f+560>>2]=b;if((b|0)!=32){break q}H[f+560>>2]=0;H[f+556>>2]=d+4;break q}l=H[f+556>>2];b=l+4|0;if((b|0)==(w|0)){d=0;break e}d=H[l>>2];H[f+556>>2]=b;b=r-g|0;H[f+560>>2]=b;H[q>>2]=H[l+4>>2]>>>32-b|d<>>32-r}d=H[j>>2]<<2;b=d+t|0;H[b>>2]=H[b>>2]|H[d+H[s>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}j=0;a=H[c+16>>2];r:{if((a|0)==H[c+20>>2]){break r}while(1){d=H[c+28>>2];l=N(j,20)+a|0;i=H[l>>2];if(!I[i+84|0]){d=H[H[i+68>>2]+(d<<2)>>2]}if(K[i+80>>2]<=d>>>0){break r}h=H[f+604>>2]+(H[l+4>>2]<<2)|0;g=H[l+12>>2];b=h;s:{if(g>>>0>3){break s}a=0;b=H[c+12>>2];if(!H[l+16>>2]){break s}while(1){b=qa(b,h+(a<<2)|0,g);g=H[l+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[c+12>>2]}a=H[i+40>>2];qa(H[H[i>>2]>>2]+N(a,d)|0,b,a);j=j+1|0;a=H[c+16>>2];if(j>>>0<(H[c+20>>2]-a|0)/20>>>0){continue}break}}H[c+28>>2]=H[c+28>>2]+1;H[f+8>>2]=H[f+8>>2]+1;p=p+1|0;if((p|0)!=(n|0)){continue}break}}a=H[e+28>>2]}if(a){continue}break}d=1}H[e+28>>2]=0;j=H[e+16>>2];a=H[e+12>>2];b=j-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[e+12>>2]+4|0;H[e+12>>2]=a;j=H[e+16>>2];b=j-a|0;if(b>>>0>8){continue}break}}g=170;t:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:H[e+24>>2]=g;break;default:break t}}u:{if((a|0)==(j|0)){break u}while(1){oa(H[a>>2]);a=a+4|0;if((j|0)!=(a|0)){continue}break}b=H[e+16>>2];a=H[e+12>>2];if((b|0)==(a|0)){break u}H[e+16>>2]=b+((a-b|0)+3&-4)}a=H[e+8>>2];if(a){oa(a)}ca=e+32|0;break b}sa();v()}sa();v()}g=d}return g}function yd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;j=H[b+8>>2];e=H[b+12>>2];g=H[b+20>>2];h=H[b+16>>2];l=h+4|0;g=l>>>0<4?g+1|0:g;a:{if(j>>>0>>0&(e|0)<=(g|0)|(e|0)<(g|0)){break a}h=h+H[b>>2]|0;H[a>>2]=I[h|0]|I[h+1|0]<<8|(I[h+2|0]<<16|I[h+3|0]<<24);h=H[b+20>>2];e=h;j=H[b+16>>2];g=j+4|0;h=g>>>0<4?e+1|0:e;H[b+16>>2]=g;H[b+20>>2]=h;if(K[a>>2]>32){break a}k=H[b+8>>2];l=H[b+12>>2];h=e;e=j+8|0;h=e>>>0<8?h+1|0:h;if(e>>>0>k>>>0&(h|0)>=(l|0)|(h|0)>(l|0)){break a}h=H[b>>2]+g|0;g=I[h|0]|I[h+1|0]<<8|(I[h+2|0]<<16|I[h+3|0]<<24);H[a+4>>2]=g;h=H[b+20>>2];e=H[b+16>>2]+4|0;h=e>>>0<4?h+1|0:h;H[b+16>>2]=e;H[b+20>>2]=h;if(!g){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!ta(a+16|0,b)){break a}if(!ua(a+32|0,b)){break a}if(!ua(a+52|0,b)){break a}if(!ua(a+72|0,b)){break a}r=H[a+4>>2];h=c;b=0;g=0;e=ca-32|0;ca=e;d=a;a=H[a+12>>2];H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}c=a<<2;b=pa(c);H[e+8>>2]=b;g=b+c|0;H[e+16>>2]=g;ra(b,0,c);H[e+12>>2]=g}c=H[d+116>>2];i=H[c>>2];if(i){H[c+4>>2]=i;oa(i);g=H[e+12>>2];b=H[e+8>>2];a=H[d+12>>2]}H[c+4>>2]=g;H[c>>2]=b;H[c+8>>2]=H[e+16>>2];b=0;H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;f=pa(a);H[e+8>>2]=f;b=a+f|0;H[e+16>>2]=b;ra(f,0,a);H[e+12>>2]=b}a=H[d+128>>2];c=H[a>>2];if(c){H[a+4>>2]=c;oa(c);f=H[e+8>>2];b=H[e+12>>2]}H[a+4>>2]=b;H[a>>2]=f;H[a+8>>2]=H[e+16>>2];H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;xa(e+8|0);a=H[e+24>>2]+H[e+28>>2]|0;b=(a>>>0)/341|0;a=H[H[e+12>>2]+(b<<2)>>2]+N(a-N(b,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=r;c=1;a=H[e+28>>2]+1|0;H[e+28>>2]=a;e:{if(!a){break e}t=d+16|0;while(1){b=H[e+12>>2];f=H[e+24>>2];l=a-1|0;c=f+l|0;i=(c>>>0)/341|0;c=H[b+(i<<2)>>2]+N(c-N(i,341)|0,12)|0;g=H[c+8>>2];i=H[c+4>>2];j=H[c>>2];H[e+28>>2]=l;c=H[e+16>>2];if((((b|0)!=(c|0)?N(c-b>>2,341)-1|0:0)-(a+f|0)|0)+1>>>0>=682){oa(H[c-4>>2]);H[e+16>>2]=H[e+16>>2]-4}c=0;if(j>>>0>r>>>0){break e}b=H[d+12>>2];a=(b-1|0)!=(i|0)?i+1|0:0;if(a>>>0>=b>>>0){break e}f=N(g,12);o=f+H[d+128>>2]|0;l=f+H[d+116>>2]|0;i=H[d>>2];k=a<<2;n=H[k+H[o>>2]>>2];f:{if((i|0)==(n|0)){if(!j){break f}o=0;b=H[h+20>>2];g=H[h+16>>2];if((b|0)==(g|0)){a=H[d+8>>2];H[h+28>>2]=j+H[h+28>>2];H[d+8>>2]=a+j;break f}while(1){c=(b|0)==(g|0);a=b;i=0;b=g;g:{if(c){break g}while(1){f=H[h+28>>2];b=a;c=N(i,20)+g|0;k=H[c>>2];if(!I[k+84|0]){f=H[H[k+68>>2]+(f<<2)>>2]}if(K[k+80>>2]<=f>>>0){break g}n=H[l>>2]+(H[c+4>>2]<<2)|0;g=H[c+12>>2];b=n;h:{if(g>>>0>3){break h}a=0;b=H[h+12>>2];if(!H[c+16>>2]){break h}while(1){b=qa(b,n+(a<<2)|0,g);g=H[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[h+12>>2]}a=H[k+40>>2];qa(H[H[k>>2]>>2]+N(a,f)|0,b,a);i=i+1|0;a=H[h+20>>2];b=a;g=H[h+16>>2];if(i>>>0<(b-g|0)/20>>>0){continue}break}}H[h+28>>2]=H[h+28>>2]+1;H[d+8>>2]=H[d+8>>2]+1;o=o+1|0;if((j|0)!=(o|0)){continue}break}break f}i:{j:{k:{l:{if(j>>>0<=2){c=H[d+104>>2];H[c>>2]=a;f=1;b=H[d+12>>2];if(b>>>0>1){break l}break i}if(K[d+8>>2]>K[d+4>>2]){break e}b=H[d+116>>2];m=g+1|0;o=N(m,12);q=b+o|0;if((q|0)!=(l|0)){Aa(q,H[l>>2],H[l+4>>2]);b=H[d+116>>2]}b=k+H[b+o>>2]|0;H[b>>2]=H[b>>2]+(1<>2]=0;pc(t,Q(j)^31,e+4|0);b=j>>>1|0;i=H[e+4>>2];if(b>>>0>>0){break e}b=b-i|0;c=j-b|0;m:{if((c|0)==(b|0)){c=b;break m}i=H[d+84>>2];if((i|0)==H[d+76>>2]){break k}j=H[i>>2];l=H[d+88>>2];n=l+1|0;H[d+88>>2]=n;j=j&-2147483648>>>l;n:{if((n|0)==32){H[d+88>>2]=0;H[d+84>>2]=i+4;if(j){break n}break k}if(!j){break k}}}i=c;c=b;break j}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;H[c+(f<<2)>>2]=a;b=H[d+12>>2];f=f+1|0;if(b>>>0>f>>>0){continue}break}break i}i=b}b=H[d+128>>2];j=b+f|0;f=H[j>>2];l=f+k|0;H[l>>2]=H[l>>2]+1;Aa(b+o|0,f,H[j+4>>2]);if(c){b=H[e+28>>2]+H[e+24>>2]|0;j=H[e+16>>2];f=H[e+12>>2];if((b|0)==(((f|0)!=(j|0)?N(j-f>>2,341)-1|0:0)|0)){xa(e+8|0);f=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}j=(b>>>0)/341|0;b=H[(j<<2)+f>>2]+N(b-N(j,341)|0,12)|0;H[b+8>>2]=g;H[b+4>>2]=a;H[b>>2]=c;H[e+28>>2]=H[e+28>>2]+1}if(!i){break f}b=H[e+28>>2]+H[e+24>>2]|0;c=H[e+16>>2];f=H[e+12>>2];if((b|0)==(((c|0)!=(f|0)?N(c-f>>2,341)-1|0:0)|0)){xa(e+8|0);f=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}c=(b>>>0)/341|0;b=H[(c<<2)+f>>2]+N(b-N(c,341)|0,12)|0;H[b+8>>2]=m;H[b+4>>2]=a;H[b>>2]=i;H[e+28>>2]=H[e+28>>2]+1;break f}n=0;if(!j){break f}while(1){if(H[d+12>>2]){i=H[d+36>>2];q=H[o>>2];c=H[d+92>>2];u=H[d+104>>2];a=0;while(1){g=(a<<2)+u|0;H[c+(H[g>>2]<<2)>>2]=0;b=H[d>>2];f=H[g>>2]<<2;k=H[f+q>>2];o:{if((b|0)==(k|0)){break o}f=c+f|0;b=b-k|0;k=H[d+48>>2];p=32-k|0;if((b|0)<=(p|0)){m=H[d+44>>2];if((m|0)==(i|0)){c=0;break e}H[f>>2]=H[m>>2]<>>32-b;b=b+H[d+48>>2]|0;H[d+48>>2]=b;if((b|0)!=32){break o}H[d+48>>2]=0;H[d+44>>2]=m+4;break o}m=H[d+44>>2];s=m+4|0;if((i|0)==(s|0)){c=0;break e}w=H[m>>2];H[d+44>>2]=s;p=b-p|0;H[d+48>>2]=p;H[f>>2]=H[m+4>>2]>>>32-p|w<>>32-b}b=H[g>>2]<<2;g=b+c|0;H[g>>2]=H[g>>2]|H[b+H[l>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}i=0;a=H[h+16>>2];p:{if((a|0)==H[h+20>>2]){break p}while(1){f=H[h+28>>2];c=N(i,20)+a|0;k=H[c>>2];if(!I[k+84|0]){f=H[H[k+68>>2]+(f<<2)>>2]}if(K[k+80>>2]<=f>>>0){break p}m=H[d+92>>2]+(H[c+4>>2]<<2)|0;g=H[c+12>>2];b=m;q:{if(g>>>0>3){break q}a=0;b=H[h+12>>2];if(!H[c+16>>2]){break q}while(1){b=qa(b,m+(a<<2)|0,g);g=H[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[h+12>>2]}a=H[k+40>>2];qa(H[H[k>>2]>>2]+N(a,f)|0,b,a);i=i+1|0;a=H[h+16>>2];if(i>>>0<(H[h+20>>2]-a|0)/20>>>0){continue}break}}H[h+28>>2]=H[h+28>>2]+1;H[d+8>>2]=H[d+8>>2]+1;n=n+1|0;if((j|0)!=(n|0)){continue}break}}a=H[e+28>>2];if(a){continue}break}c=1}H[e+28>>2]=0;f=H[e+16>>2];a=H[e+12>>2];b=f-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[e+12>>2]+4|0;H[e+12>>2]=a;f=H[e+16>>2];b=f-a|0;if(b>>>0>8){continue}break}}g=170;r:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:H[e+24>>2]=g;break;default:break r}}s:{if((a|0)==(f|0)){break s}while(1){oa(H[a>>2]);a=a+4|0;if((f|0)!=(a|0)){continue}break}a=H[e+16>>2];b=H[e+12>>2];if((a|0)==(b|0)){break s}H[e+16>>2]=a+((b-a|0)+3&-4)}a=H[e+8>>2];if(a){oa(a)}ca=e+32|0;break b}sa();v()}sa();v()}i=c}return i}function xd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;i=H[b+8>>2];k=H[b+12>>2];n=H[b+20>>2];h=H[b+16>>2];f=h+4|0;n=f>>>0<4?n+1|0:n;a:{if((k|0)<=(n|0)&f>>>0>i>>>0|(k|0)<(n|0)){break a}h=h+H[b>>2]|0;H[a>>2]=I[h|0]|I[h+1|0]<<8|(I[h+2|0]<<16|I[h+3|0]<<24);h=H[b+20>>2];i=h;f=H[b+16>>2];h=f+4|0;k=h>>>0<4?i+1|0:i;H[b+16>>2]=h;H[b+20>>2]=k;if(K[a>>2]>32){break a}k=H[b+8>>2];n=H[b+12>>2];f=f+8|0;i=f>>>0<8?i+1|0:i;if(f>>>0>k>>>0&(i|0)>=(n|0)|(i|0)>(n|0)){break a}h=H[b>>2]+h|0;f=I[h|0]|I[h+1|0]<<8|(I[h+2|0]<<16|I[h+3|0]<<24);H[a+4>>2]=f;i=H[b+20>>2];h=H[b+16>>2]+4|0;i=h>>>0<4?i+1|0:i;H[b+16>>2]=h;H[b+20>>2]=i;if(!f){return 1}if(d>>>0>>0){break a}H[a+8>>2]=0;if(!ta(a+16|0,b)){break a}if(!ua(a+32|0,b)){break a}if(!ua(a+52|0,b)){break a}if(!ua(a+72|0,b)){break a}u=H[a+4>>2];h=c;b=0;c=0;e=ca-32|0;ca=e;f=a;a=H[a+12>>2];H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=pa(d);H[e+8>>2]=b;c=b+d|0;H[e+16>>2]=c;ra(b,0,d);H[e+12>>2]=c}j=H[f+116>>2];d=H[j>>2];if(d){H[j+4>>2]=d;oa(d);c=H[e+12>>2];b=H[e+8>>2];a=H[f+12>>2]}H[j+4>>2]=c;H[j>>2]=b;H[j+8>>2]=H[e+16>>2];b=0;H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;g=pa(a);H[e+8>>2]=g;b=a+g|0;H[e+16>>2]=b;ra(g,0,a);H[e+12>>2]=b}c=H[f+128>>2];a=H[c>>2];if(a){H[c+4>>2]=a;oa(a);g=H[e+8>>2];b=H[e+12>>2]}H[c+4>>2]=b;H[c>>2]=g;H[c+8>>2]=H[e+16>>2];H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;xa(e+8|0);b=H[e+24>>2]+H[e+28>>2]|0;a=(b>>>0)/341|0;a=H[H[e+12>>2]+(a<<2)>>2]+N(b-N(a,341)|0,12)|0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=u;d=1;a=H[e+28>>2]+1|0;H[e+28>>2]=a;e:{if(!a){break e}n=f+16|0;while(1){i=H[e+12>>2];j=H[e+24>>2];d=a-1|0;c=j+d|0;b=(c>>>0)/341|0;b=H[i+(b<<2)>>2]+N(c-N(b,341)|0,12)|0;o=H[b+8>>2];c=H[b+4>>2];m=H[b>>2];H[e+28>>2]=d;b=H[e+16>>2];if((((b|0)!=(i|0)?N(b-i>>2,341)-1|0:0)-(a+j|0)|0)+1>>>0>=682){oa(H[b-4>>2]);H[e+16>>2]=H[e+16>>2]-4}if(m>>>0>u>>>0){d=0;break e}d=0;b=H[f+12>>2];a=(c|0)!=(b-1|0)?c+1|0:0;if(a>>>0>=b>>>0){break e}b=H[f+116>>2];p=N(o,12);r=b+p|0;j=H[f>>2];g=a<<2;k=p+H[f+128>>2]|0;c=H[g+H[k>>2]>>2];f:{if((j|0)==(c|0)){if(!m){break f}b=H[h+20>>2];c=H[h+16>>2];if((b|0)==(c|0)){a=H[f+8>>2];H[h+28>>2]=m+H[h+28>>2];H[f+8>>2]=a+m;break f}while(1){i=(b|0)==(c|0);a=b;j=0;b=c;g:{if(i){break g}while(1){g=H[h+28>>2];b=a;l=N(j,20)+c|0;k=H[l>>2];if(!I[k+84|0]){g=H[H[k+68>>2]+(g<<2)>>2]}if(K[k+80>>2]<=g>>>0){break g}i=H[r>>2]+(H[l+4>>2]<<2)|0;c=H[l+12>>2];b=i;h:{if(c>>>0>3){break h}a=0;b=H[h+12>>2];if(!H[l+16>>2]){break h}while(1){b=qa(b,i+(a<<2)|0,c);c=H[l+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[h+12>>2]}a=H[k+40>>2];qa(H[H[k>>2]>>2]+N(a,g)|0,b,a);j=j+1|0;a=H[h+20>>2];b=a;c=H[h+16>>2];if(j>>>0<(b-c|0)/20>>>0){continue}break}}H[h+28>>2]=H[h+28>>2]+1;H[f+8>>2]=H[f+8>>2]+1;d=d+1|0;if((m|0)!=(d|0)){continue}break}break f}i:{j:{k:{l:{if(m>>>0<=2){c=H[f+104>>2];H[c>>2]=a;g=1;b=H[f+12>>2];if(b>>>0>1){break l}break i}if(K[f+8>>2]>K[f+4>>2]){break e}i=b;b=p+12|0;Aa(i+b|0,H[r>>2],H[r+4>>2]);b=g+H[b+H[f+116>>2]>>2]|0;H[b>>2]=H[b>>2]+(1<>2]=0;pc(n,Q(m)^31,e+4|0);c=m>>>1|0;b=H[e+4>>2];if(c>>>0>>0){break e}l=o+1|0;b=c-b|0;c=m-b|0;m:{if((c|0)==(b|0)){c=b;break m}k=H[f+84>>2];if((k|0)==H[f+76>>2]){break k}i=H[k>>2];j=H[f+88>>2];d=j+1|0;H[f+88>>2]=d;j=i&-2147483648>>>j;n:{if((d|0)==32){H[f+88>>2]=0;H[f+84>>2]=k+4;if(j){break n}break k}if(!j){break k}}}j=c;c=b;break j}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;H[c+(g<<2)>>2]=a;b=H[f+12>>2];g=g+1|0;if(b>>>0>g>>>0){continue}break}break i}j=b}k=H[f+128>>2];i=k+p|0;d=H[i>>2];b=d+g|0;H[b>>2]=H[b>>2]+1;Aa(k+N(l,12)|0,d,H[i+4>>2]);if(c){b=H[e+28>>2]+H[e+24>>2]|0;d=H[e+16>>2];g=H[e+12>>2];if((b|0)==(((d|0)!=(g|0)?N(d-g>>2,341)-1|0:0)|0)){xa(e+8|0);g=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}d=(b>>>0)/341|0;b=H[(d<<2)+g>>2]+N(b-N(d,341)|0,12)|0;H[b+8>>2]=o;H[b+4>>2]=a;H[b>>2]=c;H[e+28>>2]=H[e+28>>2]+1}if(!j){break f}b=H[e+28>>2]+H[e+24>>2]|0;c=H[e+16>>2];g=H[e+12>>2];if((b|0)==(((c|0)!=(g|0)?N(c-g>>2,341)-1|0:0)|0)){xa(e+8|0);g=H[e+12>>2];b=H[e+24>>2]+H[e+28>>2]|0}c=(b>>>0)/341|0;b=H[(c<<2)+g>>2]+N(b-N(c,341)|0,12)|0;H[b+8>>2]=l;H[b+4>>2]=a;H[b>>2]=j;H[e+28>>2]=H[e+28>>2]+1;break f}s=0;if(!m){break f}while(1){if(H[f+12>>2]){w=H[f+36>>2];i=H[k>>2];t=H[f+92>>2];j=H[f+104>>2];a=0;while(1){o=(a<<2)+j|0;H[t+(H[o>>2]<<2)>>2]=0;d=H[f>>2];c=H[o>>2]<<2;b=H[c+i>>2];o:{if((d|0)==(b|0)){break o}p=c+t|0;q=d-b|0;g=H[f+48>>2];d=32-g|0;if((q|0)<=(d|0)){c=H[f+44>>2];if((c|0)==(w|0)){d=0;break e}H[p>>2]=H[c>>2]<>>32-q;b=q+H[f+48>>2]|0;H[f+48>>2]=b;if((b|0)!=32){break o}H[f+48>>2]=0;H[f+44>>2]=c+4;break o}l=H[f+44>>2];b=l+4|0;if((w|0)==(b|0)){d=0;break e}c=H[l>>2];H[f+44>>2]=b;b=q-d|0;H[f+48>>2]=b;H[p>>2]=H[l+4>>2]>>>32-b|c<>>32-q}c=H[o>>2]<<2;b=c+t|0;H[b>>2]=H[b>>2]|H[c+H[r>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}j=0;a=H[h+16>>2];p:{if((a|0)==H[h+20>>2]){break p}while(1){g=H[h+28>>2];l=N(j,20)+a|0;i=H[l>>2];if(!I[i+84|0]){g=H[H[i+68>>2]+(g<<2)>>2]}if(K[i+80>>2]<=g>>>0){break p}d=H[f+92>>2]+(H[l+4>>2]<<2)|0;c=H[l+12>>2];b=d;q:{if(c>>>0>3){break q}a=0;b=H[h+12>>2];if(!H[l+16>>2]){break q}while(1){b=qa(b,d+(a<<2)|0,c);c=H[l+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=H[h+12>>2]}a=H[i+40>>2];qa(H[H[i>>2]>>2]+N(a,g)|0,b,a);j=j+1|0;a=H[h+16>>2];if(j>>>0<(H[h+20>>2]-a|0)/20>>>0){continue}break}}H[h+28>>2]=H[h+28>>2]+1;H[f+8>>2]=H[f+8>>2]+1;s=s+1|0;if((m|0)!=(s|0)){continue}break}}a=H[e+28>>2];if(a){continue}break}d=1}H[e+28>>2]=0;g=H[e+16>>2];a=H[e+12>>2];b=g-a|0;if(b>>>0>=9){while(1){oa(H[a>>2]);a=H[e+12>>2]+4|0;H[e+12>>2]=a;g=H[e+16>>2];b=g-a|0;if(b>>>0>8){continue}break}}c=170;r:{switch((b>>>2|0)-1|0){case 1:c=341;case 0:H[e+24>>2]=c;break;default:break r}}s:{if((a|0)==(g|0)){break s}while(1){oa(H[a>>2]);a=a+4|0;if((g|0)!=(a|0)){continue}break}b=H[e+16>>2];a=H[e+12>>2];if((b|0)==(a|0)){break s}H[e+16>>2]=b+((a-b|0)+3&-4)}a=H[e+8>>2];if(a){oa(a)}ca=e+32|0;j=d;break b}sa();v()}sa();v()}}return j}function $c(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;h=ca-32|0;ca=h;g=H[H[a+4>>2]+44>>2];c=H[a+8>>2];d=H[c>>2];c=H[c+4>>2];H[h+24>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;d=(c-d>>2>>>0)/3|0;c=H[g+96>>2];f=(H[g+100>>2]-c|0)/12|0;a:{if(d>>>0>f>>>0){e=d-f|0;i=H[g+104>>2];c=H[g+100>>2];if(e>>>0<=(i-c|0)/12>>>0){b:{if(!e){break b}d=c;f=N(e,12)-12|0;i=((f>>>0)/12|0)+1&3;if(i){while(1){l=H[h+20>>2];H[d>>2]=H[h+16>>2];H[d+4>>2]=l;H[d+8>>2]=H[h+24>>2];d=d+12|0;j=j+1|0;if((i|0)!=(j|0)){continue}break}}c=N(e,12)+c|0;if(f>>>0<36){break b}while(1){f=H[h+20>>2];H[d>>2]=H[h+16>>2];H[d+4>>2]=f;H[d+8>>2]=H[h+24>>2];H[d+20>>2]=H[h+24>>2];f=H[h+20>>2];H[d+12>>2]=H[h+16>>2];H[d+16>>2]=f;H[d+32>>2]=H[h+24>>2];f=H[h+20>>2];H[d+24>>2]=H[h+16>>2];H[d+28>>2]=f;f=H[h+20>>2];H[d+36>>2]=H[h+16>>2];H[d+40>>2]=f;H[d+44>>2]=H[h+24>>2];d=d+48|0;if((d|0)!=(c|0)){continue}break}}H[g+100>>2]=c;break a}c:{f=H[g+96>>2];n=(c-f|0)/12|0;d=n+e|0;if(d>>>0<357913942){f=(i-f|0)/12|0;i=f<<1;i=f>>>0>=178956970?357913941:d>>>0>>0?i:d;if(i){if(i>>>0>=357913942){break c}l=pa(N(i,12))}f=N(n,12)+l|0;d=f;e=N(e,12);n=e-12|0;q=((n>>>0)/12|0)+1&3;if(q){while(1){r=H[h+20>>2];H[d>>2]=H[h+16>>2];H[d+4>>2]=r;H[d+8>>2]=H[h+24>>2];d=d+12|0;j=j+1|0;if((q|0)!=(j|0)){continue}break}}e=e+f|0;if(n>>>0>=36){while(1){j=H[h+20>>2];H[d>>2]=H[h+16>>2];H[d+4>>2]=j;H[d+8>>2]=H[h+24>>2];H[d+20>>2]=H[h+24>>2];j=H[h+20>>2];H[d+12>>2]=H[h+16>>2];H[d+16>>2]=j;H[d+32>>2]=H[h+24>>2];j=H[h+20>>2];H[d+24>>2]=H[h+16>>2];H[d+28>>2]=j;j=H[h+20>>2];H[d+36>>2]=H[h+16>>2];H[d+40>>2]=j;H[d+44>>2]=H[h+24>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}j=H[g+96>>2];if((j|0)!=(c|0)){while(1){c=c-12|0;n=H[c+4>>2];f=f-12|0;d=f;H[d>>2]=H[c>>2];H[d+4>>2]=n;H[d+8>>2]=H[c+8>>2];if((c|0)!=(j|0)){continue}break}c=H[g+96>>2]}H[g+104>>2]=N(i,12)+l;H[g+100>>2]=e;H[g+96>>2]=f;if(c){oa(c)}break a}sa();v()}wa();v()}if(d>>>0>=f>>>0){break a}H[g+100>>2]=c+N(d,12)}d:{if(H[a+216>>2]==H[a+220>>2]){j=H[a+4>>2];c=H[j+44>>2];d=H[c+100>>2];f=H[c+96>>2];if((d|0)!=(f|0)){c=(d-f|0)/12|0;o=c>>>0<=1?1:c;c=0;while(1){d=H[a+8>>2];i=f+N(c,12)|0;g=N(c,3);e:{f:{if((g|0)==-1){e=H[(H[d>>2]+(g<<2)|0)+4>>2];k=-1;g=1;break f}e=-1;k=H[H[d>>2]+(g<<2)>>2];l=g+1|0;if((l|0)==-1){g=0;break f}e=H[H[d>>2]+(l<<2)>>2];g=g+2|0;m=-1;if((g|0)==-1){break e}}m=H[H[d>>2]+(g<<2)>>2]}H[i+8>>2]=m;H[i+4>>2]=e;H[i>>2]=k;c=c+1|0;if((o|0)!=(c|0)){continue}break}}H[H[j+4>>2]+80>>2]=b;c=1;break d}d=0;H[h+24>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;l=H[a+8>>2];c=H[l>>2];g=H[l+4>>2];H[h+8>>2]=0;H[h>>2]=0;H[h+4>>2]=0;b=0;g:{h:{i:{j:{k:{l:{if((c|0)!=(g|0)){c=g-c|0;if((c|0)<0){break l}b=pa(c);H[h>>2]=b;H[h+8>>2]=(c&-4)+b;u=h,w=ra(b,0,c)+c|0,H[u+4>>2]=w}c=H[l+24>>2];if((H[l+28>>2]-c|0)<4){break h}f=0;while(1){g=H[(p<<2)+c>>2];m:{if((g|0)==-1){break m}n:{if(H[H[a+120>>2]+(p>>>3&536870908)>>2]>>>p&1){break n}n=H[a+216>>2];c=H[a+220>>2];if((n|0)==(c|0)){break n}e=g+2|0;i=(g>>>0)%3|0;q=i?g-1|0:e;c=(c-n|0)/144|0;r=c>>>0<=1?1:c;j=0;t=(i|0)!=0|(e|0)!=-1;while(1){s=g<<2;i=N(j,144)+n|0;c=H[s+H[H[i+68>>2]>>2]>>2];o:{if(!(H[H[i+16>>2]+(c>>>3&536870908)>>2]>>>c&1)){break o}c=-1;p:{if(!t){break p}e=H[H[l+12>>2]+(q<<2)>>2];c=-1;if((e|0)==-1){break p}c=e-1|0;if((e>>>0)%3|0){break p}c=e+2|0}if((g|0)==(c|0)){break o}e=s;s=H[i+32>>2];i=H[e+s>>2];while(1){e=0;if((c|0)==-1){break g}if((i|0)!=H[s+(c<<2)>>2]){g=c;break n}q:{r:{if((c>>>0)%3|0){e=c-1|0;break r}e=c+2|0;m=-1;if((e|0)==-1){break q}}c=H[H[l+12>>2]+(e<<2)>>2];m=-1;if((c|0)==-1){break q}m=c-1|0;if((c>>>0)%3|0){break q}m=c+2|0}c=m;if((g|0)!=(c|0)){continue}break}}j=j+1|0;if((r|0)!=(j|0)){continue}break}}i=k-f|0;e=i>>2;H[(g<<2)+b>>2]=e;s:{if(k>>>0>>0){H[k>>2]=g;k=k+4|0;H[h+20>>2]=k;break s}c=e+1|0;if(c>>>0>=1073741824){break k}d=o-f|0;k=d>>>1|0;c=d>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}d=pa(c<<2)}else{d=0}e=d+(e<<2)|0;H[e>>2]=g;m=c<<2;c=va(d,f,i);o=m+c|0;H[h+24>>2]=o;k=e+4|0;H[h+20>>2]=k;H[h+16>>2]=c;if(f){oa(f);l=H[a+8>>2]}f=c}if((g|0)==-1){break m}t:{if((g>>>0)%3|0){c=g-1|0;break t}c=g+2|0;if((c|0)==-1){break m}}c=H[H[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=g;if((c|0)==(g|0)){break m}while(1){i=c;u:{v:{c=H[a+220>>2];j=H[a+216>>2];if((c|0)==(j|0)){break v}c=(c-j|0)/144|0;n=c>>>0<=1?1:c;c=0;while(1){q=H[(j+N(c,144)|0)+32>>2];r=i<<2;if(H[q+r>>2]==H[q+(e<<2)>>2]){c=c+1|0;if((n|0)!=(c|0)){continue}break v}break}j=k-d|0;e=j>>2;H[b+r>>2]=e;if(k>>>0>>0){H[k>>2]=i;k=k+4|0;H[h+20>>2]=k;f=d;break u}c=e+1|0;if(c>>>0>=1073741824){break i}f=o-d|0;k=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}f=pa(c<<2)}else{f=0}e=f+(e<<2)|0;H[e>>2]=i;m=c<<2;c=va(f,d,j);o=m+c|0;H[h+24>>2]=o;k=e+4|0;H[h+20>>2]=k;H[h+16>>2]=c;if(!d){d=c;break u}oa(d);l=H[a+8>>2];d=c;break u}H[(i<<2)+b>>2]=H[(e<<2)+b>>2]}if((i|0)==-1){break m}w:{if((i>>>0)%3|0){c=i-1|0;break w}c=i+2|0;if((c|0)==-1){break m}}c=H[H[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=i;if((c|0)!=(g|0)){continue}break}}p=p+1|0;c=H[l+24>>2];if((p|0)>2]-c>>2){continue}break}break h}sa();v()}sa();v()}wa();v()}sa();v()}i=H[a+4>>2];a=H[i+44>>2];c=H[a+100>>2];a=H[a+96>>2];x:{if((c|0)==(a|0)){break x}g=(c-a|0)/12|0;f=g>>>0<=1?1:g;l=f&1;c=0;if(g>>>0>=2){j=f&-2;g=0;while(1){e=N(c,12);f=e+b|0;o=H[f>>2];p=H[f+4>>2];e=a+e|0;H[e+8>>2]=H[f+8>>2];H[e>>2]=o;H[e+4>>2]=p;e=N(c|1,12);f=e+b|0;o=H[f>>2];p=H[f+4>>2];e=a+e|0;H[e+8>>2]=H[f+8>>2];H[e>>2]=o;H[e+4>>2]=p;c=c+2|0;g=g+2|0;if((j|0)!=(g|0)){continue}break}}if(!l){break x}g=N(c,12);c=g+b|0;f=H[c>>2];e=H[c+4>>2];a=a+g|0;H[a+8>>2]=H[c+8>>2];H[a>>2]=f;H[a+4>>2]=e}H[H[i+4>>2]+80>>2]=k-d>>2;e=1}c=e;if(b){oa(b)}if(!d){break d}H[h+20>>2]=d;oa(d)}ca=h+32|0;return c}function Fj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0;g=ca+-64|0;ca=g;H[a+8>>2]=e;y=a+32|0;f=H[y>>2];d=H[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){ya(y,e-d|0);H[g+56>>2]=0;H[g+60>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g>>2]=0;break b}if(d>>>0>e>>>0){H[a+36>>2]=f+(e<<2)}H[g+56>>2]=0;H[g+60>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g>>2]=0;d=0;if(!e){break a}}Pa(g+16|0,e,g);h=H[g+28>>2];d=H[g+32>>2]}H[g>>2]=0;d=d-h>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}H[g+32>>2]=(e<<2)+h;break c}Pa(g+16|12,e-d|0,g)}H[g>>2]=0;f=H[g+40>>2];d=H[g+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}H[g+44>>2]=f+(e<<2);break d}Pa(g+40|0,e-d|0,g)}H[g>>2]=0;f=H[g+52>>2];d=H[g+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}H[g+56>>2]=f+(e<<2);break e}Pa(g+52|0,e-d|0,g)}f:{if(H[a+8>>2]<=0){break f}i=H[g+16>>2];j=H[a+32>>2];h=0;while(1){d=h<<2;f=H[d+i>>2];m=H[a+16>>2];g:{if((f|0)>(m|0)){H[d+j>>2]=m;break g}d=d+j|0;m=H[a+12>>2];if((m|0)>(f|0)){H[d>>2]=m;break g}H[d>>2]=f}h=h+1|0;d=H[a+8>>2];if((h|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){i=d<<2;f=i+c|0;i=H[b+i>>2]+H[j+i>>2]|0;H[f>>2]=i;h:{if((i|0)>H[a+16>>2]){i=i-H[a+20>>2]|0}else{if((i|0)>=H[a+12>>2]){break h}i=i+H[a+20>>2]|0}H[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}G=H[a+52>>2];t=H[a+48>>2];z=pa(16);d=z;H[d>>2]=0;H[d+4>>2]=0;H[d+8>>2]=0;H[d+12>>2]=0;H[g+8>>2]=0;H[g>>2]=0;H[g+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;r=pa(d);H[g>>2]=r;H[g+8>>2]=d+r;ra(r,0,d)}A=1;d=H[a+56>>2];B=H[d>>2];d=H[d+4>>2]-B|0;j:{if((d|0)<8){break j}w=d>>2;I=(w|0)<=2?2:w;J=w>>>0<=1?1:w;C=e&-2;D=e&1;K=e&-4;E=e&3;F=e-1|0;L=e<<2;M=e>>>0<4;A=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(J|0)){o:{p:{f=H[(m<<2)+B>>2];if((f|0)==-1){break p}k=1;d=f+2|0;j=(f>>>0)%3|0;x=j?f-1|0:d;s=1<>2];O=n+(x>>>3&536870908)|0;i=0;P=(j|0)!=0|(d|0)!=-1;d=f;q:{while(1){r:{if(H[n+(d>>>3&536870908)>>2]>>>d&1){break r}j=H[H[H[t+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break r}l=H[G>>2];h=H[t+28>>2];p=H[l+(H[h+(j<<2)>>2]<<2)>>2];if((p|0)>=(m|0)){break r}q=j+1|0;q=H[l+(H[h+(((q>>>0)%3|0?q:j-2|0)<<2)>>2]<<2)>>2];if((q|0)>=(m|0)){break r}h=H[l+(H[h+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((h|0)>=(m|0)){break r}s:{if(!e){break s}j=H[(g+16|0)+N(i,12)>>2];l=N(e,h);q=N(e,q);p=N(e,p);h=0;o=0;if(F){while(1){H[j+(h<<2)>>2]=(H[(h+l<<2)+c>>2]+H[(h+q<<2)+c>>2]|0)-H[(h+p<<2)+c>>2];u=h|1;H[j+(u<<2)>>2]=(H[(l+u<<2)+c>>2]+H[(q+u<<2)+c>>2]|0)-H[(p+u<<2)+c>>2];h=h+2|0;o=o+2|0;if((C|0)!=(o|0)){continue}break}}if(!D){break s}H[j+(h<<2)>>2]=(H[(h+l<<2)+c>>2]+H[(h+q<<2)+c>>2]|0)-H[(h+p<<2)+c>>2]}j=4;i=i+1|0;if((i|0)==4){break q}}t:{if(k&1){h=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:h;if((j|0)==-1|H[n+(j>>>3&536870908)>>2]>>>j&1){break t}j=H[H[H[t+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break t}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break t}u:{if((d>>>0)%3|0){h=d-1|0;break u}h=d+2|0;d=-1;if((h|0)==-1){break t}}d=-1;if(H[n+(h>>>3&536870908)>>2]>>>h&1){break t}j=H[H[H[t+64>>2]+12>>2]+(h<<2)>>2];if((j|0)==-1){break t}if((j>>>0)%3|0){d=j-1|0;break t}d=j+2|0}v:{if((d|0)==(f|0)){break v}if((d|0)==-1&k){if(!P|s&H[O>>2]){break v}d=H[H[H[t+64>>2]+12>>2]+(x<<2)>>2];if((d|0)==-1){break v}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}j=i;if((j|0)<=0){break p}}if(e){ra(r,0,L)}d=j-1|0;q=(d<<2)+z|0;d=N(d,12)+a|0;u=d;x=H[d- -64>>2];k=0;d=H[g>>2];f=0;while(1){i=H[q>>2];H[q>>2]=i+1;if(i>>>0>=x>>>0){break j}w:{if(H[H[u+60>>2]+(i>>>3&536870908)>>2]>>>i&1){break w}f=f+1|0;if(!e){break w}n=H[(g+16|0)+N(k,12)>>2];i=0;h=0;p=0;if(!M){while(1){l=h<<2;o=l+d|0;H[o>>2]=H[l+n>>2]+H[o>>2];o=l|4;s=o+d|0;H[s>>2]=H[n+o>>2]+H[s>>2];o=l|8;s=o+d|0;H[s>>2]=H[n+o>>2]+H[s>>2];l=l|12;o=l+d|0;H[o>>2]=H[l+n>>2]+H[o>>2];h=h+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break w}while(1){l=h<<2;p=l+d|0;H[p>>2]=H[l+n>>2]+H[p>>2];h=h+1|0;i=i+1|0;if((E|0)!=(i|0)){continue}break}}k=k+1|0;if((k|0)!=(j|0)){continue}break}i=N(e,m);if(!f){break o}if(!e){break l}h=0;d=0;if(F){break n}break m}i=N(e,m)}if(H[a+8>>2]<=0){break k}k=(N(m-1|0,e)<<2)+c|0;j=H[y>>2];h=0;while(1){d=h<<2;f=H[d+k>>2];n=H[a+16>>2];x:{if((f|0)>(n|0)){H[d+j>>2]=n;break x}d=d+j|0;n=H[a+12>>2];if((n|0)>(f|0)){H[d>>2]=n;break x}H[d>>2]=f}h=h+1|0;f=H[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=H[i+k>>2]+H[j+i>>2]|0;H[f>>2]=i;y:{if((i|0)>H[a+16>>2]){i=i-H[a+20>>2]|0}else{if((i|0)>=H[a+12>>2]){break y}i=i+H[a+20>>2]|0}H[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}break k}Ca();v()}while(1){j=h<<2;k=j+r|0;H[k>>2]=H[k>>2]/(f|0);j=(j|4)+r|0;H[j>>2]=H[j>>2]/(f|0);h=h+2|0;d=d+2|0;if((C|0)!=(d|0)){continue}break}}if(!D){break l}d=(h<<2)+r|0;H[d>>2]=H[d>>2]/(f|0)}if(H[a+8>>2]<=0){break k}j=H[y>>2];h=0;while(1){d=h<<2;f=H[d+r>>2];k=H[a+16>>2];z:{if((f|0)>(k|0)){H[d+j>>2]=k;break z}d=d+j|0;k=H[a+12>>2];if((k|0)>(f|0)){H[d>>2]=k;break z}H[d>>2]=f}h=h+1|0;f=H[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=H[i+k>>2]+H[j+i>>2]|0;H[f>>2]=i;A:{if((i|0)>H[a+16>>2]){i=i-H[a+20>>2]|0}else{if((i|0)>=H[a+12>>2]){break A}i=i+H[a+20>>2]|0}H[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;A=(w|0)<=(m|0);if((m|0)!=(I|0)){continue}break}}a=H[g>>2];if(a){oa(a)}oa(z);a=H[g+52>>2];if(a){H[g+56>>2]=a;oa(a)}a=H[g+40>>2];if(a){H[g+44>>2]=a;oa(a)}a=H[g+28>>2];if(a){H[g+32>>2]=a;oa(a)}a=H[g+16>>2];if(a){H[g+20>>2]=a;oa(a)}ca=g- -64|0;return A|0}sa();v()}function oj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;h=ca+-64|0;ca=h;H[a+8>>2]=e;x=a+32|0;f=H[x>>2];d=H[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){ya(x,e-d|0);H[h+56>>2]=0;H[h+60>>2]=0;H[h+48>>2]=0;H[h+52>>2]=0;H[h+40>>2]=0;H[h+44>>2]=0;H[h+32>>2]=0;H[h+36>>2]=0;H[h+24>>2]=0;H[h+28>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;H[h>>2]=0;break b}if(d>>>0>e>>>0){H[a+36>>2]=f+(e<<2)}H[h+56>>2]=0;H[h+60>>2]=0;H[h+48>>2]=0;H[h+52>>2]=0;H[h+40>>2]=0;H[h+44>>2]=0;H[h+32>>2]=0;H[h+36>>2]=0;H[h+24>>2]=0;H[h+28>>2]=0;H[h+16>>2]=0;H[h+20>>2]=0;H[h>>2]=0;d=0;if(!e){break a}}Pa(h+16|0,e,h);i=H[h+28>>2];d=H[h+32>>2]}H[h>>2]=0;d=d-i>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}H[h+32>>2]=(e<<2)+i;break c}Pa(h+16|12,e-d|0,h)}H[h>>2]=0;f=H[h+40>>2];d=H[h+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}H[h+44>>2]=f+(e<<2);break d}Pa(h+40|0,e-d|0,h)}H[h>>2]=0;f=H[h+52>>2];d=H[h+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}H[h+56>>2]=f+(e<<2);break e}Pa(h+52|0,e-d|0,h)}f:{if(H[a+8>>2]<=0){break f}g=H[h+16>>2];j=H[a+32>>2];i=0;while(1){d=i<<2;f=H[d+g>>2];m=H[a+16>>2];g:{if((f|0)>(m|0)){H[d+j>>2]=m;break g}d=d+j|0;m=H[a+12>>2];if((m|0)>(f|0)){H[d>>2]=m;break g}H[d>>2]=f}i=i+1|0;d=H[a+8>>2];if((i|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){g=d<<2;f=g+c|0;g=H[b+g>>2]+H[g+j>>2]|0;H[f>>2]=g;h:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break h}g=g+H[a+20>>2]|0}H[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}G=H[a+52>>2];A=H[a+48>>2];y=pa(16);d=y;H[d>>2]=0;H[d+4>>2]=0;H[d+8>>2]=0;H[d+12>>2]=0;H[h+8>>2]=0;H[h>>2]=0;H[h+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;t=pa(d);H[h>>2]=t;H[h+8>>2]=d+t;ra(t,0,d)}z=1;d=H[a+56>>2];B=H[d>>2];d=H[d+4>>2]-B|0;j:{if((d|0)<8){break j}w=d>>2;I=(w|0)<=2?2:w;J=w>>>0<=1?1:w;C=e&-2;D=e&1;K=e&-4;E=e&3;F=e-1|0;L=e<<2;M=e>>>0<4;z=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(J|0)){o:{p:{f=H[(m<<2)+B>>2];if((f|0)==-1){break p}n=H[A+12>>2];d=f+2|0;g=(f>>>0)%3|0;q=n+((g?f-1|0:d)<<2)|0;j=0;u=(g|0)!=0|(d|0)!=-1;k=1;d=f;q:{while(1){g=H[n+(d<<2)>>2];r:{if((g|0)==-1){break r}l=-1;p=H[G>>2];r=H[A>>2];i=p+(H[r+(g<<2)>>2]<<2)|0;o=g+1|0;o=(o>>>0)%3|0?o:g-2|0;if((o|0)!=-1){l=H[r+(o<<2)>>2]}o=H[i>>2];s:{t:{if((g>>>0)%3|0){i=g-1|0;break t}i=g+2|0;s=-1;if((i|0)==-1){break s}}s=H[r+(i<<2)>>2]}if((m|0)<=(o|0)){break r}i=H[p+(l<<2)>>2];if((i|0)>=(m|0)){break r}l=H[p+(s<<2)>>2];if((l|0)>=(m|0)){break r}g=H[(h+16|0)+N(j,12)>>2];u:{if(!e){break u}l=N(e,l);r=N(e,i);p=N(e,o);i=0;s=0;if(F){while(1){H[g+(i<<2)>>2]=(H[(i+l<<2)+c>>2]+H[(i+r<<2)+c>>2]|0)-H[(i+p<<2)+c>>2];o=i|1;H[g+(o<<2)>>2]=(H[(l+o<<2)+c>>2]+H[(o+r<<2)+c>>2]|0)-H[(o+p<<2)+c>>2];i=i+2|0;s=s+2|0;if((C|0)!=(s|0)){continue}break}}if(!D){break u}H[g+(i<<2)>>2]=(H[(i+l<<2)+c>>2]+H[(i+r<<2)+c>>2]|0)-H[(i+p<<2)+c>>2]}g=4;j=j+1|0;if((j|0)==4){break q}}v:{if(k&1){i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;g=-1;if((d|0)==-1){break v}d=H[n+(d<<2)>>2];g=-1;if((d|0)==-1){break v}g=d+1|0;g=(g>>>0)%3|0?g:d-2|0;break v}w:{if((d>>>0)%3|0){i=d-1|0;break w}i=d+2|0;g=-1;if((i|0)==-1){break v}}d=H[n+(i<<2)>>2];g=-1;if((d|0)==-1){break v}g=d-1|0;if((d>>>0)%3|0){break v}g=d+2|0}d=g;x:{if((f|0)==(d|0)){break x}if((d|0)==-1&k){if(!u){break x}d=H[q>>2];if((d|0)==-1){break x}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}g=j;if((g|0)<=0){break p}}if(e){ra(t,0,L)}d=g-1|0;r=(d<<2)+y|0;d=N(d,12)+a|0;o=d;s=H[d- -64>>2];k=0;d=H[h>>2];f=0;while(1){j=H[r>>2];H[r>>2]=j+1;if(j>>>0>=s>>>0){break j}y:{if(H[H[o+60>>2]+(j>>>3&536870908)>>2]>>>j&1){break y}f=f+1|0;if(!e){break y}j=H[(h+16|0)+N(k,12)>>2];l=0;i=0;p=0;if(!M){while(1){n=i<<2;q=n+d|0;H[q>>2]=H[j+n>>2]+H[q>>2];q=n|4;u=q+d|0;H[u>>2]=H[j+q>>2]+H[u>>2];q=n|8;u=q+d|0;H[u>>2]=H[j+q>>2]+H[u>>2];n=n|12;q=n+d|0;H[q>>2]=H[j+n>>2]+H[q>>2];i=i+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break y}while(1){n=i<<2;p=n+d|0;H[p>>2]=H[j+n>>2]+H[p>>2];i=i+1|0;l=l+1|0;if((E|0)!=(l|0)){continue}break}}k=k+1|0;if((k|0)!=(g|0)){continue}break}g=N(e,m);if(!f){break o}if(!e){break l}i=0;d=0;if(F){break n}break m}g=N(e,m)}if(H[a+8>>2]<=0){break k}k=(N(m-1|0,e)<<2)+c|0;j=H[x>>2];i=0;while(1){d=i<<2;f=H[d+k>>2];l=H[a+16>>2];z:{if((f|0)>(l|0)){H[d+j>>2]=l;break z}d=d+j|0;l=H[a+12>>2];if((l|0)>(f|0)){H[d>>2]=l;break z}H[d>>2]=f}i=i+1|0;f=H[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=H[g+k>>2]+H[g+j>>2]|0;H[f>>2]=g;A:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break A}g=g+H[a+20>>2]|0}H[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}break k}Ca();v()}while(1){j=i<<2;k=j+t|0;H[k>>2]=H[k>>2]/(f|0);j=(j|4)+t|0;H[j>>2]=H[j>>2]/(f|0);i=i+2|0;d=d+2|0;if((C|0)!=(d|0)){continue}break}}if(!D){break l}d=(i<<2)+t|0;H[d>>2]=H[d>>2]/(f|0)}if(H[a+8>>2]<=0){break k}j=H[x>>2];i=0;while(1){d=i<<2;f=H[d+t>>2];k=H[a+16>>2];B:{if((f|0)>(k|0)){H[d+j>>2]=k;break B}d=d+j|0;k=H[a+12>>2];if((k|0)>(f|0)){H[d>>2]=k;break B}H[d>>2]=f}i=i+1|0;f=H[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=H[g+k>>2]+H[g+j>>2]|0;H[f>>2]=g;C:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break C}g=g+H[a+20>>2]|0}H[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;z=(w|0)<=(m|0);if((m|0)!=(I|0)){continue}break}}a=H[h>>2];if(a){oa(a)}oa(y);a=H[h+52>>2];if(a){H[h+56>>2]=a;oa(a)}a=H[h+40>>2];if(a){H[h+44>>2]=a;oa(a)}a=H[h+28>>2];if(a){H[h+32>>2]=a;oa(a)}a=H[h+16>>2];if(a){H[h+20>>2]=a;oa(a)}ca=h- -64|0;return z|0}sa();v()}function Od(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0;i=ca-80|0;ca=i;H[i+76>>2]=b;y=i+55|0;r=i+56|0;a:{b:{c:{d:{e:while(1){h=b;if((o^2147483647)<(f|0)){break d}o=f+o|0;f:{g:{h:{f=h;g=I[f|0];if(g){while(1){i:{b=g&255;j:{if(!b){b=f;break j}if((b|0)!=37){break i}g=f;while(1){if(I[g+1|0]!=37){b=g;break j}f=f+1|0;j=I[g+2|0];b=g+2|0;g=b;if((j|0)==37){continue}break}}f=f-h|0;x=o^2147483647;if((f|0)>(x|0)){break d}if(a){Ab(a,h,f)}if(f){continue e}H[i+76>>2]=b;f=b+1|0;p=-1;if(!(I[b+2|0]!=36|F[b+1|0]-48>>>0>=10)){p=F[b+1|0]-48|0;s=1;f=b+3|0}H[i+76>>2]=f;n=0;g=F[f|0];b=g-32|0;k:{if(b>>>0>31){k=f;break k}k=f;b=1<>2]=k;n=b|n;g=F[f+1|0];b=g-32|0;if(b>>>0>=32){break k}f=k;b=1<>>0>=10)){H[((F[k+1|0]<<2)+e|0)-192>>2]=10;g=k+3|0;s=1;b=H[((F[k+1|0]<<3)+d|0)-384>>2];break m}if(s){break h}g=k+1|0;if(!a){H[i+76>>2]=g;s=0;q=0;break l}b=H[c>>2];H[c>>2]=b+4;s=0;b=H[b>>2]}H[i+76>>2]=g;q=b;if((b|0)>=0){break l}q=0-q|0;n=n|8192;break l}q=Nd(i+76|0);if((q|0)<0){break d}g=H[i+76>>2]}f=0;m=-1;n:{if(I[g|0]!=46){b=g;u=0;break n}if(I[g+1|0]==42){o:{if(!(I[g+3|0]!=36|F[g+2|0]-48>>>0>=10)){H[((F[g+2|0]<<2)+e|0)-192>>2]=10;b=g+4|0;m=H[((F[g+2|0]<<3)+d|0)-384>>2];break o}if(s){break h}b=g+2|0;m=0;if(!a){break o}j=H[c>>2];H[c>>2]=j+4;m=H[j>>2]}H[i+76>>2]=b;u=(m^-1)>>>31|0;break n}H[i+76>>2]=g+1;m=Nd(i+76|0);b=H[i+76>>2];u=1}while(1){g=f;k=28;l=b;f=F[b|0];if(f-123>>>0<4294967238){break c}b=l+1|0;f=I[(f+N(g,58)|0)+13711|0];if(f-1>>>0<8){continue}break}H[i+76>>2]=b;p:{q:{if((f|0)!=27){if(!f){break c}if((p|0)>=0){H[(p<<2)+e>>2]=f;j=(p<<3)+d|0;f=H[j+4>>2];H[i+64>>2]=H[j>>2];H[i+68>>2]=f;break q}if(!a){break f}Md(i- -64|0,f,c);break p}if((p|0)>=0){break c}}f=0;if(!a){continue e}}j=n&-65537;n=n&8192?j:n;p=0;t=1132;k=r;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{f=F[l|0];f=g?(f&15)==3?f&-33:f:f;switch(f-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(f-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((f|0)==83){break w}break g}l=H[i+64>>2];j=H[i+68>>2];t=1132;break z}f=0;I:{switch(g&255){case 0:H[H[i+64>>2]>>2]=o;continue e;case 1:H[H[i+64>>2]>>2]=o;continue e;case 2:h=H[i+64>>2];H[h>>2]=o;H[h+4>>2]=o>>31;continue e;case 3:G[H[i+64>>2]>>1]=o;continue e;case 4:F[H[i+64>>2]]=o;continue e;case 6:H[H[i+64>>2]>>2]=o;continue e;case 7:break I;default:continue e}}h=H[i+64>>2];H[h>>2]=o;H[h+4>>2]=o>>31;continue e}m=m>>>0<=8?8:m;n=n|8;f=120}h=r;l=H[i+64>>2];j=H[i+68>>2];if(l|j){z=f&32;while(1){h=h-1|0;F[h|0]=z|I[(l&15)+14240|0];w=!j&l>>>0>15|(j|0)!=0;g=j;j=g>>>4|0;l=(g&15)<<28|l>>>4;if(w){continue}break}}if(!(H[i+64>>2]|H[i+68>>2])|!(n&8)){break y}t=(f>>>4|0)+1132|0;p=2;break y}f=r;h=H[i+68>>2];j=h;l=H[i+64>>2];if(h|l){while(1){f=f-1|0;F[f|0]=l&7|48;g=!j&l>>>0>7|(j|0)!=0;h=j;j=h>>>3|0;l=(h&7)<<29|l>>>3;if(g){continue}break}}h=f;if(!(n&8)){break y}f=r-h|0;m=(f|0)<(m|0)?m:f+1|0;break y}l=H[i+64>>2];h=H[i+68>>2];j=h;if((h|0)<0){f=0-(((l|0)!=0)+j|0)|0;j=f;l=0-l|0;H[i+64>>2]=l;H[i+68>>2]=f;p=1;t=1132;break z}if(n&2048){p=1;t=1133;break z}p=n&1;t=p?1134:1132}g=r;if(j){while(1){g=g-1|0;f=j;w=Tj(l,f,10,0);h=da;A=g,B=l-Rj(w,h,10,0)|48,F[A|0]=B;l=w;j=h;if(f>>>0>9){continue}break}}h=l;if(h){while(1){g=g-1|0;f=(h>>>0)/10|0;F[g|0]=h-N(f,10)|48;j=h>>>0>9;h=f;if(j){continue}break}}h=g}if((m|0)<0?u:0){break d}n=u?n&-65537:n;f=H[i+64>>2];j=H[i+68>>2];if(!(m|(f|j)!=0)){h=r;m=0;break g}f=!(f|j)+(r-h|0)|0;m=(f|0)<(m|0)?m:f;break g}g=m>>>0>=2147483647?2147483647:m;k=g;n=(g|0)!=0;h=H[i+64>>2];h=h?h:1614;f=h;J:{K:{L:{M:{if(!(f&3)|!g){break M}while(1){if(!I[f|0]){break L}k=k-1|0;n=(k|0)!=0;f=f+1|0;if(!(f&3)){break M}if(k){continue}break}}if(!n){break K}if(!(!I[f|0]|k>>>0<4)){while(1){l=H[f>>2];if((l^-1)&l-16843009&-2139062144){break L}f=f+4|0;k=k-4|0;if(k>>>0>3){continue}break}}if(!k){break K}}while(1){if(!I[f|0]){break J}f=f+1|0;k=k-1|0;if(k){continue}break}}f=0}f=f?f-h|0:g;k=f+h|0;if((m|0)>=0){n=j;m=f;break g}n=j;m=f;if(I[k|0]){break d}break g}if(m){g=H[i+64>>2];break u}f=0;ib(a,32,q,0,n);break t}H[i+12>>2]=0;H[i+8>>2]=H[i+64>>2];g=i+8|0;H[i+64>>2]=g;m=-1}f=0;N:{while(1){h=H[g>>2];if(!h){break N}j=Ld(i+4|0,h);h=(j|0)<0;if(!(h|j>>>0>m-f>>>0)){g=g+4|0;f=f+j|0;if(m>>>0>f>>>0){continue}break N}break}if(h){break b}}k=61;if((f|0)<0){break c}ib(a,32,q,f,n);if(!f){f=0;break t}k=0;g=H[i+64>>2];while(1){h=H[g>>2];if(!h){break t}h=Ld(i+4|0,h);k=h+k|0;if(k>>>0>f>>>0){break t}Ab(a,i+4|0,h);g=g+4|0;if(f>>>0>k>>>0){continue}break}}ib(a,32,q,f,n^8192);f=(f|0)<(q|0)?q:f;continue e}if((m|0)<0?u:0){break d}v()}F[i+55|0]=H[i+64>>2];m=1;h=y;n=j;break g}g=I[f+1|0];f=f+1|0;continue}}if(a){break a}if(!s){break f}f=1;while(1){a=H[(f<<2)+e>>2];if(a){Md((f<<3)+d|0,a,c);o=1;f=f+1|0;if((f|0)!=10){continue}break a}break}o=1;if(f>>>0>=10){break a}while(1){if(H[(f<<2)+e>>2]){break h}f=f+1|0;if((f|0)!=10){continue}break}break a}k=28;break c}l=k-h|0;j=(m|0)>(l|0)?m:l;if((j|0)>(p^2147483647)){break d}k=61;g=j+p|0;f=(g|0)<(q|0)?q:g;if((x|0)<(f|0)){break c}ib(a,32,f,g,n);Ab(a,t,p);ib(a,48,f,g,n^65536);ib(a,48,j,l,0);Ab(a,h,l);ib(a,32,f,g,n^8192);continue}break}o=0;break a}k=61}H[3992]=k}o=-1}ca=i+80|0;return o}function hj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;a:{b:{if((e|0)!=2){break b}H[a+8>>2]=2;H[a- -64>>2]=f;N=a+32|0;e=H[N>>2];d=H[a+36>>2]-e|0;c:{if(d>>>0<=7){ya(N,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}H[a+36>>2]=e+8}j=1;d=H[a+56>>2];d=H[d+4>>2]-H[d>>2]|0;if((d|0)<=0){break b}o=a+60|0;d=d>>>2|0;Z=d>>>0<=1?1:d;_=a+68|0;d=0;while(1){f=H[a+56>>2];e=H[f>>2];if(H[f+4>>2]-e>>2>>>0<=d>>>0){break a}l=ca-80|0;ca=l;f=-1;d:{e:{e=H[e+(d<<2)>>2];if((e|0)==-1){break e}j=H[o+32>>2];g=e+1|0;g=(g>>>0)%3|0?g:e-2|0;if((g|0)!=-1){f=H[H[j>>2]+(g<<2)>>2]}n=-1;e=e+((e>>>0)%3|0?-1:2)|0;if((e|0)!=-1){n=H[H[j>>2]+(e<<2)>>2]}j=H[o+36>>2];e=H[j>>2];j=H[j+4>>2]-e>>2;if(j>>>0<=f>>>0|j>>>0<=n>>>0){break e}f:{g:{h:{i:{j:{k:{i=H[e+(n<<2)>>2];f=H[e+(f<<2)>>2];if((i|0)>=(d|0)|(f|0)>=(d|0)){break k}j=(i<<3)+c|0;u=H[j+4>>2];g=(f<<3)+c|0;e=H[g+4>>2];A=H[j>>2];j=H[g>>2];if(!((A|0)!=(j|0)|(e|0)!=(u|0))){H[o+8>>2]=j;H[o+12>>2]=e;break j}n=H[H[o+4>>2]+(d<<2)>>2];H[l+72>>2]=0;H[l+76>>2]=0;g=l- -64|0;H[g>>2]=0;H[g+4>>2]=0;H[l+56>>2]=0;H[l+60>>2]=0;g=H[o>>2];if(!I[g+84|0]){n=H[H[g+68>>2]+(n<<2)>>2]}Sa(g,n,F[g+24|0],l+56|0);n=H[H[o+4>>2]+(f<<2)>>2];H[l+48>>2]=0;H[l+52>>2]=0;H[l+40>>2]=0;H[l+44>>2]=0;H[l+32>>2]=0;H[l+36>>2]=0;g=H[o>>2];if(!I[g+84|0]){n=H[H[g+68>>2]+(n<<2)>>2]}Sa(g,n,F[g+24|0],l+32|0);n=H[H[o+4>>2]+(i<<2)>>2];H[l+24>>2]=0;H[l+28>>2]=0;H[l+16>>2]=0;H[l+20>>2]=0;H[l+8>>2]=0;H[l+12>>2]=0;g=H[o>>2];if(!I[g+84|0]){n=H[H[g+68>>2]+(n<<2)>>2]}Sa(g,n,F[g+24|0],l+8|0);g=H[l+16>>2];w=H[l+40>>2];B=g-w|0;O=H[l+44>>2];g=H[l+20>>2]-(O+(g>>>0>>0)|0)|0;J=g;i=Rj(B,g,B,g);m=da;g=H[l+8>>2];C=H[l+32>>2];D=g-C|0;P=H[l+36>>2];g=H[l+12>>2]-(P+(g>>>0>>0)|0)|0;K=g;k=i;i=Rj(D,g,D,g);g=k+i|0;k=da+m|0;k=g>>>0>>0?k+1|0:k;i=H[l+24>>2];E=H[l+48>>2];G=i-E|0;Q=H[l+52>>2];i=H[l+28>>2]-(Q+(i>>>0>>0)|0)|0;L=i;h=g;g=Rj(G,i,G,i);q=h+g|0;h=da+k|0;r=g>>>0>q>>>0?h+1|0:h;if(!(r|q)){break k}n=0;x=Tj(-1,2147483647,q,r);f=j>>31;S=f;h=f>>31;R=j;g=h;m=j^g;j=m-g|0;f=(f^g)-((g>>>0>m>>>0)+g|0)|0;g=f;f=e>>31;T=f;M=e;e=f>>31;m=M^e;h=m-e|0;k=f>>31;e=(k^f)-((e>>>0>m>>>0)+k|0)|0;f=(g|0)==(e|0)&h>>>0>>0|e>>>0>>0;j=f?j:h;i=da;e=f?g:e;if((i|0)==(e|0)&j>>>0>x>>>0|e>>>0>i>>>0){break f}j=H[l+64>>2];U=H[l+68>>2];e=Rj(j-w|0,U-((j>>>0>>0)+O|0)|0,B,J);f=da;g=H[l+56>>2];V=H[l+60>>2];i=Rj(g-C|0,V-((g>>>0>>0)+P|0)|0,D,K);e=i+e|0;h=da+f|0;m=H[l+72>>2];W=H[l+76>>2];f=Rj(m-E|0,W-((m>>>0>>0)+Q|0)|0,G,L);y=f+e|0;e=da+(e>>>0>>0?h+1|0:h)|0;e=f>>>0>y>>>0?e+1|0:e;x=e;f=e;e=e>>31;i=e;h=e^y;e=h-e|0;i=(f^i)-((h>>>0>>0)+i|0)|0;f=A;A=f-R|0;f=(f>>31)-((f>>>0>>0)+S|0)|0;X=f;z=f>>31;p=z^A;k=p-z|0;h=f>>31;f=(h^f)-((p>>>0>>0)+h|0)|0;p=f;z=u-M|0;f=(u>>31)-((u>>>0>>0)+T|0)|0;u=f;s=f>>31;t=s^z;Y=t-s|0;h=f>>31;f=(h^f)-((s>>>0>t>>>0)+h|0)|0;h=(p|0)==(f|0)&k>>>0>Y>>>0|f>>>0

>>0;f=Tj(-1,2147483647,h?k:Y,h?p:f);h=da;if((h|0)==(i|0)&e>>>0>f>>>0|h>>>0>>0){break f}f=e;e=i;h=K>>31;p=h^D;i=p-h|0;h=(h^K)-((h>>>0>p>>>0)+h|0)|0;k=J>>31;s=k^B;t=s-k|0;k=(k^J)-((k>>>0>s>>>0)+k|0)|0;p=(h|0)==(k|0)&i>>>0>t>>>0|h>>>0>k>>>0;i=p?i:t;h=p?h:k;k=L>>31;p=i;s=k^G;t=s-k|0;k=(k^L)-((k>>>0>s>>>0)+k|0)|0;i=(h|0)==(k|0)&i>>>0>t>>>0|h>>>0>k>>>0;i=Tj(-1,2147483647,i?p:t,i?h:k);h=da;if((h|0)==(e|0)&f>>>0>i>>>0|e>>>0>h>>>0){break f}i=1;f=0;k=Sj(Rj(y,x,B,J),da,q,r);h=k+w|0;e=da+O|0;e=h>>>0>>0?e+1|0:e;k=j-h|0;e=U-((h>>>0>j>>>0)+e|0)|0;k=Rj(k,e,k,e);w=da;h=Sj(Rj(y,x,D,K),da,q,r);j=h+C|0;e=da+P|0;e=h>>>0>j>>>0?e+1|0:e;h=g-j|0;e=V-((g>>>0>>0)+e|0)|0;j=Rj(h,e,h,e);e=j+k|0;h=da+w|0;h=e>>>0>>0?h+1|0:h;k=e;g=Sj(Rj(y,x,G,L),da,q,r);j=g+E|0;e=da+Q|0;e=g>>>0>j>>>0?e+1|0:e;g=m-j|0;e=W-((j>>>0>m>>>0)+e|0)|0;g=Rj(g,e,g,e);j=g+k|0;e=da+h|0;j=Rj(j,g>>>0>j>>>0?e+1|0:e,q,r);e=da;m=e;if(!e&j>>>0<=1){break i}h=j;g=m;while(1){e=f<<1|i>>>31;i=i<<1;f=e;k=!g&h>>>0>7|(g|0)!=0;h=(g&3)<<30|h>>>2;g=g>>>2|0;if(k){continue}break}break h}g=o;if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){H[o+8>>2]=0;H[o+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;H[g+8>>2]=H[e>>2];H[o+12>>2]=H[e+4>>2]}n=1;break f}f=m;i=j;if(j-1|0){break g}}while(1){e=Tj(j,m,i,f);h=f+da|0;e=e+i|0;h=e>>>0>>0?h+1|0:h;i=(h&1)<<31|e>>>1;f=h>>>1|0;e=Rj(i,f,i,f);g=da;if((m|0)==(g|0)&e>>>0>j>>>0|g>>>0>m>>>0){continue}break}}e=H[o+20>>2];if(!e){break f}j=e-1|0;m=H[H[o+16>>2]+(j>>>3&536870908)>>2];H[o+20>>2]=j;n=1;e=Rj(y,x,z,u);h=da;g=e;e=Rj(q,r,M,T);g=g+e|0;h=da+h|0;h=e>>>0>g>>>0?h+1|0:h;e=Rj(i,f,A,X);j=m>>>j&1;m=j?0-e|0:e;g=m+g|0;k=h;h=da;k=k+(j?0-(h+((e|0)!=0)|0)|0:h)|0;$=o,aa=Sj(g,g>>>0>>0?k+1|0:k,q,r),H[$+12>>2]=aa;e=Rj(y,x,A,X);m=da;g=e;e=Rj(q,r,R,S);g=g+e|0;h=da+m|0;h=e>>>0>g>>>0?h+1|0:h;e=Rj(i,f,z,u);f=0-e|0;i=da;k=(j?i:0-(((e|0)!=0)+i|0)|0)+h|0;i=g;g=j?e:f;f=i+g|0;$=o,aa=Sj(f,f>>>0>>0?k+1|0:k,q,r),H[$+8>>2]=aa}ca=l+80|0;e=n;break d}Ca();v()}j=e;if(!e){return 0}l:{if(H[a+8>>2]<=0){break l}i=H[N>>2];e=0;while(1){f=e<<2;g=H[f+_>>2];m=H[a+16>>2];m:{if((g|0)>(m|0)){H[f+i>>2]=m;break m}f=f+i|0;m=H[a+12>>2];if((m|0)>(g|0)){H[f>>2]=m;break m}H[f>>2]=g}e=e+1|0;g=H[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break l}e=d<<3;m=e+c|0;n=b+e|0;while(1){g=f<<2;e=g+m|0;g=H[g+n>>2]+H[g+i>>2]|0;H[e>>2]=g;n:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break n}g=g+H[a+20>>2]|0}H[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((Z|0)!=(d|0)){continue}break}}return j|0}Ca();v()}function xj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;a:{b:{if((e|0)!=2){break b}H[a+8>>2]=2;H[a- -64>>2]=f;N=a+32|0;e=H[N>>2];d=H[a+36>>2]-e|0;c:{if(d>>>0<=7){ya(N,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}H[a+36>>2]=e+8}o=1;d=H[a+56>>2];d=H[d+4>>2]-H[d>>2]|0;if((d|0)<=0){break b}n=a+60|0;d=d>>>2|0;Z=d>>>0<=1?1:d;_=a+68|0;d=0;while(1){e=H[a+56>>2];i=H[e>>2];if(H[e+4>>2]-i>>2>>>0<=d>>>0){break a}l=ca-80|0;ca=l;f=-1;i=H[i+(d<<2)>>2];e=-1;d:{if((i|0)==-1){break d}e=i+1|0;f=(e>>>0)%3|0?e:i-2|0;e=i-1|0;if((i>>>0)%3|0){break d}e=i+2|0}g=H[n+36>>2];i=H[g>>2];e:{f:{g:{h:{i:{g=H[g+4>>2]-i>>2;k=f<<2;f=H[H[n+32>>2]+28>>2];j=H[k+f>>2];if(g>>>0<=j>>>0){break i}e=H[f+(e<<2)>>2];if(e>>>0>=g>>>0){break i}f=H[i+(j<<2)>>2];j:{k:{j=H[i+(e<<2)>>2];if((d|0)<=(f|0)|(j|0)>=(d|0)){break k}i=(j<<3)+c|0;u=H[i+4>>2];g=(f<<3)+c|0;e=H[g+4>>2];A=H[i>>2];i=H[g>>2];if(!((A|0)!=(i|0)|(e|0)!=(u|0))){H[n+8>>2]=i;H[n+12>>2]=e;break j}o=H[H[n+4>>2]+(d<<2)>>2];H[l+72>>2]=0;H[l+76>>2]=0;g=l- -64|0;H[g>>2]=0;H[g+4>>2]=0;H[l+56>>2]=0;H[l+60>>2]=0;g=H[n>>2];if(!I[g+84|0]){o=H[H[g+68>>2]+(o<<2)>>2]}Sa(g,o,F[g+24|0],l+56|0);o=H[H[n+4>>2]+(f<<2)>>2];H[l+48>>2]=0;H[l+52>>2]=0;H[l+40>>2]=0;H[l+44>>2]=0;H[l+32>>2]=0;H[l+36>>2]=0;g=H[n>>2];if(!I[g+84|0]){o=H[H[g+68>>2]+(o<<2)>>2]}Sa(g,o,F[g+24|0],l+32|0);o=H[H[n+4>>2]+(j<<2)>>2];H[l+24>>2]=0;H[l+28>>2]=0;H[l+16>>2]=0;H[l+20>>2]=0;H[l+8>>2]=0;H[l+12>>2]=0;g=H[n>>2];if(!I[g+84|0]){o=H[H[g+68>>2]+(o<<2)>>2]}Sa(g,o,F[g+24|0],l+8|0);g=H[l+16>>2];w=H[l+40>>2];B=g-w|0;O=H[l+44>>2];g=H[l+20>>2]-(O+(g>>>0>>0)|0)|0;J=g;j=Rj(B,g,B,g);m=da;g=H[l+8>>2];C=H[l+32>>2];D=g-C|0;P=H[l+36>>2];g=H[l+12>>2]-(P+(g>>>0>>0)|0)|0;K=g;k=j;j=Rj(D,g,D,g);g=k+j|0;k=da+m|0;k=g>>>0>>0?k+1|0:k;j=H[l+24>>2];E=H[l+48>>2];G=j-E|0;Q=H[l+52>>2];j=H[l+28>>2]-(Q+(j>>>0>>0)|0)|0;L=j;h=g;g=Rj(G,j,G,j);q=h+g|0;h=da+k|0;r=g>>>0>q>>>0?h+1|0:h;if(!(r|q)){break k}o=0;x=Tj(-1,2147483647,q,r);f=i>>31;S=f;h=f>>31;R=i;g=h;m=i^g;i=m-g|0;f=(f^g)-((g>>>0>m>>>0)+g|0)|0;g=f;f=e>>31;T=f;M=e;e=f>>31;m=M^e;h=m-e|0;k=f>>31;e=(k^f)-((e>>>0>m>>>0)+k|0)|0;f=(g|0)==(e|0)&h>>>0>>0|e>>>0>>0;i=f?i:h;j=da;e=f?g:e;if((j|0)==(e|0)&i>>>0>x>>>0|e>>>0>j>>>0){break e}i=H[l+64>>2];U=H[l+68>>2];e=Rj(i-w|0,U-((i>>>0>>0)+O|0)|0,B,J);f=da;g=H[l+56>>2];V=H[l+60>>2];j=Rj(g-C|0,V-((g>>>0>>0)+P|0)|0,D,K);e=j+e|0;h=da+f|0;m=H[l+72>>2];W=H[l+76>>2];f=Rj(m-E|0,W-((m>>>0>>0)+Q|0)|0,G,L);y=f+e|0;e=da+(e>>>0>>0?h+1|0:h)|0;e=f>>>0>y>>>0?e+1|0:e;x=e;f=e;e=e>>31;j=e;h=e^y;e=h-e|0;j=(f^j)-((h>>>0>>0)+j|0)|0;f=A;A=f-R|0;f=(f>>31)-((f>>>0>>0)+S|0)|0;X=f;z=f>>31;p=z^A;k=p-z|0;h=f>>31;f=(h^f)-((p>>>0>>0)+h|0)|0;p=f;z=u-M|0;f=(u>>31)-((u>>>0>>0)+T|0)|0;u=f;s=f>>31;t=s^z;Y=t-s|0;h=f>>31;f=(h^f)-((s>>>0>t>>>0)+h|0)|0;h=(p|0)==(f|0)&k>>>0>Y>>>0|f>>>0

>>0;f=Tj(-1,2147483647,h?k:Y,h?p:f);h=da;if((h|0)==(j|0)&e>>>0>f>>>0|h>>>0>>0){break e}f=e;e=j;h=K>>31;p=h^D;j=p-h|0;h=(h^K)-((h>>>0>p>>>0)+h|0)|0;k=J>>31;s=k^B;t=s-k|0;k=(k^J)-((k>>>0>s>>>0)+k|0)|0;p=(h|0)==(k|0)&j>>>0>t>>>0|h>>>0>k>>>0;j=p?j:t;h=p?h:k;k=L>>31;p=j;s=k^G;t=s-k|0;k=(k^L)-((k>>>0>s>>>0)+k|0)|0;j=(h|0)==(k|0)&j>>>0>t>>>0|h>>>0>k>>>0;j=Tj(-1,2147483647,j?p:t,j?h:k);h=da;if((h|0)==(e|0)&f>>>0>j>>>0|e>>>0>h>>>0){break e}j=1;f=0;k=Sj(Rj(y,x,B,J),da,q,r);h=k+w|0;e=da+O|0;e=h>>>0>>0?e+1|0:e;k=i-h|0;e=U-((h>>>0>i>>>0)+e|0)|0;k=Rj(k,e,k,e);w=da;h=Sj(Rj(y,x,D,K),da,q,r);i=h+C|0;e=da+P|0;e=h>>>0>i>>>0?e+1|0:e;h=g-i|0;e=V-((g>>>0>>0)+e|0)|0;i=Rj(h,e,h,e);e=i+k|0;h=da+w|0;h=e>>>0>>0?h+1|0:h;k=e;g=Sj(Rj(y,x,G,L),da,q,r);i=g+E|0;e=da+Q|0;e=g>>>0>i>>>0?e+1|0:e;g=m-i|0;e=W-((i>>>0>m>>>0)+e|0)|0;g=Rj(g,e,g,e);i=g+k|0;e=da+h|0;i=Rj(i,g>>>0>i>>>0?e+1|0:e,q,r);e=da;m=e;if(!e&i>>>0<=1){break h}h=i;g=m;while(1){e=f<<1|j>>>31;j=j<<1;f=e;k=!g&h>>>0>7|(g|0)!=0;h=(g&3)<<30|h>>>2;g=g>>>2|0;if(k){continue}break}break g}g=n;if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){H[n+8>>2]=0;H[n+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;H[g+8>>2]=H[e>>2];H[n+12>>2]=H[e+4>>2]}o=1;break e}Ca();v()}f=m;j=i;if(i-1|0){break f}}while(1){e=Tj(i,m,j,f);h=f+da|0;e=e+j|0;h=e>>>0>>0?h+1|0:h;j=(h&1)<<31|e>>>1;f=h>>>1|0;e=Rj(j,f,j,f);g=da;if((m|0)==(g|0)&e>>>0>i>>>0|g>>>0>m>>>0){continue}break}}e=H[n+20>>2];if(!e){break e}i=e-1|0;m=H[H[n+16>>2]+(i>>>3&536870908)>>2];H[n+20>>2]=i;o=1;e=Rj(y,x,z,u);h=da;g=e;e=Rj(q,r,M,T);g=g+e|0;h=da+h|0;h=e>>>0>g>>>0?h+1|0:h;e=Rj(j,f,A,X);i=m>>>i&1;m=i?0-e|0:e;g=m+g|0;k=h;h=da;k=k+(i?0-(h+((e|0)!=0)|0)|0:h)|0;$=n,aa=Sj(g,g>>>0>>0?k+1|0:k,q,r),H[$+12>>2]=aa;e=Rj(y,x,A,X);m=da;g=e;e=Rj(q,r,R,S);g=g+e|0;h=da+m|0;h=e>>>0>g>>>0?h+1|0:h;e=Rj(j,f,z,u);f=0-e|0;j=da;k=(i?j:0-(((e|0)!=0)+j|0)|0)+h|0;j=g;g=i?e:f;f=j+g|0;$=n,aa=Sj(f,f>>>0>>0?k+1|0:k,q,r),H[$+8>>2]=aa}ca=l+80|0;if(!o){return 0}l:{if(H[a+8>>2]<=0){break l}g=H[N>>2];e=0;while(1){f=e<<2;i=H[f+_>>2];j=H[a+16>>2];m:{if((i|0)>(j|0)){H[f+g>>2]=j;break m}f=f+g|0;j=H[a+12>>2];if((j|0)>(i|0)){H[f>>2]=j;break m}H[f>>2]=i}e=e+1|0;i=H[a+8>>2];if((e|0)<(i|0)){continue}break}f=0;if((i|0)<=0){break l}e=d<<3;j=e+c|0;m=b+e|0;while(1){i=f<<2;e=i+j|0;i=H[i+m>>2]+H[g+i>>2]|0;H[e>>2]=i;n:{if((i|0)>H[a+16>>2]){k=i-H[a+20>>2]|0}else{if((i|0)>=H[a+12>>2]){break n}k=i+H[a+20>>2]|0}H[e>>2]=k}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((Z|0)!=(d|0)){continue}break}}return o|0}Ca();v()}function $a(a,b){var c=0,d=0,e=0,f=0,g=0;e=ca-16|0;ca=e;H[a+12>>2]=b;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;d=a+16|0;H[d>>2]=0;H[d+4>>2]=0;F[d+5|0]=0;F[d+6|0]=0;F[d+7|0]=0;F[d+8|0]=0;F[d+9|0]=0;F[d+10|0]=0;F[d+11|0]=0;F[d+12|0]=0;c=d+16|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+32|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+48|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d- -64|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+80|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+96|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+112|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+128|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+144|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+160|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+176|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+192|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+208|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+224|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+240|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+256|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+272|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+288|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+304|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+320|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+336|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+352|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+368|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+384|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+400|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+416|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+432|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+448|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+464|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c=d+480|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;d=d+496|0;H[d>>2]=0;H[d+4>>2]=0;F[d+5|0]=0;F[d+6|0]=0;F[d+7|0]=0;F[d+8|0]=0;F[d+9|0]=0;F[d+10|0]=0;F[d+11|0]=0;F[d+12|0]=0;H[a+528>>2]=0;H[a+532>>2]=0;F[a+533|0]=0;F[a+534|0]=0;F[a+535|0]=0;F[a+536|0]=0;F[a+537|0]=0;F[a+538|0]=0;F[a+539|0]=0;F[a+540|0]=0;H[a+544>>2]=0;H[a+548>>2]=0;H[a+560>>2]=0;H[a+552>>2]=0;H[a+556>>2]=0;H[a+564>>2]=0;H[a+568>>2]=0;H[a+580>>2]=0;H[a+572>>2]=0;H[a+576>>2]=0;H[a+584>>2]=0;H[a+588>>2]=0;H[a+600>>2]=0;H[a+592>>2]=0;H[a+596>>2]=0;H[a+612>>2]=0;H[a+604>>2]=0;H[a+608>>2]=0;g=a+628|0;a:{b:{if(b){if(b>>>0<1073741824){break b}sa();v()}H[a+616>>2]=0;H[a+620>>2]=0;H[a+624>>2]=0;H[e+8>>2]=0;H[e>>2]=0;H[e+4>>2]=0;d=1;break a}d=b<<2;c=pa(d);H[a+604>>2]=c;f=c+d|0;H[a+612>>2]=f;ra(c,0,d);H[a+624>>2]=0;H[a+616>>2]=0;H[a+620>>2]=0;H[a+608>>2]=f;c=pa(d);H[a+616>>2]=c;f=c+d|0;H[a+624>>2]=f;ra(c,0,d);H[a+620>>2]=f;c=pa(d);H[e>>2]=c;f=c+d|0;H[e+8>>2]=f;ra(c,0,d);H[e+4>>2]=f;d=b<<5|1}tb(g,d,e);c=H[e>>2];if(c){H[e+4>>2]=c;oa(c)}H[e+8>>2]=0;H[e>>2]=0;H[e+4>>2]=0;if(b){b=b<<2;c=pa(b);H[e>>2]=c;f=b+c|0;H[e+8>>2]=f;ra(c,0,b);H[e+4>>2]=f}tb(a+640|0,d,e);b=H[e>>2];if(b){H[e+4>>2]=b;oa(b)}ca=e+16|0;return a}function gc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=O(0),n=O(0),o=0;a:{b:{if(!d){break b}c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=F[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=J[b>>1];b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=G[b>>1];if((e|0)<0){break b}G[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=H[b>>2];if(e+32768>>>0>65535){break b}G[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=H[b>>2];if(e>>>0>32767){break b}G[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=H[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=H[b+4>>2];e=H[b>>2];i=e+32768|0;h=i>>>0<32768?h+1|0:h;if(!h&i>>>0>65535|h){break b}G[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=H[b+4>>2];e=H[b>>2];if(!k&e>>>0>32767|k){break b}G[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=H[a>>2];j=H[e>>2];g=j;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-j|0;if(!I[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(32767)|m>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(32767)|mO(1)){break d}e=(b<<1)+d|0;l=T(+m*32767+.5);f:{if(P(l)<2147483648){i=~~l;break f}i=-2147483648}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}ra((e<<1)+d|0,0,c-e<<1)}return j;case 9:g:{h:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=H[a>>2];j=H[e>>2];g=j;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-j|0;if(!I[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=M[g>>3];if(l>=32767|l<-32768|l!=l){break g}o=P(l);if(o==Infinity){break g}e=(b<<1)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=M[g>>3];if(l>=32767|l<-32768|(P(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<1)+d|0;l=T(l*32767+.5);i:{if(P(l)<2147483648){i=~~l;break i}i=-2147483648}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}ra((e<<1)+d|0,0,c-e<<1)}return j;case 10:break c;default:break b}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}ra((e<<1)+d|0,0,(c&255)-e<<1)}return j}ra((e<<1)+d|0,0,(c&255)-e<<1);return 1}function ec(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=O(0),n=O(0),o=0;a:{b:{if(!d){break b}c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=F[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=G[b>>1];b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=J[b>>1];b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=H[b>>2];b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=H[b>>2];if((e|0)<0){break b}H[(g<<2)+d>>2]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=H[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=H[b+4>>2];e=H[b>>2];if(e- -2147483648>>>0<2147483648?h+1|0:h){break b}H[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=H[b+4>>2];e=H[b>>2];if(!k&e>>>0>2147483647|k){break b}H[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=H[a>>2];j=H[e>>2];g=j;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-j|0;if(!I[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(2147483648)|m>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(2147483648)|mO(1)){break d}e=(b<<2)+d|0;l=T(+m*2147483647+.5);f:{if(P(l)<2147483648){i=~~l;break f}i=-2147483648}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}ra((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=H[a>>2];j=H[e>>2];g=j;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-j|0;if(!I[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=M[g>>3];if(l>=2147483647|l<-2147483648|l!=l){break g}o=P(l);if(o==Infinity){break g}e=(b<<2)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=M[g>>3];if(l>=2147483647|l<-2147483648|(P(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<2)+d|0;l=T(l*2147483647+.5);i:{if(P(l)<2147483648){i=~~l;break i}i=-2147483648}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}ra((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}ra((e<<2)+d|0,0,(c&255)-e<<2)}return j}ra((e<<2)+d|0,0,(c&255)-e<<2);return 1}function fc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=O(0);a:{b:{if(!d){break b}c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=F[b|0];if((e|0)<0){break b}G[(g<<1)+d>>1]=e&255;b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=G[b>>1];if((e|0)<0){break b}G[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=J[b>>1];b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=H[b>>2];if(e>>>0>65535){break b}G[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=H[b>>2];if(e>>>0>65535){break b}G[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=H[b+4>>2];e=H[b>>2];if(!k&e>>>0>65535|k){break b}G[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=H[b+4>>2];e=H[b>>2];if(!k&e>>>0>65535|k){break b}G[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=H[a>>2];l=H[e>>2];g=l;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-l|0;if(!I[a+32|0]){l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(65535)|m=O(0)){i=~~m>>>0}else{i=0}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(65535)|mO(1)){break d}e=(b<<1)+d|0;j=T(+m*65535+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=1;if(c>>>0<=e>>>0){break d}ra((e<<1)+d|0,0,c-e<<1)}return l;case 9:g:{h:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=H[a>>2];l=H[e>>2];g=l;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-l|0;if(!I[a+32|0]){l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=M[g>>3];if(j>=65535|j<0|(P(j)==Infinity|j!=j)){break g}e=(b<<1)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=M[g>>3];if(j>=65535|j<0|(P(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<1)+d|0;j=T(j*65535+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}G[e>>1]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=1;if(c>>>0<=e>>>0){break g}ra((e<<1)+d|0,0,c-e<<1)}return l;case 10:break c;default:break b}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];k=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}G[(g<<1)+d>>1]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}ra((e<<1)+d|0,0,(c&255)-e<<1)}return l}ra((e<<1)+d|0,0,(c&255)-e<<1);return 1}function Sa(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=O(0),l=0,m=0,n=O(0),o=0;a:{if(!d){break a}b:{c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=F[b|0];H[e>>2]=i;H[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;H[e>>2]=I[b|0];H[e+4>>2]=0;b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=G[b>>1];H[e>>2]=i;H[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;H[e>>2]=J[b>>1];H[e+4>>2]=0;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=H[b>>2];H[e>>2]=i;H[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;H[e>>2]=H[b>>2];H[e+4>>2]=0;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=H[b+4>>2];e=(g<<3)+d|0;H[e>>2]=H[b>>2];H[e+4>>2]=i;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=H[b>>2];i=H[b+4>>2];if((i|0)<0){break a}j=(g<<3)+d|0;H[j>>2]=e;H[j+4>>2]=i;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=I[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break d}if(I[a+32|0]){break a}e=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+e|0;e=H[a>>2];i=H[e+4>>2];e=H[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=L[g>>2];if(k>=O(0x8000000000000000)|k=O(1)?~~(k>O(0)?O(R(O(T(O(k*O(2.3283064365386963e-10)))),O(4294967296))):O(U(O(O(k-O(~~k>>>0>>>0))*O(2.3283064365386963e-10)))))>>>0:0;m=~~k>>>0;break e}j=-2147483648;m=0}H[e>>2]=m;H[e+4>>2]=j;b=b+1|0;e=I[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=I[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break f}if(I[a+32|0]){break a}e=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+e|0;e=H[a>>2];i=H[e+4>>2];e=H[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){l=M[g>>3];if(l>=0x8000000000000000|l<-0x8000000000000000|l!=l){break a}o=P(l);if(o==Infinity){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){j=P(l)>=1?~~(l>0?R(T(l*2.3283064365386963e-10),4294967295):U((l-+(~~l>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~l>>>0;break g}j=-2147483648;m=0}H[e>>2]=m;H[e+4>>2]=j;b=b+1|0;e=I[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;H[e>>2]=I[b|0];H[e+4>>2]=0;b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}ra(d,0,a<<3)}}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=a;a:{b:{c:{d:{e:{f:{g:{h:{a=H[a+8>>2];switch(H[a+28>>2]-1|0){case 4:break c;case 5:break d;case 2:break e;case 3:break f;case 0:break g;case 1:break h;default:break a}}f=I[a+24|0];c=pa(f);a=H[j+16>>2];if(H[a+80>>2]){g=H[H[a>>2]>>2]+H[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;F[a+c|0]=H[k>>2];F[(a|1)+c|0]=H[k+4>>2];F[(a|2)+c|0]=H[k+8>>2];F[(a|3)+c|0]=H[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){F[a+c|0]=H[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[H[H[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;qa(a+H[H[H[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}f=I[a+24|0];c=pa(f);a=H[j+16>>2];if(H[a+80>>2]){g=H[H[a>>2]>>2]+H[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;F[a+c|0]=H[k>>2];F[(a|1)+c|0]=H[k+4>>2];F[(a|2)+c|0]=H[k+8>>2];F[(a|3)+c|0]=H[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){F[a+c|0]=H[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[H[H[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;qa(a+H[H[H[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}h=I[a+24|0];i=h<<1;c=pa(i);a=H[j+16>>2];if(H[a+80>>2]){g=H[H[a>>2]>>2]+H[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;G[f+c>>1]=H[k>>2];G[(f|2)+c>>1]=H[k+4>>2];G[(f|4)+c>>1]=H[k+8>>2];G[(f|6)+c>>1]=H[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){G[(a<<1)+c>>1]=H[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[H[H[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;qa(a+H[H[H[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=I[a+24|0];i=h<<1;c=pa(i);a=H[j+16>>2];if(H[a+80>>2]){g=H[H[a>>2]>>2]+H[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;G[f+c>>1]=H[k>>2];G[(f|2)+c>>1]=H[k+4>>2];G[(f|4)+c>>1]=H[k+8>>2];G[(f|6)+c>>1]=H[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){G[(a<<1)+c>>1]=H[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[H[H[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;qa(a+H[H[H[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=I[a+24|0];i=h<<2;c=pa(i);a=H[j+16>>2];if(H[a+80>>2]){g=H[H[a>>2]>>2]+H[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;H[f+c>>2]=H[k>>2];H[(f|4)+c>>2]=H[k+4>>2];H[(f|8)+c>>2]=H[k+8>>2];H[(f|12)+c>>2]=H[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){H[(a<<2)+c>>2]=H[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[H[H[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;qa(a+H[H[H[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=I[a+24|0];i=h<<2;c=pa(i);a=H[j+16>>2];if(H[a+80>>2]){g=H[H[a>>2]>>2]+H[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;H[f+c>>2]=H[k>>2];H[(f|4)+c>>2]=H[k+4>>2];H[(f|8)+c>>2]=H[k+8>>2];H[(f|12)+c>>2]=H[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){H[(a<<2)+c>>2]=H[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[H[H[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;qa(a+H[H[H[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}qa(H[H[H[j+8>>2]+64>>2]>>2]+a|0,c,i)}oa(c);c=1}return c|0}function dc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=O(0);a:{b:{if(!d){break b}c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=F[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=G[b>>1];b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=J[b>>1];b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=H[b>>2];b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=H[b>>2];b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=H[b>>2];if(H[b+4>>2]){break b}H[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=H[b>>2];if(H[b+4>>2]){break b}H[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=H[a>>2];k=H[e>>2];g=k;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-k|0;if(!I[a+32|0]){k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(4294967296)|m=O(0)){i=~~m>>>0}else{i=0}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=L[g>>2];if(m>=O(4294967296)|mO(1)){break d}e=(b<<2)+d|0;j=T(+m*4294967295+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=1;if(c>>>0<=e>>>0){break d}ra((e<<2)+d|0,0,c-e<<2)}return k;case 9:g:{h:{e=I[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=H[a>>2];k=H[e>>2];g=k;f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=H[e+4>>2];e=f-k|0;if(!I[a+32|0]){k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=M[g>>3];if(j>=4294967295|j<0|(P(j)==Infinity|j!=j)){break g}e=(b<<2)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=M[g>>3];if(j>=4294967295|j<0|(P(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<2)+d|0;j=T(j*4294967295+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}H[e>>2]=i;b=b+1|0;e=I[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=1;if(c>>>0<=e>>>0){break g}ra((e<<2)+d|0,0,c-e<<2)}return k;case 10:break c;default:break b}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];h=H[e>>2];l=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=H[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}H[(g<<2)+d>>2]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ra((e<<2)+d|0,0,(c&255)-e<<2)}return k}ra((e<<2)+d|0,0,(c&255)-e<<2);return 1}function ye(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{if(H[a+92>>2]==H[a+88>>2]){break e}c=H[a+52>>2];f:{if((c|0)!=H[a+56>>2]){H[c>>2]=b;H[a+52>>2]=c+4;break f}h=H[a+48>>2];g=c-h|0;d=g>>2;f=d+1|0;if(f>>>0>=1073741824){break a}e=g>>>1|0;g=g>>>0>=2147483644?1073741823:f>>>0>>0?e:f;if(g){if(g>>>0>=1073741824){break d}e=pa(g<<2)}else{e=0}f=e+(d<<2)|0;H[f>>2]=b;d=f+4|0;if((c|0)!=(h|0)){while(1){f=f-4|0;c=c-4|0;H[f>>2]=H[c>>2];if((c|0)!=(h|0)){continue}break}}H[a+56>>2]=e+(g<<2);H[a+52>>2]=d;H[a+48>>2]=f;if(!h){break f}oa(h)}H[a+84>>2]=0;c=-1;e=-1;g:{if((b|0)==-1){break g}d=H[a+4>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){c=H[H[d>>2]+(e<<2)>>2]}h:{if((b>>>0)%3|0){l=b-1|0;break h}l=b+2|0;e=-1;if((l|0)==-1){break g}}e=H[H[d>>2]+(l<<2)>>2]}i=e>>>3&536870908;d=H[a+36>>2];h=d+(c>>>3&536870908)|0;g=H[h>>2];f=1<>2]=f|g;f=a+8|0;if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}else{d=-1}Ua(f,c,d);d=H[a+36>>2]}f=d+i|0;d=H[f>>2];c=1<>2]=c|d;d=a+8|0;c=-1;i:{if((b|0)==-1){break i}c=b-1|0;if((b>>>0)%3|0){break i}c=b+2|0}Ua(d,e,c)}c=-1;c=(b|0)!=-1?H[H[H[a+4>>2]>>2]+(b<<2)>>2]:c;f=H[a+36>>2]+(c>>>3&536870908)|0;d=H[f>>2];e=1<>2]=d|e;Ua(a+8|0,c,b)}d=H[a+84>>2];if((d|0)>2){break e}while(1){e=N(d,12)+a|0;b=H[e+52>>2];if((b|0)==H[e+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}b=b-4|0;c=H[b>>2];H[e+52>>2]=b;H[a+84>>2]=d;if((c|0)==-1){break e}f=H[a+24>>2];b=(c>>>0)/3|0;j:{if(H[f+(b>>>3&268435452)>>2]>>>b&1){break j}k:{while(1){k=(c>>>0)/3|0;b=(k>>>3&268435452)+f|0;H[b>>2]=H[b>>2]|1<>2]>>2]+(c<<2)>>2]:d;f=H[a+36>>2]+(d>>>3&536870908)|0;e=H[f>>2];b=1<>2]=b|e;i=H[(H[H[a+16>>2]+96>>2]+N(k,12)|0)+((c>>>0)%3<<2)>>2];l=H[H[a+20>>2]+4>>2];f=H[l+4>>2];t:{if((f|0)!=H[l+8>>2]){H[f>>2]=i;H[l+4>>2]=f+4;break t}j=H[l>>2];h=f-j|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break s}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=pa(h<<2)}else{e=0}b=e+(g<<2)|0;H[b>>2]=i;g=b+4|0;if((f|0)!=(j|0)){while(1){b=b-4|0;f=f-4|0;H[b>>2]=H[f>>2];if((f|0)!=(j|0)){continue}break}}H[l+8>>2]=e+(h<<2);H[l+4>>2]=g;H[l>>2]=b;if(!j){break t}oa(j)}j=H[a+12>>2];f=H[j+4>>2];u:{if((f|0)!=H[j+8>>2]){H[f>>2]=c;H[j+4>>2]=f+4;break u}i=H[j>>2];h=f-i|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break r}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=pa(h<<2)}else{e=0}b=e+(g<<2)|0;H[b>>2]=c;g=b+4|0;if((f|0)!=(i|0)){while(1){b=b-4|0;f=f-4|0;H[b>>2]=H[f>>2];if((f|0)!=(i|0)){continue}break}}H[j+8>>2]=e+(h<<2);H[j+4>>2]=g;H[j>>2]=b;if(!i){break u}oa(i)}b=H[a+12>>2];H[H[b+12>>2]+(d<<2)>>2]=H[b+24>>2];H[b+24>>2]=H[b+24>>2]+1}if((c|0)==-1){break k}g=H[a+4>>2];f=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){f=H[H[g+12>>2]+(b<<2)>>2]}v:{w:{if((N(k,3)|0)!=(c|0)){d=c-1|0;break w}d=c+2|0;c=-1;if((d|0)==-1){break v}}c=H[H[g+12>>2]+(d<<2)>>2]}d=(c|0)==-1;e=(c>>>0)/3|0;if((f|0)!=-1){b=(f>>>0)/3|0;b=H[H[a+24>>2]+(b>>>3&268435452)>>2]&1<>2]+(b>>>3&536870908)>>2]>>>b&1){break x}k=0;b=H[H[g>>2]+(c<<2)>>2];if(!(H[H[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=H[a+88>>2]+(b<<2)|0;e=H[b>>2];H[b>>2]=e+1;k=(e|0)<=0?2:1}if(H[a+84>>2]>=(k|0)&l){break m}j=N(k,12)+a|0;b=H[j+52>>2];y:{if((b|0)!=H[j+56>>2]){H[b>>2]=c;H[j+52>>2]=b+4;break y}i=H[j+48>>2];h=b-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break c}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=pa(g<<2)}else{e=0}d=e+(d<<2)|0;H[d>>2]=c;c=d+4|0;if((b|0)!=(i|0)){while(1){d=d-4|0;b=b-4|0;H[d>>2]=H[b>>2];if((b|0)!=(i|0)){continue}break}}H[j+48>>2]=d;H[j+52>>2]=c;H[j+56>>2]=e+(g<<2);if(!i){break y}oa(i)}if(H[a+84>>2]<=(k|0)){break x}H[a+84>>2]=k}if(l){break k}c=-1;if((f|0)==-1){break n}}c=H[H[H[a+4>>2]>>2]+(f<<2)>>2]}b=0;if(!(H[H[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){b=H[a+88>>2]+(c<<2)|0;c=H[b>>2];H[b>>2]=c+1;b=(c|0)<=0?2:1}if(H[a+84>>2]<(b|0)){break l}c=f}f=H[a+24>>2];continue}break}k=N(b,12)+a|0;c=H[k+52>>2];z:{if((c|0)!=H[k+56>>2]){H[c>>2]=f;H[k+52>>2]=c+4;break z}i=H[k+48>>2];h=c-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break b}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=pa(g<<2)}else{e=0}d=e+(d<<2)|0;H[d>>2]=f;f=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;H[d>>2]=H[c>>2];if((c|0)!=(i|0)){continue}break}}H[k+48>>2]=d;H[k+52>>2]=f;H[k+56>>2]=e+(g<<2);if(!i){break z}oa(i)}d=H[a+84>>2];if((d|0)<=(b|0)){break j}H[a+84>>2]=b;d=b;break j}d=H[a+84>>2]}if((d|0)<3){continue}break}}return 1}wa();v()}sa();v()}sa();v()}sa();v()}function gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=ca-96|0;ca=n;o=H[a+4>>2];d=H[o+32>>2];i=H[d+8>>2];j=H[d+12>>2];e=j;c=H[d+20>>2];f=H[d+16>>2];a:{if((e|0)<=(c|0)&f>>>0>=i>>>0|(c|0)>(e|0)){break a}p=H[d>>2];g=I[p+f|0];h=f+1|0;e=h?c:c+1|0;H[d+16>>2]=h;H[d+20>>2]=e;if((e|0)>=(j|0)&h>>>0>=i>>>0|(e|0)>(j|0)){break a}m=I[h+p|0];h=f+2|0;e=h>>>0<2?c+1|0:c;H[d+16>>2]=h;H[d+20>>2]=e;l=g<<24>>24;b:{if((l|0)>=0){k=H[a+216>>2];if(g>>>0>=(H[a+220>>2]-k|0)/144>>>0){break a}k=k+N(g,144)|0;if(H[k>>2]<0){break b}break a}if(H[a+212>>2]>=0){break a}k=a+212|0}H[k>>2]=b;c:{d:{e:{f:{g:{h:{k=J[o+36>>1];i:{if(((k<<8|k>>>8)&65535)>>>0>=258){if((e|0)>=(j|0)&h>>>0>=i>>>0|(e|0)>(j|0)){break a}e=I[h+p|0];f=f+3|0;c=f>>>0<3?c+1|0:c;H[d+16>>2]=f;H[d+20>>2]=c;if(e>>>0>1){break a}d=e>>>0<2?e:0;if(!m){break i}if(!d){break h}break a}if(m){break g}d=0}if((l|0)<0){e=a+184|0}else{c=H[a+216>>2]+N(g,144)|0;F[c+100|0]=0;e=c+104|0}if((d|0)!=1){break e}c=ca-112|0;ca=c;h=H[H[a+4>>2]+44>>2];d=pa(120);H[d>>2]=12172;H[d+4>>2]=0;H[d+116>>2]=0;H[d+112>>2]=e;H[d+108>>2]=h;H[d+12>>2]=0;H[d+16>>2]=0;H[d+20>>2]=0;H[d+24>>2]=0;H[d+28>>2]=0;H[d+32>>2]=0;H[d+36>>2]=0;H[d+40>>2]=0;H[d+44>>2]=0;H[d+48>>2]=0;H[d+52>>2]=0;H[d+56>>2]=0;H[d+60>>2]=0;H[d+8>>2]=12384;f=d- -64|0;H[f>>2]=0;H[f+4>>2]=0;H[d+72>>2]=0;H[d+76>>2]=0;H[d+80>>2]=0;H[d+84>>2]=0;H[d+88>>2]=0;H[d+104>>2]=0;H[d+96>>2]=0;H[d+100>>2]=0;f=H[a+8>>2];H[c+48>>2]=0;H[c+52>>2]=0;H[c+40>>2]=0;H[c+44>>2]=0;i=c+32|0;H[i>>2]=0;H[i+4>>2]=0;H[c+24>>2]=0;H[c+28>>2]=0;g=c- -64|0;H[g>>2]=0;H[g+4>>2]=0;H[c+72>>2]=0;H[c+76>>2]=0;H[c+80>>2]=0;H[c+84>>2]=0;H[c+88>>2]=0;H[c+104>>2]=0;H[c+16>>2]=0;H[c+20>>2]=0;H[c+56>>2]=0;H[c+60>>2]=0;H[c+8>>2]=12384;H[c+96>>2]=0;H[c+100>>2]=0;H[c+12>>2]=f;g=H[f>>2];j=H[f+4>>2];F[c+111|0]=0;m=i;i=c+111|0;Oa(m,(j-g>>2>>>0)/3|0,i);g=H[c+12>>2];j=H[g+28>>2];g=H[g+24>>2];F[c+111|0]=0;Oa(c+44|0,j-g>>2,i);H[c+28>>2]=d;H[c+24>>2]=h;H[c+20>>2]=e;H[c+16>>2]=f;f=d+8|0;e=c+8|0;fd(f,e);j:{if((e|0)==(f|0)){H[d+92>>2]=H[e+84>>2];break j}Cb(d+56|0,H[e+48>>2],H[e+52>>2]);Cb(d+68|0,H[e+60>>2],H[e- -64>>2]);Cb(d+80|0,H[e+72>>2],H[e+76>>2]);H[d+92>>2]=H[e+84>>2];Aa(d+96|0,H[e+88>>2],H[e+92>>2])}H[c+8>>2]=12384;e=H[c+96>>2];if(e){H[c+100>>2]=e;oa(e)}e=H[c+80>>2];if(e){H[c+84>>2]=e;oa(e)}e=H[c+68>>2];if(e){H[c+72>>2]=e;oa(e)}e=H[c+56>>2];if(e){H[c+60>>2]=e;oa(e)}H[c+8>>2]=12620;e=H[c+44>>2];if(e){oa(e)}e=H[c+32>>2];if(e){oa(e)}ca=c+112|0;break d}if((l|0)>=0){break f}break a}if((l|0)<0){break a}}e=H[a+216>>2];c=H[o+44>>2];d=pa(80);H[d>>2]=12932;H[d+4>>2]=0;H[d+76>>2]=0;H[d+68>>2]=c;H[d+8>>2]=11872;H[d+12>>2]=0;H[d+16>>2]=0;H[d+20>>2]=0;H[d+24>>2]=0;H[d+28>>2]=0;H[d+32>>2]=0;H[d+36>>2]=0;H[d+40>>2]=0;H[d+44>>2]=0;H[d+48>>2]=0;H[d+52>>2]=0;e=e+N(g,144)|0;f=e+104|0;H[d+72>>2]=f;H[d- -64>>2]=0;H[d+56>>2]=0;H[d+60>>2]=0;H[n+24>>2]=c;c=n;H[c+68>>2]=0;H[c+72>>2]=0;H[c+60>>2]=0;H[c+64>>2]=0;H[c+52>>2]=0;H[c+56>>2]=0;H[c+44>>2]=0;H[c+48>>2]=0;H[c+84>>2]=0;H[c+88>>2]=0;H[c+76>>2]=0;H[c+80>>2]=0;H[c+28>>2]=d;h=H[c+28>>2];H[c+8>>2]=H[c+24>>2];H[c+12>>2]=h;H[c+20>>2]=f;f=e+4|0;H[c+16>>2]=f;H[c+36>>2]=0;H[c+40>>2]=0;H[c+32>>2]=11872;e=H[c+20>>2];H[c>>2]=H[c+16>>2];H[c+4>>2]=e;e=c+32|0;Ie(e,f,c);c=d+8|0;fd(c,e);if((c|0)!=(e|0)){Cb(d+56|0,H[e+48>>2],H[e+52>>2])}He(e);break c}c=ca+-64|0;ca=c;h=H[H[a+4>>2]+44>>2];d=pa(80);H[d>>2]=12640;H[d+4>>2]=0;H[d+76>>2]=0;H[d+72>>2]=e;H[d+68>>2]=h;H[d+8>>2]=12804;H[d+12>>2]=0;H[d+16>>2]=0;H[d+20>>2]=0;H[d+24>>2]=0;H[d+28>>2]=0;H[d+32>>2]=0;H[d+36>>2]=0;H[d+40>>2]=0;H[d+44>>2]=0;H[d+48>>2]=0;H[d+52>>2]=0;H[d- -64>>2]=0;i=d+56|0;f=i;H[f>>2]=0;H[f+4>>2]=0;f=H[a+8>>2];H[c+40>>2]=0;H[c+44>>2]=0;H[c+32>>2]=0;H[c+36>>2]=0;g=c+24|0;H[g>>2]=0;H[g+4>>2]=0;H[c+16>>2]=0;H[c+20>>2]=0;H[c+56>>2]=0;H[c+8>>2]=0;H[c+12>>2]=0;H[c+48>>2]=0;H[c+52>>2]=0;H[c>>2]=12804;H[c+4>>2]=f;j=H[f>>2];l=H[f+4>>2];F[c+63|0]=0;m=g;g=c+63|0;Oa(m,(l-j>>2>>>0)/3|0,g);j=H[c+4>>2];l=H[j+28>>2];j=H[j+24>>2];F[c+63|0]=0;Oa(c+36|0,l-j>>2,g);H[c+20>>2]=d;H[c+16>>2]=h;H[c+12>>2]=e;H[c+8>>2]=f;fd(d+8|0,c);Cb(i,H[c+48>>2],H[c+52>>2]);H[c>>2]=12804;e=H[c+48>>2];if(e){H[c+52>>2]=e;oa(e)}H[c>>2]=12620;e=H[c+36>>2];if(e){oa(e)}e=H[c+24>>2];if(e){oa(e)}ca=c- -64|0}if(!d){break a}}d=od(pa(64),d);c=H[a+4>>2];a=d;d=b;k:{l:{if((d|0)>=0){h=c+8|0;b=H[c+12>>2];i=H[c+8>>2];e=b-i>>2;m:{if((e|0)>(d|0)){break m}f=d+1|0;if(d>>>0>=e>>>0){Vb(h,f-e|0);break m}if(e>>>0<=f>>>0){break m}f=i+(f<<2)|0;if((f|0)!=(b|0)){while(1){b=b-4|0;e=H[b>>2];H[b>>2]=0;if(e){ea[H[H[e>>2]+4>>2]](e)}if((b|0)!=(f|0)){continue}break}}H[c+12>>2]=f}c=H[h>>2]+(d<<2)|0;b=H[c>>2];H[c>>2]=a;if(b){break l}break k}b=a;if(!a){break k}}ea[H[H[b>>2]+4>>2]](b)}q=(d^-1)>>>31|0}ca=n+96|0;return q|0}function Kd(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=ca-16|0;ca=e;H[e+12>>2]=a;a:{if(a>>>0<=211){d=H[Jd(14256,14448,e+12|0)>>2];break a}if(a>>>0>=4294967292){X();v()}f=(a>>>0)/210|0;d=N(f,210);H[e+8>>2]=a-d;g=Jd(14448,14640,e+8|0)-14448>>2;while(1){d=H[(g<<2)+14448>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0>>0){break a}if((N(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((N(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((N(b,c)|0)!=(d|0)){continue}break}break b}b=H[(a<<2)+14256>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((N(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=N(f,210);continue}}ca=e+16|0;return d}function Ib(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,n=0,o=0,p=0;j=ca-16|0;ca=j;a:{b:{c:{d:{if(I[H[a+4>>2]+36|0]<=1){k=-1;c=H[b+20>>2];d=H[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=H[b+12>>2];if(K[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){break c}d=d+H[b>>2]|0;l=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[j+12>>2]=l;H[b+16>>2]=e;H[b+20>>2]=c;break d}k=-1;if(!Ea(1,j+12|0,b)){break c}l=H[j+12>>2]}e:{f:{g:{h:{i:{if(!l){break i}c=H[a+8>>2];if((H[c+4>>2]-H[c>>2]>>2>>>0)/3>>>0>>0){break c}c=J[H[a+4>>2]+36>>1];if(((c<<8|c>>>8)&65535)>>>0>=258){j:{while(1){if(!Ea(1,j+8|0,b)){break c}c=H[j+8>>2];if(!Ea(1,j+8|0,b)){break c}f=c+f|0;c=H[j+8>>2];if(f>>>0>>0){break c}g=f-c|0;c=H[a+40>>2];k:{if((c|0)!=H[a+44>>2]){H[c+4>>2]=f;H[c>>2]=g;H[a+40>>2]=c+12;l=H[j+12>>2];break k}m=H[a+36>>2];d=c-m|0;o=(d|0)/12|0;e=o+1|0;if(e>>>0>=357913942){break j}c=o<<1;h=o>>>0>=178956970?357913941:c>>>0>e>>>0?c:e;if(h){if(h>>>0>=357913942){break b}i=pa(N(h,12))}else{i=0}e=i+N(o,12)|0;H[e+4>>2]=f;H[e>>2]=g;c=va(e+N((d|0)/-12|0,12)|0,m,d);H[a+44>>2]=i+N(h,12);H[a+40>>2]=e+12;H[a+36>>2]=c;if(!m){break k}oa(m)}p=p+1|0;if(l>>>0>p>>>0){continue}break}k=0;Db(b,0,0);if(l){while(1){e=I[b+36|0];c=J[H[a+4>>2]+36>>1];l:{m:{if(((c<<8|c>>>8)&65535)>>>0<=513){if(!e){break l}p=0;c=H[b+32>>2];n=c>>>3|0;g=H[b+24>>2];e=n+g|0;d=H[b+28>>2];n:{if(e>>>0>=d>>>0){f=c;break n}e=I[e|0];f=c+1|0;H[b+32>>2]=f;n=f>>>3|0;p=e>>>(c&7)&1}if(d>>>0>g+n>>>0){break m}break l}if(!e){break l}p=0;f=H[b+32>>2];c=H[b+24>>2]+(f>>>3|0)|0;if(c>>>0>=K[b+28>>2]){break l}p=I[c|0]>>>(f&7)&1}H[b+32>>2]=f+1}c=H[a+36>>2]+N(k,12)|0;F[c+8|0]=I[c+8|0]&254|p&1;k=k+1|0;if((k|0)!=(l|0)){continue}break}}F[b+36|0]=0;f=H[b+20>>2];e=0;d=H[b+32>>2]+7|0;e=d>>>0<7?1:e;c=e>>>3|0;e=(e&7)<<29|d>>>3;d=e+H[b+16>>2]|0;c=c+f|0;H[b+16>>2]=d;H[b+20>>2]=d>>>0>>0?c+1|0:c;break i}sa();v()}while(1){d=H[b+8>>2];c=H[b+12>>2];g=c;c=H[b+20>>2];e=c;h=H[b+16>>2];f=h+4|0;c=f>>>0<4?c+1|0:c;i=f;if(f>>>0>d>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}m=H[b>>2];f=m+h|0;o=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=i;H[b+20>>2]=c;c=e;f=h+8|0;c=f>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}i=i+m|0;i=I[i|0]|I[i+1|0]<<8|(I[i+2|0]<<16|I[i+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=c;if(d>>>0<=f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=I[f+m|0];c=h+9|0;e=c>>>0<9?e+1|0:e;H[b+16>>2]=c;H[b+20>>2]=e;f=d&1;c=H[a+40>>2];o:{if((c|0)!=H[a+44>>2]){F[c+8|0]=f;H[c+4>>2]=i;H[c>>2]=o;H[a+40>>2]=c+12;l=H[j+12>>2];break o}m=H[a+36>>2];d=c-m|0;h=(d|0)/12|0;e=h+1|0;if(e>>>0>=357913942){break h}c=h<<1;g=h>>>0>=178956970?357913941:c>>>0>e>>>0?c:e;if(g){if(g>>>0>=357913942){break b}e=pa(N(g,12))}else{e=0}h=e+N(h,12)|0;F[h+8|0]=f;H[h+4>>2]=i;H[h>>2]=o;c=va(h+N((d|0)/-12|0,12)|0,m,d);H[a+44>>2]=e+N(g,12);H[a+40>>2]=h+12;H[a+36>>2]=c;if(!m){break o}oa(m)}n=n+1|0;if(l>>>0>n>>>0){continue}break}}H[j+8>>2]=0;c=J[H[a+4>>2]+36>>1];c=(c<<8|c>>>8)&65535;p:{if(c>>>0<=511){k=-1;c=H[b+20>>2];d=H[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;f=H[b+12>>2];if(K[b+8>>2]>>0&(f|0)<=(c|0)|(c|0)>(f|0)){break c}d=d+H[b>>2]|0;f=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;break p}if((c|0)!=512){break e}k=-1;if(!Ea(1,j+8|0,b)){break c}f=H[j+8>>2]}if(!f){break e}c=J[H[a+4>>2]+36>>1];if(((c<<8|c>>>8)&65535)>>>0<258){break f}n=0;l=0;while(1){if(!Ea(1,j+4|0,b)){break c}l=H[j+4>>2]+l|0;c=H[a+52>>2];q:{if((c|0)!=H[a+56>>2]){H[c>>2]=l;H[a+52>>2]=c+4;break q}i=H[a+48>>2];g=c-i|0;e=g>>2;d=e+1|0;if(d>>>0>=1073741824){break g}c=g>>>1|0;d=g>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(d){if(d>>>0>=1073741824){break b}c=pa(d<<2)}else{c=0}e=c+(e<<2)|0;H[e>>2]=l;c=va(c,i,g);H[a+56>>2]=c+(d<<2);H[a+52>>2]=e+4;H[a+48>>2]=c;if(!i){break q}oa(i)}n=n+1|0;if((n|0)!=(f|0)){continue}break}break e}sa();v()}sa();v()}k=0;while(1){c=H[b+20>>2];d=H[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=H[b+12>>2];if(K[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){k=-1;break c}d=d+H[b>>2]|0;g=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;c=H[a+52>>2];r:{if((c|0)!=H[a+56>>2]){H[c>>2]=g;H[a+52>>2]=c+4;break r}h=H[a+48>>2];i=c-h|0;e=i>>2;d=e+1|0;if(d>>>0>=1073741824){break a}c=i>>>1|0;d=i>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(d){if(d>>>0>=1073741824){break b}c=pa(d<<2)}else{c=0}e=c+(e<<2)|0;H[e>>2]=g;c=va(c,h,i);H[a+56>>2]=c+(d<<2);H[a+52>>2]=e+4;H[a+48>>2]=c;if(!h){break r}oa(h)}k=k+1|0;if((k|0)!=(f|0)){continue}break}}k=H[b+16>>2]}ca=j+16|0;return k}wa();v()}sa();v()}function Va(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=O(0),k=0,l=0;a:{if(!d){break a}b:{c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(F[b|0]);L[(h<<2)+d>>2]=i?O(j/O(127)):j;b=b+1|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(I[b|0]);L[(h<<2)+d>>2]=i?O(j/O(255)):j;b=b+1|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(G[b>>1]);L[(h<<2)+d>>2]=i?O(j/O(32767)):j;b=b+2|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(J[b>>1]);L[(h<<2)+d>>2]=i?O(j/O(65535)):j;b=b+2|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(H[b>>2]);L[(h<<2)+d>>2]=i?O(j*O(4.656612873077393e-10)):j;b=b+4|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(K[b>>2]);L[(h<<2)+d>>2]=i?O(j*O(2.3283064365386963e-10)):j;b=b+4|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(+K[b>>2]+ +H[b+4>>2]*4294967296);L[(h<<2)+d>>2]=i?O(j*O(10842021724855044e-35)):j;b=b+8|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];i=I[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=O(+K[b>>2]+ +K[b+4>>2]*4294967296);L[(h<<2)+d>>2]=i?O(j*O(5.421010862427522e-20)):j;b=b+8|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 8:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}L[(h<<2)+d>>2]=L[b>>2];b=b+4|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 9:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}L[(h<<2)+d>>2]=M[b>>3];b=b+8|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[a>>2];g=H[e>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=H[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}L[(h<<2)+d>>2]=I[b|0]?O(1):O(0);b=b+1|0;h=h+1|0;e=I[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0}ra(d,0,a<<2)}return l}function Hh(a){a=a|0;var 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;e=ca-32|0;ca=e;k=H[a+32>>2];b=J[a+36>>1];a:{b:{if(((b<<8|b>>>8)&65535)>>>0<=513){b=H[k+8>>2];d=H[k+12>>2];c=b;b=H[k+20>>2];f=b;g=H[k+16>>2];h=g+4|0;b=h>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break a}l=H[k>>2];i=l+g|0;n=I[i|0]|I[i+1|0]<<8|(I[i+2|0]<<16|I[i+3|0]<<24);H[k+16>>2]=h;H[k+20>>2]=b;i=c;c=d;b=f;d=g+8|0;b=d>>>0<8?b+1|0:b;if(d>>>0>i>>>0&(b|0)>=(c|0)|(b|0)>(c|0)){break a}c=h+l|0;H[e+24>>2]=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[k+16>>2]=d;H[k+20>>2]=b;break b}if(!Fb(1,e+28|0,k)){break a}if(!Fb(1,e+24|0,H[a+32>>2])){break a}n=H[e+28>>2]}if(n>>>0>1431655765){break a}d=H[a+32>>2];b=d;g=H[b+8>>2];c=H[b+16>>2];h=H[b+12>>2];b=H[b+20>>2];f=Sj(g-c|0,h-(b+(c>>>0>g>>>0)|0)|0,3,0);if(!da&f>>>0>>0|((b|0)>=(h|0)&c>>>0>=g>>>0|(b|0)>(h|0))){break a}g=I[c+H[d>>2]|0];c=c+1|0;b=c?b:b+1|0;H[d+16>>2]=c;H[d+20>>2]=b;c:{d:{if(!g){k=0;c=ca-32|0;ca=c;H[c+24>>2]=0;H[c+16>>2]=0;H[c+20>>2]=0;e:{f:{b=N(n,3);if(b){if(b>>>0>=1073741824){break f}d=N(n,12);k=pa(d);ra(k,0,d)}b=kd(b,1,H[a+32>>2],k);g:{h:{if(!(!n|!b)){d=0;while(1){i:{g=H[(d<<2)+k>>2];b=g>>>1|0;j:{if(g&1){if((b|0)>(j|0)){break i}b=0-b|0;break j}if((j^2147483647)>>>0>>0){break i}}g=b+j|0;H[c>>2]=g;h=H[(d+1<<2)+k>>2];b=h>>>1|0;k:{if(h&1){if((b|0)>(g|0)){break i}b=0-b|0;break k}if((g^2147483647)>>>0>>0){break i}}g=b+g|0;H[c+4>>2]=g;h=H[(d+2<<2)+k>>2];b=h>>>1|0;l:{if(h&1){if((b|0)>(g|0)){break i}b=0-b|0;break l}if((g^2147483647)>>>0>>0){break i}}d=d+3|0;j=b+g|0;H[c+8>>2]=j;Rb(H[a+44>>2]+96|0,c);b=1;o=o+1|0;if((o|0)!=(n|0)){continue}break h}break}b=0;break h}if(!k){break g}}oa(k)}ca=c+32|0;break e}sa();v()}if(!b){break a}k=H[e+24>>2];break d}k=H[e+24>>2];if(k>>>0<=255){if(!n){break d}while(1){m:{H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;d=H[a+32>>2];b=d;g=H[b+16>>2];f=H[b+8>>2];c=H[b+20>>2];i=H[b+12>>2];b=i;if(f>>>0<=g>>>0&(c|0)>=(b|0)|(b|0)<(c|0)){break m}j=H[d>>2];l=I[j+g|0];b=c;h=g+1|0;b=h?b:b+1|0;H[d+16>>2]=h;H[d+20>>2]=b;H[e+8>>2]=l;l=f>>>0>>0&(c|0)>=(i|0)|(c|0)>(i|0);f=l?g:f;i=l?c:i;if((f|0)==(h|0)&(i|0)==(b|0)){break m}l=I[h+j|0];b=c;h=g+2|0;b=h>>>0<2?b+1|0:b;H[d+16>>2]=h;H[d+20>>2]=b;H[e+12>>2]=l;if((f|0)==(h|0)&(b|0)==(i|0)){break m}h=I[h+j|0];b=c;c=g+3|0;b=c>>>0<3?b+1|0:b;H[d+16>>2]=c;H[d+20>>2]=b;H[e+16>>2]=h;Rb(H[a+44>>2]+96|0,e+8|0);m=m+1|0;if((m|0)!=(n|0)){continue}break d}break}m=0;break a}if(k>>>0<=65535){if(!n){break d}while(1){n:{H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;j=H[a+32>>2];b=j;c=H[b+8>>2];d=H[b+12>>2];h=H[b+16>>2];b=H[b+20>>2];g=b;f=h+2|0;b=f>>>0<2?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break n}l=H[j>>2];i=l+h|0;i=I[i|0]|I[i+1|0]<<8;H[j+16>>2]=f;H[j+20>>2]=b;H[e+8>>2]=i;b=g;i=h+4|0;b=i>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break n}f=f+l|0;f=I[f|0]|I[f+1|0]<<8;H[j+16>>2]=i;H[j+20>>2]=b;H[e+12>>2]=f;f=c;b=g;c=h+6|0;b=c>>>0<6?b+1|0:b;if(c>>>0>f>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break n}d=i+l|0;d=I[d|0]|I[d+1|0]<<8;H[j+16>>2]=c;H[j+20>>2]=b;H[e+16>>2]=d;Rb(H[a+44>>2]+96|0,e+8|0);m=m+1|0;if((m|0)!=(n|0)){continue}break d}break}m=0;break a}o:{if(k>>>0>2097151){break o}b=J[a+36>>1];if(((b<<8|b>>>8)&65535)>>>0<514){break o}if(!n){break d}while(1){p:{H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;if(!Fb(1,e+4|0,H[a+32>>2])){break p}H[e+8>>2]=H[e+4>>2];if(!Fb(1,e+4|0,H[a+32>>2])){break p}H[e+12>>2]=H[e+4>>2];if(!Fb(1,e+4|0,H[a+32>>2])){break p}H[e+16>>2]=H[e+4>>2];Rb(H[a+44>>2]+96|0,e+8|0);m=m+1|0;if((m|0)!=(n|0)){continue}break d}break}m=0;break a}if(!n){break d}while(1){H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;j=H[a+32>>2];b=j;c=H[b+8>>2];d=H[b+12>>2];h=H[b+16>>2];b=H[b+20>>2];g=b;f=h+4|0;b=f>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}l=H[j>>2];i=l+h|0;i=I[i|0]|I[i+1|0]<<8|(I[i+2|0]<<16|I[i+3|0]<<24);H[j+16>>2]=f;H[j+20>>2]=b;H[e+8>>2]=i;b=g;i=h+8|0;b=i>>>0<8?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}f=f+l|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[j+16>>2]=i;H[j+20>>2]=b;H[e+12>>2]=f;f=c;b=g;c=h+12|0;b=c>>>0<12?b+1|0:b;if(c>>>0>f>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}d=i+l|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[j+16>>2]=c;H[j+20>>2]=b;H[e+16>>2]=d;Rb(H[a+44>>2]+96|0,e+8|0);m=m+1|0;if((m|0)!=(n|0)){continue}break}}H[H[a+4>>2]+80>>2]=k;m=1;break a}m=0}ca=e+32|0;return m|0}function ic(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=O(0),m=O(0);a:{b:{if(!d){break b}c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}F[d+g|0]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){return 0}e=F[b|0];if((e|0)<0){break b}F[d+g|0]=e;b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>1];if((e+128&65535)>>>0>255){break b}F[d+g|0]=e;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>1];if(e>>>0>127){break b}F[d+g|0]=e;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>2];if(e+128>>>0>255){break b}F[d+g|0]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>2];if(e>>>0>127){break b}F[d+g|0]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}i=H[b+4>>2];e=H[b>>2];h=e+128|0;i=h>>>0<128?i+1|0:i;if(!i&h>>>0>255|i){break b}F[d+g|0]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}i=H[b+4>>2];e=H[b>>2];if(!i&e>>>0>127|i){break b}F[d+g|0]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=I[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=H[H[a>>2]>>2];f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break d}l=L[b>>2];if(l>=O(127)|lO(1)){break d}j=T(+l*127+.5);if(!(P(j)<2147483648)){break f}h=~~j;break e}if(!(m>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}ra(d+e|0,0,c-e|0)}return k;case 9:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}j=M[b>>3];if(j>=127|j<-128|(P(j)==Infinity|j!=j)){break b}e=d+g|0;if(I[a+32|0]){if(j<0|j>1){break b}j=T(j*127+.5)}g:{if(P(j)<2147483648){h=~~j;break g}h=-2147483648}F[e|0]=h;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}F[d+g|0]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ra(d+e|0,0,(c&255)-e|0)}return k}ra(d+e|0,0,(c&255)-e|0);return 1}function hc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=O(0);a:{b:{if(!d){break b}c:{switch(H[a+28>>2]-1|0){case 0:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){return 0}e=F[b|0];if((e|0)<0){break b}F[d+g|0]=e;b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}F[d+g|0]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>1];if(e>>>0>255){break b}F[d+g|0]=e;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>1];if(e>>>0>255){break b}F[d+g|0]=e;b=b+2|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>2];if(e>>>0>255){break b}F[d+g|0]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>2];if(e>>>0>255){break b}F[d+g|0]=e;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}i=H[b+4>>2];e=H[b>>2];if(!i&e>>>0>255|i){break b}F[d+g|0]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}i=H[b+4>>2];e=H[b>>2];if(!i&e>>>0>255|i){break b}F[d+g|0]=e;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=I[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=H[H[a>>2]>>2];f=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break d}l=L[b>>2];if(l>=O(255)|lO(1)){break d}j=T(+l*255+.5);if(!(j<4294967296&j>=0)){break f}h=~~j>>>0;break e}if(!(l=O(0))){break f}h=~~l>>>0;break e}h=0}F[e|0]=h;b=b+4|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}ra(d+e|0,0,c-e|0)}return k;case 9:e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}j=M[b>>3];if(j>=255|j<0|(P(j)==Infinity|j!=j)){break b}e=d+g|0;if(I[a+32|0]){if(j>1){break b}j=T(j*255+.5)}g:{if(j<4294967296&j>=0){h=~~j>>>0;break g}h=0}F[e|0]=h;b=b+8|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=I[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=H[H[a>>2]>>2];i=H[a+48>>2];b=Rj(H[a+40>>2],H[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(K[H[a>>2]+4>>2]<=b>>>0){break b}F[d+g|0]=I[b|0];b=b+1|0;g=g+1|0;e=I[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ra(d+e|0,0,(c&255)-e|0)}return k}ra(d+e|0,0,(c&255)-e|0);return 1}function zf(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,v=O(0),w=0;p=ca-16|0;ca=p;a:{if(!(H[a+60>>2]!=H[a- -64>>2]|H[a+48>>2]!=H[a+52>>2])){j=1;break a}j=1;if((ea[H[H[a>>2]+24>>2]](a)|0)<=0){break a}while(1){b:{b=ea[H[H[a>>2]+20>>2]](a,w)|0;c:{d:{e:{f=H[H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(b<<2)>>2];switch(H[f+28>>2]-1|0){case 8:break d;case 0:case 2:case 4:break e;default:break c}}b=I[f+24|0];f:{if(!b){n=0;j=0;break f}j=0;b=b<<2;n=pa(b);ra(n,0,b);b=I[f+24|0];if(!b){break f}b=b<<2;j=pa(b);ra(j,0,b)}g:{h:{i:{switch(H[f+28>>2]-1|0){case 4:i=0;h=0;d=0;b=0;k=0;e=I[f+24|0];j:{if(!e){g=0;break j}e=e<<2;h=pa(e);ra(h,0,e);g=pa(e);ra(g,0,e)}k:{if(H[f+80>>2]){while(1){o=H[f>>2];c=H[o>>2];m=H[f+48>>2];e=H[f+40>>2];l=Rj(e,H[f+44>>2],d,b);m=m+l|0;s=c+m|0;c=e;m=qa(h,s,c);l=I[f+24|0];if(l){t=H[a+48>>2];e=0;while(1){r=e<<2;s=H[r+m>>2];if((s|0)<0){break k}H[g+r>>2]=s+H[t+(e+u<<2)>>2];e=e+1|0;if((l|0)!=(e|0)){continue}break}}qa(H[o>>2]+N(d,c)|0,g,c);d=d+1|0;b=d?b:b+1|0;if(!b&K[f+80>>2]>d>>>0){continue}break}}k=1}if(g){oa(g)}if(h){oa(h)}if(k){break h}break g;case 2:g=0;e=0;d=0;b=0;c=I[f+24|0];if(c){c=c<<1;e=pa(c);ra(e,0,c);g=pa(c);ra(g,0,c)}if(H[f+80>>2]){while(1){l=H[f>>2];h=H[l>>2];i=H[f+48>>2];c=H[f+40>>2];k=Rj(c,H[f+44>>2],d,b);i=i+k|0;k=qa(e,h+i|0,c);o=I[f+24|0];l:{if(!o){break l}m=H[a+48>>2];h=0;if((o|0)!=1){t=o&254;i=0;while(1){r=h<<1;G[r+g>>1]=J[k+r>>1]+J[m+(h+u<<2)>>1];r=h|1;s=r<<1;G[s+g>>1]=J[k+s>>1]+J[m+(r+u<<2)>>1];h=h+2|0;i=i+2|0;if((t|0)!=(i|0)){continue}break}}if(!(o&1)){break l}i=h<<1;G[i+g>>1]=J[i+k>>1]+J[m+(h+u<<2)>>1]}qa(H[l>>2]+N(d,c)|0,g,c);d=d+1|0;b=d?b:b+1|0;if(!b&K[f+80>>2]>d>>>0){continue}break}}if(g){oa(g)}if(e){oa(e)}break h;case 0:break i;default:break h}}h=0;e=0;d=0;b=0;c=I[f+24|0];if(c){e=pa(c);ra(e,0,c);h=pa(c);ra(h,0,c)}if(H[f+80>>2]){while(1){t=H[f>>2];g=H[t>>2];i=H[f+48>>2];c=H[f+40>>2];k=Rj(c,H[f+44>>2],d,b);i=i+k|0;k=qa(e,g+i|0,c);o=I[f+24|0];m:{if(!o){break m}m=H[a+48>>2];g=0;if((o|0)!=1){r=o&254;i=0;while(1){F[g+h|0]=I[g+k|0]+I[m+(g+u<<2)|0];l=g|1;F[l+h|0]=I[k+l|0]+I[m+(l+u<<2)|0];g=g+2|0;i=i+2|0;if((r|0)!=(i|0)){continue}break}}if(!(o&1)){break m}F[g+h|0]=I[g+k|0]+I[m+(g+u<<2)|0]}qa(H[t>>2]+N(d,c)|0,h,c);d=d+1|0;b=d?b:b+1|0;if(!b&K[f+80>>2]>d>>>0){continue}break}}if(h){oa(h)}if(e){oa(e)}}u=I[f+24|0]+u|0;i=1}if(j){oa(j)}if(n){oa(n)}if(i){break c}j=0;break a}e=H[H[a+60>>2]+(q<<2)>>2];h=H[a+36>>2];g=H[(ea[H[H[a>>2]+28>>2]](a)|0)+40>>2];H[p+12>>2]=H[f+56>>2];b=pa(32);H[p>>2]=b;H[p+4>>2]=24;H[p+8>>2]=-2147483616;d=I[1206]|I[1207]<<8|(I[1208]<<16|I[1209]<<24);c=I[1202]|I[1203]<<8|(I[1204]<<16|I[1205]<<24);F[b+16|0]=c;F[b+17|0]=c>>>8;F[b+18|0]=c>>>16;F[b+19|0]=c>>>24;F[b+20|0]=d;F[b+21|0]=d>>>8;F[b+22|0]=d>>>16;F[b+23|0]=d>>>24;d=I[1198]|I[1199]<<8|(I[1200]<<16|I[1201]<<24);c=I[1194]|I[1195]<<8|(I[1196]<<16|I[1197]<<24);F[b+8|0]=c;F[b+9|0]=c>>>8;F[b+10|0]=c>>>16;F[b+11|0]=c>>>24;F[b+12|0]=d;F[b+13|0]=d>>>8;F[b+14|0]=d>>>16;F[b+15|0]=d>>>24;d=I[1190]|I[1191]<<8|(I[1192]<<16|I[1193]<<24);c=I[1186]|I[1187]<<8|(I[1188]<<16|I[1189]<<24);F[b|0]=c;F[b+1|0]=c>>>8;F[b+2|0]=c>>>16;F[b+3|0]=c>>>24;F[b+4|0]=d;F[b+5|0]=d>>>8;F[b+6|0]=d>>>16;F[b+7|0]=d>>>24;F[b+24|0]=0;d=sd(g,p+12|0,p);if(F[p+11|0]<0){oa(H[p>>2])}b=q+1|0;n:{if(d){oe(f,e);break n}g=h+N(q,24)|0;q=H[g+4>>2];c=I[f+24|0];h=c<<2;d=pa(h);H[p>>2]=1065353216;v=L[g+20>>2];q=-1<0){L[p>>2]=v/O(q|0)}if((q|0)<=0){break b}o:{if(!H[e+80>>2]){break o}if(!c){n=0;j=0;while(1){qa(H[H[f+64>>2]>>2]+j|0,d,h);j=h+j|0;n=n+1|0;if(n>>>0>2]){continue}break}break o}o=H[H[e>>2]>>2]+H[e+48>>2]|0;t=c&254;r=c&1;i=0;k=0;j=0;while(1){q=H[g+8>>2];v=L[p>>2];n=0;m=0;if((c|0)!=1){while(1){l=n<<2;s=o+(j<<2)|0;L[l+d>>2]=O(v*O(H[s>>2]))+L[l+q>>2];l=l|4;L[l+d>>2]=O(v*O(H[s+4>>2]))+L[l+q>>2];n=n+2|0;j=j+2|0;m=m+2|0;if((t|0)!=(m|0)){continue}break}}if(r){n=n<<2;L[n+d>>2]=O(v*O(H[o+(j<<2)>>2]))+L[n+q>>2];j=j+1|0}qa(H[H[f+64>>2]>>2]+k|0,d,h);k=h+k|0;i=i+1|0;if(i>>>0>2]){continue}break}}oa(d)}q=b}j=1;w=w+1|0;if((ea[H[H[a>>2]+24>>2]](a)|0)>(w|0)){continue}break a}break}oa(d);j=0}ca=p+16|0;return j|0}function Le(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=ca+-64|0;ca=g;H[g+56>>2]=0;H[g+48>>2]=0;H[g+52>>2]=0;H[g+40>>2]=0;H[g+44>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;H[g+24>>2]=0;H[g+28>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;j=g+8|0;d=J[b+38>>1];a:{b:{if(!d){break b}c:{if(d>>>0<=511){h=H[b+8>>2];f=H[b+12>>2];e=H[b+20>>2];d=H[b+16>>2];i=d+4|0;e=i>>>0<4?e+1|0:e;if(h>>>0>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break b}d=d+H[b>>2]|0;l=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[j+12>>2]=l;e=H[b+20>>2];d=H[b+16>>2]+4|0;e=d>>>0<4?e+1|0:e;H[b+16>>2]=d;H[b+20>>2]=e;break c}if(!hb(1,j+12|0,b)){break b}d=H[b+16>>2];e=H[b+20>>2];l=H[j+12>>2]}f=H[b+8>>2];i=f-d|0;d=H[b+12>>2]-((d>>>0>f>>>0)+e|0)|0;if(i>>>0>>6>>>0&(d|0)<=0|(d|0)<0){break b}e=H[j>>2];d=H[j+4>>2]-e>>2;d:{if(d>>>0>>0){ya(j,l-d|0);l=H[j+12>>2];break d}if(d>>>0<=l>>>0){break d}H[j+4>>2]=e+(l<<2)}i=1;if(!l){break a}d=H[b+16>>2];e=H[b+20>>2];r=H[j>>2];k=H[b+8>>2];o=H[b+12>>2];h=0;while(1){i=0;if((e|0)>=(o|0)&d>>>0>=k>>>0|(e|0)>(o|0)){break a}i=H[b>>2];p=I[i+d|0];d=d+1|0;e=d?e:e+1|0;H[b+16>>2]=d;H[b+20>>2]=e;f=p>>>2|0;m=0;e:{f:{g:{h:{s=p&3;switch(s|0){case 0:break f;case 3:break h;default:break g}}f=f+h|0;i=0;if(f>>>0>=l>>>0){break a}ra(r+(h<<2)|0,0,(p&252)+4|0);h=f;break e}while(1){if((d|0)==(k|0)&(e|0)==(o|0)){break b}l=I[d+i|0];d=d+1|0;e=d?e:e+1|0;H[b+16>>2]=d;H[b+20>>2]=e;f=l<<(m<<3|6)|f;m=m+1|0;if((s|0)!=(m|0)){continue}break}}H[r+(h<<2)>>2]=f}l=H[j+12>>2];h=h+1|0;if(l>>>0>h>>>0){continue}break}d=j+16|0;o=H[j>>2];f=H[j+16>>2];e=H[j+20>>2]-f|0;i:{if(e>>>0<=4194303){ya(d,1048576-(e>>>2|0)|0);break i}if((e|0)==4194304){break i}H[j+20>>2]=f+4194304}e=j+28|0;h=H[e>>2];f=H[j+32>>2]-h>>3;j:{if(f>>>0>>0){ob(e,l-f|0);h=H[e>>2];break j}if(f>>>0>l>>>0){H[j+32>>2]=(l<<3)+h}if(!l){break b}}k=H[d>>2];d=0;i=0;while(1){e=o+(d<<2)|0;j=H[e>>2];m=(d<<3)+h|0;f=i;H[m+4>>2]=f;H[m>>2]=j;e=H[e>>2];i=e+f|0;if(i>>>0>1048576){break b}k:{if(f>>>0>=i>>>0){break k}m=0;j=e&7;if(j){while(1){H[k+(f<<2)>>2]=d;f=f+1|0;m=m+1|0;if((j|0)!=(m|0)){continue}break}}if(e-1>>>0<=6){break k}while(1){e=k+(f<<2)|0;H[e>>2]=d;H[e+28>>2]=d;H[e+24>>2]=d;H[e+20>>2]=d;H[e+16>>2]=d;H[e+12>>2]=d;H[e+8>>2]=d;H[e+4>>2]=d;f=f+8|0;if((i|0)!=(f|0)){continue}break}}d=d+1|0;if((l|0)!=(d|0)){continue}break}n=(i|0)==1048576}i=n}l:{if(!i|(H[g+20>>2]?0:a)){break l}i=0;n=ca-16|0;ca=n;m:{n:{if(J[b+38>>1]<=511){h=H[b+8>>2];f=H[b+12>>2];j=f;e=H[b+20>>2];k=H[b+16>>2];d=k+8|0;e=d>>>0<8?e+1|0:e;if(d>>>0>h>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break m}k=k+H[b>>2]|0;f=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);k=I[k+4|0]|I[k+5|0]<<8|(I[k+6|0]<<16|I[k+7|0]<<24);H[b+16>>2]=d;H[b+20>>2]=e;break n}if(!gb(1,n+8|0,b)){break m}d=H[b+16>>2];e=H[b+20>>2];h=H[b+8>>2];j=H[b+12>>2];f=H[n+8>>2];k=H[n+12>>2]}l=h-d|0;h=j-((d>>>0>h>>>0)+e|0)|0;if((h|0)==(k|0)&f>>>0>l>>>0|h>>>0>>0){break m}e=e+k|0;h=d+f|0;e=h>>>0>>0?e+1|0:e;H[b+16>>2]=h;H[b+20>>2]=e;if((f|0)<=0){break m}b=H[b>>2]+d|0;H[g+48>>2]=b;d=f-1|0;e=d+b|0;h=I[e|0];o:{if(h>>>0<=63){H[g+52>>2]=d;b=I[e|0]&63;break o}p:{switch((h>>>6|0)-1|0){case 0:if(f>>>0<2){break m}d=f-2|0;H[g+52>>2]=d;b=b+d|0;b=I[b+1|0]<<8&16128|I[b|0];break o;case 1:if(f>>>0<3){break m}d=f-3|0;H[g+52>>2]=d;b=b+d|0;b=I[b+1|0]<<8|I[b+2|0]<<16&4128768|I[b|0];break o;default:break p}}d=f-4|0;H[g+52>>2]=d;b=b+d|0;b=(I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24))&1073741823}H[g+56>>2]=b+4194304;i=b>>>0<1069547520}ca=n+16|0;if(!i){break l}if(!a){t=1;break l}b=H[g+52>>2];f=H[g+56>>2];d=H[g+36>>2];e=H[g+48>>2];h=H[g+24>>2];while(1){q:{if(f>>>0>4194303){break q}while(1){if((b|0)<=0){break q}b=b-1|0;H[g+52>>2]=b;f=I[b+e|0]|f<<8;H[g+56>>2]=f;if(f>>>0<4194304){continue}break}}i=f&1048575;k=H[h+(i<<2)>>2];n=d+(k<<3)|0;f=(N(H[n>>2],f>>>20|0)+i|0)-H[n+4>>2]|0;H[g+56>>2]=f;H[(q<<2)+c>>2]=k;t=1;q=q+1|0;if((q|0)!=(a|0)){continue}break}}a=H[g+36>>2];if(a){H[g+40>>2]=a;oa(a)}a=H[g+24>>2];if(a){H[g+28>>2]=a;oa(a)}a=H[g+8>>2];if(a){H[g+12>>2]=a;oa(a)}ca=g- -64|0;return t}function nc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=ca-48|0;ca=e;f=J[6677]|J[6678]<<16;d=J[6675]|J[6676]<<16;G[e+38>>1]=d;G[e+40>>1]=d>>>16;G[e+42>>1]=f;G[e+44>>1]=f>>>16;d=H[3337];H[e+32>>2]=H[3336];H[e+36>>2]=d;d=H[3335];H[e+24>>2]=H[3334];H[e+28>>2]=d;d=H[3333];H[e+16>>2]=H[3332];H[e+20>>2]=d;g=H[b+8>>2];i=H[b+12>>2];h=H[b+20>>2];d=H[b+16>>2];f=d+5|0;h=f>>>0<5?h+1|0:h;a:{b:{if(g>>>0>>0&(h|0)>=(i|0)|(h|0)>(i|0)){d=Ma(e+16|0);if(d>>>0>=2147483632){break a}c:{d:{if(d>>>0>=11){b=(d|15)+1|0;c=pa(b);H[e+8>>2]=b|-2147483648;H[e>>2]=c;H[e+4>>2]=d;b=c+d|0;break d}F[e+11|0]=d;b=d+e|0;c=e;if(!d){break c}}qa(c,e+16|0,d)}F[b|0]=0;H[a>>2]=-2;b=a+4|0;if(F[e+11|0]>=0){a=H[e+4>>2];H[b>>2]=H[e>>2];H[b+4>>2]=a;H[b+8>>2]=H[e+8>>2];break b}za(b,H[e>>2],H[e+4>>2]);if(F[e+11|0]>=0){break b}oa(H[e>>2]);break b}f=d+H[b>>2]|0;d=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);F[c|0]=d;F[c+1|0]=d>>>8;F[c+2|0]=d>>>16;F[c+3|0]=d>>>24;F[c+4|0]=I[f+4|0];d=H[b+20>>2];f=H[b+16>>2]+5|0;d=f>>>0<5?d+1|0:d;H[b+16>>2]=f;H[b+20>>2]=d;if(Fa(c,1260,5)){d=pa(32);F[d+17|0]=0;F[d+16|0]=I[1496];c=I[1492]|I[1493]<<8|(I[1494]<<16|I[1495]<<24);b=I[1488]|I[1489]<<8|(I[1490]<<16|I[1491]<<24);F[d+8|0]=b;F[d+9|0]=b>>>8;F[d+10|0]=b>>>16;F[d+11|0]=b>>>24;F[d+12|0]=c;F[d+13|0]=c>>>8;F[d+14|0]=c>>>16;F[d+15|0]=c>>>24;c=I[1484]|I[1485]<<8|(I[1486]<<16|I[1487]<<24);b=I[1480]|I[1481]<<8|(I[1482]<<16|I[1483]<<24);F[d|0]=b;F[d+1|0]=b>>>8;F[d+2|0]=b>>>16;F[d+3|0]=b>>>24;F[d+4|0]=c;F[d+5|0]=c>>>8;F[d+6|0]=c>>>16;F[d+7|0]=c>>>24;H[a>>2]=-1;za(a+4|0,d,17);oa(d);break b}g=H[b+12>>2];if((g|0)<=(d|0)&K[b+8>>2]<=f>>>0|(d|0)>(g|0)){d=Ma(e+16|0);if(d>>>0>=2147483632){break a}e:{f:{if(d>>>0>=11){b=(d|15)+1|0;c=pa(b);H[e+8>>2]=b|-2147483648;H[e>>2]=c;H[e+4>>2]=d;b=c+d|0;break f}F[e+11|0]=d;b=d+e|0;c=e;if(!d){break e}}qa(c,e+16|0,d)}F[b|0]=0;H[a>>2]=-2;b=a+4|0;if(F[e+11|0]>=0){a=H[e+4>>2];H[b>>2]=H[e>>2];H[b+4>>2]=a;H[b+8>>2]=H[e+8>>2];break b}za(b,H[e>>2],H[e+4>>2]);if(F[e+11|0]>=0){break b}oa(H[e>>2]);break b}F[c+5|0]=I[f+H[b>>2]|0];g=H[b+20>>2];d=H[b+16>>2]+1|0;g=d?g:g+1|0;H[b+16>>2]=d;H[b+20>>2]=g;f=H[b+12>>2];if((f|0)<=(g|0)&K[b+8>>2]<=d>>>0|(g|0)>(f|0)){d=Ma(e+16|0);if(d>>>0>=2147483632){break a}g:{h:{if(d>>>0>=11){b=(d|15)+1|0;c=pa(b);H[e+8>>2]=b|-2147483648;H[e>>2]=c;H[e+4>>2]=d;b=c+d|0;break h}F[e+11|0]=d;b=d+e|0;c=e;if(!d){break g}}qa(c,e+16|0,d)}F[b|0]=0;H[a>>2]=-2;b=a+4|0;if(F[e+11|0]>=0){a=H[e+4>>2];H[b>>2]=H[e>>2];H[b+4>>2]=a;H[b+8>>2]=H[e+8>>2];break b}za(b,H[e>>2],H[e+4>>2]);if(F[e+11|0]>=0){break b}oa(H[e>>2]);break b}F[c+6|0]=I[d+H[b>>2]|0];h=H[b+20>>2];d=H[b+16>>2]+1|0;h=d?h:h+1|0;H[b+16>>2]=d;H[b+20>>2]=h;f=H[b+12>>2];if((f|0)<=(h|0)&K[b+8>>2]<=d>>>0|(f|0)<(h|0)){d=Ma(e+16|0);if(d>>>0>=2147483632){break a}i:{j:{if(d>>>0>=11){b=(d|15)+1|0;c=pa(b);H[e+8>>2]=b|-2147483648;H[e>>2]=c;H[e+4>>2]=d;b=c+d|0;break j}F[e+11|0]=d;b=d+e|0;c=e;if(!d){break i}}qa(c,e+16|0,d)}F[b|0]=0;H[a>>2]=-2;b=a+4|0;if(F[e+11|0]>=0){a=H[e+4>>2];H[b>>2]=H[e>>2];H[b+4>>2]=a;H[b+8>>2]=H[e+8>>2];break b}za(b,H[e>>2],H[e+4>>2]);if(F[e+11|0]>=0){break b}oa(H[e>>2]);break b}F[c+7|0]=I[d+H[b>>2]|0];g=H[b+20>>2];d=H[b+16>>2]+1|0;g=d?g:g+1|0;H[b+16>>2]=d;H[b+20>>2]=g;f=H[b+12>>2];if((f|0)<=(g|0)&K[b+8>>2]<=d>>>0|(g|0)>(f|0)){c=mc(e,e+16|0);H[a>>2]=-2;b=a+4|0;if(F[c+11|0]>=0){a=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=a;H[b+8>>2]=H[c+8>>2];break b}za(b,H[c>>2],H[c+4>>2]);if(F[c+11|0]>=0){break b}oa(H[c>>2]);break b}F[c+8|0]=I[d+H[b>>2]|0];d=H[b+20>>2];g=H[b+16>>2];f=g+1|0;i=f?d:d+1|0;H[b+16>>2]=f;H[b+20>>2]=i;i=H[b+8>>2];h=H[b+12>>2];g=g+3|0;d=g>>>0<3?d+1|0:d;if(g>>>0>i>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){c=mc(e,e+16|0);H[a>>2]=-2;b=a+4|0;if(F[c+11|0]>=0){a=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=a;H[b+8>>2]=H[c+8>>2];break b}za(b,H[c>>2],H[c+4>>2]);if(F[c+11|0]>=0){break b}oa(H[c>>2]);break b}d=c;c=H[b>>2]+f|0;G[d+10>>1]=I[c|0]|I[c+1|0]<<8;g=H[b+20>>2];c=H[b+16>>2]+2|0;g=c>>>0<2?g+1|0:g;H[b+16>>2]=c;H[b+20>>2]=g;H[a+8>>2]=0;H[a+12>>2]=0;H[a>>2]=0;H[a+4>>2]=0}ca=e+48|0;return}Na();v()}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0;e=ca-96|0;ca=e;f=H[a+16>>2];F[e+92|0]=1;H[e+88>>2]=b;H[e+84>>2]=b;H[e+80>>2]=f;j=H[a+20>>2];d=H[j>>2];a:{b:{f=H[H[f+28>>2]+(b<<2)>>2];if(f>>>0>2]-d>>2>>>0){d=H[H[a+8>>2]+(H[d+(f<<2)>>2]<<2)>>2];f=H[a+4>>2];if(!I[f+84|0]){d=H[H[f+68>>2]+(d<<2)>>2]}H[e+72>>2]=0;H[e+76>>2]=0;j=e- -64|0;H[j>>2]=0;H[j+4>>2]=0;H[e+56>>2]=0;H[e+60>>2]=0;Sa(f,d,F[f+24|0],e+56|0);if((b|0)!=-1){f=b+1|0;j=(f>>>0)%3|0?f:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;while(1){d=j;f=m;c:{if(!H[a+28>>2]){break c}f=b+1|0;d=(f>>>0)%3|0?f:b-2|0;f=b-1|0;if((b>>>0)%3|0){break c}f=b+2|0}n=H[a+20>>2];b=H[n>>2];d=H[H[H[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=H[n+4>>2]-b>>2>>>0){break b}d=H[H[a+8>>2]+(H[b+(d<<2)>>2]<<2)>>2];b=H[a+4>>2];if(!I[b+84|0]){d=H[H[b+68>>2]+(d<<2)>>2]}H[e+48>>2]=0;H[e+52>>2]=0;H[e+40>>2]=0;H[e+44>>2]=0;H[e+32>>2]=0;H[e+36>>2]=0;Sa(b,d,F[b+24|0],e+32|0);d=H[a+20>>2];b=H[d>>2];f=H[H[H[a+16>>2]+28>>2]+(f<<2)>>2];if(f>>>0>=H[d+4>>2]-b>>2>>>0){break a}d=H[H[a+8>>2]+(H[b+(f<<2)>>2]<<2)>>2];b=H[a+4>>2];if(!I[b+84|0]){d=H[H[b+68>>2]+(d<<2)>>2]}H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;Sa(b,d,F[b+24|0],e+8|0);g=H[e+8>>2];b=H[e+56>>2];d=g-b|0;p=H[e+60>>2];t=H[e+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=H[e+40>>2];f=H[e+64>>2];n=h-f|0;u=H[e+68>>2];y=H[e+44>>2]-(u+(f>>>0>h>>>0)|0)|0;g=Rj(d,t,n,y);w=o-g|0;x=i-(da+(g>>>0>o>>>0)|0)|0;i=w;h=H[e+16>>2];g=h-f|0;u=H[e+20>>2]-((f>>>0>h>>>0)+u|0)|0;k=H[e+32>>2];h=k-b|0;w=H[e+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=Rj(g,u,h,w);o=i+b|0;i=da+x|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=d;p=t;k=H[e+48>>2];f=H[e+72>>2];d=k-f|0;t=H[e+76>>2];x=H[e+52>>2]-(t+(f>>>0>k>>>0)|0)|0;l=Rj(l,p,d,x);k=b+l|0;b=da+q|0;b=k>>>0>>0?b+1|0:b;l=H[e+24>>2];p=l-f|0;f=H[e+28>>2]-((f>>>0>l>>>0)+t|0)|0;q=Rj(p,f,h,w);l=k-q|0;q=b-(da+(k>>>0>>0)|0)|0;b=Rj(g,u,d,x);d=r-b|0;b=s-(da+(b>>>0>r>>>0)|0)|0;s=Rj(p,f,n,y);r=s+d|0;b=da+b|0;s=r>>>0>>0?b+1|0:b;b=H[e+88>>2];f=H[e+80>>2];d:{if(I[e+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|H[H[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=H[H[H[f+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}H[e+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;H[e+88>>2]=b;if((b|0)!=-1){break e}}b=H[e+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(H[H[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=H[H[H[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}F[e+92|0]=0;H[e+88>>2]=d;break d}if((b|0)!=H[e+84>>2]){break d}H[e+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(H[H[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=H[H[H[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}H[e+88>>2]=d}b=H[e+88>>2];if((b|0)!=-1){continue}break}}b=s>>31;f=b^r;d=f-b|0;b=(b^s)-((b>>>0>f>>>0)+b|0)|0;m=-1;f=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;m:{n:{if(!H[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break m}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;f=a;g=i;a=g>>31;d=a;m=d^o;a=m-d|0;i=a;d=(d^g)-((d>>>0>m>>>0)+d|0)|0;a=a+f|0;d=d^2147483647;i=(d|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>d>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break o}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=i;d=i>>31;h=d^o;i=h-d|0;j=(d^k)-((d>>>0>h>>>0)+d|0)|0;g=j^2147483647;d=a;a=i;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break o}b=b+j|0;m=a+d|0;b=m>>>0>>0?b+1|0:b;f=b;if(!b&m>>>0<536870913){break m}}b=f>>>29|0;a=(f&536870911)<<3|m>>>29}o=Sj(o,n,a,b);l=Sj(l,q,a,b);r=Sj(r,s,a,b)}H[c+8>>2]=o;H[c+4>>2]=l;H[c>>2]=r;ca=e+96|0;return}Ca();v()}Ca();v()}Ca();v()}function Jj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;H[a+8>>2]=e;r=a+32|0;g=H[r>>2];f=H[a+36>>2]-g>>2;a:{if(f>>>0>>0){ya(r,e-f|0);d=H[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}H[a+36>>2]=g+(e<<2);d=e}w=e<<2;f=e>>>0>1073741823?-1:w;m=ra(pa(f),0,f);p=ra(pa(f),0,f);b:{if((d|0)<=0){break b}i=H[a+32>>2];while(1){d=h<<2;f=H[d+m>>2];g=H[a+16>>2];c:{if((f|0)>(g|0)){H[d+i>>2]=g;break c}d=d+i|0;g=H[a+12>>2];if((g|0)>(f|0)){H[d>>2]=g;break c}H[d>>2]=f}d=H[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){g=f<<2;d=g+c|0;g=H[b+g>>2]+H[g+i>>2]|0;H[d>>2]=g;d:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break d}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=H[a+56>>2];x=H[f>>2];f=H[f+4>>2]-x|0;if((f|0)>=5){D=H[a+52>>2];s=H[a+48>>2];u=f>>>2|0;E=u>>>0<=2?2:u;y=e&-2;z=e&1;F=e&-4;A=e&3;B=e-1|0;n=1;while(1){e:{f:{g:{h:{if((n|0)!=(u|0)){g=H[(n<<2)+x>>2];t=(e|0)<=0;if(!t){ra(m,0,w)}if((g|0)==-1){i=N(e,n);break f}C=H[s>>2];l=0;f=g;while(1){i:{if(H[(f>>>3&536870908)+C>>2]>>>f&1){break i}i=H[H[H[s+64>>2]+12>>2]+(f<<2)>>2];if((i|0)==-1){break i}j=H[D>>2];h=H[s+28>>2];o=H[j+(H[h+(i<<2)>>2]<<2)>>2];if((o|0)>=(n|0)){break i}k=i+1|0;k=H[j+(H[h+(((k>>>0)%3|0?k:i-2|0)<<2)>>2]<<2)>>2];if((k|0)>=(n|0)){break i}i=H[j+(H[h+(i+((i>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((i|0)>=(n|0)){break i}j:{if(t){break j}i=N(e,i);j=N(e,k);o=N(e,o);h=0;q=0;if(B){while(1){H[(h<<2)+p>>2]=(H[(h+i<<2)+c>>2]+H[(h+j<<2)+c>>2]|0)-H[(h+o<<2)+c>>2];k=h|1;H[(k<<2)+p>>2]=(H[(i+k<<2)+c>>2]+H[(j+k<<2)+c>>2]|0)-H[(k+o<<2)+c>>2];h=h+2|0;q=q+2|0;if((y|0)!=(q|0)){continue}break}}if(z){H[(h<<2)+p>>2]=(H[(h+i<<2)+c>>2]+H[(h+j<<2)+c>>2]|0)-H[(h+o<<2)+c>>2]}if(t){break j}o=0;h=0;i=0;if(e>>>0>3){while(1){j=h<<2;k=j+m|0;H[k>>2]=H[j+p>>2]+H[k>>2];k=j|4;q=k+m|0;H[q>>2]=H[k+p>>2]+H[q>>2];k=j|8;q=k+m|0;H[q>>2]=H[k+p>>2]+H[q>>2];j=j|12;k=j+m|0;H[k>>2]=H[j+p>>2]+H[k>>2];h=h+4|0;i=i+4|0;if((F|0)!=(i|0)){continue}break}}if(!A){break j}while(1){i=h<<2;j=i+m|0;H[j>>2]=H[i+p>>2]+H[j>>2];h=h+1|0;o=o+1|0;if((A|0)!=(o|0)){continue}break}}l=l+1|0}k:{l:{if((f>>>0)%3|0){h=f-1|0;break l}h=f+2|0;i=-1;if((h|0)==-1){break k}}i=-1;if(H[(h>>>3&536870908)+C>>2]>>>h&1){break k}f=H[H[H[s+64>>2]+12>>2]+(h<<2)>>2];i=-1;if((f|0)==-1){break k}i=f-1|0;if((f>>>0)%3|0){break k}i=f+2|0}f=i;if((g|0)!=(f|0)&(f|0)!=-1){continue}break}i=N(e,n);if(!l){break f}if(t){break g}h=0;f=0;if(!B){break h}while(1){g=h<<2;j=g+m|0;H[j>>2]=H[j>>2]/(l|0);g=(g|4)+m|0;H[g>>2]=H[g>>2]/(l|0);h=h+2|0;f=f+2|0;if((y|0)!=(f|0)){continue}break}break h}Ca();v()}if(!z){break g}f=(h<<2)+m|0;H[f>>2]=H[f>>2]/(l|0)}if((d|0)<=0){break e}l=H[r>>2];h=0;while(1){d=h<<2;f=H[d+m>>2];g=H[a+16>>2];m:{if((f|0)>(g|0)){H[d+l>>2]=g;break m}d=d+l|0;g=H[a+12>>2];if((g|0)>(f|0)){H[d>>2]=g;break m}H[d>>2]=f}d=H[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=i<<2;i=d+c|0;h=b+d|0;while(1){g=f<<2;d=g+i|0;g=H[h+g>>2]+H[g+l>>2]|0;H[d>>2]=g;n:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break n}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}if((d|0)<=0){break e}g=(N(n-1|0,e)<<2)+c|0;l=H[r>>2];h=0;while(1){d=h<<2;f=H[d+g>>2];j=H[a+16>>2];o:{if((f|0)>(j|0)){H[d+l>>2]=j;break o}d=d+l|0;j=H[a+12>>2];if((j|0)>(f|0)){H[d>>2]=j;break o}H[d>>2]=f}d=H[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=i<<2;i=d+c|0;h=b+d|0;while(1){g=f<<2;d=g+i|0;g=H[h+g>>2]+H[g+l>>2]|0;H[d>>2]=g;p:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break p}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}n=n+1|0;if((E|0)!=(n|0)){continue}break}}oa(p);oa(m);return 1}function sj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;H[a+8>>2]=e;r=a+32|0;f=H[r>>2];j=H[a+36>>2]-f>>2;a:{if(j>>>0>>0){ya(r,e-j|0);d=H[a+8>>2];break a}d=e;if(e>>>0>=j>>>0){break a}H[a+36>>2]=f+(e<<2);d=e}u=e<<2;f=e>>>0>1073741823?-1:u;m=ra(pa(f),0,f);p=ra(pa(f),0,f);b:{if((d|0)<=0){break b}i=H[a+32>>2];while(1){f=h<<2;j=H[f+m>>2];d=H[a+16>>2];c:{if((j|0)>(d|0)){H[f+i>>2]=d;break c}f=f+i|0;d=H[a+12>>2];if((d|0)>(j|0)){H[f>>2]=d;break c}H[f>>2]=j}d=H[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){j=f<<2;d=j+c|0;j=H[b+j>>2]+H[j+i>>2]|0;H[d>>2]=j;d:{if((j|0)>H[a+16>>2]){j=j-H[a+20>>2]|0}else{if((j|0)>=H[a+12>>2]){break d}j=j+H[a+20>>2]|0}H[d>>2]=j}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=H[a+56>>2];w=H[f>>2];f=H[f+4>>2]-w|0;if((f|0)>=5){D=H[a+52>>2];x=H[a+48>>2];t=f>>>2|0;E=t>>>0<=2?2:t;y=e&-2;z=e&1;F=e&-4;A=e&3;B=e-1|0;n=1;while(1){e:{f:{g:{h:{if((n|0)!=(t|0)){j=H[(n<<2)+w>>2];s=(e|0)<=0;if(!s){ra(m,0,u)}if((j|0)==-1){g=N(e,n);break f}C=H[x+12>>2];q=0;f=j;while(1){h=H[(f<<2)+C>>2];i:{if((h|0)==-1){break i}o=H[D>>2];l=H[x>>2];k=H[o+(H[l+(h<<2)>>2]<<2)>>2];i=h+1|0;i=(i>>>0)%3|0?i:h-2|0;if((i|0)!=-1){g=H[l+(i<<2)>>2]}else{g=-1}j:{k:{if((h>>>0)%3|0){h=h-1|0;break k}h=h+2|0;i=-1;if((h|0)==-1){break j}}i=H[l+(h<<2)>>2]}if((k|0)>=(n|0)){break i}g=H[(g<<2)+o>>2];if((g|0)>=(n|0)){break i}i=H[o+(i<<2)>>2];if((i|0)>=(n|0)){break i}l:{if(s){break l}l=N(e,i);o=N(e,g);k=N(e,k);h=0;i=0;if(B){while(1){H[(h<<2)+p>>2]=(H[(h+l<<2)+c>>2]+H[(h+o<<2)+c>>2]|0)-H[(h+k<<2)+c>>2];g=h|1;H[(g<<2)+p>>2]=(H[(g+l<<2)+c>>2]+H[(g+o<<2)+c>>2]|0)-H[(g+k<<2)+c>>2];h=h+2|0;i=i+2|0;if((y|0)!=(i|0)){continue}break}}if(z){H[(h<<2)+p>>2]=(H[(h+l<<2)+c>>2]+H[(h+o<<2)+c>>2]|0)-H[(h+k<<2)+c>>2]}if(s){break l}o=0;h=0;k=0;if(e>>>0>3){while(1){l=h<<2;i=l+m|0;H[i>>2]=H[l+p>>2]+H[i>>2];g=l|4;i=g+m|0;H[i>>2]=H[g+p>>2]+H[i>>2];g=l|8;i=g+m|0;H[i>>2]=H[g+p>>2]+H[i>>2];g=l|12;i=g+m|0;H[i>>2]=H[g+p>>2]+H[i>>2];h=h+4|0;k=k+4|0;if((F|0)!=(k|0)){continue}break}}if(!A){break l}while(1){g=h<<2;i=g+m|0;H[i>>2]=H[g+p>>2]+H[i>>2];h=h+1|0;o=o+1|0;if((A|0)!=(o|0)){continue}break}}q=q+1|0}m:{n:{if((f>>>0)%3|0){h=f-1|0;break n}h=f+2|0;g=-1;if((h|0)==-1){break m}}f=H[(h<<2)+C>>2];g=-1;if((f|0)==-1){break m}g=f-1|0;if((f>>>0)%3|0){break m}g=f+2|0}f=g;if((j|0)!=(f|0)&(f|0)!=-1){continue}break}g=N(e,n);if(!q){break f}if(s){break g}h=0;f=0;if(!B){break h}while(1){i=h<<2;j=i+m|0;H[j>>2]=H[j>>2]/(q|0);j=(i|4)+m|0;H[j>>2]=H[j>>2]/(q|0);h=h+2|0;f=f+2|0;if((y|0)!=(f|0)){continue}break}break h}Ca();v()}if(!z){break g}f=(h<<2)+m|0;H[f>>2]=H[f>>2]/(q|0)}if((d|0)<=0){break e}k=H[r>>2];h=0;while(1){f=h<<2;j=H[f+m>>2];d=H[a+16>>2];o:{if((j|0)>(d|0)){H[f+k>>2]=d;break o}f=f+k|0;d=H[a+12>>2];if((d|0)>(j|0)){H[f>>2]=d;break o}H[f>>2]=j}d=H[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=g<<2;i=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+i|0;g=H[g+j>>2]+H[g+k>>2]|0;H[d>>2]=g;p:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break p}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}if((d|0)<=0){break e}f=(N(n-1|0,e)<<2)+c|0;k=H[r>>2];h=0;while(1){j=h<<2;i=H[j+f>>2];d=H[a+16>>2];q:{if((i|0)>(d|0)){H[j+k>>2]=d;break q}j=j+k|0;d=H[a+12>>2];if((d|0)>(i|0)){H[j>>2]=d;break q}H[j>>2]=i}d=H[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=g<<2;i=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+i|0;g=H[g+j>>2]+H[g+k>>2]|0;H[d>>2]=g;r:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break r}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}n=n+1|0;if((E|0)!=(n|0)){continue}break}}oa(p);oa(m);return 1}function xa(a){var 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;f=ca-32|0;ca=f;a:{b=H[a+16>>2];b:{if(b>>>0>=341){H[a+16>>2]=b-341;b=H[a+4>>2];j=H[b>>2];c=b+4|0;H[a+4>>2]=c;b=H[a+8>>2];c:{if((b|0)!=H[a+12>>2]){d=b;break c}k=H[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=va(e+c|0,c,b)+b|0;H[a+8>>2]=d;H[a+4>>2]=e+H[a+4>>2];break c}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=pa(e);l=e+h|0;e=h+(d&-4)|0;d=e;d:{if((b|0)==(c|0)){break d}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;e:{if(!g){b=e;break e}d=0;b=e;while(1){H[b>>2]=H[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break d}while(1){H[b>>2]=H[c>>2];H[b+4>>2]=H[c+4>>2];H[b+8>>2]=H[c+8>>2];H[b+12>>2]=H[c+12>>2];H[b+16>>2]=H[c+16>>2];H[b+20>>2]=H[c+20>>2];H[b+24>>2]=H[c+24>>2];H[b+28>>2]=H[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}H[a+12>>2]=l;H[a+8>>2]=d;H[a+4>>2]=e;H[a>>2]=h;if(!k){break c}oa(k);d=H[a+8>>2]}H[d>>2]=j;H[a+8>>2]=H[a+8>>2]+4;break b}c=H[a+8>>2];b=H[a+4>>2];l=c-b|0;h=l>>2;g=H[a+12>>2];d=H[a>>2];e=g-d|0;if(h>>>0>2>>>0){if((c|0)!=(g|0)){n=f,o=pa(4092),H[n+8>>2]=o;d=a;f:{g:{b=H[a+8>>2];h:{if((b|0)!=H[a+12>>2]){e=b;break h}c=H[d+4>>2];h=H[d>>2];if(c>>>0>h>>>0){g=((c-h>>2)+1|0)/-2<<2;a=b-c|0;e=va(g+c|0,c,a)+a|0;H[d+8>>2]=e;H[d+4>>2]=g+H[d+4>>2];break h}e=(b|0)==(h|0)?1:b-h>>1;if(e>>>0>=1073741824){break g}a=e<<2;j=pa(a);l=a+j|0;a=j+(e&-4)|0;e=a;i:{if((b|0)==(c|0)){break i}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;j:{if(!g){b=a;break j}e=0;b=a;while(1){H[b>>2]=H[c>>2];c=c+4|0;b=b+4|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}}e=a+m|0;if(i>>>0<28){break i}while(1){H[b>>2]=H[c>>2];H[b+4>>2]=H[c+4>>2];H[b+8>>2]=H[c+8>>2];H[b+12>>2]=H[c+12>>2];H[b+16>>2]=H[c+16>>2];H[b+20>>2]=H[c+20>>2];H[b+24>>2]=H[c+24>>2];H[b+28>>2]=H[c+28>>2];c=c+32|0;b=b+32|0;if((e|0)!=(b|0)){continue}break}}H[d+12>>2]=l;H[d+8>>2]=e;H[d+4>>2]=a;H[d>>2]=j;if(!h){break h}oa(h);e=H[d+8>>2]}H[e>>2]=H[f+8>>2];H[d+8>>2]=H[d+8>>2]+4;break f}wa();v()}break b}n=f,o=pa(4092),H[n+8>>2]=o;qd(a,f+8|0);b=H[a+4>>2];j=H[b>>2];c=b+4|0;H[a+4>>2]=c;b=H[a+8>>2];k:{if((b|0)!=H[a+12>>2]){d=b;break k}k=H[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=va(e+c|0,c,b)+b|0;H[a+8>>2]=d;H[a+4>>2]=e+H[a+4>>2];break k}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=pa(e);l=e+h|0;e=h+(d&-4)|0;d=e;l:{if((b|0)==(c|0)){break l}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;m:{if(!g){b=e;break m}d=0;b=e;while(1){H[b>>2]=H[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break l}while(1){H[b>>2]=H[c>>2];H[b+4>>2]=H[c+4>>2];H[b+8>>2]=H[c+8>>2];H[b+12>>2]=H[c+12>>2];H[b+16>>2]=H[c+16>>2];H[b+20>>2]=H[c+20>>2];H[b+24>>2]=H[c+24>>2];H[b+28>>2]=H[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}H[a+12>>2]=l;H[a+8>>2]=d;H[a+4>>2]=e;H[a>>2]=h;if(!k){break k}oa(k);d=H[a+8>>2]}H[d>>2]=j;H[a+8>>2]=H[a+8>>2]+4;break b}H[f+24>>2]=a+12;m=(d|0)==(g|0)?1:e>>1;if(m>>>0>=1073741824){break a}e=m<<2;g=pa(e);H[f+8>>2]=g;j=e+g|0;H[f+20>>2]=j;d=(h<<2)+g|0;H[f+12>>2]=d;i=pa(4092);n:{if((h|0)!=(m|0)){break n}if((l|0)>0){d=((h+1|0)/-2<<2)+d|0;H[f+12>>2]=d;break n}d=(b|0)==(c|0)?1:l>>1;if(d>>>0>=1073741824){break a}b=d<<2;e=pa(b);H[f+8>>2]=e;j=b+e|0;H[f+20>>2]=j;d=e+(d&-4)|0;H[f+12>>2]=d;oa(g);b=H[a+4>>2];c=H[a+8>>2];g=e}H[d>>2]=i;i=d+4|0;H[f+16>>2]=i;e=b;if((b|0)!=(c|0)){while(1){c=c-4|0;qd(f+8|0,c);if(H[a+4>>2]!=(c|0)){continue}break}j=H[f+20>>2];i=H[f+16>>2];d=H[f+12>>2];g=H[f+8>>2];e=c;b=H[a+8>>2]}c=H[a>>2];H[a>>2]=g;H[f+8>>2]=c;H[a+4>>2]=d;H[f+12>>2]=e;H[a+8>>2]=i;H[f+16>>2]=b;d=H[a+12>>2];H[a+12>>2]=j;H[f+20>>2]=d;if((b|0)!=(e|0)){H[f+16>>2]=((e-b|0)+3&-4)+b}if(!c){break b}oa(c)}ca=f+32|0;return}wa();v()}function Aj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=O(0),j=0,k=0,l=0,m=O(0),n=O(0),o=O(0),p=O(0),q=O(0),r=0,s=O(0),t=O(0),u=O(0),w=O(0),x=0,y=O(0),z=O(0),A=O(0),B=0;a:{b:{if((e|0)!=2){break b}H[a+64>>2]=f;H[a+72>>2]=2;e=pa(8);d=H[a+68>>2];H[a+68>>2]=e;if(d){oa(d)}H[a+8>>2]=2;x=a+32|0;e=H[x>>2];d=H[a+36>>2]-e|0;c:{if(d>>>0<=7){ya(x,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}H[a+36>>2]=e+8}h=1;d=H[a+56>>2];d=H[d+4>>2]-H[d>>2]|0;if((d|0)<=0){break b}d=d>>>2|0;B=d>>>0<=1?1:d;d=0;while(1){e=H[a+56>>2];h=H[e>>2];if(H[e+4>>2]-h>>2>>>0<=d>>>0){break a}q=O(0);g=ca-48|0;ca=g;e=-1;h=H[h+(d<<2)>>2];f=-1;d:{if((h|0)==-1){break d}e=h+1|0;e=(e>>>0)%3|0?e:h-2|0;f=h-1|0;if((h>>>0)%3|0){break d}f=h+2|0}j=H[a+52>>2];h=H[j>>2];e:{f:{j=H[j+4>>2]-h>>2;l=e<<2;e=H[H[a+48>>2]+28>>2];r=H[l+e>>2];if(j>>>0<=r>>>0){break f}e=H[e+(f<<2)>>2];if(e>>>0>=j>>>0){break f}j=H[h+(e<<2)>>2];f=H[h+(r<<2)>>2];g:{if(!((j|0)>=(d|0)|(f|0)>=(d|0))){e=H[a+72>>2];h=(N(e,j)<<2)+c|0;m=O(H[h+4>>2]);e=(N(e,f)<<2)+c|0;p=O(H[e+4>>2]);y=O(H[e>>2]);n=O(H[h>>2]);if(!(y!=n|m!=p)){h=+m>2147483647;e=H[a+68>>2];if(O(P(m))>2]=m2147483647;if(O(P(n))>2]=n>2]+(d<<2)>>2];H[g+40>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;h=H[a+60>>2];if(!I[h+84|0]){e=H[H[h+68>>2]+(e<<2)>>2]}Va(h,e,F[h+24|0],g+32|0);f=H[H[a+64>>2]+(f<<2)>>2];H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;e=H[a+60>>2];if(!I[e+84|0]){f=H[H[e+68>>2]+(f<<2)>>2]}Va(e,f,F[e+24|0],g+16|0);f=H[H[a+64>>2]+(j<<2)>>2];H[g+8>>2]=0;H[g>>2]=0;H[g+4>>2]=0;e=H[a+60>>2];if(!I[e+84|0]){f=H[H[e+68>>2]+(f<<2)>>2]}Va(e,f,F[e+24|0],g);o=L[g+24>>2];s=O(L[g+8>>2]-o);t=L[g+20>>2];u=O(L[g+4>>2]-t);A=L[g+16>>2];w=O(L[g>>2]-A);z=O(O(s*s)+O(O(u*u)+O(O(w*w)+O(0))));h:{if(H[a+88>>2]>=258){i=O(0);if(!(z>O(0))){break h}}i=O(L[g+40>>2]-o);o=O(L[g+36>>2]-t);t=O(L[g+32>>2]-A);q=O(O(O(s*i)+O(O(u*o)+O(O(w*t)+O(0))))/z);i=O(i-O(s*q));s=O(i*i);i=O(o-O(u*q));o=O(i*i);i=O(t-O(w*q));i=O(W(O(O(s+O(o+O(O(i*i)+O(0))))/z)))}f=H[a+80>>2];if(f){e=f-1|0;h=H[H[a+76>>2]+(e>>>3&536870908)>>2];H[a+80>>2]=e;m=O(m-p);o=O(O(m*q)+p);n=O(n-y);p=O(n*i);e=h>>>e&1;p=O(o+(e?p:O(-p)));i=O(i*m);k=T(+O(O(O(n*q)+y)+(e?O(-i):i))+.5);i:{if(k<-2147483648|k!=k|k>2147483647){e=H[a+68>>2];H[e>>2]=-2147483648;break i}e=H[a+68>>2];if(P(k)<2147483648){h=~~k}else{h=-2147483648}H[e>>2]=h}k=T(+p+.5);j=k>2147483647;if(P(k)<2147483648){h=~~k}else{h=-2147483648}H[e+4>>2]=k<-2147483648?-2147483648:k!=k?-2147483648:j?-2147483648:h}f=(f|0)!=0;break g}j:{if((d|0)>(f|0)){e=H[a+72>>2];h=N(f,e);break j}if((d|0)<=0){f=1;if(H[a+72>>2]<=0){break g}h=H[a+68>>2];e=0;while(1){H[h+(e<<2)>>2]=0;e=e+1|0;if((e|0)>2]){continue}break}break g}e=H[a+72>>2];h=N(e,d-1|0)}f=1;if((e|0)<=0){break g}j=H[a+68>>2];e=0;while(1){H[j+(e<<2)>>2]=H[(e+h<<2)+c>>2];e=e+1|0;if((e|0)>2]){continue}break}}ca=g+48|0;break e}Ca();v()}h=f;if(!h){return 0}k:{if(H[a+8>>2]<=0){break k}r=H[a+68>>2];j=H[x>>2];e=0;while(1){f=e<<2;g=H[f+r>>2];l=H[a+16>>2];l:{if((g|0)>(l|0)){H[f+j>>2]=l;break l}f=f+j|0;l=H[a+12>>2];if((l|0)>(g|0)){H[f>>2]=l;break l}H[f>>2]=g}e=e+1|0;g=H[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break k}e=d<<3;r=e+c|0;l=b+e|0;while(1){g=f<<2;e=g+r|0;g=H[g+l>>2]+H[g+j>>2]|0;H[e>>2]=g;m:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break m}g=g+H[a+20>>2]|0}H[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((B|0)!=(d|0)){continue}break}}return h|0}Ca();v()}function kj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=O(0),j=0,k=0,l=O(0),m=O(0),n=O(0),o=O(0),p=0,q=O(0),r=O(0),s=O(0),t=O(0),u=O(0),w=0,x=O(0),y=O(0),z=0,A=O(0),B=0;a:{b:{if((e|0)!=2){break b}H[a+64>>2]=f;H[a+72>>2]=2;e=pa(8);d=H[a+68>>2];H[a+68>>2]=e;if(d){oa(d)}H[a+8>>2]=2;w=a+32|0;e=H[w>>2];d=H[a+36>>2]-e|0;c:{if(d>>>0<=7){ya(w,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}H[a+36>>2]=e+8}h=1;d=H[a+56>>2];d=H[d+4>>2]-H[d>>2]|0;if((d|0)<=0){break b}d=d>>>2|0;B=d>>>0<=1?1:d;d=0;while(1){f=H[a+56>>2];e=H[f>>2];if(H[f+4>>2]-e>>2>>>0<=d>>>0){break a}q=O(0);g=ca-48|0;ca=g;h=-1;d:{e:{e=H[e+(d<<2)>>2];if((e|0)==-1){break e}j=H[a+48>>2];f=e+1|0;f=(f>>>0)%3|0?f:e-2|0;if((f|0)!=-1){h=H[H[j>>2]+(f<<2)>>2]}f=-1;e=e+((e>>>0)%3|0?-1:2)|0;if((e|0)!=-1){f=H[H[j>>2]+(e<<2)>>2]}e=H[a+52>>2];j=H[e>>2];e=H[e+4>>2]-j>>2;if(e>>>0<=h>>>0|e>>>0<=f>>>0){break e}e=H[j+(h<<2)>>2];j=H[j+(f<<2)>>2];f:{if(!((d|0)<=(e|0)|(j|0)>=(d|0))){f=H[a+72>>2];h=(N(f,j)<<2)+c|0;l=O(H[h+4>>2]);f=(N(e,f)<<2)+c|0;o=O(H[f+4>>2]);x=O(H[f>>2]);m=O(H[h>>2]);if(!(x!=m|l!=o)){h=+l>2147483647;e=H[a+68>>2];if(O(P(l))>2]=l2147483647;if(O(P(m))>2]=m>2]+(d<<2)>>2];H[g+40>>2]=0;H[g+32>>2]=0;H[g+36>>2]=0;h=H[a+60>>2];if(!I[h+84|0]){f=H[H[h+68>>2]+(f<<2)>>2]}Va(h,f,F[h+24|0],g+32|0);f=H[H[a+64>>2]+(e<<2)>>2];H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;e=H[a+60>>2];if(!I[e+84|0]){f=H[H[e+68>>2]+(f<<2)>>2]}Va(e,f,F[e+24|0],g+16|0);h=H[H[a+64>>2]+(j<<2)>>2];H[g+8>>2]=0;H[g>>2]=0;H[g+4>>2]=0;e=H[a+60>>2];if(!I[e+84|0]){h=H[H[e+68>>2]+(h<<2)>>2]}Va(e,h,F[e+24|0],g);n=L[g+24>>2];r=O(L[g+8>>2]-n);s=L[g+20>>2];t=O(L[g+4>>2]-s);A=L[g+16>>2];u=O(L[g>>2]-A);y=O(O(r*r)+O(O(t*t)+O(O(u*u)+O(0))));g:{if(H[a+88>>2]>=258){i=O(0);if(!(y>O(0))){break g}}i=O(L[g+40>>2]-n);n=O(L[g+36>>2]-s);s=O(L[g+32>>2]-A);q=O(O(O(r*i)+O(O(t*n)+O(O(u*s)+O(0))))/y);i=O(i-O(r*q));r=O(i*i);i=O(n-O(t*q));n=O(i*i);i=O(s-O(u*q));i=O(W(O(O(r+O(n+O(O(i*i)+O(0))))/y)))}e=H[a+80>>2];if(e){f=e-1|0;h=H[H[a+76>>2]+(f>>>3&536870908)>>2];H[a+80>>2]=f;l=O(l-o);n=O(O(l*q)+o);m=O(m-x);o=O(m*i);f=h>>>f&1;o=O(n+(f?o:O(-o)));i=O(i*l);k=T(+O(O(O(m*q)+x)+(f?O(-i):i))+.5);h:{if(k<-2147483648|k!=k|k>2147483647){h=H[a+68>>2];H[h>>2]=-2147483648;break h}h=H[a+68>>2];if(P(k)<2147483648){f=~~k}else{f=-2147483648}H[h>>2]=f}k=T(+o+.5);j=k>2147483647;if(P(k)<2147483648){f=~~k}else{f=-2147483648}H[h+4>>2]=k<-2147483648?-2147483648:k!=k?-2147483648:j?-2147483648:f}h=(e|0)!=0;break f}i:{if((d|0)>(e|0)){f=H[a+72>>2];e=N(e,f);break i}if((d|0)<=0){h=1;if(H[a+72>>2]<=0){break f}e=H[a+68>>2];f=0;while(1){H[e+(f<<2)>>2]=0;f=f+1|0;if((f|0)>2]){continue}break}break f}f=H[a+72>>2];e=N(f,d-1|0)}h=1;if((f|0)<=0){break f}j=H[a+68>>2];f=0;while(1){H[j+(f<<2)>>2]=H[(e+f<<2)+c>>2];f=f+1|0;if((f|0)>2]){continue}break}}ca=g+48|0;break d}Ca();v()}if(!h){return 0}j:{if(H[a+8>>2]<=0){break j}z=H[a+68>>2];j=H[w>>2];e=0;while(1){f=e<<2;g=H[f+z>>2];p=H[a+16>>2];k:{if((g|0)>(p|0)){H[f+j>>2]=p;break k}f=f+j|0;p=H[a+12>>2];if((p|0)>(g|0)){H[f>>2]=p;break k}H[f>>2]=g}e=e+1|0;g=H[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break j}e=d<<3;z=e+c|0;p=b+e|0;while(1){g=f<<2;e=g+z|0;g=H[g+p>>2]+H[g+j>>2]|0;H[e>>2]=g;l:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break l}g=g+H[a+20>>2]|0}H[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((B|0)!=(d|0)){continue}break}}return h|0}Ca();v()}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=ca-704|0;ca=f;n=1;a:{b:{c:{d:{if(J[b+38>>1]<515){break d}n=0;c=H[b+20>>2];d=H[b+12>>2];g=H[b+16>>2];if((c|0)>=(d|0)&g>>>0>=K[b+8>>2]|(c|0)>(d|0)){break d}p=I[H[b>>2]+g|0];g=g+1|0;c=g?c:c+1|0;H[b+16>>2]=g;H[b+20>>2]=c;g=H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+80>>2];c=ea[H[H[a>>2]+24>>2]](a)|0;H[f+40>>2]=0;H[f+32>>2]=0;H[f+36>>2]=0;if(c){if(c>>>0>=214748365){break c}c=N(c,20);d=pa(c);H[f+32>>2]=d;H[f+40>>2]=c+d;c=c-20|0;c=(c-((c>>>0)%20|0)|0)+20|0;q=f,r=ra(d,0,c)+c|0,H[q+36>>2]=r}e:{if((ea[H[H[a>>2]+24>>2]](a)|0)>0){while(1){c=ea[H[H[a>>2]+20>>2]](a,l)|0;c=H[H[H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];mb(c,g);F[c+84|0]=1;H[c+72>>2]=H[c+68>>2];d=H[c+28>>2];if(d>>>0>9){break e}f:{g:{h:{e=1<>2],d,6,0,i,i>>31);c=jc(pa(96),e);H[f>>2]=c;F[c+84|0]=1;H[c+72>>2]=H[c+68>>2];mb(c,g);c=H[a+64>>2];if(c>>>0>=K[a+68>>2]){break h}d=H[f>>2];H[f>>2]=0;H[c>>2]=d;c=c+4|0;H[a+64>>2]=c;break g}j=0;if(!I[c+24|0]){break f}while(1){d=H[a+52>>2];i=H[a+56>>2];i:{if(d>>>0>>0){H[d>>2]=0;H[a+52>>2]=d+4;break i}e=d;d=H[a+48>>2];m=e-d|0;k=m>>2;e=k+1|0;if(e>>>0>=1073741824){break b}o=k<<2;i=i-d|0;k=i>>>1|0;e=i>>>0>=2147483644?1073741823:e>>>0>>0?k:e;if(e){if(e>>>0>=1073741824){break a}i=pa(e<<2)}else{i=0}k=o+i|0;H[k>>2]=0;o=e<<2;e=va(i,d,m);H[a+56>>2]=o+e;H[a+52>>2]=k+4;H[a+48>>2]=e;if(!d){break i}oa(d)}j=j+1|0;if(j>>>0>2];i=H[a+64>>2]-e>>2;d=i+1|0;if(d>>>0<1073741824){e=H[a+68>>2]-e|0;j=e>>>1|0;e=e>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(e){if(e>>>0>=1073741824){break l}c=pa(e<<2)}j=H[f>>2];H[f>>2]=0;d=(i<<2)+c|0;H[d>>2]=j;e=(e<<2)+c|0;i=d+4|0;c=H[a+64>>2];j=H[a+60>>2];if((c|0)==(j|0)){break k}while(1){c=c-4|0;m=H[c>>2];H[c>>2]=0;d=d-4|0;H[d>>2]=m;if((c|0)!=(j|0)){continue}break}H[a+68>>2]=e;e=H[a+64>>2];H[a+64>>2]=i;c=H[a+60>>2];H[a+60>>2]=d;if((c|0)==(e|0)){break j}while(1){e=e-4|0;d=H[e>>2];H[e>>2]=0;if(d){Ga(d)}if((c|0)!=(e|0)){continue}break}break j}sa();v()}wa();v()}H[a+68>>2]=e;H[a+64>>2]=i;H[a+60>>2]=d}if(c){oa(c)}c=H[a+64>>2]}c=H[c-4>>2];d=H[f>>2];H[f>>2]=0;if(!d){break f}Ga(d)}i=H[c+28>>2];d=i-1|0;if(d>>>0<=10){e=H[(d<<2)+13584>>2]}else{e=-1}d=H[f+32>>2]+N(l,20)|0;j=I[c+24|0];H[d+16>>2]=j;H[d+12>>2]=(e|0)>0?e:0;H[d+8>>2]=i;H[d+4>>2]=h;H[d>>2]=c;h=h+j|0;l=l+1|0;if((ea[H[H[a>>2]+24>>2]](a)|0)>(l|0)){continue}break}}a=Ac(f,f+32|0);m:{n:{o:{switch(p|0){case 0:c=wb(f+48|0,h);b=Bd(c,b,a,g);h=H[c+8>>2];xb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 1:c=wb(f+48|0,h);b=zd(c,b,a,g);h=H[c+8>>2];xb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 2:c=ub(f+48|0,h);b=yd(c,b,a,g);h=H[c+8>>2];vb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 3:c=ub(f+48|0,h);b=xd(c,b,a,g);h=H[c+8>>2];vb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 4:c=$a(f+48|0,h);b=wd(c,b,a,g);h=H[c+8>>2];ab(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 5:c=$a(f+48|0,h);b=vd(c,b,a,g);h=H[c+8>>2];ab(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 6:break o;default:break m}}c=$a(f+48|0,h);b=ud(c,b,a,g);h=H[c+8>>2];ab(c);if(!b|(h|0)!=(g|0)){break m}}n=1}b=H[a+16>>2];if(b){H[a+20>>2]=b;oa(b)}b=H[a>>2];if(!b){break e}H[a+4>>2]=b;oa(b)}a=H[f+32>>2];if(!a){break d}H[f+36>>2]=a;oa(a)}ca=f+704|0;return n|0}sa();v()}sa();v()}wa();v()}function Zi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=ca-32|0;ca=e;a:{b:{switch(c-2|0){case 0:c=H[a+4>>2];f=H[a+12>>2];H[e+24>>2]=-1;H[e+16>>2]=-1;H[e+20>>2]=1065353216;H[e+8>>2]=-1;H[e+12>>2]=-1;if((b|0)==-2){break a}i=H[H[H[c+4>>2]+8>>2]+(f<<2)>>2];if((ea[H[H[c>>2]+8>>2]](c)|0)==1){h=H[H[H[c+4>>2]+8>>2]+(f<<2)>>2];c:{if((ea[H[H[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break c}g=ea[H[H[c>>2]+36>>2]](c)|0;a=ea[H[H[c>>2]+44>>2]](c,f)|0;if(!g|!a){break c}f=ea[H[H[c>>2]+40>>2]](c,f)|0;d:{if(f){if((b|0)!=6){break c}b=H[c+44>>2];d=pa(112);H[d+4>>2]=h;c=H[e+12>>2];H[d+8>>2]=H[e+8>>2];H[d+12>>2]=c;c=H[e+20>>2];H[d+16>>2]=H[e+16>>2];H[d+20>>2]=c;H[d+24>>2]=H[e+24>>2];H[d+40>>2]=a;c=a+12|0;H[d+36>>2]=c;H[d+32>>2]=f;H[d+28>>2]=b;H[d+68>>2]=a;H[d- -64>>2]=c;H[d+60>>2]=f;H[d+56>>2]=b;H[d+48>>2]=0;H[d+52>>2]=0;H[d>>2]=7144;H[d+88>>2]=1065353216;H[d+92>>2]=-1;H[d+80>>2]=-1;H[d+84>>2]=-1;H[d+72>>2]=1;H[d+76>>2]=-1;H[d+44>>2]=7668;a=d+96|0;break d}if((b|0)!=6){break c}b=H[c+44>>2];d=pa(112);H[d+4>>2]=h;c=H[e+12>>2];H[d+8>>2]=H[e+8>>2];H[d+12>>2]=c;c=H[e+20>>2];H[d+16>>2]=H[e+16>>2];H[d+20>>2]=c;H[d+24>>2]=H[e+24>>2];H[d+40>>2]=a;c=a+12|0;H[d+36>>2]=c;H[d+32>>2]=g;H[d+28>>2]=b;H[d+68>>2]=a;H[d- -64>>2]=c;H[d+60>>2]=g;H[d+56>>2]=b;H[d+48>>2]=0;H[d+52>>2]=0;H[d>>2]=8080;H[d+88>>2]=1065353216;H[d+92>>2]=-1;H[d+80>>2]=-1;H[d+84>>2]=-1;H[d+72>>2]=1;H[d+76>>2]=-1;H[d+44>>2]=8472;a=d+96|0}H[a>>2]=0;H[a+4>>2]=0;F[a+5|0]=0;F[a+6|0]=0;F[a+7|0]=0;F[a+8|0]=0;F[a+9|0]=0;F[a+10|0]=0;F[a+11|0]=0;F[a+12|0]=0}if(d){break a}}d=pa(28);H[d+4>>2]=i;a=H[e+12>>2];H[d+8>>2]=H[e+8>>2];H[d+12>>2]=a;a=H[e+20>>2];H[d+16>>2]=H[e+16>>2];H[d+20>>2]=a;H[d+24>>2]=H[e+24>>2];H[d>>2]=8860;break a;case 1:break b;default:break a}}c=H[a+4>>2];f=H[a+12>>2];H[e+24>>2]=-1;H[e+16>>2]=-1;H[e+20>>2]=1065353216;H[e+8>>2]=-1;H[e+12>>2]=-1;if((b|0)==-2){break a}i=H[H[H[c+4>>2]+8>>2]+(f<<2)>>2];if((ea[H[H[c>>2]+8>>2]](c)|0)==1){h=H[H[H[c+4>>2]+8>>2]+(f<<2)>>2];e:{if((ea[H[H[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break e}g=ea[H[H[c>>2]+36>>2]](c)|0;a=ea[H[H[c>>2]+44>>2]](c,f)|0;if(!g|!a){break e}f=ea[H[H[c>>2]+40>>2]](c,f)|0;f:{if(f){if((b|0)!=6){break e}b=H[c+44>>2];d=pa(112);H[d+4>>2]=h;c=H[e+12>>2];H[d+8>>2]=H[e+8>>2];H[d+12>>2]=c;c=H[e+20>>2];H[d+16>>2]=H[e+16>>2];H[d+20>>2]=c;H[d+24>>2]=H[e+24>>2];H[d+40>>2]=a;c=a+12|0;H[d+36>>2]=c;H[d+32>>2]=f;H[d+28>>2]=b;H[d+68>>2]=a;H[d- -64>>2]=c;H[d+60>>2]=f;H[d+56>>2]=b;H[d+48>>2]=0;H[d+52>>2]=0;H[d>>2]=9028;H[d+88>>2]=1065353216;H[d+92>>2]=-1;H[d+80>>2]=-1;H[d+84>>2]=-1;H[d+72>>2]=1;H[d+76>>2]=-1;H[d+44>>2]=9592;a=d+96|0;break f}if((b|0)!=6){break e}b=H[c+44>>2];d=pa(112);H[d+4>>2]=h;c=H[e+12>>2];H[d+8>>2]=H[e+8>>2];H[d+12>>2]=c;c=H[e+20>>2];H[d+16>>2]=H[e+16>>2];H[d+20>>2]=c;H[d+24>>2]=H[e+24>>2];H[d+40>>2]=a;c=a+12|0;H[d+36>>2]=c;H[d+32>>2]=g;H[d+28>>2]=b;H[d+68>>2]=a;H[d- -64>>2]=c;H[d+60>>2]=g;H[d+56>>2]=b;H[d+48>>2]=0;H[d+52>>2]=0;H[d>>2]=10032;H[d+88>>2]=1065353216;H[d+92>>2]=-1;H[d+80>>2]=-1;H[d+84>>2]=-1;H[d+72>>2]=1;H[d+76>>2]=-1;H[d+44>>2]=10452;a=d+96|0}H[a>>2]=0;H[a+4>>2]=0;F[a+5|0]=0;F[a+6|0]=0;F[a+7|0]=0;F[a+8|0]=0;F[a+9|0]=0;F[a+10|0]=0;F[a+11|0]=0;F[a+12|0]=0}if(d){break a}}d=pa(28);H[d+4>>2]=i;a=H[e+12>>2];H[d+8>>2]=H[e+8>>2];H[d+12>>2]=a;a=H[e+20>>2];H[d+16>>2]=H[e+16>>2];H[d+20>>2]=a;H[d+24>>2]=H[e+24>>2];H[d>>2]=10864}ca=e+32|0;return d|0}function Ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=O(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=O(0),p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(H[c>>2]==H[c+4>>2]){m=H[d+80>>2];u=ca-16|0;ca=u;g=H[a+4>>2];k=I[b+24|0];h=H[d+48>>2];n=H[H[d>>2]>>2];c=u+8|0;H[c>>2]=1065353216;d=c;L[c>>2]=O(-1<>2];c=pa(k<<2);a:{if(!m|!k){break a}p=h+n|0;o=L[d>>2];n=H[a+8>>2];v=H[b>>2];d=H[b+48>>2];g=H[b+40>>2];w=H[b+44>>2];if(!I[b+84|0]){f=H[b+68>>2];s=k&254;t=k&1;a=0;while(1){b=H[v>>2];l=Rj(g,w,H[f+(i<<2)>>2],0)+d|0;h=qa(c,b+l|0,g);b=0;q=0;if((k|0)!=1){while(1){l=p+(a<<2)|0;j=b<<2;e=O(T(O(O(o*O(L[j+h>>2]-L[n+j>>2]))+O(.5))));b:{if(O(P(e))>2]=r;j=j|4;e=O(T(O(O(o*O(L[j+h>>2]-L[n+j>>2]))+O(.5))));c:{if(O(P(e))>2]=j;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){l=p+(a<<2)|0;b=b<<2;e=O(T(O(O(o*O(L[b+h>>2]-L[b+n>>2]))+O(.5))));d:{if(O(P(e))>2]=b;a=a+1|0}i=i+1|0;if((m|0)!=(i|0)){continue}break}break a}s=k&254;t=k&1;a=0;while(1){b=H[v>>2];h=Rj(g,w,i,l)+d|0;j=qa(c,b+h|0,g);b=0;q=0;if((k|0)!=1){while(1){h=p+(a<<2)|0;f=b<<2;e=O(T(O(O(o*O(L[f+j>>2]-L[f+n>>2]))+O(.5))));e:{if(O(P(e))>2]=r;f=f|4;e=O(T(O(O(o*O(L[f+j>>2]-L[f+n>>2]))+O(.5))));f:{if(O(P(e))>2]=f;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){h=p+(a<<2)|0;b=b<<2;e=O(T(O(O(o*O(L[b+j>>2]-L[b+n>>2]))+O(.5))));g:{if(O(P(e))>2]=b;a=a+1|0}b=l;i=i+1|0;b=i?b:b+1|0;l=b;if((i|0)!=(m|0)|b){continue}break}}oa(c);ca=u+16|0;return 1}j=ca-16|0;ca=j;m=H[a+4>>2];i=I[b+24|0];g=H[d+48>>2];h=H[H[d>>2]>>2];d=j+8|0;H[d>>2]=1065353216;l=d;L[d>>2]=O(-1<>2];d=pa(i<<2);m=H[c+4>>2];q=H[c>>2];h:{if(!i|(m|0)==(q|0)){break h}n=h+g|0;c=m-q>>2;u=c>>>0<=1?1:c;o=L[l>>2];h=H[a+8>>2];v=H[b>>2];l=H[b+48>>2];m=H[b+40>>2];w=H[b+44>>2];if(I[b+84|0]){s=i&254;t=i&1;a=0;c=0;while(1){b=H[v>>2];g=Rj(m,w,H[q+(c<<2)>>2],0)+l|0;p=qa(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=O(T(O(O(o*O(L[f+p>>2]-L[h+f>>2]))+O(.5))));i:{if(O(P(e))>2]=r;f=f|4;e=O(T(O(O(o*O(L[f+p>>2]-L[h+f>>2]))+O(.5))));j:{if(O(P(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(t){g=n+(a<<2)|0;b=b<<2;e=O(T(O(O(o*O(L[b+p>>2]-L[b+h>>2]))+O(.5))));k:{if(O(P(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}break h}s=H[b+68>>2];t=i&254;x=i&1;a=0;c=0;while(1){b=H[v>>2];g=Rj(m,w,H[s+(H[q+(c<<2)>>2]<<2)>>2],0)+l|0;p=qa(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=O(T(O(O(o*O(L[f+p>>2]-L[h+f>>2]))+O(.5))));l:{if(O(P(e))>2]=r;f=f|4;e=O(T(O(O(o*O(L[f+p>>2]-L[h+f>>2]))+O(.5))));m:{if(O(P(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(x){g=n+(a<<2)|0;b=b<<2;e=O(T(O(O(o*O(L[b+p>>2]-L[b+h>>2]))+O(.5))));n:{if(O(P(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}}oa(d);ca=j+16|0;return 1}function dd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=H[a+4>>2];e=H[a>>2];f=(c-e|0)/144|0;if(f>>>0>>0){e=a;b=b-f|0;h=H[a+8>>2];c=H[a+4>>2];a:{if(b>>>0<=(h-c|0)/144>>>0){b:{if(!b){break b}a=c;f=b&7;if(f){while(1){Ia(a);a=a+144|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}c=N(b,144)+c|0;if((b-1&268435455)>>>0<7){break b}while(1){Ia(a);Ia(a+144|0);Ia(a+288|0);Ia(a+432|0);Ia(a+576|0);Ia(a+720|0);Ia(a+864|0);Ia(a+1008|0);a=a+1152|0;if((c|0)!=(a|0)){continue}break}}H[e+4>>2]=c;break a}c:{d:{e:{a=c;c=H[e>>2];i=(a-c|0)/144|0;a=i+b|0;if(a>>>0<29826162){c=(h-c|0)/144|0;f=c<<1;f=c>>>0>=14913080?29826161:a>>>0>>0?f:a;if(f){if(f>>>0>=29826162){break e}g=pa(N(f,144))}c=N(i,144)+g|0;a=c;h=b&7;if(h){while(1){Ia(a);a=a+144|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}}h=N(b,144)+c|0;if((b-1&268435455)>>>0>=7){while(1){Ia(a);Ia(a+144|0);Ia(a+288|0);Ia(a+432|0);Ia(a+576|0);Ia(a+720|0);Ia(a+864|0);Ia(a+1008|0);a=a+1152|0;if((h|0)!=(a|0)){continue}break}}b=N(f,144)+g|0;d=H[e+4>>2];f=H[e>>2];if((d|0)==(f|0)){break d}while(1){c=c-144|0;d=d-144|0;a=d;H[c>>2]=H[a>>2];H[c+4>>2]=H[a+4>>2];H[c+8>>2]=H[a+8>>2];H[c+12>>2]=H[a+12>>2];H[a+12>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[c+16>>2]=H[a+16>>2];H[c+20>>2]=H[a+20>>2];H[c+24>>2]=H[a+24>>2];H[a+24>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;g=I[a+28|0];H[c+40>>2]=0;H[c+32>>2]=0;H[c+36>>2]=0;F[c+28|0]=g;H[c+32>>2]=H[a+32>>2];H[c+36>>2]=H[a+36>>2];H[c+40>>2]=H[a+40>>2];H[a+40>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;H[c+52>>2]=0;H[c+44>>2]=0;H[c+48>>2]=0;H[c+44>>2]=H[a+44>>2];H[c+48>>2]=H[a+48>>2];H[c+52>>2]=H[a+52>>2];H[a+52>>2]=0;H[a+44>>2]=0;H[a+48>>2]=0;g=c- -64|0;H[g>>2]=0;H[c+56>>2]=0;H[c+60>>2]=0;H[c+56>>2]=H[a+56>>2];H[c+60>>2]=H[a+60>>2];i=g;g=a- -64|0;H[i>>2]=H[g>>2];H[g>>2]=0;H[a+56>>2]=0;H[a+60>>2]=0;H[c+68>>2]=H[a+68>>2];g=H[a+72>>2];H[c+84>>2]=0;H[c+76>>2]=0;H[c+80>>2]=0;H[c+72>>2]=g;H[c+76>>2]=H[a+76>>2];H[c+80>>2]=H[a+80>>2];H[c+84>>2]=H[a+84>>2];H[a+84>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[c+96>>2]=0;H[c+88>>2]=0;H[c+92>>2]=0;H[c+88>>2]=H[a+88>>2];H[c+92>>2]=H[a+92>>2];H[c+96>>2]=H[a+96>>2];H[a+96>>2]=0;H[a+88>>2]=0;H[a+92>>2]=0;g=I[a+100|0];H[c+112>>2]=0;H[c+104>>2]=0;H[c+108>>2]=0;F[c+100|0]=g;H[c+104>>2]=H[a+104>>2];H[c+108>>2]=H[a+108>>2];H[c+112>>2]=H[a+112>>2];H[a+112>>2]=0;H[a+104>>2]=0;H[a+108>>2]=0;H[c+124>>2]=0;H[c+116>>2]=0;H[c+120>>2]=0;H[c+116>>2]=H[a+116>>2];H[c+120>>2]=H[a+120>>2];H[c+124>>2]=H[a+124>>2];H[a+124>>2]=0;H[a+116>>2]=0;H[a+120>>2]=0;g=H[a+128>>2];H[c+140>>2]=0;H[c+132>>2]=0;H[c+136>>2]=0;H[c+128>>2]=g;H[c+132>>2]=H[a+132>>2];H[c+136>>2]=H[a+136>>2];H[c+140>>2]=H[a+140>>2];H[a+140>>2]=0;H[a+132>>2]=0;H[a+136>>2]=0;if((a|0)!=(f|0)){continue}break}H[e+8>>2]=b;a=H[e+4>>2];H[e+4>>2]=h;d=H[e>>2];H[e>>2]=c;if((a|0)==(d|0)){break c}while(1){b=a-144|0;c=H[b+132>>2];if(c){H[a-8>>2]=c;oa(c)}c=H[a-28>>2];if(c){H[a-24>>2]=c;oa(c)}c=H[a-40>>2];if(c){H[a-36>>2]=c;oa(c)}oc(a-140|0);a=b;if((d|0)!=(a|0)){continue}break}break c}sa();v()}wa();v()}H[e+8>>2]=b;H[e+4>>2]=h;H[e>>2]=c}if(d){oa(d)}}return}if(b>>>0>>0){e=e+N(b,144)|0;if((e|0)!=(c|0)){while(1){b=c-144|0;d=H[b+132>>2];if(d){H[c-8>>2]=d;oa(d)}d=H[c-28>>2];if(d){H[c-24>>2]=d;oa(d)}d=H[c-40>>2];if(d){H[c-36>>2]=d;oa(d)}oc(c-140|0);c=b;if((e|0)!=(c|0)){continue}break}}H[a+4>>2]=e}}function Pe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=ca-80|0;ca=f;e=H[c+36>>2];H[f+72>>2]=H[c+32>>2];H[f+76>>2]=e;g=H[c+28>>2];e=f- -64|0;H[e>>2]=H[c+24>>2];H[e+4>>2]=g;e=H[c+20>>2];H[f+56>>2]=H[c+16>>2];H[f+60>>2]=e;e=H[c+12>>2];H[f+48>>2]=H[c+8>>2];H[f+52>>2]=e;e=H[c+4>>2];H[f+40>>2]=H[c>>2];H[f+44>>2]=e;nc(a,f+40|0,f+24|0);a:{if(H[a>>2]){break a}if(F[a+15|0]<0){oa(H[a+4>>2])}if(I[f+31|0]){b=pa(32);F[b+27|0]=0;c=I[1521]|I[1522]<<8|(I[1523]<<16|I[1524]<<24);F[b+23|0]=c;F[b+24|0]=c>>>8;F[b+25|0]=c>>>16;F[b+26|0]=c>>>24;c=I[1518]|I[1519]<<8|(I[1520]<<16|I[1521]<<24);d=I[1514]|I[1515]<<8|(I[1516]<<16|I[1517]<<24);F[b+16|0]=d;F[b+17|0]=d>>>8;F[b+18|0]=d>>>16;F[b+19|0]=d>>>24;F[b+20|0]=c;F[b+21|0]=c>>>8;F[b+22|0]=c>>>16;F[b+23|0]=c>>>24;c=I[1510]|I[1511]<<8|(I[1512]<<16|I[1513]<<24);d=I[1506]|I[1507]<<8|(I[1508]<<16|I[1509]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1502]|I[1503]<<8|(I[1504]<<16|I[1505]<<24);d=I[1498]|I[1499]<<8|(I[1500]<<16|I[1501]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;H[a>>2]=-1;za(a+4|0,b,27);oa(b);break a}i=ca-16|0;ca=i;b:{c:{switch(F[f+32|0]){case 0:e=pa(44);H[e>>2]=0;H[e+4>>2]=0;H[e+40>>2]=0;H[e+32>>2]=0;H[e+36>>2]=0;H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;e=Vc(e);H[e>>2]=13496;H[f+8>>2]=0;H[f+12>>2]=0;H[f>>2]=0;H[f+4>>2]=0;H[f+16>>2]=e;break b;case 1:e=pa(44);H[e>>2]=0;H[e+4>>2]=0;H[e+40>>2]=0;H[e+32>>2]=0;H[e+36>>2]=0;H[e+24>>2]=0;H[e+28>>2]=0;H[e+16>>2]=0;H[e+20>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;e=Vc(e);H[e>>2]=13404;H[f+8>>2]=0;H[f+12>>2]=0;H[f>>2]=0;H[f+4>>2]=0;H[f+16>>2]=e;break b;default:break c}}g=pa(32);F[g+28|0]=0;e=I[1550]|I[1551]<<8|(I[1552]<<16|I[1553]<<24);F[g+24|0]=e;F[g+25|0]=e>>>8;F[g+26|0]=e>>>16;F[g+27|0]=e>>>24;e=I[1546]|I[1547]<<8|(I[1548]<<16|I[1549]<<24);h=I[1542]|I[1543]<<8|(I[1544]<<16|I[1545]<<24);F[g+16|0]=h;F[g+17|0]=h>>>8;F[g+18|0]=h>>>16;F[g+19|0]=h>>>24;F[g+20|0]=e;F[g+21|0]=e>>>8;F[g+22|0]=e>>>16;F[g+23|0]=e>>>24;e=I[1538]|I[1539]<<8|(I[1540]<<16|I[1541]<<24);h=I[1534]|I[1535]<<8|(I[1536]<<16|I[1537]<<24);F[g+8|0]=h;F[g+9|0]=h>>>8;F[g+10|0]=h>>>16;F[g+11|0]=h>>>24;F[g+12|0]=e;F[g+13|0]=e>>>8;F[g+14|0]=e>>>16;F[g+15|0]=e>>>24;e=I[1530]|I[1531]<<8|(I[1532]<<16|I[1533]<<24);h=I[1526]|I[1527]<<8|(I[1528]<<16|I[1529]<<24);F[g|0]=h;F[g+1|0]=h>>>8;F[g+2|0]=h>>>16;F[g+3|0]=h>>>24;F[g+4|0]=e;F[g+5|0]=e>>>8;F[g+6|0]=e>>>16;F[g+7|0]=e>>>24;H[i>>2]=-1;e=i|4;za(e,g,28);j=F[i+15|0];H[f>>2]=H[i>>2];h=f+4|0;d:{if((j|0)>=0){j=H[e+4>>2];H[h>>2]=H[e>>2];H[h+4>>2]=j;H[h+8>>2]=H[e+8>>2];H[f+16>>2]=0;break d}za(h,H[i+4>>2],H[i+8>>2]);e=F[i+15|0];H[f+16>>2]=0;if((e|0)>=0){break d}oa(H[i+4>>2])}oa(g)}ca=i+16|0;e=H[f>>2];e:{if(e){H[a>>2]=e;a=a+4|0;if(F[f+15|0]>=0){b=f|4;c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c;H[a+8>>2]=H[b+8>>2];break e}za(a,H[f+4>>2],H[f+8>>2]);break e}e=H[f+16>>2];H[f+16>>2]=0;te(a,e,b,c,d);if(!H[a>>2]){if(F[a+15|0]<0){oa(H[a+4>>2])}H[a>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0}ea[H[H[e>>2]+4>>2]](e)}a=H[f+16>>2];H[f+16>>2]=0;if(a){ea[H[H[a>>2]+4>>2]](a)}if(F[f+15|0]>=0){break a}oa(H[f+4>>2])}ca=f+80|0}function Ic(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;H[a+56>>2]=H[a+52>>2];H[a+44>>2]=H[a+40>>2];b=H[a+64>>2];c=H[b+24>>2];if((c|0)==H[b+28>>2]){return 1}a:{b:{c:{while(1){g=i;i=H[(k<<2)+c>>2];d:{if((i|0)==-1){i=g;break d}b=H[a+56>>2];e:{if((b|0)!=H[a+60>>2]){H[b>>2]=g;H[a+56>>2]=b+4;break e}d=H[a+52>>2];e=b-d|0;h=e>>2;c=h+1|0;if(c>>>0>=1073741824){break c}f=e>>>1|0;f=e>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}e=pa(f<<2)}else{e=0}c=e+(h<<2)|0;H[c>>2]=g;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[a+60>>2]=e+(f<<2);H[a+56>>2]=h;H[a+52>>2]=c;if(!d){break e}oa(d)}f:{g:{if(!(H[H[a+12>>2]+(k>>>3&536870908)>>2]>>>k&1)){break g}e=i+1|0;e=(e>>>0)%3|0?e:i-2|0;if((e|0)==-1|H[H[a>>2]+(e>>>3&536870908)>>2]>>>e&1){break g}e=H[H[H[a+64>>2]+12>>2]+(e<<2)>>2];if((e|0)==-1){break g}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)==-1){break g}c=H[a+64>>2];f=H[a>>2];while(1){e=b;b=-1;d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;h:{if((d|0)==-1|H[f+(d>>>3&536870908)>>2]>>>d&1){break h}d=H[H[c+12>>2]+(d<<2)>>2];if((d|0)==-1){break h}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0}if((b|0)!=(i|0)){if((b|0)==-1){break f}continue}break}return 0}e=i}H[H[a+28>>2]+(e<<2)>>2]=g;b=H[a+44>>2];i:{if((b|0)!=H[a+48>>2]){H[b>>2]=e;H[a+44>>2]=b+4;break i}d=H[a+40>>2];i=b-d|0;h=i>>2;c=h+1|0;if(c>>>0>=1073741824){break a}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}i=pa(f<<2)}else{i=0}c=i+(h<<2)|0;H[c>>2]=e;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[a+48>>2]=i+(f<<2);H[a+44>>2]=h;H[a+40>>2]=c;if(!d){break i}oa(d)}i=g+1|0;b=H[a+64>>2];if((e|0)==-1){break d}j:{if((e>>>0)%3|0){c=e-1|0;break j}c=e+2|0;if((c|0)==-1){break d}}d=H[H[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1|(e|0)==(f|0)){break d}while(1){b=f+1|0;b=(b>>>0)%3|0?b:f-2|0;if(H[H[a>>2]+(b>>>3&536870908)>>2]>>>b&1){b=H[a+56>>2];k:{if((b|0)!=H[a+60>>2]){H[b>>2]=i;H[a+56>>2]=b+4;break k}d=H[a+52>>2];g=b-d|0;j=g>>2;c=j+1|0;if(c>>>0>=1073741824){break c}h=g>>>1|0;h=g>>>0>=2147483644?1073741823:c>>>0>>0?h:c;if(h){if(h>>>0>=1073741824){break b}g=pa(h<<2)}else{g=0}c=g+(j<<2)|0;H[c>>2]=i;j=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[a+60>>2]=g+(h<<2);H[a+56>>2]=j;H[a+52>>2]=c;if(!d){break k}oa(d)}d=i+1|0;b=H[a+44>>2];l:{if((b|0)!=H[a+48>>2]){H[b>>2]=f;H[a+44>>2]=b+4;break l}h=H[a+40>>2];g=b-h|0;l=g>>2;c=l+1|0;if(c>>>0>=1073741824){break a}j=g>>>1|0;j=g>>>0>=2147483644?1073741823:c>>>0>>0?j:c;if(j){if(j>>>0>=1073741824){break b}g=pa(j<<2)}else{g=0}c=g+(l<<2)|0;H[c>>2]=f;l=c+4|0;if((b|0)!=(h|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(h|0)){continue}break}}H[a+48>>2]=g+(j<<2);H[a+44>>2]=l;H[a+40>>2]=c;if(!h){break l}oa(h)}g=i;i=d}H[H[a+28>>2]+(f<<2)>>2]=g;b=H[a+64>>2];m:{if((f>>>0)%3|0){c=f-1|0;break m}c=f+2|0;if((c|0)==-1){break d}}d=H[H[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1){break d}if((e|0)!=(f|0)){continue}break}}k=k+1|0;c=H[b+24>>2];if(k>>>0>2]-c>>2>>>0){continue}break}return 1}sa();v()}wa();v()}sa();v()}function ti(a){a=a|0;var b=0,c=0,d=0,e=0;c=H[a+32>>2];d=H[c+16>>2];e=H[c+12>>2];b=H[c+20>>2];if(K[c+8>>2]>d>>>0&(e|0)>=(b|0)|(b|0)<(e|0)){e=I[H[c>>2]+d|0];d=d+1|0;b=d?b:b+1|0;H[c+16>>2]=d;H[c+20>>2]=b;b=H[a+48>>2];H[a+48>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}a:{b:{c:{d:{switch(e|0){case 0:b=pa(384);H[b>>2]=11384;ra(b+4|0,0,80);H[b+96>>2]=0;H[b+100>>2]=0;H[b+92>>2]=-1;H[b+84>>2]=-1;H[b+88>>2]=-1;H[b+104>>2]=0;H[b+108>>2]=0;H[b+112>>2]=0;H[b+116>>2]=0;H[b+120>>2]=0;H[b+124>>2]=0;H[b+128>>2]=0;H[b+132>>2]=0;H[b+136>>2]=0;H[b+140>>2]=0;H[b+144>>2]=0;H[b+148>>2]=0;H[b+156>>2]=0;H[b+160>>2]=0;H[b+152>>2]=1065353216;H[b+164>>2]=0;H[b+168>>2]=0;H[b+172>>2]=0;H[b+176>>2]=0;H[b+180>>2]=0;H[b+184>>2]=0;H[b+188>>2]=0;H[b+192>>2]=0;H[b+196>>2]=0;H[b+200>>2]=0;H[b+204>>2]=0;H[b+208>>2]=0;H[b+212>>2]=-1;H[b+216>>2]=0;H[b+220>>2]=0;H[b+224>>2]=0;Ha(b+232|0);Ha(b+272|0);c=b+312|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;Ha(b+328|0);H[b+376>>2]=0;H[b+368>>2]=0;H[b+372>>2]=0;break c;case 1:b=pa(424);H[b>>2]=11436;ra(b+4|0,0,80);H[b+96>>2]=0;H[b+100>>2]=0;H[b+92>>2]=-1;H[b+84>>2]=-1;H[b+88>>2]=-1;H[b+104>>2]=0;H[b+108>>2]=0;H[b+112>>2]=0;H[b+116>>2]=0;H[b+120>>2]=0;H[b+124>>2]=0;H[b+128>>2]=0;H[b+132>>2]=0;H[b+136>>2]=0;H[b+140>>2]=0;H[b+144>>2]=0;H[b+148>>2]=0;H[b+156>>2]=0;H[b+160>>2]=0;H[b+152>>2]=1065353216;H[b+164>>2]=0;H[b+168>>2]=0;H[b+172>>2]=0;H[b+176>>2]=0;H[b+180>>2]=0;H[b+184>>2]=0;H[b+188>>2]=0;H[b+192>>2]=0;H[b+196>>2]=0;H[b+200>>2]=0;H[b+204>>2]=0;H[b+208>>2]=0;H[b+212>>2]=-1;H[b+216>>2]=0;H[b+220>>2]=0;H[b+224>>2]=0;Ha(b+232|0);Ha(b+272|0);c=b+312|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;Ha(b+328|0);H[b+392>>2]=0;H[b+396>>2]=0;H[b+384>>2]=0;H[b+388>>2]=0;H[b+376>>2]=0;H[b+380>>2]=0;H[b+368>>2]=0;H[b+372>>2]=0;c=b+400|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;H[b+416>>2]=-1;H[b+420>>2]=-1;break c;case 2:break d;default:break b}}b=pa(440);H[b>>2]=11484;ra(b+4|0,0,80);H[b+96>>2]=0;H[b+100>>2]=0;H[b+92>>2]=-1;H[b+84>>2]=-1;H[b+88>>2]=-1;H[b+104>>2]=0;H[b+108>>2]=0;H[b+112>>2]=0;H[b+116>>2]=0;H[b+120>>2]=0;H[b+124>>2]=0;H[b+128>>2]=0;H[b+132>>2]=0;H[b+136>>2]=0;H[b+140>>2]=0;H[b+144>>2]=0;H[b+148>>2]=0;H[b+156>>2]=0;H[b+160>>2]=0;H[b+152>>2]=1065353216;H[b+164>>2]=0;H[b+168>>2]=0;H[b+172>>2]=0;H[b+176>>2]=0;H[b+180>>2]=0;H[b+184>>2]=0;H[b+188>>2]=0;H[b+192>>2]=0;H[b+196>>2]=0;H[b+200>>2]=0;H[b+204>>2]=0;H[b+208>>2]=0;H[b+212>>2]=-1;H[b+216>>2]=0;H[b+220>>2]=0;H[b+224>>2]=0;Ha(b+232|0);Ha(b+272|0);c=b+312|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;Ha(b+328|0);H[b+392>>2]=0;H[b+396>>2]=0;H[b+384>>2]=0;H[b+388>>2]=0;H[b+376>>2]=0;H[b+380>>2]=0;H[b+368>>2]=0;H[b+372>>2]=0;H[b+416>>2]=0;H[b+420>>2]=0;H[b+408>>2]=2;H[b+412>>2]=7;H[b+400>>2]=-1;H[b+404>>2]=-1;H[b+424>>2]=0;H[b+428>>2]=0;H[b+432>>2]=0;H[b+436>>2]=0}c=H[a+48>>2];H[a+48>>2]=b;if(!c){break a}ea[H[H[c>>2]+4>>2]](c)}b=H[a+48>>2];if(b){break a}return 0}a=ea[H[H[b>>2]+8>>2]](b,a)|0}else{a=0}return a|0}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0;f=ca-96|0;ca=f;e=H[a+16>>2];F[f+92|0]=1;H[f+88>>2]=b;H[f+84>>2]=b;H[f+80>>2]=e;a:{if((b|0)==-1){break a}j=H[a+20>>2];d=H[j>>2];e=H[H[e>>2]+(b<<2)>>2];if(e>>>0>=H[j+4>>2]-d>>2>>>0){break a}e=H[H[a+8>>2]+(H[d+(e<<2)>>2]<<2)>>2];d=H[a+4>>2];if(!I[d+84|0]){e=H[H[d+68>>2]+(e<<2)>>2]}H[f+72>>2]=0;H[f+76>>2]=0;j=f- -64|0;H[j>>2]=0;H[j+4>>2]=0;H[f+56>>2]=0;H[f+60>>2]=0;Sa(d,e,F[d+24|0],f+56|0);e=b+1|0;j=(e>>>0)%3|0?e:b-2|0;n=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){d=j;e=n;d:{if(!H[a+28>>2]){break d}e=b+1|0;d=(e>>>0)%3|0?e:b-2|0;e=b-1|0;if((b>>>0)%3|0){break d}e=b+2|0}if((d|0)==-1){break b}m=H[a+20>>2];b=H[m>>2];d=H[H[H[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=H[m+4>>2]-b>>2>>>0){break b}d=H[H[a+8>>2]+(H[(d<<2)+b>>2]<<2)>>2];b=H[a+4>>2];if(!I[b+84|0]){d=H[H[b+68>>2]+(d<<2)>>2]}H[f+48>>2]=0;H[f+52>>2]=0;H[f+40>>2]=0;H[f+44>>2]=0;H[f+32>>2]=0;H[f+36>>2]=0;Sa(b,d,F[b+24|0],f+32|0);if((e|0)==-1){break c}d=H[a+20>>2];b=H[d>>2];e=H[H[H[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=H[d+4>>2]-b>>2>>>0){break c}d=H[H[a+8>>2]+(H[b+(e<<2)>>2]<<2)>>2];b=H[a+4>>2];if(!I[b+84|0]){d=H[H[b+68>>2]+(d<<2)>>2]}H[f+24>>2]=0;H[f+28>>2]=0;H[f+16>>2]=0;H[f+20>>2]=0;H[f+8>>2]=0;H[f+12>>2]=0;Sa(b,d,F[b+24|0],f+8|0);g=H[f+8>>2];b=H[f+56>>2];d=g-b|0;p=H[f+60>>2];t=H[f+12>>2]-(p+(b>>>0>g>>>0)|0)|0;i=H[f+40>>2];e=H[f+64>>2];m=i-e|0;u=H[f+68>>2];y=H[f+44>>2]-(u+(e>>>0>i>>>0)|0)|0;g=Rj(d,t,m,y);w=o-g|0;x=h-(da+(g>>>0>o>>>0)|0)|0;h=w;i=H[f+16>>2];g=i-e|0;u=H[f+20>>2]-((e>>>0>i>>>0)+u|0)|0;k=H[f+32>>2];i=k-b|0;w=H[f+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=Rj(g,u,i,w);o=h+b|0;h=da+x|0;h=b>>>0>o>>>0?h+1|0:h;b=l;l=d;p=t;k=H[f+48>>2];e=H[f+72>>2];d=k-e|0;t=H[f+76>>2];x=H[f+52>>2]-(t+(e>>>0>k>>>0)|0)|0;l=Rj(l,p,d,x);k=b+l|0;b=da+q|0;b=k>>>0>>0?b+1|0:b;l=H[f+24>>2];p=l-e|0;e=H[f+28>>2]-((e>>>0>l>>>0)+t|0)|0;q=Rj(p,e,i,w);l=k-q|0;q=b-(da+(k>>>0>>0)|0)|0;b=Rj(g,u,d,x);d=r-b|0;b=s-(da+(b>>>0>r>>>0)|0)|0;s=Rj(p,e,m,y);r=s+d|0;b=da+b|0;s=r>>>0>>0?b+1|0:b;uc(f+80|0);b=H[f+88>>2];if((b|0)!=-1){continue}break}b=s>>31;e=b^r;d=e-b|0;b=(b^s)-((b>>>0>e>>>0)+b|0)|0;n=-1;e=2147483647;m=q>>31;g=m;i=g^l;j=i-g|0;m=(g^q)-((i>>>0>>0)+g|0)|0;i=m;k=j^-1;g=i^2147483647;m=h;e:{f:{if(!H[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break e}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;e=a;g=h;a=g>>31;d=a;n=d^o;a=n-d|0;h=a;d=(d^g)-((d>>>0>n>>>0)+d|0)|0;a=a+e|0;d=d^2147483647;h=(d|0)==(b|0)&(h^-1)>>>0>>0|b>>>0>d>>>0;a=h?-1:a;if(!(h&0)&(a|0)<=536870912|(a|0)<536870912){break e}b=0;a=a>>>29|0;break f}g:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break g}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=h;h=h>>31;g=h;i=g^o;h=i-g|0;j=(g^k)-((g>>>0>i>>>0)+g|0)|0;g=j^2147483647;d=a;a=h;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break g}b=b+j|0;n=a+d|0;b=n>>>0>>0?b+1|0:b;e=b;if(!b&n>>>0<536870913){break e}}b=e>>>29|0;a=(e&536870911)<<3|n>>>29}o=Sj(o,m,a,b);l=Sj(l,q,a,b);r=Sj(r,s,a,b)}H[c+8>>2]=o;H[c+4>>2]=l;H[c>>2]=r;ca=f+96|0;return}Ca();v()}Ca();v()}Ca();v()}function Wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if((b|0)<0){break a}c=H[a+12>>2];d=H[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=H[d>>2];i=H[e+60>>2];f=H[e+56>>2];e=d+4|0;if((e|0)!=(c|0)){while(1){h=H[e>>2];H[e>>2]=0;g=H[d>>2];H[d>>2]=h;if(g){Ga(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=H[a+12>>2]}if((c|0)!=(d|0)){while(1){c=c-4|0;e=H[c>>2];H[c>>2]=0;if(e){Ga(e)}if((c|0)!=(d|0)){continue}break}}H[a+12>>2]=d;g=H[a+4>>2];b:{if(!g|(i|0)<0){break b}c=H[g+24>>2];d=H[g+28>>2];if((c|0)==(d|0)){break b}while(1){if((i|0)==H[H[c>>2]+24>>2]){d=c+4|0;i=H[g+28>>2];if((d|0)!=(i|0)){while(1){h=H[d>>2];H[d>>2]=0;e=H[c>>2];H[c>>2]=h;if(e){Ra(e+12|0,H[e+16>>2]);Qa(e,H[e+4>>2]);oa(e)}c=c+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}d=H[g+28>>2]}if((c|0)!=(d|0)){while(1){d=d-4|0;e=H[d>>2];H[d>>2]=0;if(e){Ra(e+12|0,H[e+16>>2]);Qa(e,H[e+4>>2]);oa(e)}if((c|0)!=(d|0)){continue}break}}H[g+28>>2]=c;break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}c:{if((f|0)>4){break c}d:{e=N(f,12)+a|0;c=H[e+20>>2];d=H[e+24>>2];if((c|0)==(d|0)){break d}while(1){if(H[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c;c=c+4|0;va(f,c,d-c|0);H[e+24>>2]=d-4}c=H[a+24>>2];d=H[a+20>>2];e:{if((c|0)==(d|0)){break e}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=H[h>>2];if((j|0)>(b|0)){H[h>>2]=j-1}f=d+(f|4)|0;h=H[f>>2];if((h|0)>(b|0)){H[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break e}c=d+(c<<2)|0;d=H[c>>2];if((d|0)<=(b|0)){break e}H[c>>2]=d-1}c=H[a+36>>2];d=H[a+32>>2];f:{if((c|0)==(d|0)){break f}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=H[h>>2];if((j|0)>(b|0)){H[h>>2]=j-1}f=d+(f|4)|0;h=H[f>>2];if((h|0)>(b|0)){H[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break f}c=d+(c<<2)|0;d=H[c>>2];if((d|0)<=(b|0)){break f}H[c>>2]=d-1}c=H[a+48>>2];d=H[a+44>>2];g:{if((c|0)==(d|0)){break g}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=H[h>>2];if((j|0)>(b|0)){H[h>>2]=j-1}f=d+(f|4)|0;h=H[f>>2];if((h|0)>(b|0)){H[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break g}c=d+(c<<2)|0;d=H[c>>2];if((d|0)<=(b|0)){break g}H[c>>2]=d-1}c=H[a+60>>2];d=H[a+56>>2];h:{if((c|0)==(d|0)){break h}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=H[h>>2];if((j|0)>(b|0)){H[h>>2]=j-1}f=d+(f|4)|0;h=H[f>>2];if((h|0)>(b|0)){H[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break h}c=d+(c<<2)|0;d=H[c>>2];if((d|0)<=(b|0)){break h}H[c>>2]=d-1}c=H[a+72>>2];a=H[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;g=e&1;c=0;if(d>>>0>=8){d=e&-2;e=0;while(1){i=c<<2;f=i+a|0;h=H[f>>2];if((h|0)>(b|0)){H[f>>2]=h-1}i=a+(i|4)|0;f=H[i>>2];if((f|0)>(b|0)){H[i>>2]=f-1}c=c+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!g){break a}f=b;a=a+(c<<2)|0;b=H[a>>2];if((f|0)>=(b|0)){break a}H[a>>2]=b-1}}function oa(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=H[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=H[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=H[d+8>>2];b=b>>>3|0;c=H[d+12>>2];if((c|0)==(e|0)){i=17192,j=H[4298]&Vj(b),H[i>>2]=j;break b}H[e+12>>2]=c;H[c+8>>2]=e;break b}h=H[d+24>>2];b=H[d+12>>2];c:{if((d|0)!=(b|0)){c=H[d+8>>2];H[c+12>>2]=b;H[b+8>>2]=c;break c}d:{e=d+20|0;c=H[e>>2];if(c){break d}e=d+16|0;c=H[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=H[e>>2];if(c){continue}e=b+16|0;c=H[b+16>>2];if(c){continue}break}H[g>>2]=0}if(!h){break b}e=H[d+28>>2];c=(e<<2)+17496|0;e:{if(H[c>>2]==(d|0)){H[c>>2]=b;if(b){break e}i=17196,j=H[4299]&Vj(e),H[i>>2]=j;break b}H[h+(H[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}H[b+24>>2]=h;c=H[d+16>>2];if(c){H[b+16>>2]=c;H[c+24>>2]=b}c=H[d+20>>2];if(!c){break b}H[b+20>>2]=c;H[c+24>>2]=b;break b}b=H[f+4>>2];if((b&3)!=3){break b}H[4300]=a;H[f+4>>2]=b&-2;H[d+4>>2]=a|1;H[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=H[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(H[4304]==(f|0)){H[4304]=d;a=H[4301]+a|0;H[4301]=a;H[d+4>>2]=a|1;if(H[4303]!=(d|0)){break a}H[4300]=0;H[4303]=0;return}if(H[4303]==(f|0)){H[4303]=d;a=H[4300]+a|0;H[4300]=a;H[d+4>>2]=a|1;H[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=H[f+8>>2];b=b>>>3|0;c=H[f+12>>2];if((c|0)==(e|0)){i=17192,j=H[4298]&Vj(b),H[i>>2]=j;break g}H[e+12>>2]=c;H[c+8>>2]=e;break g}h=H[f+24>>2];b=H[f+12>>2];h:{if((f|0)!=(b|0)){c=H[f+8>>2];H[c+12>>2]=b;H[b+8>>2]=c;break h}i:{e=f+20|0;c=H[e>>2];if(c){break i}e=f+16|0;c=H[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=H[e>>2];if(c){continue}e=b+16|0;c=H[b+16>>2];if(c){continue}break}H[g>>2]=0}if(!h){break g}e=H[f+28>>2];c=(e<<2)+17496|0;j:{if(H[c>>2]==(f|0)){H[c>>2]=b;if(b){break j}i=17196,j=H[4299]&Vj(e),H[i>>2]=j;break g}H[h+(H[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}H[b+24>>2]=h;c=H[f+16>>2];if(c){H[b+16>>2]=c;H[c+24>>2]=b}c=H[f+20>>2];if(!c){break g}H[b+20>>2]=c;H[c+24>>2]=b}H[d+4>>2]=a|1;H[a+d>>2]=a;if(H[4303]!=(d|0)){break f}H[4300]=a;return}H[f+4>>2]=b&-2;H[d+4>>2]=a|1;H[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+17232|0;c=H[4298];a=1<<(a>>>3);k:{if(!(c&a)){H[4298]=a|c;a=b;break k}a=H[b+8>>2]}H[b+8>>2]=d;H[a+12>>2]=d;H[d+12>>2]=b;H[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=Q(a>>>8|0);e=((a>>>38-b&1)-(b<<1)|0)+62|0}H[d+28>>2]=e;H[d+16>>2]=0;H[d+20>>2]=0;g=(e<<2)+17496|0;l:{m:{c=H[4299];b=1<>2]=d;H[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=H[g>>2];while(1){c=b;if((H[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=H[g+16>>2];if(b){continue}break}H[g+16>>2]=d;H[d+24>>2]=c}H[d+12>>2]=d;H[d+8>>2]=d;break l}a=H[c+8>>2];H[a+12>>2]=d;H[c+8>>2]=d;H[d+24>>2]=0;H[d+12>>2]=c;H[d+8>>2]=a}a=H[4306]-1|0;H[4306]=a?a:-1}}function tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;H[a+8>>2]=e;n=a+32|0;h=H[n>>2];f=H[a+36>>2]-h>>2;a:{if(f>>>0>>0){ya(n,e-f|0);d=H[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}H[a+36>>2]=h+(e<<2);d=e}s=H[a+52>>2];p=H[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;m=ra(pa(h),0,h);b:{if((d|0)<=0){break b}g=H[a+32>>2];while(1){d=f<<2;h=H[d+m>>2];j=H[a+16>>2];c:{if((h|0)>(j|0)){H[d+g>>2]=j;break c}d=d+g|0;j=H[a+12>>2];if((j|0)>(h|0)){H[d>>2]=j;break c}H[d>>2]=h}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=H[b+h>>2]+H[g+h>>2]|0;H[d>>2]=h;d:{if((h|0)>H[a+16>>2]){i=h-H[a+20>>2]|0}else{if((h|0)>=H[a+12>>2]){break d}i=h+H[a+20>>2]|0}H[d>>2]=i}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=H[a+56>>2];q=H[f>>2];f=H[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;w=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=N(e,h);f=H[(h<<2)+q>>2];if((f|0)==-1){break f}f=H[H[p+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}j=H[s>>2];g=H[p>>2];k=H[j+(H[g+(f<<2)>>2]<<2)>>2];i=f+1|0;i=(i>>>0)%3|0?i:f-2|0;if((i|0)!=-1){i=H[g+(i<<2)>>2]}else{i=-1}g:{h:{if((f>>>0)%3|0){f=f-1|0;break h}f=f+2|0;l=-1;if((f|0)==-1){break g}}l=H[g+(f<<2)>>2]}if((h|0)<=(k|0)){break f}f=H[(i<<2)+j>>2];if((f|0)>=(h|0)){break f}g=H[j+(l<<2)>>2];if((g|0)>=(h|0)){break f}i:{if((e|0)<=0){break i}g=N(e,g);j=N(e,f);k=N(e,k);f=0;l=0;if((e|0)!=1){while(1){H[(f<<2)+m>>2]=(H[(f+g<<2)+c>>2]+H[(f+j<<2)+c>>2]|0)-H[(f+k<<2)+c>>2];i=f|1;H[(i<<2)+m>>2]=(H[(g+i<<2)+c>>2]+H[(j+i<<2)+c>>2]|0)-H[(i+k<<2)+c>>2];f=f+2|0;l=l+2|0;if((u|0)!=(l|0)){continue}break}}if(!w){break i}H[(f<<2)+m>>2]=(H[(f+g<<2)+c>>2]+H[(f+j<<2)+c>>2]|0)-H[(f+k<<2)+c>>2]}if((d|0)<=0){break e}j=H[n>>2];f=0;while(1){d=f<<2;g=H[d+m>>2];k=H[a+16>>2];j:{if((g|0)>(k|0)){H[d+j>>2]=k;break j}d=d+j|0;k=H[a+12>>2];if((k|0)>(g|0)){H[d>>2]=k;break j}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=H[g+i>>2]+H[g+j>>2]|0;H[d>>2]=g;k:{if((g|0)>H[a+16>>2]){l=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break k}l=g+H[a+20>>2]|0}H[d>>2]=l}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}Ca();v()}if((d|0)<=0){break e}k=(N(h-1|0,e)<<2)+c|0;j=H[n>>2];f=0;while(1){d=f<<2;g=H[d+k>>2];i=H[a+16>>2];l:{if((g|0)>(i|0)){H[d+j>>2]=i;break l}d=d+j|0;i=H[a+12>>2];if((i|0)>(g|0)){H[d>>2]=i;break l}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=H[g+i>>2]+H[g+j>>2]|0;H[d>>2]=g;m:{if((g|0)>H[a+16>>2]){l=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break m}l=g+H[a+20>>2]|0}H[d>>2]=l}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}oa(m);return 1}function we(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(H[H[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){e=H[a+48>>2];H[a+52>>2]=e;a:{if((e|0)!=H[a+56>>2]){H[e>>2]=b;H[a+52>>2]=e+4;break a}d=pa(4);H[d>>2]=b;c=d+4|0;H[a+56>>2]=c;H[a+52>>2]=c;H[a+48>>2]=d;if(!e){break a}oa(e)}c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;c=H[H[a+4>>2]+28>>2];k=H[(i<<2)+c>>2];if((k|0)==-1){return 0}e=(b-N(g,3)|0?-1:2)+b|0;j=H[c+(e<<2)>>2];if((j|0)==-1){return 0}b=H[a+36>>2];g=b+(k>>>3&536870908)|0;d=H[g>>2];c=1<>2]=c|d;Ua(a+8|0,k,i);b=H[a+36>>2]}d=(j>>>3&536870908)+b|0;c=H[d>>2];b=1<>2]=b|c;Ua(a+8|0,j,e)}f=H[a+52>>2];if((f|0)==H[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{f=f-4|0;b=H[f>>2];if((b|0)==-1){break c}c=(b>>>0)/3|0;g=H[a+24>>2]+(c>>>3&268435452)|0;d=H[g>>2];c=1<>2]=c|d;h=H[a+4>>2];c=H[H[h+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{e:{j=H[a+36>>2]+(c>>>3&536870908)|0;i=H[j>>2];e=1<>2]+(c<<2)>>2];g:{if((g|0)==-1){break g}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1|H[H[h>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}g=H[H[H[h+64>>2]+12>>2]+(b<<2)>>2];if((g|0)!=-1){break f}}H[j>>2]=e|i;Ua(k,c,d);h=H[a+4>>2];break e}H[j>>2]=e|i;Ua(k,c,d);h=H[a+4>>2];b=g+1|0;if((((b>>>0)%3|0?b:g-2|0)|0)==-1){break e}b=-1;h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1|H[H[h>>2]+(c>>>3&536870908)>>2]>>>c&1){break h}b=H[H[H[h+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];e=c>>>5|0;j=H[f+(e<<2)>>2];break d}i:{j:{if((d|0)==-1){break j}c=-1;b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if(!((b|0)==-1|H[H[h>>2]+(b>>>3&536870908)>>2]>>>b&1)){c=H[H[H[h+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((d>>>0)%3|0){f=d-1|0;break l}f=d+2|0;b=-1;if((f|0)==-1){break k}}b=-1;if(H[H[h>>2]+(f>>>3&536870908)>>2]>>>f&1){break k}b=H[H[H[h+64>>2]+12>>2]+(f<<2)>>2]}g=(b|0)==-1;i=g?-1:(b>>>0)/3|0;if((c|0)!=-1){f=H[a+24>>2];d=(c>>>0)/3|0;e=d>>>5|0;j=H[f+(e<<2)>>2];d=1<>2];e=i>>>5|0;j=H[f+(e<<2)>>2];if(!(d&j)){break d}}f=H[a+52>>2]-4|0;H[a+52>>2]=f;break b}if(g){b=c;break d}if(H[(i>>>3&536870908)+f>>2]>>>i&1){b=c;break d}h=H[a+52>>2];H[h-4>>2]=b;if(H[a+56>>2]!=(h|0)){H[h>>2]=c;f=h+4|0;break c}m:{i=H[a+48>>2];e=h-i|0;g=e>>2;d=g+1|0;if(d>>>0<1073741824){b=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(e){if(e>>>0>=1073741824){break m}d=pa(e<<2)}else{d=0}b=d+(g<<2)|0;H[b>>2]=c;f=b+4|0;if((h|0)!=(i|0)){while(1){b=b-4|0;h=h-4|0;H[b>>2]=H[h>>2];if((h|0)!=(i|0)){continue}break}}H[a+56>>2]=d+(e<<2);H[a+52>>2]=f;H[a+48>>2]=b;if(!i){break b}oa(i);f=H[a+52>>2];break b}sa();v()}wa();v()}H[(e<<2)+f>>2]=d|j;c=H[H[h+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}H[a+52>>2]=f}if(H[a+48>>2]!=(f|0)){continue}break}}return 1}function Lj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;H[a+8>>2]=e;m=a+32|0;h=H[m>>2];f=H[a+36>>2]-h>>2;a:{if(f>>>0>>0){ya(m,e-f|0);d=H[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}H[a+36>>2]=h+(e<<2);d=e}s=H[a+52>>2];n=H[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;l=ra(pa(h),0,h);b:{if((d|0)<=0){break b}g=H[a+32>>2];while(1){d=f<<2;h=H[d+l>>2];i=H[a+16>>2];c:{if((h|0)>(i|0)){H[d+g>>2]=i;break c}d=d+g|0;i=H[a+12>>2];if((i|0)>(h|0)){H[d>>2]=i;break c}H[d>>2]=h}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=H[b+h>>2]+H[g+h>>2]|0;H[d>>2]=h;d:{if((h|0)>H[a+16>>2]){h=h-H[a+20>>2]|0}else{if((h|0)>=H[a+12>>2]){break d}h=h+H[a+20>>2]|0}H[d>>2]=h}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=H[a+56>>2];q=H[f>>2];f=H[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;w=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=N(e,h);f=H[(h<<2)+q>>2];if((f|0)==-1|H[H[n>>2]+(f>>>3&536870908)>>2]>>>f&1){break f}f=H[H[H[n+64>>2]+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}i=H[s>>2];g=H[n+28>>2];k=H[i+(H[g+(f<<2)>>2]<<2)>>2];if((k|0)>=(h|0)){break f}j=f+1|0;j=H[i+(H[g+(((j>>>0)%3|0?j:f-2|0)<<2)>>2]<<2)>>2];if((j|0)>=(h|0)){break f}f=H[i+(H[g+(f+((f>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((f|0)>=(h|0)){break f}g:{if((e|0)<=0){break g}g=N(e,f);i=N(e,j);k=N(e,k);f=0;p=0;if((e|0)!=1){while(1){H[(f<<2)+l>>2]=(H[(f+g<<2)+c>>2]+H[(f+i<<2)+c>>2]|0)-H[(f+k<<2)+c>>2];j=f|1;H[(j<<2)+l>>2]=(H[(g+j<<2)+c>>2]+H[(i+j<<2)+c>>2]|0)-H[(k+j<<2)+c>>2];f=f+2|0;p=p+2|0;if((u|0)!=(p|0)){continue}break}}if(!w){break g}H[(f<<2)+l>>2]=(H[(f+g<<2)+c>>2]+H[(f+i<<2)+c>>2]|0)-H[(f+k<<2)+c>>2]}if((d|0)<=0){break e}i=H[m>>2];f=0;while(1){d=f<<2;g=H[d+l>>2];k=H[a+16>>2];h:{if((g|0)>(k|0)){H[d+i>>2]=k;break h}d=d+i|0;k=H[a+12>>2];if((k|0)>(g|0)){H[d>>2]=k;break h}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=H[g+j>>2]+H[g+i>>2]|0;H[d>>2]=g;i:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break i}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}Ca();v()}if((d|0)<=0){break e}k=(N(h-1|0,e)<<2)+c|0;i=H[m>>2];f=0;while(1){d=f<<2;g=H[d+k>>2];j=H[a+16>>2];j:{if((g|0)>(j|0)){H[d+i>>2]=j;break j}d=d+i|0;j=H[a+12>>2];if((j|0)>(g|0)){H[d>>2]=j;break j}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=H[g+j>>2]+H[g+i>>2]|0;H[d>>2]=g;k:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break k}g=g+H[a+20>>2]|0}H[d>>2]=g}d=H[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}oa(l);return 1}function Gb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=O(0),k=0,l=0,m=O(0);i=H[c>>2];a:{b:{f=H[b+4>>2];if(!f){break b}g=Uj(f);c:{if(g>>>0>=2){e=i;if(f>>>0<=e>>>0){e=(i>>>0)%(f>>>0)|0}c=H[H[b>>2]+(e<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=H[c>>2];if(!c){break b}g=H[c+4>>2];if((g|0)!=(i|0)){if(f>>>0<=g>>>0){g=(g>>>0)%(f>>>0)|0}if((e|0)!=(g|0)){break b}}if(H[c+8>>2]!=(i|0)){continue}break}b=0;break a}e=f-1&i;c=H[H[b>>2]+(e<<2)>>2];if(!c){break b}}h=f-1|0;while(1){c=H[c>>2];if(!c){break b}g=H[c+4>>2];if((g|0)!=(i|0)&(g&h)!=(e|0)){break b}if(H[c+8>>2]!=(i|0)){continue}break}b=0;break a}c=pa(16);d=H[H[d>>2]>>2];H[c+12>>2]=0;H[c+8>>2]=d;H[c+4>>2]=i;H[c>>2]=0;m=O(H[b+12>>2]+1>>>0);j=L[b+16>>2];d:{if(m>O(j*O(f>>>0))?0:f){break d}e=2;d=(f-1&f)!=0|f>>>0<3|f<<1;j=O(U(O(m/j)));e:{if(j=O(0)){g=~~j>>>0;break e}g=0}d=d>>>0>g>>>0?d:g;f:{if((d|0)==1){break f}if(!(d&d-1)){e=d;break f}e=Kd(d);f=H[b+4>>2]}g:{if(e>>>0<=f>>>0){if(e>>>0>=f>>>0){break g}g=f>>>0<3;j=O(U(O(O(K[b+12>>2])/L[b+16>>2])));h:{if(j=O(0)){d=~~j>>>0;break h}d=0}i:{j:{if(g){break j}if(Uj(f)>>>0>1){break j}d=d>>>0<2?d:1<<32-Q(d-1|0);break i}d=Kd(d)}e=d>>>0>>0?e:d;if(f>>>0<=e>>>0){break g}}f=0;g=0;h=e;k:{l:{m:{n:{if(e){if(h>>>0>=1073741824){break n}d=pa(h<<2);e=H[b>>2];H[b>>2]=d;if(e){oa(e)}H[b+4>>2]=h;d=0;if(h>>>0>=4){e=h&-4;while(1){k=d<<2;H[k+H[b>>2]>>2]=0;H[H[b>>2]+(k|4)>>2]=0;H[H[b>>2]+(k|8)>>2]=0;H[H[b>>2]+(k|12)>>2]=0;d=d+4|0;g=g+4|0;if((e|0)!=(g|0)){continue}break}}e=h&3;if(e){while(1){H[H[b>>2]+(d<<2)>>2]=0;d=d+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}e=H[b+8>>2];if(!e){break k}d=b+8|0;f=H[e+4>>2];g=Uj(h);if(g>>>0<2){break m}f=f>>>0>=h>>>0?(f>>>0)%(h>>>0)|0:f;H[H[b>>2]+(f<<2)>>2]=d;d=H[e>>2];if(!d){break k}if(g>>>0<=1){break l}while(1){g=H[d+4>>2];if(h>>>0<=g>>>0){g=(g>>>0)%(h>>>0)|0}o:{if((f|0)==(g|0)){e=d;break o}l=g<<2;k=l+H[b>>2]|0;if(!H[k>>2]){H[k>>2]=e;e=d;f=g;break o}H[e>>2]=H[d>>2];H[d>>2]=H[H[l+H[b>>2]>>2]>>2];H[H[l+H[b>>2]>>2]>>2]=d}d=H[e>>2];if(d){continue}break}break k}d=H[b>>2];H[b>>2]=0;if(d){oa(d)}H[b+4>>2]=0;break k}wa();v()}f=h-1&f;H[H[b>>2]+(f<<2)>>2]=d;d=H[e>>2];if(!d){break k}}k=h-1|0;while(1){g=k&H[d+4>>2];p:{if((g|0)==(f|0)){e=d;break p}l=g<<2;h=l+H[b>>2]|0;if(H[h>>2]){H[e>>2]=H[d>>2];H[d>>2]=H[H[l+H[b>>2]>>2]>>2];H[H[l+H[b>>2]>>2]>>2]=d;break p}H[h>>2]=e;e=d;f=g}d=H[e>>2];if(d){continue}break}}}f=H[b+4>>2];d=f-1|0;if(!(d&f)){e=d&i;break d}if(f>>>0>i>>>0){e=i;break d}e=(i>>>0)%(f>>>0)|0}e=H[b>>2]+(e<<2)|0;d=H[e>>2];q:{r:{if(!d){d=b+8|0;H[c>>2]=H[d>>2];H[b+8>>2]=c;H[e>>2]=d;d=H[c>>2];if(!d){break q}d=H[d+4>>2];e=f-1|0;s:{if(!(e&f)){d=d&e;break s}if(d>>>0>>0){break s}d=(d>>>0)%(f>>>0)|0}d=H[b>>2]+(d<<2)|0;break r}H[c>>2]=H[d>>2]}H[d>>2]=c}H[b+12>>2]=H[b+12>>2]+1;b=1}F[a+4|0]=b;H[a>>2]=c}function Oe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=ca-80|0;ca=f;e=H[c+36>>2];H[f+72>>2]=H[c+32>>2];H[f+76>>2]=e;g=H[c+28>>2];e=f- -64|0;H[e>>2]=H[c+24>>2];H[e+4>>2]=g;e=H[c+20>>2];H[f+56>>2]=H[c+16>>2];H[f+60>>2]=e;e=H[c+12>>2];H[f+48>>2]=H[c+8>>2];H[f+52>>2]=e;e=H[c+4>>2];H[f+40>>2]=H[c>>2];H[f+44>>2]=e;nc(a,f+40|0,f+24|0);a:{if(H[a>>2]){break a}if(F[a+15|0]<0){oa(H[a+4>>2])}if(I[f+31|0]!=1){b=pa(32);F[b+20|0]=0;c=I[1448]|I[1449]<<8|(I[1450]<<16|I[1451]<<24);F[b+16|0]=c;F[b+17|0]=c>>>8;F[b+18|0]=c>>>16;F[b+19|0]=c>>>24;c=I[1444]|I[1445]<<8|(I[1446]<<16|I[1447]<<24);d=I[1440]|I[1441]<<8|(I[1442]<<16|I[1443]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1436]|I[1437]<<8|(I[1438]<<16|I[1439]<<24);d=I[1432]|I[1433]<<8|(I[1434]<<16|I[1435]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;H[a>>2]=-1;za(a+4|0,b,20);oa(b);break a}i=ca-16|0;ca=i;b:{c:{switch(I[f+32|0]){case 0:e=Ke(pa(48));H[e>>2]=13112;H[f+8>>2]=0;H[f+12>>2]=0;H[f>>2]=0;H[f+4>>2]=0;H[f+16>>2]=e;break b;case 1:e=Ke(pa(52));H[e+48>>2]=0;H[e>>2]=11276;H[f+8>>2]=0;H[f+12>>2]=0;H[f>>2]=0;H[f+4>>2]=0;H[f+16>>2]=e;break b;default:break c}}g=pa(32);F[g+28|0]=0;e=I[1550]|I[1551]<<8|(I[1552]<<16|I[1553]<<24);F[g+24|0]=e;F[g+25|0]=e>>>8;F[g+26|0]=e>>>16;F[g+27|0]=e>>>24;e=I[1546]|I[1547]<<8|(I[1548]<<16|I[1549]<<24);h=I[1542]|I[1543]<<8|(I[1544]<<16|I[1545]<<24);F[g+16|0]=h;F[g+17|0]=h>>>8;F[g+18|0]=h>>>16;F[g+19|0]=h>>>24;F[g+20|0]=e;F[g+21|0]=e>>>8;F[g+22|0]=e>>>16;F[g+23|0]=e>>>24;e=I[1538]|I[1539]<<8|(I[1540]<<16|I[1541]<<24);h=I[1534]|I[1535]<<8|(I[1536]<<16|I[1537]<<24);F[g+8|0]=h;F[g+9|0]=h>>>8;F[g+10|0]=h>>>16;F[g+11|0]=h>>>24;F[g+12|0]=e;F[g+13|0]=e>>>8;F[g+14|0]=e>>>16;F[g+15|0]=e>>>24;e=I[1530]|I[1531]<<8|(I[1532]<<16|I[1533]<<24);h=I[1526]|I[1527]<<8|(I[1528]<<16|I[1529]<<24);F[g|0]=h;F[g+1|0]=h>>>8;F[g+2|0]=h>>>16;F[g+3|0]=h>>>24;F[g+4|0]=e;F[g+5|0]=e>>>8;F[g+6|0]=e>>>16;F[g+7|0]=e>>>24;H[i>>2]=-1;e=i|4;za(e,g,28);j=F[i+15|0];H[f>>2]=H[i>>2];h=f+4|0;d:{if((j|0)>=0){j=H[e+4>>2];H[h>>2]=H[e>>2];H[h+4>>2]=j;H[h+8>>2]=H[e+8>>2];H[f+16>>2]=0;break d}za(h,H[i+4>>2],H[i+8>>2]);e=F[i+15|0];H[f+16>>2]=0;if((e|0)>=0){break d}oa(H[i+4>>2])}oa(g)}ca=i+16|0;e=H[f>>2];e:{if(e){H[a>>2]=e;a=a+4|0;if(F[f+15|0]>=0){b=f|4;c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c;H[a+8>>2]=H[b+8>>2];break e}za(a,H[f+4>>2],H[f+8>>2]);break e}e=H[f+16>>2];H[f+16>>2]=0;H[e+44>>2]=d;te(a,e,b,c,d);if(!H[a>>2]){if(F[a+15|0]<0){oa(H[a+4>>2])}H[a>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0}ea[H[H[e>>2]+4>>2]](e)}a=H[f+16>>2];H[f+16>>2]=0;if(a){ea[H[H[a>>2]+4>>2]](a)}if(F[f+15|0]>=0){break a}oa(H[f+4>>2])}ca=f+80|0}function Gc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=N(b,12)+a|0;H[j+12>>2]=H[j+8>>2];m=(c|0)==-1?-1:(c>>>0)/3|0;d=1;k=c;a:{b:{c:{while(1){d:{l=d;if(!d){if((k|0)==-1){break d}if((de(a,((k>>>0)%3|0?-1:2)+k|0)|0)==-1){break a}c=k+1|0;d=(c>>>0)%3|0?c:k-2|0;if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}d=H[H[H[a+4>>2]+12>>2]+(c<<2)>>2];if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}m=(c>>>0)/3|0}e:{d=H[a+56>>2]+(m>>>3&536870908)|0;h=H[d>>2];e=1<>2]=e|h;d=H[j+12>>2];f:{if((d|0)!=H[j+16>>2]){H[d>>2]=m;H[j+12>>2]=d+4;break f}n=H[j+8>>2];h=d-n|0;e=h>>2;i=e+1|0;if(i>>>0>=1073741824){break c}g=h>>>1|0;i=h>>>0>=2147483644?1073741823:i>>>0>>0?g:i;if(i){if(i>>>0>=1073741824){break b}g=pa(i<<2)}else{g=0}h=g+(e<<2)|0;H[h>>2]=m;e=h+4|0;if((d|0)!=(n|0)){while(1){h=h-4|0;d=d-4|0;H[h>>2]=H[d>>2];if((d|0)!=(n|0)){continue}break}}H[j+8>>2]=h;H[j+12>>2]=e;H[j+16>>2]=g+(i<<2);if(!n){break f}oa(n)}g=f+1|0;g:{h:{i:{if(!f){break i}if(g&1){if((c|0)==-1){c=-1;break g}d=c+1|0;c=(d>>>0)%3|0?d:c-2|0;break i}k=l?k:c;if((c|0)==-1){c=-1;break g}if((c>>>0)%3|0){d=c-1|0;break h}c=c+2|0}d=c;c=-1;if((d|0)==-1){break g}}c=H[H[H[a+4>>2]+12>>2]+(d<<2)>>2];h=-1;f=-1;e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=H[(H[H[a>>2]+96>>2]+N(f,12)|0)+(e-N(f,3)<<2)>>2]}j:{if((c|0)==-1){break j}i=((c>>>0)%3|0?-1:2)+c|0;if((i|0)<0){break j}e=(i>>>0)/3|0;h=H[(H[H[a>>2]+96>>2]+N(e,12)|0)+(i-N(e,3)<<2)>>2]}if((f|0)!=(h|0)){c=-1;break g}k:{l:{f=((d>>>0)%3|0?-1:2)+d|0;if((f|0)>=0){d=(f>>>0)/3|0;if((c|0)!=-1){break l}c=-1;break g}d=-1;if((c|0)!=-1){break k}c=-1;break g}d=H[(H[H[a>>2]+96>>2]+N(d,12)|0)+(f-N(d,3)<<2)>>2]}f=c+1|0;e=(f>>>0)%3|0?f:c-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=H[(H[H[a>>2]+96>>2]+N(f,12)|0)+(e-N(f,3)<<2)>>2]}else{f=-1}if((f|0)!=(d|0)){c=-1;break g}f=g;m=(c>>>0)/3|0;d=H[a+56>>2]+(m>>>3&268435452)|0;h=H[d>>2];e=1<>2]-4|0;g=H[l>>2];d=H[a+56>>2]+(g>>>3&536870908)|0;c=H[d>>2];o=d,p=Vj(g)&c,H[o>>2]=p;H[j+12>>2]=l;break a}d=0;if(l){continue}break a}break}k=-1;de(a,-1);break a}sa();v()}wa();v()}H[((b<<2)+a|0)+44>>2]=k;b=H[j+12>>2];i=H[j+8>>2];m:{if((b|0)==(i|0)){break m}c=b-i|0;b=c>>2;b=b>>>0<=1?1:b;k=b&1;e=H[a+56>>2];d=0;if(c>>>0>=8){f=b&-2;c=0;while(1){l=d<<2;g=H[l+i>>2];b=e+(g>>>3&536870908)|0;a=H[b>>2];o=b,p=Vj(g)&a,H[o>>2]=p;g=H[i+(l|4)>>2];b=e+(g>>>3&536870908)|0;a=H[b>>2];o=b,p=Vj(g)&a,H[o>>2]=p;d=d+2|0;c=c+2|0;if((f|0)!=(c|0)){continue}break}}if(!k){break m}c=H[i+(d<<2)>>2];b=e+(c>>>3&536870908)|0;a=H[b>>2];o=b,p=Vj(c)&a,H[o>>2]=p}}function Gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=ca-32|0;ca=h;a:{if(J[b+38>>1]<=513){c=H[b+20>>2];f=H[b+12>>2];d=H[b+16>>2];if((c|0)>=(f|0)&d>>>0>=K[b+8>>2]|(c|0)>(f|0)){break a}f=I[d+H[b>>2]|0];d=d+1|0;c=d?c:c+1|0;H[b+16>>2]=d;H[b+20>>2]=c;if(f){break a}}b:{if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[H[a+48>>2]+64>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}c:{if(d){Wa(a+60|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[H[a+48>>2]+64>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}if(d){e=0;Wa(a+72|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[H[a+48>>2]+64>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}if(d){e=0;Wa(a+84|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[H[a+48>>2]+64>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}if(d){e=0;Wa(a+96|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=H[b+8>>2];f=H[b+12>>2];d=c;c=H[b+20>>2];i=c;g=H[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=H[b>>2];k=m+g|0;l=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);H[b+16>>2]=j;H[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=c;if((d|0)<(l|0)){break a}H[a+16>>2]=d;H[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;H[a+20>>2]=b;c=b>>>1|0;H[a+24>>2]=c;H[a+28>>2]=0-c;if(b&1){break a}H[a+24>>2]=c-1;break a}}e=0}ca=h+32|0;return e|0}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=ca-32|0;ca=h;a:{if(J[b+38>>1]<=513){c=H[b+20>>2];f=H[b+12>>2];d=H[b+16>>2];if((c|0)>=(f|0)&d>>>0>=K[b+8>>2]|(c|0)>(f|0)){break a}f=I[d+H[b>>2]|0];d=d+1|0;c=d?c:c+1|0;H[b+16>>2]=d;H[b+20>>2]=c;if(f){break a}}b:{if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[a+48>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}c:{if(d){Wa(a+60|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[a+48>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}if(d){e=0;Wa(a+72|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[a+48>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}if(d){e=0;Wa(a+84|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Xa(1,h+28|0,b)){break b}d=H[h+28>>2];c=H[a+48>>2];if(d>>>0>H[c+4>>2]-H[c>>2]>>2>>>0){break b}if(d){e=0;Wa(a+96|0,d);c=h+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;if(!ta(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|H[g>>2]}else{i=H[g>>2]&(f^-1)}H[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=H[b+8>>2];f=H[b+12>>2];d=c;c=H[b+20>>2];i=c;g=H[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=H[b>>2];k=m+g|0;l=I[k|0]|I[k+1|0]<<8|(I[k+2|0]<<16|I[k+3|0]<<24);H[b+16>>2]=j;H[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=c;if((d|0)<(l|0)){break a}H[a+16>>2]=d;H[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;H[a+20>>2]=b;c=b>>>1|0;H[a+24>>2]=c;H[a+28>>2]=0-c;if(b&1){break a}H[a+24>>2]=c-1;break a}}e=0}ca=h+32|0;return e|0}function xe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(H[H[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){f=H[a+48>>2];H[a+52>>2]=f;a:{if((f|0)!=H[a+56>>2]){H[f>>2]=b;H[a+52>>2]=f+4;break a}d=pa(4);H[d>>2]=b;c=d+4|0;H[a+56>>2]=c;H[a+52>>2]=c;H[a+48>>2]=d;if(!f){break a}oa(f)}e=-1;d=H[a+4>>2];c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;if((i|0)!=-1){e=H[H[d>>2]+(i<<2)>>2]}b:{h=b-N(g,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}j=H[H[d>>2]+(c<<2)>>2];if((j|0)==-1){return 0}c=H[a+36>>2];f=c+(e>>>3&536870908)|0;g=H[f>>2];d=1<>2]=d|g;Ua(a+8|0,e,i);c=H[a+36>>2]}g=(j>>>3&536870908)+c|0;d=H[g>>2];c=1<>2]=c|d;Ua(a+8|0,j,(h?-1:2)+b|0)}c=H[a+52>>2];if((c|0)==H[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=H[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;f=H[a+24>>2]+(d>>>3&268435452)|0;g=H[f>>2];d=1<>2]=d|g;while(1){i=H[a+4>>2];e=H[H[i>>2]+(b<<2)>>2];if((e|0)==-1){return 0}e:{f:{h=H[a+36>>2]+(e>>>3&536870908)|0;f=H[h>>2];g=1<>2]+(e<<2)>>2];h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break h}d=H[H[i+12>>2]+(c<<2)>>2];if((d|0)!=-1){break g}}H[h>>2]=f|g;Ua(j,e,b);break f}H[h>>2]=f|g;Ua(j,e,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}c=b-2|0;d=b+1|0;b=-1;c=(d>>>0)%3|0?d:c;if((c|0)!=-1){b=H[H[H[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];f=c>>>5|0;i=H[e+(f<<2)>>2];break e}c=-1;g=H[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=H[H[g+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=H[H[g+12>>2]+(e<<2)>>2]}g=(b|0)==-1;h=g?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=H[a+24>>2];d=(c>>>0)/3|0;f=d>>>5|0;i=H[e+(f<<2)>>2];d=1<>2];f=h>>>5|0;i=H[e+(f<<2)>>2];if(!(d&i)){break e}}c=H[a+52>>2]-4|0;H[a+52>>2]=c;break c}if(g){b=c;break e}if(H[(h>>>3&536870908)+e>>2]>>>h&1){b=c;break e}e=H[a+52>>2];H[e-4>>2]=b;if(H[a+56>>2]!=(e|0)){H[e>>2]=c;c=e+4|0;break d}l:{h=H[a+48>>2];f=e-h|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){b=f>>>1|0;f=f>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(f){if(f>>>0>=1073741824){break l}d=pa(f<<2)}else{d=0}b=d+(g<<2)|0;H[b>>2]=c;c=b+4|0;if((e|0)!=(h|0)){while(1){b=b-4|0;e=e-4|0;H[b>>2]=H[e>>2];if((e|0)!=(h|0)){continue}break}}H[a+56>>2]=d+(f<<2);H[a+52>>2]=c;H[a+48>>2]=b;if(!h){break c}oa(h);c=H[a+52>>2];break c}sa();v()}wa();v()}H[(f<<2)+e>>2]=d|i;if((b|0)!=-1){continue}break}return 0}H[a+52>>2]=c}if(H[a+48>>2]!=(c|0)){continue}break}}return 1}function uj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=ca-32|0;ca=g;H[a+68>>2]=f;d=H[a+56>>2];e=H[d>>2];d=H[d+4>>2];H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=H[a+56>>2];d=H[e>>2];if(H[e+4>>2]-d>>2>>>0<=j>>>0){break a}Nb(m,H[d+(j<<2)>>2],g+16|0);i=H[g+20>>2];d=i>>31;h=H[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=H[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){H[g+16>>2]=H[a+108>>2];break b}f=H[a+108>>2];l=f>>31;h=Sj(Rj(f,l,h,h>>31),da,e,d);H[g+16>>2]=h;d=Sj(Rj(f,l,i,i>>31),da,e,d);H[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){H[g+24>>2]=f-d;break b}H[g+24>>2]=d-f}d=Ba(o);f=H[g+16>>2];c:{if(d){H[g+24>>2]=0-H[g+24>>2];e=0-H[g+20>>2]|0;H[g+20>>2]=e;f=0-f|0;H[g+16>>2]=f;break c}e=H[g+20>>2]}d:{if((f|0)>=0){f=H[a+108>>2];d=f+H[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=H[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=H[g+24>>2];f=d>>31;f=H[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=H[a+100>>2]+(d-(d^e)|0)|0}e=H[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=H[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=H[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=H[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=H[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}H[g+12>>2]=d;H[g+8>>2]=f;j:{if(H[a+8>>2]<=0){break j}i=H[a+32>>2];f=0;while(1){d=f<<2;e=H[d+(g+8|0)>>2];h=H[a+16>>2];k:{if((e|0)>(h|0)){H[d+i>>2]=h;break k}d=d+i|0;h=H[a+12>>2];if((h|0)>(e|0)){H[d>>2]=h;break k}H[d>>2]=e}f=f+1|0;e=H[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=H[f+k>>2]+H[f+i>>2]|0;H[e>>2]=f;l:{if((f|0)>H[a+16>>2]){f=f-H[a+20>>2]|0}else{if((f|0)>=H[a+12>>2]){break l}f=f+H[a+20>>2]|0}H[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}ca=g+32|0;return 1}Ca();v()}function dj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=ca-32|0;ca=g;H[a+68>>2]=f;d=H[a+56>>2];e=H[d>>2];d=H[d+4>>2];H[g+24>>2]=0;H[g+16>>2]=0;H[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=H[a+56>>2];d=H[e>>2];if(H[e+4>>2]-d>>2>>>0<=j>>>0){break a}Lb(m,H[d+(j<<2)>>2],g+16|0);i=H[g+20>>2];d=i>>31;h=H[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=H[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){H[g+16>>2]=H[a+108>>2];break b}f=H[a+108>>2];l=f>>31;h=Sj(Rj(f,l,h,h>>31),da,e,d);H[g+16>>2]=h;d=Sj(Rj(f,l,i,i>>31),da,e,d);H[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){H[g+24>>2]=f-d;break b}H[g+24>>2]=d-f}d=Ba(o);f=H[g+16>>2];c:{if(d){H[g+24>>2]=0-H[g+24>>2];e=0-H[g+20>>2]|0;H[g+20>>2]=e;f=0-f|0;H[g+16>>2]=f;break c}e=H[g+20>>2]}d:{if((f|0)>=0){f=H[a+108>>2];d=f+H[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=H[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=H[g+24>>2];f=d>>31;f=H[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=H[a+100>>2]+(d-(d^e)|0)|0}e=H[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=H[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=H[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=H[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=H[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}H[g+12>>2]=d;H[g+8>>2]=f;j:{if(H[a+8>>2]<=0){break j}i=H[a+32>>2];f=0;while(1){d=f<<2;e=H[d+(g+8|0)>>2];h=H[a+16>>2];k:{if((e|0)>(h|0)){H[d+i>>2]=h;break k}d=d+i|0;h=H[a+12>>2];if((h|0)>(e|0)){H[d>>2]=h;break k}H[d>>2]=e}f=f+1|0;e=H[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=H[f+k>>2]+H[f+i>>2]|0;H[e>>2]=f;l:{if((f|0)>H[a+16>>2]){f=f-H[a+20>>2]|0}else{if((f|0)>=H[a+12>>2]){break l}f=f+H[a+20>>2]|0}H[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}ca=g+32|0;return 1}Ca();v()}function ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=ca-80|0;ca=h;a:{b:{if(I[H[a+28>>2]+36|0]<=1){d=H[b+20>>2];f=H[b+16>>2];c=f+4|0;d=c>>>0<4?d+1|0:d;g=H[b+12>>2];if(K[b+8>>2]>>0&(g|0)<=(d|0)|(d|0)>(g|0)){break a}f=f+H[b>>2]|0;j=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=c;H[b+20>>2]=d;break b}if(!Pc(1,h+76|0,b)){break a}j=H[h+76>>2]}if(!j){break a}d=H[b+8>>2];c=H[b+16>>2];d=Rj(d-c|0,H[b+12>>2]-(H[b+20>>2]+(c>>>0>d>>>0)|0)|0,5,0);c=da;if(d>>>0>>0&(c|0)<=0|(c|0)<0){break a}c=H[a+4>>2];d=H[a+8>>2]-c>>2;c:{if(d>>>0>>0){ya(a+4|0,j-d|0);break c}if(d>>>0<=j>>>0){break c}H[a+8>>2]=c+(j<<2)}p=a+16|0;l=H[a+32>>2];while(1){i=H[b+12>>2];c=i;d=H[b+20>>2];e=H[b+8>>2];f=H[b+16>>2];if((c|0)<=(d|0)&e>>>0<=f>>>0|(c|0)<(d|0)){e=0;break a}n=H[b>>2];q=I[n+f|0];c=d;g=f+1|0;c=g?c:c+1|0;H[b+16>>2]=g;H[b+20>>2]=c;if(e>>>0<=g>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}g=I[g+n|0];c=d;k=f+2|0;c=k>>>0<2?c+1|0:c;H[b+16>>2]=k;H[b+20>>2]=c;if(e>>>0<=k>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}k=I[k+n|0];c=d;m=f+3|0;c=m>>>0<3?c+1|0:c;H[b+16>>2]=m;H[b+20>>2]=c;if(e>>>0<=m>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}e=I[m+n|0];c=d;d=f+4|0;c=d>>>0<4?c+1|0:c;H[b+16>>2]=d;H[b+20>>2]=c;if(q>>>0>4){e=0;break a}if((g-12&255)>>>0<245){e=0;break a}if(!k){e=0;break a}m=Eb(h+8|0);i=(e|0)!=0;d=g-1|0;if(d>>>0<=10){c=H[(d<<2)+13584>>2]}else{c=-1}d=N(c,k);lc(m,q,k,g,i,d,d>>31);d:{d=J[H[a+28>>2]+36>>1];e:{if(((d<<8|d>>>8)&65535)>>>0<=258){c=H[b+20>>2];f=H[b+16>>2];d=f+2|0;c=d>>>0<2?c+1|0:c;e=H[b+12>>2];if(K[b+8>>2]>>0&(e|0)<=(c|0)|(c|0)>(e|0)){break d}f=f+H[b>>2]|0;e=I[f|0]|I[f+1|0]<<8;H[b+16>>2]=d;H[b+20>>2]=c;break e}if(!Pc(1,h+4|0,b)){break d}e=H[h+4>>2]}H[h+68>>2]=e;d=jc(pa(96),m);ea[H[H[l>>2]+8>>2]](l,H[l+12>>2]-H[l+8>>2]>>2,d);d=(H[l+12>>2]-H[l+8>>2]>>2)-1|0;f=d<<2;H[H[f+H[l+8>>2]>>2]+60>>2]=e;H[H[a+4>>2]+(o<<2)>>2]=d;e=H[a+16>>2];c=H[a+20>>2]-e>>2;f:{if((c|0)>(d|0)){break f}H[h>>2]=-1;d=d+1|0;if(d>>>0>c>>>0){Pa(p,d-c|0,h);e=H[p>>2];break f}if(c>>>0<=d>>>0){break f}H[a+20>>2]=(d<<2)+e}H[e+f>>2]=o;e=1;o=o+1|0;if((o|0)!=(j|0)){continue}break a}break}e=0}ca=h+80|0;return e|0}function nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=ea[H[H[a>>2]+44>>2]](a)|0;a:{if((n|0)<=0){break a}i=H[b+4>>2]-H[b>>2]>>2;e=ca+-64|0;ca=e;f=Eb(e);d=N(H[3400],n);lc(f,H[H[a+8>>2]+56>>2],n&255,5,0,d,d>>31);f=jc(pa(96),f);F[f+84|0]=1;H[f+72>>2]=H[f+68>>2];mb(f,i);H[f+60>>2]=H[H[a+8>>2]+60>>2];d=H[a+16>>2];H[a+16>>2]=f;if(d){Ga(d)}ca=e- -64|0;h=H[a+16>>2];if(!H[h+80>>2]){break a}j=H[H[h>>2]>>2];if(!j){break a}m=H[c+12>>2];e=m;d=H[c+20>>2];g=H[c+8>>2];k=H[c+16>>2];if((e|0)<=(d|0)&g>>>0<=k>>>0|(d|0)>(e|0)){break a}l=N(i,n);i=j+H[h+48>>2]|0;h=H[c>>2];j=I[h+k|0];e=k+1|0;f=e?d:d+1|0;H[c+16>>2]=e;H[c+20>>2]=f;b:{c:{if(j){if(kd(l,n,c,i)){break c}break a}if((f|0)>=(m|0)&e>>>0>=g>>>0|(f|0)>(m|0)){break a}g=I[e+h|0];f=k+2|0;d=f>>>0<2?d+1|0:d;H[c+16>>2]=f;H[c+20>>2]=d;d=H[H[a+16>>2]+64>>2];d=H[d+4>>2]-H[d>>2]|0;if((g|0)==H[3400]){e=l<<2;if(e>>>0>d>>>0){break a}g=H[c+8>>2];k=H[c+12>>2];j=H[c+20>>2];d=H[c+16>>2];f=e+d|0;j=f>>>0>>0?j+1|0:j;if(f>>>0>g>>>0&(j|0)>=(k|0)|(j|0)>(k|0)){break a}qa(i,d+H[c>>2]|0,e);f=H[c+20>>2];d=e+H[c+16>>2]|0;f=d>>>0>>0?f+1|0:f;H[c+16>>2]=d;H[c+20>>2]=f;break c}if(d>>>0>>0){break a}d=H[c+8>>2];f=H[c+16>>2];e=d-f|0;m=d>>>0>>0;d=H[c+20>>2];k=H[c+12>>2]-(m+d|0)|0;m=Rj(g,0,l,0)>>>0>e>>>0;e=da;if(m&(e|0)>=(k|0)|(e|0)>(k|0)){break a}e=1;if(!l){break b}h=0;while(1){k=H[c+8>>2];j=H[c+12>>2];e=f+g|0;d=e>>>0>>0?d+1|0:d;if(e>>>0>k>>>0&(d|0)>=(j|0)|(d|0)>(j|0)){return 0}qa(i+(h<<2)|0,H[c>>2]+f|0,g);d=H[c+20>>2];f=g+H[c+16>>2]|0;d=f>>>0>>0?d+1|0:d;H[c+16>>2]=f;H[c+20>>2]=d;h=h+1|0;if((l|0)!=(h|0)){continue}break}}e=1;if(!l){break b}d=H[a+20>>2];if(d){e=0;if(ea[H[H[d>>2]+32>>2]](d)|0){break b}}g=0;h=0;d:{if((l|0)<=0){break d}if((l|0)!=1){f=l&-2;while(1){e=g<<2;d=H[e+i>>2];H[e+i>>2]=0-(d&1)^d>>>1;d=e|4;e=H[d+i>>2];H[d+i>>2]=0-(e&1)^e>>>1;g=g+2|0;h=h+2|0;if((f|0)!=(h|0)){continue}break}}if(!(l&1)){break d}d=g<<2;f=H[d+i>>2];H[d+i>>2]=0-(f&1)^f>>>1}e=0}d=e;f=H[a+20>>2];e:{if(!f){break e}if(!(ea[H[H[f>>2]+40>>2]](f,c)|0)){break a}if(d){break e}a=H[a+20>>2];if(!(ea[H[H[a>>2]+44>>2]](a,i,i,l,n,H[b>>2])|0)){break a}}o=1}return o|0}function pb(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;h=ca-32|0;ca=h;a:{b:{if(H[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=pa(b<<2);H[h+24>>2]=b;H[h+20>>2]=0;H[h+16>>2]=c;b=H[a>>2];H[h+12>>2]=0;H[h+8>>2]=b;c=H[a+4>>2];H[h+4>>2]=c&31;H[h>>2]=b+(c>>>3&536870908);e=ca-32|0;ca=e;i=H[h+4>>2];g=H[h+12>>2];j=H[h>>2];d=H[h+8>>2];b=(i-g|0)+(j-d<<3)|0;f=H[h+20>>2];c=b+f|0;H[h+20>>2]=c;if(!((c-1^f-1)>>>0<32?f:0)){H[H[h+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=H[h+16>>2]+(f>>>3&536870908)|0;f=f&31;c:{if((f|0)==(g|0)){if((b|0)<=0){break c}if(g){i=32-g|0;f=(b|0)<(i|0)?b:i;i=-1<>>i-f;H[c>>2]=H[c>>2]&(i^-1)|i&H[d>>2];d=d+4|0;c=(g+f>>>3&536870908)+c|0;b=b-f|0}g=(b|0)/32|0;if(b+31>>>0>=63){va(c,d,g<<2)}b=b-(g<<5)|0;if((b|0)<=0){break c}f=c;c=g<<2;g=f+c|0;b=-1>>>32-b|0;H[g>>2]=H[g>>2]&(b^-1)|b&H[c+d>>2];break c}H[e+28>>2]=g;H[e+24>>2]=d;H[e+20>>2]=i;H[e+16>>2]=j;H[e+12>>2]=f;H[e+8>>2]=c;b=H[e+28>>2];c=H[e+24>>2];g=(H[e+20>>2]-b|0)+(H[e+16>>2]-c<<3)|0;d:{if((g|0)<=0){b=H[e+12>>2];d=H[e+8>>2];break d}e:{if(!b){b=H[e+12>>2];break e}d=H[e+12>>2];j=32-d|0;k=32-b|0;f=(g|0)<(k|0)?g:k;i=f>>>0>j>>>0?j:f;l=H[e+8>>2];m=H[l>>2]&(-1<>>j-i^-1);j=H[c>>2]&(-1<>>k-f);H[l>>2]=m|(b>>>0>>0?j<>>b-d|0);c=d+i|0;b=c&31;H[e+12>>2]=b;d=l+(c>>>3&536870908)|0;H[e+8>>2]=d;c=f-i|0;if((c|0)>0){H[d>>2]=H[d>>2]&(-1>>>32-c^-1)|j>>>i+H[e+28>>2];H[e+12>>2]=c;b=c}g=g-f|0;c=H[e+24>>2]+4|0;H[e+24>>2]=c}i=-1<=32){j=i^-1;while(1){d=H[e+8>>2];c=H[c>>2];H[d>>2]=j&H[d>>2]|c<>2]=d+4;H[d+4>>2]=i&H[d+4>>2]|c>>>f;c=H[e+24>>2]+4|0;H[e+24>>2]=c;d=g>>>0>63;g=g-32|0;if(d){continue}break}}d=H[e+8>>2];if((g|0)<=0){break d}j=f;f=(g|0)>(f|0)?f:g;j=H[d>>2]&(i&-1>>>j-f^-1);i=H[c>>2]&-1>>>32-g;H[d>>2]=j|i<>2]=c;d=(b>>>3&536870908)+d|0;H[e+8>>2]=d;b=g-f|0;if((b|0)<=0){b=c;break d}H[d>>2]=H[d>>2]&(-1>>>32-b^-1)|i>>>f;H[e+12>>2]=b}H[e+4>>2]=b;H[e>>2]=d}ca=e+32|0;b=H[a>>2];H[a>>2]=H[h+16>>2];H[h+16>>2]=b;c=H[a+4>>2];H[a+4>>2]=H[h+20>>2];H[h+20>>2]=c;c=H[a+8>>2];H[a+8>>2]=H[h+24>>2];H[h+24>>2]=c;if(!b){break b}oa(b)}ca=h+32|0;return}sa();v()}function Ne(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,n=0,o=0;c=J[b+38>>1];a:{if(!c){break a}b:{if(c>>>0<=511){g=H[b+8>>2];e=H[b+12>>2];d=H[b+20>>2];c=H[b+16>>2];i=c+4|0;d=i>>>0<4?d+1|0:d;if(g>>>0>>0&(d|0)>=(e|0)|(d|0)>(e|0)){break a}c=c+H[b>>2]|0;f=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[a+12>>2]=f;d=H[b+20>>2];c=H[b+16>>2]+4|0;d=c>>>0<4?d+1|0:d;H[b+16>>2]=c;H[b+20>>2]=d;break b}if(!hb(1,a+12|0,b)){break a}c=H[b+16>>2];d=H[b+20>>2];f=H[a+12>>2]}e=H[b+8>>2];i=e-c|0;c=H[b+12>>2]-(d+(c>>>0>e>>>0)|0)|0;if(i>>>0>>6>>>0&(c|0)<=0|(c|0)<0){break a}d=H[a>>2];c=H[a+4>>2]-d>>2;c:{if(c>>>0>>0){ya(a,f-c|0);f=H[a+12>>2];break c}if(c>>>0<=f>>>0){break c}H[a+4>>2]=d+(f<<2)}if(!f){return 1}c=H[b+16>>2];d=H[b+20>>2];l=H[a>>2];i=H[b+8>>2];j=H[b+12>>2];g=0;while(1){if((d|0)>=(j|0)&c>>>0>=i>>>0|(d|0)>(j|0)){return 0}m=H[b>>2];k=I[m+c|0];c=c+1|0;d=c?d:d+1|0;H[b+16>>2]=c;H[b+20>>2]=d;e=k>>>2|0;h=0;d:{e:{f:{g:{n=k&3;switch(n|0){case 0:break e;case 3:break g;default:break f}}e=e+g|0;if(e>>>0>=f>>>0){return 0}ra(l+(g<<2)|0,0,(k&252)+4|0);g=e;break d}while(1){if((c|0)==(i|0)&(d|0)==(j|0)){break a}f=I[c+m|0];c=c+1|0;d=c?d:d+1|0;H[b+16>>2]=c;H[b+20>>2]=d;e=f<<(h<<3|6)|e;h=h+1|0;if((n|0)!=(h|0)){continue}break}}H[l+(g<<2)>>2]=e}f=H[a+12>>2];g=g+1|0;if(f>>>0>g>>>0){continue}break}b=a+16|0;i=H[a>>2];d=H[a+16>>2];c=H[a+20>>2]-d|0;h:{if(c>>>0<=16383){ya(b,4096-(c>>>2|0)|0);break h}if((c|0)==16384){break h}H[a+20>>2]=d+16384}c=a+28|0;g=H[c>>2];d=H[a+32>>2]-g>>3;i:{if(d>>>0>>0){ob(c,f-d|0);g=H[c>>2];break i}if(d>>>0>f>>>0){H[a+32>>2]=(f<<3)+g}if(!f){break a}}d=H[b>>2];b=0;a=0;while(1){c=i+(b<<2)|0;h=H[c>>2];e=a;j=(b<<3)+g|0;H[j+4>>2]=a;H[j>>2]=h;c=H[c>>2];a=c+a|0;if(a>>>0>4096){break a}j:{if(a>>>0<=e>>>0){break j}h=0;j=c&7;if(j){while(1){H[d+(e<<2)>>2]=b;e=e+1|0;h=h+1|0;if((j|0)!=(h|0)){continue}break}}if(c-1>>>0<=6){break j}while(1){c=d+(e<<2)|0;H[c>>2]=b;H[c+28>>2]=b;H[c+24>>2]=b;H[c+20>>2]=b;H[c+16>>2]=b;H[c+12>>2]=b;H[c+8>>2]=b;H[c+4>>2]=b;e=e+8|0;if((e|0)!=(a|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}o=(a|0)==4096}return o}function Ni(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=ca-48|0;ca=g;d=H[a+8>>2];if(d-2>>>0<=28){H[a+76>>2]=d;e=-1<>2]=d;H[a+80>>2]=e^-1;H[a+92>>2]=(d|0)/2;L[a+88>>2]=O(2)/O(d|0)}H[a+52>>2]=f;d=H[a+40>>2];e=H[d>>2];d=H[d+4>>2];H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=H[a+40>>2];d=H[e>>2];if(H[e+4>>2]-d>>2>>>0<=j>>>0){break a}Nb(n,H[d+(j<<2)>>2],g+8|0);h=H[g+12>>2];d=h>>31;i=H[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=H[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){H[g+8>>2]=H[a+92>>2];break b}f=H[a+92>>2];k=f>>31;i=Sj(Rj(f,k,i,i>>31),da,e,d);H[g+8>>2]=i;d=Sj(Rj(f,k,h,h>>31),da,e,d);H[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){H[g+16>>2]=f-d;break b}H[g+16>>2]=d-f}d=Ba(p);f=H[g+8>>2];c:{if(d){H[g+16>>2]=0-H[g+16>>2];e=0-H[g+12>>2]|0;H[g+12>>2]=e;f=0-f|0;H[g+8>>2]=f;break c}e=H[g+12>>2]}d:{if((f|0)>=0){f=H[a+92>>2];d=f+H[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=H[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=H[g+16>>2];f=d>>31;f=H[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=H[a+84>>2]+(d-(d^e)|0)|0}e=H[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=H[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=H[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=H[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=H[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=H[h>>2];h=H[h+4>>2];H[g+36>>2]=d;H[g+32>>2]=f;H[g+24>>2]=i;H[g+28>>2]=h;qc(g+40|0,m,g+32|0,g+24|0);d=c+e|0;H[d>>2]=H[g+40>>2];H[d+4>>2]=H[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}ca=g+48|0;return 1}Ca();v()}function Ii(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=ca-48|0;ca=g;d=H[a+8>>2];if(d-2>>>0<=28){H[a+76>>2]=d;e=-1<>2]=d;H[a+80>>2]=e^-1;H[a+92>>2]=(d|0)/2;L[a+88>>2]=O(2)/O(d|0)}H[a+52>>2]=f;d=H[a+40>>2];e=H[d>>2];d=H[d+4>>2];H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=H[a+40>>2];d=H[e>>2];if(H[e+4>>2]-d>>2>>>0<=j>>>0){break a}Lb(n,H[d+(j<<2)>>2],g+8|0);h=H[g+12>>2];d=h>>31;i=H[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=H[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){H[g+8>>2]=H[a+92>>2];break b}f=H[a+92>>2];k=f>>31;i=Sj(Rj(f,k,i,i>>31),da,e,d);H[g+8>>2]=i;d=Sj(Rj(f,k,h,h>>31),da,e,d);H[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){H[g+16>>2]=f-d;break b}H[g+16>>2]=d-f}d=Ba(p);f=H[g+8>>2];c:{if(d){H[g+16>>2]=0-H[g+16>>2];e=0-H[g+12>>2]|0;H[g+12>>2]=e;f=0-f|0;H[g+8>>2]=f;break c}e=H[g+12>>2]}d:{if((f|0)>=0){f=H[a+92>>2];d=f+H[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=H[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=H[g+16>>2];f=d>>31;f=H[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=H[a+84>>2]+(d-(d^e)|0)|0}e=H[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=H[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=H[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=H[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=H[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=H[h>>2];h=H[h+4>>2];H[g+36>>2]=d;H[g+32>>2]=f;H[g+24>>2]=i;H[g+28>>2]=h;qc(g+40|0,m,g+32|0,g+24|0);d=c+e|0;H[d>>2]=H[g+40>>2];H[d+4>>2]=H[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}ca=g+48|0;return 1}Ca();v()}function Wi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=ca-48|0;ca=g;d=H[a+8>>2];if(d-2>>>0<=28){H[a+76>>2]=d;e=-1<>2]=d;H[a+80>>2]=e^-1;H[a+92>>2]=(d|0)/2;L[a+88>>2]=O(2)/O(d|0)}H[a+52>>2]=f;d=H[a+40>>2];e=H[d>>2];d=H[d+4>>2];H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=H[a+40>>2];d=H[e>>2];if(H[e+4>>2]-d>>2>>>0<=j>>>0){break a}Nb(n,H[d+(j<<2)>>2],g+8|0);h=H[g+12>>2];d=h>>31;i=H[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=H[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){H[g+8>>2]=H[a+92>>2];break b}f=H[a+92>>2];k=f>>31;i=Sj(Rj(f,k,i,i>>31),da,e,d);H[g+8>>2]=i;d=Sj(Rj(f,k,h,h>>31),da,e,d);H[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){H[g+16>>2]=f-d;break b}H[g+16>>2]=d-f}d=Ba(p);f=H[g+8>>2];c:{if(d){H[g+16>>2]=0-H[g+16>>2];e=0-H[g+12>>2]|0;H[g+12>>2]=e;f=0-f|0;H[g+8>>2]=f;break c}e=H[g+12>>2]}d:{if((f|0)>=0){f=H[a+92>>2];d=f+H[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=H[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=H[g+16>>2];f=d>>31;f=H[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=H[a+84>>2]+(d-(d^e)|0)|0}e=H[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=H[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=H[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=H[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=H[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=H[h+4>>2];H[g+40>>2]=H[h>>2];H[g+44>>2]=i;H[g+28>>2]=d;H[g+24>>2]=f;rc(g+32|0,m,g+24|0,g+40|0);d=c+e|0;H[d>>2]=H[g+32>>2];H[d+4>>2]=H[g+36>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}ca=g+48|0;return 1}Ca();v()}function Ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=ca-48|0;ca=g;d=H[a+8>>2];if(d-2>>>0<=28){H[a+76>>2]=d;e=-1<>2]=d;H[a+80>>2]=e^-1;H[a+92>>2]=(d|0)/2;L[a+88>>2]=O(2)/O(d|0)}H[a+52>>2]=f;d=H[a+40>>2];e=H[d>>2];d=H[d+4>>2];H[g+16>>2]=0;H[g+8>>2]=0;H[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=H[a+40>>2];d=H[e>>2];if(H[e+4>>2]-d>>2>>>0<=j>>>0){break a}Lb(n,H[d+(j<<2)>>2],g+8|0);h=H[g+12>>2];d=h>>31;i=H[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=H[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){H[g+8>>2]=H[a+92>>2];break b}f=H[a+92>>2];k=f>>31;i=Sj(Rj(f,k,i,i>>31),da,e,d);H[g+8>>2]=i;d=Sj(Rj(f,k,h,h>>31),da,e,d);H[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){H[g+16>>2]=f-d;break b}H[g+16>>2]=d-f}d=Ba(p);f=H[g+8>>2];c:{if(d){H[g+16>>2]=0-H[g+16>>2];e=0-H[g+12>>2]|0;H[g+12>>2]=e;f=0-f|0;H[g+8>>2]=f;break c}e=H[g+12>>2]}d:{if((f|0)>=0){f=H[a+92>>2];d=f+H[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=H[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=H[g+16>>2];f=d>>31;f=H[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=H[a+84>>2]+(d-(d^e)|0)|0}e=H[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=H[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=H[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=H[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=H[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=H[h+4>>2];H[g+40>>2]=H[h>>2];H[g+44>>2]=i;H[g+28>>2]=d;H[g+24>>2]=f;rc(g+32|0,m,g+24|0,g+40|0);d=c+e|0;H[d>>2]=H[g+32>>2];H[d+4>>2]=H[g+36>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}ca=g+48|0;return 1}Ca();v()}function Ge(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=ca-16|0;ca=f;c=H[a+4>>2];H[a+40>>2]=H[a>>2];H[a+44>>2]=c;c=H[a+36>>2];H[a+72>>2]=H[a+32>>2];H[a+76>>2]=c;d=H[a+28>>2];c=a- -64|0;H[c>>2]=H[a+24>>2];H[c+4>>2]=d;c=H[a+20>>2];H[a+56>>2]=H[a+16>>2];H[a+60>>2]=c;c=H[a+12>>2];H[a+48>>2]=H[a+8>>2];H[a+52>>2]=c;a:{b:{if(Db(a+40|0,1,f+8|0)){c=H[a+44>>2];H[a>>2]=H[a+40>>2];H[a+4>>2]=c;c=H[a+76>>2];H[a+32>>2]=H[a+72>>2];H[a+36>>2]=c;c=H[a+68>>2];H[a+24>>2]=H[a+64>>2];H[a+28>>2]=c;d=H[a+60>>2];h=d;c=H[a+56>>2];H[a+16>>2]=c;H[a+20>>2]=d;e=H[a+52>>2];d=H[a+48>>2];H[a+8>>2]=d;H[a+12>>2]=e;i=d-c|0;g=H[f+12>>2];e=e-((c>>>0>d>>>0)+h|0)|0;d=H[f+8>>2];if((g|0)==(e|0)&i>>>0>=d>>>0|e>>>0>g>>>0){break b}}c=0;break a}e=h+g|0;c=c+d|0;e=c>>>0>>0?e+1|0:e;H[a+16>>2]=c;H[a+20>>2]=e;c:{if(J[a+38>>1]<=513){c=H[a+4>>2];H[a+96>>2]=H[a>>2];H[a+100>>2]=c;c=H[a+36>>2];H[a+128>>2]=H[a+32>>2];H[a+132>>2]=c;c=H[a+28>>2];H[a+120>>2]=H[a+24>>2];H[a+124>>2]=c;c=H[a+20>>2];H[a+112>>2]=H[a+16>>2];H[a+116>>2]=c;c=H[a+12>>2];H[a+104>>2]=H[a+8>>2];H[a+108>>2]=c;d:{if(Db(a+96|0,1,f+8|0)){c=H[a+100>>2];H[a>>2]=H[a+96>>2];H[a+4>>2]=c;c=H[a+132>>2];H[a+32>>2]=H[a+128>>2];H[a+36>>2]=c;c=H[a+124>>2];H[a+24>>2]=H[a+120>>2];H[a+28>>2]=c;d=H[a+116>>2];h=d;c=H[a+112>>2];H[a+16>>2]=c;H[a+20>>2]=d;e=H[a+108>>2];d=H[a+104>>2];H[a+8>>2]=d;H[a+12>>2]=e;i=d-c|0;g=H[f+12>>2];e=e-((c>>>0>d>>>0)+h|0)|0;d=H[f+8>>2];if((g|0)==(e|0)&i>>>0>=d>>>0|e>>>0>g>>>0){break d}}c=0;break a}e=h+g|0;c=c+d|0;e=c>>>0>>0?e+1|0:e;H[a+16>>2]=c;H[a+20>>2]=e;break c}c=0;if(!ta(a+80|0,a)){break a}}c=0;if(!Fe(a)){break a}c=H[a+4>>2];H[b>>2]=H[a>>2];H[b+4>>2]=c;c=H[a+36>>2];H[b+32>>2]=H[a+32>>2];H[b+36>>2]=c;c=H[a+28>>2];H[b+24>>2]=H[a+24>>2];H[b+28>>2]=c;c=H[a+20>>2];H[b+16>>2]=H[a+16>>2];H[b+20>>2]=c;c=H[a+12>>2];H[b+8>>2]=H[a+8>>2];H[b+12>>2]=c;c=1}ca=f+16|0;return c}function oe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!H[a+64>>2]){c=pa(32);H[c+16>>2]=0;H[c+20>>2]=0;H[c+8>>2]=0;H[c>>2]=0;H[c+4>>2]=0;H[c+24>>2]=0;H[c+28>>2]=0;d=H[a+64>>2];H[a+64>>2]=c;if(d){c=H[d>>2];if(c){H[d+4>>2]=c;oa(c)}oa(d);c=H[a+64>>2]}H[a>>2]=c;d=H[c+20>>2];H[a+8>>2]=H[c+16>>2];H[a+12>>2]=d;d=H[c+24>>2];c=H[c+28>>2];H[a+48>>2]=0;H[a+52>>2]=0;H[a+40>>2]=0;H[a+44>>2]=0;H[a+16>>2]=d;H[a+20>>2]=c}a:{F[a+24|0]=I[b+24|0];H[a+28>>2]=H[b+28>>2];F[a+32|0]=I[b+32|0];c=H[b+44>>2];H[a+40>>2]=H[b+40>>2];H[a+44>>2]=c;c=H[b+52>>2];H[a+48>>2]=H[b+48>>2];H[a+52>>2]=c;H[a+56>>2]=H[b+56>>2];c=H[b+12>>2];H[a+8>>2]=H[b+8>>2];H[a+12>>2]=c;c=H[b+20>>2];H[a+16>>2]=H[b+16>>2];H[a+20>>2]=c;H[a+60>>2]=H[b+60>>2];c=H[b>>2];b:{if(!c){H[a>>2]=0;d=1;break b}g=H[a>>2];d=0;if(!g){break b}d=H[c>>2];c=H[c+4>>2]-d|0;se(g,d,c,0);d=1}c:{if(!d){break c}F[a+84|0]=I[b+84|0];H[a+80>>2]=H[b+80>>2];if((a|0)!=(b|0)){Cb(a+68|0,H[b+68>>2],H[b+72>>2])}f=H[b+88>>2];d:{if(f){e=pa(40);b=H[f>>2];H[e+16>>2]=0;H[e+8>>2]=0;H[e+12>>2]=0;H[e>>2]=b;c=H[f+12>>2];b=H[f+8>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break a}b=pa(c);H[e+12>>2]=b;H[e+8>>2]=b;H[e+16>>2]=b+c;c=H[f+8>>2];h=H[f+12>>2];e:{if((c|0)==(h|0)){break e}g=(c^-1)+h|0;d=h-c&7;if(d){while(1){F[b|0]=I[c|0];b=b+1|0;c=c+1|0;i=i+1|0;if((d|0)!=(i|0)){continue}break}}if(g>>>0<7){break e}while(1){F[b|0]=I[c|0];F[b+1|0]=I[c+1|0];F[b+2|0]=I[c+2|0];F[b+3|0]=I[c+3|0];F[b+4|0]=I[c+4|0];F[b+5|0]=I[c+5|0];F[b+6|0]=I[c+6|0];F[b+7|0]=I[c+7|0];b=b+8|0;c=c+8|0;if((h|0)!=(c|0)){continue}break}}H[e+12>>2]=b}b=H[f+36>>2];H[e+32>>2]=H[f+32>>2];H[e+36>>2]=b;b=H[f+28>>2];H[e+24>>2]=H[f+24>>2];H[e+28>>2]=b;b=H[a+88>>2];H[a+88>>2]=e;if(b){break d}break c}b=H[a+88>>2];H[a+88>>2]=0;if(!b){break c}}a=H[b+8>>2];if(a){H[b+12>>2]=a;oa(a)}oa(b)}return}sa();v()}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=ca-32|0;ca=f;e=f+8|0;c=ca-80|0;ca=c;a=H[b+36>>2];H[c+72>>2]=H[b+32>>2];H[c+76>>2]=a;d=H[b+28>>2];a=c- -64|0;H[a>>2]=H[b+24>>2];H[a+4>>2]=d;a=H[b+20>>2];H[c+56>>2]=H[b+16>>2];H[c+60>>2]=a;a=H[b+12>>2];H[c+48>>2]=H[b+8>>2];H[c+52>>2]=a;a=H[b+4>>2];H[c+40>>2]=H[b>>2];H[c+44>>2]=a;nc(c+8|0,c+40|0,c+24|0);a=H[c+8>>2];a:{if(a){H[e>>2]=a;a=e+4|0;if(F[c+23|0]>=0){b=c+8|4;e=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=e;H[a+8>>2]=H[b+8>>2];break a}za(a,H[c+12>>2],H[c+16>>2]);if(F[c+23|0]>=0){break a}oa(H[c+12>>2]);break a}if(F[c+23|0]<0){oa(H[c+12>>2])}a=I[c+31|0];if(a>>>0>=2){b=pa(32);F[b+26|0]=0;a=I[1477]|I[1478]<<8;F[b+24|0]=a;F[b+25|0]=a>>>8;a=I[1473]|I[1474]<<8|(I[1475]<<16|I[1476]<<24);d=I[1469]|I[1470]<<8|(I[1471]<<16|I[1472]<<24);F[b+16|0]=d;F[b+17|0]=d>>>8;F[b+18|0]=d>>>16;F[b+19|0]=d>>>24;F[b+20|0]=a;F[b+21|0]=a>>>8;F[b+22|0]=a>>>16;F[b+23|0]=a>>>24;a=I[1465]|I[1466]<<8|(I[1467]<<16|I[1468]<<24);d=I[1461]|I[1462]<<8|(I[1463]<<16|I[1464]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=a;F[b+13|0]=a>>>8;F[b+14|0]=a>>>16;F[b+15|0]=a>>>24;a=I[1457]|I[1458]<<8|(I[1459]<<16|I[1460]<<24);d=I[1453]|I[1454]<<8|(I[1455]<<16|I[1456]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=a;F[b+5|0]=a>>>8;F[b+6|0]=a>>>16;F[b+7|0]=a>>>24;H[c+8>>2]=-1;a=c+8|4;za(a,b,26);d=F[c+23|0];H[e>>2]=H[c+8>>2];e=e+4|0;if((d|0)>=0){d=H[a+4>>2];H[e>>2]=H[a>>2];H[e+4>>2]=d;H[e+8>>2]=H[a+8>>2];oa(b);break a}za(e,H[c+12>>2],H[c+16>>2]);if(F[c+23|0]<0){oa(H[c+12>>2])}oa(b);break a}H[e>>2]=0;H[e+4>>2]=0;H[e+16>>2]=a;H[e+8>>2]=0;H[e+12>>2]=0}ca=c+80|0;a=H[f+24>>2];if(F[f+23|0]<0){oa(H[f+12>>2])}ca=f+32|0;return a|0}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=ca-16|0;ca=k;H[k+8>>2]=c;h=H[a+12>>2];d=H[a+8>>2];g=h-d>>2;a:{if((g|0)>(b|0)){break a}e=b+1|0;if(e>>>0>g>>>0){l=e-g|0;f=H[a+16>>2];d=H[a+12>>2];if(l>>>0<=f-d>>2>>>0){if(l){e=d;d=l<<2;d=ra(e,0,d)+d|0}H[a+12>>2]=d;break a}b:{c:{d:{m=H[a+8>>2];g=d-m>>2;i=g+l|0;if(i>>>0<1073741824){e=f-m|0;f=e>>>1|0;e=e>>>0>=2147483644?1073741823:f>>>0>i>>>0?f:i;if(e){if(e>>>0>=1073741824){break d}j=pa(e<<2)}h=(g<<2)+j|0;f=l<<2;i=ra(h,0,f);g=f+i|0;e=(e<<2)+j|0;if((d|0)==(m|0)){break c}while(1){d=d-4|0;f=H[d>>2];H[d>>2]=0;h=h-4|0;H[h>>2]=f;if((d|0)!=(m|0)){continue}break}H[a+16>>2]=e;e=H[a+12>>2];H[a+12>>2]=g;d=H[a+8>>2];H[a+8>>2]=h;if((d|0)==(e|0)){break b}while(1){e=e-4|0;f=H[e>>2];H[e>>2]=0;if(f){Ga(f)}if((d|0)!=(e|0)){continue}break}break b}sa();v()}wa();v()}H[a+16>>2]=e;H[a+12>>2]=g;H[a+8>>2]=i}if(d){oa(d)}break a}if(e>>>0>=g>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(h|0)){while(1){h=h-4|0;c=H[h>>2];H[h>>2]=0;if(c){Ga(c)}if((d|0)!=(h|0)){continue}break}c=H[k+8>>2]}H[a+12>>2]=d}e:{f:{d=H[c+56>>2];g:{if((d|0)>4){break g}j=N(d,12)+a|0;d=H[j+24>>2];if((d|0)!=H[j+28>>2]){H[d>>2]=b;H[j+24>>2]=d+4;break g}i=H[j+20>>2];g=d-i|0;f=g>>2;e=f+1|0;if(e>>>0>=1073741824){break f}d=g>>>1|0;e=g>>>0>=2147483644?1073741823:d>>>0>e>>>0?d:e;if(e){if(e>>>0>=1073741824){break e}d=pa(e<<2)}else{d=0}f=d+(f<<2)|0;H[f>>2]=b;d=va(d,i,g);H[j+20>>2]=d;H[j+24>>2]=f+4;H[j+28>>2]=d+(e<<2);if(!i){break g}oa(i)}H[c+60>>2]=b;a=H[a+8>>2];H[k+8>>2]=0;a=a+(b<<2)|0;b=H[a>>2];H[a>>2]=c;if(b){Ga(b)}a=H[k+8>>2];H[k+8>>2]=0;if(a){Ga(a)}ca=k+16|0;return}sa();v()}wa();v()}function Og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c;d=a;a:{if(H[a+12>>2]==(b|0)){break a}a=b;b=H[d+4>>2];e=H[d>>2];if((b|0)!=(e|0)){while(1){c=b-12|0;if(F[b-1|0]<0){oa(H[c>>2])}b=c;if((e|0)!=(b|0)){continue}break}}H[d+12>>2]=a;H[d+4>>2]=e;c=H[a>>2];j=a+4|0;if((c|0)==(j|0)){break a}while(1){a=H[d+4>>2];b:{if((a|0)!=H[d+8>>2]){c:{if(F[c+27|0]>=0){b=H[c+20>>2];H[a>>2]=H[c+16>>2];H[a+4>>2]=b;H[a+8>>2]=H[c+24>>2];break c}za(a,H[c+16>>2],H[c+20>>2])}H[d+4>>2]=a+12;break b}g=0;d:{e:{f:{a=H[d+4>>2];e=H[d>>2];f=(a-e|0)/12|0;b=f+1|0;if(b>>>0<357913942){h=(H[d+8>>2]-e|0)/12|0;k=h<<1;b=h>>>0>=178956970?357913941:b>>>0>>0?k:b;if(b){if(b>>>0>=357913942){break f}g=pa(N(b,12))}h=N(b,12);b=N(f,12)+g|0;g:{if(F[c+27|0]>=0){f=H[c+20>>2];H[b>>2]=H[c+16>>2];H[b+4>>2]=f;H[b+8>>2]=H[c+24>>2];break g}za(b,H[c+16>>2],H[c+20>>2]);e=H[d>>2];a=H[d+4>>2]}g=g+h|0;f=b+12|0;if((a|0)==(e|0)){break e}while(1){a=a-12|0;h=H[a+4>>2];b=b-12|0;H[b>>2]=H[a>>2];H[b+4>>2]=h;H[b+8>>2]=H[a+8>>2];H[a>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;if((a|0)!=(e|0)){continue}break}H[d+8>>2]=g;a=H[d+4>>2];H[d+4>>2]=f;e=H[d>>2];H[d>>2]=b;if((a|0)==(e|0)){break d}while(1){b=a-12|0;if(F[a-1|0]<0){oa(H[b>>2])}a=b;if((e|0)!=(b|0)){continue}break}break d}sa();v()}wa();v()}H[d+8>>2]=g;H[d+4>>2]=f;H[d>>2]=b}if(e){oa(e)}}b=H[c+4>>2];h:{if(b){while(1){a=b;b=H[b>>2];if(b){continue}break h}}while(1){a=H[c+8>>2];b=H[a>>2]!=(c|0);c=a;if(b){continue}break}}c=a;if((j|0)!=(a|0)){continue}break}}a=0;i:{if((i|0)<0){break i}b=H[d>>2];if((H[d+4>>2]-b|0)/12>>>0<=i>>>0){break i}a=b+N(i,12)|0;a=F[a+11|0]<0?H[a>>2]:a}return a|0}function bd(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,n=0;i=ca-16|0;ca=i;H[i>>2]=b;f=-1;a:{if((b|0)==-1){H[i+4>>2]=-1;break a}f=b+1|0;H[i+4>>2]=(f>>>0)%3|0?f:b-2|0;if((b>>>0)%3|0){f=b-1|0;break a}f=b+2|0}H[i+8>>2]=f;n=(b>>>0)/3|0;b:{c:{d:{while(1){e:{f:{j=H[(l<<2)+i>>2];if((j|0)!=-1){f=H[H[H[a+8>>2]+12>>2]+(j<<2)>>2];if((f|0)!=-1){break f}}f=0;g=H[a+216>>2];if((g|0)==H[a+220>>2]){break e}while(1){g=N(f,144)+g|0;d=H[g+136>>2];c=H[g+140>>2];g:{if(d>>>0>>0){H[d>>2]=j;H[g+136>>2]=d+4;break g}e=d;d=H[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break d}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=pa(h<<2)}else{c=0}e=m+c|0;H[e>>2]=j;c=va(c,d,k);H[g+132>>2]=c;H[g+136>>2]=e+4;H[g+140>>2]=c+(h<<2);if(!d){break g}oa(d)}f=f+1|0;g=H[a+216>>2];if(f>>>0<(H[a+220>>2]-g|0)/144>>>0){continue}break}break e}if((b|0)==-1|(f>>>0)/3>>>0>>0){break e}f=0;if(H[a+220>>2]==H[a+216>>2]){break e}while(1){h:{if(!Ba(H[a+368>>2]+(f<<4)|0)){break h}g=H[a+216>>2]+N(f,144)|0;d=H[g+136>>2];c=H[g+140>>2];if(d>>>0>>0){H[d>>2]=j;H[g+136>>2]=d+4;break h}e=d;d=H[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break b}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=pa(h<<2)}else{c=0}e=m+c|0;H[e>>2]=j;c=va(c,d,k);H[g+132>>2]=c;H[g+136>>2]=e+4;H[g+140>>2]=c+(h<<2);if(!d){break h}oa(d)}f=f+1|0;if(f>>>0<(H[a+220>>2]-H[a+216>>2]|0)/144>>>0){continue}break}}l=l+1|0;if((l|0)!=3){continue}break}ca=i+16|0;return 1}sa();v()}wa();v()}sa();v()}function cd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=ca-16|0;ca=h;H[h>>2]=b;c=-1;a:{if((b|0)==-1){H[h+4>>2]=-1;break a}c=b+1|0;H[h+4>>2]=(c>>>0)%3|0?c:b-2|0;if((b>>>0)%3|0){c=b-1|0;break a}c=b+2|0}H[h+8>>2]=c;b:{c:{while(1){i=H[(k<<2)+h>>2];d:{if(!((i|0)==-1|H[H[H[a+8>>2]+12>>2]+(i<<2)>>2]==-1)){b=0;if(H[a+220>>2]==H[a+216>>2]){break d}while(1){e:{f:{if(!Ba(H[a+368>>2]+(b<<4)|0)){break f}c=H[a+216>>2]+N(b,144)|0;e=H[c+136>>2];d=H[c+140>>2];if(e>>>0>>0){H[e>>2]=i;H[c+136>>2]=e+4;break f}f=e;e=H[c+132>>2];j=f-e|0;f=j>>2;g=f+1|0;if(g>>>0>=1073741824){break e}l=f<<2;d=d-e|0;f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(g){if(g>>>0>=1073741824){break b}d=pa(g<<2)}else{d=0}f=l+d|0;H[f>>2]=i;d=va(d,e,j);H[c+132>>2]=d;H[c+136>>2]=f+4;H[c+140>>2]=d+(g<<2);if(!e){break f}oa(e)}b=b+1|0;if(b>>>0<(H[a+220>>2]-H[a+216>>2]|0)/144>>>0){continue}break d}break}sa();v()}b=0;c=H[a+216>>2];if((c|0)==H[a+220>>2]){break d}while(1){c=N(b,144)+c|0;e=H[c+136>>2];d=H[c+140>>2];g:{if(e>>>0>>0){H[e>>2]=i;H[c+136>>2]=e+4;break g}f=e;e=H[c+132>>2];j=f-e|0;f=j>>2;g=f+1|0;if(g>>>0>=1073741824){break c}l=f<<2;d=d-e|0;f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(g){if(g>>>0>=1073741824){break b}d=pa(g<<2)}else{d=0}f=l+d|0;H[f>>2]=i;d=va(d,e,j);H[c+132>>2]=d;H[c+136>>2]=f+4;H[c+140>>2]=d+(g<<2);if(!e){break g}oa(e)}b=b+1|0;c=H[a+216>>2];if(b>>>0<(H[a+220>>2]-c|0)/144>>>0){continue}break}}k=k+1|0;if((k|0)!=3){continue}break}ca=h+16|0;return 1}sa();v()}wa();v()}function vg(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,l=0,m=0,n=0,o=0;m=ca-16|0;ca=m;l=H[b+80>>2];e=I[c+24|0];a=N(l,e);a:{b:{c:{d:{b=H[c+28>>2];if(!(!I[c+84|0]|(b|0)!=1&(b|0)!=2)){b=H[c+48>>2];c=H[H[c>>2]>>2];H[m+8>>2]=0;H[m>>2]=0;H[m+4>>2]=0;if(a){if((a|0)<0){break d}f=pa(a);h=qa(f,b+c|0,a)+a|0}a=H[d>>2];if(a){H[d+4>>2]=a;oa(a)}H[d+8>>2]=h;H[d+4>>2]=h;H[d>>2]=f;b=1;break a}if(e){f=pa(e);ra(f,0,e)}e:{i=H[d+4>>2];b=H[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=H[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=ra(i,0,k)+k|0,H[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=pa(i);ra(j+g|0,0,k);g=va(j,b,g);H[d+8>>2]=g+i;H[d+4>>2]=a+g;H[d>>2]=g;if(!b){break f}oa(b);break f}if(a>>>0>=g>>>0){break f}H[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!ic(c,I[c+84|0]?a:H[H[c+68>>2]+(a<<2)>>2],F[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!ic(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){F[H[d>>2]+h|0]=I[a+f|0];F[(H[d>>2]+h|0)+1|0]=I[(a|1)+f|0];F[(H[d>>2]+h|0)+2|0]=I[(a|2)+f|0];F[(H[d>>2]+h|0)+3|0]=I[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){F[H[d>>2]+h|0]=I[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}sa();v()}sa();v()}if(!f){break a}}oa(f)}ca=m+16|0;return b&1}function ug(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,l=0,m=0,n=0,o=0;m=ca-16|0;ca=m;l=H[b+80>>2];e=I[c+24|0];a=N(l,e);a:{b:{c:{d:{b=H[c+28>>2];if(!(!I[c+84|0]|(b|0)!=1&(b|0)!=2)){b=H[c+48>>2];c=H[H[c>>2]>>2];H[m+8>>2]=0;H[m>>2]=0;H[m+4>>2]=0;if(a){if((a|0)<0){break d}f=pa(a);h=qa(f,b+c|0,a)+a|0}a=H[d>>2];if(a){H[d+4>>2]=a;oa(a)}H[d+8>>2]=h;H[d+4>>2]=h;H[d>>2]=f;b=1;break a}if(e){f=pa(e);ra(f,0,e)}e:{i=H[d+4>>2];b=H[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=H[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=ra(i,0,k)+k|0,H[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=pa(i);ra(j+g|0,0,k);g=va(j,b,g);H[d+8>>2]=g+i;H[d+4>>2]=a+g;H[d>>2]=g;if(!b){break f}oa(b);break f}if(a>>>0>=g>>>0){break f}H[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!hc(c,I[c+84|0]?a:H[H[c+68>>2]+(a<<2)>>2],F[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!hc(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){F[H[d>>2]+h|0]=I[a+f|0];F[(H[d>>2]+h|0)+1|0]=I[(a|1)+f|0];F[(H[d>>2]+h|0)+2|0]=I[(a|2)+f|0];F[(H[d>>2]+h|0)+3|0]=I[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){F[H[d>>2]+h|0]=I[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}sa();v()}sa();v()}if(!f){break a}}oa(f)}ca=m+16|0;return b&1}function qc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=H[b+16>>2];h=H[c+4>>2]-k|0;e=H[c>>2]-k|0;H[c>>2]=e;f=h;H[c+4>>2]=f;l=H[b+16>>2];f=f>>31;g=(h^f)-f|0;f=e>>31;m=l>>>0>=g+((f^e)-f|0)>>>0;a:{if(m){f=h;break a}b:{c:{if((e|0)>=0){g=1;j=1;if((h|0)>=0){break b}i=1;g=-1;j=-1;if(e){break c}break b}i=-1;g=-1;j=-1;if((h|0)<=0){break b}}g=(h|0)<=0?-1:1;j=i}n=N(j,l);f=(e<<1)-n|0;i=(N(g,j)|0)>=0;e=N(g,l);f=((i?0-f|0:f)+e|0)/2|0;H[c+4>>2]=f;e=(h<<1)-e|0;e=((i?0-e|0:e)+n|0)/2|0;H[c>>2]=e}d:{e:{f:{g:{h:{i:{j:{if(e){if((e|0)<0){break j}if((f|0)>=0){break i}break f}if(f){break h}j=1;g=0;f=0;i=0;break d}j=1;if((f|0)>0){break g}i=(f|0)>0?3:0;g=f;f=e;break d}g=0-f|0;f=0-e|0;i=2;break e}if((f|0)<=0){break f}}f=0-f|0;g=e;i=3;break e}g=0-e|0;i=1}H[c>>2]=f;H[c+4>>2]=g;j=0}e=H[d>>2]+f|0;h=H[b+16>>2];k:{if((e|0)>(h|0)){e=e-H[b+4>>2]|0;break k}if((0-h|0)<=(e|0)){break k}e=H[b+4>>2]+e|0}c=H[d+4>>2]+g|0;l:{if((h|0)<(c|0)){c=c-H[b+4>>2]|0;break l}if((0-h|0)<=(c|0)){break l}c=H[b+4>>2]+c|0}m:{if(j){b=c;break m}b=c;n:{o:{p:{d=4-i|0;switch((d>>>0<4?d:0-i|0)-1|0){case 2:break n;case 1:break o;case 0:break p;default:break m}}b=0-e|0;e=c;break m}b=0-c|0;e=0-e|0;break m}b=e;e=0-c|0}q:{if(m){c=b;break q}r:{s:{if((e|0)>=0){c=1;f=1;if((b|0)>=0){break r}d=1;c=-1;f=-1;if(e){break s}break r}d=-1;c=-1;f=-1;if((b|0)<=0){break r}}c=(b|0)<=0?-1:1;f=d}d=e<<1;e=N(f,h);d=d-e|0;f=(N(c,f)|0)>=0;g=f?0-d|0:d;d=N(c,h);c=(g+d|0)/2|0;b=(b<<1)-d|0;e=(e+(f?0-b|0:b)|0)/2|0}b=a;H[b>>2]=e+k;H[b+4>>2]=c+k}function Cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=ca-32|0;ca=j;H[j+28>>2]=0;a:{b:{if(J[b+38>>1]<=513){c=H[b+20>>2];d=H[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;h=H[b+12>>2];if(K[b+8>>2]>>0&(h|0)<=(c|0)|(c|0)>(h|0)){break a}d=d+H[b>>2]|0;f=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;break b}if(!Xa(1,j+28|0,b)){break a}f=H[j+28>>2]}if(!f){break a}c=H[H[a+48>>2]+64>>2];if(H[c+4>>2]-H[c>>2]>>2>>>0>>0){break a}Wa(a+76|0,f);c=j+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c:{if(!ta(c,b)){break c}h=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^h;if(e&1){d=H[g>>2]&(d^-1)}else{d=d|H[g>>2]}h=e^1;H[g>>2]=d;i=i+1|0;if((f|0)!=(i|0)){continue}break}c=H[b+8>>2];e=H[b+12>>2];g=e;e=H[b+20>>2];h=e;f=H[b+16>>2];d=f+4|0;e=d>>>0<4?e+1|0:e;i=d;if(d>>>0>c>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break c}l=H[b>>2];d=l+f|0;k=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=i;H[b+20>>2]=e;d=c;c=h;e=f+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=i+l|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;if((d|0)<(k|0)){break c}H[a+16>>2]=d;H[a+12>>2]=k;c=(d>>31)-((k>>31)+(d>>>0>>0)|0)|0;b=d-k|0;if(!c&b>>>0>2147483646|c){break c}m=1;c=b+1|0;H[a+20>>2]=c;b=c>>>1|0;H[a+24>>2]=b;H[a+28>>2]=0-b;if(c&1){break c}H[a+24>>2]=b-1}}ca=j+32|0;return m|0}function lj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=ca-32|0;ca=j;H[j+28>>2]=0;a:{b:{if(J[b+38>>1]<=513){c=H[b+20>>2];d=H[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;h=H[b+12>>2];if(K[b+8>>2]>>0&(h|0)<=(c|0)|(c|0)>(h|0)){break a}d=d+H[b>>2]|0;f=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;break b}if(!Xa(1,j+28|0,b)){break a}f=H[j+28>>2]}if(!f){break a}c=H[a+48>>2];if(H[c+4>>2]-H[c>>2]>>2>>>0>>0){break a}Wa(a+76|0,f);c=j+8|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;c:{if(!ta(c,b)){break c}h=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^h;if(e&1){d=H[g>>2]&(d^-1)}else{d=d|H[g>>2]}h=e^1;H[g>>2]=d;i=i+1|0;if((f|0)!=(i|0)){continue}break}c=H[b+8>>2];e=H[b+12>>2];g=e;e=H[b+20>>2];h=e;f=H[b+16>>2];d=f+4|0;e=d>>>0<4?e+1|0:e;i=d;if(d>>>0>c>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break c}l=H[b>>2];d=l+f|0;k=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=i;H[b+20>>2]=e;d=c;c=h;e=f+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=i+l|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;if((d|0)<(k|0)){break c}H[a+16>>2]=d;H[a+12>>2]=k;c=(d>>31)-((k>>31)+(d>>>0>>0)|0)|0;b=d-k|0;if(!c&b>>>0>2147483646|c){break c}m=1;c=b+1|0;H[a+20>>2]=c;b=c>>>1|0;H[a+24>>2]=b;H[a+28>>2]=0-b;if(c&1){break c}H[a+24>>2]=b-1}}ca=j+32|0;return m|0}function cj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;H[a+8>>2]=e;m=a+32|0;h=H[m>>2];g=H[a+36>>2]-h>>2;a:{if(g>>>0>>0){ya(m,e-g|0);f=H[a+8>>2];break a}f=e;if(f>>>0>=g>>>0){break a}H[a+36>>2]=h+(e<<2);f=e}g=e>>>0>1073741823?-1:e<<2;n=ra(pa(g),0,g);b:{if((f|0)<=0){break b}h=H[a+32>>2];while(1){f=i<<2;g=H[f+n>>2];j=H[a+16>>2];c:{if((g|0)>(j|0)){H[f+h>>2]=j;break c}f=f+h|0;j=H[a+12>>2];if((j|0)>(g|0)){H[f>>2]=j;break c}H[f>>2]=g}f=H[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}if((f|0)<=0){break b}i=0;while(1){g=i<<2;f=g+c|0;g=H[b+g>>2]+H[g+h>>2]|0;H[f>>2]=g;d:{if((g|0)>H[a+16>>2]){g=g-H[a+20>>2]|0}else{if((g|0)>=H[a+12>>2]){break d}g=g+H[a+20>>2]|0}H[f>>2]=g}f=H[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}if(!((d|0)<=(e|0)|(f|0)<=0)){p=0-e<<2;g=e;while(1){e:{if((f|0)<=0){break e}l=g<<2;o=l+c|0;q=o+p|0;j=H[m>>2];i=0;while(1){f=i<<2;h=H[f+q>>2];k=H[a+16>>2];f:{if((h|0)>(k|0)){H[f+j>>2]=k;break f}f=f+j|0;k=H[a+12>>2];if((k|0)>(h|0)){H[f>>2]=k;break f}H[f>>2]=h}f=H[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}i=0;if((f|0)<=0){break e}l=b+l|0;while(1){h=i<<2;f=h+o|0;h=H[h+l>>2]+H[h+j>>2]|0;H[f>>2]=h;g:{if((h|0)>H[a+16>>2]){h=h-H[a+20>>2]|0}else{if((h|0)>=H[a+12>>2]){break g}h=h+H[a+20>>2]|0}H[f>>2]=h}f=H[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}g=e+g|0;if((g|0)<(d|0)){continue}break}}oa(n);return 1}function De(a,b){var c=0,d=0,e=0,f=0,g=0;d=-1;f=-1;a:{if((b|0)==-1){break a}c=b+1|0;d=(c>>>0)%3|0?c:b-2|0;f=b-1|0;if((b>>>0)%3|0){break a}f=b+2|0}b:{c:{d:{e:{f:{g:{e=H[a+184>>2];switch(e|0){case 7:break d;case 3:break e;case 5:break f;case 0:case 1:break g;default:break b}}g=H[a+148>>2];c=-1;e=1;d=((d|0)!=-1?H[H[g>>2]+(d<<2)>>2]:c)<<2;c=H[a+156>>2];d=d+c|0;H[d>>2]=H[d>>2]+1;c=(((f|0)==-1?-1:H[H[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=H[a+148>>2];c=H[a+156>>2];e=c+(((b|0)==-1?-1:H[H[g>>2]+(b<<2)>>2])<<2)|0;H[e>>2]=H[e>>2]+1;d=(((d|0)==-1?-1:H[H[g>>2]+(d<<2)>>2])<<2)+c|0;H[d>>2]=H[d>>2]+1;e=2;c=(((f|0)==-1?-1:H[H[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=H[a+148>>2];c=H[a+156>>2];e=c+(((b|0)==-1?-1:H[H[g>>2]+(b<<2)>>2])<<2)|0;H[e>>2]=H[e>>2]+1;d=(((d|0)==-1?-1:H[H[g>>2]+(d<<2)>>2])<<2)+c|0;H[d>>2]=H[d>>2]+2;e=1;c=(((f|0)==-1?-1:H[H[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=H[a+148>>2];c=H[a+156>>2];e=c+(((b|0)==-1?-1:H[H[g>>2]+(b<<2)>>2])<<2)|0;H[e>>2]=H[e>>2]+2;d=(((d|0)==-1?-1:H[H[g>>2]+(d<<2)>>2])<<2)+c|0;H[d>>2]=H[d>>2]+2;e=2;c=(((f|0)==-1?-1:H[H[g>>2]+(f<<2)>>2])<<2)+c|0}H[c>>2]=H[c>>2]+e;e=H[a+184>>2]}h:{switch(e|0){case 0:case 5:f=H[a+156>>2];c=-1;i:{if((b|0)==-1){break i}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;c=-1;if((b|0)==-1){break i}c=H[H[H[a+148>>2]>>2]+(b<<2)>>2]}if(H[f+(c<<2)>>2]<=5){H[a+188>>2]=5;return}H[a+188>>2]=0;return;default:break h}}H[a+188>>2]=-1}function xg(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,l=0,m=0,n=0,o=0;j=H[b+80>>2];b=I[c+24|0];g=N(j,b);a:{if(!b){break a}h=b<<2;f=pa(h);a=f;k=b&7;if(k){while(1){H[a>>2]=-1073741824;a=a+4|0;e=e+1|0;if((k|0)!=(e|0)){continue}break}}if((b-1&1073741823)>>>0<7){break a}e=f+h|0;while(1){H[a+24>>2]=-1073741824;H[a+28>>2]=-1073741824;H[a+16>>2]=-1073741824;H[a+20>>2]=-1073741824;H[a+8>>2]=-1073741824;H[a+12>>2]=-1073741824;H[a>>2]=-1073741824;H[a+4>>2]=-1073741824;a=a+32|0;if((e|0)!=(a|0)){continue}break}}e=H[d>>2];a=H[d+4>>2]-e>>2;b:{if(a>>>0>>0){ya(d,g-a|0);break b}if(a>>>0<=g>>>0){break b}H[d+4>>2]=e+(g<<2)}c:{d:{e:{if(!j){i=1;break e}if(!b){a=0;while(1){if(!Va(c,I[c+84|0]?a:H[H[c+68>>2]+(a<<2)>>2],F[c+24|0],f)){break e}a=a+1|0;i=j>>>0<=a>>>0;if((a|0)!=(j|0)){continue}break}break e}n=b&252;k=b&3;o=b>>>0<4;e=0;b=0;while(1){if(!Va(c,I[c+84|0]?b:H[H[c+68>>2]+(b<<2)>>2],F[c+24|0],f)){break e}m=H[d>>2];i=0;a=0;l=0;if(!o){while(1){g=(e<<2)+m|0;h=a<<2;L[g>>2]=L[h+f>>2];L[g+4>>2]=L[(h|4)+f>>2];L[g+8>>2]=L[(h|8)+f>>2];L[g+12>>2]=L[(h|12)+f>>2];a=a+4|0;e=e+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(k){while(1){L[(e<<2)+m>>2]=L[(a<<2)+f>>2];a=a+1|0;e=e+1|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}}b=b+1|0;i=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break d}if(!f){break c}}oa(f)}return i|0}function mf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=ca-16|0;ca=e;h=1;i=ea[H[H[a>>2]+24>>2]](a)|0;a:{if((i|0)<=0){break a}l=a+48|0;h=0;while(1){b:{c:{if(!H[(ea[H[H[a>>2]+28>>2]](a)|0)+40>>2]){break c}j=f<<2;g=H[j+H[a+36>>2]>>2];b=H[g+8>>2];k=rb(g);if(!k){break c}g=H[(ea[H[H[a>>2]+28>>2]](a)|0)+40>>2];H[e+12>>2]=H[b+56>>2];b=pa(32);H[e>>2]=b;H[e+4>>2]=24;H[e+8>>2]=-2147483616;c=I[1206]|I[1207]<<8|(I[1208]<<16|I[1209]<<24);d=I[1202]|I[1203]<<8|(I[1204]<<16|I[1205]<<24);F[b+16|0]=d;F[b+17|0]=d>>>8;F[b+18|0]=d>>>16;F[b+19|0]=d>>>24;F[b+20|0]=c;F[b+21|0]=c>>>8;F[b+22|0]=c>>>16;F[b+23|0]=c>>>24;c=I[1198]|I[1199]<<8|(I[1200]<<16|I[1201]<<24);d=I[1194]|I[1195]<<8|(I[1196]<<16|I[1197]<<24);F[b+8|0]=d;F[b+9|0]=d>>>8;F[b+10|0]=d>>>16;F[b+11|0]=d>>>24;F[b+12|0]=c;F[b+13|0]=c>>>8;F[b+14|0]=c>>>16;F[b+15|0]=c>>>24;c=I[1190]|I[1191]<<8|(I[1192]<<16|I[1193]<<24);d=I[1186]|I[1187]<<8|(I[1188]<<16|I[1189]<<24);F[b|0]=d;F[b+1|0]=d>>>8;F[b+2|0]=d>>>16;F[b+3|0]=d>>>24;F[b+4|0]=c;F[b+5|0]=c>>>8;F[b+6|0]=c>>>16;F[b+7|0]=c>>>24;F[b+24|0]=0;b=sd(g,e+12|0,e);if(F[e+11|0]<0){oa(H[e>>2])}if(!b){break c}oe(H[H[H[a+36>>2]+j>>2]+8>>2],k);break b}b=H[H[a+36>>2]+(f<<2)>>2];if(!(ea[H[H[b>>2]+24>>2]](b,l)|0)){break a}}f=f+1|0;h=(i|0)<=(f|0);if((f|0)!=(i|0)){continue}break}}ca=e+16|0;return h|0}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=ca-16|0;ca=k;c=H[b+20>>2];d=H[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=H[b+12>>2];a:{if(K[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){break a}d=d+H[b>>2]|0;h=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;if((h|0)<0){break a}Wa(a+76|0,h);c=k;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;b:{if(!ta(c,b)){break b}if(h){g=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^g;if(e&1){d=H[f>>2]&(d^-1)}else{d=d|H[f>>2]}g=e^1;H[f>>2]=d;i=i+1|0;if((h|0)!=(i|0)){continue}break}}i=0;c=H[b+8>>2];e=H[b+12>>2];f=e;e=H[b+20>>2];g=e;l=H[b+16>>2];d=l+4|0;e=d>>>0<4?e+1|0:e;h=d;if(d>>>0>c>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break b}m=H[b>>2];d=m+l|0;j=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=h;H[b+20>>2]=e;d=c;c=g;e=l+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break b}d=h+m|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;if((d|0)<(j|0)){break b}H[a+16>>2]=d;H[a+12>>2]=j;c=(d>>31)-((j>>31)+(d>>>0>>0)|0)|0;b=d-j|0;if(!c&b>>>0>2147483646|c){break b}i=1;c=b+1|0;H[a+20>>2]=c;b=c>>>1|0;H[a+24>>2]=b;H[a+28>>2]=0-b;if(c&1){break b}H[a+24>>2]=b-1}}ca=k+16|0;return i|0}function rg(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,l=0,m=0,n=0,o=0,p=0;a=0;k=ca-16|0;ca=k;j=H[b+80>>2];e=I[c+24|0];b=N(j,e);a:{b:{c:{d:{f=H[c+28>>2];if(!(!I[c+84|0]|(f|0)!=5&(f|0)!=6)){e=H[c+48>>2];c=H[H[c>>2]>>2];H[k+8>>2]=0;H[k>>2]=0;H[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=pa(b);g=qa(a,c+e|0,b)+b|0}b=H[d>>2];if(b){H[d+4>>2]=b;oa(b)}H[d+8>>2]=g;H[d+4>>2]=g;H[d>>2]=a;h=1;break a}if(e){f=e<<2;a=pa(f);ra(a,0,f)}i=H[d>>2];f=H[d+4>>2]-i>>2;e:{if(f>>>0>>0){ya(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}H[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!dc(c,I[c+84|0]?b:H[H[c+68>>2]+(b<<2)>>2],F[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!dc(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],a)){break c}n=H[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;H[f>>2]=H[i+a>>2];H[f+4>>2]=H[(i|4)+a>>2];H[f+8>>2]=H[(i|8)+a>>2];H[f+12>>2]=H[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){H[(g<<2)+n>>2]=H[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}sa();v()}if(!a){break a}}oa(a)}ca=k+16|0;return h|0}function ge(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,l=0,m=0,n=0,o=0,p=0;a=0;k=ca-16|0;ca=k;j=H[b+80>>2];e=I[c+24|0];b=N(j,e);a:{b:{c:{d:{f=H[c+28>>2];if(!(!I[c+84|0]|(f|0)!=5&(f|0)!=6)){e=H[c+48>>2];c=H[H[c>>2]>>2];H[k+8>>2]=0;H[k>>2]=0;H[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=pa(b);g=qa(a,c+e|0,b)+b|0}b=H[d>>2];if(b){H[d+4>>2]=b;oa(b)}H[d+8>>2]=g;H[d+4>>2]=g;H[d>>2]=a;h=1;break a}if(e){f=e<<2;a=pa(f);ra(a,0,f)}i=H[d>>2];f=H[d+4>>2]-i>>2;e:{if(f>>>0>>0){ya(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}H[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!ec(c,I[c+84|0]?b:H[H[c+68>>2]+(b<<2)>>2],F[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!ec(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],a)){break c}n=H[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;H[f>>2]=H[i+a>>2];H[f+4>>2]=H[(i|4)+a>>2];H[f+8>>2]=H[(i|8)+a>>2];H[f+12>>2]=H[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){H[(g<<2)+n>>2]=H[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}sa();v()}if(!a){break a}}oa(a)}ca=k+16|0;return h|0}function tg(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,l=0,m=0,n=0,o=0,p=0;a=0;k=ca-16|0;ca=k;j=H[b+80>>2];e=I[c+24|0];b=N(j,e);a:{b:{c:{d:{f=H[c+28>>2];if(!(!I[c+84|0]|(f|0)!=3&(f|0)!=4)){e=H[c+48>>2];c=H[H[c>>2]>>2];H[k+8>>2]=0;H[k>>2]=0;H[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=pa(b);g=qa(a,c+e|0,b)+b|0}b=H[d>>2];if(b){H[d+4>>2]=b;oa(b)}H[d+8>>2]=g;H[d+4>>2]=g;H[d>>2]=a;h=1;break a}if(e){f=e<<1;a=pa(f);ra(a,0,f)}i=H[d>>2];f=H[d+4>>2]-i>>1;e:{if(f>>>0>>0){qe(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}H[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!gc(c,I[c+84|0]?b:H[H[c+68>>2]+(b<<2)>>2],F[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!gc(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],a)){break c}n=H[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;G[f>>1]=J[i+a>>1];G[f+2>>1]=J[(i|2)+a>>1];G[f+4>>1]=J[(i|4)+a>>1];G[f+6>>1]=J[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){G[(g<<1)+n>>1]=J[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}sa();v()}if(!a){break a}}oa(a)}ca=k+16|0;return h|0}function sg(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,l=0,m=0,n=0,o=0,p=0;a=0;k=ca-16|0;ca=k;j=H[b+80>>2];e=I[c+24|0];b=N(j,e);a:{b:{c:{d:{f=H[c+28>>2];if(!(!I[c+84|0]|(f|0)!=3&(f|0)!=4)){e=H[c+48>>2];c=H[H[c>>2]>>2];H[k+8>>2]=0;H[k>>2]=0;H[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=pa(b);g=qa(a,c+e|0,b)+b|0}b=H[d>>2];if(b){H[d+4>>2]=b;oa(b)}H[d+8>>2]=g;H[d+4>>2]=g;H[d>>2]=a;h=1;break a}if(e){f=e<<1;a=pa(f);ra(a,0,f)}i=H[d>>2];f=H[d+4>>2]-i>>1;e:{if(f>>>0>>0){qe(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}H[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!fc(c,I[c+84|0]?b:H[H[c+68>>2]+(b<<2)>>2],F[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!fc(c,I[c+84|0]?e:H[H[c+68>>2]+(e<<2)>>2],F[c+24|0],a)){break c}n=H[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;G[f>>1]=J[i+a>>1];G[f+2>>1]=J[(i|2)+a>>1];G[f+4>>1]=J[(i|4)+a>>1];G[f+6>>1]=J[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){G[(g<<1)+n>>1]=J[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}sa();v()}if(!a){break a}}oa(a)}ca=k+16|0;return h|0}function Ce(a,b){var c=0,d=0,e=0,f=0,g=0;f=-1;d=-1;a:{if((b|0)==-1){break a}d=b+1|0;f=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}b:{c:{d:{switch(H[a+168>>2]){case 0:case 1:e=H[a+148>>2];c=1;b=H[a+156>>2];g=b+(((f|0)==-1?-1:H[H[e>>2]+(f<<2)>>2])<<2)|0;H[g>>2]=H[g>>2]+1;b=(((d|0)==-1?-1:H[H[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 5:e=H[a+148>>2];c=-1;c=((b|0)!=-1?H[H[e>>2]+(b<<2)>>2]:c)<<2;b=H[a+156>>2];c=c+b|0;H[c>>2]=H[c>>2]+1;c=(((f|0)==-1?-1:H[H[e>>2]+(f<<2)>>2])<<2)+b|0;H[c>>2]=H[c>>2]+1;c=2;b=(((d|0)==-1?-1:H[H[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 3:e=H[a+148>>2];c=-1;c=((b|0)!=-1?H[H[e>>2]+(b<<2)>>2]:c)<<2;b=H[a+156>>2];c=c+b|0;H[c>>2]=H[c>>2]+1;c=(((f|0)==-1?-1:H[H[e>>2]+(f<<2)>>2])<<2)+b|0;H[c>>2]=H[c>>2]+2;c=1;b=(((d|0)==-1?-1:H[H[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 7:break d;default:break b}}e=H[a+148>>2];c=-1;c=((b|0)!=-1?H[H[e>>2]+(b<<2)>>2]:c)<<2;b=H[a+156>>2];c=c+b|0;H[c>>2]=H[c>>2]+2;c=(((f|0)==-1?-1:H[H[e>>2]+(f<<2)>>2])<<2)+b|0;H[c>>2]=H[c>>2]+2;c=2;b=(((d|0)==-1?-1:H[H[e>>2]+(d<<2)>>2])<<2)+b|0}H[b>>2]=H[b>>2]+c}c=a;b=H[H[a+156>>2]+(((f|0)==-1?-1:H[H[H[a+148>>2]>>2]+(f<<2)>>2])<<2)>>2];d=H[a+180>>2];a=H[a+176>>2];H[c+172>>2]=(a|0)<=(b|0)?((b|0)<(d|0)?b:d)-a|0:0}function Ac(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;H[a+24>>2]=0;f=H[b+4>>2];g=H[b>>2];e=f-g|0;c=(e|0)/20|0;a:{if((f|0)==(g|0)){break a}b:{if(c>>>0<214748365){f=pa(e);H[a+20>>2]=f;H[a+16>>2]=f;H[a+24>>2]=f+N(c,20);c=H[b>>2];g=H[b+4>>2];if((c|0)==(g|0)){break a}b=f;while(1){e=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=e;H[b+16>>2]=H[c+16>>2];e=H[c+12>>2];H[b+8>>2]=H[c+8>>2];H[b+12>>2]=e;b=b+20|0;c=c+20|0;if((g|0)!=(c|0)){continue}break}g=0;H[a+28>>2]=0;H[a+20>>2]=b;if((b|0)!=(f|0)){b=(b-f|0)/20|0;e=b>>>0<=1?1:b;h=e&3;b=0;c=0;if(e-1>>>0>=3){i=e&-4;e=0;while(1){d=f+N(b,20)|0;d=N(H[d+16>>2],H[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+N(b|1,20)|0;d=N(H[d+16>>2],H[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+N(b|2,20)|0;d=N(H[d+16>>2],H[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+N(b|3,20)|0;d=N(H[d+16>>2],H[d+12>>2]);c=c>>>0>d>>>0?c:d;b=b+4|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}if(h){while(1){e=f+N(b,20)|0;e=N(H[e+16>>2],H[e+12>>2]);c=c>>>0>e>>>0?c:e;b=b+1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}if(!c){H[a+12>>2]=0;return a}if((c|0)<0){break b}g=pa(c);b=ra(g,0,c);f=b+c|0;H[a+8>>2]=f;H[a+4>>2]=f;H[a>>2]=b}H[a+12>>2]=g;return a}sa();v()}sa();v()}H[a+28>>2]=0;H[a+12>>2]=0;return a}function Dh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b=H[a+32>>2];f=H[b+8>>2];h=H[b+12>>2];g=H[b+20>>2];c=H[b+16>>2];e=0;b:{if((h|0)<=(g|0)&c>>>0>=f>>>0|(g|0)>(h|0)){break b}f=I[H[b>>2]+c|0];e=b;b=g;c=c+1|0;b=c?b:b+1|0;H[e+16>>2]=c;H[e+20>>2]=b;c:{if(!f){break c}while(1){if(ea[H[H[a>>2]+16>>2]](a,d)|0){d=d+1|0;if((f|0)!=(d|0)){continue}break c}break}return 0}d=H[a+8>>2];b=H[a+12>>2];if((d|0)!=(b|0)){while(1){c=H[d>>2];if(!(ea[H[H[c>>2]+8>>2]](c,a,H[a+4>>2])|0)){break a}d=d+4|0;if((b|0)!=(d|0)){continue}break}}d:{if(!f){break d}d=0;while(1){b=H[H[a+8>>2]+(d<<2)>>2];if(!(ea[H[H[b>>2]+12>>2]](b,H[a+32>>2])|0)){break a}d=d+1|0;if((f|0)!=(d|0)){continue}break}if(!f){break d}i=a+20|0;b=0;while(1){d=0;j=b<<2;c=H[j+H[a+8>>2]>>2];k=ea[H[H[c>>2]+24>>2]](c)|0;if((k|0)>0){while(1){c=H[H[a+8>>2]+j>>2];c=ea[H[H[c>>2]+20>>2]](c,d)|0;e=H[a+20>>2];g=H[a+24>>2]-e>>2;e:{if(c>>>0>>0){break e}h=c+1|0;if(h>>>0>g>>>0){ya(i,h-g|0);e=H[i>>2];break e}if(g>>>0<=h>>>0){break e}H[a+24>>2]=(h<<2)+e}H[(c<<2)+e>>2]=b;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}}e=0;if(!(ea[H[H[a>>2]+28>>2]](a)|0)){break b}e=ea[H[H[a>>2]+32>>2]](a)|0}return e|0}return 0}function ta(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=ca-16|0;ca=i;f=H[b+20>>2];d=H[b+12>>2];c=H[b+16>>2];a:{if((f|0)>=(d|0)&c>>>0>=K[b+8>>2]|(d|0)<(f|0)){break a}F[a+12|0]=I[c+H[b>>2]|0];c=H[b+20>>2];g=c;f=H[b+16>>2];e=f+1|0;c=e?c:c+1|0;H[b+16>>2]=e;H[b+20>>2]=c;b:{if(J[b+38>>1]<=513){d=H[b+8>>2];c=H[b+12>>2];h=c;c=g;f=f+5|0;c=f>>>0<5?c+1|0:c;if(d>>>0>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}e=e+H[b>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=c;break b}if(!Qe(1,i+12|0,b)){break a}f=H[b+16>>2];c=H[b+20>>2];d=H[b+8>>2];h=H[b+12>>2];e=H[i+12>>2]}g=d-f|0;d=h-(c+(d>>>0>>0)|0)|0;if((d|0)<=0&e>>>0>g>>>0|(d|0)<0|(e|0)<=0){break a}j=H[b>>2]+f|0;H[a>>2]=j;c:{d:{h=e-1|0;g=h+j|0;d=I[g|0];e:{if(d>>>0<=63){H[a+4>>2]=h;g=I[g|0]&63;break e}f:{switch((d>>>6|0)-1|0){case 1:break d;case 0:break f;default:break a}}if(e>>>0<2){break a}d=e-2|0;H[a+4>>2]=d;d=d+j|0;g=I[d+1|0]<<8&16128|I[d|0]}H[a+8>>2]=g+4096;break c}if(e>>>0<3){break a}d=e-3|0;H[a+4>>2]=d;g=a;a=d+j|0;a=I[a+1|0]<<8|I[a+2|0]<<16&4128768|I[a|0];H[g+8>>2]=a+4096;if(a>>>0>1044479){break a}}a=e+f|0;c=a>>>0>>0?c+1|0:c;H[b+16>>2]=a;H[b+20>>2]=c;k=1}ca=i+16|0;return k}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Xd(a,b,c);c=H[a+84>>2];d=H[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=H[a+92>>2];c=H[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;e=d&7;if(e){while(1){H[b>>2]=1;b=b+4|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){H[b+24>>2]=1;H[b+28>>2]=1;H[b+16>>2]=1;H[b+20>>2]=1;H[b+8>>2]=1;H[b+12>>2]=1;H[b>>2]=1;H[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}H[a+88>>2]=c;break b}d:{b=c;c=H[a+84>>2];i=b-c|0;g=i>>2;b=g+d|0;if(b>>>0<1073741824){e=e-c|0;h=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>>0?h:b;if(e){if(e>>>0>=1073741824){break d}j=pa(e<<2)}g=(g<<2)+j|0;b=g;h=d&7;if(h){while(1){H[b>>2]=1;b=b+4|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=g+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){H[b+24>>2]=1;H[b+28>>2]=1;H[b+16>>2]=1;H[b+20>>2]=1;H[b+8>>2]=1;H[b+12>>2]=1;H[b>>2]=1;H[b+4>>2]=1;b=b+32|0;if((f|0)!=(b|0)){continue}break}}b=va(j,c,i);H[a+88>>2]=f;H[a+84>>2]=b;H[a+92>>2]=b+(e<<2);if(c){oa(c)}break b}sa();v()}wa();v()}return}if(b>>>0>=d>>>0){break a}H[a+88>>2]=c+(b<<2)}}function qb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=H[a+8>>2];e=H[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){H[d>>2]=H[c>>2];d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){H[d>>2]=H[c>>2];H[d+4>>2]=H[c>>2];H[d+8>>2]=H[c>>2];H[d+12>>2]=H[c>>2];H[d+16>>2]=H[c>>2];H[d+20>>2]=H[c>>2];H[d+24>>2]=H[c>>2];H[d+28>>2]=H[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}H[a+4>>2]=e;return}b:{i=H[a>>2];f=e-i>>2;h=f+b|0;if(h>>>0<1073741824){j=d-i|0;d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break b}k=pa(h<<2)}f=(f<<2)+k|0;d=f;j=b&7;if(j){while(1){H[d>>2]=H[c>>2];d=d+4|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}g=(b<<2)+f|0;if((b-1&1073741823)>>>0>=7){while(1){H[d>>2]=H[c>>2];H[d+4>>2]=H[c>>2];H[d+8>>2]=H[c>>2];H[d+12>>2]=H[c>>2];H[d+16>>2]=H[c>>2];H[d+20>>2]=H[c>>2];H[d+24>>2]=H[c>>2];H[d+28>>2]=H[c>>2];d=d+32|0;if((g|0)!=(d|0)){continue}break}}if((e|0)!=(i|0)){while(1){f=f-4|0;e=e-4|0;H[f>>2]=H[e>>2];if((e|0)!=(i|0)){continue}break}}H[a+8>>2]=(h<<2)+k;H[a+4>>2]=g;H[a>>2]=f;if(i){oa(i)}return}sa();v()}wa();v()}function Kc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=H[a+8>>2];e=H[a>>2];if(d-e>>2>>>0>=b>>>0){f=H[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){H[d>>2]=H[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){H[d>>2]=H[c>>2];H[d+4>>2]=H[c>>2];H[d+8>>2]=H[c>>2];H[d+12>>2]=H[c>>2];H[d+16>>2]=H[c>>2];H[d+20>>2]=H[c>>2];H[d+24>>2]=H[c>>2];H[d+28>>2]=H[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){H[f>>2]=H[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}H[a+4>>2]=b;return}H[a+4>>2]=e+(b<<2);return}if(e){H[a+4>>2]=e;oa(e);H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=pa(d);H[a>>2]=e;H[a+8>>2]=d+e;c=H[c>>2];d=e;g=b&7;if(g){while(1){H[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){H[d+28>>2]=c;H[d+24>>2]=c;H[d+20>>2]=c;H[d+16>>2]=c;H[d+12>>2]=c;H[d+8>>2]=c;H[d+4>>2]=c;H[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}H[a+4>>2]=e;return}sa();v()}function Me(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=ca-16|0;ca=h;a:{b:{if(J[b+38>>1]<=511){e=H[b+8>>2];c=H[b+12>>2];i=c;f=H[b+20>>2];d=H[b+16>>2];g=d+8|0;f=g>>>0<8?f+1|0:f;if(e>>>0>>0&(c|0)<=(f|0)|(c|0)<(f|0)){break a}d=d+H[b>>2]|0;c=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=I[d+4|0]|I[d+5|0]<<8|(I[d+6|0]<<16|I[d+7|0]<<24);H[b+16>>2]=g;H[b+20>>2]=f;break b}if(!gb(1,h+8|0,b)){break a}g=H[b+16>>2];f=H[b+20>>2];e=H[b+8>>2];i=H[b+12>>2];c=H[h+8>>2];d=H[h+12>>2]}j=e-g|0;e=i-(f+(e>>>0>>0)|0)|0;if((e|0)==(d|0)&c>>>0>j>>>0|d>>>0>e>>>0){break a}e=d+f|0;f=c+g|0;e=f>>>0>>0?e+1|0:e;H[b+16>>2]=f;H[b+20>>2]=e;if((c|0)<=0){break a}b=H[b>>2]+g|0;H[a+40>>2]=b;g=c-1|0;e=b+g|0;f=I[e|0];c:{if(f>>>0<=63){H[a+44>>2]=g;b=I[e|0]&63;break c}d:{switch((f>>>6|0)-1|0){case 0:if(c>>>0<2){break a}c=c-2|0;H[a+44>>2]=c;b=b+c|0;b=I[b+1|0]<<8&16128|I[b|0];break c;case 1:if(c>>>0<3){break a}c=c-3|0;H[a+44>>2]=c;b=b+c|0;b=I[b+1|0]<<8|I[b+2|0]<<16&4128768|I[b|0];break c;default:break d}}c=c-4|0;H[a+44>>2]=c;b=b+c|0;b=(I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24))&1073741823}H[a+48>>2]=b+16384;k=b>>>0<4177920}ca=h+16|0;return k}function Ua(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=(c>>>0)/3|0;j=H[(H[H[a+8>>2]+96>>2]+N(f,12)|0)+(c-N(f,3)<<2)>>2];a:{h=H[H[a+12>>2]+4>>2];e=H[h+4>>2];if((e|0)!=H[h+8>>2]){H[e>>2]=j;H[h+4>>2]=e+4;break a}b:{i=H[h>>2];f=e-i|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){k=g<<2;g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break b}f=pa(g<<2)}else{f=0}d=k+f|0;H[d>>2]=j;j=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;H[d>>2]=H[e>>2];if((e|0)!=(i|0)){continue}break}}H[h+8>>2]=f+(g<<2);H[h+4>>2]=j;H[h>>2]=d;if(i){oa(i)}break a}sa();v()}wa();v()}c:{d:{h=H[a+4>>2];e=H[h+4>>2];e:{if((e|0)!=H[h+8>>2]){H[e>>2]=c;H[h+4>>2]=e+4;break e}i=H[h>>2];f=e-i|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break d}g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break c}f=pa(g<<2)}else{f=0}d=f+(j<<2)|0;H[d>>2]=c;c=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;H[d>>2]=H[e>>2];if((e|0)!=(i|0)){continue}break}}H[h+8>>2]=f+(g<<2);H[h+4>>2]=c;H[h>>2]=d;if(!i){break e}oa(i)}a=H[a+4>>2];H[H[a+12>>2]+(b<<2)>>2]=H[a+24>>2];H[a+24>>2]=H[a+24>>2]+1;return}sa();v()}wa();v()}function Wb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=d-c|0;if((h|0)<=0){return}a:{e=H[a+8>>2];i=H[a+4>>2];if((e-i|0)>=(h|0)){j=i-b|0;if((j|0)>=(h|0)){f=i;g=d;break a}f=i;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){F[f|0]=I[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}H[a+4>>2]=f;if((j|0)>0){break a}return}k=H[a>>2];g=(i-k|0)+h|0;if((g|0)>=0){j=b-k|0;f=e-k|0;e=f<<1;f=f>>>0>=1073741823?2147483647:e>>>0>g>>>0?e:g;if(f){e=pa(f)}else{e=0}g=j+e|0;if((c|0)!=(d|0)){g=qa(g,c,h)+h|0}d=va(e,k,j);c=i-b|0;b=va(g,b,c);H[a+8>>2]=e+f;H[a+4>>2]=b+c;H[a>>2]=d;if(k){oa(k)}return}sa();v()}e=f;d=e-h|0;if(i>>>0>d>>>0){while(1){F[e|0]=I[d|0];e=e+1|0;d=d+1|0;if(i>>>0>d>>>0){continue}break}}H[a+4>>2]=e;a=b+h|0;if((a|0)!=(f|0)){a=f-a|0;va(f-a|0,b,a)}if((c|0)==(g|0)){return}f=(c^-1)+g|0;a=g-c&7;b:{if(!a){e=b;break b}d=0;e=b;while(1){F[e|0]=I[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((a|0)!=(d|0)){continue}break}}if(f>>>0<7){return}while(1){F[e|0]=I[c|0];F[e+1|0]=I[c+1|0];F[e+2|0]=I[c+2|0];F[e+3|0]=I[c+3|0];F[e+4|0]=I[c+4|0];F[e+5|0]=I[c+5|0];F[e+6|0]=I[c+6|0];F[e+7|0]=I[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function qa(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){ba(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){F[c|0]=I[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){H[c>>2]=H[b>>2];H[c+4>>2]=H[b+4>>2];H[c+8>>2]=H[b+8>>2];H[c+12>>2]=H[b+12>>2];H[c+16>>2]=H[b+16>>2];H[c+20>>2]=H[b+20>>2];H[c+24>>2]=H[b+24>>2];H[c+28>>2]=H[b+28>>2];H[c+32>>2]=H[b+32>>2];H[c+36>>2]=H[b+36>>2];H[c+40>>2]=H[b+40>>2];H[c+44>>2]=H[b+44>>2];H[c+48>>2]=H[b+48>>2];H[c+52>>2]=H[b+52>>2];H[c+56>>2]=H[b+56>>2];H[c+60>>2]=H[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){H[c>>2]=H[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){F[c|0]=I[b|0];F[c+1|0]=I[b+1|0];F[c+2|0]=I[b+2|0];F[c+3|0]=I[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){F[c|0]=I[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function ub(a,b){var c=0,d=0,e=0,f=0,g=0;d=ca-16|0;ca=d;H[a+12>>2]=b;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;c=a+16|0;H[c>>2]=0;H[c+4>>2]=0;F[c+5|0]=0;F[c+6|0]=0;F[c+7|0]=0;F[c+8|0]=0;F[c+9|0]=0;F[c+10|0]=0;F[c+11|0]=0;F[c+12|0]=0;H[a+32>>2]=0;H[a+36>>2]=0;H[a+48>>2]=0;H[a+40>>2]=0;H[a+44>>2]=0;H[a+52>>2]=0;H[a+56>>2]=0;H[a+68>>2]=0;H[a+60>>2]=0;H[a+64>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;H[a+88>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+100>>2]=0;H[a+92>>2]=0;H[a+96>>2]=0;g=a+116|0;a:{b:{if(b){if(b>>>0<1073741824){break b}sa();v()}H[a+104>>2]=0;H[a+108>>2]=0;H[a+112>>2]=0;H[d+8>>2]=0;H[d>>2]=0;H[d+4>>2]=0;c=1;break a}c=b<<2;e=pa(c);H[a+92>>2]=e;f=c+e|0;H[a+100>>2]=f;ra(e,0,c);H[a+112>>2]=0;H[a+104>>2]=0;H[a+108>>2]=0;H[a+96>>2]=f;e=pa(c);H[a+104>>2]=e;f=c+e|0;H[a+112>>2]=f;ra(e,0,c);H[a+108>>2]=f;e=pa(c);H[d>>2]=e;f=c+e|0;H[d+8>>2]=f;ra(e,0,c);H[d+4>>2]=f;c=b<<5|1}tb(g,c,d);e=H[d>>2];if(e){H[d+4>>2]=e;oa(e)}H[d+8>>2]=0;H[d>>2]=0;H[d+4>>2]=0;if(b){b=b<<2;e=pa(b);H[d>>2]=e;f=b+e|0;H[d+8>>2]=f;ra(e,0,b);H[d+4>>2]=f}tb(a+128|0,c,d);b=H[d>>2];if(b){H[d+4>>2]=b;oa(b)}ca=d+16|0;return a}function ze(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;H[a>>2]=11484;d=a+232|0;b=H[d+196>>2];if(b){H[d+200>>2]=b;oa(b)}c=H[d+184>>2];if(c){b=c;e=H[d+188>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=H[b>>2];if(f){H[e-8>>2]=f;oa(f)}e=b;if((b|0)!=(c|0)){continue}break}b=H[d+184>>2]}H[d+188>>2]=c;oa(b)}b=H[d+156>>2];if(b){H[d+160>>2]=b;oa(b)}c=H[d+136>>2];H[d+136>>2]=0;if(c){e=c-4|0;b=H[e>>2];if(b){b=c+(b<<4)|0;while(1){b=b-16|0;if((c|0)!=(b|0)){continue}break}}oa(e)}Yc(a+216|0);b=H[a+196>>2];if(b){H[a+200>>2]=b;oa(b)}b=H[a+184>>2];if(b){H[a+188>>2]=b;oa(b)}b=H[a+172>>2];if(b){H[a+176>>2]=b;oa(b)}b=H[a+160>>2];if(b){H[a+164>>2]=b;oa(b)}b=H[a+144>>2];if(b){while(1){c=H[b>>2];oa(b);b=c;if(b){continue}break}}b=H[a+136>>2];H[a+136>>2]=0;if(b){oa(b)}b=H[a+120>>2];if(b){oa(b)}b=H[a+108>>2];if(b){oa(b)}b=H[a+96>>2];if(b){oa(b)}b=H[a+72>>2];if(b){H[a+76>>2]=b;oa(b)}b=H[a+60>>2];if(b){oa(b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}b=H[a+36>>2];if(b){H[a+40>>2]=b;oa(b)}b=H[a+24>>2];if(b){H[a+28>>2]=b;oa(b)}b=H[a+12>>2];if(b){H[a+16>>2]=b;oa(b)}b=H[a+8>>2];H[a+8>>2]=0;if(b){cb(b)}return a|0}function Pa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=H[a+8>>2];e=H[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;f=b&7;if(f){while(1){H[d>>2]=H[c>>2];d=d+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){H[d>>2]=H[c>>2];H[d+4>>2]=H[c>>2];H[d+8>>2]=H[c>>2];H[d+12>>2]=H[c>>2];H[d+16>>2]=H[c>>2];H[d+20>>2]=H[c>>2];H[d+24>>2]=H[c>>2];H[d+28>>2]=H[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}H[a+4>>2]=e;return}b:{i=H[a>>2];j=e-i|0;f=j>>2;g=f+b|0;if(g>>>0<1073741824){d=d-i|0;e=d>>>1|0;g=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break b}k=pa(g<<2)}f=(f<<2)+k|0;d=f;e=b&7;if(e){while(1){H[d>>2]=H[c>>2];d=d+4|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}e=f+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){H[d>>2]=H[c>>2];H[d+4>>2]=H[c>>2];H[d+8>>2]=H[c>>2];H[d+12>>2]=H[c>>2];H[d+16>>2]=H[c>>2];H[d+20>>2]=H[c>>2];H[d+24>>2]=H[c>>2];H[d+28>>2]=H[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}b=va(k,i,j);H[a+4>>2]=e;H[a>>2]=b;H[a+8>>2]=b+(g<<2);if(i){oa(i)}return}sa();v()}wa();v()}function Cc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(I[a+11|0]>>>7|0){d=H[a+4>>2]}else{d=I[a+11|0]&127}if(d>>>0>>0){h=ca-16|0;ca=h;b=b-d|0;if(b){g=I[a+11|0]>>>7|0?(H[a+8>>2]&2147483647)-1|0:10;if(I[a+11|0]>>>7|0){d=H[a+4>>2]}else{d=I[a+11|0]&127}i=d+b|0;if(g-d>>>0>>0){a:{e=ca-16|0;ca=e;c=i-g|0;if(c>>>0<=2147483631-g>>>0){if(I[a+11|0]>>>7|0){f=H[a>>2]}else{f=a}if(g>>>0<1073741799){H[e+12>>2]=g<<1;H[e>>2]=c+g;c=ca-16|0;ca=c;ca=c+16|0;c=e+12|0;c=H[(K[e>>2]>2]?c:e)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}Zb(e,c);c=H[e>>2];if(d){yb(c,f,d)}if((g|0)!=10){oa(f)}H[a>>2]=c;H[a+8>>2]=H[a+8>>2]&-2147483648|H[e+4>>2]&2147483647;H[a+8>>2]=H[a+8>>2]|-2147483648;ca=e+16|0;break a}Na();v()}}f=d;if(I[a+11|0]>>>7|0){d=H[a>>2]}else{d=a}f=f+d|0;e=ca-16|0;ca=e;F[e+15|0]=0;while(1){if(b){F[f|0]=I[e+15|0];b=b-1|0;f=f+1|0;continue}break}ca=e+16|0;Id(a,i);F[h+15|0]=0;F[d+i|0]=I[h+15|0]}ca=h+16|0;return}if(I[a+11|0]>>>7|0){d=H[a>>2]}else{d=a}f=ca-16|0;ca=f;Id(a,b);F[f+15|0]=0;F[b+d|0]=I[f+15|0];ca=f+16|0}function Jc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=ca-16|0;ca=g;a:{b:{if(b){H[a+88>>2]=0;H[a+92>>2]=0;d=H[a+84>>2];H[a+84>>2]=0;if(d){oa(d)}H[a+76>>2]=0;H[a+80>>2]=0;d=H[a+72>>2];H[a+72>>2]=0;if(d){oa(d)}d=H[b>>2];c=H[b+4>>2];F[g+15|0]=0;Oa(a,c-d>>2,g+15|0);d=H[b+28>>2];c=H[b+24>>2];F[g+14|0]=0;Oa(a+12|0,d-c>>2,g+14|0);Kc(a+28|0,H[b+4>>2]-H[b>>2]>>2,13708);c=H[b+28>>2]-H[b+24>>2]|0;f=c>>2;e=H[a+52>>2];c:{if(f>>>0<=H[a+60>>2]-e>>2>>>0){break c}if((c|0)<0){break b}d=H[a+56>>2];c=pa(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;H[c>>2]=H[d>>2];if((d|0)!=(e|0)){continue}break}}H[a+60>>2]=f;H[a+56>>2]=h;H[a+52>>2]=c;if(!e){break c}oa(e)}c=H[b+28>>2]-H[b+24>>2]|0;f=c>>2;e=H[a+40>>2];d:{if(f>>>0<=H[a+48>>2]-e>>2>>>0){break d}if((c|0)<0){break a}d=H[a+44>>2];c=pa(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;H[c>>2]=H[d>>2];if((d|0)!=(e|0)){continue}break}}H[a+48>>2]=f;H[a+44>>2]=h;H[a+40>>2]=c;if(!e){break d}oa(e)}F[a+24|0]=1;H[a+64>>2]=b}ca=g+16|0;return}sa();v()}sa();v()}function wb(a,b){var c=0,d=0,e=0,f=0,g=0;c=ca-16|0;ca=c;H[a+12>>2]=b;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+32>>2]=0;H[a+24>>2]=0;H[a+28>>2]=0;H[a+36>>2]=0;H[a+40>>2]=0;H[a+52>>2]=0;H[a+44>>2]=0;H[a+48>>2]=0;H[a+56>>2]=0;H[a+60>>2]=0;H[a+72>>2]=0;H[a+64>>2]=0;H[a+68>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+92>>2]=0;H[a+84>>2]=0;H[a+88>>2]=0;H[a+104>>2]=0;H[a+96>>2]=0;H[a+100>>2]=0;g=a+120|0;a:{b:{if(b){if(b>>>0<1073741824){break b}sa();v()}H[a+108>>2]=0;H[a+112>>2]=0;H[a+116>>2]=0;H[c+8>>2]=0;H[c>>2]=0;H[c+4>>2]=0;e=1;break a}e=b<<2;d=pa(e);H[a+96>>2]=d;f=d+e|0;H[a+104>>2]=f;ra(d,0,e);H[a+116>>2]=0;H[a+108>>2]=0;H[a+112>>2]=0;H[a+100>>2]=f;d=pa(e);H[a+108>>2]=d;f=d+e|0;H[a+116>>2]=f;ra(d,0,e);H[a+112>>2]=f;d=pa(e);H[c>>2]=d;f=d+e|0;H[c+8>>2]=f;ra(d,0,e);H[c+4>>2]=f;e=b<<5|1}tb(g,e,c);d=H[c>>2];if(d){H[c+4>>2]=d;oa(d)}H[c+8>>2]=0;H[c>>2]=0;H[c+4>>2]=0;if(b){b=b<<2;d=pa(b);H[c>>2]=d;f=b+d|0;H[c+8>>2]=f;ra(d,0,b);H[c+4>>2]=f}tb(a+132|0,e,c);b=H[c>>2];if(b){H[c+4>>2]=b;oa(b)}ca=c+16|0;return a}function Sb(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);F[b+12|0]=c;a:{if(c){break a}while(1){d=H[b+8>>2];if(I[d+12|0]){break a}b:{c=H[d+8>>2];e=H[c>>2];if((e|0)==(d|0)){e=H[c+4>>2];if(!(!e|I[e+12|0])){break b}c:{if(H[d>>2]==(b|0)){b=d;break c}b=H[d+4>>2];a=H[b>>2];H[d+4>>2]=a;if(a){H[a+8>>2]=d;c=H[d+8>>2]}H[b+8>>2]=c;a=H[d+8>>2];H[((H[a>>2]!=(d|0))<<2)+a>>2]=b;H[b>>2]=d;H[d+8>>2]=b;c=H[b+8>>2];d=H[c>>2]}F[b+12|0]=1;F[c+12|0]=0;a=H[d+4>>2];H[c>>2]=a;if(a){H[a+8>>2]=c}H[d+8>>2]=H[c+8>>2];a=H[c+8>>2];H[((H[a>>2]!=(c|0))<<2)+a>>2]=d;H[d+4>>2]=c;H[c+8>>2]=d;return}if(!(I[e+12|0]|!e)){break b}d:{if(H[d>>2]!=(b|0)){b=d;break d}a=H[b+4>>2];H[d>>2]=a;if(a){H[a+8>>2]=d;c=H[d+8>>2]}H[b+8>>2]=c;a=H[d+8>>2];H[((H[a>>2]!=(d|0))<<2)+a>>2]=b;H[b+4>>2]=d;H[d+8>>2]=b;c=H[b+8>>2]}F[b+12|0]=1;F[c+12|0]=0;a=H[c+4>>2];b=H[a>>2];H[c+4>>2]=b;if(b){H[b+8>>2]=c}H[a+8>>2]=H[c+8>>2];b=H[c+8>>2];H[((H[b>>2]!=(c|0))<<2)+b>>2]=a;H[a>>2]=c;H[c+8>>2]=a;break a}F[d+12|0]=1;F[c+12|0]=(a|0)==(c|0);F[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function Tj(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!c){break k}if(!d){break j}e=Q(d)-Q(b)|0;if(e>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}da=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}if(!d|d-1&d){break g}a=b>>>Qj(d)|0;da=0;break a}if(!(c-1&c)){break f}h=(Q(c)+33|0)-Q(b)|0;g=0-h|0;break d}h=e+1|0;g=63-e|0;break d}da=0;a=(b>>>0)/(d>>>0)|0;break a}e=Q(d)-Q(b)|0;if(e>>>0<31){break e}break c}if((c|0)==1){break b}d=Qj(c);c=d&31;if((d&63)>>>0>=32){a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}da=e;break a}h=e+1|0;g=63-e|0}e=h&63;f=e&31;if(e>>>0>=32){e=0;i=b>>>f|0}else{e=b>>>f|0;i=((1<>>f}g=g&63;f=g&31;if(g>>>0>=32){b=a<>>32-f|b<>>31;e=i<<1|b>>>31;f=m-(j+(e>>>0>g>>>0)|0)>>31;k=c&f;i=e-k|0;e=j-((d&f)+(e>>>0>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=f&1;h=h-1|0;if(h){continue}break}}da=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}da=b}return a}function rc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=H[b+16>>2];h=H[c+4>>2]-k|0;e=H[c>>2]-k|0;H[c>>2]=e;H[c+4>>2]=h;g=H[b+16>>2];f=h>>31;i=(f^h)-f|0;f=e>>31;l=g>>>0>=i+((f^e)-f|0)>>>0;a:{if(l){f=h;break a}b:{c:{if((e|0)>=0){f=1;i=1;if((h|0)>=0){break b}j=1;f=-1;i=-1;if(e){break c}break b}j=-1;f=-1;i=-1;if((h|0)<=0){break b}}f=(h|0)<=0?-1:1;i=j}j=N(g,i);e=(e<<1)-j|0;i=(N(f,i)|0)>=0;g=N(f,g);f=((i?0-e|0:e)+g|0)/2|0;H[c+4>>2]=f;m=c;c=(h<<1)-g|0;e=(j+(i?0-c|0:c)|0)/2|0;H[m>>2]=e;g=H[b+16>>2]}c=H[d+4>>2]+f|0;e=H[d>>2]+e|0;d:{if((g|0)<(e|0)){e=e-H[b+4>>2]|0;break d}if((0-g|0)<=(e|0)){break d}e=H[b+4>>2]+e|0}e:{if((c|0)>(g|0)){c=c-H[b+4>>2]|0;break e}if((0-g|0)<=(c|0)){break e}c=H[b+4>>2]+c|0}f:{if(l){g=c;break f}g:{h:{if((e|0)>=0){b=1;f=1;if((c|0)>=0){break g}d=1;b=-1;f=-1;if(e){break h}break g}d=-1;b=-1;f=-1;if((c|0)<=0){break g}}b=(c|0)<=0?-1:1;f=d}d=N(f,g);h=(e<<1)-d|0;f=(N(b,f)|0)>=0;b=N(b,g);g=((f?0-h|0:h)+b|0)/2|0;b=(c<<1)-b|0;e=(d+(f?0-b|0:b)|0)/2|0}c=a;H[c>>2]=e+k;H[c+4>>2]=g+k}function Wh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=ca-16|0;ca=g;e=H[a+4>>2];d=H[e>>2];a:{b=H[a+12>>2];c=H[b+28>>2]-H[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=H[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=H[e+4>>2];c=pa(c);f=c+(f<<2)|0;h=c+(b-d&-4)|0;c=h;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[e+8>>2]=f;H[e+4>>2]=h;H[e>>2]=c;if(!d){break b}oa(d)}b=H[a+12>>2];c=H[b+28>>2];b=H[b+24>>2];H[g+12>>2]=0;b=c-b>>2;d=a+96|0;e=H[d>>2];c=H[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){Pa(d,b-c|0,g+12|0);break c}if(b>>>0>=c>>>0){break c}H[a+100>>2]=e+(b<<2)}e=a+8|0;b=H[a+116>>2];d:{if(b){d=H[b>>2];if((d|0)==H[b+4>>2]){c=1;break d}b=0;while(1){c=ye(e,H[(b<<2)+d>>2]);if(!c){break d}f=H[a+116>>2];d=H[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break d}c=1;a=H[a+12>>2];a=H[a+4>>2]-H[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){c=ye(e,N(b,3));if(!c){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}ca=g+16|0;return c|0}sa();v()}function gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=H[b+88>>2];if(!(!c|H[c>>2]!=1)){e=H[c+8>>2];H[a+4>>2]=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);f=a+8|0;d=I[b+24|0];h=H[a+8>>2];g=H[a+12>>2]-h>>2;a:{if(d>>>0>g>>>0){ya(f,d-g|0);d=I[b+24|0];e=H[c+8>>2];break a}if(d>>>0>=g>>>0){break a}H[a+12>>2]=h+(d<<2)}b:{if(!d){b=4;break b}h=d&3;f=H[f>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){g=d<<2;c=b+e|0;H[g+f>>2]=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[f+(g|4)>>2]=I[c+4|0]|I[c+5|0]<<8|(I[c+6|0]<<16|I[c+7|0]<<24);H[f+(g|8)>>2]=I[c+8|0]|I[c+9|0]<<8|(I[c+10|0]<<16|I[c+11|0]<<24);H[f+(g|12)>>2]=I[c+12|0]|I[c+13|0]<<8|(I[c+14|0]<<16|I[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+e|0;H[f+(d<<2)>>2]=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}d=a;a=b+e|0;H[d+20>>2]=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24);d=1}return d|0}function se(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{b:{c:{if(!b){if((d|0)<0){break a}f=H[a+4>>2];b=H[a>>2];d=f-b|0;if(c>>>0>d>>>0){g=c-d|0;e=H[a+8>>2];if(g>>>0<=e-f>>>0){i=a,j=ra(f,0,g)+g|0,H[i+4>>2]=j;break c}if((c|0)<0){break b}f=e-b|0;e=f<<1;f=f>>>0>=1073741823?2147483647:c>>>0>>0?e:c;e=pa(f);ra(e+d|0,0,g);d=va(e,b,d);H[a+8>>2]=d+f;H[a+4>>2]=c+d;H[a>>2]=d;if(!b){break c}oa(b);break c}if(c>>>0>=d>>>0){break c}H[a+4>>2]=b+c;break c}if((d|0)<0){break a}e=H[a+4>>2];f=H[a>>2];g=e-f|0;d:{if((d|0)<=0&c>>>0<=g>>>0|(d|0)<0){break d}if(c>>>0>g>>>0){d=c-g|0;h=H[a+8>>2];if(d>>>0<=h-e>>>0){i=a,j=ra(e,0,d)+d|0,H[i+4>>2]=j;break d}if((c|0)<0){break b}e=h-f|0;h=e<<1;e=e>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=pa(e);ra(h+g|0,0,d);d=va(h,f,g);H[a+8>>2]=d+e;H[a+4>>2]=c+d;H[a>>2]=d;if(!f){break d}oa(f);break d}if(c>>>0>=g>>>0){break d}H[a+4>>2]=c+f}if(!c){break c}va(H[a>>2],b,c)}b=H[a+28>>2];c=H[a+24>>2]+1|0;b=c?b:b+1|0;H[a+24>>2]=c;H[a+28>>2]=b;g=1;break a}sa();v()}return g}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=H[a+12>>2];c=H[a+68>>2];d=H[c+80>>2];F[b+84|0]=0;n=b+68|0;i=H[b+68>>2];e=H[b+72>>2]-i>>2;a:{if(e>>>0>>0){qb(n,d-e|0,12372);c=H[a+68>>2];d=H[c+80>>2];break a}if(d>>>0>=e>>>0){break a}H[b+72>>2]=i+(d<<2)}b=H[c+100>>2];e=H[c+96>>2];i=(b-e|0)/12|0;m=1;b:{if((b|0)==(e|0)){break b}k=H[k+28>>2];f=H[k>>2];if((f|0)==-1){return 0}o=i>>>0<=1?1:i;c=e;b=0;m=0;while(1){g=H[c>>2];if(g>>>0>=d>>>0){break b}j=H[H[a+72>>2]+12>>2];h=H[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=H[n>>2];H[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=H[g+4>>2];if((h|0)==-1){break b}l=H[c+4>>2];if(l>>>0>=d>>>0){break b}h=H[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}H[f+(l<<2)>>2]=h;g=H[g+8>>2];if((g|0)==-1){break b}c=H[c+8>>2];if(c>>>0>=d>>>0){break b}j=H[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}H[f+(c<<2)>>2]=j;b=b+1|0;m=i>>>0<=b>>>0;if((b|0)==(o|0)){break b}c=e+N(b,12)|0;l=N(b,3);f=H[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return m|0}function Gh(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,l=0,m=0;h=H[d+80>>2];e=ca-48|0;ca=e;a=H[a+4>>2];m=a-2|0;a:{if(m>>>0>28){break a}j=H[H[d>>2]>>2]+H[d+48>>2]|0;H[e+16>>2]=a;a=-1<>2]=a^-1;a=-2-a|0;H[e+24>>2]=a;H[e+32>>2]=(a|0)/2;L[e+28>>2]=O(2)/O(a|0);f=H[c>>2];if((f|0)!=H[c+4>>2]){a=0;d=0;while(1){g=H[(d<<2)+f>>2];h=e+36|0;k=H[H[b>>2]>>2];l=H[b+48>>2];f=H[b+40>>2];i=H[b+44>>2];if(!I[b+84|0]){g=H[H[b+68>>2]+(g<<2)>>2]}g=Rj(f,i,g,0);i=g;g=g+l|0;qa(h,g+k|0,f);he(e+16|0,h,e+12|0,e+8|0);f=a<<2;H[f+j>>2]=H[e+12>>2];H[(f|4)+j>>2]=H[e+8>>2];a=a+2|0;d=d+1|0;f=H[c>>2];if(d>>>0>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){k=e+36|0;l=H[H[b>>2]>>2];i=H[b+48>>2];c=H[b+40>>2];f=Rj(c,H[b+44>>2],I[b+84|0]?a:H[H[b+68>>2]+(a<<2)>>2],0);g=f;f=f+i|0;qa(k,f+l|0,c);he(e+16|0,k,e+12|0,e+8|0);c=d<<2;H[c+j>>2]=H[e+12>>2];H[(c|4)+j>>2]=H[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}ca=e+48|0;return m>>>0<29|0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=O(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=ca-16|0;ca=k;if(H[c+28>>2]==9){d=H[a+4>>2];h=I[c+24|0];e=h<<2;f=pa(e);l=k+8|0;H[l>>2]=1065353216;i=L[a+20>>2];d=-1<0){L[l>>2]=i/O(d|0)}o=(d|0)>0;a:{if(!o){break a}j=H[c+80>>2];if(!j){break a}if(h){p=H[H[b>>2]>>2]+H[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=H[a+8>>2];i=L[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;L[g+f>>2]=O(i*O(H[q>>2]))+L[g+m>>2];g=g|4;L[g+f>>2]=O(i*O(H[q+4>>2]))+L[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;L[d+f>>2]=O(i*O(H[(b<<2)+p>>2]))+L[d+m>>2];b=b+1|0}qa(H[H[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){qa(H[H[c+64>>2]>>2]+b|0,f,e);b=b+e|0;qa(b+H[H[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}qa(H[H[c+64>>2]>>2]+b|0,f,e)}oa(f)}ca=k+16|0;return o|0}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=H[a+12>>2];d=H[a+108>>2];e=H[d+80>>2];F[b+84|0]=0;m=b+68|0;h=H[b+68>>2];f=H[b+72>>2]-h>>2;a:{if(f>>>0>>0){qb(m,e-f|0,12372);d=H[a+108>>2];e=H[d+80>>2];break a}if(e>>>0>=f>>>0){break a}H[b+72>>2]=h+(e<<2)}b=H[d+100>>2];f=H[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=H[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=H[c>>2];if((i|0)==-1){break b}g=H[d>>2];if(g>>>0>=e>>>0){break b}l=H[H[a+112>>2]+12>>2];j=H[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=H[m>>2];H[i+(g<<2)>>2]=j;g=H[c+4>>2];if((g|0)==-1){break b}j=H[d+4>>2];if(j>>>0>=e>>>0){break b}g=H[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}H[i+(j<<2)>>2]=g;c=H[c+8>>2];if((c|0)==-1){break b}d=H[d+8>>2];if(d>>>0>=e>>>0){break b}c=H[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}H[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=N(b,3);d=f+N(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=H[a+12>>2];d=H[a+68>>2];e=H[d+80>>2];F[b+84|0]=0;m=b+68|0;h=H[b+68>>2];f=H[b+72>>2]-h>>2;a:{if(f>>>0>>0){qb(m,e-f|0,12372);d=H[a+68>>2];e=H[d+80>>2];break a}if(e>>>0>=f>>>0){break a}H[b+72>>2]=h+(e<<2)}b=H[d+100>>2];f=H[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=H[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=H[c>>2];if((i|0)==-1){break b}g=H[d>>2];if(g>>>0>=e>>>0){break b}l=H[H[a+72>>2]+12>>2];j=H[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=H[m>>2];H[i+(g<<2)>>2]=j;g=H[c+4>>2];if((g|0)==-1){break b}j=H[d+4>>2];if(j>>>0>=e>>>0){break b}g=H[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}H[i+(j<<2)>>2]=g;c=H[c+8>>2];if((c|0)==-1){break b}d=H[d+8>>2];if(d>>>0>=e>>>0){break b}c=H[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}H[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=N(b,3);d=f+N(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Wa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=ca-16|0;ca=d;a:{f=H[a+4>>2];b:{if(f>>>0>>0){e=b-f|0;c=H[a+8>>2];g=c<<5;c:{if(!(e>>>0>g>>>0|f>>>0>g-e>>>0)){H[a+4>>2]=b;h=f&31;b=H[a>>2]+(f>>>3&536870908)|0;break c}H[d+8>>2]=0;H[d>>2]=0;H[d+4>>2]=0;if((b|0)<0){break a}if(g>>>0<=1073741822){c=c<<6;b=b+31&-32;b=b>>>0>>0?c:b}else{b=2147483647}pb(d,b);f=H[a+4>>2];H[d+4>>2]=f+e;i=H[a>>2];b=H[d>>2];d:{if((f|0)<=0){break d}c=f>>>5|0;if(f>>>0>=32){va(b,i,c<<2)}g=c<<2;b=g+b|0;h=f&31;if(h){c=-1>>>32-h|0;H[b>>2]=H[b>>2]&(c^-1)|H[i+g>>2]&c}i=H[a>>2]}H[a>>2]=H[d>>2];H[d>>2]=i;c=H[a+4>>2];H[a+4>>2]=H[d+4>>2];H[d+4>>2]=c;c=H[a+8>>2];H[a+8>>2]=H[d+8>>2];H[d+8>>2]=c;if(!i){break c}oa(i)}if(!e){break b}if(h){c=32-h|0;a=c>>>0>>0?c:e;H[b>>2]=H[b>>2]&(-1<>>c-a^-1);e=e-a|0;b=b+4|0}a=e>>>5|0;if(e>>>0>=32){ra(b,0,a<<2)}if((e&-32)==(e|0)){break b}a=(a<<2)+b|0;H[a>>2]=H[a>>2]&(-1>>>32-(e&31)^-1);break b}H[a+4>>2]=b}ca=d+16|0;return}sa();v()}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=H[a+12>>2];i=H[a+8>>2];d=e-i>>2;b=I[b+24|0];a:{if(d>>>0>>0){ya(a+8|0,b-d|0);i=H[a+8>>2];e=H[a+12>>2];break a}if(b>>>0>=d>>>0){break a}e=(b<<2)+i|0;H[a+12>>2]=e}b=0;f=H[c+8>>2];h=H[c+12>>2];j=H[c+20>>2];e=e-i|0;d=H[c+16>>2];g=e+d|0;j=e>>>0>g>>>0?j+1|0:j;b:{if(f>>>0>>0&(h|0)<=(j|0)|(h|0)<(j|0)){break b}qa(i,d+H[c>>2]|0,e);d=H[c+20>>2];g=e;e=e+H[c+16>>2]|0;d=g>>>0>e>>>0?d+1|0:d;H[c+16>>2]=e;H[c+20>>2]=d;f=H[c+8>>2];h=H[c+12>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;if(f>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break b}d=e+H[c>>2]|0;H[a+20>>2]=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);d=H[c+20>>2];g=d;f=d;e=H[c+16>>2];d=e+4|0;f=d>>>0<4?f+1|0:f;H[c+16>>2]=d;H[c+20>>2]=f;h=H[c+12>>2];if((f|0)>=(h|0)&d>>>0>=K[c+8>>2]|(f|0)>(h|0)){break b}f=I[d+H[c>>2]|0];d=g;e=e+5|0;d=e>>>0<5?d+1|0:d;H[c+16>>2]=e;H[c+20>>2]=d;if(f-1>>>0>29){break b}H[a+4>>2]=f;b=1}return b|0}function qd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{f=H[a+4>>2];b:{if((f|0)!=H[a>>2]){c=f;break b}g=H[a+8>>2];c=H[a+12>>2];if(g>>>0>>0){e=((c-g>>2)+1|0)/2<<2;c=e+g|0;if((f|0)!=(g|0)){d=g-f|0;c=c-d|0;va(c,f,d);f=H[a+8>>2]}H[a+4>>2]=c;H[a+8>>2]=e+f;break b}d=(c|0)==(f|0)?1:c-f>>1;if(d>>>0>=1073741824){break a}c=d<<2;i=pa(c);k=i+c|0;c=(d+3&-4)+i|0;h=c;c:{if((f|0)==(g|0)){break c}g=g-f|0;l=g&-4;e=c;d=f;j=g-4|0;g=(j>>>2|0)+1&7;if(g){h=0;while(1){H[e>>2]=H[d>>2];d=d+4|0;e=e+4|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}h=c+l|0;if(j>>>0<28){break c}while(1){H[e>>2]=H[d>>2];H[e+4>>2]=H[d+4>>2];H[e+8>>2]=H[d+8>>2];H[e+12>>2]=H[d+12>>2];H[e+16>>2]=H[d+16>>2];H[e+20>>2]=H[d+20>>2];H[e+24>>2]=H[d+24>>2];H[e+28>>2]=H[d+28>>2];d=d+32|0;e=e+32|0;if((h|0)!=(e|0)){continue}break}}H[a+12>>2]=k;H[a+8>>2]=h;H[a+4>>2]=c;H[a>>2]=i;if(!f){break b}oa(f);c=H[a+4>>2]}H[c-4>>2]=H[b>>2];H[a+4>>2]=H[a+4>>2]-4;return}wa();v()}function sb(a,b){var c=0;a:{if(!ta(a,b)){break a}if(!ta(a+16|0,b)){break a}if(!ta(a+32|0,b)){break a}if(!ta(a+48|0,b)){break a}if(!ta(a- -64|0,b)){break a}if(!ta(a+80|0,b)){break a}if(!ta(a+96|0,b)){break a}if(!ta(a+112|0,b)){break a}if(!ta(a+128|0,b)){break a}if(!ta(a+144|0,b)){break a}if(!ta(a+160|0,b)){break a}if(!ta(a+176|0,b)){break a}if(!ta(a+192|0,b)){break a}if(!ta(a+208|0,b)){break a}if(!ta(a+224|0,b)){break a}if(!ta(a+240|0,b)){break a}if(!ta(a+256|0,b)){break a}if(!ta(a+272|0,b)){break a}if(!ta(a+288|0,b)){break a}if(!ta(a+304|0,b)){break a}if(!ta(a+320|0,b)){break a}if(!ta(a+336|0,b)){break a}if(!ta(a+352|0,b)){break a}if(!ta(a+368|0,b)){break a}if(!ta(a+384|0,b)){break a}if(!ta(a+400|0,b)){break a}if(!ta(a+416|0,b)){break a}if(!ta(a+432|0,b)){break a}if(!ta(a+448|0,b)){break a}if(!ta(a+464|0,b)){break a}if(!ta(a+480|0,b)){break a}if(!ta(a+496|0,b)){break a}c=ta(a+512|0,b)}return c}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{if(!ke(a,b)){break a}h=a+36|0;g=ea[H[H[a>>2]+24>>2]](a)|0;e=H[a+40>>2];d=H[a+36>>2];c=e-d>>2;b:{if(g>>>0>c>>>0){Vb(h,g-c|0);break b}if(c>>>0<=g>>>0){break b}d=d+(g<<2)|0;if((d|0)!=(e|0)){while(1){e=e-4|0;c=H[e>>2];H[e>>2]=0;if(c){ea[H[H[c>>2]+4>>2]](c)}if((d|0)!=(e|0)){continue}break}}H[a+40>>2]=d}c=1;if((g|0)<=0){break a}e=0;while(1){c:{c=H[b+20>>2];f=H[b+12>>2];d=H[b+16>>2];if((c|0)>=(f|0)&d>>>0>=K[b+8>>2]|(c|0)>(f|0)){break c}f=I[H[b>>2]+d|0];d=d+1|0;c=d?c:c+1|0;H[b+16>>2]=d;H[b+20>>2]=c;d=ea[H[H[a>>2]+48>>2]](a,f)|0;f=e<<2;i=f+H[a+36>>2]|0;c=H[i>>2];H[i>>2]=d;if(c){ea[H[H[c>>2]+4>>2]](c)}c=H[H[h>>2]+f>>2];if(!c){break c}if(!(k=c,l=ea[H[H[a>>2]+28>>2]](a)|0,m=ea[H[H[a>>2]+20>>2]](a,e)|0,j=H[H[c>>2]+8>>2],ea[j](k|0,l|0,m|0)|0)){break c}c=1;e=e+1|0;if((g|0)!=(e|0)){continue}break a}break}c=0}return c|0}function he(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+L[b>>2];k=+L[b+4>>2];l=+L[b+8>>2];g=P(j)+P(k)+P(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=H[a+16>>2];l=+(h|0);g=T(j*l+.5);b:{if(P(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=T(k*l+.5);c:{if(P(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=H[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=H[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}H[c>>2]=a;H[d>>2]=b}function Ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=H[b+8>>2];h=H[b+12>>2];c=H[b+20>>2];i=c;k=H[b+16>>2];d=k+4|0;c=d>>>0<4?c+1|0:c;a:{if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}l=H[b>>2];f=k+l|0;e=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=d;H[b+20>>2]=c;c=i;f=k+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}d=d+l|0;j=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=c;if((e|0)>(j|0)){break a}H[a+16>>2]=j;H[a+12>>2]=e;d=j-e|0;e=(j>>31)-((e>>31)+(e>>>0>j>>>0)|0)|0;if(!e&d>>>0>2147483646|e){break a}d=d+1|0;H[a+20>>2]=d;e=d>>>1|0;H[a+24>>2]=e;H[a+28>>2]=0-e;if(!(d&1)){H[a+24>>2]=e-1}if(J[b+38>>1]<=513){if((c|0)>=(h|0)&f>>>0>=g>>>0|(c|0)>(h|0)){break a}g=I[f+l|0];c=i;i=k+9|0;c=i>>>0<9?c+1|0:c;H[b+16>>2]=i;H[b+20>>2]=c;if(g>>>0>1){break a}H[a+88>>2]=g}m=ta(a+112|0,b)}return m|0}function Hc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=H[a>>2];c=g+(b>>>3&536870908)|0;H[c>>2]=H[c>>2]|1<>2];e=(b|0)==-1;d=-1;a:{if(e){break a}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;d=-1;if((c|0)==-1){break a}d=H[H[f>>2]+(c<<2)>>2]}c=H[a+12>>2];h=(d>>>3&536870908)+c|0;H[h>>2]=H[h>>2]|1<>>0)%3|0){e=b-1|0;break e}e=b+2|0;d=-1;if((e|0)==-1){break d}}d=H[H[f>>2]+(e<<2)>>2]}e=(d>>>3&536870908)+c|0;H[e>>2]=H[e>>2]|1<>2]+(b<<2)>>2];if((b|0)==-1){break b}F[a+24|0]=0;a=(b>>>3&536870908)+g|0;H[a>>2]=H[a>>2]|1<>>0)%3|0?a:b-2|0;if((a|0)!=-1){d=H[H[f>>2]+(a<<2)>>2]}a=c+(d>>>3&536870908)|0;H[a>>2]=H[a>>2]|1<>>0)%3|0){b=b-1|0;break g}b=b+2|0;a=-1;if((b|0)==-1){break f}}a=H[H[f>>2]+(b<<2)>>2]}b=1<>>3&536870908)|0;c=H[a>>2];break c}a=c+536870908|0;b=H[c+536870908>>2];c=-2147483648}H[a>>2]=b|c}}function Fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=O(0),f=O(0),g=O(0),h=O(0),i=O(0),j=0,k=O(0),l=O(0),m=O(0),n=O(0),o=0;a:{if(H[c+28>>2]!=9|I[c+24|0]!=3){break a}a=H[a+4>>2];if(a-2>>>0>28){break a}o=1;j=H[c+80>>2];if(!j){break a}k=O(O(2)/O((1<>2]>>2]+H[c+48>>2]|0;a=H[H[b>>2]>>2]+H[b+48>>2]|0;b=0;while(1){g=O(0);l=O(0);m=O(0);e=O(O(O(H[a>>2])*k)+O(-1));f=O(O(O(H[a+4>>2])*k)+O(-1));i=O(O(O(1)-O(P(e)))-O(P(f)));h=O(S(O(-i),O(0)));n=O(-h);f=O(f+(f>>8;F[c+10|0]=d>>>16;F[c+11|0]=d>>>24;d=(w(l),y(2));F[c+4|0]=d;F[c+5|0]=d>>>8;F[c+6|0]=d>>>16;F[c+7|0]=d>>>24;d=(w(g),y(2));F[c|0]=d;F[c+1|0]=d>>>8;F[c+2|0]=d>>>16;F[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function Vd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(b>>>0<=63){b=0;a=H[a+12>>2];if(a>>>0<2){break a}b=a-1|0;e=b&3;d=H[c>>2];c=0;b:{if(a-2>>>0<3){a=1;b=0;break b}f=b&-4;b=0;a=1;while(1){g=a+3|0;h=a+2|0;i=a+1|0;b=K[d+(b<<2)>>2]>K[d+(a<<2)>>2]?a:b;b=K[d+(b<<2)>>2]>K[d+(i<<2)>>2]?i:b;b=K[d+(b<<2)>>2]>K[d+(h<<2)>>2]?h:b;b=K[d+(b<<2)>>2]>K[d+(g<<2)>>2]?g:b;a=a+4|0;j=j+4|0;if((f|0)!=(j|0)){continue}break}}if(!e){break a}while(1){b=K[d+(b<<2)>>2]>K[d+(a<<2)>>2]?a:b;a=a+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}break a}b=H[a+580>>2];d=32-b|0;if((d|0)>=4){c=H[a+576>>2];if((c|0)==H[a+568>>2]){return 0}d=H[c>>2];e=b+4|0;H[a+580>>2]=e;b=d<>>28|0;if((e|0)!=32){break a}H[a+580>>2]=0;H[a+576>>2]=c+4;return b}c=H[a+576>>2];e=c+4|0;if((e|0)==H[a+568>>2]){return 0}f=H[c>>2];H[a+576>>2]=e;H[a+580>>2]=b-28;a=60-b|0;b=H[c+4>>2]>>>a|f<>>a-d}return b}function Ae(a){a=a|0;var b=0,c=0,d=0,e=0;H[a>>2]=11436;b=H[a+388>>2];if(b){H[a+392>>2]=b;oa(b)}d=H[a+368>>2];H[a+368>>2]=0;if(d){e=d-4|0;b=H[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}oa(e)}Yc(a+216|0);b=H[a+196>>2];if(b){H[a+200>>2]=b;oa(b)}b=H[a+184>>2];if(b){H[a+188>>2]=b;oa(b)}b=H[a+172>>2];if(b){H[a+176>>2]=b;oa(b)}b=H[a+160>>2];if(b){H[a+164>>2]=b;oa(b)}c=H[a+144>>2];if(c){while(1){b=H[c>>2];oa(c);c=b;if(b){continue}break}}b=H[a+136>>2];H[a+136>>2]=0;if(b){oa(b)}b=H[a+120>>2];if(b){oa(b)}b=H[a+108>>2];if(b){oa(b)}b=H[a+96>>2];if(b){oa(b)}b=H[a+72>>2];if(b){H[a+76>>2]=b;oa(b)}b=H[a+60>>2];if(b){oa(b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}b=H[a+36>>2];if(b){H[a+40>>2]=b;oa(b)}b=H[a+24>>2];if(b){H[a+28>>2]=b;oa(b)}b=H[a+12>>2];if(b){H[a+16>>2]=b;oa(b)}b=H[a+8>>2];H[a+8>>2]=0;if(b){cb(b)}return a|0}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a:{a=ca-32|0;ca=a;e=Ma(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=pa(g);H[a+24>>2]=g|-2147483648;H[a+16>>2]=f;H[a+20>>2]=e;g=e+f|0;break c}F[a+27|0]=e;f=a+16|0;g=e+f|0;if(!e){break b}}qa(f,c,e)}F[g|0]=0;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;d:{c=nb(b,a+16|0);if((c|0)==(b+4|0)){break d}b=H[c+28>>2];e=H[c+32>>2];if((b|0)==(e|0)){break d}b=e-b|0;if(b&3){break d}e=b>>>2|0;f=H[a+4>>2];b=H[a>>2];g=f-b>>2;e:{if(e>>>0>g>>>0){ya(a,e-g|0);b=H[a>>2];f=H[a+4>>2];break e}if(e>>>0>=g>>>0){break e}f=(e<<2)+b|0;H[a+4>>2]=f}if((b|0)!=(f|0)){e=b;b=H[c+28>>2];qa(e,b,H[c+32>>2]-b|0);break d}Ca();v()}b=H[d>>2];if(b){H[d+4>>2]=b;oa(b)}H[d>>2]=H[a>>2];H[d+4>>2]=H[a+4>>2];H[d+8>>2]=H[a+8>>2];if(F[a+27|0]<0){oa(H[a+16>>2])}ca=a+32|0;break a}Na();v()}}function Be(a){a=a|0;var b=0,c=0,d=0,e=0;H[a>>2]=11384;d=H[a+368>>2];H[a+368>>2]=0;if(d){e=d-4|0;b=H[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}oa(e)}Yc(a+216|0);b=H[a+196>>2];if(b){H[a+200>>2]=b;oa(b)}b=H[a+184>>2];if(b){H[a+188>>2]=b;oa(b)}b=H[a+172>>2];if(b){H[a+176>>2]=b;oa(b)}b=H[a+160>>2];if(b){H[a+164>>2]=b;oa(b)}c=H[a+144>>2];if(c){while(1){b=H[c>>2];oa(c);c=b;if(b){continue}break}}b=H[a+136>>2];H[a+136>>2]=0;if(b){oa(b)}b=H[a+120>>2];if(b){oa(b)}b=H[a+108>>2];if(b){oa(b)}b=H[a+96>>2];if(b){oa(b)}b=H[a+72>>2];if(b){H[a+76>>2]=b;oa(b)}b=H[a+60>>2];if(b){oa(b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}b=H[a+36>>2];if(b){H[a+40>>2]=b;oa(b)}b=H[a+24>>2];if(b){H[a+28>>2]=b;oa(b)}b=H[a+12>>2];if(b){H[a+16>>2]=b;oa(b)}b=H[a+8>>2];H[a+8>>2]=0;if(b){cb(b)}return a|0}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=ca-16|0;ca=d;a:{e=Ma(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=pa(f);H[d+8>>2]=f|-2147483648;H[d>>2]=a;H[d+4>>2]=e;f=a+e|0;break c}F[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}qa(a,c,e)}F[f|0]=0;c=I[d+11|0];e=c<<24>>24;b=H[b+4>>2];a=0;d:{if(!b){break d}a=c;c=(e|0)<0;a=c?H[d+4>>2]:a;f=c?H[d>>2]:d;while(1){c=I[b+27|0];g=c<<24>>24<0;c=g?H[b+20>>2]:c;i=c>>>0>>0;e:{f:{g:{h:{i:{j:{h=i?c:a;if(h){g=g?H[b+16>>2]:b+16|0;j=Fa(f,g,h);if(j){break j}if(a>>>0>=c>>>0){break i}break e}if(a>>>0>=c>>>0){break h}break e}if((j|0)<0){break e}}c=Fa(g,f,h);if(c){break g}}if(i){break f}a=1;break d}if((c|0)<0){break f}a=1;break d}b=b+4|0}b=H[b>>2];if(b){continue}break}a=0}if((e|0)<0){oa(H[d>>2])}ca=d+16|0;break a}Na();v()}return a|0}function fd(a,b){var c=0,d=0;c=H[b+8>>2];H[a+4>>2]=H[b+4>>2];H[a+8>>2]=c;H[a+20>>2]=H[b+20>>2];c=H[b+16>>2];H[a+12>>2]=H[b+12>>2];H[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=H[b+28>>2];if(c){d=H[a+24>>2];if(H[a+32>>2]<<5>>>0>>0){if(d){oa(d);H[a+32>>2]=0;H[a+24>>2]=0;H[a+28>>2]=0;c=H[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=pa(c<<2);H[a+32>>2]=c;H[a+28>>2]=0;H[a+24>>2]=d;c=H[b+28>>2]}va(d,H[b+24>>2],(c-1>>>3&536870908)+4|0);c=H[b+28>>2]}else{c=0}H[a+28>>2]=c;c=H[b+40>>2];if(c){d=H[a+36>>2];if(H[a+44>>2]<<5>>>0>>0){if(d){oa(d);H[a+44>>2]=0;H[a+36>>2]=0;H[a+40>>2]=0;c=H[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=pa(c<<2);H[a+44>>2]=c;H[a+40>>2]=0;H[a+36>>2]=d;c=H[b+40>>2]}va(d,H[b+36>>2],(c-1>>>3&536870908)+4|0);b=H[b+40>>2]}else{b=0}H[a+40>>2]=b}return}sa();v()}sa();v()}function uc(a){var b=0,c=0,d=0;b=H[a+8>>2];d=H[a>>2];a:{if(I[a+12|0]){b:{c:{d:{e:{if((b|0)==-1){break e}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;if((b|0)==-1){break e}b=H[H[d+12>>2]+(b<<2)>>2];if((b|0)!=-1){break d}}H[a+8>>2]=-1;break c}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;H[a+8>>2]=b;if((b|0)!=-1){break b}}c=H[a+4>>2];b=-1;f:{if((c|0)==-1){break f}g:{if((c>>>0)%3|0){c=c-1|0;break g}c=c+2|0;b=-1;if((c|0)==-1){break f}}c=H[H[d+12>>2]+(c<<2)>>2];b=-1;if((c|0)==-1){break f}b=c-1|0;if((c>>>0)%3|0){break f}b=c+2|0}F[a+12|0]=0;H[a+8>>2]=b;return}if((b|0)!=H[a+4>>2]){break a}H[a+8>>2]=-1;return}c=-1;h:{if((b|0)==-1){break h}i:{if((b>>>0)%3|0){b=b-1|0;break i}b=b+2|0;c=-1;if((b|0)==-1){break h}}b=H[H[d+12>>2]+(b<<2)>>2];c=-1;if((b|0)==-1){break h}c=b-1|0;if((b>>>0)%3|0){break h}c=b+2|0}H[a+8>>2]=c}}function Rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=ca-32|0;ca=f;d=H[a+28>>2];H[f+16>>2]=d;g=H[a+20>>2];H[f+28>>2]=c;H[f+24>>2]=b;b=g-d|0;H[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=Z(H[a+60>>2],b|0,2,f+12|0)|0;if(d){H[3992]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=H[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=H[b+4>>2];j=h>>>0>>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;H[d>>2]=h+H[d>>2];b=(j?12:4)+b|0;H[b>>2]=H[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=Z(H[a+60>>2],b|0,i|0,f+12|0)|0;if(e){H[3992]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=H[a+44>>2];H[a+28>>2]=b;H[a+20>>2]=b;H[a+16>>2]=b+H[a+48>>2];a=c;break a}H[a+28>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a>>2]=H[a>>2]|32;a=0;if((i|0)==2){break a}a=c-H[d+4>>2]|0}ca=f+32|0;return a|0}function Ih(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=H[a+4>>2];d=H[e>>2];a:{b=H[a+12>>2];c=H[b+56>>2]-H[b+52>>2]|0;f=c>>2;b:{if(f>>>0<=H[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=H[e+4>>2];c=pa(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[e+8>>2]=f;H[e+4>>2]=g;H[e>>2]=c;if(!d){break b}oa(d)}e=a+8|0;b=H[a+76>>2];c:{if(b){d=H[b>>2];if((d|0)==H[b+4>>2]){return 1}b=0;while(1){c=we(e,H[(b<<2)+d>>2]);if(!c){break c}f=H[a+76>>2];d=H[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=H[H[a+12>>2]+64>>2];a=H[a+4>>2]-H[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=we(e,N(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}sa();v()}function ff(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=H[c+12>>2];f=h;e=H[c+20>>2];j=H[c+8>>2];g=H[c+16>>2];a:{if((f|0)<=(e|0)&j>>>0<=g>>>0|(e|0)>(f|0)){break a}k=H[c>>2];i=F[k+g|0];d=e;f=g+1|0;d=f?d:d+1|0;H[c+16>>2]=f;H[c+20>>2]=d;if((i-7&255)>>>0<247){break a}b:{if((i|0)==-2){break b}if((d|0)>=(h|0)&f>>>0>=j>>>0|(d|0)>(h|0)){break a}d=F[f+k|0];g=g+2|0;e=g>>>0<2?e+1|0:e;H[c+16>>2]=g;H[c+20>>2]=e;if((d-4&255)>>>0<251){break a}e=ea[H[H[a>>2]+40>>2]](a,i,d)|0;d=H[a+20>>2];H[a+20>>2]=e;if(!d){break b}ea[H[H[d>>2]+4>>2]](d)}d=H[a+20>>2];if(d){if(!(ea[H[H[a>>2]+28>>2]](a,d)|0)){break a}}if(!(ea[H[H[a>>2]+36>>2]](a,b,c)|0)){break a}c=H[a+4>>2];if(!(!c|I[c+36|0]>1)){if(!(ea[H[H[a>>2]+48>>2]](a,H[b+4>>2]-H[b>>2]>>2)|0)){break a}}l=1}return l|0}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=H[a+4>>2];d=H[e>>2];a:{b=H[a+12>>2];c=H[b+28>>2]-H[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=H[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=H[e+4>>2];c=pa(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[e+8>>2]=f;H[e+4>>2]=g;H[e>>2]=c;if(!d){break b}oa(d)}e=a+8|0;b=H[a+76>>2];c:{if(b){d=H[b>>2];if((d|0)==H[b+4>>2]){return 1}b=0;while(1){c=xe(e,H[(b<<2)+d>>2]);if(!c){break c}f=H[a+76>>2];d=H[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=H[a+12>>2];a=H[a+4>>2]-H[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=xe(e,N(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}sa();v()}function Te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=H[b+8>>2];h=H[b+12>>2];c=H[b+20>>2];i=c;e=H[b+16>>2];d=e+4|0;c=d>>>0<4?c+1|0:c;a:{if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}j=H[b>>2];f=e+j|0;f=I[f|0]|I[f+1|0]<<8|(I[f+2|0]<<16|I[f+3|0]<<24);H[b+16>>2]=d;H[b+20>>2]=c;k=J[b+38>>1];if(k>>>0<=513){c=i;d=e+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}H[b+16>>2]=d;H[b+20>>2]=c}if(!(f&1)){break a}e=Q(f)^31;if(e-1>>>0>28){break a}H[a+8>>2]=e+1;i=-2<>2]=e;H[a+12>>2]=i^-1;H[a+24>>2]=e>>1;L[a+20>>2]=O(2)/O(e|0);if(k>>>0<=513){if((c|0)>=(h|0)&d>>>0>=g>>>0|(c|0)>(h|0)){break a}g=I[d+j|0];d=d+1|0;c=d?c:c+1|0;H[b+16>>2]=d;H[b+20>>2]=c;if(g>>>0>1){break a}H[a+72>>2]=g}l=ta(a+96|0,b)}return l|0}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=H[b+8>>2];g=H[b+12>>2];c=H[b+20>>2];h=c;i=H[b+16>>2];e=i+4|0;c=e>>>0<4?c+1|0:c;a:{if(e>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}j=H[b>>2];d=i+j|0;d=I[d|0]|I[d+1|0]<<8|(I[d+2|0]<<16|I[d+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=c;c=h;e=i+8|0;c=e>>>0<8?c+1|0:c;if(e>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}H[b+16>>2]=e;H[b+20>>2]=c;if(!(d&1)){break a}d=Q(d)^31;if(d-1>>>0>28){break a}H[a+8>>2]=d+1;k=-2<>2]=d;H[a+12>>2]=k^-1;H[a+24>>2]=d>>1;L[a+20>>2]=O(2)/O(d|0);if(J[b+38>>1]<=513){if((c|0)>=(g|0)&e>>>0>=f>>>0|(c|0)>(g|0)){break a}c=I[e+j|0];f=i+9|0;h=f>>>0<9?h+1|0:h;H[b+16>>2]=f;H[b+20>>2]=h;if(c>>>0>1){break a}H[a+72>>2]=c}l=ta(a+96|0,b)}return l|0} +function va(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return qa(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}F[d|0]=I[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;F[d|0]=I[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;H[c+a>>2]=H[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;F[c+a|0]=I[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){H[d>>2]=H[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){F[d|0]=I[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function Vb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=H[a+8>>2];c=H[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=ra(c,0,b)+b|0}H[a+4>>2]=c;return}a:{b:{c:{g=H[a>>2];f=c-g>>2;e=f+b|0;if(e>>>0<1073741824){d=d-g|0;h=d>>>1|0;e=d>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break c}i=pa(e<<2)}d=(f<<2)+i|0;f=b<<2;b=ra(d,0,f);f=b+f|0;e=(e<<2)+i|0;if((c|0)==(g|0)){break b}while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;d=d-4|0;H[d>>2]=b;if((c|0)!=(g|0)){continue}break}H[a+8>>2]=e;b=H[a+4>>2];H[a+4>>2]=f;c=H[a>>2];H[a>>2]=d;if((b|0)==(c|0)){break a}while(1){b=b-4|0;a=H[b>>2];H[b>>2]=0;if(a){ea[H[H[a>>2]+4>>2]](a)}if((b|0)!=(c|0)){continue}break}break a}sa();v()}wa();v()}H[a+8>>2]=e;H[a+4>>2]=f;H[a>>2]=b}if(c){oa(c)}}function Md(a,b,c){a:{switch(b-9|0){case 0:b=H[c>>2];H[c>>2]=b+4;H[a>>2]=H[b>>2];return;case 6:b=H[c>>2];H[c>>2]=b+4;b=G[b>>1];H[a>>2]=b;H[a+4>>2]=b>>31;return;case 7:b=H[c>>2];H[c>>2]=b+4;H[a>>2]=J[b>>1];H[a+4>>2]=0;return;case 8:b=H[c>>2];H[c>>2]=b+4;b=F[b|0];H[a>>2]=b;H[a+4>>2]=b>>31;return;case 9:b=H[c>>2];H[c>>2]=b+4;H[a>>2]=I[b|0];H[a+4>>2]=0;return;case 16:b=H[c>>2]+7&-8;H[c>>2]=b+8;M[a>>3]=M[b>>3];return;case 17:v();default:return;case 1:case 4:case 14:b=H[c>>2];H[c>>2]=b+4;b=H[b>>2];H[a>>2]=b;H[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=H[c>>2];H[c>>2]=b+4;H[a>>2]=H[b>>2];H[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=H[c>>2]+7&-8;H[c>>2]=b+8;c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c}function Ed(a,b){var c=0,d=0,e=0;c=ca+-64|0;ca=c;d=H[a>>2];e=H[d-4>>2];d=H[d-8>>2];H[c+32>>2]=0;H[c+36>>2]=0;H[c+40>>2]=0;H[c+44>>2]=0;H[c+48>>2]=0;H[c+52>>2]=0;F[c+55|0]=0;F[c+56|0]=0;F[c+57|0]=0;F[c+58|0]=0;F[c+59|0]=0;F[c+60|0]=0;F[c+61|0]=0;F[c+62|0]=0;H[c+24>>2]=0;H[c+28>>2]=0;H[c+20>>2]=0;H[c+16>>2]=14924;H[c+12>>2]=a;H[c+8>>2]=b;a=a+d|0;d=0;a:{if(Ya(e,b,0)){H[c+56>>2]=1;ea[H[H[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=H[c+32>>2]==1?a:0;break a}ea[H[H[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(H[c+44>>2]){case 0:d=H[c+48>>2]==1?H[c+36>>2]==1?H[c+40>>2]==1?H[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(H[c+32>>2]!=1){if(H[c+48>>2]|H[c+36>>2]!=1|H[c+40>>2]!=1){break a}}d=H[c+24>>2]}ca=c- -64|0;return d}function ua(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;H[a+16>>2]=0;e=H[a>>2];H[a+4>>2]=e;H[a+12>>2]=e;e=H[b+8>>2];c=H[b+12>>2];h=c;d=H[b+20>>2];f=H[b+16>>2];g=f+4|0;d=g>>>0<4?d+1|0:d;a:{if(e>>>0>>0&(d|0)>=(c|0)|(d|0)>(c|0)){break a}c=f+H[b>>2]|0;c=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[b+16>>2]=g;H[b+20>>2]=d;if(!c|c&3){break a}f=h-(d+(e>>>0>>0)|0)|0;if(e-g>>>0>>0&(f|0)<=0|(f|0)<0){break a}if(c>>>0>=4){ya(a,c>>>2|0);h=H[b+12>>2];g=H[b+16>>2];d=H[b+20>>2];e=H[b+8>>2]}f=c+g|0;d=f>>>0>>0?d+1|0:d;if(e>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}qa(H[a>>2],H[b>>2]+g|0,c);d=H[b+20>>2];e=c+H[b+16>>2]|0;d=e>>>0>>0?d+1|0:d;H[b+16>>2]=e;H[b+20>>2]=d;H[a+16>>2]=0;H[a+12>>2]=H[a>>2];i=1}return i}function de(a,b){var c=0,d=0,e=0,f=0;d=-1;e=-1;f=-1;a:{b:{if((b|0)==-1){break b}e=H[H[H[a+4>>2]+12>>2]+(b<<2)>>2];c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)>=0){f=(c>>>0)/3|0;f=H[(H[H[a>>2]+96>>2]+N(f,12)|0)+(c-N(f,3)<<2)>>2]}c:{if((e|0)==-1){break c}c=((e>>>0)%3|0?-1:2)+e|0;if((c|0)<0){break c}d=(c>>>0)/3|0;d=H[(H[H[a>>2]+96>>2]+N(d,12)|0)+(c-N(d,3)<<2)>>2]}c=-1;if((d|0)!=(f|0)){break a}f=-1;d:{b=((b>>>0)%3|0?-1:2)+b|0;if((b|0)>=0){d=(b>>>0)/3|0;d=H[(H[H[a>>2]+96>>2]+N(d,12)|0)+(b-N(d,3)<<2)>>2];if((e|0)==-1){break b}break d}d=-1;if((e|0)!=-1){break d}break b}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)<0){break b}c=H[H[a>>2]+96>>2];a=(b>>>0)/3|0;f=H[(c+N(a,12)|0)+(b-N(a,3)<<2)>>2]}c=(d|0)!=(f|0)?-1:e}return c}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=pa(72);H[c+4>>2]=0;H[c+8>>2]=0;H[c>>2]=1984;H[c+12>>2]=0;H[c+16>>2]=0;H[c+20>>2]=0;H[c+24>>2]=0;H[c+28>>2]=0;H[c+32>>2]=0;H[c+36>>2]=0;H[c+40>>2]=0;H[c>>2]=2128;H[c+44>>2]=0;H[c+48>>2]=0;H[c+52>>2]=0;H[c+56>>2]=0;H[c+60>>2]=0;H[c+64>>2]=0;H[c+68>>2]=0;h=c;a:{if((b|0)>=0){g=a+8|0;c=H[a+12>>2];e=H[a+8>>2];f=c-e>>2;b:{if((f|0)>(b|0)){break b}d=b+1|0;if(b>>>0>=f>>>0){Vb(g,d-f|0);break b}if(d>>>0>=f>>>0){break b}e=(d<<2)+e|0;if((e|0)!=(c|0)){while(1){c=c-4|0;d=H[c>>2];H[c>>2]=0;if(d){ea[H[H[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}H[a+12>>2]=e}a=H[g>>2]+(b<<2)|0;c=H[a>>2];H[a>>2]=h;if(!c){break a}}ea[H[H[c>>2]+4>>2]](c)}return(b^-1)>>>31|0}function ra(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}F[a|0]=b;d=a+c|0;F[d-1|0]=b;if(c>>>0<3){break a}F[a+2|0]=b;F[a+1|0]=b;F[d-3|0]=b;F[d-2|0]=b;if(c>>>0<7){break a}F[a+3|0]=b;F[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=N(b&255,16843009);H[e>>2]=b;d=c-d&-4;c=d+e|0;H[c-4>>2]=b;if(d>>>0<9){break a}H[e+8>>2]=b;H[e+4>>2]=b;H[c-8>>2]=b;H[c-12>>2]=b;if(d>>>0<25){break a}H[e+24>>2]=b;H[e+20>>2]=b;H[e+16>>2]=b;H[e+12>>2]=b;H[c-16>>2]=b;H[c-20>>2]=b;H[c-24>>2]=b;H[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=Rj(b,0,1,1);f=da;b=e+g|0;while(1){H[b+24>>2]=d;H[b+28>>2]=f;H[b+16>>2]=d;H[b+20>>2]=f;H[b+8>>2]=d;H[b+12>>2]=f;H[b>>2]=d;H[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=H[b+8>>2];e=H[b+12>>2];g=e;e=H[b+20>>2];k=e;h=H[b+16>>2];c=h+4|0;e=c>>>0<4?e+1|0:e;i=c;a:{if(c>>>0>d>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break a}j=H[b>>2];c=j+h|0;f=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[b+16>>2]=i;H[b+20>>2]=e;c=d;d=k;e=h+8|0;d=e>>>0<8?d+1|0:d;if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}c=i+j|0;c=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[b+16>>2]=e;H[b+20>>2]=d;if((c|0)<(f|0)){break a}H[a+16>>2]=c;H[a+12>>2]=f;d=(c>>31)-((f>>31)+(c>>>0>>0)|0)|0;b=c-f|0;if(!d&b>>>0>2147483646|d){break a}l=1;d=b+1|0;H[a+20>>2]=d;b=d>>>1|0;H[a+24>>2]=b;H[a+28>>2]=0-b;if(d&1){break a}H[a+24>>2]=b-1}return l|0}function sd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+16|0;d=H[e>>2];a:{if(!d){break a}f=H[b>>2];b=e;while(1){g=(f|0)>H[d+16>>2];b=g?b:d;d=H[(g?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(e|0)|(f|0)>2]){break a}d=H[b+24>>2];if(!d){break a}f=b+20|0;b=I[c+11|0];e=b<<24>>24<0;g=e?H[c>>2]:c;b=e?H[c+4>>2]:b;while(1){e=I[d+27|0];h=e<<24>>24<0;e=h?H[d+20>>2]:e;j=e>>>0>>0;b:{c:{d:{e:{f:{g:{i=j?e:b;if(i){h=h?H[d+16>>2]:d+16|0;k=Fa(g,h,i);if(k){break g}if(b>>>0>=e>>>0){break f}break b}if(b>>>0>=e>>>0){break e}break b}if((k|0)<0){break b}}e=Fa(h,g,i);if(e){break d}}if(j){break c}return Tc(f,c)}if((e|0)<0){break c}return Tc(f,c)}d=d+4|0}d=H[d>>2];if(d){continue}break}}return Tc(a,c)}function be(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=ca-16|0;ca=d;f=H[a+24>>2];k=H[a+28>>2];a:{if((f|0)!=(k|0)){while(1){H[d+8>>2]=0;H[d>>2]=0;H[d+4>>2]=0;a=$d(H[f>>2],b,d);g=I[d+11|0];h=g<<24>>24;i=3;b:{c:{d:{if(!a){break d}i=0;a=I[c+11|0];e=a<<24>>24;j=(h|0)<0?H[d+4>>2]:g;if((j|0)!=(((e|0)<0?H[c+4>>2]:a)|0)){break d}a=(e|0)<0?H[c>>2]:c;e=(h|0)<0;e:{if(!e){e=d;if(!h){break e}while(1){if(I[e|0]!=I[a|0]){break d}a=a+1|0;e=e+1|0;g=g-1|0;if(g){continue}break}break e}if(!j){break e}if(Fa(e?H[d>>2]:d,a,j)){break c}}l=H[f>>2];i=1}if((h|0)>=0){break b}}oa(H[d>>2])}f:{switch(i|0){case 0:case 3:break f;default:break a}}f=f+4|0;if((k|0)!=(f|0)){continue}break}}l=0}ca=d+16|0;return l}function Cb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;h=f>>2;d=H[a+8>>2];e=H[a>>2];if(h>>>0<=d-e>>2>>>0){d=H[a+4>>2];g=d-e|0;f=g+b|0;i=g>>2;g=i>>>0>>0?f:c;if((g|0)!=(b|0)){while(1){H[e>>2]=H[b>>2];e=e+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}if(h>>>0>i>>>0){if((c|0)!=(g|0)){while(1){H[d>>2]=H[f>>2];d=d+4|0;f=f+4|0;if((f|0)!=(c|0)){continue}break}}H[a+4>>2]=d;return}H[a+4>>2]=e;return}if(e){H[a+4>>2]=e;oa(e);H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(d>>>0>=1073741824){break a}e=d<<2;d=pa(e);H[a>>2]=d;H[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=qa(d,c,b)+b|0}H[a+4>>2]=d;return}sa();v()}function Oa(a,b,c){var d=0,e=0,f=0;e=ca-16|0;ca=e;H[a+4>>2]=0;a:{b:{if(!b){break b}f=H[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){H[a+4>>2]=b;break c}H[e+8>>2]=0;H[e>>2]=0;H[e+4>>2]=0;if((b|0)<0){break a}if(d>>>0<=1073741822){f=f<<6;d=b+31&-32;d=d>>>0>>0?f:d}else{d=2147483647}pb(e,d);f=H[a>>2];H[a>>2]=H[e>>2];H[e>>2]=f;d=H[a+4>>2];H[a+4>>2]=b;H[e+4>>2]=d;d=H[a+8>>2];H[a+8>>2]=H[e+8>>2];H[e+8>>2]=d;if(!f){break c}oa(f)}d=b>>>5|0;a=H[a>>2];if(I[c|0]){if(b>>>0>=32){ra(a,255,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;H[a>>2]=H[a>>2]|-1>>>32-(b&31);break b}if(b>>>0>=32){ra(a,0,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;H[a>>2]=H[a>>2]&(-1>>>32-(b&31)^-1)}ca=e+16|0;return}sa();v()}function Hg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=ca-32|0;ca=e;a:{b:{f=Ma(c);if(f>>>0<2147483632){c:{d:{if(f>>>0>=11){a=(f|15)+1|0;g=pa(a);H[e+24>>2]=a|-2147483648;H[e+16>>2]=g;H[e+20>>2]=f;a=f+g|0;break d}F[e+27|0]=f;g=e+16|0;a=f+g|0;if(!f){break c}}qa(g,c,f)}F[a|0]=0;c=Ma(d);if(c>>>0>=2147483632){break b}e:{f:{if(c>>>0>=11){f=(c|15)+1|0;a=pa(f);H[e+8>>2]=f|-2147483648;H[e>>2]=a;H[e+4>>2]=c;g=a+c|0;break f}F[e+11|0]=c;g=c+e|0;a=e;if(!c){break e}}qa(a,d,c)}F[g|0]=0;c=H[b+4>>2];a=-1;g:{if(!c){break g}c=be(c,e+16|0,e);a=-1;if(!c){break g}a=Yd(b,H[c+24>>2])}if(F[e+11|0]<0){oa(H[e>>2])}if(F[e+27|0]<0){oa(H[e+16>>2])}ca=e+32|0;break a}Na();v()}Na();v()}return a|0}function jb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=H[b>>2];h=H[b+8>>2];i=H[b+4>>2];j=H[b>>2];d=H[a>>2];b=H[d+4>>2];a=H[d+8>>2];if(b>>>0>>0){H[b+8>>2]=h;H[b+4>>2]=i;H[b>>2]=j;H[d+4>>2]=b+12;return}a:{e=H[d>>2];g=(b-e|0)/12|0;c=g+1|0;if(c>>>0<357913942){f=(a-e|0)/12|0;a=f<<1;c=f>>>0>=178956970?357913941:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=357913942){break a}f=pa(N(c,12))}else{f=0}a=f+N(g,12)|0;H[a+8>>2]=h;H[a+4>>2]=i;H[a>>2]=j;g=a+12|0;if((b|0)!=(e|0)){while(1){a=a-12|0;b=b-12|0;H[a>>2]=H[b>>2];H[a+4>>2]=H[b+4>>2];H[a+8>>2]=H[b+8>>2];if((b|0)!=(e|0)){continue}break}}H[d+8>>2]=f+N(c,12);H[d+4>>2]=g;H[d>>2]=a;if(e){oa(e)}return}sa();v()}wa();v()}function lf(a,b){a=a|0;b=b|0;a=0;a:{switch(b|0){case 0:a=pa(20);H[a+12>>2]=-1;H[a+16>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=2232;return a|0;case 1:a=pa(24);H[a+12>>2]=-1;H[a+16>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=2232;H[a+20>>2]=0;H[a>>2]=2448;return a|0;case 2:a=pa(48);H[a+12>>2]=-1;H[a+16>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=2232;H[a+20>>2]=0;H[a>>2]=2448;H[a+24>>2]=1832;H[a>>2]=11048;H[a+32>>2]=0;H[a+36>>2]=0;H[a+28>>2]=-1;H[a+40>>2]=0;H[a+44>>2]=0;return a|0;case 3:a=pa(32);H[a+12>>2]=-1;H[a+16>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=2232;H[a+20>>2]=0;H[a>>2]=2448;H[a+24>>2]=1032;H[a>>2]=7028;H[a+28>>2]=-1;break;default:break a}}return a|0}function tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=H[b>>2];b=H[b+4>>2];d=H[H[a+8>>2]+40>>2];j=d;m=pa((d|0)<0?-1:d);i=b-f|0;e=1;a:{if((i|0)<4){break a}b=0;g=H[c+16>>2];k=d;f=g+d|0;d=0+H[c+20>>2]|0;d=f>>>0>>0?d+1|0:d;h=H[c+12>>2];e=0;if(K[c+8>>2]>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}e=i>>2;i=(e|0)<=1?1:e;while(1){b:{g=qa(m,H[c>>2]+g|0,j);H[c+16>>2]=f;H[c+20>>2]=d;qa(H[H[H[a+8>>2]+64>>2]>>2]+b|0,g,j);l=l+1|0;if((i|0)==(l|0)){break b}b=b+j|0;d=n+H[c+20>>2]|0;g=H[c+16>>2];f=k+g|0;d=f>>>0>>0?d+1|0:d;h=H[c+12>>2];if((d|0)<=(h|0)&K[c+8>>2]>=f>>>0|(d|0)<(h|0)){continue}}break}e=(e|0)<=(l|0)}oa(m);return e|0}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;H[b>>2]=1;f=b+8|0;c=H[b+8>>2];d=H[b+12>>2]-c|0;if(d>>>0<=4294967291){kc(f,d+4|0);c=H[f>>2]}c=c+d|0;d=H[a+4>>2];F[c|0]=d;F[c+1|0]=d>>>8;F[c+2|0]=d>>>16;F[c+3|0]=d>>>24;c=H[a+8>>2];if((c|0)!=H[a+12>>2]){d=0;while(1){g=(d<<2)+c|0;c=H[b+8>>2];e=H[b+12>>2]-c|0;if(e>>>0<=4294967291){kc(f,e+4|0);c=H[f>>2]}c=c+e|0;e=H[g>>2];F[c|0]=e;F[c+1|0]=e>>>8;F[c+2|0]=e>>>16;F[c+3|0]=e>>>24;d=d+1|0;c=H[a+8>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}c=H[b+12>>2];b=H[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){kc(f,c+4|0);b=H[f>>2]}b=b+c|0;a=H[a+20>>2];F[b|0]=a;F[b+1|0]=a>>>8;F[b+2|0]=a>>>16;F[b+3|0]=a>>>24}function Aa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;g=f>>2;d=H[a+8>>2];e=H[a>>2];if(g>>>0<=d-e>>2>>>0){f=H[a+4>>2]-e|0;d=f+b|0;h=f>>2;f=h>>>0>>0?d:c;i=f-b|0;if((b|0)!=(f|0)){va(e,b,i)}if(g>>>0>h>>>0){b=H[a+4>>2];if((c|0)!=(f|0)){while(1){H[b>>2]=H[d>>2];b=b+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}}H[a+4>>2]=b;return}H[a+4>>2]=e+i;return}if(e){H[a+4>>2]=e;oa(e);H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(d>>>0>=1073741824){break a}e=d<<2;d=pa(e);H[a>>2]=d;H[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=qa(d,c,b)+b|0}H[a+4>>2]=d;return}sa();v()}function Rb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=H[a+4>>2];if((c|0)!=H[a+8>>2]){e=H[b+4>>2];H[c>>2]=H[b>>2];H[c+4>>2]=e;H[c+8>>2]=H[b+8>>2];H[a+4>>2]=c+12;return}a:{g=H[a>>2];d=(c-g|0)/12|0;e=d+1|0;if(e>>>0<357913942){f=d<<1;f=d>>>0>=178956970?357913941:e>>>0>>0?f:e;if(f){if(f>>>0>=357913942){break a}e=pa(N(f,12))}else{e=0}d=e+N(d,12)|0;h=H[b+4>>2];H[d>>2]=H[b>>2];H[d+4>>2]=h;H[d+8>>2]=H[b+8>>2];b=d+12|0;if((c|0)!=(g|0)){while(1){c=c-12|0;h=H[c+4>>2];d=d-12|0;H[d>>2]=H[c>>2];H[d+4>>2]=h;H[d+8>>2]=H[c+8>>2];if((c|0)!=(g|0)){continue}break}c=H[a>>2]}H[a+8>>2]=e+N(f,12);H[a+4>>2]=b;H[a>>2]=d;if(c){oa(c)}return}sa();v()}wa();v()}function Qi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=ca-32|0;ca=f;g=e>>>0>1073741823?-1:e<<2;l=ra(pa(g),0,g);g=l;i=H[g>>2];g=H[g+4>>2];k=H[b+4>>2];H[f+24>>2]=H[b>>2];H[f+28>>2]=k;H[f+8>>2]=i;H[f+12>>2]=g;i=a+8|0;rc(f+16|0,i,f+8|0,f+24|0);H[c>>2]=H[f+16>>2];H[c+4>>2]=H[f+20>>2];if((d|0)>(e|0)){k=0-e<<2;a=e;while(1){h=a<<2;g=h+c|0;j=g+k|0;m=H[j>>2];j=H[j+4>>2];h=b+h|0;n=H[h+4>>2];H[f+24>>2]=H[h>>2];H[f+28>>2]=n;H[f+8>>2]=m;H[f+12>>2]=j;rc(f+16|0,i,f+8|0,f+24|0);H[g>>2]=H[f+16>>2];H[g+4>>2]=H[f+20>>2];a=a+e|0;if((d|0)>(a|0)){continue}break}}oa(l);ca=f+32|0;return 1}function Hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=ca-32|0;ca=f;h=e>>>0>1073741823?-1:e<<2;h=ra(pa(h),0,h);g=H[b>>2];i=H[b+4>>2];k=H[h+4>>2];H[f+16>>2]=H[h>>2];H[f+20>>2]=k;H[f+8>>2]=g;H[f+12>>2]=i;i=a+8|0;qc(f+24|0,i,f+16|0,f+8|0);H[c>>2]=H[f+24>>2];H[c+4>>2]=H[f+28>>2];if((d|0)>(e|0)){k=0-e<<2;a=e;while(1){g=a<<2;j=g+b|0;m=H[j>>2];j=H[j+4>>2];g=c+g|0;l=g+k|0;n=H[l+4>>2];H[f+16>>2]=H[l>>2];H[f+20>>2]=n;H[f+8>>2]=m;H[f+12>>2]=j;qc(f+24|0,i,f+16|0,f+8|0);H[g>>2]=H[f+24>>2];H[g+4>>2]=H[f+28>>2];a=a+e|0;if((d|0)>(a|0)){continue}break}}oa(h);ca=f+32|0;return 1}function Ag(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;a:{if(K[b+80>>2]>65535){break a}a=H[b+100>>2];b=H[b+96>>2];e=(a-b|0)/12|0;f=N(e,6);g=(f|0)==(c|0);if((a|0)==(b|0)|(c|0)!=(f|0)){break a}g=1;c=e>>>0<=1?1:e;i=c&1;a=0;if(e>>>0>=2){j=c&-2;c=0;while(1){f=N(a,6);h=f+d|0;e=b+N(a,12)|0;G[h>>1]=H[e>>2];G[(f|2)+d>>1]=H[e+4>>2];G[h+4>>1]=H[e+8>>2];f=a|1;e=N(f,6)+d|0;f=b+N(f,12)|0;G[e>>1]=H[f>>2];G[e+2>>1]=H[f+4>>2];G[e+4>>1]=H[f+8>>2];a=a+2|0;c=c+2|0;if((j|0)!=(c|0)){continue}break}}if(!i){break a}c=N(a,6)+d|0;a=b+N(a,12)|0;G[c>>1]=H[a>>2];G[c+2>>1]=H[a+4>>2];G[c+4>>1]=H[a+8>>2]}return g|0}function Gd(a,b,c,d,e,f,g){var h=0,i=0,j=0;h=ca-16|0;ca=h;if((b^-1)+2147483631>>>0>=c>>>0){if(I[a+11|0]>>>7|0){i=H[a>>2]}else{i=a}if(b>>>0<1073741799){H[h+12>>2]=b<<1;H[h>>2]=b+c;c=ca-16|0;ca=c;ca=c+16|0;c=h+12|0;c=H[(K[h>>2]>2]?c:h)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}Zb(h,c);c=H[h>>2];if(f){yb(c,g,f)}g=d-e|0;if((d|0)!=(e|0)){yb(c+f|0,e+i|0,g)}if((b|0)!=10){oa(i)}H[a>>2]=c;H[a+8>>2]=H[a+8>>2]&-2147483648|H[h+4>>2]&2147483647;H[a+8>>2]=H[a+8>>2]|-2147483648;b=a;a=f+g|0;H[b+4>>2]=a;F[h+12|0]=0;F[a+c|0]=I[h+12|0];ca=h+16|0;return}Na();v()}function Rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a=ca-32|0;ca=a;H[a+24>>2]=0;H[a+28>>2]=0;a:{d=Ma(c);if(d>>>0<2147483632){b:{c:{if(d>>>0>=11){e=(d|15)+1|0;f=pa(e);H[a+16>>2]=e|-2147483648;H[a+8>>2]=f;H[a+12>>2]=d;e=d+f|0;break c}F[a+19|0]=d;f=a+8|0;e=f+d|0;if(!d){break b}}qa(f,c,d)}F[e|0]=0;c=b+4|0;b=nb(b,a+8|0);d:{if((c|0)==(b|0)){break d}c=H[b+32>>2];b=H[b+28>>2];if((c-b|0)!=8){break d}c=I[b+4|0]|I[b+5|0]<<8|(I[b+6|0]<<16|I[b+7|0]<<24);H[a+24>>2]=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[a+28>>2]=c}g=M[a+24>>3];if(F[a+19|0]<0){oa(H[a+8>>2])}ca=a+32|0;break a}Na();v()}return+g}function uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=1;a:{if((ea[H[H[b>>2]+20>>2]](b)|0)<=0){break a}while(1){f=0;c=Zd(H[H[a+4>>2]+4>>2],ea[H[H[b>>2]+24>>2]](b,g)|0);if((c|0)==-1){break a}e=H[a+4>>2];b:{if(I[e+36|0]<=1){if(ea[H[H[b>>2]+28>>2]](b,H[H[H[e+4>>2]+8>>2]+(c<<2)>>2])|0){break b}break a}d=0;c:{if((c|0)<0){break c}h=H[e+4>>2];if(H[h+12>>2]-H[h+8>>2]>>2<=(c|0)){break c}d=H[H[e+8>>2]+(H[H[e+20>>2]+(c<<2)>>2]<<2)>>2];d=ea[H[H[d>>2]+32>>2]](d,c)|0}if(!d){break a}if(!(ea[H[H[b>>2]+28>>2]](b,d)|0)){break a}}f=1;g=g+1|0;if((ea[H[H[b>>2]+20>>2]](b)|0)>(g|0)){continue}break}}return f|0}function tb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;a:{b:{if(b){if(b>>>0>=357913942){break b}b=N(b,12);d=pa(b);H[a+4>>2]=d;H[a>>2]=d;e=b+d|0;H[a+8>>2]=e;f=H[c+4>>2];g=H[c>>2];c:{if((f|0)==(g|0)){b=b-12|0;ra(d,0,(b-((b>>>0)%12|0)|0)+12|0);break c}h=f-g|0;if((h|0)<0){break a}i=h&-4;while(1){H[d+8>>2]=0;H[d>>2]=0;H[d+4>>2]=0;b=pa(h);H[d>>2]=b;H[d+8>>2]=b+i;c=g;while(1){H[b>>2]=H[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}H[d+4>>2]=b;d=d+12|0;if((e|0)!=(d|0)){continue}break}}H[a+4>>2]=e}return}sa();v()}H[d+8>>2]=0;H[d>>2]=0;H[d+4>>2]=0;sa();v()}function Vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=H[b+8>>2];d=H[b+12>>2];g=d;d=H[b+20>>2];i=d;h=H[b+16>>2];f=h+4|0;d=f>>>0<4?d+1|0:d;a:{if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}e=h+H[b>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=d;if(J[b+38>>1]<=513){f=c;c=i;d=h+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}H[b+16>>2]=d;H[b+20>>2]=c}if(!(e&1)){break a}b=Q(e)^31;if(b-1>>>0>28){break a}j=1;H[a+8>>2]=b+1;b=-2<>2]=c;H[a+12>>2]=b^-1;H[a+24>>2]=c>>1;L[a+20>>2]=O(2)/O(c|0)}return j|0}function Lc(a,b,c){var d=0,e=0,f=0,g=0;a:{f=b>>>0<1431655766&(b|c)>=0;b:{if(!f){break b}b=N(b,3);Kc(a,b,13648);Kc(a+12|0,b,13652);d=H[a+24>>2];c:{if(H[a+32>>2]-d>>2>>>0>=c>>>0){break c}if(c>>>0>=1073741824){break a}b=H[a+28>>2];e=c<<2;c=pa(e);e=c+e|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;H[c>>2]=H[b>>2];if((b|0)!=(d|0)){continue}break}}H[a+32>>2]=e;H[a+28>>2]=g;H[a+24>>2]=c;if(!d){break c}oa(d)}H[a+80>>2]=0;H[a+84>>2]=0;b=H[a+76>>2];H[a+76>>2]=0;if(b){oa(b)}H[a+68>>2]=0;H[a+72>>2]=0;b=a- -64|0;a=H[b>>2];H[b>>2]=0;if(!a){break b}oa(a)}return f}sa();v()}function Fe(a){var b=0,c=0,d=0,e=0,f=0;f=1;c=H[a+140>>2];a:{if((c|0)<=0){break a}b=c<<4;d=pa(c>>>0>268435455?-1:b|4);H[d>>2]=c;d=d+4|0;c=d+b|0;b=d;while(1){H[b>>2]=0;H[b+4>>2]=0;F[b+5|0]=0;F[b+6|0]=0;F[b+7|0]=0;F[b+8|0]=0;F[b+9|0]=0;F[b+10|0]=0;F[b+11|0]=0;F[b+12|0]=0;b=b+16|0;if((c|0)!=(b|0)){continue}break}e=H[a+136>>2];H[a+136>>2]=d;if(e){c=e-4|0;d=H[c>>2];if(d){b=(d<<4)+e|0;while(1){b=b-16|0;if((e|0)!=(b|0)){continue}break}}oa(c)}b=0;if(H[a+140>>2]<=0){break a}while(1){f=ta(H[a+136>>2]+(b<<4)|0,a);if(!f){break a}b=b+1|0;if((b|0)>2]){continue}break}}return f}function mb(a,b){var c=0,d=0,e=0,f=0,g=0;a:{if(H[a+64>>2]){break a}c=pa(32);H[c+16>>2]=0;H[c+20>>2]=0;H[c+8>>2]=0;H[c>>2]=0;H[c+4>>2]=0;H[c+24>>2]=0;H[c+28>>2]=0;d=H[a+64>>2];H[a+64>>2]=c;if(!d){break a}c=H[d>>2];if(c){H[d+4>>2]=c;oa(c)}oa(d)}d=H[a+64>>2];c=H[a+28>>2]-1|0;if(c>>>0<=10){c=H[(c<<2)+13584>>2]}else{c=-1}c=N(c,I[a+24|0]);f=c>>31;g=se(d,0,Rj(c,f,b,0),da);if(g){d=H[a+64>>2];H[a>>2]=d;e=H[d+20>>2];H[a+8>>2]=H[d+16>>2];H[a+12>>2]=e;e=H[d+24>>2];d=H[d+28>>2];H[a+48>>2]=0;H[a+52>>2]=0;H[a+40>>2]=c;H[a+44>>2]=f;H[a+16>>2]=e;H[a+20>>2]=d;H[a+80>>2]=b}return g}function jc(a,b){var c=0;c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c;c=H[b+60>>2];H[a+56>>2]=H[b+56>>2];H[a+60>>2]=c;c=H[b+52>>2];H[a+48>>2]=H[b+48>>2];H[a+52>>2]=c;c=H[b+44>>2];H[a+40>>2]=H[b+40>>2];H[a+44>>2]=c;c=H[b+36>>2];H[a+32>>2]=H[b+32>>2];H[a+36>>2]=c;c=H[b+28>>2];H[a+24>>2]=H[b+24>>2];H[a+28>>2]=c;c=H[b+20>>2];H[a+16>>2]=H[b+16>>2];H[a+20>>2]=c;c=H[b+12>>2];H[a+8>>2]=H[b+8>>2];H[a+12>>2]=c;H[a+88>>2]=0;H[a+64>>2]=0;H[a+68>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;F[a+77|0]=0;F[a+78|0]=0;F[a+79|0]=0;F[a+80|0]=0;F[a+81|0]=0;F[a+82|0]=0;F[a+83|0]=0;F[a+84|0]=0;return a}function zg(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;a=H[b+100>>2];b=H[b+96>>2];h=a-b|0;a:{if((h|0)!=(c|0)|(a|0)==(b|0)){break a}g=(c|0)/12|0;e=g>>>0<=1?1:g;j=e&1;a=0;if(g>>>0>=2){k=e&-2;g=0;while(1){e=N(a,12);i=e+d|0;f=b+e|0;H[i>>2]=H[f>>2];H[(e|4)+d>>2]=H[f+4>>2];H[i+8>>2]=H[f+8>>2];f=N(a|1,12);e=f+d|0;f=b+f|0;H[e>>2]=H[f>>2];H[e+4>>2]=H[f+4>>2];H[e+8>>2]=H[f+8>>2];a=a+2|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}}if(!j){break a}e=d;d=N(a,12);a=e+d|0;b=b+d|0;H[a>>2]=H[b>>2];H[a+4>>2]=H[b+4>>2];H[a+8>>2]=H[b+8>>2]}return(c|0)==(h|0)|0}function Mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=H[b+8>>2];d=H[b+12>>2];g=d;d=H[b+20>>2];i=d;h=H[b+16>>2];f=h+4|0;d=f>>>0<4?d+1|0:d;a:{if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}e=h+H[b>>2]|0;e=I[e|0]|I[e+1|0]<<8|(I[e+2|0]<<16|I[e+3|0]<<24);H[b+16>>2]=f;H[b+20>>2]=d;f=c;c=i;d=h+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}H[b+16>>2]=d;H[b+20>>2]=c;if(!(e&1)){break a}b=Q(e)^31;if(b-1>>>0>28){break a}j=1;H[a+8>>2]=b+1;b=-2<>2]=c;H[a+12>>2]=b^-1;H[a+24>>2]=c>>1;L[a+20>>2]=O(2)/O(c|0)}return j|0}function nb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;a=H[a+4>>2];a:{b:{if(!a){break b}d=I[b+11|0];c=d<<24>>24<0;g=c?H[b>>2]:b;d=c?H[b+4>>2]:d;b=f;while(1){e=I[a+27|0];c=e<<24>>24<0;e=c?H[a+20>>2]:e;h=e>>>0>d>>>0;i=h?d:e;c:{if(i){c=Fa(c?H[a+16>>2]:a+16|0,g,i);if(c){break c}}c=d>>>0>e>>>0?-1:h}c=(c|0)<0;b=c?b:a;a=H[(c?a+4|0:a)>>2];if(a){continue}break}if((b|0)==(f|0)){break b}c=I[b+27|0];a=c<<24>>24<0;d:{c=a?H[b+20>>2]:c;e=c>>>0>>0?c:d;if(e){a=Fa(g,a?H[b+16>>2]:b+16|0,e);if(a){break d}}if(c>>>0>d>>>0){break b}break a}if((a|0)>=0){break a}}b=f}return b}function Jf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Ya(a,H[b+8>>2],e)){if(!(H[b+28>>2]==1|H[b+4>>2]!=(c|0))){H[b+28>>2]=d}return}a:{if(Ya(a,H[b>>2],e)){if(!(H[b+16>>2]!=(c|0)&H[b+20>>2]!=(c|0))){if((d|0)!=1){break a}H[b+32>>2]=1;return}H[b+32>>2]=d;b:{if(H[b+44>>2]==4){break b}G[b+52>>1]=0;a=H[a+8>>2];ea[H[H[a>>2]+20>>2]](a,b,c,c,1,e);if(I[b+53|0]){H[b+44>>2]=3;if(!I[b+52|0]){break b}break a}H[b+44>>2]=4}H[b+20>>2]=c;H[b+40>>2]=H[b+40>>2]+1;if(H[b+36>>2]!=1|H[b+24>>2]!=2){break a}F[b+54|0]=1;return}a=H[a+8>>2];ea[H[H[a>>2]+24>>2]](a,b,c,d,e)}}function Db(a,b,c){var d=0,e=0,f=0,g=0;a:{b:{if(!b){break b}if(J[a+38>>1]<=513){f=H[a+12>>2];d=H[a+20>>2];b=H[a+16>>2];g=b+8|0;d=g>>>0<8?d+1|0:d;e=0;if(K[a+8>>2]>>0&(d|0)>=(f|0)|(d|0)>(f|0)){break a}b=b+H[a>>2]|0;d=I[b+4|0]|I[b+5|0]<<8|(I[b+6|0]<<16|I[b+7|0]<<24);H[c>>2]=I[b|0]|I[b+1|0]<<8|(I[b+2|0]<<16|I[b+3|0]<<24);H[c+4>>2]=d;b=H[a+20>>2];c=H[a+16>>2]+8|0;b=c>>>0<8?b+1|0:b;H[a+16>>2]=c;H[a+20>>2]=b;break b}e=0;if(!re(1,c,a)){break a}}F[a+36|0]=1;H[a+32>>2]=0;b=H[a+16>>2];c=b+H[a>>2]|0;H[a+24>>2]=c;H[a+28>>2]=(H[a+8>>2]-b|0)+c;e=1}return e}function ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=pa(64);c=pa(12);H[c+8>>2]=H[H[a+4>>2]+80>>2];H[c>>2]=13216;H[c+4>>2]=0;f=od(f,c);a:{b:{if((b|0)<0){c=f;break b}h=a+8|0;c=H[a+12>>2];e=H[a+8>>2];g=c-e>>2;c:{if((g|0)>(b|0)){break c}d=b+1|0;if(b>>>0>=g>>>0){Vb(h,d-g|0);break c}if(d>>>0>=g>>>0){break c}e=e+(d<<2)|0;if((e|0)!=(c|0)){while(1){c=c-4|0;d=H[c>>2];H[c>>2]=0;if(d){ea[H[H[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}H[a+12>>2]=e}a=H[h>>2]+(b<<2)|0;c=H[a>>2];H[a>>2]=f;if(!c){break a}}ea[H[H[c>>2]+4>>2]](c)}return(b^-1)>>>31|0}function Qd(a,b){var c=0,d=0,e=0,f=0;d=ca-16|0;ca=d;H[d+12>>2]=b;c=ca-208|0;ca=c;H[c+204>>2]=b;b=c+160|0;ra(b,0,40);H[c+200>>2]=H[c+204>>2];a:{if((Od(0,a,c+200|0,c+80|0,b)|0)<0){break a}f=H[3941]>=0;b=H[3922];if(H[3940]<=0){H[3922]=b&-33}b:{c:{d:{if(!H[3934]){H[3934]=80;H[3929]=0;H[3926]=0;H[3927]=0;e=H[3933];H[3933]=c;break d}if(H[3926]){break c}}if(Sd(15688)){break b}}Od(15688,a,c+200|0,c+80|0,c+160|0)}if(e){ea[H[3931]](15688,0,0)|0;H[3934]=0;H[3933]=e;H[3929]=0;H[3926]=0;H[3927]=0}H[3922]=H[3922]|b&32;if(!f){break a}}ca=c+208|0;ca=d+16|0}function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=H[a+60>>2];a:{if(!c){break a}H[c+4>>2]=a+48;if(!(ea[H[H[c>>2]+12>>2]](c)|0)){break a}b:{c=ea[H[H[a>>2]+24>>2]](a)|0;if((c|0)<=0){break b}while(1){c:{f=H[(ea[H[H[a>>2]+28>>2]](a)|0)+4>>2];g=ea[H[H[a>>2]+20>>2]](a,d)|0;e=H[a+60>>2];if(!(ea[H[H[e>>2]+8>>2]](e,H[H[f+8>>2]+(g<<2)>>2])|0)){break c}d=d+1|0;if((c|0)!=(d|0)){continue}break b}break}return 0}d=0;if(!(ea[H[H[a>>2]+36>>2]](a,b)|0)){break a}if(!(ea[H[H[a>>2]+40>>2]](a,b)|0)){break a}d=ea[H[H[a>>2]+44>>2]](a)|0}return d|0}function id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=H[a+216>>2];if((c|0)!=H[a+220>>2]){while(1){a:{c=H[N(e,144)+c>>2];if((c|0)<0){break a}d=H[a+4>>2];f=H[d+8>>2];if((c|0)>=H[d+12>>2]-f>>2){break a}d=0;c=H[(c<<2)+f>>2];if((ea[H[H[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if((ea[H[H[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((ea[H[H[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}a=H[a+216>>2]+N(e,144)|0;return(I[a+100|0]?a+4|0:0)|0}e=e+1|0;c=H[a+216>>2];if(e>>>0<(H[a+220>>2]-c|0)/144>>>0){continue}break}}return 0}function xb(a){var b=0,c=0,d=0,e=0;c=H[a+132>>2];if(c){d=c;b=H[a+136>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=H[d>>2];if(e){H[b-8>>2]=e;oa(e)}b=d;if((c|0)!=(b|0)){continue}break}d=H[a+132>>2]}H[a+136>>2]=c;oa(d)}c=H[a+120>>2];if(c){d=c;b=H[a+124>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=H[d>>2];if(e){H[b-8>>2]=e;oa(e)}b=d;if((c|0)!=(b|0)){continue}break}d=H[a+120>>2]}H[a+124>>2]=c;oa(d)}b=H[a+108>>2];if(b){H[a+112>>2]=b;oa(b)}b=H[a+96>>2];if(b){H[a+100>>2]=b;oa(b)}Za(a+76|0);Za(a+56|0);Za(a+36|0);Za(a+16|0)}function rd(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=2128;d=H[a+60>>2];if(d){b=d;c=H[a- -64>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;if(b){Ga(b)}if((c|0)!=(d|0)){continue}break}b=H[a+60>>2]}H[a+64>>2]=d;oa(b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}d=H[a+36>>2];if(d){b=d;c=H[a+40>>2];if((b|0)!=(c|0)){while(1){c=c-24|0;ea[H[H[c>>2]>>2]](c)|0;if((c|0)!=(d|0)){continue}break}b=H[a+36>>2]}H[a+40>>2]=d;oa(b)}H[a>>2]=1984;b=H[a+16>>2];if(b){H[a+20>>2]=b;oa(b)}b=H[a+4>>2];if(b){H[a+8>>2]=b;oa(b)}return a|0}function ue(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=H[a+8>>2];d=H[a+4>>2];if(c-d>>2>>>0>=b>>>0){if(b){b=b<<2;d=ra(d,0,b)+b|0}H[a+4>>2]=d;return}a:{f=H[a>>2];g=d-f>>2;e=g+b|0;if(e>>>0<1073741824){c=c-f|0;h=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break a}i=pa(e<<2)}c=(g<<2)+i|0;b=b<<2;b=ra(c,0,b)+b|0;if((d|0)!=(f|0)){while(1){c=c-4|0;d=d-4|0;H[c>>2]=H[d>>2];if((d|0)!=(f|0)){continue}break}}H[a+8>>2]=(e<<2)+i;H[a+4>>2]=b;H[a>>2]=c;if(f){oa(f)}return}sa();v()}wa();v()}function rb(a){var b=0,c=0,d=0,e=0,f=0;d=H[a+8>>2];a:{if(I[d+84|0]){break a}b=H[a+16>>2];if(!b|!I[b+84|0]){break a}c=H[d+72>>2];e=H[d+68>>2];F[b+84|0]=0;c=c-e>>2;f=H[b+68>>2];e=H[b+72>>2]-f>>2;b:{if(c>>>0>e>>>0){qb(b+68|0,c-e|0,2316);d=H[a+8>>2];break b}if(c>>>0>=e>>>0){break b}H[b+72>>2]=f+(c<<2)}if(I[d+84|0]){break a}c=H[d+68>>2];if((c|0)==H[d+72>>2]){break a}e=H[H[a+16>>2]+68>>2];b=0;while(1){f=b<<2;H[f+e>>2]=H[c+f>>2];b=b+1|0;c=H[d+68>>2];if(b>>>0>2]-c>>2>>>0){continue}break}}return H[a+16>>2]}function Lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=ca+-64|0;ca=e;f=Ha(e+8|0);H[f+16>>2]=0;H[f+20>>2]=0;H[f>>2]=b;H[f+8>>2]=c;H[f+12>>2]=0;b=e+48|0;Pe(b,a,f,d);H[a+24>>2]=H[e+48>>2];f=a+24|0;a:{if((f|0)==(b|0)){break a}b=a+28|0;c=e+48|4;g=I[e+63|0];d=g<<24>>24;if(F[a+39|0]>=0){if((d|0)>=0){a=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=a;H[b+8>>2]=H[c+8>>2];break a}Xb(b,H[e+52>>2],H[e+56>>2]);break a}a=(d|0)<0;Yb(b,a?H[e+52>>2]:c,a?H[e+56>>2]:g)}if(F[e+63|0]<0){oa(H[e+52>>2])}ca=e- -64|0;return f|0}function Kg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=ca+-64|0;ca=e;f=Ha(e+8|0);H[f+16>>2]=0;H[f+20>>2]=0;H[f>>2]=b;H[f+8>>2]=c;H[f+12>>2]=0;b=e+48|0;Oe(b,a,f,d);H[a+24>>2]=H[e+48>>2];f=a+24|0;a:{if((f|0)==(b|0)){break a}b=a+28|0;c=e+48|4;g=I[e+63|0];d=g<<24>>24;if(F[a+39|0]>=0){if((d|0)>=0){a=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=a;H[b+8>>2]=H[c+8>>2];break a}Xb(b,H[e+52>>2],H[e+56>>2]);break a}a=(d|0)<0;Yb(b,a?H[e+52>>2]:c,a?H[e+56>>2]:g)}if(F[e+63|0]<0){oa(H[e+52>>2])}ca=e- -64|0;return f|0}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;a=ca-32|0;ca=a;a:{d=Ma(c);if(d>>>0<2147483632){b:{c:{if(d>>>0>=11){e=(d|15)+1|0;f=pa(e);H[a+24>>2]=e|-2147483648;H[a+16>>2]=f;H[a+20>>2]=d;e=d+f|0;break c}F[a+27|0]=d;f=a+16|0;e=f+d|0;if(!d){break b}}qa(f,c,d)}F[e|0]=0;F[a+4|0]=0;H[a>>2]=1701667182;F[a+11|0]=4;d=H[b+4>>2];c=-1;d:{if(!d){break d}d=be(d,a,a+16|0);c=-1;if(!d){break d}c=Yd(b,H[d+24>>2])}b=c;if(F[a+11|0]<0){oa(H[a>>2])}if(F[a+27|0]<0){oa(H[a+16>>2])}ca=a+32|0;break a}Na();v()}return b|0}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=H[a+216>>2];if((c|0)!=H[a+220>>2]){while(1){a:{c=H[N(e,144)+c>>2];if((c|0)<0){break a}d=H[a+4>>2];f=H[d+8>>2];if((c|0)>=H[d+12>>2]-f>>2){break a}d=0;c=H[(c<<2)+f>>2];if((ea[H[H[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if((ea[H[H[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((ea[H[H[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}return(H[a+216>>2]+N(e,144)|0)+104|0}e=e+1|0;c=H[a+216>>2];if(e>>>0<(H[a+220>>2]-c|0)/144>>>0){continue}break}}return a+184|0}function ab(a){var b=0,c=0,d=0,e=0;c=H[a+640>>2];if(c){d=c;b=H[a+644>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=H[d>>2];if(e){H[b-8>>2]=e;oa(e)}b=d;if((c|0)!=(b|0)){continue}break}d=H[a+640>>2]}H[a+644>>2]=c;oa(d)}c=H[a+628>>2];if(c){d=c;b=H[a+632>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=H[d>>2];if(e){H[b-8>>2]=e;oa(e)}b=d;if((c|0)!=(b|0)){continue}break}d=H[a+628>>2]}H[a+632>>2]=c;oa(d)}b=H[a+616>>2];if(b){H[a+620>>2]=b;oa(b)}b=H[a+604>>2];if(b){H[a+608>>2]=b;oa(b)}Za(a+584|0);Za(a+564|0);Za(a+544|0)}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=ca-16|0;ca=d;H[d+12>>2]=0;a:{e=Ma(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=pa(f);H[d+8>>2]=f|-2147483648;H[d>>2]=a;H[d+4>>2]=e;f=a+e|0;break c}F[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}qa(a,c,e)}F[f|0]=0;a=nb(b,d);d:{if((a|0)==(b+4|0)){break d}b=H[a+32>>2];a=H[a+28>>2];if((b-a|0)!=4){break d}H[d+12>>2]=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24)}a=H[d+12>>2];if(F[d+11|0]<0){oa(H[d>>2])}ca=d+16|0;break a}Na();v()}return a|0}function vb(a){var b=0,c=0,d=0,e=0;c=H[a+128>>2];if(c){d=c;b=H[a+132>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=H[d>>2];if(e){H[b-8>>2]=e;oa(e)}b=d;if((c|0)!=(b|0)){continue}break}d=H[a+128>>2]}H[a+132>>2]=c;oa(d)}c=H[a+116>>2];if(c){d=c;b=H[a+120>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=H[d>>2];if(e){H[b-8>>2]=e;oa(e)}b=d;if((c|0)!=(b|0)){continue}break}d=H[a+116>>2]}H[a+120>>2]=c;oa(d)}b=H[a+104>>2];if(b){H[a+108>>2]=b;oa(b)}b=H[a+92>>2];if(b){H[a+96>>2]=b;oa(b)}Za(a+72|0);Za(a+52|0);Za(a+32|0)}function kc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=H[a+4>>2];e=H[a>>2];d=c-e|0;b:{if(d>>>0>>0){g=b-d|0;f=H[a+8>>2];if(g>>>0<=f-c>>>0){h=a,i=ra(c,0,g)+g|0,H[h+4>>2]=i;break b}if((b|0)<0){break a}c=f-e|0;f=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0>>0?f:b;f=pa(c);ra(f+d|0,0,g);d=va(f,e,d);H[a+8>>2]=d+c;H[a+4>>2]=b+d;H[a>>2]=d;if(!e){break b}oa(e);break b}if(b>>>0>=d>>>0){break b}H[a+4>>2]=b+e}b=H[a+28>>2];c=b;d=b+1|0;b=H[a+24>>2]+1|0;e=b?c:d;H[a+24>>2]=b;H[a+28>>2]=e;return}sa();v()}function Ka(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=H[a+4>>2];if((e|0)!=H[a+8>>2]){H[e>>2]=H[b>>2];H[a+4>>2]=e+4;return}a:{g=H[a>>2];f=e-g|0;c=f>>2;d=c+1|0;if(d>>>0<1073741824){h=c<<2;c=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(c){if(c>>>0>=1073741824){break a}f=pa(c<<2)}else{f=0}d=h+f|0;H[d>>2]=H[b>>2];b=d+4|0;if((e|0)!=(g|0)){while(1){d=d-4|0;e=e-4|0;H[d>>2]=H[e>>2];if((e|0)!=(g|0)){continue}break}}H[a+8>>2]=f+(c<<2);H[a+4>>2]=b;H[a>>2]=d;if(g){oa(g)}return}sa();v()}wa();v()}function Ia(a){H[a>>2]=-1;H[a+4>>2]=0;H[a+8>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;F[a+28|0]=1;H[a+20>>2]=0;H[a+24>>2]=0;H[a+12>>2]=0;H[a+16>>2]=0;H[a+40>>2]=0;H[a+44>>2]=0;H[a+48>>2]=0;H[a+52>>2]=0;H[a+56>>2]=0;H[a+60>>2]=0;H[a+64>>2]=0;H[a+68>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+88>>2]=0;H[a+92>>2]=0;H[a+96>>2]=0;H[a+72>>2]=a+4;H[a+104>>2]=0;H[a+108>>2]=0;F[a+100|0]=1;H[a+112>>2]=0;H[a+116>>2]=0;H[a+120>>2]=0;H[a+124>>2]=0;H[a+128>>2]=0;H[a+132>>2]=0;H[a+136>>2]=0;H[a+140>>2]=0}function Ld(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!H[H[4292]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){F[a+1|0]=b&63|128;F[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){F[a+2|0]=b&63|128;F[a|0]=b>>>12|224;F[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){F[a+3|0]=b&63|128;F[a|0]=b>>>18|240;F[a+2|0]=b>>>6&63|128;F[a+1|0]=b>>>12&63|128;a=4;break a}}H[3992]=25;a=-1}else{a=1}break a}F[a|0]=b;a=1}return a}function Hb(a,b){var c=0,d=0,e=0,f=0;d=H[a+12>>2];c=H[a+16>>2]-d>>2;a:{if(c>>>0>>0){ya(a+12|0,b-c|0);break a}if(b>>>0>=c>>>0){break a}H[a+16>>2]=d+(b<<2)}b:{c=H[a>>2];c:{if(H[a+8>>2]-c>>2>>>0>=b>>>0){break c}if(b>>>0>=1073741824){break b}d=H[a+4>>2];e=b<<2;b=pa(e);e=b+e|0;f=b+(d-c&-4)|0;b=f;if((c|0)!=(d|0)){while(1){b=b-4|0;d=d-4|0;H[b>>2]=H[d>>2];if((c|0)!=(d|0)){continue}break}}H[a+8>>2]=e;H[a+4>>2]=f;H[a>>2]=b;if(!c){break c}oa(c)}return}sa();v()}function _b(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=13724;b=H[a+68>>2];if(b){H[a+72>>2]=b;oa(b)}b=H[a+56>>2];if(b){H[a+60>>2]=b;oa(b)}b=H[a+44>>2];if(b){H[a+48>>2]=b;oa(b)}b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}b=H[a+20>>2];if(b){H[a+24>>2]=b;oa(b)}b=H[a+8>>2];if(b){d=b;c=H[a+12>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;d=H[c>>2];H[c>>2]=0;if(d){Ga(d)}if((b|0)!=(c|0)){continue}break}d=H[a+8>>2]}H[a+12>>2]=b;oa(d)}b=H[a+4>>2];H[a+4>>2]=0;if(b){Uc(b)}return a|0}function yb(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=ca-16|0;ca=f;d=ca-32|0;ca=d;e=ca-16|0;ca=e;H[e+12>>2]=b;H[e+8>>2]=b+c;H[d+24>>2]=H[e+12>>2];H[d+28>>2]=H[e+8>>2];ca=e+16|0;c=ca-16|0;ca=c;h=H[d+28>>2];e=H[d+24>>2];g=h-e|0;if((e|0)!=(h|0)){va(a,e,g)}H[c+12>>2]=e+g;H[c+8>>2]=a+g;H[d+16>>2]=H[c+12>>2];H[d+20>>2]=H[c+8>>2];ca=c+16|0;H[d+12>>2]=(H[d+16>>2]-b|0)+b;H[d+8>>2]=(H[d+20>>2]-a|0)+a;H[f+8>>2]=H[d+12>>2];H[f+12>>2]=H[d+8>>2];ca=d+32|0;ca=f+16|0}function ya(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=H[a+8>>2];c=H[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=ra(c,0,b)+b|0}H[a+4>>2]=c;return}a:{f=c;c=H[a>>2];g=f-c|0;h=g>>2;d=h+b|0;if(d>>>0<1073741824){e=e-c|0;f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}i=pa(d<<2)}b=b<<2;e=ra((h<<2)+i|0,0,b);f=d<<2;d=va(i,c,g);H[a+8>>2]=f+d;H[a+4>>2]=b+e;H[a>>2]=d;if(c){oa(c)}return}sa();v()}wa();v()}function Tc(a,b){var c=0,d=0,e=0,f=0;c=a+4|0;a=nb(a,b);a:{if((c|0)==(a|0)){break a}b=a+28|0;b=F[a+39|0]<0?H[b>>2]:b;while(1){a=b;b=a+1|0;c=F[a|0];if((c|0)==32|c-9>>>0<5){continue}break}b:{c:{d:{c=F[a|0];switch(c-43|0){case 0:break c;case 2:break d;default:break b}}e=1}c=F[b|0];a=b}if(c-48>>>0<10){while(1){d=(N(d,10)-F[a|0]|0)+48|0;b=F[a+1|0];a=a+1|0;if(b-48>>>0<10){continue}break}}a=e?d:0-d|0;if((a|0)==-1){break a}f=(a|0)!=0}return f}function bb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a=H[a>>2];c=H[a+4>>2];e=H[a+8>>2];if(c>>>0>>0){H[c>>2]=H[b>>2];H[a+4>>2]=c+4;return}a:{d=c;c=H[a>>2];g=d-c|0;d=g>>2;f=d+1|0;if(f>>>0<1073741824){h=d<<2;e=e-c|0;d=e>>>1|0;f=e>>>0>=2147483644?1073741823:f>>>0>>0?d:f;if(f){if(f>>>0>=1073741824){break a}e=pa(f<<2)}else{e=0}d=h+e|0;H[d>>2]=H[b>>2];b=va(e,c,g);H[a+8>>2]=b+(f<<2);H[a+4>>2]=d+4;H[a>>2]=b;if(c){oa(c)}return}sa();v()}wa();v()}function ob(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=H[a+8>>2];c=H[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=ra(c,0,b)+b|0}H[a+4>>2]=c;return}a:{f=c;c=H[a>>2];g=f-c|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){e=e-c|0;f=e>>>2|0;d=e>>>0>=2147483640?536870911:d>>>0>>0?f:d;if(d){if(d>>>0>=536870912){break a}i=pa(d<<3)}b=b<<3;e=ra((h<<3)+i|0,0,b);f=d<<3;d=va(i,c,g);H[a+8>>2]=f+d;H[a+4>>2]=b+e;H[a>>2]=d;if(c){oa(c)}return}sa();v()}wa();v()}function kf(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=2328;b=H[a+60>>2];H[a+60>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}d=H[a+36>>2];if(d){c=H[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=H[a+36>>2]}H[a+40>>2]=d;oa(b)}H[a>>2]=1984;b=H[a+16>>2];if(b){H[a+20>>2]=b;oa(b)}b=H[a+4>>2];if(b){H[a+8>>2]=b;oa(b)}return a|0}function jf(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=2328;b=H[a+60>>2];H[a+60>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}d=H[a+36>>2];if(d){c=H[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=H[a+36>>2]}H[a+40>>2]=d;oa(b)}H[a>>2]=1984;b=H[a+16>>2];if(b){H[a+20>>2]=b;oa(b)}b=H[a+4>>2];if(b){H[a+8>>2]=b;oa(b)}oa(a)}function xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=ca-16|0;ca=d;e=H[a+4>>2];a:{if((e|0)==-1){break a}c=H[b+20>>2];if(!!H[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Wb(b,H[b+4>>2],H[a+8>>2],H[a+12>>2]);c=H[b+20>>2];if(!!H[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Wb(b,H[b+4>>2],a+20|0,a+24|0);c=H[b+20>>2];f=H[b+16>>2];F[d+15|0]=H[a+4>>2];if(!!f&(c|0)>=0|(c|0)>0){break a}Wb(b,H[b+4>>2],d+15|0,d+16|0)}ca=d+16|0;return(e|0)!=-1|0}function Eh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;a:{b=H[a+8>>2];b:{if((b|0)<0){break b}c=H[a+4>>2];e=H[c>>2];d=H[c+4>>2]-e>>2;c:{if(d>>>0>>0){ue(c,b-d|0);f=H[a+8>>2];break c}f=b;if(b>>>0>=d>>>0){break c}H[c+4>>2]=e+(b<<2);f=b}d=f;if((d|0)<=0){break b}a=H[a+4>>2];c=H[a>>2];e=H[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(e|0)){break a}H[c+(a<<2)>>2]=a;a=a+1|0;if((d|0)!=(a|0)){continue}break}}return(b^-1)>>>31|0}Ca();v()}function qe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=H[a+8>>2];c=H[a+4>>2];if(e-c>>1>>>0>=b>>>0){if(b){b=b<<1;c=ra(c,0,b)+b|0}H[a+4>>2]=c;return}a:{f=c;c=H[a>>2];g=f-c|0;f=g>>1;d=f+b|0;if((d|0)>=0){e=e-c|0;d=e>>>0>=2147483646?2147483647:d>>>0>>0?e:d;if(d){if((d|0)<0){break a}h=pa(d<<1)}b=b<<1;e=ra((f<<1)+h|0,0,b);f=d<<1;d=va(h,c,g);H[a+8>>2]=f+d;H[a+4>>2]=b+e;H[a>>2]=d;if(c){oa(c)}return}sa();v()}wa();v()}function ng(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=ca-16|0;ca=d;Pe(d,a,b,c);H[a+24>>2]=H[d>>2];e=a+24|0;a:{if((e|0)==(d|0)){break a}b=a+28|0;c=d|4;f=I[d+15|0];g=f<<24>>24;if(F[a+39|0]>=0){if((g|0)>=0){a=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=a;H[b+8>>2]=H[c+8>>2];break a}Xb(b,H[d+4>>2],H[d+8>>2]);break a}a=(g|0)<0;Yb(b,a?H[d+4>>2]:c,a?H[d+8>>2]:f)}if(F[d+15|0]<0){oa(H[d+4>>2])}ca=d+16|0;return e|0}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=ca-16|0;ca=d;Oe(d,a,b,c);H[a+24>>2]=H[d>>2];e=a+24|0;a:{if((e|0)==(d|0)){break a}b=a+28|0;c=d|4;f=I[d+15|0];g=f<<24>>24;if(F[a+39|0]>=0){if((g|0)>=0){a=H[c+4>>2];H[b>>2]=H[c>>2];H[b+4>>2]=a;H[b+8>>2]=H[c+8>>2];break a}Xb(b,H[d+4>>2],H[d+8>>2]);break a}a=(g|0)<0;Yb(b,a?H[d+4>>2]:c,a?H[d+8>>2]:f)}if(F[d+15|0]<0){oa(H[d+4>>2])}ca=d+16|0;return e|0}function za(a,b,c){var d=0,e=0,f=0,g=0;e=ca-16|0;ca=e;a:{b:{if(c>>>0<11){d=a;F[a+11|0]=I[a+11|0]&128|c;F[a+11|0]=I[a+11|0]&127;break b}if(c>>>0>2147483631){break a}g=e+8|0;if(c>>>0>=11){f=c+16&-16;d=f-1|0;d=(d|0)==11?f:d}else{d=10}Zb(g,d+1|0);d=H[e+8>>2];H[a>>2]=d;H[a+8>>2]=H[a+8>>2]&-2147483648|H[e+12>>2]&2147483647;H[a+8>>2]=H[a+8>>2]|-2147483648;H[a+4>>2]=c}yb(d,b,c+1|0);ca=e+16|0;return}Na();v()}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=ca-16|0;ca=d;a:{e=Ma(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=pa(g);H[d+8>>2]=g|-2147483648;H[d>>2]=f;H[d+4>>2]=e;g=e+f|0;break c}F[d+11|0]=e;g=d+e|0;f=d;if(!e){break b}}qa(f,c,e)}F[g|0]=0;f=a+16|0;c=$d(b,d,f);b=H[a+16>>2];a=F[a+27|0];if(F[d+11|0]<0){oa(H[d>>2])}ca=d+16|0;a=c?(a|0)<0?b:f:0;break a}Na();v()}return a|0}function Mc(a,b){var c=0,d=0,e=0;c=H[a+4>>2];d=c+b|0;H[a+4>>2]=d;if(!((d-1^c-1)>>>0<32?c:0)){H[H[a>>2]+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0}a:{if(!b){break a}a=H[a>>2]+(c>>>3&536870908)|0;c=c&31;if(c){d=32-c|0;e=b>>>0>d>>>0?d:b;H[a>>2]=H[a>>2]&(-1<>>d-e^-1);b=b-e|0;a=a+4|0}c=b>>>5|0;if(b>>>0>=32){ra(a,0,c<<2)}if((b&-32)==(b|0)){break a}a=(c<<2)+a|0;H[a>>2]=H[a>>2]&(-1>>>32-(b&31)^-1)}}function Fc(a,b,c){var d=0,e=0,f=0;d=H[c+16>>2];a:{if(!d){if(Sd(c)){break a}d=H[c+16>>2]}f=H[c+20>>2];if(d-f>>>0>>0){return ea[H[c+36>>2]](c,a,b)|0}b:{if(H[c+80>>2]<0){d=0;break b}e=b;while(1){d=e;if(!d){d=0;break b}e=d-1|0;if(I[e+a|0]!=10){continue}break}e=ea[H[c+36>>2]](c,a,d)|0;if(e>>>0>>0){break a}a=a+d|0;b=b-d|0;f=H[c+20>>2]}qa(f,a,b);H[c+20>>2]=H[c+20>>2]+b;e=b+d|0}return e}function ad(a){var b=0,c=0,d=0,e=0;if(I[a+76|0]){F[a+76|0]=0;e=H[a+60>>2];c=H[a+72>>2]+7|0;b=c>>>0<7?1:b;d=b<<29|c>>>3;c=d+H[a+56>>2]|0;b=(b>>>3|0)+e|0;H[a+56>>2]=c;H[a+60>>2]=c>>>0>>0?b+1|0:b}if(J[a+38>>1]<=513){F[a+132|0]=0;e=H[a+116>>2];b=0;c=H[a+128>>2]+7|0;b=c>>>0<7?1:b;d=b<<29|c>>>3;c=d+H[a+112>>2]|0;b=(b>>>3|0)+e|0;H[a+112>>2]=c;H[a+116>>2]=c>>>0>>0?b+1|0:b}}function re(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=H[c+20>>2];f=H[c+12>>2];e=H[c+16>>2];if((d|0)>=(f|0)&e>>>0>=K[c+8>>2]|(d|0)>(f|0)){break a}f=F[e+H[c>>2]|0];e=e+1|0;d=e?d:d+1|0;H[c+16>>2]=e;H[c+20>>2]=d;d=f;b:{if((d|0)<0){if(!re(a+1|0,b,c)){break a}a=H[b>>2];d=d&127|a<<7;a=H[b+4>>2]<<7|a>>>25;break b}d=d&255;a=0}H[b>>2]=d;H[b+4>>2]=a;g=1}return g}function gb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=H[c+20>>2];f=H[c+12>>2];e=H[c+16>>2];if((d|0)>=(f|0)&e>>>0>=K[c+8>>2]|(d|0)>(f|0)){break a}f=F[e+H[c>>2]|0];e=e+1|0;d=e?d:d+1|0;H[c+16>>2]=e;H[c+20>>2]=d;d=f;b:{if((d|0)<0){if(!gb(a+1|0,b,c)){break a}a=H[b>>2];d=d&127|a<<7;a=H[b+4>>2]<<7|a>>>25;break b}d=d&255;a=0}H[b>>2]=d;H[b+4>>2]=a;g=1}return g}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=ca+-64|0;ca=e;d=ea[H[H[a>>2]+44>>2]](a,b)|0;a=ea[H[H[a>>2]+40>>2]](a,b)|0;f=Eb(e);g=H[b+56>>2];h=d&255;i=a;a=a-1|0;if(a>>>0<=10){a=H[(a<<2)+13584>>2]}else{a=-1}d=N(a,d);lc(f,g,h,i,0,d,d>>31);a=jc(pa(96),f);mb(a,c);F[a+84|0]=1;H[a+72>>2]=H[a+68>>2];H[a+60>>2]=H[b+60>>2];ca=e- -64|0;return a|0}function If(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Ya(a,H[b+8>>2],e)){if(!(H[b+28>>2]==1|H[b+4>>2]!=(c|0))){H[b+28>>2]=d}return}a:{if(!Ya(a,H[b>>2],e)){break a}if(!(H[b+16>>2]!=(c|0)&H[b+20>>2]!=(c|0))){if((d|0)!=1){break a}H[b+32>>2]=1;return}H[b+20>>2]=c;H[b+32>>2]=d;H[b+40>>2]=H[b+40>>2]+1;if(!(H[b+36>>2]!=1|H[b+24>>2]!=2)){F[b+54|0]=1}H[b+44>>2]=4}}function Bh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=H[a+32>>2];b=e;h=H[b+8>>2];g=H[b+12>>2];c=H[b+16>>2];b=H[b+20>>2];f=c+4|0;b=f>>>0<4?b+1|0:b;d=0;a:{if(f>>>0>h>>>0&(b|0)>=(g|0)|(b|0)>(g|0)){break a}c=H[e>>2]+c|0;c=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[e+16>>2]=f;H[e+20>>2]=b;d=0;if((c|0)<0){break a}H[H[a+4>>2]+80>>2]=c;d=1}return d|0}function qi(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=11276;b=H[a+48>>2];H[a+48>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}H[a>>2]=13280;b=H[a+20>>2];if(b){H[a+24>>2]=b;oa(b)}d=H[a+8>>2];if(d){c=H[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=H[a+8>>2]}H[a+12>>2]=d;oa(b)}return a|0}function Ee(a,b){var c=0,d=0,e=0,f=0;H[a+144>>2]=b;c=H[(ea[H[H[b>>2]+32>>2]](b)|0)+32>>2];c=H[c>>2]+H[c+16>>2]|0;d=H[(ea[H[H[b>>2]+32>>2]](b)|0)+32>>2];d=H[d+8>>2]-H[d+16>>2]|0;e=a,f=J[H[(ea[H[H[b>>2]+32>>2]](b)|0)+32>>2]+38>>1],G[e+38>>1]=f;H[a>>2]=c;H[a+16>>2]=0;H[a+20>>2]=0;H[a+8>>2]=d;H[a+12>>2]=0;e=a,f=ea[H[H[b>>2]+36>>2]](b)|0,H[e+148>>2]=f}function Cd(a,b,c,d){F[a+53|0]=1;a:{if(H[a+4>>2]!=(c|0)){break a}F[a+52|0]=1;c=H[a+16>>2];b:{if(!c){H[a+36>>2]=1;H[a+24>>2]=d;H[a+16>>2]=b;if((d|0)!=1){break a}if(H[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=H[a+24>>2];if((c|0)==2){H[a+24>>2]=d;c=d}if(H[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}H[a+36>>2]=H[a+36>>2]+1}F[a+54|0]=1}}function pi(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=11276;b=H[a+48>>2];H[a+48>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}H[a>>2]=13280;b=H[a+20>>2];if(b){H[a+24>>2]=b;oa(b)}d=H[a+8>>2];if(d){c=H[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=H[a+8>>2]}H[a+12>>2]=d;oa(b)}oa(a)}function zh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=H[a+32>>2];b=e;g=H[b+8>>2];d=H[b+12>>2];c=H[b+16>>2];b=H[b+20>>2];f=d;d=c+4|0;b=d>>>0<4?b+1|0:b;if((f|0)>=(b|0)&d>>>0<=g>>>0|(b|0)<(f|0)){c=H[e>>2]+c|0;c=I[c|0]|I[c+1|0]<<8|(I[c+2|0]<<16|I[c+3|0]<<24);H[e+16>>2]=d;H[e+20>>2]=b;H[H[a+4>>2]+80>>2]=c}return(b|0)<=(f|0)&d>>>0<=g>>>0|(b|0)<(f|0)}function Mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=ca+-64|0;ca=e;d=1;a:{if(Ya(a,b,0)){break a}d=0;if(!b){break a}b=Ed(b,14972);d=0;if(!b){break a}d=e+8|0;ra(d|4,0,52);H[e+56>>2]=1;H[e+20>>2]=-1;H[e+16>>2]=a;H[e+8>>2]=b;ea[H[H[b>>2]+28>>2]](b,d,H[c>>2],1);a=H[e+32>>2];if((a|0)==1){H[c>>2]=H[e+24>>2]}d=(a|0)==1}ca=e- -64|0;return d|0}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ca-16|0;ca=d;H[a+4>>2]=b;b=H[b+64>>2];e=H[b>>2];b=H[b+4>>2];F[d+15|0]=0;Oa(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=H[a+4>>2];e=H[b+56>>2];b=H[b+52>>2];F[d+14|0]=0;Oa(a+36|0,e-b>>2,d+14|0);b=H[c+12>>2];H[a+16>>2]=H[c+8>>2];H[a+20>>2]=b;b=H[c+4>>2];H[a+8>>2]=H[c>>2];H[a+12>>2]=b;ca=d+16|0}function pc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!b){H[c>>2]=0;return}h=0-I[a+12|0]&255;e=H[a+4>>2];d=H[a+8>>2];i=H[a>>2];while(1){j=f<<1;if(!((e|0)<=0|d>>>0>4095)){e=e-1|0;H[a+4>>2]=e;d=I[e+i|0]|d<<8}g=d&255;f=g>>>0>>0;k=g;g=N(d>>>8|0,h);d=f?k+g|0:d-(h+g|0)|0;H[a+8>>2]=d;f=f|j;b=b-1|0;if(b){continue}break}H[c>>2]=f}function yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a=ca-16|0;ca=a;f=F[b+24|0];e=H[3411];H[a+8>>2]=H[3410];H[a+12>>2]=e;e=H[3409];H[a>>2]=H[3408];H[a+4>>2]=e;e=Va(b,c,f,a);if(e){b=0;if(f){c=(f&255)<<2;b=pa(c);g=qa(b,a,c)+c|0}c=H[d>>2];if(c){H[d+4>>2]=c;oa(c)}H[d+8>>2]=g;H[d+4>>2]=g;H[d>>2]=b}ca=a+16|0;return e|0}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=ea[H[H[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=H[H[a+36>>2]>>2];g=a+48|0;c=0;if(!(ea[H[H[d>>2]+16>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=H[H[a+36>>2]+(e<<2)>>2];if(ea[H[H[d>>2]+16>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=ea[H[H[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=H[H[a+36>>2]>>2];g=a+48|0;c=0;if(!(ea[H[H[d>>2]+20>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=H[H[a+36>>2]+(e<<2)>>2];if(ea[H[H[d>>2]+20>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function _c(a,b){var c=0,d=0;a:{c=H[a+4>>2];d=H[a+8>>2];if((c|0)==d<<5){if((c+1|0)<0){break a}if(c>>>0<=1073741822){d=d<<6;c=(c&-32)+32|0;c=c>>>0>>0?d:c}else{c=2147483647}pb(a,c);c=H[a+4>>2]}H[a+4>>2]=c+1;d=1<>2]+(c>>>3&536870908)|0;if(I[b|0]){H[a>>2]=d|H[a>>2];return}H[a>>2]=H[a>>2]&(d^-1);return}sa();v()}function $h(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ca-16|0;ca=d;H[a+4>>2]=b;e=H[b>>2];b=H[b+4>>2];F[d+15|0]=0;Oa(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=H[a+4>>2];e=H[b+28>>2];b=H[b+24>>2];F[d+14|0]=0;Oa(a+36|0,e-b>>2,d+14|0);b=H[c+12>>2];H[a+16>>2]=H[c+8>>2];H[a+20>>2]=b;b=H[c+4>>2];H[a+8>>2]=H[c>>2];H[a+12>>2]=b;ca=d+16|0}function $b(a){var b=0;H[a>>2]=0;H[a+4>>2]=0;H[a+56>>2]=0;H[a+48>>2]=0;H[a+52>>2]=0;H[a+40>>2]=0;H[a+44>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;H[a+24>>2]=0;H[a+28>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0;b=a- -64|0;H[b>>2]=0;H[b+4>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;H[a+80>>2]=0;H[a+84>>2]=0;H[a+60>>2]=a;return a}function td(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=H[c+20>>2];e=H[c+12>>2];f=H[c+16>>2];if((d|0)>=(e|0)&f>>>0>=K[c+8>>2]|(d|0)>(e|0)){break a}e=I[H[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;H[c+16>>2]=f;H[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!td(a+1|0,b,c)){break a}e=d&127|H[b>>2]<<7}H[b>>2]=e;g=1}return g} function hb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=H[c+20>>2];e=H[c+12>>2];f=H[c+16>>2];if((d|0)>=(e|0)&f>>>0>=K[c+8>>2]|(d|0)>(e|0)){break a}e=I[H[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;H[c+16>>2]=f;H[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!hb(a+1|0,b,c)){break a}e=d&127|H[b>>2]<<7}H[b>>2]=e;g=1}return g}function Xa(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=H[c+20>>2];e=H[c+12>>2];f=H[c+16>>2];if((d|0)>=(e|0)&f>>>0>=K[c+8>>2]|(d|0)>(e|0)){break a}e=I[H[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;H[c+16>>2]=f;H[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Xa(a+1|0,b,c)){break a}e=d&127|H[b>>2]<<7}H[b>>2]=e;g=1}return g}function Qe(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=H[c+20>>2];e=H[c+12>>2];f=H[c+16>>2];if((d|0)>=(e|0)&f>>>0>=K[c+8>>2]|(d|0)>(e|0)){break a}e=I[H[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;H[c+16>>2]=f;H[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Qe(a+1|0,b,c)){break a}e=d&127|H[b>>2]<<7}H[b>>2]=e;g=1}return g}function Pc(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=H[c+20>>2];e=H[c+12>>2];f=H[c+16>>2];if((d|0)>=(e|0)&f>>>0>=K[c+8>>2]|(d|0)>(e|0)){break a}e=I[H[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;H[c+16>>2]=f;H[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Pc(a+1|0,b,c)){break a}e=d&127|H[b>>2]<<7}H[b>>2]=e;g=1}return g}function Fb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=H[c+20>>2];e=H[c+12>>2];f=H[c+16>>2];if((d|0)>=(e|0)&f>>>0>=K[c+8>>2]|(d|0)>(e|0)){break a}e=I[H[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;H[c+16>>2]=f;H[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Fb(a+1|0,b,c)){break a}e=d&127|H[b>>2]<<7}H[b>>2]=e;g=1}return g}function Ea(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=H[c+20>>2];e=H[c+12>>2];f=H[c+16>>2];if((d|0)>=(e|0)&f>>>0>=K[c+8>>2]|(d|0)>(e|0)){break a}e=I[H[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;H[c+16>>2]=f;H[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Ea(a+1|0,b,c)){break a}e=d&127|H[b>>2]<<7}H[b>>2]=e;g=1}return g}function Bb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=H[c+20>>2];e=H[c+12>>2];f=H[c+16>>2];if((d|0)>=(e|0)&f>>>0>=K[c+8>>2]|(d|0)>(e|0)){break a}e=I[H[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;H[c+16>>2]=f;H[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Bb(a+1|0,b,c)){break a}e=d&127|H[b>>2]<<7}H[b>>2]=e;g=1}return g}function Fa(a,b,c){var d=0,e=0;a:{b:{if(c>>>0>=4){if((a|b)&3){break b}while(1){if(H[a>>2]!=H[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}while(1){d=I[a|0];e=I[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function Yc(a){var b=0,c=0,d=0,e=0;d=H[a>>2];if(d){e=d;c=H[a+4>>2];if((d|0)!=(c|0)){while(1){e=c-144|0;b=H[e+132>>2];if(b){H[c-8>>2]=b;oa(b)}b=H[c-28>>2];if(b){H[c-24>>2]=b;oa(b)}b=H[c-40>>2];if(b){H[c-36>>2]=b;oa(b)}oc(c-140|0);c=e;if((d|0)!=(c|0)){continue}break}e=H[a>>2]}H[a+4>>2]=d;oa(e)}}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=H[b+4>>2];a:{if(!d){break a}b=H[H[H[b+8>>2]+(c<<2)>>2]+60>>2];if((b|0)<0){break a}a=H[d+24>>2];c=H[d+28>>2];if((a|0)==(c|0)){break a}b:{while(1){e=H[a>>2];if((b|0)==H[e+24>>2]){break b}a=a+4|0;if((c|0)!=(a|0)){continue}break}e=0}}return e|0}function Zh(a){a=a|0;var b=0;H[a+8>>2]=12384;H[a>>2]=12172;b=H[a+96>>2];if(b){H[a+100>>2]=b;oa(b)}b=H[a+80>>2];if(b){H[a+84>>2]=b;oa(b)}b=H[a+68>>2];if(b){H[a+72>>2]=b;oa(b)}b=H[a+56>>2];if(b){H[a+60>>2]=b;oa(b)}H[a+8>>2]=12620;b=H[a+44>>2];if(b){oa(b)}b=H[a+32>>2];if(b){oa(b)}return a|0}function Uc(a){var b=0,c=0,d=0;if(a){d=H[a+24>>2];if(d){b=d;c=H[a+28>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;if(b){Ra(b+12|0,H[b+16>>2]);Qa(b,H[b+4>>2]);oa(b)}if((c|0)!=(d|0)){continue}break}b=H[a+24>>2]}H[a+28>>2]=d;oa(b)}Ra(a+12|0,H[a+16>>2]);Qa(a,H[a+4>>2]);oa(a)}}function Yh(a){a=a|0;var b=0;H[a+8>>2]=12384;H[a>>2]=12172;b=H[a+96>>2];if(b){H[a+100>>2]=b;oa(b)}b=H[a+80>>2];if(b){H[a+84>>2]=b;oa(b)}b=H[a+68>>2];if(b){H[a+72>>2]=b;oa(b)}b=H[a+56>>2];if(b){H[a+60>>2]=b;oa(b)}H[a+8>>2]=12620;b=H[a+44>>2];if(b){oa(b)}b=H[a+32>>2];if(b){oa(b)}oa(a)}function vi(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=13280;b=H[a+20>>2];if(b){H[a+24>>2]=b;oa(b)}d=H[a+8>>2];if(d){c=H[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=H[a+8>>2]}H[a+12>>2]=d;oa(b)}return a|0}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=H[c+8>>2];e=H[c+16>>2];g=H[c+12>>2];f=g;d=H[c+20>>2];if(h>>>0>e>>>0&(f|0)>=(d|0)|(d|0)<(f|0)){b=I[H[c>>2]+e|0];i=e+1|0;f=i?d:d+1|0;H[c+16>>2]=i;H[c+20>>2]=f;H[a+4>>2]=b}return e>>>0>>0&(d|0)<=(g|0)|(d|0)<(g|0)}function Wc(a){a=a|0;var b=0,c=0,d=0;H[a>>2]=13280;b=H[a+20>>2];if(b){H[a+24>>2]=b;oa(b)}d=H[a+8>>2];if(d){c=H[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=H[c>>2];H[c>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=H[a+8>>2]}H[a+12>>2]=d;oa(b)}oa(a)}function Ya(a,b,c){var d=0;if(!c){return H[a+4>>2]==H[b+4>>2]}if((a|0)==(b|0)){return 1}d=H[a+4>>2];a=I[d|0];c=H[b+4>>2];b=I[c|0];a:{if(!a|(b|0)!=(a|0)){break a}while(1){b=I[c+1|0];a=I[d+1|0];if(!a){break a}c=c+1|0;d=d+1|0;if((a|0)==(b|0)){continue}break}}return(a|0)==(b|0)}function _h(a){a=a|0;var b=0;H[a>>2]=12384;b=H[a+88>>2];if(b){H[a+92>>2]=b;oa(b)}b=H[a+72>>2];if(b){H[a+76>>2]=b;oa(b)}b=H[a+60>>2];if(b){H[a- -64>>2]=b;oa(b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}H[a>>2]=12620;b=H[a+36>>2];if(b){oa(b)}b=H[a+24>>2];if(b){oa(b)}return a|0}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=H[b+12>>2];b=H[b+8>>2];a=0;a:{if((d|0)==(b|0)){break a}a=d-b>>2;d=a>>>0<=1?1:a;a=0;b:{while(1){e=H[b+(a<<2)>>2];if(H[e+60>>2]==(c|0)){break b}a=a+1|0;if((d|0)!=(a|0)){continue}break}a=0;break a}a=(a|0)!=-1?e:0}return a|0}function ae(a,b){var c=0,d=0,e=0;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;a:{c=H[b+4>>2];d=H[b>>2];b:{if((c|0)==(d|0)){a=c;break b}c=c-d|0;if((c|0)<0){break a}d=c;e=pa(c);c=ra(e,0,c);d=d+c|0;H[a+8>>2]=d;H[a+4>>2]=d;H[a>>2]=c;c=H[b>>2];a=H[b+4>>2]}qa(e,c,a-c|0);return}sa();v()}function ed(a){var b=0,c=0,d=0,e=0;c=H[a+4>>2];d=H[a>>2];if((c|0)!=(d|0)){while(1){e=c-144|0;b=H[e+132>>2];if(b){H[c-8>>2]=b;oa(b)}b=H[c-28>>2];if(b){H[c-24>>2]=b;oa(b)}b=H[c-40>>2];if(b){H[c-36>>2]=b;oa(b)}oc(c-140|0);c=e;if((d|0)!=(c|0)){continue}break}}H[a+4>>2]=d}function Vh(a){a=a|0;var b=0;H[a>>2]=12384;b=H[a+88>>2];if(b){H[a+92>>2]=b;oa(b)}b=H[a+72>>2];if(b){H[a+76>>2]=b;oa(b)}b=H[a+60>>2];if(b){H[a- -64>>2]=b;oa(b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}H[a>>2]=12620;b=H[a+36>>2];if(b){oa(b)}b=H[a+24>>2];if(b){oa(b)}oa(a)}function cb(a){var b=0;if(a){b=H[a+76>>2];if(b){H[a+80>>2]=b;oa(b)}b=H[a- -64>>2];if(b){H[a+68>>2]=b;oa(b)}b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}b=H[a+24>>2];if(b){H[a+28>>2]=b;oa(b)}b=H[a+12>>2];if(b){H[a+16>>2]=b;oa(b)}b=H[a>>2];if(b){H[a+4>>2]=b;oa(b)}oa(a)}}function Jd(a,b,c){var d=0,e=0,f=0,g=0;f=ca-16|0;ca=f;d=ca-16|0;ca=d;b=b-a>>2;while(1){if(b){H[d+12>>2]=a;e=b>>>1|0;H[d+12>>2]=H[d+12>>2]+(e<<2);g=(e^-1)+b|0;b=e;e=K[H[d+12>>2]>>2]>2];b=e?g:b;a=e?H[d+12>>2]+4|0:a;continue}break}ca=d+16|0;ca=f+16|0;return a}function oc(a){var b=0;b=H[a+84>>2];if(b){H[a+88>>2]=b;oa(b)}b=H[a+72>>2];if(b){H[a+76>>2]=b;oa(b)}b=H[a+52>>2];if(b){H[a+56>>2]=b;oa(b)}b=H[a+40>>2];if(b){H[a+44>>2]=b;oa(b)}b=H[a+28>>2];if(b){H[a+32>>2]=b;oa(b)}b=H[a+12>>2];if(b){oa(b)}a=H[a>>2];if(a){oa(a)}}function Xc(a,b){var c=0,d=0;d=pa(40);H[d>>2]=-1;c=d+8|0;H[c+16>>2]=0;H[c+20>>2]=0;H[c+8>>2]=0;H[c>>2]=0;H[c+4>>2]=0;H[c+24>>2]=0;H[c+28>>2]=0;ea[H[H[a>>2]+16>>2]](a,d);a=H[b+88>>2];H[b+88>>2]=d;if(a){b=H[a+8>>2];if(b){H[a+12>>2]=b;oa(b)}oa(a)}return 1}function Ma(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!I[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=H[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(I[b|0]){continue}break}}return b-a|0}function Ba(a){var b=0,c=0,d=0,e=0,f=0;d=I[a+12|0];c=H[a+8>>2];a:{if(c>>>0>4095){break a}b=H[a+4>>2];if((b|0)<=0){break a}b=b-1|0;H[a+4>>2]=b;c=I[b+H[a>>2]|0]|c<<8}d=0-d&255;b=N(d,c>>>8|0);e=c&255;f=e>>>0>>0;H[a+8>>2]=f?b+e|0:c-(b+d|0)|0;return f}function od(a,b){H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=1984;H[a+12>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+24>>2]=0;H[a+28>>2]=0;H[a+32>>2]=0;H[a+36>>2]=0;H[a+40>>2]=0;H[a>>2]=2328;H[a+60>>2]=b;H[a+44>>2]=0;H[a+48>>2]=0;H[a+52>>2]=0;H[a+56>>2]=0;return a}function mc(a,b){var c=0,d=0,e=0;c=Ma(b);if(c>>>0<2147483632){a:{b:{if(c>>>0>=11){d=(c|15)+1|0;e=pa(d);H[a+8>>2]=d|-2147483648;H[a>>2]=e;H[a+4>>2]=c;d=c+e|0;break b}F[a+11|0]=c;d=a+c|0;e=a;if(!c){break a}}va(e,b,c)}F[d|0]=0;return a}Na();v()}function Ng(a){a=a|0;var b=0,c=0,d=0;if(a){if(F[a+27|0]<0){oa(H[a+16>>2])}b=H[a>>2];if(b){c=b;d=H[a+4>>2];if((b|0)!=(d|0)){while(1){c=d-12|0;if(F[d-1|0]<0){oa(H[c>>2])}d=c;if((d|0)!=(b|0)){continue}break}c=H[a>>2]}H[a+4>>2]=b;oa(c)}oa(a)}}function Jb(a,b){var c=0,d=0,e=0;a:{c=H[a>>2];b:{if(H[a+8>>2]-c>>2>>>0>=b>>>0){break b}if(b>>>0>=1073741824){break a}d=H[a+4>>2]-c|0;e=b<<2;b=va(pa(e),c,d);H[a+8>>2]=b+e;H[a+4>>2]=b+d;H[a>>2]=b;if(!c){break b}oa(c)}return}sa();v()}function Ga(a){a=a|0;var b=0,c=0;if(a){b=H[a+88>>2];H[a+88>>2]=0;if(b){c=H[b+8>>2];if(c){H[b+12>>2]=c;oa(c)}oa(b)}b=H[a+68>>2];if(b){H[a+72>>2]=b;oa(b)}b=H[a+64>>2];H[a+64>>2]=0;if(b){c=H[b>>2];if(c){H[b+4>>2]=c;oa(c)}oa(b)}oa(a)}}function Nd(a){var b=0,c=0,d=0;if(F[H[a>>2]]-48>>>0>=10){return 0}while(1){d=H[a>>2];c=-1;if(b>>>0<=214748364){c=F[d|0]-48|0;b=N(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}H[a>>2]=d+1;b=c;if(F[d+1|0]-48>>>0<10){continue}break}return b}function Cg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=H[b+96>>2];a=pa(12);b=b+N(c,12)|0;c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c;H[a+8>>2]=H[b+8>>2];b=H[d>>2];if(b){H[d+4>>2]=b;oa(b)}H[d>>2]=a;a=a+12|0;H[d+8>>2]=a;H[d+4>>2]=a;return 1}function Ai(a){a=a|0;var b=0;H[a+24>>2]=1832;H[a>>2]=11048;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}H[a>>2]=2448;b=H[a+20>>2];H[a+20>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}H[a>>2]=2232;b=H[a+16>>2];H[a+16>>2]=0;if(b){Ga(b)}return a|0}function Sj(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=Tj(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;da=(g^da)-((a>>>0>>0)+g|0)|0;return b}function yi(a){a=a|0;var b=0;H[a+24>>2]=1832;H[a>>2]=11048;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}H[a>>2]=2448;b=H[a+20>>2];H[a+20>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}H[a>>2]=2232;b=H[a+16>>2];H[a+16>>2]=0;if(b){Ga(b)}oa(a)}function Yb(a,b,c){var d=0,e=0,f=0;e=ca-16|0;ca=e;d=H[a+8>>2]&2147483647;a:{if(d>>>0>c>>>0){d=H[a>>2];H[a+4>>2]=c;yb(d,b,c);F[e+15|0]=0;F[c+d|0]=I[e+15|0];break a}f=a;a=H[a+4>>2];Gd(f,d-1|0,(c-d|0)+1|0,a,a,c,b)}ca=e+16|0}function Bf(a,b){a=a|0;b=b|0;var c=0,d=0;c=ca-16|0;ca=c;a=H[a+4>>2];a:{if((a|0)==-1){break a}F[c+15|0]=a;d=H[b+20>>2];if(!!H[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Wb(b,H[b+4>>2],c+15|0,c+16|0)}ca=c+16|0;return(a|0)!=-1|0}function Xb(a,b,c){var d=0,e=0;d=ca-16|0;ca=d;a:{if(c>>>0<=10){F[a+11|0]=I[a+11|0]&128|c;F[a+11|0]=I[a+11|0]&127;yb(a,b,c);F[d+15|0]=0;F[a+c|0]=I[d+15|0];break a}e=a;a=I[a+11|0]&127;Gd(e,10,c-10|0,a,a,c,b)}ca=d+16|0}function Rj(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=N(e,f);g=c&65535;h=a&65535;i=N(g,h);f=(i>>>16|0)+N(f,g)|0;e=(f&65535)+N(e,h)|0;da=(N(b,c)+j|0)+N(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function Dd(a,b,c){var d=0;d=H[a+16>>2];if(!d){H[a+36>>2]=1;H[a+24>>2]=c;H[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(H[a+24>>2]!=2){break a}H[a+24>>2]=c;return}F[a+54|0]=1;H[a+24>>2]=2;H[a+36>>2]=H[a+36>>2]+1}}function th(){var a=0;a=Eb(pa(96));H[a+64>>2]=0;H[a+68>>2]=0;H[a+88>>2]=0;H[a+72>>2]=0;H[a+76>>2]=0;F[a+77|0]=0;F[a+78|0]=0;F[a+79|0]=0;F[a+80|0]=0;F[a+81|0]=0;F[a+82|0]=0;F[a+83|0]=0;F[a+84|0]=0;return a|0}function zi(a,b){a=a|0;b=b|0;var c=0,d=0;H[b>>2]=2;c=H[b+8>>2];d=H[b+12>>2]-c|0;if(d>>>0<=4294967291){kc(b+8|0,d+4|0);c=H[b+8>>2]}b=c+d|0;a=H[a+4>>2];F[b|0]=a;F[b+1|0]=a>>>8;F[b+2|0]=a>>>16;F[b+3|0]=a>>>24}function rj(a){a=a|0;var b=0;H[a>>2]=5580;b=H[a+96>>2];if(b){oa(b)}b=H[a+84>>2];if(b){oa(b)}b=H[a+72>>2];if(b){oa(b)}b=H[a+60>>2];if(b){oa(b)}H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}return a|0}function ib(a,b,c,d,e){var f=0;f=ca-256|0;ca=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;ra(f,b&255,c?d:256);if(!c){while(1){Ab(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}Ab(a,f,d)}ca=f+256|0}function Ij(a){a=a|0;var b=0;H[a>>2]=3564;b=H[a+96>>2];if(b){oa(b)}b=H[a+84>>2];if(b){oa(b)}b=H[a+72>>2];if(b){oa(b)}b=H[a+60>>2];if(b){oa(b)}H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}return a|0}function Ch(a){a=a|0;var b=0,c=0,d=0;b=H[a+8>>2];d=H[a+12>>2];if((b|0)==(d|0)){return 1}while(1){c=H[b>>2];c=ea[H[H[c>>2]+16>>2]](c,H[a+32>>2])|0;if(c){b=b+4|0;if((d|0)!=(b|0)){continue}}break}return c|0}function Yd(a,b){var c=0,d=0;c=H[a+8>>2];a=H[a+12>>2];if((c|0)!=(a|0)){a=a-c>>2;d=a>>>0<=1?1:a;a=0;while(1){if(H[H[(a<<2)+c>>2]+60>>2]==(b|0)){return a}a=a+1|0;if((d|0)!=(a|0)){continue}break}}return-1}function qj(a){a=a|0;var b=0;H[a>>2]=5580;b=H[a+96>>2];if(b){oa(b)}b=H[a+84>>2];if(b){oa(b)}b=H[a+72>>2];if(b){oa(b)}b=H[a+60>>2];if(b){oa(b)}H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}oa(a)}function Hj(a){a=a|0;var b=0;H[a>>2]=3564;b=H[a+96>>2];if(b){oa(b)}b=H[a+84>>2];if(b){oa(b)}b=H[a+72>>2];if(b){oa(b)}b=H[a+60>>2];if(b){oa(b)}H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}oa(a)}function $d(a,b,c){var d=0,e=0;d=a+4|0;a=nb(a,b);a:{if((d|0)==(a|0)){break a}b=H[a+32>>2];d=H[a+28>>2];if((b|0)==(d|0)){break a}Cc(c,b-d|0);c=Dc(c);b=H[a+28>>2];qa(c,b,H[a+32>>2]-b|0);e=1}return e}function Qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=ca-16|0;ca=e;a=_(H[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){H[3992]=a;a=-1}else{a=0}ca=e+16|0;da=a?-1:H[e+12>>2];return(a?-1:H[e+8>>2])|0}function Sd(a){var b=0;b=H[a+72>>2];H[a+72>>2]=b-1|b;b=H[a>>2];if(b&8){H[a>>2]=b|32;return-1}H[a+4>>2]=0;H[a+8>>2]=0;b=H[a+44>>2];H[a+28>>2]=b;H[a+20>>2]=b;H[a+16>>2]=b+H[a+48>>2];return 0}function Eb(a){H[a+8>>2]=0;H[a+12>>2]=0;H[a>>2]=0;H[a+40>>2]=0;H[a+44>>2]=0;H[a+28>>2]=9;F[a+24|0]=1;H[a+56>>2]=-1;H[a+60>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+48>>2]=0;H[a+52>>2]=0;return a}function hf(a,b){a=a|0;b=b|0;var c=0,d=0;d=H[a+16>>2];c=0;a:{if(H[a+20>>2]-d>>2<=(b|0)){break a}b=H[(b<<2)+d>>2];c=0;if((b|0)<0){break a}c=rb(H[H[a+36>>2]+(b<<2)>>2])}return c|0}function Mg(){var a=0,b=0;a=pa(40);H[a+4>>2]=0;H[a+8>>2]=0;H[a+24>>2]=0;H[a+28>>2]=0;b=a+16|0;H[b>>2]=0;H[b+4>>2]=0;H[a>>2]=a+4;H[a+12>>2]=b;H[a+32>>2]=0;H[a+36>>2]=0;return a|0}function Vf(a,b){a=a|0;b=b|0;var c=0,d=0;Wd(a,b);a:{if((b|0)<0){break a}d=H[a+88>>2];c=H[a+84>>2];if(d-c>>2<=(b|0)){break a}c=(b<<2)+c|0;b=c+4|0;va(c,b,d-b|0);H[a+88>>2]=d-4}}function Rh(a){a=a|0;var b=0;H[a+8>>2]=12804;H[a>>2]=12640;b=H[a+56>>2];if(b){H[a+60>>2]=b;oa(b)}H[a+8>>2]=12620;b=H[a+44>>2];if(b){oa(b)}b=H[a+32>>2];if(b){oa(b)}return a|0}function Lh(a){a=a|0;var b=0;H[a+8>>2]=11872;H[a>>2]=12932;b=H[a+56>>2];if(b){H[a+60>>2]=b;oa(b)}H[a+8>>2]=12124;b=H[a+44>>2];if(b){oa(b)}b=H[a+32>>2];if(b){oa(b)}return a|0}function zb(a){var b=0,c=0;b=H[3958];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>fa()<<16>>>0){if(!($(a|0)|0)){break a}}H[3958]=a;return b}H[3992]=48;return-1}function bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;H[a+4>>2]=b;b=H[H[H[b+4>>2]+8>>2]+(c<<2)>>2];H[a+12>>2]=c;H[a+8>>2]=b;a=H[a+8>>2];if(I[a+24|0]==3){d=H[a+28>>2]==9}return d|0}function wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=H[a+8>>2];a:{if(!I[d+24|0]){break a}if(!mb(d,H[b+4>>2]-H[b>>2]>>2)){break a}e=ea[H[H[a>>2]+32>>2]](a,b,c)|0}return e|0}function Qh(a){a=a|0;var b=0;H[a+8>>2]=12804;H[a>>2]=12640;b=H[a+56>>2];if(b){H[a+60>>2]=b;oa(b)}H[a+8>>2]=12620;b=H[a+44>>2];if(b){oa(b)}b=H[a+32>>2];if(b){oa(b)}oa(a)}function Kh(a){a=a|0;var b=0;H[a+8>>2]=11872;H[a>>2]=12932;b=H[a+56>>2];if(b){H[a+60>>2]=b;oa(b)}H[a+8>>2]=12124;b=H[a+44>>2];if(b){oa(b)}b=H[a+32>>2];if(b){oa(b)}oa(a)}function nj(a){a=a|0;var b=0;H[a>>2]=5816;b=H[a+76>>2];if(b){oa(b)}b=H[a+68>>2];H[a+68>>2]=0;if(b){oa(b)}H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}return a|0}function Ra(a,b){if(b){Ra(a,H[b>>2]);Ra(a,H[b+4>>2]);a=H[b+28>>2];H[b+28>>2]=0;if(a){Ra(a+12|0,H[a+16>>2]);Qa(a,H[a+4>>2]);oa(a)}if(F[b+27|0]<0){oa(H[b+16>>2])}oa(b)}}function Gi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;H[a+4>>2]=b;d=H[H[H[b+4>>2]+8>>2]+(c<<2)>>2];H[a+12>>2]=c;H[a+8>>2]=d;return H[H[H[H[b+4>>2]+8>>2]+(c<<2)>>2]+28>>2]==9|0}function Ej(a){a=a|0;var b=0;H[a>>2]=3812;b=H[a+76>>2];if(b){oa(b)}b=H[a+68>>2];H[a+68>>2]=0;if(b){oa(b)}H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}return a|0}function Vc(a){H[a+40>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;H[a>>2]=13280;H[a+12>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+24>>2]=0;H[a+28>>2]=0;H[a+32>>2]=0;G[a+36>>1]=0;return a}function Hd(a,b){var c=0,d=0,e=0,f=0;H[a>>2]=15260;H[a>>2]=15372;c=Ma(b);d=pa(c+13|0);H[d+8>>2]=0;H[d+4>>2]=c;H[d>>2]=c;e=a,f=qa(d+12|0,b,c+1|0),H[e+4>>2]=f;return a}function jg(a,b){a=a|0;b=b|0;var c=0;a:{if(!(ea[H[H[a>>2]+36>>2]](a,b)|0)){break a}if(!(ea[H[H[a>>2]+40>>2]](a,b)|0)){break a}c=ea[H[H[a>>2]+44>>2]](a)|0}return c|0}function mj(a){a=a|0;var b=0;H[a>>2]=5816;b=H[a+76>>2];if(b){oa(b)}b=H[a+68>>2];H[a+68>>2]=0;if(b){oa(b)}H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}oa(a)}function Dj(a){a=a|0;var b=0;H[a>>2]=3812;b=H[a+76>>2];if(b){oa(b)}b=H[a+68>>2];H[a+68>>2]=0;if(b){oa(b)}H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}oa(a)}function Xe(a){a=a|0;var b=0;a:{if(!H[a- -64>>2]|!H[a+68>>2]|(!H[a+44>>2]|!H[a+48>>2])){break a}if(!H[a+52>>2]|!H[a+56>>2]){break a}b=H[a+92>>2]!=-1}return b|0}function cf(a){a=a|0;var b=0;H[a>>2]=2448;b=H[a+20>>2];H[a+20>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}H[a>>2]=2232;b=H[a+16>>2];H[a+16>>2]=0;if(b){Ga(b)}return a|0}function Pj(a,b){a=a|0;b=b|0;var c=0;b=H[b+88>>2];if(!(!b|H[b>>2]!=2)){c=a;a=H[b+8>>2];H[c+4>>2]=I[a|0]|I[a+1|0]<<8|(I[a+2|0]<<16|I[a+3|0]<<24);c=1}return c|0}function tc(a){a=a|0;var b=0;a:{if(!H[a+48>>2]|!H[a+52>>2]|(!H[a+28>>2]|!H[a+32>>2])){break a}if(!H[a+36>>2]|!H[a+40>>2]){break a}b=H[a+76>>2]!=-1}return b|0}function Sh(a){a=a|0;var b=0;H[a>>2]=12804;b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}H[a>>2]=12620;b=H[a+36>>2];if(b){oa(b)}b=H[a+24>>2];if(b){oa(b)}return a|0}function He(a){a=a|0;var b=0;H[a>>2]=11872;b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}H[a>>2]=12124;b=H[a+36>>2];if(b){oa(b)}b=H[a+24>>2];if(b){oa(b)}return a|0}function bf(a){a=a|0;var b=0;H[a>>2]=2448;b=H[a+20>>2];H[a+20>>2]=0;if(b){ea[H[H[b>>2]+4>>2]](b)}H[a>>2]=2232;b=H[a+16>>2];H[a+16>>2]=0;if(b){Ga(b)}oa(a)}function wh(){var a=0,b=0;b=pa(40);H[b>>2]=-1;a=b+8|0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+8>>2]=0;H[a>>2]=0;H[a+4>>2]=0;H[a+24>>2]=0;H[a+28>>2]=0;return b|0}function gf(a,b){a=a|0;b=b|0;var c=0,d=0;d=H[a+4>>2];a:{if(d){c=1;if(I[d+36|0]<2){break a}}c=ea[H[H[a>>2]+48>>2]](a,H[b+4>>2]-H[b>>2]>>2)|0}return c|0}function ci(a){a=a|0;var b=0;H[a>>2]=11872;b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}H[a>>2]=12124;b=H[a+36>>2];if(b){oa(b)}b=H[a+24>>2];if(b){oa(b)}oa(a)}function Mh(a){a=a|0;var b=0;H[a>>2]=12804;b=H[a+48>>2];if(b){H[a+52>>2]=b;oa(b)}H[a>>2]=12620;b=H[a+36>>2];if(b){oa(b)}b=H[a+24>>2];if(b){oa(b)}oa(a)}function Ha(a){H[a+8>>2]=0;H[a+12>>2]=0;H[a>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+32>>2]=0;H[a+24>>2]=0;H[a+28>>2]=0;G[a+38>>1]=0;F[a+36|0]=0;return a}function Hf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Ya(a,H[b+8>>2],f)){Cd(b,c,d,e);return}a=H[a+8>>2];ea[H[H[a>>2]+20>>2]](a,b,c,d,e,f)}function Ei(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(I[H[a+4>>2]+36|0]>=2){b=0;if(!(ea[H[H[a>>2]+52>>2]](a)|0)){break a}}b=Xc(a+24|0,H[a+16>>2])}return b|0}function Fi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(I[H[a+4>>2]+36|0]<=1){d=0;if(!(ea[H[H[a>>2]+52>>2]](a)|0)){break a}}d=nd(a,b,c)}return d|0}function gh(){var a=0;a=_d(pa(108));H[a+84>>2]=0;H[a+88>>2]=0;H[a>>2]=13664;H[a+92>>2]=0;H[a+96>>2]=0;H[a+100>>2]=0;H[a+104>>2]=0;return a|0}function Zd(a,b){var c=0;c=-1;a:{if((b|0)==-1|(b|0)>4){break a}b=N(b,12)+a|0;a=H[b+20>>2];if((H[b+24>>2]-a|0)<=0){break a}c=H[a>>2]}return c}function lc(a,b,c,d,e,f,g){H[a>>2]=0;H[a+56>>2]=b;H[a+48>>2]=0;H[a+52>>2]=0;H[a+40>>2]=f;H[a+44>>2]=g;F[a+32|0]=e;H[a+28>>2]=d;F[a+24|0]=c}function aj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(I[H[a+4>>2]+36|0]<=1){d=0;if(!xc(a+24|0,H[a+8>>2],c)){break a}}d=nd(a,b,c)}return d|0}function $i(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(I[H[a+4>>2]+36|0]>=2){b=0;if(!xc(a+24|0,rb(a),c)){break a}}b=Xc(a+24|0,H[a+16>>2])}return b|0}function Yf(a){a=a|0;var b=0;H[a>>2]=13664;b=H[a+96>>2];if(b){H[a+100>>2]=b;oa(b)}b=H[a+84>>2];if(b){H[a+88>>2]=b;oa(b)}return _b(a)|0}function Dc(a){var b=0;if(I[a+11|0]>>>7|0){b=H[a+4>>2]}else{b=I[a+11|0]&127}if(!b){af(1232);v()}if(I[a+11|0]>>>7|0){a=H[a>>2]}return a}function Xf(a){a=a|0;var b=0;H[a>>2]=13664;b=H[a+96>>2];if(b){H[a+100>>2]=b;oa(b)}b=H[a+84>>2];if(b){H[a+88>>2]=b;oa(b)}oa(_b(a))}function zj(a){a=a|0;var b=0;H[a>>2]=4040;b=H[a+76>>2];if(b){oa(b)}H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}return a|0}function jj(a){a=a|0;var b=0;H[a>>2]=6032;b=H[a+76>>2];if(b){oa(b)}H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}return a|0}function Qa(a,b){if(b){Qa(a,H[b>>2]);Qa(a,H[b+4>>2]);a=H[b+28>>2];if(a){H[b+32>>2]=a;oa(a)}if(F[b+27|0]<0){oa(H[b+16>>2])}oa(b)}}function Vg(){var a=0;a=pa(28);H[a>>2]=0;H[a+4>>2]=0;H[a+24>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0;return a|0}function wg(a){a=a|0;var b=0;H[a>>2]=1984;b=H[a+16>>2];if(b){H[a+20>>2]=b;oa(b)}b=H[a+4>>2];if(b){H[a+8>>2]=b;oa(b)}return a|0}function eh(){var a=0,b=0;a=pa(24);H[a+4>>2]=0;H[a+8>>2]=0;b=a+16|0;H[b>>2]=0;H[b+4>>2]=0;H[a>>2]=a+4;H[a+12>>2]=b;return a|0}function Kf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ya(a,H[b+8>>2],0)){Dd(b,c,d);return}a=H[a+8>>2];ea[H[H[a>>2]+28>>2]](a,b,c,d)}function yj(a){a=a|0;var b=0;H[a>>2]=4040;b=H[a+76>>2];if(b){oa(b)}H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}oa(a)}function ij(a){a=a|0;var b=0;H[a>>2]=6032;b=H[a+76>>2];if(b){oa(b)}H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}oa(a)}function pa(a){var b=0;a=a?a:1;a:{while(1){b=Ec(a);if(b){break a}b=H[4422];if(b){ea[b|0]();continue}break}X();v()}return b}function Kb(a,b){if(b){Kb(a,H[b>>2]);Kb(a,H[b+4>>2]);if(F[b+39|0]<0){oa(H[b+28>>2])}if(F[b+27|0]<0){oa(H[b+16>>2])}oa(b)}}function Ad(a){a=a|0;var b=0,c=0;H[a>>2]=15372;b=H[a+4>>2]-12|0;c=H[b+8>>2]-1|0;H[b+8>>2]=c;if((c|0)<0){oa(b)}return a|0}function lh(){var a=0;a=pa(24);H[a+8>>2]=0;H[a+12>>2]=0;H[a+4>>2]=-1;H[a>>2]=1832;H[a+16>>2]=0;H[a+20>>2]=0;return a|0}function pd(a,b,c){a=a|0;b=b|0;c=c|0;H[a+4>>2]=b;b=H[H[H[b+4>>2]+8>>2]+(c<<2)>>2];H[a+12>>2]=c;H[a+8>>2]=b;return 1}function wc(a){a=a|0;var b=0;if(!(!H[a+60>>2]|!H[a+44>>2]|(!H[a+48>>2]|!H[a+52>>2]))){b=H[a+56>>2]!=0}return b|0}function Id(a,b){if(I[a+11|0]>>>7|0){H[a+4>>2]=b;return}F[a+11|0]=I[a+11|0]&128|b;F[a+11|0]=I[a+11|0]&127}function wj(a){a=a|0;var b=0;H[a>>2]=4276;H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}return a|0}function fj(a){a=a|0;var b=0;H[a>>2]=6256;H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}return a|0}function bi(a){a=a|0;var b=0;H[a>>2]=12124;b=H[a+36>>2];if(b){oa(b)}b=H[a+24>>2];if(b){oa(b)}return a|0}function Uh(a){a=a|0;var b=0;H[a>>2]=12620;b=H[a+36>>2];if(b){oa(b)}b=H[a+24>>2];if(b){oa(b)}return a|0}function lg(a){a=a|0;if(a){if(F[a+39|0]<0){oa(H[a+28>>2])}Oc(a+12|0,H[a+16>>2]);Kb(a,H[a+4>>2]);oa(a)}}function Pb(a){a=a|0;var b=0;if(!(!H[a+52>>2]|(!H[a+44>>2]|!H[a+48>>2]))){b=H[a+56>>2]!=0}return b|0}function vj(a){a=a|0;var b=0;H[a>>2]=4276;H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}oa(a)}function vc(a,b){a=a|0;b=b|0;var c=0;if(!(H[b+56>>2]|!b|I[b+24|0]!=3)){H[a+60>>2]=b;c=1}return c|0}function ej(a){a=a|0;var b=0;H[a>>2]=6256;H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}oa(a)}function ai(a){a=a|0;var b=0;H[a>>2]=12124;b=H[a+36>>2];if(b){oa(b)}b=H[a+24>>2];if(b){oa(b)}oa(a)}function Th(a){a=a|0;var b=0;H[a>>2]=12620;b=H[a+36>>2];if(b){oa(b)}b=H[a+24>>2];if(b){oa(b)}oa(a)}function xh(a,b,c){a=a|0;b=b|0;c=c|0;H[a+16>>2]=0;H[a+20>>2]=0;H[a>>2]=b;H[a+8>>2]=c;H[a+12>>2]=0}function We(a,b){a=a|0;b=b|0;var c=0;if(!(H[b+56>>2]|I[b+24|0]!=3)){H[a- -64>>2]=b;c=1}return c|0}function yc(a){var b=0;b=H[a+16>>2];if(b){H[a+20>>2]=b;oa(b)}b=H[a>>2];if(b){H[a+4>>2]=b;oa(b)}}function sc(a,b){a=a|0;b=b|0;var c=0;if(!(H[b+56>>2]|I[b+24|0]!=3)){H[a+48>>2]=b;c=1}return c|0}function Gf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Ya(a,H[b+8>>2],f)){Cd(b,c,d,e)}}function wa(){var a=0;a=Bc(4);H[a>>2]=15260;H[a>>2]=15220;H[a>>2]=15240;Y(a|0,15352,14);v()}function sf(a){a=a|0;var b=0;H[a>>2]=2232;b=H[a+16>>2];H[a+16>>2]=0;if(b){Ga(b)}return a|0}function Kj(a){a=a|0;var b=0;H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}return a|0}function mi(a){a=a|0;var b=0;H[a>>2]=1832;b=H[a+8>>2];if(b){H[a+12>>2]=b;oa(b)}return a|0}function Ci(a){a=a|0;var b=0;b=rb(a);return Je(a+24|0,b?b:H[a+8>>2],H[H[a+4>>2]+32>>2])|0}function rf(a){a=a|0;var b=0;H[a>>2]=2232;b=H[a+16>>2];H[a+16>>2]=0;if(b){Ga(b)}oa(a)}function ji(a){a=a|0;var b=0;H[a>>2]=1832;b=H[a+8>>2];if(b){H[a+12>>2]=b;oa(b)}oa(a)} function Ub(a){a=a|0;var b=0;H[a>>2]=3272;b=H[a+32>>2];if(b){H[a+36>>2]=b;oa(b)}oa(a)}function Za(a){var b=0;H[a+16>>2]=0;b=H[a>>2];H[a+4>>2]=b;H[a+12>>2]=b;if(b){oa(b)}}function Oc(a,b){if(b){Oc(a,H[b>>2]);Oc(a,H[b+4>>2]);Kb(b+20|0,H[b+24>>2]);oa(b)}}function wi(a){a=a|0;if(!H[a+44>>2]){return 0}return ea[H[H[a>>2]+48>>2]](a)|0}function vh(a){a=a|0;var b=0;if(a){b=H[a+8>>2];if(b){H[a+12>>2]=b;oa(b)}oa(a)}}function Uj(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ya(a,H[b+8>>2],0)){Dd(b,c,d)}}function ui(a,b){a=a|0;b=b|0;a=H[a+48>>2];return ea[H[H[a>>2]+20>>2]](a,b)|0}function ni(a,b){a=a|0;b=b|0;a=H[a+48>>2];return ea[H[H[a>>2]+12>>2]](a,b)|0}function li(a,b){a=a|0;b=b|0;a=H[a+48>>2];return ea[H[H[a>>2]+16>>2]](a,b)|0}function lb(){var a=0;a=pa(12);H[a>>2]=0;H[a+4>>2]=0;H[a+8>>2]=0;return a|0}function kb(a){a=a|0;var b=0;if(a){b=H[a>>2];if(b){H[a+4>>2]=b;oa(b)}oa(a)}}function Vj(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} function dh(a,b,c){a=a|0;b=b|0;c=c|0;H[a+32>>2]=c;H[a+28>>2]=b;return 1}function ch(a){a=a|0;if(a){Ra(a+12|0,H[a+16>>2]);Qa(a,H[a+4>>2]);oa(a)}}function Rd(a,b,c){a:{if(H[c+76>>2]<0){a=Fc(a,b,c);break a}a=Fc(a,b,c)}}function Mb(a,b){a=a|0;b=b|0;if(b>>>0<=1){H[a+28>>2]=b}return b>>>0<2|0}function Fh(a,b){a=a|0;b=b|0;F[b+84|0]=1;H[b+72>>2]=H[b+68>>2];return 1}function si(a){a=a|0;a=H[a+48>>2];return ea[H[H[a>>2]+24>>2]](a)|0}function ri(a){a=a|0;a=H[a+48>>2];return ea[H[H[a>>2]+28>>2]](a)|0}function oi(a){a=a|0;a=H[a+48>>2];return ea[H[H[a>>2]+36>>2]](a)|0}function ih(){var a=0;a=pa(8);H[a+4>>2]=-1;H[a>>2]=1032;return a|0}function Gg(a,b,c){a=a|0;b=b|0;c=c|0;return H[H[b+8>>2]+(c<<2)>>2]}function _i(a,b){a=a|0;b=b|0;return Fd(a+24|0,rb(a),H[a+8>>2])|0}function Bi(a,b){a=a|0;b=b|0;return Re(a+24|0,rb(a),H[a+8>>2])|0}function xf(a,b){a=a|0;b=b|0;H[a+12>>2]=-1;H[a+8>>2]=b;return 1}function ne(a,b){a=a|0;b=b|0;return ea[H[H[a>>2]+12>>2]](a,b)|0}function Ff(a){a=a|0;if(!a){return 0}return(Ed(a,15068)|0)!=0|0}function Di(a,b){a=a|0;b=b|0;return ea[H[H[a>>2]+56>>2]](a,b)|0}function $g(a){a=a|0;if(a){if(F[a+15|0]<0){oa(H[a+4>>2])}oa(a)}}function kh(a,b){a=a|0;b=b|0;return O(L[H[a+8>>2]+(b<<2)>>2])}function af(a){a=Hd(Bc(8),a);H[a>>2]=15472;Y(a|0,15504,1);v()}function Ue(a){a=Hd(Bc(8),a);H[a>>2]=15420;Y(a|0,15452,1);v()}function _g(a,b){a=a|0;b=b|0;return O(L[H[a>>2]+(b<<2)>>2])}function fh(a){a=a|0;return(H[a+100>>2]-H[a+96>>2]|0)/12|0}function ah(a){a=a|0;return(F[a+15|0]<0?H[a+4>>2]:a+4|0)|0}function _f(a,b){a=a|0;b=b|0;return H[H[a+4>>2]+(b<<2)>>2]}function Pf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;da=0;return 0}function Ke(a){a=Vc(a);H[a+44>>2]=0;H[a>>2]=11180;return a}function ie(a,b){a=a|0;b=b|0;return H[H[a>>2]+(b<<2)>>2]}function Xg(a,b){a=a|0;b=b|0;return G[H[a>>2]+(b<<1)>>1]}function Wg(a,b){a=a|0;b=b|0;return J[H[a>>2]+(b<<1)>>1]}function Zb(a,b){var c=0;c=pa(b);H[a+4>>2]=b;H[a>>2]=c}function Jg(a,b,c){a=a|0;b=b|0;c=c|0;return Zd(b,c)|0}function _d(a){H[a>>2]=13724;ra(a+4|0,0,80);return a}function me(a){a=a|0;return H[a+12>>2]-H[a+8>>2]>>2}function Qj(a){if(a){return 31-Q(a-1^a)|0}return 32}function cc(a){a=a|0;if(a){ea[H[H[a>>2]+4>>2]](a)}}function Zg(a,b){a=a|0;b=b|0;return F[H[a>>2]+b|0]}function Yg(a,b){a=a|0;b=b|0;return I[H[a>>2]+b|0]}function Uf(a){a=a|0;return H[a+8>>2]-H[a+4>>2]>>2}function jd(a,b){a=a|0;b=b|0;H[a+4>>2]=b;return 1}function je(a){a=a|0;return H[a+4>>2]-H[a>>2]>>1}function Qc(a){a=a|0;return H[a+4>>2]-H[a>>2]>>2}function le(a){a=a|0;return H[a+4>>2]-H[a>>2]|0}function Ab(a,b,c){if(!(I[a|0]&32)){Fc(b,c,a)}}function vf(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function hi(a,b){a=a|0;b=b|0;return I[b+24|0]}function Pg(a,b){a=a|0;b=b|0;return H[b+8>>2]}function Nj(a){a=a|0;return I[H[a+8>>2]+24|0]}function Li(a){a=a|0;H[a>>2]=10032;return a|0}function Eg(a,b){a=a|0;b=b|0;return H[b+4>>2]}function Yi(a){a=a|0;H[a>>2]=7144;return a|0}function Ui(a){a=a|0;H[a>>2]=8080;return a|0}function Sf(a){a=a|0;return aa(H[a+60>>2])|0}function Pi(a){a=a|0;H[a>>2]=9028;return a|0}function jh(a){a=a|0;return O(L[a+20>>2])}function Ji(a){a=a|0;H[a>>2]=10032;oa(a)}function Xi(a){a=a|0;H[a>>2]=7144;oa(a)}function Si(a){a=a|0;H[a>>2]=8080;oa(a)}function Oi(a){a=a|0;H[a>>2]=9028;oa(a)}function sh(a){a=a|0;return H[a+88>>2]}function rh(a){a=a|0;return H[a+56>>2]}function oh(a){a=a|0;return H[a+40>>2]}function nh(a){a=a|0;return H[a+48>>2]}function mh(a){a=a|0;return H[a+60>>2]}function eb(a){a=a|0;return H[a+28>>2]}function df(){H[4292]=17048;H[4274]=42}function Rc(a){a=a|0;return H[a+80>>2]}function qh(a){a=a|0;return F[a+24|0]}function ph(a){a=a|0;return I[a+32|0]}function md(a,b){a=a|0;b=b|0;return-1}function db(a){a=a|0;return H[a+4>>2]}function bh(a){a=a|0;return!H[a>>2]|0}function _e(a,b){a=a|0;b=b|0;return 6}function Zc(a){a=a|0;return H[a+8>>2]}function Pd(a,b){a=a|0;b=b|0;return 1}function Ja(a,b){a=a|0;b=b|0;return 0}function Bj(a,b){a=a|0;b=b|0;return 2}function Bc(a){return Ec(a+80|0)+80|0}function pe(a){a=a|0;return H[a>>2]}function yh(){return Ha(pa(40))|0}function uh(){return Eb(pa(64))|0}function hh(){return _d(pa(84))|0}function Sc(a){a=a|0;if(a){oa(a)}}function zc(a){a=a|0;Ad(a);oa(a)}function Ef(a){a=a|0;return 1171}function Df(a){a=a|0;return 1245}function Cf(a){a=a|0;return 1211}function Ta(a){a=a|0;return a|0}function yf(a){a=a|0;oa(rd(a))}function fi(a){a=a|0;oa(Be(a))}function ei(a){a=a|0;oa(Ae(a))}function di(a){a=a|0;oa(ze(a))}function Tf(a){a=a|0;oa(_b(a))}function ld(a){a=a|0;return 3}function _a(a){a=a|0;return 0}function Ze(a){a=a|0;return 5}function Tb(a){a=a|0;return 2}function Ob(a){a=a|0;return 6}function Da(a){a=a|0;return 1}function $e(a){a=a|0;return 4}function sa(){Ue(1164);v()}function Na(){Ue(1232);v()}function La(a){a=a|0;oa(a)}function Ca(){af(1164);v()}function fb(a){a=a|0;v()}function eg(){return 10}function dg(){return 11}function cg(){return 12}function kg(){return 5}function ig(){return 6}function hg(){return 7}function gg(){return 8}function fg(){return 9}function fe(){return 3}function ee(){return 4}function bg(){return-2}function bc(){return-1}function ag(){return-3}function ac(){return 1}function Zf(){return-5}function Qb(){return 0}function Nc(){return 2}function $f(){return-4}function Nf(){X();v()}function Td(a){a=a|0} diff --git a/javascript/draco_decoder.wasm b/javascript/draco_decoder.wasm index e5a5e06e..4138f559 100644 Binary files a/javascript/draco_decoder.wasm and b/javascript/draco_decoder.wasm differ diff --git a/javascript/draco_decoder_gltf.js b/javascript/draco_decoder_gltf.js index 7c84b0be..b9150000 100644 --- a/javascript/draco_decoder_gltf.js +++ b/javascript/draco_decoder_gltf.js @@ -9,8 +9,8 @@ var Module=typeof DracoDecoderModule!="undefined"?DracoDecoderModule:{};var read // EMSCRIPTEN_START_ASM function instantiate(ia){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>2];o=F[c+12>>2];g=F[c+16>>2];a:{if((e|0)>=(o|0)&g>>>0>=I[c+8>>2]|(e|0)>(o|0)){break a}o=G[g+F[c>>2]|0];g=g+1|0;e=g?e:e+1|0;F[c+16>>2]=g;F[c+20>>2]=e;b:{switch(o|0){case 0:e=a;f=b;g=d;a=0;d=0;j=Z+-64|0;Z=j;F[j+56>>2]=0;F[j+48>>2]=0;F[j+52>>2]=0;F[j+40>>2]=0;F[j+44>>2]=0;F[j+32>>2]=0;F[j+36>>2]=0;F[j+24>>2]=0;F[j+28>>2]=0;F[j+16>>2]=0;F[j+20>>2]=0;F[j+8>>2]=0;F[j+12>>2]=0;c:{if(!Nd(j+8|0,c)){break c}if(!Md(j+8|0,c)|(F[j+20>>2]?0:e)){break c}hc(c,0,0);if(e){s=f<<2;t=F[j+36>>2];u=F[j+48>>2];x=F[j+24>>2];l=F[j+56>>2];i=F[j+52>>2];while(1){d:{if(l>>>0>16383){break d}while(1){if((i|0)<=0){break d}i=i-1|0;F[j+52>>2]=i;l=G[i+u|0]|l<<8;F[j+56>>2]=l;if(l>>>0<16384){continue}break}}a=l&4095;r=F[(a<<2)+x>>2];b=(r<<3)+t|0;l=(L(F[b>>2],l>>>12|0)+a|0)-F[b+4>>2]|0;F[j+56>>2]=l;if((f|0)>0){a=0;if(!G[c+36|0]|r>>>0>32){break c}o=d+f|0;e:{if(!r){ma(g+(d<<2)|0,0,s);break e}y=r&-2;z=r&1;b=F[c+32>>2];h=F[c+28>>2];q=F[c+24>>2];while(1){k=0;a=b;m=0;n=0;if((r|0)!=1){while(1){p=q+(a>>>3|0)|0;f:{if(p>>>0>=h>>>0){p=0;break f}p=G[p|0];b=a+1|0;F[c+32>>2]=b;p=p>>>(a&7)&1;a=b}p=p<>>3|0)|0;if(v>>>0>>0){m=G[v|0];b=a+1|0;F[c+32>>2]=b;m=m>>>(a&7)&1;a=b}v=k|1;k=k+2|0;m=p|m<>>3|0)|0;if(p>>>0>>0){p=G[p|0];b=a+1|0;F[c+32>>2]=b;a=p>>>(a&7)&1}else{a=0}m=a<>2]=m;d=d+1|0;if((o|0)!=(d|0)){continue}break}}d=o}w=f+w|0;if(e>>>0>w>>>0){continue}break}}D[c+36|0]=0;f=F[c+20>>2];a=0;m=F[c+32>>2]+7|0;a=m>>>0<7?1:a;m=a<<29|m>>>3;b=m+F[c+16>>2]|0;a=(a>>>3|0)+f|0;F[c+16>>2]=b;F[c+20>>2]=b>>>0>>0?a+1|0:a;a=1}b=F[j+36>>2];if(b){F[j+40>>2]=b;ja(b)}b=F[j+24>>2];if(b){F[j+28>>2]=b;ja(b)}b=F[j+8>>2];if(b){F[j+12>>2]=b;ja(b)}Z=j- -64|0;return a;case 1:break b;default:break a}}b=0;e=F[c+20>>2];o=F[c+12>>2];g=F[c+16>>2];g:{if((e|0)>=(o|0)&g>>>0>=I[c+8>>2]|(e|0)>(o|0)){break g}o=G[g+F[c>>2]|0];g=g+1|0;e=g?e:e+1|0;F[c+16>>2]=g;F[c+20>>2]=e;h:{switch(o-1|0){case 8:o=a;r=d;e=Z+-64|0;Z=e;F[e+56>>2]=0;F[e+48>>2]=0;F[e+52>>2]=0;F[e+40>>2]=0;F[e+44>>2]=0;F[e+32>>2]=0;F[e+36>>2]=0;F[e+24>>2]=0;F[e+28>>2]=0;F[e+16>>2]=0;F[e+20>>2]=0;F[e+8>>2]=0;F[e+12>>2]=0;h=e+8|0;i:{j:{if(!H[c+38>>1]){break j}if(!Ta(1,h+12|0,c)){break j}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break j}b=F[h>>2];a=F[h+4>>2]-b>>2;k:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break k}if(a>>>0<=i>>>0){break k}F[h+4>>2]=b+(i<<2)}g=1;if(!i){break i}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){g=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break i}g=F[c>>2];p=G[g+f|0];a=d;f=f+1|0;a=f?a:a+1|0;F[c+16>>2]=f;d=a;F[c+20>>2]=a;a=p>>>2|0;l=0;l:{m:{n:{o:{t=p&3;switch(t|0){case 0:break m;case 3:break o;default:break n}}a=a+b|0;g=0;if(a>>>0>=i>>>0){break i}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break l}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break j}i=G[f+g|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;a=i<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;p:{if(b>>>0<=32767){qa(a,8192-(b>>>2|0)|0);break p}if((b|0)==32768){break p}F[h+20>>2]=d+32768}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;q:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break q}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break j}}j=F[a>>2];f=0;d=0;while(1){g=n+(f<<2)|0;l=F[g>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;g=F[g>>2];d=g+a|0;if(d>>>0>8192){break j}r:{if(a>>>0>=d>>>0){break r}l=0;h=g&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(g-1>>>0<=6){break r}while(1){g=j+(a<<2)|0;F[g>>2]=f;F[g+28>>2]=f;F[g+24>>2]=f;F[g+20>>2]=f;F[g+16>>2]=f;F[g+12>>2]=f;F[g+8>>2]=f;F[g+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==8192}g=k}s:{if(!g|(F[e+20>>2]?0:o)){break s}d=0;k=Z-16|0;Z=k;t:{if(!Sa(1,k+8|0,c)){break t}a=F[c+8>>2];f=F[c+16>>2];g=a-f|0;j=F[k+12>>2];i=F[c+20>>2];a=F[c+12>>2]-(i+(a>>>0>>0)|0)|0;b=F[k+8>>2];if((j|0)==(a|0)&g>>>0>>0|a>>>0>>0){break t}a=i+j|0;g=b+f|0;a=g>>>0>>0?a+1|0:a;F[c+16>>2]=g;F[c+20>>2]=a;if((b|0)<=0){break t}a=f+F[c>>2]|0;F[e+48>>2]=a;c=b-1|0;f=c+a|0;g=G[f|0];u:{if(g>>>0<=63){F[e+52>>2]=c;a=G[f|0]&63;break u}v:{switch((g>>>6|0)-1|0){case 0:if(b>>>0<2){break t}b=b-2|0;F[e+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break u;case 1:if(b>>>0<3){break t}b=b-3|0;F[e+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break u;default:break v}}b=b-4|0;F[e+52>>2]=b;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[e+56>>2]=a+32768;d=a>>>0<8355840}Z=k+16|0;if(!d){break s}if(!o){m=1;break s}b=F[e+52>>2];a=F[e+56>>2];c=F[e+36>>2];d=F[e+48>>2];f=F[e+24>>2];while(1){w:{if(a>>>0>32767){break w}while(1){if((b|0)<=0){break w}b=b-1|0;F[e+52>>2]=b;a=G[b+d|0]|a<<8;F[e+56>>2]=a;if(a>>>0<32768){continue}break}}m=a&8191;k=F[f+(m<<2)>>2];g=c+(k<<3)|0;a=(L(F[g>>2],a>>>13|0)+m|0)-F[g+4>>2]|0;F[e+56>>2]=a;F[r+(q<<2)>>2]=k;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[e+36>>2];if(a){F[e+40>>2]=a;ja(a)}a=F[e+24>>2];if(a){F[e+28>>2]=a;ja(a)}a=F[e+8>>2];if(a){F[e+12>>2]=a;ja(a)}Z=e- -64|0;b=m;break g;case 9:o=a;r=d;g=Z+-64|0;Z=g;F[g+56>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;h=g+8|0;x:{y:{if(!H[c+38>>1]){break y}if(!Ta(1,h+12|0,c)){break y}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break y}b=F[h>>2];a=F[h+4>>2]-b>>2;z:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break z}if(a>>>0<=i>>>0){break z}F[h+4>>2]=b+(i<<2)}e=1;if(!i){break x}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){e=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break x}t=F[c>>2];p=G[t+f|0];e=d;f=f+1|0;e=f?e:e+1|0;F[c+16>>2]=f;d=e;F[c+20>>2]=e;a=p>>>2|0;l=0;A:{B:{C:{D:{e=p&3;switch(e|0){case 0:break B;case 3:break D;default:break C}}a=a+b|0;e=0;if(a>>>0>=i>>>0){break x}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break A}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break y}i=G[f+t|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;a=i<<(l<<3|6)|a;l=l+1|0;if((e|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;E:{if(b>>>0<=131071){qa(a,32768-(b>>>2|0)|0);break E}if((b|0)==131072){break E}F[h+20>>2]=d+131072}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;F:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break F}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break y}}j=F[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;l=F[e>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;e=F[e>>2];d=e+a|0;if(d>>>0>32768){break y}G:{if(a>>>0>=d>>>0){break G}l=0;h=e&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break G}while(1){e=j+(a<<2)|0;F[e>>2]=f;F[e+28>>2]=f;F[e+24>>2]=f;F[e+20>>2]=f;F[e+16>>2]=f;F[e+12>>2]=f;F[e+8>>2]=f;F[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==32768}e=k}H:{if(!e|(F[g+20>>2]?0:o)){break H}d=0;f=Z-16|0;Z=f;I:{if(!Sa(1,f+8|0,c)){break I}e=F[c+8>>2];b=F[c+16>>2];k=e-b|0;j=F[f+12>>2];i=F[c+20>>2];e=F[c+12>>2]-(i+(b>>>0>e>>>0)|0)|0;a=F[f+8>>2];if((j|0)==(e|0)&k>>>0>>0|e>>>0>>0){break I}e=i+j|0;k=a+b|0;e=k>>>0>>0?e+1|0:e;F[c+16>>2]=k;F[c+20>>2]=e;if((a|0)<=0){break I}b=b+F[c>>2]|0;F[g+48>>2]=b;c=a-1|0;e=c+b|0;k=G[e|0];J:{if(k>>>0<=63){F[g+52>>2]=c;a=G[e|0]&63;break J}K:{switch((k>>>6|0)-1|0){case 0:if(a>>>0<2){break I}a=a-2|0;F[g+52>>2]=a;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break J;case 1:if(a>>>0<3){break I}a=a-3|0;F[g+52>>2]=a;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break J;default:break K}}a=a-4|0;F[g+52>>2]=a;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[g+56>>2]=a+131072;d=a>>>0<33423360}Z=f+16|0;if(!d){break H}if(!o){m=1;break H}b=F[g+52>>2];a=F[g+56>>2];c=F[g+36>>2];d=F[g+48>>2];f=F[g+24>>2];while(1){L:{if(a>>>0>131071){break L}while(1){if((b|0)<=0){break L}b=b-1|0;F[g+52>>2]=b;a=G[b+d|0]|a<<8;F[g+56>>2]=a;if(a>>>0<131072){continue}break}}m=a&32767;e=F[f+(m<<2)>>2];k=c+(e<<3)|0;a=(L(F[k>>2],a>>>15|0)+m|0)-F[k+4>>2]|0;F[g+56>>2]=a;F[r+(q<<2)>>2]=e;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[g+36>>2];if(a){F[g+40>>2]=a;ja(a)}a=F[g+24>>2];if(a){F[g+28>>2]=a;ja(a)}a=F[g+8>>2];if(a){F[g+12>>2]=a;ja(a)}Z=g- -64|0;b=m;break g;case 10:o=a;r=d;g=Z+-64|0;Z=g;F[g+56>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;h=g+8|0;M:{N:{if(!H[c+38>>1]){break N}if(!Ta(1,h+12|0,c)){break N}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break N}b=F[h>>2];a=F[h+4>>2]-b>>2;O:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break O}if(a>>>0<=i>>>0){break O}F[h+4>>2]=b+(i<<2)}e=1;if(!i){break M}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){e=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break M}t=F[c>>2];p=G[t+f|0];a=d;f=f+1|0;a=f?a:a+1|0;F[c+16>>2]=f;d=a;F[c+20>>2]=a;a=p>>>2|0;l=0;P:{Q:{R:{S:{u=p&3;switch(u|0){case 0:break Q;case 3:break S;default:break R}}a=a+b|0;e=0;if(a>>>0>=i>>>0){break M}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break P}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break N}i=G[f+t|0];e=d;f=f+1|0;e=f?e:e+1|0;F[c+16>>2]=f;d=e;F[c+20>>2]=e;a=i<<(l<<3|6)|a;l=l+1|0;if((u|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;T:{if(b>>>0<=262143){qa(a,65536-(b>>>2|0)|0);break T}if((b|0)==262144){break T}F[h+20>>2]=d+262144}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;U:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break U}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break N}}j=F[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;l=F[e>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;e=F[e>>2];d=e+a|0;if(d>>>0>65536){break N}V:{if(a>>>0>=d>>>0){break V}l=0;h=e&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break V}while(1){e=j+(a<<2)|0;F[e>>2]=f;F[e+28>>2]=f;F[e+24>>2]=f;F[e+20>>2]=f;F[e+16>>2]=f;F[e+12>>2]=f;F[e+8>>2]=f;F[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==65536}e=k}W:{if(!e|(F[g+20>>2]?0:o)){break W}d=0;e=Z-16|0;Z=e;X:{if(!Sa(1,e+8|0,c)){break X}a=F[c+8>>2];f=F[c+16>>2];k=a-f|0;j=F[e+12>>2];i=F[c+20>>2];a=F[c+12>>2]-(i+(a>>>0>>0)|0)|0;b=F[e+8>>2];if((j|0)==(a|0)&k>>>0>>0|a>>>0>>0){break X}a=i+j|0;k=b+f|0;a=k>>>0>>0?a+1|0:a;F[c+16>>2]=k;F[c+20>>2]=a;if((b|0)<=0){break X}a=f+F[c>>2]|0;F[g+48>>2]=a;c=b-1|0;f=c+a|0;k=G[f|0];Y:{if(k>>>0<=63){F[g+52>>2]=c;a=G[f|0]&63;break Y}Z:{switch((k>>>6|0)-1|0){case 0:if(b>>>0<2){break X}b=b-2|0;F[g+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break Y;case 1:if(b>>>0<3){break X}b=b-3|0;F[g+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break Y;default:break Z}}b=b-4|0;F[g+52>>2]=b;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[g+56>>2]=a+262144;d=a>>>0<66846720}Z=e+16|0;if(!d){break W}if(!o){m=1;break W}b=F[g+52>>2];a=F[g+56>>2];c=F[g+36>>2];d=F[g+48>>2];f=F[g+24>>2];while(1){_:{if(a>>>0>262143){break _}while(1){if((b|0)<=0){break _}b=b-1|0;F[g+52>>2]=b;a=G[b+d|0]|a<<8;F[g+56>>2]=a;if(a>>>0<262144){continue}break}}m=a&65535;e=F[f+(m<<2)>>2];k=c+(e<<3)|0;a=(L(F[k>>2],a>>>16|0)+m|0)-F[k+4>>2]|0;F[g+56>>2]=a;F[r+(q<<2)>>2]=e;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[g+36>>2];if(a){F[g+40>>2]=a;ja(a)}a=F[g+24>>2];if(a){F[g+28>>2]=a;ja(a)}a=F[g+8>>2];if(a){F[g+12>>2]=a;ja(a)}Z=g- -64|0;b=m;break g;case 11:o=a;r=d;g=Z+-64|0;Z=g;F[g+56>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;h=g+8|0;$:{aa:{if(!H[c+38>>1]){break aa}if(!Ta(1,h+12|0,c)){break aa}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break aa}b=F[h>>2];a=F[h+4>>2]-b>>2;ba:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break ba}if(a>>>0<=i>>>0){break ba}F[h+4>>2]=b+(i<<2)}e=1;if(!i){break $}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){e=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break $}t=F[c>>2];p=G[t+f|0];e=d;f=f+1|0;e=f?e:e+1|0;F[c+16>>2]=f;d=e;F[c+20>>2]=e;a=p>>>2|0;l=0;ca:{da:{ea:{fa:{e=p&3;switch(e|0){case 0:break da;case 3:break fa;default:break ea}}a=a+b|0;e=0;if(a>>>0>=i>>>0){break $}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break ca}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break aa}i=G[f+t|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;a=i<<(l<<3|6)|a;l=l+1|0;if((e|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;ga:{if(b>>>0<=1048575){qa(a,262144-(b>>>2|0)|0);break ga}if((b|0)==1048576){break ga}F[h+20>>2]=d- -1048576}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;ha:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break ha}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break aa}}j=F[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;l=F[e>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;e=F[e>>2];d=e+a|0;if(d>>>0>262144){break aa}ia:{if(a>>>0>=d>>>0){break ia}l=0;h=e&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break ia}while(1){e=j+(a<<2)|0;F[e>>2]=f;F[e+28>>2]=f;F[e+24>>2]=f;F[e+20>>2]=f;F[e+16>>2]=f;F[e+12>>2]=f;F[e+8>>2]=f;F[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==262144}e=k}ja:{if(!e|(F[g+20>>2]?0:o)){break ja}d=0;f=Z-16|0;Z=f;ka:{if(!Sa(1,f+8|0,c)){break ka}e=F[c+8>>2];b=F[c+16>>2];k=e-b|0;j=F[f+12>>2];i=F[c+20>>2];e=F[c+12>>2]-(i+(b>>>0>e>>>0)|0)|0;a=F[f+8>>2];if((j|0)==(e|0)&k>>>0>>0|e>>>0>>0){break ka}e=i+j|0;k=a+b|0;e=k>>>0>>0?e+1|0:e;F[c+16>>2]=k;F[c+20>>2]=e;if((a|0)<=0){break ka}b=b+F[c>>2]|0;F[g+48>>2]=b;c=a-1|0;e=c+b|0;k=G[e|0];la:{if(k>>>0<=63){F[g+52>>2]=c;a=G[e|0]&63;break la}ma:{switch((k>>>6|0)-1|0){case 0:if(a>>>0<2){break ka}a=a-2|0;F[g+52>>2]=a;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break la;case 1:if(a>>>0<3){break ka}a=a-3|0;F[g+52>>2]=a;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break la;default:break ma}}a=a-4|0;F[g+52>>2]=a;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[g+56>>2]=a- -1048576;d=a>>>0<267386880}Z=f+16|0;if(!d){break ja}if(!o){m=1;break ja}b=F[g+52>>2];a=F[g+56>>2];c=F[g+36>>2];d=F[g+48>>2];f=F[g+24>>2];while(1){na:{if(a>>>0>1048575){break na}while(1){if((b|0)<=0){break na}b=b-1|0;F[g+52>>2]=b;a=G[b+d|0]|a<<8;F[g+56>>2]=a;if(a>>>0<1048576){continue}break}}m=a&262143;e=F[f+(m<<2)>>2];k=c+(e<<3)|0;a=(L(F[k>>2],a>>>18|0)+m|0)-F[k+4>>2]|0;F[g+56>>2]=a;F[r+(q<<2)>>2]=e;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[g+36>>2];if(a){F[g+40>>2]=a;ja(a)}a=F[g+24>>2];if(a){F[g+28>>2]=a;ja(a)}a=F[g+8>>2];if(a){F[g+12>>2]=a;ja(a)}Z=g- -64|0;b=m;break g;case 12:o=a;r=d;e=Z+-64|0;Z=e;F[e+56>>2]=0;F[e+48>>2]=0;F[e+52>>2]=0;F[e+40>>2]=0;F[e+44>>2]=0;F[e+32>>2]=0;F[e+36>>2]=0;F[e+24>>2]=0;F[e+28>>2]=0;F[e+16>>2]=0;F[e+20>>2]=0;F[e+8>>2]=0;F[e+12>>2]=0;h=e+8|0;oa:{pa:{if(!H[c+38>>1]){break pa}if(!Ta(1,h+12|0,c)){break pa}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break pa}b=F[h>>2];a=F[h+4>>2]-b>>2;qa:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break qa}if(a>>>0<=i>>>0){break qa}F[h+4>>2]=b+(i<<2)}g=1;if(!i){break oa}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){g=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break oa}g=F[c>>2];p=G[g+f|0];a=d;f=f+1|0;a=f?a:a+1|0;F[c+16>>2]=f;d=a;F[c+20>>2]=a;a=p>>>2|0;l=0;ra:{sa:{ta:{ua:{t=p&3;switch(t|0){case 0:break sa;case 3:break ua;default:break ta}}a=a+b|0;g=0;if(a>>>0>=i>>>0){break oa}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break ra}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break pa}i=G[f+g|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;a=i<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;va:{if(b>>>0<=2097151){qa(a,524288-(b>>>2|0)|0);break va}if((b|0)==2097152){break va}F[h+20>>2]=d+2097152}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;wa:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break wa}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break pa}}j=F[a>>2];f=0;d=0;while(1){g=n+(f<<2)|0;l=F[g>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;g=F[g>>2];d=g+a|0;if(d>>>0>524288){break pa}xa:{if(a>>>0>=d>>>0){break xa}l=0;h=g&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(g-1>>>0<=6){break xa}while(1){g=j+(a<<2)|0;F[g>>2]=f;F[g+28>>2]=f;F[g+24>>2]=f;F[g+20>>2]=f;F[g+16>>2]=f;F[g+12>>2]=f;F[g+8>>2]=f;F[g+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==524288}g=k}ya:{if(!g|(F[e+20>>2]?0:o)){break ya}d=0;k=Z-16|0;Z=k;za:{if(!Sa(1,k+8|0,c)){break za}a=F[c+8>>2];f=F[c+16>>2];g=a-f|0;j=F[k+12>>2];i=F[c+20>>2];a=F[c+12>>2]-(i+(a>>>0>>0)|0)|0;b=F[k+8>>2];if((j|0)==(a|0)&g>>>0>>0|a>>>0>>0){break za}a=i+j|0;g=b+f|0;a=g>>>0>>0?a+1|0:a;F[c+16>>2]=g;F[c+20>>2]=a;if((b|0)<=0){break za}a=f+F[c>>2]|0;F[e+48>>2]=a;c=b-1|0;f=c+a|0;g=G[f|0];Aa:{if(g>>>0<=63){F[e+52>>2]=c;a=G[f|0]&63;break Aa}Ba:{switch((g>>>6|0)-1|0){case 0:if(b>>>0<2){break za}b=b-2|0;F[e+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break Aa;case 1:if(b>>>0<3){break za}b=b-3|0;F[e+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break Aa;default:break Ba}}b=b-4|0;F[e+52>>2]=b;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[e+56>>2]=a+2097152;d=a>>>0<534773760}Z=k+16|0;if(!d){break ya}if(!o){m=1;break ya}b=F[e+52>>2];a=F[e+56>>2];c=F[e+36>>2];d=F[e+48>>2];f=F[e+24>>2];while(1){Ca:{if(a>>>0>2097151){break Ca}while(1){if((b|0)<=0){break Ca}b=b-1|0;F[e+52>>2]=b;a=G[b+d|0]|a<<8;F[e+56>>2]=a;if(a>>>0<2097152){continue}break}}m=a&524287;k=F[f+(m<<2)>>2];g=c+(k<<3)|0;a=(L(F[g>>2],a>>>19|0)+m|0)-F[g+4>>2]|0;F[e+56>>2]=a;F[r+(q<<2)>>2]=k;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[e+36>>2];if(a){F[e+40>>2]=a;ja(a)}a=F[e+24>>2];if(a){F[e+28>>2]=a;ja(a)}a=F[e+8>>2];if(a){F[e+12>>2]=a;ja(a)}Z=e- -64|0;b=m;break g;case 17:b=Ld(a,c,d);break g;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:b=Z+-64|0;Z=b;F[b+56>>2]=0;F[b+48>>2]=0;F[b+52>>2]=0;F[b+40>>2]=0;F[b+44>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;F[b+24>>2]=0;F[b+28>>2]=0;F[b+16>>2]=0;F[b+20>>2]=0;F[b+8>>2]=0;F[b+12>>2]=0;Da:{if(!Nd(b+8|0,c)|(F[b+20>>2]?0:a)){break Da}if(!Md(b+8|0,c)){break Da}if(!a){f=1;break Da}m=F[b+52>>2];c=F[b+56>>2];e=F[b+36>>2];g=F[b+48>>2];o=F[b+24>>2];while(1){Ea:{if(c>>>0>16383){break Ea}while(1){if((m|0)<=0){break Ea}m=m-1|0;F[b+52>>2]=m;c=G[g+m|0]|c<<8;F[b+56>>2]=c;if(c>>>0<16384){continue}break}}f=c&4095;j=F[o+(f<<2)>>2];r=e+(j<<3)|0;c=(L(F[r>>2],c>>>12|0)+f|0)-F[r+4>>2]|0;F[b+56>>2]=c;F[(k<<2)+d>>2]=j;f=1;k=k+1|0;if((k|0)!=(a|0)){continue}break}}a=F[b+36>>2];if(a){F[b+40>>2]=a;ja(a)}a=F[b+24>>2];if(a){F[b+28>>2]=a;ja(a)}a=F[b+8>>2];if(a){F[b+12>>2]=a;ja(a)}Z=b- -64|0;b=f;break g;case 13:case 14:case 15:case 16:break h;default:break g}}b=Ld(a,c,d)}f=b}return f}function ih(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,J=0,K=0,M=0,N=0,O=0,P=0;u=Z+-64|0;Z=u;F[a+132>>2]=0;if(F[a+148>>2]){b=F[a+144>>2];if(b){while(1){f=F[b>>2];ja(b);b=f;if(b){continue}break}}b=0;F[a+144>>2]=0;f=F[a+140>>2];a:{if(!f){break a}if(f>>>0>=4){c=f&-4;while(1){e=b<<2;F[e+F[a+136>>2]>>2]=0;F[F[a+136>>2]+(e|4)>>2]=0;F[F[a+136>>2]+(e|8)>>2]=0;F[F[a+136>>2]+(e|12)>>2]=0;b=b+4|0;d=d+4|0;if((c|0)!=(d|0)){continue}break}}f=f&3;if(!f){break a}d=0;while(1){F[F[a+136>>2]+(b<<2)>>2]=0;b=b+1|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}F[a+148>>2]=0}b:{c:{if(!Da(1,u+60|0,F[F[a+4>>2]+32>>2])){break c}F[a+156>>2]=F[u+60>>2];if(!Da(1,u+56|0,F[F[a+4>>2]+32>>2])){break c}e=F[u+56>>2];if(e>>>0>1431655765|I[a+156>>2]>L(e,3)>>>0){break c}b=F[F[a+4>>2]+32>>2];c=F[b+8>>2];k=F[b+12>>2];d=F[b+20>>2];f=F[b+16>>2];if((k|0)<=(d|0)&f>>>0>=c>>>0|(d|0)>(k|0)){break c}k=G[f+F[b>>2]|0];f=f+1|0;d=f?d:d+1|0;F[b+16>>2]=f;F[b+20>>2]=d;if(!Da(1,u+52|0,b)){break c}q=F[u+52>>2];if(q>>>0>e>>>0|e>>>0>q+((q>>>0)/3|0)>>>0){break c}if(!Da(1,u+48|0,F[F[a+4>>2]+32>>2])){break c}d=F[u+48>>2];if(d>>>0>q>>>0){break c}F[a+28>>2]=F[a+24>>2];f=Zb(ka(88));b=F[a+8>>2];F[a+8>>2]=f;if(b){Za(b);if(!F[a+8>>2]){break c}}F[a+164>>2]=F[a+160>>2];Ib(a+160|0,e);F[a+176>>2]=F[a+172>>2];Ib(a+172|0,e);F[a- -64>>2]=0;F[a+92>>2]=-1;F[a+84>>2]=-1;F[a+88>>2]=-1;F[a+40>>2]=F[a+36>>2];F[a+52>>2]=F[a+48>>2];F[a+76>>2]=F[a+72>>2];A=a+216|0;Dd(A);Cd(A,k);if(!_c(F[a+8>>2],e,d+F[a+156>>2]|0)){break c}b=F[a+156>>2];D[u+8|0]=1;Ea(a+120|0,b+d|0,u+8|0);if((Bd(a,F[F[a+4>>2]+32>>2])|0)==-1){break c}c=a+232|0;b=c;F[b+144>>2]=a;f=F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2];f=F[f>>2]+F[f+16>>2]|0;e=F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2];e=F[e+8>>2]-F[e+16>>2]|0;O=b,P=H[F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2]+38>>1],E[O+38>>1]=P;F[b>>2]=f;F[b+16>>2]=0;F[b+20>>2]=0;F[b+8>>2]=e;F[b+12>>2]=0;O=b,P=$[F[F[a>>2]+36>>2]](a)|0,F[O+148>>2]=P;F[a+372>>2]=k;F[a+384>>2]=d+F[a+156>>2];K=Ja(u+8|0);k=K;f=0;j=Z-16|0;Z=j;d:{if(!Aa(b+80|0,b)){break d}if(!yd(c)){break d}b=F[c+4>>2];F[k>>2]=F[c>>2];F[k+4>>2]=b;b=F[c+36>>2];F[k+32>>2]=F[c+32>>2];F[k+36>>2]=b;b=F[c+28>>2];F[k+24>>2]=F[c+24>>2];F[k+28>>2]=b;b=F[c+20>>2];F[k+16>>2]=F[c+16>>2];F[k+20>>2]=b;b=F[c+12>>2];F[k+8>>2]=F[c+8>>2];F[k+12>>2]=b;F[c+176>>2]=2;F[c+180>>2]=7;b=F[c+152>>2];if((b|0)<0){break d}F[j+12>>2]=0;f=2;h=F[c+156>>2];e=F[c+160>>2]-h>>2;e:{if(e>>>0>>0){Fa(c+156|0,b-e|0,j+12|0);f=F[c+176>>2];d=F[c+180>>2];break e}d=7;if(b>>>0>=e>>>0){break e}F[c+160>>2]=h+(b<<2)}e=c+184|0;d=(d-f|0)+1|0;b=F[c+188>>2];f=F[c+184>>2];s=(b-f|0)/12|0;f:{if(d>>>0>s>>>0){h=0;b=d-s|0;o=F[e+8>>2];f=F[e+4>>2];g:{if(b>>>0<=(o-f|0)/12>>>0){if(b){b=L(b,12)-12|0;b=(b-((b>>>0)%12|0)|0)+12|0;f=ma(f,0,b)+b|0}F[e+4>>2]=f;break g}h:{i:{j:{s=F[e>>2];g=(f-s|0)/12|0;d=g+b|0;if(d>>>0<357913942){o=(o-s|0)/12|0;i=o<<1;o=o>>>0>=178956970?357913941:d>>>0>>0?i:d;if(o){if(o>>>0>=357913942){break j}h=ka(L(o,12))}d=L(g,12)+h|0;b=L(b,12)-12|0;g=(b-((b>>>0)%12|0)|0)+12|0;b=ma(d,0,g);g=b+g|0;h=L(o,12)+h|0;if((f|0)==(s|0)){break i}while(1){d=d-12|0;f=f-12|0;F[d>>2]=F[f>>2];F[d+4>>2]=F[f+4>>2];F[d+8>>2]=F[f+8>>2];F[f+8>>2]=0;F[f>>2]=0;F[f+4>>2]=0;if((f|0)!=(s|0)){continue}break}F[e+8>>2]=h;b=F[e+4>>2];F[e+4>>2]=g;f=F[e>>2];F[e>>2]=d;if((b|0)==(f|0)){break h}while(1){d=b-12|0;h=F[d>>2];if(h){F[b-8>>2]=h;ja(h)}b=d;if((f|0)!=(b|0)){continue}break}break h}break b}oa();v()}F[e+8>>2]=h;F[e+4>>2]=g;F[e>>2]=b}if(f){ja(f)}}d=F[c+188>>2];break f}if(d>>>0>=s>>>0){d=b;break f}d=f+L(d,12)|0;if((d|0)!=(b|0)){while(1){f=b-12|0;h=F[f>>2];if(h){F[b-8>>2]=h;ja(h)}b=f;if((d|0)!=(b|0)){continue}break}}F[c+188>>2]=d}s=c+196|0;f=F[c+184>>2];b=(d-f|0)/12|0;o=F[c+196>>2];h=F[c+200>>2]-o>>2;k:{if(b>>>0>h>>>0){qa(s,b-h|0);f=F[c+184>>2];d=F[c+188>>2];break k}if(b>>>0>=h>>>0){break k}F[c+200>>2]=o+(b<<2)}if((d|0)==(f|0)){f=1;break d}b=0;while(1){l:{if(!Da(1,j+8|0,k)){break l}f=F[j+8>>2];d=F[c+148>>2];if(f>>>0>(F[d+4>>2]-F[d>>2]>>2>>>0)/3>>>0){break l}if(f){g=L(b,12);h=g+F[e>>2]|0;d=F[h>>2];o=F[h+4>>2]-d>>2;m:{if(o>>>0>>0){qa(h,f-o|0);d=F[g+F[e>>2]>>2];break m}if(f>>>0>=o>>>0){break m}F[h+4>>2]=(f<<2)+d}mc(f,1,k,d);F[F[s>>2]+(b<<2)>>2]=f}f=1;b=b+1|0;if(b>>>0<(F[c+188>>2]-F[c+184>>2]|0)/12>>>0){continue}break d}break}f=0}Z=j+16|0;n:{if(!f){break n}e=0;c=0;d=0;b=0;k=0;f=0;s=0;o=0;l=Z-96|0;Z=l;F[l+72>>2]=0;F[l+64>>2]=0;F[l+68>>2]=0;F[l+48>>2]=0;F[l+52>>2]=0;F[l+40>>2]=0;F[l+44>>2]=0;F[l+56>>2]=1065353216;F[l+32>>2]=0;F[l+24>>2]=0;F[l+28>>2]=0;j=a;C=F[a+124>>2];o:{p:{q:{r:{s:{if((q|0)<=0){break s}J=j+232|0;M=F[j+216>>2]!=F[j+220>>2];B=1;t:{while(1){h=s;s=h+1|0;u:{v:{w:{g=F[j+404>>2];if((g|0)==-1){F[j+400>>2]=7;break w}a=-1;i=F[j+428>>2]+(g<<2)|0;m=F[i>>2];g=m-1|0;F[i>>2]=g;if((m|0)<=0){break r}g=F[F[F[j+416>>2]+L(F[j+404>>2],12)>>2]+(g<<2)>>2];if(g>>>0>4){break r}i=F[(g<<2)+8896>>2];F[j+400>>2]=i;if(!g){if((b|0)==(c|0)){break r}i=-1;m=F[j+8>>2];B=F[m+24>>2];t=c-4|0;e=F[t>>2];g=-1;x:{if((e|0)==-1){break x}p=e+1|0;p=(p>>>0)%3|0?p:e-2|0;g=-1;if((p|0)==-1){break x}g=F[F[m>>2]+(p<<2)>>2]}n=F[B+(g<<2)>>2];if((n|0)!=-1){i=n+1|0;i=(i>>>0)%3|0?i:n-2|0}if((e|0)!=-1&F[F[m+12>>2]+(e<<2)>>2]!=-1|(e|0)==(i|0)){break r}n=F[m+12>>2];if((i|0)!=-1&F[n+(i<<2)>>2]!=-1){break r}p=L(h,3);h=p+1|0;F[n+(e<<2)>>2]=h;x=h<<2;F[x+n>>2]=e;r=p+2|0;F[n+(i<<2)>>2]=r;w=r<<2;F[w+n>>2]=i;n=-1;h=-1;y:{if((e|0)==-1){break y}z:{if((e>>>0)%3|0){e=e-1|0;break z}e=e+2|0;h=-1;if((e|0)==-1){break y}}h=F[F[m>>2]+(e<<2)>>2]}e=h;A:{if((i|0)==-1){break A}h=i+1|0;h=(h>>>0)%3|0?h:i-2|0;if((h|0)==-1){break A}n=F[F[m>>2]+(h<<2)>>2]}if((e|0)==(g|0)|(g|0)==(n|0)){break r}a=F[m>>2];F[a+(p<<2)>>2]=g;F[a+x>>2]=n;F[a+w>>2]=e;if((e|0)!=-1){F[B+(e<<2)>>2]=r}a=F[j+120>>2]+(g>>>3&536870908)|0;e=F[a>>2];O=a,P=oi(g)&e,F[O>>2]=P;F[t>>2]=p;e=b;kc(J,p);break u}B:{switch(i-1|0){case 2:case 4:if((b|0)==(c|0)){break r}r=c-4|0;e=F[r>>2];i=F[j+8>>2];m=F[i+12>>2];if((e|0)!=-1&F[m+(e<<2)>>2]!=-1){break r}c=L(h,3);n=(g|0)==3;g=c+(n?2:1)|0;t=g<<2;F[t+m>>2]=e;F[m+(e<<2)>>2]=g;Ma(i+24|0,8324);p=F[j+8>>2];m=F[p+24>>2];if(F[p+28>>2]-m>>2>(C|0)){break r}a=F[p>>2];w=a+t|0;p=F[i+28>>2];i=F[i+24>>2];t=(p-i>>2)-1|0;F[w>>2]=t;if((i|0)!=(p|0)){F[m+(t<<2)>>2]=g}g=n?c:c+2|0;w=a+(c+n<<2)|0;C:{if((e|0)==-1){F[a+(g<<2)>>2]=-1;i=-1;break C}D:{E:{F:{if((e>>>0)%3|0){i=e-1|0;break F}i=e+2|0;if((i|0)==-1){break E}}i=F[a+(i<<2)>>2];F[a+(g<<2)>>2]=i;if((i|0)==-1){break D}F[m+(i<<2)>>2]=g;break D}F[a+(g<<2)>>2]=-1}i=e+1|0;e=(i>>>0)%3|0?i:e-2|0;i=-1;if((e|0)==-1){break C}i=F[a+(e<<2)>>2]}F[w>>2]=i;F[r>>2]=c;e=b;break v;case 6:break w;case 0:break B;default:break r}}if((e|0)==(c|0)){break r}f=c-4|0;m=F[f>>2];F[l+68>>2]=f;n=F[l+44>>2];G:{if(!n){break G}g=F[l+40>>2];p=ni(n)>>>0>1;a=h&n+2147483647;H:{if(!p){break H}a=h;if(a>>>0>>0){break H}a=(h>>>0)%(n>>>0)|0}i=a;a=F[g+(i<<2)>>2];if(!a){break G}a=F[a>>2];if(!a){break G}I:{if(!p){g=n-1|0;while(1){n=F[a+4>>2];J:{if((n|0)!=(h|0)){if((i|0)==(g&n)){break J}break G}if((h|0)==F[a+8>>2]){break I}}a=F[a>>2];if(a){continue}break}break G}while(1){g=F[a+4>>2];K:{if((g|0)!=(h|0)){if(g>>>0>=n>>>0){g=(g>>>0)%(n>>>0)|0}if((g|0)==(i|0)){break K}break G}if((h|0)==F[a+8>>2]){break I}}a=F[a>>2];if(a){continue}break}break G}if((f|0)!=(k|0)){F[f>>2]=F[a+12>>2];F[l+68>>2]=c;f=c;break G}b=k-e|0;c=b>>2;d=c+1|0;if(d>>>0>=1073741824){break b}f=b>>>1|0;d=b>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break p}f=ka(d<<2)}else{f=0}b=f+(c<<2)|0;F[b>>2]=F[a+12>>2];d=f+(d<<2)|0;f=b+4|0;if((e|0)!=(k|0)){while(1){b=b-4|0;k=k-4|0;F[b>>2]=F[k>>2];if((e|0)!=(k|0)){continue}break}}F[l+72>>2]=d;F[l+68>>2]=f;F[l+64>>2]=b;if(e){ja(e)}e=b;k=d}if((e|0)==(f|0)){break t}x=f-4|0;a=F[x>>2];if((a|0)==(m|0)){break t}i=(a|0)==-1;g=F[j+8>>2];if(!i&F[F[g+12>>2]+(a<<2)>>2]!=-1){break t}n=F[g+12>>2];if((m|0)!=-1&F[n+(m<<2)>>2]!=-1){break t}p=L(h,3);t=p+2|0;F[n+(a<<2)>>2]=t;c=t<<2;F[c+n>>2]=a;h=p+1|0;F[n+(m<<2)>>2]=h;w=h<<2;F[w+n>>2]=m;L:{M:{N:{if(!i){if((a>>>0)%3|0){h=a-1|0;break N}h=a+2|0;if((h|0)!=-1){break N}i=F[g>>2];h=-1;break M}h=-1;i=F[g>>2];F[i+(p<<2)>>2]=-1;r=-1;break L}i=F[g>>2];h=F[i+(h<<2)>>2]}F[(p<<2)+i>>2]=h;r=a+1|0;a=(r>>>0)%3|0?r:a-2|0;r=-1;if((a|0)==-1){break L}r=F[(a<<2)+i>>2]}F[i+w>>2]=r;O:{if((m|0)==-1){F[c+i>>2]=-1;r=-1;c=-1;break O}P:{Q:{R:{if((m>>>0)%3|0){a=m-1|0;break R}a=m+2|0;if((a|0)==-1){break Q}}a=F[(a<<2)+i>>2];F[c+i>>2]=a;if((a|0)==-1){break P}F[F[g+24>>2]+(a<<2)>>2]=t;break P}F[c+i>>2]=-1}r=-1;a=m+1|0;a=(a>>>0)%3|0?a:m-2|0;c=-1;if((a|0)==-1){break O}r=F[(a<<2)+i>>2];c=a}a=F[j+388>>2];t=h<<2;m=a+t|0;w=a;a=r<<2;F[m>>2]=F[m>>2]+F[w+a>>2];w=a;a=F[g+24>>2];m=w+a|0;if((h|0)!=-1){F[a+t>>2]=F[m>>2]}a=c;while(1){if((a|0)!=-1){F[(a<<2)+i>>2]=h;t=a+1|0;a=(t>>>0)%3|0?t:a-2|0;g=-1;S:{if((a|0)==-1){break S}a=F[n+(a<<2)>>2];g=-1;if((a|0)==-1){break S}g=a+1|0;g=(g>>>0)%3|0?g:a-2|0}a=g;if((c|0)!=(a|0)){continue}break t}break}F[m>>2]=-1;T:{U:{if(M){break U}if((y|0)!=(z|0)){F[z>>2]=r;z=z+4|0;F[l+28>>2]=z;break U}a=y-o|0;g=a>>2;c=g+1|0;if(c>>>0>=1073741824){break T}h=a>>>1|0;h=a>>>0>=2147483644?1073741823:c>>>0>>0?h:c;if(h){if(h>>>0>=1073741824){break p}c=ka(h<<2)}else{c=0}a=c+(g<<2)|0;F[a>>2]=r;z=a+4|0;if((o|0)!=(y|0)){while(1){a=a-4|0;y=y-4|0;F[a>>2]=F[y>>2];if((o|0)!=(y|0)){continue}break}}y=c+(h<<2)|0;F[l+32>>2]=y;F[l+28>>2]=z;F[l+24>>2]=a;if(o){ja(o)}o=a}F[x>>2]=p;c=f;kc(J,p);break u}break b}g=F[j+8>>2];Ma(g+24|0,8324);a=-1;k=F[j+8>>2];f=L(h,3);i=F[g+28>>2];m=F[g+24>>2];n=i-m|0;g=n>>2;p=g-1|0;F[F[k>>2]+(f<<2)>>2]=p;Ma(k+24|0,8324);r=f+1|0;F[F[k>>2]+(r<<2)>>2]=(F[k+28>>2]-F[k+24>>2]>>2)-1;k=F[j+8>>2];Ma(k+24|0,8324);t=f+2|0;F[F[k>>2]+(t<<2)>>2]=(F[k+28>>2]-F[k+24>>2]>>2)-1;x=F[j+8>>2];k=F[x+24>>2];if(F[x+28>>2]-k>>2>(C|0)){break r}V:{W:{if((i|0)!=(m|0)){F[k+(p<<2)>>2]=f;a=0;if((n|0)==-4){break W}}F[k+(g<<2)>>2]=r;a=g+1|0;if((a|0)==-1){break V}}F[k+(a<<2)>>2]=t}if((d|0)!=(c|0)){F[c>>2]=f;f=c+4|0;F[l+68>>2]=f;k=d;break v}a=d-b|0;k=a>>2;e=k+1|0;if(e>>>0>=1073741824){break b}c=a>>>1|0;a=a>>>0>=2147483644?1073741823:e>>>0>>0?c:e;if(a){if(a>>>0>=1073741824){break p}c=ka(a<<2)}else{c=0}e=c+(k<<2)|0;F[e>>2]=f;k=c+(a<<2)|0;f=e+4|0;if((b|0)!=(d|0)){while(1){e=e-4|0;d=d-4|0;F[e>>2]=F[d>>2];if((b|0)!=(d|0)){continue}break}}F[l+72>>2]=k;F[l+68>>2]=f;F[l+64>>2]=e;if(b){ja(b)}d=k;b=e}kc(J,F[f-4>>2]);a=F[j+40>>2];X:{if((a|0)==F[j+36>>2]){break X}c=a-12|0;g=F[c+4>>2];h=q+(h^-1)|0;if(g>>>0>h>>>0){break t}if((g|0)!=(h|0)){break X}i=G[a-4|0];g=F[c>>2];F[j+40>>2]=c;if((g|0)<0){break t}m=f-4|0;a=F[m>>2];F[l+20>>2]=q+(g^-1);c=l+20|0;F[l+88>>2]=c;Fb(l,l+40|0,c,l+88|0);g=F[l>>2];Y:{if(i&1){c=-1;if((a|0)==-1){break Y}c=a+1|0;c=(c>>>0)%3|0?c:a-2|0;break Y}c=-1;if((a|0)==-1){break Y}c=a-1|0;if((a>>>0)%3|0){break Y}c=a+2|0}F[g+12>>2]=c;a=F[j+40>>2];if((a|0)==F[j+36>>2]){break X}while(1){c=a-12|0;g=F[c+4>>2];if(g>>>0>h>>>0){break t}if((g|0)!=(h|0)){break X}i=G[a-4|0];g=F[c>>2];F[j+40>>2]=c;if((g|0)<0){break t}a=F[m>>2];F[l+20>>2]=q+(g^-1);c=l+20|0;F[l+88>>2]=c;Fb(l,l+40|0,c,l+88|0);g=F[l>>2];Z:{if(i&1){c=-1;if((a|0)==-1){break Z}c=a+1|0;c=(c>>>0)%3|0?c:a-2|0;break Z}c=-1;if((a|0)==-1){break Z}c=a-1|0;if((a>>>0)%3|0){break Z}c=a+2|0}F[g+12>>2]=c;a=F[j+40>>2];if((a|0)!=F[j+36>>2]){continue}break}}c=f}B=(q|0)>(s|0);if((q|0)!=(s|0)){continue}break}s=q;break s}a=-1;if(B){break r}}a=-1;c=F[j+8>>2];if(F[c+28>>2]-F[c+24>>2]>>2>(C|0)){break r}if((b|0)!=(f|0)){m=j+72|0;k=j+60|0;n=j+312|0;while(1){f=f-4|0;q=F[f>>2];F[l+68>>2]=f;_:{if(wa(n)){g=F[j+8>>2];o=F[g>>2];if(((F[g+4>>2]-o>>2>>>0)/3|0)<=(s|0)){a=-1;break r}b=-1;i=F[g+24>>2];a=-1;$:{if((q|0)==-1){break $}e=q+1|0;e=(e>>>0)%3|0?e:q-2|0;a=-1;if((e|0)==-1){break $}a=F[o+(e<<2)>>2]}e=a;a=F[i+(e<<2)>>2];aa:{if((a|0)==-1){h=1;c=-1;break aa}h=1;c=-1;d=a+1|0;a=(d>>>0)%3|0?d:a-2|0;if((a|0)==-1){break aa}h=0;b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;if((b|0)!=-1){c=F[o+(b<<2)>>2]}b=a}a=-1;d=-1;i=F[i+(c<<2)>>2];if((i|0)!=-1){d=i+1|0;d=(d>>>0)%3|0?d:i-2|0}if((b|0)==(q|0)|(d|0)==(q|0)|((q|0)!=-1&F[F[g+12>>2]+(q<<2)>>2]!=-1|(b|0)==(d|0))){break r}if(!h&F[F[g+12>>2]+(b<<2)>>2]!=-1){break r}h=-1;g=F[g+12>>2];i=-1;ba:{if((d|0)==-1){break ba}if(F[g+(d<<2)>>2]!=-1){break r}a=d+1|0;a=(a>>>0)%3|0?a:d-2|0;i=-1;if((a|0)==-1){break ba}i=F[o+(a<<2)>>2]}a=L(s,3);F[l>>2]=a;F[g+(a<<2)>>2]=q;F[g+(q<<2)>>2]=a;a=F[l>>2]+1|0;F[g+(a<<2)>>2]=b;F[g+(b<<2)>>2]=a;a=F[l>>2]+2|0;F[g+(a<<2)>>2]=d;F[g+(d<<2)>>2]=a;a=F[l>>2];F[o+(a<<2)>>2]=c;b=a+1|0;d=o+(b<<2)|0;F[d>>2]=i;q=a+2|0;o=o+(q<<2)|0;F[o>>2]=e;a=F[j+120>>2];e=b?c:-1;c=a+(e>>>3&536870908)|0;g=F[c>>2];O=c,P=oi(e)&g,F[O>>2]=P;h=(b|0)!=-1?F[d>>2]:h;b=a+(h>>>3&536870908)|0;d=F[b>>2];O=b,P=oi(h)&d,F[O>>2]=P;d=-1;d=(q|0)!=-1?F[o>>2]:d;a=a+(d>>>3&536870908)|0;b=F[a>>2];O=a,P=oi(d)&b,F[O>>2]=P;D[l+88|0]=1;wd(k,l+88|0);Ma(m,l);s=s+1|0;b=F[l+64>>2];break _}d=F[j+64>>2];a=F[j+68>>2];if((d|0)==a<<5){if((d+1|0)<0){break b}if(d>>>0<=1073741822){a=a<<6;d=(d&-32)+32|0;a=a>>>0>d>>>0?a:d}else{a=2147483647}$a(k,a);d=F[j+64>>2]}F[j+64>>2]=d+1;a=F[j+60>>2]+(d>>>3&536870908)|0;e=F[a>>2];O=a,P=oi(d)&e,F[O>>2]=P;d=F[j+76>>2];if((d|0)!=F[j+80>>2]){F[d>>2]=q;F[j+76>>2]=d+4;break _}c=F[m>>2];a=d-c|0;o=a>>2;e=o+1|0;if(e>>>0>=1073741824){break b}h=a>>>1|0;h=a>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(h){if(h>>>0>=1073741824){break p}a=ka(h<<2)}else{a=0}e=a+(o<<2)|0;F[e>>2]=q;q=e+4|0;if((d|0)!=(c|0)){while(1){e=e-4|0;d=d-4|0;F[e>>2]=F[d>>2];if((d|0)!=(c|0)){continue}break}}F[j+80>>2]=a+(h<<2);F[j+76>>2]=q;F[j+72>>2]=e;if(!c){break _}ja(c)}if((b|0)!=(f|0)){continue}break}c=F[j+8>>2]}a=-1;if(((F[c+4>>2]-F[c>>2]>>2>>>0)/3|0)!=(s|0)){break r}a=F[c+28>>2]-F[c+24>>2]>>2;f=F[l+24>>2];h=F[l+28>>2];if((f|0)==(h|0)){break q}while(1){b=F[f>>2];k=F[c+24>>2];d=a-1|0;e=k+(d<<2)|0;if(F[e>>2]==-1){while(1){d=a-2|0;a=a-1|0;e=k+(d<<2)|0;if(F[e>>2]==-1){continue}break}}if(b>>>0<=d>>>0){F[l>>2]=c;e=F[e>>2];D[l+12|0]=1;F[l+8>>2]=e;F[l+4>>2]=e;if((e|0)!=-1){while(1){e=F[F[j+8>>2]>>2]+(e<<2)|0;if(F[e>>2]!=(d|0)){a=-1;break r}F[e>>2]=b;nc(l);e=F[l+8>>2];if((e|0)!=-1){continue}break}c=F[j+8>>2]}k=F[c+24>>2];e=k+(d<<2)|0;if((b|0)!=-1){F[k+(b<<2)>>2]=F[e>>2]}F[e>>2]=-1;e=1<>2];b=k+(b>>>3&536870908)|0;k=k+(d>>>3&536870908)|0;d=1<>2]&d){e=e|F[b>>2]}else{e=F[b>>2]&(e^-1)}F[b>>2]=e;F[k>>2]=F[k>>2]&(d^-1);a=a-1|0}f=f+4|0;if((h|0)!=(f|0)){continue}break}}f=F[l+24>>2]}if(f){ja(f)}b=F[l+48>>2];if(b){while(1){d=F[b>>2];ja(b);b=d;if(b){continue}break}}b=F[l+40>>2];F[l+40>>2]=0;if(b){ja(b)}b=F[l+64>>2];if(b){F[l+68>>2]=b;ja(b)}Z=l+96|0;break o}oa();v()}f=a;if((a|0)==-1){break n}a=K;b=F[a+16>>2];d=b+F[a>>2]|0;b=F[a+8>>2]-b|0;a=F[F[j+4>>2]+32>>2];E[a+38>>1]=H[a+38>>1];F[a>>2]=d;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=b;F[a+12>>2]=0;ca:{if(F[j+216>>2]==F[j+220>>2]){break ca}a=F[j+8>>2];if(F[a+4>>2]==F[a>>2]){break ca}b=0;while(1){if(Ad(j,b)){b=b+3|0;a=F[j+8>>2];if(b>>>0>2]-F[a>>2]>>2>>>0){continue}break ca}break}break n}if(G[j+308|0]){D[j+308|0]=0;d=F[j+292>>2];a=0;e=F[j+304>>2]+7|0;a=e>>>0<7?1:a;e=a<<29|e>>>3;b=e+F[j+288>>2]|0;a=(a>>>3|0)+d|0;F[j+288>>2]=b;F[j+292>>2]=b>>>0>>0?a+1|0:a}b=F[j+216>>2];if((b|0)!=F[j+220>>2]){a=0;while(1){e=L(a,144);Zc((e+b|0)+4|0,F[j+8>>2]);d=F[A>>2];c=d+e|0;b=F[c+132>>2];c=F[c+136>>2];if((b|0)!=(c|0)){while(1){Xc((e+F[A>>2]|0)+4|0,F[b>>2]);b=b+4|0;if((c|0)!=(b|0)){continue}break}d=F[A>>2]}if(!Yc((d+e|0)+4|0)){break n}a=a+1|0;b=F[j+216>>2];if(a>>>0<(F[j+220>>2]-b|0)/144>>>0){continue}break}}a=F[j+8>>2];Hb(j+184|0,F[a+28>>2]-F[a+24>>2]>>2);d=F[j+216>>2];if((d|0)!=F[j+220>>2]){b=0;while(1){a=L(b,144)+d|0;d=F[a+60>>2]-F[a+56>>2]>>2;c=a+104|0;a=F[j+8>>2];a=F[a+28>>2]-F[a+24>>2]>>2;Hb(c,(a|0)<(d|0)?d:a);b=b+1|0;d=F[j+216>>2];if(b>>>0<(F[j+220>>2]-d|0)/144>>>0){continue}break}}N=zd(j,f)}}Z=u- -64|0;return N|0}na();v()}function lh(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,J=0,K=0,M=0,N=0;t=Z+-64|0;Z=t;F[a+132>>2]=0;if(F[a+148>>2]){c=F[a+144>>2];if(c){while(1){b=F[c>>2];ja(c);c=b;if(b){continue}break}}c=0;F[a+144>>2]=0;b=F[a+140>>2];a:{if(!b){break a}if(b>>>0>=4){h=b&-4;while(1){e=c<<2;F[e+F[a+136>>2]>>2]=0;F[F[a+136>>2]+(e|4)>>2]=0;F[F[a+136>>2]+(e|8)>>2]=0;F[F[a+136>>2]+(e|12)>>2]=0;c=c+4|0;g=g+4|0;if((h|0)!=(g|0)){continue}break}}b=b&3;if(!b){break a}g=0;while(1){F[F[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;g=g+1|0;if((b|0)!=(g|0)){continue}break}}F[a+148>>2]=0}b:{if(!Da(1,t+60|0,F[F[a+4>>2]+32>>2])){break b}F[a+156>>2]=F[t+60>>2];if(!Da(1,t+56|0,F[F[a+4>>2]+32>>2])){break b}e=F[t+56>>2];if(e>>>0>1431655765|I[a+156>>2]>L(e,3)>>>0){break b}c=F[F[a+4>>2]+32>>2];h=F[c+8>>2];m=F[c+12>>2];b=F[c+20>>2];g=F[c+16>>2];if((m|0)<=(b|0)&g>>>0>=h>>>0|(b|0)>(m|0)){break b}h=G[g+F[c>>2]|0];g=g+1|0;b=g?b:b+1|0;F[c+16>>2]=g;F[c+20>>2]=b;if(!Da(1,t+52|0,c)){break b}n=F[t+52>>2];if(n>>>0>e>>>0|e>>>0>n+((n>>>0)/3|0)>>>0){break b}if(!Da(1,t+48|0,F[F[a+4>>2]+32>>2])){break b}c=F[t+48>>2];if(c>>>0>n>>>0){break b}F[a+28>>2]=F[a+24>>2];g=Zb(ka(88));b=F[a+8>>2];F[a+8>>2]=g;if(b){Za(b);if(!F[a+8>>2]){break b}}F[a+164>>2]=F[a+160>>2];Ib(a+160|0,e);F[a+176>>2]=F[a+172>>2];Ib(a+172|0,e);F[a- -64>>2]=0;F[a+92>>2]=-1;F[a+84>>2]=-1;F[a+88>>2]=-1;F[a+40>>2]=F[a+36>>2];F[a+52>>2]=F[a+48>>2];F[a+76>>2]=F[a+72>>2];y=a+216|0;Dd(y);Cd(y,h);if(!_c(F[a+8>>2],e,c+F[a+156>>2]|0)){break b}b=F[a+156>>2];D[t+8|0]=1;Ea(a+120|0,b+c|0,t+8|0);if((Bd(a,F[F[a+4>>2]+32>>2])|0)==-1){break b}c=a+232|0;F[c+144>>2]=a;b=F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2];b=F[b>>2]+F[b+16>>2]|0;g=F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2];g=F[g+8>>2]-F[g+16>>2]|0;M=c,N=H[F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2]+38>>1],E[M+38>>1]=N;F[c>>2]=b;F[c+16>>2]=0;F[c+20>>2]=0;F[c+8>>2]=g;F[c+12>>2]=0;F[a+372>>2]=h;C=Ja(t+8|0);h=C;m=0;d=Z-16|0;Z=d;b=F[c+4>>2];F[c+40>>2]=F[c>>2];F[c+44>>2]=b;b=F[c+36>>2];F[c+72>>2]=F[c+32>>2];F[c+76>>2]=b;g=F[c+28>>2];b=c- -64|0;F[b>>2]=F[c+24>>2];F[b+4>>2]=g;b=F[c+20>>2];F[c+56>>2]=F[c+16>>2];F[c+60>>2]=b;b=F[c+12>>2];F[c+48>>2]=F[c+8>>2];F[c+52>>2]=b;c:{d:{if(hc(c+40|0,1,d+8|0)){b=F[c+44>>2];F[c>>2]=F[c+40>>2];F[c+4>>2]=b;b=F[c+76>>2];F[c+32>>2]=F[c+72>>2];F[c+36>>2]=b;b=F[c+68>>2];F[c+24>>2]=F[c+64>>2];F[c+28>>2]=b;g=F[c+60>>2];f=g;b=F[c+56>>2];F[c+16>>2]=b;F[c+20>>2]=g;e=F[c+52>>2];g=F[c+48>>2];F[c+8>>2]=g;F[c+12>>2]=e;k=F[d+12>>2];i=e-((b>>>0>g>>>0)+f|0)|0;e=g-b|0;g=F[d+8>>2];if((k|0)==(i|0)&e>>>0>=g>>>0|i>>>0>k>>>0){break d}}break c}e=f+k|0;b=b+g|0;e=b>>>0>>0?e+1|0:e;F[c+16>>2]=b;F[c+20>>2]=e;if(!Aa(c+80|0,c)){break c}if(!yd(c)){break c}b=F[c+4>>2];F[h>>2]=F[c>>2];F[h+4>>2]=b;b=F[c+36>>2];F[h+32>>2]=F[c+32>>2];F[h+36>>2]=b;b=F[c+28>>2];F[h+24>>2]=F[c+24>>2];F[h+28>>2]=b;b=F[c+20>>2];F[h+16>>2]=F[c+16>>2];F[h+20>>2]=b;b=F[c+12>>2];F[h+8>>2]=F[c+8>>2];F[h+12>>2]=b;m=1}Z=d+16|0;e:{if(!m){break e}b=0;c=0;g=0;m=0;j=Z-96|0;Z=j;F[j+72>>2]=0;F[j+64>>2]=0;F[j+68>>2]=0;F[j+48>>2]=0;F[j+52>>2]=0;F[j+40>>2]=0;F[j+44>>2]=0;F[j+56>>2]=1065353216;F[j+32>>2]=0;F[j+24>>2]=0;F[j+28>>2]=0;h=a;B=F[a+124>>2];f:{g:{h:{i:{j:{k:{l:{m:{if((n|0)<=0){break m}J=F[h+216>>2]!=F[h+220>>2];z=1;while(1){e=m;m=e+1|0;n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{if(!G[h+308|0]){break B}k=F[h+296>>2];d=F[h+304>>2];a=k+(d>>>3|0)|0;l=F[h+300>>2];if(a>>>0>=l>>>0){break B}f=G[a|0];a=d+1|0;F[h+304>>2]=a;p=f>>>(d&7)&1;if(!p){break B}i=0;f=a>>>3|0;r=k+f|0;C:{if(r>>>0>=l>>>0){d=a;a=0;break C}r=G[r|0];d=d+2|0;F[h+304>>2]=d;f=d>>>3|0;a=r>>>(a&7)&1}f=f+k|0;if(f>>>0>>0){f=G[f|0];F[h+304>>2]=d+1;i=f>>>(d&7)<<1&2}f=-1;i=p|(a|i)<<1;switch(i-1|0){case 6:break y;case 0:break z;case 2:case 4:break A;default:break l}}if((c|0)==(g|0)){f=-1;break l}d=-1;i=F[h+8>>2];z=F[i+24>>2];r=c-4|0;b=F[r>>2];a=-1;D:{if((b|0)==-1){break D}k=b+1|0;k=(k>>>0)%3|0?k:b-2|0;a=-1;if((k|0)==-1){break D}a=F[F[i>>2]+(k<<2)>>2]}f=F[z+(a<<2)>>2];if((f|0)!=-1){d=f+1|0;d=(d>>>0)%3|0?d:f-2|0}if((b|0)==(d|0)){f=-1;break l}if((b|0)!=-1){f=-1;if(F[F[i+12>>2]+(b<<2)>>2]!=-1){break l}}k=F[i+12>>2];if((d|0)!=-1){f=-1;if(F[k+(d<<2)>>2]!=-1){break l}}l=L(e,3);e=l+1|0;F[k+(b<<2)>>2]=e;s=e<<2;F[s+k>>2]=b;p=l+2|0;F[k+(d<<2)>>2]=p;u=p<<2;F[u+k>>2]=d;k=-1;e=-1;E:{if((b|0)==-1){break E}F:{if((b>>>0)%3|0){b=b-1|0;break F}b=b+2|0;e=-1;if((b|0)==-1){break E}}e=F[F[i>>2]+(b<<2)>>2]}b=e;G:{if((d|0)==-1){break G}e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)==-1){break G}k=F[F[i>>2]+(e<<2)>>2]}f=-1;if((a|0)==(b|0)|(a|0)==(k|0)){break l}e=F[i>>2];F[e+(l<<2)>>2]=a;F[e+s>>2]=k;F[e+u>>2]=b;if((b|0)!=-1){F[z+(b<<2)>>2]=p}b=F[h+120>>2]+(a>>>3&536870908)|0;e=F[b>>2];M=b,N=oi(a)&e,F[M>>2]=N;F[r>>2]=l;b=g;break n}if((c|0)==(g|0)){break l}r=c-4|0;b=F[r>>2];a=F[h+8>>2];d=F[a+12>>2];if((b|0)!=-1&F[d+(b<<2)>>2]!=-1){break l}l=(i|0)==5;i=L(e,3);p=(l?2:1)+i|0;s=p<<2;F[s+d>>2]=b;F[d+(b<<2)>>2]=p;Ma(a+24|0,8324);d=F[h+8>>2];k=F[d+24>>2];if(F[d+28>>2]-k>>2>(B|0)){break l}d=F[d>>2];u=d+s|0;f=F[a+28>>2];a=F[a+24>>2];s=(f-a>>2)-1|0;F[u>>2]=s;if((a|0)!=(f|0)){F[k+(s<<2)>>2]=p}f=l?i:i+2|0;l=d+(i+l<<2)|0;H:{if((b|0)==-1){F[d+(f<<2)>>2]=-1;a=-1;break H}I:{J:{K:{if((b>>>0)%3|0){a=b-1|0;break K}a=b+2|0;if((a|0)==-1){break J}}a=F[d+(a<<2)>>2];F[d+(f<<2)>>2]=a;if((a|0)==-1){break I}F[k+(a<<2)>>2]=f;break I}F[d+(f<<2)>>2]=-1}f=b+1|0;b=(f>>>0)%3|0?f:b-2|0;a=-1;if((b|0)==-1){break H}a=F[d+(b<<2)>>2]}F[l>>2]=a;F[r>>2]=i;b=g;break t}if((b|0)==(c|0)){break l}a=c-4|0;k=F[a>>2];F[j+68>>2]=a;l=F[j+44>>2];L:{if(!l){c=a;break L}f=F[j+40>>2];p=ni(l)>>>0>1;d=e&l+2147483647;M:{if(!p){break M}d=e;if(d>>>0>>0){break M}d=(e>>>0)%(l>>>0)|0}i=d;d=F[f+(i<<2)>>2];if(!d){c=a;break L}d=F[d>>2];if(!d){c=a;break L}N:{if(!p){f=l-1|0;while(1){l=F[d+4>>2];O:{if((l|0)!=(e|0)){if((i|0)==(f&l)){break O}c=a;break L}if((e|0)==F[d+8>>2]){break N}}d=F[d>>2];if(d){continue}break}c=a;break L}while(1){f=F[d+4>>2];P:{if((f|0)!=(e|0)){if(f>>>0>=l>>>0){f=(f>>>0)%(l>>>0)|0}if((f|0)==(i|0)){break P}c=a;break L}if((e|0)==F[d+8>>2]){break N}}d=F[d>>2];if(d){continue}break}c=a;break L}if((a|0)!=(q|0)){F[a>>2]=F[d+12>>2];F[j+68>>2]=c;break L}a=q-b|0;g=a>>2;c=g+1|0;if(c>>>0>=1073741824){break x}f=a>>>1|0;f=a>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break j}a=ka(f<<2)}else{a=0}g=a+(g<<2)|0;F[g>>2]=F[d+12>>2];c=g+4|0;if((b|0)!=(q|0)){while(1){g=g-4|0;q=q-4|0;F[g>>2]=F[q>>2];if((b|0)!=(q|0)){continue}break}}q=a+(f<<2)|0;F[j+72>>2]=q;F[j+68>>2]=c;F[j+64>>2]=g;if(b){ja(b)}}if((c|0)==(g|0)){break p}s=c-4|0;b=F[s>>2];if((b|0)==(k|0)){break p}a=(b|0)==-1;f=F[h+8>>2];if(!a&F[F[f+12>>2]+(b<<2)>>2]!=-1){break p}l=F[f+12>>2];if((k|0)!=-1&F[l+(k<<2)>>2]!=-1){break p}p=L(e,3);r=p+2|0;F[l+(b<<2)>>2]=r;e=r<<2;F[e+l>>2]=b;d=p+1|0;F[l+(k<<2)>>2]=d;u=d<<2;F[u+l>>2]=k;if(a){break w}if((b>>>0)%3|0){d=b-1|0;break s}d=b+2|0;if((d|0)!=-1){break s}a=F[f>>2];d=-1;break r}i=F[h+8>>2];Ma(i+24|0,8324);d=F[h+8>>2];a=L(e,3);k=F[i+28>>2];l=F[i+24>>2];p=k-l|0;i=p>>2;r=i-1|0;F[F[d>>2]+(a<<2)>>2]=r;Ma(d+24|0,8324);s=a+1|0;F[F[d>>2]+(s<<2)>>2]=(F[d+28>>2]-F[d+24>>2]>>2)-1;d=F[h+8>>2];Ma(d+24|0,8324);u=a+2|0;F[F[d>>2]+(u<<2)>>2]=(F[d+28>>2]-F[d+24>>2]>>2)-1;A=F[h+8>>2];d=F[A+24>>2];if(F[A+28>>2]-d>>2>(B|0)){break l}Q:{R:{if((k|0)!=(l|0)){F[d+(r<<2)>>2]=a;f=0;if((p|0)==-4){break R}}F[d+(i<<2)>>2]=s;f=i+1|0;if((f|0)==-1){break Q}}F[d+(f<<2)>>2]=u}if((c|0)!=(q|0)){F[c>>2]=a;c=c+4|0;F[j+68>>2]=c;break t}g=c-b|0;i=g>>2;d=i+1|0;if(d>>>0>=1073741824){break v}f=g>>>1|0;d=g>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break j}f=ka(d<<2)}else{f=0}g=f+(i<<2)|0;F[g>>2]=a;q=f+(d<<2)|0;a=g+4|0;if((b|0)!=(c|0)){while(1){g=g-4|0;c=c-4|0;F[g>>2]=F[c>>2];if((b|0)!=(c|0)){continue}break}}F[j+72>>2]=q;F[j+68>>2]=a;F[j+64>>2]=g;if(!b){break u}ja(b);break u}na();v()}d=-1;a=F[f>>2];F[a+(p<<2)>>2]=-1;i=-1;break q}na();v()}c=a;b=g}a=F[h+40>>2];if((a|0)==F[h+36>>2]){break n}d=a-12|0;i=F[d+4>>2];f=n+(e^-1)|0;if(i>>>0>f>>>0){break p}if((f|0)!=(i|0)){break n}i=G[a-4|0];e=F[d>>2];F[h+40>>2]=d;if((e|0)<0){break p}k=c-4|0;a=F[k>>2];F[j+20>>2]=n+(e^-1);e=j+20|0;F[j+88>>2]=e;Fb(j,j+40|0,e,j+88|0);d=F[j>>2];S:{if(i&1){e=-1;if((a|0)==-1){break S}e=a+1|0;e=(e>>>0)%3|0?e:a-2|0;break S}e=-1;if((a|0)==-1){break S}e=a-1|0;if((a>>>0)%3|0){break S}e=a+2|0}F[d+12>>2]=e;d=F[h+40>>2];if((d|0)==F[h+36>>2]){break n}while(1){a=d-12|0;e=F[a+4>>2];if(e>>>0>f>>>0){break p}if((f|0)!=(e|0)){break n}d=G[d-4|0];e=F[a>>2];F[h+40>>2]=a;if((e|0)<0){break p}a=F[k>>2];F[j+20>>2]=n+(e^-1);e=j+20|0;F[j+88>>2]=e;Fb(j,j+40|0,e,j+88|0);i=F[j>>2];T:{if(d&1){e=-1;if((a|0)==-1){break T}e=a+1|0;e=(e>>>0)%3|0?e:a-2|0;break T}e=-1;if((a|0)==-1){break T}e=a-1|0;if((a>>>0)%3|0){break T}e=a+2|0}F[i+12>>2]=e;d=F[h+40>>2];if((d|0)!=F[h+36>>2]){continue}break}break n}a=F[f>>2];d=F[a+(d<<2)>>2]}F[(p<<2)+a>>2]=d;A=b+1|0;b=(A>>>0)%3|0?A:b-2|0;i=-1;if((b|0)==-1){break q}i=F[(b<<2)+a>>2]}F[a+u>>2]=i;U:{if((k|0)==-1){F[a+e>>2]=-1;i=-1;e=-1;break U}V:{W:{X:{if((k>>>0)%3|0){b=k-1|0;break X}b=k+2|0;if((b|0)==-1){break W}}b=F[(b<<2)+a>>2];F[a+e>>2]=b;if((b|0)==-1){break V}F[F[f+24>>2]+(b<<2)>>2]=r;break V}F[a+e>>2]=-1}i=-1;b=k+1|0;b=(b>>>0)%3|0?b:k-2|0;e=-1;if((b|0)==-1){break U}i=F[(b<<2)+a>>2];e=b}b=F[f+24>>2];k=b+(i<<2)|0;if((d|0)!=-1){F[b+(d<<2)>>2]=F[k>>2]}b=e;while(1){if((b|0)==-1){break o}F[(b<<2)+a>>2]=d;r=b+1|0;b=(r>>>0)%3|0?r:b-2|0;f=-1;Y:{if((b|0)==-1){break Y}b=F[l+(b<<2)>>2];f=-1;if((b|0)==-1){break Y}f=b+1|0;f=(f>>>0)%3|0?f:b-2|0}b=f;if((e|0)!=(b|0)){continue}break}}f=-1;if(!z){break m}break l}F[k>>2]=-1;Z:{if(J){break Z}if((w|0)!=(x|0)){F[x>>2]=i;x=x+4|0;F[j+28>>2]=x;break Z}a=w-o|0;d=a>>2;b=d+1|0;if(b>>>0>=1073741824){break i}e=a>>>1|0;e=a>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(e){if(e>>>0>=1073741824){break j}a=ka(e<<2)}else{a=0}b=a+(d<<2)|0;F[b>>2]=i;x=b+4|0;if((o|0)!=(w|0)){while(1){b=b-4|0;w=w-4|0;F[b>>2]=F[w>>2];if((o|0)!=(w|0)){continue}break}}w=a+(e<<2)|0;F[j+32>>2]=w;F[j+28>>2]=x;F[j+24>>2]=b;if(o){ja(o)}o=b}F[s>>2]=p;b=g}z=(m|0)<(n|0);if((m|0)!=(n|0)){continue}break}m=n}f=-1;a=F[h+8>>2];if(F[a+28>>2]-F[a+24>>2]>>2>(B|0)){break l}if((c|0)!=(g|0)){l=h+72|0;e=h+60|0;w=h+312|0;while(1){c=c-4|0;i=F[c>>2];F[j+68>>2]=c;_:{if(wa(w)){q=F[h+8>>2];k=F[q>>2];if(((F[q+4>>2]-k>>2>>>0)/3|0)<=(m|0)){f=-1;break l}a=-1;f=-1;b=-1;x=F[q+24>>2];g=-1;$:{if((i|0)==-1){break $}n=i+1|0;n=(n>>>0)%3|0?n:i-2|0;g=-1;if((n|0)==-1){break $}g=F[k+(n<<2)>>2]}n=g;o=F[x+(n<<2)>>2];aa:{if((o|0)==-1){d=1;g=-1;break aa}d=1;p=o+1|0;o=(p>>>0)%3|0?p:o-2|0;g=-1;if((o|0)==-1){break aa}d=0;a=o;g=a+1|0;g=(g>>>0)%3|0?g:a-2|0;if((g|0)!=-1){g=F[k+(g<<2)>>2]}else{g=-1}}o=F[(g<<2)+x>>2];if((o|0)!=-1){b=o+1|0;b=(b>>>0)%3|0?b:o-2|0}if((a|0)==(i|0)|(b|0)==(i|0)|((i|0)!=-1&F[F[q+12>>2]+(i<<2)>>2]!=-1|(a|0)==(b|0))){break l}if(!d&F[F[q+12>>2]+(a<<2)>>2]!=-1){break l}d=-1;o=F[q+12>>2];q=-1;ba:{if((b|0)==-1){break ba}if(F[o+(b<<2)>>2]!=-1){break l}f=b+1|0;f=(f>>>0)%3|0?f:b-2|0;q=-1;if((f|0)==-1){break ba}q=F[k+(f<<2)>>2]}f=L(m,3);F[j>>2]=f;F[o+(f<<2)>>2]=i;F[o+(i<<2)>>2]=f;f=F[j>>2]+1|0;F[o+(f<<2)>>2]=a;F[o+(a<<2)>>2]=f;a=F[j>>2]+2|0;F[o+(a<<2)>>2]=b;F[o+(b<<2)>>2]=a;a=F[j>>2];F[k+(a<<2)>>2]=g;b=a+1|0;f=k+(b<<2)|0;F[f>>2]=q;o=a+2|0;i=k+(o<<2)|0;F[i>>2]=n;a=F[h+120>>2];g=b?g:-1;n=a+(g>>>3&536870908)|0;k=F[n>>2];M=n,N=oi(g)&k,F[M>>2]=N;d=(b|0)!=-1?F[f>>2]:d;b=a+(d>>>3&536870908)|0;g=F[b>>2];M=b,N=oi(d)&g,F[M>>2]=N;b=-1;b=(o|0)!=-1?F[i>>2]:b;a=a+(b>>>3&536870908)|0;g=F[a>>2];M=a,N=oi(b)&g,F[M>>2]=N;D[j+88|0]=1;wd(e,j+88|0);Ma(l,j);m=m+1|0;g=F[j+64>>2];break _}b=F[h+64>>2];a=F[h+68>>2];if((b|0)==a<<5){if((b+1|0)<0){break h}if(b>>>0<=1073741822){a=a<<6;b=(b&-32)+32|0;a=a>>>0>b>>>0?a:b}else{a=2147483647}$a(e,a);b=F[h+64>>2]}F[h+64>>2]=b+1;a=F[h+60>>2]+(b>>>3&536870908)|0;d=F[a>>2];M=a,N=oi(b)&d,F[M>>2]=N;b=F[h+76>>2];if((b|0)!=F[h+80>>2]){F[b>>2]=i;F[h+76>>2]=b+4;break _}f=F[l>>2];a=b-f|0;o=a>>2;d=o+1|0;if(d>>>0>=1073741824){break g}n=a>>>1|0;n=a>>>0>=2147483644?1073741823:d>>>0>>0?n:d;if(n){if(n>>>0>=1073741824){break j}a=ka(n<<2)}else{a=0}d=a+(o<<2)|0;F[d>>2]=i;o=d+4|0;if((b|0)!=(f|0)){while(1){d=d-4|0;b=b-4|0;F[d>>2]=F[b>>2];if((b|0)!=(f|0)){continue}break}}F[h+80>>2]=a+(n<<2);F[h+76>>2]=o;F[h+72>>2]=d;if(!f){break _}ja(f)}if((c|0)!=(g|0)){continue}break}a=F[h+8>>2]}f=-1;if(((F[a+4>>2]-F[a>>2]>>2>>>0)/3|0)!=(m|0)){break l}f=F[a+28>>2]-F[a+24>>2]>>2;c=F[j+24>>2];n=F[j+28>>2];if((c|0)==(n|0)){break k}while(1){g=F[c>>2];e=F[a+24>>2];b=f-1|0;d=e+(b<<2)|0;if(F[d>>2]==-1){while(1){b=f-2|0;f=f-1|0;d=e+(b<<2)|0;if(F[d>>2]==-1){continue}break}}if(b>>>0>=g>>>0){F[j>>2]=a;d=F[d>>2];D[j+12|0]=1;F[j+8>>2]=d;F[j+4>>2]=d;if((d|0)!=-1){while(1){a=F[F[h+8>>2]>>2]+(d<<2)|0;if(F[a>>2]!=(b|0)){f=-1;break l}F[a>>2]=g;nc(j);d=F[j+8>>2];if((d|0)!=-1){continue}break}a=F[h+8>>2]}m=F[a+24>>2];e=m+(b<<2)|0;if((g|0)!=-1){F[m+(g<<2)>>2]=F[e>>2]}F[e>>2]=-1;e=1<>2];g=m+(g>>>3&536870908)|0;d=1<>>3&536870908)|0;if(d&F[m>>2]){b=e|F[g>>2]}else{b=F[g>>2]&(e^-1)}F[g>>2]=b;F[m>>2]=F[m>>2]&(d^-1);f=f-1|0}c=c+4|0;if((n|0)!=(c|0)){continue}break}}c=F[j+24>>2]}if(c){ja(c)}a=F[j+48>>2];if(a){while(1){c=F[a>>2];ja(a);a=c;if(a){continue}break}}a=F[j+40>>2];F[j+40>>2]=0;if(a){ja(a)}a=F[j+64>>2];if(a){F[j+68>>2]=a;ja(a)}Z=j+96|0;a=f;break f}oa();v()}na();v()}na();v()}na();v()}b=a;if((a|0)==-1){break e}a=C;c=F[a+16>>2];g=c+F[a>>2]|0;c=F[a+8>>2]-c|0;a=F[F[h+4>>2]+32>>2];E[a+38>>1]=H[a+38>>1];F[a>>2]=g;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=c;F[a+12>>2]=0;ca:{if(F[h+216>>2]==F[h+220>>2]){break ca}a=F[h+8>>2];if(F[a+4>>2]==F[a>>2]){break ca}c=0;while(1){if(Ad(h,c)){c=c+3|0;a=F[h+8>>2];if(c>>>0>2]-F[a>>2]>>2>>>0){continue}break ca}break}break e}if(G[h+308|0]){D[h+308|0]=0;g=F[h+292>>2];a=0;e=F[h+304>>2]+7|0;a=e>>>0<7?1:a;c=a>>>3|0;m=a<<29|e>>>3;a=m+F[h+288>>2]|0;e=c+g|0;F[h+288>>2]=a;F[h+292>>2]=a>>>0>>0?e+1|0:e}c=F[h+216>>2];if((c|0)!=F[h+220>>2]){a=0;while(1){e=L(a,144);Zc((e+c|0)+4|0,F[h+8>>2]);g=F[y>>2];m=g+e|0;c=F[m+132>>2];m=F[m+136>>2];if((c|0)!=(m|0)){while(1){Xc((e+F[y>>2]|0)+4|0,F[c>>2]);c=c+4|0;if((m|0)!=(c|0)){continue}break}g=F[y>>2]}if(!Yc((g+e|0)+4|0)){break e}a=a+1|0;c=F[h+216>>2];if(a>>>0<(F[h+220>>2]-c|0)/144>>>0){continue}break}}a=F[h+8>>2];Hb(h+184|0,F[a+28>>2]-F[a+24>>2]>>2);g=F[h+216>>2];if((g|0)!=F[h+220>>2]){c=0;while(1){a=L(c,144)+g|0;g=F[a+60>>2]-F[a+56>>2]>>2;e=a+104|0;a=F[h+8>>2];a=F[a+28>>2]-F[a+24>>2]>>2;Hb(e,(a|0)<(g|0)?g:a);c=c+1|0;g=F[h+216>>2];if(c>>>0<(F[h+220>>2]-g|0)/144>>>0){continue}break}}K=zd(h,b)}}Z=t- -64|0;return K|0}function Cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0;B=c;c=0;m=Z-96|0;Z=m;l=m+16|0;ma(l,0,76);F[m+92>>2]=-1;F[m+8>>2]=0;F[m>>2]=0;F[m+4>>2]=0;r=Z-16|0;Z=r;F[l+68>>2]=0;F[l+72>>2]=0;F[l>>2]=b;s=Z-16|0;Z=s;u=b;a=F[b+20>>2];a:{if((F[b+24>>2]-a|0)<=0){break a}a=F[a>>2];if((a|0)==-1){break a}c=F[F[u+8>>2]+(a<<2)>>2]}b:{c:{d:{if(!c){a=0;break d}a=F[u+100>>2];e=F[u+96>>2];F[s+8>>2]=0;F[s>>2]=0;F[s+4>>2]=0;f=a-e|0;b=(f|0)/12|0;e:{if((a|0)==(e|0)){break e}if(b>>>0>=357913942){break c}d=ka(f);F[s>>2]=d;F[s+8>>2]=d+L(b,12);a=0;n=d;f=f-12|0;d=(f-((f>>>0)%12|0)|0)+12|0;f=ma(n,0,d);F[s+4>>2]=d+f;if(G[c+84|0]){c=b>>>0<=1?1:b;h=c&1;if(b>>>0>=2){g=c&-2;c=0;while(1){d=L(a,12);b=d+e|0;i=F[b+4>>2];j=F[b>>2];d=d+f|0;F[d+8>>2]=F[b+8>>2];F[d>>2]=j;F[d+4>>2]=i;d=L(a|1,12);b=d+e|0;i=F[b+4>>2];j=F[b>>2];d=d+f|0;F[d+8>>2]=F[b+8>>2];F[d>>2]=j;F[d+4>>2]=i;a=a+2|0;c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!h){break e}b=L(a,12);a=b+e|0;c=F[a+4>>2];e=F[a>>2];b=b+f|0;F[b+8>>2]=F[a+8>>2];F[b>>2]=e;F[b+4>>2]=c;break e}h=b>>>0<=1?1:b;a=F[c+68>>2];c=0;while(1){d=L(c,12);b=d+e|0;g=F[a+(F[b>>2]<<2)>>2];i=F[a+(F[b+4>>2]<<2)>>2];d=d+f|0;F[d+8>>2]=F[a+(F[b+8>>2]<<2)>>2];F[d+4>>2]=i;F[d>>2]=g;c=c+1|0;if((h|0)!=(c|0)){continue}break}}d=0;H=Z-16|0;Z=H;h=ka(88);Zb(h);C=Z-16|0;Z=C;F[h+80>>2]=0;F[h+84>>2]=0;a=F[h+76>>2];F[h+76>>2]=0;if(a){ja(a)}F[h+68>>2]=0;F[h+72>>2]=0;b=h- -64|0;a=F[b>>2];F[b>>2]=0;if(a){ja(a)}g=F[s+4>>2];b=F[s>>2];c=(g-b|0)/12|0;a=L(c,3);f=F[h>>2];e=F[h+4>>2]-f>>2;f:{if(a>>>0>e>>>0){nd(h,a-e|0);g=F[s+4>>2];b=F[s>>2];c=(g-b|0)/12|0;break f}if(a>>>0>=e>>>0){break f}F[h+4>>2]=f+(a<<2)}g:{if((b|0)==(g|0)){break g}e=c>>>0<=1?1:c;g=e&1;a=F[h>>2];if(c>>>0>=2){i=e&-2;c=0;while(1){e=L(d,12);j=e+a|0;f=b+e|0;F[j>>2]=F[f>>2];F[a+(e|4)>>2]=F[f+4>>2];F[j+8>>2]=F[f+8>>2];f=L(d|1,12);e=f+a|0;f=b+f|0;F[e>>2]=F[f>>2];F[e+4>>2]=F[f+4>>2];F[e+8>>2]=F[f+8>>2];d=d+2|0;c=c+2|0;if((i|0)!=(c|0)){continue}break}}if(!g){break g}c=L(d,12);a=c+a|0;b=b+c|0;F[a>>2]=F[b>>2];F[a+4>>2]=F[b+4>>2];F[a+8>>2]=F[b+8>>2]}F[C+12>>2]=-1;a=0;e=0;g=0;f=Z-32|0;Z=f;h:{i:{w=C+12|0;j:{if(!w){break j}c=F[h+4>>2];j=F[h>>2];d=c-j|0;i=d>>2;n=F[h+12>>2];b=F[h+16>>2]-n>>2;k:{if(i>>>0>b>>>0){ab(h+12|0,i-b|0,10228);c=F[h+4>>2];j=F[h>>2];d=c-j|0;i=d>>2;break k}if(b>>>0<=i>>>0){break k}F[h+16>>2]=n+(i<<2)}F[f+24>>2]=0;F[f+16>>2]=0;F[f+20>>2]=0;b=(c|0)==(j|0);if(!b){if((d|0)<0){break i}e=ka(d);F[f+20>>2]=e;F[f+16>>2]=e;F[f+24>>2]=(i<<2)+e}l:{m:{n:{o:{p:{if(d){while(1){i=F[(a<<2)+j>>2];b=F[f+20>>2]-e>>2;q:{if(i>>>0>>0){break q}F[f>>2]=0;d=i+1|0;if(d>>>0>b>>>0){Fa(f+16|0,d-b|0,f);j=F[h>>2];c=F[h+4>>2];e=F[f+16>>2];break q}if(b>>>0<=d>>>0){break q}F[f+20>>2]=(d<<2)+e}b=(i<<2)+e|0;F[b>>2]=F[b>>2]+1;a=a+1|0;d=c-j|0;i=d>>2;if(a>>>0>>0){continue}break}break p}d=0;if(!b){break o}break n}if((c|0)==(j|0)){d=0;break n}if(d>>>0>=2147483645){break m}}d=ka(d<<1);ma(d,255,i<<3)}F[f+8>>2]=0;F[f>>2]=0;F[f+4>>2]=0;b=F[f+20>>2];a=b-e|0;t=a>>2;r:{s:{if((b|0)==(e|0)){break s}if((a|0)<0){break r}q=ka(a);F[f>>2]=q;F[f+8>>2]=(t<<2)+q;b=ma(q,0,a);F[f+4>>2]=b+a;c=t>>>0<=1?1:t;n=c&3;a=0;if(c-1>>>0>=3){o=c&-4;while(1){c=g<<2;F[c+b>>2]=a;x=c|4;a=F[c+e>>2]+a|0;F[x+b>>2]=a;y=c|8;a=a+F[e+x>>2]|0;F[y+b>>2]=a;c=c|12;a=a+F[e+y>>2]|0;F[c+b>>2]=a;a=a+F[c+e>>2]|0;g=g+4|0;p=p+4|0;if((o|0)!=(p|0)){continue}break}}if(!n){break s}while(1){c=g<<2;F[c+b>>2]=a;g=g+1|0;a=F[c+e>>2]+a|0;k=k+1|0;if((n|0)!=(k|0)){continue}break}}if(!i){break l}x=F[h+40>>2];y=F[h+12>>2];n=0;while(1){I=n<<2;a=I+j|0;k=-1;c=n+1|0;b=(c>>>0)%3|0?c:n-2|0;if((b|0)!=-1){k=F[(b<<2)+j>>2]}b=F[a>>2];t:{u:{if(!((n>>>0)%3|0)){p=-1;a=n+2|0;if((a|0)!=-1){p=F[(a<<2)+j>>2]}if(!((b|0)==(k|0)|(b|0)==(p|0))&(k|0)!=(p|0)){break u}x=x+1|0;F[h+40>>2]=x;c=n+3|0;break t}p=F[a-4>>2]}a=p<<2;A=F[a+e>>2];v:{w:{if((A|0)<=0){break w}a=F[a+q>>2];g=0;while(1){o=(a<<3)+d|0;z=F[o>>2];if((z|0)==-1){break w}x:{if((k|0)!=(z|0)){break x}o=F[o+4>>2];if((o|0)!=-1){z=F[(o<<2)+j>>2]}else{z=-1}if((z|0)==(b|0)){break x}while(1){y:{b=a;g=g+1|0;if((A|0)<=(g|0)){break y}a=b+1|0;J=(a<<3)+d|0;z=F[J>>2];K=(b<<3)+d|0;F[K+4>>2]=F[J+4>>2];F[K>>2]=z;if((z|0)!=-1){continue}}break}F[(b<<3)+d>>2]=-1;if((o|0)==-1){break w}F[y+I>>2]=o;F[y+(o<<2)>>2]=n;break v}a=a+1|0;g=g+1|0;if((A|0)!=(g|0)){continue}break}}a=k<<2;k=F[a+e>>2];if((k|0)<=0){break v}a=F[a+q>>2];g=0;while(1){b=(a<<3)+d|0;if(F[b>>2]==-1){F[b>>2]=p;F[b+4>>2]=n;break v}a=a+1|0;g=g+1|0;if((k|0)!=(g|0)){continue}break}}}n=c;if(n>>>0>>0){continue}break}break l}break i}na();v()}F[w>>2]=t;if(q){ja(q)}if(d){ja(d)}a=F[f+16>>2];if(!a){break j}F[f+20>>2]=a;ja(a)}Z=f+32|0;x=(w|0)!=0;if(x){k=Z-32|0;Z=k;a=F[h>>2];g=F[h+4>>2];F[k+24>>2]=0;F[k+16>>2]=0;F[k+20>>2]=0;if((a|0)==(g|0)){c=g}else{a=g-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=ka(b<<2);F[k+24>>2]=b;F[k+20>>2]=0;F[k+16>>2]=c;Yb(k+16|0,a);g=F[h>>2];c=F[h+4>>2]}F[k+8>>2]=0;F[k>>2]=0;while(1){z:{o=0;i=0;if((c|0)==(g|0)){break z}while(1){b=F[k+16>>2];A:{if(F[b+(i>>>3&536870908)>>2]>>>i&1){break A}c=F[k>>2];F[k+4>>2]=c;e=F[h+12>>2];a=i;while(1){B:{f=a+1|0;d=a;a=(f>>>0)%3|0?f:a-2|0;if((a|0)==-1){break B}a=F[e+(a<<2)>>2];if((a|0)==-1){break B}f=a+1|0;a=(f>>>0)%3|0?f:a-2|0;if((i|0)==(a|0)|(a|0)==-1){break B}if(!(F[b+(a>>>3&536870908)>>2]>>>a&1)){continue}}break}j=d;C:{D:{E:{while(1){a=F[k+16>>2]+(j>>>3&536870908)|0;F[a>>2]=F[a>>2]|1<>>0)%3|0?a:j-2|0;g=F[h>>2];y=(j>>>0)%3|0;b=(y?-1:2)+j|0;n=F[k>>2];A=(n|0)==(c|0);F:{if(A){break F}w=F[(f<<2)+g>>2];q=F[h+12>>2];a=n;if((b|0)!=-1){e=q+(b<<2)|0;while(1){G:{if((w|0)!=F[a>>2]){break G}p=F[a+4>>2];t=F[e>>2];if((p|0)==(t|0)){break G}e=b;c=-1;a=-1;if((p|0)==-1){break C}break D}a=a+8|0;if((c|0)!=(a|0)){continue}break}break F}while(1){if((w|0)==F[a>>2]){t=-1;e=-1;p=F[a+4>>2];if((p|0)!=-1){break D}}a=a+8|0;if((c|0)!=(a|0)){continue}break}}b=F[(b<<2)+g>>2];H:{if(F[k+8>>2]!=(c|0)){F[c>>2]=b;F[c+4>>2]=f;c=c+8|0;F[k+4>>2]=c;break H}a=c-n|0;p=a>>3;e=p+1|0;if(e>>>0>=536870912){break i}g=a>>>2|0;g=a>>>0>=2147483640?536870911:e>>>0>>0?g:e;if(g){if(g>>>0>=536870912){break E}e=ka(g<<3)}else{e=0}a=e+(p<<3)|0;F[a>>2]=b;F[a+4>>2]=f;b=a+8|0;if(!A){while(1){c=c-8|0;f=F[c+4>>2];a=a-8|0;F[a>>2]=F[c>>2];F[a+4>>2]=f;if((c|0)!=(n|0)){continue}break}c=F[k>>2]}F[k+8>>2]=e+(g<<3);F[k+4>>2]=b;F[k>>2]=a;if(c){ja(c)}c=b}I:{J:{if(y){a=j-1|0;break J}a=j+2|0;if((a|0)==-1){break I}}a=F[F[h+12>>2]+(a<<2)>>2];if((a|0)==-1){break I}j=a+((a>>>0)%3|0?-1:2)|0;if((d|0)==(j|0)){break I}if((j|0)!=-1){continue}}break}g=F[h>>2];break A}oa();v()}c=F[q+(p<<2)>>2];b=e;a=p}if((t|0)!=-1){F[q+(t<<2)>>2]=-1}if((c|0)!=-1){F[q+(c<<2)>>2]=-1}F[q+(b<<2)>>2]=-1;F[q+(a<<2)>>2]=-1;o=1}i=i+1|0;c=F[h+4>>2];if(i>>>0>2>>>0){continue}break}if(o){continue}}break}a=F[k>>2];if(a){ja(a)}a=F[k+16>>2];if(a){ja(a)}Z=k+32|0;n=0;g=Z-32|0;Z=g;e=F[C+12>>2];F[h+36>>2]=e;p=h+24|0;b=F[h+24>>2];a=F[h+28>>2]-b>>2;K:{L:{if(a>>>0>>0){ab(p,e-a|0,10228);F[g+24>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;break L}if(a>>>0>e>>>0){F[h+28>>2]=b+(e<<2)}F[g+24>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;if(!e){break K}}if((e|0)<0){break i}a=(e-1>>>5|0)+1|0;b=ka(a<<2);F[g+24>>2]=a;F[g+20>>2]=0;F[g+16>>2]=b;Yb(g+16|0,e)}a=F[h>>2];b=F[h+4>>2];F[g+8>>2]=0;F[g>>2]=0;F[g+4>>2]=0;M:{if((a|0)==(b|0)){a=b}else{a=b-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=ka(b<<2);F[g+8>>2]=b;F[g+4>>2]=0;F[g>>2]=c;Yb(g,a);b=F[h>>2];a=F[h+4>>2]}if(a-b>>>0<12){break M}N:{while(1){q=L(n,3);d=(q<<2)+b|0;f=F[d>>2];c=-1;i=q+1|0;if((i|0)!=-1){c=F[(i<<2)+b>>2]}O:{if((c|0)==(f|0)){break O}i=f;f=F[d+8>>2];if((i|0)==(f|0)|(c|0)==(f|0)){break O}k=0;i=F[g>>2];while(1){f=k+q|0;if(!(F[(f>>>3&536870908)+i>>2]>>>f&1)){a=F[(f<<2)+b>>2];c=1<>2];b=a>>>5|0;i=F[d+(b<<2)>>2];t=c&i;if(t){c=F[h+28>>2];P:{if((c|0)!=F[h+32>>2]){F[c>>2]=-1;F[h+28>>2]=c+4;break P}i=F[p>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=ka(j<<2)}else{b=0}d=b+(o<<2)|0;F[d>>2]=-1;o=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;F[d>>2]=F[c>>2];if((c|0)!=(i|0)){continue}break}}F[h+32>>2]=b+(j<<2);F[h+28>>2]=o;F[h+24>>2]=d;if(!i){break P}ja(i)}c=F[h+52>>2];Q:{if((c|0)!=F[h+56>>2]){F[c>>2]=a;F[h+52>>2]=c+4;break Q}i=F[h+48>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=ka(j<<2)}else{b=0}d=b+(o<<2)|0;F[d>>2]=a;a=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;F[d>>2]=F[c>>2];if((c|0)!=(i|0)){continue}break}}F[h+56>>2]=b+(j<<2);F[h+52>>2]=a;F[h+48>>2]=d;if(!i){break Q}ja(i)}c=F[g+20>>2];a=F[g+24>>2];if((c|0)==a<<5){if((c+1|0)<0){break i}b=g+16|0;if(c>>>0<=1073741822){a=a<<6;c=(c&-32)+32|0;a=a>>>0>c>>>0?a:c}else{a=2147483647}$a(b,a);c=F[g+20>>2]}F[g+20>>2]=c+1;d=F[g+16>>2];a=d+(c>>>3&536870908)|0;b=F[a>>2];N=a,O=oi(c)&b,F[N>>2]=O;c=1<>>5|0;i=F[(b<<2)+d>>2];a=e;e=a+1|0}F[(b<<2)+d>>2]=c|i;o=F[h+24>>2]+(a<<2)|0;j=F[h+12>>2];b=F[h>>2];i=F[g>>2];c=f;R:{S:{T:{while(1){if((c|0)==-1){break T}d=(c>>>3&536870908)+i|0;F[d>>2]=F[d>>2]|1<>2]=c;if(t){F[(c<<2)+b>>2]=a}w=c+1|0;c=(w>>>0)%3|0?w:c-2|0;d=-1;U:{if((c|0)==-1){break U}c=F[j+(c<<2)>>2];d=-1;if((c|0)==-1){break U}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0}c=d;if((f|0)!=(c|0)){continue}break}if((f|0)!=-1){break R}c=1;break S}if((f>>>0)%3|0){c=f-1|0;break S}c=f+2|0;if((c|0)==-1){break R}}c=F[j+(c<<2)>>2];if((c|0)==-1){break R}V:{if((c>>>0)%3|0){c=c-1|0;break V}c=c+2|0;if((c|0)==-1){break R}}f=F[h+12>>2];b=F[h>>2];while(1){d=(c>>>3&536870908)+i|0;F[d>>2]=F[d>>2]|1<>2]=a}W:{if((c>>>0)%3|0){c=c-1|0;break W}c=c+2|0;if((c|0)==-1){break R}}c=F[f+(c<<2)>>2];if((c|0)==-1){break R}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)!=-1){continue}break}}}k=k+1|0;if((k|0)!=3){continue}break}b=F[h>>2];a=F[h+4>>2]}n=n+1|0;if(n>>>0<(a-b>>2>>>0)/3>>>0){continue}break}break M}oa();v()}c=0;F[h+44>>2]=0;a=F[g+16>>2];b=F[g+20>>2];if(b){e=b&31;b=(b>>>3&536870908)+a|0;d=a;i=0;while(1){if(!(F[d>>2]>>>c&1)){i=i+1|0;F[h+44>>2]=i}f=(c|0)==31;c=f?0:c+1|0;d=(f<<2)+d|0;if((b|0)!=(d|0)|(c|0)!=(e|0)){continue}break}}b=F[g>>2];if(b){ja(b);a=F[g+16>>2]}if(a){ja(a)}Z=g+32|0}Z=C+16|0;if(!x){F[H+8>>2]=0;Za(h);h=0}Z=H+16|0;a=h;break h}na();v()}b=F[s>>2];if(!b){break d}F[s+4>>2]=b;ja(b)}Z=s+16|0;break b}na();v()}c=F[l+4>>2];b=a;F[l+4>>2]=a;if(c){Za(c);b=F[l+4>>2]}X:{if(!b){break X}a=F[u+100>>2];c=F[u+96>>2];D[r+12|0]=0;Ea(l+56|0,(a-c|0)/12|0,r+12|0);a=F[u+100>>2];c=F[u+96>>2];if((a|0)==(c|0)){break X}while(1){if(!(F[F[l+56>>2]+(E>>>3&536870908)>>2]>>>E&1)){a=L(E,3);Vb(l,0,a);c=F[l+8>>2];e=F[l+12>>2];Vb(l,1,a+1|0);f=F[l+20>>2];d=F[l+24>>2];Vb(l,2,a+2|0);n=(c|0)==(e|0)?-1:0;a=d-f>>2;c=e-c>>2;e=a>>>0>c>>>0;c=F[l+36>>2]-F[l+32>>2]>>2>>>0>(e?a:c)>>>0?2:e?1:n;Y:{if(F[l+68>>2]<=0){break Y}F[r+12>>2]=F[l+76>>2];F[r+8>>2]=m;Qa(r+8|0,r+12|0);a=F[((c<<2)+l|0)+44>>2];if((a|0)<0){a=-1}else{e=(a>>>0)/3|0;a=F[(F[F[l>>2]+96>>2]+L(e,12)|0)+(a-L(e,3)<<2)>>2]}F[r+12>>2]=a;F[r+8>>2]=m;Qa(r+8|0,r+12|0);e=F[l+72>>2];F[l+72>>2]=e+2;if(!(e&1)){break Y}F[r+12>>2]=a;F[r+8>>2]=m;Qa(r+8|0,r+12|0);F[l+72>>2]=F[l+72>>2]+1}d=0;e=Z-16|0;Z=e;F[l+68>>2]=F[l+68>>2]+1;a=L(c,12)+l|0;a=F[a+12>>2]-F[a+8>>2]|0;if((a|0)>0){a=a>>>2|0;h=a>>>0<=1?1:a;c=F[((c<<2)+l|0)+44>>2];while(1){a=c;f=(a>>>0)/3|0;c=(a|0)==-1;g=c?-1:f;i=F[l+56>>2]+(g>>>3&536870908)|0;F[i>>2]=F[i>>2]|1<>2]=F[l+72>>2]+1;Z:{_:{$:{aa:{ba:{if(!d){ca:{if((a|0)>=0){F[e+12>>2]=F[(F[F[l>>2]+96>>2]+L(f,12)|0)+((a>>>0)%3<<2)>>2];F[e+8>>2]=m;Qa(e+8|0,e+12|0);break ca}F[e+12>>2]=-1;F[e+8>>2]=m;Qa(e+8|0,e+12|0);if(c){break ba}}c=-1;f=a+1|0;f=(f>>>0)%3|0?f:a-2|0;if((f|0)>=0){g=(f>>>0)/3|0;f=F[(F[F[l>>2]+96>>2]+L(g,12)|0)+(f-L(g,3)<<2)>>2]}else{f=-1}F[e+12>>2]=f;F[e+8>>2]=m;Qa(e+8|0,e+12|0);f=((a>>>0)%3|0?-1:2)+a|0;if((f|0)<0){break aa}c=(f>>>0)/3|0;c=F[(F[F[l>>2]+96>>2]+L(c,12)|0)+(f-L(c,3)<<2)>>2];break aa}c=(a|0)<0?-1:F[(F[F[l>>2]+96>>2]+L(f,12)|0)+((a>>>0)%3<<2)>>2];F[l+76>>2]=c;F[e+12>>2]=c;F[e+8>>2]=m;Qa(e+8|0,e+12|0);if(d&1){c=-1;if((a|0)==-1){break Z}if((L(f,3)|0)!=(a|0)){a=a-1|0;break _}a=a+2|0;break $}c=-1;if((a|0)==-1){break Z}c=a+1|0;a=(c>>>0)%3|0?c:a-2|0;break $}c=-1;F[e+12>>2]=-1;F[e+8>>2]=m;Qa(e+8|0,e+12|0)}F[l+76>>2]=c;F[e+12>>2]=c;F[e+8>>2]=m;Qa(e+8|0,e+12|0)}c=-1;if((a|0)==-1){break Z}}c=F[F[F[l+4>>2]+12>>2]+(a<<2)>>2]}d=d+1|0;if((h|0)!=(d|0)){continue}break}}Z=e+16|0;c=F[u+96>>2];a=F[u+100>>2]}E=E+1|0;if(E>>>0<(a-c|0)/12>>>0){continue}break}}Z=r+16|0;da:{if(b){a=F[B>>2];if(a){F[B+4>>2]=a;ja(a)}F[B>>2]=F[m>>2];F[B+4>>2]=F[m+4>>2];F[B+8>>2]=F[m+8>>2];M=F[m+84>>2];break da}a=F[m>>2];if(!a){break da}F[m+4>>2]=a;ja(a)}a=F[m+72>>2];if(a){ja(a)}a=F[m+48>>2];if(a){F[m+52>>2]=a;ja(a)}a=F[m+36>>2];if(a){F[m+40>>2]=a;ja(a)}a=F[m+24>>2];if(a){F[m+28>>2]=a;ja(a)}a=F[m+20>>2];F[m+20>>2]=0;if(a){Za(a)}Z=m+96|0;return M|0}function sf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=b;a=0;b=0;a:{b:{switch(d-1|0){case 0:j=F[i+80>>2];h=G[c+24|0];c:{if((L(j,h)|0)!=(e|0)){break c}d=F[c+28>>2]!=1;b=G[c+84|0];if(!(d|!b)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);b=1;break c}if(h){a=ka(h);ma(a,0,h)}d:{if(!j){b=1;break d}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=F[F[c>>2]>>2];m=F[c+48>>2];g=F[c+40>>2];b=ki(g,F[c+44>>2],G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;la(i,la(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break d}if(b){b=1;h=F[c>>2];e=F[c+48>>2];f=F[c+40>>2];i=F[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=F[h>>2];m=ki(f,i,c,0)+e|0;k=la(a,k+m|0,f);m=F[h>>2];n=ki(f,i,c|1,0)+e|0;la(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break d}c=F[h>>2];d=ki(g,0,f,i)+e|0;la(a,c+d|0,f);break d}b=1;h=F[c>>2];e=F[c+48>>2];g=F[c+68>>2];f=F[c+40>>2];i=F[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=F[h>>2];n=c<<2;l=ki(f,i,F[n+g>>2],0)+e|0;m=la(a,m+l|0,f);l=F[h>>2];n=ki(f,i,F[g+(n|4)>>2],0)+e|0;la(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break d}d=F[h>>2];c=ki(f,i,F[g+(c<<2)>>2],0)+e|0;la(a,c+d|0,f);break d}b=0;if(!h){d=0;while(1){if(!Cb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],a)){break d}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break d}d=0;e=0;while(1){if(!Cb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break d}la(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break c}ja(a)}break a;case 2:n=G[c+24|0];l=n<<1;j=F[i+80>>2];e:{if((L(l,j)|0)!=(e|0)){break e}i=F[c+28>>2]!=3;d=G[c+84|0];if(!(i|!d)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);a=1;break e}f:{if(!n){e=0;break f}e=ka(l);ma(e,0,l)}g:{if(!j){a=1;break g}if(!i){o=F[c+68>>2];k=F[c>>2];b=F[c+48>>2];i=F[c+40>>2];m=F[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=F[k>>2];p=ki(i,m,F[o+(d<<2)>>2],0)+b|0;la((c<<1)+f|0,la(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break g}c=0;while(1){a=1;o=F[k>>2];p=ki(g,h,i,m)+b|0;la((c<<1)+f|0,la(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break g}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=F[k>>2];g=c<<2;n=ki(i,m,F[g+o>>2],0)+b|0;h=la(e,h+n|0,i);n=F[k>>2];g=ki(i,m,F[o+(g|4)>>2],0)+b|0;la(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break g}d=F[k>>2];b=ki(i,m,F[o+(c<<2)>>2],0)+b|0;la(e,b+d|0,i);break g}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=F[k>>2];l=ki(g,h,i,m)+b|0;d=la(e,d+l|0,i);l=F[k>>2];o=ki(i,m,g|1,h)+b|0;la(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break g}c=F[k>>2];b=ki(g,h,i,m)+b|0;la(e,b+c|0,i);break g}if(!n){d=0;while(1){if(!Ab(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break g}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break g}d=0;while(1){if(!Ab(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break g}la((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break e}ja(e)}b=a;break a;case 4:l=G[c+24|0];o=l<<2;j=F[i+80>>2];h:{if((L(o,j)|0)!=(e|0)){break h}i=F[c+28>>2]!=5;d=G[c+84|0];if(!(i|!d)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);b=1;break h}i:{if(!l){e=0;break i}e=ka(o);ma(e,0,o)}b=1;j:{if(!j){break j}if(!i){a=F[c+68>>2];m=F[c>>2];i=F[c+48>>2];k=F[c+40>>2];n=F[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=F[m>>2];p=ki(k,n,F[a+(d<<2)>>2],0)+i|0;la((c<<2)+f|0,la(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break j}c=0;while(1){d=F[m>>2];p=ki(g,h,k,n)+i|0;la((c<<2)+f|0,la(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break j}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=F[m>>2];g=c<<2;l=ki(k,n,F[g+a>>2],0)+i|0;h=la(e,h+l|0,k);l=F[m>>2];g=ki(k,n,F[a+(g|4)>>2],0)+i|0;la(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break j}d=F[m>>2];a=ki(k,n,F[a+(c<<2)>>2],0)+i|0;la(e,a+d|0,k);break j}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=F[m>>2];d=ki(g,h,k,n)+i|0;a=la(e,a+d|0,k);d=F[m>>2];o=ki(k,n,g|1,h)+i|0;la(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break j}a=F[m>>2];c=ki(g,h,k,n)+i|0;la(e,a+c|0,k);break j}b=0;if(!l){d=0;while(1){if(!yb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break j}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break j}d=0;while(1){if(!yb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break j}la((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break h}ja(e)}break a;case 1:j=F[i+80>>2];h=G[c+24|0];k:{if((L(j,h)|0)!=(e|0)){break k}d=F[c+28>>2]!=2;b=G[c+84|0];if(!(d|!b)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);b=1;break k}if(h){a=ka(h);ma(a,0,h)}l:{if(!j){b=1;break l}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=F[F[c>>2]>>2];m=F[c+48>>2];g=F[c+40>>2];b=ki(g,F[c+44>>2],G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;la(i,la(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break l}if(b){b=1;h=F[c>>2];e=F[c+48>>2];f=F[c+40>>2];i=F[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=F[h>>2];m=ki(f,i,c,0)+e|0;k=la(a,k+m|0,f);m=F[h>>2];n=ki(f,i,c|1,0)+e|0;la(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break l}c=F[h>>2];d=ki(g,0,f,i)+e|0;la(a,c+d|0,f);break l}b=1;h=F[c>>2];e=F[c+48>>2];g=F[c+68>>2];f=F[c+40>>2];i=F[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=F[h>>2];n=c<<2;l=ki(f,i,F[n+g>>2],0)+e|0;m=la(a,m+l|0,f);l=F[h>>2];n=ki(f,i,F[g+(n|4)>>2],0)+e|0;la(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break l}d=F[h>>2];c=ki(f,i,F[g+(c<<2)>>2],0)+e|0;la(a,c+d|0,f);break l}b=0;if(!h){d=0;while(1){if(!Bb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],a)){break l}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break l}d=0;e=0;while(1){if(!Bb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break l}la(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break k}ja(a)}break a;case 3:n=G[c+24|0];l=n<<1;j=F[i+80>>2];m:{if((L(l,j)|0)!=(e|0)){break m}i=F[c+28>>2]!=4;d=G[c+84|0];if(!(i|!d)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);a=1;break m}n:{if(!n){e=0;break n}e=ka(l);ma(e,0,l)}o:{if(!j){a=1;break o}if(!i){o=F[c+68>>2];k=F[c>>2];b=F[c+48>>2];i=F[c+40>>2];m=F[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=F[k>>2];p=ki(i,m,F[o+(d<<2)>>2],0)+b|0;la((c<<1)+f|0,la(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break o}c=0;while(1){a=1;o=F[k>>2];p=ki(g,h,i,m)+b|0;la((c<<1)+f|0,la(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break o}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=F[k>>2];g=c<<2;n=ki(i,m,F[g+o>>2],0)+b|0;h=la(e,h+n|0,i);n=F[k>>2];g=ki(i,m,F[o+(g|4)>>2],0)+b|0;la(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break o}d=F[k>>2];b=ki(i,m,F[o+(c<<2)>>2],0)+b|0;la(e,b+d|0,i);break o}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=F[k>>2];l=ki(g,h,i,m)+b|0;d=la(e,d+l|0,i);l=F[k>>2];o=ki(i,m,g|1,h)+b|0;la(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break o}c=F[k>>2];b=ki(g,h,i,m)+b|0;la(e,b+c|0,i);break o}if(!n){d=0;while(1){if(!zb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break o}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break o}d=0;while(1){if(!zb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break o}la((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break m}ja(e)}b=a;break a;case 5:l=G[c+24|0];o=l<<2;j=F[i+80>>2];p:{if((L(o,j)|0)!=(e|0)){break p}i=F[c+28>>2]!=6;d=G[c+84|0];if(!(i|!d)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);b=1;break p}q:{if(!l){e=0;break q}e=ka(o);ma(e,0,o)}b=1;r:{if(!j){break r}if(!i){a=F[c+68>>2];m=F[c>>2];i=F[c+48>>2];k=F[c+40>>2];n=F[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=F[m>>2];p=ki(k,n,F[a+(d<<2)>>2],0)+i|0;la((c<<2)+f|0,la(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break r}c=0;while(1){d=F[m>>2];p=ki(g,h,k,n)+i|0;la((c<<2)+f|0,la(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break r}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=F[m>>2];g=c<<2;l=ki(k,n,F[g+a>>2],0)+i|0;h=la(e,h+l|0,k);l=F[m>>2];g=ki(k,n,F[a+(g|4)>>2],0)+i|0;la(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break r}d=F[m>>2];a=ki(k,n,F[a+(c<<2)>>2],0)+i|0;la(e,a+d|0,k);break r}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=F[m>>2];d=ki(g,h,k,n)+i|0;a=la(e,a+d|0,k);d=F[m>>2];o=ki(k,n,g|1,h)+i|0;la(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break r}a=F[m>>2];c=ki(g,h,k,n)+i|0;la(e,a+c|0,k);break r}b=0;if(!l){d=0;while(1){if(!xb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break r}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break r}d=0;while(1){if(!xb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break r}la((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break p}ja(e)}break a;case 8:p=G[c+24|0];q=p<<2;k=F[i+80>>2];s:{if((L(q,k)|0)!=(e|0)){break s}i=F[c+28>>2];t:{if(!p){break t}a=ka(q);d=a;m=q-4|0;l=(m>>>2|0)+1&7;if(l){e=0;while(1){F[d>>2]=-1073741824;d=d+4|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(m>>>0<28){break t}e=(p<<2)+a|0;while(1){F[d+24>>2]=-1073741824;F[d+28>>2]=-1073741824;F[d+16>>2]=-1073741824;F[d+20>>2]=-1073741824;F[d+8>>2]=-1073741824;F[d+12>>2]=-1073741824;F[d>>2]=-1073741824;F[d+4>>2]=-1073741824;d=d+32|0;if((e|0)!=(d|0)){continue}break}}u:{if(!k){b=1;break u}if((i|0)==9){r=F[c+68>>2];l=F[c>>2];i=F[c+48>>2];s=G[c+84|0];m=F[c+44>>2];c=F[c+40>>2];o=c;if(p){e=0;d=0;while(1){h=(e<<2)+f|0;g=F[l>>2];b=ki(c,m,s?d:F[r+(d<<2)>>2],0)+i|0;la(h,la(a,b+g|0,o),q);e=e+p|0;b=1;d=d+1|0;if((k|0)!=(d|0)){continue}break}break u}if(!s){b=1;d=0;if((k|0)!=1){f=k&-2;e=0;while(1){h=F[l>>2];g=d<<2;j=ki(c,m,F[g+r>>2],0)+i|0;h=la(a,h+j|0,o);j=F[l>>2];g=ki(c,m,F[r+(g|4)>>2],0)+i|0;la(h,j+g|0,o);d=d+2|0;e=e+2|0;if((f|0)!=(e|0)){continue}break}}if(!(k&1)){break u}e=F[l>>2];c=ki(c,m,F[r+(d<<2)>>2],0)+i|0;la(a,c+e|0,o);break u}f=k&1;b=1;if((k|0)!=1){k=k&-2;while(1){d=F[l>>2];e=ki(g,h,c,m)+i|0;d=la(a,d+e|0,o);e=F[l>>2];p=ki(c,m,g|1,h)+i|0;la(d,e+p|0,o);g=g+2|0;h=g>>>0<2?h+1|0:h;d=j;e=n+2|0;d=e>>>0<2?d+1|0:d;n=e;j=d;if((e|0)!=(k|0)|d){continue}break}}if(!f){break u}d=F[l>>2];c=ki(g,h,c,m)+i|0;la(a,c+d|0,o);break u}if(!p){d=0;while(1){if(!lb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],a)){break u}d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}break u}e=0;d=0;while(1){if(!lb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],a)){break u}la((e<<2)+f|0,a,q);e=e+p|0;d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}}if(!a){break s}ja(a)}a=b;break;default:break b}}b=a}return b|0}function Pd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=Z-80|0;Z=h;e=F[c+36>>2];F[h+72>>2]=F[c+32>>2];F[h+76>>2]=e;f=F[c+28>>2];e=h- -64|0;F[e>>2]=F[c+24>>2];F[e+4>>2]=f;e=F[c+20>>2];F[h+56>>2]=F[c+16>>2];F[h+60>>2]=e;e=F[c+12>>2];F[h+48>>2]=F[c+8>>2];F[h+52>>2]=e;e=F[c+4>>2];F[h+40>>2]=F[c>>2];F[h+44>>2]=e;jc(a,h+40|0,h+24|0);a:{if(F[a>>2]){break a}if(D[a+15|0]<0){ja(F[a+4>>2])}if(G[h+31|0]!=1){b=ka(32);D[b+20|0]=0;c=G[1446]|G[1447]<<8|(G[1448]<<16|G[1449]<<24);D[b+16|0]=c;D[b+17|0]=c>>>8;D[b+18|0]=c>>>16;D[b+19|0]=c>>>24;c=G[1442]|G[1443]<<8|(G[1444]<<16|G[1445]<<24);d=G[1438]|G[1439]<<8|(G[1440]<<16|G[1441]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1434]|G[1435]<<8|(G[1436]<<16|G[1437]<<24);d=G[1430]|G[1431]<<8|(G[1432]<<16|G[1433]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,20);ja(b);break a}j=Z-16|0;Z=j;b:{c:{switch(G[h+32|0]){case 0:e=Kd(ka(48));F[e>>2]=9864;F[h+8>>2]=0;F[h+12>>2]=0;F[h>>2]=0;F[h+4>>2]=0;F[h+16>>2]=e;break b;case 1:e=Kd(ka(52));F[e+48>>2]=0;F[e>>2]=8176;F[h+8>>2]=0;F[h+12>>2]=0;F[h>>2]=0;F[h+4>>2]=0;F[h+16>>2]=e;break b;default:break c}}f=ka(32);D[f+28|0]=0;e=G[1520]|G[1521]<<8|(G[1522]<<16|G[1523]<<24);D[f+24|0]=e;D[f+25|0]=e>>>8;D[f+26|0]=e>>>16;D[f+27|0]=e>>>24;e=G[1516]|G[1517]<<8|(G[1518]<<16|G[1519]<<24);g=G[1512]|G[1513]<<8|(G[1514]<<16|G[1515]<<24);D[f+16|0]=g;D[f+17|0]=g>>>8;D[f+18|0]=g>>>16;D[f+19|0]=g>>>24;D[f+20|0]=e;D[f+21|0]=e>>>8;D[f+22|0]=e>>>16;D[f+23|0]=e>>>24;e=G[1508]|G[1509]<<8|(G[1510]<<16|G[1511]<<24);g=G[1504]|G[1505]<<8|(G[1506]<<16|G[1507]<<24);D[f+8|0]=g;D[f+9|0]=g>>>8;D[f+10|0]=g>>>16;D[f+11|0]=g>>>24;D[f+12|0]=e;D[f+13|0]=e>>>8;D[f+14|0]=e>>>16;D[f+15|0]=e>>>24;e=G[1500]|G[1501]<<8|(G[1502]<<16|G[1503]<<24);g=G[1496]|G[1497]<<8|(G[1498]<<16|G[1499]<<24);D[f|0]=g;D[f+1|0]=g>>>8;D[f+2|0]=g>>>16;D[f+3|0]=g>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;F[j>>2]=-1;e=j|4;ra(e,f,28);k=D[j+15|0];F[h>>2]=F[j>>2];g=h+4|0;d:{if((k|0)>=0){k=F[e+4>>2];F[g>>2]=F[e>>2];F[g+4>>2]=k;F[g+8>>2]=F[e+8>>2];F[h+16>>2]=0;break d}ra(g,F[j+4>>2],F[j+8>>2]);e=D[j+15|0];F[h+16>>2]=0;if((e|0)>=0){break d}ja(F[j+4>>2])}ja(f)}Z=j+16|0;e=F[h>>2];e:{if(e){F[a>>2]=e;a=a+4|0;if(D[h+15|0]>=0){b=h|4;c=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=c;F[a+8>>2]=F[b+8>>2];break e}ra(a,F[h+4>>2],F[h+8>>2]);break e}e=F[h+16>>2];F[h+16>>2]=0;F[e+44>>2]=d;f=Z-32|0;Z=f;F[e+32>>2]=c;F[e+40>>2]=b;F[e+4>>2]=d;jc(a,c,f+16|0);f:{if(F[a>>2]){break f}if(D[a+15|0]<0){ja(F[a+4>>2])}b=G[f+23|0];if(($[F[F[e>>2]+8>>2]](e)|0)!=(b|0)){b=ka(64);D[b+50|0]=0;c=G[1304]|G[1305]<<8;D[b+48|0]=c;D[b+49|0]=c>>>8;c=G[1300]|G[1301]<<8|(G[1302]<<16|G[1303]<<24);d=G[1296]|G[1297]<<8|(G[1298]<<16|G[1299]<<24);D[b+40|0]=d;D[b+41|0]=d>>>8;D[b+42|0]=d>>>16;D[b+43|0]=d>>>24;D[b+44|0]=c;D[b+45|0]=c>>>8;D[b+46|0]=c>>>16;D[b+47|0]=c>>>24;c=G[1292]|G[1293]<<8|(G[1294]<<16|G[1295]<<24);d=G[1288]|G[1289]<<8|(G[1290]<<16|G[1291]<<24);D[b+32|0]=d;D[b+33|0]=d>>>8;D[b+34|0]=d>>>16;D[b+35|0]=d>>>24;D[b+36|0]=c;D[b+37|0]=c>>>8;D[b+38|0]=c>>>16;D[b+39|0]=c>>>24;c=G[1284]|G[1285]<<8|(G[1286]<<16|G[1287]<<24);d=G[1280]|G[1281]<<8|(G[1282]<<16|G[1283]<<24);D[b+24|0]=d;D[b+25|0]=d>>>8;D[b+26|0]=d>>>16;D[b+27|0]=d>>>24;D[b+28|0]=c;D[b+29|0]=c>>>8;D[b+30|0]=c>>>16;D[b+31|0]=c>>>24;c=G[1276]|G[1277]<<8|(G[1278]<<16|G[1279]<<24);d=G[1272]|G[1273]<<8|(G[1274]<<16|G[1275]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1268]|G[1269]<<8|(G[1270]<<16|G[1271]<<24);d=G[1264]|G[1265]<<8|(G[1266]<<16|G[1267]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1260]|G[1261]<<8|(G[1262]<<16|G[1263]<<24);d=G[1256]|G[1257]<<8|(G[1258]<<16|G[1259]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,50);ja(b);break f}c=G[f+21|0];D[e+36|0]=c;d=G[f+22|0];D[e+37|0]=d;if((c|0)!=2){b=ka(32);D[b+26|0]=0;c=G[1427]|G[1428]<<8;D[b+24|0]=c;D[b+25|0]=c>>>8;c=G[1423]|G[1424]<<8|(G[1425]<<16|G[1426]<<24);d=G[1419]|G[1420]<<8|(G[1421]<<16|G[1422]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1415]|G[1416]<<8|(G[1417]<<16|G[1418]<<24);d=G[1411]|G[1412]<<8|(G[1413]<<16|G[1414]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1407]|G[1408]<<8|(G[1409]<<16|G[1410]<<24);d=G[1403]|G[1404]<<8|(G[1405]<<16|G[1406]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-5;ra(a+4|0,b,26);ja(b);break f}b=b?2:3;if((b|0)!=(d|0)){b=ka(32);D[b+26|0]=0;c=G[1400]|G[1401]<<8;D[b+24|0]=c;D[b+25|0]=c>>>8;c=G[1396]|G[1397]<<8|(G[1398]<<16|G[1399]<<24);d=G[1392]|G[1393]<<8|(G[1394]<<16|G[1395]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1388]|G[1389]<<8|(G[1390]<<16|G[1391]<<24);d=G[1384]|G[1385]<<8|(G[1386]<<16|G[1387]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1380]|G[1381]<<8|(G[1382]<<16|G[1383]<<24);d=G[1376]|G[1377]<<8|(G[1378]<<16|G[1379]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-5;ra(a+4|0,b,26);ja(b);break f}E[F[e+32>>2]+38>>1]=b|512;g:{if(E[f+26>>1]>=0){break g}j=Z-16|0;Z=j;d=ka(36);b=d;F[b+4>>2]=0;F[b+8>>2]=0;F[b+24>>2]=0;F[b+28>>2]=0;b=b+16|0;F[b>>2]=0;F[b+4>>2]=0;F[d>>2]=d+4;F[d+32>>2]=0;F[d+12>>2]=b;F[j>>2]=0;c=F[e+32>>2];k=Z-16|0;Z=k;b=0;h:{if(!d){break h}F[j>>2]=c;F[k+12>>2]=0;b=0;if(!fb(1,k+12|0,c)){break h}n=F[k+12>>2];if(n){while(1){i:{if(fb(1,k+8|0,F[j>>2])){b=ka(28);F[b+4>>2]=0;F[b+8>>2]=0;c=b+16|0;F[c>>2]=0;F[c+4>>2]=0;F[b>>2]=b+4;F[b+12>>2]=c;F[b+24>>2]=F[k+8>>2];if(Vc(j,b)){break i}Ca(b+12|0,F[b+16>>2]);Ba(b,F[b+4>>2]);ja(b)}b=0;break h}g=Z-16|0;Z=g;F[g+8>>2]=b;j:{if(!b){break j}c=F[d+28>>2];k:{if(c>>>0>2]){F[g+8>>2]=0;F[c>>2]=b;F[d+28>>2]=c+4;break k}c=0;l:{m:{n:{i=F[d+24>>2];m=F[d+28>>2]-i>>2;b=m+1|0;if(b>>>0<1073741824){i=F[d+32>>2]-i|0;l=i>>>1|0;i=i>>>0>=2147483644?1073741823:b>>>0>>0?l:b;if(i){if(i>>>0>=1073741824){break n}c=ka(i<<2)}l=F[g+8>>2];F[g+8>>2]=0;b=(m<<2)+c|0;F[b>>2]=l;i=(i<<2)+c|0;m=b+4|0;c=F[d+28>>2];l=F[d+24>>2];if((c|0)==(l|0)){break m}while(1){c=c-4|0;p=F[c>>2];F[c>>2]=0;b=b-4|0;F[b>>2]=p;if((c|0)!=(l|0)){continue}break}F[d+32>>2]=i;i=F[d+28>>2];F[d+28>>2]=m;c=F[d+24>>2];F[d+24>>2]=b;if((c|0)==(i|0)){break l}while(1){i=i-4|0;b=F[i>>2];F[i>>2]=0;if(b){Ca(b+12|0,F[b+16>>2]);Ba(b,F[b+4>>2]);ja(b)}if((c|0)!=(i|0)){continue}break}break l}na();v()}oa();v()}F[d+32>>2]=i;F[d+28>>2]=m;F[d+24>>2]=b}if(c){ja(c)}}b=F[g+8>>2];F[g+8>>2]=0;if(!b){break j}Ca(b+12|0,F[b+16>>2]);Ba(b,F[b+4>>2]);ja(b)}Z=g+16|0;o=o+1|0;if((n|0)!=(o|0)){continue}break}}b=Vc(j,d)}Z=k+16|0;o:{if(b){c=F[e+4>>2];b=F[c+4>>2];F[c+4>>2]=d;if(b){ic(b)}F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;break o}b=ka(32);D[b+26|0]=0;c=G[1549]|G[1550]<<8;D[b+24|0]=c;D[b+25|0]=c>>>8;c=G[1545]|G[1546]<<8|(G[1547]<<16|G[1548]<<24);g=G[1541]|G[1542]<<8|(G[1543]<<16|G[1544]<<24);D[b+16|0]=g;D[b+17|0]=g>>>8;D[b+18|0]=g>>>16;D[b+19|0]=g>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1537]|G[1538]<<8|(G[1539]<<16|G[1540]<<24);g=G[1533]|G[1534]<<8|(G[1535]<<16|G[1536]<<24);D[b+8|0]=g;D[b+9|0]=g>>>8;D[b+10|0]=g>>>16;D[b+11|0]=g>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1529]|G[1530]<<8|(G[1531]<<16|G[1532]<<24);g=G[1525]|G[1526]<<8|(G[1527]<<16|G[1528]<<24);D[b|0]=g;D[b+1|0]=g>>>8;D[b+2|0]=g>>>16;D[b+3|0]=g>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,26);ja(b);F[j+8>>2]=0;ic(d)}Z=j+16|0;if(F[a>>2]){break f}if(D[a+15|0]>=0){break g}ja(F[a+4>>2])}if(!($[F[F[e>>2]+12>>2]](e)|0)){b=ka(48);D[b+33|0]=0;D[b+32|0]=G[1374];c=G[1370]|G[1371]<<8|(G[1372]<<16|G[1373]<<24);d=G[1366]|G[1367]<<8|(G[1368]<<16|G[1369]<<24);D[b+24|0]=d;D[b+25|0]=d>>>8;D[b+26|0]=d>>>16;D[b+27|0]=d>>>24;D[b+28|0]=c;D[b+29|0]=c>>>8;D[b+30|0]=c>>>16;D[b+31|0]=c>>>24;c=G[1362]|G[1363]<<8|(G[1364]<<16|G[1365]<<24);d=G[1358]|G[1359]<<8|(G[1360]<<16|G[1361]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1354]|G[1355]<<8|(G[1356]<<16|G[1357]<<24);d=G[1350]|G[1351]<<8|(G[1352]<<16|G[1353]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1346]|G[1347]<<8|(G[1348]<<16|G[1349]<<24);d=G[1342]|G[1343]<<8|(G[1344]<<16|G[1345]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,33);ja(b);break f}if(!($[F[F[e>>2]+20>>2]](e)|0)){b=Eb(f,1552);F[a>>2]=-1;c=a+4|0;if(D[b+11|0]>=0){d=F[b+4>>2];F[c>>2]=F[b>>2];F[c+4>>2]=d;F[c+8>>2]=F[b+8>>2];break f}ra(c,F[b>>2],F[b+4>>2]);if(D[b+11|0]>=0){break f}ja(F[b>>2]);break f}if(!($[F[F[e>>2]+24>>2]](e)|0)){b=Eb(f,1307);F[a>>2]=-1;c=a+4|0;if(D[b+11|0]>=0){d=F[b+4>>2];F[c>>2]=F[b>>2];F[c+4>>2]=d;F[c+8>>2]=F[b+8>>2];break f}ra(c,F[b>>2],F[b+4>>2]);if(D[b+11|0]>=0){break f}ja(F[b>>2]);break f}F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0}Z=f+32|0;if(!F[a>>2]){if(D[a+15|0]<0){ja(F[a+4>>2])}F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0}$[F[F[e>>2]+4>>2]](e)}a=F[h+16>>2];F[h+16>>2]=0;if(a){$[F[F[a>>2]+4>>2]](a)}if(D[h+15|0]>=0){break a}ja(F[h+4>>2])}Z=h+80|0}function Ub(a){a=a|0;var 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;l=Z-16|0;Z=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(a>>>0<=244){g=F[2941];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+11804|0;d=F[a+11812>>2];a=F[d+8>>2];j:{if((b|0)==(a|0)){m=11764,n=oi(c)&g,F[m>>2]=n;break j}F[a+12>>2]=b;F[b+8>>2]=a}a=d+8|0;b=c<<3;F[d+4>>2]=b|3;b=b+d|0;F[b+4>>2]=F[b+4>>2]|1;break a}k=F[2943];if(k>>>0>=h>>>0){break i}if(b){a=2<>2];a=F[e+8>>2];k:{if((b|0)==(a|0)){g=oi(d)&g;F[2941]=g;break k}F[a+12>>2]=b;F[b+8>>2]=a}F[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;F[c+4>>2]=d|1;F[a+e>>2]=d;if(k){b=(k&-8)+11804|0;f=F[2946];a=1<<(k>>>3);l:{if(!(a&g)){F[2941]=a|g;a=b;break l}a=F[b+8>>2]}F[b+8>>2]=f;F[a+12>>2]=f;F[f+12>>2]=b;F[f+8>>2]=a}a=e+8|0;F[2946]=c;F[2943]=d;break a}j=F[2942];if(!j){break i}c=F[(ji(0-j&j)<<2)+12068>>2];f=(F[c+4>>2]&-8)-h|0;b=c;while(1){m:{a=F[b+16>>2];if(!a){a=F[b+20>>2];if(!a){break m}}b=(F[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=F[c+24>>2];d=F[c+12>>2];if((d|0)!=(c|0)){a=F[c+8>>2];F[a+12>>2]=d;F[d+8>>2]=a;break b}b=c+20|0;a=F[b>>2];if(!a){a=F[c+16>>2];if(!a){break h}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=F[b>>2];if(a){continue}b=d+16|0;a=F[d+16>>2];if(a){continue}break}F[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break i}a=a+11|0;h=a&-8;j=F[2942];if(!j){break i}f=0-h|0;g=0;n:{if(h>>>0<256){break n}g=31;if(h>>>0>16777215){break n}a=O(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=F[(g<<2)+12068>>2];o:{p:{q:{if(!b){a=0;break q}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){r:{e=(F[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break r}d=b;f=e;if(e){break r}f=0;a=b;break p}e=F[b+20>>2];b=F[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break o}}while(1){b=(F[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=F[a+16>>2];if(b){a=b}else{a=F[a+20>>2]}if(a){continue}break}}if(!d|F[2943]-h>>>0<=f>>>0){break i}g=F[d+24>>2];c=F[d+12>>2];if((d|0)!=(c|0)){a=F[d+8>>2];F[a+12>>2]=c;F[c+8>>2]=a;break c}b=d+20|0;a=F[b>>2];if(!a){a=F[d+16>>2];if(!a){break g}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=F[b>>2];if(a){continue}b=c+16|0;a=F[c+16>>2];if(a){continue}break}F[e>>2]=0;break c}a=F[2943];if(a>>>0>=h>>>0){d=F[2946];b=a-h|0;s:{if(b>>>0>=16){c=d+h|0;F[c+4>>2]=b|1;F[a+d>>2]=b;F[d+4>>2]=h|3;break s}F[d+4>>2]=a|3;a=a+d|0;F[a+4>>2]=F[a+4>>2]|1;c=0;b=0}F[2943]=b;F[2946]=c;a=d+8|0;break a}i=F[2944];if(i>>>0>h>>>0){b=i-h|0;F[2944]=b;c=F[2947];a=c+h|0;F[2947]=a;F[a+4>>2]=b|1;F[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(F[3059]){c=F[3061]}else{F[3062]=-1;F[3063]=-1;F[3060]=4096;F[3061]=4096;F[3059]=l+12&-16^1431655768;F[3064]=0;F[3052]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=F[3051];if(d){c=F[3049];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}t:{if(!(G[12208]&4)){u:{v:{w:{x:{d=F[2947];if(d){a=12212;while(1){c=F[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break x}a=F[a+8>>2];if(a){continue}break}}c=eb(0);if((c|0)==-1){break u}g=b;d=F[3060];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break u}d=F[3051];if(d){a=F[3049];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break u}}a=eb(g);if((c|0)!=(a|0)){break w}break t}g=f&e-i;c=eb(g);if((c|0)==(F[a>>2]+F[a+4>>2]|0)){break v}a=c}if((a|0)==-1){break u}if(h+48>>>0<=g>>>0){c=a;break t}c=F[3061];c=c+(j-g|0)&0-c;if((eb(c)|0)==-1){break u}g=c+g|0;c=a;break t}if((c|0)!=-1){break t}}F[3052]=F[3052]|4}c=eb(b);a=eb(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}g=a-c|0;if(g>>>0<=h+40>>>0){break d}}a=F[3049]+g|0;F[3049]=a;if(a>>>0>I[3050]){F[3050]=a}y:{e=F[2947];if(e){a=12212;while(1){d=F[a>>2];b=F[a+4>>2];if((d+b|0)==(c|0)){break y}a=F[a+8>>2];if(a){continue}break}break f}a=F[2945];if(!(a>>>0<=c>>>0?a:0)){F[2945]=c}a=0;F[3054]=g;F[3053]=c;F[2949]=-1;F[2950]=F[3059];F[3056]=0;while(1){d=a<<3;b=d+11804|0;F[d+11812>>2]=b;F[d+11816>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;F[2944]=b;a=a+c|0;F[2947]=a;F[a+4>>2]=b|1;F[(c+d|0)+4>>2]=40;F[2948]=F[3063];break e}if(G[a+12|0]&8|d>>>0>e>>>0|c>>>0<=e>>>0){break f}F[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;F[2947]=c;b=F[2944]+g|0;a=b-a|0;F[2944]=a;F[c+4>>2]=a|1;F[(b+e|0)+4>>2]=40;F[2948]=F[3063];break e}d=0;break b}c=0;break c}if(I[2945]>c>>>0){F[2945]=c}b=c+g|0;a=12212;z:{A:{B:{C:{D:{E:{while(1){if((b|0)!=F[a>>2]){a=F[a+8>>2];if(a){continue}break E}break}if(!(G[a+12|0]&8)){break D}}a=12212;while(1){b=F[a>>2];if(b>>>0<=e>>>0){f=b+F[a+4>>2]|0;if(f>>>0>e>>>0){break C}}a=F[a+8>>2];continue}}F[a>>2]=c;F[a+4>>2]=F[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;F[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){F[2947]=i;a=F[2944]+a|0;F[2944]=a;F[i+4>>2]=a|1;break A}if(F[2946]==(g|0)){F[2946]=i;a=F[2943]+a|0;F[2943]=a;F[i+4>>2]=a|1;F[a+i>>2]=a;break A}f=F[g+4>>2];if((f&3)==1){e=f&-8;F:{if(f>>>0<=255){d=F[g+8>>2];b=f>>>3|0;c=F[g+12>>2];if((c|0)==(d|0)){m=11764,n=F[2941]&oi(b),F[m>>2]=n;break F}F[d+12>>2]=c;F[c+8>>2]=d;break F}h=F[g+24>>2];c=F[g+12>>2];G:{if((g|0)!=(c|0)){b=F[g+8>>2];F[b+12>>2]=c;F[c+8>>2]=b;break G}H:{f=g+20|0;b=F[f>>2];if(b){break H}f=g+16|0;b=F[f>>2];if(b){break H}c=0;break G}while(1){d=f;c=b;f=c+20|0;b=F[f>>2];if(b){continue}f=c+16|0;b=F[c+16>>2];if(b){continue}break}F[d>>2]=0}if(!h){break F}d=F[g+28>>2];b=(d<<2)+12068|0;I:{if(F[b>>2]==(g|0)){F[b>>2]=c;if(c){break I}m=11768,n=F[2942]&oi(d),F[m>>2]=n;break F}F[h+(F[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break F}}F[c+24>>2]=h;b=F[g+16>>2];if(b){F[c+16>>2]=b;F[b+24>>2]=c}b=F[g+20>>2];if(!b){break F}F[c+20>>2]=b;F[b+24>>2]=c}g=e+g|0;f=F[g+4>>2];a=a+e|0}F[g+4>>2]=f&-2;F[i+4>>2]=a|1;F[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+11804|0;c=F[2941];a=1<<(a>>>3);J:{if(!(c&a)){F[2941]=a|c;a=b;break J}a=F[b+8>>2]}F[b+8>>2]=i;F[a+12>>2]=i;F[i+12>>2]=b;F[i+8>>2]=a;break A}f=31;if(a>>>0<=16777215){b=O(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}F[i+28>>2]=f;F[i+16>>2]=0;F[i+20>>2]=0;b=(f<<2)+12068|0;d=F[2942];c=1<>2]=i;break K}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=F[b>>2];while(1){b=c;if((F[c+4>>2]&-8)==(a|0)){break B}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=F[d+16>>2];if(c){continue}break}F[d+16>>2]=i}F[i+24>>2]=b;F[i+12>>2]=i;F[i+8>>2]=i;break A}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;F[2944]=b;a=a+c|0;F[2947]=a;F[a+4>>2]=b|1;F[(c+d|0)+4>>2]=40;F[2948]=F[3063];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;F[d+4>>2]=27;a=F[3056];F[d+16>>2]=F[3055];F[d+20>>2]=a;a=F[3054];F[d+8>>2]=F[3053];F[d+12>>2]=a;F[3055]=d+8;F[3054]=g;F[3053]=c;F[3056]=0;a=d+24|0;while(1){F[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break e}F[d+4>>2]=F[d+4>>2]&-2;f=d-e|0;F[e+4>>2]=f|1;F[d>>2]=f;if(f>>>0<=255){b=(f&-8)+11804|0;c=F[2941];a=1<<(f>>>3);L:{if(!(c&a)){F[2941]=a|c;a=b;break L}a=F[b+8>>2]}F[b+8>>2]=e;F[a+12>>2]=e;F[e+12>>2]=b;F[e+8>>2]=a;break e}a=31;if(f>>>0<=16777215){a=O(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}F[e+28>>2]=a;F[e+16>>2]=0;F[e+20>>2]=0;b=(a<<2)+12068|0;d=F[2942];c=1<>2]=e;break M}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=F[b>>2];while(1){b=d;if((f|0)==(F[b+4>>2]&-8)){break z}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=F[c+16>>2];if(d){continue}break}F[c+16>>2]=e}F[e+24>>2]=b;F[e+12>>2]=e;F[e+8>>2]=e;break e}a=F[b+8>>2];F[a+12>>2]=i;F[b+8>>2]=i;F[i+24>>2]=0;F[i+12>>2]=b;F[i+8>>2]=a}a=j+8|0;break a}a=F[b+8>>2];F[a+12>>2]=e;F[b+8>>2]=e;F[e+24>>2]=0;F[e+12>>2]=b;F[e+8>>2]=a}a=F[2944];if(a>>>0<=h>>>0){break d}b=a-h|0;F[2944]=b;c=F[2947];a=c+h|0;F[2947]=a;F[a+4>>2]=b|1;F[c+4>>2]=h|3;a=c+8|0;break a}F[2940]=48;a=0;break a}N:{if(!g){break N}b=F[d+28>>2];a=(b<<2)+12068|0;O:{if(F[a>>2]==(d|0)){F[a>>2]=c;if(c){break O}j=oi(b)&j;F[2942]=j;break N}F[g+(F[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break N}}F[c+24>>2]=g;a=F[d+16>>2];if(a){F[c+16>>2]=a;F[a+24>>2]=c}a=F[d+20>>2];if(!a){break N}F[c+20>>2]=a;F[a+24>>2]=c}P:{if(f>>>0<=15){a=f+h|0;F[d+4>>2]=a|3;a=a+d|0;F[a+4>>2]=F[a+4>>2]|1;break P}F[d+4>>2]=h|3;e=d+h|0;F[e+4>>2]=f|1;F[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+11804|0;c=F[2941];a=1<<(f>>>3);Q:{if(!(c&a)){F[2941]=a|c;a=b;break Q}a=F[b+8>>2]}F[b+8>>2]=e;F[a+12>>2]=e;F[e+12>>2]=b;F[e+8>>2]=a;break P}a=31;if(f>>>0<=16777215){a=O(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}F[e+28>>2]=a;F[e+16>>2]=0;F[e+20>>2]=0;b=(a<<2)+12068|0;R:{c=1<>2]=e;break S}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=F[b>>2];while(1){b=h;if((F[b+4>>2]&-8)==(f|0)){break R}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=F[c+16>>2];if(h){continue}break}F[c+16>>2]=e}F[e+24>>2]=b;F[e+12>>2]=e;F[e+8>>2]=e;break P}a=F[b+8>>2];F[a+12>>2]=e;F[b+8>>2]=e;F[e+24>>2]=0;F[e+12>>2]=b;F[e+8>>2]=a}a=d+8|0;break a}T:{if(!i){break T}b=F[c+28>>2];a=(b<<2)+12068|0;U:{if(F[a>>2]==(c|0)){F[a>>2]=d;if(d){break U}m=11768,n=oi(b)&j,F[m>>2]=n;break T}F[i+(F[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break T}}F[d+24>>2]=i;a=F[c+16>>2];if(a){F[d+16>>2]=a;F[a+24>>2]=d}a=F[c+20>>2];if(!a){break T}F[d+20>>2]=a;F[a+24>>2]=d}V:{if(f>>>0<=15){a=f+h|0;F[c+4>>2]=a|3;a=a+c|0;F[a+4>>2]=F[a+4>>2]|1;break V}F[c+4>>2]=h|3;d=c+h|0;F[d+4>>2]=f|1;F[d+f>>2]=f;if(k){b=(k&-8)+11804|0;e=F[2946];a=1<<(k>>>3);W:{if(!(a&g)){F[2941]=a|g;a=b;break W}a=F[b+8>>2]}F[b+8>>2]=e;F[a+12>>2]=e;F[e+12>>2]=b;F[e+8>>2]=a}F[2946]=d;F[2943]=f}a=c+8|0}Z=l+16|0;return a|0}function Vc(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;m=Z-32|0;Z=m;o=ka(12);F[o+8>>2]=0;F[o+4>>2]=b;F[o>>2]=0;s=o+12|0;b=s;a:{b:{c:{while(1){b=b-12|0;w=F[b+8>>2];j=F[b+4>>2];t=F[b>>2];if(t){if((w|0)>1e3){break a}F[m+24>>2]=0;F[m+16>>2]=0;F[m+20>>2]=0;d=1;c=F[a>>2];e=F[c+8>>2];h=F[c+12>>2];g=F[c+20>>2];f=F[c+16>>2];d:{if((h|0)<=(g|0)&f>>>0>=e>>>0|(g|0)>(h|0)){break d}e=G[f+F[c>>2]|0];h=c;c=g;f=f+1|0;c=f?c:c+1|0;F[h+16>>2]=f;F[h+20>>2]=c;Sb(m+16|0,e);if(e){c=F[a>>2];n=Tb(m+16|0);p=F[c+8>>2];g=F[c+12>>2];h=F[c+20>>2];f=F[c+16>>2];k=f+e|0;h=k>>>0>>0?h+1|0:h;if((g|0)<=(h|0)&k>>>0>p>>>0|(g|0)<(h|0)){break d}la(n,f+F[c>>2]|0,e);d=F[c+20>>2];f=e;e=e+F[c+16>>2]|0;d=f>>>0>e>>>0?d+1|0:d;F[c+16>>2]=e;F[c+20>>2]=d}j=ka(24);c=j;F[c+4>>2]=0;F[c+8>>2]=0;c=c+16|0;F[c>>2]=0;F[c+4>>2]=0;F[j>>2]=j+4;F[j+12>>2]=c;e=Z-32|0;Z=e;h=t+12|0;c=m+16|0;u=Ya(h,c);i=t+16|0;e:{if((u|0)==(i|0)){F[e+16>>2]=c;f:{g:{d=F[h+4>>2];h:{if(!d){f=h+4|0;c=f;break h}f=G[c+11|0];g=f<<24>>24<0;n=g?F[c>>2]:c;g=g?F[c+4>>2]:f;while(1){c=d;d=G[c+27|0];f=d<<24>>24<0;d=f?F[c+20>>2]:d;p=d>>>0>>0;i:{j:{k:{l:{k=p?d:g;m:{if(k){f=f?F[c+16>>2]:c+16|0;q=sa(n,f,k);if(!q){if(d>>>0>g>>>0){break m}break l}if((q|0)>=0){break l}break m}if(d>>>0<=g>>>0){break k}}f=c;d=F[c>>2];if(d){continue}break h}d=sa(f,n,k);if(d){break j}}if(p){break i}break g}if((d|0)>=0){break g}}d=F[c+4>>2];if(d){continue}break}f=c+4|0}d=ka(32);n=d+16|0;g=F[e+16>>2];n:{if(D[g+11|0]>=0){p=F[g+4>>2];F[n>>2]=F[g>>2];F[n+4>>2]=p;F[n+8>>2]=F[g+8>>2];break n}ra(n,F[g>>2],F[g+4>>2])}F[d+8>>2]=c;F[d>>2]=0;F[d+4>>2]=0;F[d+28>>2]=0;F[f>>2]=d;c=d;g=F[F[h>>2]>>2];if(g){F[h>>2]=g;c=F[f>>2]}nb(F[h+4>>2],c);F[h+8>>2]=F[h+8>>2]+1;c=1;break f}d=c;c=0}D[e+28|0]=c;F[e+24>>2]=d;d=F[e+24>>2];c=F[d+28>>2];F[d+28>>2]=j;if(!c){break e}Ca(c+12|0,F[c+16>>2]);Ba(c,F[c+4>>2]);ja(c);break e}if(!j){break e}Ca(j+12|0,F[j+16>>2]);Ba(j,F[j+4>>2]);ja(j)}Z=e+32|0;d=(i|0)!=(u|0)}if(D[m+27|0]<0){ja(F[m+16>>2])}if(d){break a}}if(!j){break a}F[m+16>>2]=0;if(!fb(1,m+16|0,F[a>>2])){break a}q=0;x=F[m+16>>2];if(x){while(1){d=0;i=Z-32|0;Z=i;F[i+24>>2]=0;F[i+16>>2]=0;F[i+20>>2]=0;c=F[a>>2];f=F[c+8>>2];o:{p:{h=F[c+12>>2];g=F[c+20>>2];e=F[c+16>>2];q:{if((h|0)<=(g|0)&e>>>0>=f>>>0|(g|0)>(h|0)){break q}f=G[e+F[c>>2]|0];h=c;c=g;e=e+1|0;c=e?c:c+1|0;F[h+16>>2]=e;F[h+20>>2]=c;Sb(i+16|0,f);if(f){e=F[a>>2];n=Tb(i+16|0);p=F[e+8>>2];g=F[e+12>>2];c=F[e+20>>2];h=F[e+16>>2];k=h+f|0;c=k>>>0>>0?c+1|0:c;if(k>>>0>p>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break q}la(n,h+F[e>>2]|0,f);c=F[e+20>>2];g=f;f=f+F[e+16>>2]|0;c=g>>>0>f>>>0?c+1|0:c;F[e+16>>2]=f;F[e+20>>2]=c}F[i+12>>2]=0;if(!fb(1,i+12|0,F[a>>2])){break q}f=F[i+12>>2];if(!f){break q}e=F[a>>2];c=F[e+8>>2];h=F[e+16>>2];g=c-h|0;c=F[e+12>>2]-(F[e+20>>2]+(c>>>0>>0)|0)|0;if((c|0)<=0&f>>>0>g>>>0|(c|0)<0){break q}F[i+8>>2]=0;F[i>>2]=0;F[i+4>>2]=0;if((f|0)<0){break p}d=ka(f);F[i>>2]=d;c=d+f|0;F[i+8>>2]=c;l=ma(d,0,f);F[i+4>>2]=c;h=F[e+12>>2];y=h;p=F[e+8>>2];c=F[e+20>>2];k=F[e+16>>2];g=f+k|0;c=g>>>0>>0?c+1|0:c;u=g;n=c;r:{if((c|0)<=(h|0)&g>>>0<=p>>>0|(c|0)<(h|0)){la(l,F[e>>2]+k|0,f);d=F[e+20>>2];c=f+F[e+16>>2]|0;d=c>>>0>>0?d+1|0:d;F[e+16>>2]=c;F[e+20>>2]=d;h=Z-48|0;Z=h;e=Ya(j,i+16|0);if((e|0)!=(j+4|0)){c=F[e+4>>2];s:{if(!c){c=e;while(1){d=F[c+8>>2];f=F[d>>2]!=(c|0);c=d;if(f){continue}break}break s}while(1){d=c;c=F[c>>2];if(c){continue}break}}if((e|0)==F[j>>2]){F[j>>2]=d}F[j+8>>2]=F[j+8>>2]-1;f=F[j+4>>2];t:{u:{g=e;d=e;e=F[d>>2];if(e){c=F[g+4>>2];if(!c){break u}while(1){d=c;c=F[c>>2];if(c){continue}break}}e=F[d+4>>2];if(e){break u}e=0;k=1;break t}F[e+8>>2]=F[d+8>>2];k=0}l=F[d+8>>2];c=F[l>>2];v:{if((d|0)==(c|0)){F[l>>2]=e;if((d|0)==(f|0)){c=0;f=e;break v}c=F[l+4>>2];break v}F[l+4>>2]=e}r=!G[d+12|0];if((d|0)!=(g|0)){l=F[g+8>>2];F[d+8>>2]=l;F[l+(((g|0)!=F[F[g+8>>2]>>2])<<2)>>2]=d;l=F[g>>2];F[d>>2]=l;F[l+8>>2]=d;l=F[g+4>>2];F[d+4>>2]=l;if(l){F[l+8>>2]=d}D[d+12|0]=G[g+12|0];f=(f|0)==(g|0)?d:f}w:{if(r|!f){break w}if(k){while(1){e=G[c+12|0];x:{d=F[c+8>>2];if(F[d>>2]!=(c|0)){if(!e){D[c+12|0]=1;D[d+12|0]=0;e=F[d+4>>2];k=F[e>>2];F[d+4>>2]=k;if(k){F[k+8>>2]=d}F[e+8>>2]=F[d+8>>2];k=F[d+8>>2];F[(((d|0)!=F[k>>2])<<2)+k>>2]=e;F[e>>2]=d;F[d+8>>2]=e;d=c;c=F[c>>2];f=(c|0)==(f|0)?d:f;c=F[c+4>>2]}y:{z:{d=F[c>>2];A:{if(!(G[d+12|0]?0:d)){e=F[c+4>>2];if(G[e+12|0]?0:e){break A}D[c+12|0]=0;c=F[c+8>>2];B:{if((f|0)==(c|0)){c=f;break B}if(G[c+12|0]){break x}}D[c+12|0]=1;break w}e=F[c+4>>2];if(!e){break z}}if(G[e+12|0]){break z}d=c;break y}D[d+12|0]=1;D[c+12|0]=0;e=F[d+4>>2];F[c>>2]=e;if(e){F[e+8>>2]=c}F[d+8>>2]=F[c+8>>2];e=F[c+8>>2];F[((F[e>>2]!=(c|0))<<2)+e>>2]=d;F[d+4>>2]=c;F[c+8>>2]=d;e=c}c=F[d+8>>2];D[d+12|0]=G[c+12|0];D[c+12|0]=1;D[e+12|0]=1;d=F[c+4>>2];e=F[d>>2];F[c+4>>2]=e;if(e){F[e+8>>2]=c}F[d+8>>2]=F[c+8>>2];e=F[c+8>>2];F[(((c|0)!=F[e>>2])<<2)+e>>2]=d;F[d>>2]=c;F[c+8>>2]=d;break w}if(!e){D[c+12|0]=1;D[d+12|0]=0;e=F[c+4>>2];F[d>>2]=e;if(e){F[e+8>>2]=d}F[c+8>>2]=F[d+8>>2];e=F[d+8>>2];F[(((d|0)!=F[e>>2])<<2)+e>>2]=c;F[c+4>>2]=d;F[d+8>>2]=c;f=(d|0)==(f|0)?c:f;c=F[d>>2]}e=F[c>>2];C:{if(!(!e|G[e+12|0])){d=c;break C}d=F[c+4>>2];if(!(G[d+12|0]?0:d)){D[c+12|0]=0;c=F[c+8>>2];if((c|0)!=(f|0)?G[c+12|0]:0){break x}D[c+12|0]=1;break w}if(e){if(!G[e+12|0]){d=c;break C}d=F[c+4>>2]}D[d+12|0]=1;D[c+12|0]=0;e=F[d>>2];F[c+4>>2]=e;if(e){F[e+8>>2]=c}F[d+8>>2]=F[c+8>>2];e=F[c+8>>2];F[((F[e>>2]!=(c|0))<<2)+e>>2]=d;F[d>>2]=c;F[c+8>>2]=d;e=c}c=F[d+8>>2];D[d+12|0]=G[c+12|0];D[c+12|0]=1;D[e+12|0]=1;d=F[c>>2];e=F[d+4>>2];F[c>>2]=e;if(e){F[e+8>>2]=c}F[d+8>>2]=F[c+8>>2];e=F[c+8>>2];F[(((c|0)!=F[e>>2])<<2)+e>>2]=d;F[d+4>>2]=c;F[c+8>>2]=d;break w}d=c;c=F[c+8>>2];c=F[(((d|0)==F[c>>2])<<2)+c>>2];continue}}D[e+12|0]=1}c=F[g+28>>2];if(c){F[g+32>>2]=c;ja(c)}if(D[g+27|0]<0){ja(F[g+16>>2])}ja(g)}F[h+8>>2]=0;F[h>>2]=0;F[h+4>>2]=0;c=F[i+4>>2];d=F[i>>2];f=c-d|0;e=0;D:{E:{if((c|0)!=(d|0)){if((f|0)<0){break E}e=ka(f);c=ma(e,0,f);g=c+f|0;F[h+8>>2]=g;F[h+4>>2]=g;F[h>>2]=c;c=d}la(e,c,f);F:{if(D[i+27|0]>=0){F[h+24>>2]=F[i+24>>2];c=F[i+20>>2];F[h+16>>2]=F[i+16>>2];F[h+20>>2]=c;break F}ra(h+16|0,F[i+16>>2],F[i+20>>2])}Tc(h+28|0,h);f=h+16|0;c=f;G:{H:{d=F[j+4>>2];I:{if(!d){e=j+4|0;c=e;break I}e=G[c+11|0];g=e<<24>>24<0;k=g?F[c>>2]:c;g=g?F[c+4>>2]:e;while(1){c=d;d=G[c+27|0];e=d<<24>>24<0;d=e?F[c+20>>2]:d;l=d>>>0>>0;J:{K:{L:{M:{r=l?d:g;N:{if(r){e=e?F[c+16>>2]:c+16|0;z=sa(k,e,r);if(!z){if(d>>>0>g>>>0){break N}break M}if((z|0)>=0){break M}break N}if(d>>>0<=g>>>0){break L}}e=c;d=F[c>>2];if(d){continue}break I}d=sa(e,k,r);if(d){break K}}if(l){break J}break H}if((d|0)>=0){break H}}d=F[c+4>>2];if(d){continue}break}e=c+4|0}d=ka(40);F[d+24>>2]=F[f+8>>2];g=F[f+4>>2];F[d+16>>2]=F[f>>2];F[d+20>>2]=g;F[f>>2]=0;F[f+4>>2]=0;F[f+8>>2]=0;Tc(d+28|0,f+12|0);F[d+8>>2]=c;F[d>>2]=0;F[d+4>>2]=0;F[e>>2]=d;c=d;f=F[F[j>>2]>>2];if(f){F[j>>2]=f;c=F[e>>2]}nb(F[j+4>>2],c);F[j+8>>2]=F[j+8>>2]+1;c=1;break G}d=c;c=0}D[h+44|0]=c;F[h+40>>2]=d;c=F[h+28>>2];if(c){F[h+32>>2]=c;ja(c)}if(D[h+27|0]<0){ja(F[h+16>>2])}c=F[h>>2];if(c){F[h+4>>2]=c;ja(c)}Z=h+48|0;break D}na();v()}d=F[i>>2];if(!d){break r}}F[i+4>>2]=d;ja(d)}d=(n|0)<=(y|0)&p>>>0>=u>>>0|(n|0)<(y|0)}if(D[i+27|0]<0){ja(F[i+16>>2])}Z=i+32|0;break o}na();v()}if(!d){break a}q=q+1|0;if((x|0)!=(q|0)){continue}break}}F[m+12>>2]=0;if(!fb(1,m+12|0,F[a>>2])){break a}c=F[a>>2];e=F[c+8>>2];f=F[c+16>>2];h=e-f|0;d=F[m+12>>2];c=F[c+12>>2]-(F[c+20>>2]+(e>>>0>>0)|0)|0;if(h>>>0>>0&(c|0)<=0|(c|0)<0){break a}if(d){q=0;h=((t|0)!=0)+w|0;while(1){O:{if(b>>>0>>0){F[b+8>>2]=h;F[b+4>>2]=0;F[b>>2]=j;b=b+12|0;d=F[m+12>>2];break O}c=b-o|0;g=(c|0)/12|0;b=g+1|0;if(b>>>0>=357913942){break c}e=(s-o|0)/12|0;f=e<<1;e=e>>>0>=178956970?357913941:b>>>0>>0?f:b;if(e){if(e>>>0>=357913942){break b}f=ka(L(e,12))}else{f=0}b=f+L(g,12)|0;F[b+8>>2]=h;F[b+4>>2]=0;F[b>>2]=j;c=pa(b+L((c|0)/-12|0,12)|0,o,c);s=f+L(e,12)|0;b=b+12|0;if(o){ja(o)}o=c}q=q+1|0;if(q>>>0>>0){continue}break}}if((b|0)!=(o|0)){continue}break}A=1;break a}na();v()}oa();v()}if(o){ja(o)}Z=m+32|0;return A}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=Z-48|0;Z=h;a:{if((c|0)!=1){break a}i=F[a+4>>2];c=F[a+12>>2];F[h+40>>2]=0;F[h+32>>2]=0;F[h+36>>2]=0;F[h+24>>2]=0;F[h+28>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;F[h+8>>2]=0;F[h+12>>2]=0;d=h+8|0;b:{if((b|0)==-2){break b}k=F[F[F[i+4>>2]+8>>2]+(c<<2)>>2];if(($[F[F[i>>2]+8>>2]](i)|0)==1){j=Z-32|0;Z=j;l=F[F[F[i+4>>2]+8>>2]+(c<<2)>>2];c:{d:{e:{if(($[F[F[i>>2]+8>>2]](i)|0)!=1|b-1>>>0>5){break e}g=$[F[F[i>>2]+36>>2]](i)|0;f=$[F[F[i>>2]+44>>2]](i,c)|0;if(!g|!f){break e}c=$[F[F[i>>2]+40>>2]](i,c)|0;if(c){a=F[i+44>>2];F[j+12>>2]=c;F[j+8>>2]=a;F[j+20>>2]=f;F[j+16>>2]=f+12;f=j+8|0;a=0;f:{g:{switch(b-1|0){case 0:b=ka(60);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b>>2]=2252;a=b;break f;case 3:b=ka(112);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b+60>>2]=0;F[b+64>>2]=0;F[b>>2]=3016;F[b+68>>2]=0;F[b+72>>2]=0;F[b+76>>2]=0;F[b+80>>2]=0;F[b+84>>2]=0;F[b+88>>2]=0;F[b+92>>2]=0;F[b+96>>2]=0;F[b+100>>2]=0;F[b+104>>2]=0;F[b+108>>2]=0;a=b;break f;case 4:b=ka(104);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b+84>>2]=0;F[b+76>>2]=0;F[b+80>>2]=0;F[b+60>>2]=0;F[b+64>>2]=0;F[b>>2]=3264;a=F[f+4>>2];F[b+88>>2]=F[f>>2];F[b+92>>2]=a;a=F[f+12>>2];F[b+96>>2]=F[f+8>>2];F[b+100>>2]=a;a=b;break f;case 5:break g;default:break f}}a=ka(128);F[a+4>>2]=l;F[a>>2]=2960;b=F[d+4>>2];F[a+8>>2]=F[d>>2];F[a+12>>2]=b;b=F[d+12>>2];F[a+16>>2]=F[d+8>>2];F[a+20>>2]=b;b=F[d+20>>2];F[a+24>>2]=F[d+16>>2];F[a+28>>2]=b;F[a+40>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;h:{i:{c=F[d+28>>2];b=F[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break i}b=ka(c);F[a+36>>2]=b;F[a+32>>2]=b;F[a+40>>2]=(c&-4)+b;e=F[d+24>>2];c=F[d+28>>2];if((e|0)!=(c|0)){while(1){F[b>>2]=F[e>>2];b=b+4|0;e=e+4|0;if((c|0)!=(e|0)){continue}break}}F[a+36>>2]=b}F[a>>2]=2904;b=F[f+4>>2];F[a+44>>2]=F[f>>2];F[a+48>>2]=b;b=F[f+12>>2];F[a+52>>2]=F[f+8>>2];F[a+56>>2]=b;b=a- -64|0;F[b>>2]=0;F[b+4>>2]=0;F[a+60>>2]=4128;F[a>>2]=3500;b=F[f+4>>2];F[a+72>>2]=F[f>>2];F[a+76>>2]=b;b=F[f+12>>2];F[a+80>>2]=F[f+8>>2];F[a+84>>2]=b;F[a+104>>2]=1065353216;F[a+108>>2]=-1;F[a+96>>2]=-1;F[a+100>>2]=-1;F[a+88>>2]=1;F[a+92>>2]=-1;F[a+60>>2]=3736;F[a+112>>2]=0;F[a+116>>2]=0;D[a+117|0]=0;D[a+118|0]=0;D[a+119|0]=0;D[a+120|0]=0;D[a+121|0]=0;D[a+122|0]=0;D[a+123|0]=0;D[a+124|0]=0;break h}na();v()}break f}e=a;break e}a=F[i+44>>2];F[j+12>>2]=g;F[j+8>>2]=a;F[j+20>>2]=f;F[j+16>>2]=f+12;f=j+8|0;a=0;j:{k:{switch(b-1|0){case 0:b=ka(60);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b>>2]=4156;a=b;break j;case 3:b=ka(112);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b+60>>2]=0;F[b+64>>2]=0;F[b>>2]=4580;F[b+68>>2]=0;F[b+72>>2]=0;F[b+76>>2]=0;F[b+80>>2]=0;F[b+84>>2]=0;F[b+88>>2]=0;F[b+92>>2]=0;F[b+96>>2]=0;F[b+100>>2]=0;F[b+104>>2]=0;F[b+108>>2]=0;a=b;break j;case 4:b=ka(104);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b+84>>2]=0;F[b+76>>2]=0;F[b+80>>2]=0;F[b+60>>2]=0;F[b+64>>2]=0;F[b>>2]=4816;a=F[f+4>>2];F[b+88>>2]=F[f>>2];F[b+92>>2]=a;a=F[f+12>>2];F[b+96>>2]=F[f+8>>2];F[b+100>>2]=a;a=b;break j;case 5:break k;default:break j}}a=ka(128);F[a+4>>2]=l;F[a>>2]=2960;b=F[d+4>>2];F[a+8>>2]=F[d>>2];F[a+12>>2]=b;b=F[d+12>>2];F[a+16>>2]=F[d+8>>2];F[a+20>>2]=b;b=F[d+20>>2];F[a+24>>2]=F[d+16>>2];F[a+28>>2]=b;F[a+40>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;l:{m:{c=F[d+28>>2];b=F[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break m}b=ka(c);F[a+36>>2]=b;F[a+32>>2]=b;F[a+40>>2]=(c&-4)+b;e=F[d+24>>2];c=F[d+28>>2];if((e|0)!=(c|0)){while(1){F[b>>2]=F[e>>2];b=b+4|0;e=e+4|0;if((c|0)!=(e|0)){continue}break}}F[a+36>>2]=b}F[a>>2]=4524;b=F[f+4>>2];F[a+44>>2]=F[f>>2];F[a+48>>2]=b;b=F[f+12>>2];F[a+52>>2]=F[f+8>>2];F[a+56>>2]=b;b=a- -64|0;F[b>>2]=0;F[b+4>>2]=0;F[a+60>>2]=5624;F[a>>2]=5040;b=F[f+4>>2];F[a+72>>2]=F[f>>2];F[a+76>>2]=b;b=F[f+12>>2];F[a+80>>2]=F[f+8>>2];F[a+84>>2]=b;F[a+104>>2]=1065353216;F[a+108>>2]=-1;F[a+96>>2]=-1;F[a+100>>2]=-1;F[a+88>>2]=1;F[a+92>>2]=-1;F[a+60>>2]=5260;F[a+112>>2]=0;F[a+116>>2]=0;D[a+117|0]=0;D[a+118|0]=0;D[a+119|0]=0;D[a+120|0]=0;D[a+121|0]=0;D[a+122|0]=0;D[a+123|0]=0;D[a+124|0]=0;break l}na();v()}break j}e=a}Z=j+32|0;break c}na();v()}if(e){break b}}e=ka(44);F[e+4>>2]=k;F[e>>2]=2960;a=F[d+4>>2];F[e+8>>2]=F[d>>2];F[e+12>>2]=a;a=F[d+12>>2];F[e+16>>2]=F[d+8>>2];F[e+20>>2]=a;a=F[d+20>>2];F[e+24>>2]=F[d+16>>2];F[e+28>>2]=a;F[e+40>>2]=0;F[e+32>>2]=0;F[e+36>>2]=0;n:{c=F[d+24>>2];b=F[d+28>>2];if((c|0)!=(b|0)){a=b-c|0;if((a|0)<0){break n}k=ka(a);F[e+32>>2]=k;F[e+40>>2]=(a&-4)+k;while(1){F[k>>2]=F[c>>2];k=k+4|0;c=c+4|0;if((b|0)!=(c|0)){continue}break}F[e+36>>2]=k}F[e>>2]=5652;break b}na();v()}k=e;a=F[h+32>>2];if(!a){break a}F[h+36>>2]=a;ja(a)}Z=h+48|0;return k|0}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;m=Z-16|0;Z=m;F[m+12>>2]=b;b=ka(32);F[m>>2]=b;F[m+4>>2]=24;F[m+8>>2]=-2147483616;c=G[1196]|G[1197]<<8|(G[1198]<<16|G[1199]<<24);d=G[1192]|G[1193]<<8|(G[1194]<<16|G[1195]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1188]|G[1189]<<8|(G[1190]<<16|G[1191]<<24);d=G[1184]|G[1185]<<8|(G[1186]<<16|G[1187]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1180]|G[1181]<<8|(G[1182]<<16|G[1183]<<24);d=G[1176]|G[1177]<<8|(G[1178]<<16|G[1179]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;D[b+24|0]=0;l=Z-48|0;Z=l;f=F[m+12>>2];d=a;a=a+16|0;b=F[a>>2];a:{b:{if(!b){break b}c=a;while(1){e=(f|0)>F[b+16>>2];c=e?c:b;b=F[(e?b+4|0:b)>>2];if(b){continue}break}if((a|0)==(c|0)){break b}if((f|0)>=F[c+16>>2]){break a}}F[l+28>>2]=0;F[l+32>>2]=0;y=l+24|0;F[l+24>>2]=y|4;a=l+16|0;F[a>>2]=0;F[a+4>>2]=0;F[l+8>>2]=f;F[l+12>>2]=a;t=l+8|0;a=t;x=Z-16|0;Z=x;u=d+12|0;c=F[u+4>>2];c:{d:{if(!c){o=u+4|0;d=o;break d}a=F[a>>2];while(1){d=c;b=F[c+16>>2];if((b|0)>(a|0)){o=d;c=F[d>>2];if(c){continue}break d}if((a|0)<=(b|0)){g=d;a=0;break c}c=F[d+4>>2];if(c){continue}break}o=d+4|0}g=ka(32);b=F[t>>2];q=g+24|0;a=q;F[a>>2]=0;F[a+4>>2]=0;F[g+16>>2]=b;r=g+20|0;F[r>>2]=a;c=F[t+4>>2];z=t+8|0;if((c|0)!=(z|0)){while(1){p=Z-16|0;Z=p;a=p+8|0;k=c+16|0;e:{f:{g:{h:{i:{j:{k:{f=q;e=r+4|0;l:{if((f|0)==(e|0)){break l}b=G[f+27|0];h=b<<24>>24<0;i=G[k+11|0];n=i<<24>>24;j=(n|0)<0;i=j?F[k+4>>2]:i;b=h?F[f+20>>2]:b;s=i>>>0>b>>>0;w=s?b:i;if(w){j=j?F[k>>2]:k;h=h?F[f+16>>2]:f+16|0;A=sa(j,h,w);if(!A){if(b>>>0>i>>>0){break l}break k}if((A|0)>=0){break k}break l}if(b>>>0<=i>>>0){break j}}h=F[f>>2];m:{a=f;n:{if((a|0)==F[r>>2]){break n}o:{if(!h){b=f;while(1){a=F[b+8>>2];i=F[a>>2]==(b|0);b=a;if(i){continue}break}break o}b=h;while(1){a=b;b=F[b+4>>2];if(b){continue}break}}i=G[k+11|0];s=i<<24>>24;b=(s|0)<0;j=G[a+27|0];n=j<<24>>24<0;p:{i=b?F[k+4>>2]:i;j=n?F[a+20>>2]:j;w=i>>>0>>0?i:j;if(w){b=sa(n?F[a+16>>2]:a+16|0,b?F[k>>2]:k,w);if(b){break p}}if(i>>>0>j>>>0){break n}break m}if((b|0)>=0){break m}}if(!h){F[p+12>>2]=f;a=f;break e}F[p+12>>2]=a;a=a+4|0;break e}b=F[e>>2];if(!b){F[p+12>>2]=e;a=e;break e}h=(s|0)<0?F[k>>2]:k;f=e;while(1){a=b;b=G[b+27|0];e=b<<24>>24<0;b=e?F[a+20>>2]:b;k=b>>>0>>0;q:{r:{s:{t:{n=k?b:i;u:{if(n){e=e?F[a+16>>2]:a+16|0;j=sa(h,e,n);if(!j){if(b>>>0>i>>>0){break u}break t}if((j|0)>=0){break t}break u}if(b>>>0<=i>>>0){break s}}f=a;b=F[a>>2];if(b){continue}break g}b=sa(e,h,n);if(b){break r}}if(k){break q}break g}if((b|0)>=0){break g}}f=a+4|0;b=F[a+4>>2];if(b){continue}break}break g}b=sa(h,j,w);if(b){break i}}if(s){break h}break f}if((b|0)>=0){break f}}h=F[f+4>>2];v:{if(!h){b=f;while(1){a=F[b+8>>2];j=F[a>>2]!=(b|0);b=a;if(j){continue}break}break v}b=h;while(1){a=b;b=F[b>>2];if(b){continue}break}}w:{x:{if((a|0)==(e|0)){break x}j=G[a+27|0];b=j<<24>>24<0;y:{j=b?F[a+20>>2]:j;s=i>>>0>j>>>0?j:i;if(s){b=sa((n|0)<0?F[k>>2]:k,b?F[a+16>>2]:a+16|0,s);if(b){break y}}if(i>>>0>>0){break x}break w}if((b|0)>=0){break w}}if(!h){F[p+12>>2]=f;a=f+4|0;break e}F[p+12>>2]=a;break e}b=F[e>>2];if(!b){F[p+12>>2]=e;a=e;break e}h=(n|0)<0?F[k>>2]:k;f=e;while(1){a=b;b=G[b+27|0];e=b<<24>>24<0;b=e?F[a+20>>2]:b;k=b>>>0>>0;z:{A:{B:{C:{n=k?b:i;D:{if(n){e=e?F[a+16>>2]:a+16|0;j=sa(h,e,n);if(!j){if(b>>>0>i>>>0){break D}break C}if((j|0)>=0){break C}break D}if(b>>>0<=i>>>0){break B}}f=a;b=F[a>>2];if(b){continue}break g}b=sa(e,h,n);if(b){break A}}if(k){break z}break g}if((b|0)>=0){break g}}f=a+4|0;b=F[a+4>>2];if(b){continue}break}}F[p+12>>2]=a;a=f;break e}F[p+12>>2]=f;F[a>>2]=f}f=a;a=F[a>>2];if(a){b=0}else{a=ka(40);b=a+16|0;E:{if(D[c+27|0]>=0){e=F[c+20>>2];F[b>>2]=F[c+16>>2];F[b+4>>2]=e;F[b+8>>2]=F[c+24>>2];break E}ra(b,F[c+16>>2],F[c+20>>2])}b=a+28|0;F:{if(D[c+39|0]>=0){e=F[c+32>>2];F[b>>2]=F[c+28>>2];F[b+4>>2]=e;F[b+8>>2]=F[c+36>>2];break F}ra(b,F[c+28>>2],F[c+32>>2])}F[a+8>>2]=F[p+12>>2];F[a>>2]=0;F[a+4>>2]=0;F[f>>2]=a;b=a;e=F[F[r>>2]>>2];if(e){F[r>>2]=e;b=F[f>>2]}nb(F[r+4>>2],b);F[r+8>>2]=F[r+8>>2]+1;b=1}D[x+12|0]=b;F[x+8>>2]=a;Z=p+16|0;b=F[c+4>>2];G:{if(b){while(1){c=b;b=F[b>>2];if(b){continue}break G}}while(1){a=c;c=F[c+8>>2];if((a|0)!=F[c>>2]){continue}break}}if((c|0)!=(z|0)){continue}break}}F[g+8>>2]=d;F[g>>2]=0;F[g+4>>2]=0;F[o>>2]=g;c=g;a=F[F[u>>2]>>2];if(a){F[u>>2]=a;c=F[o>>2]}nb(F[u+4>>2],c);F[u+8>>2]=F[u+8>>2]+1;a=1}D[l+44|0]=a;F[l+40>>2]=g;Z=x+16|0;c=F[l+40>>2];ib(t|4,F[l+16>>2]);ib(y,F[l+28>>2])}f=Z-48|0;Z=f;d=f+8|0;g=Z-32|0;Z=g;o=g+32|0;b=o;a=g+21|0;H:{if((b|0)==(a|0)){break H}}e=b-a|0;I:{if((e|0)<=9){h=61;if((e|0)<(I[2684]<=1|0)){break I}}D[a|0]=49;b=a+1|0;h=0}F[g+12>>2]=h;F[g+8>>2]=b;h=Z-16|0;Z=h;e=Z-16|0;Z=e;J:{q=F[g+8>>2];g=q-a|0;if(g>>>0<=2147483631){K:{if(g>>>0<11){D[d+11|0]=g|G[d+11|0]&128;D[d+11|0]=G[d+11|0]&127;b=d;break K}t=e+8|0;if(g>>>0>=11){k=g+16&-16;b=k-1|0;b=(b|0)==11?k:b}else{b=10}sb(t,b+1|0);b=F[e+8>>2];F[d>>2]=b;F[d+8>>2]=F[d+8>>2]&-2147483648|F[e+12>>2]&2147483647;F[d+8>>2]=F[d+8>>2]|-2147483648;F[d+4>>2]=g}while(1){if((a|0)!=(q|0)){D[b|0]=G[a|0];b=b+1|0;a=a+1|0;continue}break}D[e+7|0]=0;D[b|0]=G[e+7|0];Z=e+16|0;break J}za();v()}Z=h+16|0;Z=o;F[f+32>>2]=m;L:{M:{a=c+20|0;d=F[a+4>>2];N:{if(!d){g=a+4|0;c=g;break N}b=G[m+11|0];c=b<<24>>24<0;e=c?F[m>>2]:m;b=c?F[m+4>>2]:b;while(1){c=d;d=G[c+27|0];g=d<<24>>24<0;d=g?F[c+20>>2]:d;o=d>>>0>>0;O:{P:{Q:{R:{h=o?d:b;S:{if(h){g=g?F[c+16>>2]:c+16|0;q=sa(e,g,h);if(!q){if(b>>>0>>0){break S}break R}if((q|0)>=0){break R}break S}if(b>>>0>=d>>>0){break Q}}g=c;d=F[c>>2];if(d){continue}break N}d=sa(g,e,h);if(d){break P}}if(o){break O}break M}if((d|0)>=0){break M}}d=F[c+4>>2];if(d){continue}break}g=c+4|0}d=ka(40);e=d+16|0;b=F[f+32>>2];T:{if(D[b+11|0]>=0){o=F[b+4>>2];F[e>>2]=F[b>>2];F[e+4>>2]=o;F[e+8>>2]=F[b+8>>2];break T}ra(e,F[b>>2],F[b+4>>2])}F[d+8>>2]=c;F[d>>2]=0;F[d+4>>2]=0;F[d+36>>2]=0;F[d+28>>2]=0;F[d+32>>2]=0;F[g>>2]=d;c=d;b=F[F[a>>2]>>2];if(b){F[a>>2]=b;c=F[g>>2]}nb(F[a+4>>2],c);F[a+8>>2]=F[a+8>>2]+1;a=1;break L}d=c;a=0}D[f+44|0]=a;F[f+40>>2]=d;a=F[f+40>>2];if(D[a+39|0]<0){ja(F[a+28>>2])}b=F[f+12>>2];F[a+28>>2]=F[f+8>>2];F[a+32>>2]=b;F[a+36>>2]=F[f+16>>2];Z=f+48|0;Z=l+48|0;if(D[m+11|0]<0){ja(F[m>>2])}Z=m+16|0}function zd(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;h=Z-32|0;Z=h;g=F[F[a+4>>2]+44>>2];c=F[a+8>>2];d=F[c>>2];c=F[c+4>>2];F[h+24>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;d=(c-d>>2>>>0)/3|0;c=F[g+96>>2];f=(F[g+100>>2]-c|0)/12|0;a:{if(d>>>0>f>>>0){e=d-f|0;i=F[g+104>>2];c=F[g+100>>2];if(e>>>0<=(i-c|0)/12>>>0){b:{if(!e){break b}d=c;f=L(e,12)-12|0;i=((f>>>0)/12|0)+1&3;if(i){while(1){l=F[h+20>>2];F[d>>2]=F[h+16>>2];F[d+4>>2]=l;F[d+8>>2]=F[h+24>>2];d=d+12|0;j=j+1|0;if((i|0)!=(j|0)){continue}break}}c=L(e,12)+c|0;if(f>>>0<36){break b}while(1){f=F[h+20>>2];F[d>>2]=F[h+16>>2];F[d+4>>2]=f;F[d+8>>2]=F[h+24>>2];F[d+20>>2]=F[h+24>>2];f=F[h+20>>2];F[d+12>>2]=F[h+16>>2];F[d+16>>2]=f;F[d+32>>2]=F[h+24>>2];f=F[h+20>>2];F[d+24>>2]=F[h+16>>2];F[d+28>>2]=f;f=F[h+20>>2];F[d+36>>2]=F[h+16>>2];F[d+40>>2]=f;F[d+44>>2]=F[h+24>>2];d=d+48|0;if((d|0)!=(c|0)){continue}break}}F[g+100>>2]=c;break a}c:{f=F[g+96>>2];n=(c-f|0)/12|0;d=n+e|0;if(d>>>0<357913942){f=(i-f|0)/12|0;i=f<<1;i=f>>>0>=178956970?357913941:d>>>0>>0?i:d;if(i){if(i>>>0>=357913942){break c}l=ka(L(i,12))}f=L(n,12)+l|0;d=f;e=L(e,12);n=e-12|0;q=((n>>>0)/12|0)+1&3;if(q){while(1){r=F[h+20>>2];F[d>>2]=F[h+16>>2];F[d+4>>2]=r;F[d+8>>2]=F[h+24>>2];d=d+12|0;j=j+1|0;if((q|0)!=(j|0)){continue}break}}e=e+f|0;if(n>>>0>=36){while(1){j=F[h+20>>2];F[d>>2]=F[h+16>>2];F[d+4>>2]=j;F[d+8>>2]=F[h+24>>2];F[d+20>>2]=F[h+24>>2];j=F[h+20>>2];F[d+12>>2]=F[h+16>>2];F[d+16>>2]=j;F[d+32>>2]=F[h+24>>2];j=F[h+20>>2];F[d+24>>2]=F[h+16>>2];F[d+28>>2]=j;j=F[h+20>>2];F[d+36>>2]=F[h+16>>2];F[d+40>>2]=j;F[d+44>>2]=F[h+24>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}j=F[g+96>>2];if((j|0)!=(c|0)){while(1){c=c-12|0;n=F[c+4>>2];f=f-12|0;d=f;F[d>>2]=F[c>>2];F[d+4>>2]=n;F[d+8>>2]=F[c+8>>2];if((c|0)!=(j|0)){continue}break}c=F[g+96>>2]}F[g+104>>2]=L(i,12)+l;F[g+100>>2]=e;F[g+96>>2]=f;if(c){ja(c)}break a}na();v()}oa();v()}if(d>>>0>=f>>>0){break a}F[g+100>>2]=c+L(d,12)}d:{if(F[a+216>>2]==F[a+220>>2]){j=F[a+4>>2];c=F[j+44>>2];d=F[c+100>>2];f=F[c+96>>2];if((d|0)!=(f|0)){c=(d-f|0)/12|0;o=c>>>0<=1?1:c;c=0;while(1){d=F[a+8>>2];i=f+L(c,12)|0;g=L(c,3);e:{f:{if((g|0)==-1){e=F[(F[d>>2]+(g<<2)|0)+4>>2];k=-1;g=1;break f}e=-1;k=F[F[d>>2]+(g<<2)>>2];l=g+1|0;if((l|0)==-1){g=0;break f}e=F[F[d>>2]+(l<<2)>>2];g=g+2|0;m=-1;if((g|0)==-1){break e}}m=F[F[d>>2]+(g<<2)>>2]}F[i+8>>2]=m;F[i+4>>2]=e;F[i>>2]=k;c=c+1|0;if((o|0)!=(c|0)){continue}break}}F[F[j+4>>2]+80>>2]=b;c=1;break d}d=0;F[h+24>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;l=F[a+8>>2];c=F[l>>2];g=F[l+4>>2];F[h+8>>2]=0;F[h>>2]=0;F[h+4>>2]=0;b=0;g:{h:{i:{j:{k:{l:{if((c|0)!=(g|0)){c=g-c|0;if((c|0)<0){break l}b=ka(c);F[h>>2]=b;F[h+8>>2]=(c&-4)+b;u=h,w=ma(b,0,c)+c|0,F[u+4>>2]=w}c=F[l+24>>2];if((F[l+28>>2]-c|0)<4){break h}f=0;while(1){g=F[(p<<2)+c>>2];m:{if((g|0)==-1){break m}n:{if(F[F[a+120>>2]+(p>>>3&536870908)>>2]>>>p&1){break n}n=F[a+216>>2];c=F[a+220>>2];if((n|0)==(c|0)){break n}e=g+2|0;i=(g>>>0)%3|0;q=i?g-1|0:e;c=(c-n|0)/144|0;r=c>>>0<=1?1:c;j=0;t=(i|0)!=0|(e|0)!=-1;while(1){s=g<<2;i=L(j,144)+n|0;c=F[s+F[F[i+68>>2]>>2]>>2];o:{if(!(F[F[i+16>>2]+(c>>>3&536870908)>>2]>>>c&1)){break o}c=-1;p:{if(!t){break p}e=F[F[l+12>>2]+(q<<2)>>2];c=-1;if((e|0)==-1){break p}c=e-1|0;if((e>>>0)%3|0){break p}c=e+2|0}if((g|0)==(c|0)){break o}e=s;s=F[i+32>>2];i=F[e+s>>2];while(1){e=0;if((c|0)==-1){break g}if((i|0)!=F[s+(c<<2)>>2]){g=c;break n}q:{r:{if((c>>>0)%3|0){e=c-1|0;break r}e=c+2|0;m=-1;if((e|0)==-1){break q}}c=F[F[l+12>>2]+(e<<2)>>2];m=-1;if((c|0)==-1){break q}m=c-1|0;if((c>>>0)%3|0){break q}m=c+2|0}c=m;if((g|0)!=(c|0)){continue}break}}j=j+1|0;if((r|0)!=(j|0)){continue}break}}i=k-f|0;e=i>>2;F[(g<<2)+b>>2]=e;s:{if(k>>>0>>0){F[k>>2]=g;k=k+4|0;F[h+20>>2]=k;break s}c=e+1|0;if(c>>>0>=1073741824){break k}d=o-f|0;k=d>>>1|0;c=d>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}d=ka(c<<2)}else{d=0}e=d+(e<<2)|0;F[e>>2]=g;m=c<<2;c=pa(d,f,i);o=m+c|0;F[h+24>>2]=o;k=e+4|0;F[h+20>>2]=k;F[h+16>>2]=c;if(f){ja(f);l=F[a+8>>2]}f=c}if((g|0)==-1){break m}t:{if((g>>>0)%3|0){c=g-1|0;break t}c=g+2|0;if((c|0)==-1){break m}}c=F[F[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=g;if((c|0)==(g|0)){break m}while(1){i=c;u:{v:{c=F[a+220>>2];j=F[a+216>>2];if((c|0)==(j|0)){break v}c=(c-j|0)/144|0;n=c>>>0<=1?1:c;c=0;while(1){q=F[(j+L(c,144)|0)+32>>2];r=i<<2;if(F[q+r>>2]==F[q+(e<<2)>>2]){c=c+1|0;if((n|0)!=(c|0)){continue}break v}break}j=k-d|0;e=j>>2;F[b+r>>2]=e;if(k>>>0>>0){F[k>>2]=i;k=k+4|0;F[h+20>>2]=k;f=d;break u}c=e+1|0;if(c>>>0>=1073741824){break i}f=o-d|0;k=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}f=ka(c<<2)}else{f=0}e=f+(e<<2)|0;F[e>>2]=i;m=c<<2;c=pa(f,d,j);o=m+c|0;F[h+24>>2]=o;k=e+4|0;F[h+20>>2]=k;F[h+16>>2]=c;if(!d){d=c;break u}ja(d);l=F[a+8>>2];d=c;break u}F[(i<<2)+b>>2]=F[(e<<2)+b>>2]}if((i|0)==-1){break m}w:{if((i>>>0)%3|0){c=i-1|0;break w}c=i+2|0;if((c|0)==-1){break m}}c=F[F[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=i;if((c|0)!=(g|0)){continue}break}}p=p+1|0;c=F[l+24>>2];if((p|0)>2]-c>>2){continue}break}break h}na();v()}na();v()}oa();v()}na();v()}i=F[a+4>>2];a=F[i+44>>2];c=F[a+100>>2];a=F[a+96>>2];x:{if((c|0)==(a|0)){break x}g=(c-a|0)/12|0;f=g>>>0<=1?1:g;l=f&1;c=0;if(g>>>0>=2){j=f&-2;g=0;while(1){e=L(c,12);f=e+b|0;o=F[f>>2];p=F[f+4>>2];e=a+e|0;F[e+8>>2]=F[f+8>>2];F[e>>2]=o;F[e+4>>2]=p;e=L(c|1,12);f=e+b|0;o=F[f>>2];p=F[f+4>>2];e=a+e|0;F[e+8>>2]=F[f+8>>2];F[e>>2]=o;F[e+4>>2]=p;c=c+2|0;g=g+2|0;if((j|0)!=(g|0)){continue}break}}if(!l){break x}g=L(c,12);c=g+b|0;f=F[c>>2];e=F[c+4>>2];a=a+g|0;F[a+8>>2]=F[c+8>>2];F[a>>2]=f;F[a+4>>2]=e}F[F[i+4>>2]+80>>2]=k-d>>2;e=1}c=e;if(b){ja(b)}if(!d){break d}F[h+20>>2]=d;ja(d)}Z=h+32|0;return c}function de(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0;g=Z+-64|0;Z=g;F[a+8>>2]=e;y=a+32|0;f=F[y>>2];d=F[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){qa(y,e-d|0);F[g+56>>2]=0;F[g+60>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g>>2]=0;break b}if(d>>>0>e>>>0){F[a+36>>2]=f+(e<<2)}F[g+56>>2]=0;F[g+60>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g>>2]=0;d=0;if(!e){break a}}Fa(g+16|0,e,g);h=F[g+28>>2];d=F[g+32>>2]}F[g>>2]=0;d=d-h>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}F[g+32>>2]=(e<<2)+h;break c}Fa(g+16|12,e-d|0,g)}F[g>>2]=0;f=F[g+40>>2];d=F[g+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}F[g+44>>2]=f+(e<<2);break d}Fa(g+40|0,e-d|0,g)}F[g>>2]=0;f=F[g+52>>2];d=F[g+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}F[g+56>>2]=f+(e<<2);break e}Fa(g+52|0,e-d|0,g)}f:{if(F[a+8>>2]<=0){break f}i=F[g+16>>2];j=F[a+32>>2];h=0;while(1){d=h<<2;f=F[d+i>>2];m=F[a+16>>2];g:{if((f|0)>(m|0)){F[d+j>>2]=m;break g}d=d+j|0;m=F[a+12>>2];if((m|0)>(f|0)){F[d>>2]=m;break g}F[d>>2]=f}h=h+1|0;d=F[a+8>>2];if((h|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){i=d<<2;f=i+c|0;i=F[b+i>>2]+F[j+i>>2]|0;F[f>>2]=i;h:{if((i|0)>F[a+16>>2]){i=i-F[a+20>>2]|0}else{if((i|0)>=F[a+12>>2]){break h}i=i+F[a+20>>2]|0}F[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}H=F[a+52>>2];t=F[a+48>>2];z=ka(16);d=z;F[d>>2]=0;F[d+4>>2]=0;F[d+8>>2]=0;F[d+12>>2]=0;F[g+8>>2]=0;F[g>>2]=0;F[g+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;r=ka(d);F[g>>2]=r;F[g+8>>2]=d+r;ma(r,0,d)}A=1;d=F[a+56>>2];B=F[d>>2];d=F[d+4>>2]-B|0;j:{if((d|0)<8){break j}w=d>>2;I=(w|0)<=2?2:w;J=w>>>0<=1?1:w;C=e&-2;D=e&1;K=e&-4;E=e&3;G=e-1|0;M=e<<2;N=e>>>0<4;A=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(J|0)){o:{p:{f=F[(m<<2)+B>>2];if((f|0)==-1){break p}k=1;d=f+2|0;j=(f>>>0)%3|0;x=j?f-1|0:d;s=1<>2];O=n+(x>>>3&536870908)|0;i=0;P=(j|0)!=0|(d|0)!=-1;d=f;q:{while(1){r:{if(F[n+(d>>>3&536870908)>>2]>>>d&1){break r}j=F[F[F[t+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break r}l=F[H>>2];h=F[t+28>>2];p=F[l+(F[h+(j<<2)>>2]<<2)>>2];if((p|0)>=(m|0)){break r}q=j+1|0;q=F[l+(F[h+(((q>>>0)%3|0?q:j-2|0)<<2)>>2]<<2)>>2];if((q|0)>=(m|0)){break r}h=F[l+(F[h+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((h|0)>=(m|0)){break r}s:{if(!e){break s}j=F[(g+16|0)+L(i,12)>>2];l=L(e,h);q=L(e,q);p=L(e,p);h=0;o=0;if(G){while(1){F[j+(h<<2)>>2]=(F[(h+l<<2)+c>>2]+F[(h+q<<2)+c>>2]|0)-F[(h+p<<2)+c>>2];u=h|1;F[j+(u<<2)>>2]=(F[(l+u<<2)+c>>2]+F[(q+u<<2)+c>>2]|0)-F[(p+u<<2)+c>>2];h=h+2|0;o=o+2|0;if((C|0)!=(o|0)){continue}break}}if(!D){break s}F[j+(h<<2)>>2]=(F[(h+l<<2)+c>>2]+F[(h+q<<2)+c>>2]|0)-F[(h+p<<2)+c>>2]}j=4;i=i+1|0;if((i|0)==4){break q}}t:{if(k&1){h=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:h;if((j|0)==-1|F[n+(j>>>3&536870908)>>2]>>>j&1){break t}j=F[F[F[t+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break t}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break t}u:{if((d>>>0)%3|0){h=d-1|0;break u}h=d+2|0;d=-1;if((h|0)==-1){break t}}d=-1;if(F[n+(h>>>3&536870908)>>2]>>>h&1){break t}j=F[F[F[t+64>>2]+12>>2]+(h<<2)>>2];if((j|0)==-1){break t}if((j>>>0)%3|0){d=j-1|0;break t}d=j+2|0}v:{if((d|0)==(f|0)){break v}if((d|0)==-1&k){if(!P|s&F[O>>2]){break v}d=F[F[F[t+64>>2]+12>>2]+(x<<2)>>2];if((d|0)==-1){break v}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}j=i;if((j|0)<=0){break p}}if(e){ma(r,0,M)}d=j-1|0;q=(d<<2)+z|0;d=L(d,12)+a|0;u=d;x=F[d- -64>>2];k=0;d=F[g>>2];f=0;while(1){i=F[q>>2];F[q>>2]=i+1;if(i>>>0>=x>>>0){break j}w:{if(F[F[u+60>>2]+(i>>>3&536870908)>>2]>>>i&1){break w}f=f+1|0;if(!e){break w}n=F[(g+16|0)+L(k,12)>>2];i=0;h=0;p=0;if(!N){while(1){l=h<<2;o=l+d|0;F[o>>2]=F[l+n>>2]+F[o>>2];o=l|4;s=o+d|0;F[s>>2]=F[n+o>>2]+F[s>>2];o=l|8;s=o+d|0;F[s>>2]=F[n+o>>2]+F[s>>2];l=l|12;o=l+d|0;F[o>>2]=F[l+n>>2]+F[o>>2];h=h+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break w}while(1){l=h<<2;p=l+d|0;F[p>>2]=F[l+n>>2]+F[p>>2];h=h+1|0;i=i+1|0;if((E|0)!=(i|0)){continue}break}}k=k+1|0;if((k|0)!=(j|0)){continue}break}i=L(e,m);if(!f){break o}if(!e){break l}h=0;d=0;if(G){break n}break m}i=L(e,m)}if(F[a+8>>2]<=0){break k}k=(L(m-1|0,e)<<2)+c|0;j=F[y>>2];h=0;while(1){d=h<<2;f=F[d+k>>2];n=F[a+16>>2];x:{if((f|0)>(n|0)){F[d+j>>2]=n;break x}d=d+j|0;n=F[a+12>>2];if((n|0)>(f|0)){F[d>>2]=n;break x}F[d>>2]=f}h=h+1|0;f=F[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=F[i+k>>2]+F[j+i>>2]|0;F[f>>2]=i;y:{if((i|0)>F[a+16>>2]){i=i-F[a+20>>2]|0}else{if((i|0)>=F[a+12>>2]){break y}i=i+F[a+20>>2]|0}F[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}break k}ta();v()}while(1){j=h<<2;k=j+r|0;F[k>>2]=F[k>>2]/(f|0);j=(j|4)+r|0;F[j>>2]=F[j>>2]/(f|0);h=h+2|0;d=d+2|0;if((C|0)!=(d|0)){continue}break}}if(!D){break l}d=(h<<2)+r|0;F[d>>2]=F[d>>2]/(f|0)}if(F[a+8>>2]<=0){break k}j=F[y>>2];h=0;while(1){d=h<<2;f=F[d+r>>2];k=F[a+16>>2];z:{if((f|0)>(k|0)){F[d+j>>2]=k;break z}d=d+j|0;k=F[a+12>>2];if((k|0)>(f|0)){F[d>>2]=k;break z}F[d>>2]=f}h=h+1|0;f=F[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=F[i+k>>2]+F[j+i>>2]|0;F[f>>2]=i;A:{if((i|0)>F[a+16>>2]){i=i-F[a+20>>2]|0}else{if((i|0)>=F[a+12>>2]){break A}i=i+F[a+20>>2]|0}F[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;A=(w|0)<=(m|0);if((m|0)!=(I|0)){continue}break}}a=F[g>>2];if(a){ja(a)}ja(z);a=F[g+52>>2];if(a){F[g+56>>2]=a;ja(a)}a=F[g+40>>2];if(a){F[g+44>>2]=a;ja(a)}a=F[g+28>>2];if(a){F[g+32>>2]=a;ja(a)}a=F[g+16>>2];if(a){F[g+20>>2]=a;ja(a)}Z=g- -64|0;return A|0}na();v()}function $h(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0;h=Z+-64|0;Z=h;F[a+8>>2]=e;x=a+32|0;f=F[x>>2];d=F[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){qa(x,e-d|0);F[h+56>>2]=0;F[h+60>>2]=0;F[h+48>>2]=0;F[h+52>>2]=0;F[h+40>>2]=0;F[h+44>>2]=0;F[h+32>>2]=0;F[h+36>>2]=0;F[h+24>>2]=0;F[h+28>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;F[h>>2]=0;break b}if(d>>>0>e>>>0){F[a+36>>2]=f+(e<<2)}F[h+56>>2]=0;F[h+60>>2]=0;F[h+48>>2]=0;F[h+52>>2]=0;F[h+40>>2]=0;F[h+44>>2]=0;F[h+32>>2]=0;F[h+36>>2]=0;F[h+24>>2]=0;F[h+28>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;F[h>>2]=0;d=0;if(!e){break a}}Fa(h+16|0,e,h);i=F[h+28>>2];d=F[h+32>>2]}F[h>>2]=0;d=d-i>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}F[h+32>>2]=(e<<2)+i;break c}Fa(h+16|12,e-d|0,h)}F[h>>2]=0;f=F[h+40>>2];d=F[h+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}F[h+44>>2]=f+(e<<2);break d}Fa(h+40|0,e-d|0,h)}F[h>>2]=0;f=F[h+52>>2];d=F[h+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}F[h+56>>2]=f+(e<<2);break e}Fa(h+52|0,e-d|0,h)}f:{if(F[a+8>>2]<=0){break f}g=F[h+16>>2];j=F[a+32>>2];i=0;while(1){d=i<<2;f=F[d+g>>2];m=F[a+16>>2];g:{if((f|0)>(m|0)){F[d+j>>2]=m;break g}d=d+j|0;m=F[a+12>>2];if((m|0)>(f|0)){F[d>>2]=m;break g}F[d>>2]=f}i=i+1|0;d=F[a+8>>2];if((i|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){g=d<<2;f=g+c|0;g=F[b+g>>2]+F[g+j>>2]|0;F[f>>2]=g;h:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break h}g=g+F[a+20>>2]|0}F[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}H=F[a+52>>2];A=F[a+48>>2];y=ka(16);d=y;F[d>>2]=0;F[d+4>>2]=0;F[d+8>>2]=0;F[d+12>>2]=0;F[h+8>>2]=0;F[h>>2]=0;F[h+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;t=ka(d);F[h>>2]=t;F[h+8>>2]=d+t;ma(t,0,d)}z=1;d=F[a+56>>2];B=F[d>>2];d=F[d+4>>2]-B|0;j:{if((d|0)<8){break j}w=d>>2;I=(w|0)<=2?2:w;J=w>>>0<=1?1:w;C=e&-2;D=e&1;K=e&-4;E=e&3;G=e-1|0;M=e<<2;N=e>>>0<4;z=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(J|0)){o:{p:{f=F[(m<<2)+B>>2];if((f|0)==-1){break p}n=F[A+12>>2];d=f+2|0;g=(f>>>0)%3|0;q=n+((g?f-1|0:d)<<2)|0;j=0;u=(g|0)!=0|(d|0)!=-1;k=1;d=f;q:{while(1){g=F[n+(d<<2)>>2];r:{if((g|0)==-1){break r}l=-1;p=F[H>>2];r=F[A>>2];i=p+(F[r+(g<<2)>>2]<<2)|0;o=g+1|0;o=(o>>>0)%3|0?o:g-2|0;if((o|0)!=-1){l=F[r+(o<<2)>>2]}o=F[i>>2];s:{t:{if((g>>>0)%3|0){i=g-1|0;break t}i=g+2|0;s=-1;if((i|0)==-1){break s}}s=F[r+(i<<2)>>2]}if((m|0)<=(o|0)){break r}i=F[p+(l<<2)>>2];if((i|0)>=(m|0)){break r}l=F[p+(s<<2)>>2];if((l|0)>=(m|0)){break r}g=F[(h+16|0)+L(j,12)>>2];u:{if(!e){break u}l=L(e,l);r=L(e,i);p=L(e,o);i=0;s=0;if(G){while(1){F[g+(i<<2)>>2]=(F[(i+l<<2)+c>>2]+F[(i+r<<2)+c>>2]|0)-F[(i+p<<2)+c>>2];o=i|1;F[g+(o<<2)>>2]=(F[(l+o<<2)+c>>2]+F[(o+r<<2)+c>>2]|0)-F[(o+p<<2)+c>>2];i=i+2|0;s=s+2|0;if((C|0)!=(s|0)){continue}break}}if(!D){break u}F[g+(i<<2)>>2]=(F[(i+l<<2)+c>>2]+F[(i+r<<2)+c>>2]|0)-F[(i+p<<2)+c>>2]}g=4;j=j+1|0;if((j|0)==4){break q}}v:{if(k&1){i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;g=-1;if((d|0)==-1){break v}d=F[n+(d<<2)>>2];g=-1;if((d|0)==-1){break v}g=d+1|0;g=(g>>>0)%3|0?g:d-2|0;break v}w:{if((d>>>0)%3|0){i=d-1|0;break w}i=d+2|0;g=-1;if((i|0)==-1){break v}}d=F[n+(i<<2)>>2];g=-1;if((d|0)==-1){break v}g=d-1|0;if((d>>>0)%3|0){break v}g=d+2|0}d=g;x:{if((f|0)==(d|0)){break x}if((d|0)==-1&k){if(!u){break x}d=F[q>>2];if((d|0)==-1){break x}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}g=j;if((g|0)<=0){break p}}if(e){ma(t,0,M)}d=g-1|0;r=(d<<2)+y|0;d=L(d,12)+a|0;o=d;s=F[d- -64>>2];k=0;d=F[h>>2];f=0;while(1){j=F[r>>2];F[r>>2]=j+1;if(j>>>0>=s>>>0){break j}y:{if(F[F[o+60>>2]+(j>>>3&536870908)>>2]>>>j&1){break y}f=f+1|0;if(!e){break y}j=F[(h+16|0)+L(k,12)>>2];l=0;i=0;p=0;if(!N){while(1){n=i<<2;q=n+d|0;F[q>>2]=F[j+n>>2]+F[q>>2];q=n|4;u=q+d|0;F[u>>2]=F[j+q>>2]+F[u>>2];q=n|8;u=q+d|0;F[u>>2]=F[j+q>>2]+F[u>>2];n=n|12;q=n+d|0;F[q>>2]=F[j+n>>2]+F[q>>2];i=i+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break y}while(1){n=i<<2;p=n+d|0;F[p>>2]=F[j+n>>2]+F[p>>2];i=i+1|0;l=l+1|0;if((E|0)!=(l|0)){continue}break}}k=k+1|0;if((k|0)!=(g|0)){continue}break}g=L(e,m);if(!f){break o}if(!e){break l}i=0;d=0;if(G){break n}break m}g=L(e,m)}if(F[a+8>>2]<=0){break k}k=(L(m-1|0,e)<<2)+c|0;j=F[x>>2];i=0;while(1){d=i<<2;f=F[d+k>>2];l=F[a+16>>2];z:{if((f|0)>(l|0)){F[d+j>>2]=l;break z}d=d+j|0;l=F[a+12>>2];if((l|0)>(f|0)){F[d>>2]=l;break z}F[d>>2]=f}i=i+1|0;f=F[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=F[g+k>>2]+F[g+j>>2]|0;F[f>>2]=g;A:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break A}g=g+F[a+20>>2]|0}F[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}break k}ta();v()}while(1){j=i<<2;k=j+t|0;F[k>>2]=F[k>>2]/(f|0);j=(j|4)+t|0;F[j>>2]=F[j>>2]/(f|0);i=i+2|0;d=d+2|0;if((C|0)!=(d|0)){continue}break}}if(!D){break l}d=(i<<2)+t|0;F[d>>2]=F[d>>2]/(f|0)}if(F[a+8>>2]<=0){break k}j=F[x>>2];i=0;while(1){d=i<<2;f=F[d+t>>2];k=F[a+16>>2];B:{if((f|0)>(k|0)){F[d+j>>2]=k;break B}d=d+j|0;k=F[a+12>>2];if((k|0)>(f|0)){F[d>>2]=k;break B}F[d>>2]=f}i=i+1|0;f=F[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=F[g+k>>2]+F[g+j>>2]|0;F[f>>2]=g;C:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break C}g=g+F[a+20>>2]|0}F[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;z=(w|0)<=(m|0);if((m|0)!=(I|0)){continue}break}}a=F[h>>2];if(a){ja(a)}ja(y);a=F[h+52>>2];if(a){F[h+56>>2]=a;ja(a)}a=F[h+40>>2];if(a){F[h+44>>2]=a;ja(a)}a=F[h+28>>2];if(a){F[h+32>>2]=a;ja(a)}a=F[h+16>>2];if(a){F[h+20>>2]=a;ja(a)}Z=h- -64|0;return z|0}na();v()}function Yh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,$=0,aa=0;a:{b:{if((e|0)!=2){break b}F[a+8>>2]=2;F[a- -64>>2]=f;M=a+32|0;e=F[M>>2];d=F[a+36>>2]-e|0;c:{if(d>>>0<=7){qa(M,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}F[a+36>>2]=e+8}i=1;d=F[a+56>>2];d=F[d+4>>2]-F[d>>2]|0;if((d|0)<=0){break b}o=a+60|0;d=d>>>2|0;X=d>>>0<=1?1:d;Y=a+68|0;d=0;while(1){f=F[a+56>>2];e=F[f>>2];if(F[f+4>>2]-e>>2>>>0<=d>>>0){break a}k=Z-80|0;Z=k;f=-1;d:{e:{e=F[e+(d<<2)>>2];if((e|0)==-1){break e}i=F[o+32>>2];g=e+1|0;g=(g>>>0)%3|0?g:e-2|0;if((g|0)!=-1){f=F[F[i>>2]+(g<<2)>>2]}p=-1;e=e+((e>>>0)%3|0?-1:2)|0;if((e|0)!=-1){p=F[F[i>>2]+(e<<2)>>2]}i=F[o+36>>2];e=F[i>>2];i=F[i+4>>2]-e>>2;if(i>>>0<=f>>>0|i>>>0<=p>>>0){break e}f:{g:{h:{i:{j:{k:{j=F[e+(p<<2)>>2];f=F[e+(f<<2)>>2];if((j|0)>=(d|0)|(f|0)>=(d|0)){break k}i=(j<<3)+c|0;w=F[i+4>>2];g=(f<<3)+c|0;e=F[g+4>>2];l=F[i>>2];i=F[g>>2];if(!((l|0)!=(i|0)|(e|0)!=(w|0))){F[o+8>>2]=i;F[o+12>>2]=e;break j}p=F[F[o+4>>2]+(d<<2)>>2];F[k+72>>2]=0;F[k+76>>2]=0;g=k- -64|0;F[g>>2]=0;F[g+4>>2]=0;F[k+56>>2]=0;F[k+60>>2]=0;g=F[o>>2];if(!G[g+84|0]){p=F[F[g+68>>2]+(p<<2)>>2]}Ga(g,p,D[g+24|0],k+56|0);p=F[F[o+4>>2]+(f<<2)>>2];F[k+48>>2]=0;F[k+52>>2]=0;F[k+40>>2]=0;F[k+44>>2]=0;F[k+32>>2]=0;F[k+36>>2]=0;g=F[o>>2];if(!G[g+84|0]){p=F[F[g+68>>2]+(p<<2)>>2]}Ga(g,p,D[g+24|0],k+32|0);p=F[F[o+4>>2]+(j<<2)>>2];F[k+24>>2]=0;F[k+28>>2]=0;F[k+16>>2]=0;F[k+20>>2]=0;F[k+8>>2]=0;F[k+12>>2]=0;g=F[o>>2];if(!G[g+84|0]){p=F[F[g+68>>2]+(p<<2)>>2]}Ga(g,p,D[g+24|0],k+8|0);g=F[k+16>>2];n=F[k+40>>2];x=g-n|0;N=F[k+44>>2];g=F[k+20>>2]-(N+(g>>>0>>0)|0)|0;H=g;j=ki(x,g,x,g);q=_;g=F[k+8>>2];z=F[k+32>>2];A=g-z|0;O=F[k+36>>2];g=F[k+12>>2]-(O+(g>>>0>>0)|0)|0;I=g;h=j;j=ki(A,g,A,g);g=h+j|0;h=_+q|0;h=g>>>0>>0?h+1|0:h;j=F[k+24>>2];B=F[k+48>>2];C=j-B|0;P=F[k+52>>2];j=F[k+28>>2]-(P+(j>>>0>>0)|0)|0;J=j;m=g;g=ki(C,j,C,j);r=m+g|0;h=_+h|0;s=g>>>0>r>>>0?h+1|0:h;if(!(s|r)){break k}p=0;E=mi(-1,2147483647,r,s);f=i>>31;R=f;h=f>>31;Q=i;g=h;q=i^g;i=q-g|0;f=(f^g)-((g>>>0>q>>>0)+g|0)|0;g=f;f=e>>31;S=f;K=e;e=f>>31;q=K^e;m=q-e|0;h=f>>31;e=(h^f)-((e>>>0>q>>>0)+h|0)|0;f=(g|0)==(e|0)&i>>>0>m>>>0|e>>>0>>0;i=f?i:m;j=_;e=f?g:e;if((j|0)==(e|0)&i>>>0>E>>>0|e>>>0>j>>>0){break f}i=F[k+64>>2];T=F[k+68>>2];e=ki(i-n|0,T-((i>>>0>>0)+N|0)|0,x,H);f=_;g=F[k+56>>2];U=F[k+60>>2];j=ki(g-z|0,U-((g>>>0>>0)+O|0)|0,A,I);e=j+e|0;h=_+f|0;h=e>>>0>>0?h+1|0:h;f=e;m=F[k+72>>2];V=F[k+76>>2];e=ki(m-B|0,V-((m>>>0>>0)+P|0)|0,C,J);j=f+e|0;f=_+h|0;q=e>>>0>j>>>0?f+1|0:f;e=l;E=e-Q|0;e=(e>>31)-((e>>>0>>0)+R|0)|0;W=e;l=e>>31;y=l^E;f=y-l|0;h=e>>31;e=(h^e)-((l>>>0>y>>>0)+h|0)|0;h=e;y=w-K|0;e=(w>>31)-((w>>>0>>0)+S|0)|0;w=e;l=f;t=e>>31;u=t^y;L=u-t|0;f=e>>31;e=(f^e)-((t>>>0>u>>>0)+f|0)|0;f=(h|0)==(e|0)&l>>>0>L>>>0|e>>>0>>0;f=mi(-1,2147483647,f?l:L,f?h:e)>>>0>>0;e=_;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break f}e=I>>31;f=e;l=e^A;e=l-e|0;f=(f^I)-((f>>>0>l>>>0)+f|0)|0;h=H>>31;t=h^x;u=t-h|0;l=(h^H)-((h>>>0>t>>>0)+h|0)|0;h=(f|0)==(l|0)&e>>>0>u>>>0|f>>>0>l>>>0;e=h?e:u;f=h?f:l;h=J>>31;L=e;t=h^C;u=t-h|0;l=(h^J)-((h>>>0>t>>>0)+h|0)|0;e=(f|0)==(l|0)&e>>>0>u>>>0|f>>>0>l>>>0;f=mi(-1,2147483647,e?L:u,e?f:l)>>>0>>0;e=_;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break f}l=1;e=0;f=n;n=li(ki(j,q,x,H),_,r,s);f=f+n|0;h=_+N|0;h=f>>>0>>0?h+1|0:h;n=i-f|0;f=T-((f>>>0>i>>>0)+h|0)|0;n=ki(n,f,n,f);x=_;f=g;h=li(ki(j,q,A,I),_,r,s);i=h+z|0;g=_+O|0;g=h>>>0>i>>>0?g+1|0:g;h=f-i|0;f=U-((f>>>0>>0)+g|0)|0;g=ki(h,f,h,f);i=g+n|0;f=_+x|0;f=g>>>0>i>>>0?f+1|0:f;n=i;g=li(ki(j,q,C,J),_,r,s);i=g+B|0;h=_+P|0;h=g>>>0>i>>>0?h+1|0:h;g=m-i|0;i=V-((i>>>0>m>>>0)+h|0)|0;m=ki(g,i,g,i);i=m+n|0;g=_+f|0;f=ki(i,i>>>0>>0?g+1|0:g,r,s);i=_;m=i;if(!i&f>>>0<=1){break i}h=f;while(1){g=e<<1|l>>>31;l=l<<1;e=g;n=!i&h>>>0>7|(i|0)!=0;h=(i&3)<<30|h>>>2;i=i>>>2|0;if(n){continue}break}break h}if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){F[o+8>>2]=0;F[o+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;F[o+8>>2]=F[e>>2];F[o+12>>2]=F[e+4>>2]}p=1;break f}e=m;l=f;if(f-1|0){break g}}while(1){i=mi(f,m,l,e);h=e+_|0;e=i+l|0;h=e>>>0>>0?h+1|0:h;l=(h&1)<<31|e>>>1;e=h>>>1|0;i=ki(l,e,l,e);g=_;if((m|0)==(g|0)&f>>>0>>0|g>>>0>m>>>0){continue}break}}f=F[o+20>>2];if(!f){break f}g=f-1|0;h=F[F[o+16>>2]+(g>>>3&536870908)>>2];F[o+20>>2]=g;p=1;f=ki(j,q,y,w);i=_;n=ki(r,s,K,S);m=n+f|0;f=_+i|0;f=m>>>0>>0?f+1|0:f;i=ki(l,e,E,W);g=h>>>g&1;h=g?0-i|0:i;m=h+m|0;n=f;f=_;i=n+(g?0-(f+((i|0)!=0)|0)|0:f)|0;$=o,aa=li(m,h>>>0>m>>>0?i+1|0:i,r,s),F[$+12>>2]=aa;f=ki(j,q,E,W);i=_;j=ki(r,s,Q,R);f=j+f|0;h=_+i|0;e=ki(l,e,y,w);i=0-e|0;l=_;h=(f>>>0>>0?h+1|0:h)+(g?l:0-(((e|0)!=0)+l|0)|0)|0;i=g?e:i;f=i+f|0;$=o,aa=li(f,f>>>0>>0?h+1|0:h,r,s),F[$+8>>2]=aa}Z=k+80|0;e=p;break d}ta();v()}i=e;if(!e){return 0}l:{if(F[a+8>>2]<=0){break l}l=F[M>>2];e=0;while(1){f=e<<2;g=F[f+Y>>2];j=F[a+16>>2];m:{if((g|0)>(j|0)){F[f+l>>2]=j;break m}f=f+l|0;j=F[a+12>>2];if((j|0)>(g|0)){F[f>>2]=j;break m}F[f>>2]=g}e=e+1|0;g=F[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break l}e=d<<3;j=e+c|0;q=b+e|0;while(1){g=f<<2;e=g+j|0;g=F[g+q>>2]+F[g+l>>2]|0;F[e>>2]=g;n:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break n}g=g+F[a+20>>2]|0}F[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((X|0)!=(d|0)){continue}break}}return i|0}ta();v()}function hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,$=0,aa=0;a:{b:{if((e|0)!=2){break b}F[a+8>>2]=2;F[a- -64>>2]=f;M=a+32|0;e=F[M>>2];d=F[a+36>>2]-e|0;c:{if(d>>>0<=7){qa(M,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}F[a+36>>2]=e+8}p=1;d=F[a+56>>2];d=F[d+4>>2]-F[d>>2]|0;if((d|0)<=0){break b}o=a+60|0;d=d>>>2|0;X=d>>>0<=1?1:d;Y=a+68|0;d=0;while(1){e=F[a+56>>2];h=F[e>>2];if(F[e+4>>2]-h>>2>>>0<=d>>>0){break a}k=Z-80|0;Z=k;f=-1;h=F[h+(d<<2)>>2];e=-1;d:{if((h|0)==-1){break d}e=h+1|0;f=(e>>>0)%3|0?e:h-2|0;e=h-1|0;if((h>>>0)%3|0){break d}e=h+2|0}g=F[o+36>>2];h=F[g>>2];e:{f:{g:{h:{i:{g=F[g+4>>2]-h>>2;i=f<<2;f=F[F[o+32>>2]+28>>2];j=F[i+f>>2];if(g>>>0<=j>>>0){break i}e=F[f+(e<<2)>>2];if(e>>>0>=g>>>0){break i}j:{k:{l=F[h+(e<<2)>>2];f=F[h+(j<<2)>>2];if((l|0)>=(d|0)|(f|0)>=(d|0)){break k}h=(l<<3)+c|0;w=F[h+4>>2];g=(f<<3)+c|0;e=F[g+4>>2];j=F[h>>2];h=F[g>>2];if(!((j|0)!=(h|0)|(e|0)!=(w|0))){F[o+8>>2]=h;F[o+12>>2]=e;break j}p=F[F[o+4>>2]+(d<<2)>>2];F[k+72>>2]=0;F[k+76>>2]=0;g=k- -64|0;F[g>>2]=0;F[g+4>>2]=0;F[k+56>>2]=0;F[k+60>>2]=0;g=F[o>>2];if(!G[g+84|0]){p=F[F[g+68>>2]+(p<<2)>>2]}Ga(g,p,D[g+24|0],k+56|0);p=F[F[o+4>>2]+(f<<2)>>2];F[k+48>>2]=0;F[k+52>>2]=0;F[k+40>>2]=0;F[k+44>>2]=0;F[k+32>>2]=0;F[k+36>>2]=0;g=F[o>>2];if(!G[g+84|0]){p=F[F[g+68>>2]+(p<<2)>>2]}Ga(g,p,D[g+24|0],k+32|0);p=F[F[o+4>>2]+(l<<2)>>2];F[k+24>>2]=0;F[k+28>>2]=0;F[k+16>>2]=0;F[k+20>>2]=0;F[k+8>>2]=0;F[k+12>>2]=0;g=F[o>>2];if(!G[g+84|0]){p=F[F[g+68>>2]+(p<<2)>>2]}Ga(g,p,D[g+24|0],k+8|0);g=F[k+16>>2];n=F[k+40>>2];x=g-n|0;N=F[k+44>>2];g=F[k+20>>2]-(N+(g>>>0>>0)|0)|0;H=g;l=ki(x,g,x,g);q=_;g=F[k+8>>2];z=F[k+32>>2];A=g-z|0;O=F[k+36>>2];g=F[k+12>>2]-(O+(g>>>0>>0)|0)|0;I=g;i=l;l=ki(A,g,A,g);g=i+l|0;i=_+q|0;i=g>>>0>>0?i+1|0:i;l=F[k+24>>2];B=F[k+48>>2];C=l-B|0;P=F[k+52>>2];l=F[k+28>>2]-(P+(l>>>0>>0)|0)|0;J=l;m=g;g=ki(C,l,C,l);r=m+g|0;i=_+i|0;s=g>>>0>r>>>0?i+1|0:i;if(!(s|r)){break k}p=0;E=mi(-1,2147483647,r,s);f=h>>31;R=f;i=f>>31;Q=h;g=i;q=h^g;h=q-g|0;f=(f^g)-((g>>>0>q>>>0)+g|0)|0;g=f;f=e>>31;S=f;K=e;e=f>>31;q=K^e;m=q-e|0;i=f>>31;e=(i^f)-((e>>>0>q>>>0)+i|0)|0;f=(g|0)==(e|0)&h>>>0>m>>>0|e>>>0>>0;h=f?h:m;l=_;e=f?g:e;if((l|0)==(e|0)&h>>>0>E>>>0|e>>>0>l>>>0){break e}h=F[k+64>>2];T=F[k+68>>2];e=ki(h-n|0,T-((h>>>0>>0)+N|0)|0,x,H);f=_;g=F[k+56>>2];U=F[k+60>>2];l=ki(g-z|0,U-((g>>>0>>0)+O|0)|0,A,I);e=l+e|0;i=_+f|0;i=e>>>0>>0?i+1|0:i;f=e;m=F[k+72>>2];V=F[k+76>>2];e=ki(m-B|0,V-((m>>>0>>0)+P|0)|0,C,J);l=f+e|0;f=_+i|0;q=e>>>0>l>>>0?f+1|0:f;e=j;E=e-Q|0;e=(e>>31)-((e>>>0>>0)+R|0)|0;W=e;j=e>>31;y=j^E;f=y-j|0;i=e>>31;e=(i^e)-((j>>>0>y>>>0)+i|0)|0;i=e;y=w-K|0;e=(w>>31)-((w>>>0>>0)+S|0)|0;w=e;j=f;t=e>>31;u=t^y;L=u-t|0;f=e>>31;e=(f^e)-((t>>>0>u>>>0)+f|0)|0;f=(i|0)==(e|0)&j>>>0>L>>>0|e>>>0>>0;f=mi(-1,2147483647,f?j:L,f?i:e)>>>0>>0;e=_;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break e}e=I>>31;f=e;j=e^A;e=j-e|0;f=(f^I)-((f>>>0>j>>>0)+f|0)|0;i=H>>31;t=i^x;u=t-i|0;j=(i^H)-((i>>>0>t>>>0)+i|0)|0;i=(f|0)==(j|0)&e>>>0>u>>>0|f>>>0>j>>>0;e=i?e:u;f=i?f:j;i=J>>31;L=e;t=i^C;u=t-i|0;j=(i^J)-((i>>>0>t>>>0)+i|0)|0;e=(f|0)==(j|0)&e>>>0>u>>>0|f>>>0>j>>>0;f=mi(-1,2147483647,e?L:u,e?f:j)>>>0>>0;e=_;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break e}j=1;e=0;f=n;n=li(ki(l,q,x,H),_,r,s);f=f+n|0;i=_+N|0;i=f>>>0>>0?i+1|0:i;n=h-f|0;f=T-((f>>>0>h>>>0)+i|0)|0;n=ki(n,f,n,f);x=_;f=g;i=li(ki(l,q,A,I),_,r,s);h=i+z|0;g=_+O|0;g=h>>>0>>0?g+1|0:g;i=f-h|0;f=U-((f>>>0>>0)+g|0)|0;g=ki(i,f,i,f);h=g+n|0;f=_+x|0;f=h>>>0>>0?f+1|0:f;n=h;g=li(ki(l,q,C,J),_,r,s);h=g+B|0;i=_+P|0;i=h>>>0>>0?i+1|0:i;g=m-h|0;h=V-((h>>>0>m>>>0)+i|0)|0;m=ki(g,h,g,h);h=m+n|0;g=_+f|0;f=ki(h,h>>>0>>0?g+1|0:g,r,s);h=_;m=h;if(!h&f>>>0<=1){break h}i=f;while(1){g=e<<1|j>>>31;j=j<<1;e=g;n=!h&i>>>0>7|(h|0)!=0;i=(h&3)<<30|i>>>2;h=h>>>2|0;if(n){continue}break}break g}if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){F[o+8>>2]=0;F[o+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;F[o+8>>2]=F[e>>2];F[o+12>>2]=F[e+4>>2]}p=1;break e}ta();v()}e=m;j=f;if(f-1|0){break f}}while(1){h=mi(f,m,j,e);i=e+_|0;e=h+j|0;i=e>>>0>>0?i+1|0:i;j=(i&1)<<31|e>>>1;e=i>>>1|0;h=ki(j,e,j,e);g=_;if((m|0)==(g|0)&f>>>0>>0|g>>>0>m>>>0){continue}break}}f=F[o+20>>2];if(!f){break e}g=f-1|0;i=F[F[o+16>>2]+(g>>>3&536870908)>>2];F[o+20>>2]=g;p=1;f=ki(l,q,y,w);h=_;n=ki(r,s,K,S);m=n+f|0;f=_+h|0;f=m>>>0>>0?f+1|0:f;h=ki(j,e,E,W);g=i>>>g&1;i=g?0-h|0:h;m=i+m|0;n=f;f=_;h=n+(g?0-(f+((h|0)!=0)|0)|0:f)|0;$=o,aa=li(m,i>>>0>m>>>0?h+1|0:h,r,s),F[$+12>>2]=aa;f=ki(l,q,E,W);h=_;l=ki(r,s,Q,R);f=l+f|0;i=_+h|0;e=ki(j,e,y,w);h=0-e|0;j=_;i=(f>>>0>>0?i+1|0:i)+(g?j:0-(((e|0)!=0)+j|0)|0)|0;h=g?e:h;f=h+f|0;$=o,aa=li(f,f>>>0>>0?i+1|0:i,r,s),F[$+8>>2]=aa}Z=k+80|0;if(!p){return 0}l:{if(F[a+8>>2]<=0){break l}g=F[M>>2];e=0;while(1){f=e<<2;h=F[f+Y>>2];j=F[a+16>>2];m:{if((h|0)>(j|0)){F[f+g>>2]=j;break m}f=f+g|0;j=F[a+12>>2];if((j|0)>(h|0)){F[f>>2]=j;break m}F[f>>2]=h}e=e+1|0;h=F[a+8>>2];if((e|0)<(h|0)){continue}break}f=0;if((h|0)<=0){break l}e=d<<3;j=e+c|0;l=b+e|0;while(1){h=f<<2;e=h+j|0;h=F[h+l>>2]+F[h+g>>2]|0;F[e>>2]=h;n:{if((h|0)>F[a+16>>2]){i=h-F[a+20>>2]|0}else{if((h|0)>=F[a+12>>2]){break n}i=h+F[a+20>>2]|0}F[e>>2]=i}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((X|0)!=(d|0)){continue}break}}return p|0}ta();v()}function Gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=Z-96|0;Z=n;m=F[a+4>>2];d=F[m+32>>2];j=F[d+8>>2];i=F[d+12>>2];e=i;c=F[d+20>>2];f=F[d+16>>2];a:{if((e|0)<=(c|0)&f>>>0>=j>>>0|(c|0)>(e|0)){break a}o=F[d>>2];h=G[o+f|0];g=f+1|0;e=g?c:c+1|0;F[d+16>>2]=g;F[d+20>>2]=e;if((e|0)>=(i|0)&g>>>0>=j>>>0|(e|0)>(i|0)){break a}p=G[g+o|0];g=f+2|0;e=g>>>0<2?c+1|0:c;F[d+16>>2]=g;F[d+20>>2]=e;l=h<<24>>24;b:{if((l|0)>=0){k=F[a+216>>2];if(h>>>0>=(F[a+220>>2]-k|0)/144>>>0){break a}k=k+L(h,144)|0;if(F[k>>2]<0){break b}break a}if(F[a+212>>2]>=0){break a}k=a+212|0}F[k>>2]=b;c:{d:{e:{f:{g:{h:{k=H[m+36>>1];i:{if(((k<<8|k>>>8)&65535)>>>0>=258){if((e|0)>=(i|0)&g>>>0>=j>>>0|(e|0)>(i|0)){break a}e=G[g+o|0];f=f+3|0;c=f>>>0<3?c+1|0:c;F[d+16>>2]=f;F[d+20>>2]=c;if(e>>>0>1){break a}d=e>>>0<2?e:0;if(!p){break i}if(!d){break h}break a}if(p){break g}d=0}if((l|0)<0){e=a+184|0}else{c=F[a+216>>2]+L(h,144)|0;D[c+100|0]=0;e=c+104|0}if((d|0)!=1){break e}c=Z-112|0;Z=c;g=F[F[a+4>>2]+44>>2];d=ka(120);F[d>>2]=8924;F[d+4>>2]=0;F[d+116>>2]=0;F[d+112>>2]=e;F[d+108>>2]=g;F[d+12>>2]=0;F[d+16>>2]=0;F[d+20>>2]=0;F[d+24>>2]=0;F[d+28>>2]=0;F[d+32>>2]=0;F[d+36>>2]=0;F[d+40>>2]=0;F[d+44>>2]=0;F[d+48>>2]=0;F[d+52>>2]=0;F[d+56>>2]=0;F[d+60>>2]=0;F[d+8>>2]=9136;f=d- -64|0;F[f>>2]=0;F[f+4>>2]=0;F[d+72>>2]=0;F[d+76>>2]=0;F[d+80>>2]=0;F[d+84>>2]=0;F[d+88>>2]=0;F[d+104>>2]=0;F[d+96>>2]=0;F[d+100>>2]=0;f=F[a+8>>2];F[c+48>>2]=0;F[c+52>>2]=0;F[c+40>>2]=0;F[c+44>>2]=0;j=c+32|0;F[j>>2]=0;F[j+4>>2]=0;F[c+24>>2]=0;F[c+28>>2]=0;h=c- -64|0;F[h>>2]=0;F[h+4>>2]=0;F[c+72>>2]=0;F[c+76>>2]=0;F[c+80>>2]=0;F[c+84>>2]=0;F[c+88>>2]=0;F[c+104>>2]=0;F[c+16>>2]=0;F[c+20>>2]=0;F[c+56>>2]=0;F[c+60>>2]=0;F[c+8>>2]=9136;F[c+96>>2]=0;F[c+100>>2]=0;F[c+12>>2]=f;h=F[f>>2];i=F[f+4>>2];D[c+111|0]=0;k=j;j=c+111|0;Ea(k,(i-h>>2>>>0)/3|0,j);h=F[c+12>>2];i=F[h+28>>2];h=F[h+24>>2];D[c+111|0]=0;Ea(c+44|0,i-h>>2,j);F[c+28>>2]=d;F[c+24>>2]=g;F[c+20>>2]=e;F[c+16>>2]=f;f=d+8|0;e=c+8|0;lc(f,e);j:{if((e|0)==(f|0)){F[d+92>>2]=F[e+84>>2];break j}gb(d+56|0,F[e+48>>2],F[e+52>>2]);gb(d+68|0,F[e+60>>2],F[e- -64>>2]);gb(d+80|0,F[e+72>>2],F[e+76>>2]);F[d+92>>2]=F[e+84>>2];k:{h=F[e+92>>2];j=F[e+88>>2];i=h-j|0;e=i>>2;f=F[d+104>>2];g=F[d+96>>2];if(e>>>0<=f-g>>2>>>0){i=F[d+100>>2]-g|0;f=i+j|0;m=i>>2;i=e>>>0>m>>>0?f:h;l=i-j|0;if((i|0)!=(j|0)){pa(g,j,l)}if(e>>>0>m>>>0){e=F[d+100>>2];if((h|0)!=(i|0)){while(1){F[e>>2]=F[f>>2];e=e+4|0;f=f+4|0;if((h|0)!=(f|0)){continue}break}}F[d+100>>2]=e;break k}F[d+100>>2]=g+l;break k}if(g){F[d+100>>2]=g;ja(g);F[d+104>>2]=0;F[d+96>>2]=0;F[d+100>>2]=0;f=0}l:{if((i|0)<0){break l}g=f>>>1|0;e=f>>>0>=2147483644?1073741823:e>>>0>>0?g:e;if(e>>>0>=1073741824){break l}f=e<<2;e=ka(f);F[d+96>>2]=e;F[d+104>>2]=e+f;if((h|0)!=(j|0)){f=e;e=(i-4&-4)+4|0;e=la(f,j,e)+e|0}F[d+100>>2]=e;break k}na();v()}}F[c+8>>2]=9136;e=F[c+96>>2];if(e){F[c+100>>2]=e;ja(e)}e=F[c+80>>2];if(e){F[c+84>>2]=e;ja(e)}e=F[c+68>>2];if(e){F[c+72>>2]=e;ja(e)}e=F[c+56>>2];if(e){F[c+60>>2]=e;ja(e)}F[c+8>>2]=9372;e=F[c+44>>2];if(e){ja(e)}e=F[c+32>>2];if(e){ja(e)}Z=c+112|0;break d}if((l|0)>=0){break f}break a}if((l|0)<0){break a}}e=F[a+216>>2];c=F[m+44>>2];d=ka(80);F[d>>2]=9684;F[d+4>>2]=0;F[d+76>>2]=0;F[d+68>>2]=c;F[d+8>>2]=8624;F[d+12>>2]=0;F[d+16>>2]=0;F[d+20>>2]=0;F[d+24>>2]=0;F[d+28>>2]=0;F[d+32>>2]=0;F[d+36>>2]=0;F[d+40>>2]=0;F[d+44>>2]=0;F[d+48>>2]=0;F[d+52>>2]=0;e=e+L(h,144)|0;f=e+104|0;F[d+72>>2]=f;F[d- -64>>2]=0;F[d+56>>2]=0;F[d+60>>2]=0;F[n+24>>2]=c;c=n;F[c+68>>2]=0;F[c+72>>2]=0;F[c+60>>2]=0;F[c+64>>2]=0;F[c+52>>2]=0;F[c+56>>2]=0;F[c+44>>2]=0;F[c+48>>2]=0;F[c+84>>2]=0;F[c+88>>2]=0;F[c+76>>2]=0;F[c+80>>2]=0;F[c+28>>2]=d;g=F[c+28>>2];F[c+8>>2]=F[c+24>>2];F[c+12>>2]=g;F[c+20>>2]=f;f=e+4|0;F[c+16>>2]=f;F[c+36>>2]=0;F[c+40>>2]=0;F[c+32>>2]=8624;e=F[c+20>>2];F[c>>2]=F[c+16>>2];F[c+4>>2]=e;e=c+32|0;Fd(e,f,c);c=d+8|0;lc(c,e);if((c|0)!=(e|0)){gb(d+56|0,F[e+48>>2],F[e+52>>2])}Ed(e);break c}c=Z+-64|0;Z=c;g=F[F[a+4>>2]+44>>2];d=ka(80);F[d>>2]=9392;F[d+4>>2]=0;F[d+76>>2]=0;F[d+72>>2]=e;F[d+68>>2]=g;F[d+8>>2]=9556;F[d+12>>2]=0;F[d+16>>2]=0;F[d+20>>2]=0;F[d+24>>2]=0;F[d+28>>2]=0;F[d+32>>2]=0;F[d+36>>2]=0;F[d+40>>2]=0;F[d+44>>2]=0;F[d+48>>2]=0;F[d+52>>2]=0;F[d- -64>>2]=0;j=d+56|0;f=j;F[f>>2]=0;F[f+4>>2]=0;f=F[a+8>>2];F[c+40>>2]=0;F[c+44>>2]=0;F[c+32>>2]=0;F[c+36>>2]=0;h=c+24|0;F[h>>2]=0;F[h+4>>2]=0;F[c+16>>2]=0;F[c+20>>2]=0;F[c+56>>2]=0;F[c+8>>2]=0;F[c+12>>2]=0;F[c+48>>2]=0;F[c+52>>2]=0;F[c>>2]=9556;F[c+4>>2]=f;i=F[f>>2];l=F[f+4>>2];D[c+63|0]=0;k=h;h=c+63|0;Ea(k,(l-i>>2>>>0)/3|0,h);i=F[c+4>>2];l=F[i+28>>2];i=F[i+24>>2];D[c+63|0]=0;Ea(c+36|0,l-i>>2,h);F[c+20>>2]=d;F[c+16>>2]=g;F[c+12>>2]=e;F[c+8>>2]=f;lc(d+8|0,c);gb(j,F[c+48>>2],F[c+52>>2]);F[c>>2]=9556;e=F[c+48>>2];if(e){F[c+52>>2]=e;ja(e)}F[c>>2]=9372;e=F[c+36>>2];if(e){ja(e)}e=F[c+24>>2];if(e){ja(e)}Z=c- -64|0}if(!d){break a}}d=yc(ka(64),d);c=F[a+4>>2];a=d;d=b;m:{n:{if((d|0)>=0){g=c+8|0;b=F[c+12>>2];j=F[c+8>>2];e=b-j>>2;o:{if((e|0)>(d|0)){break o}f=d+1|0;if(d>>>0>=e>>>0){Pb(g,f-e|0);break o}if(e>>>0<=f>>>0){break o}f=j+(f<<2)|0;if((f|0)!=(b|0)){while(1){b=b-4|0;e=F[b>>2];F[b>>2]=0;if(e){$[F[F[e>>2]+4>>2]](e)}if((b|0)!=(f|0)){continue}break}}F[c+12>>2]=f}c=F[g>>2]+(d<<2)|0;b=F[c>>2];F[c>>2]=a;if(b){break n}break m}b=a;if(!a){break m}}$[F[F[b>>2]+4>>2]](b)}q=(d^-1)>>>31|0}Z=n+96|0;return q|0}function Ab(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=M(0),n=M(0),o=0;a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=D[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=H[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=E[b>>1];if((e|0)<0){break b}E[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(e+32768>>>0>65535){break b}E[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(e>>>0>32767){break b}E[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=F[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=F[b+4>>2];e=F[b>>2];i=e+32768|0;h=i>>>0<32768?h+1|0:h;if(!h&i>>>0>65535|h){break b}E[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=F[b+4>>2];e=F[b>>2];if(!k&e>>>0>32767|k){break b}E[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=F[a>>2];j=F[e>>2];g=j;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-j|0;if(!G[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(32767)|m>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(32767)|mM(1)){break d}e=(b<<1)+d|0;l=R(+m*32767+.5);f:{if(N(l)<2147483648){i=~~l;break f}i=-2147483648}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}ma((e<<1)+d|0,0,c-e<<1)}return j;case 9:g:{h:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=F[a>>2];j=F[e>>2];g=j;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-j|0;if(!G[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=K[g>>3];if(l>=32767|l<-32768|l!=l){break g}o=N(l);if(o==Infinity){break g}e=(b<<1)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=K[g>>3];if(l>=32767|l<-32768|(N(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<1)+d|0;l=R(l*32767+.5);i:{if(N(l)<2147483648){i=~~l;break i}i=-2147483648}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}ma((e<<1)+d|0,0,c-e<<1)}return j;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}ma((e<<1)+d|0,0,(c&255)-e<<1)}return j}ma((e<<1)+d|0,0,(c&255)-e<<1);return 1}function yb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=M(0),n=M(0),o=0;a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=D[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=E[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=H[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=F[b>>2];b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=F[b>>2];if((e|0)<0){break b}F[(g<<2)+d>>2]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=F[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=F[b+4>>2];e=F[b>>2];if(e- -2147483648>>>0<2147483648?h+1|0:h){break b}F[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=F[b+4>>2];e=F[b>>2];if(!k&e>>>0>2147483647|k){break b}F[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=F[a>>2];j=F[e>>2];g=j;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-j|0;if(!G[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(2147483648)|m>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(2147483648)|mM(1)){break d}e=(b<<2)+d|0;l=R(+m*2147483647+.5);f:{if(N(l)<2147483648){i=~~l;break f}i=-2147483648}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}ma((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=F[a>>2];j=F[e>>2];g=j;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-j|0;if(!G[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=K[g>>3];if(l>=2147483647|l<-2147483648|l!=l){break g}o=N(l);if(o==Infinity){break g}e=(b<<2)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=K[g>>3];if(l>=2147483647|l<-2147483648|(N(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<2)+d|0;l=R(l*2147483647+.5);i:{if(N(l)<2147483648){i=~~l;break i}i=-2147483648}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}ma((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}ma((e<<2)+d|0,0,(c&255)-e<<2)}return j}ma((e<<2)+d|0,0,(c&255)-e<<2);return 1}function zb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=M(0);a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=D[b|0];if((e|0)<0){break b}E[(g<<1)+d>>1]=e&255;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=E[b>>1];if((e|0)<0){break b}E[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=H[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(e>>>0>65535){break b}E[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(e>>>0>65535){break b}E[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=F[b+4>>2];e=F[b>>2];if(!k&e>>>0>65535|k){break b}E[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=F[b+4>>2];e=F[b>>2];if(!k&e>>>0>65535|k){break b}E[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=F[a>>2];l=F[e>>2];g=l;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-l|0;if(!G[a+32|0]){l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(65535)|m=M(0)){i=~~m>>>0}else{i=0}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(65535)|mM(1)){break d}e=(b<<1)+d|0;j=R(+m*65535+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=1;if(c>>>0<=e>>>0){break d}ma((e<<1)+d|0,0,c-e<<1)}return l;case 9:g:{h:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=F[a>>2];l=F[e>>2];g=l;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-l|0;if(!G[a+32|0]){l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=K[g>>3];if(j>=65535|j<0|(N(j)==Infinity|j!=j)){break g}e=(b<<1)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=K[g>>3];if(j>=65535|j<0|(N(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<1)+d|0;j=R(j*65535+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=1;if(c>>>0<=e>>>0){break g}ma((e<<1)+d|0,0,c-e<<1)}return l;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}ma((e<<1)+d|0,0,(c&255)-e<<1)}return l}ma((e<<1)+d|0,0,(c&255)-e<<1);return 1}function Ga(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=M(0),l=0,m=0,n=M(0),o=0;a:{if(!d){break a}b:{c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=D[b|0];F[e>>2]=i;F[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;F[e>>2]=G[b|0];F[e+4>>2]=0;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=E[b>>1];F[e>>2]=i;F[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;F[e>>2]=H[b>>1];F[e+4>>2]=0;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=F[b>>2];F[e>>2]=i;F[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;F[e>>2]=F[b>>2];F[e+4>>2]=0;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=F[b+4>>2];e=(g<<3)+d|0;F[e>>2]=F[b>>2];F[e+4>>2]=i;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=F[b>>2];i=F[b+4>>2];if((i|0)<0){break a}j=(g<<3)+d|0;F[j>>2]=e;F[j+4>>2]=i;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=G[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break d}if(G[a+32|0]){break a}e=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+e|0;e=F[a>>2];i=F[e+4>>2];e=F[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=J[g>>2];if(k>=M(0x8000000000000000)|k=M(1)?~~(k>M(0)?M(P(M(R(M(k*M(2.3283064365386963e-10)))),M(4294967296))):M(S(M(M(k-M(~~k>>>0>>>0))*M(2.3283064365386963e-10)))))>>>0:0;m=~~k>>>0;break e}j=-2147483648;m=0}F[e>>2]=m;F[e+4>>2]=j;b=b+1|0;e=G[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=G[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break f}if(G[a+32|0]){break a}e=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+e|0;e=F[a>>2];i=F[e+4>>2];e=F[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){l=K[g>>3];if(l>=0x8000000000000000|l<-0x8000000000000000|l!=l){break a}o=N(l);if(o==Infinity){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){j=N(l)>=1?~~(l>0?P(R(l*2.3283064365386963e-10),4294967295):S((l-+(~~l>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~l>>>0;break g}j=-2147483648;m=0}F[e>>2]=m;F[e+4>>2]=j;b=b+1|0;e=G[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;F[e>>2]=G[b|0];F[e+4>>2]=0;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}ma(d,0,a<<3)}}function le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=a;a:{b:{c:{d:{e:{f:{g:{h:{a=F[a+8>>2];switch(F[a+28>>2]-1|0){case 4:break c;case 5:break d;case 2:break e;case 3:break f;case 0:break g;case 1:break h;default:break a}}f=G[a+24|0];c=ka(f);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;D[a+c|0]=F[k>>2];D[(a|1)+c|0]=F[k+4>>2];D[(a|2)+c|0]=F[k+8>>2];D[(a|3)+c|0]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){D[a+c|0]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}f=G[a+24|0];c=ka(f);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;D[a+c|0]=F[k>>2];D[(a|1)+c|0]=F[k+4>>2];D[(a|2)+c|0]=F[k+8>>2];D[(a|3)+c|0]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){D[a+c|0]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}h=G[a+24|0];i=h<<1;c=ka(i);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;E[f+c>>1]=F[k>>2];E[(f|2)+c>>1]=F[k+4>>2];E[(f|4)+c>>1]=F[k+8>>2];E[(f|6)+c>>1]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){E[(a<<1)+c>>1]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=G[a+24|0];i=h<<1;c=ka(i);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;E[f+c>>1]=F[k>>2];E[(f|2)+c>>1]=F[k+4>>2];E[(f|4)+c>>1]=F[k+8>>2];E[(f|6)+c>>1]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){E[(a<<1)+c>>1]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=G[a+24|0];i=h<<2;c=ka(i);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;F[f+c>>2]=F[k>>2];F[(f|4)+c>>2]=F[k+4>>2];F[(f|8)+c>>2]=F[k+8>>2];F[(f|12)+c>>2]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){F[(a<<2)+c>>2]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=G[a+24|0];i=h<<2;c=ka(i);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;F[f+c>>2]=F[k>>2];F[(f|4)+c>>2]=F[k+4>>2];F[(f|8)+c>>2]=F[k+8>>2];F[(f|12)+c>>2]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){F[(a<<2)+c>>2]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i)}ja(c);c=1}return c|0}function xb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=M(0);a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=D[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=E[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=H[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=F[b>>2];b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=F[b>>2];b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(F[b+4>>2]){break b}F[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(F[b+4>>2]){break b}F[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=F[a>>2];k=F[e>>2];g=k;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-k|0;if(!G[a+32|0]){k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(4294967296)|m=M(0)){i=~~m>>>0}else{i=0}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(4294967296)|mM(1)){break d}e=(b<<2)+d|0;j=R(+m*4294967295+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=1;if(c>>>0<=e>>>0){break d}ma((e<<2)+d|0,0,c-e<<2)}return k;case 9:g:{h:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=F[a>>2];k=F[e>>2];g=k;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-k|0;if(!G[a+32|0]){k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=K[g>>3];if(j>=4294967295|j<0|(N(j)==Infinity|j!=j)){break g}e=(b<<2)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=K[g>>3];if(j>=4294967295|j<0|(N(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<2)+d|0;j=R(j*4294967295+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=1;if(c>>>0<=e>>>0){break g}ma((e<<2)+d|0,0,c-e<<2)}return k;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ma((e<<2)+d|0,0,(c&255)-e<<2)}return k}ma((e<<2)+d|0,0,(c&255)-e<<2);return 1}function rd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{if(F[a+92>>2]==F[a+88>>2]){break e}c=F[a+52>>2];f:{if((c|0)!=F[a+56>>2]){F[c>>2]=b;F[a+52>>2]=c+4;break f}h=F[a+48>>2];g=c-h|0;d=g>>2;f=d+1|0;if(f>>>0>=1073741824){break a}e=g>>>1|0;g=g>>>0>=2147483644?1073741823:f>>>0>>0?e:f;if(g){if(g>>>0>=1073741824){break d}e=ka(g<<2)}else{e=0}f=e+(d<<2)|0;F[f>>2]=b;d=f+4|0;if((c|0)!=(h|0)){while(1){f=f-4|0;c=c-4|0;F[f>>2]=F[c>>2];if((c|0)!=(h|0)){continue}break}}F[a+56>>2]=e+(g<<2);F[a+52>>2]=d;F[a+48>>2]=f;if(!h){break f}ja(h)}F[a+84>>2]=0;c=-1;e=-1;g:{if((b|0)==-1){break g}d=F[a+4>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){c=F[F[d>>2]+(e<<2)>>2]}h:{if((b>>>0)%3|0){l=b-1|0;break h}l=b+2|0;e=-1;if((l|0)==-1){break g}}e=F[F[d>>2]+(l<<2)>>2]}i=e>>>3&536870908;d=F[a+36>>2];h=d+(c>>>3&536870908)|0;g=F[h>>2];f=1<>2]=f|g;f=a+8|0;if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}else{d=-1}Ka(f,c,d);d=F[a+36>>2]}f=d+i|0;d=F[f>>2];c=1<>2]=c|d;d=a+8|0;c=-1;i:{if((b|0)==-1){break i}c=b-1|0;if((b>>>0)%3|0){break i}c=b+2|0}Ka(d,e,c)}c=-1;c=(b|0)!=-1?F[F[F[a+4>>2]>>2]+(b<<2)>>2]:c;f=F[a+36>>2]+(c>>>3&536870908)|0;d=F[f>>2];e=1<>2]=d|e;Ka(a+8|0,c,b)}d=F[a+84>>2];if((d|0)>2){break e}while(1){e=L(d,12)+a|0;b=F[e+52>>2];if((b|0)==F[e+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}b=b-4|0;c=F[b>>2];F[e+52>>2]=b;F[a+84>>2]=d;if((c|0)==-1){break e}f=F[a+24>>2];b=(c>>>0)/3|0;j:{if(F[f+(b>>>3&268435452)>>2]>>>b&1){break j}k:{while(1){k=(c>>>0)/3|0;b=(k>>>3&268435452)+f|0;F[b>>2]=F[b>>2]|1<>2]>>2]+(c<<2)>>2]:d;f=F[a+36>>2]+(d>>>3&536870908)|0;e=F[f>>2];b=1<>2]=b|e;i=F[(F[F[a+16>>2]+96>>2]+L(k,12)|0)+((c>>>0)%3<<2)>>2];l=F[F[a+20>>2]+4>>2];f=F[l+4>>2];t:{if((f|0)!=F[l+8>>2]){F[f>>2]=i;F[l+4>>2]=f+4;break t}j=F[l>>2];h=f-j|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break s}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=ka(h<<2)}else{e=0}b=e+(g<<2)|0;F[b>>2]=i;g=b+4|0;if((f|0)!=(j|0)){while(1){b=b-4|0;f=f-4|0;F[b>>2]=F[f>>2];if((f|0)!=(j|0)){continue}break}}F[l+8>>2]=e+(h<<2);F[l+4>>2]=g;F[l>>2]=b;if(!j){break t}ja(j)}j=F[a+12>>2];f=F[j+4>>2];u:{if((f|0)!=F[j+8>>2]){F[f>>2]=c;F[j+4>>2]=f+4;break u}i=F[j>>2];h=f-i|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break r}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=ka(h<<2)}else{e=0}b=e+(g<<2)|0;F[b>>2]=c;g=b+4|0;if((f|0)!=(i|0)){while(1){b=b-4|0;f=f-4|0;F[b>>2]=F[f>>2];if((f|0)!=(i|0)){continue}break}}F[j+8>>2]=e+(h<<2);F[j+4>>2]=g;F[j>>2]=b;if(!i){break u}ja(i)}b=F[a+12>>2];F[F[b+12>>2]+(d<<2)>>2]=F[b+24>>2];F[b+24>>2]=F[b+24>>2]+1}if((c|0)==-1){break k}g=F[a+4>>2];f=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){f=F[F[g+12>>2]+(b<<2)>>2]}v:{w:{if((L(k,3)|0)!=(c|0)){d=c-1|0;break w}d=c+2|0;c=-1;if((d|0)==-1){break v}}c=F[F[g+12>>2]+(d<<2)>>2]}d=(c|0)==-1;e=(c>>>0)/3|0;if((f|0)!=-1){b=(f>>>0)/3|0;b=F[F[a+24>>2]+(b>>>3&268435452)>>2]&1<>2]+(b>>>3&536870908)>>2]>>>b&1){break x}k=0;b=F[F[g>>2]+(c<<2)>>2];if(!(F[F[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=F[a+88>>2]+(b<<2)|0;e=F[b>>2];F[b>>2]=e+1;k=(e|0)<=0?2:1}if(F[a+84>>2]>=(k|0)&l){break m}j=L(k,12)+a|0;b=F[j+52>>2];y:{if((b|0)!=F[j+56>>2]){F[b>>2]=c;F[j+52>>2]=b+4;break y}i=F[j+48>>2];h=b-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break c}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=ka(g<<2)}else{e=0}d=e+(d<<2)|0;F[d>>2]=c;c=d+4|0;if((b|0)!=(i|0)){while(1){d=d-4|0;b=b-4|0;F[d>>2]=F[b>>2];if((b|0)!=(i|0)){continue}break}}F[j+48>>2]=d;F[j+52>>2]=c;F[j+56>>2]=e+(g<<2);if(!i){break y}ja(i)}if(F[a+84>>2]<=(k|0)){break x}F[a+84>>2]=k}if(l){break k}c=-1;if((f|0)==-1){break n}}c=F[F[F[a+4>>2]>>2]+(f<<2)>>2]}b=0;if(!(F[F[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){b=F[a+88>>2]+(c<<2)|0;c=F[b>>2];F[b>>2]=c+1;b=(c|0)<=0?2:1}if(F[a+84>>2]<(b|0)){break l}c=f}f=F[a+24>>2];continue}break}k=L(b,12)+a|0;c=F[k+52>>2];z:{if((c|0)!=F[k+56>>2]){F[c>>2]=f;F[k+52>>2]=c+4;break z}i=F[k+48>>2];h=c-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break b}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=ka(g<<2)}else{e=0}d=e+(d<<2)|0;F[d>>2]=f;f=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;F[d>>2]=F[c>>2];if((c|0)!=(i|0)){continue}break}}F[k+48>>2]=d;F[k+52>>2]=f;F[k+56>>2]=e+(g<<2);if(!i){break z}ja(i)}d=F[a+84>>2];if((d|0)<=(b|0)){break j}F[a+84>>2]=b;d=b;break j}d=F[a+84>>2]}if((d|0)<3){continue}break}}return 1}oa();v()}na();v()}na();v()}na();v()}function Mc(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=Z-16|0;Z=e;F[e+12>>2]=a;a:{if(a>>>0<=211){d=F[Lc(10352,10544,e+12|0)>>2];break a}if(a>>>0>=4294967292){V();v()}f=(a>>>0)/210|0;d=L(f,210);F[e+8>>2]=a-d;g=Lc(10544,10736,e+8|0)-10544>>2;while(1){d=F[(g<<2)+10544>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0>>0){break a}if((L(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((L(b,c)|0)!=(d|0)){continue}break}break b}b=F[(a<<2)+10352>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((L(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=L(f,210);continue}}Z=e+16|0;return d}function lb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=M(0),k=0,l=0;a:{if(!d){break a}b:{c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(D[b|0]);J[(h<<2)+d>>2]=i?M(j/M(127)):j;b=b+1|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(G[b|0]);J[(h<<2)+d>>2]=i?M(j/M(255)):j;b=b+1|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(E[b>>1]);J[(h<<2)+d>>2]=i?M(j/M(32767)):j;b=b+2|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(H[b>>1]);J[(h<<2)+d>>2]=i?M(j/M(65535)):j;b=b+2|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(F[b>>2]);J[(h<<2)+d>>2]=i?M(j*M(4.656612873077393e-10)):j;b=b+4|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(I[b>>2]);J[(h<<2)+d>>2]=i?M(j*M(2.3283064365386963e-10)):j;b=b+4|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(+I[b>>2]+ +F[b+4>>2]*4294967296);J[(h<<2)+d>>2]=i?M(j*M(10842021724855044e-35)):j;b=b+8|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(+I[b>>2]+ +I[b+4>>2]*4294967296);J[(h<<2)+d>>2]=i?M(j*M(5.421010862427522e-20)):j;b=b+8|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 8:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}J[(h<<2)+d>>2]=J[b>>2];b=b+4|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 9:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}J[(h<<2)+d>>2]=K[b>>3];b=b+8|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}J[(h<<2)+d>>2]=G[b|0]?M(1):M(0);b=b+1|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0}ma(d,0,a<<2)}return l}function Cb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=M(0),m=M(0);a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}D[d+g|0]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){return 0}e=D[b|0];if((e|0)<0){break b}D[d+g|0]=e;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>1];if((e+128&65535)>>>0>255){break b}D[d+g|0]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>1];if(e>>>0>127){break b}D[d+g|0]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=F[b>>2];if(e+128>>>0>255){break b}D[d+g|0]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=F[b>>2];if(e>>>0>127){break b}D[d+g|0]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}i=F[b+4>>2];e=F[b>>2];h=e+128|0;i=h>>>0<128?i+1|0:i;if(!i&h>>>0>255|i){break b}D[d+g|0]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}i=F[b+4>>2];e=F[b>>2];if(!i&e>>>0>127|i){break b}D[d+g|0]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=G[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=F[F[a>>2]>>2];f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break d}l=J[b>>2];if(l>=M(127)|lM(1)){break d}j=R(+l*127+.5);if(!(N(j)<2147483648)){break f}h=~~j;break e}if(!(m>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}ma(d+e|0,0,c-e|0)}return k;case 9:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}j=K[b>>3];if(j>=127|j<-128|(N(j)==Infinity|j!=j)){break b}e=d+g|0;if(G[a+32|0]){if(j<0|j>1){break b}j=R(j*127+.5)}g:{if(N(j)<2147483648){h=~~j;break g}h=-2147483648}D[e|0]=h;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}D[d+g|0]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ma(d+e|0,0,(c&255)-e|0)}return k}ma(d+e|0,0,(c&255)-e|0);return 1}function Bb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=M(0);a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){return 0}e=D[b|0];if((e|0)<0){break b}D[d+g|0]=e;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}D[d+g|0]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>1];if(e>>>0>255){break b}D[d+g|0]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>1];if(e>>>0>255){break b}D[d+g|0]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=F[b>>2];if(e>>>0>255){break b}D[d+g|0]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=F[b>>2];if(e>>>0>255){break b}D[d+g|0]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}i=F[b+4>>2];e=F[b>>2];if(!i&e>>>0>255|i){break b}D[d+g|0]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}i=F[b+4>>2];e=F[b>>2];if(!i&e>>>0>255|i){break b}D[d+g|0]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=G[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=F[F[a>>2]>>2];f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break d}l=J[b>>2];if(l>=M(255)|lM(1)){break d}j=R(+l*255+.5);if(!(j<4294967296&j>=0)){break f}h=~~j>>>0;break e}if(!(l=M(0))){break f}h=~~l>>>0;break e}h=0}D[e|0]=h;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}ma(d+e|0,0,c-e|0)}return k;case 9:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}j=K[b>>3];if(j>=255|j<0|(N(j)==Infinity|j!=j)){break b}e=d+g|0;if(G[a+32|0]){if(j>1){break b}j=R(j*255+.5)}g:{if(j<4294967296&j>=0){h=~~j>>>0;break g}h=0}D[e|0]=h;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}D[d+g|0]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ma(d+e|0,0,(c&255)-e|0)}return k}ma(d+e|0,0,(c&255)-e|0);return 1}function jc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=Z-48|0;Z=e;f=H[5053]|H[5054]<<16;d=H[5051]|H[5052]<<16;E[e+38>>1]=d;E[e+40>>1]=d>>>16;E[e+42>>1]=f;E[e+44>>1]=f>>>16;d=F[2525];F[e+32>>2]=F[2524];F[e+36>>2]=d;d=F[2523];F[e+24>>2]=F[2522];F[e+28>>2]=d;d=F[2521];F[e+16>>2]=F[2520];F[e+20>>2]=d;g=F[b+8>>2];i=F[b+12>>2];h=F[b+20>>2];d=F[b+16>>2];f=d+5|0;h=f>>>0<5?h+1|0:h;a:{b:{if(g>>>0>>0&(h|0)>=(i|0)|(h|0)>(i|0)){d=ya(e+16|0);if(d>>>0>=2147483632){break a}c:{d:{if(d>>>0>=11){b=(d|15)+1|0;c=ka(b);F[e+8>>2]=b|-2147483648;F[e>>2]=c;F[e+4>>2]=d;b=c+d|0;break d}D[e+11|0]=d;b=d+e|0;c=e;if(!d){break c}}la(c,e+16|0,d)}D[b|0]=0;F[a>>2]=-2;b=a+4|0;if(D[e+11|0]>=0){a=F[e+4>>2];F[b>>2]=F[e>>2];F[b+4>>2]=a;F[b+8>>2]=F[e+8>>2];break b}ra(b,F[e>>2],F[e+4>>2]);if(D[e+11|0]>=0){break b}ja(F[e>>2]);break b}f=d+F[b>>2]|0;d=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[c|0]=d;D[c+1|0]=d>>>8;D[c+2|0]=d>>>16;D[c+3|0]=d>>>24;D[c+4|0]=G[f+4|0];d=F[b+20>>2];f=F[b+16>>2]+5|0;d=f>>>0<5?d+1|0:d;F[b+16>>2]=f;F[b+20>>2]=d;if(sa(c,1250,5)){d=ka(32);D[d+17|0]=0;D[d+16|0]=G[1494];c=G[1490]|G[1491]<<8|(G[1492]<<16|G[1493]<<24);b=G[1486]|G[1487]<<8|(G[1488]<<16|G[1489]<<24);D[d+8|0]=b;D[d+9|0]=b>>>8;D[d+10|0]=b>>>16;D[d+11|0]=b>>>24;D[d+12|0]=c;D[d+13|0]=c>>>8;D[d+14|0]=c>>>16;D[d+15|0]=c>>>24;c=G[1482]|G[1483]<<8|(G[1484]<<16|G[1485]<<24);b=G[1478]|G[1479]<<8|(G[1480]<<16|G[1481]<<24);D[d|0]=b;D[d+1|0]=b>>>8;D[d+2|0]=b>>>16;D[d+3|0]=b>>>24;D[d+4|0]=c;D[d+5|0]=c>>>8;D[d+6|0]=c>>>16;D[d+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,d,17);ja(d);break b}g=F[b+12>>2];if((g|0)<=(d|0)&I[b+8>>2]<=f>>>0|(d|0)>(g|0)){d=ya(e+16|0);if(d>>>0>=2147483632){break a}e:{f:{if(d>>>0>=11){b=(d|15)+1|0;c=ka(b);F[e+8>>2]=b|-2147483648;F[e>>2]=c;F[e+4>>2]=d;b=c+d|0;break f}D[e+11|0]=d;b=d+e|0;c=e;if(!d){break e}}la(c,e+16|0,d)}D[b|0]=0;F[a>>2]=-2;b=a+4|0;if(D[e+11|0]>=0){a=F[e+4>>2];F[b>>2]=F[e>>2];F[b+4>>2]=a;F[b+8>>2]=F[e+8>>2];break b}ra(b,F[e>>2],F[e+4>>2]);if(D[e+11|0]>=0){break b}ja(F[e>>2]);break b}D[c+5|0]=G[f+F[b>>2]|0];g=F[b+20>>2];d=F[b+16>>2]+1|0;g=d?g:g+1|0;F[b+16>>2]=d;F[b+20>>2]=g;f=F[b+12>>2];if((f|0)<=(g|0)&I[b+8>>2]<=d>>>0|(g|0)>(f|0)){d=ya(e+16|0);if(d>>>0>=2147483632){break a}g:{h:{if(d>>>0>=11){b=(d|15)+1|0;c=ka(b);F[e+8>>2]=b|-2147483648;F[e>>2]=c;F[e+4>>2]=d;b=c+d|0;break h}D[e+11|0]=d;b=d+e|0;c=e;if(!d){break g}}la(c,e+16|0,d)}D[b|0]=0;F[a>>2]=-2;b=a+4|0;if(D[e+11|0]>=0){a=F[e+4>>2];F[b>>2]=F[e>>2];F[b+4>>2]=a;F[b+8>>2]=F[e+8>>2];break b}ra(b,F[e>>2],F[e+4>>2]);if(D[e+11|0]>=0){break b}ja(F[e>>2]);break b}D[c+6|0]=G[d+F[b>>2]|0];h=F[b+20>>2];d=F[b+16>>2]+1|0;h=d?h:h+1|0;F[b+16>>2]=d;F[b+20>>2]=h;f=F[b+12>>2];if((f|0)<=(h|0)&I[b+8>>2]<=d>>>0|(f|0)<(h|0)){d=ya(e+16|0);if(d>>>0>=2147483632){break a}i:{j:{if(d>>>0>=11){b=(d|15)+1|0;c=ka(b);F[e+8>>2]=b|-2147483648;F[e>>2]=c;F[e+4>>2]=d;b=c+d|0;break j}D[e+11|0]=d;b=d+e|0;c=e;if(!d){break i}}la(c,e+16|0,d)}D[b|0]=0;F[a>>2]=-2;b=a+4|0;if(D[e+11|0]>=0){a=F[e+4>>2];F[b>>2]=F[e>>2];F[b+4>>2]=a;F[b+8>>2]=F[e+8>>2];break b}ra(b,F[e>>2],F[e+4>>2]);if(D[e+11|0]>=0){break b}ja(F[e>>2]);break b}D[c+7|0]=G[d+F[b>>2]|0];g=F[b+20>>2];d=F[b+16>>2]+1|0;g=d?g:g+1|0;F[b+16>>2]=d;F[b+20>>2]=g;f=F[b+12>>2];if((f|0)<=(g|0)&I[b+8>>2]<=d>>>0|(g|0)>(f|0)){c=Eb(e,e+16|0);F[a>>2]=-2;b=a+4|0;if(D[c+11|0]>=0){a=F[c+4>>2];F[b>>2]=F[c>>2];F[b+4>>2]=a;F[b+8>>2]=F[c+8>>2];break b}ra(b,F[c>>2],F[c+4>>2]);if(D[c+11|0]>=0){break b}ja(F[c>>2]);break b}D[c+8|0]=G[d+F[b>>2]|0];d=F[b+20>>2];g=F[b+16>>2];f=g+1|0;i=f?d:d+1|0;F[b+16>>2]=f;F[b+20>>2]=i;i=F[b+8>>2];h=F[b+12>>2];g=g+3|0;d=g>>>0<3?d+1|0:d;if(g>>>0>i>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){c=Eb(e,e+16|0);F[a>>2]=-2;b=a+4|0;if(D[c+11|0]>=0){a=F[c+4>>2];F[b>>2]=F[c>>2];F[b+4>>2]=a;F[b+8>>2]=F[c+8>>2];break b}ra(b,F[c>>2],F[c+4>>2]);if(D[c+11|0]>=0){break b}ja(F[c>>2]);break b}d=c;c=F[b>>2]+f|0;E[d+10>>1]=G[c|0]|G[c+1|0]<<8;g=F[b+20>>2];c=F[b+16>>2]+2|0;g=c>>>0<2?g+1|0:g;F[b+16>>2]=c;F[b+20>>2]=g;F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+4>>2]=0}Z=e+48|0;return}za();v()}function Mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0;e=Z-96|0;Z=e;f=F[a+16>>2];D[e+92|0]=1;F[e+88>>2]=b;F[e+84>>2]=b;F[e+80>>2]=f;j=F[a+20>>2];d=F[j>>2];a:{b:{f=F[F[f+28>>2]+(b<<2)>>2];if(f>>>0>2]-d>>2>>>0){d=F[F[a+8>>2]+(F[d+(f<<2)>>2]<<2)>>2];f=F[a+4>>2];if(!G[f+84|0]){d=F[F[f+68>>2]+(d<<2)>>2]}F[e+72>>2]=0;F[e+76>>2]=0;j=e- -64|0;F[j>>2]=0;F[j+4>>2]=0;F[e+56>>2]=0;F[e+60>>2]=0;Ga(f,d,D[f+24|0],e+56|0);if((b|0)!=-1){f=b+1|0;j=(f>>>0)%3|0?f:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;while(1){d=j;f=m;c:{if(!F[a+28>>2]){break c}f=b+1|0;d=(f>>>0)%3|0?f:b-2|0;f=b-1|0;if((b>>>0)%3|0){break c}f=b+2|0}n=F[a+20>>2];b=F[n>>2];d=F[F[F[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=F[n+4>>2]-b>>2>>>0){break b}d=F[F[a+8>>2]+(F[b+(d<<2)>>2]<<2)>>2];b=F[a+4>>2];if(!G[b+84|0]){d=F[F[b+68>>2]+(d<<2)>>2]}F[e+48>>2]=0;F[e+52>>2]=0;F[e+40>>2]=0;F[e+44>>2]=0;F[e+32>>2]=0;F[e+36>>2]=0;Ga(b,d,D[b+24|0],e+32|0);d=F[a+20>>2];b=F[d>>2];f=F[F[F[a+16>>2]+28>>2]+(f<<2)>>2];if(f>>>0>=F[d+4>>2]-b>>2>>>0){break a}d=F[F[a+8>>2]+(F[b+(f<<2)>>2]<<2)>>2];b=F[a+4>>2];if(!G[b+84|0]){d=F[F[b+68>>2]+(d<<2)>>2]}F[e+24>>2]=0;F[e+28>>2]=0;F[e+16>>2]=0;F[e+20>>2]=0;F[e+8>>2]=0;F[e+12>>2]=0;Ga(b,d,D[b+24|0],e+8|0);g=F[e+8>>2];b=F[e+56>>2];d=g-b|0;p=F[e+60>>2];t=F[e+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=F[e+40>>2];f=F[e+64>>2];n=h-f|0;u=F[e+68>>2];y=F[e+44>>2]-(u+(f>>>0>h>>>0)|0)|0;g=ki(d,t,n,y);w=o-g|0;x=i-(_+(g>>>0>o>>>0)|0)|0;i=w;h=F[e+16>>2];g=h-f|0;u=F[e+20>>2]-((f>>>0>h>>>0)+u|0)|0;k=F[e+32>>2];h=k-b|0;w=F[e+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=ki(g,u,h,w);o=i+b|0;i=_+x|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=d;p=t;k=F[e+48>>2];f=F[e+72>>2];d=k-f|0;t=F[e+76>>2];x=F[e+52>>2]-(t+(f>>>0>k>>>0)|0)|0;l=ki(l,p,d,x);k=b+l|0;b=_+q|0;b=k>>>0>>0?b+1|0:b;l=F[e+24>>2];p=l-f|0;f=F[e+28>>2]-((f>>>0>l>>>0)+t|0)|0;q=ki(p,f,h,w);l=k-q|0;q=b-(_+(k>>>0>>0)|0)|0;b=ki(g,u,d,x);d=r-b|0;b=s-(_+(b>>>0>r>>>0)|0)|0;s=ki(p,f,n,y);r=s+d|0;b=_+b|0;s=r>>>0>>0?b+1|0:b;b=F[e+88>>2];f=F[e+80>>2];d:{if(G[e+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|F[F[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=F[F[F[f+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}F[e+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;F[e+88>>2]=b;if((b|0)!=-1){break e}}b=F[e+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(F[F[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=F[F[F[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}D[e+92|0]=0;F[e+88>>2]=d;break d}if((b|0)!=F[e+84>>2]){break d}F[e+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(F[F[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=F[F[F[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}F[e+88>>2]=d}b=F[e+88>>2];if((b|0)!=-1){continue}break}}b=s>>31;f=b^r;d=f-b|0;b=(b^s)-((b>>>0>f>>>0)+b|0)|0;m=-1;f=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;m:{n:{if(!F[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break m}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;f=a;g=i;a=g>>31;d=a;m=d^o;a=m-d|0;i=a;d=(d^g)-((d>>>0>m>>>0)+d|0)|0;a=a+f|0;d=d^2147483647;i=(d|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>d>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break o}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=i;d=i>>31;h=d^o;i=h-d|0;j=(d^k)-((d>>>0>h>>>0)+d|0)|0;g=j^2147483647;d=a;a=i;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break o}b=b+j|0;m=a+d|0;b=m>>>0>>0?b+1|0:b;f=b;if(!b&m>>>0<536870913){break m}}b=f>>>29|0;a=(f&536870911)<<3|m>>>29}o=li(o,n,a,b);l=li(l,q,a,b);r=li(r,s,a,b)}F[c+8>>2]=o;F[c+4>>2]=l;F[c>>2]=r;Z=e+96|0;return}ta();v()}ta();v()}ta();v()}function te(a){a=a|0;var 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,q=0,r=0;g=Z-16|0;Z=g;f=1;m=$[F[F[a>>2]+24>>2]](a)|0;a:{if((m|0)<=0){break a}r=a+48|0;f=0;while(1){b:{c:{if(!F[($[F[F[a>>2]+28>>2]](a)|0)+40>>2]){break c}o=l<<2;d=F[o+F[a+36>>2]>>2];c=F[d+8>>2];e=bb(d);if(!e){break c}h=F[($[F[F[a>>2]+28>>2]](a)|0)+40>>2];F[g+12>>2]=F[c+56>>2];d=ka(32);F[g>>2]=d;F[g+4>>2]=24;F[g+8>>2]=-2147483616;c=G[1196]|G[1197]<<8|(G[1198]<<16|G[1199]<<24);b=G[1192]|G[1193]<<8|(G[1194]<<16|G[1195]<<24);D[d+16|0]=b;D[d+17|0]=b>>>8;D[d+18|0]=b>>>16;D[d+19|0]=b>>>24;D[d+20|0]=c;D[d+21|0]=c>>>8;D[d+22|0]=c>>>16;D[d+23|0]=c>>>24;c=G[1188]|G[1189]<<8|(G[1190]<<16|G[1191]<<24);b=G[1184]|G[1185]<<8|(G[1186]<<16|G[1187]<<24);D[d+8|0]=b;D[d+9|0]=b>>>8;D[d+10|0]=b>>>16;D[d+11|0]=b>>>24;D[d+12|0]=c;D[d+13|0]=c>>>8;D[d+14|0]=c>>>16;D[d+15|0]=c>>>24;c=G[1180]|G[1181]<<8|(G[1182]<<16|G[1183]<<24);b=G[1176]|G[1177]<<8|(G[1178]<<16|G[1179]<<24);D[d|0]=b;D[d+1|0]=b>>>8;D[d+2|0]=b>>>16;D[d+3|0]=b>>>24;D[d+4|0]=c;D[d+5|0]=c>>>8;D[d+6|0]=c>>>16;D[d+7|0]=c>>>24;D[d+24|0]=0;c=h+16|0;b=F[c>>2];d:{e:{if(!b){break e}i=F[g+12>>2];d=c;while(1){k=(i|0)>F[b+16>>2];d=k?d:b;b=F[(k?b+4|0:b)>>2];if(b){continue}break}if((c|0)==(d|0)|(i|0)>2]){break e}b=F[d+24>>2];if(!b){break e}i=d+20|0;d=G[g+11|0];c=d<<24>>24<0;k=c?F[g>>2]:g;d=c?F[g+4>>2]:d;while(1){c=G[b+27|0];j=c<<24>>24<0;c=j?F[b+20>>2]:c;p=c>>>0>>0;f:{g:{h:{i:{j:{k:{n=p?c:d;if(n){j=j?F[b+16>>2]:b+16|0;q=sa(k,j,n);if(q){break k}if(c>>>0<=d>>>0){break j}break f}if(c>>>0<=d>>>0){break i}break f}if((q|0)<0){break f}}c=sa(j,k,n);if(c){break h}}if(p){break g}d=gc(i,g);break d}if((c|0)<0){break g}d=gc(i,g);break d}b=b+4|0}b=F[b>>2];if(b){continue}break}}d=gc(h,g)}if(D[g+11|0]<0){ja(F[g>>2])}if(!d){break c}d=0;c=F[F[o+F[a+36>>2]>>2]+8>>2];if(!F[c+64>>2]){b=ka(32);F[b+16>>2]=0;F[b+20>>2]=0;F[b+8>>2]=0;F[b>>2]=0;F[b+4>>2]=0;F[b+24>>2]=0;F[b+28>>2]=0;f=F[c+64>>2];F[c+64>>2]=b;if(f){b=F[f>>2];if(b){F[f+4>>2]=b;ja(b)}ja(f);b=F[c+64>>2]}F[c>>2]=b;f=F[b+20>>2];F[c+8>>2]=F[b+16>>2];F[c+12>>2]=f;f=F[b+24>>2];b=F[b+28>>2];F[c+48>>2]=0;F[c+52>>2]=0;F[c+40>>2]=0;F[c+44>>2]=0;F[c+16>>2]=f;F[c+20>>2]=b}l:{D[c+24|0]=G[e+24|0];F[c+28>>2]=F[e+28>>2];D[c+32|0]=G[e+32|0];b=F[e+44>>2];F[c+40>>2]=F[e+40>>2];F[c+44>>2]=b;b=F[e+52>>2];F[c+48>>2]=F[e+48>>2];F[c+52>>2]=b;F[c+56>>2]=F[e+56>>2];b=F[e+12>>2];F[c+8>>2]=F[e+8>>2];F[c+12>>2]=b;b=F[e+20>>2];F[c+16>>2]=F[e+16>>2];F[c+20>>2]=b;F[c+60>>2]=F[e+60>>2];f=F[e>>2];m:{if(!f){F[c>>2]=0;b=1;break m}h=F[c>>2];b=0;if(!h){break m}b=F[f>>2];f=F[f+4>>2]-b|0;md(h,b,f,0);b=1}if(!b){break l}D[c+84|0]=G[e+84|0];F[c+80>>2]=F[e+80>>2];if((c|0)!=(e|0)){gb(c+68|0,F[e+68>>2],F[e+72>>2])}n:{h=F[e+88>>2];o:{if(h){f=ka(40);e=F[h>>2];F[f+16>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;F[f>>2]=e;e=F[h+12>>2];b=F[h+8>>2];if((e|0)!=(b|0)){b=e-b|0;if((b|0)<0){break n}e=ka(b);F[f+12>>2]=e;F[f+8>>2]=e;F[f+16>>2]=b+e;b=F[h+8>>2];i=F[h+12>>2];p:{if((b|0)==(i|0)){break p}k=i+(b^-1)|0;j=i-b&7;if(j){while(1){D[e|0]=G[b|0];e=e+1|0;b=b+1|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}}if(k>>>0<7){break p}while(1){D[e|0]=G[b|0];D[e+1|0]=G[b+1|0];D[e+2|0]=G[b+2|0];D[e+3|0]=G[b+3|0];D[e+4|0]=G[b+4|0];D[e+5|0]=G[b+5|0];D[e+6|0]=G[b+6|0];D[e+7|0]=G[b+7|0];e=e+8|0;b=b+8|0;if((i|0)!=(b|0)){continue}break}}F[f+12>>2]=e}d=F[h+36>>2];F[f+32>>2]=F[h+32>>2];F[f+36>>2]=d;d=F[h+28>>2];F[f+24>>2]=F[h+24>>2];F[f+28>>2]=d;e=F[c+88>>2];F[c+88>>2]=f;if(e){break o}break l}e=F[c+88>>2];F[c+88>>2]=0;if(!e){break l}}d=F[e+8>>2];if(d){F[e+12>>2]=d;ja(d)}ja(e);break l}na();v()}break b}d=F[F[a+36>>2]+(l<<2)>>2];if(!($[F[F[d>>2]+24>>2]](d,r)|0)){break a}}l=l+1|0;f=(m|0)<=(l|0);if((l|0)!=(m|0)){continue}break}}Z=g+16|0;return f|0}function Jg(a){a=a|0;var 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;f=Z-32|0;Z=f;a:{if(!hb(1,f+28|0,F[a+32>>2])){break a}if(!hb(1,f+24|0,F[a+32>>2])){break a}l=F[f+28>>2];if(l>>>0>1431655765){break a}d=F[a+32>>2];c=d;i=F[c+8>>2];b=F[c+16>>2];h=F[c+12>>2];c=F[c+20>>2];g=li(i-b|0,h-(c+(b>>>0>i>>>0)|0)|0,3,0);if(!_&g>>>0>>0){break a}n=F[f+24>>2];g=ki(l,0,3,0);if(!_&g>>>0>>0|((c|0)>=(h|0)&b>>>0>=i>>>0|(c|0)>(h|0))){break a}i=G[b+F[d>>2]|0];b=b+1|0;c=b?c:c+1|0;F[d+16>>2]=b;F[d+20>>2]=c;b:{c:{if(!i){d=0;c=Z-32|0;Z=c;F[c+24>>2]=0;F[c+16>>2]=0;F[c+20>>2]=0;d:{e:{b=L(l,3);if(b){if(b>>>0>=1073741824){break e}i=L(l,12);d=ka(i);ma(d,0,i)}b=mc(b,1,F[a+32>>2],d);f:{g:{if(!(!l|!b)){i=0;while(1){h:{g=e;b=(i<<2)+d|0;h=F[b>>2];e=h>>>1|0;h=g+(h&1?0-e|0:e)|0;if((h|0)<0){break h}F[c>>2]=h;e=F[b+4>>2];g=e>>>1|0;h=h+(e&1?0-g|0:g)|0;if((h|0)<0){break h}F[c+4>>2]=h;b=F[b+8>>2];e=b>>>1|0;e=h+(b&1?0-e|0:e)|0;if((e|0)<0){break h}F[c+8>>2]=e;mb(F[a+44>>2]+96|0,c);i=i+3|0;b=1;j=j+1|0;if((j|0)!=(l|0)){continue}break g}break}b=0;break g}if(!d){break f}}ja(d)}Z=c+32|0;break d}na();v()}if(b){break c}break a}if(n>>>0<=255){if(!l){break c}while(1){i:{F[f+16>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;d=F[a+32>>2];b=d;i=F[b+16>>2];e=F[b+8>>2];c=F[b+20>>2];g=F[b+12>>2];b=g;if(e>>>0<=i>>>0&(c|0)>=(b|0)|(b|0)<(c|0)){break i}j=F[d>>2];m=G[j+i|0];b=c;h=i+1|0;b=h?b:b+1|0;F[d+16>>2]=h;F[d+20>>2]=b;F[f+8>>2]=m;m=e>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0);e=m?i:e;g=m?c:g;if((e|0)==(h|0)&(g|0)==(b|0)){break i}m=G[h+j|0];b=c;h=i+2|0;b=h>>>0<2?b+1|0:b;F[d+16>>2]=h;F[d+20>>2]=b;F[f+12>>2]=m;if((e|0)==(h|0)&(b|0)==(g|0)){break i}h=G[h+j|0];b=c;c=i+3|0;b=c>>>0<3?b+1|0:b;F[d+16>>2]=c;F[d+20>>2]=b;F[f+16>>2]=h;mb(F[a+44>>2]+96|0,f+8|0);k=k+1|0;if((l|0)!=(k|0)){continue}break c}break}k=0;break a}if(n>>>0<=65535){if(!l){break c}while(1){j:{F[f+16>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;j=F[a+32>>2];b=j;c=F[b+8>>2];d=F[b+12>>2];h=F[b+16>>2];b=F[b+20>>2];i=b;e=h+2|0;b=e>>>0<2?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break j}m=F[j>>2];g=m+h|0;g=G[g|0]|G[g+1|0]<<8;F[j+16>>2]=e;F[j+20>>2]=b;F[f+8>>2]=g;b=i;g=h+4|0;b=g>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break j}e=e+m|0;e=G[e|0]|G[e+1|0]<<8;F[j+16>>2]=g;F[j+20>>2]=b;F[f+12>>2]=e;e=c;b=i;c=h+6|0;b=c>>>0<6?b+1|0:b;if(c>>>0>e>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break j}d=g+m|0;d=G[d|0]|G[d+1|0]<<8;F[j+16>>2]=c;F[j+20>>2]=b;F[f+16>>2]=d;mb(F[a+44>>2]+96|0,f+8|0);k=k+1|0;if((l|0)!=(k|0)){continue}break c}break}k=0;break a}k:{if(n>>>0>2097151){break k}b=H[a+36>>1];if(((b<<8|b>>>8)&65535)>>>0<514){break k}if(!l){break c}while(1){l:{F[f+16>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;if(!hb(1,f+4|0,F[a+32>>2])){break l}F[f+8>>2]=F[f+4>>2];if(!hb(1,f+4|0,F[a+32>>2])){break l}F[f+12>>2]=F[f+4>>2];if(!hb(1,f+4|0,F[a+32>>2])){break l}F[f+16>>2]=F[f+4>>2];mb(F[a+44>>2]+96|0,f+8|0);k=k+1|0;if((l|0)!=(k|0)){continue}break c}break}k=0;break a}if(!l){break c}while(1){F[f+16>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;j=F[a+32>>2];b=j;c=F[b+8>>2];d=F[b+12>>2];h=F[b+16>>2];b=F[b+20>>2];i=b;e=h+4|0;b=e>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break b}m=F[j>>2];g=m+h|0;g=G[g|0]|G[g+1|0]<<8|(G[g+2|0]<<16|G[g+3|0]<<24);F[j+16>>2]=e;F[j+20>>2]=b;F[f+8>>2]=g;b=i;g=h+8|0;b=g>>>0<8?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break b}e=e+m|0;e=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);F[j+16>>2]=g;F[j+20>>2]=b;F[f+12>>2]=e;e=c;b=i;c=h+12|0;b=c>>>0<12?b+1|0:b;if(c>>>0>e>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break b}d=g+m|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[j+16>>2]=c;F[j+20>>2]=b;F[f+16>>2]=d;mb(F[a+44>>2]+96|0,f+8|0);k=k+1|0;if((l|0)!=(k|0)){continue}break}}F[F[a+4>>2]+80>>2]=n;k=1;break a}k=0}Z=f+32|0;return k|0}function Ld(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=Z+-64|0;Z=g;F[g+56>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;h=g+8|0;a:{b:{if(!H[b+38>>1]){break b}if(!Ta(1,h+12|0,b)){break b}e=F[b+8>>2];f=F[b+16>>2];j=e-f|0;k=F[h+12>>2];e=F[b+12>>2]-(F[b+20>>2]+(e>>>0>>0)|0)|0;if(j>>>0>>6>>>0&(e|0)<=0|(e|0)<0){break b}e=F[h>>2];d=F[h+4>>2]-e>>2;c:{if(d>>>0>>0){qa(h,k-d|0);k=F[h+12>>2];break c}if(d>>>0<=k>>>0){break c}F[h+4>>2]=e+(k<<2)}i=1;if(!k){break a}e=F[b+16>>2];d=F[b+20>>2];r=F[h>>2];l=F[b+8>>2];o=F[b+12>>2];j=0;while(1){i=0;if((d|0)>=(o|0)&e>>>0>=l>>>0|(d|0)>(o|0)){break a}i=F[b>>2];p=G[i+e|0];e=e+1|0;d=e?d:d+1|0;F[b+16>>2]=e;F[b+20>>2]=d;f=p>>>2|0;m=0;d:{e:{f:{g:{s=p&3;switch(s|0){case 3:break g;case 0:break e;default:break f}}f=f+j|0;i=0;if(f>>>0>=k>>>0){break a}ma(r+(j<<2)|0,0,(p&252)+4|0);j=f;break d}while(1){if((e|0)==(l|0)&(d|0)==(o|0)){break b}k=G[e+i|0];e=e+1|0;d=e?d:d+1|0;F[b+16>>2]=e;F[b+20>>2]=d;f=k<<(m<<3|6)|f;m=m+1|0;if((s|0)!=(m|0)){continue}break}}F[r+(j<<2)>>2]=f}j=j+1|0;k=F[h+12>>2];if(j>>>0>>0){continue}break}d=h+16|0;o=F[h>>2];f=F[h+16>>2];e=F[h+20>>2]-f|0;h:{if(e>>>0<=4194303){qa(d,1048576-(e>>>2|0)|0);break h}if((e|0)==4194304){break h}F[h+20>>2]=f+4194304}e=h+28|0;j=F[e>>2];f=F[h+32>>2]-j>>3;i:{if(f>>>0>>0){_a(e,k-f|0);j=F[e>>2];break i}if(f>>>0>k>>>0){F[h+32>>2]=(k<<3)+j}if(!k){break b}}l=F[d>>2];d=0;i=0;while(1){e=o+(d<<2)|0;h=F[e>>2];m=(d<<3)+j|0;f=i;F[m+4>>2]=f;F[m>>2]=h;e=F[e>>2];i=e+f|0;if(i>>>0>1048576){break b}j:{if(f>>>0>=i>>>0){break j}m=0;h=e&7;if(h){while(1){F[l+(f<<2)>>2]=d;f=f+1|0;m=m+1|0;if((h|0)!=(m|0)){continue}break}}if(e-1>>>0<=6){break j}while(1){e=l+(f<<2)|0;F[e>>2]=d;F[e+28>>2]=d;F[e+24>>2]=d;F[e+20>>2]=d;F[e+16>>2]=d;F[e+12>>2]=d;F[e+8>>2]=d;F[e+4>>2]=d;f=f+8|0;if((i|0)!=(f|0)){continue}break}}d=d+1|0;if((k|0)!=(d|0)){continue}break}n=(i|0)==1048576}i=n}k:{if(!i|(F[g+20>>2]?0:a)){break k}i=0;j=Z-16|0;Z=j;l:{if(!Sa(1,j+8|0,b)){break l}d=F[b+8>>2];f=F[b+16>>2];l=d-f|0;n=F[j+12>>2];h=F[b+20>>2];d=F[b+12>>2]-(h+(d>>>0>>0)|0)|0;e=F[j+8>>2];if((n|0)==(d|0)&e>>>0>l>>>0|d>>>0>>0){break l}d=h+n|0;l=e+f|0;d=l>>>0>>0?d+1|0:d;F[b+16>>2]=l;F[b+20>>2]=d;if((e|0)<=0){break l}b=f+F[b>>2]|0;F[g+48>>2]=b;d=e-1|0;f=d+b|0;l=G[f|0];m:{if(l>>>0<=63){F[g+52>>2]=d;b=G[f|0]&63;break m}n:{switch((l>>>6|0)-1|0){case 0:if(e>>>0<2){break l}d=e-2|0;F[g+52>>2]=d;b=b+d|0;b=G[b+1|0]<<8&16128|G[b|0];break m;case 1:if(e>>>0<3){break l}d=e-3|0;F[g+52>>2]=d;b=b+d|0;b=G[b+1|0]<<8|G[b+2|0]<<16&4128768|G[b|0];break m;default:break n}}d=e-4|0;F[g+52>>2]=d;b=b+d|0;b=(G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24))&1073741823}F[g+56>>2]=b+4194304;i=b>>>0<1069547520}Z=j+16|0;if(!i){break k}if(!a){t=1;break k}b=F[g+52>>2];f=F[g+56>>2];d=F[g+36>>2];e=F[g+48>>2];j=F[g+24>>2];while(1){o:{if(f>>>0>4194303){break o}while(1){if((b|0)<=0){break o}b=b-1|0;F[g+52>>2]=b;f=G[b+e|0]|f<<8;F[g+56>>2]=f;if(f>>>0<4194304){continue}break}}i=f&1048575;l=F[j+(i<<2)>>2];n=d+(l<<3)|0;f=(L(F[n>>2],f>>>20|0)+i|0)-F[n+4>>2]|0;F[g+56>>2]=f;F[(q<<2)+c>>2]=l;t=1;q=q+1|0;if((q|0)!=(a|0)){continue}break}}a=F[g+36>>2];if(a){F[g+40>>2]=a;ja(a)}a=F[g+24>>2];if(a){F[g+28>>2]=a;ja(a)}a=F[g+8>>2];if(a){F[g+12>>2]=a;ja(a)}Z=g- -64|0;return t}function kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=M(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=M(0),p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(F[c>>2]==F[c+4>>2]){m=F[d+80>>2];u=Z-16|0;Z=u;g=F[a+4>>2];k=G[b+24|0];h=F[d+48>>2];n=F[F[d>>2]>>2];c=u+8|0;F[c>>2]=1065353216;d=c;J[c>>2]=M(-1<>2];c=ka(k<<2);a:{if(!m|!k){break a}p=h+n|0;o=J[d>>2];n=F[a+8>>2];v=F[b>>2];d=F[b+48>>2];g=F[b+40>>2];w=F[b+44>>2];if(!G[b+84|0]){f=F[b+68>>2];s=k&254;t=k&1;a=0;while(1){b=F[v>>2];l=ki(g,w,F[f+(i<<2)>>2],0)+d|0;h=la(c,b+l|0,g);b=0;q=0;if((k|0)!=1){while(1){l=p+(a<<2)|0;j=b<<2;e=M(R(M(M(o*M(J[j+h>>2]-J[n+j>>2]))+M(.5))));b:{if(M(N(e))>2]=r;j=j|4;e=M(R(M(M(o*M(J[j+h>>2]-J[n+j>>2]))+M(.5))));c:{if(M(N(e))>2]=j;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){l=p+(a<<2)|0;b=b<<2;e=M(R(M(M(o*M(J[b+h>>2]-J[b+n>>2]))+M(.5))));d:{if(M(N(e))>2]=b;a=a+1|0}i=i+1|0;if((m|0)!=(i|0)){continue}break}break a}s=k&254;t=k&1;a=0;while(1){b=F[v>>2];h=ki(g,w,i,l)+d|0;j=la(c,b+h|0,g);b=0;q=0;if((k|0)!=1){while(1){h=p+(a<<2)|0;f=b<<2;e=M(R(M(M(o*M(J[f+j>>2]-J[f+n>>2]))+M(.5))));e:{if(M(N(e))>2]=r;f=f|4;e=M(R(M(M(o*M(J[f+j>>2]-J[f+n>>2]))+M(.5))));f:{if(M(N(e))>2]=f;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){h=p+(a<<2)|0;b=b<<2;e=M(R(M(M(o*M(J[b+j>>2]-J[b+n>>2]))+M(.5))));g:{if(M(N(e))>2]=b;a=a+1|0}b=l;i=i+1|0;b=i?b:b+1|0;l=b;if((i|0)!=(m|0)|b){continue}break}}ja(c);Z=u+16|0;return 1}j=Z-16|0;Z=j;m=F[a+4>>2];i=G[b+24|0];g=F[d+48>>2];h=F[F[d>>2]>>2];d=j+8|0;F[d>>2]=1065353216;l=d;J[d>>2]=M(-1<>2];d=ka(i<<2);m=F[c+4>>2];q=F[c>>2];h:{if(!i|(m|0)==(q|0)){break h}n=h+g|0;c=m-q>>2;u=c>>>0<=1?1:c;o=J[l>>2];h=F[a+8>>2];v=F[b>>2];l=F[b+48>>2];m=F[b+40>>2];w=F[b+44>>2];if(G[b+84|0]){s=i&254;t=i&1;a=0;c=0;while(1){b=F[v>>2];g=ki(m,w,F[q+(c<<2)>>2],0)+l|0;p=la(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=M(R(M(M(o*M(J[f+p>>2]-J[h+f>>2]))+M(.5))));i:{if(M(N(e))>2]=r;f=f|4;e=M(R(M(M(o*M(J[f+p>>2]-J[h+f>>2]))+M(.5))));j:{if(M(N(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(t){g=n+(a<<2)|0;b=b<<2;e=M(R(M(M(o*M(J[b+p>>2]-J[b+h>>2]))+M(.5))));k:{if(M(N(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}break h}s=F[b+68>>2];t=i&254;x=i&1;a=0;c=0;while(1){b=F[v>>2];g=ki(m,w,F[s+(F[q+(c<<2)>>2]<<2)>>2],0)+l|0;p=la(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=M(R(M(M(o*M(J[f+p>>2]-J[h+f>>2]))+M(.5))));l:{if(M(N(e))>2]=r;f=f|4;e=M(R(M(M(o*M(J[f+p>>2]-J[h+f>>2]))+M(.5))));m:{if(M(N(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(x){g=n+(a<<2)|0;b=b<<2;e=M(R(M(M(o*M(J[b+p>>2]-J[b+h>>2]))+M(.5))));n:{if(M(N(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}}ja(d);Z=j+16|0;return 1} -function Cd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=F[a+4>>2];e=F[a>>2];f=(c-e|0)/144|0;if(f>>>0>>0){e=a;b=b-f|0;h=F[a+8>>2];c=F[a+4>>2];a:{if(b>>>0<=(h-c|0)/144>>>0){b:{if(!b){break b}a=c;f=b&7;if(f){while(1){va(a);a=a+144|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}c=L(b,144)+c|0;if((b-1&268435455)>>>0<7){break b}while(1){va(a);va(a+144|0);va(a+288|0);va(a+432|0);va(a+576|0);va(a+720|0);va(a+864|0);va(a+1008|0);a=a+1152|0;if((c|0)!=(a|0)){continue}break}}F[e+4>>2]=c;break a}c:{d:{e:{a=c;c=F[e>>2];i=(a-c|0)/144|0;a=i+b|0;if(a>>>0<29826162){c=(h-c|0)/144|0;f=c<<1;f=c>>>0>=14913080?29826161:a>>>0>>0?f:a;if(f){if(f>>>0>=29826162){break e}g=ka(L(f,144))}c=L(i,144)+g|0;a=c;h=b&7;if(h){while(1){va(a);a=a+144|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}}h=L(b,144)+c|0;if((b-1&268435455)>>>0>=7){while(1){va(a);va(a+144|0);va(a+288|0);va(a+432|0);va(a+576|0);va(a+720|0);va(a+864|0);va(a+1008|0);a=a+1152|0;if((h|0)!=(a|0)){continue}break}}b=L(f,144)+g|0;d=F[e+4>>2];f=F[e>>2];if((d|0)==(f|0)){break d}while(1){c=c-144|0;d=d-144|0;a=d;F[c>>2]=F[a>>2];F[c+4>>2]=F[a+4>>2];F[c+8>>2]=F[a+8>>2];F[c+12>>2]=F[a+12>>2];F[a+12>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[c+16>>2]=F[a+16>>2];F[c+20>>2]=F[a+20>>2];F[c+24>>2]=F[a+24>>2];F[a+24>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;g=G[a+28|0];F[c+40>>2]=0;F[c+32>>2]=0;F[c+36>>2]=0;D[c+28|0]=g;F[c+32>>2]=F[a+32>>2];F[c+36>>2]=F[a+36>>2];F[c+40>>2]=F[a+40>>2];F[a+40>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[c+52>>2]=0;F[c+44>>2]=0;F[c+48>>2]=0;F[c+44>>2]=F[a+44>>2];F[c+48>>2]=F[a+48>>2];F[c+52>>2]=F[a+52>>2];F[a+52>>2]=0;F[a+44>>2]=0;F[a+48>>2]=0;g=c- -64|0;F[g>>2]=0;F[c+56>>2]=0;F[c+60>>2]=0;F[c+56>>2]=F[a+56>>2];F[c+60>>2]=F[a+60>>2];i=g;g=a- -64|0;F[i>>2]=F[g>>2];F[g>>2]=0;F[a+56>>2]=0;F[a+60>>2]=0;F[c+68>>2]=F[a+68>>2];g=F[a+72>>2];F[c+84>>2]=0;F[c+76>>2]=0;F[c+80>>2]=0;F[c+72>>2]=g;F[c+76>>2]=F[a+76>>2];F[c+80>>2]=F[a+80>>2];F[c+84>>2]=F[a+84>>2];F[a+84>>2]=0;F[a+76>>2]=0;F[a+80>>2]=0;F[c+96>>2]=0;F[c+88>>2]=0;F[c+92>>2]=0;F[c+88>>2]=F[a+88>>2];F[c+92>>2]=F[a+92>>2];F[c+96>>2]=F[a+96>>2];F[a+96>>2]=0;F[a+88>>2]=0;F[a+92>>2]=0;g=G[a+100|0];F[c+112>>2]=0;F[c+104>>2]=0;F[c+108>>2]=0;D[c+100|0]=g;F[c+104>>2]=F[a+104>>2];F[c+108>>2]=F[a+108>>2];F[c+112>>2]=F[a+112>>2];F[a+112>>2]=0;F[a+104>>2]=0;F[a+108>>2]=0;F[c+124>>2]=0;F[c+116>>2]=0;F[c+120>>2]=0;F[c+116>>2]=F[a+116>>2];F[c+120>>2]=F[a+120>>2];F[c+124>>2]=F[a+124>>2];F[a+124>>2]=0;F[a+116>>2]=0;F[a+120>>2]=0;g=F[a+128>>2];F[c+140>>2]=0;F[c+132>>2]=0;F[c+136>>2]=0;F[c+128>>2]=g;F[c+132>>2]=F[a+132>>2];F[c+136>>2]=F[a+136>>2];F[c+140>>2]=F[a+140>>2];F[a+140>>2]=0;F[a+132>>2]=0;F[a+136>>2]=0;if((a|0)!=(f|0)){continue}break}F[e+8>>2]=b;a=F[e+4>>2];F[e+4>>2]=h;d=F[e>>2];F[e>>2]=c;if((a|0)==(d|0)){break c}while(1){b=a-144|0;c=F[b+132>>2];if(c){F[a-8>>2]=c;ja(c)}c=F[a-28>>2];if(c){F[a-24>>2]=c;ja(c)}c=F[a-40>>2];if(c){F[a-36>>2]=c;ja(c)}Gb(a-140|0);a=b;if((d|0)!=(a|0)){continue}break}break c}na();v()}oa();v()}F[e+8>>2]=b;F[e+4>>2]=h;F[e>>2]=c}if(d){ja(d)}}return}if(b>>>0>>0){e=e+L(b,144)|0;if((e|0)!=(c|0)){while(1){b=c-144|0;d=F[b+132>>2];if(d){F[c-8>>2]=d;ja(d)}d=F[c-28>>2];if(d){F[c-24>>2]=d;ja(d)}d=F[c-40>>2];if(d){F[c-36>>2]=d;ja(d)}Gb(c-140|0);c=b;if((e|0)!=(c|0)){continue}break}}F[a+4>>2]=e}}function Yc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;F[a+56>>2]=F[a+52>>2];F[a+44>>2]=F[a+40>>2];b=F[a+64>>2];c=F[b+24>>2];if((c|0)==F[b+28>>2]){return 1}a:{b:{c:{while(1){g=i;i=F[(k<<2)+c>>2];d:{if((i|0)==-1){i=g;break d}b=F[a+56>>2];e:{if((b|0)!=F[a+60>>2]){F[b>>2]=g;F[a+56>>2]=b+4;break e}d=F[a+52>>2];e=b-d|0;h=e>>2;c=h+1|0;if(c>>>0>=1073741824){break c}f=e>>>1|0;f=e>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}e=ka(f<<2)}else{e=0}c=e+(h<<2)|0;F[c>>2]=g;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[a+60>>2]=e+(f<<2);F[a+56>>2]=h;F[a+52>>2]=c;if(!d){break e}ja(d)}f:{g:{if(!(F[F[a+12>>2]+(k>>>3&536870908)>>2]>>>k&1)){break g}e=i+1|0;e=(e>>>0)%3|0?e:i-2|0;if((e|0)==-1|F[F[a>>2]+(e>>>3&536870908)>>2]>>>e&1){break g}e=F[F[F[a+64>>2]+12>>2]+(e<<2)>>2];if((e|0)==-1){break g}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)==-1){break g}c=F[a+64>>2];f=F[a>>2];while(1){e=b;b=-1;d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;h:{if((d|0)==-1|F[f+(d>>>3&536870908)>>2]>>>d&1){break h}d=F[F[c+12>>2]+(d<<2)>>2];if((d|0)==-1){break h}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0}if((b|0)!=(i|0)){if((b|0)==-1){break f}continue}break}return 0}e=i}F[F[a+28>>2]+(e<<2)>>2]=g;b=F[a+44>>2];i:{if((b|0)!=F[a+48>>2]){F[b>>2]=e;F[a+44>>2]=b+4;break i}d=F[a+40>>2];i=b-d|0;h=i>>2;c=h+1|0;if(c>>>0>=1073741824){break a}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}i=ka(f<<2)}else{i=0}c=i+(h<<2)|0;F[c>>2]=e;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[a+48>>2]=i+(f<<2);F[a+44>>2]=h;F[a+40>>2]=c;if(!d){break i}ja(d)}i=g+1|0;b=F[a+64>>2];if((e|0)==-1){break d}j:{if((e>>>0)%3|0){c=e-1|0;break j}c=e+2|0;if((c|0)==-1){break d}}d=F[F[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1|(e|0)==(f|0)){break d}while(1){b=f+1|0;b=(b>>>0)%3|0?b:f-2|0;if(F[F[a>>2]+(b>>>3&536870908)>>2]>>>b&1){b=F[a+56>>2];k:{if((b|0)!=F[a+60>>2]){F[b>>2]=i;F[a+56>>2]=b+4;break k}d=F[a+52>>2];g=b-d|0;j=g>>2;c=j+1|0;if(c>>>0>=1073741824){break c}h=g>>>1|0;h=g>>>0>=2147483644?1073741823:c>>>0>>0?h:c;if(h){if(h>>>0>=1073741824){break b}g=ka(h<<2)}else{g=0}c=g+(j<<2)|0;F[c>>2]=i;j=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[a+60>>2]=g+(h<<2);F[a+56>>2]=j;F[a+52>>2]=c;if(!d){break k}ja(d)}d=i+1|0;b=F[a+44>>2];l:{if((b|0)!=F[a+48>>2]){F[b>>2]=f;F[a+44>>2]=b+4;break l}h=F[a+40>>2];g=b-h|0;l=g>>2;c=l+1|0;if(c>>>0>=1073741824){break a}j=g>>>1|0;j=g>>>0>=2147483644?1073741823:c>>>0>>0?j:c;if(j){if(j>>>0>=1073741824){break b}g=ka(j<<2)}else{g=0}c=g+(l<<2)|0;F[c>>2]=f;l=c+4|0;if((b|0)!=(h|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(h|0)){continue}break}}F[a+48>>2]=g+(j<<2);F[a+44>>2]=l;F[a+40>>2]=c;if(!h){break l}ja(h)}g=i;i=d}F[F[a+28>>2]+(f<<2)>>2]=g;b=F[a+64>>2];m:{if((f>>>0)%3|0){c=f-1|0;break m}c=f+2|0;if((c|0)==-1){break d}}d=F[F[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1){break d}if((e|0)!=(f|0)){continue}break}}k=k+1|0;c=F[b+24>>2];if(k>>>0>2]-c>>2>>>0){continue}break}return 1}na();v()}oa();v()}na();v()}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0;f=Z-96|0;Z=f;e=F[a+16>>2];D[f+92|0]=1;F[f+88>>2]=b;F[f+84>>2]=b;F[f+80>>2]=e;a:{if((b|0)==-1){break a}j=F[a+20>>2];d=F[j>>2];e=F[F[e>>2]+(b<<2)>>2];if(e>>>0>=F[j+4>>2]-d>>2>>>0){break a}e=F[F[a+8>>2]+(F[d+(e<<2)>>2]<<2)>>2];d=F[a+4>>2];if(!G[d+84|0]){e=F[F[d+68>>2]+(e<<2)>>2]}F[f+72>>2]=0;F[f+76>>2]=0;j=f- -64|0;F[j>>2]=0;F[j+4>>2]=0;F[f+56>>2]=0;F[f+60>>2]=0;Ga(d,e,D[d+24|0],f+56|0);e=b+1|0;j=(e>>>0)%3|0?e:b-2|0;n=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){d=j;e=n;d:{if(!F[a+28>>2]){break d}e=b+1|0;d=(e>>>0)%3|0?e:b-2|0;e=b-1|0;if((b>>>0)%3|0){break d}e=b+2|0}if((d|0)==-1){break b}m=F[a+20>>2];b=F[m>>2];d=F[F[F[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=F[m+4>>2]-b>>2>>>0){break b}d=F[F[a+8>>2]+(F[(d<<2)+b>>2]<<2)>>2];b=F[a+4>>2];if(!G[b+84|0]){d=F[F[b+68>>2]+(d<<2)>>2]}F[f+48>>2]=0;F[f+52>>2]=0;F[f+40>>2]=0;F[f+44>>2]=0;F[f+32>>2]=0;F[f+36>>2]=0;Ga(b,d,D[b+24|0],f+32|0);if((e|0)==-1){break c}d=F[a+20>>2];b=F[d>>2];e=F[F[F[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=F[d+4>>2]-b>>2>>>0){break c}d=F[F[a+8>>2]+(F[b+(e<<2)>>2]<<2)>>2];b=F[a+4>>2];if(!G[b+84|0]){d=F[F[b+68>>2]+(d<<2)>>2]}F[f+24>>2]=0;F[f+28>>2]=0;F[f+16>>2]=0;F[f+20>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;Ga(b,d,D[b+24|0],f+8|0);g=F[f+8>>2];b=F[f+56>>2];d=g-b|0;p=F[f+60>>2];t=F[f+12>>2]-(p+(b>>>0>g>>>0)|0)|0;i=F[f+40>>2];e=F[f+64>>2];m=i-e|0;u=F[f+68>>2];y=F[f+44>>2]-(u+(e>>>0>i>>>0)|0)|0;g=ki(d,t,m,y);w=o-g|0;x=h-(_+(g>>>0>o>>>0)|0)|0;h=w;i=F[f+16>>2];g=i-e|0;u=F[f+20>>2]-((e>>>0>i>>>0)+u|0)|0;k=F[f+32>>2];i=k-b|0;w=F[f+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=ki(g,u,i,w);o=h+b|0;h=_+x|0;h=b>>>0>o>>>0?h+1|0:h;b=l;l=d;p=t;k=F[f+48>>2];e=F[f+72>>2];d=k-e|0;t=F[f+76>>2];x=F[f+52>>2]-(t+(e>>>0>k>>>0)|0)|0;l=ki(l,p,d,x);k=b+l|0;b=_+q|0;b=k>>>0>>0?b+1|0:b;l=F[f+24>>2];p=l-e|0;e=F[f+28>>2]-((e>>>0>l>>>0)+t|0)|0;q=ki(p,e,i,w);l=k-q|0;q=b-(_+(k>>>0>>0)|0)|0;b=ki(g,u,d,x);d=r-b|0;b=s-(_+(b>>>0>r>>>0)|0)|0;s=ki(p,e,m,y);r=s+d|0;b=_+b|0;s=r>>>0>>0?b+1|0:b;nc(f+80|0);b=F[f+88>>2];if((b|0)!=-1){continue}break}b=s>>31;e=b^r;d=e-b|0;b=(b^s)-((b>>>0>e>>>0)+b|0)|0;n=-1;e=2147483647;m=q>>31;g=m;i=g^l;j=i-g|0;m=(g^q)-((i>>>0>>0)+g|0)|0;i=m;k=j^-1;g=i^2147483647;m=h;e:{f:{if(!F[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break e}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;e=a;g=h;a=g>>31;d=a;n=d^o;a=n-d|0;h=a;d=(d^g)-((d>>>0>n>>>0)+d|0)|0;a=a+e|0;d=d^2147483647;h=(d|0)==(b|0)&(h^-1)>>>0>>0|b>>>0>d>>>0;a=h?-1:a;if(!(h&0)&(a|0)<=536870912|(a|0)<536870912){break e}b=0;a=a>>>29|0;break f}g:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break g}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=h;h=h>>31;g=h;i=g^o;h=i-g|0;j=(g^k)-((g>>>0>i>>>0)+g|0)|0;g=j^2147483647;d=a;a=h;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break g}b=b+j|0;n=a+d|0;b=n>>>0>>0?b+1|0:b;e=b;if(!b&n>>>0<536870913){break e}}b=e>>>29|0;a=(e&536870911)<<3|n>>>29}o=li(o,m,a,b);l=li(l,q,a,b);r=li(r,s,a,b)}F[c+8>>2]=o;F[c+4>>2]=l;F[c>>2]=r;Z=f+96|0;return}ta();v()}ta();v()}ta();v()}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if((b|0)<0){break a}c=F[a+12>>2];d=F[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=F[d>>2];i=F[e+60>>2];f=F[e+56>>2];e=d+4|0;if((e|0)!=(c|0)){while(1){h=F[e>>2];F[e>>2]=0;g=F[d>>2];F[d>>2]=h;if(g){xa(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=F[a+12>>2]}if((c|0)!=(d|0)){while(1){c=c-4|0;e=F[c>>2];F[c>>2]=0;if(e){xa(e)}if((c|0)!=(d|0)){continue}break}}F[a+12>>2]=d;g=F[a+4>>2];b:{if(!g|(i|0)<0){break b}c=F[g+24>>2];d=F[g+28>>2];if((c|0)==(d|0)){break b}while(1){if((i|0)==F[F[c>>2]+24>>2]){d=c+4|0;i=F[g+28>>2];if((d|0)!=(i|0)){while(1){h=F[d>>2];F[d>>2]=0;e=F[c>>2];F[c>>2]=h;if(e){Ca(e+12|0,F[e+16>>2]);Ba(e,F[e+4>>2]);ja(e)}c=c+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}d=F[g+28>>2]}if((c|0)!=(d|0)){while(1){d=d-4|0;e=F[d>>2];F[d>>2]=0;if(e){Ca(e+12|0,F[e+16>>2]);Ba(e,F[e+4>>2]);ja(e)}if((c|0)!=(d|0)){continue}break}}F[g+28>>2]=c;break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}c:{if((f|0)>4){break c}d:{e=L(f,12)+a|0;c=F[e+20>>2];d=F[e+24>>2];if((c|0)==(d|0)){break d}while(1){if(F[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c;c=c+4|0;pa(f,c,d-c|0);F[e+24>>2]=d-4}c=F[a+24>>2];d=F[a+20>>2];e:{if((c|0)==(d|0)){break e}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=F[h>>2];if((j|0)>(b|0)){F[h>>2]=j-1}f=d+(f|4)|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break e}c=d+(c<<2)|0;d=F[c>>2];if((d|0)<=(b|0)){break e}F[c>>2]=d-1}c=F[a+36>>2];d=F[a+32>>2];f:{if((c|0)==(d|0)){break f}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=F[h>>2];if((j|0)>(b|0)){F[h>>2]=j-1}f=d+(f|4)|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break f}c=d+(c<<2)|0;d=F[c>>2];if((d|0)<=(b|0)){break f}F[c>>2]=d-1}c=F[a+48>>2];d=F[a+44>>2];g:{if((c|0)==(d|0)){break g}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=F[h>>2];if((j|0)>(b|0)){F[h>>2]=j-1}f=d+(f|4)|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break g}c=d+(c<<2)|0;d=F[c>>2];if((d|0)<=(b|0)){break g}F[c>>2]=d-1}c=F[a+60>>2];d=F[a+56>>2];h:{if((c|0)==(d|0)){break h}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=F[h>>2];if((j|0)>(b|0)){F[h>>2]=j-1}f=d+(f|4)|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break h}c=d+(c<<2)|0;d=F[c>>2];if((d|0)<=(b|0)){break h}F[c>>2]=d-1}c=F[a+72>>2];a=F[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;g=e&1;c=0;if(d>>>0>=8){d=e&-2;e=0;while(1){i=c<<2;f=i+a|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}i=a+(i|4)|0;f=F[i>>2];if((f|0)>(b|0)){F[i>>2]=f-1}c=c+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!g){break a}f=b;a=a+(c<<2)|0;b=F[a>>2];if((f|0)>=(b|0)){break a}F[a>>2]=b-1}}function ja(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=F[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=F[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=F[d+8>>2];b=b>>>3|0;c=F[d+12>>2];if((c|0)==(e|0)){i=11764,j=F[2941]&oi(b),F[i>>2]=j;break b}F[e+12>>2]=c;F[c+8>>2]=e;break b}h=F[d+24>>2];b=F[d+12>>2];c:{if((d|0)!=(b|0)){c=F[d+8>>2];F[c+12>>2]=b;F[b+8>>2]=c;break c}d:{e=d+20|0;c=F[e>>2];if(c){break d}e=d+16|0;c=F[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=F[e>>2];if(c){continue}e=b+16|0;c=F[b+16>>2];if(c){continue}break}F[g>>2]=0}if(!h){break b}e=F[d+28>>2];c=(e<<2)+12068|0;e:{if(F[c>>2]==(d|0)){F[c>>2]=b;if(b){break e}i=11768,j=F[2942]&oi(e),F[i>>2]=j;break b}F[h+(F[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}F[b+24>>2]=h;c=F[d+16>>2];if(c){F[b+16>>2]=c;F[c+24>>2]=b}c=F[d+20>>2];if(!c){break b}F[b+20>>2]=c;F[c+24>>2]=b;break b}b=F[f+4>>2];if((b&3)!=3){break b}F[2943]=a;F[f+4>>2]=b&-2;F[d+4>>2]=a|1;F[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=F[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(F[2947]==(f|0)){F[2947]=d;a=F[2944]+a|0;F[2944]=a;F[d+4>>2]=a|1;if(F[2946]!=(d|0)){break a}F[2943]=0;F[2946]=0;return}if(F[2946]==(f|0)){F[2946]=d;a=F[2943]+a|0;F[2943]=a;F[d+4>>2]=a|1;F[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=F[f+8>>2];b=b>>>3|0;c=F[f+12>>2];if((c|0)==(e|0)){i=11764,j=F[2941]&oi(b),F[i>>2]=j;break g}F[e+12>>2]=c;F[c+8>>2]=e;break g}h=F[f+24>>2];b=F[f+12>>2];h:{if((f|0)!=(b|0)){c=F[f+8>>2];F[c+12>>2]=b;F[b+8>>2]=c;break h}i:{e=f+20|0;c=F[e>>2];if(c){break i}e=f+16|0;c=F[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=F[e>>2];if(c){continue}e=b+16|0;c=F[b+16>>2];if(c){continue}break}F[g>>2]=0}if(!h){break g}e=F[f+28>>2];c=(e<<2)+12068|0;j:{if(F[c>>2]==(f|0)){F[c>>2]=b;if(b){break j}i=11768,j=F[2942]&oi(e),F[i>>2]=j;break g}F[h+(F[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}F[b+24>>2]=h;c=F[f+16>>2];if(c){F[b+16>>2]=c;F[c+24>>2]=b}c=F[f+20>>2];if(!c){break g}F[b+20>>2]=c;F[c+24>>2]=b}F[d+4>>2]=a|1;F[a+d>>2]=a;if(F[2946]!=(d|0)){break f}F[2943]=a;return}F[f+4>>2]=b&-2;F[d+4>>2]=a|1;F[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+11804|0;c=F[2941];a=1<<(a>>>3);k:{if(!(c&a)){F[2941]=a|c;a=b;break k}a=F[b+8>>2]}F[b+8>>2]=d;F[a+12>>2]=d;F[d+12>>2]=b;F[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=O(a>>>8|0);e=((a>>>38-b&1)-(b<<1)|0)+62|0}F[d+28>>2]=e;F[d+16>>2]=0;F[d+20>>2]=0;g=(e<<2)+12068|0;l:{m:{c=F[2942];b=1<>2]=d;F[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=F[g>>2];while(1){c=b;if((F[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=F[g+16>>2];if(b){continue}break}F[g+16>>2]=d;F[d+24>>2]=c}F[d+12>>2]=d;F[d+8>>2]=d;break l}a=F[c+8>>2];F[a+12>>2]=d;F[c+8>>2]=d;F[d+24>>2]=0;F[d+12>>2]=c;F[d+8>>2]=a}a=F[2949]-1|0;F[2949]=a?a:-1}}function di(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;F[a+8>>2]=e;n=a+32|0;h=F[n>>2];f=F[a+36>>2]-h>>2;a:{if(f>>>0>>0){qa(n,e-f|0);d=F[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}F[a+36>>2]=h+(e<<2);d=e}s=F[a+52>>2];p=F[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;m=ma(ka(h),0,h);b:{if((d|0)<=0){break b}g=F[a+32>>2];while(1){d=f<<2;h=F[d+m>>2];j=F[a+16>>2];c:{if((h|0)>(j|0)){F[d+g>>2]=j;break c}d=d+g|0;j=F[a+12>>2];if((j|0)>(h|0)){F[d>>2]=j;break c}F[d>>2]=h}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=F[b+h>>2]+F[g+h>>2]|0;F[d>>2]=h;d:{if((h|0)>F[a+16>>2]){i=h-F[a+20>>2]|0}else{if((h|0)>=F[a+12>>2]){break d}i=h+F[a+20>>2]|0}F[d>>2]=i}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=F[a+56>>2];q=F[f>>2];f=F[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;w=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=L(e,h);f=F[(h<<2)+q>>2];if((f|0)==-1){break f}f=F[F[p+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}j=F[s>>2];g=F[p>>2];k=F[j+(F[g+(f<<2)>>2]<<2)>>2];i=f+1|0;i=(i>>>0)%3|0?i:f-2|0;if((i|0)!=-1){i=F[g+(i<<2)>>2]}else{i=-1}g:{h:{if((f>>>0)%3|0){f=f-1|0;break h}f=f+2|0;l=-1;if((f|0)==-1){break g}}l=F[g+(f<<2)>>2]}if((h|0)<=(k|0)){break f}f=F[(i<<2)+j>>2];if((f|0)>=(h|0)){break f}g=F[j+(l<<2)>>2];if((g|0)>=(h|0)){break f}i:{if((e|0)<=0){break i}g=L(e,g);j=L(e,f);k=L(e,k);f=0;l=0;if((e|0)!=1){while(1){F[(f<<2)+m>>2]=(F[(f+g<<2)+c>>2]+F[(f+j<<2)+c>>2]|0)-F[(f+k<<2)+c>>2];i=f|1;F[(i<<2)+m>>2]=(F[(g+i<<2)+c>>2]+F[(j+i<<2)+c>>2]|0)-F[(i+k<<2)+c>>2];f=f+2|0;l=l+2|0;if((u|0)!=(l|0)){continue}break}}if(!w){break i}F[(f<<2)+m>>2]=(F[(f+g<<2)+c>>2]+F[(f+j<<2)+c>>2]|0)-F[(f+k<<2)+c>>2]}if((d|0)<=0){break e}j=F[n>>2];f=0;while(1){d=f<<2;g=F[d+m>>2];k=F[a+16>>2];j:{if((g|0)>(k|0)){F[d+j>>2]=k;break j}d=d+j|0;k=F[a+12>>2];if((k|0)>(g|0)){F[d>>2]=k;break j}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=F[g+i>>2]+F[g+j>>2]|0;F[d>>2]=g;k:{if((g|0)>F[a+16>>2]){l=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break k}l=g+F[a+20>>2]|0}F[d>>2]=l}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}ta();v()}if((d|0)<=0){break e}k=(L(h-1|0,e)<<2)+c|0;j=F[n>>2];f=0;while(1){d=f<<2;g=F[d+k>>2];i=F[a+16>>2];l:{if((g|0)>(i|0)){F[d+j>>2]=i;break l}d=d+j|0;i=F[a+12>>2];if((i|0)>(g|0)){F[d>>2]=i;break l}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=F[g+i>>2]+F[g+j>>2]|0;F[d>>2]=g;m:{if((g|0)>F[a+16>>2]){l=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break m}l=g+F[a+20>>2]|0}F[d>>2]=l}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}ja(m);return 1}function od(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(F[F[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){e=F[a+48>>2];F[a+52>>2]=e;a:{if((e|0)!=F[a+56>>2]){F[e>>2]=b;F[a+52>>2]=e+4;break a}d=ka(4);F[d>>2]=b;c=d+4|0;F[a+56>>2]=c;F[a+52>>2]=c;F[a+48>>2]=d;if(!e){break a}ja(e)}c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;c=F[F[a+4>>2]+28>>2];k=F[(i<<2)+c>>2];if((k|0)==-1){return 0}e=(b-L(g,3)|0?-1:2)+b|0;j=F[c+(e<<2)>>2];if((j|0)==-1){return 0}b=F[a+36>>2];g=b+(k>>>3&536870908)|0;d=F[g>>2];c=1<>2]=c|d;Ka(a+8|0,k,i);b=F[a+36>>2]}d=(j>>>3&536870908)+b|0;c=F[d>>2];b=1<>2]=b|c;Ka(a+8|0,j,e)}f=F[a+52>>2];if((f|0)==F[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{f=f-4|0;b=F[f>>2];if((b|0)==-1){break c}c=(b>>>0)/3|0;g=F[a+24>>2]+(c>>>3&268435452)|0;d=F[g>>2];c=1<>2]=c|d;h=F[a+4>>2];c=F[F[h+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{e:{j=F[a+36>>2]+(c>>>3&536870908)|0;i=F[j>>2];e=1<>2]+(c<<2)>>2];g:{if((g|0)==-1){break g}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1|F[F[h>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}g=F[F[F[h+64>>2]+12>>2]+(b<<2)>>2];if((g|0)!=-1){break f}}F[j>>2]=e|i;Ka(k,c,d);h=F[a+4>>2];break e}F[j>>2]=e|i;Ka(k,c,d);h=F[a+4>>2];b=g+1|0;if((((b>>>0)%3|0?b:g-2|0)|0)==-1){break e}b=-1;h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1|F[F[h>>2]+(c>>>3&536870908)>>2]>>>c&1){break h}b=F[F[F[h+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];e=c>>>5|0;j=F[f+(e<<2)>>2];break d}i:{j:{if((d|0)==-1){break j}c=-1;b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if(!((b|0)==-1|F[F[h>>2]+(b>>>3&536870908)>>2]>>>b&1)){c=F[F[F[h+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((d>>>0)%3|0){f=d-1|0;break l}f=d+2|0;b=-1;if((f|0)==-1){break k}}b=-1;if(F[F[h>>2]+(f>>>3&536870908)>>2]>>>f&1){break k}b=F[F[F[h+64>>2]+12>>2]+(f<<2)>>2]}g=(b|0)==-1;i=g?-1:(b>>>0)/3|0;if((c|0)!=-1){f=F[a+24>>2];d=(c>>>0)/3|0;e=d>>>5|0;j=F[f+(e<<2)>>2];d=1<>2];e=i>>>5|0;j=F[f+(e<<2)>>2];if(!(d&j)){break d}}f=F[a+52>>2]-4|0;F[a+52>>2]=f;break b}if(g){b=c;break d}if(F[(i>>>3&536870908)+f>>2]>>>i&1){b=c;break d}h=F[a+52>>2];F[h-4>>2]=b;if(F[a+56>>2]!=(h|0)){F[h>>2]=c;f=h+4|0;break c}m:{i=F[a+48>>2];e=h-i|0;g=e>>2;d=g+1|0;if(d>>>0<1073741824){b=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(e){if(e>>>0>=1073741824){break m}d=ka(e<<2)}else{d=0}b=d+(g<<2)|0;F[b>>2]=c;f=b+4|0;if((h|0)!=(i|0)){while(1){b=b-4|0;h=h-4|0;F[b>>2]=F[h>>2];if((h|0)!=(i|0)){continue}break}}F[a+56>>2]=d+(e<<2);F[a+52>>2]=f;F[a+48>>2]=b;if(!i){break b}ja(i);f=F[a+52>>2];break b}na();v()}oa();v()}F[(e<<2)+f>>2]=d|j;c=F[F[h+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}F[a+52>>2]=f}if(F[a+48>>2]!=(f|0)){continue}break}}return 1}function he(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;F[a+8>>2]=e;m=a+32|0;h=F[m>>2];f=F[a+36>>2]-h>>2;a:{if(f>>>0>>0){qa(m,e-f|0);d=F[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}F[a+36>>2]=h+(e<<2);d=e}s=F[a+52>>2];n=F[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;l=ma(ka(h),0,h);b:{if((d|0)<=0){break b}g=F[a+32>>2];while(1){d=f<<2;h=F[d+l>>2];i=F[a+16>>2];c:{if((h|0)>(i|0)){F[d+g>>2]=i;break c}d=d+g|0;i=F[a+12>>2];if((i|0)>(h|0)){F[d>>2]=i;break c}F[d>>2]=h}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=F[b+h>>2]+F[g+h>>2]|0;F[d>>2]=h;d:{if((h|0)>F[a+16>>2]){h=h-F[a+20>>2]|0}else{if((h|0)>=F[a+12>>2]){break d}h=h+F[a+20>>2]|0}F[d>>2]=h}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=F[a+56>>2];q=F[f>>2];f=F[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;w=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=L(e,h);f=F[(h<<2)+q>>2];if((f|0)==-1|F[F[n>>2]+(f>>>3&536870908)>>2]>>>f&1){break f}f=F[F[F[n+64>>2]+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}i=F[s>>2];g=F[n+28>>2];k=F[i+(F[g+(f<<2)>>2]<<2)>>2];if((k|0)>=(h|0)){break f}j=f+1|0;j=F[i+(F[g+(((j>>>0)%3|0?j:f-2|0)<<2)>>2]<<2)>>2];if((j|0)>=(h|0)){break f}f=F[i+(F[g+(f+((f>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((f|0)>=(h|0)){break f}g:{if((e|0)<=0){break g}g=L(e,f);i=L(e,j);k=L(e,k);f=0;p=0;if((e|0)!=1){while(1){F[(f<<2)+l>>2]=(F[(f+g<<2)+c>>2]+F[(f+i<<2)+c>>2]|0)-F[(f+k<<2)+c>>2];j=f|1;F[(j<<2)+l>>2]=(F[(g+j<<2)+c>>2]+F[(i+j<<2)+c>>2]|0)-F[(k+j<<2)+c>>2];f=f+2|0;p=p+2|0;if((u|0)!=(p|0)){continue}break}}if(!w){break g}F[(f<<2)+l>>2]=(F[(f+g<<2)+c>>2]+F[(f+i<<2)+c>>2]|0)-F[(f+k<<2)+c>>2]}if((d|0)<=0){break e}i=F[m>>2];f=0;while(1){d=f<<2;g=F[d+l>>2];k=F[a+16>>2];h:{if((g|0)>(k|0)){F[d+i>>2]=k;break h}d=d+i|0;k=F[a+12>>2];if((k|0)>(g|0)){F[d>>2]=k;break h}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=F[g+j>>2]+F[g+i>>2]|0;F[d>>2]=g;i:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break i}g=g+F[a+20>>2]|0}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}ta();v()}if((d|0)<=0){break e}k=(L(h-1|0,e)<<2)+c|0;i=F[m>>2];f=0;while(1){d=f<<2;g=F[d+k>>2];j=F[a+16>>2];j:{if((g|0)>(j|0)){F[d+i>>2]=j;break j}d=d+i|0;j=F[a+12>>2];if((j|0)>(g|0)){F[d>>2]=j;break j}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=F[g+j>>2]+F[g+i>>2]|0;F[d>>2]=g;k:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break k}g=g+F[a+20>>2]|0}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}ja(l);return 1}function Fb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=M(0),k=0,l=0,m=M(0);i=F[c>>2];a:{b:{f=F[b+4>>2];if(!f){break b}g=ni(f);c:{if(g>>>0>=2){e=i;if(f>>>0<=e>>>0){e=(i>>>0)%(f>>>0)|0}c=F[F[b>>2]+(e<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=F[c>>2];if(!c){break b}g=F[c+4>>2];if((g|0)!=(i|0)){if(f>>>0<=g>>>0){g=(g>>>0)%(f>>>0)|0}if((e|0)!=(g|0)){break b}}if(F[c+8>>2]!=(i|0)){continue}break}b=0;break a}e=f-1&i;c=F[F[b>>2]+(e<<2)>>2];if(!c){break b}}h=f-1|0;while(1){c=F[c>>2];if(!c){break b}g=F[c+4>>2];if((g|0)!=(i|0)&(g&h)!=(e|0)){break b}if(F[c+8>>2]!=(i|0)){continue}break}b=0;break a}c=ka(16);d=F[F[d>>2]>>2];F[c+12>>2]=0;F[c+8>>2]=d;F[c+4>>2]=i;F[c>>2]=0;m=M(F[b+12>>2]+1>>>0);j=J[b+16>>2];d:{if(m>M(j*M(f>>>0))?0:f){break d}e=2;d=(f-1&f)!=0|f>>>0<3|f<<1;j=M(S(M(m/j)));e:{if(j=M(0)){g=~~j>>>0;break e}g=0}d=d>>>0>g>>>0?d:g;f:{if((d|0)==1){break f}if(!(d&d-1)){e=d;break f}e=Mc(d);f=F[b+4>>2]}g:{if(e>>>0<=f>>>0){if(e>>>0>=f>>>0){break g}g=f>>>0<3;j=M(S(M(M(I[b+12>>2])/J[b+16>>2])));h:{if(j=M(0)){d=~~j>>>0;break h}d=0}i:{j:{if(g){break j}if(ni(f)>>>0>1){break j}d=d>>>0<2?d:1<<32-O(d-1|0);break i}d=Mc(d)}e=d>>>0>>0?e:d;if(f>>>0<=e>>>0){break g}}f=0;g=0;h=e;k:{l:{m:{n:{if(e){if(h>>>0>=1073741824){break n}d=ka(h<<2);e=F[b>>2];F[b>>2]=d;if(e){ja(e)}F[b+4>>2]=h;d=0;if(h>>>0>=4){e=h&-4;while(1){k=d<<2;F[k+F[b>>2]>>2]=0;F[F[b>>2]+(k|4)>>2]=0;F[F[b>>2]+(k|8)>>2]=0;F[F[b>>2]+(k|12)>>2]=0;d=d+4|0;g=g+4|0;if((e|0)!=(g|0)){continue}break}}e=h&3;if(e){while(1){F[F[b>>2]+(d<<2)>>2]=0;d=d+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}e=F[b+8>>2];if(!e){break k}d=b+8|0;f=F[e+4>>2];g=ni(h);if(g>>>0<2){break m}f=f>>>0>=h>>>0?(f>>>0)%(h>>>0)|0:f;F[F[b>>2]+(f<<2)>>2]=d;d=F[e>>2];if(!d){break k}if(g>>>0<=1){break l}while(1){g=F[d+4>>2];if(h>>>0<=g>>>0){g=(g>>>0)%(h>>>0)|0}o:{if((f|0)==(g|0)){e=d;break o}l=g<<2;k=l+F[b>>2]|0;if(!F[k>>2]){F[k>>2]=e;e=d;f=g;break o}F[e>>2]=F[d>>2];F[d>>2]=F[F[l+F[b>>2]>>2]>>2];F[F[l+F[b>>2]>>2]>>2]=d}d=F[e>>2];if(d){continue}break}break k}d=F[b>>2];F[b>>2]=0;if(d){ja(d)}F[b+4>>2]=0;break k}oa();v()}f=h-1&f;F[F[b>>2]+(f<<2)>>2]=d;d=F[e>>2];if(!d){break k}}k=h-1|0;while(1){g=k&F[d+4>>2];p:{if((g|0)==(f|0)){e=d;break p}l=g<<2;h=l+F[b>>2]|0;if(F[h>>2]){F[e>>2]=F[d>>2];F[d>>2]=F[F[l+F[b>>2]>>2]>>2];F[F[l+F[b>>2]>>2]>>2]=d;break p}F[h>>2]=e;e=d;f=g}d=F[e>>2];if(d){continue}break}}}f=F[b+4>>2];d=f-1|0;if(!(d&f)){e=d&i;break d}if(f>>>0>i>>>0){e=i;break d}e=(i>>>0)%(f>>>0)|0}e=F[b>>2]+(e<<2)|0;d=F[e>>2];q:{r:{if(!d){d=b+8|0;F[c>>2]=F[d>>2];F[b+8>>2]=c;F[e>>2]=d;d=F[c>>2];if(!d){break q}d=F[d+4>>2];e=f-1|0;s:{if(!(e&f)){d=d&e;break s}if(d>>>0>>0){break s}d=(d>>>0)%(f>>>0)|0}d=F[b>>2]+(d<<2)|0;break r}F[c>>2]=F[d>>2]}F[d>>2]=c}F[b+12>>2]=F[b+12>>2]+1;b=1}D[a+4|0]=b;F[a>>2]=c}function Vb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=L(b,12)+a|0;F[j+12>>2]=F[j+8>>2];m=(c|0)==-1?-1:(c>>>0)/3|0;d=1;k=c;a:{b:{c:{while(1){d:{l=d;if(!d){if((k|0)==-1){break d}if((Wc(a,((k>>>0)%3|0?-1:2)+k|0)|0)==-1){break a}c=k+1|0;d=(c>>>0)%3|0?c:k-2|0;if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}d=F[F[F[a+4>>2]+12>>2]+(c<<2)>>2];if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}m=(c>>>0)/3|0}e:{d=F[a+56>>2]+(m>>>3&536870908)|0;h=F[d>>2];e=1<>2]=e|h;d=F[j+12>>2];f:{if((d|0)!=F[j+16>>2]){F[d>>2]=m;F[j+12>>2]=d+4;break f}n=F[j+8>>2];h=d-n|0;e=h>>2;i=e+1|0;if(i>>>0>=1073741824){break c}g=h>>>1|0;i=h>>>0>=2147483644?1073741823:i>>>0>>0?g:i;if(i){if(i>>>0>=1073741824){break b}g=ka(i<<2)}else{g=0}h=g+(e<<2)|0;F[h>>2]=m;e=h+4|0;if((d|0)!=(n|0)){while(1){h=h-4|0;d=d-4|0;F[h>>2]=F[d>>2];if((d|0)!=(n|0)){continue}break}}F[j+8>>2]=h;F[j+12>>2]=e;F[j+16>>2]=g+(i<<2);if(!n){break f}ja(n)}g=f+1|0;g:{h:{i:{if(!f){break i}if(g&1){if((c|0)==-1){c=-1;break g}d=c+1|0;c=(d>>>0)%3|0?d:c-2|0;break i}k=l?k:c;if((c|0)==-1){c=-1;break g}if((c>>>0)%3|0){d=c-1|0;break h}c=c+2|0}d=c;c=-1;if((d|0)==-1){break g}}c=F[F[F[a+4>>2]+12>>2]+(d<<2)>>2];h=-1;f=-1;e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=F[(F[F[a>>2]+96>>2]+L(f,12)|0)+(e-L(f,3)<<2)>>2]}j:{if((c|0)==-1){break j}i=((c>>>0)%3|0?-1:2)+c|0;if((i|0)<0){break j}e=(i>>>0)/3|0;h=F[(F[F[a>>2]+96>>2]+L(e,12)|0)+(i-L(e,3)<<2)>>2]}if((f|0)!=(h|0)){c=-1;break g}k:{l:{f=((d>>>0)%3|0?-1:2)+d|0;if((f|0)>=0){d=(f>>>0)/3|0;if((c|0)!=-1){break l}c=-1;break g}d=-1;if((c|0)!=-1){break k}c=-1;break g}d=F[(F[F[a>>2]+96>>2]+L(d,12)|0)+(f-L(d,3)<<2)>>2]}f=c+1|0;e=(f>>>0)%3|0?f:c-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=F[(F[F[a>>2]+96>>2]+L(f,12)|0)+(e-L(f,3)<<2)>>2]}else{f=-1}if((f|0)!=(d|0)){c=-1;break g}f=g;m=(c>>>0)/3|0;d=F[a+56>>2]+(m>>>3&268435452)|0;h=F[d>>2];e=1<>2]-4|0;g=F[l>>2];d=F[a+56>>2]+(g>>>3&536870908)|0;c=F[d>>2];o=d,p=oi(g)&c,F[o>>2]=p;F[j+12>>2]=l;break a}d=0;if(l){continue}break a}break}k=-1;Wc(a,-1);break a}na();v()}oa();v()}F[((b<<2)+a|0)+44>>2]=k;b=F[j+12>>2];i=F[j+8>>2];m:{if((b|0)==(i|0)){break m}c=b-i|0;b=c>>2;b=b>>>0<=1?1:b;k=b&1;e=F[a+56>>2];d=0;if(c>>>0>=8){f=b&-2;c=0;while(1){l=d<<2;g=F[l+i>>2];b=e+(g>>>3&536870908)|0;a=F[b>>2];o=b,p=oi(g)&a,F[o>>2]=p;g=F[i+(l|4)>>2];b=e+(g>>>3&536870908)|0;a=F[b>>2];o=b,p=oi(g)&a,F[o>>2]=p;d=d+2|0;c=c+2|0;if((f|0)!=(c|0)){continue}break}}if(!k){break m}c=F[i+(d<<2)>>2];b=e+(c>>>3&536870908)|0;a=F[b>>2];o=b,p=oi(c)&a,F[o>>2]=p}}function pd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(F[F[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){f=F[a+48>>2];F[a+52>>2]=f;a:{if((f|0)!=F[a+56>>2]){F[f>>2]=b;F[a+52>>2]=f+4;break a}d=ka(4);F[d>>2]=b;c=d+4|0;F[a+56>>2]=c;F[a+52>>2]=c;F[a+48>>2]=d;if(!f){break a}ja(f)}e=-1;d=F[a+4>>2];c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;if((i|0)!=-1){e=F[F[d>>2]+(i<<2)>>2]}b:{h=b-L(g,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}j=F[F[d>>2]+(c<<2)>>2];if((j|0)==-1){return 0}c=F[a+36>>2];f=c+(e>>>3&536870908)|0;g=F[f>>2];d=1<>2]=d|g;Ka(a+8|0,e,i);c=F[a+36>>2]}g=(j>>>3&536870908)+c|0;d=F[g>>2];c=1<>2]=c|d;Ka(a+8|0,j,(h?-1:2)+b|0)}c=F[a+52>>2];if((c|0)==F[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=F[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;f=F[a+24>>2]+(d>>>3&268435452)|0;g=F[f>>2];d=1<>2]=d|g;while(1){i=F[a+4>>2];e=F[F[i>>2]+(b<<2)>>2];if((e|0)==-1){return 0}e:{f:{h=F[a+36>>2]+(e>>>3&536870908)|0;f=F[h>>2];g=1<>2]+(e<<2)>>2];h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break h}d=F[F[i+12>>2]+(c<<2)>>2];if((d|0)!=-1){break g}}F[h>>2]=f|g;Ka(j,e,b);break f}F[h>>2]=f|g;Ka(j,e,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}c=b-2|0;d=b+1|0;b=-1;c=(d>>>0)%3|0?d:c;if((c|0)!=-1){b=F[F[F[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];f=c>>>5|0;i=F[e+(f<<2)>>2];break e}c=-1;g=F[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=F[F[g+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=F[F[g+12>>2]+(e<<2)>>2]}g=(b|0)==-1;h=g?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=F[a+24>>2];d=(c>>>0)/3|0;f=d>>>5|0;i=F[e+(f<<2)>>2];d=1<>2];f=h>>>5|0;i=F[e+(f<<2)>>2];if(!(d&i)){break e}}c=F[a+52>>2]-4|0;F[a+52>>2]=c;break c}if(g){b=c;break e}if(F[(h>>>3&536870908)+e>>2]>>>h&1){b=c;break e}e=F[a+52>>2];F[e-4>>2]=b;if(F[a+56>>2]!=(e|0)){F[e>>2]=c;c=e+4|0;break d}l:{h=F[a+48>>2];f=e-h|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){b=f>>>1|0;f=f>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(f){if(f>>>0>=1073741824){break l}d=ka(f<<2)}else{d=0}b=d+(g<<2)|0;F[b>>2]=c;c=b+4|0;if((e|0)!=(h|0)){while(1){b=b-4|0;e=e-4|0;F[b>>2]=F[e>>2];if((e|0)!=(h|0)){continue}break}}F[a+56>>2]=d+(f<<2);F[a+52>>2]=c;F[a+48>>2]=b;if(!h){break c}ja(h);c=F[a+52>>2];break c}na();v()}oa();v()}F[(f<<2)+e>>2]=d|i;if((b|0)!=-1){continue}break}return 0}F[a+52>>2]=c}if(F[a+48>>2]!=(c|0)){continue}break}}return 1}function ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=Z-32|0;Z=h;a:{b:{if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[F[a+48>>2]+64>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}c:{if(d){Na(a+60|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[F[a+48>>2]+64>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+72|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[F[a+48>>2]+64>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+84|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[F[a+48>>2]+64>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+96|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=F[b+8>>2];f=F[b+12>>2];d=c;c=F[b+20>>2];i=c;g=F[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=F[b>>2];k=m+g|0;l=G[k|0]|G[k+1|0]<<8|(G[k+2|0]<<16|G[k+3|0]<<24);F[b+16>>2]=j;F[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=f;F[b+20>>2]=c;if((d|0)<(l|0)){break a}F[a+16>>2]=d;F[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;F[a+20>>2]=b;c=b>>>1|0;F[a+24>>2]=c;F[a+28>>2]=0-c;if(b&1){break a}F[a+24>>2]=c-1;break a}}e=0}Z=h+32|0;return e|0}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=Z-32|0;Z=h;a:{b:{if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[a+48>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}c:{if(d){Na(a+60|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[a+48>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+72|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[a+48>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+84|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[a+48>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+96|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=F[b+8>>2];f=F[b+12>>2];d=c;c=F[b+20>>2];i=c;g=F[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=F[b>>2];k=m+g|0;l=G[k|0]|G[k+1|0]<<8|(G[k+2|0]<<16|G[k+3|0]<<24);F[b+16>>2]=j;F[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=f;F[b+20>>2]=c;if((d|0)<(l|0)){break a}F[a+16>>2]=d;F[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;F[a+20>>2]=b;c=b>>>1|0;F[a+24>>2]=c;F[a+28>>2]=0-c;if(b&1){break a}F[a+24>>2]=c-1;break a}}e=0}Z=h+32|0;return e|0}function uh(a){a=a|0;var b=0,c=0,d=0,e=0;c=F[a+32>>2];d=F[c+16>>2];e=F[c+12>>2];b=F[c+20>>2];if(I[c+8>>2]>d>>>0&(e|0)>=(b|0)|(b|0)<(e|0)){e=G[F[c>>2]+d|0];d=d+1|0;b=d?b:b+1|0;F[c+16>>2]=d;F[c+20>>2]=b;b=F[a+48>>2];F[a+48>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}a:{b:{c:{d:{switch(e|0){case 0:b=ka(384);F[b>>2]=8284;ma(b+4|0,0,80);F[b+96>>2]=0;F[b+100>>2]=0;F[b+92>>2]=-1;F[b+84>>2]=-1;F[b+88>>2]=-1;F[b+104>>2]=0;F[b+108>>2]=0;F[b+112>>2]=0;F[b+116>>2]=0;F[b+120>>2]=0;F[b+124>>2]=0;F[b+128>>2]=0;F[b+132>>2]=0;F[b+136>>2]=0;F[b+140>>2]=0;F[b+144>>2]=0;F[b+148>>2]=0;F[b+156>>2]=0;F[b+160>>2]=0;F[b+152>>2]=1065353216;F[b+164>>2]=0;F[b+168>>2]=0;F[b+172>>2]=0;F[b+176>>2]=0;F[b+180>>2]=0;F[b+184>>2]=0;F[b+188>>2]=0;F[b+192>>2]=0;F[b+196>>2]=0;F[b+200>>2]=0;F[b+204>>2]=0;F[b+208>>2]=0;F[b+212>>2]=-1;F[b+216>>2]=0;F[b+220>>2]=0;F[b+224>>2]=0;Ja(b+232|0);Ja(b+272|0);c=b+312|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;Ja(b+328|0);F[b+376>>2]=0;F[b+368>>2]=0;F[b+372>>2]=0;break c;case 2:break d;default:break b}}b=ka(440);F[b>>2]=8336;ma(b+4|0,0,80);F[b+96>>2]=0;F[b+100>>2]=0;F[b+92>>2]=-1;F[b+84>>2]=-1;F[b+88>>2]=-1;F[b+104>>2]=0;F[b+108>>2]=0;F[b+112>>2]=0;F[b+116>>2]=0;F[b+120>>2]=0;F[b+124>>2]=0;F[b+128>>2]=0;F[b+132>>2]=0;F[b+136>>2]=0;F[b+140>>2]=0;F[b+144>>2]=0;F[b+148>>2]=0;F[b+156>>2]=0;F[b+160>>2]=0;F[b+152>>2]=1065353216;F[b+164>>2]=0;F[b+168>>2]=0;F[b+172>>2]=0;F[b+176>>2]=0;F[b+180>>2]=0;F[b+184>>2]=0;F[b+188>>2]=0;F[b+192>>2]=0;F[b+196>>2]=0;F[b+200>>2]=0;F[b+204>>2]=0;F[b+208>>2]=0;F[b+212>>2]=-1;F[b+216>>2]=0;F[b+220>>2]=0;F[b+224>>2]=0;Ja(b+232|0);Ja(b+272|0);c=b+312|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;Ja(b+328|0);F[b+392>>2]=0;F[b+396>>2]=0;F[b+384>>2]=0;F[b+388>>2]=0;F[b+376>>2]=0;F[b+380>>2]=0;F[b+368>>2]=0;F[b+372>>2]=0;F[b+416>>2]=0;F[b+420>>2]=0;F[b+408>>2]=2;F[b+412>>2]=7;F[b+400>>2]=-1;F[b+404>>2]=-1;F[b+424>>2]=0;F[b+428>>2]=0;F[b+432>>2]=0;F[b+436>>2]=0}c=F[a+48>>2];F[a+48>>2]=b;if(!c){break a}$[F[F[c>>2]+4>>2]](c)}b=F[a+48>>2];if(b){break a}return 0}a=$[F[F[b>>2]+8>>2]](b,a)|0}else{a=0}return a|0}function ei(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=Z-32|0;Z=g;F[a+68>>2]=f;d=F[a+56>>2];e=F[d>>2];d=F[d+4>>2];F[g+24>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=F[a+56>>2];d=F[e>>2];if(F[e+4>>2]-d>>2>>>0<=j>>>0){break a}Mb(m,F[d+(j<<2)>>2],g+16|0);i=F[g+20>>2];d=i>>31;h=F[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=F[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){F[g+16>>2]=F[a+108>>2];break b}f=F[a+108>>2];l=f>>31;h=li(ki(f,l,h,h>>31),_,e,d);F[g+16>>2]=h;d=li(ki(f,l,i,i>>31),_,e,d);F[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){F[g+24>>2]=f-d;break b}F[g+24>>2]=d-f}d=wa(o);f=F[g+16>>2];c:{if(d){F[g+24>>2]=0-F[g+24>>2];e=0-F[g+20>>2]|0;F[g+20>>2]=e;f=0-f|0;F[g+16>>2]=f;break c}e=F[g+20>>2]}d:{if((f|0)>=0){f=F[a+108>>2];d=f+F[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=F[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=F[g+24>>2];f=d>>31;f=F[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=F[a+100>>2]+(d-(d^e)|0)|0}e=F[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=F[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=F[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=F[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=F[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}F[g+12>>2]=d;F[g+8>>2]=f;j:{if(F[a+8>>2]<=0){break j}i=F[a+32>>2];f=0;while(1){d=f<<2;e=F[d+(g+8|0)>>2];h=F[a+16>>2];k:{if((e|0)>(h|0)){F[d+i>>2]=h;break k}d=d+i|0;h=F[a+12>>2];if((h|0)>(e|0)){F[d>>2]=h;break k}F[d>>2]=e}f=f+1|0;e=F[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=F[f+k>>2]+F[f+i>>2]|0;F[e>>2]=f;l:{if((f|0)>F[a+16>>2]){f=f-F[a+20>>2]|0}else{if((f|0)>=F[a+12>>2]){break l}f=f+F[a+20>>2]|0}F[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}Z=g+32|0;return 1}ta();v()}function Vh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=Z-32|0;Z=g;F[a+68>>2]=f;d=F[a+56>>2];e=F[d>>2];d=F[d+4>>2];F[g+24>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=F[a+56>>2];d=F[e>>2];if(F[e+4>>2]-d>>2>>>0<=j>>>0){break a}Kb(m,F[d+(j<<2)>>2],g+16|0);i=F[g+20>>2];d=i>>31;h=F[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=F[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){F[g+16>>2]=F[a+108>>2];break b}f=F[a+108>>2];l=f>>31;h=li(ki(f,l,h,h>>31),_,e,d);F[g+16>>2]=h;d=li(ki(f,l,i,i>>31),_,e,d);F[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){F[g+24>>2]=f-d;break b}F[g+24>>2]=d-f}d=wa(o);f=F[g+16>>2];c:{if(d){F[g+24>>2]=0-F[g+24>>2];e=0-F[g+20>>2]|0;F[g+20>>2]=e;f=0-f|0;F[g+16>>2]=f;break c}e=F[g+20>>2]}d:{if((f|0)>=0){f=F[a+108>>2];d=f+F[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=F[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=F[g+24>>2];f=d>>31;f=F[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=F[a+100>>2]+(d-(d^e)|0)|0}e=F[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=F[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=F[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=F[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=F[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}F[g+12>>2]=d;F[g+8>>2]=f;j:{if(F[a+8>>2]<=0){break j}i=F[a+32>>2];f=0;while(1){d=f<<2;e=F[d+(g+8|0)>>2];h=F[a+16>>2];k:{if((e|0)>(h|0)){F[d+i>>2]=h;break k}d=d+i|0;h=F[a+12>>2];if((h|0)>(e|0)){F[d>>2]=h;break k}F[d>>2]=e}f=f+1|0;e=F[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=F[f+k>>2]+F[f+i>>2]|0;F[e>>2]=f;l:{if((f|0)>F[a+16>>2]){f=f-F[a+20>>2]|0}else{if((f|0)>=F[a+12>>2]){break l}f=f+F[a+20>>2]|0}F[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}Z=g+32|0;return 1}ta();v()}function $a(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;h=Z-32|0;Z=h;a:{b:{if(F[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=ka(b<<2);F[h+24>>2]=b;F[h+20>>2]=0;F[h+16>>2]=c;b=F[a>>2];F[h+12>>2]=0;F[h+8>>2]=b;c=F[a+4>>2];F[h+4>>2]=c&31;F[h>>2]=b+(c>>>3&536870908);e=Z-32|0;Z=e;i=F[h+4>>2];g=F[h+12>>2];j=F[h>>2];d=F[h+8>>2];b=(i-g|0)+(j-d<<3)|0;f=F[h+20>>2];c=b+f|0;F[h+20>>2]=c;if(!((c-1^f-1)>>>0<32?f:0)){F[F[h+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=F[h+16>>2]+(f>>>3&536870908)|0;f=f&31;c:{if((f|0)==(g|0)){if((b|0)<=0){break c}if(g){i=32-g|0;f=(b|0)<(i|0)?b:i;i=-1<>>i-f;F[c>>2]=F[c>>2]&(i^-1)|i&F[d>>2];d=d+4|0;c=(g+f>>>3&536870908)+c|0;b=b-f|0}g=(b|0)/32|0;if(b+31>>>0>=63){pa(c,d,g<<2)}b=b-(g<<5)|0;if((b|0)<=0){break c}f=c;c=g<<2;g=f+c|0;b=-1>>>32-b|0;F[g>>2]=F[g>>2]&(b^-1)|b&F[c+d>>2];break c}F[e+28>>2]=g;F[e+24>>2]=d;F[e+20>>2]=i;F[e+16>>2]=j;F[e+12>>2]=f;F[e+8>>2]=c;b=F[e+28>>2];c=F[e+24>>2];g=(F[e+20>>2]-b|0)+(F[e+16>>2]-c<<3)|0;d:{if((g|0)<=0){b=F[e+12>>2];d=F[e+8>>2];break d}e:{if(!b){b=F[e+12>>2];break e}d=F[e+12>>2];j=32-d|0;k=32-b|0;f=(g|0)<(k|0)?g:k;i=f>>>0>j>>>0?j:f;l=F[e+8>>2];m=F[l>>2]&(-1<>>j-i^-1);j=F[c>>2]&(-1<>>k-f);F[l>>2]=m|(b>>>0>>0?j<>>b-d|0);c=d+i|0;b=c&31;F[e+12>>2]=b;d=l+(c>>>3&536870908)|0;F[e+8>>2]=d;c=f-i|0;if((c|0)>0){F[d>>2]=F[d>>2]&(-1>>>32-c^-1)|j>>>i+F[e+28>>2];F[e+12>>2]=c;b=c}g=g-f|0;c=F[e+24>>2]+4|0;F[e+24>>2]=c}i=-1<=32){j=i^-1;while(1){d=F[e+8>>2];c=F[c>>2];F[d>>2]=j&F[d>>2]|c<>2]=d+4;F[d+4>>2]=i&F[d+4>>2]|c>>>f;c=F[e+24>>2]+4|0;F[e+24>>2]=c;d=g>>>0>63;g=g-32|0;if(d){continue}break}}d=F[e+8>>2];if((g|0)<=0){break d}j=f;f=(g|0)>(f|0)?f:g;j=F[d>>2]&(i&-1>>>j-f^-1);i=F[c>>2]&-1>>>32-g;F[d>>2]=j|i<>2]=c;d=(b>>>3&536870908)+d|0;F[e+8>>2]=d;b=g-f|0;if((b|0)<=0){b=c;break d}F[d>>2]=F[d>>2]&(-1>>>32-b^-1)|i>>>f;F[e+12>>2]=b}F[e+4>>2]=b;F[e>>2]=d}Z=e+32|0;b=F[a>>2];F[a>>2]=F[h+16>>2];F[h+16>>2]=b;c=F[a+4>>2];F[a+4>>2]=F[h+20>>2];F[h+20>>2]=c;c=F[a+8>>2];F[a+8>>2]=F[h+24>>2];F[h+24>>2]=c;if(!b){break b}ja(b)}Z=h+32|0;return}na();v()}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=$[F[F[a>>2]+44>>2]](a)|0;a:{if((n|0)<=0){break a}i=F[b+4>>2]-F[b>>2]>>2;e=Z+-64|0;Z=e;f=kb(e);d=L(F[2541],n);cc(f,F[F[a+8>>2]+56>>2],n&255,5,0,d,d>>31);f=bc(ka(96),f);D[f+84|0]=1;F[f+72>>2]=F[f+68>>2];ac(f,i);F[f+60>>2]=F[F[a+8>>2]+60>>2];d=F[a+16>>2];F[a+16>>2]=f;if(d){xa(d)}Z=e- -64|0;h=F[a+16>>2];if(!F[h+80>>2]){break a}j=F[F[h>>2]>>2];if(!j){break a}m=F[c+12>>2];e=m;d=F[c+20>>2];g=F[c+8>>2];k=F[c+16>>2];if((e|0)<=(d|0)&g>>>0<=k>>>0|(d|0)>(e|0)){break a}l=L(i,n);i=j+F[h+48>>2]|0;h=F[c>>2];j=G[h+k|0];e=k+1|0;f=e?d:d+1|0;F[c+16>>2]=e;F[c+20>>2]=f;b:{c:{if(j){if(mc(l,n,c,i)){break c}break a}if((f|0)>=(m|0)&e>>>0>=g>>>0|(f|0)>(m|0)){break a}g=G[e+h|0];f=k+2|0;d=f>>>0<2?d+1|0:d;F[c+16>>2]=f;F[c+20>>2]=d;d=F[F[a+16>>2]+64>>2];d=F[d+4>>2]-F[d>>2]|0;if((g|0)==F[2541]){e=l<<2;if(e>>>0>d>>>0){break a}g=F[c+8>>2];k=F[c+12>>2];j=F[c+20>>2];d=F[c+16>>2];f=e+d|0;j=f>>>0>>0?j+1|0:j;if(f>>>0>g>>>0&(j|0)>=(k|0)|(j|0)>(k|0)){break a}la(i,d+F[c>>2]|0,e);f=F[c+20>>2];d=e+F[c+16>>2]|0;f=d>>>0>>0?f+1|0:f;F[c+16>>2]=d;F[c+20>>2]=f;break c}if(d>>>0>>0){break a}d=F[c+8>>2];f=F[c+16>>2];e=d-f|0;m=d>>>0>>0;d=F[c+20>>2];k=F[c+12>>2]-(m+d|0)|0;m=ki(g,0,l,0)>>>0>e>>>0;e=_;if(m&(e|0)>=(k|0)|(e|0)>(k|0)){break a}e=1;if(!l){break b}h=0;while(1){k=F[c+8>>2];j=F[c+12>>2];e=f+g|0;d=e>>>0>>0?d+1|0:d;if(e>>>0>k>>>0&(d|0)>=(j|0)|(d|0)>(j|0)){return 0}la(i+(h<<2)|0,F[c>>2]+f|0,g);d=F[c+20>>2];f=g+F[c+16>>2]|0;d=f>>>0>>0?d+1|0:d;F[c+16>>2]=f;F[c+20>>2]=d;h=h+1|0;if((l|0)!=(h|0)){continue}break}}e=1;if(!l){break b}d=F[a+20>>2];if(d){e=0;if($[F[F[d>>2]+32>>2]](d)|0){break b}}g=0;h=0;d:{if((l|0)<=0){break d}if((l|0)!=1){f=l&-2;while(1){e=g<<2;d=F[e+i>>2];F[e+i>>2]=0-(d&1)^d>>>1;d=e|4;e=F[d+i>>2];F[d+i>>2]=0-(e&1)^e>>>1;g=g+2|0;h=h+2|0;if((f|0)!=(h|0)){continue}break}}if(!(l&1)){break d}d=g<<2;f=F[d+i>>2];F[d+i>>2]=0-(f&1)^f>>>1}e=0}d=e;f=F[a+20>>2];e:{if(!f){break e}if(!($[F[F[f>>2]+40>>2]](f,c)|0)){break a}if(d){break e}a=F[a+20>>2];if(!($[F[F[a>>2]+44>>2]](a,i,i,l,n,F[b>>2])|0)){break a}}o=1}return o|0}function Lh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Z-48|0;Z=g;d=F[a+8>>2];if(d-2>>>0<=28){F[a+76>>2]=d;e=-1<>2]=d;F[a+80>>2]=e^-1;F[a+92>>2]=(d|0)/2;J[a+88>>2]=M(2)/M(d|0)}F[a+52>>2]=f;d=F[a+40>>2];e=F[d>>2];d=F[d+4>>2];F[g+16>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=F[a+40>>2];d=F[e>>2];if(F[e+4>>2]-d>>2>>>0<=j>>>0){break a}Mb(n,F[d+(j<<2)>>2],g+8|0);h=F[g+12>>2];d=h>>31;i=F[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=F[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){F[g+8>>2]=F[a+92>>2];break b}f=F[a+92>>2];k=f>>31;i=li(ki(f,k,i,i>>31),_,e,d);F[g+8>>2]=i;d=li(ki(f,k,h,h>>31),_,e,d);F[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){F[g+16>>2]=f-d;break b}F[g+16>>2]=d-f}d=wa(p);f=F[g+8>>2];c:{if(d){F[g+16>>2]=0-F[g+16>>2];e=0-F[g+12>>2]|0;F[g+12>>2]=e;f=0-f|0;F[g+8>>2]=f;break c}e=F[g+12>>2]}d:{if((f|0)>=0){f=F[a+92>>2];d=f+F[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=F[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=F[g+16>>2];f=d>>31;f=F[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=F[a+84>>2]+(d-(d^e)|0)|0}e=F[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=F[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=F[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=F[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=F[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=F[h>>2];h=F[h+4>>2];F[g+36>>2]=d;F[g+32>>2]=f;F[g+24>>2]=i;F[g+28>>2]=h;Jb(g+40|0,m,g+32|0,g+24|0);d=c+e|0;F[d>>2]=F[g+40>>2];F[d+4>>2]=F[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}Z=g+48|0;return 1}ta();v()}function Hh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Z-48|0;Z=g;d=F[a+8>>2];if(d-2>>>0<=28){F[a+76>>2]=d;e=-1<>2]=d;F[a+80>>2]=e^-1;F[a+92>>2]=(d|0)/2;J[a+88>>2]=M(2)/M(d|0)}F[a+52>>2]=f;d=F[a+40>>2];e=F[d>>2];d=F[d+4>>2];F[g+16>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=F[a+40>>2];d=F[e>>2];if(F[e+4>>2]-d>>2>>>0<=j>>>0){break a}Kb(n,F[d+(j<<2)>>2],g+8|0);h=F[g+12>>2];d=h>>31;i=F[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=F[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){F[g+8>>2]=F[a+92>>2];break b}f=F[a+92>>2];k=f>>31;i=li(ki(f,k,i,i>>31),_,e,d);F[g+8>>2]=i;d=li(ki(f,k,h,h>>31),_,e,d);F[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){F[g+16>>2]=f-d;break b}F[g+16>>2]=d-f}d=wa(p);f=F[g+8>>2];c:{if(d){F[g+16>>2]=0-F[g+16>>2];e=0-F[g+12>>2]|0;F[g+12>>2]=e;f=0-f|0;F[g+8>>2]=f;break c}e=F[g+12>>2]}d:{if((f|0)>=0){f=F[a+92>>2];d=f+F[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=F[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=F[g+16>>2];f=d>>31;f=F[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=F[a+84>>2]+(d-(d^e)|0)|0}e=F[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=F[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=F[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=F[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=F[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=F[h>>2];h=F[h+4>>2];F[g+36>>2]=d;F[g+32>>2]=f;F[g+24>>2]=i;F[g+28>>2]=h;Jb(g+40|0,m,g+32|0,g+24|0);d=c+e|0;F[d>>2]=F[g+40>>2];F[d+4>>2]=F[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}Z=g+48|0;return 1}ta();v()}function Nd(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,n=0,o=0;a:{if(!H[b+38>>1]){break a}if(!Ta(1,a+12|0,b)){break a}d=F[b+8>>2];e=F[b+16>>2];g=d-e|0;f=F[a+12>>2];d=F[b+12>>2]-(F[b+20>>2]+(d>>>0>>0)|0)|0;if(g>>>0>>6>>>0&(d|0)<=0|(d|0)<0){break a}d=F[a>>2];c=F[a+4>>2]-d>>2;b:{if(c>>>0>>0){qa(a,f-c|0);f=F[a+12>>2];break b}if(c>>>0<=f>>>0){break b}F[a+4>>2]=d+(f<<2)}if(!f){return 1}d=F[b+16>>2];c=F[b+20>>2];l=F[a>>2];j=F[b+8>>2];i=F[b+12>>2];g=0;while(1){if((c|0)>=(i|0)&d>>>0>=j>>>0|(c|0)>(i|0)){return 0}m=F[b>>2];k=G[m+d|0];d=d+1|0;c=d?c:c+1|0;F[b+16>>2]=d;F[b+20>>2]=c;e=k>>>2|0;h=0;c:{d:{e:{f:{n=k&3;switch(n|0){case 3:break f;case 0:break d;default:break e}}e=e+g|0;if(e>>>0>=f>>>0){return 0}ma(l+(g<<2)|0,0,(k&252)+4|0);g=e;break c}while(1){if((d|0)==(j|0)&(c|0)==(i|0)){break a}f=G[d+m|0];d=d+1|0;c=d?c:c+1|0;F[b+16>>2]=d;F[b+20>>2]=c;e=f<<(h<<3|6)|e;h=h+1|0;if((n|0)!=(h|0)){continue}break}}F[l+(g<<2)>>2]=e}f=F[a+12>>2];g=g+1|0;if(f>>>0>g>>>0){continue}break}b=a+16|0;j=F[a>>2];d=F[a+16>>2];c=F[a+20>>2]-d|0;g:{if(c>>>0<=16383){qa(b,4096-(c>>>2|0)|0);break g}if((c|0)==16384){break g}F[a+20>>2]=d+16384}c=a+28|0;g=F[c>>2];d=F[a+32>>2]-g>>3;h:{if(d>>>0>>0){_a(c,f-d|0);g=F[c>>2];break h}if(d>>>0>f>>>0){F[a+32>>2]=(f<<3)+g}if(!f){break a}}d=F[b>>2];b=0;a=0;while(1){c=j+(b<<2)|0;h=F[c>>2];e=a;i=(b<<3)+g|0;F[i+4>>2]=a;F[i>>2]=h;c=F[c>>2];a=c+a|0;if(a>>>0>4096){break a}i:{if(a>>>0<=e>>>0){break i}h=0;i=c&7;if(i){while(1){F[d+(e<<2)>>2]=b;e=e+1|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}if(c-1>>>0<=6){break i}while(1){c=d+(e<<2)|0;F[c>>2]=b;F[c+28>>2]=b;F[c+24>>2]=b;F[c+20>>2]=b;F[c+16>>2]=b;F[c+12>>2]=b;F[c+8>>2]=b;F[c+4>>2]=b;e=e+8|0;if((e|0)!=(a|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}o=(a|0)==4096}return o}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=Z-32|0;Z=f;e=f+8|0;c=Z-80|0;Z=c;a=F[b+36>>2];F[c+72>>2]=F[b+32>>2];F[c+76>>2]=a;d=F[b+28>>2];a=c- -64|0;F[a>>2]=F[b+24>>2];F[a+4>>2]=d;a=F[b+20>>2];F[c+56>>2]=F[b+16>>2];F[c+60>>2]=a;a=F[b+12>>2];F[c+48>>2]=F[b+8>>2];F[c+52>>2]=a;a=F[b+4>>2];F[c+40>>2]=F[b>>2];F[c+44>>2]=a;jc(c+8|0,c+40|0,c+24|0);a=F[c+8>>2];a:{if(a){F[e>>2]=a;a=e+4|0;if(D[c+23|0]>=0){b=c+8|4;e=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=e;F[a+8>>2]=F[b+8>>2];break a}ra(a,F[c+12>>2],F[c+16>>2]);if(D[c+23|0]>=0){break a}ja(F[c+12>>2]);break a}if(D[c+23|0]<0){ja(F[c+12>>2])}a=G[c+31|0];if(a>>>0>=2){b=ka(32);D[b+26|0]=0;a=G[1475]|G[1476]<<8;D[b+24|0]=a;D[b+25|0]=a>>>8;a=G[1471]|G[1472]<<8|(G[1473]<<16|G[1474]<<24);d=G[1467]|G[1468]<<8|(G[1469]<<16|G[1470]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=a;D[b+21|0]=a>>>8;D[b+22|0]=a>>>16;D[b+23|0]=a>>>24;a=G[1463]|G[1464]<<8|(G[1465]<<16|G[1466]<<24);d=G[1459]|G[1460]<<8|(G[1461]<<16|G[1462]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=a;D[b+13|0]=a>>>8;D[b+14|0]=a>>>16;D[b+15|0]=a>>>24;a=G[1455]|G[1456]<<8|(G[1457]<<16|G[1458]<<24);d=G[1451]|G[1452]<<8|(G[1453]<<16|G[1454]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=a;D[b+5|0]=a>>>8;D[b+6|0]=a>>>16;D[b+7|0]=a>>>24;F[c+8>>2]=-1;a=c+8|4;ra(a,b,26);d=D[c+23|0];F[e>>2]=F[c+8>>2];e=e+4|0;if((d|0)>=0){d=F[a+4>>2];F[e>>2]=F[a>>2];F[e+4>>2]=d;F[e+8>>2]=F[a+8>>2];ja(b);break a}ra(e,F[c+12>>2],F[c+16>>2]);if(D[c+23|0]<0){ja(F[c+12>>2])}ja(b);break a}F[e>>2]=0;F[e+4>>2]=0;F[e+16>>2]=a;F[e+8>>2]=0;F[e+12>>2]=0}Z=c+80|0;a=F[f+24>>2];if(D[f+23|0]<0){ja(F[f+12>>2])}Z=f+32|0;return a|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=Z-32|0;Z=e;a:{if((c|0)!=3){break a}c=F[a+4>>2];f=F[a+12>>2];F[e+24>>2]=-1;F[e+16>>2]=-1;F[e+20>>2]=1065353216;F[e+8>>2]=-1;F[e+12>>2]=-1;if((b|0)==-2){break a}i=F[F[F[c+4>>2]+8>>2]+(f<<2)>>2];if(($[F[F[c>>2]+8>>2]](c)|0)==1){h=F[F[F[c+4>>2]+8>>2]+(f<<2)>>2];b:{if(($[F[F[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break b}g=$[F[F[c>>2]+36>>2]](c)|0;a=$[F[F[c>>2]+44>>2]](c,f)|0;if(!g|!a){break b}f=$[F[F[c>>2]+40>>2]](c,f)|0;c:{if(f){if((b|0)!=6){break b}b=F[c+44>>2];d=ka(112);F[d+4>>2]=h;c=F[e+12>>2];F[d+8>>2]=F[e+8>>2];F[d+12>>2]=c;c=F[e+20>>2];F[d+16>>2]=F[e+16>>2];F[d+20>>2]=c;F[d+24>>2]=F[e+24>>2];F[d+40>>2]=a;c=a+12|0;F[d+36>>2]=c;F[d+32>>2]=f;F[d+28>>2]=b;F[d+68>>2]=a;F[d- -64>>2]=c;F[d+60>>2]=f;F[d+56>>2]=b;F[d+48>>2]=0;F[d+52>>2]=0;F[d>>2]=5928;F[d+88>>2]=1065353216;F[d+92>>2]=-1;F[d+80>>2]=-1;F[d+84>>2]=-1;F[d+72>>2]=1;F[d+76>>2]=-1;F[d+44>>2]=6492;a=d+96|0;break c}if((b|0)!=6){break b}b=F[c+44>>2];d=ka(112);F[d+4>>2]=h;c=F[e+12>>2];F[d+8>>2]=F[e+8>>2];F[d+12>>2]=c;c=F[e+20>>2];F[d+16>>2]=F[e+16>>2];F[d+20>>2]=c;F[d+24>>2]=F[e+24>>2];F[d+40>>2]=a;c=a+12|0;F[d+36>>2]=c;F[d+32>>2]=g;F[d+28>>2]=b;F[d+68>>2]=a;F[d- -64>>2]=c;F[d+60>>2]=g;F[d+56>>2]=b;F[d+48>>2]=0;F[d+52>>2]=0;F[d>>2]=6932;F[d+88>>2]=1065353216;F[d+92>>2]=-1;F[d+80>>2]=-1;F[d+84>>2]=-1;F[d+72>>2]=1;F[d+76>>2]=-1;F[d+44>>2]=7352;a=d+96|0}F[a>>2]=0;F[a+4>>2]=0;D[a+5|0]=0;D[a+6|0]=0;D[a+7|0]=0;D[a+8|0]=0;D[a+9|0]=0;D[a+10|0]=0;D[a+11|0]=0;D[a+12|0]=0}if(d){break a}}d=ka(28);F[d+4>>2]=i;a=F[e+12>>2];F[d+8>>2]=F[e+8>>2];F[d+12>>2]=a;a=F[e+20>>2];F[d+16>>2]=F[e+16>>2];F[d+20>>2]=a;F[d+24>>2]=F[e+24>>2];F[d>>2]=7764}Z=e+32|0;return d|0}function $c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Z-80|0;Z=f;a:{if(!Wb(1,f+76|0,b)){break a}k=F[f+76>>2];if(!k){break a}c=F[b+8>>2];e=F[b+16>>2];c=ki(c-e|0,F[b+12>>2]-(F[b+20>>2]+(c>>>0>>0)|0)|0,5,0);e=_;if(c>>>0>>0&(e|0)<=0|(e|0)<0){break a}c=F[a+4>>2];d=F[a+8>>2]-c>>2;b:{if(d>>>0>>0){qa(a+4|0,k-d|0);break b}if(d>>>0<=k>>>0){break b}F[a+8>>2]=c+(k<<2)}p=a+16|0;l=F[a+32>>2];while(1){g=F[b+12>>2];c=g;d=F[b+20>>2];h=F[b+8>>2];e=F[b+16>>2];if((c|0)<=(d|0)&h>>>0<=e>>>0|(c|0)<(d|0)){d=0;break a}m=F[b>>2];q=G[m+e|0];c=d;i=e+1|0;c=i?c:c+1|0;F[b+16>>2]=i;F[b+20>>2]=c;if(h>>>0<=i>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){d=0;break a}i=G[i+m|0];c=d;j=e+2|0;c=j>>>0<2?c+1|0:c;F[b+16>>2]=j;F[b+20>>2]=c;if(h>>>0<=j>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){d=0;break a}j=G[j+m|0];c=d;n=e+3|0;c=n>>>0<3?c+1|0:c;F[b+16>>2]=n;F[b+20>>2]=c;if(h>>>0<=n>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){d=0;break a}h=G[m+n|0];c=d;d=e+4|0;c=d>>>0<4?c+1|0:c;F[b+16>>2]=d;F[b+20>>2]=c;if(q>>>0>4){d=0;break a}if((i-12&255)>>>0<245){d=0;break a}if(!j){d=0;break a}c=kb(f+8|0);g=(h|0)!=0;d=i-1|0;if(d>>>0<=10){d=F[(d<<2)+10148>>2]}else{d=-1}d=L(d,j);cc(c,q,j,i,g,d,d>>31);if(Wb(1,f+4|0,b)){e=F[f+4>>2];F[f+68>>2]=e;d=bc(ka(96),c);$[F[F[l>>2]+8>>2]](l,F[l+12>>2]-F[l+8>>2]>>2,d);d=(F[l+12>>2]-F[l+8>>2]>>2)-1|0;h=d<<2;F[F[h+F[l+8>>2]>>2]+60>>2]=e;F[F[a+4>>2]+(o<<2)>>2]=d;c=F[a+16>>2];e=F[a+20>>2]-c>>2;c:{if((e|0)>(d|0)){break c}F[f>>2]=-1;d=d+1|0;if(d>>>0>e>>>0){Fa(p,d-e|0,f);c=F[p>>2];break c}if(d>>>0>=e>>>0){break c}F[a+20>>2]=(d<<2)+c}F[c+h>>2]=o;d=1;o=o+1|0;if((o|0)!=(k|0)){continue}break a}break}d=0}Z=f+80|0;return d|0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=Z-16|0;Z=k;F[k+8>>2]=c;h=F[a+12>>2];d=F[a+8>>2];g=h-d>>2;a:{if((g|0)>(b|0)){break a}e=b+1|0;if(e>>>0>g>>>0){l=e-g|0;f=F[a+16>>2];d=F[a+12>>2];if(l>>>0<=f-d>>2>>>0){if(l){e=d;d=l<<2;d=ma(e,0,d)+d|0}F[a+12>>2]=d;break a}b:{c:{d:{m=F[a+8>>2];g=d-m>>2;i=g+l|0;if(i>>>0<1073741824){e=f-m|0;f=e>>>1|0;e=e>>>0>=2147483644?1073741823:f>>>0>i>>>0?f:i;if(e){if(e>>>0>=1073741824){break d}j=ka(e<<2)}h=(g<<2)+j|0;f=l<<2;i=ma(h,0,f);g=f+i|0;e=(e<<2)+j|0;if((d|0)==(m|0)){break c}while(1){d=d-4|0;f=F[d>>2];F[d>>2]=0;h=h-4|0;F[h>>2]=f;if((d|0)!=(m|0)){continue}break}F[a+16>>2]=e;e=F[a+12>>2];F[a+12>>2]=g;d=F[a+8>>2];F[a+8>>2]=h;if((d|0)==(e|0)){break b}while(1){e=e-4|0;f=F[e>>2];F[e>>2]=0;if(f){xa(f)}if((d|0)!=(e|0)){continue}break}break b}na();v()}oa();v()}F[a+16>>2]=e;F[a+12>>2]=g;F[a+8>>2]=i}if(d){ja(d)}break a}if(e>>>0>=g>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(h|0)){while(1){h=h-4|0;c=F[h>>2];F[h>>2]=0;if(c){xa(c)}if((d|0)!=(h|0)){continue}break}c=F[k+8>>2]}F[a+12>>2]=d}e:{f:{d=F[c+56>>2];g:{if((d|0)>4){break g}j=L(d,12)+a|0;d=F[j+24>>2];if((d|0)!=F[j+28>>2]){F[d>>2]=b;F[j+24>>2]=d+4;break g}i=F[j+20>>2];g=d-i|0;f=g>>2;e=f+1|0;if(e>>>0>=1073741824){break f}d=g>>>1|0;e=g>>>0>=2147483644?1073741823:d>>>0>e>>>0?d:e;if(e){if(e>>>0>=1073741824){break e}d=ka(e<<2)}else{d=0}f=d+(f<<2)|0;F[f>>2]=b;d=pa(d,i,g);F[j+20>>2]=d;F[j+24>>2]=f+4;F[j+28>>2]=d+(e<<2);if(!i){break g}ja(i)}F[c+60>>2]=b;a=F[a+8>>2];F[k+8>>2]=0;a=a+(b<<2)|0;b=F[a>>2];F[a>>2]=c;if(b){xa(b)}a=F[k+8>>2];F[k+8>>2]=0;if(a){xa(a)}Z=k+16|0;return}na();v()}oa();v()}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c;d=a;a:{if(F[a+12>>2]==(b|0)){break a}a=b;b=F[d+4>>2];e=F[d>>2];if((b|0)!=(e|0)){while(1){c=b-12|0;if(D[b-1|0]<0){ja(F[c>>2])}b=c;if((e|0)!=(b|0)){continue}break}}F[d+12>>2]=a;F[d+4>>2]=e;c=F[a>>2];j=a+4|0;if((c|0)==(j|0)){break a}while(1){a=F[d+4>>2];b:{if((a|0)!=F[d+8>>2]){c:{if(D[c+27|0]>=0){b=F[c+20>>2];F[a>>2]=F[c+16>>2];F[a+4>>2]=b;F[a+8>>2]=F[c+24>>2];break c}ra(a,F[c+16>>2],F[c+20>>2])}F[d+4>>2]=a+12;break b}g=0;d:{e:{f:{a=F[d+4>>2];e=F[d>>2];f=(a-e|0)/12|0;b=f+1|0;if(b>>>0<357913942){h=(F[d+8>>2]-e|0)/12|0;k=h<<1;b=h>>>0>=178956970?357913941:b>>>0>>0?k:b;if(b){if(b>>>0>=357913942){break f}g=ka(L(b,12))}h=L(b,12);b=L(f,12)+g|0;g:{if(D[c+27|0]>=0){f=F[c+20>>2];F[b>>2]=F[c+16>>2];F[b+4>>2]=f;F[b+8>>2]=F[c+24>>2];break g}ra(b,F[c+16>>2],F[c+20>>2]);e=F[d>>2];a=F[d+4>>2]}g=g+h|0;f=b+12|0;if((a|0)==(e|0)){break e}while(1){a=a-12|0;h=F[a+4>>2];b=b-12|0;F[b>>2]=F[a>>2];F[b+4>>2]=h;F[b+8>>2]=F[a+8>>2];F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;if((a|0)!=(e|0)){continue}break}F[d+8>>2]=g;a=F[d+4>>2];F[d+4>>2]=f;e=F[d>>2];F[d>>2]=b;if((a|0)==(e|0)){break d}while(1){b=a-12|0;if(D[a-1|0]<0){ja(F[b>>2])}a=b;if((e|0)!=(b|0)){continue}break}break d}na();v()}oa();v()}F[d+8>>2]=g;F[d+4>>2]=f;F[d>>2]=b}if(e){ja(e)}}b=F[c+4>>2];h:{if(b){while(1){a=b;b=F[b>>2];if(b){continue}break h}}while(1){a=F[c+8>>2];b=F[a>>2]!=(c|0);c=a;if(b){continue}break}}c=a;if((j|0)!=(a|0)){continue}break}}a=0;i:{if((i|0)<0){break i}b=F[d>>2];if((F[d+4>>2]-b|0)/12>>>0<=i>>>0){break i}a=b+L(i,12)|0;a=D[a+11|0]<0?F[a>>2]:a}return a|0}function Ad(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,n=0;i=Z-16|0;Z=i;F[i>>2]=b;f=-1;a:{if((b|0)==-1){F[i+4>>2]=-1;break a}f=b+1|0;F[i+4>>2]=(f>>>0)%3|0?f:b-2|0;if((b>>>0)%3|0){f=b-1|0;break a}f=b+2|0}F[i+8>>2]=f;n=(b>>>0)/3|0;b:{c:{d:{while(1){e:{f:{j=F[(l<<2)+i>>2];if((j|0)!=-1){f=F[F[F[a+8>>2]+12>>2]+(j<<2)>>2];if((f|0)!=-1){break f}}f=0;g=F[a+216>>2];if((g|0)==F[a+220>>2]){break e}while(1){g=L(f,144)+g|0;d=F[g+136>>2];c=F[g+140>>2];g:{if(d>>>0>>0){F[d>>2]=j;F[g+136>>2]=d+4;break g}e=d;d=F[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break d}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=ka(h<<2)}else{c=0}e=m+c|0;F[e>>2]=j;c=pa(c,d,k);F[g+132>>2]=c;F[g+136>>2]=e+4;F[g+140>>2]=c+(h<<2);if(!d){break g}ja(d)}f=f+1|0;g=F[a+216>>2];if(f>>>0<(F[a+220>>2]-g|0)/144>>>0){continue}break}break e}if((b|0)==-1|(f>>>0)/3>>>0>>0){break e}f=0;if(F[a+220>>2]==F[a+216>>2]){break e}while(1){h:{if(!wa(F[a+368>>2]+(f<<4)|0)){break h}g=F[a+216>>2]+L(f,144)|0;d=F[g+136>>2];c=F[g+140>>2];if(d>>>0>>0){F[d>>2]=j;F[g+136>>2]=d+4;break h}e=d;d=F[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break b}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=ka(h<<2)}else{c=0}e=m+c|0;F[e>>2]=j;c=pa(c,d,k);F[g+132>>2]=c;F[g+136>>2]=e+4;F[g+140>>2]=c+(h<<2);if(!d){break h}ja(d)}f=f+1|0;if(f>>>0<(F[a+220>>2]-F[a+216>>2]|0)/144>>>0){continue}break}}l=l+1|0;if((l|0)!=3){continue}break}Z=i+16|0;return 1}na();v()}oa();v()}na();v()}function Bd(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;h=Z-16|0;Z=h;m=-1;a:{b:{c:{if(!Da(1,h+12|0,b)){break c}j=F[h+12>>2];if(j){c=F[a+8>>2];if((F[c+4>>2]-F[c>>2]>>2>>>0)/3>>>0>>0){break c}while(1){if(!Da(1,h+8|0,b)){break c}c=F[h+8>>2];if(!Da(1,h+8|0,b)){break c}g=c+g|0;c=F[h+8>>2];if(g>>>0>>0){break c}e=g-c|0;c=F[a+40>>2];d:{if((c|0)!=F[a+44>>2]){F[c+4>>2]=g;F[c>>2]=e;F[a+40>>2]=c+12;j=F[h+12>>2];break d}d=c;c=F[a+36>>2];l=d-c|0;d=(l|0)/12|0;f=d+1|0;if(f>>>0>=357913942){break b}i=d<<1;f=d>>>0>=178956970?357913941:f>>>0>>0?i:f;if(f){if(f>>>0>=357913942){break a}i=ka(L(f,12))}else{i=0}d=i+L(d,12)|0;F[d+4>>2]=g;F[d>>2]=e;e=pa(d+L((l|0)/-12|0,12)|0,c,l);F[a+44>>2]=i+L(f,12);F[a+40>>2]=d+12;F[a+36>>2]=e;if(!c){break d}ja(c)}k=k+1|0;if(k>>>0>>0){continue}break}g=0;hc(b,0,0);if(j){while(1){c=G[b+36|0];d=H[F[a+4>>2]+36>>1];e:{f:{if(((d<<8|d>>>8)&65535)>>>0<=513){if(!c){break e}e=0;d=F[b+32>>2];k=d>>>3|0;f=F[b+24>>2];c=k+f|0;i=F[b+28>>2];g:{if(c>>>0>=i>>>0){c=d;break g}e=G[c|0];c=d+1|0;F[b+32>>2]=c;k=c>>>3|0;e=e>>>(d&7)&1}if(i>>>0>f+k>>>0){break f}break e}if(!c){break e}e=0;c=F[b+32>>2];d=F[b+24>>2]+(c>>>3|0)|0;if(d>>>0>=I[b+28>>2]){break e}e=G[d|0]>>>(c&7)&1}F[b+32>>2]=c+1}c=F[a+36>>2]+L(g,12)|0;D[c+8|0]=G[c+8|0]&254|e&1;g=g+1|0;if((j|0)!=(g|0)){continue}break}}D[b+36|0]=0;d=F[b+20>>2];a=0;e=F[b+32>>2]+7|0;a=e>>>0<7?1:a;e=a<<29|e>>>3;c=e+F[b+16>>2]|0;a=(a>>>3|0)+d|0;F[b+16>>2]=c;F[b+20>>2]=c>>>0>>0?a+1|0:a}m=F[b+16>>2]}Z=h+16|0;return m}na();v()}oa();v()}function xf(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,l=0,m=0,n=0,o=0;m=Z-16|0;Z=m;l=F[b+80>>2];e=G[c+24|0];a=L(l,e);a:{b:{c:{d:{b=F[c+28>>2];if(!(!G[c+84|0]|(b|0)!=1&(b|0)!=2)){b=F[c+48>>2];c=F[F[c>>2]>>2];F[m+8>>2]=0;F[m>>2]=0;F[m+4>>2]=0;if(a){if((a|0)<0){break d}f=ka(a);h=la(f,b+c|0,a)+a|0}a=F[d>>2];if(a){F[d+4>>2]=a;ja(a)}F[d+8>>2]=h;F[d+4>>2]=h;F[d>>2]=f;b=1;break a}if(e){f=ka(e);ma(f,0,e)}e:{i=F[d+4>>2];b=F[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=F[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=ma(i,0,k)+k|0,F[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=ka(i);ma(j+g|0,0,k);g=pa(j,b,g);F[d+8>>2]=g+i;F[d+4>>2]=a+g;F[d>>2]=g;if(!b){break f}ja(b);break f}if(a>>>0>=g>>>0){break f}F[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!Cb(c,G[c+84|0]?a:F[F[c+68>>2]+(a<<2)>>2],D[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!Cb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){D[F[d>>2]+h|0]=G[a+f|0];D[(F[d>>2]+h|0)+1|0]=G[(a|1)+f|0];D[(F[d>>2]+h|0)+2|0]=G[(a|2)+f|0];D[(F[d>>2]+h|0)+3|0]=G[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){D[F[d>>2]+h|0]=G[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}na();v()}na();v()}if(!f){break a}}ja(f)}Z=m+16|0;return b&1}function wf(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,l=0,m=0,n=0,o=0;m=Z-16|0;Z=m;l=F[b+80>>2];e=G[c+24|0];a=L(l,e);a:{b:{c:{d:{b=F[c+28>>2];if(!(!G[c+84|0]|(b|0)!=1&(b|0)!=2)){b=F[c+48>>2];c=F[F[c>>2]>>2];F[m+8>>2]=0;F[m>>2]=0;F[m+4>>2]=0;if(a){if((a|0)<0){break d}f=ka(a);h=la(f,b+c|0,a)+a|0}a=F[d>>2];if(a){F[d+4>>2]=a;ja(a)}F[d+8>>2]=h;F[d+4>>2]=h;F[d>>2]=f;b=1;break a}if(e){f=ka(e);ma(f,0,e)}e:{i=F[d+4>>2];b=F[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=F[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=ma(i,0,k)+k|0,F[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=ka(i);ma(j+g|0,0,k);g=pa(j,b,g);F[d+8>>2]=g+i;F[d+4>>2]=a+g;F[d>>2]=g;if(!b){break f}ja(b);break f}if(a>>>0>=g>>>0){break f}F[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!Bb(c,G[c+84|0]?a:F[F[c+68>>2]+(a<<2)>>2],D[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!Bb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){D[F[d>>2]+h|0]=G[a+f|0];D[(F[d>>2]+h|0)+1|0]=G[(a|1)+f|0];D[(F[d>>2]+h|0)+2|0]=G[(a|2)+f|0];D[(F[d>>2]+h|0)+3|0]=G[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){D[F[d>>2]+h|0]=G[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}na();v()}na();v()}if(!f){break a}}ja(f)}Z=m+16|0;return b&1}function Jb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=F[b+16>>2];h=F[c+4>>2]-k|0;e=F[c>>2]-k|0;F[c>>2]=e;f=h;F[c+4>>2]=f;l=F[b+16>>2];f=f>>31;g=(h^f)-f|0;f=e>>31;m=l>>>0>=g+((f^e)-f|0)>>>0;a:{if(m){f=h;break a}b:{c:{if((e|0)>=0){g=1;j=1;if((h|0)>=0){break b}i=1;g=-1;j=-1;if(e){break c}break b}i=-1;g=-1;j=-1;if((h|0)<=0){break b}}g=(h|0)<=0?-1:1;j=i}n=L(j,l);f=(e<<1)-n|0;i=(L(g,j)|0)>=0;e=L(g,l);f=((i?0-f|0:f)+e|0)/2|0;F[c+4>>2]=f;e=(h<<1)-e|0;e=((i?0-e|0:e)+n|0)/2|0;F[c>>2]=e}d:{e:{f:{g:{h:{i:{j:{if(e){if((e|0)<0){break j}if((f|0)>=0){break i}break f}if(f){break h}j=1;g=0;f=0;i=0;break d}j=1;if((f|0)>0){break g}i=(f|0)>0?3:0;g=f;f=e;break d}g=0-f|0;f=0-e|0;i=2;break e}if((f|0)<=0){break f}}f=0-f|0;g=e;i=3;break e}g=0-e|0;i=1}F[c>>2]=f;F[c+4>>2]=g;j=0}e=F[d>>2]+f|0;h=F[b+16>>2];k:{if((e|0)>(h|0)){e=e-F[b+4>>2]|0;break k}if((0-h|0)<=(e|0)){break k}e=F[b+4>>2]+e|0}c=F[d+4>>2]+g|0;l:{if((h|0)<(c|0)){c=c-F[b+4>>2]|0;break l}if((0-h|0)<=(c|0)){break l}c=F[b+4>>2]+c|0}m:{if(j){b=c;break m}b=c;n:{o:{p:{d=4-i|0;switch((d>>>0<4?d:0-i|0)-1|0){case 2:break n;case 1:break o;case 0:break p;default:break m}}b=0-e|0;e=c;break m}b=0-c|0;e=0-e|0;break m}b=e;e=0-c|0}q:{if(m){c=b;break q}r:{s:{if((e|0)>=0){c=1;f=1;if((b|0)>=0){break r}d=1;c=-1;f=-1;if(e){break s}break r}d=-1;c=-1;f=-1;if((b|0)<=0){break r}}c=(b|0)<=0?-1:1;f=d}d=e<<1;e=L(f,h);d=d-e|0;f=(L(c,f)|0)>=0;g=f?0-d|0:d;d=L(c,h);c=(g+d|0)/2|0;b=(b<<1)-d|0;e=(e+(f?0-b|0:b)|0)/2|0}b=a;F[b>>2]=e+k;F[b+4>>2]=c+k}function Uh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;F[a+8>>2]=e;m=a+32|0;h=F[m>>2];g=F[a+36>>2]-h>>2;a:{if(g>>>0>>0){qa(m,e-g|0);f=F[a+8>>2];break a}f=e;if(f>>>0>=g>>>0){break a}F[a+36>>2]=h+(e<<2);f=e}g=e>>>0>1073741823?-1:e<<2;n=ma(ka(g),0,g);b:{if((f|0)<=0){break b}h=F[a+32>>2];while(1){f=i<<2;g=F[f+n>>2];j=F[a+16>>2];c:{if((g|0)>(j|0)){F[f+h>>2]=j;break c}f=f+h|0;j=F[a+12>>2];if((j|0)>(g|0)){F[f>>2]=j;break c}F[f>>2]=g}f=F[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}if((f|0)<=0){break b}i=0;while(1){g=i<<2;f=g+c|0;g=F[b+g>>2]+F[g+h>>2]|0;F[f>>2]=g;d:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break d}g=g+F[a+20>>2]|0}F[f>>2]=g}f=F[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}if(!((d|0)<=(e|0)|(f|0)<=0)){p=0-e<<2;g=e;while(1){e:{if((f|0)<=0){break e}l=g<<2;o=l+c|0;q=o+p|0;j=F[m>>2];i=0;while(1){f=i<<2;h=F[f+q>>2];k=F[a+16>>2];f:{if((h|0)>(k|0)){F[f+j>>2]=k;break f}f=f+j|0;k=F[a+12>>2];if((k|0)>(h|0)){F[f>>2]=k;break f}F[f>>2]=h}f=F[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}i=0;if((f|0)<=0){break e}l=b+l|0;while(1){h=i<<2;f=h+o|0;h=F[h+l>>2]+F[h+j>>2]|0;F[f>>2]=h;g:{if((h|0)>F[a+16>>2]){h=h-F[a+20>>2]|0}else{if((h|0)>=F[a+12>>2]){break g}h=h+F[a+20>>2]|0}F[f>>2]=h}f=F[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}g=e+g|0;if((g|0)<(d|0)){continue}break}}ja(n);return 1}function yf(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,l=0,m=0,n=0,o=0;j=F[b+80>>2];b=G[c+24|0];g=L(j,b);a:{if(!b){break a}h=b<<2;f=ka(h);a=f;k=b&7;if(k){while(1){F[a>>2]=-1073741824;a=a+4|0;e=e+1|0;if((k|0)!=(e|0)){continue}break}}if((b-1&1073741823)>>>0<7){break a}e=f+h|0;while(1){F[a+24>>2]=-1073741824;F[a+28>>2]=-1073741824;F[a+16>>2]=-1073741824;F[a+20>>2]=-1073741824;F[a+8>>2]=-1073741824;F[a+12>>2]=-1073741824;F[a>>2]=-1073741824;F[a+4>>2]=-1073741824;a=a+32|0;if((e|0)!=(a|0)){continue}break}}e=F[d>>2];a=F[d+4>>2]-e>>2;b:{if(a>>>0>>0){qa(d,g-a|0);break b}if(a>>>0<=g>>>0){break b}F[d+4>>2]=e+(g<<2)}c:{d:{e:{if(!j){i=1;break e}if(!b){a=0;while(1){if(!lb(c,G[c+84|0]?a:F[F[c+68>>2]+(a<<2)>>2],D[c+24|0],f)){break e}a=a+1|0;i=j>>>0<=a>>>0;if((a|0)!=(j|0)){continue}break}break e}n=b&252;k=b&3;o=b>>>0<4;e=0;b=0;while(1){if(!lb(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],f)){break e}m=F[d>>2];i=0;a=0;l=0;if(!o){while(1){g=(e<<2)+m|0;h=a<<2;J[g>>2]=J[h+f>>2];J[g+4>>2]=J[(h|4)+f>>2];J[g+8>>2]=J[(h|8)+f>>2];J[g+12>>2]=J[(h|12)+f>>2];a=a+4|0;e=e+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(k){while(1){J[(e<<2)+m>>2]=J[(a<<2)+f>>2];a=a+1|0;e=e+1|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}}b=b+1|0;i=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break d}if(!f){break c}}ja(f)}return i|0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=Z-16|0;Z=k;c=F[b+20>>2];d=F[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=F[b+12>>2];a:{if(I[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){break a}d=d+F[b>>2]|0;h=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=e;F[b+20>>2]=c;if((h|0)<0){break a}Na(a+76|0,h);c=k;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;b:{if(!Aa(c,b)){break b}if(h){g=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^g;if(e&1){d=F[f>>2]&(d^-1)}else{d=d|F[f>>2]}g=e^1;F[f>>2]=d;i=i+1|0;if((h|0)!=(i|0)){continue}break}}i=0;c=F[b+8>>2];e=F[b+12>>2];f=e;e=F[b+20>>2];g=e;l=F[b+16>>2];d=l+4|0;e=d>>>0<4?e+1|0:e;h=d;if(d>>>0>c>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break b}m=F[b>>2];d=m+l|0;j=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=h;F[b+20>>2]=e;d=c;c=g;e=l+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break b}d=h+m|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=e;F[b+20>>2]=c;if((d|0)<(j|0)){break b}F[a+16>>2]=d;F[a+12>>2]=j;c=(d>>31)-((j>>31)+(d>>>0>>0)|0)|0;b=d-j|0;if(!c&b>>>0>2147483646|c){break b}i=1;c=b+1|0;F[a+20>>2]=c;b=c>>>1|0;F[a+24>>2]=b;F[a+28>>2]=0-b;if(c&1){break b}F[a+24>>2]=b-1}}Z=k+16|0;return i|0}function tf(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,l=0,m=0,n=0,o=0,p=0;a=0;k=Z-16|0;Z=k;j=F[b+80>>2];e=G[c+24|0];b=L(j,e);a:{b:{c:{d:{f=F[c+28>>2];if(!(!G[c+84|0]|(f|0)!=5&(f|0)!=6)){e=F[c+48>>2];c=F[F[c>>2]>>2];F[k+8>>2]=0;F[k>>2]=0;F[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=ka(b);g=la(a,c+e|0,b)+b|0}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=a;h=1;break a}if(e){f=e<<2;a=ka(f);ma(a,0,f)}i=F[d>>2];f=F[d+4>>2]-i>>2;e:{if(f>>>0>>0){qa(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}F[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!xb(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!xb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break c}n=F[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;F[f>>2]=F[i+a>>2];F[f+4>>2]=F[(i|4)+a>>2];F[f+8>>2]=F[(i|8)+a>>2];F[f+12>>2]=F[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){F[(g<<2)+n>>2]=F[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}na();v()}if(!a){break a}}ja(a)}Z=k+16|0;return h|0}function cd(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,l=0,m=0,n=0,o=0,p=0;a=0;k=Z-16|0;Z=k;j=F[b+80>>2];e=G[c+24|0];b=L(j,e);a:{b:{c:{d:{f=F[c+28>>2];if(!(!G[c+84|0]|(f|0)!=5&(f|0)!=6)){e=F[c+48>>2];c=F[F[c>>2]>>2];F[k+8>>2]=0;F[k>>2]=0;F[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=ka(b);g=la(a,c+e|0,b)+b|0}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=a;h=1;break a}if(e){f=e<<2;a=ka(f);ma(a,0,f)}i=F[d>>2];f=F[d+4>>2]-i>>2;e:{if(f>>>0>>0){qa(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}F[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!yb(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!yb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break c}n=F[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;F[f>>2]=F[i+a>>2];F[f+4>>2]=F[(i|4)+a>>2];F[f+8>>2]=F[(i|8)+a>>2];F[f+12>>2]=F[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){F[(g<<2)+n>>2]=F[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}na();v()}if(!a){break a}}ja(a)}Z=k+16|0;return h|0}function vf(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,l=0,m=0,n=0,o=0,p=0;a=0;k=Z-16|0;Z=k;j=F[b+80>>2];e=G[c+24|0];b=L(j,e);a:{b:{c:{d:{f=F[c+28>>2];if(!(!G[c+84|0]|(f|0)!=3&(f|0)!=4)){e=F[c+48>>2];c=F[F[c>>2]>>2];F[k+8>>2]=0;F[k>>2]=0;F[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=ka(b);g=la(a,c+e|0,b)+b|0}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=a;h=1;break a}if(e){f=e<<1;a=ka(f);ma(a,0,f)}i=F[d>>2];f=F[d+4>>2]-i>>1;e:{if(f>>>0>>0){kd(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}F[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!Ab(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!Ab(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break c}n=F[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;E[f>>1]=H[i+a>>1];E[f+2>>1]=H[(i|2)+a>>1];E[f+4>>1]=H[(i|4)+a>>1];E[f+6>>1]=H[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){E[(g<<1)+n>>1]=H[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}na();v()}if(!a){break a}}ja(a)}Z=k+16|0;return h|0}function uf(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,l=0,m=0,n=0,o=0,p=0;a=0;k=Z-16|0;Z=k;j=F[b+80>>2];e=G[c+24|0];b=L(j,e);a:{b:{c:{d:{f=F[c+28>>2];if(!(!G[c+84|0]|(f|0)!=3&(f|0)!=4)){e=F[c+48>>2];c=F[F[c>>2]>>2];F[k+8>>2]=0;F[k>>2]=0;F[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=ka(b);g=la(a,c+e|0,b)+b|0}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=a;h=1;break a}if(e){f=e<<1;a=ka(f);ma(a,0,f)}i=F[d>>2];f=F[d+4>>2]-i>>1;e:{if(f>>>0>>0){kd(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}F[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!zb(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!zb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break c}n=F[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;E[f>>1]=H[i+a>>1];E[f+2>>1]=H[(i|2)+a>>1];E[f+4>>1]=H[(i|4)+a>>1];E[f+6>>1]=H[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){E[(g<<1)+n>>1]=H[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}na();v()}if(!a){break a}}ja(a)}Z=k+16|0;return h|0}function kc(a,b){var c=0,d=0,e=0,f=0,g=0;f=-1;d=-1;a:{if((b|0)==-1){break a}d=b+1|0;f=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}b:{c:{d:{switch(F[a+168>>2]){case 0:case 1:e=F[a+148>>2];c=1;b=F[a+156>>2];g=b+(((f|0)==-1?-1:F[F[e>>2]+(f<<2)>>2])<<2)|0;F[g>>2]=F[g>>2]+1;b=(((d|0)==-1?-1:F[F[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 5:e=F[a+148>>2];c=-1;c=((b|0)!=-1?F[F[e>>2]+(b<<2)>>2]:c)<<2;b=F[a+156>>2];c=c+b|0;F[c>>2]=F[c>>2]+1;c=(((f|0)==-1?-1:F[F[e>>2]+(f<<2)>>2])<<2)+b|0;F[c>>2]=F[c>>2]+1;c=2;b=(((d|0)==-1?-1:F[F[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 3:e=F[a+148>>2];c=-1;c=((b|0)!=-1?F[F[e>>2]+(b<<2)>>2]:c)<<2;b=F[a+156>>2];c=c+b|0;F[c>>2]=F[c>>2]+1;c=(((f|0)==-1?-1:F[F[e>>2]+(f<<2)>>2])<<2)+b|0;F[c>>2]=F[c>>2]+2;c=1;b=(((d|0)==-1?-1:F[F[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 7:break d;default:break b}}e=F[a+148>>2];c=-1;c=((b|0)!=-1?F[F[e>>2]+(b<<2)>>2]:c)<<2;b=F[a+156>>2];c=c+b|0;F[c>>2]=F[c>>2]+2;c=(((f|0)==-1?-1:F[F[e>>2]+(f<<2)>>2])<<2)+b|0;F[c>>2]=F[c>>2]+2;c=2;b=(((d|0)==-1?-1:F[F[e>>2]+(d<<2)>>2])<<2)+b|0}F[b>>2]=F[b>>2]+c}c=a;b=F[F[a+156>>2]+(((f|0)==-1?-1:F[F[F[a+148>>2]>>2]+(f<<2)>>2])<<2)>>2];d=F[a+180>>2];a=F[a+176>>2];F[c+172>>2]=(a|0)<=(b|0)?((b|0)<(d|0)?b:d)-a|0:0}function Dg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b=F[a+32>>2];f=F[b+8>>2];h=F[b+12>>2];g=F[b+20>>2];c=F[b+16>>2];e=0;b:{if((h|0)<=(g|0)&c>>>0>=f>>>0|(g|0)>(h|0)){break b}f=G[F[b>>2]+c|0];e=b;b=g;c=c+1|0;b=c?b:b+1|0;F[e+16>>2]=c;F[e+20>>2]=b;c:{if(!f){break c}while(1){if($[F[F[a>>2]+16>>2]](a,d)|0){d=d+1|0;if((f|0)!=(d|0)){continue}break c}break}return 0}d=F[a+8>>2];b=F[a+12>>2];if((d|0)!=(b|0)){while(1){c=F[d>>2];if(!($[F[F[c>>2]+8>>2]](c,a,F[a+4>>2])|0)){break a}d=d+4|0;if((b|0)!=(d|0)){continue}break}}d:{if(!f){break d}d=0;while(1){b=F[F[a+8>>2]+(d<<2)>>2];if(!($[F[F[b>>2]+12>>2]](b,F[a+32>>2])|0)){break a}d=d+1|0;if((f|0)!=(d|0)){continue}break}if(!f){break d}i=a+20|0;b=0;while(1){d=0;j=b<<2;c=F[j+F[a+8>>2]>>2];k=$[F[F[c>>2]+24>>2]](c)|0;if((k|0)>0){while(1){c=F[F[a+8>>2]+j>>2];c=$[F[F[c>>2]+20>>2]](c,d)|0;e=F[a+20>>2];g=F[a+24>>2]-e>>2;e:{if(c>>>0>>0){break e}h=c+1|0;if(h>>>0>g>>>0){qa(i,h-g|0);e=F[i>>2];break e}if(g>>>0<=h>>>0){break e}F[a+24>>2]=(h<<2)+e}F[(c<<2)+e>>2]=b;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}}e=0;if(!($[F[F[a>>2]+28>>2]](a)|0)){break b}e=$[F[F[a>>2]+32>>2]](a)|0}return e|0}return 0}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Oc(a,b,c);c=F[a+84>>2];d=F[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=F[a+92>>2];c=F[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;e=d&7;if(e){while(1){F[b>>2]=1;b=b+4|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){F[b+24>>2]=1;F[b+28>>2]=1;F[b+16>>2]=1;F[b+20>>2]=1;F[b+8>>2]=1;F[b+12>>2]=1;F[b>>2]=1;F[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}F[a+88>>2]=c;break b}d:{b=c;c=F[a+84>>2];i=b-c|0;g=i>>2;b=g+d|0;if(b>>>0<1073741824){e=e-c|0;h=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>>0?h:b;if(e){if(e>>>0>=1073741824){break d}j=ka(e<<2)}g=(g<<2)+j|0;b=g;h=d&7;if(h){while(1){F[b>>2]=1;b=b+4|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=g+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){F[b+24>>2]=1;F[b+28>>2]=1;F[b+16>>2]=1;F[b+20>>2]=1;F[b+8>>2]=1;F[b+12>>2]=1;F[b>>2]=1;F[b+4>>2]=1;b=b+32|0;if((f|0)!=(b|0)){continue}break}}b=pa(j,c,i);F[a+88>>2]=f;F[a+84>>2]=b;F[a+92>>2]=b+(e<<2);if(c){ja(c)}break b}na();v()}oa();v()}return}if(b>>>0>=d>>>0){break a}F[a+88>>2]=c+(b<<2)}}function ab(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=F[a+8>>2];e=F[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){F[d>>2]=F[c>>2];d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}F[a+4>>2]=e;return}b:{i=F[a>>2];f=e-i>>2;h=f+b|0;if(h>>>0<1073741824){j=d-i|0;d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break b}k=ka(h<<2)}f=(f<<2)+k|0;d=f;j=b&7;if(j){while(1){F[d>>2]=F[c>>2];d=d+4|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}g=(b<<2)+f|0;if((b-1&1073741823)>>>0>=7){while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;if((g|0)!=(d|0)){continue}break}}if((e|0)!=(i|0)){while(1){f=f-4|0;e=e-4|0;F[f>>2]=F[e>>2];if((e|0)!=(i|0)){continue}break}}F[a+8>>2]=(h<<2)+k;F[a+4>>2]=g;F[a>>2]=f;if(i){ja(i)}return}na();v()}oa();v()}function Xb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=F[a+8>>2];e=F[a>>2];if(d-e>>2>>>0>=b>>>0){f=F[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){F[d>>2]=F[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){F[f>>2]=F[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}F[a+4>>2]=b;return}F[a+4>>2]=e+(b<<2);return}if(e){F[a+4>>2]=e;ja(e);F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=ka(d);F[a>>2]=e;F[a+8>>2]=d+e;c=F[c>>2];d=e;g=b&7;if(g){while(1){F[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){F[d+28>>2]=c;F[d+24>>2]=c;F[d+20>>2]=c;F[d+16>>2]=c;F[d+12>>2]=c;F[d+8>>2]=c;F[d+4>>2]=c;F[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}F[a+4>>2]=e;return}na();v()}function Ka(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=(c>>>0)/3|0;j=F[(F[F[a+8>>2]+96>>2]+L(f,12)|0)+(c-L(f,3)<<2)>>2];a:{h=F[F[a+12>>2]+4>>2];e=F[h+4>>2];if((e|0)!=F[h+8>>2]){F[e>>2]=j;F[h+4>>2]=e+4;break a}b:{i=F[h>>2];f=e-i|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){k=g<<2;g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break b}f=ka(g<<2)}else{f=0}d=k+f|0;F[d>>2]=j;j=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;F[d>>2]=F[e>>2];if((e|0)!=(i|0)){continue}break}}F[h+8>>2]=f+(g<<2);F[h+4>>2]=j;F[h>>2]=d;if(i){ja(i)}break a}na();v()}oa();v()}c:{d:{h=F[a+4>>2];e=F[h+4>>2];e:{if((e|0)!=F[h+8>>2]){F[e>>2]=c;F[h+4>>2]=e+4;break e}i=F[h>>2];f=e-i|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break d}g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break c}f=ka(g<<2)}else{f=0}d=f+(j<<2)|0;F[d>>2]=c;c=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;F[d>>2]=F[e>>2];if((e|0)!=(i|0)){continue}break}}F[h+8>>2]=f+(g<<2);F[h+4>>2]=c;F[h>>2]=d;if(!i){break e}ja(i)}a=F[a+4>>2];F[F[a+12>>2]+(b<<2)>>2]=F[a+24>>2];F[a+24>>2]=F[a+24>>2]+1;return}na();v()}oa();v()}function pb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=d-c|0;if((h|0)<=0){return}a:{e=F[a+8>>2];i=F[a+4>>2];if((e-i|0)>=(h|0)){j=i-b|0;if((j|0)>=(h|0)){f=i;g=d;break a}f=i;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){D[f|0]=G[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}F[a+4>>2]=f;if((j|0)>0){break a}return}k=F[a>>2];g=(i-k|0)+h|0;if((g|0)>=0){j=b-k|0;f=e-k|0;e=f<<1;f=f>>>0>=1073741823?2147483647:e>>>0>g>>>0?e:g;if(f){e=ka(f)}else{e=0}g=j+e|0;if((c|0)!=(d|0)){g=la(g,c,h)+h|0}d=pa(e,k,j);c=i-b|0;b=pa(g,b,c);F[a+8>>2]=e+f;F[a+4>>2]=b+c;F[a>>2]=d;if(k){ja(k)}return}na();v()}e=f;d=e-h|0;if(i>>>0>d>>>0){while(1){D[e|0]=G[d|0];e=e+1|0;d=d+1|0;if(i>>>0>d>>>0){continue}break}}F[a+4>>2]=e;a=b+h|0;if((a|0)!=(f|0)){a=f-a|0;pa(f-a|0,b,a)}if((c|0)==(g|0)){return}f=(c^-1)+g|0;a=g-c&7;b:{if(!a){e=b;break b}d=0;e=b;while(1){D[e|0]=G[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((a|0)!=(d|0)){continue}break}}if(f>>>0<7){return}while(1){D[e|0]=G[c|0];D[e+1|0]=G[c+1|0];D[e+2|0]=G[c+2|0];D[e+3|0]=G[c+3|0];D[e+4|0]=G[c+4|0];D[e+5|0]=G[c+5|0];D[e+6|0]=G[c+6|0];D[e+7|0]=G[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function la(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){Y(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){F[c>>2]=F[b>>2];F[c+4>>2]=F[b+4>>2];F[c+8>>2]=F[b+8>>2];F[c+12>>2]=F[b+12>>2];F[c+16>>2]=F[b+16>>2];F[c+20>>2]=F[b+20>>2];F[c+24>>2]=F[b+24>>2];F[c+28>>2]=F[b+28>>2];F[c+32>>2]=F[b+32>>2];F[c+36>>2]=F[b+36>>2];F[c+40>>2]=F[b+40>>2];F[c+44>>2]=F[b+44>>2];F[c+48>>2]=F[b+48>>2];F[c+52>>2]=F[b+52>>2];F[c+56>>2]=F[b+56>>2];F[c+60>>2]=F[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){F[c>>2]=F[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){D[c|0]=G[b|0];D[c+1|0]=G[b+1|0];D[c+2|0]=G[b+2|0];D[c+3|0]=G[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function sd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;F[a>>2]=8336;d=a+232|0;b=F[d+196>>2];if(b){F[d+200>>2]=b;ja(b)}c=F[d+184>>2];if(c){b=c;e=F[d+188>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=F[b>>2];if(f){F[e-8>>2]=f;ja(f)}e=b;if((b|0)!=(c|0)){continue}break}b=F[d+184>>2]}F[d+188>>2]=c;ja(b)}b=F[d+156>>2];if(b){F[d+160>>2]=b;ja(b)}c=F[d+136>>2];F[d+136>>2]=0;if(c){e=c-4|0;b=F[e>>2];if(b){b=c+(b<<4)|0;while(1){b=b-16|0;if((c|0)!=(b|0)){continue}break}}ja(e)}td(a+216|0);b=F[a+196>>2];if(b){F[a+200>>2]=b;ja(b)}b=F[a+184>>2];if(b){F[a+188>>2]=b;ja(b)}b=F[a+172>>2];if(b){F[a+176>>2]=b;ja(b)}b=F[a+160>>2];if(b){F[a+164>>2]=b;ja(b)}b=F[a+144>>2];if(b){while(1){c=F[b>>2];ja(b);b=c;if(b){continue}break}}b=F[a+136>>2];F[a+136>>2]=0;if(b){ja(b)}b=F[a+120>>2];if(b){ja(b)}b=F[a+108>>2];if(b){ja(b)}b=F[a+96>>2];if(b){ja(b)}b=F[a+72>>2];if(b){F[a+76>>2]=b;ja(b)}b=F[a+60>>2];if(b){ja(b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}b=F[a+36>>2];if(b){F[a+40>>2]=b;ja(b)}b=F[a+24>>2];if(b){F[a+28>>2]=b;ja(b)}b=F[a+12>>2];if(b){F[a+16>>2]=b;ja(b)}b=F[a+8>>2];F[a+8>>2]=0;if(b){Za(b)}return a|0}function Fa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=F[a+8>>2];e=F[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;f=b&7;if(f){while(1){F[d>>2]=F[c>>2];d=d+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}F[a+4>>2]=e;return}b:{i=F[a>>2];j=e-i|0;f=j>>2;g=f+b|0;if(g>>>0<1073741824){d=d-i|0;e=d>>>1|0;g=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break b}k=ka(g<<2)}f=(f<<2)+k|0;d=f;e=b&7;if(e){while(1){F[d>>2]=F[c>>2];d=d+4|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}e=f+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}b=pa(k,i,j);F[a+4>>2]=e;F[a>>2]=b;F[a+8>>2]=b+(g<<2);if(i){ja(i)}return}na();v()}oa();v()}function Sb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(G[a+11|0]>>>7|0){d=F[a+4>>2]}else{d=G[a+11|0]&127}if(d>>>0>>0){h=Z-16|0;Z=h;b=b-d|0;if(b){g=G[a+11|0]>>>7|0?(F[a+8>>2]&2147483647)-1|0:10;if(G[a+11|0]>>>7|0){d=F[a+4>>2]}else{d=G[a+11|0]&127}i=d+b|0;if(g-d>>>0>>0){a:{e=Z-16|0;Z=e;c=i-g|0;if(c>>>0<=2147483631-g>>>0){if(G[a+11|0]>>>7|0){f=F[a>>2]}else{f=a}if(g>>>0<1073741799){F[e+12>>2]=g<<1;F[e>>2]=c+g;c=Z-16|0;Z=c;Z=c+16|0;c=e+12|0;c=F[(I[e>>2]>2]?c:e)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}sb(e,c);c=F[e>>2];if(d){db(c,f,d)}if((g|0)!=10){ja(f)}F[a>>2]=c;F[a+8>>2]=F[a+8>>2]&-2147483648|F[e+4>>2]&2147483647;F[a+8>>2]=F[a+8>>2]|-2147483648;Z=e+16|0;break a}za();v()}}f=d;if(G[a+11|0]>>>7|0){d=F[a>>2]}else{d=a}f=f+d|0;e=Z-16|0;Z=e;D[e+15|0]=0;while(1){if(b){D[f|0]=G[e+15|0];b=b-1|0;f=f+1|0;continue}break}Z=e+16|0;Ic(a,i);D[h+15|0]=0;D[d+i|0]=G[h+15|0]}Z=h+16|0;return}if(G[a+11|0]>>>7|0){d=F[a>>2]}else{d=a}f=Z-16|0;Z=f;Ic(a,b);D[f+15|0]=0;D[b+d|0]=G[f+15|0];Z=f+16|0}function Zc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=Z-16|0;Z=g;a:{b:{if(b){F[a+88>>2]=0;F[a+92>>2]=0;d=F[a+84>>2];F[a+84>>2]=0;if(d){ja(d)}F[a+76>>2]=0;F[a+80>>2]=0;d=F[a+72>>2];F[a+72>>2]=0;if(d){ja(d)}d=F[b>>2];c=F[b+4>>2];D[g+15|0]=0;Ea(a,c-d>>2,g+15|0);d=F[b+28>>2];c=F[b+24>>2];D[g+14|0]=0;Ea(a+12|0,d-c>>2,g+14|0);Xb(a+28|0,F[b+4>>2]-F[b>>2]>>2,10284);c=F[b+28>>2]-F[b+24>>2]|0;f=c>>2;e=F[a+52>>2];c:{if(f>>>0<=F[a+60>>2]-e>>2>>>0){break c}if((c|0)<0){break b}d=F[a+56>>2];c=ka(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;F[c>>2]=F[d>>2];if((d|0)!=(e|0)){continue}break}}F[a+60>>2]=f;F[a+56>>2]=h;F[a+52>>2]=c;if(!e){break c}ja(e)}c=F[b+28>>2]-F[b+24>>2]|0;f=c>>2;e=F[a+40>>2];d:{if(f>>>0<=F[a+48>>2]-e>>2>>>0){break d}if((c|0)<0){break a}d=F[a+44>>2];c=ka(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;F[c>>2]=F[d>>2];if((d|0)!=(e|0)){continue}break}}F[a+48>>2]=f;F[a+44>>2]=h;F[a+40>>2]=c;if(!e){break d}ja(e)}D[a+24|0]=1;F[a+64>>2]=b}Z=g+16|0;return}na();v()}na();v()}function nb(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);D[b+12|0]=c;a:{if(c){break a}while(1){d=F[b+8>>2];if(G[d+12|0]){break a}b:{c=F[d+8>>2];e=F[c>>2];if((e|0)==(d|0)){e=F[c+4>>2];if(!(!e|G[e+12|0])){break b}c:{if(F[d>>2]==(b|0)){b=d;break c}b=F[d+4>>2];a=F[b>>2];F[d+4>>2]=a;if(a){F[a+8>>2]=d;c=F[d+8>>2]}F[b+8>>2]=c;a=F[d+8>>2];F[((F[a>>2]!=(d|0))<<2)+a>>2]=b;F[b>>2]=d;F[d+8>>2]=b;c=F[b+8>>2];d=F[c>>2]}D[b+12|0]=1;D[c+12|0]=0;a=F[d+4>>2];F[c>>2]=a;if(a){F[a+8>>2]=c}F[d+8>>2]=F[c+8>>2];a=F[c+8>>2];F[((F[a>>2]!=(c|0))<<2)+a>>2]=d;F[d+4>>2]=c;F[c+8>>2]=d;return}if(!(G[e+12|0]|!e)){break b}d:{if(F[d>>2]!=(b|0)){b=d;break d}a=F[b+4>>2];F[d>>2]=a;if(a){F[a+8>>2]=d;c=F[d+8>>2]}F[b+8>>2]=c;a=F[d+8>>2];F[((F[a>>2]!=(d|0))<<2)+a>>2]=b;F[b+4>>2]=d;F[d+8>>2]=b;c=F[b+8>>2]}D[b+12|0]=1;D[c+12|0]=0;a=F[c+4>>2];b=F[a>>2];F[c+4>>2]=b;if(b){F[b+8>>2]=c}F[a+8>>2]=F[c+8>>2];b=F[c+8>>2];F[((F[b>>2]!=(c|0))<<2)+b>>2]=a;F[a>>2]=c;F[c+8>>2]=a;break a}D[d+12|0]=1;D[c+12|0]=(a|0)==(c|0);D[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function mi(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!c){break k}if(!d){break j}e=O(d)-O(b)|0;if(e>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}_=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}if(!d|d-1&d){break g}a=b>>>ji(d)|0;_=0;break a}if(!(c-1&c)){break f}h=(O(c)+33|0)-O(b)|0;g=0-h|0;break d}h=e+1|0;g=63-e|0;break d}_=0;a=(b>>>0)/(d>>>0)|0;break a}e=O(d)-O(b)|0;if(e>>>0<31){break e}break c}if((c|0)==1){break b}d=ji(c);c=d&31;if((d&63)>>>0>=32){a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}_=e;break a}h=e+1|0;g=63-e|0}e=h&63;f=e&31;if(e>>>0>=32){e=0;i=b>>>f|0}else{e=b>>>f|0;i=((1<>>f}g=g&63;f=g&31;if(g>>>0>=32){b=a<>>32-f|b<>>31;e=i<<1|b>>>31;f=m-(j+(e>>>0>g>>>0)|0)>>31;k=c&f;i=e-k|0;e=j-((d&f)+(e>>>0>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=f&1;h=h-1|0;if(h){continue}break}}_=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}_=b}return a}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=F[b+88>>2];if(!(!c|F[c>>2]!=1)){e=F[c+8>>2];F[a+4>>2]=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);f=a+8|0;d=G[b+24|0];h=F[a+8>>2];g=F[a+12>>2]-h>>2;a:{if(d>>>0>g>>>0){qa(f,d-g|0);d=G[b+24|0];e=F[c+8>>2];break a}if(d>>>0>=g>>>0){break a}F[a+12>>2]=h+(d<<2)}b:{if(!d){b=4;break b}h=d&3;f=F[f>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){g=d<<2;c=b+e|0;F[g+f>>2]=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[f+(g|4)>>2]=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);F[f+(g|8)>>2]=G[c+8|0]|G[c+9|0]<<8|(G[c+10|0]<<16|G[c+11|0]<<24);F[f+(g|12)>>2]=G[c+12|0]|G[c+13|0]<<8|(G[c+14|0]<<16|G[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+e|0;F[f+(d<<2)>>2]=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}d=a;a=b+e|0;F[d+20>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);d=1}return d|0}function Yg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=Z-16|0;Z=g;e=F[a+4>>2];d=F[e>>2];a:{b=F[a+12>>2];c=F[b+28>>2]-F[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=F[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=F[e+4>>2];c=ka(c);f=c+(f<<2)|0;h=c+(b-d&-4)|0;c=h;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[e+8>>2]=f;F[e+4>>2]=h;F[e>>2]=c;if(!d){break b}ja(d)}b=F[a+12>>2];c=F[b+28>>2];b=F[b+24>>2];F[g+12>>2]=0;b=c-b>>2;d=a+96|0;e=F[d>>2];c=F[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){Fa(d,b-c|0,g+12|0);break c}if(b>>>0>=c>>>0){break c}F[a+100>>2]=e+(b<<2)}e=a+8|0;b=F[a+116>>2];d:{if(b){d=F[b>>2];if((d|0)==F[b+4>>2]){c=1;break d}b=0;while(1){c=rd(e,F[(b<<2)+d>>2]);if(!c){break d}f=F[a+116>>2];d=F[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break d}c=1;a=F[a+12>>2];a=F[a+4>>2]-F[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){c=rd(e,L(b,3));if(!c){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}Z=g+16|0;return c|0}na();v()}function md(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{b:{c:{if(!b){if((d|0)<0){break a}f=F[a+4>>2];b=F[a>>2];d=f-b|0;if(c>>>0>d>>>0){g=c-d|0;e=F[a+8>>2];if(g>>>0<=e-f>>>0){i=a,j=ma(f,0,g)+g|0,F[i+4>>2]=j;break c}if((c|0)<0){break b}f=e-b|0;e=f<<1;f=f>>>0>=1073741823?2147483647:c>>>0>>0?e:c;e=ka(f);ma(e+d|0,0,g);d=pa(e,b,d);F[a+8>>2]=d+f;F[a+4>>2]=c+d;F[a>>2]=d;if(!b){break c}ja(b);break c}if(c>>>0>=d>>>0){break c}F[a+4>>2]=b+c;break c}if((d|0)<0){break a}e=F[a+4>>2];f=F[a>>2];g=e-f|0;d:{if((d|0)<=0&c>>>0<=g>>>0|(d|0)<0){break d}if(c>>>0>g>>>0){d=c-g|0;h=F[a+8>>2];if(d>>>0<=h-e>>>0){i=a,j=ma(e,0,d)+d|0,F[i+4>>2]=j;break d}if((c|0)<0){break b}e=h-f|0;h=e<<1;e=e>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=ka(e);ma(h+g|0,0,d);d=pa(h,f,g);F[a+8>>2]=d+e;F[a+4>>2]=c+d;F[a>>2]=d;if(!f){break d}ja(f);break d}if(c>>>0>=g>>>0){break d}F[a+4>>2]=c+f}if(!c){break c}pa(F[a>>2],b,c)}b=F[a+28>>2];c=F[a+24>>2]+1|0;b=c?b:b+1|0;F[a+24>>2]=c;F[a+28>>2]=b;g=1;break a}na();v()}return g}function Lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=F[a+12>>2];c=F[a+68>>2];d=F[c+80>>2];D[b+84|0]=0;n=b+68|0;i=F[b+68>>2];e=F[b+72>>2]-i>>2;a:{if(e>>>0>>0){ab(n,d-e|0,9124);c=F[a+68>>2];d=F[c+80>>2];break a}if(d>>>0>=e>>>0){break a}F[b+72>>2]=i+(d<<2)}b=F[c+100>>2];e=F[c+96>>2];i=(b-e|0)/12|0;m=1;b:{if((b|0)==(e|0)){break b}k=F[k+28>>2];f=F[k>>2];if((f|0)==-1){return 0}o=i>>>0<=1?1:i;c=e;b=0;m=0;while(1){g=F[c>>2];if(g>>>0>=d>>>0){break b}j=F[F[a+72>>2]+12>>2];h=F[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=F[n>>2];F[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=F[g+4>>2];if((h|0)==-1){break b}l=F[c+4>>2];if(l>>>0>=d>>>0){break b}h=F[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}F[f+(l<<2)>>2]=h;g=F[g+8>>2];if((g|0)==-1){break b}c=F[c+8>>2];if(c>>>0>=d>>>0){break b}j=F[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}F[f+(c<<2)>>2]=j;b=b+1|0;m=i>>>0<=b>>>0;if((b|0)==(o|0)){break b}c=e+L(b,12)|0;l=L(b,3);f=F[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return m|0}function ag(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,l=0,m=0;h=F[d+80>>2];e=Z-48|0;Z=e;a=F[a+4>>2];m=a-2|0;a:{if(m>>>0>28){break a}j=F[F[d>>2]>>2]+F[d+48>>2]|0;F[e+16>>2]=a;a=-1<>2]=a^-1;a=-2-a|0;F[e+24>>2]=a;F[e+32>>2]=(a|0)/2;J[e+28>>2]=M(2)/M(a|0);f=F[c>>2];if((f|0)!=F[c+4>>2]){a=0;d=0;while(1){g=F[(d<<2)+f>>2];h=e+36|0;k=F[F[b>>2]>>2];l=F[b+48>>2];f=F[b+40>>2];i=F[b+44>>2];if(!G[b+84|0]){g=F[F[b+68>>2]+(g<<2)>>2]}g=ki(f,i,g,0);i=g;g=g+l|0;la(h,g+k|0,f);Kc(e+16|0,h,e+12|0,e+8|0);f=a<<2;F[f+j>>2]=F[e+12>>2];F[(f|4)+j>>2]=F[e+8>>2];a=a+2|0;d=d+1|0;f=F[c>>2];if(d>>>0>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){k=e+36|0;l=F[F[b>>2]>>2];i=F[b+48>>2];c=F[b+40>>2];f=ki(c,F[b+44>>2],G[b+84|0]?a:F[F[b+68>>2]+(a<<2)>>2],0);g=f;f=f+i|0;la(k,f+l|0,c);Kc(e+16|0,k,e+12|0,e+8|0);c=d<<2;F[c+j>>2]=F[e+12>>2];F[(c|4)+j>>2]=F[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}Z=e+48|0;return m>>>0<29|0}function Zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=F[a+12>>2];d=F[a+108>>2];e=F[d+80>>2];D[b+84|0]=0;m=b+68|0;h=F[b+68>>2];f=F[b+72>>2]-h>>2;a:{if(f>>>0>>0){ab(m,e-f|0,9124);d=F[a+108>>2];e=F[d+80>>2];break a}if(e>>>0>=f>>>0){break a}F[b+72>>2]=h+(e<<2)}b=F[d+100>>2];f=F[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=F[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=F[c>>2];if((i|0)==-1){break b}g=F[d>>2];if(g>>>0>=e>>>0){break b}l=F[F[a+112>>2]+12>>2];j=F[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=F[m>>2];F[i+(g<<2)>>2]=j;g=F[c+4>>2];if((g|0)==-1){break b}j=F[d+4>>2];if(j>>>0>=e>>>0){break b}g=F[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}F[i+(j<<2)>>2]=g;c=F[c+8>>2];if((c|0)==-1){break b}d=F[d+8>>2];if(d>>>0>=e>>>0){break b}c=F[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}F[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=L(b,3);d=f+L(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=M(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=Z-16|0;Z=k;if(F[c+28>>2]==9){d=F[a+4>>2];h=G[c+24|0];e=h<<2;f=ka(e);l=k+8|0;F[l>>2]=1065353216;i=J[a+20>>2];d=-1<0){J[l>>2]=i/M(d|0)}o=(d|0)>0;a:{if(!o){break a}j=F[c+80>>2];if(!j){break a}if(h){p=F[F[b>>2]>>2]+F[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=F[a+8>>2];i=J[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;J[g+f>>2]=M(i*M(F[q>>2]))+J[g+m>>2];g=g|4;J[g+f>>2]=M(i*M(F[q+4>>2]))+J[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;J[d+f>>2]=M(i*M(F[(b<<2)+p>>2]))+J[d+m>>2];b=b+1|0}la(F[F[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){la(F[F[c+64>>2]>>2]+b|0,f,e);b=b+e|0;la(b+F[F[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}la(F[F[c+64>>2]>>2]+b|0,f,e)}ja(f)}Z=k+16|0;return o|0}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=F[a+12>>2];d=F[a+68>>2];e=F[d+80>>2];D[b+84|0]=0;m=b+68|0;h=F[b+68>>2];f=F[b+72>>2]-h>>2;a:{if(f>>>0>>0){ab(m,e-f|0,9124);d=F[a+68>>2];e=F[d+80>>2];break a}if(e>>>0>=f>>>0){break a}F[b+72>>2]=h+(e<<2)}b=F[d+100>>2];f=F[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=F[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=F[c>>2];if((i|0)==-1){break b}g=F[d>>2];if(g>>>0>=e>>>0){break b}l=F[F[a+72>>2]+12>>2];j=F[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=F[m>>2];F[i+(g<<2)>>2]=j;g=F[c+4>>2];if((g|0)==-1){break b}j=F[d+4>>2];if(j>>>0>=e>>>0){break b}g=F[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}F[i+(j<<2)>>2]=g;c=F[c+8>>2];if((c|0)==-1){break b}d=F[d+8>>2];if(d>>>0>=e>>>0){break b}c=F[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}F[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=L(b,3);d=f+L(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Na(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=Z-16|0;Z=d;a:{f=F[a+4>>2];b:{if(f>>>0>>0){e=b-f|0;c=F[a+8>>2];g=c<<5;c:{if(!(e>>>0>g>>>0|f>>>0>g-e>>>0)){F[a+4>>2]=b;h=f&31;b=F[a>>2]+(f>>>3&536870908)|0;break c}F[d+8>>2]=0;F[d>>2]=0;F[d+4>>2]=0;if((b|0)<0){break a}if(g>>>0<=1073741822){c=c<<6;b=b+31&-32;b=b>>>0>>0?c:b}else{b=2147483647}$a(d,b);f=F[a+4>>2];F[d+4>>2]=f+e;i=F[a>>2];b=F[d>>2];d:{if((f|0)<=0){break d}c=f>>>5|0;if(f>>>0>=32){pa(b,i,c<<2)}g=c<<2;b=g+b|0;h=f&31;if(h){c=-1>>>32-h|0;F[b>>2]=F[b>>2]&(c^-1)|F[i+g>>2]&c}i=F[a>>2]}F[a>>2]=F[d>>2];F[d>>2]=i;c=F[a+4>>2];F[a+4>>2]=F[d+4>>2];F[d+4>>2]=c;c=F[a+8>>2];F[a+8>>2]=F[d+8>>2];F[d+8>>2]=c;if(!i){break c}ja(i)}if(!e){break b}if(h){c=32-h|0;a=c>>>0>>0?c:e;F[b>>2]=F[b>>2]&(-1<>>c-a^-1);e=e-a|0;b=b+4|0}a=e>>>5|0;if(e>>>0>=32){ma(b,0,a<<2)}if((e&-32)==(e|0)){break b}a=(a<<2)+b|0;F[a>>2]=F[a>>2]&(-1>>>32-(e&31)^-1);break b}F[a+4>>2]=b}Z=d+16|0;return}na();v()}function Aa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Z-16|0;Z=i;f=F[b+20>>2];h=F[b+12>>2];c=F[b+16>>2];a:{if((f|0)>=(h|0)&c>>>0>=I[b+8>>2]|(f|0)>(h|0)){break a}D[a+12|0]=G[c+F[b>>2]|0];c=F[b+20>>2];f=F[b+16>>2]+1|0;c=f?c:c+1|0;F[b+16>>2]=f;F[b+20>>2]=c;if(!Qd(1,i+12|0,b)){break a}h=F[b+8>>2];f=F[b+16>>2];g=h-f|0;c=F[i+12>>2];d=f>>>0>h>>>0;h=F[b+20>>2];e=F[b+12>>2]-(d+h|0)|0;if(g>>>0>>0&(e|0)<=0|(e|0)<0|(c|0)<=0){break a}g=f+F[b>>2]|0;F[a>>2]=g;b:{c:{e=c-1|0;j=e+g|0;d=G[j|0];d:{if(d>>>0<=63){F[a+4>>2]=e;d=G[j|0]&63;break d}e:{switch((d>>>6|0)-1|0){case 1:break c;case 0:break e;default:break a}}if(c>>>0<2){break a}e=c-2|0;F[a+4>>2]=e;g=g+e|0;d=G[g+1|0]<<8&16128|G[g|0]}F[a+8>>2]=d+4096;break b}if(c>>>0<3){break a}e=c-3|0;F[a+4>>2]=e;d=a;a=g+e|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];F[d+8>>2]=a+4096;if(a>>>0>1044479){break a}}a=h;d=c;c=c+f|0;a=d>>>0>c>>>0?a+1|0:a;F[b+16>>2]=c;F[b+20>>2]=a;k=1}Z=i+16|0;return k}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=F[a+12>>2];i=F[a+8>>2];d=e-i>>2;b=G[b+24|0];a:{if(d>>>0>>0){qa(a+8|0,b-d|0);i=F[a+8>>2];e=F[a+12>>2];break a}if(b>>>0>=d>>>0){break a}e=(b<<2)+i|0;F[a+12>>2]=e}b=0;f=F[c+8>>2];h=F[c+12>>2];j=F[c+20>>2];e=e-i|0;d=F[c+16>>2];g=e+d|0;j=e>>>0>g>>>0?j+1|0:j;b:{if(f>>>0>>0&(h|0)<=(j|0)|(h|0)<(j|0)){break b}la(i,d+F[c>>2]|0,e);d=F[c+20>>2];g=e;e=e+F[c+16>>2]|0;d=g>>>0>e>>>0?d+1|0:d;F[c+16>>2]=e;F[c+20>>2]=d;f=F[c+8>>2];h=F[c+12>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;if(f>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break b}d=e+F[c>>2]|0;F[a+20>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);d=F[c+20>>2];g=d;f=d;e=F[c+16>>2];d=e+4|0;f=d>>>0<4?f+1|0:f;F[c+16>>2]=d;F[c+20>>2]=f;h=F[c+12>>2];if((f|0)>=(h|0)&d>>>0>=I[c+8>>2]|(f|0)>(h|0)){break b}f=G[d+F[c>>2]|0];d=g;e=e+5|0;d=e>>>0<5?d+1|0:d;F[c+16>>2]=e;F[c+20>>2]=d;if(f-1>>>0>29){break b}F[a+4>>2]=f;b=1}return b|0}function Kc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+J[b>>2];k=+J[b+4>>2];l=+J[b+8>>2];g=N(j)+N(k)+N(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=F[a+16>>2];l=+(h|0);g=R(j*l+.5);b:{if(N(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=R(k*l+.5);c:{if(N(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=F[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=F[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}F[c>>2]=a;F[d>>2]=b}function ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{if(!$c(a,b)){break a}h=a+36|0;g=$[F[F[a>>2]+24>>2]](a)|0;e=F[a+40>>2];d=F[a+36>>2];c=e-d>>2;b:{if(g>>>0>c>>>0){Pb(h,g-c|0);break b}if(c>>>0<=g>>>0){break b}d=d+(g<<2)|0;if((d|0)!=(e|0)){while(1){e=e-4|0;c=F[e>>2];F[e>>2]=0;if(c){$[F[F[c>>2]+4>>2]](c)}if((d|0)!=(e|0)){continue}break}}F[a+40>>2]=d}c=1;if((g|0)<=0){break a}e=0;while(1){c:{c=F[b+20>>2];f=F[b+12>>2];d=F[b+16>>2];if((c|0)>=(f|0)&d>>>0>=I[b+8>>2]|(c|0)>(f|0)){break c}f=G[F[b>>2]+d|0];d=d+1|0;c=d?c:c+1|0;F[b+16>>2]=d;F[b+20>>2]=c;d=$[F[F[a>>2]+48>>2]](a,f)|0;f=e<<2;i=f+F[a+36>>2]|0;c=F[i>>2];F[i>>2]=d;if(c){$[F[F[c>>2]+4>>2]](c)}c=F[F[h>>2]+f>>2];if(!c){break c}if(!(k=c,l=$[F[F[a>>2]+28>>2]](a)|0,m=$[F[F[a>>2]+20>>2]](a,e)|0,j=F[F[c>>2]+8>>2],$[j](k|0,l|0,m|0)|0)){break c}c=1;e=e+1|0;if((g|0)!=(e|0)){continue}break a}break}c=0}return c|0}function Xc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=F[a>>2];c=g+(b>>>3&536870908)|0;F[c>>2]=F[c>>2]|1<>2];e=(b|0)==-1;d=-1;a:{if(e){break a}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;d=-1;if((c|0)==-1){break a}d=F[F[f>>2]+(c<<2)>>2]}c=F[a+12>>2];h=(d>>>3&536870908)+c|0;F[h>>2]=F[h>>2]|1<>>0)%3|0){e=b-1|0;break e}e=b+2|0;d=-1;if((e|0)==-1){break d}}d=F[F[f>>2]+(e<<2)>>2]}e=(d>>>3&536870908)+c|0;F[e>>2]=F[e>>2]|1<>2]+(b<<2)>>2];if((b|0)==-1){break b}D[a+24|0]=0;a=(b>>>3&536870908)+g|0;F[a>>2]=F[a>>2]|1<>>0)%3|0?a:b-2|0;if((a|0)!=-1){d=F[F[f>>2]+(a<<2)>>2]}a=c+(d>>>3&536870908)|0;F[a>>2]=F[a>>2]|1<>>0)%3|0){b=b-1|0;break g}b=b+2|0;a=-1;if((b|0)==-1){break f}}a=F[F[f>>2]+(b<<2)>>2]}b=1<>>3&536870908)|0;c=F[a>>2];break c}a=c+536870908|0;b=F[c+536870908>>2];c=-2147483648}F[a>>2]=b|c}}function zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=M(0),f=M(0),g=M(0),h=M(0),i=M(0),j=0,k=M(0),l=M(0),m=M(0),n=M(0),o=0;a:{if(F[c+28>>2]!=9|G[c+24|0]!=3){break a}a=F[a+4>>2];if(a-2>>>0>28){break a}o=1;j=F[c+80>>2];if(!j){break a}k=M(M(2)/M((1<>2]>>2]+F[c+48>>2]|0;a=F[F[b>>2]>>2]+F[b+48>>2]|0;b=0;while(1){g=M(0);l=M(0);m=M(0);e=M(M(M(F[a>>2])*k)+M(-1));f=M(M(M(F[a+4>>2])*k)+M(-1));i=M(M(M(1)-M(N(e)))-M(N(f)));h=M(Q(M(-i),M(0)));n=M(-h);f=M(f+(f>>8;D[c+10|0]=d>>>16;D[c+11|0]=d>>>24;d=(w(l),y(2));D[c+4|0]=d;D[c+5|0]=d>>>8;D[c+6|0]=d>>>16;D[c+7|0]=d>>>24;d=(w(g),y(2));D[c|0]=d;D[c+1|0]=d>>>8;D[c+2|0]=d>>>16;D[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function Md(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Z-16|0;Z=g;a:{if(!Sa(1,g+8|0,b)){break a}d=F[b+8>>2];e=F[b+16>>2];f=d-e|0;h=F[g+12>>2];c=d>>>0>>0;d=F[b+20>>2];i=F[b+12>>2]-(c+d|0)|0;c=F[g+8>>2];if((h|0)==(i|0)&c>>>0>f>>>0|h>>>0>i>>>0){break a}d=d+h|0;f=c+e|0;d=f>>>0>>0?d+1|0:d;F[b+16>>2]=f;F[b+20>>2]=d;if((c|0)<=0){break a}b=F[b>>2]+e|0;F[a+40>>2]=b;e=c-1|0;d=b+e|0;f=G[d|0];b:{if(f>>>0<=63){F[a+44>>2]=e;b=G[d|0]&63;break b}c:{switch((f>>>6|0)-1|0){case 0:if(c>>>0<2){break a}c=c-2|0;F[a+44>>2]=c;b=b+c|0;b=G[b+1|0]<<8&16128|G[b|0];break b;case 1:if(c>>>0<3){break a}c=c-3|0;F[a+44>>2]=c;b=b+c|0;b=G[b+1|0]<<8|G[b+2|0]<<16&4128768|G[b|0];break b;default:break c}}c=c-4|0;F[a+44>>2]=c;b=b+c|0;b=(G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24))&1073741823}F[a+48>>2]=b+16384;j=b>>>0<4177920}Z=g+16|0;return j}function Tf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a:{a=Z-32|0;Z=a;e=ya(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=ka(g);F[a+24>>2]=g|-2147483648;F[a+16>>2]=f;F[a+20>>2]=e;g=e+f|0;break c}D[a+27|0]=e;f=a+16|0;g=e+f|0;if(!e){break b}}la(f,c,e)}D[g|0]=0;F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;d:{c=Ya(b,a+16|0);if((c|0)==(b+4|0)){break d}b=F[c+28>>2];e=F[c+32>>2];if((b|0)==(e|0)){break d}b=e-b|0;if(b&3){break d}e=b>>>2|0;f=F[a+4>>2];b=F[a>>2];g=f-b>>2;e:{if(e>>>0>g>>>0){qa(a,e-g|0);b=F[a>>2];f=F[a+4>>2];break e}if(e>>>0>=g>>>0){break e}f=(e<<2)+b|0;F[a+4>>2]=f}if((b|0)!=(f|0)){e=b;b=F[c+28>>2];la(e,b,F[c+32>>2]-b|0);break d}ta();v()}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d>>2]=F[a>>2];F[d+4>>2]=F[a+4>>2];F[d+8>>2]=F[a+8>>2];if(D[a+27|0]<0){ja(F[a+16>>2])}Z=a+32|0;break a}za();v()}}function ud(a){a=a|0;var b=0,c=0,d=0,e=0;F[a>>2]=8284;d=F[a+368>>2];F[a+368>>2]=0;if(d){e=d-4|0;b=F[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}ja(e)}td(a+216|0);b=F[a+196>>2];if(b){F[a+200>>2]=b;ja(b)}b=F[a+184>>2];if(b){F[a+188>>2]=b;ja(b)}b=F[a+172>>2];if(b){F[a+176>>2]=b;ja(b)}b=F[a+160>>2];if(b){F[a+164>>2]=b;ja(b)}c=F[a+144>>2];if(c){while(1){b=F[c>>2];ja(c);c=b;if(b){continue}break}}b=F[a+136>>2];F[a+136>>2]=0;if(b){ja(b)}b=F[a+120>>2];if(b){ja(b)}b=F[a+108>>2];if(b){ja(b)}b=F[a+96>>2];if(b){ja(b)}b=F[a+72>>2];if(b){F[a+76>>2]=b;ja(b)}b=F[a+60>>2];if(b){ja(b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}b=F[a+36>>2];if(b){F[a+40>>2]=b;ja(b)}b=F[a+24>>2];if(b){F[a+28>>2]=b;ja(b)}b=F[a+12>>2];if(b){F[a+16>>2]=b;ja(b)}b=F[a+8>>2];F[a+8>>2]=0;if(b){Za(b)}return a|0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Z-16|0;Z=d;a:{e=ya(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=ka(f);F[d+8>>2]=f|-2147483648;F[d>>2]=a;F[d+4>>2]=e;f=a+e|0;break c}D[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}la(a,c,e)}D[f|0]=0;c=G[d+11|0];e=c<<24>>24;b=F[b+4>>2];a=0;d:{if(!b){break d}a=c;c=(e|0)<0;a=c?F[d+4>>2]:a;f=c?F[d>>2]:d;while(1){c=G[b+27|0];g=c<<24>>24<0;c=g?F[b+20>>2]:c;i=c>>>0>>0;e:{f:{g:{h:{i:{j:{h=i?c:a;if(h){g=g?F[b+16>>2]:b+16|0;j=sa(f,g,h);if(j){break j}if(a>>>0>=c>>>0){break i}break e}if(a>>>0>=c>>>0){break h}break e}if((j|0)<0){break e}}c=sa(g,f,h);if(c){break g}}if(i){break f}a=1;break d}if((c|0)<0){break f}a=1;break d}b=b+4|0}b=F[b>>2];if(b){continue}break}a=0}if((e|0)<0){ja(F[d>>2])}Z=d+16|0;break a}za();v()}return a|0}function lc(a,b){var c=0,d=0;c=F[b+8>>2];F[a+4>>2]=F[b+4>>2];F[a+8>>2]=c;F[a+20>>2]=F[b+20>>2];c=F[b+16>>2];F[a+12>>2]=F[b+12>>2];F[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=F[b+28>>2];if(c){d=F[a+24>>2];if(F[a+32>>2]<<5>>>0>>0){if(d){ja(d);F[a+32>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;c=F[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=ka(c<<2);F[a+32>>2]=c;F[a+28>>2]=0;F[a+24>>2]=d;c=F[b+28>>2]}pa(d,F[b+24>>2],(c-1>>>3&536870908)+4|0);c=F[b+28>>2]}else{c=0}F[a+28>>2]=c;c=F[b+40>>2];if(c){d=F[a+36>>2];if(F[a+44>>2]<<5>>>0>>0){if(d){ja(d);F[a+44>>2]=0;F[a+36>>2]=0;F[a+40>>2]=0;c=F[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=ka(c<<2);F[a+44>>2]=c;F[a+40>>2]=0;F[a+36>>2]=d;c=F[b+40>>2]}pa(d,F[b+36>>2],(c-1>>>3&536870908)+4|0);b=F[b+40>>2]}else{b=0}F[a+40>>2]=b}return}na();v()}na();v()}function nc(a){var b=0,c=0,d=0;b=F[a+8>>2];d=F[a>>2];a:{if(G[a+12|0]){b:{c:{d:{e:{if((b|0)==-1){break e}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;if((b|0)==-1){break e}b=F[F[d+12>>2]+(b<<2)>>2];if((b|0)!=-1){break d}}F[a+8>>2]=-1;break c}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;F[a+8>>2]=b;if((b|0)!=-1){break b}}c=F[a+4>>2];b=-1;f:{if((c|0)==-1){break f}g:{if((c>>>0)%3|0){c=c-1|0;break g}c=c+2|0;b=-1;if((c|0)==-1){break f}}c=F[F[d+12>>2]+(c<<2)>>2];b=-1;if((c|0)==-1){break f}b=c-1|0;if((c>>>0)%3|0){break f}b=c+2|0}D[a+12|0]=0;F[a+8>>2]=b;return}if((b|0)!=F[a+4>>2]){break a}F[a+8>>2]=-1;return}c=-1;h:{if((b|0)==-1){break h}i:{if((b>>>0)%3|0){b=b-1|0;break i}b=b+2|0;c=-1;if((b|0)==-1){break h}}b=F[F[d+12>>2]+(b<<2)>>2];c=-1;if((b|0)==-1){break h}c=b-1|0;if((b>>>0)%3|0){break h}c=b+2|0}F[a+8>>2]=c}}function Od(a){var b=0,c=0,d=0;b=ka(32);D[b+26|0]=0;c=G[1475]|G[1476]<<8;D[b+24|0]=c;D[b+25|0]=c>>>8;c=G[1471]|G[1472]<<8|(G[1473]<<16|G[1474]<<24);d=G[1467]|G[1468]<<8|(G[1469]<<16|G[1470]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1463]|G[1464]<<8|(G[1465]<<16|G[1466]<<24);d=G[1459]|G[1460]<<8|(G[1461]<<16|G[1462]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1455]|G[1456]<<8|(G[1457]<<16|G[1458]<<24);d=G[1451]|G[1452]<<8|(G[1453]<<16|G[1454]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,26);ja(b)}function Kg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=F[a+4>>2];d=F[e>>2];a:{b=F[a+12>>2];c=F[b+56>>2]-F[b+52>>2]|0;f=c>>2;b:{if(f>>>0<=F[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=F[e+4>>2];c=ka(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[e+8>>2]=f;F[e+4>>2]=g;F[e>>2]=c;if(!d){break b}ja(d)}e=a+8|0;b=F[a+76>>2];c:{if(b){d=F[b>>2];if((d|0)==F[b+4>>2]){return 1}b=0;while(1){c=od(e,F[(b<<2)+d>>2]);if(!c){break c}f=F[a+76>>2];d=F[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=F[F[a+12>>2]+64>>2];a=F[a+4>>2]-F[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=od(e,L(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}na();v()}function Qg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=F[a+4>>2];d=F[e>>2];a:{b=F[a+12>>2];c=F[b+28>>2]-F[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=F[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=F[e+4>>2];c=ka(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[e+8>>2]=f;F[e+4>>2]=g;F[e>>2]=c;if(!d){break b}ja(d)}e=a+8|0;b=F[a+76>>2];c:{if(b){d=F[b>>2];if((d|0)==F[b+4>>2]){return 1}b=0;while(1){c=pd(e,F[(b<<2)+d>>2]);if(!c){break c}f=F[a+76>>2];d=F[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=F[a+12>>2];a=F[a+4>>2]-F[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=pd(e,L(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}na();v()}function pa(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return la(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}D[d|0]=G[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;D[d|0]=G[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;F[c+a>>2]=F[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;D[c+a|0]=G[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){F[d>>2]=F[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){D[d|0]=G[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function Pb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=F[a+8>>2];c=F[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=ma(c,0,b)+b|0}F[a+4>>2]=c;return}a:{b:{c:{g=F[a>>2];f=c-g>>2;e=f+b|0;if(e>>>0<1073741824){d=d-g|0;h=d>>>1|0;e=d>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break c}i=ka(e<<2)}d=(f<<2)+i|0;f=b<<2;b=ma(d,0,f);f=b+f|0;e=(e<<2)+i|0;if((c|0)==(g|0)){break b}while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;d=d-4|0;F[d>>2]=b;if((c|0)!=(g|0)){continue}break}F[a+8>>2]=e;b=F[a+4>>2];F[a+4>>2]=f;c=F[a>>2];F[a>>2]=d;if((b|0)==(c|0)){break a}while(1){b=b-4|0;a=F[b>>2];F[b>>2]=0;if(a){$[F[F[a>>2]+4>>2]](a)}if((b|0)!=(c|0)){continue}break}break a}na();v()}oa();v()}F[a+8>>2]=e;F[a+4>>2]=f;F[a>>2]=b}if(c){ja(c)}}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=F[b+8>>2];d=F[b+12>>2];g=d;d=F[b+20>>2];k=d;h=F[b+16>>2];c=h+4|0;d=c>>>0<4?d+1|0:d;i=c;a:{if(c>>>0>e>>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}j=F[b>>2];c=j+h|0;f=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+16>>2]=i;F[b+20>>2]=d;c=e;e=k;d=h+8|0;e=d>>>0<8?e+1|0:e;if(c>>>0>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break a}c=i+j|0;c=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+16>>2]=d;F[b+20>>2]=e;if((c|0)<(f|0)){break a}F[a+16>>2]=c;F[a+12>>2]=f;d=(c>>31)-((f>>31)+(c>>>0>>0)|0)|0;e=c-f|0;if(!d&e>>>0>2147483646|d){break a}d=e+1|0;F[a+20>>2]=d;e=d>>>1|0;F[a+24>>2]=e;F[a+28>>2]=0-e;if(!(d&1)){F[a+24>>2]=e-1}l=Aa(a+112|0,b)}return l|0}function Wc(a,b){var c=0,d=0,e=0,f=0;d=-1;e=-1;f=-1;a:{b:{if((b|0)==-1){break b}e=F[F[F[a+4>>2]+12>>2]+(b<<2)>>2];c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)>=0){f=(c>>>0)/3|0;f=F[(F[F[a>>2]+96>>2]+L(f,12)|0)+(c-L(f,3)<<2)>>2]}c:{if((e|0)==-1){break c}c=((e>>>0)%3|0?-1:2)+e|0;if((c|0)<0){break c}d=(c>>>0)/3|0;d=F[(F[F[a>>2]+96>>2]+L(d,12)|0)+(c-L(d,3)<<2)>>2]}c=-1;if((d|0)!=(f|0)){break a}f=-1;d:{b=((b>>>0)%3|0?-1:2)+b|0;if((b|0)>=0){d=(b>>>0)/3|0;d=F[(F[F[a>>2]+96>>2]+L(d,12)|0)+(b-L(d,3)<<2)>>2];if((e|0)==-1){break b}break d}d=-1;if((e|0)!=-1){break d}break b}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)<0){break b}c=F[F[a>>2]+96>>2];a=(b>>>0)/3|0;f=F[(c+L(a,12)|0)+(b-L(a,3)<<2)>>2]}c=(d|0)!=(f|0)?-1:e}return c}function Fc(a,b){var c=0,d=0,e=0;c=Z+-64|0;Z=c;d=F[a>>2];e=F[d-4>>2];d=F[d-8>>2];F[c+32>>2]=0;F[c+36>>2]=0;F[c+40>>2]=0;F[c+44>>2]=0;F[c+48>>2]=0;F[c+52>>2]=0;D[c+55|0]=0;D[c+56|0]=0;D[c+57|0]=0;D[c+58|0]=0;D[c+59|0]=0;D[c+60|0]=0;D[c+61|0]=0;D[c+62|0]=0;F[c+24>>2]=0;F[c+28>>2]=0;F[c+20>>2]=0;F[c+16>>2]=11020;F[c+12>>2]=a;F[c+8>>2]=b;a=a+d|0;d=0;a:{if(La(e,b,0)){F[c+56>>2]=1;$[F[F[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=F[c+32>>2]==1?a:0;break a}$[F[F[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(F[c+44>>2]){case 0:d=F[c+48>>2]==1?F[c+36>>2]==1?F[c+40>>2]==1?F[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(F[c+32>>2]!=1){if(F[c+48>>2]|F[c+36>>2]!=1|F[c+40>>2]!=1){break a}}d=F[c+24>>2]}Z=c- -64|0;return d}function ma(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}D[a|0]=b;d=a+c|0;D[d-1|0]=b;if(c>>>0<3){break a}D[a+2|0]=b;D[a+1|0]=b;D[d-3|0]=b;D[d-2|0]=b;if(c>>>0<7){break a}D[a+3|0]=b;D[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=L(b&255,16843009);F[e>>2]=b;d=c-d&-4;c=d+e|0;F[c-4>>2]=b;if(d>>>0<9){break a}F[e+8>>2]=b;F[e+4>>2]=b;F[c-8>>2]=b;F[c-12>>2]=b;if(d>>>0<25){break a}F[e+24>>2]=b;F[e+20>>2]=b;F[e+16>>2]=b;F[e+12>>2]=b;F[c-16>>2]=b;F[c-20>>2]=b;F[c-24>>2]=b;F[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=ki(b,0,1,1);f=_;b=e+g|0;while(1){F[b+24>>2]=d;F[b+28>>2]=f;F[b+16>>2]=d;F[b+20>>2]=f;F[b+8>>2]=d;F[b+12>>2]=f;F[b>>2]=d;F[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=F[b+8>>2];e=F[b+12>>2];g=e;e=F[b+20>>2];k=e;h=F[b+16>>2];c=h+4|0;e=c>>>0<4?e+1|0:e;i=c;a:{if(c>>>0>d>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break a}j=F[b>>2];c=j+h|0;f=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+16>>2]=i;F[b+20>>2]=e;c=d;d=k;e=h+8|0;d=e>>>0<8?d+1|0:d;if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}c=i+j|0;c=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+16>>2]=e;F[b+20>>2]=d;if((c|0)<(f|0)){break a}F[a+16>>2]=c;F[a+12>>2]=f;d=(c>>31)-((f>>31)+(c>>>0>>0)|0)|0;b=c-f|0;if(!d&b>>>0>2147483646|d){break a}l=1;d=b+1|0;F[a+20>>2]=d;b=d>>>1|0;F[a+24>>2]=b;F[a+28>>2]=0-b;if(d&1){break a}F[a+24>>2]=b-1}return l|0}function Uc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Z-16|0;Z=d;f=F[a+24>>2];k=F[a+28>>2];a:{if((f|0)!=(k|0)){while(1){F[d+8>>2]=0;F[d>>2]=0;F[d+4>>2]=0;a=Sc(F[f>>2],b,d);g=G[d+11|0];h=g<<24>>24;i=3;b:{c:{d:{if(!a){break d}i=0;a=G[c+11|0];e=a<<24>>24;j=(h|0)<0?F[d+4>>2]:g;if((j|0)!=(((e|0)<0?F[c+4>>2]:a)|0)){break d}a=(e|0)<0?F[c>>2]:c;e=(h|0)<0;e:{if(!e){e=d;if(!h){break e}while(1){if(G[e|0]!=G[a|0]){break d}a=a+1|0;e=e+1|0;g=g-1|0;if(g){continue}break}break e}if(!j){break e}if(sa(e?F[d>>2]:d,a,j)){break c}}l=F[f>>2];i=1}if((h|0)>=0){break b}}ja(F[d>>2])}f:{switch(i|0){case 0:case 3:break f;default:break a}}f=f+4|0;if((k|0)!=(f|0)){continue}break}}l=0}Z=d+16|0;return l}function gb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;h=f>>2;d=F[a+8>>2];e=F[a>>2];if(h>>>0<=d-e>>2>>>0){d=F[a+4>>2];g=d-e|0;f=g+b|0;i=g>>2;g=i>>>0>>0?f:c;if((g|0)!=(b|0)){while(1){F[e>>2]=F[b>>2];e=e+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}if(h>>>0>i>>>0){if((c|0)!=(g|0)){while(1){F[d>>2]=F[f>>2];d=d+4|0;f=f+4|0;if((f|0)!=(c|0)){continue}break}}F[a+4>>2]=d;return}F[a+4>>2]=e;return}if(e){F[a+4>>2]=e;ja(e);F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(d>>>0>=1073741824){break a}e=d<<2;d=ka(e);F[a>>2]=d;F[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=la(d,c,b)+b|0}F[a+4>>2]=d;return}na();v()}function Ea(a,b,c){var d=0,e=0,f=0;e=Z-16|0;Z=e;F[a+4>>2]=0;a:{b:{if(!b){break b}f=F[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){F[a+4>>2]=b;break c}F[e+8>>2]=0;F[e>>2]=0;F[e+4>>2]=0;if((b|0)<0){break a}if(d>>>0<=1073741822){f=f<<6;d=b+31&-32;d=d>>>0>>0?f:d}else{d=2147483647}$a(e,d);f=F[a>>2];F[a>>2]=F[e>>2];F[e>>2]=f;d=F[a+4>>2];F[a+4>>2]=b;F[e+4>>2]=d;d=F[a+8>>2];F[a+8>>2]=F[e+8>>2];F[e+8>>2]=d;if(!f){break c}ja(f)}d=b>>>5|0;a=F[a>>2];if(G[c|0]){if(b>>>0>=32){ma(a,255,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;F[a>>2]=F[a>>2]|-1>>>32-(b&31);break b}if(b>>>0>=32){ma(a,0,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;F[a>>2]=F[a>>2]&(-1>>>32-(b&31)^-1)}Z=e+16|0;return}na();v()}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=Z-32|0;Z=e;a:{b:{f=ya(c);if(f>>>0<2147483632){c:{d:{if(f>>>0>=11){a=(f|15)+1|0;g=ka(a);F[e+24>>2]=a|-2147483648;F[e+16>>2]=g;F[e+20>>2]=f;a=f+g|0;break d}D[e+27|0]=f;g=e+16|0;a=f+g|0;if(!f){break c}}la(g,c,f)}D[a|0]=0;c=ya(d);if(c>>>0>=2147483632){break b}e:{f:{if(c>>>0>=11){f=(c|15)+1|0;a=ka(f);F[e+8>>2]=f|-2147483648;F[e>>2]=a;F[e+4>>2]=c;g=a+c|0;break f}D[e+11|0]=c;g=c+e|0;a=e;if(!c){break e}}la(a,d,c)}D[g|0]=0;c=F[b+4>>2];a=-1;g:{if(!c){break g}c=Uc(c,e+16|0,e);a=-1;if(!c){break g}a=Pc(b,F[c+24>>2])}if(D[e+11|0]<0){ja(F[e>>2])}if(D[e+27|0]<0){ja(F[e+16>>2])}Z=e+32|0;break a}za();v()}za();v()}return a|0}function se(a,b){a=a|0;b=b|0;a=0;a:{switch(b|0){case 0:a=ka(20);F[a+12>>2]=-1;F[a+16>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1920;return a|0;case 1:a=ka(24);F[a+12>>2]=-1;F[a+16>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1920;F[a+20>>2]=0;F[a>>2]=2136;return a|0;case 2:a=ka(48);F[a+12>>2]=-1;F[a+16>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1920;F[a+20>>2]=0;F[a>>2]=2136;F[a+24>>2]=1624;F[a>>2]=7948;F[a+32>>2]=0;F[a+36>>2]=0;F[a+28>>2]=-1;F[a+40>>2]=0;F[a+44>>2]=0;return a|0;case 3:a=ka(32);F[a+12>>2]=-1;F[a+16>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1920;F[a+20>>2]=0;F[a>>2]=2136;F[a+24>>2]=1032;F[a>>2]=5812;F[a+28>>2]=-1;break;default:break a}}return a|0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=F[b>>2];b=F[b+4>>2];d=F[F[a+8>>2]+40>>2];j=d;m=ka((d|0)<0?-1:d);i=b-f|0;e=1;a:{if((i|0)<4){break a}b=0;g=F[c+16>>2];k=d;f=g+d|0;d=0+F[c+20>>2]|0;d=f>>>0>>0?d+1|0:d;h=F[c+12>>2];e=0;if(I[c+8>>2]>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}e=i>>2;i=(e|0)<=1?1:e;while(1){b:{g=la(m,F[c>>2]+g|0,j);F[c+16>>2]=f;F[c+20>>2]=d;la(F[F[F[a+8>>2]+64>>2]>>2]+b|0,g,j);l=l+1|0;if((i|0)==(l|0)){break b}b=b+j|0;d=n+F[c+20>>2]|0;g=F[c+16>>2];f=k+g|0;d=f>>>0>>0?d+1|0:d;h=F[c+12>>2];if((d|0)<=(h|0)&I[c+8>>2]>=f>>>0|(d|0)<(h|0)){continue}}break}e=(e|0)<=(l|0)}ja(m);return e|0}function mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;F[b>>2]=1;f=b+8|0;c=F[b+8>>2];d=F[b+12>>2]-c|0;if(d>>>0<=4294967291){Db(f,d+4|0);c=F[f>>2]}c=c+d|0;d=F[a+4>>2];D[c|0]=d;D[c+1|0]=d>>>8;D[c+2|0]=d>>>16;D[c+3|0]=d>>>24;c=F[a+8>>2];if((c|0)!=F[a+12>>2]){d=0;while(1){g=(d<<2)+c|0;c=F[b+8>>2];e=F[b+12>>2]-c|0;if(e>>>0<=4294967291){Db(f,e+4|0);c=F[f>>2]}c=c+e|0;e=F[g>>2];D[c|0]=e;D[c+1|0]=e>>>8;D[c+2|0]=e>>>16;D[c+3|0]=e>>>24;d=d+1|0;c=F[a+8>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}c=F[b+12>>2];b=F[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){Db(f,c+4|0);b=F[f>>2]}b=b+c|0;a=F[a+20>>2];D[b|0]=a;D[b+1|0]=a>>>8;D[b+2|0]=a>>>16;D[b+3|0]=a>>>24}function mb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=F[a+4>>2];if((c|0)!=F[a+8>>2]){e=F[b+4>>2];F[c>>2]=F[b>>2];F[c+4>>2]=e;F[c+8>>2]=F[b+8>>2];F[a+4>>2]=c+12;return}a:{g=F[a>>2];d=(c-g|0)/12|0;e=d+1|0;if(e>>>0<357913942){f=d<<1;f=d>>>0>=178956970?357913941:e>>>0>>0?f:e;if(f){if(f>>>0>=357913942){break a}e=ka(L(f,12))}else{e=0}d=e+L(d,12)|0;h=F[b+4>>2];F[d>>2]=F[b>>2];F[d+4>>2]=h;F[d+8>>2]=F[b+8>>2];b=d+12|0;if((c|0)!=(g|0)){while(1){c=c-12|0;h=F[c+4>>2];d=d-12|0;F[d>>2]=F[c>>2];F[d+4>>2]=h;F[d+8>>2]=F[c+8>>2];if((c|0)!=(g|0)){continue}break}c=F[a>>2]}F[a+8>>2]=e+L(f,12);F[a+4>>2]=b;F[a>>2]=d;if(c){ja(c)}return}na();v()}oa();v()}function ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=F[c+12>>2];f=h;e=F[c+20>>2];i=F[c+8>>2];g=F[c+16>>2];a:{if((f|0)<=(e|0)&i>>>0<=g>>>0|(e|0)>(f|0)){break a}j=F[c>>2];k=D[j+g|0];d=e;f=g+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;b:{if((k|0)==-2){break b}if((d|0)>=(h|0)&f>>>0>=i>>>0|(d|0)>(h|0)){break a}d=D[f+j|0];g=g+2|0;e=g>>>0<2?e+1|0:e;F[c+16>>2]=g;F[c+20>>2]=e;if((d-4&255)>>>0<251){break a}e=$[F[F[a>>2]+40>>2]](a,k,d)|0;d=F[a+20>>2];F[a+20>>2]=e;if(!d){break b}$[F[F[d>>2]+4>>2]](d)}d=F[a+20>>2];if(d){if(!($[F[F[a>>2]+28>>2]](a,d)|0)){break a}}l=$[F[F[a>>2]+36>>2]](a,b,c)|0}return l|0}function Bf(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;a:{if(I[b+80>>2]>65535){break a}a=F[b+100>>2];b=F[b+96>>2];e=(a-b|0)/12|0;f=L(e,6);g=(f|0)==(c|0);if((a|0)==(b|0)|(c|0)!=(f|0)){break a}g=1;c=e>>>0<=1?1:e;i=c&1;a=0;if(e>>>0>=2){j=c&-2;c=0;while(1){f=L(a,6);h=f+d|0;e=b+L(a,12)|0;E[h>>1]=F[e>>2];E[(f|2)+d>>1]=F[e+4>>2];E[h+4>>1]=F[e+8>>2];f=a|1;e=L(f,6)+d|0;f=b+L(f,12)|0;E[e>>1]=F[f>>2];E[e+2>>1]=F[f+4>>2];E[e+4>>1]=F[f+8>>2];a=a+2|0;c=c+2|0;if((j|0)!=(c|0)){continue}break}}if(!i){break a}c=L(a,6)+d|0;a=b+L(a,12)|0;E[c>>1]=F[a>>2];E[c+2>>1]=F[a+4>>2];E[c+4>>1]=F[a+8>>2]}return g|0}function Gh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Z-32|0;Z=f;h=e>>>0>1073741823?-1:e<<2;h=ma(ka(h),0,h);g=F[b>>2];i=F[b+4>>2];k=F[h+4>>2];F[f+16>>2]=F[h>>2];F[f+20>>2]=k;F[f+8>>2]=g;F[f+12>>2]=i;i=a+8|0;Jb(f+24|0,i,f+16|0,f+8|0);F[c>>2]=F[f+24>>2];F[c+4>>2]=F[f+28>>2];if((d|0)>(e|0)){k=0-e<<2;a=e;while(1){g=a<<2;j=g+b|0;m=F[j>>2];j=F[j+4>>2];g=c+g|0;l=g+k|0;n=F[l+4>>2];F[f+16>>2]=F[l>>2];F[f+20>>2]=n;F[f+8>>2]=m;F[f+12>>2]=j;Jb(f+24|0,i,f+16|0,f+8|0);F[g>>2]=F[f+24>>2];F[g+4>>2]=F[f+28>>2];a=a+e|0;if((d|0)>(a|0)){continue}break}}ja(h);Z=f+32|0;return 1}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a=Z-32|0;Z=a;F[a+24>>2]=0;F[a+28>>2]=0;a:{d=ya(c);if(d>>>0<2147483632){b:{c:{if(d>>>0>=11){e=(d|15)+1|0;f=ka(e);F[a+16>>2]=e|-2147483648;F[a+8>>2]=f;F[a+12>>2]=d;e=d+f|0;break c}D[a+19|0]=d;f=a+8|0;e=f+d|0;if(!d){break b}}la(f,c,d)}D[e|0]=0;c=b+4|0;b=Ya(b,a+8|0);d:{if((c|0)==(b|0)){break d}c=F[b+32>>2];b=F[b+28>>2];if((c-b|0)!=8){break d}c=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);F[a+24>>2]=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);F[a+28>>2]=c}g=K[a+24>>3];if(D[a+19|0]<0){ja(F[a+8>>2])}Z=a+32|0;break a}za();v()}return+g}function Gc(a,b,c,d,e,f,g){var h=0,i=0,j=0;h=Z-16|0;Z=h;if((b^-1)+2147483631>>>0>=c>>>0){if(G[a+11|0]>>>7|0){i=F[a>>2]}else{i=a}if(b>>>0<1073741799){F[h+12>>2]=b<<1;F[h>>2]=b+c;c=Z-16|0;Z=c;Z=c+16|0;c=h+12|0;c=F[(I[h>>2]>2]?c:h)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}sb(h,c);c=F[h>>2];if(f){db(c,g,f)}g=d-e|0;if((d|0)!=(e|0)){db(c+f|0,e+i|0,g)}if((b|0)!=10){ja(i)}F[a>>2]=c;F[a+8>>2]=F[a+8>>2]&-2147483648|F[h+4>>2]&2147483647;F[a+8>>2]=F[a+8>>2]|-2147483648;b=a;a=f+g|0;F[b+4>>2]=a;D[h+12|0]=0;D[a+c|0]=G[h+12|0];Z=h+16|0;return}za();v()}function _c(a,b,c){var d=0,e=0,f=0,g=0;a:{f=b>>>0<1431655766&(b|c)>=0;b:{if(!f){break b}b=L(b,3);Xb(a,b,10224);Xb(a+12|0,b,10228);d=F[a+24>>2];c:{if(F[a+32>>2]-d>>2>>>0>=c>>>0){break c}if(c>>>0>=1073741824){break a}b=F[a+28>>2];e=c<<2;c=ka(e);e=c+e|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[a+32>>2]=e;F[a+28>>2]=g;F[a+24>>2]=c;if(!d){break c}ja(d)}F[a+80>>2]=0;F[a+84>>2]=0;b=F[a+76>>2];F[a+76>>2]=0;if(b){ja(b)}F[a+68>>2]=0;F[a+72>>2]=0;b=a- -64|0;a=F[b>>2];F[b>>2]=0;if(!a){break b}ja(a)}return f}na();v()}function yd(a){var b=0,c=0,d=0,e=0,f=0;f=1;c=F[a+140>>2];a:{if((c|0)<=0){break a}b=c<<4;d=ka(c>>>0>268435455?-1:b|4);F[d>>2]=c;d=d+4|0;c=d+b|0;b=d;while(1){F[b>>2]=0;F[b+4>>2]=0;D[b+5|0]=0;D[b+6|0]=0;D[b+7|0]=0;D[b+8|0]=0;D[b+9|0]=0;D[b+10|0]=0;D[b+11|0]=0;D[b+12|0]=0;b=b+16|0;if((c|0)!=(b|0)){continue}break}e=F[a+136>>2];F[a+136>>2]=d;if(e){c=e-4|0;d=F[c>>2];if(d){b=(d<<4)+e|0;while(1){b=b-16|0;if((e|0)!=(b|0)){continue}break}}ja(c)}b=0;if(F[a+140>>2]<=0){break a}while(1){f=Aa(F[a+136>>2]+(b<<4)|0,a);if(!f){break a}b=b+1|0;if((b|0)>2]){continue}break}}return f} +function mc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!a){return 1}e=F[c+20>>2];o=F[c+12>>2];g=F[c+16>>2];a:{if((e|0)>=(o|0)&g>>>0>=I[c+8>>2]|(e|0)>(o|0)){break a}o=G[g+F[c>>2]|0];g=g+1|0;e=g?e:e+1|0;F[c+16>>2]=g;F[c+20>>2]=e;b:{switch(o|0){case 0:e=a;f=b;g=d;a=0;d=0;j=Z+-64|0;Z=j;F[j+56>>2]=0;F[j+48>>2]=0;F[j+52>>2]=0;F[j+40>>2]=0;F[j+44>>2]=0;F[j+32>>2]=0;F[j+36>>2]=0;F[j+24>>2]=0;F[j+28>>2]=0;F[j+16>>2]=0;F[j+20>>2]=0;F[j+8>>2]=0;F[j+12>>2]=0;c:{if(!Nd(j+8|0,c)){break c}if(!Md(j+8|0,c)|(F[j+20>>2]?0:e)){break c}hc(c,0,0);if(e){s=f<<2;t=F[j+36>>2];u=F[j+48>>2];x=F[j+24>>2];l=F[j+56>>2];i=F[j+52>>2];while(1){d:{if(l>>>0>16383){break d}while(1){if((i|0)<=0){break d}i=i-1|0;F[j+52>>2]=i;l=G[i+u|0]|l<<8;F[j+56>>2]=l;if(l>>>0<16384){continue}break}}a=l&4095;r=F[(a<<2)+x>>2];b=(r<<3)+t|0;l=(L(F[b>>2],l>>>12|0)+a|0)-F[b+4>>2]|0;F[j+56>>2]=l;if((f|0)>0){a=0;if(!G[c+36|0]|r>>>0>32){break c}o=d+f|0;e:{if(!r){ma(g+(d<<2)|0,0,s);break e}y=r&-2;z=r&1;b=F[c+32>>2];h=F[c+28>>2];q=F[c+24>>2];while(1){k=0;a=b;m=0;n=0;if((r|0)!=1){while(1){p=q+(a>>>3|0)|0;f:{if(p>>>0>=h>>>0){p=0;break f}p=G[p|0];b=a+1|0;F[c+32>>2]=b;p=p>>>(a&7)&1;a=b}p=p<>>3|0)|0;if(v>>>0>>0){m=G[v|0];b=a+1|0;F[c+32>>2]=b;m=m>>>(a&7)&1;a=b}v=k|1;k=k+2|0;m=p|m<>>3|0)|0;if(p>>>0>>0){p=G[p|0];b=a+1|0;F[c+32>>2]=b;a=p>>>(a&7)&1}else{a=0}m=a<>2]=m;d=d+1|0;if((o|0)!=(d|0)){continue}break}}d=o}w=f+w|0;if(e>>>0>w>>>0){continue}break}}D[c+36|0]=0;f=F[c+20>>2];a=0;m=F[c+32>>2]+7|0;a=m>>>0<7?1:a;m=a<<29|m>>>3;b=m+F[c+16>>2]|0;a=(a>>>3|0)+f|0;F[c+16>>2]=b;F[c+20>>2]=b>>>0>>0?a+1|0:a;a=1}b=F[j+36>>2];if(b){F[j+40>>2]=b;ja(b)}b=F[j+24>>2];if(b){F[j+28>>2]=b;ja(b)}b=F[j+8>>2];if(b){F[j+12>>2]=b;ja(b)}Z=j- -64|0;return a;case 1:break b;default:break a}}b=0;e=F[c+20>>2];o=F[c+12>>2];g=F[c+16>>2];g:{if((e|0)>=(o|0)&g>>>0>=I[c+8>>2]|(e|0)>(o|0)){break g}o=G[g+F[c>>2]|0];g=g+1|0;e=g?e:e+1|0;F[c+16>>2]=g;F[c+20>>2]=e;h:{switch(o-1|0){case 8:o=a;r=d;e=Z+-64|0;Z=e;F[e+56>>2]=0;F[e+48>>2]=0;F[e+52>>2]=0;F[e+40>>2]=0;F[e+44>>2]=0;F[e+32>>2]=0;F[e+36>>2]=0;F[e+24>>2]=0;F[e+28>>2]=0;F[e+16>>2]=0;F[e+20>>2]=0;F[e+8>>2]=0;F[e+12>>2]=0;h=e+8|0;i:{j:{if(!H[c+38>>1]){break j}if(!Ta(1,h+12|0,c)){break j}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break j}b=F[h>>2];a=F[h+4>>2]-b>>2;k:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break k}if(a>>>0<=i>>>0){break k}F[h+4>>2]=b+(i<<2)}g=1;if(!i){break i}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){g=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break i}g=F[c>>2];p=G[g+f|0];a=d;f=f+1|0;a=f?a:a+1|0;F[c+16>>2]=f;d=a;F[c+20>>2]=a;a=p>>>2|0;l=0;l:{m:{n:{o:{t=p&3;switch(t|0){case 0:break m;case 3:break o;default:break n}}a=a+b|0;g=0;if(a>>>0>=i>>>0){break i}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break l}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break j}i=G[f+g|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;a=i<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;p:{if(b>>>0<=32767){qa(a,8192-(b>>>2|0)|0);break p}if((b|0)==32768){break p}F[h+20>>2]=d+32768}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;q:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break q}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break j}}j=F[a>>2];f=0;d=0;while(1){g=n+(f<<2)|0;l=F[g>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;g=F[g>>2];d=g+a|0;if(d>>>0>8192){break j}r:{if(a>>>0>=d>>>0){break r}l=0;h=g&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(g-1>>>0<=6){break r}while(1){g=j+(a<<2)|0;F[g>>2]=f;F[g+28>>2]=f;F[g+24>>2]=f;F[g+20>>2]=f;F[g+16>>2]=f;F[g+12>>2]=f;F[g+8>>2]=f;F[g+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==8192}g=k}s:{if(!g|(F[e+20>>2]?0:o)){break s}d=0;k=Z-16|0;Z=k;t:{if(!Sa(1,k+8|0,c)){break t}a=F[c+8>>2];f=F[c+16>>2];g=a-f|0;j=F[k+12>>2];i=F[c+20>>2];a=F[c+12>>2]-(i+(a>>>0>>0)|0)|0;b=F[k+8>>2];if((j|0)==(a|0)&g>>>0>>0|a>>>0>>0){break t}a=i+j|0;g=b+f|0;a=g>>>0>>0?a+1|0:a;F[c+16>>2]=g;F[c+20>>2]=a;if((b|0)<=0){break t}a=f+F[c>>2]|0;F[e+48>>2]=a;c=b-1|0;f=c+a|0;g=G[f|0];u:{if(g>>>0<=63){F[e+52>>2]=c;a=G[f|0]&63;break u}v:{switch((g>>>6|0)-1|0){case 0:if(b>>>0<2){break t}b=b-2|0;F[e+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break u;case 1:if(b>>>0<3){break t}b=b-3|0;F[e+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break u;default:break v}}b=b-4|0;F[e+52>>2]=b;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[e+56>>2]=a+32768;d=a>>>0<8355840}Z=k+16|0;if(!d){break s}if(!o){m=1;break s}b=F[e+52>>2];a=F[e+56>>2];c=F[e+36>>2];d=F[e+48>>2];f=F[e+24>>2];while(1){w:{if(a>>>0>32767){break w}while(1){if((b|0)<=0){break w}b=b-1|0;F[e+52>>2]=b;a=G[b+d|0]|a<<8;F[e+56>>2]=a;if(a>>>0<32768){continue}break}}m=a&8191;k=F[f+(m<<2)>>2];g=c+(k<<3)|0;a=(L(F[g>>2],a>>>13|0)+m|0)-F[g+4>>2]|0;F[e+56>>2]=a;F[r+(q<<2)>>2]=k;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[e+36>>2];if(a){F[e+40>>2]=a;ja(a)}a=F[e+24>>2];if(a){F[e+28>>2]=a;ja(a)}a=F[e+8>>2];if(a){F[e+12>>2]=a;ja(a)}Z=e- -64|0;b=m;break g;case 9:o=a;r=d;g=Z+-64|0;Z=g;F[g+56>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;h=g+8|0;x:{y:{if(!H[c+38>>1]){break y}if(!Ta(1,h+12|0,c)){break y}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break y}b=F[h>>2];a=F[h+4>>2]-b>>2;z:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break z}if(a>>>0<=i>>>0){break z}F[h+4>>2]=b+(i<<2)}e=1;if(!i){break x}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){e=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break x}t=F[c>>2];p=G[t+f|0];e=d;f=f+1|0;e=f?e:e+1|0;F[c+16>>2]=f;d=e;F[c+20>>2]=e;a=p>>>2|0;l=0;A:{B:{C:{D:{e=p&3;switch(e|0){case 0:break B;case 3:break D;default:break C}}a=a+b|0;e=0;if(a>>>0>=i>>>0){break x}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break A}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break y}i=G[f+t|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;a=i<<(l<<3|6)|a;l=l+1|0;if((e|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;E:{if(b>>>0<=131071){qa(a,32768-(b>>>2|0)|0);break E}if((b|0)==131072){break E}F[h+20>>2]=d+131072}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;F:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break F}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break y}}j=F[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;l=F[e>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;e=F[e>>2];d=e+a|0;if(d>>>0>32768){break y}G:{if(a>>>0>=d>>>0){break G}l=0;h=e&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break G}while(1){e=j+(a<<2)|0;F[e>>2]=f;F[e+28>>2]=f;F[e+24>>2]=f;F[e+20>>2]=f;F[e+16>>2]=f;F[e+12>>2]=f;F[e+8>>2]=f;F[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==32768}e=k}H:{if(!e|(F[g+20>>2]?0:o)){break H}d=0;f=Z-16|0;Z=f;I:{if(!Sa(1,f+8|0,c)){break I}e=F[c+8>>2];b=F[c+16>>2];k=e-b|0;j=F[f+12>>2];i=F[c+20>>2];e=F[c+12>>2]-(i+(b>>>0>e>>>0)|0)|0;a=F[f+8>>2];if((j|0)==(e|0)&k>>>0>>0|e>>>0>>0){break I}e=i+j|0;k=a+b|0;e=k>>>0>>0?e+1|0:e;F[c+16>>2]=k;F[c+20>>2]=e;if((a|0)<=0){break I}b=b+F[c>>2]|0;F[g+48>>2]=b;c=a-1|0;e=c+b|0;k=G[e|0];J:{if(k>>>0<=63){F[g+52>>2]=c;a=G[e|0]&63;break J}K:{switch((k>>>6|0)-1|0){case 0:if(a>>>0<2){break I}a=a-2|0;F[g+52>>2]=a;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break J;case 1:if(a>>>0<3){break I}a=a-3|0;F[g+52>>2]=a;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break J;default:break K}}a=a-4|0;F[g+52>>2]=a;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[g+56>>2]=a+131072;d=a>>>0<33423360}Z=f+16|0;if(!d){break H}if(!o){m=1;break H}b=F[g+52>>2];a=F[g+56>>2];c=F[g+36>>2];d=F[g+48>>2];f=F[g+24>>2];while(1){L:{if(a>>>0>131071){break L}while(1){if((b|0)<=0){break L}b=b-1|0;F[g+52>>2]=b;a=G[b+d|0]|a<<8;F[g+56>>2]=a;if(a>>>0<131072){continue}break}}m=a&32767;e=F[f+(m<<2)>>2];k=c+(e<<3)|0;a=(L(F[k>>2],a>>>15|0)+m|0)-F[k+4>>2]|0;F[g+56>>2]=a;F[r+(q<<2)>>2]=e;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[g+36>>2];if(a){F[g+40>>2]=a;ja(a)}a=F[g+24>>2];if(a){F[g+28>>2]=a;ja(a)}a=F[g+8>>2];if(a){F[g+12>>2]=a;ja(a)}Z=g- -64|0;b=m;break g;case 10:o=a;r=d;g=Z+-64|0;Z=g;F[g+56>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;h=g+8|0;M:{N:{if(!H[c+38>>1]){break N}if(!Ta(1,h+12|0,c)){break N}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break N}b=F[h>>2];a=F[h+4>>2]-b>>2;O:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break O}if(a>>>0<=i>>>0){break O}F[h+4>>2]=b+(i<<2)}e=1;if(!i){break M}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){e=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break M}t=F[c>>2];p=G[t+f|0];a=d;f=f+1|0;a=f?a:a+1|0;F[c+16>>2]=f;d=a;F[c+20>>2]=a;a=p>>>2|0;l=0;P:{Q:{R:{S:{u=p&3;switch(u|0){case 0:break Q;case 3:break S;default:break R}}a=a+b|0;e=0;if(a>>>0>=i>>>0){break M}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break P}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break N}i=G[f+t|0];e=d;f=f+1|0;e=f?e:e+1|0;F[c+16>>2]=f;d=e;F[c+20>>2]=e;a=i<<(l<<3|6)|a;l=l+1|0;if((u|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;T:{if(b>>>0<=262143){qa(a,65536-(b>>>2|0)|0);break T}if((b|0)==262144){break T}F[h+20>>2]=d+262144}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;U:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break U}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break N}}j=F[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;l=F[e>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;e=F[e>>2];d=e+a|0;if(d>>>0>65536){break N}V:{if(a>>>0>=d>>>0){break V}l=0;h=e&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break V}while(1){e=j+(a<<2)|0;F[e>>2]=f;F[e+28>>2]=f;F[e+24>>2]=f;F[e+20>>2]=f;F[e+16>>2]=f;F[e+12>>2]=f;F[e+8>>2]=f;F[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==65536}e=k}W:{if(!e|(F[g+20>>2]?0:o)){break W}d=0;e=Z-16|0;Z=e;X:{if(!Sa(1,e+8|0,c)){break X}a=F[c+8>>2];f=F[c+16>>2];k=a-f|0;j=F[e+12>>2];i=F[c+20>>2];a=F[c+12>>2]-(i+(a>>>0>>0)|0)|0;b=F[e+8>>2];if((j|0)==(a|0)&k>>>0>>0|a>>>0>>0){break X}a=i+j|0;k=b+f|0;a=k>>>0>>0?a+1|0:a;F[c+16>>2]=k;F[c+20>>2]=a;if((b|0)<=0){break X}a=f+F[c>>2]|0;F[g+48>>2]=a;c=b-1|0;f=c+a|0;k=G[f|0];Y:{if(k>>>0<=63){F[g+52>>2]=c;a=G[f|0]&63;break Y}Z:{switch((k>>>6|0)-1|0){case 0:if(b>>>0<2){break X}b=b-2|0;F[g+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break Y;case 1:if(b>>>0<3){break X}b=b-3|0;F[g+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break Y;default:break Z}}b=b-4|0;F[g+52>>2]=b;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[g+56>>2]=a+262144;d=a>>>0<66846720}Z=e+16|0;if(!d){break W}if(!o){m=1;break W}b=F[g+52>>2];a=F[g+56>>2];c=F[g+36>>2];d=F[g+48>>2];f=F[g+24>>2];while(1){_:{if(a>>>0>262143){break _}while(1){if((b|0)<=0){break _}b=b-1|0;F[g+52>>2]=b;a=G[b+d|0]|a<<8;F[g+56>>2]=a;if(a>>>0<262144){continue}break}}m=a&65535;e=F[f+(m<<2)>>2];k=c+(e<<3)|0;a=(L(F[k>>2],a>>>16|0)+m|0)-F[k+4>>2]|0;F[g+56>>2]=a;F[r+(q<<2)>>2]=e;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[g+36>>2];if(a){F[g+40>>2]=a;ja(a)}a=F[g+24>>2];if(a){F[g+28>>2]=a;ja(a)}a=F[g+8>>2];if(a){F[g+12>>2]=a;ja(a)}Z=g- -64|0;b=m;break g;case 11:o=a;r=d;g=Z+-64|0;Z=g;F[g+56>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;h=g+8|0;$:{aa:{if(!H[c+38>>1]){break aa}if(!Ta(1,h+12|0,c)){break aa}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break aa}b=F[h>>2];a=F[h+4>>2]-b>>2;ba:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break ba}if(a>>>0<=i>>>0){break ba}F[h+4>>2]=b+(i<<2)}e=1;if(!i){break $}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){e=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break $}t=F[c>>2];p=G[t+f|0];e=d;f=f+1|0;e=f?e:e+1|0;F[c+16>>2]=f;d=e;F[c+20>>2]=e;a=p>>>2|0;l=0;ca:{da:{ea:{fa:{e=p&3;switch(e|0){case 0:break da;case 3:break fa;default:break ea}}a=a+b|0;e=0;if(a>>>0>=i>>>0){break $}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break ca}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break aa}i=G[f+t|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;a=i<<(l<<3|6)|a;l=l+1|0;if((e|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;ga:{if(b>>>0<=1048575){qa(a,262144-(b>>>2|0)|0);break ga}if((b|0)==1048576){break ga}F[h+20>>2]=d- -1048576}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;ha:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break ha}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break aa}}j=F[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;l=F[e>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;e=F[e>>2];d=e+a|0;if(d>>>0>262144){break aa}ia:{if(a>>>0>=d>>>0){break ia}l=0;h=e&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break ia}while(1){e=j+(a<<2)|0;F[e>>2]=f;F[e+28>>2]=f;F[e+24>>2]=f;F[e+20>>2]=f;F[e+16>>2]=f;F[e+12>>2]=f;F[e+8>>2]=f;F[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==262144}e=k}ja:{if(!e|(F[g+20>>2]?0:o)){break ja}d=0;f=Z-16|0;Z=f;ka:{if(!Sa(1,f+8|0,c)){break ka}e=F[c+8>>2];b=F[c+16>>2];k=e-b|0;j=F[f+12>>2];i=F[c+20>>2];e=F[c+12>>2]-(i+(b>>>0>e>>>0)|0)|0;a=F[f+8>>2];if((j|0)==(e|0)&k>>>0>>0|e>>>0>>0){break ka}e=i+j|0;k=a+b|0;e=k>>>0>>0?e+1|0:e;F[c+16>>2]=k;F[c+20>>2]=e;if((a|0)<=0){break ka}b=b+F[c>>2]|0;F[g+48>>2]=b;c=a-1|0;e=c+b|0;k=G[e|0];la:{if(k>>>0<=63){F[g+52>>2]=c;a=G[e|0]&63;break la}ma:{switch((k>>>6|0)-1|0){case 0:if(a>>>0<2){break ka}a=a-2|0;F[g+52>>2]=a;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break la;case 1:if(a>>>0<3){break ka}a=a-3|0;F[g+52>>2]=a;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break la;default:break ma}}a=a-4|0;F[g+52>>2]=a;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[g+56>>2]=a- -1048576;d=a>>>0<267386880}Z=f+16|0;if(!d){break ja}if(!o){m=1;break ja}b=F[g+52>>2];a=F[g+56>>2];c=F[g+36>>2];d=F[g+48>>2];f=F[g+24>>2];while(1){na:{if(a>>>0>1048575){break na}while(1){if((b|0)<=0){break na}b=b-1|0;F[g+52>>2]=b;a=G[b+d|0]|a<<8;F[g+56>>2]=a;if(a>>>0<1048576){continue}break}}m=a&262143;e=F[f+(m<<2)>>2];k=c+(e<<3)|0;a=(L(F[k>>2],a>>>18|0)+m|0)-F[k+4>>2]|0;F[g+56>>2]=a;F[r+(q<<2)>>2]=e;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[g+36>>2];if(a){F[g+40>>2]=a;ja(a)}a=F[g+24>>2];if(a){F[g+28>>2]=a;ja(a)}a=F[g+8>>2];if(a){F[g+12>>2]=a;ja(a)}Z=g- -64|0;b=m;break g;case 12:o=a;r=d;e=Z+-64|0;Z=e;F[e+56>>2]=0;F[e+48>>2]=0;F[e+52>>2]=0;F[e+40>>2]=0;F[e+44>>2]=0;F[e+32>>2]=0;F[e+36>>2]=0;F[e+24>>2]=0;F[e+28>>2]=0;F[e+16>>2]=0;F[e+20>>2]=0;F[e+8>>2]=0;F[e+12>>2]=0;h=e+8|0;oa:{pa:{if(!H[c+38>>1]){break pa}if(!Ta(1,h+12|0,c)){break pa}b=F[c+8>>2];d=F[c+16>>2];f=b-d|0;i=F[h+12>>2];b=F[c+12>>2]-(F[c+20>>2]+(b>>>0>>0)|0)|0;if(f>>>0>>6>>>0&(b|0)<=0|(b|0)<0){break pa}b=F[h>>2];a=F[h+4>>2]-b>>2;qa:{if(a>>>0>>0){qa(h,i-a|0);i=F[h+12>>2];break qa}if(a>>>0<=i>>>0){break qa}F[h+4>>2]=b+(i<<2)}g=1;if(!i){break oa}f=F[c+16>>2];d=F[c+20>>2];s=F[h>>2];j=F[c+8>>2];n=F[c+12>>2];b=0;while(1){g=0;if((d|0)>=(n|0)&f>>>0>=j>>>0|(d|0)>(n|0)){break oa}g=F[c>>2];p=G[g+f|0];a=d;f=f+1|0;a=f?a:a+1|0;F[c+16>>2]=f;d=a;F[c+20>>2]=a;a=p>>>2|0;l=0;ra:{sa:{ta:{ua:{t=p&3;switch(t|0){case 0:break sa;case 3:break ua;default:break ta}}a=a+b|0;g=0;if(a>>>0>=i>>>0){break oa}ma(s+(b<<2)|0,0,(p&252)+4|0);b=a;break ra}while(1){if((f|0)==(j|0)&(d|0)==(n|0)){break pa}i=G[f+g|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;a=i<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}F[s+(b<<2)>>2]=a}b=b+1|0;i=F[h+12>>2];if(b>>>0>>0){continue}break}a=h+16|0;n=F[h>>2];d=F[h+16>>2];b=F[h+20>>2]-d|0;va:{if(b>>>0<=2097151){qa(a,524288-(b>>>2|0)|0);break va}if((b|0)==2097152){break va}F[h+20>>2]=d+2097152}d=h+28|0;b=F[d>>2];f=F[h+32>>2]-b>>3;wa:{if(f>>>0>>0){_a(d,i-f|0);b=F[d>>2];break wa}if(f>>>0>i>>>0){F[h+32>>2]=(i<<3)+b}if(!i){break pa}}j=F[a>>2];f=0;d=0;while(1){g=n+(f<<2)|0;l=F[g>>2];h=(f<<3)+b|0;a=d;F[h+4>>2]=a;F[h>>2]=l;g=F[g>>2];d=g+a|0;if(d>>>0>524288){break pa}xa:{if(a>>>0>=d>>>0){break xa}l=0;h=g&7;if(h){while(1){F[j+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(g-1>>>0<=6){break xa}while(1){g=j+(a<<2)|0;F[g>>2]=f;F[g+28>>2]=f;F[g+24>>2]=f;F[g+20>>2]=f;F[g+16>>2]=f;F[g+12>>2]=f;F[g+8>>2]=f;F[g+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((i|0)!=(f|0)){continue}break}k=(d|0)==524288}g=k}ya:{if(!g|(F[e+20>>2]?0:o)){break ya}d=0;k=Z-16|0;Z=k;za:{if(!Sa(1,k+8|0,c)){break za}a=F[c+8>>2];f=F[c+16>>2];g=a-f|0;j=F[k+12>>2];i=F[c+20>>2];a=F[c+12>>2]-(i+(a>>>0>>0)|0)|0;b=F[k+8>>2];if((j|0)==(a|0)&g>>>0>>0|a>>>0>>0){break za}a=i+j|0;g=b+f|0;a=g>>>0>>0?a+1|0:a;F[c+16>>2]=g;F[c+20>>2]=a;if((b|0)<=0){break za}a=f+F[c>>2]|0;F[e+48>>2]=a;c=b-1|0;f=c+a|0;g=G[f|0];Aa:{if(g>>>0<=63){F[e+52>>2]=c;a=G[f|0]&63;break Aa}Ba:{switch((g>>>6|0)-1|0){case 0:if(b>>>0<2){break za}b=b-2|0;F[e+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8&16128|G[a|0];break Aa;case 1:if(b>>>0<3){break za}b=b-3|0;F[e+52>>2]=b;a=a+b|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];break Aa;default:break Ba}}b=b-4|0;F[e+52>>2]=b;a=a+b|0;a=(G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&1073741823}F[e+56>>2]=a+2097152;d=a>>>0<534773760}Z=k+16|0;if(!d){break ya}if(!o){m=1;break ya}b=F[e+52>>2];a=F[e+56>>2];c=F[e+36>>2];d=F[e+48>>2];f=F[e+24>>2];while(1){Ca:{if(a>>>0>2097151){break Ca}while(1){if((b|0)<=0){break Ca}b=b-1|0;F[e+52>>2]=b;a=G[b+d|0]|a<<8;F[e+56>>2]=a;if(a>>>0<2097152){continue}break}}m=a&524287;k=F[f+(m<<2)>>2];g=c+(k<<3)|0;a=(L(F[g>>2],a>>>19|0)+m|0)-F[g+4>>2]|0;F[e+56>>2]=a;F[r+(q<<2)>>2]=k;m=1;q=q+1|0;if((o|0)!=(q|0)){continue}break}}a=F[e+36>>2];if(a){F[e+40>>2]=a;ja(a)}a=F[e+24>>2];if(a){F[e+28>>2]=a;ja(a)}a=F[e+8>>2];if(a){F[e+12>>2]=a;ja(a)}Z=e- -64|0;b=m;break g;case 17:b=Ld(a,c,d);break g;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:b=Z+-64|0;Z=b;F[b+56>>2]=0;F[b+48>>2]=0;F[b+52>>2]=0;F[b+40>>2]=0;F[b+44>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;F[b+24>>2]=0;F[b+28>>2]=0;F[b+16>>2]=0;F[b+20>>2]=0;F[b+8>>2]=0;F[b+12>>2]=0;Da:{if(!Nd(b+8|0,c)|(F[b+20>>2]?0:a)){break Da}if(!Md(b+8|0,c)){break Da}if(!a){f=1;break Da}m=F[b+52>>2];c=F[b+56>>2];e=F[b+36>>2];g=F[b+48>>2];o=F[b+24>>2];while(1){Ea:{if(c>>>0>16383){break Ea}while(1){if((m|0)<=0){break Ea}m=m-1|0;F[b+52>>2]=m;c=G[g+m|0]|c<<8;F[b+56>>2]=c;if(c>>>0<16384){continue}break}}f=c&4095;j=F[o+(f<<2)>>2];r=e+(j<<3)|0;c=(L(F[r>>2],c>>>12|0)+f|0)-F[r+4>>2]|0;F[b+56>>2]=c;F[(k<<2)+d>>2]=j;f=1;k=k+1|0;if((k|0)!=(a|0)){continue}break}}a=F[b+36>>2];if(a){F[b+40>>2]=a;ja(a)}a=F[b+24>>2];if(a){F[b+28>>2]=a;ja(a)}a=F[b+8>>2];if(a){F[b+12>>2]=a;ja(a)}Z=b- -64|0;b=f;break g;case 13:case 14:case 15:case 16:break h;default:break g}}b=Ld(a,c,d)}f=b}return f}function ih(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,I=0,J=0,K=0,M=0,N=0,O=0;u=Z+-64|0;Z=u;F[a+132>>2]=0;if(F[a+148>>2]){b=F[a+144>>2];if(b){while(1){f=F[b>>2];ja(b);b=f;if(b){continue}break}}b=0;F[a+144>>2]=0;f=F[a+140>>2];a:{if(!f){break a}if(f>>>0>=4){c=f&-4;while(1){e=b<<2;F[e+F[a+136>>2]>>2]=0;F[F[a+136>>2]+(e|4)>>2]=0;F[F[a+136>>2]+(e|8)>>2]=0;F[F[a+136>>2]+(e|12)>>2]=0;b=b+4|0;d=d+4|0;if((c|0)!=(d|0)){continue}break}}f=f&3;if(!f){break a}d=0;while(1){F[F[a+136>>2]+(b<<2)>>2]=0;b=b+1|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}F[a+148>>2]=0}b:{c:{if(!Da(1,u+60|0,F[F[a+4>>2]+32>>2])){break c}F[a+156>>2]=F[u+60>>2];if(!Da(1,u+56|0,F[F[a+4>>2]+32>>2])){break c}e=F[u+56>>2];if(e>>>0>1431655765){break c}b=F[a+156>>2];d=L(e,3);if(b>>>0>d>>>0){break c}f=b>>31;f=ki(b-1|0,f-!b|0,b,f);b=_;c=b>>>1|0;b=(b&1)<<31|f>>>1;if(!c&b>>>0>>1>>>0){break c}b=F[F[a+4>>2]+32>>2];c=F[b+8>>2];k=F[b+12>>2];d=F[b+20>>2];f=F[b+16>>2];if((k|0)<=(d|0)&f>>>0>=c>>>0|(d|0)>(k|0)){break c}k=G[f+F[b>>2]|0];f=f+1|0;d=f?d:d+1|0;F[b+16>>2]=f;F[b+20>>2]=d;if(!Da(1,u+52|0,b)){break c}q=F[u+52>>2];if(q>>>0>e>>>0|e>>>0>q+((q>>>0)/3|0)>>>0){break c}if(!Da(1,u+48|0,F[F[a+4>>2]+32>>2])){break c}d=F[u+48>>2];if(d>>>0>q>>>0){break c}F[a+28>>2]=F[a+24>>2];f=Zb(ka(88));b=F[a+8>>2];F[a+8>>2]=f;if(b){Za(b);if(!F[a+8>>2]){break c}}F[a+164>>2]=F[a+160>>2];Ib(a+160|0,e);F[a+176>>2]=F[a+172>>2];Ib(a+172|0,e);F[a- -64>>2]=0;F[a+92>>2]=-1;F[a+84>>2]=-1;F[a+88>>2]=-1;F[a+40>>2]=F[a+36>>2];F[a+52>>2]=F[a+48>>2];F[a+76>>2]=F[a+72>>2];A=a+216|0;Dd(A);Cd(A,k);if(!_c(F[a+8>>2],e,d+F[a+156>>2]|0)){break c}b=F[a+156>>2];D[u+8|0]=1;Ea(a+120|0,b+d|0,u+8|0);if((Bd(a,F[F[a+4>>2]+32>>2])|0)==-1){break c}c=a+232|0;b=c;F[b+144>>2]=a;f=F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2];f=F[f>>2]+F[f+16>>2]|0;e=F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2];e=F[e+8>>2]-F[e+16>>2]|0;N=b,O=H[F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2]+38>>1],E[N+38>>1]=O;F[b>>2]=f;F[b+16>>2]=0;F[b+20>>2]=0;F[b+8>>2]=e;F[b+12>>2]=0;N=b,O=$[F[F[a>>2]+36>>2]](a)|0,F[N+148>>2]=O;F[a+372>>2]=k;F[a+384>>2]=d+F[a+156>>2];J=Ja(u+8|0);k=J;f=0;j=Z-16|0;Z=j;d:{if(!Aa(b+80|0,b)){break d}if(!yd(c)){break d}b=F[c+4>>2];F[k>>2]=F[c>>2];F[k+4>>2]=b;b=F[c+36>>2];F[k+32>>2]=F[c+32>>2];F[k+36>>2]=b;b=F[c+28>>2];F[k+24>>2]=F[c+24>>2];F[k+28>>2]=b;b=F[c+20>>2];F[k+16>>2]=F[c+16>>2];F[k+20>>2]=b;b=F[c+12>>2];F[k+8>>2]=F[c+8>>2];F[k+12>>2]=b;F[c+176>>2]=2;F[c+180>>2]=7;b=F[c+152>>2];if((b|0)<0){break d}F[j+12>>2]=0;f=2;h=F[c+156>>2];e=F[c+160>>2]-h>>2;e:{if(e>>>0>>0){Fa(c+156|0,b-e|0,j+12|0);f=F[c+176>>2];d=F[c+180>>2];break e}d=7;if(b>>>0>=e>>>0){break e}F[c+160>>2]=h+(b<<2)}e=c+184|0;d=(d-f|0)+1|0;b=F[c+188>>2];f=F[c+184>>2];s=(b-f|0)/12|0;f:{if(d>>>0>s>>>0){h=0;b=d-s|0;o=F[e+8>>2];f=F[e+4>>2];g:{if(b>>>0<=(o-f|0)/12>>>0){if(b){b=L(b,12)-12|0;b=(b-((b>>>0)%12|0)|0)+12|0;f=ma(f,0,b)+b|0}F[e+4>>2]=f;break g}h:{i:{j:{s=F[e>>2];g=(f-s|0)/12|0;d=g+b|0;if(d>>>0<357913942){o=(o-s|0)/12|0;i=o<<1;o=o>>>0>=178956970?357913941:d>>>0>>0?i:d;if(o){if(o>>>0>=357913942){break j}h=ka(L(o,12))}d=L(g,12)+h|0;b=L(b,12)-12|0;g=(b-((b>>>0)%12|0)|0)+12|0;b=ma(d,0,g);g=b+g|0;h=L(o,12)+h|0;if((f|0)==(s|0)){break i}while(1){d=d-12|0;f=f-12|0;F[d>>2]=F[f>>2];F[d+4>>2]=F[f+4>>2];F[d+8>>2]=F[f+8>>2];F[f+8>>2]=0;F[f>>2]=0;F[f+4>>2]=0;if((f|0)!=(s|0)){continue}break}F[e+8>>2]=h;b=F[e+4>>2];F[e+4>>2]=g;f=F[e>>2];F[e>>2]=d;if((b|0)==(f|0)){break h}while(1){d=b-12|0;h=F[d>>2];if(h){F[b-8>>2]=h;ja(h)}b=d;if((f|0)!=(b|0)){continue}break}break h}break b}oa();v()}F[e+8>>2]=h;F[e+4>>2]=g;F[e>>2]=b}if(f){ja(f)}}d=F[c+188>>2];break f}if(d>>>0>=s>>>0){d=b;break f}d=f+L(d,12)|0;if((d|0)!=(b|0)){while(1){f=b-12|0;h=F[f>>2];if(h){F[b-8>>2]=h;ja(h)}b=f;if((d|0)!=(b|0)){continue}break}}F[c+188>>2]=d}s=c+196|0;f=F[c+184>>2];b=(d-f|0)/12|0;o=F[c+196>>2];h=F[c+200>>2]-o>>2;k:{if(b>>>0>h>>>0){qa(s,b-h|0);f=F[c+184>>2];d=F[c+188>>2];break k}if(b>>>0>=h>>>0){break k}F[c+200>>2]=o+(b<<2)}if((d|0)==(f|0)){f=1;break d}b=0;while(1){l:{if(!Da(1,j+8|0,k)){break l}f=F[j+8>>2];d=F[c+148>>2];if(f>>>0>(F[d+4>>2]-F[d>>2]>>2>>>0)/3>>>0){break l}if(f){g=L(b,12);h=g+F[e>>2]|0;d=F[h>>2];o=F[h+4>>2]-d>>2;m:{if(o>>>0>>0){qa(h,f-o|0);d=F[g+F[e>>2]>>2];break m}if(f>>>0>=o>>>0){break m}F[h+4>>2]=(f<<2)+d}mc(f,1,k,d);F[F[s>>2]+(b<<2)>>2]=f}f=1;b=b+1|0;if(b>>>0<(F[c+188>>2]-F[c+184>>2]|0)/12>>>0){continue}break d}break}f=0}Z=j+16|0;n:{if(!f){break n}e=0;c=0;d=0;b=0;k=0;f=0;s=0;o=0;l=Z-96|0;Z=l;F[l+72>>2]=0;F[l+64>>2]=0;F[l+68>>2]=0;F[l+48>>2]=0;F[l+52>>2]=0;F[l+40>>2]=0;F[l+44>>2]=0;F[l+56>>2]=1065353216;F[l+32>>2]=0;F[l+24>>2]=0;F[l+28>>2]=0;j=a;C=F[a+124>>2];o:{p:{q:{r:{s:{if((q|0)<=0){break s}I=j+232|0;K=F[j+216>>2]!=F[j+220>>2];B=1;t:{while(1){h=s;s=h+1|0;u:{v:{w:{g=F[j+404>>2];if((g|0)==-1){F[j+400>>2]=7;break w}a=-1;i=F[j+428>>2]+(g<<2)|0;m=F[i>>2];g=m-1|0;F[i>>2]=g;if((m|0)<=0){break r}g=F[F[F[j+416>>2]+L(F[j+404>>2],12)>>2]+(g<<2)>>2];if(g>>>0>4){break r}i=F[(g<<2)+8896>>2];F[j+400>>2]=i;if(!g){if((b|0)==(c|0)){break r}i=-1;m=F[j+8>>2];B=F[m+24>>2];t=c-4|0;e=F[t>>2];g=-1;x:{if((e|0)==-1){break x}p=e+1|0;p=(p>>>0)%3|0?p:e-2|0;g=-1;if((p|0)==-1){break x}g=F[F[m>>2]+(p<<2)>>2]}n=F[B+(g<<2)>>2];if((n|0)!=-1){i=n+1|0;i=(i>>>0)%3|0?i:n-2|0}if((e|0)!=-1&F[F[m+12>>2]+(e<<2)>>2]!=-1|(e|0)==(i|0)){break r}n=F[m+12>>2];if((i|0)!=-1&F[n+(i<<2)>>2]!=-1){break r}p=L(h,3);h=p+1|0;F[n+(e<<2)>>2]=h;x=h<<2;F[x+n>>2]=e;r=p+2|0;F[n+(i<<2)>>2]=r;w=r<<2;F[w+n>>2]=i;n=-1;h=-1;y:{if((e|0)==-1){break y}z:{if((e>>>0)%3|0){e=e-1|0;break z}e=e+2|0;h=-1;if((e|0)==-1){break y}}h=F[F[m>>2]+(e<<2)>>2]}e=h;A:{if((i|0)==-1){break A}h=i+1|0;h=(h>>>0)%3|0?h:i-2|0;if((h|0)==-1){break A}n=F[F[m>>2]+(h<<2)>>2]}if((e|0)==(g|0)|(g|0)==(n|0)){break r}a=F[m>>2];F[a+(p<<2)>>2]=g;F[a+x>>2]=n;F[a+w>>2]=e;if((e|0)!=-1){F[B+(e<<2)>>2]=r}a=F[j+120>>2]+(g>>>3&536870908)|0;e=F[a>>2];N=a,O=oi(g)&e,F[N>>2]=O;F[t>>2]=p;e=b;kc(I,p);break u}B:{switch(i-1|0){case 2:case 4:if((b|0)==(c|0)){break r}r=c-4|0;e=F[r>>2];i=F[j+8>>2];m=F[i+12>>2];if((e|0)!=-1&F[m+(e<<2)>>2]!=-1){break r}c=L(h,3);n=(g|0)==3;g=c+(n?2:1)|0;t=g<<2;F[t+m>>2]=e;F[m+(e<<2)>>2]=g;Ma(i+24|0,8324);p=F[j+8>>2];m=F[p+24>>2];if(F[p+28>>2]-m>>2>(C|0)){break r}a=F[p>>2];w=a+t|0;p=F[i+28>>2];i=F[i+24>>2];t=(p-i>>2)-1|0;F[w>>2]=t;if((i|0)!=(p|0)){F[m+(t<<2)>>2]=g}g=n?c:c+2|0;w=a+(c+n<<2)|0;C:{if((e|0)==-1){F[a+(g<<2)>>2]=-1;i=-1;break C}D:{E:{F:{if((e>>>0)%3|0){i=e-1|0;break F}i=e+2|0;if((i|0)==-1){break E}}i=F[a+(i<<2)>>2];F[a+(g<<2)>>2]=i;if((i|0)==-1){break D}F[m+(i<<2)>>2]=g;break D}F[a+(g<<2)>>2]=-1}i=e+1|0;e=(i>>>0)%3|0?i:e-2|0;i=-1;if((e|0)==-1){break C}i=F[a+(e<<2)>>2]}F[w>>2]=i;F[r>>2]=c;e=b;break v;case 6:break w;case 0:break B;default:break r}}if((e|0)==(c|0)){break r}f=c-4|0;m=F[f>>2];F[l+68>>2]=f;n=F[l+44>>2];G:{if(!n){break G}g=F[l+40>>2];p=ni(n)>>>0>1;a=h&n+2147483647;H:{if(!p){break H}a=h;if(a>>>0>>0){break H}a=(h>>>0)%(n>>>0)|0}i=a;a=F[g+(i<<2)>>2];if(!a){break G}a=F[a>>2];if(!a){break G}I:{if(!p){g=n-1|0;while(1){n=F[a+4>>2];J:{if((n|0)!=(h|0)){if((i|0)==(g&n)){break J}break G}if((h|0)==F[a+8>>2]){break I}}a=F[a>>2];if(a){continue}break}break G}while(1){g=F[a+4>>2];K:{if((g|0)!=(h|0)){if(g>>>0>=n>>>0){g=(g>>>0)%(n>>>0)|0}if((g|0)==(i|0)){break K}break G}if((h|0)==F[a+8>>2]){break I}}a=F[a>>2];if(a){continue}break}break G}if((f|0)!=(k|0)){F[f>>2]=F[a+12>>2];F[l+68>>2]=c;f=c;break G}b=k-e|0;c=b>>2;d=c+1|0;if(d>>>0>=1073741824){break b}f=b>>>1|0;d=b>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break p}f=ka(d<<2)}else{f=0}b=f+(c<<2)|0;F[b>>2]=F[a+12>>2];d=f+(d<<2)|0;f=b+4|0;if((e|0)!=(k|0)){while(1){b=b-4|0;k=k-4|0;F[b>>2]=F[k>>2];if((e|0)!=(k|0)){continue}break}}F[l+72>>2]=d;F[l+68>>2]=f;F[l+64>>2]=b;if(e){ja(e)}e=b;k=d}if((e|0)==(f|0)){break t}x=f-4|0;a=F[x>>2];if((a|0)==(m|0)){break t}i=(a|0)==-1;g=F[j+8>>2];if(!i&F[F[g+12>>2]+(a<<2)>>2]!=-1){break t}n=F[g+12>>2];if((m|0)!=-1&F[n+(m<<2)>>2]!=-1){break t}p=L(h,3);t=p+2|0;F[n+(a<<2)>>2]=t;c=t<<2;F[c+n>>2]=a;h=p+1|0;F[n+(m<<2)>>2]=h;w=h<<2;F[w+n>>2]=m;L:{M:{N:{if(!i){if((a>>>0)%3|0){h=a-1|0;break N}h=a+2|0;if((h|0)!=-1){break N}i=F[g>>2];h=-1;break M}h=-1;i=F[g>>2];F[i+(p<<2)>>2]=-1;r=-1;break L}i=F[g>>2];h=F[i+(h<<2)>>2]}F[(p<<2)+i>>2]=h;r=a+1|0;a=(r>>>0)%3|0?r:a-2|0;r=-1;if((a|0)==-1){break L}r=F[(a<<2)+i>>2]}F[i+w>>2]=r;O:{if((m|0)==-1){F[c+i>>2]=-1;r=-1;c=-1;break O}P:{Q:{R:{if((m>>>0)%3|0){a=m-1|0;break R}a=m+2|0;if((a|0)==-1){break Q}}a=F[(a<<2)+i>>2];F[c+i>>2]=a;if((a|0)==-1){break P}F[F[g+24>>2]+(a<<2)>>2]=t;break P}F[c+i>>2]=-1}r=-1;a=m+1|0;a=(a>>>0)%3|0?a:m-2|0;c=-1;if((a|0)==-1){break O}r=F[(a<<2)+i>>2];c=a}a=F[j+388>>2];t=h<<2;m=a+t|0;w=a;a=r<<2;F[m>>2]=F[m>>2]+F[w+a>>2];w=a;a=F[g+24>>2];m=w+a|0;if((h|0)!=-1){F[a+t>>2]=F[m>>2]}a=c;while(1){if((a|0)!=-1){F[(a<<2)+i>>2]=h;t=a+1|0;a=(t>>>0)%3|0?t:a-2|0;g=-1;S:{if((a|0)==-1){break S}a=F[n+(a<<2)>>2];g=-1;if((a|0)==-1){break S}g=a+1|0;g=(g>>>0)%3|0?g:a-2|0}a=g;if((c|0)!=(a|0)){continue}break t}break}F[m>>2]=-1;T:{U:{if(K){break U}if((y|0)!=(z|0)){F[z>>2]=r;z=z+4|0;F[l+28>>2]=z;break U}a=y-o|0;g=a>>2;c=g+1|0;if(c>>>0>=1073741824){break T}h=a>>>1|0;h=a>>>0>=2147483644?1073741823:c>>>0>>0?h:c;if(h){if(h>>>0>=1073741824){break p}c=ka(h<<2)}else{c=0}a=c+(g<<2)|0;F[a>>2]=r;z=a+4|0;if((o|0)!=(y|0)){while(1){a=a-4|0;y=y-4|0;F[a>>2]=F[y>>2];if((o|0)!=(y|0)){continue}break}}y=c+(h<<2)|0;F[l+32>>2]=y;F[l+28>>2]=z;F[l+24>>2]=a;if(o){ja(o)}o=a}F[x>>2]=p;c=f;kc(I,p);break u}break b}g=F[j+8>>2];Ma(g+24|0,8324);a=-1;k=F[j+8>>2];f=L(h,3);i=F[g+28>>2];m=F[g+24>>2];n=i-m|0;g=n>>2;p=g-1|0;F[F[k>>2]+(f<<2)>>2]=p;Ma(k+24|0,8324);r=f+1|0;F[F[k>>2]+(r<<2)>>2]=(F[k+28>>2]-F[k+24>>2]>>2)-1;k=F[j+8>>2];Ma(k+24|0,8324);t=f+2|0;F[F[k>>2]+(t<<2)>>2]=(F[k+28>>2]-F[k+24>>2]>>2)-1;x=F[j+8>>2];k=F[x+24>>2];if(F[x+28>>2]-k>>2>(C|0)){break r}V:{W:{if((i|0)!=(m|0)){F[k+(p<<2)>>2]=f;a=0;if((n|0)==-4){break W}}F[k+(g<<2)>>2]=r;a=g+1|0;if((a|0)==-1){break V}}F[k+(a<<2)>>2]=t}if((d|0)!=(c|0)){F[c>>2]=f;f=c+4|0;F[l+68>>2]=f;k=d;break v}a=d-b|0;k=a>>2;e=k+1|0;if(e>>>0>=1073741824){break b}c=a>>>1|0;a=a>>>0>=2147483644?1073741823:e>>>0>>0?c:e;if(a){if(a>>>0>=1073741824){break p}c=ka(a<<2)}else{c=0}e=c+(k<<2)|0;F[e>>2]=f;k=c+(a<<2)|0;f=e+4|0;if((b|0)!=(d|0)){while(1){e=e-4|0;d=d-4|0;F[e>>2]=F[d>>2];if((b|0)!=(d|0)){continue}break}}F[l+72>>2]=k;F[l+68>>2]=f;F[l+64>>2]=e;if(b){ja(b)}d=k;b=e}kc(I,F[f-4>>2]);a=F[j+40>>2];X:{if((a|0)==F[j+36>>2]){break X}c=a-12|0;g=F[c+4>>2];h=q+(h^-1)|0;if(g>>>0>h>>>0){break t}if((g|0)!=(h|0)){break X}i=G[a-4|0];g=F[c>>2];F[j+40>>2]=c;if((g|0)<0){break t}m=f-4|0;a=F[m>>2];F[l+20>>2]=q+(g^-1);c=l+20|0;F[l+88>>2]=c;Fb(l,l+40|0,c,l+88|0);g=F[l>>2];Y:{if(i&1){c=-1;if((a|0)==-1){break Y}c=a+1|0;c=(c>>>0)%3|0?c:a-2|0;break Y}c=-1;if((a|0)==-1){break Y}c=a-1|0;if((a>>>0)%3|0){break Y}c=a+2|0}F[g+12>>2]=c;a=F[j+40>>2];if((a|0)==F[j+36>>2]){break X}while(1){c=a-12|0;g=F[c+4>>2];if(g>>>0>h>>>0){break t}if((g|0)!=(h|0)){break X}i=G[a-4|0];g=F[c>>2];F[j+40>>2]=c;if((g|0)<0){break t}a=F[m>>2];F[l+20>>2]=q+(g^-1);c=l+20|0;F[l+88>>2]=c;Fb(l,l+40|0,c,l+88|0);g=F[l>>2];Z:{if(i&1){c=-1;if((a|0)==-1){break Z}c=a+1|0;c=(c>>>0)%3|0?c:a-2|0;break Z}c=-1;if((a|0)==-1){break Z}c=a-1|0;if((a>>>0)%3|0){break Z}c=a+2|0}F[g+12>>2]=c;a=F[j+40>>2];if((a|0)!=F[j+36>>2]){continue}break}}c=f}B=(q|0)>(s|0);if((q|0)!=(s|0)){continue}break}s=q;break s}a=-1;if(B){break r}}a=-1;c=F[j+8>>2];if(F[c+28>>2]-F[c+24>>2]>>2>(C|0)){break r}if((b|0)!=(f|0)){m=j+72|0;k=j+60|0;n=j+312|0;while(1){f=f-4|0;q=F[f>>2];F[l+68>>2]=f;_:{if(wa(n)){g=F[j+8>>2];o=F[g>>2];if(((F[g+4>>2]-o>>2>>>0)/3|0)<=(s|0)){a=-1;break r}b=-1;i=F[g+24>>2];a=-1;$:{if((q|0)==-1){break $}e=q+1|0;e=(e>>>0)%3|0?e:q-2|0;a=-1;if((e|0)==-1){break $}a=F[o+(e<<2)>>2]}e=a;a=F[i+(e<<2)>>2];aa:{if((a|0)==-1){h=1;c=-1;break aa}h=1;c=-1;d=a+1|0;a=(d>>>0)%3|0?d:a-2|0;if((a|0)==-1){break aa}h=0;b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;if((b|0)!=-1){c=F[o+(b<<2)>>2]}b=a}a=-1;d=-1;i=F[i+(c<<2)>>2];if((i|0)!=-1){d=i+1|0;d=(d>>>0)%3|0?d:i-2|0}if((b|0)==(q|0)|(d|0)==(q|0)|((q|0)!=-1&F[F[g+12>>2]+(q<<2)>>2]!=-1|(b|0)==(d|0))){break r}if(!h&F[F[g+12>>2]+(b<<2)>>2]!=-1){break r}h=-1;g=F[g+12>>2];i=-1;ba:{if((d|0)==-1){break ba}if(F[g+(d<<2)>>2]!=-1){break r}a=d+1|0;a=(a>>>0)%3|0?a:d-2|0;i=-1;if((a|0)==-1){break ba}i=F[o+(a<<2)>>2]}a=L(s,3);F[l>>2]=a;F[g+(a<<2)>>2]=q;F[g+(q<<2)>>2]=a;a=F[l>>2]+1|0;F[g+(a<<2)>>2]=b;F[g+(b<<2)>>2]=a;a=F[l>>2]+2|0;F[g+(a<<2)>>2]=d;F[g+(d<<2)>>2]=a;a=F[l>>2];F[o+(a<<2)>>2]=c;b=a+1|0;d=o+(b<<2)|0;F[d>>2]=i;q=a+2|0;o=o+(q<<2)|0;F[o>>2]=e;a=F[j+120>>2];e=b?c:-1;c=a+(e>>>3&536870908)|0;g=F[c>>2];N=c,O=oi(e)&g,F[N>>2]=O;h=(b|0)!=-1?F[d>>2]:h;b=a+(h>>>3&536870908)|0;d=F[b>>2];N=b,O=oi(h)&d,F[N>>2]=O;d=-1;d=(q|0)!=-1?F[o>>2]:d;a=a+(d>>>3&536870908)|0;b=F[a>>2];N=a,O=oi(d)&b,F[N>>2]=O;D[l+88|0]=1;wd(k,l+88|0);Ma(m,l);s=s+1|0;b=F[l+64>>2];break _}d=F[j+64>>2];a=F[j+68>>2];if((d|0)==a<<5){if((d+1|0)<0){break b}if(d>>>0<=1073741822){a=a<<6;d=(d&-32)+32|0;a=a>>>0>d>>>0?a:d}else{a=2147483647}$a(k,a);d=F[j+64>>2]}F[j+64>>2]=d+1;a=F[j+60>>2]+(d>>>3&536870908)|0;e=F[a>>2];N=a,O=oi(d)&e,F[N>>2]=O;d=F[j+76>>2];if((d|0)!=F[j+80>>2]){F[d>>2]=q;F[j+76>>2]=d+4;break _}c=F[m>>2];a=d-c|0;o=a>>2;e=o+1|0;if(e>>>0>=1073741824){break b}h=a>>>1|0;h=a>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(h){if(h>>>0>=1073741824){break p}a=ka(h<<2)}else{a=0}e=a+(o<<2)|0;F[e>>2]=q;q=e+4|0;if((d|0)!=(c|0)){while(1){e=e-4|0;d=d-4|0;F[e>>2]=F[d>>2];if((d|0)!=(c|0)){continue}break}}F[j+80>>2]=a+(h<<2);F[j+76>>2]=q;F[j+72>>2]=e;if(!c){break _}ja(c)}if((b|0)!=(f|0)){continue}break}c=F[j+8>>2]}a=-1;if(((F[c+4>>2]-F[c>>2]>>2>>>0)/3|0)!=(s|0)){break r}a=F[c+28>>2]-F[c+24>>2]>>2;f=F[l+24>>2];h=F[l+28>>2];if((f|0)==(h|0)){break q}while(1){b=F[f>>2];k=F[c+24>>2];d=a-1|0;e=k+(d<<2)|0;if(F[e>>2]==-1){while(1){d=a-2|0;a=a-1|0;e=k+(d<<2)|0;if(F[e>>2]==-1){continue}break}}if(b>>>0<=d>>>0){F[l>>2]=c;e=F[e>>2];D[l+12|0]=1;F[l+8>>2]=e;F[l+4>>2]=e;if((e|0)!=-1){while(1){e=F[F[j+8>>2]>>2]+(e<<2)|0;if(F[e>>2]!=(d|0)){a=-1;break r}F[e>>2]=b;nc(l);e=F[l+8>>2];if((e|0)!=-1){continue}break}c=F[j+8>>2]}k=F[c+24>>2];e=k+(d<<2)|0;if((b|0)!=-1){F[k+(b<<2)>>2]=F[e>>2]}F[e>>2]=-1;e=1<>2];b=k+(b>>>3&536870908)|0;k=k+(d>>>3&536870908)|0;d=1<>2]&d){e=e|F[b>>2]}else{e=F[b>>2]&(e^-1)}F[b>>2]=e;F[k>>2]=F[k>>2]&(d^-1);a=a-1|0}f=f+4|0;if((h|0)!=(f|0)){continue}break}}f=F[l+24>>2]}if(f){ja(f)}b=F[l+48>>2];if(b){while(1){d=F[b>>2];ja(b);b=d;if(b){continue}break}}b=F[l+40>>2];F[l+40>>2]=0;if(b){ja(b)}b=F[l+64>>2];if(b){F[l+68>>2]=b;ja(b)}Z=l+96|0;break o}oa();v()}f=a;if((a|0)==-1){break n}a=J;b=F[a+16>>2];d=b+F[a>>2]|0;b=F[a+8>>2]-b|0;a=F[F[j+4>>2]+32>>2];E[a+38>>1]=H[a+38>>1];F[a>>2]=d;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=b;F[a+12>>2]=0;ca:{if(F[j+216>>2]==F[j+220>>2]){break ca}a=F[j+8>>2];if(F[a+4>>2]==F[a>>2]){break ca}b=0;while(1){if(Ad(j,b)){b=b+3|0;a=F[j+8>>2];if(b>>>0>2]-F[a>>2]>>2>>>0){continue}break ca}break}break n}if(G[j+308|0]){D[j+308|0]=0;d=F[j+292>>2];a=0;e=F[j+304>>2]+7|0;a=e>>>0<7?1:a;e=a<<29|e>>>3;b=e+F[j+288>>2]|0;a=(a>>>3|0)+d|0;F[j+288>>2]=b;F[j+292>>2]=b>>>0>>0?a+1|0:a}b=F[j+216>>2];if((b|0)!=F[j+220>>2]){a=0;while(1){e=L(a,144);Zc((e+b|0)+4|0,F[j+8>>2]);d=F[A>>2];c=d+e|0;b=F[c+132>>2];c=F[c+136>>2];if((b|0)!=(c|0)){while(1){Xc((e+F[A>>2]|0)+4|0,F[b>>2]);b=b+4|0;if((c|0)!=(b|0)){continue}break}d=F[A>>2]}if(!Yc((d+e|0)+4|0)){break n}a=a+1|0;b=F[j+216>>2];if(a>>>0<(F[j+220>>2]-b|0)/144>>>0){continue}break}}a=F[j+8>>2];Hb(j+184|0,F[a+28>>2]-F[a+24>>2]>>2);d=F[j+216>>2];if((d|0)!=F[j+220>>2]){b=0;while(1){a=L(b,144)+d|0;d=F[a+60>>2]-F[a+56>>2]>>2;c=a+104|0;a=F[j+8>>2];a=F[a+28>>2]-F[a+24>>2]>>2;Hb(c,(a|0)<(d|0)?d:a);b=b+1|0;d=F[j+216>>2];if(b>>>0<(F[j+220>>2]-d|0)/144>>>0){continue}break}}M=zd(j,f)}}Z=u- -64|0;return M|0}na();v()}function lh(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,I=0,J=0,K=0,M=0;t=Z+-64|0;Z=t;F[a+132>>2]=0;if(F[a+148>>2]){c=F[a+144>>2];if(c){while(1){b=F[c>>2];ja(c);c=b;if(b){continue}break}}c=0;F[a+144>>2]=0;b=F[a+140>>2];a:{if(!b){break a}if(b>>>0>=4){h=b&-4;while(1){e=c<<2;F[e+F[a+136>>2]>>2]=0;F[F[a+136>>2]+(e|4)>>2]=0;F[F[a+136>>2]+(e|8)>>2]=0;F[F[a+136>>2]+(e|12)>>2]=0;c=c+4|0;f=f+4|0;if((h|0)!=(f|0)){continue}break}}b=b&3;if(!b){break a}f=0;while(1){F[F[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;f=f+1|0;if((b|0)!=(f|0)){continue}break}}F[a+148>>2]=0}b:{if(!Da(1,t+60|0,F[F[a+4>>2]+32>>2])){break b}F[a+156>>2]=F[t+60>>2];if(!Da(1,t+56|0,F[F[a+4>>2]+32>>2])){break b}e=F[t+56>>2];if(e>>>0>1431655765){break b}c=F[a+156>>2];b=L(e,3);if(c>>>0>b>>>0){break b}f=b>>>1|0;b=c>>31;h=ki(c-1|0,b-!c|0,c,b);b=_;c=b>>>1|0;b=(b&1)<<31|h>>>1;if(!c&b>>>0>>0){break b}c=F[F[a+4>>2]+32>>2];h=F[c+8>>2];m=F[c+12>>2];b=F[c+20>>2];f=F[c+16>>2];if((m|0)<=(b|0)&f>>>0>=h>>>0|(b|0)>(m|0)){break b}h=G[f+F[c>>2]|0];f=f+1|0;b=f?b:b+1|0;F[c+16>>2]=f;F[c+20>>2]=b;if(!Da(1,t+52|0,c)){break b}n=F[t+52>>2];if(n>>>0>e>>>0|e>>>0>n+((n>>>0)/3|0)>>>0){break b}if(!Da(1,t+48|0,F[F[a+4>>2]+32>>2])){break b}c=F[t+48>>2];if(c>>>0>n>>>0){break b}F[a+28>>2]=F[a+24>>2];f=Zb(ka(88));b=F[a+8>>2];F[a+8>>2]=f;if(b){Za(b);if(!F[a+8>>2]){break b}}F[a+164>>2]=F[a+160>>2];Ib(a+160|0,e);F[a+176>>2]=F[a+172>>2];Ib(a+172|0,e);F[a- -64>>2]=0;F[a+92>>2]=-1;F[a+84>>2]=-1;F[a+88>>2]=-1;F[a+40>>2]=F[a+36>>2];F[a+52>>2]=F[a+48>>2];F[a+76>>2]=F[a+72>>2];y=a+216|0;Dd(y);Cd(y,h);if(!_c(F[a+8>>2],e,c+F[a+156>>2]|0)){break b}b=F[a+156>>2];D[t+8|0]=1;Ea(a+120|0,b+c|0,t+8|0);if((Bd(a,F[F[a+4>>2]+32>>2])|0)==-1){break b}c=a+232|0;F[c+144>>2]=a;b=F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2];b=F[b>>2]+F[b+16>>2]|0;f=F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2];f=F[f+8>>2]-F[f+16>>2]|0;K=c,M=H[F[($[F[F[a>>2]+32>>2]](a)|0)+32>>2]+38>>1],E[K+38>>1]=M;F[c>>2]=b;F[c+16>>2]=0;F[c+20>>2]=0;F[c+8>>2]=f;F[c+12>>2]=0;F[a+372>>2]=h;C=Ja(t+8|0);h=C;m=0;d=Z-16|0;Z=d;b=F[c+4>>2];F[c+40>>2]=F[c>>2];F[c+44>>2]=b;b=F[c+36>>2];F[c+72>>2]=F[c+32>>2];F[c+76>>2]=b;f=F[c+28>>2];b=c- -64|0;F[b>>2]=F[c+24>>2];F[b+4>>2]=f;b=F[c+20>>2];F[c+56>>2]=F[c+16>>2];F[c+60>>2]=b;b=F[c+12>>2];F[c+48>>2]=F[c+8>>2];F[c+52>>2]=b;c:{d:{if(hc(c+40|0,1,d+8|0)){b=F[c+44>>2];F[c>>2]=F[c+40>>2];F[c+4>>2]=b;b=F[c+76>>2];F[c+32>>2]=F[c+72>>2];F[c+36>>2]=b;b=F[c+68>>2];F[c+24>>2]=F[c+64>>2];F[c+28>>2]=b;f=F[c+60>>2];g=f;b=F[c+56>>2];F[c+16>>2]=b;F[c+20>>2]=f;e=F[c+52>>2];f=F[c+48>>2];F[c+8>>2]=f;F[c+12>>2]=e;k=F[d+12>>2];i=e-((b>>>0>f>>>0)+g|0)|0;e=f-b|0;f=F[d+8>>2];if((k|0)==(i|0)&e>>>0>=f>>>0|i>>>0>k>>>0){break d}}break c}e=g+k|0;b=b+f|0;e=b>>>0>>0?e+1|0:e;F[c+16>>2]=b;F[c+20>>2]=e;if(!Aa(c+80|0,c)){break c}if(!yd(c)){break c}b=F[c+4>>2];F[h>>2]=F[c>>2];F[h+4>>2]=b;b=F[c+36>>2];F[h+32>>2]=F[c+32>>2];F[h+36>>2]=b;b=F[c+28>>2];F[h+24>>2]=F[c+24>>2];F[h+28>>2]=b;b=F[c+20>>2];F[h+16>>2]=F[c+16>>2];F[h+20>>2]=b;b=F[c+12>>2];F[h+8>>2]=F[c+8>>2];F[h+12>>2]=b;m=1}Z=d+16|0;e:{if(!m){break e}b=0;c=0;f=0;m=0;j=Z-96|0;Z=j;F[j+72>>2]=0;F[j+64>>2]=0;F[j+68>>2]=0;F[j+48>>2]=0;F[j+52>>2]=0;F[j+40>>2]=0;F[j+44>>2]=0;F[j+56>>2]=1065353216;F[j+32>>2]=0;F[j+24>>2]=0;F[j+28>>2]=0;h=a;B=F[a+124>>2];f:{g:{h:{i:{j:{k:{l:{m:{if((n|0)<=0){break m}I=F[h+216>>2]!=F[h+220>>2];z=1;while(1){e=m;m=e+1|0;n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{if(!G[h+308|0]){break B}k=F[h+296>>2];d=F[h+304>>2];a=k+(d>>>3|0)|0;l=F[h+300>>2];if(a>>>0>=l>>>0){break B}g=G[a|0];a=d+1|0;F[h+304>>2]=a;p=g>>>(d&7)&1;if(!p){break B}i=0;g=a>>>3|0;r=k+g|0;C:{if(r>>>0>=l>>>0){d=a;a=0;break C}r=G[r|0];d=d+2|0;F[h+304>>2]=d;g=d>>>3|0;a=r>>>(a&7)&1}g=g+k|0;if(g>>>0>>0){g=G[g|0];F[h+304>>2]=d+1;i=g>>>(d&7)<<1&2}g=-1;i=p|(a|i)<<1;switch(i-1|0){case 6:break y;case 0:break z;case 2:case 4:break A;default:break l}}if((c|0)==(f|0)){g=-1;break l}d=-1;i=F[h+8>>2];z=F[i+24>>2];r=c-4|0;b=F[r>>2];a=-1;D:{if((b|0)==-1){break D}k=b+1|0;k=(k>>>0)%3|0?k:b-2|0;a=-1;if((k|0)==-1){break D}a=F[F[i>>2]+(k<<2)>>2]}g=F[z+(a<<2)>>2];if((g|0)!=-1){d=g+1|0;d=(d>>>0)%3|0?d:g-2|0}if((b|0)==(d|0)){g=-1;break l}if((b|0)!=-1){g=-1;if(F[F[i+12>>2]+(b<<2)>>2]!=-1){break l}}k=F[i+12>>2];if((d|0)!=-1){g=-1;if(F[k+(d<<2)>>2]!=-1){break l}}l=L(e,3);e=l+1|0;F[k+(b<<2)>>2]=e;s=e<<2;F[s+k>>2]=b;p=l+2|0;F[k+(d<<2)>>2]=p;u=p<<2;F[u+k>>2]=d;k=-1;e=-1;E:{if((b|0)==-1){break E}F:{if((b>>>0)%3|0){b=b-1|0;break F}b=b+2|0;e=-1;if((b|0)==-1){break E}}e=F[F[i>>2]+(b<<2)>>2]}b=e;G:{if((d|0)==-1){break G}e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)==-1){break G}k=F[F[i>>2]+(e<<2)>>2]}g=-1;if((a|0)==(b|0)|(a|0)==(k|0)){break l}e=F[i>>2];F[e+(l<<2)>>2]=a;F[e+s>>2]=k;F[e+u>>2]=b;if((b|0)!=-1){F[z+(b<<2)>>2]=p}b=F[h+120>>2]+(a>>>3&536870908)|0;e=F[b>>2];K=b,M=oi(a)&e,F[K>>2]=M;F[r>>2]=l;b=f;break n}if((c|0)==(f|0)){break l}r=c-4|0;b=F[r>>2];a=F[h+8>>2];d=F[a+12>>2];if((b|0)!=-1&F[d+(b<<2)>>2]!=-1){break l}l=(i|0)==5;i=L(e,3);p=(l?2:1)+i|0;s=p<<2;F[s+d>>2]=b;F[d+(b<<2)>>2]=p;Ma(a+24|0,8324);d=F[h+8>>2];k=F[d+24>>2];if(F[d+28>>2]-k>>2>(B|0)){break l}d=F[d>>2];u=d+s|0;g=F[a+28>>2];a=F[a+24>>2];s=(g-a>>2)-1|0;F[u>>2]=s;if((a|0)!=(g|0)){F[k+(s<<2)>>2]=p}g=l?i:i+2|0;l=d+(i+l<<2)|0;H:{if((b|0)==-1){F[d+(g<<2)>>2]=-1;a=-1;break H}I:{J:{K:{if((b>>>0)%3|0){a=b-1|0;break K}a=b+2|0;if((a|0)==-1){break J}}a=F[d+(a<<2)>>2];F[d+(g<<2)>>2]=a;if((a|0)==-1){break I}F[k+(a<<2)>>2]=g;break I}F[d+(g<<2)>>2]=-1}g=b+1|0;b=(g>>>0)%3|0?g:b-2|0;a=-1;if((b|0)==-1){break H}a=F[d+(b<<2)>>2]}F[l>>2]=a;F[r>>2]=i;b=f;break t}if((b|0)==(c|0)){break l}a=c-4|0;k=F[a>>2];F[j+68>>2]=a;l=F[j+44>>2];L:{if(!l){c=a;break L}g=F[j+40>>2];p=ni(l)>>>0>1;d=e&l+2147483647;M:{if(!p){break M}d=e;if(d>>>0>>0){break M}d=(e>>>0)%(l>>>0)|0}i=d;d=F[g+(i<<2)>>2];if(!d){c=a;break L}d=F[d>>2];if(!d){c=a;break L}N:{if(!p){g=l-1|0;while(1){l=F[d+4>>2];O:{if((l|0)!=(e|0)){if((i|0)==(g&l)){break O}c=a;break L}if((e|0)==F[d+8>>2]){break N}}d=F[d>>2];if(d){continue}break}c=a;break L}while(1){g=F[d+4>>2];P:{if((g|0)!=(e|0)){if(g>>>0>=l>>>0){g=(g>>>0)%(l>>>0)|0}if((g|0)==(i|0)){break P}c=a;break L}if((e|0)==F[d+8>>2]){break N}}d=F[d>>2];if(d){continue}break}c=a;break L}if((a|0)!=(q|0)){F[a>>2]=F[d+12>>2];F[j+68>>2]=c;break L}a=q-b|0;f=a>>2;c=f+1|0;if(c>>>0>=1073741824){break x}g=a>>>1|0;g=a>>>0>=2147483644?1073741823:c>>>0>>0?g:c;if(g){if(g>>>0>=1073741824){break j}a=ka(g<<2)}else{a=0}f=a+(f<<2)|0;F[f>>2]=F[d+12>>2];c=f+4|0;if((b|0)!=(q|0)){while(1){f=f-4|0;q=q-4|0;F[f>>2]=F[q>>2];if((b|0)!=(q|0)){continue}break}}q=a+(g<<2)|0;F[j+72>>2]=q;F[j+68>>2]=c;F[j+64>>2]=f;if(b){ja(b)}}if((c|0)==(f|0)){break p}s=c-4|0;b=F[s>>2];if((b|0)==(k|0)){break p}a=(b|0)==-1;g=F[h+8>>2];if(!a&F[F[g+12>>2]+(b<<2)>>2]!=-1){break p}l=F[g+12>>2];if((k|0)!=-1&F[l+(k<<2)>>2]!=-1){break p}p=L(e,3);r=p+2|0;F[l+(b<<2)>>2]=r;e=r<<2;F[e+l>>2]=b;d=p+1|0;F[l+(k<<2)>>2]=d;u=d<<2;F[u+l>>2]=k;if(a){break w}if((b>>>0)%3|0){d=b-1|0;break s}d=b+2|0;if((d|0)!=-1){break s}a=F[g>>2];d=-1;break r}i=F[h+8>>2];Ma(i+24|0,8324);d=F[h+8>>2];a=L(e,3);k=F[i+28>>2];l=F[i+24>>2];p=k-l|0;i=p>>2;r=i-1|0;F[F[d>>2]+(a<<2)>>2]=r;Ma(d+24|0,8324);s=a+1|0;F[F[d>>2]+(s<<2)>>2]=(F[d+28>>2]-F[d+24>>2]>>2)-1;d=F[h+8>>2];Ma(d+24|0,8324);u=a+2|0;F[F[d>>2]+(u<<2)>>2]=(F[d+28>>2]-F[d+24>>2]>>2)-1;A=F[h+8>>2];d=F[A+24>>2];if(F[A+28>>2]-d>>2>(B|0)){break l}Q:{R:{if((k|0)!=(l|0)){F[d+(r<<2)>>2]=a;g=0;if((p|0)==-4){break R}}F[d+(i<<2)>>2]=s;g=i+1|0;if((g|0)==-1){break Q}}F[d+(g<<2)>>2]=u}if((c|0)!=(q|0)){F[c>>2]=a;c=c+4|0;F[j+68>>2]=c;break t}f=c-b|0;i=f>>2;d=i+1|0;if(d>>>0>=1073741824){break v}g=f>>>1|0;d=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(d){if(d>>>0>=1073741824){break j}g=ka(d<<2)}else{g=0}f=g+(i<<2)|0;F[f>>2]=a;q=g+(d<<2)|0;a=f+4|0;if((b|0)!=(c|0)){while(1){f=f-4|0;c=c-4|0;F[f>>2]=F[c>>2];if((b|0)!=(c|0)){continue}break}}F[j+72>>2]=q;F[j+68>>2]=a;F[j+64>>2]=f;if(!b){break u}ja(b);break u}na();v()}d=-1;a=F[g>>2];F[a+(p<<2)>>2]=-1;i=-1;break q}na();v()}c=a;b=f}a=F[h+40>>2];if((a|0)==F[h+36>>2]){break n}d=a-12|0;i=F[d+4>>2];g=n+(e^-1)|0;if(i>>>0>g>>>0){break p}if((g|0)!=(i|0)){break n}i=G[a-4|0];e=F[d>>2];F[h+40>>2]=d;if((e|0)<0){break p}k=c-4|0;a=F[k>>2];F[j+20>>2]=n+(e^-1);e=j+20|0;F[j+88>>2]=e;Fb(j,j+40|0,e,j+88|0);d=F[j>>2];S:{if(i&1){e=-1;if((a|0)==-1){break S}e=a+1|0;e=(e>>>0)%3|0?e:a-2|0;break S}e=-1;if((a|0)==-1){break S}e=a-1|0;if((a>>>0)%3|0){break S}e=a+2|0}F[d+12>>2]=e;d=F[h+40>>2];if((d|0)==F[h+36>>2]){break n}while(1){a=d-12|0;e=F[a+4>>2];if(e>>>0>g>>>0){break p}if((g|0)!=(e|0)){break n}d=G[d-4|0];e=F[a>>2];F[h+40>>2]=a;if((e|0)<0){break p}a=F[k>>2];F[j+20>>2]=n+(e^-1);e=j+20|0;F[j+88>>2]=e;Fb(j,j+40|0,e,j+88|0);i=F[j>>2];T:{if(d&1){e=-1;if((a|0)==-1){break T}e=a+1|0;e=(e>>>0)%3|0?e:a-2|0;break T}e=-1;if((a|0)==-1){break T}e=a-1|0;if((a>>>0)%3|0){break T}e=a+2|0}F[i+12>>2]=e;d=F[h+40>>2];if((d|0)!=F[h+36>>2]){continue}break}break n}a=F[g>>2];d=F[a+(d<<2)>>2]}F[(p<<2)+a>>2]=d;A=b+1|0;b=(A>>>0)%3|0?A:b-2|0;i=-1;if((b|0)==-1){break q}i=F[(b<<2)+a>>2]}F[a+u>>2]=i;U:{if((k|0)==-1){F[a+e>>2]=-1;i=-1;e=-1;break U}V:{W:{X:{if((k>>>0)%3|0){b=k-1|0;break X}b=k+2|0;if((b|0)==-1){break W}}b=F[(b<<2)+a>>2];F[a+e>>2]=b;if((b|0)==-1){break V}F[F[g+24>>2]+(b<<2)>>2]=r;break V}F[a+e>>2]=-1}i=-1;b=k+1|0;b=(b>>>0)%3|0?b:k-2|0;e=-1;if((b|0)==-1){break U}i=F[(b<<2)+a>>2];e=b}b=F[g+24>>2];k=b+(i<<2)|0;if((d|0)!=-1){F[b+(d<<2)>>2]=F[k>>2]}b=e;while(1){if((b|0)==-1){break o}F[(b<<2)+a>>2]=d;r=b+1|0;b=(r>>>0)%3|0?r:b-2|0;g=-1;Y:{if((b|0)==-1){break Y}b=F[l+(b<<2)>>2];g=-1;if((b|0)==-1){break Y}g=b+1|0;g=(g>>>0)%3|0?g:b-2|0}b=g;if((e|0)!=(b|0)){continue}break}}g=-1;if(!z){break m}break l}F[k>>2]=-1;Z:{if(I){break Z}if((w|0)!=(x|0)){F[x>>2]=i;x=x+4|0;F[j+28>>2]=x;break Z}a=w-o|0;d=a>>2;b=d+1|0;if(b>>>0>=1073741824){break i}e=a>>>1|0;e=a>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(e){if(e>>>0>=1073741824){break j}a=ka(e<<2)}else{a=0}b=a+(d<<2)|0;F[b>>2]=i;x=b+4|0;if((o|0)!=(w|0)){while(1){b=b-4|0;w=w-4|0;F[b>>2]=F[w>>2];if((o|0)!=(w|0)){continue}break}}w=a+(e<<2)|0;F[j+32>>2]=w;F[j+28>>2]=x;F[j+24>>2]=b;if(o){ja(o)}o=b}F[s>>2]=p;b=f}z=(m|0)<(n|0);if((m|0)!=(n|0)){continue}break}m=n}g=-1;a=F[h+8>>2];if(F[a+28>>2]-F[a+24>>2]>>2>(B|0)){break l}if((c|0)!=(f|0)){l=h+72|0;e=h+60|0;w=h+312|0;while(1){c=c-4|0;i=F[c>>2];F[j+68>>2]=c;_:{if(wa(w)){q=F[h+8>>2];k=F[q>>2];if(((F[q+4>>2]-k>>2>>>0)/3|0)<=(m|0)){g=-1;break l}a=-1;g=-1;b=-1;x=F[q+24>>2];f=-1;$:{if((i|0)==-1){break $}n=i+1|0;n=(n>>>0)%3|0?n:i-2|0;f=-1;if((n|0)==-1){break $}f=F[k+(n<<2)>>2]}n=f;o=F[x+(n<<2)>>2];aa:{if((o|0)==-1){d=1;f=-1;break aa}d=1;p=o+1|0;o=(p>>>0)%3|0?p:o-2|0;f=-1;if((o|0)==-1){break aa}d=0;a=o;f=a+1|0;f=(f>>>0)%3|0?f:a-2|0;if((f|0)!=-1){f=F[k+(f<<2)>>2]}else{f=-1}}o=F[(f<<2)+x>>2];if((o|0)!=-1){b=o+1|0;b=(b>>>0)%3|0?b:o-2|0}if((a|0)==(i|0)|(b|0)==(i|0)|((i|0)!=-1&F[F[q+12>>2]+(i<<2)>>2]!=-1|(a|0)==(b|0))){break l}if(!d&F[F[q+12>>2]+(a<<2)>>2]!=-1){break l}d=-1;o=F[q+12>>2];q=-1;ba:{if((b|0)==-1){break ba}if(F[o+(b<<2)>>2]!=-1){break l}g=b+1|0;g=(g>>>0)%3|0?g:b-2|0;q=-1;if((g|0)==-1){break ba}q=F[k+(g<<2)>>2]}g=L(m,3);F[j>>2]=g;F[o+(g<<2)>>2]=i;F[o+(i<<2)>>2]=g;g=F[j>>2]+1|0;F[o+(g<<2)>>2]=a;F[o+(a<<2)>>2]=g;a=F[j>>2]+2|0;F[o+(a<<2)>>2]=b;F[o+(b<<2)>>2]=a;a=F[j>>2];F[k+(a<<2)>>2]=f;b=a+1|0;g=k+(b<<2)|0;F[g>>2]=q;o=a+2|0;i=k+(o<<2)|0;F[i>>2]=n;a=F[h+120>>2];f=b?f:-1;n=a+(f>>>3&536870908)|0;k=F[n>>2];K=n,M=oi(f)&k,F[K>>2]=M;d=(b|0)!=-1?F[g>>2]:d;b=a+(d>>>3&536870908)|0;f=F[b>>2];K=b,M=oi(d)&f,F[K>>2]=M;b=-1;b=(o|0)!=-1?F[i>>2]:b;a=a+(b>>>3&536870908)|0;f=F[a>>2];K=a,M=oi(b)&f,F[K>>2]=M;D[j+88|0]=1;wd(e,j+88|0);Ma(l,j);m=m+1|0;f=F[j+64>>2];break _}b=F[h+64>>2];a=F[h+68>>2];if((b|0)==a<<5){if((b+1|0)<0){break h}if(b>>>0<=1073741822){a=a<<6;b=(b&-32)+32|0;a=a>>>0>b>>>0?a:b}else{a=2147483647}$a(e,a);b=F[h+64>>2]}F[h+64>>2]=b+1;a=F[h+60>>2]+(b>>>3&536870908)|0;d=F[a>>2];K=a,M=oi(b)&d,F[K>>2]=M;b=F[h+76>>2];if((b|0)!=F[h+80>>2]){F[b>>2]=i;F[h+76>>2]=b+4;break _}g=F[l>>2];a=b-g|0;o=a>>2;d=o+1|0;if(d>>>0>=1073741824){break g}n=a>>>1|0;n=a>>>0>=2147483644?1073741823:d>>>0>>0?n:d;if(n){if(n>>>0>=1073741824){break j}a=ka(n<<2)}else{a=0}d=a+(o<<2)|0;F[d>>2]=i;o=d+4|0;if((b|0)!=(g|0)){while(1){d=d-4|0;b=b-4|0;F[d>>2]=F[b>>2];if((b|0)!=(g|0)){continue}break}}F[h+80>>2]=a+(n<<2);F[h+76>>2]=o;F[h+72>>2]=d;if(!g){break _}ja(g)}if((c|0)!=(f|0)){continue}break}a=F[h+8>>2]}g=-1;if(((F[a+4>>2]-F[a>>2]>>2>>>0)/3|0)!=(m|0)){break l}g=F[a+28>>2]-F[a+24>>2]>>2;c=F[j+24>>2];n=F[j+28>>2];if((c|0)==(n|0)){break k}while(1){f=F[c>>2];e=F[a+24>>2];b=g-1|0;d=e+(b<<2)|0;if(F[d>>2]==-1){while(1){b=g-2|0;g=g-1|0;d=e+(b<<2)|0;if(F[d>>2]==-1){continue}break}}if(b>>>0>=f>>>0){F[j>>2]=a;d=F[d>>2];D[j+12|0]=1;F[j+8>>2]=d;F[j+4>>2]=d;if((d|0)!=-1){while(1){a=F[F[h+8>>2]>>2]+(d<<2)|0;if(F[a>>2]!=(b|0)){g=-1;break l}F[a>>2]=f;nc(j);d=F[j+8>>2];if((d|0)!=-1){continue}break}a=F[h+8>>2]}m=F[a+24>>2];e=m+(b<<2)|0;if((f|0)!=-1){F[m+(f<<2)>>2]=F[e>>2]}F[e>>2]=-1;e=1<>2];f=m+(f>>>3&536870908)|0;d=1<>>3&536870908)|0;if(d&F[m>>2]){b=e|F[f>>2]}else{b=F[f>>2]&(e^-1)}F[f>>2]=b;F[m>>2]=F[m>>2]&(d^-1);g=g-1|0}c=c+4|0;if((n|0)!=(c|0)){continue}break}}c=F[j+24>>2]}if(c){ja(c)}a=F[j+48>>2];if(a){while(1){c=F[a>>2];ja(a);a=c;if(a){continue}break}}a=F[j+40>>2];F[j+40>>2]=0;if(a){ja(a)}a=F[j+64>>2];if(a){F[j+68>>2]=a;ja(a)}Z=j+96|0;a=g;break f}oa();v()}na();v()}na();v()}na();v()}b=a;if((a|0)==-1){break e}a=C;c=F[a+16>>2];f=c+F[a>>2]|0;c=F[a+8>>2]-c|0;a=F[F[h+4>>2]+32>>2];E[a+38>>1]=H[a+38>>1];F[a>>2]=f;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=c;F[a+12>>2]=0;ca:{if(F[h+216>>2]==F[h+220>>2]){break ca}a=F[h+8>>2];if(F[a+4>>2]==F[a>>2]){break ca}c=0;while(1){if(Ad(h,c)){c=c+3|0;a=F[h+8>>2];if(c>>>0>2]-F[a>>2]>>2>>>0){continue}break ca}break}break e}if(G[h+308|0]){D[h+308|0]=0;f=F[h+292>>2];a=0;e=F[h+304>>2]+7|0;a=e>>>0<7?1:a;c=a>>>3|0;m=a<<29|e>>>3;a=m+F[h+288>>2]|0;e=c+f|0;F[h+288>>2]=a;F[h+292>>2]=a>>>0>>0?e+1|0:e}c=F[h+216>>2];if((c|0)!=F[h+220>>2]){a=0;while(1){e=L(a,144);Zc((e+c|0)+4|0,F[h+8>>2]);f=F[y>>2];m=f+e|0;c=F[m+132>>2];m=F[m+136>>2];if((c|0)!=(m|0)){while(1){Xc((e+F[y>>2]|0)+4|0,F[c>>2]);c=c+4|0;if((m|0)!=(c|0)){continue}break}f=F[y>>2]}if(!Yc((f+e|0)+4|0)){break e}a=a+1|0;c=F[h+216>>2];if(a>>>0<(F[h+220>>2]-c|0)/144>>>0){continue}break}}a=F[h+8>>2];Hb(h+184|0,F[a+28>>2]-F[a+24>>2]>>2);f=F[h+216>>2];if((f|0)!=F[h+220>>2]){c=0;while(1){a=L(c,144)+f|0;f=F[a+60>>2]-F[a+56>>2]>>2;e=a+104|0;a=F[h+8>>2];a=F[a+28>>2]-F[a+24>>2]>>2;Hb(e,(a|0)<(f|0)?f:a);c=c+1|0;f=F[h+216>>2];if(c>>>0<(F[h+220>>2]-f|0)/144>>>0){continue}break}}J=zd(h,b)}}Z=t- -64|0;return J|0}function Cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0;B=c;c=0;m=Z-96|0;Z=m;l=m+16|0;ma(l,0,76);F[m+92>>2]=-1;F[m+8>>2]=0;F[m>>2]=0;F[m+4>>2]=0;r=Z-16|0;Z=r;F[l+68>>2]=0;F[l+72>>2]=0;F[l>>2]=b;s=Z-16|0;Z=s;u=b;a=F[b+20>>2];a:{if((F[b+24>>2]-a|0)<=0){break a}a=F[a>>2];if((a|0)==-1){break a}c=F[F[u+8>>2]+(a<<2)>>2]}b:{c:{d:{if(!c){a=0;break d}a=F[u+100>>2];e=F[u+96>>2];F[s+8>>2]=0;F[s>>2]=0;F[s+4>>2]=0;f=a-e|0;b=(f|0)/12|0;e:{if((a|0)==(e|0)){break e}if(b>>>0>=357913942){break c}d=ka(f);F[s>>2]=d;F[s+8>>2]=d+L(b,12);a=0;n=d;f=f-12|0;d=(f-((f>>>0)%12|0)|0)+12|0;f=ma(n,0,d);F[s+4>>2]=d+f;if(G[c+84|0]){c=b>>>0<=1?1:b;h=c&1;if(b>>>0>=2){g=c&-2;c=0;while(1){d=L(a,12);b=d+e|0;i=F[b+4>>2];j=F[b>>2];d=d+f|0;F[d+8>>2]=F[b+8>>2];F[d>>2]=j;F[d+4>>2]=i;d=L(a|1,12);b=d+e|0;i=F[b+4>>2];j=F[b>>2];d=d+f|0;F[d+8>>2]=F[b+8>>2];F[d>>2]=j;F[d+4>>2]=i;a=a+2|0;c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!h){break e}b=L(a,12);a=b+e|0;c=F[a+4>>2];e=F[a>>2];b=b+f|0;F[b+8>>2]=F[a+8>>2];F[b>>2]=e;F[b+4>>2]=c;break e}h=b>>>0<=1?1:b;a=F[c+68>>2];c=0;while(1){d=L(c,12);b=d+e|0;g=F[a+(F[b>>2]<<2)>>2];i=F[a+(F[b+4>>2]<<2)>>2];d=d+f|0;F[d+8>>2]=F[a+(F[b+8>>2]<<2)>>2];F[d+4>>2]=i;F[d>>2]=g;c=c+1|0;if((h|0)!=(c|0)){continue}break}}d=0;H=Z-16|0;Z=H;h=ka(88);Zb(h);C=Z-16|0;Z=C;F[h+80>>2]=0;F[h+84>>2]=0;a=F[h+76>>2];F[h+76>>2]=0;if(a){ja(a)}F[h+68>>2]=0;F[h+72>>2]=0;b=h- -64|0;a=F[b>>2];F[b>>2]=0;if(a){ja(a)}g=F[s+4>>2];b=F[s>>2];c=(g-b|0)/12|0;a=L(c,3);f=F[h>>2];e=F[h+4>>2]-f>>2;f:{if(a>>>0>e>>>0){nd(h,a-e|0);g=F[s+4>>2];b=F[s>>2];c=(g-b|0)/12|0;break f}if(a>>>0>=e>>>0){break f}F[h+4>>2]=f+(a<<2)}g:{if((b|0)==(g|0)){break g}e=c>>>0<=1?1:c;g=e&1;a=F[h>>2];if(c>>>0>=2){i=e&-2;c=0;while(1){e=L(d,12);j=e+a|0;f=b+e|0;F[j>>2]=F[f>>2];F[a+(e|4)>>2]=F[f+4>>2];F[j+8>>2]=F[f+8>>2];f=L(d|1,12);e=f+a|0;f=b+f|0;F[e>>2]=F[f>>2];F[e+4>>2]=F[f+4>>2];F[e+8>>2]=F[f+8>>2];d=d+2|0;c=c+2|0;if((i|0)!=(c|0)){continue}break}}if(!g){break g}c=L(d,12);a=c+a|0;b=b+c|0;F[a>>2]=F[b>>2];F[a+4>>2]=F[b+4>>2];F[a+8>>2]=F[b+8>>2]}F[C+12>>2]=-1;a=0;e=0;g=0;f=Z-32|0;Z=f;h:{i:{w=C+12|0;j:{if(!w){break j}c=F[h+4>>2];j=F[h>>2];d=c-j|0;i=d>>2;n=F[h+12>>2];b=F[h+16>>2]-n>>2;k:{if(i>>>0>b>>>0){ab(h+12|0,i-b|0,10228);c=F[h+4>>2];j=F[h>>2];d=c-j|0;i=d>>2;break k}if(b>>>0<=i>>>0){break k}F[h+16>>2]=n+(i<<2)}F[f+24>>2]=0;F[f+16>>2]=0;F[f+20>>2]=0;b=(c|0)==(j|0);if(!b){if((d|0)<0){break i}e=ka(d);F[f+20>>2]=e;F[f+16>>2]=e;F[f+24>>2]=(i<<2)+e}l:{m:{n:{o:{p:{if(d){while(1){i=F[(a<<2)+j>>2];b=F[f+20>>2]-e>>2;q:{if(i>>>0>>0){break q}F[f>>2]=0;d=i+1|0;if(d>>>0>b>>>0){Fa(f+16|0,d-b|0,f);j=F[h>>2];c=F[h+4>>2];e=F[f+16>>2];break q}if(b>>>0<=d>>>0){break q}F[f+20>>2]=(d<<2)+e}b=(i<<2)+e|0;F[b>>2]=F[b>>2]+1;a=a+1|0;d=c-j|0;i=d>>2;if(a>>>0>>0){continue}break}break p}d=0;if(!b){break o}break n}if((c|0)==(j|0)){d=0;break n}if(d>>>0>=2147483645){break m}}d=ka(d<<1);ma(d,255,i<<3)}F[f+8>>2]=0;F[f>>2]=0;F[f+4>>2]=0;b=F[f+20>>2];a=b-e|0;t=a>>2;r:{s:{if((b|0)==(e|0)){break s}if((a|0)<0){break r}q=ka(a);F[f>>2]=q;F[f+8>>2]=(t<<2)+q;b=ma(q,0,a);F[f+4>>2]=b+a;c=t>>>0<=1?1:t;n=c&3;a=0;if(c-1>>>0>=3){o=c&-4;while(1){c=g<<2;F[c+b>>2]=a;x=c|4;a=F[c+e>>2]+a|0;F[x+b>>2]=a;y=c|8;a=a+F[e+x>>2]|0;F[y+b>>2]=a;c=c|12;a=a+F[e+y>>2]|0;F[c+b>>2]=a;a=a+F[c+e>>2]|0;g=g+4|0;p=p+4|0;if((o|0)!=(p|0)){continue}break}}if(!n){break s}while(1){c=g<<2;F[c+b>>2]=a;g=g+1|0;a=F[c+e>>2]+a|0;k=k+1|0;if((n|0)!=(k|0)){continue}break}}if(!i){break l}x=F[h+40>>2];y=F[h+12>>2];n=0;while(1){I=n<<2;a=I+j|0;k=-1;c=n+1|0;b=(c>>>0)%3|0?c:n-2|0;if((b|0)!=-1){k=F[(b<<2)+j>>2]}b=F[a>>2];t:{u:{if(!((n>>>0)%3|0)){p=-1;a=n+2|0;if((a|0)!=-1){p=F[(a<<2)+j>>2]}if(!((b|0)==(k|0)|(b|0)==(p|0))&(k|0)!=(p|0)){break u}x=x+1|0;F[h+40>>2]=x;c=n+3|0;break t}p=F[a-4>>2]}a=p<<2;A=F[a+e>>2];v:{w:{if((A|0)<=0){break w}a=F[a+q>>2];g=0;while(1){o=(a<<3)+d|0;z=F[o>>2];if((z|0)==-1){break w}x:{if((k|0)!=(z|0)){break x}o=F[o+4>>2];if((o|0)!=-1){z=F[(o<<2)+j>>2]}else{z=-1}if((z|0)==(b|0)){break x}while(1){y:{b=a;g=g+1|0;if((A|0)<=(g|0)){break y}a=b+1|0;J=(a<<3)+d|0;z=F[J>>2];K=(b<<3)+d|0;F[K+4>>2]=F[J+4>>2];F[K>>2]=z;if((z|0)!=-1){continue}}break}F[(b<<3)+d>>2]=-1;if((o|0)==-1){break w}F[y+I>>2]=o;F[y+(o<<2)>>2]=n;break v}a=a+1|0;g=g+1|0;if((A|0)!=(g|0)){continue}break}}a=k<<2;k=F[a+e>>2];if((k|0)<=0){break v}a=F[a+q>>2];g=0;while(1){b=(a<<3)+d|0;if(F[b>>2]==-1){F[b>>2]=p;F[b+4>>2]=n;break v}a=a+1|0;g=g+1|0;if((k|0)!=(g|0)){continue}break}}}n=c;if(n>>>0>>0){continue}break}break l}break i}na();v()}F[w>>2]=t;if(q){ja(q)}if(d){ja(d)}a=F[f+16>>2];if(!a){break j}F[f+20>>2]=a;ja(a)}Z=f+32|0;x=(w|0)!=0;if(x){k=Z-32|0;Z=k;a=F[h>>2];g=F[h+4>>2];F[k+24>>2]=0;F[k+16>>2]=0;F[k+20>>2]=0;if((a|0)==(g|0)){c=g}else{a=g-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=ka(b<<2);F[k+24>>2]=b;F[k+20>>2]=0;F[k+16>>2]=c;Yb(k+16|0,a);g=F[h>>2];c=F[h+4>>2]}F[k+8>>2]=0;F[k>>2]=0;while(1){z:{o=0;i=0;if((c|0)==(g|0)){break z}while(1){b=F[k+16>>2];A:{if(F[b+(i>>>3&536870908)>>2]>>>i&1){break A}c=F[k>>2];F[k+4>>2]=c;e=F[h+12>>2];a=i;while(1){B:{f=a+1|0;d=a;a=(f>>>0)%3|0?f:a-2|0;if((a|0)==-1){break B}a=F[e+(a<<2)>>2];if((a|0)==-1){break B}f=a+1|0;a=(f>>>0)%3|0?f:a-2|0;if((i|0)==(a|0)|(a|0)==-1){break B}if(!(F[b+(a>>>3&536870908)>>2]>>>a&1)){continue}}break}j=d;C:{D:{E:{while(1){a=F[k+16>>2]+(j>>>3&536870908)|0;F[a>>2]=F[a>>2]|1<>>0)%3|0?a:j-2|0;g=F[h>>2];y=(j>>>0)%3|0;b=(y?-1:2)+j|0;n=F[k>>2];A=(n|0)==(c|0);F:{if(A){break F}w=F[(f<<2)+g>>2];q=F[h+12>>2];a=n;if((b|0)!=-1){e=q+(b<<2)|0;while(1){G:{if((w|0)!=F[a>>2]){break G}p=F[a+4>>2];t=F[e>>2];if((p|0)==(t|0)){break G}e=b;c=-1;a=-1;if((p|0)==-1){break C}break D}a=a+8|0;if((c|0)!=(a|0)){continue}break}break F}while(1){if((w|0)==F[a>>2]){t=-1;e=-1;p=F[a+4>>2];if((p|0)!=-1){break D}}a=a+8|0;if((c|0)!=(a|0)){continue}break}}b=F[(b<<2)+g>>2];H:{if(F[k+8>>2]!=(c|0)){F[c>>2]=b;F[c+4>>2]=f;c=c+8|0;F[k+4>>2]=c;break H}a=c-n|0;p=a>>3;e=p+1|0;if(e>>>0>=536870912){break i}g=a>>>2|0;g=a>>>0>=2147483640?536870911:e>>>0>>0?g:e;if(g){if(g>>>0>=536870912){break E}e=ka(g<<3)}else{e=0}a=e+(p<<3)|0;F[a>>2]=b;F[a+4>>2]=f;b=a+8|0;if(!A){while(1){c=c-8|0;f=F[c+4>>2];a=a-8|0;F[a>>2]=F[c>>2];F[a+4>>2]=f;if((c|0)!=(n|0)){continue}break}c=F[k>>2]}F[k+8>>2]=e+(g<<3);F[k+4>>2]=b;F[k>>2]=a;if(c){ja(c)}c=b}I:{J:{if(y){a=j-1|0;break J}a=j+2|0;if((a|0)==-1){break I}}a=F[F[h+12>>2]+(a<<2)>>2];if((a|0)==-1){break I}j=a+((a>>>0)%3|0?-1:2)|0;if((d|0)==(j|0)){break I}if((j|0)!=-1){continue}}break}g=F[h>>2];break A}oa();v()}c=F[q+(p<<2)>>2];b=e;a=p}if((t|0)!=-1){F[q+(t<<2)>>2]=-1}if((c|0)!=-1){F[q+(c<<2)>>2]=-1}F[q+(b<<2)>>2]=-1;F[q+(a<<2)>>2]=-1;o=1}i=i+1|0;c=F[h+4>>2];if(i>>>0>2>>>0){continue}break}if(o){continue}}break}a=F[k>>2];if(a){ja(a)}a=F[k+16>>2];if(a){ja(a)}Z=k+32|0;n=0;g=Z-32|0;Z=g;e=F[C+12>>2];F[h+36>>2]=e;p=h+24|0;b=F[h+24>>2];a=F[h+28>>2]-b>>2;K:{L:{if(a>>>0>>0){ab(p,e-a|0,10228);F[g+24>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;break L}if(a>>>0>e>>>0){F[h+28>>2]=b+(e<<2)}F[g+24>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;if(!e){break K}}if((e|0)<0){break i}a=(e-1>>>5|0)+1|0;b=ka(a<<2);F[g+24>>2]=a;F[g+20>>2]=0;F[g+16>>2]=b;Yb(g+16|0,e)}a=F[h>>2];b=F[h+4>>2];F[g+8>>2]=0;F[g>>2]=0;F[g+4>>2]=0;M:{if((a|0)==(b|0)){a=b}else{a=b-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=ka(b<<2);F[g+8>>2]=b;F[g+4>>2]=0;F[g>>2]=c;Yb(g,a);b=F[h>>2];a=F[h+4>>2]}if(a-b>>>0<12){break M}N:{while(1){q=L(n,3);d=(q<<2)+b|0;f=F[d>>2];c=-1;i=q+1|0;if((i|0)!=-1){c=F[(i<<2)+b>>2]}O:{if((c|0)==(f|0)){break O}i=f;f=F[d+8>>2];if((i|0)==(f|0)|(c|0)==(f|0)){break O}k=0;i=F[g>>2];while(1){f=k+q|0;if(!(F[(f>>>3&536870908)+i>>2]>>>f&1)){a=F[(f<<2)+b>>2];c=1<>2];b=a>>>5|0;i=F[d+(b<<2)>>2];t=c&i;if(t){c=F[h+28>>2];P:{if((c|0)!=F[h+32>>2]){F[c>>2]=-1;F[h+28>>2]=c+4;break P}i=F[p>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=ka(j<<2)}else{b=0}d=b+(o<<2)|0;F[d>>2]=-1;o=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;F[d>>2]=F[c>>2];if((c|0)!=(i|0)){continue}break}}F[h+32>>2]=b+(j<<2);F[h+28>>2]=o;F[h+24>>2]=d;if(!i){break P}ja(i)}c=F[h+52>>2];Q:{if((c|0)!=F[h+56>>2]){F[c>>2]=a;F[h+52>>2]=c+4;break Q}i=F[h+48>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=ka(j<<2)}else{b=0}d=b+(o<<2)|0;F[d>>2]=a;a=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;F[d>>2]=F[c>>2];if((c|0)!=(i|0)){continue}break}}F[h+56>>2]=b+(j<<2);F[h+52>>2]=a;F[h+48>>2]=d;if(!i){break Q}ja(i)}c=F[g+20>>2];a=F[g+24>>2];if((c|0)==a<<5){if((c+1|0)<0){break i}b=g+16|0;if(c>>>0<=1073741822){a=a<<6;c=(c&-32)+32|0;a=a>>>0>c>>>0?a:c}else{a=2147483647}$a(b,a);c=F[g+20>>2]}F[g+20>>2]=c+1;d=F[g+16>>2];a=d+(c>>>3&536870908)|0;b=F[a>>2];N=a,O=oi(c)&b,F[N>>2]=O;c=1<>>5|0;i=F[(b<<2)+d>>2];a=e;e=a+1|0}F[(b<<2)+d>>2]=c|i;o=F[h+24>>2]+(a<<2)|0;j=F[h+12>>2];b=F[h>>2];i=F[g>>2];c=f;R:{S:{T:{while(1){if((c|0)==-1){break T}d=(c>>>3&536870908)+i|0;F[d>>2]=F[d>>2]|1<>2]=c;if(t){F[(c<<2)+b>>2]=a}w=c+1|0;c=(w>>>0)%3|0?w:c-2|0;d=-1;U:{if((c|0)==-1){break U}c=F[j+(c<<2)>>2];d=-1;if((c|0)==-1){break U}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0}c=d;if((f|0)!=(c|0)){continue}break}if((f|0)!=-1){break R}c=1;break S}if((f>>>0)%3|0){c=f-1|0;break S}c=f+2|0;if((c|0)==-1){break R}}c=F[j+(c<<2)>>2];if((c|0)==-1){break R}V:{if((c>>>0)%3|0){c=c-1|0;break V}c=c+2|0;if((c|0)==-1){break R}}f=F[h+12>>2];b=F[h>>2];while(1){d=(c>>>3&536870908)+i|0;F[d>>2]=F[d>>2]|1<>2]=a}W:{if((c>>>0)%3|0){c=c-1|0;break W}c=c+2|0;if((c|0)==-1){break R}}c=F[f+(c<<2)>>2];if((c|0)==-1){break R}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)!=-1){continue}break}}}k=k+1|0;if((k|0)!=3){continue}break}b=F[h>>2];a=F[h+4>>2]}n=n+1|0;if(n>>>0<(a-b>>2>>>0)/3>>>0){continue}break}break M}oa();v()}c=0;F[h+44>>2]=0;a=F[g+16>>2];b=F[g+20>>2];if(b){e=b&31;b=(b>>>3&536870908)+a|0;d=a;i=0;while(1){if(!(F[d>>2]>>>c&1)){i=i+1|0;F[h+44>>2]=i}f=(c|0)==31;c=f?0:c+1|0;d=(f<<2)+d|0;if((b|0)!=(d|0)|(c|0)!=(e|0)){continue}break}}b=F[g>>2];if(b){ja(b);a=F[g+16>>2]}if(a){ja(a)}Z=g+32|0}Z=C+16|0;if(!x){F[H+8>>2]=0;Za(h);h=0}Z=H+16|0;a=h;break h}na();v()}b=F[s>>2];if(!b){break d}F[s+4>>2]=b;ja(b)}Z=s+16|0;break b}na();v()}c=F[l+4>>2];b=a;F[l+4>>2]=a;if(c){Za(c);b=F[l+4>>2]}X:{if(!b){break X}a=F[u+100>>2];c=F[u+96>>2];D[r+12|0]=0;Ea(l+56|0,(a-c|0)/12|0,r+12|0);a=F[u+100>>2];c=F[u+96>>2];if((a|0)==(c|0)){break X}while(1){if(!(F[F[l+56>>2]+(E>>>3&536870908)>>2]>>>E&1)){a=L(E,3);Vb(l,0,a);c=F[l+8>>2];e=F[l+12>>2];Vb(l,1,a+1|0);f=F[l+20>>2];d=F[l+24>>2];Vb(l,2,a+2|0);n=(c|0)==(e|0)?-1:0;a=d-f>>2;c=e-c>>2;e=a>>>0>c>>>0;c=F[l+36>>2]-F[l+32>>2]>>2>>>0>(e?a:c)>>>0?2:e?1:n;Y:{if(F[l+68>>2]<=0){break Y}F[r+12>>2]=F[l+76>>2];F[r+8>>2]=m;Qa(r+8|0,r+12|0);a=F[((c<<2)+l|0)+44>>2];if((a|0)<0){a=-1}else{e=(a>>>0)/3|0;a=F[(F[F[l>>2]+96>>2]+L(e,12)|0)+(a-L(e,3)<<2)>>2]}F[r+12>>2]=a;F[r+8>>2]=m;Qa(r+8|0,r+12|0);e=F[l+72>>2];F[l+72>>2]=e+2;if(!(e&1)){break Y}F[r+12>>2]=a;F[r+8>>2]=m;Qa(r+8|0,r+12|0);F[l+72>>2]=F[l+72>>2]+1}d=0;e=Z-16|0;Z=e;F[l+68>>2]=F[l+68>>2]+1;a=L(c,12)+l|0;a=F[a+12>>2]-F[a+8>>2]|0;if((a|0)>0){a=a>>>2|0;h=a>>>0<=1?1:a;c=F[((c<<2)+l|0)+44>>2];while(1){a=c;f=(a>>>0)/3|0;c=(a|0)==-1;g=c?-1:f;i=F[l+56>>2]+(g>>>3&536870908)|0;F[i>>2]=F[i>>2]|1<>2]=F[l+72>>2]+1;Z:{_:{$:{aa:{ba:{if(!d){ca:{if((a|0)>=0){F[e+12>>2]=F[(F[F[l>>2]+96>>2]+L(f,12)|0)+((a>>>0)%3<<2)>>2];F[e+8>>2]=m;Qa(e+8|0,e+12|0);break ca}F[e+12>>2]=-1;F[e+8>>2]=m;Qa(e+8|0,e+12|0);if(c){break ba}}c=-1;f=a+1|0;f=(f>>>0)%3|0?f:a-2|0;if((f|0)>=0){g=(f>>>0)/3|0;f=F[(F[F[l>>2]+96>>2]+L(g,12)|0)+(f-L(g,3)<<2)>>2]}else{f=-1}F[e+12>>2]=f;F[e+8>>2]=m;Qa(e+8|0,e+12|0);f=((a>>>0)%3|0?-1:2)+a|0;if((f|0)<0){break aa}c=(f>>>0)/3|0;c=F[(F[F[l>>2]+96>>2]+L(c,12)|0)+(f-L(c,3)<<2)>>2];break aa}c=(a|0)<0?-1:F[(F[F[l>>2]+96>>2]+L(f,12)|0)+((a>>>0)%3<<2)>>2];F[l+76>>2]=c;F[e+12>>2]=c;F[e+8>>2]=m;Qa(e+8|0,e+12|0);if(d&1){c=-1;if((a|0)==-1){break Z}if((L(f,3)|0)!=(a|0)){a=a-1|0;break _}a=a+2|0;break $}c=-1;if((a|0)==-1){break Z}c=a+1|0;a=(c>>>0)%3|0?c:a-2|0;break $}c=-1;F[e+12>>2]=-1;F[e+8>>2]=m;Qa(e+8|0,e+12|0)}F[l+76>>2]=c;F[e+12>>2]=c;F[e+8>>2]=m;Qa(e+8|0,e+12|0)}c=-1;if((a|0)==-1){break Z}}c=F[F[F[l+4>>2]+12>>2]+(a<<2)>>2]}d=d+1|0;if((h|0)!=(d|0)){continue}break}}Z=e+16|0;c=F[u+96>>2];a=F[u+100>>2]}E=E+1|0;if(E>>>0<(a-c|0)/12>>>0){continue}break}}Z=r+16|0;da:{if(b){a=F[B>>2];if(a){F[B+4>>2]=a;ja(a)}F[B>>2]=F[m>>2];F[B+4>>2]=F[m+4>>2];F[B+8>>2]=F[m+8>>2];M=F[m+84>>2];break da}a=F[m>>2];if(!a){break da}F[m+4>>2]=a;ja(a)}a=F[m+72>>2];if(a){ja(a)}a=F[m+48>>2];if(a){F[m+52>>2]=a;ja(a)}a=F[m+36>>2];if(a){F[m+40>>2]=a;ja(a)}a=F[m+24>>2];if(a){F[m+28>>2]=a;ja(a)}a=F[m+20>>2];F[m+20>>2]=0;if(a){Za(a)}Z=m+96|0;return M|0}function sf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=b;a=0;b=0;a:{b:{switch(d-1|0){case 0:j=F[i+80>>2];h=G[c+24|0];c:{if((L(j,h)|0)!=(e|0)){break c}d=F[c+28>>2]!=1;b=G[c+84|0];if(!(d|!b)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);b=1;break c}if(h){a=ka(h);ma(a,0,h)}d:{if(!j){b=1;break d}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=F[F[c>>2]>>2];m=F[c+48>>2];g=F[c+40>>2];b=ki(g,F[c+44>>2],G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;la(i,la(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break d}if(b){b=1;h=F[c>>2];e=F[c+48>>2];f=F[c+40>>2];i=F[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=F[h>>2];m=ki(f,i,c,0)+e|0;k=la(a,k+m|0,f);m=F[h>>2];n=ki(f,i,c|1,0)+e|0;la(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break d}c=F[h>>2];d=ki(g,0,f,i)+e|0;la(a,c+d|0,f);break d}b=1;h=F[c>>2];e=F[c+48>>2];g=F[c+68>>2];f=F[c+40>>2];i=F[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=F[h>>2];n=c<<2;l=ki(f,i,F[n+g>>2],0)+e|0;m=la(a,m+l|0,f);l=F[h>>2];n=ki(f,i,F[g+(n|4)>>2],0)+e|0;la(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break d}d=F[h>>2];c=ki(f,i,F[g+(c<<2)>>2],0)+e|0;la(a,c+d|0,f);break d}b=0;if(!h){d=0;while(1){if(!Cb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],a)){break d}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break d}d=0;e=0;while(1){if(!Cb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break d}la(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break c}ja(a)}break a;case 2:n=G[c+24|0];l=n<<1;j=F[i+80>>2];e:{if((L(l,j)|0)!=(e|0)){break e}i=F[c+28>>2]!=3;d=G[c+84|0];if(!(i|!d)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);a=1;break e}f:{if(!n){e=0;break f}e=ka(l);ma(e,0,l)}g:{if(!j){a=1;break g}if(!i){o=F[c+68>>2];k=F[c>>2];b=F[c+48>>2];i=F[c+40>>2];m=F[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=F[k>>2];p=ki(i,m,F[o+(d<<2)>>2],0)+b|0;la((c<<1)+f|0,la(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break g}c=0;while(1){a=1;o=F[k>>2];p=ki(g,h,i,m)+b|0;la((c<<1)+f|0,la(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break g}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=F[k>>2];g=c<<2;n=ki(i,m,F[g+o>>2],0)+b|0;h=la(e,h+n|0,i);n=F[k>>2];g=ki(i,m,F[o+(g|4)>>2],0)+b|0;la(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break g}d=F[k>>2];b=ki(i,m,F[o+(c<<2)>>2],0)+b|0;la(e,b+d|0,i);break g}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=F[k>>2];l=ki(g,h,i,m)+b|0;d=la(e,d+l|0,i);l=F[k>>2];o=ki(i,m,g|1,h)+b|0;la(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break g}c=F[k>>2];b=ki(g,h,i,m)+b|0;la(e,b+c|0,i);break g}if(!n){d=0;while(1){if(!Ab(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break g}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break g}d=0;while(1){if(!Ab(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break g}la((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break e}ja(e)}b=a;break a;case 4:l=G[c+24|0];o=l<<2;j=F[i+80>>2];h:{if((L(o,j)|0)!=(e|0)){break h}i=F[c+28>>2]!=5;d=G[c+84|0];if(!(i|!d)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);b=1;break h}i:{if(!l){e=0;break i}e=ka(o);ma(e,0,o)}b=1;j:{if(!j){break j}if(!i){a=F[c+68>>2];m=F[c>>2];i=F[c+48>>2];k=F[c+40>>2];n=F[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=F[m>>2];p=ki(k,n,F[a+(d<<2)>>2],0)+i|0;la((c<<2)+f|0,la(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break j}c=0;while(1){d=F[m>>2];p=ki(g,h,k,n)+i|0;la((c<<2)+f|0,la(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break j}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=F[m>>2];g=c<<2;l=ki(k,n,F[g+a>>2],0)+i|0;h=la(e,h+l|0,k);l=F[m>>2];g=ki(k,n,F[a+(g|4)>>2],0)+i|0;la(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break j}d=F[m>>2];a=ki(k,n,F[a+(c<<2)>>2],0)+i|0;la(e,a+d|0,k);break j}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=F[m>>2];d=ki(g,h,k,n)+i|0;a=la(e,a+d|0,k);d=F[m>>2];o=ki(k,n,g|1,h)+i|0;la(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break j}a=F[m>>2];c=ki(g,h,k,n)+i|0;la(e,a+c|0,k);break j}b=0;if(!l){d=0;while(1){if(!yb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break j}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break j}d=0;while(1){if(!yb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break j}la((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break h}ja(e)}break a;case 1:j=F[i+80>>2];h=G[c+24|0];k:{if((L(j,h)|0)!=(e|0)){break k}d=F[c+28>>2]!=2;b=G[c+84|0];if(!(d|!b)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);b=1;break k}if(h){a=ka(h);ma(a,0,h)}l:{if(!j){b=1;break l}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=F[F[c>>2]>>2];m=F[c+48>>2];g=F[c+40>>2];b=ki(g,F[c+44>>2],G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;la(i,la(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break l}if(b){b=1;h=F[c>>2];e=F[c+48>>2];f=F[c+40>>2];i=F[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=F[h>>2];m=ki(f,i,c,0)+e|0;k=la(a,k+m|0,f);m=F[h>>2];n=ki(f,i,c|1,0)+e|0;la(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break l}c=F[h>>2];d=ki(g,0,f,i)+e|0;la(a,c+d|0,f);break l}b=1;h=F[c>>2];e=F[c+48>>2];g=F[c+68>>2];f=F[c+40>>2];i=F[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=F[h>>2];n=c<<2;l=ki(f,i,F[n+g>>2],0)+e|0;m=la(a,m+l|0,f);l=F[h>>2];n=ki(f,i,F[g+(n|4)>>2],0)+e|0;la(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break l}d=F[h>>2];c=ki(f,i,F[g+(c<<2)>>2],0)+e|0;la(a,c+d|0,f);break l}b=0;if(!h){d=0;while(1){if(!Bb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],a)){break l}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break l}d=0;e=0;while(1){if(!Bb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break l}la(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break k}ja(a)}break a;case 3:n=G[c+24|0];l=n<<1;j=F[i+80>>2];m:{if((L(l,j)|0)!=(e|0)){break m}i=F[c+28>>2]!=4;d=G[c+84|0];if(!(i|!d)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);a=1;break m}n:{if(!n){e=0;break n}e=ka(l);ma(e,0,l)}o:{if(!j){a=1;break o}if(!i){o=F[c+68>>2];k=F[c>>2];b=F[c+48>>2];i=F[c+40>>2];m=F[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=F[k>>2];p=ki(i,m,F[o+(d<<2)>>2],0)+b|0;la((c<<1)+f|0,la(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break o}c=0;while(1){a=1;o=F[k>>2];p=ki(g,h,i,m)+b|0;la((c<<1)+f|0,la(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break o}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=F[k>>2];g=c<<2;n=ki(i,m,F[g+o>>2],0)+b|0;h=la(e,h+n|0,i);n=F[k>>2];g=ki(i,m,F[o+(g|4)>>2],0)+b|0;la(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break o}d=F[k>>2];b=ki(i,m,F[o+(c<<2)>>2],0)+b|0;la(e,b+d|0,i);break o}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=F[k>>2];l=ki(g,h,i,m)+b|0;d=la(e,d+l|0,i);l=F[k>>2];o=ki(i,m,g|1,h)+b|0;la(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break o}c=F[k>>2];b=ki(g,h,i,m)+b|0;la(e,b+c|0,i);break o}if(!n){d=0;while(1){if(!zb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break o}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break o}d=0;while(1){if(!zb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break o}la((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break m}ja(e)}b=a;break a;case 5:l=G[c+24|0];o=l<<2;j=F[i+80>>2];p:{if((L(o,j)|0)!=(e|0)){break p}i=F[c+28>>2]!=6;d=G[c+84|0];if(!(i|!d)){la(f,F[F[c>>2]>>2]+F[c+48>>2]|0,e);b=1;break p}q:{if(!l){e=0;break q}e=ka(o);ma(e,0,o)}b=1;r:{if(!j){break r}if(!i){a=F[c+68>>2];m=F[c>>2];i=F[c+48>>2];k=F[c+40>>2];n=F[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=F[m>>2];p=ki(k,n,F[a+(d<<2)>>2],0)+i|0;la((c<<2)+f|0,la(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break r}c=0;while(1){d=F[m>>2];p=ki(g,h,k,n)+i|0;la((c<<2)+f|0,la(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break r}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=F[m>>2];g=c<<2;l=ki(k,n,F[g+a>>2],0)+i|0;h=la(e,h+l|0,k);l=F[m>>2];g=ki(k,n,F[a+(g|4)>>2],0)+i|0;la(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break r}d=F[m>>2];a=ki(k,n,F[a+(c<<2)>>2],0)+i|0;la(e,a+d|0,k);break r}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=F[m>>2];d=ki(g,h,k,n)+i|0;a=la(e,a+d|0,k);d=F[m>>2];o=ki(k,n,g|1,h)+i|0;la(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break r}a=F[m>>2];c=ki(g,h,k,n)+i|0;la(e,a+c|0,k);break r}b=0;if(!l){d=0;while(1){if(!xb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break r}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break r}d=0;while(1){if(!xb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],e)){break r}la((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break p}ja(e)}break a;case 8:p=G[c+24|0];q=p<<2;k=F[i+80>>2];s:{if((L(q,k)|0)!=(e|0)){break s}i=F[c+28>>2];t:{if(!p){break t}a=ka(q);d=a;m=q-4|0;l=(m>>>2|0)+1&7;if(l){e=0;while(1){F[d>>2]=-1073741824;d=d+4|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(m>>>0<28){break t}e=(p<<2)+a|0;while(1){F[d+24>>2]=-1073741824;F[d+28>>2]=-1073741824;F[d+16>>2]=-1073741824;F[d+20>>2]=-1073741824;F[d+8>>2]=-1073741824;F[d+12>>2]=-1073741824;F[d>>2]=-1073741824;F[d+4>>2]=-1073741824;d=d+32|0;if((e|0)!=(d|0)){continue}break}}u:{if(!k){b=1;break u}if((i|0)==9){r=F[c+68>>2];l=F[c>>2];i=F[c+48>>2];s=G[c+84|0];m=F[c+44>>2];c=F[c+40>>2];o=c;if(p){e=0;d=0;while(1){h=(e<<2)+f|0;g=F[l>>2];b=ki(c,m,s?d:F[r+(d<<2)>>2],0)+i|0;la(h,la(a,b+g|0,o),q);e=e+p|0;b=1;d=d+1|0;if((k|0)!=(d|0)){continue}break}break u}if(!s){b=1;d=0;if((k|0)!=1){f=k&-2;e=0;while(1){h=F[l>>2];g=d<<2;j=ki(c,m,F[g+r>>2],0)+i|0;h=la(a,h+j|0,o);j=F[l>>2];g=ki(c,m,F[r+(g|4)>>2],0)+i|0;la(h,j+g|0,o);d=d+2|0;e=e+2|0;if((f|0)!=(e|0)){continue}break}}if(!(k&1)){break u}e=F[l>>2];c=ki(c,m,F[r+(d<<2)>>2],0)+i|0;la(a,c+e|0,o);break u}f=k&1;b=1;if((k|0)!=1){k=k&-2;while(1){d=F[l>>2];e=ki(g,h,c,m)+i|0;d=la(a,d+e|0,o);e=F[l>>2];p=ki(c,m,g|1,h)+i|0;la(d,e+p|0,o);g=g+2|0;h=g>>>0<2?h+1|0:h;d=j;e=n+2|0;d=e>>>0<2?d+1|0:d;n=e;j=d;if((e|0)!=(k|0)|d){continue}break}}if(!f){break u}d=F[l>>2];c=ki(g,h,c,m)+i|0;la(a,c+d|0,o);break u}if(!p){d=0;while(1){if(!lb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],a)){break u}d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}break u}e=0;d=0;while(1){if(!lb(c,G[c+84|0]?d:F[F[c+68>>2]+(d<<2)>>2],D[c+24|0],a)){break u}la((e<<2)+f|0,a,q);e=e+p|0;d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}}if(!a){break s}ja(a)}a=b;break;default:break b}}b=a}return b|0}function Pd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=Z-80|0;Z=h;e=F[c+36>>2];F[h+72>>2]=F[c+32>>2];F[h+76>>2]=e;f=F[c+28>>2];e=h- -64|0;F[e>>2]=F[c+24>>2];F[e+4>>2]=f;e=F[c+20>>2];F[h+56>>2]=F[c+16>>2];F[h+60>>2]=e;e=F[c+12>>2];F[h+48>>2]=F[c+8>>2];F[h+52>>2]=e;e=F[c+4>>2];F[h+40>>2]=F[c>>2];F[h+44>>2]=e;jc(a,h+40|0,h+24|0);a:{if(F[a>>2]){break a}if(D[a+15|0]<0){ja(F[a+4>>2])}if(G[h+31|0]!=1){b=ka(32);D[b+20|0]=0;c=G[1446]|G[1447]<<8|(G[1448]<<16|G[1449]<<24);D[b+16|0]=c;D[b+17|0]=c>>>8;D[b+18|0]=c>>>16;D[b+19|0]=c>>>24;c=G[1442]|G[1443]<<8|(G[1444]<<16|G[1445]<<24);d=G[1438]|G[1439]<<8|(G[1440]<<16|G[1441]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1434]|G[1435]<<8|(G[1436]<<16|G[1437]<<24);d=G[1430]|G[1431]<<8|(G[1432]<<16|G[1433]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,20);ja(b);break a}j=Z-16|0;Z=j;b:{c:{switch(G[h+32|0]){case 0:e=Kd(ka(48));F[e>>2]=9864;F[h+8>>2]=0;F[h+12>>2]=0;F[h>>2]=0;F[h+4>>2]=0;F[h+16>>2]=e;break b;case 1:e=Kd(ka(52));F[e+48>>2]=0;F[e>>2]=8176;F[h+8>>2]=0;F[h+12>>2]=0;F[h>>2]=0;F[h+4>>2]=0;F[h+16>>2]=e;break b;default:break c}}f=ka(32);D[f+28|0]=0;e=G[1520]|G[1521]<<8|(G[1522]<<16|G[1523]<<24);D[f+24|0]=e;D[f+25|0]=e>>>8;D[f+26|0]=e>>>16;D[f+27|0]=e>>>24;e=G[1516]|G[1517]<<8|(G[1518]<<16|G[1519]<<24);g=G[1512]|G[1513]<<8|(G[1514]<<16|G[1515]<<24);D[f+16|0]=g;D[f+17|0]=g>>>8;D[f+18|0]=g>>>16;D[f+19|0]=g>>>24;D[f+20|0]=e;D[f+21|0]=e>>>8;D[f+22|0]=e>>>16;D[f+23|0]=e>>>24;e=G[1508]|G[1509]<<8|(G[1510]<<16|G[1511]<<24);g=G[1504]|G[1505]<<8|(G[1506]<<16|G[1507]<<24);D[f+8|0]=g;D[f+9|0]=g>>>8;D[f+10|0]=g>>>16;D[f+11|0]=g>>>24;D[f+12|0]=e;D[f+13|0]=e>>>8;D[f+14|0]=e>>>16;D[f+15|0]=e>>>24;e=G[1500]|G[1501]<<8|(G[1502]<<16|G[1503]<<24);g=G[1496]|G[1497]<<8|(G[1498]<<16|G[1499]<<24);D[f|0]=g;D[f+1|0]=g>>>8;D[f+2|0]=g>>>16;D[f+3|0]=g>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;F[j>>2]=-1;e=j|4;ra(e,f,28);k=D[j+15|0];F[h>>2]=F[j>>2];g=h+4|0;d:{if((k|0)>=0){k=F[e+4>>2];F[g>>2]=F[e>>2];F[g+4>>2]=k;F[g+8>>2]=F[e+8>>2];F[h+16>>2]=0;break d}ra(g,F[j+4>>2],F[j+8>>2]);e=D[j+15|0];F[h+16>>2]=0;if((e|0)>=0){break d}ja(F[j+4>>2])}ja(f)}Z=j+16|0;e=F[h>>2];e:{if(e){F[a>>2]=e;a=a+4|0;if(D[h+15|0]>=0){b=h|4;c=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=c;F[a+8>>2]=F[b+8>>2];break e}ra(a,F[h+4>>2],F[h+8>>2]);break e}e=F[h+16>>2];F[h+16>>2]=0;F[e+44>>2]=d;f=Z-32|0;Z=f;F[e+32>>2]=c;F[e+40>>2]=b;F[e+4>>2]=d;jc(a,c,f+16|0);f:{if(F[a>>2]){break f}if(D[a+15|0]<0){ja(F[a+4>>2])}b=G[f+23|0];if(($[F[F[e>>2]+8>>2]](e)|0)!=(b|0)){b=ka(64);D[b+50|0]=0;c=G[1304]|G[1305]<<8;D[b+48|0]=c;D[b+49|0]=c>>>8;c=G[1300]|G[1301]<<8|(G[1302]<<16|G[1303]<<24);d=G[1296]|G[1297]<<8|(G[1298]<<16|G[1299]<<24);D[b+40|0]=d;D[b+41|0]=d>>>8;D[b+42|0]=d>>>16;D[b+43|0]=d>>>24;D[b+44|0]=c;D[b+45|0]=c>>>8;D[b+46|0]=c>>>16;D[b+47|0]=c>>>24;c=G[1292]|G[1293]<<8|(G[1294]<<16|G[1295]<<24);d=G[1288]|G[1289]<<8|(G[1290]<<16|G[1291]<<24);D[b+32|0]=d;D[b+33|0]=d>>>8;D[b+34|0]=d>>>16;D[b+35|0]=d>>>24;D[b+36|0]=c;D[b+37|0]=c>>>8;D[b+38|0]=c>>>16;D[b+39|0]=c>>>24;c=G[1284]|G[1285]<<8|(G[1286]<<16|G[1287]<<24);d=G[1280]|G[1281]<<8|(G[1282]<<16|G[1283]<<24);D[b+24|0]=d;D[b+25|0]=d>>>8;D[b+26|0]=d>>>16;D[b+27|0]=d>>>24;D[b+28|0]=c;D[b+29|0]=c>>>8;D[b+30|0]=c>>>16;D[b+31|0]=c>>>24;c=G[1276]|G[1277]<<8|(G[1278]<<16|G[1279]<<24);d=G[1272]|G[1273]<<8|(G[1274]<<16|G[1275]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1268]|G[1269]<<8|(G[1270]<<16|G[1271]<<24);d=G[1264]|G[1265]<<8|(G[1266]<<16|G[1267]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1260]|G[1261]<<8|(G[1262]<<16|G[1263]<<24);d=G[1256]|G[1257]<<8|(G[1258]<<16|G[1259]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,50);ja(b);break f}c=G[f+21|0];D[e+36|0]=c;d=G[f+22|0];D[e+37|0]=d;if((c|0)!=2){b=ka(32);D[b+26|0]=0;c=G[1427]|G[1428]<<8;D[b+24|0]=c;D[b+25|0]=c>>>8;c=G[1423]|G[1424]<<8|(G[1425]<<16|G[1426]<<24);d=G[1419]|G[1420]<<8|(G[1421]<<16|G[1422]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1415]|G[1416]<<8|(G[1417]<<16|G[1418]<<24);d=G[1411]|G[1412]<<8|(G[1413]<<16|G[1414]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1407]|G[1408]<<8|(G[1409]<<16|G[1410]<<24);d=G[1403]|G[1404]<<8|(G[1405]<<16|G[1406]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-5;ra(a+4|0,b,26);ja(b);break f}b=b?2:3;if((b|0)!=(d|0)){b=ka(32);D[b+26|0]=0;c=G[1400]|G[1401]<<8;D[b+24|0]=c;D[b+25|0]=c>>>8;c=G[1396]|G[1397]<<8|(G[1398]<<16|G[1399]<<24);d=G[1392]|G[1393]<<8|(G[1394]<<16|G[1395]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1388]|G[1389]<<8|(G[1390]<<16|G[1391]<<24);d=G[1384]|G[1385]<<8|(G[1386]<<16|G[1387]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1380]|G[1381]<<8|(G[1382]<<16|G[1383]<<24);d=G[1376]|G[1377]<<8|(G[1378]<<16|G[1379]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-5;ra(a+4|0,b,26);ja(b);break f}E[F[e+32>>2]+38>>1]=b|512;g:{if(E[f+26>>1]>=0){break g}j=Z-16|0;Z=j;d=ka(36);b=d;F[b+4>>2]=0;F[b+8>>2]=0;F[b+24>>2]=0;F[b+28>>2]=0;b=b+16|0;F[b>>2]=0;F[b+4>>2]=0;F[d>>2]=d+4;F[d+32>>2]=0;F[d+12>>2]=b;F[j>>2]=0;c=F[e+32>>2];k=Z-16|0;Z=k;b=0;h:{if(!d){break h}F[j>>2]=c;F[k+12>>2]=0;b=0;if(!fb(1,k+12|0,c)){break h}n=F[k+12>>2];if(n){while(1){i:{if(fb(1,k+8|0,F[j>>2])){b=ka(28);F[b+4>>2]=0;F[b+8>>2]=0;c=b+16|0;F[c>>2]=0;F[c+4>>2]=0;F[b>>2]=b+4;F[b+12>>2]=c;F[b+24>>2]=F[k+8>>2];if(Vc(j,b)){break i}Ca(b+12|0,F[b+16>>2]);Ba(b,F[b+4>>2]);ja(b)}b=0;break h}g=Z-16|0;Z=g;F[g+8>>2]=b;j:{if(!b){break j}c=F[d+28>>2];k:{if(c>>>0>2]){F[g+8>>2]=0;F[c>>2]=b;F[d+28>>2]=c+4;break k}c=0;l:{m:{n:{i=F[d+24>>2];m=F[d+28>>2]-i>>2;b=m+1|0;if(b>>>0<1073741824){i=F[d+32>>2]-i|0;l=i>>>1|0;i=i>>>0>=2147483644?1073741823:b>>>0>>0?l:b;if(i){if(i>>>0>=1073741824){break n}c=ka(i<<2)}l=F[g+8>>2];F[g+8>>2]=0;b=(m<<2)+c|0;F[b>>2]=l;i=(i<<2)+c|0;m=b+4|0;c=F[d+28>>2];l=F[d+24>>2];if((c|0)==(l|0)){break m}while(1){c=c-4|0;p=F[c>>2];F[c>>2]=0;b=b-4|0;F[b>>2]=p;if((c|0)!=(l|0)){continue}break}F[d+32>>2]=i;i=F[d+28>>2];F[d+28>>2]=m;c=F[d+24>>2];F[d+24>>2]=b;if((c|0)==(i|0)){break l}while(1){i=i-4|0;b=F[i>>2];F[i>>2]=0;if(b){Ca(b+12|0,F[b+16>>2]);Ba(b,F[b+4>>2]);ja(b)}if((c|0)!=(i|0)){continue}break}break l}na();v()}oa();v()}F[d+32>>2]=i;F[d+28>>2]=m;F[d+24>>2]=b}if(c){ja(c)}}b=F[g+8>>2];F[g+8>>2]=0;if(!b){break j}Ca(b+12|0,F[b+16>>2]);Ba(b,F[b+4>>2]);ja(b)}Z=g+16|0;o=o+1|0;if((n|0)!=(o|0)){continue}break}}b=Vc(j,d)}Z=k+16|0;o:{if(b){c=F[e+4>>2];b=F[c+4>>2];F[c+4>>2]=d;if(b){ic(b)}F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;break o}b=ka(32);D[b+26|0]=0;c=G[1549]|G[1550]<<8;D[b+24|0]=c;D[b+25|0]=c>>>8;c=G[1545]|G[1546]<<8|(G[1547]<<16|G[1548]<<24);g=G[1541]|G[1542]<<8|(G[1543]<<16|G[1544]<<24);D[b+16|0]=g;D[b+17|0]=g>>>8;D[b+18|0]=g>>>16;D[b+19|0]=g>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1537]|G[1538]<<8|(G[1539]<<16|G[1540]<<24);g=G[1533]|G[1534]<<8|(G[1535]<<16|G[1536]<<24);D[b+8|0]=g;D[b+9|0]=g>>>8;D[b+10|0]=g>>>16;D[b+11|0]=g>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1529]|G[1530]<<8|(G[1531]<<16|G[1532]<<24);g=G[1525]|G[1526]<<8|(G[1527]<<16|G[1528]<<24);D[b|0]=g;D[b+1|0]=g>>>8;D[b+2|0]=g>>>16;D[b+3|0]=g>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,26);ja(b);F[j+8>>2]=0;ic(d)}Z=j+16|0;if(F[a>>2]){break f}if(D[a+15|0]>=0){break g}ja(F[a+4>>2])}if(!($[F[F[e>>2]+12>>2]](e)|0)){b=ka(48);D[b+33|0]=0;D[b+32|0]=G[1374];c=G[1370]|G[1371]<<8|(G[1372]<<16|G[1373]<<24);d=G[1366]|G[1367]<<8|(G[1368]<<16|G[1369]<<24);D[b+24|0]=d;D[b+25|0]=d>>>8;D[b+26|0]=d>>>16;D[b+27|0]=d>>>24;D[b+28|0]=c;D[b+29|0]=c>>>8;D[b+30|0]=c>>>16;D[b+31|0]=c>>>24;c=G[1362]|G[1363]<<8|(G[1364]<<16|G[1365]<<24);d=G[1358]|G[1359]<<8|(G[1360]<<16|G[1361]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1354]|G[1355]<<8|(G[1356]<<16|G[1357]<<24);d=G[1350]|G[1351]<<8|(G[1352]<<16|G[1353]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1346]|G[1347]<<8|(G[1348]<<16|G[1349]<<24);d=G[1342]|G[1343]<<8|(G[1344]<<16|G[1345]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,33);ja(b);break f}if(!($[F[F[e>>2]+20>>2]](e)|0)){b=Eb(f,1552);F[a>>2]=-1;c=a+4|0;if(D[b+11|0]>=0){d=F[b+4>>2];F[c>>2]=F[b>>2];F[c+4>>2]=d;F[c+8>>2]=F[b+8>>2];break f}ra(c,F[b>>2],F[b+4>>2]);if(D[b+11|0]>=0){break f}ja(F[b>>2]);break f}if(!($[F[F[e>>2]+24>>2]](e)|0)){b=Eb(f,1307);F[a>>2]=-1;c=a+4|0;if(D[b+11|0]>=0){d=F[b+4>>2];F[c>>2]=F[b>>2];F[c+4>>2]=d;F[c+8>>2]=F[b+8>>2];break f}ra(c,F[b>>2],F[b+4>>2]);if(D[b+11|0]>=0){break f}ja(F[b>>2]);break f}F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0}Z=f+32|0;if(!F[a>>2]){if(D[a+15|0]<0){ja(F[a+4>>2])}F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0}$[F[F[e>>2]+4>>2]](e)}a=F[h+16>>2];F[h+16>>2]=0;if(a){$[F[F[a>>2]+4>>2]](a)}if(D[h+15|0]>=0){break a}ja(F[h+4>>2])}Z=h+80|0}function Ub(a){a=a|0;var 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;l=Z-16|0;Z=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(a>>>0<=244){g=F[2941];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+11804|0;d=F[a+11812>>2];a=F[d+8>>2];j:{if((b|0)==(a|0)){m=11764,n=oi(c)&g,F[m>>2]=n;break j}F[a+12>>2]=b;F[b+8>>2]=a}a=d+8|0;b=c<<3;F[d+4>>2]=b|3;b=b+d|0;F[b+4>>2]=F[b+4>>2]|1;break a}k=F[2943];if(k>>>0>=h>>>0){break i}if(b){a=2<>2];a=F[e+8>>2];k:{if((b|0)==(a|0)){g=oi(d)&g;F[2941]=g;break k}F[a+12>>2]=b;F[b+8>>2]=a}F[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;F[c+4>>2]=d|1;F[a+e>>2]=d;if(k){b=(k&-8)+11804|0;f=F[2946];a=1<<(k>>>3);l:{if(!(a&g)){F[2941]=a|g;a=b;break l}a=F[b+8>>2]}F[b+8>>2]=f;F[a+12>>2]=f;F[f+12>>2]=b;F[f+8>>2]=a}a=e+8|0;F[2946]=c;F[2943]=d;break a}j=F[2942];if(!j){break i}c=F[(ji(0-j&j)<<2)+12068>>2];f=(F[c+4>>2]&-8)-h|0;b=c;while(1){m:{a=F[b+16>>2];if(!a){a=F[b+20>>2];if(!a){break m}}b=(F[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=F[c+24>>2];d=F[c+12>>2];if((d|0)!=(c|0)){a=F[c+8>>2];F[a+12>>2]=d;F[d+8>>2]=a;break b}b=c+20|0;a=F[b>>2];if(!a){a=F[c+16>>2];if(!a){break h}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=F[b>>2];if(a){continue}b=d+16|0;a=F[d+16>>2];if(a){continue}break}F[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break i}a=a+11|0;h=a&-8;j=F[2942];if(!j){break i}f=0-h|0;g=0;n:{if(h>>>0<256){break n}g=31;if(h>>>0>16777215){break n}a=O(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=F[(g<<2)+12068>>2];o:{p:{q:{if(!b){a=0;break q}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){r:{e=(F[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break r}d=b;f=e;if(e){break r}f=0;a=b;break p}e=F[b+20>>2];b=F[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break o}}while(1){b=(F[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=F[a+16>>2];if(b){a=b}else{a=F[a+20>>2]}if(a){continue}break}}if(!d|F[2943]-h>>>0<=f>>>0){break i}g=F[d+24>>2];c=F[d+12>>2];if((d|0)!=(c|0)){a=F[d+8>>2];F[a+12>>2]=c;F[c+8>>2]=a;break c}b=d+20|0;a=F[b>>2];if(!a){a=F[d+16>>2];if(!a){break g}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=F[b>>2];if(a){continue}b=c+16|0;a=F[c+16>>2];if(a){continue}break}F[e>>2]=0;break c}a=F[2943];if(a>>>0>=h>>>0){d=F[2946];b=a-h|0;s:{if(b>>>0>=16){c=d+h|0;F[c+4>>2]=b|1;F[a+d>>2]=b;F[d+4>>2]=h|3;break s}F[d+4>>2]=a|3;a=a+d|0;F[a+4>>2]=F[a+4>>2]|1;c=0;b=0}F[2943]=b;F[2946]=c;a=d+8|0;break a}i=F[2944];if(i>>>0>h>>>0){b=i-h|0;F[2944]=b;c=F[2947];a=c+h|0;F[2947]=a;F[a+4>>2]=b|1;F[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(F[3059]){c=F[3061]}else{F[3062]=-1;F[3063]=-1;F[3060]=4096;F[3061]=4096;F[3059]=l+12&-16^1431655768;F[3064]=0;F[3052]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=F[3051];if(d){c=F[3049];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}t:{if(!(G[12208]&4)){u:{v:{w:{x:{d=F[2947];if(d){a=12212;while(1){c=F[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break x}a=F[a+8>>2];if(a){continue}break}}c=eb(0);if((c|0)==-1){break u}g=b;d=F[3060];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break u}d=F[3051];if(d){a=F[3049];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break u}}a=eb(g);if((c|0)!=(a|0)){break w}break t}g=f&e-i;c=eb(g);if((c|0)==(F[a>>2]+F[a+4>>2]|0)){break v}a=c}if((a|0)==-1){break u}if(h+48>>>0<=g>>>0){c=a;break t}c=F[3061];c=c+(j-g|0)&0-c;if((eb(c)|0)==-1){break u}g=c+g|0;c=a;break t}if((c|0)!=-1){break t}}F[3052]=F[3052]|4}c=eb(b);a=eb(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}g=a-c|0;if(g>>>0<=h+40>>>0){break d}}a=F[3049]+g|0;F[3049]=a;if(a>>>0>I[3050]){F[3050]=a}y:{e=F[2947];if(e){a=12212;while(1){d=F[a>>2];b=F[a+4>>2];if((d+b|0)==(c|0)){break y}a=F[a+8>>2];if(a){continue}break}break f}a=F[2945];if(!(a>>>0<=c>>>0?a:0)){F[2945]=c}a=0;F[3054]=g;F[3053]=c;F[2949]=-1;F[2950]=F[3059];F[3056]=0;while(1){d=a<<3;b=d+11804|0;F[d+11812>>2]=b;F[d+11816>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;F[2944]=b;a=a+c|0;F[2947]=a;F[a+4>>2]=b|1;F[(c+d|0)+4>>2]=40;F[2948]=F[3063];break e}if(G[a+12|0]&8|d>>>0>e>>>0|c>>>0<=e>>>0){break f}F[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;F[2947]=c;b=F[2944]+g|0;a=b-a|0;F[2944]=a;F[c+4>>2]=a|1;F[(b+e|0)+4>>2]=40;F[2948]=F[3063];break e}d=0;break b}c=0;break c}if(I[2945]>c>>>0){F[2945]=c}b=c+g|0;a=12212;z:{A:{B:{C:{D:{E:{while(1){if((b|0)!=F[a>>2]){a=F[a+8>>2];if(a){continue}break E}break}if(!(G[a+12|0]&8)){break D}}a=12212;while(1){b=F[a>>2];if(b>>>0<=e>>>0){f=b+F[a+4>>2]|0;if(f>>>0>e>>>0){break C}}a=F[a+8>>2];continue}}F[a>>2]=c;F[a+4>>2]=F[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;F[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){F[2947]=i;a=F[2944]+a|0;F[2944]=a;F[i+4>>2]=a|1;break A}if(F[2946]==(g|0)){F[2946]=i;a=F[2943]+a|0;F[2943]=a;F[i+4>>2]=a|1;F[a+i>>2]=a;break A}f=F[g+4>>2];if((f&3)==1){e=f&-8;F:{if(f>>>0<=255){d=F[g+8>>2];b=f>>>3|0;c=F[g+12>>2];if((c|0)==(d|0)){m=11764,n=F[2941]&oi(b),F[m>>2]=n;break F}F[d+12>>2]=c;F[c+8>>2]=d;break F}h=F[g+24>>2];c=F[g+12>>2];G:{if((g|0)!=(c|0)){b=F[g+8>>2];F[b+12>>2]=c;F[c+8>>2]=b;break G}H:{f=g+20|0;b=F[f>>2];if(b){break H}f=g+16|0;b=F[f>>2];if(b){break H}c=0;break G}while(1){d=f;c=b;f=c+20|0;b=F[f>>2];if(b){continue}f=c+16|0;b=F[c+16>>2];if(b){continue}break}F[d>>2]=0}if(!h){break F}d=F[g+28>>2];b=(d<<2)+12068|0;I:{if(F[b>>2]==(g|0)){F[b>>2]=c;if(c){break I}m=11768,n=F[2942]&oi(d),F[m>>2]=n;break F}F[h+(F[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break F}}F[c+24>>2]=h;b=F[g+16>>2];if(b){F[c+16>>2]=b;F[b+24>>2]=c}b=F[g+20>>2];if(!b){break F}F[c+20>>2]=b;F[b+24>>2]=c}g=e+g|0;f=F[g+4>>2];a=a+e|0}F[g+4>>2]=f&-2;F[i+4>>2]=a|1;F[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+11804|0;c=F[2941];a=1<<(a>>>3);J:{if(!(c&a)){F[2941]=a|c;a=b;break J}a=F[b+8>>2]}F[b+8>>2]=i;F[a+12>>2]=i;F[i+12>>2]=b;F[i+8>>2]=a;break A}f=31;if(a>>>0<=16777215){b=O(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}F[i+28>>2]=f;F[i+16>>2]=0;F[i+20>>2]=0;b=(f<<2)+12068|0;d=F[2942];c=1<>2]=i;break K}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=F[b>>2];while(1){b=c;if((F[c+4>>2]&-8)==(a|0)){break B}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=F[d+16>>2];if(c){continue}break}F[d+16>>2]=i}F[i+24>>2]=b;F[i+12>>2]=i;F[i+8>>2]=i;break A}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;F[2944]=b;a=a+c|0;F[2947]=a;F[a+4>>2]=b|1;F[(c+d|0)+4>>2]=40;F[2948]=F[3063];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;F[d+4>>2]=27;a=F[3056];F[d+16>>2]=F[3055];F[d+20>>2]=a;a=F[3054];F[d+8>>2]=F[3053];F[d+12>>2]=a;F[3055]=d+8;F[3054]=g;F[3053]=c;F[3056]=0;a=d+24|0;while(1){F[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break e}F[d+4>>2]=F[d+4>>2]&-2;f=d-e|0;F[e+4>>2]=f|1;F[d>>2]=f;if(f>>>0<=255){b=(f&-8)+11804|0;c=F[2941];a=1<<(f>>>3);L:{if(!(c&a)){F[2941]=a|c;a=b;break L}a=F[b+8>>2]}F[b+8>>2]=e;F[a+12>>2]=e;F[e+12>>2]=b;F[e+8>>2]=a;break e}a=31;if(f>>>0<=16777215){a=O(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}F[e+28>>2]=a;F[e+16>>2]=0;F[e+20>>2]=0;b=(a<<2)+12068|0;d=F[2942];c=1<>2]=e;break M}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=F[b>>2];while(1){b=d;if((f|0)==(F[b+4>>2]&-8)){break z}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=F[c+16>>2];if(d){continue}break}F[c+16>>2]=e}F[e+24>>2]=b;F[e+12>>2]=e;F[e+8>>2]=e;break e}a=F[b+8>>2];F[a+12>>2]=i;F[b+8>>2]=i;F[i+24>>2]=0;F[i+12>>2]=b;F[i+8>>2]=a}a=j+8|0;break a}a=F[b+8>>2];F[a+12>>2]=e;F[b+8>>2]=e;F[e+24>>2]=0;F[e+12>>2]=b;F[e+8>>2]=a}a=F[2944];if(a>>>0<=h>>>0){break d}b=a-h|0;F[2944]=b;c=F[2947];a=c+h|0;F[2947]=a;F[a+4>>2]=b|1;F[c+4>>2]=h|3;a=c+8|0;break a}F[2940]=48;a=0;break a}N:{if(!g){break N}b=F[d+28>>2];a=(b<<2)+12068|0;O:{if(F[a>>2]==(d|0)){F[a>>2]=c;if(c){break O}j=oi(b)&j;F[2942]=j;break N}F[g+(F[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break N}}F[c+24>>2]=g;a=F[d+16>>2];if(a){F[c+16>>2]=a;F[a+24>>2]=c}a=F[d+20>>2];if(!a){break N}F[c+20>>2]=a;F[a+24>>2]=c}P:{if(f>>>0<=15){a=f+h|0;F[d+4>>2]=a|3;a=a+d|0;F[a+4>>2]=F[a+4>>2]|1;break P}F[d+4>>2]=h|3;e=d+h|0;F[e+4>>2]=f|1;F[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+11804|0;c=F[2941];a=1<<(f>>>3);Q:{if(!(c&a)){F[2941]=a|c;a=b;break Q}a=F[b+8>>2]}F[b+8>>2]=e;F[a+12>>2]=e;F[e+12>>2]=b;F[e+8>>2]=a;break P}a=31;if(f>>>0<=16777215){a=O(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}F[e+28>>2]=a;F[e+16>>2]=0;F[e+20>>2]=0;b=(a<<2)+12068|0;R:{c=1<>2]=e;break S}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=F[b>>2];while(1){b=h;if((F[b+4>>2]&-8)==(f|0)){break R}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=F[c+16>>2];if(h){continue}break}F[c+16>>2]=e}F[e+24>>2]=b;F[e+12>>2]=e;F[e+8>>2]=e;break P}a=F[b+8>>2];F[a+12>>2]=e;F[b+8>>2]=e;F[e+24>>2]=0;F[e+12>>2]=b;F[e+8>>2]=a}a=d+8|0;break a}T:{if(!i){break T}b=F[c+28>>2];a=(b<<2)+12068|0;U:{if(F[a>>2]==(c|0)){F[a>>2]=d;if(d){break U}m=11768,n=oi(b)&j,F[m>>2]=n;break T}F[i+(F[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break T}}F[d+24>>2]=i;a=F[c+16>>2];if(a){F[d+16>>2]=a;F[a+24>>2]=d}a=F[c+20>>2];if(!a){break T}F[d+20>>2]=a;F[a+24>>2]=d}V:{if(f>>>0<=15){a=f+h|0;F[c+4>>2]=a|3;a=a+c|0;F[a+4>>2]=F[a+4>>2]|1;break V}F[c+4>>2]=h|3;d=c+h|0;F[d+4>>2]=f|1;F[d+f>>2]=f;if(k){b=(k&-8)+11804|0;e=F[2946];a=1<<(k>>>3);W:{if(!(a&g)){F[2941]=a|g;a=b;break W}a=F[b+8>>2]}F[b+8>>2]=e;F[a+12>>2]=e;F[e+12>>2]=b;F[e+8>>2]=a}F[2946]=d;F[2943]=f}a=c+8|0}Z=l+16|0;return a|0}function Vc(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;m=Z-32|0;Z=m;o=ka(12);F[o+8>>2]=0;F[o+4>>2]=b;F[o>>2]=0;s=o+12|0;b=s;a:{b:{c:{while(1){b=b-12|0;w=F[b+8>>2];j=F[b+4>>2];t=F[b>>2];if(t){if((w|0)>1e3){break a}F[m+24>>2]=0;F[m+16>>2]=0;F[m+20>>2]=0;d=1;c=F[a>>2];e=F[c+8>>2];h=F[c+12>>2];g=F[c+20>>2];f=F[c+16>>2];d:{if((h|0)<=(g|0)&f>>>0>=e>>>0|(g|0)>(h|0)){break d}e=G[f+F[c>>2]|0];h=c;c=g;f=f+1|0;c=f?c:c+1|0;F[h+16>>2]=f;F[h+20>>2]=c;Sb(m+16|0,e);if(e){c=F[a>>2];n=Tb(m+16|0);p=F[c+8>>2];g=F[c+12>>2];h=F[c+20>>2];f=F[c+16>>2];k=f+e|0;h=k>>>0>>0?h+1|0:h;if((g|0)<=(h|0)&k>>>0>p>>>0|(g|0)<(h|0)){break d}la(n,f+F[c>>2]|0,e);d=F[c+20>>2];f=e;e=e+F[c+16>>2]|0;d=f>>>0>e>>>0?d+1|0:d;F[c+16>>2]=e;F[c+20>>2]=d}j=ka(24);c=j;F[c+4>>2]=0;F[c+8>>2]=0;c=c+16|0;F[c>>2]=0;F[c+4>>2]=0;F[j>>2]=j+4;F[j+12>>2]=c;e=Z-32|0;Z=e;h=t+12|0;c=m+16|0;u=Ya(h,c);i=t+16|0;e:{if((u|0)==(i|0)){F[e+16>>2]=c;f:{g:{d=F[h+4>>2];h:{if(!d){f=h+4|0;c=f;break h}f=G[c+11|0];g=f<<24>>24<0;n=g?F[c>>2]:c;g=g?F[c+4>>2]:f;while(1){c=d;d=G[c+27|0];f=d<<24>>24<0;d=f?F[c+20>>2]:d;p=d>>>0>>0;i:{j:{k:{l:{k=p?d:g;m:{if(k){f=f?F[c+16>>2]:c+16|0;q=sa(n,f,k);if(!q){if(d>>>0>g>>>0){break m}break l}if((q|0)>=0){break l}break m}if(d>>>0<=g>>>0){break k}}f=c;d=F[c>>2];if(d){continue}break h}d=sa(f,n,k);if(d){break j}}if(p){break i}break g}if((d|0)>=0){break g}}d=F[c+4>>2];if(d){continue}break}f=c+4|0}d=ka(32);n=d+16|0;g=F[e+16>>2];n:{if(D[g+11|0]>=0){p=F[g+4>>2];F[n>>2]=F[g>>2];F[n+4>>2]=p;F[n+8>>2]=F[g+8>>2];break n}ra(n,F[g>>2],F[g+4>>2])}F[d+8>>2]=c;F[d>>2]=0;F[d+4>>2]=0;F[d+28>>2]=0;F[f>>2]=d;c=d;g=F[F[h>>2]>>2];if(g){F[h>>2]=g;c=F[f>>2]}nb(F[h+4>>2],c);F[h+8>>2]=F[h+8>>2]+1;c=1;break f}d=c;c=0}D[e+28|0]=c;F[e+24>>2]=d;d=F[e+24>>2];c=F[d+28>>2];F[d+28>>2]=j;if(!c){break e}Ca(c+12|0,F[c+16>>2]);Ba(c,F[c+4>>2]);ja(c);break e}if(!j){break e}Ca(j+12|0,F[j+16>>2]);Ba(j,F[j+4>>2]);ja(j)}Z=e+32|0;d=(i|0)!=(u|0)}if(D[m+27|0]<0){ja(F[m+16>>2])}if(d){break a}}if(!j){break a}F[m+16>>2]=0;if(!fb(1,m+16|0,F[a>>2])){break a}q=0;x=F[m+16>>2];if(x){while(1){d=0;i=Z-32|0;Z=i;F[i+24>>2]=0;F[i+16>>2]=0;F[i+20>>2]=0;c=F[a>>2];f=F[c+8>>2];o:{p:{h=F[c+12>>2];g=F[c+20>>2];e=F[c+16>>2];q:{if((h|0)<=(g|0)&e>>>0>=f>>>0|(g|0)>(h|0)){break q}f=G[e+F[c>>2]|0];h=c;c=g;e=e+1|0;c=e?c:c+1|0;F[h+16>>2]=e;F[h+20>>2]=c;Sb(i+16|0,f);if(f){e=F[a>>2];n=Tb(i+16|0);p=F[e+8>>2];g=F[e+12>>2];c=F[e+20>>2];h=F[e+16>>2];k=h+f|0;c=k>>>0>>0?c+1|0:c;if(k>>>0>p>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break q}la(n,h+F[e>>2]|0,f);c=F[e+20>>2];g=f;f=f+F[e+16>>2]|0;c=g>>>0>f>>>0?c+1|0:c;F[e+16>>2]=f;F[e+20>>2]=c}F[i+12>>2]=0;if(!fb(1,i+12|0,F[a>>2])){break q}f=F[i+12>>2];if(!f){break q}e=F[a>>2];c=F[e+8>>2];h=F[e+16>>2];g=c-h|0;c=F[e+12>>2]-(F[e+20>>2]+(c>>>0>>0)|0)|0;if((c|0)<=0&f>>>0>g>>>0|(c|0)<0){break q}F[i+8>>2]=0;F[i>>2]=0;F[i+4>>2]=0;if((f|0)<0){break p}d=ka(f);F[i>>2]=d;c=d+f|0;F[i+8>>2]=c;l=ma(d,0,f);F[i+4>>2]=c;h=F[e+12>>2];y=h;p=F[e+8>>2];c=F[e+20>>2];k=F[e+16>>2];g=f+k|0;c=g>>>0>>0?c+1|0:c;u=g;n=c;r:{if((c|0)<=(h|0)&g>>>0<=p>>>0|(c|0)<(h|0)){la(l,F[e>>2]+k|0,f);d=F[e+20>>2];c=f+F[e+16>>2]|0;d=c>>>0>>0?d+1|0:d;F[e+16>>2]=c;F[e+20>>2]=d;h=Z-48|0;Z=h;e=Ya(j,i+16|0);if((e|0)!=(j+4|0)){c=F[e+4>>2];s:{if(!c){c=e;while(1){d=F[c+8>>2];f=F[d>>2]!=(c|0);c=d;if(f){continue}break}break s}while(1){d=c;c=F[c>>2];if(c){continue}break}}if((e|0)==F[j>>2]){F[j>>2]=d}F[j+8>>2]=F[j+8>>2]-1;f=F[j+4>>2];t:{u:{g=e;d=e;e=F[d>>2];if(e){c=F[g+4>>2];if(!c){break u}while(1){d=c;c=F[c>>2];if(c){continue}break}}e=F[d+4>>2];if(e){break u}e=0;k=1;break t}F[e+8>>2]=F[d+8>>2];k=0}l=F[d+8>>2];c=F[l>>2];v:{if((d|0)==(c|0)){F[l>>2]=e;if((d|0)==(f|0)){c=0;f=e;break v}c=F[l+4>>2];break v}F[l+4>>2]=e}r=!G[d+12|0];if((d|0)!=(g|0)){l=F[g+8>>2];F[d+8>>2]=l;F[l+(((g|0)!=F[F[g+8>>2]>>2])<<2)>>2]=d;l=F[g>>2];F[d>>2]=l;F[l+8>>2]=d;l=F[g+4>>2];F[d+4>>2]=l;if(l){F[l+8>>2]=d}D[d+12|0]=G[g+12|0];f=(f|0)==(g|0)?d:f}w:{if(r|!f){break w}if(k){while(1){e=G[c+12|0];x:{d=F[c+8>>2];if(F[d>>2]!=(c|0)){if(!e){D[c+12|0]=1;D[d+12|0]=0;e=F[d+4>>2];k=F[e>>2];F[d+4>>2]=k;if(k){F[k+8>>2]=d}F[e+8>>2]=F[d+8>>2];k=F[d+8>>2];F[(((d|0)!=F[k>>2])<<2)+k>>2]=e;F[e>>2]=d;F[d+8>>2]=e;d=c;c=F[c>>2];f=(c|0)==(f|0)?d:f;c=F[c+4>>2]}y:{z:{d=F[c>>2];A:{if(!(G[d+12|0]?0:d)){e=F[c+4>>2];if(G[e+12|0]?0:e){break A}D[c+12|0]=0;c=F[c+8>>2];B:{if((f|0)==(c|0)){c=f;break B}if(G[c+12|0]){break x}}D[c+12|0]=1;break w}e=F[c+4>>2];if(!e){break z}}if(G[e+12|0]){break z}d=c;break y}D[d+12|0]=1;D[c+12|0]=0;e=F[d+4>>2];F[c>>2]=e;if(e){F[e+8>>2]=c}F[d+8>>2]=F[c+8>>2];e=F[c+8>>2];F[((F[e>>2]!=(c|0))<<2)+e>>2]=d;F[d+4>>2]=c;F[c+8>>2]=d;e=c}c=F[d+8>>2];D[d+12|0]=G[c+12|0];D[c+12|0]=1;D[e+12|0]=1;d=F[c+4>>2];e=F[d>>2];F[c+4>>2]=e;if(e){F[e+8>>2]=c}F[d+8>>2]=F[c+8>>2];e=F[c+8>>2];F[(((c|0)!=F[e>>2])<<2)+e>>2]=d;F[d>>2]=c;F[c+8>>2]=d;break w}if(!e){D[c+12|0]=1;D[d+12|0]=0;e=F[c+4>>2];F[d>>2]=e;if(e){F[e+8>>2]=d}F[c+8>>2]=F[d+8>>2];e=F[d+8>>2];F[(((d|0)!=F[e>>2])<<2)+e>>2]=c;F[c+4>>2]=d;F[d+8>>2]=c;f=(d|0)==(f|0)?c:f;c=F[d>>2]}e=F[c>>2];C:{if(!(!e|G[e+12|0])){d=c;break C}d=F[c+4>>2];if(!(G[d+12|0]?0:d)){D[c+12|0]=0;c=F[c+8>>2];if((c|0)!=(f|0)?G[c+12|0]:0){break x}D[c+12|0]=1;break w}if(e){if(!G[e+12|0]){d=c;break C}d=F[c+4>>2]}D[d+12|0]=1;D[c+12|0]=0;e=F[d>>2];F[c+4>>2]=e;if(e){F[e+8>>2]=c}F[d+8>>2]=F[c+8>>2];e=F[c+8>>2];F[((F[e>>2]!=(c|0))<<2)+e>>2]=d;F[d>>2]=c;F[c+8>>2]=d;e=c}c=F[d+8>>2];D[d+12|0]=G[c+12|0];D[c+12|0]=1;D[e+12|0]=1;d=F[c>>2];e=F[d+4>>2];F[c>>2]=e;if(e){F[e+8>>2]=c}F[d+8>>2]=F[c+8>>2];e=F[c+8>>2];F[(((c|0)!=F[e>>2])<<2)+e>>2]=d;F[d+4>>2]=c;F[c+8>>2]=d;break w}d=c;c=F[c+8>>2];c=F[(((d|0)==F[c>>2])<<2)+c>>2];continue}}D[e+12|0]=1}c=F[g+28>>2];if(c){F[g+32>>2]=c;ja(c)}if(D[g+27|0]<0){ja(F[g+16>>2])}ja(g)}F[h+8>>2]=0;F[h>>2]=0;F[h+4>>2]=0;c=F[i+4>>2];d=F[i>>2];f=c-d|0;e=0;D:{E:{if((c|0)!=(d|0)){if((f|0)<0){break E}e=ka(f);c=ma(e,0,f);g=c+f|0;F[h+8>>2]=g;F[h+4>>2]=g;F[h>>2]=c;c=d}la(e,c,f);F:{if(D[i+27|0]>=0){F[h+24>>2]=F[i+24>>2];c=F[i+20>>2];F[h+16>>2]=F[i+16>>2];F[h+20>>2]=c;break F}ra(h+16|0,F[i+16>>2],F[i+20>>2])}Tc(h+28|0,h);f=h+16|0;c=f;G:{H:{d=F[j+4>>2];I:{if(!d){e=j+4|0;c=e;break I}e=G[c+11|0];g=e<<24>>24<0;k=g?F[c>>2]:c;g=g?F[c+4>>2]:e;while(1){c=d;d=G[c+27|0];e=d<<24>>24<0;d=e?F[c+20>>2]:d;l=d>>>0>>0;J:{K:{L:{M:{r=l?d:g;N:{if(r){e=e?F[c+16>>2]:c+16|0;z=sa(k,e,r);if(!z){if(d>>>0>g>>>0){break N}break M}if((z|0)>=0){break M}break N}if(d>>>0<=g>>>0){break L}}e=c;d=F[c>>2];if(d){continue}break I}d=sa(e,k,r);if(d){break K}}if(l){break J}break H}if((d|0)>=0){break H}}d=F[c+4>>2];if(d){continue}break}e=c+4|0}d=ka(40);F[d+24>>2]=F[f+8>>2];g=F[f+4>>2];F[d+16>>2]=F[f>>2];F[d+20>>2]=g;F[f>>2]=0;F[f+4>>2]=0;F[f+8>>2]=0;Tc(d+28|0,f+12|0);F[d+8>>2]=c;F[d>>2]=0;F[d+4>>2]=0;F[e>>2]=d;c=d;f=F[F[j>>2]>>2];if(f){F[j>>2]=f;c=F[e>>2]}nb(F[j+4>>2],c);F[j+8>>2]=F[j+8>>2]+1;c=1;break G}d=c;c=0}D[h+44|0]=c;F[h+40>>2]=d;c=F[h+28>>2];if(c){F[h+32>>2]=c;ja(c)}if(D[h+27|0]<0){ja(F[h+16>>2])}c=F[h>>2];if(c){F[h+4>>2]=c;ja(c)}Z=h+48|0;break D}na();v()}d=F[i>>2];if(!d){break r}}F[i+4>>2]=d;ja(d)}d=(n|0)<=(y|0)&p>>>0>=u>>>0|(n|0)<(y|0)}if(D[i+27|0]<0){ja(F[i+16>>2])}Z=i+32|0;break o}na();v()}if(!d){break a}q=q+1|0;if((x|0)!=(q|0)){continue}break}}F[m+12>>2]=0;if(!fb(1,m+12|0,F[a>>2])){break a}c=F[a>>2];e=F[c+8>>2];f=F[c+16>>2];h=e-f|0;d=F[m+12>>2];c=F[c+12>>2]-(F[c+20>>2]+(e>>>0>>0)|0)|0;if(h>>>0>>0&(c|0)<=0|(c|0)<0){break a}if(d){q=0;h=((t|0)!=0)+w|0;while(1){O:{if(b>>>0>>0){F[b+8>>2]=h;F[b+4>>2]=0;F[b>>2]=j;b=b+12|0;d=F[m+12>>2];break O}c=b-o|0;g=(c|0)/12|0;b=g+1|0;if(b>>>0>=357913942){break c}e=(s-o|0)/12|0;f=e<<1;e=e>>>0>=178956970?357913941:b>>>0>>0?f:b;if(e){if(e>>>0>=357913942){break b}f=ka(L(e,12))}else{f=0}b=f+L(g,12)|0;F[b+8>>2]=h;F[b+4>>2]=0;F[b>>2]=j;c=pa(b+L((c|0)/-12|0,12)|0,o,c);s=f+L(e,12)|0;b=b+12|0;if(o){ja(o)}o=c}q=q+1|0;if(q>>>0>>0){continue}break}}if((b|0)!=(o|0)){continue}break}A=1;break a}na();v()}oa();v()}if(o){ja(o)}Z=m+32|0;return A}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=Z-48|0;Z=h;a:{if((c|0)!=1){break a}i=F[a+4>>2];c=F[a+12>>2];F[h+40>>2]=0;F[h+32>>2]=0;F[h+36>>2]=0;F[h+24>>2]=0;F[h+28>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;F[h+8>>2]=0;F[h+12>>2]=0;d=h+8|0;b:{if((b|0)==-2){break b}k=F[F[F[i+4>>2]+8>>2]+(c<<2)>>2];if(($[F[F[i>>2]+8>>2]](i)|0)==1){j=Z-32|0;Z=j;l=F[F[F[i+4>>2]+8>>2]+(c<<2)>>2];c:{d:{e:{if(($[F[F[i>>2]+8>>2]](i)|0)!=1|b-1>>>0>5){break e}g=$[F[F[i>>2]+36>>2]](i)|0;f=$[F[F[i>>2]+44>>2]](i,c)|0;if(!g|!f){break e}c=$[F[F[i>>2]+40>>2]](i,c)|0;if(c){a=F[i+44>>2];F[j+12>>2]=c;F[j+8>>2]=a;F[j+20>>2]=f;F[j+16>>2]=f+12;f=j+8|0;a=0;f:{g:{switch(b-1|0){case 0:b=ka(60);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b>>2]=2252;a=b;break f;case 3:b=ka(112);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b+60>>2]=0;F[b+64>>2]=0;F[b>>2]=3016;F[b+68>>2]=0;F[b+72>>2]=0;F[b+76>>2]=0;F[b+80>>2]=0;F[b+84>>2]=0;F[b+88>>2]=0;F[b+92>>2]=0;F[b+96>>2]=0;F[b+100>>2]=0;F[b+104>>2]=0;F[b+108>>2]=0;a=b;break f;case 4:b=ka(104);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b+84>>2]=0;F[b+76>>2]=0;F[b+80>>2]=0;F[b+60>>2]=0;F[b+64>>2]=0;F[b>>2]=3264;a=F[f+4>>2];F[b+88>>2]=F[f>>2];F[b+92>>2]=a;a=F[f+12>>2];F[b+96>>2]=F[f+8>>2];F[b+100>>2]=a;a=b;break f;case 5:break g;default:break f}}a=ka(128);F[a+4>>2]=l;F[a>>2]=2960;b=F[d+4>>2];F[a+8>>2]=F[d>>2];F[a+12>>2]=b;b=F[d+12>>2];F[a+16>>2]=F[d+8>>2];F[a+20>>2]=b;b=F[d+20>>2];F[a+24>>2]=F[d+16>>2];F[a+28>>2]=b;F[a+40>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;h:{i:{c=F[d+28>>2];b=F[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break i}b=ka(c);F[a+36>>2]=b;F[a+32>>2]=b;F[a+40>>2]=(c&-4)+b;e=F[d+24>>2];c=F[d+28>>2];if((e|0)!=(c|0)){while(1){F[b>>2]=F[e>>2];b=b+4|0;e=e+4|0;if((c|0)!=(e|0)){continue}break}}F[a+36>>2]=b}F[a>>2]=2904;b=F[f+4>>2];F[a+44>>2]=F[f>>2];F[a+48>>2]=b;b=F[f+12>>2];F[a+52>>2]=F[f+8>>2];F[a+56>>2]=b;b=a- -64|0;F[b>>2]=0;F[b+4>>2]=0;F[a+60>>2]=4128;F[a>>2]=3500;b=F[f+4>>2];F[a+72>>2]=F[f>>2];F[a+76>>2]=b;b=F[f+12>>2];F[a+80>>2]=F[f+8>>2];F[a+84>>2]=b;F[a+104>>2]=1065353216;F[a+108>>2]=-1;F[a+96>>2]=-1;F[a+100>>2]=-1;F[a+88>>2]=1;F[a+92>>2]=-1;F[a+60>>2]=3736;F[a+112>>2]=0;F[a+116>>2]=0;D[a+117|0]=0;D[a+118|0]=0;D[a+119|0]=0;D[a+120|0]=0;D[a+121|0]=0;D[a+122|0]=0;D[a+123|0]=0;D[a+124|0]=0;break h}na();v()}break f}e=a;break e}a=F[i+44>>2];F[j+12>>2]=g;F[j+8>>2]=a;F[j+20>>2]=f;F[j+16>>2]=f+12;f=j+8|0;a=0;j:{k:{switch(b-1|0){case 0:b=ka(60);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b>>2]=4156;a=b;break j;case 3:b=ka(112);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b+60>>2]=0;F[b+64>>2]=0;F[b>>2]=4580;F[b+68>>2]=0;F[b+72>>2]=0;F[b+76>>2]=0;F[b+80>>2]=0;F[b+84>>2]=0;F[b+88>>2]=0;F[b+92>>2]=0;F[b+96>>2]=0;F[b+100>>2]=0;F[b+104>>2]=0;F[b+108>>2]=0;a=b;break j;case 4:b=ka(104);F[b+4>>2]=l;F[b>>2]=2960;a=F[d+4>>2];F[b+8>>2]=F[d>>2];F[b+12>>2]=a;a=F[d+12>>2];F[b+16>>2]=F[d+8>>2];F[b+20>>2]=a;a=F[d+20>>2];F[b+24>>2]=F[d+16>>2];F[b+28>>2]=a;F[b+40>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;a=F[d+24>>2];g=F[d+28>>2];if((a|0)!=(g|0)){c=g-a|0;if((c|0)<0){break d}e=ka(c);F[b+32>>2]=e;F[b+40>>2]=(c&-4)+e;while(1){F[e>>2]=F[a>>2];e=e+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}F[b+36>>2]=e}a=F[f+4>>2];F[b+44>>2]=F[f>>2];F[b+48>>2]=a;a=F[f+12>>2];F[b+52>>2]=F[f+8>>2];F[b+56>>2]=a;F[b+84>>2]=0;F[b+76>>2]=0;F[b+80>>2]=0;F[b+60>>2]=0;F[b+64>>2]=0;F[b>>2]=4816;a=F[f+4>>2];F[b+88>>2]=F[f>>2];F[b+92>>2]=a;a=F[f+12>>2];F[b+96>>2]=F[f+8>>2];F[b+100>>2]=a;a=b;break j;case 5:break k;default:break j}}a=ka(128);F[a+4>>2]=l;F[a>>2]=2960;b=F[d+4>>2];F[a+8>>2]=F[d>>2];F[a+12>>2]=b;b=F[d+12>>2];F[a+16>>2]=F[d+8>>2];F[a+20>>2]=b;b=F[d+20>>2];F[a+24>>2]=F[d+16>>2];F[a+28>>2]=b;F[a+40>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;l:{m:{c=F[d+28>>2];b=F[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break m}b=ka(c);F[a+36>>2]=b;F[a+32>>2]=b;F[a+40>>2]=(c&-4)+b;e=F[d+24>>2];c=F[d+28>>2];if((e|0)!=(c|0)){while(1){F[b>>2]=F[e>>2];b=b+4|0;e=e+4|0;if((c|0)!=(e|0)){continue}break}}F[a+36>>2]=b}F[a>>2]=4524;b=F[f+4>>2];F[a+44>>2]=F[f>>2];F[a+48>>2]=b;b=F[f+12>>2];F[a+52>>2]=F[f+8>>2];F[a+56>>2]=b;b=a- -64|0;F[b>>2]=0;F[b+4>>2]=0;F[a+60>>2]=5624;F[a>>2]=5040;b=F[f+4>>2];F[a+72>>2]=F[f>>2];F[a+76>>2]=b;b=F[f+12>>2];F[a+80>>2]=F[f+8>>2];F[a+84>>2]=b;F[a+104>>2]=1065353216;F[a+108>>2]=-1;F[a+96>>2]=-1;F[a+100>>2]=-1;F[a+88>>2]=1;F[a+92>>2]=-1;F[a+60>>2]=5260;F[a+112>>2]=0;F[a+116>>2]=0;D[a+117|0]=0;D[a+118|0]=0;D[a+119|0]=0;D[a+120|0]=0;D[a+121|0]=0;D[a+122|0]=0;D[a+123|0]=0;D[a+124|0]=0;break l}na();v()}break j}e=a}Z=j+32|0;break c}na();v()}if(e){break b}}e=ka(44);F[e+4>>2]=k;F[e>>2]=2960;a=F[d+4>>2];F[e+8>>2]=F[d>>2];F[e+12>>2]=a;a=F[d+12>>2];F[e+16>>2]=F[d+8>>2];F[e+20>>2]=a;a=F[d+20>>2];F[e+24>>2]=F[d+16>>2];F[e+28>>2]=a;F[e+40>>2]=0;F[e+32>>2]=0;F[e+36>>2]=0;n:{c=F[d+24>>2];b=F[d+28>>2];if((c|0)!=(b|0)){a=b-c|0;if((a|0)<0){break n}k=ka(a);F[e+32>>2]=k;F[e+40>>2]=(a&-4)+k;while(1){F[k>>2]=F[c>>2];k=k+4|0;c=c+4|0;if((b|0)!=(c|0)){continue}break}F[e+36>>2]=k}F[e>>2]=5652;break b}na();v()}k=e;a=F[h+32>>2];if(!a){break a}F[h+36>>2]=a;ja(a)}Z=h+48|0;return k|0}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;m=Z-16|0;Z=m;F[m+12>>2]=b;b=ka(32);F[m>>2]=b;F[m+4>>2]=24;F[m+8>>2]=-2147483616;c=G[1196]|G[1197]<<8|(G[1198]<<16|G[1199]<<24);d=G[1192]|G[1193]<<8|(G[1194]<<16|G[1195]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1188]|G[1189]<<8|(G[1190]<<16|G[1191]<<24);d=G[1184]|G[1185]<<8|(G[1186]<<16|G[1187]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1180]|G[1181]<<8|(G[1182]<<16|G[1183]<<24);d=G[1176]|G[1177]<<8|(G[1178]<<16|G[1179]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;D[b+24|0]=0;l=Z-48|0;Z=l;f=F[m+12>>2];d=a;a=a+16|0;b=F[a>>2];a:{b:{if(!b){break b}c=a;while(1){e=(f|0)>F[b+16>>2];c=e?c:b;b=F[(e?b+4|0:b)>>2];if(b){continue}break}if((a|0)==(c|0)){break b}if((f|0)>=F[c+16>>2]){break a}}F[l+28>>2]=0;F[l+32>>2]=0;y=l+24|0;F[l+24>>2]=y|4;a=l+16|0;F[a>>2]=0;F[a+4>>2]=0;F[l+8>>2]=f;F[l+12>>2]=a;t=l+8|0;a=t;x=Z-16|0;Z=x;u=d+12|0;c=F[u+4>>2];c:{d:{if(!c){o=u+4|0;d=o;break d}a=F[a>>2];while(1){d=c;b=F[c+16>>2];if((b|0)>(a|0)){o=d;c=F[d>>2];if(c){continue}break d}if((a|0)<=(b|0)){g=d;a=0;break c}c=F[d+4>>2];if(c){continue}break}o=d+4|0}g=ka(32);b=F[t>>2];q=g+24|0;a=q;F[a>>2]=0;F[a+4>>2]=0;F[g+16>>2]=b;r=g+20|0;F[r>>2]=a;c=F[t+4>>2];z=t+8|0;if((c|0)!=(z|0)){while(1){p=Z-16|0;Z=p;a=p+8|0;k=c+16|0;e:{f:{g:{h:{i:{j:{k:{f=q;e=r+4|0;l:{if((f|0)==(e|0)){break l}b=G[f+27|0];h=b<<24>>24<0;i=G[k+11|0];n=i<<24>>24;j=(n|0)<0;i=j?F[k+4>>2]:i;b=h?F[f+20>>2]:b;s=i>>>0>b>>>0;w=s?b:i;if(w){j=j?F[k>>2]:k;h=h?F[f+16>>2]:f+16|0;A=sa(j,h,w);if(!A){if(b>>>0>i>>>0){break l}break k}if((A|0)>=0){break k}break l}if(b>>>0<=i>>>0){break j}}h=F[f>>2];m:{a=f;n:{if((a|0)==F[r>>2]){break n}o:{if(!h){b=f;while(1){a=F[b+8>>2];i=F[a>>2]==(b|0);b=a;if(i){continue}break}break o}b=h;while(1){a=b;b=F[b+4>>2];if(b){continue}break}}i=G[k+11|0];s=i<<24>>24;b=(s|0)<0;j=G[a+27|0];n=j<<24>>24<0;p:{i=b?F[k+4>>2]:i;j=n?F[a+20>>2]:j;w=i>>>0>>0?i:j;if(w){b=sa(n?F[a+16>>2]:a+16|0,b?F[k>>2]:k,w);if(b){break p}}if(i>>>0>j>>>0){break n}break m}if((b|0)>=0){break m}}if(!h){F[p+12>>2]=f;a=f;break e}F[p+12>>2]=a;a=a+4|0;break e}b=F[e>>2];if(!b){F[p+12>>2]=e;a=e;break e}h=(s|0)<0?F[k>>2]:k;f=e;while(1){a=b;b=G[b+27|0];e=b<<24>>24<0;b=e?F[a+20>>2]:b;k=b>>>0>>0;q:{r:{s:{t:{n=k?b:i;u:{if(n){e=e?F[a+16>>2]:a+16|0;j=sa(h,e,n);if(!j){if(b>>>0>i>>>0){break u}break t}if((j|0)>=0){break t}break u}if(b>>>0<=i>>>0){break s}}f=a;b=F[a>>2];if(b){continue}break g}b=sa(e,h,n);if(b){break r}}if(k){break q}break g}if((b|0)>=0){break g}}f=a+4|0;b=F[a+4>>2];if(b){continue}break}break g}b=sa(h,j,w);if(b){break i}}if(s){break h}break f}if((b|0)>=0){break f}}h=F[f+4>>2];v:{if(!h){b=f;while(1){a=F[b+8>>2];j=F[a>>2]!=(b|0);b=a;if(j){continue}break}break v}b=h;while(1){a=b;b=F[b>>2];if(b){continue}break}}w:{x:{if((a|0)==(e|0)){break x}j=G[a+27|0];b=j<<24>>24<0;y:{j=b?F[a+20>>2]:j;s=i>>>0>j>>>0?j:i;if(s){b=sa((n|0)<0?F[k>>2]:k,b?F[a+16>>2]:a+16|0,s);if(b){break y}}if(i>>>0>>0){break x}break w}if((b|0)>=0){break w}}if(!h){F[p+12>>2]=f;a=f+4|0;break e}F[p+12>>2]=a;break e}b=F[e>>2];if(!b){F[p+12>>2]=e;a=e;break e}h=(n|0)<0?F[k>>2]:k;f=e;while(1){a=b;b=G[b+27|0];e=b<<24>>24<0;b=e?F[a+20>>2]:b;k=b>>>0>>0;z:{A:{B:{C:{n=k?b:i;D:{if(n){e=e?F[a+16>>2]:a+16|0;j=sa(h,e,n);if(!j){if(b>>>0>i>>>0){break D}break C}if((j|0)>=0){break C}break D}if(b>>>0<=i>>>0){break B}}f=a;b=F[a>>2];if(b){continue}break g}b=sa(e,h,n);if(b){break A}}if(k){break z}break g}if((b|0)>=0){break g}}f=a+4|0;b=F[a+4>>2];if(b){continue}break}}F[p+12>>2]=a;a=f;break e}F[p+12>>2]=f;F[a>>2]=f}f=a;a=F[a>>2];if(a){b=0}else{a=ka(40);b=a+16|0;E:{if(D[c+27|0]>=0){e=F[c+20>>2];F[b>>2]=F[c+16>>2];F[b+4>>2]=e;F[b+8>>2]=F[c+24>>2];break E}ra(b,F[c+16>>2],F[c+20>>2])}b=a+28|0;F:{if(D[c+39|0]>=0){e=F[c+32>>2];F[b>>2]=F[c+28>>2];F[b+4>>2]=e;F[b+8>>2]=F[c+36>>2];break F}ra(b,F[c+28>>2],F[c+32>>2])}F[a+8>>2]=F[p+12>>2];F[a>>2]=0;F[a+4>>2]=0;F[f>>2]=a;b=a;e=F[F[r>>2]>>2];if(e){F[r>>2]=e;b=F[f>>2]}nb(F[r+4>>2],b);F[r+8>>2]=F[r+8>>2]+1;b=1}D[x+12|0]=b;F[x+8>>2]=a;Z=p+16|0;b=F[c+4>>2];G:{if(b){while(1){c=b;b=F[b>>2];if(b){continue}break G}}while(1){a=c;c=F[c+8>>2];if((a|0)!=F[c>>2]){continue}break}}if((c|0)!=(z|0)){continue}break}}F[g+8>>2]=d;F[g>>2]=0;F[g+4>>2]=0;F[o>>2]=g;c=g;a=F[F[u>>2]>>2];if(a){F[u>>2]=a;c=F[o>>2]}nb(F[u+4>>2],c);F[u+8>>2]=F[u+8>>2]+1;a=1}D[l+44|0]=a;F[l+40>>2]=g;Z=x+16|0;c=F[l+40>>2];ib(t|4,F[l+16>>2]);ib(y,F[l+28>>2])}f=Z-48|0;Z=f;d=f+8|0;g=Z-32|0;Z=g;o=g+32|0;b=o;a=g+21|0;H:{if((b|0)==(a|0)){break H}}e=b-a|0;I:{if((e|0)<=9){h=61;if((e|0)<(I[2684]<=1|0)){break I}}D[a|0]=49;b=a+1|0;h=0}F[g+12>>2]=h;F[g+8>>2]=b;h=Z-16|0;Z=h;e=Z-16|0;Z=e;J:{q=F[g+8>>2];g=q-a|0;if(g>>>0<=2147483631){K:{if(g>>>0<11){D[d+11|0]=g|G[d+11|0]&128;D[d+11|0]=G[d+11|0]&127;b=d;break K}t=e+8|0;if(g>>>0>=11){k=g+16&-16;b=k-1|0;b=(b|0)==11?k:b}else{b=10}sb(t,b+1|0);b=F[e+8>>2];F[d>>2]=b;F[d+8>>2]=F[d+8>>2]&-2147483648|F[e+12>>2]&2147483647;F[d+8>>2]=F[d+8>>2]|-2147483648;F[d+4>>2]=g}while(1){if((a|0)!=(q|0)){D[b|0]=G[a|0];b=b+1|0;a=a+1|0;continue}break}D[e+7|0]=0;D[b|0]=G[e+7|0];Z=e+16|0;break J}za();v()}Z=h+16|0;Z=o;F[f+32>>2]=m;L:{M:{a=c+20|0;d=F[a+4>>2];N:{if(!d){g=a+4|0;c=g;break N}b=G[m+11|0];c=b<<24>>24<0;e=c?F[m>>2]:m;b=c?F[m+4>>2]:b;while(1){c=d;d=G[c+27|0];g=d<<24>>24<0;d=g?F[c+20>>2]:d;o=d>>>0>>0;O:{P:{Q:{R:{h=o?d:b;S:{if(h){g=g?F[c+16>>2]:c+16|0;q=sa(e,g,h);if(!q){if(b>>>0>>0){break S}break R}if((q|0)>=0){break R}break S}if(b>>>0>=d>>>0){break Q}}g=c;d=F[c>>2];if(d){continue}break N}d=sa(g,e,h);if(d){break P}}if(o){break O}break M}if((d|0)>=0){break M}}d=F[c+4>>2];if(d){continue}break}g=c+4|0}d=ka(40);e=d+16|0;b=F[f+32>>2];T:{if(D[b+11|0]>=0){o=F[b+4>>2];F[e>>2]=F[b>>2];F[e+4>>2]=o;F[e+8>>2]=F[b+8>>2];break T}ra(e,F[b>>2],F[b+4>>2])}F[d+8>>2]=c;F[d>>2]=0;F[d+4>>2]=0;F[d+36>>2]=0;F[d+28>>2]=0;F[d+32>>2]=0;F[g>>2]=d;c=d;b=F[F[a>>2]>>2];if(b){F[a>>2]=b;c=F[g>>2]}nb(F[a+4>>2],c);F[a+8>>2]=F[a+8>>2]+1;a=1;break L}d=c;a=0}D[f+44|0]=a;F[f+40>>2]=d;a=F[f+40>>2];if(D[a+39|0]<0){ja(F[a+28>>2])}b=F[f+12>>2];F[a+28>>2]=F[f+8>>2];F[a+32>>2]=b;F[a+36>>2]=F[f+16>>2];Z=f+48|0;Z=l+48|0;if(D[m+11|0]<0){ja(F[m>>2])}Z=m+16|0}function zd(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;h=Z-32|0;Z=h;g=F[F[a+4>>2]+44>>2];c=F[a+8>>2];d=F[c>>2];c=F[c+4>>2];F[h+24>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;d=(c-d>>2>>>0)/3|0;c=F[g+96>>2];f=(F[g+100>>2]-c|0)/12|0;a:{if(d>>>0>f>>>0){e=d-f|0;i=F[g+104>>2];c=F[g+100>>2];if(e>>>0<=(i-c|0)/12>>>0){b:{if(!e){break b}d=c;f=L(e,12)-12|0;i=((f>>>0)/12|0)+1&3;if(i){while(1){l=F[h+20>>2];F[d>>2]=F[h+16>>2];F[d+4>>2]=l;F[d+8>>2]=F[h+24>>2];d=d+12|0;j=j+1|0;if((i|0)!=(j|0)){continue}break}}c=L(e,12)+c|0;if(f>>>0<36){break b}while(1){f=F[h+20>>2];F[d>>2]=F[h+16>>2];F[d+4>>2]=f;F[d+8>>2]=F[h+24>>2];F[d+20>>2]=F[h+24>>2];f=F[h+20>>2];F[d+12>>2]=F[h+16>>2];F[d+16>>2]=f;F[d+32>>2]=F[h+24>>2];f=F[h+20>>2];F[d+24>>2]=F[h+16>>2];F[d+28>>2]=f;f=F[h+20>>2];F[d+36>>2]=F[h+16>>2];F[d+40>>2]=f;F[d+44>>2]=F[h+24>>2];d=d+48|0;if((d|0)!=(c|0)){continue}break}}F[g+100>>2]=c;break a}c:{f=F[g+96>>2];n=(c-f|0)/12|0;d=n+e|0;if(d>>>0<357913942){f=(i-f|0)/12|0;i=f<<1;i=f>>>0>=178956970?357913941:d>>>0>>0?i:d;if(i){if(i>>>0>=357913942){break c}l=ka(L(i,12))}f=L(n,12)+l|0;d=f;e=L(e,12);n=e-12|0;q=((n>>>0)/12|0)+1&3;if(q){while(1){r=F[h+20>>2];F[d>>2]=F[h+16>>2];F[d+4>>2]=r;F[d+8>>2]=F[h+24>>2];d=d+12|0;j=j+1|0;if((q|0)!=(j|0)){continue}break}}e=e+f|0;if(n>>>0>=36){while(1){j=F[h+20>>2];F[d>>2]=F[h+16>>2];F[d+4>>2]=j;F[d+8>>2]=F[h+24>>2];F[d+20>>2]=F[h+24>>2];j=F[h+20>>2];F[d+12>>2]=F[h+16>>2];F[d+16>>2]=j;F[d+32>>2]=F[h+24>>2];j=F[h+20>>2];F[d+24>>2]=F[h+16>>2];F[d+28>>2]=j;j=F[h+20>>2];F[d+36>>2]=F[h+16>>2];F[d+40>>2]=j;F[d+44>>2]=F[h+24>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}j=F[g+96>>2];if((j|0)!=(c|0)){while(1){c=c-12|0;n=F[c+4>>2];f=f-12|0;d=f;F[d>>2]=F[c>>2];F[d+4>>2]=n;F[d+8>>2]=F[c+8>>2];if((c|0)!=(j|0)){continue}break}c=F[g+96>>2]}F[g+104>>2]=L(i,12)+l;F[g+100>>2]=e;F[g+96>>2]=f;if(c){ja(c)}break a}na();v()}oa();v()}if(d>>>0>=f>>>0){break a}F[g+100>>2]=c+L(d,12)}d:{if(F[a+216>>2]==F[a+220>>2]){j=F[a+4>>2];c=F[j+44>>2];d=F[c+100>>2];f=F[c+96>>2];if((d|0)!=(f|0)){c=(d-f|0)/12|0;o=c>>>0<=1?1:c;c=0;while(1){d=F[a+8>>2];i=f+L(c,12)|0;g=L(c,3);e:{f:{if((g|0)==-1){e=F[(F[d>>2]+(g<<2)|0)+4>>2];k=-1;g=1;break f}e=-1;k=F[F[d>>2]+(g<<2)>>2];l=g+1|0;if((l|0)==-1){g=0;break f}e=F[F[d>>2]+(l<<2)>>2];g=g+2|0;m=-1;if((g|0)==-1){break e}}m=F[F[d>>2]+(g<<2)>>2]}F[i+8>>2]=m;F[i+4>>2]=e;F[i>>2]=k;c=c+1|0;if((o|0)!=(c|0)){continue}break}}F[F[j+4>>2]+80>>2]=b;c=1;break d}d=0;F[h+24>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;l=F[a+8>>2];c=F[l>>2];g=F[l+4>>2];F[h+8>>2]=0;F[h>>2]=0;F[h+4>>2]=0;b=0;g:{h:{i:{j:{k:{l:{if((c|0)!=(g|0)){c=g-c|0;if((c|0)<0){break l}b=ka(c);F[h>>2]=b;F[h+8>>2]=(c&-4)+b;u=h,w=ma(b,0,c)+c|0,F[u+4>>2]=w}c=F[l+24>>2];if((F[l+28>>2]-c|0)<4){break h}f=0;while(1){g=F[(p<<2)+c>>2];m:{if((g|0)==-1){break m}n:{if(F[F[a+120>>2]+(p>>>3&536870908)>>2]>>>p&1){break n}n=F[a+216>>2];c=F[a+220>>2];if((n|0)==(c|0)){break n}e=g+2|0;i=(g>>>0)%3|0;q=i?g-1|0:e;c=(c-n|0)/144|0;r=c>>>0<=1?1:c;j=0;t=(i|0)!=0|(e|0)!=-1;while(1){s=g<<2;i=L(j,144)+n|0;c=F[s+F[F[i+68>>2]>>2]>>2];o:{if(!(F[F[i+16>>2]+(c>>>3&536870908)>>2]>>>c&1)){break o}c=-1;p:{if(!t){break p}e=F[F[l+12>>2]+(q<<2)>>2];c=-1;if((e|0)==-1){break p}c=e-1|0;if((e>>>0)%3|0){break p}c=e+2|0}if((g|0)==(c|0)){break o}e=s;s=F[i+32>>2];i=F[e+s>>2];while(1){e=0;if((c|0)==-1){break g}if((i|0)!=F[s+(c<<2)>>2]){g=c;break n}q:{r:{if((c>>>0)%3|0){e=c-1|0;break r}e=c+2|0;m=-1;if((e|0)==-1){break q}}c=F[F[l+12>>2]+(e<<2)>>2];m=-1;if((c|0)==-1){break q}m=c-1|0;if((c>>>0)%3|0){break q}m=c+2|0}c=m;if((g|0)!=(c|0)){continue}break}}j=j+1|0;if((r|0)!=(j|0)){continue}break}}i=k-f|0;e=i>>2;F[(g<<2)+b>>2]=e;s:{if(k>>>0>>0){F[k>>2]=g;k=k+4|0;F[h+20>>2]=k;break s}c=e+1|0;if(c>>>0>=1073741824){break k}d=o-f|0;k=d>>>1|0;c=d>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}d=ka(c<<2)}else{d=0}e=d+(e<<2)|0;F[e>>2]=g;m=c<<2;c=pa(d,f,i);o=m+c|0;F[h+24>>2]=o;k=e+4|0;F[h+20>>2]=k;F[h+16>>2]=c;if(f){ja(f);l=F[a+8>>2]}f=c}if((g|0)==-1){break m}t:{if((g>>>0)%3|0){c=g-1|0;break t}c=g+2|0;if((c|0)==-1){break m}}c=F[F[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=g;if((c|0)==(g|0)){break m}while(1){i=c;u:{v:{c=F[a+220>>2];j=F[a+216>>2];if((c|0)==(j|0)){break v}c=(c-j|0)/144|0;n=c>>>0<=1?1:c;c=0;while(1){q=F[(j+L(c,144)|0)+32>>2];r=i<<2;if(F[q+r>>2]==F[q+(e<<2)>>2]){c=c+1|0;if((n|0)!=(c|0)){continue}break v}break}j=k-d|0;e=j>>2;F[b+r>>2]=e;if(k>>>0>>0){F[k>>2]=i;k=k+4|0;F[h+20>>2]=k;f=d;break u}c=e+1|0;if(c>>>0>=1073741824){break i}f=o-d|0;k=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}f=ka(c<<2)}else{f=0}e=f+(e<<2)|0;F[e>>2]=i;m=c<<2;c=pa(f,d,j);o=m+c|0;F[h+24>>2]=o;k=e+4|0;F[h+20>>2]=k;F[h+16>>2]=c;if(!d){d=c;break u}ja(d);l=F[a+8>>2];d=c;break u}F[(i<<2)+b>>2]=F[(e<<2)+b>>2]}if((i|0)==-1){break m}w:{if((i>>>0)%3|0){c=i-1|0;break w}c=i+2|0;if((c|0)==-1){break m}}c=F[F[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=i;if((c|0)!=(g|0)){continue}break}}p=p+1|0;c=F[l+24>>2];if((p|0)>2]-c>>2){continue}break}break h}na();v()}na();v()}oa();v()}na();v()}i=F[a+4>>2];a=F[i+44>>2];c=F[a+100>>2];a=F[a+96>>2];x:{if((c|0)==(a|0)){break x}g=(c-a|0)/12|0;f=g>>>0<=1?1:g;l=f&1;c=0;if(g>>>0>=2){j=f&-2;g=0;while(1){e=L(c,12);f=e+b|0;o=F[f>>2];p=F[f+4>>2];e=a+e|0;F[e+8>>2]=F[f+8>>2];F[e>>2]=o;F[e+4>>2]=p;e=L(c|1,12);f=e+b|0;o=F[f>>2];p=F[f+4>>2];e=a+e|0;F[e+8>>2]=F[f+8>>2];F[e>>2]=o;F[e+4>>2]=p;c=c+2|0;g=g+2|0;if((j|0)!=(g|0)){continue}break}}if(!l){break x}g=L(c,12);c=g+b|0;f=F[c>>2];e=F[c+4>>2];a=a+g|0;F[a+8>>2]=F[c+8>>2];F[a>>2]=f;F[a+4>>2]=e}F[F[i+4>>2]+80>>2]=k-d>>2;e=1}c=e;if(b){ja(b)}if(!d){break d}F[h+20>>2]=d;ja(d)}Z=h+32|0;return c}function de(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0;g=Z+-64|0;Z=g;F[a+8>>2]=e;y=a+32|0;f=F[y>>2];d=F[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){qa(y,e-d|0);F[g+56>>2]=0;F[g+60>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g>>2]=0;break b}if(d>>>0>e>>>0){F[a+36>>2]=f+(e<<2)}F[g+56>>2]=0;F[g+60>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g>>2]=0;d=0;if(!e){break a}}Fa(g+16|0,e,g);h=F[g+28>>2];d=F[g+32>>2]}F[g>>2]=0;d=d-h>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}F[g+32>>2]=(e<<2)+h;break c}Fa(g+16|12,e-d|0,g)}F[g>>2]=0;f=F[g+40>>2];d=F[g+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}F[g+44>>2]=f+(e<<2);break d}Fa(g+40|0,e-d|0,g)}F[g>>2]=0;f=F[g+52>>2];d=F[g+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}F[g+56>>2]=f+(e<<2);break e}Fa(g+52|0,e-d|0,g)}f:{if(F[a+8>>2]<=0){break f}i=F[g+16>>2];j=F[a+32>>2];h=0;while(1){d=h<<2;f=F[d+i>>2];m=F[a+16>>2];g:{if((f|0)>(m|0)){F[d+j>>2]=m;break g}d=d+j|0;m=F[a+12>>2];if((m|0)>(f|0)){F[d>>2]=m;break g}F[d>>2]=f}h=h+1|0;d=F[a+8>>2];if((h|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){i=d<<2;f=i+c|0;i=F[b+i>>2]+F[j+i>>2]|0;F[f>>2]=i;h:{if((i|0)>F[a+16>>2]){i=i-F[a+20>>2]|0}else{if((i|0)>=F[a+12>>2]){break h}i=i+F[a+20>>2]|0}F[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}H=F[a+52>>2];t=F[a+48>>2];z=ka(16);d=z;F[d>>2]=0;F[d+4>>2]=0;F[d+8>>2]=0;F[d+12>>2]=0;F[g+8>>2]=0;F[g>>2]=0;F[g+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;r=ka(d);F[g>>2]=r;F[g+8>>2]=d+r;ma(r,0,d)}A=1;d=F[a+56>>2];B=F[d>>2];d=F[d+4>>2]-B|0;j:{if((d|0)<8){break j}w=d>>2;I=(w|0)<=2?2:w;J=w>>>0<=1?1:w;C=e&-2;D=e&1;K=e&-4;E=e&3;G=e-1|0;M=e<<2;N=e>>>0<4;A=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(J|0)){o:{p:{f=F[(m<<2)+B>>2];if((f|0)==-1){break p}k=1;d=f+2|0;j=(f>>>0)%3|0;x=j?f-1|0:d;s=1<>2];O=n+(x>>>3&536870908)|0;i=0;P=(j|0)!=0|(d|0)!=-1;d=f;q:{while(1){r:{if(F[n+(d>>>3&536870908)>>2]>>>d&1){break r}j=F[F[F[t+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break r}l=F[H>>2];h=F[t+28>>2];p=F[l+(F[h+(j<<2)>>2]<<2)>>2];if((p|0)>=(m|0)){break r}q=j+1|0;q=F[l+(F[h+(((q>>>0)%3|0?q:j-2|0)<<2)>>2]<<2)>>2];if((q|0)>=(m|0)){break r}h=F[l+(F[h+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((h|0)>=(m|0)){break r}s:{if(!e){break s}j=F[(g+16|0)+L(i,12)>>2];l=L(e,h);q=L(e,q);p=L(e,p);h=0;o=0;if(G){while(1){F[j+(h<<2)>>2]=(F[(h+l<<2)+c>>2]+F[(h+q<<2)+c>>2]|0)-F[(h+p<<2)+c>>2];u=h|1;F[j+(u<<2)>>2]=(F[(l+u<<2)+c>>2]+F[(q+u<<2)+c>>2]|0)-F[(p+u<<2)+c>>2];h=h+2|0;o=o+2|0;if((C|0)!=(o|0)){continue}break}}if(!D){break s}F[j+(h<<2)>>2]=(F[(h+l<<2)+c>>2]+F[(h+q<<2)+c>>2]|0)-F[(h+p<<2)+c>>2]}j=4;i=i+1|0;if((i|0)==4){break q}}t:{if(k&1){h=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:h;if((j|0)==-1|F[n+(j>>>3&536870908)>>2]>>>j&1){break t}j=F[F[F[t+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break t}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break t}u:{if((d>>>0)%3|0){h=d-1|0;break u}h=d+2|0;d=-1;if((h|0)==-1){break t}}d=-1;if(F[n+(h>>>3&536870908)>>2]>>>h&1){break t}j=F[F[F[t+64>>2]+12>>2]+(h<<2)>>2];if((j|0)==-1){break t}if((j>>>0)%3|0){d=j-1|0;break t}d=j+2|0}v:{if((d|0)==(f|0)){break v}if((d|0)==-1&k){if(!P|s&F[O>>2]){break v}d=F[F[F[t+64>>2]+12>>2]+(x<<2)>>2];if((d|0)==-1){break v}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}j=i;if((j|0)<=0){break p}}if(e){ma(r,0,M)}d=j-1|0;q=(d<<2)+z|0;d=L(d,12)+a|0;u=d;x=F[d- -64>>2];k=0;d=F[g>>2];f=0;while(1){i=F[q>>2];F[q>>2]=i+1;if(i>>>0>=x>>>0){break j}w:{if(F[F[u+60>>2]+(i>>>3&536870908)>>2]>>>i&1){break w}f=f+1|0;if(!e){break w}n=F[(g+16|0)+L(k,12)>>2];i=0;h=0;p=0;if(!N){while(1){l=h<<2;o=l+d|0;F[o>>2]=F[l+n>>2]+F[o>>2];o=l|4;s=o+d|0;F[s>>2]=F[n+o>>2]+F[s>>2];o=l|8;s=o+d|0;F[s>>2]=F[n+o>>2]+F[s>>2];l=l|12;o=l+d|0;F[o>>2]=F[l+n>>2]+F[o>>2];h=h+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break w}while(1){l=h<<2;p=l+d|0;F[p>>2]=F[l+n>>2]+F[p>>2];h=h+1|0;i=i+1|0;if((E|0)!=(i|0)){continue}break}}k=k+1|0;if((k|0)!=(j|0)){continue}break}i=L(e,m);if(!f){break o}if(!e){break l}h=0;d=0;if(G){break n}break m}i=L(e,m)}if(F[a+8>>2]<=0){break k}k=(L(m-1|0,e)<<2)+c|0;j=F[y>>2];h=0;while(1){d=h<<2;f=F[d+k>>2];n=F[a+16>>2];x:{if((f|0)>(n|0)){F[d+j>>2]=n;break x}d=d+j|0;n=F[a+12>>2];if((n|0)>(f|0)){F[d>>2]=n;break x}F[d>>2]=f}h=h+1|0;f=F[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=F[i+k>>2]+F[j+i>>2]|0;F[f>>2]=i;y:{if((i|0)>F[a+16>>2]){i=i-F[a+20>>2]|0}else{if((i|0)>=F[a+12>>2]){break y}i=i+F[a+20>>2]|0}F[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}break k}ta();v()}while(1){j=h<<2;k=j+r|0;F[k>>2]=F[k>>2]/(f|0);j=(j|4)+r|0;F[j>>2]=F[j>>2]/(f|0);h=h+2|0;d=d+2|0;if((C|0)!=(d|0)){continue}break}}if(!D){break l}d=(h<<2)+r|0;F[d>>2]=F[d>>2]/(f|0)}if(F[a+8>>2]<=0){break k}j=F[y>>2];h=0;while(1){d=h<<2;f=F[d+r>>2];k=F[a+16>>2];z:{if((f|0)>(k|0)){F[d+j>>2]=k;break z}d=d+j|0;k=F[a+12>>2];if((k|0)>(f|0)){F[d>>2]=k;break z}F[d>>2]=f}h=h+1|0;f=F[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=F[i+k>>2]+F[j+i>>2]|0;F[f>>2]=i;A:{if((i|0)>F[a+16>>2]){i=i-F[a+20>>2]|0}else{if((i|0)>=F[a+12>>2]){break A}i=i+F[a+20>>2]|0}F[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;A=(w|0)<=(m|0);if((m|0)!=(I|0)){continue}break}}a=F[g>>2];if(a){ja(a)}ja(z);a=F[g+52>>2];if(a){F[g+56>>2]=a;ja(a)}a=F[g+40>>2];if(a){F[g+44>>2]=a;ja(a)}a=F[g+28>>2];if(a){F[g+32>>2]=a;ja(a)}a=F[g+16>>2];if(a){F[g+20>>2]=a;ja(a)}Z=g- -64|0;return A|0}na();v()}function $h(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0;h=Z+-64|0;Z=h;F[a+8>>2]=e;x=a+32|0;f=F[x>>2];d=F[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){qa(x,e-d|0);F[h+56>>2]=0;F[h+60>>2]=0;F[h+48>>2]=0;F[h+52>>2]=0;F[h+40>>2]=0;F[h+44>>2]=0;F[h+32>>2]=0;F[h+36>>2]=0;F[h+24>>2]=0;F[h+28>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;F[h>>2]=0;break b}if(d>>>0>e>>>0){F[a+36>>2]=f+(e<<2)}F[h+56>>2]=0;F[h+60>>2]=0;F[h+48>>2]=0;F[h+52>>2]=0;F[h+40>>2]=0;F[h+44>>2]=0;F[h+32>>2]=0;F[h+36>>2]=0;F[h+24>>2]=0;F[h+28>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;F[h>>2]=0;d=0;if(!e){break a}}Fa(h+16|0,e,h);i=F[h+28>>2];d=F[h+32>>2]}F[h>>2]=0;d=d-i>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}F[h+32>>2]=(e<<2)+i;break c}Fa(h+16|12,e-d|0,h)}F[h>>2]=0;f=F[h+40>>2];d=F[h+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}F[h+44>>2]=f+(e<<2);break d}Fa(h+40|0,e-d|0,h)}F[h>>2]=0;f=F[h+52>>2];d=F[h+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}F[h+56>>2]=f+(e<<2);break e}Fa(h+52|0,e-d|0,h)}f:{if(F[a+8>>2]<=0){break f}g=F[h+16>>2];j=F[a+32>>2];i=0;while(1){d=i<<2;f=F[d+g>>2];m=F[a+16>>2];g:{if((f|0)>(m|0)){F[d+j>>2]=m;break g}d=d+j|0;m=F[a+12>>2];if((m|0)>(f|0)){F[d>>2]=m;break g}F[d>>2]=f}i=i+1|0;d=F[a+8>>2];if((i|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){g=d<<2;f=g+c|0;g=F[b+g>>2]+F[g+j>>2]|0;F[f>>2]=g;h:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break h}g=g+F[a+20>>2]|0}F[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}H=F[a+52>>2];A=F[a+48>>2];y=ka(16);d=y;F[d>>2]=0;F[d+4>>2]=0;F[d+8>>2]=0;F[d+12>>2]=0;F[h+8>>2]=0;F[h>>2]=0;F[h+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;t=ka(d);F[h>>2]=t;F[h+8>>2]=d+t;ma(t,0,d)}z=1;d=F[a+56>>2];B=F[d>>2];d=F[d+4>>2]-B|0;j:{if((d|0)<8){break j}w=d>>2;I=(w|0)<=2?2:w;J=w>>>0<=1?1:w;C=e&-2;D=e&1;K=e&-4;E=e&3;G=e-1|0;M=e<<2;N=e>>>0<4;z=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(J|0)){o:{p:{f=F[(m<<2)+B>>2];if((f|0)==-1){break p}n=F[A+12>>2];d=f+2|0;g=(f>>>0)%3|0;q=n+((g?f-1|0:d)<<2)|0;j=0;u=(g|0)!=0|(d|0)!=-1;k=1;d=f;q:{while(1){g=F[n+(d<<2)>>2];r:{if((g|0)==-1){break r}l=-1;p=F[H>>2];r=F[A>>2];i=p+(F[r+(g<<2)>>2]<<2)|0;o=g+1|0;o=(o>>>0)%3|0?o:g-2|0;if((o|0)!=-1){l=F[r+(o<<2)>>2]}o=F[i>>2];s:{t:{if((g>>>0)%3|0){i=g-1|0;break t}i=g+2|0;s=-1;if((i|0)==-1){break s}}s=F[r+(i<<2)>>2]}if((m|0)<=(o|0)){break r}i=F[p+(l<<2)>>2];if((i|0)>=(m|0)){break r}l=F[p+(s<<2)>>2];if((l|0)>=(m|0)){break r}g=F[(h+16|0)+L(j,12)>>2];u:{if(!e){break u}l=L(e,l);r=L(e,i);p=L(e,o);i=0;s=0;if(G){while(1){F[g+(i<<2)>>2]=(F[(i+l<<2)+c>>2]+F[(i+r<<2)+c>>2]|0)-F[(i+p<<2)+c>>2];o=i|1;F[g+(o<<2)>>2]=(F[(l+o<<2)+c>>2]+F[(o+r<<2)+c>>2]|0)-F[(o+p<<2)+c>>2];i=i+2|0;s=s+2|0;if((C|0)!=(s|0)){continue}break}}if(!D){break u}F[g+(i<<2)>>2]=(F[(i+l<<2)+c>>2]+F[(i+r<<2)+c>>2]|0)-F[(i+p<<2)+c>>2]}g=4;j=j+1|0;if((j|0)==4){break q}}v:{if(k&1){i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;g=-1;if((d|0)==-1){break v}d=F[n+(d<<2)>>2];g=-1;if((d|0)==-1){break v}g=d+1|0;g=(g>>>0)%3|0?g:d-2|0;break v}w:{if((d>>>0)%3|0){i=d-1|0;break w}i=d+2|0;g=-1;if((i|0)==-1){break v}}d=F[n+(i<<2)>>2];g=-1;if((d|0)==-1){break v}g=d-1|0;if((d>>>0)%3|0){break v}g=d+2|0}d=g;x:{if((f|0)==(d|0)){break x}if((d|0)==-1&k){if(!u){break x}d=F[q>>2];if((d|0)==-1){break x}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}g=j;if((g|0)<=0){break p}}if(e){ma(t,0,M)}d=g-1|0;r=(d<<2)+y|0;d=L(d,12)+a|0;o=d;s=F[d- -64>>2];k=0;d=F[h>>2];f=0;while(1){j=F[r>>2];F[r>>2]=j+1;if(j>>>0>=s>>>0){break j}y:{if(F[F[o+60>>2]+(j>>>3&536870908)>>2]>>>j&1){break y}f=f+1|0;if(!e){break y}j=F[(h+16|0)+L(k,12)>>2];l=0;i=0;p=0;if(!N){while(1){n=i<<2;q=n+d|0;F[q>>2]=F[j+n>>2]+F[q>>2];q=n|4;u=q+d|0;F[u>>2]=F[j+q>>2]+F[u>>2];q=n|8;u=q+d|0;F[u>>2]=F[j+q>>2]+F[u>>2];n=n|12;q=n+d|0;F[q>>2]=F[j+n>>2]+F[q>>2];i=i+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break y}while(1){n=i<<2;p=n+d|0;F[p>>2]=F[j+n>>2]+F[p>>2];i=i+1|0;l=l+1|0;if((E|0)!=(l|0)){continue}break}}k=k+1|0;if((k|0)!=(g|0)){continue}break}g=L(e,m);if(!f){break o}if(!e){break l}i=0;d=0;if(G){break n}break m}g=L(e,m)}if(F[a+8>>2]<=0){break k}k=(L(m-1|0,e)<<2)+c|0;j=F[x>>2];i=0;while(1){d=i<<2;f=F[d+k>>2];l=F[a+16>>2];z:{if((f|0)>(l|0)){F[d+j>>2]=l;break z}d=d+j|0;l=F[a+12>>2];if((l|0)>(f|0)){F[d>>2]=l;break z}F[d>>2]=f}i=i+1|0;f=F[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=F[g+k>>2]+F[g+j>>2]|0;F[f>>2]=g;A:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break A}g=g+F[a+20>>2]|0}F[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}break k}ta();v()}while(1){j=i<<2;k=j+t|0;F[k>>2]=F[k>>2]/(f|0);j=(j|4)+t|0;F[j>>2]=F[j>>2]/(f|0);i=i+2|0;d=d+2|0;if((C|0)!=(d|0)){continue}break}}if(!D){break l}d=(i<<2)+t|0;F[d>>2]=F[d>>2]/(f|0)}if(F[a+8>>2]<=0){break k}j=F[x>>2];i=0;while(1){d=i<<2;f=F[d+t>>2];k=F[a+16>>2];B:{if((f|0)>(k|0)){F[d+j>>2]=k;break B}d=d+j|0;k=F[a+12>>2];if((k|0)>(f|0)){F[d>>2]=k;break B}F[d>>2]=f}i=i+1|0;f=F[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=F[g+k>>2]+F[g+j>>2]|0;F[f>>2]=g;C:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break C}g=g+F[a+20>>2]|0}F[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;z=(w|0)<=(m|0);if((m|0)!=(I|0)){continue}break}}a=F[h>>2];if(a){ja(a)}ja(y);a=F[h+52>>2];if(a){F[h+56>>2]=a;ja(a)}a=F[h+40>>2];if(a){F[h+44>>2]=a;ja(a)}a=F[h+28>>2];if(a){F[h+32>>2]=a;ja(a)}a=F[h+16>>2];if(a){F[h+20>>2]=a;ja(a)}Z=h- -64|0;return z|0}na();v()}function Yh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,$=0,aa=0,ba=0,ca=0;a:{b:{if((e|0)!=2){break b}F[a+8>>2]=2;F[a- -64>>2]=f;N=a+32|0;e=F[N>>2];d=F[a+36>>2]-e|0;c:{if(d>>>0<=7){qa(N,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}F[a+36>>2]=e+8}j=1;d=F[a+56>>2];d=F[d+4>>2]-F[d>>2]|0;if((d|0)<=0){break b}o=a+60|0;d=d>>>2|0;$=d>>>0<=1?1:d;aa=a+68|0;d=0;while(1){f=F[a+56>>2];e=F[f>>2];if(F[f+4>>2]-e>>2>>>0<=d>>>0){break a}l=Z-80|0;Z=l;f=-1;d:{e:{e=F[e+(d<<2)>>2];if((e|0)==-1){break e}j=F[o+32>>2];g=e+1|0;g=(g>>>0)%3|0?g:e-2|0;if((g|0)!=-1){f=F[F[j>>2]+(g<<2)>>2]}n=-1;e=e+((e>>>0)%3|0?-1:2)|0;if((e|0)!=-1){n=F[F[j>>2]+(e<<2)>>2]}j=F[o+36>>2];e=F[j>>2];j=F[j+4>>2]-e>>2;if(j>>>0<=f>>>0|j>>>0<=n>>>0){break e}f:{g:{h:{i:{j:{k:{i=F[e+(n<<2)>>2];f=F[e+(f<<2)>>2];if((i|0)>=(d|0)|(f|0)>=(d|0)){break k}j=(i<<3)+c|0;u=F[j+4>>2];g=(f<<3)+c|0;e=F[g+4>>2];A=F[j>>2];j=F[g>>2];if(!((A|0)!=(j|0)|(e|0)!=(u|0))){F[o+8>>2]=j;F[o+12>>2]=e;break j}n=F[F[o+4>>2]+(d<<2)>>2];F[l+72>>2]=0;F[l+76>>2]=0;g=l- -64|0;F[g>>2]=0;F[g+4>>2]=0;F[l+56>>2]=0;F[l+60>>2]=0;g=F[o>>2];if(!G[g+84|0]){n=F[F[g+68>>2]+(n<<2)>>2]}Ga(g,n,D[g+24|0],l+56|0);n=F[F[o+4>>2]+(f<<2)>>2];F[l+48>>2]=0;F[l+52>>2]=0;F[l+40>>2]=0;F[l+44>>2]=0;F[l+32>>2]=0;F[l+36>>2]=0;g=F[o>>2];if(!G[g+84|0]){n=F[F[g+68>>2]+(n<<2)>>2]}Ga(g,n,D[g+24|0],l+32|0);n=F[F[o+4>>2]+(i<<2)>>2];F[l+24>>2]=0;F[l+28>>2]=0;F[l+16>>2]=0;F[l+20>>2]=0;F[l+8>>2]=0;F[l+12>>2]=0;g=F[o>>2];if(!G[g+84|0]){n=F[F[g+68>>2]+(n<<2)>>2]}Ga(g,n,D[g+24|0],l+8|0);g=F[l+16>>2];w=F[l+40>>2];B=g-w|0;O=F[l+44>>2];g=F[l+20>>2]-(O+(g>>>0>>0)|0)|0;J=g;i=ki(B,g,B,g);m=_;g=F[l+8>>2];C=F[l+32>>2];E=g-C|0;P=F[l+36>>2];g=F[l+12>>2]-(P+(g>>>0>>0)|0)|0;K=g;k=i;i=ki(E,g,E,g);g=k+i|0;k=_+m|0;k=g>>>0>>0?k+1|0:k;i=F[l+24>>2];H=F[l+48>>2];I=i-H|0;Q=F[l+52>>2];i=F[l+28>>2]-(Q+(i>>>0>>0)|0)|0;L=i;h=g;g=ki(I,i,I,i);q=h+g|0;h=_+k|0;r=g>>>0>q>>>0?h+1|0:h;if(!(r|q)){break k}n=0;x=mi(-1,2147483647,q,r);f=j>>31;S=f;h=f>>31;R=j;g=h;m=j^g;j=m-g|0;f=(f^g)-((g>>>0>m>>>0)+g|0)|0;g=f;f=e>>31;T=f;M=e;e=f>>31;m=M^e;h=m-e|0;k=f>>31;e=(k^f)-((e>>>0>m>>>0)+k|0)|0;f=(g|0)==(e|0)&h>>>0>>0|e>>>0>>0;j=f?j:h;i=_;e=f?g:e;if((i|0)==(e|0)&j>>>0>x>>>0|e>>>0>i>>>0){break f}j=F[l+64>>2];U=F[l+68>>2];e=ki(j-w|0,U-((j>>>0>>0)+O|0)|0,B,J);f=_;g=F[l+56>>2];V=F[l+60>>2];i=ki(g-C|0,V-((g>>>0>>0)+P|0)|0,E,K);e=i+e|0;h=_+f|0;m=F[l+72>>2];W=F[l+76>>2];f=ki(m-H|0,W-((m>>>0>>0)+Q|0)|0,I,L);y=f+e|0;e=_+(e>>>0>>0?h+1|0:h)|0;e=f>>>0>y>>>0?e+1|0:e;x=e;f=e;e=e>>31;i=e;h=e^y;e=h-e|0;i=(f^i)-((h>>>0>>0)+i|0)|0;f=A;A=f-R|0;f=(f>>31)-((f>>>0>>0)+S|0)|0;X=f;z=f>>31;p=z^A;k=p-z|0;h=f>>31;f=(h^f)-((p>>>0>>0)+h|0)|0;p=f;z=u-M|0;f=(u>>31)-((u>>>0>>0)+T|0)|0;u=f;s=f>>31;t=s^z;Y=t-s|0;h=f>>31;f=(h^f)-((s>>>0>t>>>0)+h|0)|0;h=(p|0)==(f|0)&k>>>0>Y>>>0|f>>>0

>>0;f=mi(-1,2147483647,h?k:Y,h?p:f);h=_;if((h|0)==(i|0)&e>>>0>f>>>0|h>>>0>>0){break f}f=e;e=i;h=K>>31;p=h^E;i=p-h|0;h=(h^K)-((h>>>0>p>>>0)+h|0)|0;k=J>>31;s=k^B;t=s-k|0;k=(k^J)-((k>>>0>s>>>0)+k|0)|0;p=(h|0)==(k|0)&i>>>0>t>>>0|h>>>0>k>>>0;i=p?i:t;h=p?h:k;k=L>>31;p=i;s=k^I;t=s-k|0;k=(k^L)-((k>>>0>s>>>0)+k|0)|0;i=(h|0)==(k|0)&i>>>0>t>>>0|h>>>0>k>>>0;i=mi(-1,2147483647,i?p:t,i?h:k);h=_;if((h|0)==(e|0)&f>>>0>i>>>0|e>>>0>h>>>0){break f}i=1;f=0;k=li(ki(y,x,B,J),_,q,r);h=k+w|0;e=_+O|0;e=h>>>0>>0?e+1|0:e;k=j-h|0;e=U-((h>>>0>j>>>0)+e|0)|0;k=ki(k,e,k,e);w=_;h=li(ki(y,x,E,K),_,q,r);j=h+C|0;e=_+P|0;e=h>>>0>j>>>0?e+1|0:e;h=g-j|0;e=V-((g>>>0>>0)+e|0)|0;j=ki(h,e,h,e);e=j+k|0;h=_+w|0;h=e>>>0>>0?h+1|0:h;k=e;g=li(ki(y,x,I,L),_,q,r);j=g+H|0;e=_+Q|0;e=g>>>0>j>>>0?e+1|0:e;g=m-j|0;e=W-((j>>>0>m>>>0)+e|0)|0;g=ki(g,e,g,e);j=g+k|0;e=_+h|0;j=ki(j,g>>>0>j>>>0?e+1|0:e,q,r);e=_;m=e;if(!e&j>>>0<=1){break i}h=j;g=m;while(1){e=f<<1|i>>>31;i=i<<1;f=e;k=!g&h>>>0>7|(g|0)!=0;h=(g&3)<<30|h>>>2;g=g>>>2|0;if(k){continue}break}break h}g=o;if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){F[o+8>>2]=0;F[o+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;F[g+8>>2]=F[e>>2];F[o+12>>2]=F[e+4>>2]}n=1;break f}f=m;i=j;if(j-1|0){break g}}while(1){e=mi(j,m,i,f);h=f+_|0;e=e+i|0;h=e>>>0>>0?h+1|0:h;i=(h&1)<<31|e>>>1;f=h>>>1|0;e=ki(i,f,i,f);g=_;if((m|0)==(g|0)&e>>>0>j>>>0|g>>>0>m>>>0){continue}break}}e=F[o+20>>2];if(!e){break f}j=e-1|0;m=F[F[o+16>>2]+(j>>>3&536870908)>>2];F[o+20>>2]=j;n=1;e=ki(y,x,z,u);h=_;g=e;e=ki(q,r,M,T);g=g+e|0;h=_+h|0;h=e>>>0>g>>>0?h+1|0:h;e=ki(i,f,A,X);j=m>>>j&1;m=j?0-e|0:e;g=m+g|0;k=h;h=_;k=k+(j?0-(h+((e|0)!=0)|0)|0:h)|0;ba=o,ca=li(g,g>>>0>>0?k+1|0:k,q,r),F[ba+12>>2]=ca;e=ki(y,x,A,X);m=_;g=e;e=ki(q,r,R,S);g=g+e|0;h=_+m|0;h=e>>>0>g>>>0?h+1|0:h;e=ki(i,f,z,u);f=0-e|0;i=_;k=(j?i:0-(((e|0)!=0)+i|0)|0)+h|0;i=g;g=j?e:f;f=i+g|0;ba=o,ca=li(f,f>>>0>>0?k+1|0:k,q,r),F[ba+8>>2]=ca}Z=l+80|0;e=n;break d}ta();v()}j=e;if(!e){return 0}l:{if(F[a+8>>2]<=0){break l}i=F[N>>2];e=0;while(1){f=e<<2;g=F[f+aa>>2];m=F[a+16>>2];m:{if((g|0)>(m|0)){F[f+i>>2]=m;break m}f=f+i|0;m=F[a+12>>2];if((m|0)>(g|0)){F[f>>2]=m;break m}F[f>>2]=g}e=e+1|0;g=F[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break l}e=d<<3;m=e+c|0;n=b+e|0;while(1){g=f<<2;e=g+m|0;g=F[g+n>>2]+F[g+i>>2]|0;F[e>>2]=g;n:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break n}g=g+F[a+20>>2]|0}F[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if(($|0)!=(d|0)){continue}break}}return j|0}ta();v()}function hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,$=0,aa=0,ba=0,ca=0;a:{b:{if((e|0)!=2){break b}F[a+8>>2]=2;F[a- -64>>2]=f;N=a+32|0;e=F[N>>2];d=F[a+36>>2]-e|0;c:{if(d>>>0<=7){qa(N,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}F[a+36>>2]=e+8}o=1;d=F[a+56>>2];d=F[d+4>>2]-F[d>>2]|0;if((d|0)<=0){break b}n=a+60|0;d=d>>>2|0;$=d>>>0<=1?1:d;aa=a+68|0;d=0;while(1){e=F[a+56>>2];i=F[e>>2];if(F[e+4>>2]-i>>2>>>0<=d>>>0){break a}l=Z-80|0;Z=l;f=-1;i=F[i+(d<<2)>>2];e=-1;d:{if((i|0)==-1){break d}e=i+1|0;f=(e>>>0)%3|0?e:i-2|0;e=i-1|0;if((i>>>0)%3|0){break d}e=i+2|0}g=F[n+36>>2];i=F[g>>2];e:{f:{g:{h:{i:{g=F[g+4>>2]-i>>2;k=f<<2;f=F[F[n+32>>2]+28>>2];j=F[k+f>>2];if(g>>>0<=j>>>0){break i}e=F[f+(e<<2)>>2];if(e>>>0>=g>>>0){break i}f=F[i+(j<<2)>>2];j:{k:{j=F[i+(e<<2)>>2];if((d|0)<=(f|0)|(j|0)>=(d|0)){break k}i=(j<<3)+c|0;u=F[i+4>>2];g=(f<<3)+c|0;e=F[g+4>>2];A=F[i>>2];i=F[g>>2];if(!((A|0)!=(i|0)|(e|0)!=(u|0))){F[n+8>>2]=i;F[n+12>>2]=e;break j}o=F[F[n+4>>2]+(d<<2)>>2];F[l+72>>2]=0;F[l+76>>2]=0;g=l- -64|0;F[g>>2]=0;F[g+4>>2]=0;F[l+56>>2]=0;F[l+60>>2]=0;g=F[n>>2];if(!G[g+84|0]){o=F[F[g+68>>2]+(o<<2)>>2]}Ga(g,o,D[g+24|0],l+56|0);o=F[F[n+4>>2]+(f<<2)>>2];F[l+48>>2]=0;F[l+52>>2]=0;F[l+40>>2]=0;F[l+44>>2]=0;F[l+32>>2]=0;F[l+36>>2]=0;g=F[n>>2];if(!G[g+84|0]){o=F[F[g+68>>2]+(o<<2)>>2]}Ga(g,o,D[g+24|0],l+32|0);o=F[F[n+4>>2]+(j<<2)>>2];F[l+24>>2]=0;F[l+28>>2]=0;F[l+16>>2]=0;F[l+20>>2]=0;F[l+8>>2]=0;F[l+12>>2]=0;g=F[n>>2];if(!G[g+84|0]){o=F[F[g+68>>2]+(o<<2)>>2]}Ga(g,o,D[g+24|0],l+8|0);g=F[l+16>>2];w=F[l+40>>2];B=g-w|0;O=F[l+44>>2];g=F[l+20>>2]-(O+(g>>>0>>0)|0)|0;J=g;j=ki(B,g,B,g);m=_;g=F[l+8>>2];C=F[l+32>>2];E=g-C|0;P=F[l+36>>2];g=F[l+12>>2]-(P+(g>>>0>>0)|0)|0;K=g;k=j;j=ki(E,g,E,g);g=k+j|0;k=_+m|0;k=g>>>0>>0?k+1|0:k;j=F[l+24>>2];H=F[l+48>>2];I=j-H|0;Q=F[l+52>>2];j=F[l+28>>2]-(Q+(j>>>0>>0)|0)|0;L=j;h=g;g=ki(I,j,I,j);q=h+g|0;h=_+k|0;r=g>>>0>q>>>0?h+1|0:h;if(!(r|q)){break k}o=0;x=mi(-1,2147483647,q,r);f=i>>31;S=f;h=f>>31;R=i;g=h;m=i^g;i=m-g|0;f=(f^g)-((g>>>0>m>>>0)+g|0)|0;g=f;f=e>>31;T=f;M=e;e=f>>31;m=M^e;h=m-e|0;k=f>>31;e=(k^f)-((e>>>0>m>>>0)+k|0)|0;f=(g|0)==(e|0)&h>>>0>>0|e>>>0>>0;i=f?i:h;j=_;e=f?g:e;if((j|0)==(e|0)&i>>>0>x>>>0|e>>>0>j>>>0){break e}i=F[l+64>>2];U=F[l+68>>2];e=ki(i-w|0,U-((i>>>0>>0)+O|0)|0,B,J);f=_;g=F[l+56>>2];V=F[l+60>>2];j=ki(g-C|0,V-((g>>>0>>0)+P|0)|0,E,K);e=j+e|0;h=_+f|0;m=F[l+72>>2];W=F[l+76>>2];f=ki(m-H|0,W-((m>>>0>>0)+Q|0)|0,I,L);y=f+e|0;e=_+(e>>>0>>0?h+1|0:h)|0;e=f>>>0>y>>>0?e+1|0:e;x=e;f=e;e=e>>31;j=e;h=e^y;e=h-e|0;j=(f^j)-((h>>>0>>0)+j|0)|0;f=A;A=f-R|0;f=(f>>31)-((f>>>0>>0)+S|0)|0;X=f;z=f>>31;p=z^A;k=p-z|0;h=f>>31;f=(h^f)-((p>>>0>>0)+h|0)|0;p=f;z=u-M|0;f=(u>>31)-((u>>>0>>0)+T|0)|0;u=f;s=f>>31;t=s^z;Y=t-s|0;h=f>>31;f=(h^f)-((s>>>0>t>>>0)+h|0)|0;h=(p|0)==(f|0)&k>>>0>Y>>>0|f>>>0

>>0;f=mi(-1,2147483647,h?k:Y,h?p:f);h=_;if((h|0)==(j|0)&e>>>0>f>>>0|h>>>0>>0){break e}f=e;e=j;h=K>>31;p=h^E;j=p-h|0;h=(h^K)-((h>>>0>p>>>0)+h|0)|0;k=J>>31;s=k^B;t=s-k|0;k=(k^J)-((k>>>0>s>>>0)+k|0)|0;p=(h|0)==(k|0)&j>>>0>t>>>0|h>>>0>k>>>0;j=p?j:t;h=p?h:k;k=L>>31;p=j;s=k^I;t=s-k|0;k=(k^L)-((k>>>0>s>>>0)+k|0)|0;j=(h|0)==(k|0)&j>>>0>t>>>0|h>>>0>k>>>0;j=mi(-1,2147483647,j?p:t,j?h:k);h=_;if((h|0)==(e|0)&f>>>0>j>>>0|e>>>0>h>>>0){break e}j=1;f=0;k=li(ki(y,x,B,J),_,q,r);h=k+w|0;e=_+O|0;e=h>>>0>>0?e+1|0:e;k=i-h|0;e=U-((h>>>0>i>>>0)+e|0)|0;k=ki(k,e,k,e);w=_;h=li(ki(y,x,E,K),_,q,r);i=h+C|0;e=_+P|0;e=h>>>0>i>>>0?e+1|0:e;h=g-i|0;e=V-((g>>>0>>0)+e|0)|0;i=ki(h,e,h,e);e=i+k|0;h=_+w|0;h=e>>>0>>0?h+1|0:h;k=e;g=li(ki(y,x,I,L),_,q,r);i=g+H|0;e=_+Q|0;e=g>>>0>i>>>0?e+1|0:e;g=m-i|0;e=W-((i>>>0>m>>>0)+e|0)|0;g=ki(g,e,g,e);i=g+k|0;e=_+h|0;i=ki(i,g>>>0>i>>>0?e+1|0:e,q,r);e=_;m=e;if(!e&i>>>0<=1){break h}h=i;g=m;while(1){e=f<<1|j>>>31;j=j<<1;f=e;k=!g&h>>>0>7|(g|0)!=0;h=(g&3)<<30|h>>>2;g=g>>>2|0;if(k){continue}break}break g}g=n;if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){F[n+8>>2]=0;F[n+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;F[g+8>>2]=F[e>>2];F[n+12>>2]=F[e+4>>2]}o=1;break e}ta();v()}f=m;j=i;if(i-1|0){break f}}while(1){e=mi(i,m,j,f);h=f+_|0;e=e+j|0;h=e>>>0>>0?h+1|0:h;j=(h&1)<<31|e>>>1;f=h>>>1|0;e=ki(j,f,j,f);g=_;if((m|0)==(g|0)&e>>>0>i>>>0|g>>>0>m>>>0){continue}break}}e=F[n+20>>2];if(!e){break e}i=e-1|0;m=F[F[n+16>>2]+(i>>>3&536870908)>>2];F[n+20>>2]=i;o=1;e=ki(y,x,z,u);h=_;g=e;e=ki(q,r,M,T);g=g+e|0;h=_+h|0;h=e>>>0>g>>>0?h+1|0:h;e=ki(j,f,A,X);i=m>>>i&1;m=i?0-e|0:e;g=m+g|0;k=h;h=_;k=k+(i?0-(h+((e|0)!=0)|0)|0:h)|0;ba=n,ca=li(g,g>>>0>>0?k+1|0:k,q,r),F[ba+12>>2]=ca;e=ki(y,x,A,X);m=_;g=e;e=ki(q,r,R,S);g=g+e|0;h=_+m|0;h=e>>>0>g>>>0?h+1|0:h;e=ki(j,f,z,u);f=0-e|0;j=_;k=(i?j:0-(((e|0)!=0)+j|0)|0)+h|0;j=g;g=i?e:f;f=j+g|0;ba=n,ca=li(f,f>>>0>>0?k+1|0:k,q,r),F[ba+8>>2]=ca}Z=l+80|0;if(!o){return 0}l:{if(F[a+8>>2]<=0){break l}g=F[N>>2];e=0;while(1){f=e<<2;i=F[f+aa>>2];j=F[a+16>>2];m:{if((i|0)>(j|0)){F[f+g>>2]=j;break m}f=f+g|0;j=F[a+12>>2];if((j|0)>(i|0)){F[f>>2]=j;break m}F[f>>2]=i}e=e+1|0;i=F[a+8>>2];if((e|0)<(i|0)){continue}break}f=0;if((i|0)<=0){break l}e=d<<3;j=e+c|0;m=b+e|0;while(1){i=f<<2;e=i+j|0;i=F[i+m>>2]+F[g+i>>2]|0;F[e>>2]=i;n:{if((i|0)>F[a+16>>2]){k=i-F[a+20>>2]|0}else{if((i|0)>=F[a+12>>2]){break n}k=i+F[a+20>>2]|0}F[e>>2]=k}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if(($|0)!=(d|0)){continue}break}}return o|0}ta();v()}function Gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=Z-96|0;Z=n;m=F[a+4>>2];d=F[m+32>>2];j=F[d+8>>2];i=F[d+12>>2];e=i;c=F[d+20>>2];f=F[d+16>>2];a:{if((e|0)<=(c|0)&f>>>0>=j>>>0|(c|0)>(e|0)){break a}o=F[d>>2];h=G[o+f|0];g=f+1|0;e=g?c:c+1|0;F[d+16>>2]=g;F[d+20>>2]=e;if((e|0)>=(i|0)&g>>>0>=j>>>0|(e|0)>(i|0)){break a}p=G[g+o|0];g=f+2|0;e=g>>>0<2?c+1|0:c;F[d+16>>2]=g;F[d+20>>2]=e;l=h<<24>>24;b:{if((l|0)>=0){k=F[a+216>>2];if(h>>>0>=(F[a+220>>2]-k|0)/144>>>0){break a}k=k+L(h,144)|0;if(F[k>>2]<0){break b}break a}if(F[a+212>>2]>=0){break a}k=a+212|0}F[k>>2]=b;c:{d:{e:{f:{g:{h:{k=H[m+36>>1];i:{if(((k<<8|k>>>8)&65535)>>>0>=258){if((e|0)>=(i|0)&g>>>0>=j>>>0|(e|0)>(i|0)){break a}e=G[g+o|0];f=f+3|0;c=f>>>0<3?c+1|0:c;F[d+16>>2]=f;F[d+20>>2]=c;if(e>>>0>1){break a}d=e>>>0<2?e:0;if(!p){break i}if(!d){break h}break a}if(p){break g}d=0}if((l|0)<0){e=a+184|0}else{c=F[a+216>>2]+L(h,144)|0;D[c+100|0]=0;e=c+104|0}if((d|0)!=1){break e}c=Z-112|0;Z=c;g=F[F[a+4>>2]+44>>2];d=ka(120);F[d>>2]=8924;F[d+4>>2]=0;F[d+116>>2]=0;F[d+112>>2]=e;F[d+108>>2]=g;F[d+12>>2]=0;F[d+16>>2]=0;F[d+20>>2]=0;F[d+24>>2]=0;F[d+28>>2]=0;F[d+32>>2]=0;F[d+36>>2]=0;F[d+40>>2]=0;F[d+44>>2]=0;F[d+48>>2]=0;F[d+52>>2]=0;F[d+56>>2]=0;F[d+60>>2]=0;F[d+8>>2]=9136;f=d- -64|0;F[f>>2]=0;F[f+4>>2]=0;F[d+72>>2]=0;F[d+76>>2]=0;F[d+80>>2]=0;F[d+84>>2]=0;F[d+88>>2]=0;F[d+104>>2]=0;F[d+96>>2]=0;F[d+100>>2]=0;f=F[a+8>>2];F[c+48>>2]=0;F[c+52>>2]=0;F[c+40>>2]=0;F[c+44>>2]=0;j=c+32|0;F[j>>2]=0;F[j+4>>2]=0;F[c+24>>2]=0;F[c+28>>2]=0;h=c- -64|0;F[h>>2]=0;F[h+4>>2]=0;F[c+72>>2]=0;F[c+76>>2]=0;F[c+80>>2]=0;F[c+84>>2]=0;F[c+88>>2]=0;F[c+104>>2]=0;F[c+16>>2]=0;F[c+20>>2]=0;F[c+56>>2]=0;F[c+60>>2]=0;F[c+8>>2]=9136;F[c+96>>2]=0;F[c+100>>2]=0;F[c+12>>2]=f;h=F[f>>2];i=F[f+4>>2];D[c+111|0]=0;k=j;j=c+111|0;Ea(k,(i-h>>2>>>0)/3|0,j);h=F[c+12>>2];i=F[h+28>>2];h=F[h+24>>2];D[c+111|0]=0;Ea(c+44|0,i-h>>2,j);F[c+28>>2]=d;F[c+24>>2]=g;F[c+20>>2]=e;F[c+16>>2]=f;f=d+8|0;e=c+8|0;lc(f,e);j:{if((e|0)==(f|0)){F[d+92>>2]=F[e+84>>2];break j}gb(d+56|0,F[e+48>>2],F[e+52>>2]);gb(d+68|0,F[e+60>>2],F[e- -64>>2]);gb(d+80|0,F[e+72>>2],F[e+76>>2]);F[d+92>>2]=F[e+84>>2];k:{h=F[e+92>>2];j=F[e+88>>2];i=h-j|0;e=i>>2;f=F[d+104>>2];g=F[d+96>>2];if(e>>>0<=f-g>>2>>>0){i=F[d+100>>2]-g|0;f=i+j|0;m=i>>2;i=e>>>0>m>>>0?f:h;l=i-j|0;if((i|0)!=(j|0)){pa(g,j,l)}if(e>>>0>m>>>0){e=F[d+100>>2];if((h|0)!=(i|0)){while(1){F[e>>2]=F[f>>2];e=e+4|0;f=f+4|0;if((h|0)!=(f|0)){continue}break}}F[d+100>>2]=e;break k}F[d+100>>2]=g+l;break k}if(g){F[d+100>>2]=g;ja(g);F[d+104>>2]=0;F[d+96>>2]=0;F[d+100>>2]=0;f=0}l:{if((i|0)<0){break l}g=f>>>1|0;e=f>>>0>=2147483644?1073741823:e>>>0>>0?g:e;if(e>>>0>=1073741824){break l}f=e<<2;e=ka(f);F[d+96>>2]=e;F[d+104>>2]=e+f;if((h|0)!=(j|0)){f=e;e=(i-4&-4)+4|0;e=la(f,j,e)+e|0}F[d+100>>2]=e;break k}na();v()}}F[c+8>>2]=9136;e=F[c+96>>2];if(e){F[c+100>>2]=e;ja(e)}e=F[c+80>>2];if(e){F[c+84>>2]=e;ja(e)}e=F[c+68>>2];if(e){F[c+72>>2]=e;ja(e)}e=F[c+56>>2];if(e){F[c+60>>2]=e;ja(e)}F[c+8>>2]=9372;e=F[c+44>>2];if(e){ja(e)}e=F[c+32>>2];if(e){ja(e)}Z=c+112|0;break d}if((l|0)>=0){break f}break a}if((l|0)<0){break a}}e=F[a+216>>2];c=F[m+44>>2];d=ka(80);F[d>>2]=9684;F[d+4>>2]=0;F[d+76>>2]=0;F[d+68>>2]=c;F[d+8>>2]=8624;F[d+12>>2]=0;F[d+16>>2]=0;F[d+20>>2]=0;F[d+24>>2]=0;F[d+28>>2]=0;F[d+32>>2]=0;F[d+36>>2]=0;F[d+40>>2]=0;F[d+44>>2]=0;F[d+48>>2]=0;F[d+52>>2]=0;e=e+L(h,144)|0;f=e+104|0;F[d+72>>2]=f;F[d- -64>>2]=0;F[d+56>>2]=0;F[d+60>>2]=0;F[n+24>>2]=c;c=n;F[c+68>>2]=0;F[c+72>>2]=0;F[c+60>>2]=0;F[c+64>>2]=0;F[c+52>>2]=0;F[c+56>>2]=0;F[c+44>>2]=0;F[c+48>>2]=0;F[c+84>>2]=0;F[c+88>>2]=0;F[c+76>>2]=0;F[c+80>>2]=0;F[c+28>>2]=d;g=F[c+28>>2];F[c+8>>2]=F[c+24>>2];F[c+12>>2]=g;F[c+20>>2]=f;f=e+4|0;F[c+16>>2]=f;F[c+36>>2]=0;F[c+40>>2]=0;F[c+32>>2]=8624;e=F[c+20>>2];F[c>>2]=F[c+16>>2];F[c+4>>2]=e;e=c+32|0;Fd(e,f,c);c=d+8|0;lc(c,e);if((c|0)!=(e|0)){gb(d+56|0,F[e+48>>2],F[e+52>>2])}Ed(e);break c}c=Z+-64|0;Z=c;g=F[F[a+4>>2]+44>>2];d=ka(80);F[d>>2]=9392;F[d+4>>2]=0;F[d+76>>2]=0;F[d+72>>2]=e;F[d+68>>2]=g;F[d+8>>2]=9556;F[d+12>>2]=0;F[d+16>>2]=0;F[d+20>>2]=0;F[d+24>>2]=0;F[d+28>>2]=0;F[d+32>>2]=0;F[d+36>>2]=0;F[d+40>>2]=0;F[d+44>>2]=0;F[d+48>>2]=0;F[d+52>>2]=0;F[d- -64>>2]=0;j=d+56|0;f=j;F[f>>2]=0;F[f+4>>2]=0;f=F[a+8>>2];F[c+40>>2]=0;F[c+44>>2]=0;F[c+32>>2]=0;F[c+36>>2]=0;h=c+24|0;F[h>>2]=0;F[h+4>>2]=0;F[c+16>>2]=0;F[c+20>>2]=0;F[c+56>>2]=0;F[c+8>>2]=0;F[c+12>>2]=0;F[c+48>>2]=0;F[c+52>>2]=0;F[c>>2]=9556;F[c+4>>2]=f;i=F[f>>2];l=F[f+4>>2];D[c+63|0]=0;k=h;h=c+63|0;Ea(k,(l-i>>2>>>0)/3|0,h);i=F[c+4>>2];l=F[i+28>>2];i=F[i+24>>2];D[c+63|0]=0;Ea(c+36|0,l-i>>2,h);F[c+20>>2]=d;F[c+16>>2]=g;F[c+12>>2]=e;F[c+8>>2]=f;lc(d+8|0,c);gb(j,F[c+48>>2],F[c+52>>2]);F[c>>2]=9556;e=F[c+48>>2];if(e){F[c+52>>2]=e;ja(e)}F[c>>2]=9372;e=F[c+36>>2];if(e){ja(e)}e=F[c+24>>2];if(e){ja(e)}Z=c- -64|0}if(!d){break a}}d=yc(ka(64),d);c=F[a+4>>2];a=d;d=b;m:{n:{if((d|0)>=0){g=c+8|0;b=F[c+12>>2];j=F[c+8>>2];e=b-j>>2;o:{if((e|0)>(d|0)){break o}f=d+1|0;if(d>>>0>=e>>>0){Pb(g,f-e|0);break o}if(e>>>0<=f>>>0){break o}f=j+(f<<2)|0;if((f|0)!=(b|0)){while(1){b=b-4|0;e=F[b>>2];F[b>>2]=0;if(e){$[F[F[e>>2]+4>>2]](e)}if((b|0)!=(f|0)){continue}break}}F[c+12>>2]=f}c=F[g>>2]+(d<<2)|0;b=F[c>>2];F[c>>2]=a;if(b){break n}break m}b=a;if(!a){break m}}$[F[F[b>>2]+4>>2]](b)}q=(d^-1)>>>31|0}Z=n+96|0;return q|0}function Ab(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=M(0),n=M(0),o=0;a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=D[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=H[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=E[b>>1];if((e|0)<0){break b}E[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(e+32768>>>0>65535){break b}E[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(e>>>0>32767){break b}E[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=F[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=F[b+4>>2];e=F[b>>2];i=e+32768|0;h=i>>>0<32768?h+1|0:h;if(!h&i>>>0>65535|h){break b}E[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=F[b+4>>2];e=F[b>>2];if(!k&e>>>0>32767|k){break b}E[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=F[a>>2];j=F[e>>2];g=j;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-j|0;if(!G[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(32767)|m>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(32767)|mM(1)){break d}e=(b<<1)+d|0;l=R(+m*32767+.5);f:{if(N(l)<2147483648){i=~~l;break f}i=-2147483648}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}ma((e<<1)+d|0,0,c-e<<1)}return j;case 9:g:{h:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=F[a>>2];j=F[e>>2];g=j;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-j|0;if(!G[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=K[g>>3];if(l>=32767|l<-32768|l!=l){break g}o=N(l);if(o==Infinity){break g}e=(b<<1)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=K[g>>3];if(l>=32767|l<-32768|(N(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<1)+d|0;l=R(l*32767+.5);i:{if(N(l)<2147483648){i=~~l;break i}i=-2147483648}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}ma((e<<1)+d|0,0,c-e<<1)}return j;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}ma((e<<1)+d|0,0,(c&255)-e<<1)}return j}ma((e<<1)+d|0,0,(c&255)-e<<1);return 1}function yb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=M(0),n=M(0),o=0;a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=D[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=E[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=H[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=F[b>>2];b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=F[b>>2];if((e|0)<0){break b}F[(g<<2)+d>>2]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=F[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=F[b+4>>2];e=F[b>>2];if(e- -2147483648>>>0<2147483648?h+1|0:h){break b}F[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=F[b+4>>2];e=F[b>>2];if(!k&e>>>0>2147483647|k){break b}F[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=F[a>>2];j=F[e>>2];g=j;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-j|0;if(!G[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(2147483648)|m>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(2147483648)|mM(1)){break d}e=(b<<2)+d|0;l=R(+m*2147483647+.5);f:{if(N(l)<2147483648){i=~~l;break f}i=-2147483648}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}ma((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=F[a>>2];j=F[e>>2];g=j;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-j|0;if(!G[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=K[g>>3];if(l>=2147483647|l<-2147483648|l!=l){break g}o=N(l);if(o==Infinity){break g}e=(b<<2)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=K[g>>3];if(l>=2147483647|l<-2147483648|(N(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<2)+d|0;l=R(l*2147483647+.5);i:{if(N(l)<2147483648){i=~~l;break i}i=-2147483648}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}ma((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}ma((e<<2)+d|0,0,(c&255)-e<<2)}return j}ma((e<<2)+d|0,0,(c&255)-e<<2);return 1}function zb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=M(0);a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=D[b|0];if((e|0)<0){break b}E[(g<<1)+d>>1]=e&255;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=E[b>>1];if((e|0)<0){break b}E[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=H[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(e>>>0>65535){break b}E[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(e>>>0>65535){break b}E[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=F[b+4>>2];e=F[b>>2];if(!k&e>>>0>65535|k){break b}E[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=F[b+4>>2];e=F[b>>2];if(!k&e>>>0>65535|k){break b}E[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=F[a>>2];l=F[e>>2];g=l;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-l|0;if(!G[a+32|0]){l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(65535)|m=M(0)){i=~~m>>>0}else{i=0}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(65535)|mM(1)){break d}e=(b<<1)+d|0;j=R(+m*65535+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=1;if(c>>>0<=e>>>0){break d}ma((e<<1)+d|0,0,c-e<<1)}return l;case 9:g:{h:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=F[a>>2];l=F[e>>2];g=l;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-l|0;if(!G[a+32|0]){l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=K[g>>3];if(j>=65535|j<0|(N(j)==Infinity|j!=j)){break g}e=(b<<1)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=K[g>>3];if(j>=65535|j<0|(N(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<1)+d|0;j=R(j*65535+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}E[e>>1]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=1;if(c>>>0<=e>>>0){break g}ma((e<<1)+d|0,0,c-e<<1)}return l;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];k=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}E[(g<<1)+d>>1]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}ma((e<<1)+d|0,0,(c&255)-e<<1)}return l}ma((e<<1)+d|0,0,(c&255)-e<<1);return 1}function Ga(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=M(0),l=0,m=0,n=M(0),o=0;a:{if(!d){break a}b:{c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=D[b|0];F[e>>2]=i;F[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;F[e>>2]=G[b|0];F[e+4>>2]=0;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=E[b>>1];F[e>>2]=i;F[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;F[e>>2]=H[b>>1];F[e+4>>2]=0;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=F[b>>2];F[e>>2]=i;F[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;F[e>>2]=F[b>>2];F[e+4>>2]=0;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=F[b+4>>2];e=(g<<3)+d|0;F[e>>2]=F[b>>2];F[e+4>>2]=i;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=F[b>>2];i=F[b+4>>2];if((i|0)<0){break a}j=(g<<3)+d|0;F[j>>2]=e;F[j+4>>2]=i;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=G[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break d}if(G[a+32|0]){break a}e=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+e|0;e=F[a>>2];i=F[e+4>>2];e=F[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=J[g>>2];if(k>=M(0x8000000000000000)|k=M(1)?~~(k>M(0)?M(P(M(R(M(k*M(2.3283064365386963e-10)))),M(4294967296))):M(S(M(M(k-M(~~k>>>0>>>0))*M(2.3283064365386963e-10)))))>>>0:0;m=~~k>>>0;break e}j=-2147483648;m=0}F[e>>2]=m;F[e+4>>2]=j;b=b+1|0;e=G[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=G[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break f}if(G[a+32|0]){break a}e=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+e|0;e=F[a>>2];i=F[e+4>>2];e=F[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){l=K[g>>3];if(l>=0x8000000000000000|l<-0x8000000000000000|l!=l){break a}o=N(l);if(o==Infinity){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){j=N(l)>=1?~~(l>0?P(R(l*2.3283064365386963e-10),4294967295):S((l-+(~~l>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~l>>>0;break g}j=-2147483648;m=0}F[e>>2]=m;F[e+4>>2]=j;b=b+1|0;e=G[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;F[e>>2]=G[b|0];F[e+4>>2]=0;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}ma(d,0,a<<3)}}function le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=a;a:{b:{c:{d:{e:{f:{g:{h:{a=F[a+8>>2];switch(F[a+28>>2]-1|0){case 4:break c;case 5:break d;case 2:break e;case 3:break f;case 0:break g;case 1:break h;default:break a}}f=G[a+24|0];c=ka(f);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;D[a+c|0]=F[k>>2];D[(a|1)+c|0]=F[k+4>>2];D[(a|2)+c|0]=F[k+8>>2];D[(a|3)+c|0]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){D[a+c|0]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}f=G[a+24|0];c=ka(f);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;D[a+c|0]=F[k>>2];D[(a|1)+c|0]=F[k+4>>2];D[(a|2)+c|0]=F[k+8>>2];D[(a|3)+c|0]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){D[a+c|0]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}h=G[a+24|0];i=h<<1;c=ka(i);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;E[f+c>>1]=F[k>>2];E[(f|2)+c>>1]=F[k+4>>2];E[(f|4)+c>>1]=F[k+8>>2];E[(f|6)+c>>1]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){E[(a<<1)+c>>1]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=G[a+24|0];i=h<<1;c=ka(i);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;E[f+c>>1]=F[k>>2];E[(f|2)+c>>1]=F[k+4>>2];E[(f|4)+c>>1]=F[k+8>>2];E[(f|6)+c>>1]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){E[(a<<1)+c>>1]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=G[a+24|0];i=h<<2;c=ka(i);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;F[f+c>>2]=F[k>>2];F[(f|4)+c>>2]=F[k+4>>2];F[(f|8)+c>>2]=F[k+8>>2];F[(f|12)+c>>2]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){F[(a<<2)+c>>2]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=G[a+24|0];i=h<<2;c=ka(i);a=F[j+16>>2];if(F[a+80>>2]){g=F[F[a>>2]>>2]+F[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;F[f+c>>2]=F[k>>2];F[(f|4)+c>>2]=F[k+4>>2];F[(f|8)+c>>2]=F[k+8>>2];F[(f|12)+c>>2]=F[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){F[(a<<2)+c>>2]=F[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}la(F[F[F[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;la(a+F[F[F[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}la(F[F[F[j+8>>2]+64>>2]>>2]+a|0,c,i)}ja(c);c=1}return c|0}function xb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=M(0);a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=D[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=E[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=H[b>>1];b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=F[b>>2];b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=F[b>>2];b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(F[b+4>>2]){break b}F[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=F[b>>2];if(F[b+4>>2]){break b}F[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=F[a>>2];k=F[e>>2];g=k;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-k|0;if(!G[a+32|0]){k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(4294967296)|m=M(0)){i=~~m>>>0}else{i=0}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=J[g>>2];if(m>=M(4294967296)|mM(1)){break d}e=(b<<2)+d|0;j=R(+m*4294967295+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=1;if(c>>>0<=e>>>0){break d}ma((e<<2)+d|0,0,c-e<<2)}return k;case 9:g:{h:{e=G[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=F[a>>2];k=F[e>>2];g=k;f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=F[e+4>>2];e=f-k|0;if(!G[a+32|0]){k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=K[g>>3];if(j>=4294967295|j<0|(N(j)==Infinity|j!=j)){break g}e=(b<<2)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=K[g>>3];if(j>=4294967295|j<0|(N(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<2)+d|0;j=R(j*4294967295+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}F[e>>2]=i;b=b+1|0;e=G[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=1;if(c>>>0<=e>>>0){break g}ma((e<<2)+d|0,0,c-e<<2)}return k;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];h=F[e>>2];l=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=F[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}F[(g<<2)+d>>2]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ma((e<<2)+d|0,0,(c&255)-e<<2)}return k}ma((e<<2)+d|0,0,(c&255)-e<<2);return 1}function rd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{if(F[a+92>>2]==F[a+88>>2]){break e}c=F[a+52>>2];f:{if((c|0)!=F[a+56>>2]){F[c>>2]=b;F[a+52>>2]=c+4;break f}h=F[a+48>>2];g=c-h|0;d=g>>2;f=d+1|0;if(f>>>0>=1073741824){break a}e=g>>>1|0;g=g>>>0>=2147483644?1073741823:f>>>0>>0?e:f;if(g){if(g>>>0>=1073741824){break d}e=ka(g<<2)}else{e=0}f=e+(d<<2)|0;F[f>>2]=b;d=f+4|0;if((c|0)!=(h|0)){while(1){f=f-4|0;c=c-4|0;F[f>>2]=F[c>>2];if((c|0)!=(h|0)){continue}break}}F[a+56>>2]=e+(g<<2);F[a+52>>2]=d;F[a+48>>2]=f;if(!h){break f}ja(h)}F[a+84>>2]=0;c=-1;e=-1;g:{if((b|0)==-1){break g}d=F[a+4>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){c=F[F[d>>2]+(e<<2)>>2]}h:{if((b>>>0)%3|0){l=b-1|0;break h}l=b+2|0;e=-1;if((l|0)==-1){break g}}e=F[F[d>>2]+(l<<2)>>2]}i=e>>>3&536870908;d=F[a+36>>2];h=d+(c>>>3&536870908)|0;g=F[h>>2];f=1<>2]=f|g;f=a+8|0;if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}else{d=-1}Ka(f,c,d);d=F[a+36>>2]}f=d+i|0;d=F[f>>2];c=1<>2]=c|d;d=a+8|0;c=-1;i:{if((b|0)==-1){break i}c=b-1|0;if((b>>>0)%3|0){break i}c=b+2|0}Ka(d,e,c)}c=-1;c=(b|0)!=-1?F[F[F[a+4>>2]>>2]+(b<<2)>>2]:c;f=F[a+36>>2]+(c>>>3&536870908)|0;d=F[f>>2];e=1<>2]=d|e;Ka(a+8|0,c,b)}d=F[a+84>>2];if((d|0)>2){break e}while(1){e=L(d,12)+a|0;b=F[e+52>>2];if((b|0)==F[e+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}b=b-4|0;c=F[b>>2];F[e+52>>2]=b;F[a+84>>2]=d;if((c|0)==-1){break e}f=F[a+24>>2];b=(c>>>0)/3|0;j:{if(F[f+(b>>>3&268435452)>>2]>>>b&1){break j}k:{while(1){k=(c>>>0)/3|0;b=(k>>>3&268435452)+f|0;F[b>>2]=F[b>>2]|1<>2]>>2]+(c<<2)>>2]:d;f=F[a+36>>2]+(d>>>3&536870908)|0;e=F[f>>2];b=1<>2]=b|e;i=F[(F[F[a+16>>2]+96>>2]+L(k,12)|0)+((c>>>0)%3<<2)>>2];l=F[F[a+20>>2]+4>>2];f=F[l+4>>2];t:{if((f|0)!=F[l+8>>2]){F[f>>2]=i;F[l+4>>2]=f+4;break t}j=F[l>>2];h=f-j|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break s}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=ka(h<<2)}else{e=0}b=e+(g<<2)|0;F[b>>2]=i;g=b+4|0;if((f|0)!=(j|0)){while(1){b=b-4|0;f=f-4|0;F[b>>2]=F[f>>2];if((f|0)!=(j|0)){continue}break}}F[l+8>>2]=e+(h<<2);F[l+4>>2]=g;F[l>>2]=b;if(!j){break t}ja(j)}j=F[a+12>>2];f=F[j+4>>2];u:{if((f|0)!=F[j+8>>2]){F[f>>2]=c;F[j+4>>2]=f+4;break u}i=F[j>>2];h=f-i|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break r}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=ka(h<<2)}else{e=0}b=e+(g<<2)|0;F[b>>2]=c;g=b+4|0;if((f|0)!=(i|0)){while(1){b=b-4|0;f=f-4|0;F[b>>2]=F[f>>2];if((f|0)!=(i|0)){continue}break}}F[j+8>>2]=e+(h<<2);F[j+4>>2]=g;F[j>>2]=b;if(!i){break u}ja(i)}b=F[a+12>>2];F[F[b+12>>2]+(d<<2)>>2]=F[b+24>>2];F[b+24>>2]=F[b+24>>2]+1}if((c|0)==-1){break k}g=F[a+4>>2];f=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){f=F[F[g+12>>2]+(b<<2)>>2]}v:{w:{if((L(k,3)|0)!=(c|0)){d=c-1|0;break w}d=c+2|0;c=-1;if((d|0)==-1){break v}}c=F[F[g+12>>2]+(d<<2)>>2]}d=(c|0)==-1;e=(c>>>0)/3|0;if((f|0)!=-1){b=(f>>>0)/3|0;b=F[F[a+24>>2]+(b>>>3&268435452)>>2]&1<>2]+(b>>>3&536870908)>>2]>>>b&1){break x}k=0;b=F[F[g>>2]+(c<<2)>>2];if(!(F[F[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=F[a+88>>2]+(b<<2)|0;e=F[b>>2];F[b>>2]=e+1;k=(e|0)<=0?2:1}if(F[a+84>>2]>=(k|0)&l){break m}j=L(k,12)+a|0;b=F[j+52>>2];y:{if((b|0)!=F[j+56>>2]){F[b>>2]=c;F[j+52>>2]=b+4;break y}i=F[j+48>>2];h=b-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break c}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=ka(g<<2)}else{e=0}d=e+(d<<2)|0;F[d>>2]=c;c=d+4|0;if((b|0)!=(i|0)){while(1){d=d-4|0;b=b-4|0;F[d>>2]=F[b>>2];if((b|0)!=(i|0)){continue}break}}F[j+48>>2]=d;F[j+52>>2]=c;F[j+56>>2]=e+(g<<2);if(!i){break y}ja(i)}if(F[a+84>>2]<=(k|0)){break x}F[a+84>>2]=k}if(l){break k}c=-1;if((f|0)==-1){break n}}c=F[F[F[a+4>>2]>>2]+(f<<2)>>2]}b=0;if(!(F[F[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){b=F[a+88>>2]+(c<<2)|0;c=F[b>>2];F[b>>2]=c+1;b=(c|0)<=0?2:1}if(F[a+84>>2]<(b|0)){break l}c=f}f=F[a+24>>2];continue}break}k=L(b,12)+a|0;c=F[k+52>>2];z:{if((c|0)!=F[k+56>>2]){F[c>>2]=f;F[k+52>>2]=c+4;break z}i=F[k+48>>2];h=c-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break b}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=ka(g<<2)}else{e=0}d=e+(d<<2)|0;F[d>>2]=f;f=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;F[d>>2]=F[c>>2];if((c|0)!=(i|0)){continue}break}}F[k+48>>2]=d;F[k+52>>2]=f;F[k+56>>2]=e+(g<<2);if(!i){break z}ja(i)}d=F[a+84>>2];if((d|0)<=(b|0)){break j}F[a+84>>2]=b;d=b;break j}d=F[a+84>>2]}if((d|0)<3){continue}break}}return 1}oa();v()}na();v()}na();v()}na();v()}function Mc(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=Z-16|0;Z=e;F[e+12>>2]=a;a:{if(a>>>0<=211){d=F[Lc(10352,10544,e+12|0)>>2];break a}if(a>>>0>=4294967292){V();v()}f=(a>>>0)/210|0;d=L(f,210);F[e+8>>2]=a-d;g=Lc(10544,10736,e+8|0)-10544>>2;while(1){d=F[(g<<2)+10544>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0>>0){break a}if((L(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((L(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((L(b,c)|0)!=(d|0)){continue}break}break b}b=F[(a<<2)+10352>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((L(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=L(f,210);continue}}Z=e+16|0;return d}function lb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=M(0),k=0,l=0;a:{if(!d){break a}b:{c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(D[b|0]);J[(h<<2)+d>>2]=i?M(j/M(127)):j;b=b+1|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(G[b|0]);J[(h<<2)+d>>2]=i?M(j/M(255)):j;b=b+1|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(E[b>>1]);J[(h<<2)+d>>2]=i?M(j/M(32767)):j;b=b+2|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(H[b>>1]);J[(h<<2)+d>>2]=i?M(j/M(65535)):j;b=b+2|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(F[b>>2]);J[(h<<2)+d>>2]=i?M(j*M(4.656612873077393e-10)):j;b=b+4|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(I[b>>2]);J[(h<<2)+d>>2]=i?M(j*M(2.3283064365386963e-10)):j;b=b+4|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(+I[b>>2]+ +F[b+4>>2]*4294967296);J[(h<<2)+d>>2]=i?M(j*M(10842021724855044e-35)):j;b=b+8|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];i=G[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=M(+I[b>>2]+ +I[b+4>>2]*4294967296);J[(h<<2)+d>>2]=i?M(j*M(5.421010862427522e-20)):j;b=b+8|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 8:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}J[(h<<2)+d>>2]=J[b>>2];b=b+4|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 9:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}J[(h<<2)+d>>2]=K[b>>3];b=b+8|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[a>>2];g=F[e>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=F[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}J[(h<<2)+d>>2]=G[b|0]?M(1):M(0);b=b+1|0;h=h+1|0;e=G[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0}ma(d,0,a<<2)}return l}function Cb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=M(0),m=M(0);a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}D[d+g|0]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){return 0}e=D[b|0];if((e|0)<0){break b}D[d+g|0]=e;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>1];if((e+128&65535)>>>0>255){break b}D[d+g|0]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>1];if(e>>>0>127){break b}D[d+g|0]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=F[b>>2];if(e+128>>>0>255){break b}D[d+g|0]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=F[b>>2];if(e>>>0>127){break b}D[d+g|0]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}i=F[b+4>>2];e=F[b>>2];h=e+128|0;i=h>>>0<128?i+1|0:i;if(!i&h>>>0>255|i){break b}D[d+g|0]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}i=F[b+4>>2];e=F[b>>2];if(!i&e>>>0>127|i){break b}D[d+g|0]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=G[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=F[F[a>>2]>>2];f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break d}l=J[b>>2];if(l>=M(127)|lM(1)){break d}j=R(+l*127+.5);if(!(N(j)<2147483648)){break f}h=~~j;break e}if(!(m>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}ma(d+e|0,0,c-e|0)}return k;case 9:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}j=K[b>>3];if(j>=127|j<-128|(N(j)==Infinity|j!=j)){break b}e=d+g|0;if(G[a+32|0]){if(j<0|j>1){break b}j=R(j*127+.5)}g:{if(N(j)<2147483648){h=~~j;break g}h=-2147483648}D[e|0]=h;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}D[d+g|0]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ma(d+e|0,0,(c&255)-e|0)}return k}ma(d+e|0,0,(c&255)-e|0);return 1}function Bb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=M(0);a:{b:{if(!d){break b}c:{switch(F[a+28>>2]-1|0){case 0:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){return 0}e=D[b|0];if((e|0)<0){break b}D[d+g|0]=e;b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}D[d+g|0]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>1];if(e>>>0>255){break b}D[d+g|0]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=H[b>>1];if(e>>>0>255){break b}D[d+g|0]=e;b=b+2|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=F[b>>2];if(e>>>0>255){break b}D[d+g|0]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}e=F[b>>2];if(e>>>0>255){break b}D[d+g|0]=e;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}i=F[b+4>>2];e=F[b>>2];if(!i&e>>>0>255|i){break b}D[d+g|0]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}i=F[b+4>>2];e=F[b>>2];if(!i&e>>>0>255|i){break b}D[d+g|0]=e;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=G[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=F[F[a>>2]>>2];f=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break d}l=J[b>>2];if(l>=M(255)|lM(1)){break d}j=R(+l*255+.5);if(!(j<4294967296&j>=0)){break f}h=~~j>>>0;break e}if(!(l=M(0))){break f}h=~~l>>>0;break e}h=0}D[e|0]=h;b=b+4|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}ma(d+e|0,0,c-e|0)}return k;case 9:e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}j=K[b>>3];if(j>=255|j<0|(N(j)==Infinity|j!=j)){break b}e=d+g|0;if(G[a+32|0]){if(j>1){break b}j=R(j*255+.5)}g:{if(j<4294967296&j>=0){h=~~j>>>0;break g}h=0}D[e|0]=h;b=b+8|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=G[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=F[F[a>>2]>>2];i=F[a+48>>2];b=ki(F[a+40>>2],F[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(I[F[a>>2]+4>>2]<=b>>>0){break b}D[d+g|0]=G[b|0];b=b+1|0;g=g+1|0;e=G[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}ma(d+e|0,0,(c&255)-e|0)}return k}ma(d+e|0,0,(c&255)-e|0);return 1}function jc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=Z-48|0;Z=e;f=H[5053]|H[5054]<<16;d=H[5051]|H[5052]<<16;E[e+38>>1]=d;E[e+40>>1]=d>>>16;E[e+42>>1]=f;E[e+44>>1]=f>>>16;d=F[2525];F[e+32>>2]=F[2524];F[e+36>>2]=d;d=F[2523];F[e+24>>2]=F[2522];F[e+28>>2]=d;d=F[2521];F[e+16>>2]=F[2520];F[e+20>>2]=d;g=F[b+8>>2];i=F[b+12>>2];h=F[b+20>>2];d=F[b+16>>2];f=d+5|0;h=f>>>0<5?h+1|0:h;a:{b:{if(g>>>0>>0&(h|0)>=(i|0)|(h|0)>(i|0)){d=ya(e+16|0);if(d>>>0>=2147483632){break a}c:{d:{if(d>>>0>=11){b=(d|15)+1|0;c=ka(b);F[e+8>>2]=b|-2147483648;F[e>>2]=c;F[e+4>>2]=d;b=c+d|0;break d}D[e+11|0]=d;b=d+e|0;c=e;if(!d){break c}}la(c,e+16|0,d)}D[b|0]=0;F[a>>2]=-2;b=a+4|0;if(D[e+11|0]>=0){a=F[e+4>>2];F[b>>2]=F[e>>2];F[b+4>>2]=a;F[b+8>>2]=F[e+8>>2];break b}ra(b,F[e>>2],F[e+4>>2]);if(D[e+11|0]>=0){break b}ja(F[e>>2]);break b}f=d+F[b>>2]|0;d=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[c|0]=d;D[c+1|0]=d>>>8;D[c+2|0]=d>>>16;D[c+3|0]=d>>>24;D[c+4|0]=G[f+4|0];d=F[b+20>>2];f=F[b+16>>2]+5|0;d=f>>>0<5?d+1|0:d;F[b+16>>2]=f;F[b+20>>2]=d;if(sa(c,1250,5)){d=ka(32);D[d+17|0]=0;D[d+16|0]=G[1494];c=G[1490]|G[1491]<<8|(G[1492]<<16|G[1493]<<24);b=G[1486]|G[1487]<<8|(G[1488]<<16|G[1489]<<24);D[d+8|0]=b;D[d+9|0]=b>>>8;D[d+10|0]=b>>>16;D[d+11|0]=b>>>24;D[d+12|0]=c;D[d+13|0]=c>>>8;D[d+14|0]=c>>>16;D[d+15|0]=c>>>24;c=G[1482]|G[1483]<<8|(G[1484]<<16|G[1485]<<24);b=G[1478]|G[1479]<<8|(G[1480]<<16|G[1481]<<24);D[d|0]=b;D[d+1|0]=b>>>8;D[d+2|0]=b>>>16;D[d+3|0]=b>>>24;D[d+4|0]=c;D[d+5|0]=c>>>8;D[d+6|0]=c>>>16;D[d+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,d,17);ja(d);break b}g=F[b+12>>2];if((g|0)<=(d|0)&I[b+8>>2]<=f>>>0|(d|0)>(g|0)){d=ya(e+16|0);if(d>>>0>=2147483632){break a}e:{f:{if(d>>>0>=11){b=(d|15)+1|0;c=ka(b);F[e+8>>2]=b|-2147483648;F[e>>2]=c;F[e+4>>2]=d;b=c+d|0;break f}D[e+11|0]=d;b=d+e|0;c=e;if(!d){break e}}la(c,e+16|0,d)}D[b|0]=0;F[a>>2]=-2;b=a+4|0;if(D[e+11|0]>=0){a=F[e+4>>2];F[b>>2]=F[e>>2];F[b+4>>2]=a;F[b+8>>2]=F[e+8>>2];break b}ra(b,F[e>>2],F[e+4>>2]);if(D[e+11|0]>=0){break b}ja(F[e>>2]);break b}D[c+5|0]=G[f+F[b>>2]|0];g=F[b+20>>2];d=F[b+16>>2]+1|0;g=d?g:g+1|0;F[b+16>>2]=d;F[b+20>>2]=g;f=F[b+12>>2];if((f|0)<=(g|0)&I[b+8>>2]<=d>>>0|(g|0)>(f|0)){d=ya(e+16|0);if(d>>>0>=2147483632){break a}g:{h:{if(d>>>0>=11){b=(d|15)+1|0;c=ka(b);F[e+8>>2]=b|-2147483648;F[e>>2]=c;F[e+4>>2]=d;b=c+d|0;break h}D[e+11|0]=d;b=d+e|0;c=e;if(!d){break g}}la(c,e+16|0,d)}D[b|0]=0;F[a>>2]=-2;b=a+4|0;if(D[e+11|0]>=0){a=F[e+4>>2];F[b>>2]=F[e>>2];F[b+4>>2]=a;F[b+8>>2]=F[e+8>>2];break b}ra(b,F[e>>2],F[e+4>>2]);if(D[e+11|0]>=0){break b}ja(F[e>>2]);break b}D[c+6|0]=G[d+F[b>>2]|0];h=F[b+20>>2];d=F[b+16>>2]+1|0;h=d?h:h+1|0;F[b+16>>2]=d;F[b+20>>2]=h;f=F[b+12>>2];if((f|0)<=(h|0)&I[b+8>>2]<=d>>>0|(f|0)<(h|0)){d=ya(e+16|0);if(d>>>0>=2147483632){break a}i:{j:{if(d>>>0>=11){b=(d|15)+1|0;c=ka(b);F[e+8>>2]=b|-2147483648;F[e>>2]=c;F[e+4>>2]=d;b=c+d|0;break j}D[e+11|0]=d;b=d+e|0;c=e;if(!d){break i}}la(c,e+16|0,d)}D[b|0]=0;F[a>>2]=-2;b=a+4|0;if(D[e+11|0]>=0){a=F[e+4>>2];F[b>>2]=F[e>>2];F[b+4>>2]=a;F[b+8>>2]=F[e+8>>2];break b}ra(b,F[e>>2],F[e+4>>2]);if(D[e+11|0]>=0){break b}ja(F[e>>2]);break b}D[c+7|0]=G[d+F[b>>2]|0];g=F[b+20>>2];d=F[b+16>>2]+1|0;g=d?g:g+1|0;F[b+16>>2]=d;F[b+20>>2]=g;f=F[b+12>>2];if((f|0)<=(g|0)&I[b+8>>2]<=d>>>0|(g|0)>(f|0)){c=Eb(e,e+16|0);F[a>>2]=-2;b=a+4|0;if(D[c+11|0]>=0){a=F[c+4>>2];F[b>>2]=F[c>>2];F[b+4>>2]=a;F[b+8>>2]=F[c+8>>2];break b}ra(b,F[c>>2],F[c+4>>2]);if(D[c+11|0]>=0){break b}ja(F[c>>2]);break b}D[c+8|0]=G[d+F[b>>2]|0];d=F[b+20>>2];g=F[b+16>>2];f=g+1|0;i=f?d:d+1|0;F[b+16>>2]=f;F[b+20>>2]=i;i=F[b+8>>2];h=F[b+12>>2];g=g+3|0;d=g>>>0<3?d+1|0:d;if(g>>>0>i>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){c=Eb(e,e+16|0);F[a>>2]=-2;b=a+4|0;if(D[c+11|0]>=0){a=F[c+4>>2];F[b>>2]=F[c>>2];F[b+4>>2]=a;F[b+8>>2]=F[c+8>>2];break b}ra(b,F[c>>2],F[c+4>>2]);if(D[c+11|0]>=0){break b}ja(F[c>>2]);break b}d=c;c=F[b>>2]+f|0;E[d+10>>1]=G[c|0]|G[c+1|0]<<8;g=F[b+20>>2];c=F[b+16>>2]+2|0;g=c>>>0<2?g+1|0:g;F[b+16>>2]=c;F[b+20>>2]=g;F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+4>>2]=0}Z=e+48|0;return}za();v()}function Mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0;e=Z-96|0;Z=e;f=F[a+16>>2];D[e+92|0]=1;F[e+88>>2]=b;F[e+84>>2]=b;F[e+80>>2]=f;j=F[a+20>>2];d=F[j>>2];a:{b:{f=F[F[f+28>>2]+(b<<2)>>2];if(f>>>0>2]-d>>2>>>0){d=F[F[a+8>>2]+(F[d+(f<<2)>>2]<<2)>>2];f=F[a+4>>2];if(!G[f+84|0]){d=F[F[f+68>>2]+(d<<2)>>2]}F[e+72>>2]=0;F[e+76>>2]=0;j=e- -64|0;F[j>>2]=0;F[j+4>>2]=0;F[e+56>>2]=0;F[e+60>>2]=0;Ga(f,d,D[f+24|0],e+56|0);if((b|0)!=-1){f=b+1|0;j=(f>>>0)%3|0?f:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;while(1){d=j;f=m;c:{if(!F[a+28>>2]){break c}f=b+1|0;d=(f>>>0)%3|0?f:b-2|0;f=b-1|0;if((b>>>0)%3|0){break c}f=b+2|0}n=F[a+20>>2];b=F[n>>2];d=F[F[F[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=F[n+4>>2]-b>>2>>>0){break b}d=F[F[a+8>>2]+(F[b+(d<<2)>>2]<<2)>>2];b=F[a+4>>2];if(!G[b+84|0]){d=F[F[b+68>>2]+(d<<2)>>2]}F[e+48>>2]=0;F[e+52>>2]=0;F[e+40>>2]=0;F[e+44>>2]=0;F[e+32>>2]=0;F[e+36>>2]=0;Ga(b,d,D[b+24|0],e+32|0);d=F[a+20>>2];b=F[d>>2];f=F[F[F[a+16>>2]+28>>2]+(f<<2)>>2];if(f>>>0>=F[d+4>>2]-b>>2>>>0){break a}d=F[F[a+8>>2]+(F[b+(f<<2)>>2]<<2)>>2];b=F[a+4>>2];if(!G[b+84|0]){d=F[F[b+68>>2]+(d<<2)>>2]}F[e+24>>2]=0;F[e+28>>2]=0;F[e+16>>2]=0;F[e+20>>2]=0;F[e+8>>2]=0;F[e+12>>2]=0;Ga(b,d,D[b+24|0],e+8|0);g=F[e+8>>2];b=F[e+56>>2];d=g-b|0;p=F[e+60>>2];t=F[e+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=F[e+40>>2];f=F[e+64>>2];n=h-f|0;u=F[e+68>>2];y=F[e+44>>2]-(u+(f>>>0>h>>>0)|0)|0;g=ki(d,t,n,y);w=o-g|0;x=i-(_+(g>>>0>o>>>0)|0)|0;i=w;h=F[e+16>>2];g=h-f|0;u=F[e+20>>2]-((f>>>0>h>>>0)+u|0)|0;k=F[e+32>>2];h=k-b|0;w=F[e+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=ki(g,u,h,w);o=i+b|0;i=_+x|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=d;p=t;k=F[e+48>>2];f=F[e+72>>2];d=k-f|0;t=F[e+76>>2];x=F[e+52>>2]-(t+(f>>>0>k>>>0)|0)|0;l=ki(l,p,d,x);k=b+l|0;b=_+q|0;b=k>>>0>>0?b+1|0:b;l=F[e+24>>2];p=l-f|0;f=F[e+28>>2]-((f>>>0>l>>>0)+t|0)|0;q=ki(p,f,h,w);l=k-q|0;q=b-(_+(k>>>0>>0)|0)|0;b=ki(g,u,d,x);d=r-b|0;b=s-(_+(b>>>0>r>>>0)|0)|0;s=ki(p,f,n,y);r=s+d|0;b=_+b|0;s=r>>>0>>0?b+1|0:b;b=F[e+88>>2];f=F[e+80>>2];d:{if(G[e+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|F[F[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=F[F[F[f+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}F[e+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;F[e+88>>2]=b;if((b|0)!=-1){break e}}b=F[e+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(F[F[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=F[F[F[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}D[e+92|0]=0;F[e+88>>2]=d;break d}if((b|0)!=F[e+84>>2]){break d}F[e+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(F[F[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=F[F[F[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}F[e+88>>2]=d}b=F[e+88>>2];if((b|0)!=-1){continue}break}}b=s>>31;f=b^r;d=f-b|0;b=(b^s)-((b>>>0>f>>>0)+b|0)|0;m=-1;f=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;m:{n:{if(!F[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break m}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;f=a;g=i;a=g>>31;d=a;m=d^o;a=m-d|0;i=a;d=(d^g)-((d>>>0>m>>>0)+d|0)|0;a=a+f|0;d=d^2147483647;i=(d|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>d>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break o}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=i;d=i>>31;h=d^o;i=h-d|0;j=(d^k)-((d>>>0>h>>>0)+d|0)|0;g=j^2147483647;d=a;a=i;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break o}b=b+j|0;m=a+d|0;b=m>>>0>>0?b+1|0:b;f=b;if(!b&m>>>0<536870913){break m}}b=f>>>29|0;a=(f&536870911)<<3|m>>>29}o=li(o,n,a,b);l=li(l,q,a,b);r=li(r,s,a,b)}F[c+8>>2]=o;F[c+4>>2]=l;F[c>>2]=r;Z=e+96|0;return}ta();v()}ta();v()}ta();v()}function Jg(a){a=a|0;var 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;e=Z-32|0;Z=e;a:{if(!hb(1,e+28|0,F[a+32>>2])){break a}if(!hb(1,e+24|0,F[a+32>>2])){break a}l=F[e+28>>2];if(l>>>0>1431655765){break a}d=F[a+32>>2];c=d;g=F[c+8>>2];b=F[c+16>>2];f=F[c+12>>2];c=F[c+20>>2];i=li(g-b|0,f-(c+(b>>>0>g>>>0)|0)|0,3,0);if(!_&i>>>0>>0|((c|0)>=(f|0)&b>>>0>=g>>>0|(c|0)>(f|0))){break a}g=G[b+F[d>>2]|0];b=b+1|0;c=b?c:c+1|0;F[d+16>>2]=b;F[d+20>>2]=c;b:{c:{if(!g){c=Z-32|0;Z=c;F[c+24>>2]=0;F[c+16>>2]=0;F[c+20>>2]=0;d:{e:{b=L(l,3);if(b){if(b>>>0>=1073741824){break e}d=L(l,12);n=ka(d);ma(n,0,d)}b=mc(b,1,F[a+32>>2],n);f:{g:{if(!(!l|!b)){d=0;while(1){h:{g=F[(d<<2)+n>>2];b=g>>>1|0;i:{if(g&1){if((b|0)>(h|0)){break h}b=0-b|0;break i}if((h^2147483647)>>>0>>0){break h}}g=b+h|0;F[c>>2]=g;h=F[(d+1<<2)+n>>2];b=h>>>1|0;j:{if(h&1){if((b|0)>(g|0)){break h}b=0-b|0;break j}if((g^2147483647)>>>0>>0){break h}}g=b+g|0;F[c+4>>2]=g;h=F[(d+2<<2)+n>>2];b=h>>>1|0;k:{if(h&1){if((b|0)>(g|0)){break h}b=0-b|0;break k}if((g^2147483647)>>>0>>0){break h}}d=d+3|0;h=b+g|0;F[c+8>>2]=h;mb(F[a+44>>2]+96|0,c);b=1;j=j+1|0;if((j|0)!=(l|0)){continue}break g}break}b=0;break g}if(!n){break f}}ja(n)}Z=c+32|0;break d}na();v()}if(!b){break a}n=F[e+24>>2];break c}n=F[e+24>>2];if(n>>>0<=255){if(!l){break c}while(1){l:{F[e+16>>2]=0;F[e+8>>2]=0;F[e+12>>2]=0;d=F[a+32>>2];b=d;g=F[b+16>>2];f=F[b+8>>2];c=F[b+20>>2];i=F[b+12>>2];b=i;if(f>>>0<=g>>>0&(c|0)>=(b|0)|(b|0)<(c|0)){break l}j=F[d>>2];m=G[j+g|0];b=c;h=g+1|0;b=h?b:b+1|0;F[d+16>>2]=h;F[d+20>>2]=b;F[e+8>>2]=m;m=f>>>0>>0&(c|0)>=(i|0)|(c|0)>(i|0);f=m?g:f;i=m?c:i;if((f|0)==(h|0)&(i|0)==(b|0)){break l}m=G[h+j|0];b=c;h=g+2|0;b=h>>>0<2?b+1|0:b;F[d+16>>2]=h;F[d+20>>2]=b;F[e+12>>2]=m;if((f|0)==(h|0)&(b|0)==(i|0)){break l}h=G[h+j|0];b=c;c=g+3|0;b=c>>>0<3?b+1|0:b;F[d+16>>2]=c;F[d+20>>2]=b;F[e+16>>2]=h;mb(F[a+44>>2]+96|0,e+8|0);k=k+1|0;if((k|0)!=(l|0)){continue}break c}break}k=0;break a}if(n>>>0<=65535){if(!l){break c}while(1){m:{F[e+16>>2]=0;F[e+8>>2]=0;F[e+12>>2]=0;j=F[a+32>>2];b=j;c=F[b+8>>2];d=F[b+12>>2];h=F[b+16>>2];b=F[b+20>>2];g=b;f=h+2|0;b=f>>>0<2?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break m}m=F[j>>2];i=m+h|0;i=G[i|0]|G[i+1|0]<<8;F[j+16>>2]=f;F[j+20>>2]=b;F[e+8>>2]=i;b=g;i=h+4|0;b=i>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break m}f=f+m|0;f=G[f|0]|G[f+1|0]<<8;F[j+16>>2]=i;F[j+20>>2]=b;F[e+12>>2]=f;f=c;b=g;c=h+6|0;b=c>>>0<6?b+1|0:b;if(c>>>0>f>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break m}d=i+m|0;d=G[d|0]|G[d+1|0]<<8;F[j+16>>2]=c;F[j+20>>2]=b;F[e+16>>2]=d;mb(F[a+44>>2]+96|0,e+8|0);k=k+1|0;if((k|0)!=(l|0)){continue}break c}break}k=0;break a}n:{if(n>>>0>2097151){break n}b=H[a+36>>1];if(((b<<8|b>>>8)&65535)>>>0<514){break n}if(!l){break c}while(1){o:{F[e+16>>2]=0;F[e+8>>2]=0;F[e+12>>2]=0;if(!hb(1,e+4|0,F[a+32>>2])){break o}F[e+8>>2]=F[e+4>>2];if(!hb(1,e+4|0,F[a+32>>2])){break o}F[e+12>>2]=F[e+4>>2];if(!hb(1,e+4|0,F[a+32>>2])){break o}F[e+16>>2]=F[e+4>>2];mb(F[a+44>>2]+96|0,e+8|0);k=k+1|0;if((k|0)!=(l|0)){continue}break c}break}k=0;break a}if(!l){break c}while(1){F[e+16>>2]=0;F[e+8>>2]=0;F[e+12>>2]=0;j=F[a+32>>2];b=j;c=F[b+8>>2];d=F[b+12>>2];h=F[b+16>>2];b=F[b+20>>2];g=b;f=h+4|0;b=f>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break b}m=F[j>>2];i=m+h|0;i=G[i|0]|G[i+1|0]<<8|(G[i+2|0]<<16|G[i+3|0]<<24);F[j+16>>2]=f;F[j+20>>2]=b;F[e+8>>2]=i;b=g;i=h+8|0;b=i>>>0<8?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break b}f=f+m|0;f=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);F[j+16>>2]=i;F[j+20>>2]=b;F[e+12>>2]=f;f=c;b=g;c=h+12|0;b=c>>>0<12?b+1|0:b;if(c>>>0>f>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break b}d=i+m|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[j+16>>2]=c;F[j+20>>2]=b;F[e+16>>2]=d;mb(F[a+44>>2]+96|0,e+8|0);k=k+1|0;if((k|0)!=(l|0)){continue}break}}F[F[a+4>>2]+80>>2]=n;k=1;break a}k=0}Z=e+32|0;return k|0}function te(a){a=a|0;var 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,q=0,r=0;g=Z-16|0;Z=g;f=1;m=$[F[F[a>>2]+24>>2]](a)|0;a:{if((m|0)<=0){break a}r=a+48|0;f=0;while(1){b:{c:{if(!F[($[F[F[a>>2]+28>>2]](a)|0)+40>>2]){break c}o=l<<2;d=F[o+F[a+36>>2]>>2];c=F[d+8>>2];e=bb(d);if(!e){break c}h=F[($[F[F[a>>2]+28>>2]](a)|0)+40>>2];F[g+12>>2]=F[c+56>>2];d=ka(32);F[g>>2]=d;F[g+4>>2]=24;F[g+8>>2]=-2147483616;c=G[1196]|G[1197]<<8|(G[1198]<<16|G[1199]<<24);b=G[1192]|G[1193]<<8|(G[1194]<<16|G[1195]<<24);D[d+16|0]=b;D[d+17|0]=b>>>8;D[d+18|0]=b>>>16;D[d+19|0]=b>>>24;D[d+20|0]=c;D[d+21|0]=c>>>8;D[d+22|0]=c>>>16;D[d+23|0]=c>>>24;c=G[1188]|G[1189]<<8|(G[1190]<<16|G[1191]<<24);b=G[1184]|G[1185]<<8|(G[1186]<<16|G[1187]<<24);D[d+8|0]=b;D[d+9|0]=b>>>8;D[d+10|0]=b>>>16;D[d+11|0]=b>>>24;D[d+12|0]=c;D[d+13|0]=c>>>8;D[d+14|0]=c>>>16;D[d+15|0]=c>>>24;c=G[1180]|G[1181]<<8|(G[1182]<<16|G[1183]<<24);b=G[1176]|G[1177]<<8|(G[1178]<<16|G[1179]<<24);D[d|0]=b;D[d+1|0]=b>>>8;D[d+2|0]=b>>>16;D[d+3|0]=b>>>24;D[d+4|0]=c;D[d+5|0]=c>>>8;D[d+6|0]=c>>>16;D[d+7|0]=c>>>24;D[d+24|0]=0;c=h+16|0;b=F[c>>2];d:{e:{if(!b){break e}i=F[g+12>>2];d=c;while(1){k=(i|0)>F[b+16>>2];d=k?d:b;b=F[(k?b+4|0:b)>>2];if(b){continue}break}if((c|0)==(d|0)|(i|0)>2]){break e}b=F[d+24>>2];if(!b){break e}i=d+20|0;d=G[g+11|0];c=d<<24>>24<0;k=c?F[g>>2]:g;d=c?F[g+4>>2]:d;while(1){c=G[b+27|0];j=c<<24>>24<0;c=j?F[b+20>>2]:c;p=c>>>0>>0;f:{g:{h:{i:{j:{k:{n=p?c:d;if(n){j=j?F[b+16>>2]:b+16|0;q=sa(k,j,n);if(q){break k}if(c>>>0<=d>>>0){break j}break f}if(c>>>0<=d>>>0){break i}break f}if((q|0)<0){break f}}c=sa(j,k,n);if(c){break h}}if(p){break g}d=gc(i,g);break d}if((c|0)<0){break g}d=gc(i,g);break d}b=b+4|0}b=F[b>>2];if(b){continue}break}}d=gc(h,g)}if(D[g+11|0]<0){ja(F[g>>2])}if(!d){break c}d=0;c=F[F[o+F[a+36>>2]>>2]+8>>2];if(!F[c+64>>2]){b=ka(32);F[b+16>>2]=0;F[b+20>>2]=0;F[b+8>>2]=0;F[b>>2]=0;F[b+4>>2]=0;F[b+24>>2]=0;F[b+28>>2]=0;f=F[c+64>>2];F[c+64>>2]=b;if(f){b=F[f>>2];if(b){F[f+4>>2]=b;ja(b)}ja(f);b=F[c+64>>2]}F[c>>2]=b;f=F[b+20>>2];F[c+8>>2]=F[b+16>>2];F[c+12>>2]=f;f=F[b+24>>2];b=F[b+28>>2];F[c+48>>2]=0;F[c+52>>2]=0;F[c+40>>2]=0;F[c+44>>2]=0;F[c+16>>2]=f;F[c+20>>2]=b}l:{D[c+24|0]=G[e+24|0];F[c+28>>2]=F[e+28>>2];D[c+32|0]=G[e+32|0];b=F[e+44>>2];F[c+40>>2]=F[e+40>>2];F[c+44>>2]=b;b=F[e+52>>2];F[c+48>>2]=F[e+48>>2];F[c+52>>2]=b;F[c+56>>2]=F[e+56>>2];b=F[e+12>>2];F[c+8>>2]=F[e+8>>2];F[c+12>>2]=b;b=F[e+20>>2];F[c+16>>2]=F[e+16>>2];F[c+20>>2]=b;F[c+60>>2]=F[e+60>>2];f=F[e>>2];m:{if(!f){F[c>>2]=0;b=1;break m}h=F[c>>2];b=0;if(!h){break m}b=F[f>>2];f=F[f+4>>2]-b|0;md(h,b,f,0);b=1}if(!b){break l}D[c+84|0]=G[e+84|0];F[c+80>>2]=F[e+80>>2];if((c|0)!=(e|0)){gb(c+68|0,F[e+68>>2],F[e+72>>2])}n:{h=F[e+88>>2];o:{if(h){f=ka(40);e=F[h>>2];F[f+16>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;F[f>>2]=e;e=F[h+12>>2];b=F[h+8>>2];if((e|0)!=(b|0)){b=e-b|0;if((b|0)<0){break n}e=ka(b);F[f+12>>2]=e;F[f+8>>2]=e;F[f+16>>2]=b+e;b=F[h+8>>2];i=F[h+12>>2];p:{if((b|0)==(i|0)){break p}k=i+(b^-1)|0;j=i-b&7;if(j){while(1){D[e|0]=G[b|0];e=e+1|0;b=b+1|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}}if(k>>>0<7){break p}while(1){D[e|0]=G[b|0];D[e+1|0]=G[b+1|0];D[e+2|0]=G[b+2|0];D[e+3|0]=G[b+3|0];D[e+4|0]=G[b+4|0];D[e+5|0]=G[b+5|0];D[e+6|0]=G[b+6|0];D[e+7|0]=G[b+7|0];e=e+8|0;b=b+8|0;if((i|0)!=(b|0)){continue}break}}F[f+12>>2]=e}d=F[h+36>>2];F[f+32>>2]=F[h+32>>2];F[f+36>>2]=d;d=F[h+28>>2];F[f+24>>2]=F[h+24>>2];F[f+28>>2]=d;e=F[c+88>>2];F[c+88>>2]=f;if(e){break o}break l}e=F[c+88>>2];F[c+88>>2]=0;if(!e){break l}}d=F[e+8>>2];if(d){F[e+12>>2]=d;ja(d)}ja(e);break l}na();v()}break b}d=F[F[a+36>>2]+(l<<2)>>2];if(!($[F[F[d>>2]+24>>2]](d,r)|0)){break a}}l=l+1|0;f=(m|0)<=(l|0);if((l|0)!=(m|0)){continue}break}}Z=g+16|0;return f|0}function Ld(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=Z+-64|0;Z=g;F[g+56>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;h=g+8|0;a:{b:{if(!H[b+38>>1]){break b}if(!Ta(1,h+12|0,b)){break b}e=F[b+8>>2];f=F[b+16>>2];j=e-f|0;k=F[h+12>>2];e=F[b+12>>2]-(F[b+20>>2]+(e>>>0>>0)|0)|0;if(j>>>0>>6>>>0&(e|0)<=0|(e|0)<0){break b}e=F[h>>2];d=F[h+4>>2]-e>>2;c:{if(d>>>0>>0){qa(h,k-d|0);k=F[h+12>>2];break c}if(d>>>0<=k>>>0){break c}F[h+4>>2]=e+(k<<2)}i=1;if(!k){break a}e=F[b+16>>2];d=F[b+20>>2];r=F[h>>2];l=F[b+8>>2];o=F[b+12>>2];j=0;while(1){i=0;if((d|0)>=(o|0)&e>>>0>=l>>>0|(d|0)>(o|0)){break a}i=F[b>>2];p=G[i+e|0];e=e+1|0;d=e?d:d+1|0;F[b+16>>2]=e;F[b+20>>2]=d;f=p>>>2|0;m=0;d:{e:{f:{g:{s=p&3;switch(s|0){case 3:break g;case 0:break e;default:break f}}f=f+j|0;i=0;if(f>>>0>=k>>>0){break a}ma(r+(j<<2)|0,0,(p&252)+4|0);j=f;break d}while(1){if((e|0)==(l|0)&(d|0)==(o|0)){break b}k=G[e+i|0];e=e+1|0;d=e?d:d+1|0;F[b+16>>2]=e;F[b+20>>2]=d;f=k<<(m<<3|6)|f;m=m+1|0;if((s|0)!=(m|0)){continue}break}}F[r+(j<<2)>>2]=f}j=j+1|0;k=F[h+12>>2];if(j>>>0>>0){continue}break}d=h+16|0;o=F[h>>2];f=F[h+16>>2];e=F[h+20>>2]-f|0;h:{if(e>>>0<=4194303){qa(d,1048576-(e>>>2|0)|0);break h}if((e|0)==4194304){break h}F[h+20>>2]=f+4194304}e=h+28|0;j=F[e>>2];f=F[h+32>>2]-j>>3;i:{if(f>>>0>>0){_a(e,k-f|0);j=F[e>>2];break i}if(f>>>0>k>>>0){F[h+32>>2]=(k<<3)+j}if(!k){break b}}l=F[d>>2];d=0;i=0;while(1){e=o+(d<<2)|0;h=F[e>>2];m=(d<<3)+j|0;f=i;F[m+4>>2]=f;F[m>>2]=h;e=F[e>>2];i=e+f|0;if(i>>>0>1048576){break b}j:{if(f>>>0>=i>>>0){break j}m=0;h=e&7;if(h){while(1){F[l+(f<<2)>>2]=d;f=f+1|0;m=m+1|0;if((h|0)!=(m|0)){continue}break}}if(e-1>>>0<=6){break j}while(1){e=l+(f<<2)|0;F[e>>2]=d;F[e+28>>2]=d;F[e+24>>2]=d;F[e+20>>2]=d;F[e+16>>2]=d;F[e+12>>2]=d;F[e+8>>2]=d;F[e+4>>2]=d;f=f+8|0;if((i|0)!=(f|0)){continue}break}}d=d+1|0;if((k|0)!=(d|0)){continue}break}n=(i|0)==1048576}i=n}k:{if(!i|(F[g+20>>2]?0:a)){break k}i=0;j=Z-16|0;Z=j;l:{if(!Sa(1,j+8|0,b)){break l}d=F[b+8>>2];f=F[b+16>>2];l=d-f|0;n=F[j+12>>2];h=F[b+20>>2];d=F[b+12>>2]-(h+(d>>>0>>0)|0)|0;e=F[j+8>>2];if((n|0)==(d|0)&e>>>0>l>>>0|d>>>0>>0){break l}d=h+n|0;l=e+f|0;d=l>>>0>>0?d+1|0:d;F[b+16>>2]=l;F[b+20>>2]=d;if((e|0)<=0){break l}b=f+F[b>>2]|0;F[g+48>>2]=b;d=e-1|0;f=d+b|0;l=G[f|0];m:{if(l>>>0<=63){F[g+52>>2]=d;b=G[f|0]&63;break m}n:{switch((l>>>6|0)-1|0){case 0:if(e>>>0<2){break l}d=e-2|0;F[g+52>>2]=d;b=b+d|0;b=G[b+1|0]<<8&16128|G[b|0];break m;case 1:if(e>>>0<3){break l}d=e-3|0;F[g+52>>2]=d;b=b+d|0;b=G[b+1|0]<<8|G[b+2|0]<<16&4128768|G[b|0];break m;default:break n}}d=e-4|0;F[g+52>>2]=d;b=b+d|0;b=(G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24))&1073741823}F[g+56>>2]=b+4194304;i=b>>>0<1069547520}Z=j+16|0;if(!i){break k}if(!a){t=1;break k}b=F[g+52>>2];f=F[g+56>>2];d=F[g+36>>2];e=F[g+48>>2];j=F[g+24>>2];while(1){o:{if(f>>>0>4194303){break o}while(1){if((b|0)<=0){break o}b=b-1|0;F[g+52>>2]=b;f=G[b+e|0]|f<<8;F[g+56>>2]=f;if(f>>>0<4194304){continue}break}}i=f&1048575;l=F[j+(i<<2)>>2];n=d+(l<<3)|0;f=(L(F[n>>2],f>>>20|0)+i|0)-F[n+4>>2]|0;F[g+56>>2]=f;F[(q<<2)+c>>2]=l;t=1;q=q+1|0;if((q|0)!=(a|0)){continue}break}}a=F[g+36>>2];if(a){F[g+40>>2]=a;ja(a)}a=F[g+24>>2];if(a){F[g+28>>2]=a;ja(a)}a=F[g+8>>2];if(a){F[g+12>>2]=a;ja(a)}Z=g- -64|0;return t}function kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=M(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=M(0),p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(F[c>>2]==F[c+4>>2]){m=F[d+80>>2];u=Z-16|0;Z=u;g=F[a+4>>2];k=G[b+24|0];h=F[d+48>>2];n=F[F[d>>2]>>2];c=u+8|0;F[c>>2]=1065353216;d=c;J[c>>2]=M(-1<>2];c=ka(k<<2);a:{if(!m|!k){break a}p=h+n|0;o=J[d>>2];n=F[a+8>>2];v=F[b>>2];d=F[b+48>>2];g=F[b+40>>2];w=F[b+44>>2];if(!G[b+84|0]){f=F[b+68>>2];s=k&254;t=k&1;a=0;while(1){b=F[v>>2];l=ki(g,w,F[f+(i<<2)>>2],0)+d|0;h=la(c,b+l|0,g);b=0;q=0;if((k|0)!=1){while(1){l=p+(a<<2)|0;j=b<<2;e=M(R(M(M(o*M(J[j+h>>2]-J[n+j>>2]))+M(.5))));b:{if(M(N(e))>2]=r;j=j|4;e=M(R(M(M(o*M(J[j+h>>2]-J[n+j>>2]))+M(.5))));c:{if(M(N(e))>2]=j;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){l=p+(a<<2)|0;b=b<<2;e=M(R(M(M(o*M(J[b+h>>2]-J[b+n>>2]))+M(.5))));d:{if(M(N(e))>2]=b;a=a+1|0}i=i+1|0;if((m|0)!=(i|0)){continue}break}break a}s=k&254;t=k&1;a=0;while(1){b=F[v>>2];h=ki(g,w,i,l)+d|0;j=la(c,b+h|0,g);b=0;q=0;if((k|0)!=1){while(1){h=p+(a<<2)|0;f=b<<2;e=M(R(M(M(o*M(J[f+j>>2]-J[f+n>>2]))+M(.5))));e:{if(M(N(e))>2]=r;f=f|4;e=M(R(M(M(o*M(J[f+j>>2]-J[f+n>>2]))+M(.5))));f:{if(M(N(e))>2]=f;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){h=p+(a<<2)|0;b=b<<2;e=M(R(M(M(o*M(J[b+j>>2]-J[b+n>>2]))+M(.5))));g:{if(M(N(e))>2]=b;a=a+1|0}b=l;i=i+1|0;b=i?b:b+1|0;l=b;if((i|0)!=(m|0)|b){continue}break}}ja(c);Z=u+16|0;return 1}j=Z-16|0;Z=j;m=F[a+4>>2];i=G[b+24|0];g=F[d+48>>2];h=F[F[d>>2]>>2];d=j+8|0;F[d>>2]=1065353216;l=d;J[d>>2]=M(-1<>2];d=ka(i<<2);m=F[c+4>>2];q=F[c>>2];h:{if(!i|(m|0)==(q|0)){break h}n=h+g|0;c=m-q>>2;u=c>>>0<=1?1:c;o=J[l>>2];h=F[a+8>>2];v=F[b>>2];l=F[b+48>>2];m=F[b+40>>2];w=F[b+44>>2];if(G[b+84|0]){s=i&254;t=i&1;a=0;c=0;while(1){b=F[v>>2];g=ki(m,w,F[q+(c<<2)>>2],0)+l|0;p=la(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=M(R(M(M(o*M(J[f+p>>2]-J[h+f>>2]))+M(.5))));i:{if(M(N(e))>2]=r;f=f|4;e=M(R(M(M(o*M(J[f+p>>2]-J[h+f>>2]))+M(.5))));j:{if(M(N(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(t){g=n+(a<<2)|0;b=b<<2;e=M(R(M(M(o*M(J[b+p>>2]-J[b+h>>2]))+M(.5))));k:{if(M(N(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}break h}s=F[b+68>>2];t=i&254;x=i&1;a=0;c=0;while(1){b=F[v>>2];g=ki(m,w,F[s+(F[q+(c<<2)>>2]<<2)>>2],0)+l|0;p=la(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=M(R(M(M(o*M(J[f+p>>2]-J[h+f>>2]))+M(.5))));l:{if(M(N(e))>2]=r;f=f|4;e=M(R(M(M(o*M(J[f+p>>2]-J[h+f>>2]))+M(.5))));m:{if(M(N(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(x){g=n+(a<<2)|0;b=b<<2;e=M(R(M(M(o*M(J[b+p>>2]-J[b+h>>2]))+M(.5))));n:{if(M(N(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}}ja(d);Z=j+16|0;return 1} +function Cd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=F[a+4>>2];e=F[a>>2];f=(c-e|0)/144|0;if(f>>>0>>0){e=a;b=b-f|0;h=F[a+8>>2];c=F[a+4>>2];a:{if(b>>>0<=(h-c|0)/144>>>0){b:{if(!b){break b}a=c;f=b&7;if(f){while(1){va(a);a=a+144|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}c=L(b,144)+c|0;if((b-1&268435455)>>>0<7){break b}while(1){va(a);va(a+144|0);va(a+288|0);va(a+432|0);va(a+576|0);va(a+720|0);va(a+864|0);va(a+1008|0);a=a+1152|0;if((c|0)!=(a|0)){continue}break}}F[e+4>>2]=c;break a}c:{d:{e:{a=c;c=F[e>>2];i=(a-c|0)/144|0;a=i+b|0;if(a>>>0<29826162){c=(h-c|0)/144|0;f=c<<1;f=c>>>0>=14913080?29826161:a>>>0>>0?f:a;if(f){if(f>>>0>=29826162){break e}g=ka(L(f,144))}c=L(i,144)+g|0;a=c;h=b&7;if(h){while(1){va(a);a=a+144|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}}h=L(b,144)+c|0;if((b-1&268435455)>>>0>=7){while(1){va(a);va(a+144|0);va(a+288|0);va(a+432|0);va(a+576|0);va(a+720|0);va(a+864|0);va(a+1008|0);a=a+1152|0;if((h|0)!=(a|0)){continue}break}}b=L(f,144)+g|0;d=F[e+4>>2];f=F[e>>2];if((d|0)==(f|0)){break d}while(1){c=c-144|0;d=d-144|0;a=d;F[c>>2]=F[a>>2];F[c+4>>2]=F[a+4>>2];F[c+8>>2]=F[a+8>>2];F[c+12>>2]=F[a+12>>2];F[a+12>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[c+16>>2]=F[a+16>>2];F[c+20>>2]=F[a+20>>2];F[c+24>>2]=F[a+24>>2];F[a+24>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;g=G[a+28|0];F[c+40>>2]=0;F[c+32>>2]=0;F[c+36>>2]=0;D[c+28|0]=g;F[c+32>>2]=F[a+32>>2];F[c+36>>2]=F[a+36>>2];F[c+40>>2]=F[a+40>>2];F[a+40>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[c+52>>2]=0;F[c+44>>2]=0;F[c+48>>2]=0;F[c+44>>2]=F[a+44>>2];F[c+48>>2]=F[a+48>>2];F[c+52>>2]=F[a+52>>2];F[a+52>>2]=0;F[a+44>>2]=0;F[a+48>>2]=0;g=c- -64|0;F[g>>2]=0;F[c+56>>2]=0;F[c+60>>2]=0;F[c+56>>2]=F[a+56>>2];F[c+60>>2]=F[a+60>>2];i=g;g=a- -64|0;F[i>>2]=F[g>>2];F[g>>2]=0;F[a+56>>2]=0;F[a+60>>2]=0;F[c+68>>2]=F[a+68>>2];g=F[a+72>>2];F[c+84>>2]=0;F[c+76>>2]=0;F[c+80>>2]=0;F[c+72>>2]=g;F[c+76>>2]=F[a+76>>2];F[c+80>>2]=F[a+80>>2];F[c+84>>2]=F[a+84>>2];F[a+84>>2]=0;F[a+76>>2]=0;F[a+80>>2]=0;F[c+96>>2]=0;F[c+88>>2]=0;F[c+92>>2]=0;F[c+88>>2]=F[a+88>>2];F[c+92>>2]=F[a+92>>2];F[c+96>>2]=F[a+96>>2];F[a+96>>2]=0;F[a+88>>2]=0;F[a+92>>2]=0;g=G[a+100|0];F[c+112>>2]=0;F[c+104>>2]=0;F[c+108>>2]=0;D[c+100|0]=g;F[c+104>>2]=F[a+104>>2];F[c+108>>2]=F[a+108>>2];F[c+112>>2]=F[a+112>>2];F[a+112>>2]=0;F[a+104>>2]=0;F[a+108>>2]=0;F[c+124>>2]=0;F[c+116>>2]=0;F[c+120>>2]=0;F[c+116>>2]=F[a+116>>2];F[c+120>>2]=F[a+120>>2];F[c+124>>2]=F[a+124>>2];F[a+124>>2]=0;F[a+116>>2]=0;F[a+120>>2]=0;g=F[a+128>>2];F[c+140>>2]=0;F[c+132>>2]=0;F[c+136>>2]=0;F[c+128>>2]=g;F[c+132>>2]=F[a+132>>2];F[c+136>>2]=F[a+136>>2];F[c+140>>2]=F[a+140>>2];F[a+140>>2]=0;F[a+132>>2]=0;F[a+136>>2]=0;if((a|0)!=(f|0)){continue}break}F[e+8>>2]=b;a=F[e+4>>2];F[e+4>>2]=h;d=F[e>>2];F[e>>2]=c;if((a|0)==(d|0)){break c}while(1){b=a-144|0;c=F[b+132>>2];if(c){F[a-8>>2]=c;ja(c)}c=F[a-28>>2];if(c){F[a-24>>2]=c;ja(c)}c=F[a-40>>2];if(c){F[a-36>>2]=c;ja(c)}Gb(a-140|0);a=b;if((d|0)!=(a|0)){continue}break}break c}na();v()}oa();v()}F[e+8>>2]=b;F[e+4>>2]=h;F[e>>2]=c}if(d){ja(d)}}return}if(b>>>0>>0){e=e+L(b,144)|0;if((e|0)!=(c|0)){while(1){b=c-144|0;d=F[b+132>>2];if(d){F[c-8>>2]=d;ja(d)}d=F[c-28>>2];if(d){F[c-24>>2]=d;ja(d)}d=F[c-40>>2];if(d){F[c-36>>2]=d;ja(d)}Gb(c-140|0);c=b;if((e|0)!=(c|0)){continue}break}}F[a+4>>2]=e}}function Yc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;F[a+56>>2]=F[a+52>>2];F[a+44>>2]=F[a+40>>2];b=F[a+64>>2];c=F[b+24>>2];if((c|0)==F[b+28>>2]){return 1}a:{b:{c:{while(1){g=i;i=F[(k<<2)+c>>2];d:{if((i|0)==-1){i=g;break d}b=F[a+56>>2];e:{if((b|0)!=F[a+60>>2]){F[b>>2]=g;F[a+56>>2]=b+4;break e}d=F[a+52>>2];e=b-d|0;h=e>>2;c=h+1|0;if(c>>>0>=1073741824){break c}f=e>>>1|0;f=e>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}e=ka(f<<2)}else{e=0}c=e+(h<<2)|0;F[c>>2]=g;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[a+60>>2]=e+(f<<2);F[a+56>>2]=h;F[a+52>>2]=c;if(!d){break e}ja(d)}f:{g:{if(!(F[F[a+12>>2]+(k>>>3&536870908)>>2]>>>k&1)){break g}e=i+1|0;e=(e>>>0)%3|0?e:i-2|0;if((e|0)==-1|F[F[a>>2]+(e>>>3&536870908)>>2]>>>e&1){break g}e=F[F[F[a+64>>2]+12>>2]+(e<<2)>>2];if((e|0)==-1){break g}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)==-1){break g}c=F[a+64>>2];f=F[a>>2];while(1){e=b;b=-1;d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;h:{if((d|0)==-1|F[f+(d>>>3&536870908)>>2]>>>d&1){break h}d=F[F[c+12>>2]+(d<<2)>>2];if((d|0)==-1){break h}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0}if((b|0)!=(i|0)){if((b|0)==-1){break f}continue}break}return 0}e=i}F[F[a+28>>2]+(e<<2)>>2]=g;b=F[a+44>>2];i:{if((b|0)!=F[a+48>>2]){F[b>>2]=e;F[a+44>>2]=b+4;break i}d=F[a+40>>2];i=b-d|0;h=i>>2;c=h+1|0;if(c>>>0>=1073741824){break a}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}i=ka(f<<2)}else{i=0}c=i+(h<<2)|0;F[c>>2]=e;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[a+48>>2]=i+(f<<2);F[a+44>>2]=h;F[a+40>>2]=c;if(!d){break i}ja(d)}i=g+1|0;b=F[a+64>>2];if((e|0)==-1){break d}j:{if((e>>>0)%3|0){c=e-1|0;break j}c=e+2|0;if((c|0)==-1){break d}}d=F[F[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1|(e|0)==(f|0)){break d}while(1){b=f+1|0;b=(b>>>0)%3|0?b:f-2|0;if(F[F[a>>2]+(b>>>3&536870908)>>2]>>>b&1){b=F[a+56>>2];k:{if((b|0)!=F[a+60>>2]){F[b>>2]=i;F[a+56>>2]=b+4;break k}d=F[a+52>>2];g=b-d|0;j=g>>2;c=j+1|0;if(c>>>0>=1073741824){break c}h=g>>>1|0;h=g>>>0>=2147483644?1073741823:c>>>0>>0?h:c;if(h){if(h>>>0>=1073741824){break b}g=ka(h<<2)}else{g=0}c=g+(j<<2)|0;F[c>>2]=i;j=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[a+60>>2]=g+(h<<2);F[a+56>>2]=j;F[a+52>>2]=c;if(!d){break k}ja(d)}d=i+1|0;b=F[a+44>>2];l:{if((b|0)!=F[a+48>>2]){F[b>>2]=f;F[a+44>>2]=b+4;break l}h=F[a+40>>2];g=b-h|0;l=g>>2;c=l+1|0;if(c>>>0>=1073741824){break a}j=g>>>1|0;j=g>>>0>=2147483644?1073741823:c>>>0>>0?j:c;if(j){if(j>>>0>=1073741824){break b}g=ka(j<<2)}else{g=0}c=g+(l<<2)|0;F[c>>2]=f;l=c+4|0;if((b|0)!=(h|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(h|0)){continue}break}}F[a+48>>2]=g+(j<<2);F[a+44>>2]=l;F[a+40>>2]=c;if(!h){break l}ja(h)}g=i;i=d}F[F[a+28>>2]+(f<<2)>>2]=g;b=F[a+64>>2];m:{if((f>>>0)%3|0){c=f-1|0;break m}c=f+2|0;if((c|0)==-1){break d}}d=F[F[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1){break d}if((e|0)!=(f|0)){continue}break}}k=k+1|0;c=F[b+24>>2];if(k>>>0>2]-c>>2>>>0){continue}break}return 1}na();v()}oa();v()}na();v()}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0;f=Z-96|0;Z=f;e=F[a+16>>2];D[f+92|0]=1;F[f+88>>2]=b;F[f+84>>2]=b;F[f+80>>2]=e;a:{if((b|0)==-1){break a}j=F[a+20>>2];d=F[j>>2];e=F[F[e>>2]+(b<<2)>>2];if(e>>>0>=F[j+4>>2]-d>>2>>>0){break a}e=F[F[a+8>>2]+(F[d+(e<<2)>>2]<<2)>>2];d=F[a+4>>2];if(!G[d+84|0]){e=F[F[d+68>>2]+(e<<2)>>2]}F[f+72>>2]=0;F[f+76>>2]=0;j=f- -64|0;F[j>>2]=0;F[j+4>>2]=0;F[f+56>>2]=0;F[f+60>>2]=0;Ga(d,e,D[d+24|0],f+56|0);e=b+1|0;j=(e>>>0)%3|0?e:b-2|0;n=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){d=j;e=n;d:{if(!F[a+28>>2]){break d}e=b+1|0;d=(e>>>0)%3|0?e:b-2|0;e=b-1|0;if((b>>>0)%3|0){break d}e=b+2|0}if((d|0)==-1){break b}m=F[a+20>>2];b=F[m>>2];d=F[F[F[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=F[m+4>>2]-b>>2>>>0){break b}d=F[F[a+8>>2]+(F[(d<<2)+b>>2]<<2)>>2];b=F[a+4>>2];if(!G[b+84|0]){d=F[F[b+68>>2]+(d<<2)>>2]}F[f+48>>2]=0;F[f+52>>2]=0;F[f+40>>2]=0;F[f+44>>2]=0;F[f+32>>2]=0;F[f+36>>2]=0;Ga(b,d,D[b+24|0],f+32|0);if((e|0)==-1){break c}d=F[a+20>>2];b=F[d>>2];e=F[F[F[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=F[d+4>>2]-b>>2>>>0){break c}d=F[F[a+8>>2]+(F[b+(e<<2)>>2]<<2)>>2];b=F[a+4>>2];if(!G[b+84|0]){d=F[F[b+68>>2]+(d<<2)>>2]}F[f+24>>2]=0;F[f+28>>2]=0;F[f+16>>2]=0;F[f+20>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;Ga(b,d,D[b+24|0],f+8|0);g=F[f+8>>2];b=F[f+56>>2];d=g-b|0;p=F[f+60>>2];t=F[f+12>>2]-(p+(b>>>0>g>>>0)|0)|0;i=F[f+40>>2];e=F[f+64>>2];m=i-e|0;u=F[f+68>>2];y=F[f+44>>2]-(u+(e>>>0>i>>>0)|0)|0;g=ki(d,t,m,y);w=o-g|0;x=h-(_+(g>>>0>o>>>0)|0)|0;h=w;i=F[f+16>>2];g=i-e|0;u=F[f+20>>2]-((e>>>0>i>>>0)+u|0)|0;k=F[f+32>>2];i=k-b|0;w=F[f+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=ki(g,u,i,w);o=h+b|0;h=_+x|0;h=b>>>0>o>>>0?h+1|0:h;b=l;l=d;p=t;k=F[f+48>>2];e=F[f+72>>2];d=k-e|0;t=F[f+76>>2];x=F[f+52>>2]-(t+(e>>>0>k>>>0)|0)|0;l=ki(l,p,d,x);k=b+l|0;b=_+q|0;b=k>>>0>>0?b+1|0:b;l=F[f+24>>2];p=l-e|0;e=F[f+28>>2]-((e>>>0>l>>>0)+t|0)|0;q=ki(p,e,i,w);l=k-q|0;q=b-(_+(k>>>0>>0)|0)|0;b=ki(g,u,d,x);d=r-b|0;b=s-(_+(b>>>0>r>>>0)|0)|0;s=ki(p,e,m,y);r=s+d|0;b=_+b|0;s=r>>>0>>0?b+1|0:b;nc(f+80|0);b=F[f+88>>2];if((b|0)!=-1){continue}break}b=s>>31;e=b^r;d=e-b|0;b=(b^s)-((b>>>0>e>>>0)+b|0)|0;n=-1;e=2147483647;m=q>>31;g=m;i=g^l;j=i-g|0;m=(g^q)-((i>>>0>>0)+g|0)|0;i=m;k=j^-1;g=i^2147483647;m=h;e:{f:{if(!F[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break e}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;e=a;g=h;a=g>>31;d=a;n=d^o;a=n-d|0;h=a;d=(d^g)-((d>>>0>n>>>0)+d|0)|0;a=a+e|0;d=d^2147483647;h=(d|0)==(b|0)&(h^-1)>>>0>>0|b>>>0>d>>>0;a=h?-1:a;if(!(h&0)&(a|0)<=536870912|(a|0)<536870912){break e}b=0;a=a>>>29|0;break f}g:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break g}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=h;h=h>>31;g=h;i=g^o;h=i-g|0;j=(g^k)-((g>>>0>i>>>0)+g|0)|0;g=j^2147483647;d=a;a=h;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break g}b=b+j|0;n=a+d|0;b=n>>>0>>0?b+1|0:b;e=b;if(!b&n>>>0<536870913){break e}}b=e>>>29|0;a=(e&536870911)<<3|n>>>29}o=li(o,m,a,b);l=li(l,q,a,b);r=li(r,s,a,b)}F[c+8>>2]=o;F[c+4>>2]=l;F[c>>2]=r;Z=f+96|0;return}ta();v()}ta();v()}ta();v()}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if((b|0)<0){break a}c=F[a+12>>2];d=F[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=F[d>>2];i=F[e+60>>2];f=F[e+56>>2];e=d+4|0;if((e|0)!=(c|0)){while(1){h=F[e>>2];F[e>>2]=0;g=F[d>>2];F[d>>2]=h;if(g){xa(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=F[a+12>>2]}if((c|0)!=(d|0)){while(1){c=c-4|0;e=F[c>>2];F[c>>2]=0;if(e){xa(e)}if((c|0)!=(d|0)){continue}break}}F[a+12>>2]=d;g=F[a+4>>2];b:{if(!g|(i|0)<0){break b}c=F[g+24>>2];d=F[g+28>>2];if((c|0)==(d|0)){break b}while(1){if((i|0)==F[F[c>>2]+24>>2]){d=c+4|0;i=F[g+28>>2];if((d|0)!=(i|0)){while(1){h=F[d>>2];F[d>>2]=0;e=F[c>>2];F[c>>2]=h;if(e){Ca(e+12|0,F[e+16>>2]);Ba(e,F[e+4>>2]);ja(e)}c=c+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}d=F[g+28>>2]}if((c|0)!=(d|0)){while(1){d=d-4|0;e=F[d>>2];F[d>>2]=0;if(e){Ca(e+12|0,F[e+16>>2]);Ba(e,F[e+4>>2]);ja(e)}if((c|0)!=(d|0)){continue}break}}F[g+28>>2]=c;break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}c:{if((f|0)>4){break c}d:{e=L(f,12)+a|0;c=F[e+20>>2];d=F[e+24>>2];if((c|0)==(d|0)){break d}while(1){if(F[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c;c=c+4|0;pa(f,c,d-c|0);F[e+24>>2]=d-4}c=F[a+24>>2];d=F[a+20>>2];e:{if((c|0)==(d|0)){break e}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=F[h>>2];if((j|0)>(b|0)){F[h>>2]=j-1}f=d+(f|4)|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break e}c=d+(c<<2)|0;d=F[c>>2];if((d|0)<=(b|0)){break e}F[c>>2]=d-1}c=F[a+36>>2];d=F[a+32>>2];f:{if((c|0)==(d|0)){break f}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=F[h>>2];if((j|0)>(b|0)){F[h>>2]=j-1}f=d+(f|4)|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break f}c=d+(c<<2)|0;d=F[c>>2];if((d|0)<=(b|0)){break f}F[c>>2]=d-1}c=F[a+48>>2];d=F[a+44>>2];g:{if((c|0)==(d|0)){break g}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=F[h>>2];if((j|0)>(b|0)){F[h>>2]=j-1}f=d+(f|4)|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break g}c=d+(c<<2)|0;d=F[c>>2];if((d|0)<=(b|0)){break g}F[c>>2]=d-1}c=F[a+60>>2];d=F[a+56>>2];h:{if((c|0)==(d|0)){break h}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=F[h>>2];if((j|0)>(b|0)){F[h>>2]=j-1}f=d+(f|4)|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break h}c=d+(c<<2)|0;d=F[c>>2];if((d|0)<=(b|0)){break h}F[c>>2]=d-1}c=F[a+72>>2];a=F[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;g=e&1;c=0;if(d>>>0>=8){d=e&-2;e=0;while(1){i=c<<2;f=i+a|0;h=F[f>>2];if((h|0)>(b|0)){F[f>>2]=h-1}i=a+(i|4)|0;f=F[i>>2];if((f|0)>(b|0)){F[i>>2]=f-1}c=c+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!g){break a}f=b;a=a+(c<<2)|0;b=F[a>>2];if((f|0)>=(b|0)){break a}F[a>>2]=b-1}}function ja(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=F[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=F[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=F[d+8>>2];b=b>>>3|0;c=F[d+12>>2];if((c|0)==(e|0)){i=11764,j=F[2941]&oi(b),F[i>>2]=j;break b}F[e+12>>2]=c;F[c+8>>2]=e;break b}h=F[d+24>>2];b=F[d+12>>2];c:{if((d|0)!=(b|0)){c=F[d+8>>2];F[c+12>>2]=b;F[b+8>>2]=c;break c}d:{e=d+20|0;c=F[e>>2];if(c){break d}e=d+16|0;c=F[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=F[e>>2];if(c){continue}e=b+16|0;c=F[b+16>>2];if(c){continue}break}F[g>>2]=0}if(!h){break b}e=F[d+28>>2];c=(e<<2)+12068|0;e:{if(F[c>>2]==(d|0)){F[c>>2]=b;if(b){break e}i=11768,j=F[2942]&oi(e),F[i>>2]=j;break b}F[h+(F[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}F[b+24>>2]=h;c=F[d+16>>2];if(c){F[b+16>>2]=c;F[c+24>>2]=b}c=F[d+20>>2];if(!c){break b}F[b+20>>2]=c;F[c+24>>2]=b;break b}b=F[f+4>>2];if((b&3)!=3){break b}F[2943]=a;F[f+4>>2]=b&-2;F[d+4>>2]=a|1;F[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=F[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(F[2947]==(f|0)){F[2947]=d;a=F[2944]+a|0;F[2944]=a;F[d+4>>2]=a|1;if(F[2946]!=(d|0)){break a}F[2943]=0;F[2946]=0;return}if(F[2946]==(f|0)){F[2946]=d;a=F[2943]+a|0;F[2943]=a;F[d+4>>2]=a|1;F[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=F[f+8>>2];b=b>>>3|0;c=F[f+12>>2];if((c|0)==(e|0)){i=11764,j=F[2941]&oi(b),F[i>>2]=j;break g}F[e+12>>2]=c;F[c+8>>2]=e;break g}h=F[f+24>>2];b=F[f+12>>2];h:{if((f|0)!=(b|0)){c=F[f+8>>2];F[c+12>>2]=b;F[b+8>>2]=c;break h}i:{e=f+20|0;c=F[e>>2];if(c){break i}e=f+16|0;c=F[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=F[e>>2];if(c){continue}e=b+16|0;c=F[b+16>>2];if(c){continue}break}F[g>>2]=0}if(!h){break g}e=F[f+28>>2];c=(e<<2)+12068|0;j:{if(F[c>>2]==(f|0)){F[c>>2]=b;if(b){break j}i=11768,j=F[2942]&oi(e),F[i>>2]=j;break g}F[h+(F[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}F[b+24>>2]=h;c=F[f+16>>2];if(c){F[b+16>>2]=c;F[c+24>>2]=b}c=F[f+20>>2];if(!c){break g}F[b+20>>2]=c;F[c+24>>2]=b}F[d+4>>2]=a|1;F[a+d>>2]=a;if(F[2946]!=(d|0)){break f}F[2943]=a;return}F[f+4>>2]=b&-2;F[d+4>>2]=a|1;F[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+11804|0;c=F[2941];a=1<<(a>>>3);k:{if(!(c&a)){F[2941]=a|c;a=b;break k}a=F[b+8>>2]}F[b+8>>2]=d;F[a+12>>2]=d;F[d+12>>2]=b;F[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=O(a>>>8|0);e=((a>>>38-b&1)-(b<<1)|0)+62|0}F[d+28>>2]=e;F[d+16>>2]=0;F[d+20>>2]=0;g=(e<<2)+12068|0;l:{m:{c=F[2942];b=1<>2]=d;F[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=F[g>>2];while(1){c=b;if((F[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=F[g+16>>2];if(b){continue}break}F[g+16>>2]=d;F[d+24>>2]=c}F[d+12>>2]=d;F[d+8>>2]=d;break l}a=F[c+8>>2];F[a+12>>2]=d;F[c+8>>2]=d;F[d+24>>2]=0;F[d+12>>2]=c;F[d+8>>2]=a}a=F[2949]-1|0;F[2949]=a?a:-1}}function di(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;F[a+8>>2]=e;n=a+32|0;h=F[n>>2];f=F[a+36>>2]-h>>2;a:{if(f>>>0>>0){qa(n,e-f|0);d=F[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}F[a+36>>2]=h+(e<<2);d=e}s=F[a+52>>2];p=F[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;m=ma(ka(h),0,h);b:{if((d|0)<=0){break b}g=F[a+32>>2];while(1){d=f<<2;h=F[d+m>>2];j=F[a+16>>2];c:{if((h|0)>(j|0)){F[d+g>>2]=j;break c}d=d+g|0;j=F[a+12>>2];if((j|0)>(h|0)){F[d>>2]=j;break c}F[d>>2]=h}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=F[b+h>>2]+F[g+h>>2]|0;F[d>>2]=h;d:{if((h|0)>F[a+16>>2]){i=h-F[a+20>>2]|0}else{if((h|0)>=F[a+12>>2]){break d}i=h+F[a+20>>2]|0}F[d>>2]=i}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=F[a+56>>2];q=F[f>>2];f=F[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;w=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=L(e,h);f=F[(h<<2)+q>>2];if((f|0)==-1){break f}f=F[F[p+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}j=F[s>>2];g=F[p>>2];k=F[j+(F[g+(f<<2)>>2]<<2)>>2];i=f+1|0;i=(i>>>0)%3|0?i:f-2|0;if((i|0)!=-1){i=F[g+(i<<2)>>2]}else{i=-1}g:{h:{if((f>>>0)%3|0){f=f-1|0;break h}f=f+2|0;l=-1;if((f|0)==-1){break g}}l=F[g+(f<<2)>>2]}if((h|0)<=(k|0)){break f}f=F[(i<<2)+j>>2];if((f|0)>=(h|0)){break f}g=F[j+(l<<2)>>2];if((g|0)>=(h|0)){break f}i:{if((e|0)<=0){break i}g=L(e,g);j=L(e,f);k=L(e,k);f=0;l=0;if((e|0)!=1){while(1){F[(f<<2)+m>>2]=(F[(f+g<<2)+c>>2]+F[(f+j<<2)+c>>2]|0)-F[(f+k<<2)+c>>2];i=f|1;F[(i<<2)+m>>2]=(F[(g+i<<2)+c>>2]+F[(j+i<<2)+c>>2]|0)-F[(i+k<<2)+c>>2];f=f+2|0;l=l+2|0;if((u|0)!=(l|0)){continue}break}}if(!w){break i}F[(f<<2)+m>>2]=(F[(f+g<<2)+c>>2]+F[(f+j<<2)+c>>2]|0)-F[(f+k<<2)+c>>2]}if((d|0)<=0){break e}j=F[n>>2];f=0;while(1){d=f<<2;g=F[d+m>>2];k=F[a+16>>2];j:{if((g|0)>(k|0)){F[d+j>>2]=k;break j}d=d+j|0;k=F[a+12>>2];if((k|0)>(g|0)){F[d>>2]=k;break j}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=F[g+i>>2]+F[g+j>>2]|0;F[d>>2]=g;k:{if((g|0)>F[a+16>>2]){l=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break k}l=g+F[a+20>>2]|0}F[d>>2]=l}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}ta();v()}if((d|0)<=0){break e}k=(L(h-1|0,e)<<2)+c|0;j=F[n>>2];f=0;while(1){d=f<<2;g=F[d+k>>2];i=F[a+16>>2];l:{if((g|0)>(i|0)){F[d+j>>2]=i;break l}d=d+j|0;i=F[a+12>>2];if((i|0)>(g|0)){F[d>>2]=i;break l}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=F[g+i>>2]+F[g+j>>2]|0;F[d>>2]=g;m:{if((g|0)>F[a+16>>2]){l=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break m}l=g+F[a+20>>2]|0}F[d>>2]=l}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}ja(m);return 1}function od(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(F[F[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){e=F[a+48>>2];F[a+52>>2]=e;a:{if((e|0)!=F[a+56>>2]){F[e>>2]=b;F[a+52>>2]=e+4;break a}d=ka(4);F[d>>2]=b;c=d+4|0;F[a+56>>2]=c;F[a+52>>2]=c;F[a+48>>2]=d;if(!e){break a}ja(e)}c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;c=F[F[a+4>>2]+28>>2];k=F[(i<<2)+c>>2];if((k|0)==-1){return 0}e=(b-L(g,3)|0?-1:2)+b|0;j=F[c+(e<<2)>>2];if((j|0)==-1){return 0}b=F[a+36>>2];g=b+(k>>>3&536870908)|0;d=F[g>>2];c=1<>2]=c|d;Ka(a+8|0,k,i);b=F[a+36>>2]}d=(j>>>3&536870908)+b|0;c=F[d>>2];b=1<>2]=b|c;Ka(a+8|0,j,e)}f=F[a+52>>2];if((f|0)==F[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{f=f-4|0;b=F[f>>2];if((b|0)==-1){break c}c=(b>>>0)/3|0;g=F[a+24>>2]+(c>>>3&268435452)|0;d=F[g>>2];c=1<>2]=c|d;h=F[a+4>>2];c=F[F[h+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{e:{j=F[a+36>>2]+(c>>>3&536870908)|0;i=F[j>>2];e=1<>2]+(c<<2)>>2];g:{if((g|0)==-1){break g}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1|F[F[h>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}g=F[F[F[h+64>>2]+12>>2]+(b<<2)>>2];if((g|0)!=-1){break f}}F[j>>2]=e|i;Ka(k,c,d);h=F[a+4>>2];break e}F[j>>2]=e|i;Ka(k,c,d);h=F[a+4>>2];b=g+1|0;if((((b>>>0)%3|0?b:g-2|0)|0)==-1){break e}b=-1;h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1|F[F[h>>2]+(c>>>3&536870908)>>2]>>>c&1){break h}b=F[F[F[h+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];e=c>>>5|0;j=F[f+(e<<2)>>2];break d}i:{j:{if((d|0)==-1){break j}c=-1;b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if(!((b|0)==-1|F[F[h>>2]+(b>>>3&536870908)>>2]>>>b&1)){c=F[F[F[h+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((d>>>0)%3|0){f=d-1|0;break l}f=d+2|0;b=-1;if((f|0)==-1){break k}}b=-1;if(F[F[h>>2]+(f>>>3&536870908)>>2]>>>f&1){break k}b=F[F[F[h+64>>2]+12>>2]+(f<<2)>>2]}g=(b|0)==-1;i=g?-1:(b>>>0)/3|0;if((c|0)!=-1){f=F[a+24>>2];d=(c>>>0)/3|0;e=d>>>5|0;j=F[f+(e<<2)>>2];d=1<>2];e=i>>>5|0;j=F[f+(e<<2)>>2];if(!(d&j)){break d}}f=F[a+52>>2]-4|0;F[a+52>>2]=f;break b}if(g){b=c;break d}if(F[(i>>>3&536870908)+f>>2]>>>i&1){b=c;break d}h=F[a+52>>2];F[h-4>>2]=b;if(F[a+56>>2]!=(h|0)){F[h>>2]=c;f=h+4|0;break c}m:{i=F[a+48>>2];e=h-i|0;g=e>>2;d=g+1|0;if(d>>>0<1073741824){b=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(e){if(e>>>0>=1073741824){break m}d=ka(e<<2)}else{d=0}b=d+(g<<2)|0;F[b>>2]=c;f=b+4|0;if((h|0)!=(i|0)){while(1){b=b-4|0;h=h-4|0;F[b>>2]=F[h>>2];if((h|0)!=(i|0)){continue}break}}F[a+56>>2]=d+(e<<2);F[a+52>>2]=f;F[a+48>>2]=b;if(!i){break b}ja(i);f=F[a+52>>2];break b}na();v()}oa();v()}F[(e<<2)+f>>2]=d|j;c=F[F[h+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}F[a+52>>2]=f}if(F[a+48>>2]!=(f|0)){continue}break}}return 1}function he(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;F[a+8>>2]=e;m=a+32|0;h=F[m>>2];f=F[a+36>>2]-h>>2;a:{if(f>>>0>>0){qa(m,e-f|0);d=F[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}F[a+36>>2]=h+(e<<2);d=e}s=F[a+52>>2];n=F[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;l=ma(ka(h),0,h);b:{if((d|0)<=0){break b}g=F[a+32>>2];while(1){d=f<<2;h=F[d+l>>2];i=F[a+16>>2];c:{if((h|0)>(i|0)){F[d+g>>2]=i;break c}d=d+g|0;i=F[a+12>>2];if((i|0)>(h|0)){F[d>>2]=i;break c}F[d>>2]=h}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=F[b+h>>2]+F[g+h>>2]|0;F[d>>2]=h;d:{if((h|0)>F[a+16>>2]){h=h-F[a+20>>2]|0}else{if((h|0)>=F[a+12>>2]){break d}h=h+F[a+20>>2]|0}F[d>>2]=h}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=F[a+56>>2];q=F[f>>2];f=F[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;w=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=L(e,h);f=F[(h<<2)+q>>2];if((f|0)==-1|F[F[n>>2]+(f>>>3&536870908)>>2]>>>f&1){break f}f=F[F[F[n+64>>2]+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}i=F[s>>2];g=F[n+28>>2];k=F[i+(F[g+(f<<2)>>2]<<2)>>2];if((k|0)>=(h|0)){break f}j=f+1|0;j=F[i+(F[g+(((j>>>0)%3|0?j:f-2|0)<<2)>>2]<<2)>>2];if((j|0)>=(h|0)){break f}f=F[i+(F[g+(f+((f>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((f|0)>=(h|0)){break f}g:{if((e|0)<=0){break g}g=L(e,f);i=L(e,j);k=L(e,k);f=0;p=0;if((e|0)!=1){while(1){F[(f<<2)+l>>2]=(F[(f+g<<2)+c>>2]+F[(f+i<<2)+c>>2]|0)-F[(f+k<<2)+c>>2];j=f|1;F[(j<<2)+l>>2]=(F[(g+j<<2)+c>>2]+F[(i+j<<2)+c>>2]|0)-F[(k+j<<2)+c>>2];f=f+2|0;p=p+2|0;if((u|0)!=(p|0)){continue}break}}if(!w){break g}F[(f<<2)+l>>2]=(F[(f+g<<2)+c>>2]+F[(f+i<<2)+c>>2]|0)-F[(f+k<<2)+c>>2]}if((d|0)<=0){break e}i=F[m>>2];f=0;while(1){d=f<<2;g=F[d+l>>2];k=F[a+16>>2];h:{if((g|0)>(k|0)){F[d+i>>2]=k;break h}d=d+i|0;k=F[a+12>>2];if((k|0)>(g|0)){F[d>>2]=k;break h}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=F[g+j>>2]+F[g+i>>2]|0;F[d>>2]=g;i:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break i}g=g+F[a+20>>2]|0}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}ta();v()}if((d|0)<=0){break e}k=(L(h-1|0,e)<<2)+c|0;i=F[m>>2];f=0;while(1){d=f<<2;g=F[d+k>>2];j=F[a+16>>2];j:{if((g|0)>(j|0)){F[d+i>>2]=j;break j}d=d+i|0;j=F[a+12>>2];if((j|0)>(g|0)){F[d>>2]=j;break j}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=F[g+j>>2]+F[g+i>>2]|0;F[d>>2]=g;k:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break k}g=g+F[a+20>>2]|0}F[d>>2]=g}d=F[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}ja(l);return 1}function Fb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=M(0),k=0,l=0,m=M(0);i=F[c>>2];a:{b:{f=F[b+4>>2];if(!f){break b}g=ni(f);c:{if(g>>>0>=2){e=i;if(f>>>0<=e>>>0){e=(i>>>0)%(f>>>0)|0}c=F[F[b>>2]+(e<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=F[c>>2];if(!c){break b}g=F[c+4>>2];if((g|0)!=(i|0)){if(f>>>0<=g>>>0){g=(g>>>0)%(f>>>0)|0}if((e|0)!=(g|0)){break b}}if(F[c+8>>2]!=(i|0)){continue}break}b=0;break a}e=f-1&i;c=F[F[b>>2]+(e<<2)>>2];if(!c){break b}}h=f-1|0;while(1){c=F[c>>2];if(!c){break b}g=F[c+4>>2];if((g|0)!=(i|0)&(g&h)!=(e|0)){break b}if(F[c+8>>2]!=(i|0)){continue}break}b=0;break a}c=ka(16);d=F[F[d>>2]>>2];F[c+12>>2]=0;F[c+8>>2]=d;F[c+4>>2]=i;F[c>>2]=0;m=M(F[b+12>>2]+1>>>0);j=J[b+16>>2];d:{if(m>M(j*M(f>>>0))?0:f){break d}e=2;d=(f-1&f)!=0|f>>>0<3|f<<1;j=M(S(M(m/j)));e:{if(j=M(0)){g=~~j>>>0;break e}g=0}d=d>>>0>g>>>0?d:g;f:{if((d|0)==1){break f}if(!(d&d-1)){e=d;break f}e=Mc(d);f=F[b+4>>2]}g:{if(e>>>0<=f>>>0){if(e>>>0>=f>>>0){break g}g=f>>>0<3;j=M(S(M(M(I[b+12>>2])/J[b+16>>2])));h:{if(j=M(0)){d=~~j>>>0;break h}d=0}i:{j:{if(g){break j}if(ni(f)>>>0>1){break j}d=d>>>0<2?d:1<<32-O(d-1|0);break i}d=Mc(d)}e=d>>>0>>0?e:d;if(f>>>0<=e>>>0){break g}}f=0;g=0;h=e;k:{l:{m:{n:{if(e){if(h>>>0>=1073741824){break n}d=ka(h<<2);e=F[b>>2];F[b>>2]=d;if(e){ja(e)}F[b+4>>2]=h;d=0;if(h>>>0>=4){e=h&-4;while(1){k=d<<2;F[k+F[b>>2]>>2]=0;F[F[b>>2]+(k|4)>>2]=0;F[F[b>>2]+(k|8)>>2]=0;F[F[b>>2]+(k|12)>>2]=0;d=d+4|0;g=g+4|0;if((e|0)!=(g|0)){continue}break}}e=h&3;if(e){while(1){F[F[b>>2]+(d<<2)>>2]=0;d=d+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}e=F[b+8>>2];if(!e){break k}d=b+8|0;f=F[e+4>>2];g=ni(h);if(g>>>0<2){break m}f=f>>>0>=h>>>0?(f>>>0)%(h>>>0)|0:f;F[F[b>>2]+(f<<2)>>2]=d;d=F[e>>2];if(!d){break k}if(g>>>0<=1){break l}while(1){g=F[d+4>>2];if(h>>>0<=g>>>0){g=(g>>>0)%(h>>>0)|0}o:{if((f|0)==(g|0)){e=d;break o}l=g<<2;k=l+F[b>>2]|0;if(!F[k>>2]){F[k>>2]=e;e=d;f=g;break o}F[e>>2]=F[d>>2];F[d>>2]=F[F[l+F[b>>2]>>2]>>2];F[F[l+F[b>>2]>>2]>>2]=d}d=F[e>>2];if(d){continue}break}break k}d=F[b>>2];F[b>>2]=0;if(d){ja(d)}F[b+4>>2]=0;break k}oa();v()}f=h-1&f;F[F[b>>2]+(f<<2)>>2]=d;d=F[e>>2];if(!d){break k}}k=h-1|0;while(1){g=k&F[d+4>>2];p:{if((g|0)==(f|0)){e=d;break p}l=g<<2;h=l+F[b>>2]|0;if(F[h>>2]){F[e>>2]=F[d>>2];F[d>>2]=F[F[l+F[b>>2]>>2]>>2];F[F[l+F[b>>2]>>2]>>2]=d;break p}F[h>>2]=e;e=d;f=g}d=F[e>>2];if(d){continue}break}}}f=F[b+4>>2];d=f-1|0;if(!(d&f)){e=d&i;break d}if(f>>>0>i>>>0){e=i;break d}e=(i>>>0)%(f>>>0)|0}e=F[b>>2]+(e<<2)|0;d=F[e>>2];q:{r:{if(!d){d=b+8|0;F[c>>2]=F[d>>2];F[b+8>>2]=c;F[e>>2]=d;d=F[c>>2];if(!d){break q}d=F[d+4>>2];e=f-1|0;s:{if(!(e&f)){d=d&e;break s}if(d>>>0>>0){break s}d=(d>>>0)%(f>>>0)|0}d=F[b>>2]+(d<<2)|0;break r}F[c>>2]=F[d>>2]}F[d>>2]=c}F[b+12>>2]=F[b+12>>2]+1;b=1}D[a+4|0]=b;F[a>>2]=c}function Vb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=L(b,12)+a|0;F[j+12>>2]=F[j+8>>2];m=(c|0)==-1?-1:(c>>>0)/3|0;d=1;k=c;a:{b:{c:{while(1){d:{l=d;if(!d){if((k|0)==-1){break d}if((Wc(a,((k>>>0)%3|0?-1:2)+k|0)|0)==-1){break a}c=k+1|0;d=(c>>>0)%3|0?c:k-2|0;if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}d=F[F[F[a+4>>2]+12>>2]+(c<<2)>>2];if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}m=(c>>>0)/3|0}e:{d=F[a+56>>2]+(m>>>3&536870908)|0;h=F[d>>2];e=1<>2]=e|h;d=F[j+12>>2];f:{if((d|0)!=F[j+16>>2]){F[d>>2]=m;F[j+12>>2]=d+4;break f}n=F[j+8>>2];h=d-n|0;e=h>>2;i=e+1|0;if(i>>>0>=1073741824){break c}g=h>>>1|0;i=h>>>0>=2147483644?1073741823:i>>>0>>0?g:i;if(i){if(i>>>0>=1073741824){break b}g=ka(i<<2)}else{g=0}h=g+(e<<2)|0;F[h>>2]=m;e=h+4|0;if((d|0)!=(n|0)){while(1){h=h-4|0;d=d-4|0;F[h>>2]=F[d>>2];if((d|0)!=(n|0)){continue}break}}F[j+8>>2]=h;F[j+12>>2]=e;F[j+16>>2]=g+(i<<2);if(!n){break f}ja(n)}g=f+1|0;g:{h:{i:{if(!f){break i}if(g&1){if((c|0)==-1){c=-1;break g}d=c+1|0;c=(d>>>0)%3|0?d:c-2|0;break i}k=l?k:c;if((c|0)==-1){c=-1;break g}if((c>>>0)%3|0){d=c-1|0;break h}c=c+2|0}d=c;c=-1;if((d|0)==-1){break g}}c=F[F[F[a+4>>2]+12>>2]+(d<<2)>>2];h=-1;f=-1;e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=F[(F[F[a>>2]+96>>2]+L(f,12)|0)+(e-L(f,3)<<2)>>2]}j:{if((c|0)==-1){break j}i=((c>>>0)%3|0?-1:2)+c|0;if((i|0)<0){break j}e=(i>>>0)/3|0;h=F[(F[F[a>>2]+96>>2]+L(e,12)|0)+(i-L(e,3)<<2)>>2]}if((f|0)!=(h|0)){c=-1;break g}k:{l:{f=((d>>>0)%3|0?-1:2)+d|0;if((f|0)>=0){d=(f>>>0)/3|0;if((c|0)!=-1){break l}c=-1;break g}d=-1;if((c|0)!=-1){break k}c=-1;break g}d=F[(F[F[a>>2]+96>>2]+L(d,12)|0)+(f-L(d,3)<<2)>>2]}f=c+1|0;e=(f>>>0)%3|0?f:c-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=F[(F[F[a>>2]+96>>2]+L(f,12)|0)+(e-L(f,3)<<2)>>2]}else{f=-1}if((f|0)!=(d|0)){c=-1;break g}f=g;m=(c>>>0)/3|0;d=F[a+56>>2]+(m>>>3&268435452)|0;h=F[d>>2];e=1<>2]-4|0;g=F[l>>2];d=F[a+56>>2]+(g>>>3&536870908)|0;c=F[d>>2];o=d,p=oi(g)&c,F[o>>2]=p;F[j+12>>2]=l;break a}d=0;if(l){continue}break a}break}k=-1;Wc(a,-1);break a}na();v()}oa();v()}F[((b<<2)+a|0)+44>>2]=k;b=F[j+12>>2];i=F[j+8>>2];m:{if((b|0)==(i|0)){break m}c=b-i|0;b=c>>2;b=b>>>0<=1?1:b;k=b&1;e=F[a+56>>2];d=0;if(c>>>0>=8){f=b&-2;c=0;while(1){l=d<<2;g=F[l+i>>2];b=e+(g>>>3&536870908)|0;a=F[b>>2];o=b,p=oi(g)&a,F[o>>2]=p;g=F[i+(l|4)>>2];b=e+(g>>>3&536870908)|0;a=F[b>>2];o=b,p=oi(g)&a,F[o>>2]=p;d=d+2|0;c=c+2|0;if((f|0)!=(c|0)){continue}break}}if(!k){break m}c=F[i+(d<<2)>>2];b=e+(c>>>3&536870908)|0;a=F[b>>2];o=b,p=oi(c)&a,F[o>>2]=p}}function pd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(F[F[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){f=F[a+48>>2];F[a+52>>2]=f;a:{if((f|0)!=F[a+56>>2]){F[f>>2]=b;F[a+52>>2]=f+4;break a}d=ka(4);F[d>>2]=b;c=d+4|0;F[a+56>>2]=c;F[a+52>>2]=c;F[a+48>>2]=d;if(!f){break a}ja(f)}e=-1;d=F[a+4>>2];c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;if((i|0)!=-1){e=F[F[d>>2]+(i<<2)>>2]}b:{h=b-L(g,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}j=F[F[d>>2]+(c<<2)>>2];if((j|0)==-1){return 0}c=F[a+36>>2];f=c+(e>>>3&536870908)|0;g=F[f>>2];d=1<>2]=d|g;Ka(a+8|0,e,i);c=F[a+36>>2]}g=(j>>>3&536870908)+c|0;d=F[g>>2];c=1<>2]=c|d;Ka(a+8|0,j,(h?-1:2)+b|0)}c=F[a+52>>2];if((c|0)==F[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=F[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;f=F[a+24>>2]+(d>>>3&268435452)|0;g=F[f>>2];d=1<>2]=d|g;while(1){i=F[a+4>>2];e=F[F[i>>2]+(b<<2)>>2];if((e|0)==-1){return 0}e:{f:{h=F[a+36>>2]+(e>>>3&536870908)|0;f=F[h>>2];g=1<>2]+(e<<2)>>2];h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break h}d=F[F[i+12>>2]+(c<<2)>>2];if((d|0)!=-1){break g}}F[h>>2]=f|g;Ka(j,e,b);break f}F[h>>2]=f|g;Ka(j,e,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}c=b-2|0;d=b+1|0;b=-1;c=(d>>>0)%3|0?d:c;if((c|0)!=-1){b=F[F[F[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];f=c>>>5|0;i=F[e+(f<<2)>>2];break e}c=-1;g=F[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=F[F[g+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=F[F[g+12>>2]+(e<<2)>>2]}g=(b|0)==-1;h=g?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=F[a+24>>2];d=(c>>>0)/3|0;f=d>>>5|0;i=F[e+(f<<2)>>2];d=1<>2];f=h>>>5|0;i=F[e+(f<<2)>>2];if(!(d&i)){break e}}c=F[a+52>>2]-4|0;F[a+52>>2]=c;break c}if(g){b=c;break e}if(F[(h>>>3&536870908)+e>>2]>>>h&1){b=c;break e}e=F[a+52>>2];F[e-4>>2]=b;if(F[a+56>>2]!=(e|0)){F[e>>2]=c;c=e+4|0;break d}l:{h=F[a+48>>2];f=e-h|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){b=f>>>1|0;f=f>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(f){if(f>>>0>=1073741824){break l}d=ka(f<<2)}else{d=0}b=d+(g<<2)|0;F[b>>2]=c;c=b+4|0;if((e|0)!=(h|0)){while(1){b=b-4|0;e=e-4|0;F[b>>2]=F[e>>2];if((e|0)!=(h|0)){continue}break}}F[a+56>>2]=d+(f<<2);F[a+52>>2]=c;F[a+48>>2]=b;if(!h){break c}ja(h);c=F[a+52>>2];break c}na();v()}oa();v()}F[(f<<2)+e>>2]=d|i;if((b|0)!=-1){continue}break}return 0}F[a+52>>2]=c}if(F[a+48>>2]!=(c|0)){continue}break}}return 1}function ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=Z-32|0;Z=h;a:{b:{if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[F[a+48>>2]+64>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}c:{if(d){Na(a+60|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[F[a+48>>2]+64>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+72|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[F[a+48>>2]+64>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+84|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[F[a+48>>2]+64>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+96|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=F[b+8>>2];f=F[b+12>>2];d=c;c=F[b+20>>2];i=c;g=F[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=F[b>>2];k=m+g|0;l=G[k|0]|G[k+1|0]<<8|(G[k+2|0]<<16|G[k+3|0]<<24);F[b+16>>2]=j;F[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=f;F[b+20>>2]=c;if((d|0)<(l|0)){break a}F[a+16>>2]=d;F[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;F[a+20>>2]=b;c=b>>>1|0;F[a+24>>2]=c;F[a+28>>2]=0-c;if(b&1){break a}F[a+24>>2]=c-1;break a}}e=0}Z=h+32|0;return e|0}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=Z-32|0;Z=h;a:{b:{if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[a+48>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}c:{if(d){Na(a+60|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[a+48>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+72|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[a+48>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+84|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Oa(1,h+28|0,b)){break b}d=F[h+28>>2];c=F[a+48>>2];if(d>>>0>F[c+4>>2]-F[c>>2]>>2>>>0){break b}if(d){e=0;Na(a+96|0,d);c=h+8|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;if(!Aa(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|F[g>>2]}else{i=F[g>>2]&(f^-1)}F[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=F[b+8>>2];f=F[b+12>>2];d=c;c=F[b+20>>2];i=c;g=F[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=F[b>>2];k=m+g|0;l=G[k|0]|G[k+1|0]<<8|(G[k+2|0]<<16|G[k+3|0]<<24);F[b+16>>2]=j;F[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=f;F[b+20>>2]=c;if((d|0)<(l|0)){break a}F[a+16>>2]=d;F[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;F[a+20>>2]=b;c=b>>>1|0;F[a+24>>2]=c;F[a+28>>2]=0-c;if(b&1){break a}F[a+24>>2]=c-1;break a}}e=0}Z=h+32|0;return e|0}function uh(a){a=a|0;var b=0,c=0,d=0,e=0;c=F[a+32>>2];d=F[c+16>>2];e=F[c+12>>2];b=F[c+20>>2];if(I[c+8>>2]>d>>>0&(e|0)>=(b|0)|(b|0)<(e|0)){e=G[F[c>>2]+d|0];d=d+1|0;b=d?b:b+1|0;F[c+16>>2]=d;F[c+20>>2]=b;b=F[a+48>>2];F[a+48>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}a:{b:{c:{d:{switch(e|0){case 0:b=ka(384);F[b>>2]=8284;ma(b+4|0,0,80);F[b+96>>2]=0;F[b+100>>2]=0;F[b+92>>2]=-1;F[b+84>>2]=-1;F[b+88>>2]=-1;F[b+104>>2]=0;F[b+108>>2]=0;F[b+112>>2]=0;F[b+116>>2]=0;F[b+120>>2]=0;F[b+124>>2]=0;F[b+128>>2]=0;F[b+132>>2]=0;F[b+136>>2]=0;F[b+140>>2]=0;F[b+144>>2]=0;F[b+148>>2]=0;F[b+156>>2]=0;F[b+160>>2]=0;F[b+152>>2]=1065353216;F[b+164>>2]=0;F[b+168>>2]=0;F[b+172>>2]=0;F[b+176>>2]=0;F[b+180>>2]=0;F[b+184>>2]=0;F[b+188>>2]=0;F[b+192>>2]=0;F[b+196>>2]=0;F[b+200>>2]=0;F[b+204>>2]=0;F[b+208>>2]=0;F[b+212>>2]=-1;F[b+216>>2]=0;F[b+220>>2]=0;F[b+224>>2]=0;Ja(b+232|0);Ja(b+272|0);c=b+312|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;Ja(b+328|0);F[b+376>>2]=0;F[b+368>>2]=0;F[b+372>>2]=0;break c;case 2:break d;default:break b}}b=ka(440);F[b>>2]=8336;ma(b+4|0,0,80);F[b+96>>2]=0;F[b+100>>2]=0;F[b+92>>2]=-1;F[b+84>>2]=-1;F[b+88>>2]=-1;F[b+104>>2]=0;F[b+108>>2]=0;F[b+112>>2]=0;F[b+116>>2]=0;F[b+120>>2]=0;F[b+124>>2]=0;F[b+128>>2]=0;F[b+132>>2]=0;F[b+136>>2]=0;F[b+140>>2]=0;F[b+144>>2]=0;F[b+148>>2]=0;F[b+156>>2]=0;F[b+160>>2]=0;F[b+152>>2]=1065353216;F[b+164>>2]=0;F[b+168>>2]=0;F[b+172>>2]=0;F[b+176>>2]=0;F[b+180>>2]=0;F[b+184>>2]=0;F[b+188>>2]=0;F[b+192>>2]=0;F[b+196>>2]=0;F[b+200>>2]=0;F[b+204>>2]=0;F[b+208>>2]=0;F[b+212>>2]=-1;F[b+216>>2]=0;F[b+220>>2]=0;F[b+224>>2]=0;Ja(b+232|0);Ja(b+272|0);c=b+312|0;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;Ja(b+328|0);F[b+392>>2]=0;F[b+396>>2]=0;F[b+384>>2]=0;F[b+388>>2]=0;F[b+376>>2]=0;F[b+380>>2]=0;F[b+368>>2]=0;F[b+372>>2]=0;F[b+416>>2]=0;F[b+420>>2]=0;F[b+408>>2]=2;F[b+412>>2]=7;F[b+400>>2]=-1;F[b+404>>2]=-1;F[b+424>>2]=0;F[b+428>>2]=0;F[b+432>>2]=0;F[b+436>>2]=0}c=F[a+48>>2];F[a+48>>2]=b;if(!c){break a}$[F[F[c>>2]+4>>2]](c)}b=F[a+48>>2];if(b){break a}return 0}a=$[F[F[b>>2]+8>>2]](b,a)|0}else{a=0}return a|0}function ei(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=Z-32|0;Z=g;F[a+68>>2]=f;d=F[a+56>>2];e=F[d>>2];d=F[d+4>>2];F[g+24>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=F[a+56>>2];d=F[e>>2];if(F[e+4>>2]-d>>2>>>0<=j>>>0){break a}Mb(m,F[d+(j<<2)>>2],g+16|0);i=F[g+20>>2];d=i>>31;h=F[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=F[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){F[g+16>>2]=F[a+108>>2];break b}f=F[a+108>>2];l=f>>31;h=li(ki(f,l,h,h>>31),_,e,d);F[g+16>>2]=h;d=li(ki(f,l,i,i>>31),_,e,d);F[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){F[g+24>>2]=f-d;break b}F[g+24>>2]=d-f}d=wa(o);f=F[g+16>>2];c:{if(d){F[g+24>>2]=0-F[g+24>>2];e=0-F[g+20>>2]|0;F[g+20>>2]=e;f=0-f|0;F[g+16>>2]=f;break c}e=F[g+20>>2]}d:{if((f|0)>=0){f=F[a+108>>2];d=f+F[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=F[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=F[g+24>>2];f=d>>31;f=F[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=F[a+100>>2]+(d-(d^e)|0)|0}e=F[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=F[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=F[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=F[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=F[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}F[g+12>>2]=d;F[g+8>>2]=f;j:{if(F[a+8>>2]<=0){break j}i=F[a+32>>2];f=0;while(1){d=f<<2;e=F[d+(g+8|0)>>2];h=F[a+16>>2];k:{if((e|0)>(h|0)){F[d+i>>2]=h;break k}d=d+i|0;h=F[a+12>>2];if((h|0)>(e|0)){F[d>>2]=h;break k}F[d>>2]=e}f=f+1|0;e=F[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=F[f+k>>2]+F[f+i>>2]|0;F[e>>2]=f;l:{if((f|0)>F[a+16>>2]){f=f-F[a+20>>2]|0}else{if((f|0)>=F[a+12>>2]){break l}f=f+F[a+20>>2]|0}F[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}Z=g+32|0;return 1}ta();v()}function Vh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=Z-32|0;Z=g;F[a+68>>2]=f;d=F[a+56>>2];e=F[d>>2];d=F[d+4>>2];F[g+24>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=F[a+56>>2];d=F[e>>2];if(F[e+4>>2]-d>>2>>>0<=j>>>0){break a}Kb(m,F[d+(j<<2)>>2],g+16|0);i=F[g+20>>2];d=i>>31;h=F[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=F[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){F[g+16>>2]=F[a+108>>2];break b}f=F[a+108>>2];l=f>>31;h=li(ki(f,l,h,h>>31),_,e,d);F[g+16>>2]=h;d=li(ki(f,l,i,i>>31),_,e,d);F[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){F[g+24>>2]=f-d;break b}F[g+24>>2]=d-f}d=wa(o);f=F[g+16>>2];c:{if(d){F[g+24>>2]=0-F[g+24>>2];e=0-F[g+20>>2]|0;F[g+20>>2]=e;f=0-f|0;F[g+16>>2]=f;break c}e=F[g+20>>2]}d:{if((f|0)>=0){f=F[a+108>>2];d=f+F[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=F[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=F[g+24>>2];f=d>>31;f=F[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=F[a+100>>2]+(d-(d^e)|0)|0}e=F[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=F[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=F[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=F[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=F[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}F[g+12>>2]=d;F[g+8>>2]=f;j:{if(F[a+8>>2]<=0){break j}i=F[a+32>>2];f=0;while(1){d=f<<2;e=F[d+(g+8|0)>>2];h=F[a+16>>2];k:{if((e|0)>(h|0)){F[d+i>>2]=h;break k}d=d+i|0;h=F[a+12>>2];if((h|0)>(e|0)){F[d>>2]=h;break k}F[d>>2]=e}f=f+1|0;e=F[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=F[f+k>>2]+F[f+i>>2]|0;F[e>>2]=f;l:{if((f|0)>F[a+16>>2]){f=f-F[a+20>>2]|0}else{if((f|0)>=F[a+12>>2]){break l}f=f+F[a+20>>2]|0}F[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}Z=g+32|0;return 1}ta();v()}function $a(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;h=Z-32|0;Z=h;a:{b:{if(F[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=ka(b<<2);F[h+24>>2]=b;F[h+20>>2]=0;F[h+16>>2]=c;b=F[a>>2];F[h+12>>2]=0;F[h+8>>2]=b;c=F[a+4>>2];F[h+4>>2]=c&31;F[h>>2]=b+(c>>>3&536870908);e=Z-32|0;Z=e;i=F[h+4>>2];g=F[h+12>>2];j=F[h>>2];d=F[h+8>>2];b=(i-g|0)+(j-d<<3)|0;f=F[h+20>>2];c=b+f|0;F[h+20>>2]=c;if(!((c-1^f-1)>>>0<32?f:0)){F[F[h+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=F[h+16>>2]+(f>>>3&536870908)|0;f=f&31;c:{if((f|0)==(g|0)){if((b|0)<=0){break c}if(g){i=32-g|0;f=(b|0)<(i|0)?b:i;i=-1<>>i-f;F[c>>2]=F[c>>2]&(i^-1)|i&F[d>>2];d=d+4|0;c=(g+f>>>3&536870908)+c|0;b=b-f|0}g=(b|0)/32|0;if(b+31>>>0>=63){pa(c,d,g<<2)}b=b-(g<<5)|0;if((b|0)<=0){break c}f=c;c=g<<2;g=f+c|0;b=-1>>>32-b|0;F[g>>2]=F[g>>2]&(b^-1)|b&F[c+d>>2];break c}F[e+28>>2]=g;F[e+24>>2]=d;F[e+20>>2]=i;F[e+16>>2]=j;F[e+12>>2]=f;F[e+8>>2]=c;b=F[e+28>>2];c=F[e+24>>2];g=(F[e+20>>2]-b|0)+(F[e+16>>2]-c<<3)|0;d:{if((g|0)<=0){b=F[e+12>>2];d=F[e+8>>2];break d}e:{if(!b){b=F[e+12>>2];break e}d=F[e+12>>2];j=32-d|0;k=32-b|0;f=(g|0)<(k|0)?g:k;i=f>>>0>j>>>0?j:f;l=F[e+8>>2];m=F[l>>2]&(-1<>>j-i^-1);j=F[c>>2]&(-1<>>k-f);F[l>>2]=m|(b>>>0>>0?j<>>b-d|0);c=d+i|0;b=c&31;F[e+12>>2]=b;d=l+(c>>>3&536870908)|0;F[e+8>>2]=d;c=f-i|0;if((c|0)>0){F[d>>2]=F[d>>2]&(-1>>>32-c^-1)|j>>>i+F[e+28>>2];F[e+12>>2]=c;b=c}g=g-f|0;c=F[e+24>>2]+4|0;F[e+24>>2]=c}i=-1<=32){j=i^-1;while(1){d=F[e+8>>2];c=F[c>>2];F[d>>2]=j&F[d>>2]|c<>2]=d+4;F[d+4>>2]=i&F[d+4>>2]|c>>>f;c=F[e+24>>2]+4|0;F[e+24>>2]=c;d=g>>>0>63;g=g-32|0;if(d){continue}break}}d=F[e+8>>2];if((g|0)<=0){break d}j=f;f=(g|0)>(f|0)?f:g;j=F[d>>2]&(i&-1>>>j-f^-1);i=F[c>>2]&-1>>>32-g;F[d>>2]=j|i<>2]=c;d=(b>>>3&536870908)+d|0;F[e+8>>2]=d;b=g-f|0;if((b|0)<=0){b=c;break d}F[d>>2]=F[d>>2]&(-1>>>32-b^-1)|i>>>f;F[e+12>>2]=b}F[e+4>>2]=b;F[e>>2]=d}Z=e+32|0;b=F[a>>2];F[a>>2]=F[h+16>>2];F[h+16>>2]=b;c=F[a+4>>2];F[a+4>>2]=F[h+20>>2];F[h+20>>2]=c;c=F[a+8>>2];F[a+8>>2]=F[h+24>>2];F[h+24>>2]=c;if(!b){break b}ja(b)}Z=h+32|0;return}na();v()}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=$[F[F[a>>2]+44>>2]](a)|0;a:{if((n|0)<=0){break a}i=F[b+4>>2]-F[b>>2]>>2;e=Z+-64|0;Z=e;f=kb(e);d=L(F[2541],n);cc(f,F[F[a+8>>2]+56>>2],n&255,5,0,d,d>>31);f=bc(ka(96),f);D[f+84|0]=1;F[f+72>>2]=F[f+68>>2];ac(f,i);F[f+60>>2]=F[F[a+8>>2]+60>>2];d=F[a+16>>2];F[a+16>>2]=f;if(d){xa(d)}Z=e- -64|0;h=F[a+16>>2];if(!F[h+80>>2]){break a}j=F[F[h>>2]>>2];if(!j){break a}m=F[c+12>>2];e=m;d=F[c+20>>2];g=F[c+8>>2];k=F[c+16>>2];if((e|0)<=(d|0)&g>>>0<=k>>>0|(d|0)>(e|0)){break a}l=L(i,n);i=j+F[h+48>>2]|0;h=F[c>>2];j=G[h+k|0];e=k+1|0;f=e?d:d+1|0;F[c+16>>2]=e;F[c+20>>2]=f;b:{c:{if(j){if(mc(l,n,c,i)){break c}break a}if((f|0)>=(m|0)&e>>>0>=g>>>0|(f|0)>(m|0)){break a}g=G[e+h|0];f=k+2|0;d=f>>>0<2?d+1|0:d;F[c+16>>2]=f;F[c+20>>2]=d;d=F[F[a+16>>2]+64>>2];d=F[d+4>>2]-F[d>>2]|0;if((g|0)==F[2541]){e=l<<2;if(e>>>0>d>>>0){break a}g=F[c+8>>2];k=F[c+12>>2];j=F[c+20>>2];d=F[c+16>>2];f=e+d|0;j=f>>>0>>0?j+1|0:j;if(f>>>0>g>>>0&(j|0)>=(k|0)|(j|0)>(k|0)){break a}la(i,d+F[c>>2]|0,e);f=F[c+20>>2];d=e+F[c+16>>2]|0;f=d>>>0>>0?f+1|0:f;F[c+16>>2]=d;F[c+20>>2]=f;break c}if(d>>>0>>0){break a}d=F[c+8>>2];f=F[c+16>>2];e=d-f|0;m=d>>>0>>0;d=F[c+20>>2];k=F[c+12>>2]-(m+d|0)|0;m=ki(g,0,l,0)>>>0>e>>>0;e=_;if(m&(e|0)>=(k|0)|(e|0)>(k|0)){break a}e=1;if(!l){break b}h=0;while(1){k=F[c+8>>2];j=F[c+12>>2];e=f+g|0;d=e>>>0>>0?d+1|0:d;if(e>>>0>k>>>0&(d|0)>=(j|0)|(d|0)>(j|0)){return 0}la(i+(h<<2)|0,F[c>>2]+f|0,g);d=F[c+20>>2];f=g+F[c+16>>2]|0;d=f>>>0>>0?d+1|0:d;F[c+16>>2]=f;F[c+20>>2]=d;h=h+1|0;if((l|0)!=(h|0)){continue}break}}e=1;if(!l){break b}d=F[a+20>>2];if(d){e=0;if($[F[F[d>>2]+32>>2]](d)|0){break b}}g=0;h=0;d:{if((l|0)<=0){break d}if((l|0)!=1){f=l&-2;while(1){e=g<<2;d=F[e+i>>2];F[e+i>>2]=0-(d&1)^d>>>1;d=e|4;e=F[d+i>>2];F[d+i>>2]=0-(e&1)^e>>>1;g=g+2|0;h=h+2|0;if((f|0)!=(h|0)){continue}break}}if(!(l&1)){break d}d=g<<2;f=F[d+i>>2];F[d+i>>2]=0-(f&1)^f>>>1}e=0}d=e;f=F[a+20>>2];e:{if(!f){break e}if(!($[F[F[f>>2]+40>>2]](f,c)|0)){break a}if(d){break e}a=F[a+20>>2];if(!($[F[F[a>>2]+44>>2]](a,i,i,l,n,F[b>>2])|0)){break a}}o=1}return o|0}function Lh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Z-48|0;Z=g;d=F[a+8>>2];if(d-2>>>0<=28){F[a+76>>2]=d;e=-1<>2]=d;F[a+80>>2]=e^-1;F[a+92>>2]=(d|0)/2;J[a+88>>2]=M(2)/M(d|0)}F[a+52>>2]=f;d=F[a+40>>2];e=F[d>>2];d=F[d+4>>2];F[g+16>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=F[a+40>>2];d=F[e>>2];if(F[e+4>>2]-d>>2>>>0<=j>>>0){break a}Mb(n,F[d+(j<<2)>>2],g+8|0);h=F[g+12>>2];d=h>>31;i=F[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=F[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){F[g+8>>2]=F[a+92>>2];break b}f=F[a+92>>2];k=f>>31;i=li(ki(f,k,i,i>>31),_,e,d);F[g+8>>2]=i;d=li(ki(f,k,h,h>>31),_,e,d);F[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){F[g+16>>2]=f-d;break b}F[g+16>>2]=d-f}d=wa(p);f=F[g+8>>2];c:{if(d){F[g+16>>2]=0-F[g+16>>2];e=0-F[g+12>>2]|0;F[g+12>>2]=e;f=0-f|0;F[g+8>>2]=f;break c}e=F[g+12>>2]}d:{if((f|0)>=0){f=F[a+92>>2];d=f+F[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=F[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=F[g+16>>2];f=d>>31;f=F[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=F[a+84>>2]+(d-(d^e)|0)|0}e=F[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=F[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=F[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=F[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=F[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=F[h>>2];h=F[h+4>>2];F[g+36>>2]=d;F[g+32>>2]=f;F[g+24>>2]=i;F[g+28>>2]=h;Jb(g+40|0,m,g+32|0,g+24|0);d=c+e|0;F[d>>2]=F[g+40>>2];F[d+4>>2]=F[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}Z=g+48|0;return 1}ta();v()}function Hh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Z-48|0;Z=g;d=F[a+8>>2];if(d-2>>>0<=28){F[a+76>>2]=d;e=-1<>2]=d;F[a+80>>2]=e^-1;F[a+92>>2]=(d|0)/2;J[a+88>>2]=M(2)/M(d|0)}F[a+52>>2]=f;d=F[a+40>>2];e=F[d>>2];d=F[d+4>>2];F[g+16>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=F[a+40>>2];d=F[e>>2];if(F[e+4>>2]-d>>2>>>0<=j>>>0){break a}Kb(n,F[d+(j<<2)>>2],g+8|0);h=F[g+12>>2];d=h>>31;i=F[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=F[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){F[g+8>>2]=F[a+92>>2];break b}f=F[a+92>>2];k=f>>31;i=li(ki(f,k,i,i>>31),_,e,d);F[g+8>>2]=i;d=li(ki(f,k,h,h>>31),_,e,d);F[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){F[g+16>>2]=f-d;break b}F[g+16>>2]=d-f}d=wa(p);f=F[g+8>>2];c:{if(d){F[g+16>>2]=0-F[g+16>>2];e=0-F[g+12>>2]|0;F[g+12>>2]=e;f=0-f|0;F[g+8>>2]=f;break c}e=F[g+12>>2]}d:{if((f|0)>=0){f=F[a+92>>2];d=f+F[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=F[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=F[g+16>>2];f=d>>31;f=F[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=F[a+84>>2]+(d-(d^e)|0)|0}e=F[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=F[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=F[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=F[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=F[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=F[h>>2];h=F[h+4>>2];F[g+36>>2]=d;F[g+32>>2]=f;F[g+24>>2]=i;F[g+28>>2]=h;Jb(g+40|0,m,g+32|0,g+24|0);d=c+e|0;F[d>>2]=F[g+40>>2];F[d+4>>2]=F[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}Z=g+48|0;return 1}ta();v()}function Nd(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,n=0,o=0;a:{if(!H[b+38>>1]){break a}if(!Ta(1,a+12|0,b)){break a}d=F[b+8>>2];e=F[b+16>>2];g=d-e|0;f=F[a+12>>2];d=F[b+12>>2]-(F[b+20>>2]+(d>>>0>>0)|0)|0;if(g>>>0>>6>>>0&(d|0)<=0|(d|0)<0){break a}d=F[a>>2];c=F[a+4>>2]-d>>2;b:{if(c>>>0>>0){qa(a,f-c|0);f=F[a+12>>2];break b}if(c>>>0<=f>>>0){break b}F[a+4>>2]=d+(f<<2)}if(!f){return 1}d=F[b+16>>2];c=F[b+20>>2];l=F[a>>2];j=F[b+8>>2];i=F[b+12>>2];g=0;while(1){if((c|0)>=(i|0)&d>>>0>=j>>>0|(c|0)>(i|0)){return 0}m=F[b>>2];k=G[m+d|0];d=d+1|0;c=d?c:c+1|0;F[b+16>>2]=d;F[b+20>>2]=c;e=k>>>2|0;h=0;c:{d:{e:{f:{n=k&3;switch(n|0){case 3:break f;case 0:break d;default:break e}}e=e+g|0;if(e>>>0>=f>>>0){return 0}ma(l+(g<<2)|0,0,(k&252)+4|0);g=e;break c}while(1){if((d|0)==(j|0)&(c|0)==(i|0)){break a}f=G[d+m|0];d=d+1|0;c=d?c:c+1|0;F[b+16>>2]=d;F[b+20>>2]=c;e=f<<(h<<3|6)|e;h=h+1|0;if((n|0)!=(h|0)){continue}break}}F[l+(g<<2)>>2]=e}f=F[a+12>>2];g=g+1|0;if(f>>>0>g>>>0){continue}break}b=a+16|0;j=F[a>>2];d=F[a+16>>2];c=F[a+20>>2]-d|0;g:{if(c>>>0<=16383){qa(b,4096-(c>>>2|0)|0);break g}if((c|0)==16384){break g}F[a+20>>2]=d+16384}c=a+28|0;g=F[c>>2];d=F[a+32>>2]-g>>3;h:{if(d>>>0>>0){_a(c,f-d|0);g=F[c>>2];break h}if(d>>>0>f>>>0){F[a+32>>2]=(f<<3)+g}if(!f){break a}}d=F[b>>2];b=0;a=0;while(1){c=j+(b<<2)|0;h=F[c>>2];e=a;i=(b<<3)+g|0;F[i+4>>2]=a;F[i>>2]=h;c=F[c>>2];a=c+a|0;if(a>>>0>4096){break a}i:{if(a>>>0<=e>>>0){break i}h=0;i=c&7;if(i){while(1){F[d+(e<<2)>>2]=b;e=e+1|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}if(c-1>>>0<=6){break i}while(1){c=d+(e<<2)|0;F[c>>2]=b;F[c+28>>2]=b;F[c+24>>2]=b;F[c+20>>2]=b;F[c+16>>2]=b;F[c+12>>2]=b;F[c+8>>2]=b;F[c+4>>2]=b;e=e+8|0;if((e|0)!=(a|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}o=(a|0)==4096}return o}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=Z-32|0;Z=f;e=f+8|0;c=Z-80|0;Z=c;a=F[b+36>>2];F[c+72>>2]=F[b+32>>2];F[c+76>>2]=a;d=F[b+28>>2];a=c- -64|0;F[a>>2]=F[b+24>>2];F[a+4>>2]=d;a=F[b+20>>2];F[c+56>>2]=F[b+16>>2];F[c+60>>2]=a;a=F[b+12>>2];F[c+48>>2]=F[b+8>>2];F[c+52>>2]=a;a=F[b+4>>2];F[c+40>>2]=F[b>>2];F[c+44>>2]=a;jc(c+8|0,c+40|0,c+24|0);a=F[c+8>>2];a:{if(a){F[e>>2]=a;a=e+4|0;if(D[c+23|0]>=0){b=c+8|4;e=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=e;F[a+8>>2]=F[b+8>>2];break a}ra(a,F[c+12>>2],F[c+16>>2]);if(D[c+23|0]>=0){break a}ja(F[c+12>>2]);break a}if(D[c+23|0]<0){ja(F[c+12>>2])}a=G[c+31|0];if(a>>>0>=2){b=ka(32);D[b+26|0]=0;a=G[1475]|G[1476]<<8;D[b+24|0]=a;D[b+25|0]=a>>>8;a=G[1471]|G[1472]<<8|(G[1473]<<16|G[1474]<<24);d=G[1467]|G[1468]<<8|(G[1469]<<16|G[1470]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=a;D[b+21|0]=a>>>8;D[b+22|0]=a>>>16;D[b+23|0]=a>>>24;a=G[1463]|G[1464]<<8|(G[1465]<<16|G[1466]<<24);d=G[1459]|G[1460]<<8|(G[1461]<<16|G[1462]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=a;D[b+13|0]=a>>>8;D[b+14|0]=a>>>16;D[b+15|0]=a>>>24;a=G[1455]|G[1456]<<8|(G[1457]<<16|G[1458]<<24);d=G[1451]|G[1452]<<8|(G[1453]<<16|G[1454]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=a;D[b+5|0]=a>>>8;D[b+6|0]=a>>>16;D[b+7|0]=a>>>24;F[c+8>>2]=-1;a=c+8|4;ra(a,b,26);d=D[c+23|0];F[e>>2]=F[c+8>>2];e=e+4|0;if((d|0)>=0){d=F[a+4>>2];F[e>>2]=F[a>>2];F[e+4>>2]=d;F[e+8>>2]=F[a+8>>2];ja(b);break a}ra(e,F[c+12>>2],F[c+16>>2]);if(D[c+23|0]<0){ja(F[c+12>>2])}ja(b);break a}F[e>>2]=0;F[e+4>>2]=0;F[e+16>>2]=a;F[e+8>>2]=0;F[e+12>>2]=0}Z=c+80|0;a=F[f+24>>2];if(D[f+23|0]<0){ja(F[f+12>>2])}Z=f+32|0;return a|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=Z-32|0;Z=e;a:{if((c|0)!=3){break a}c=F[a+4>>2];f=F[a+12>>2];F[e+24>>2]=-1;F[e+16>>2]=-1;F[e+20>>2]=1065353216;F[e+8>>2]=-1;F[e+12>>2]=-1;if((b|0)==-2){break a}i=F[F[F[c+4>>2]+8>>2]+(f<<2)>>2];if(($[F[F[c>>2]+8>>2]](c)|0)==1){h=F[F[F[c+4>>2]+8>>2]+(f<<2)>>2];b:{if(($[F[F[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break b}g=$[F[F[c>>2]+36>>2]](c)|0;a=$[F[F[c>>2]+44>>2]](c,f)|0;if(!g|!a){break b}f=$[F[F[c>>2]+40>>2]](c,f)|0;c:{if(f){if((b|0)!=6){break b}b=F[c+44>>2];d=ka(112);F[d+4>>2]=h;c=F[e+12>>2];F[d+8>>2]=F[e+8>>2];F[d+12>>2]=c;c=F[e+20>>2];F[d+16>>2]=F[e+16>>2];F[d+20>>2]=c;F[d+24>>2]=F[e+24>>2];F[d+40>>2]=a;c=a+12|0;F[d+36>>2]=c;F[d+32>>2]=f;F[d+28>>2]=b;F[d+68>>2]=a;F[d- -64>>2]=c;F[d+60>>2]=f;F[d+56>>2]=b;F[d+48>>2]=0;F[d+52>>2]=0;F[d>>2]=5928;F[d+88>>2]=1065353216;F[d+92>>2]=-1;F[d+80>>2]=-1;F[d+84>>2]=-1;F[d+72>>2]=1;F[d+76>>2]=-1;F[d+44>>2]=6492;a=d+96|0;break c}if((b|0)!=6){break b}b=F[c+44>>2];d=ka(112);F[d+4>>2]=h;c=F[e+12>>2];F[d+8>>2]=F[e+8>>2];F[d+12>>2]=c;c=F[e+20>>2];F[d+16>>2]=F[e+16>>2];F[d+20>>2]=c;F[d+24>>2]=F[e+24>>2];F[d+40>>2]=a;c=a+12|0;F[d+36>>2]=c;F[d+32>>2]=g;F[d+28>>2]=b;F[d+68>>2]=a;F[d- -64>>2]=c;F[d+60>>2]=g;F[d+56>>2]=b;F[d+48>>2]=0;F[d+52>>2]=0;F[d>>2]=6932;F[d+88>>2]=1065353216;F[d+92>>2]=-1;F[d+80>>2]=-1;F[d+84>>2]=-1;F[d+72>>2]=1;F[d+76>>2]=-1;F[d+44>>2]=7352;a=d+96|0}F[a>>2]=0;F[a+4>>2]=0;D[a+5|0]=0;D[a+6|0]=0;D[a+7|0]=0;D[a+8|0]=0;D[a+9|0]=0;D[a+10|0]=0;D[a+11|0]=0;D[a+12|0]=0}if(d){break a}}d=ka(28);F[d+4>>2]=i;a=F[e+12>>2];F[d+8>>2]=F[e+8>>2];F[d+12>>2]=a;a=F[e+20>>2];F[d+16>>2]=F[e+16>>2];F[d+20>>2]=a;F[d+24>>2]=F[e+24>>2];F[d>>2]=7764}Z=e+32|0;return d|0}function $c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Z-80|0;Z=f;a:{if(!Wb(1,f+76|0,b)){break a}k=F[f+76>>2];if(!k){break a}c=F[b+8>>2];e=F[b+16>>2];c=ki(c-e|0,F[b+12>>2]-(F[b+20>>2]+(c>>>0>>0)|0)|0,5,0);e=_;if(c>>>0>>0&(e|0)<=0|(e|0)<0){break a}c=F[a+4>>2];d=F[a+8>>2]-c>>2;b:{if(d>>>0>>0){qa(a+4|0,k-d|0);break b}if(d>>>0<=k>>>0){break b}F[a+8>>2]=c+(k<<2)}p=a+16|0;l=F[a+32>>2];while(1){g=F[b+12>>2];c=g;d=F[b+20>>2];h=F[b+8>>2];e=F[b+16>>2];if((c|0)<=(d|0)&h>>>0<=e>>>0|(c|0)<(d|0)){d=0;break a}m=F[b>>2];q=G[m+e|0];c=d;i=e+1|0;c=i?c:c+1|0;F[b+16>>2]=i;F[b+20>>2]=c;if(h>>>0<=i>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){d=0;break a}i=G[i+m|0];c=d;j=e+2|0;c=j>>>0<2?c+1|0:c;F[b+16>>2]=j;F[b+20>>2]=c;if(h>>>0<=j>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){d=0;break a}j=G[j+m|0];c=d;n=e+3|0;c=n>>>0<3?c+1|0:c;F[b+16>>2]=n;F[b+20>>2]=c;if(h>>>0<=n>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){d=0;break a}h=G[m+n|0];c=d;d=e+4|0;c=d>>>0<4?c+1|0:c;F[b+16>>2]=d;F[b+20>>2]=c;if(q>>>0>4){d=0;break a}if((i-12&255)>>>0<245){d=0;break a}if(!j){d=0;break a}c=kb(f+8|0);g=(h|0)!=0;d=i-1|0;if(d>>>0<=10){d=F[(d<<2)+10148>>2]}else{d=-1}d=L(d,j);cc(c,q,j,i,g,d,d>>31);if(Wb(1,f+4|0,b)){e=F[f+4>>2];F[f+68>>2]=e;d=bc(ka(96),c);$[F[F[l>>2]+8>>2]](l,F[l+12>>2]-F[l+8>>2]>>2,d);d=(F[l+12>>2]-F[l+8>>2]>>2)-1|0;h=d<<2;F[F[h+F[l+8>>2]>>2]+60>>2]=e;F[F[a+4>>2]+(o<<2)>>2]=d;c=F[a+16>>2];e=F[a+20>>2]-c>>2;c:{if((e|0)>(d|0)){break c}F[f>>2]=-1;d=d+1|0;if(d>>>0>e>>>0){Fa(p,d-e|0,f);c=F[p>>2];break c}if(d>>>0>=e>>>0){break c}F[a+20>>2]=(d<<2)+c}F[c+h>>2]=o;d=1;o=o+1|0;if((o|0)!=(k|0)){continue}break a}break}d=0}Z=f+80|0;return d|0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=Z-16|0;Z=k;F[k+8>>2]=c;h=F[a+12>>2];d=F[a+8>>2];g=h-d>>2;a:{if((g|0)>(b|0)){break a}e=b+1|0;if(e>>>0>g>>>0){l=e-g|0;f=F[a+16>>2];d=F[a+12>>2];if(l>>>0<=f-d>>2>>>0){if(l){e=d;d=l<<2;d=ma(e,0,d)+d|0}F[a+12>>2]=d;break a}b:{c:{d:{m=F[a+8>>2];g=d-m>>2;i=g+l|0;if(i>>>0<1073741824){e=f-m|0;f=e>>>1|0;e=e>>>0>=2147483644?1073741823:f>>>0>i>>>0?f:i;if(e){if(e>>>0>=1073741824){break d}j=ka(e<<2)}h=(g<<2)+j|0;f=l<<2;i=ma(h,0,f);g=f+i|0;e=(e<<2)+j|0;if((d|0)==(m|0)){break c}while(1){d=d-4|0;f=F[d>>2];F[d>>2]=0;h=h-4|0;F[h>>2]=f;if((d|0)!=(m|0)){continue}break}F[a+16>>2]=e;e=F[a+12>>2];F[a+12>>2]=g;d=F[a+8>>2];F[a+8>>2]=h;if((d|0)==(e|0)){break b}while(1){e=e-4|0;f=F[e>>2];F[e>>2]=0;if(f){xa(f)}if((d|0)!=(e|0)){continue}break}break b}na();v()}oa();v()}F[a+16>>2]=e;F[a+12>>2]=g;F[a+8>>2]=i}if(d){ja(d)}break a}if(e>>>0>=g>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(h|0)){while(1){h=h-4|0;c=F[h>>2];F[h>>2]=0;if(c){xa(c)}if((d|0)!=(h|0)){continue}break}c=F[k+8>>2]}F[a+12>>2]=d}e:{f:{d=F[c+56>>2];g:{if((d|0)>4){break g}j=L(d,12)+a|0;d=F[j+24>>2];if((d|0)!=F[j+28>>2]){F[d>>2]=b;F[j+24>>2]=d+4;break g}i=F[j+20>>2];g=d-i|0;f=g>>2;e=f+1|0;if(e>>>0>=1073741824){break f}d=g>>>1|0;e=g>>>0>=2147483644?1073741823:d>>>0>e>>>0?d:e;if(e){if(e>>>0>=1073741824){break e}d=ka(e<<2)}else{d=0}f=d+(f<<2)|0;F[f>>2]=b;d=pa(d,i,g);F[j+20>>2]=d;F[j+24>>2]=f+4;F[j+28>>2]=d+(e<<2);if(!i){break g}ja(i)}F[c+60>>2]=b;a=F[a+8>>2];F[k+8>>2]=0;a=a+(b<<2)|0;b=F[a>>2];F[a>>2]=c;if(b){xa(b)}a=F[k+8>>2];F[k+8>>2]=0;if(a){xa(a)}Z=k+16|0;return}na();v()}oa();v()}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c;d=a;a:{if(F[a+12>>2]==(b|0)){break a}a=b;b=F[d+4>>2];e=F[d>>2];if((b|0)!=(e|0)){while(1){c=b-12|0;if(D[b-1|0]<0){ja(F[c>>2])}b=c;if((e|0)!=(b|0)){continue}break}}F[d+12>>2]=a;F[d+4>>2]=e;c=F[a>>2];j=a+4|0;if((c|0)==(j|0)){break a}while(1){a=F[d+4>>2];b:{if((a|0)!=F[d+8>>2]){c:{if(D[c+27|0]>=0){b=F[c+20>>2];F[a>>2]=F[c+16>>2];F[a+4>>2]=b;F[a+8>>2]=F[c+24>>2];break c}ra(a,F[c+16>>2],F[c+20>>2])}F[d+4>>2]=a+12;break b}g=0;d:{e:{f:{a=F[d+4>>2];e=F[d>>2];f=(a-e|0)/12|0;b=f+1|0;if(b>>>0<357913942){h=(F[d+8>>2]-e|0)/12|0;k=h<<1;b=h>>>0>=178956970?357913941:b>>>0>>0?k:b;if(b){if(b>>>0>=357913942){break f}g=ka(L(b,12))}h=L(b,12);b=L(f,12)+g|0;g:{if(D[c+27|0]>=0){f=F[c+20>>2];F[b>>2]=F[c+16>>2];F[b+4>>2]=f;F[b+8>>2]=F[c+24>>2];break g}ra(b,F[c+16>>2],F[c+20>>2]);e=F[d>>2];a=F[d+4>>2]}g=g+h|0;f=b+12|0;if((a|0)==(e|0)){break e}while(1){a=a-12|0;h=F[a+4>>2];b=b-12|0;F[b>>2]=F[a>>2];F[b+4>>2]=h;F[b+8>>2]=F[a+8>>2];F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;if((a|0)!=(e|0)){continue}break}F[d+8>>2]=g;a=F[d+4>>2];F[d+4>>2]=f;e=F[d>>2];F[d>>2]=b;if((a|0)==(e|0)){break d}while(1){b=a-12|0;if(D[a-1|0]<0){ja(F[b>>2])}a=b;if((e|0)!=(b|0)){continue}break}break d}na();v()}oa();v()}F[d+8>>2]=g;F[d+4>>2]=f;F[d>>2]=b}if(e){ja(e)}}b=F[c+4>>2];h:{if(b){while(1){a=b;b=F[b>>2];if(b){continue}break h}}while(1){a=F[c+8>>2];b=F[a>>2]!=(c|0);c=a;if(b){continue}break}}c=a;if((j|0)!=(a|0)){continue}break}}a=0;i:{if((i|0)<0){break i}b=F[d>>2];if((F[d+4>>2]-b|0)/12>>>0<=i>>>0){break i}a=b+L(i,12)|0;a=D[a+11|0]<0?F[a>>2]:a}return a|0}function Ad(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,n=0;i=Z-16|0;Z=i;F[i>>2]=b;f=-1;a:{if((b|0)==-1){F[i+4>>2]=-1;break a}f=b+1|0;F[i+4>>2]=(f>>>0)%3|0?f:b-2|0;if((b>>>0)%3|0){f=b-1|0;break a}f=b+2|0}F[i+8>>2]=f;n=(b>>>0)/3|0;b:{c:{d:{while(1){e:{f:{j=F[(l<<2)+i>>2];if((j|0)!=-1){f=F[F[F[a+8>>2]+12>>2]+(j<<2)>>2];if((f|0)!=-1){break f}}f=0;g=F[a+216>>2];if((g|0)==F[a+220>>2]){break e}while(1){g=L(f,144)+g|0;d=F[g+136>>2];c=F[g+140>>2];g:{if(d>>>0>>0){F[d>>2]=j;F[g+136>>2]=d+4;break g}e=d;d=F[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break d}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=ka(h<<2)}else{c=0}e=m+c|0;F[e>>2]=j;c=pa(c,d,k);F[g+132>>2]=c;F[g+136>>2]=e+4;F[g+140>>2]=c+(h<<2);if(!d){break g}ja(d)}f=f+1|0;g=F[a+216>>2];if(f>>>0<(F[a+220>>2]-g|0)/144>>>0){continue}break}break e}if((b|0)==-1|(f>>>0)/3>>>0>>0){break e}f=0;if(F[a+220>>2]==F[a+216>>2]){break e}while(1){h:{if(!wa(F[a+368>>2]+(f<<4)|0)){break h}g=F[a+216>>2]+L(f,144)|0;d=F[g+136>>2];c=F[g+140>>2];if(d>>>0>>0){F[d>>2]=j;F[g+136>>2]=d+4;break h}e=d;d=F[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break b}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=ka(h<<2)}else{c=0}e=m+c|0;F[e>>2]=j;c=pa(c,d,k);F[g+132>>2]=c;F[g+136>>2]=e+4;F[g+140>>2]=c+(h<<2);if(!d){break h}ja(d)}f=f+1|0;if(f>>>0<(F[a+220>>2]-F[a+216>>2]|0)/144>>>0){continue}break}}l=l+1|0;if((l|0)!=3){continue}break}Z=i+16|0;return 1}na();v()}oa();v()}na();v()}function Bd(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;h=Z-16|0;Z=h;m=-1;a:{b:{c:{if(!Da(1,h+12|0,b)){break c}j=F[h+12>>2];if(j){c=F[a+8>>2];if((F[c+4>>2]-F[c>>2]>>2>>>0)/3>>>0>>0){break c}while(1){if(!Da(1,h+8|0,b)){break c}c=F[h+8>>2];if(!Da(1,h+8|0,b)){break c}g=c+g|0;c=F[h+8>>2];if(g>>>0>>0){break c}e=g-c|0;c=F[a+40>>2];d:{if((c|0)!=F[a+44>>2]){F[c+4>>2]=g;F[c>>2]=e;F[a+40>>2]=c+12;j=F[h+12>>2];break d}d=c;c=F[a+36>>2];l=d-c|0;d=(l|0)/12|0;f=d+1|0;if(f>>>0>=357913942){break b}i=d<<1;f=d>>>0>=178956970?357913941:f>>>0>>0?i:f;if(f){if(f>>>0>=357913942){break a}i=ka(L(f,12))}else{i=0}d=i+L(d,12)|0;F[d+4>>2]=g;F[d>>2]=e;e=pa(d+L((l|0)/-12|0,12)|0,c,l);F[a+44>>2]=i+L(f,12);F[a+40>>2]=d+12;F[a+36>>2]=e;if(!c){break d}ja(c)}k=k+1|0;if(k>>>0>>0){continue}break}g=0;hc(b,0,0);if(j){while(1){c=G[b+36|0];d=H[F[a+4>>2]+36>>1];e:{f:{if(((d<<8|d>>>8)&65535)>>>0<=513){if(!c){break e}e=0;d=F[b+32>>2];k=d>>>3|0;f=F[b+24>>2];c=k+f|0;i=F[b+28>>2];g:{if(c>>>0>=i>>>0){c=d;break g}e=G[c|0];c=d+1|0;F[b+32>>2]=c;k=c>>>3|0;e=e>>>(d&7)&1}if(i>>>0>f+k>>>0){break f}break e}if(!c){break e}e=0;c=F[b+32>>2];d=F[b+24>>2]+(c>>>3|0)|0;if(d>>>0>=I[b+28>>2]){break e}e=G[d|0]>>>(c&7)&1}F[b+32>>2]=c+1}c=F[a+36>>2]+L(g,12)|0;D[c+8|0]=G[c+8|0]&254|e&1;g=g+1|0;if((j|0)!=(g|0)){continue}break}}D[b+36|0]=0;d=F[b+20>>2];a=0;e=F[b+32>>2]+7|0;a=e>>>0<7?1:a;e=a<<29|e>>>3;c=e+F[b+16>>2]|0;a=(a>>>3|0)+d|0;F[b+16>>2]=c;F[b+20>>2]=c>>>0>>0?a+1|0:a}m=F[b+16>>2]}Z=h+16|0;return m}na();v()}oa();v()}function xf(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,l=0,m=0,n=0,o=0;m=Z-16|0;Z=m;l=F[b+80>>2];e=G[c+24|0];a=L(l,e);a:{b:{c:{d:{b=F[c+28>>2];if(!(!G[c+84|0]|(b|0)!=1&(b|0)!=2)){b=F[c+48>>2];c=F[F[c>>2]>>2];F[m+8>>2]=0;F[m>>2]=0;F[m+4>>2]=0;if(a){if((a|0)<0){break d}f=ka(a);h=la(f,b+c|0,a)+a|0}a=F[d>>2];if(a){F[d+4>>2]=a;ja(a)}F[d+8>>2]=h;F[d+4>>2]=h;F[d>>2]=f;b=1;break a}if(e){f=ka(e);ma(f,0,e)}e:{i=F[d+4>>2];b=F[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=F[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=ma(i,0,k)+k|0,F[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=ka(i);ma(j+g|0,0,k);g=pa(j,b,g);F[d+8>>2]=g+i;F[d+4>>2]=a+g;F[d>>2]=g;if(!b){break f}ja(b);break f}if(a>>>0>=g>>>0){break f}F[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!Cb(c,G[c+84|0]?a:F[F[c+68>>2]+(a<<2)>>2],D[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!Cb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){D[F[d>>2]+h|0]=G[a+f|0];D[(F[d>>2]+h|0)+1|0]=G[(a|1)+f|0];D[(F[d>>2]+h|0)+2|0]=G[(a|2)+f|0];D[(F[d>>2]+h|0)+3|0]=G[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){D[F[d>>2]+h|0]=G[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}na();v()}na();v()}if(!f){break a}}ja(f)}Z=m+16|0;return b&1}function wf(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,l=0,m=0,n=0,o=0;m=Z-16|0;Z=m;l=F[b+80>>2];e=G[c+24|0];a=L(l,e);a:{b:{c:{d:{b=F[c+28>>2];if(!(!G[c+84|0]|(b|0)!=1&(b|0)!=2)){b=F[c+48>>2];c=F[F[c>>2]>>2];F[m+8>>2]=0;F[m>>2]=0;F[m+4>>2]=0;if(a){if((a|0)<0){break d}f=ka(a);h=la(f,b+c|0,a)+a|0}a=F[d>>2];if(a){F[d+4>>2]=a;ja(a)}F[d+8>>2]=h;F[d+4>>2]=h;F[d>>2]=f;b=1;break a}if(e){f=ka(e);ma(f,0,e)}e:{i=F[d+4>>2];b=F[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=F[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=ma(i,0,k)+k|0,F[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=ka(i);ma(j+g|0,0,k);g=pa(j,b,g);F[d+8>>2]=g+i;F[d+4>>2]=a+g;F[d>>2]=g;if(!b){break f}ja(b);break f}if(a>>>0>=g>>>0){break f}F[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!Bb(c,G[c+84|0]?a:F[F[c+68>>2]+(a<<2)>>2],D[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!Bb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){D[F[d>>2]+h|0]=G[a+f|0];D[(F[d>>2]+h|0)+1|0]=G[(a|1)+f|0];D[(F[d>>2]+h|0)+2|0]=G[(a|2)+f|0];D[(F[d>>2]+h|0)+3|0]=G[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){D[F[d>>2]+h|0]=G[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}na();v()}na();v()}if(!f){break a}}ja(f)}Z=m+16|0;return b&1}function Jb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=F[b+16>>2];h=F[c+4>>2]-k|0;e=F[c>>2]-k|0;F[c>>2]=e;f=h;F[c+4>>2]=f;l=F[b+16>>2];f=f>>31;g=(h^f)-f|0;f=e>>31;m=l>>>0>=g+((f^e)-f|0)>>>0;a:{if(m){f=h;break a}b:{c:{if((e|0)>=0){g=1;j=1;if((h|0)>=0){break b}i=1;g=-1;j=-1;if(e){break c}break b}i=-1;g=-1;j=-1;if((h|0)<=0){break b}}g=(h|0)<=0?-1:1;j=i}n=L(j,l);f=(e<<1)-n|0;i=(L(g,j)|0)>=0;e=L(g,l);f=((i?0-f|0:f)+e|0)/2|0;F[c+4>>2]=f;e=(h<<1)-e|0;e=((i?0-e|0:e)+n|0)/2|0;F[c>>2]=e}d:{e:{f:{g:{h:{i:{j:{if(e){if((e|0)<0){break j}if((f|0)>=0){break i}break f}if(f){break h}j=1;g=0;f=0;i=0;break d}j=1;if((f|0)>0){break g}i=(f|0)>0?3:0;g=f;f=e;break d}g=0-f|0;f=0-e|0;i=2;break e}if((f|0)<=0){break f}}f=0-f|0;g=e;i=3;break e}g=0-e|0;i=1}F[c>>2]=f;F[c+4>>2]=g;j=0}e=F[d>>2]+f|0;h=F[b+16>>2];k:{if((e|0)>(h|0)){e=e-F[b+4>>2]|0;break k}if((0-h|0)<=(e|0)){break k}e=F[b+4>>2]+e|0}c=F[d+4>>2]+g|0;l:{if((h|0)<(c|0)){c=c-F[b+4>>2]|0;break l}if((0-h|0)<=(c|0)){break l}c=F[b+4>>2]+c|0}m:{if(j){b=c;break m}b=c;n:{o:{p:{d=4-i|0;switch((d>>>0<4?d:0-i|0)-1|0){case 2:break n;case 1:break o;case 0:break p;default:break m}}b=0-e|0;e=c;break m}b=0-c|0;e=0-e|0;break m}b=e;e=0-c|0}q:{if(m){c=b;break q}r:{s:{if((e|0)>=0){c=1;f=1;if((b|0)>=0){break r}d=1;c=-1;f=-1;if(e){break s}break r}d=-1;c=-1;f=-1;if((b|0)<=0){break r}}c=(b|0)<=0?-1:1;f=d}d=e<<1;e=L(f,h);d=d-e|0;f=(L(c,f)|0)>=0;g=f?0-d|0:d;d=L(c,h);c=(g+d|0)/2|0;b=(b<<1)-d|0;e=(e+(f?0-b|0:b)|0)/2|0}b=a;F[b>>2]=e+k;F[b+4>>2]=c+k}function Uh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;F[a+8>>2]=e;m=a+32|0;h=F[m>>2];g=F[a+36>>2]-h>>2;a:{if(g>>>0>>0){qa(m,e-g|0);f=F[a+8>>2];break a}f=e;if(f>>>0>=g>>>0){break a}F[a+36>>2]=h+(e<<2);f=e}g=e>>>0>1073741823?-1:e<<2;n=ma(ka(g),0,g);b:{if((f|0)<=0){break b}h=F[a+32>>2];while(1){f=i<<2;g=F[f+n>>2];j=F[a+16>>2];c:{if((g|0)>(j|0)){F[f+h>>2]=j;break c}f=f+h|0;j=F[a+12>>2];if((j|0)>(g|0)){F[f>>2]=j;break c}F[f>>2]=g}f=F[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}if((f|0)<=0){break b}i=0;while(1){g=i<<2;f=g+c|0;g=F[b+g>>2]+F[g+h>>2]|0;F[f>>2]=g;d:{if((g|0)>F[a+16>>2]){g=g-F[a+20>>2]|0}else{if((g|0)>=F[a+12>>2]){break d}g=g+F[a+20>>2]|0}F[f>>2]=g}f=F[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}if(!((d|0)<=(e|0)|(f|0)<=0)){p=0-e<<2;g=e;while(1){e:{if((f|0)<=0){break e}l=g<<2;o=l+c|0;q=o+p|0;j=F[m>>2];i=0;while(1){f=i<<2;h=F[f+q>>2];k=F[a+16>>2];f:{if((h|0)>(k|0)){F[f+j>>2]=k;break f}f=f+j|0;k=F[a+12>>2];if((k|0)>(h|0)){F[f>>2]=k;break f}F[f>>2]=h}f=F[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}i=0;if((f|0)<=0){break e}l=b+l|0;while(1){h=i<<2;f=h+o|0;h=F[h+l>>2]+F[h+j>>2]|0;F[f>>2]=h;g:{if((h|0)>F[a+16>>2]){h=h-F[a+20>>2]|0}else{if((h|0)>=F[a+12>>2]){break g}h=h+F[a+20>>2]|0}F[f>>2]=h}f=F[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}g=e+g|0;if((g|0)<(d|0)){continue}break}}ja(n);return 1}function yf(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,l=0,m=0,n=0,o=0;j=F[b+80>>2];b=G[c+24|0];g=L(j,b);a:{if(!b){break a}h=b<<2;f=ka(h);a=f;k=b&7;if(k){while(1){F[a>>2]=-1073741824;a=a+4|0;e=e+1|0;if((k|0)!=(e|0)){continue}break}}if((b-1&1073741823)>>>0<7){break a}e=f+h|0;while(1){F[a+24>>2]=-1073741824;F[a+28>>2]=-1073741824;F[a+16>>2]=-1073741824;F[a+20>>2]=-1073741824;F[a+8>>2]=-1073741824;F[a+12>>2]=-1073741824;F[a>>2]=-1073741824;F[a+4>>2]=-1073741824;a=a+32|0;if((e|0)!=(a|0)){continue}break}}e=F[d>>2];a=F[d+4>>2]-e>>2;b:{if(a>>>0>>0){qa(d,g-a|0);break b}if(a>>>0<=g>>>0){break b}F[d+4>>2]=e+(g<<2)}c:{d:{e:{if(!j){i=1;break e}if(!b){a=0;while(1){if(!lb(c,G[c+84|0]?a:F[F[c+68>>2]+(a<<2)>>2],D[c+24|0],f)){break e}a=a+1|0;i=j>>>0<=a>>>0;if((a|0)!=(j|0)){continue}break}break e}n=b&252;k=b&3;o=b>>>0<4;e=0;b=0;while(1){if(!lb(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],f)){break e}m=F[d>>2];i=0;a=0;l=0;if(!o){while(1){g=(e<<2)+m|0;h=a<<2;J[g>>2]=J[h+f>>2];J[g+4>>2]=J[(h|4)+f>>2];J[g+8>>2]=J[(h|8)+f>>2];J[g+12>>2]=J[(h|12)+f>>2];a=a+4|0;e=e+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(k){while(1){J[(e<<2)+m>>2]=J[(a<<2)+f>>2];a=a+1|0;e=e+1|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}}b=b+1|0;i=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break d}if(!f){break c}}ja(f)}return i|0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=Z-16|0;Z=k;c=F[b+20>>2];d=F[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=F[b+12>>2];a:{if(I[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){break a}d=d+F[b>>2]|0;h=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=e;F[b+20>>2]=c;if((h|0)<0){break a}Na(a+76|0,h);c=k;F[c>>2]=0;F[c+4>>2]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;D[c+8|0]=0;D[c+9|0]=0;D[c+10|0]=0;D[c+11|0]=0;D[c+12|0]=0;b:{if(!Aa(c,b)){break b}if(h){g=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^g;if(e&1){d=F[f>>2]&(d^-1)}else{d=d|F[f>>2]}g=e^1;F[f>>2]=d;i=i+1|0;if((h|0)!=(i|0)){continue}break}}i=0;c=F[b+8>>2];e=F[b+12>>2];f=e;e=F[b+20>>2];g=e;l=F[b+16>>2];d=l+4|0;e=d>>>0<4?e+1|0:e;h=d;if(d>>>0>c>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break b}m=F[b>>2];d=m+l|0;j=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=h;F[b+20>>2]=e;d=c;c=g;e=l+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break b}d=h+m|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+16>>2]=e;F[b+20>>2]=c;if((d|0)<(j|0)){break b}F[a+16>>2]=d;F[a+12>>2]=j;c=(d>>31)-((j>>31)+(d>>>0>>0)|0)|0;b=d-j|0;if(!c&b>>>0>2147483646|c){break b}i=1;c=b+1|0;F[a+20>>2]=c;b=c>>>1|0;F[a+24>>2]=b;F[a+28>>2]=0-b;if(c&1){break b}F[a+24>>2]=b-1}}Z=k+16|0;return i|0}function tf(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,l=0,m=0,n=0,o=0,p=0;a=0;k=Z-16|0;Z=k;j=F[b+80>>2];e=G[c+24|0];b=L(j,e);a:{b:{c:{d:{f=F[c+28>>2];if(!(!G[c+84|0]|(f|0)!=5&(f|0)!=6)){e=F[c+48>>2];c=F[F[c>>2]>>2];F[k+8>>2]=0;F[k>>2]=0;F[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=ka(b);g=la(a,c+e|0,b)+b|0}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=a;h=1;break a}if(e){f=e<<2;a=ka(f);ma(a,0,f)}i=F[d>>2];f=F[d+4>>2]-i>>2;e:{if(f>>>0>>0){qa(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}F[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!xb(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!xb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break c}n=F[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;F[f>>2]=F[i+a>>2];F[f+4>>2]=F[(i|4)+a>>2];F[f+8>>2]=F[(i|8)+a>>2];F[f+12>>2]=F[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){F[(g<<2)+n>>2]=F[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}na();v()}if(!a){break a}}ja(a)}Z=k+16|0;return h|0}function cd(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,l=0,m=0,n=0,o=0,p=0;a=0;k=Z-16|0;Z=k;j=F[b+80>>2];e=G[c+24|0];b=L(j,e);a:{b:{c:{d:{f=F[c+28>>2];if(!(!G[c+84|0]|(f|0)!=5&(f|0)!=6)){e=F[c+48>>2];c=F[F[c>>2]>>2];F[k+8>>2]=0;F[k>>2]=0;F[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=ka(b);g=la(a,c+e|0,b)+b|0}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=a;h=1;break a}if(e){f=e<<2;a=ka(f);ma(a,0,f)}i=F[d>>2];f=F[d+4>>2]-i>>2;e:{if(f>>>0>>0){qa(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}F[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!yb(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!yb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break c}n=F[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;F[f>>2]=F[i+a>>2];F[f+4>>2]=F[(i|4)+a>>2];F[f+8>>2]=F[(i|8)+a>>2];F[f+12>>2]=F[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){F[(g<<2)+n>>2]=F[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}na();v()}if(!a){break a}}ja(a)}Z=k+16|0;return h|0}function vf(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,l=0,m=0,n=0,o=0,p=0;a=0;k=Z-16|0;Z=k;j=F[b+80>>2];e=G[c+24|0];b=L(j,e);a:{b:{c:{d:{f=F[c+28>>2];if(!(!G[c+84|0]|(f|0)!=3&(f|0)!=4)){e=F[c+48>>2];c=F[F[c>>2]>>2];F[k+8>>2]=0;F[k>>2]=0;F[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=ka(b);g=la(a,c+e|0,b)+b|0}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=a;h=1;break a}if(e){f=e<<1;a=ka(f);ma(a,0,f)}i=F[d>>2];f=F[d+4>>2]-i>>1;e:{if(f>>>0>>0){kd(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}F[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!Ab(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!Ab(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break c}n=F[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;E[f>>1]=H[i+a>>1];E[f+2>>1]=H[(i|2)+a>>1];E[f+4>>1]=H[(i|4)+a>>1];E[f+6>>1]=H[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){E[(g<<1)+n>>1]=H[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}na();v()}if(!a){break a}}ja(a)}Z=k+16|0;return h|0}function uf(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,l=0,m=0,n=0,o=0,p=0;a=0;k=Z-16|0;Z=k;j=F[b+80>>2];e=G[c+24|0];b=L(j,e);a:{b:{c:{d:{f=F[c+28>>2];if(!(!G[c+84|0]|(f|0)!=3&(f|0)!=4)){e=F[c+48>>2];c=F[F[c>>2]>>2];F[k+8>>2]=0;F[k>>2]=0;F[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=ka(b);g=la(a,c+e|0,b)+b|0}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=a;h=1;break a}if(e){f=e<<1;a=ka(f);ma(a,0,f)}i=F[d>>2];f=F[d+4>>2]-i>>1;e:{if(f>>>0>>0){kd(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}F[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!zb(c,G[c+84|0]?b:F[F[c+68>>2]+(b<<2)>>2],D[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!zb(c,G[c+84|0]?e:F[F[c+68>>2]+(e<<2)>>2],D[c+24|0],a)){break c}n=F[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;E[f>>1]=H[i+a>>1];E[f+2>>1]=H[(i|2)+a>>1];E[f+4>>1]=H[(i|4)+a>>1];E[f+6>>1]=H[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){E[(g<<1)+n>>1]=H[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}na();v()}if(!a){break a}}ja(a)}Z=k+16|0;return h|0}function kc(a,b){var c=0,d=0,e=0,f=0,g=0;f=-1;d=-1;a:{if((b|0)==-1){break a}d=b+1|0;f=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}b:{c:{d:{switch(F[a+168>>2]){case 0:case 1:e=F[a+148>>2];c=1;b=F[a+156>>2];g=b+(((f|0)==-1?-1:F[F[e>>2]+(f<<2)>>2])<<2)|0;F[g>>2]=F[g>>2]+1;b=(((d|0)==-1?-1:F[F[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 5:e=F[a+148>>2];c=-1;c=((b|0)!=-1?F[F[e>>2]+(b<<2)>>2]:c)<<2;b=F[a+156>>2];c=c+b|0;F[c>>2]=F[c>>2]+1;c=(((f|0)==-1?-1:F[F[e>>2]+(f<<2)>>2])<<2)+b|0;F[c>>2]=F[c>>2]+1;c=2;b=(((d|0)==-1?-1:F[F[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 3:e=F[a+148>>2];c=-1;c=((b|0)!=-1?F[F[e>>2]+(b<<2)>>2]:c)<<2;b=F[a+156>>2];c=c+b|0;F[c>>2]=F[c>>2]+1;c=(((f|0)==-1?-1:F[F[e>>2]+(f<<2)>>2])<<2)+b|0;F[c>>2]=F[c>>2]+2;c=1;b=(((d|0)==-1?-1:F[F[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 7:break d;default:break b}}e=F[a+148>>2];c=-1;c=((b|0)!=-1?F[F[e>>2]+(b<<2)>>2]:c)<<2;b=F[a+156>>2];c=c+b|0;F[c>>2]=F[c>>2]+2;c=(((f|0)==-1?-1:F[F[e>>2]+(f<<2)>>2])<<2)+b|0;F[c>>2]=F[c>>2]+2;c=2;b=(((d|0)==-1?-1:F[F[e>>2]+(d<<2)>>2])<<2)+b|0}F[b>>2]=F[b>>2]+c}c=a;b=F[F[a+156>>2]+(((f|0)==-1?-1:F[F[F[a+148>>2]>>2]+(f<<2)>>2])<<2)>>2];d=F[a+180>>2];a=F[a+176>>2];F[c+172>>2]=(a|0)<=(b|0)?((b|0)<(d|0)?b:d)-a|0:0}function Dg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b=F[a+32>>2];f=F[b+8>>2];h=F[b+12>>2];g=F[b+20>>2];c=F[b+16>>2];e=0;b:{if((h|0)<=(g|0)&c>>>0>=f>>>0|(g|0)>(h|0)){break b}f=G[F[b>>2]+c|0];e=b;b=g;c=c+1|0;b=c?b:b+1|0;F[e+16>>2]=c;F[e+20>>2]=b;c:{if(!f){break c}while(1){if($[F[F[a>>2]+16>>2]](a,d)|0){d=d+1|0;if((f|0)!=(d|0)){continue}break c}break}return 0}d=F[a+8>>2];b=F[a+12>>2];if((d|0)!=(b|0)){while(1){c=F[d>>2];if(!($[F[F[c>>2]+8>>2]](c,a,F[a+4>>2])|0)){break a}d=d+4|0;if((b|0)!=(d|0)){continue}break}}d:{if(!f){break d}d=0;while(1){b=F[F[a+8>>2]+(d<<2)>>2];if(!($[F[F[b>>2]+12>>2]](b,F[a+32>>2])|0)){break a}d=d+1|0;if((f|0)!=(d|0)){continue}break}if(!f){break d}i=a+20|0;b=0;while(1){d=0;j=b<<2;c=F[j+F[a+8>>2]>>2];k=$[F[F[c>>2]+24>>2]](c)|0;if((k|0)>0){while(1){c=F[F[a+8>>2]+j>>2];c=$[F[F[c>>2]+20>>2]](c,d)|0;e=F[a+20>>2];g=F[a+24>>2]-e>>2;e:{if(c>>>0>>0){break e}h=c+1|0;if(h>>>0>g>>>0){qa(i,h-g|0);e=F[i>>2];break e}if(g>>>0<=h>>>0){break e}F[a+24>>2]=(h<<2)+e}F[(c<<2)+e>>2]=b;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}}e=0;if(!($[F[F[a>>2]+28>>2]](a)|0)){break b}e=$[F[F[a>>2]+32>>2]](a)|0}return e|0}return 0}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Oc(a,b,c);c=F[a+84>>2];d=F[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=F[a+92>>2];c=F[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;e=d&7;if(e){while(1){F[b>>2]=1;b=b+4|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){F[b+24>>2]=1;F[b+28>>2]=1;F[b+16>>2]=1;F[b+20>>2]=1;F[b+8>>2]=1;F[b+12>>2]=1;F[b>>2]=1;F[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}F[a+88>>2]=c;break b}d:{b=c;c=F[a+84>>2];i=b-c|0;g=i>>2;b=g+d|0;if(b>>>0<1073741824){e=e-c|0;h=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>>0?h:b;if(e){if(e>>>0>=1073741824){break d}j=ka(e<<2)}g=(g<<2)+j|0;b=g;h=d&7;if(h){while(1){F[b>>2]=1;b=b+4|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=g+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){F[b+24>>2]=1;F[b+28>>2]=1;F[b+16>>2]=1;F[b+20>>2]=1;F[b+8>>2]=1;F[b+12>>2]=1;F[b>>2]=1;F[b+4>>2]=1;b=b+32|0;if((f|0)!=(b|0)){continue}break}}b=pa(j,c,i);F[a+88>>2]=f;F[a+84>>2]=b;F[a+92>>2]=b+(e<<2);if(c){ja(c)}break b}na();v()}oa();v()}return}if(b>>>0>=d>>>0){break a}F[a+88>>2]=c+(b<<2)}}function ab(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=F[a+8>>2];e=F[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){F[d>>2]=F[c>>2];d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}F[a+4>>2]=e;return}b:{i=F[a>>2];f=e-i>>2;h=f+b|0;if(h>>>0<1073741824){j=d-i|0;d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break b}k=ka(h<<2)}f=(f<<2)+k|0;d=f;j=b&7;if(j){while(1){F[d>>2]=F[c>>2];d=d+4|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}g=(b<<2)+f|0;if((b-1&1073741823)>>>0>=7){while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;if((g|0)!=(d|0)){continue}break}}if((e|0)!=(i|0)){while(1){f=f-4|0;e=e-4|0;F[f>>2]=F[e>>2];if((e|0)!=(i|0)){continue}break}}F[a+8>>2]=(h<<2)+k;F[a+4>>2]=g;F[a>>2]=f;if(i){ja(i)}return}na();v()}oa();v()}function Xb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=F[a+8>>2];e=F[a>>2];if(d-e>>2>>>0>=b>>>0){f=F[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){F[d>>2]=F[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){F[f>>2]=F[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}F[a+4>>2]=b;return}F[a+4>>2]=e+(b<<2);return}if(e){F[a+4>>2]=e;ja(e);F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=ka(d);F[a>>2]=e;F[a+8>>2]=d+e;c=F[c>>2];d=e;g=b&7;if(g){while(1){F[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){F[d+28>>2]=c;F[d+24>>2]=c;F[d+20>>2]=c;F[d+16>>2]=c;F[d+12>>2]=c;F[d+8>>2]=c;F[d+4>>2]=c;F[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}F[a+4>>2]=e;return}na();v()}function Ka(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=(c>>>0)/3|0;j=F[(F[F[a+8>>2]+96>>2]+L(f,12)|0)+(c-L(f,3)<<2)>>2];a:{h=F[F[a+12>>2]+4>>2];e=F[h+4>>2];if((e|0)!=F[h+8>>2]){F[e>>2]=j;F[h+4>>2]=e+4;break a}b:{i=F[h>>2];f=e-i|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){k=g<<2;g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break b}f=ka(g<<2)}else{f=0}d=k+f|0;F[d>>2]=j;j=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;F[d>>2]=F[e>>2];if((e|0)!=(i|0)){continue}break}}F[h+8>>2]=f+(g<<2);F[h+4>>2]=j;F[h>>2]=d;if(i){ja(i)}break a}na();v()}oa();v()}c:{d:{h=F[a+4>>2];e=F[h+4>>2];e:{if((e|0)!=F[h+8>>2]){F[e>>2]=c;F[h+4>>2]=e+4;break e}i=F[h>>2];f=e-i|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break d}g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break c}f=ka(g<<2)}else{f=0}d=f+(j<<2)|0;F[d>>2]=c;c=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;F[d>>2]=F[e>>2];if((e|0)!=(i|0)){continue}break}}F[h+8>>2]=f+(g<<2);F[h+4>>2]=c;F[h>>2]=d;if(!i){break e}ja(i)}a=F[a+4>>2];F[F[a+12>>2]+(b<<2)>>2]=F[a+24>>2];F[a+24>>2]=F[a+24>>2]+1;return}na();v()}oa();v()}function pb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=d-c|0;if((h|0)<=0){return}a:{e=F[a+8>>2];i=F[a+4>>2];if((e-i|0)>=(h|0)){j=i-b|0;if((j|0)>=(h|0)){f=i;g=d;break a}f=i;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){D[f|0]=G[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}F[a+4>>2]=f;if((j|0)>0){break a}return}k=F[a>>2];g=(i-k|0)+h|0;if((g|0)>=0){j=b-k|0;f=e-k|0;e=f<<1;f=f>>>0>=1073741823?2147483647:e>>>0>g>>>0?e:g;if(f){e=ka(f)}else{e=0}g=j+e|0;if((c|0)!=(d|0)){g=la(g,c,h)+h|0}d=pa(e,k,j);c=i-b|0;b=pa(g,b,c);F[a+8>>2]=e+f;F[a+4>>2]=b+c;F[a>>2]=d;if(k){ja(k)}return}na();v()}e=f;d=e-h|0;if(i>>>0>d>>>0){while(1){D[e|0]=G[d|0];e=e+1|0;d=d+1|0;if(i>>>0>d>>>0){continue}break}}F[a+4>>2]=e;a=b+h|0;if((a|0)!=(f|0)){a=f-a|0;pa(f-a|0,b,a)}if((c|0)==(g|0)){return}f=(c^-1)+g|0;a=g-c&7;b:{if(!a){e=b;break b}d=0;e=b;while(1){D[e|0]=G[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((a|0)!=(d|0)){continue}break}}if(f>>>0<7){return}while(1){D[e|0]=G[c|0];D[e+1|0]=G[c+1|0];D[e+2|0]=G[c+2|0];D[e+3|0]=G[c+3|0];D[e+4|0]=G[c+4|0];D[e+5|0]=G[c+5|0];D[e+6|0]=G[c+6|0];D[e+7|0]=G[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function la(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){Y(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){F[c>>2]=F[b>>2];F[c+4>>2]=F[b+4>>2];F[c+8>>2]=F[b+8>>2];F[c+12>>2]=F[b+12>>2];F[c+16>>2]=F[b+16>>2];F[c+20>>2]=F[b+20>>2];F[c+24>>2]=F[b+24>>2];F[c+28>>2]=F[b+28>>2];F[c+32>>2]=F[b+32>>2];F[c+36>>2]=F[b+36>>2];F[c+40>>2]=F[b+40>>2];F[c+44>>2]=F[b+44>>2];F[c+48>>2]=F[b+48>>2];F[c+52>>2]=F[b+52>>2];F[c+56>>2]=F[b+56>>2];F[c+60>>2]=F[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){F[c>>2]=F[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){D[c|0]=G[b|0];D[c+1|0]=G[b+1|0];D[c+2|0]=G[b+2|0];D[c+3|0]=G[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function sd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;F[a>>2]=8336;d=a+232|0;b=F[d+196>>2];if(b){F[d+200>>2]=b;ja(b)}c=F[d+184>>2];if(c){b=c;e=F[d+188>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=F[b>>2];if(f){F[e-8>>2]=f;ja(f)}e=b;if((b|0)!=(c|0)){continue}break}b=F[d+184>>2]}F[d+188>>2]=c;ja(b)}b=F[d+156>>2];if(b){F[d+160>>2]=b;ja(b)}c=F[d+136>>2];F[d+136>>2]=0;if(c){e=c-4|0;b=F[e>>2];if(b){b=c+(b<<4)|0;while(1){b=b-16|0;if((c|0)!=(b|0)){continue}break}}ja(e)}td(a+216|0);b=F[a+196>>2];if(b){F[a+200>>2]=b;ja(b)}b=F[a+184>>2];if(b){F[a+188>>2]=b;ja(b)}b=F[a+172>>2];if(b){F[a+176>>2]=b;ja(b)}b=F[a+160>>2];if(b){F[a+164>>2]=b;ja(b)}b=F[a+144>>2];if(b){while(1){c=F[b>>2];ja(b);b=c;if(b){continue}break}}b=F[a+136>>2];F[a+136>>2]=0;if(b){ja(b)}b=F[a+120>>2];if(b){ja(b)}b=F[a+108>>2];if(b){ja(b)}b=F[a+96>>2];if(b){ja(b)}b=F[a+72>>2];if(b){F[a+76>>2]=b;ja(b)}b=F[a+60>>2];if(b){ja(b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}b=F[a+36>>2];if(b){F[a+40>>2]=b;ja(b)}b=F[a+24>>2];if(b){F[a+28>>2]=b;ja(b)}b=F[a+12>>2];if(b){F[a+16>>2]=b;ja(b)}b=F[a+8>>2];F[a+8>>2]=0;if(b){Za(b)}return a|0}function Fa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=F[a+8>>2];e=F[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;f=b&7;if(f){while(1){F[d>>2]=F[c>>2];d=d+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}F[a+4>>2]=e;return}b:{i=F[a>>2];j=e-i|0;f=j>>2;g=f+b|0;if(g>>>0<1073741824){d=d-i|0;e=d>>>1|0;g=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break b}k=ka(g<<2)}f=(f<<2)+k|0;d=f;e=b&7;if(e){while(1){F[d>>2]=F[c>>2];d=d+4|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}e=f+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){F[d>>2]=F[c>>2];F[d+4>>2]=F[c>>2];F[d+8>>2]=F[c>>2];F[d+12>>2]=F[c>>2];F[d+16>>2]=F[c>>2];F[d+20>>2]=F[c>>2];F[d+24>>2]=F[c>>2];F[d+28>>2]=F[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}b=pa(k,i,j);F[a+4>>2]=e;F[a>>2]=b;F[a+8>>2]=b+(g<<2);if(i){ja(i)}return}na();v()}oa();v()}function Sb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(G[a+11|0]>>>7|0){d=F[a+4>>2]}else{d=G[a+11|0]&127}if(d>>>0>>0){h=Z-16|0;Z=h;b=b-d|0;if(b){g=G[a+11|0]>>>7|0?(F[a+8>>2]&2147483647)-1|0:10;if(G[a+11|0]>>>7|0){d=F[a+4>>2]}else{d=G[a+11|0]&127}i=d+b|0;if(g-d>>>0>>0){a:{e=Z-16|0;Z=e;c=i-g|0;if(c>>>0<=2147483631-g>>>0){if(G[a+11|0]>>>7|0){f=F[a>>2]}else{f=a}if(g>>>0<1073741799){F[e+12>>2]=g<<1;F[e>>2]=c+g;c=Z-16|0;Z=c;Z=c+16|0;c=e+12|0;c=F[(I[e>>2]>2]?c:e)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}sb(e,c);c=F[e>>2];if(d){db(c,f,d)}if((g|0)!=10){ja(f)}F[a>>2]=c;F[a+8>>2]=F[a+8>>2]&-2147483648|F[e+4>>2]&2147483647;F[a+8>>2]=F[a+8>>2]|-2147483648;Z=e+16|0;break a}za();v()}}f=d;if(G[a+11|0]>>>7|0){d=F[a>>2]}else{d=a}f=f+d|0;e=Z-16|0;Z=e;D[e+15|0]=0;while(1){if(b){D[f|0]=G[e+15|0];b=b-1|0;f=f+1|0;continue}break}Z=e+16|0;Ic(a,i);D[h+15|0]=0;D[d+i|0]=G[h+15|0]}Z=h+16|0;return}if(G[a+11|0]>>>7|0){d=F[a>>2]}else{d=a}f=Z-16|0;Z=f;Ic(a,b);D[f+15|0]=0;D[b+d|0]=G[f+15|0];Z=f+16|0}function Zc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=Z-16|0;Z=g;a:{b:{if(b){F[a+88>>2]=0;F[a+92>>2]=0;d=F[a+84>>2];F[a+84>>2]=0;if(d){ja(d)}F[a+76>>2]=0;F[a+80>>2]=0;d=F[a+72>>2];F[a+72>>2]=0;if(d){ja(d)}d=F[b>>2];c=F[b+4>>2];D[g+15|0]=0;Ea(a,c-d>>2,g+15|0);d=F[b+28>>2];c=F[b+24>>2];D[g+14|0]=0;Ea(a+12|0,d-c>>2,g+14|0);Xb(a+28|0,F[b+4>>2]-F[b>>2]>>2,10284);c=F[b+28>>2]-F[b+24>>2]|0;f=c>>2;e=F[a+52>>2];c:{if(f>>>0<=F[a+60>>2]-e>>2>>>0){break c}if((c|0)<0){break b}d=F[a+56>>2];c=ka(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;F[c>>2]=F[d>>2];if((d|0)!=(e|0)){continue}break}}F[a+60>>2]=f;F[a+56>>2]=h;F[a+52>>2]=c;if(!e){break c}ja(e)}c=F[b+28>>2]-F[b+24>>2]|0;f=c>>2;e=F[a+40>>2];d:{if(f>>>0<=F[a+48>>2]-e>>2>>>0){break d}if((c|0)<0){break a}d=F[a+44>>2];c=ka(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;F[c>>2]=F[d>>2];if((d|0)!=(e|0)){continue}break}}F[a+48>>2]=f;F[a+44>>2]=h;F[a+40>>2]=c;if(!e){break d}ja(e)}D[a+24|0]=1;F[a+64>>2]=b}Z=g+16|0;return}na();v()}na();v()}function nb(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);D[b+12|0]=c;a:{if(c){break a}while(1){d=F[b+8>>2];if(G[d+12|0]){break a}b:{c=F[d+8>>2];e=F[c>>2];if((e|0)==(d|0)){e=F[c+4>>2];if(!(!e|G[e+12|0])){break b}c:{if(F[d>>2]==(b|0)){b=d;break c}b=F[d+4>>2];a=F[b>>2];F[d+4>>2]=a;if(a){F[a+8>>2]=d;c=F[d+8>>2]}F[b+8>>2]=c;a=F[d+8>>2];F[((F[a>>2]!=(d|0))<<2)+a>>2]=b;F[b>>2]=d;F[d+8>>2]=b;c=F[b+8>>2];d=F[c>>2]}D[b+12|0]=1;D[c+12|0]=0;a=F[d+4>>2];F[c>>2]=a;if(a){F[a+8>>2]=c}F[d+8>>2]=F[c+8>>2];a=F[c+8>>2];F[((F[a>>2]!=(c|0))<<2)+a>>2]=d;F[d+4>>2]=c;F[c+8>>2]=d;return}if(!(G[e+12|0]|!e)){break b}d:{if(F[d>>2]!=(b|0)){b=d;break d}a=F[b+4>>2];F[d>>2]=a;if(a){F[a+8>>2]=d;c=F[d+8>>2]}F[b+8>>2]=c;a=F[d+8>>2];F[((F[a>>2]!=(d|0))<<2)+a>>2]=b;F[b+4>>2]=d;F[d+8>>2]=b;c=F[b+8>>2]}D[b+12|0]=1;D[c+12|0]=0;a=F[c+4>>2];b=F[a>>2];F[c+4>>2]=b;if(b){F[b+8>>2]=c}F[a+8>>2]=F[c+8>>2];b=F[c+8>>2];F[((F[b>>2]!=(c|0))<<2)+b>>2]=a;F[a>>2]=c;F[c+8>>2]=a;break a}D[d+12|0]=1;D[c+12|0]=(a|0)==(c|0);D[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function mi(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!c){break k}if(!d){break j}e=O(d)-O(b)|0;if(e>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}_=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}if(!d|d-1&d){break g}a=b>>>ji(d)|0;_=0;break a}if(!(c-1&c)){break f}h=(O(c)+33|0)-O(b)|0;g=0-h|0;break d}h=e+1|0;g=63-e|0;break d}_=0;a=(b>>>0)/(d>>>0)|0;break a}e=O(d)-O(b)|0;if(e>>>0<31){break e}break c}if((c|0)==1){break b}d=ji(c);c=d&31;if((d&63)>>>0>=32){a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}_=e;break a}h=e+1|0;g=63-e|0}e=h&63;f=e&31;if(e>>>0>=32){e=0;i=b>>>f|0}else{e=b>>>f|0;i=((1<>>f}g=g&63;f=g&31;if(g>>>0>=32){b=a<>>32-f|b<>>31;e=i<<1|b>>>31;f=m-(j+(e>>>0>g>>>0)|0)>>31;k=c&f;i=e-k|0;e=j-((d&f)+(e>>>0>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=f&1;h=h-1|0;if(h){continue}break}}_=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}_=b}return a}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=F[b+88>>2];if(!(!c|F[c>>2]!=1)){e=F[c+8>>2];F[a+4>>2]=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);f=a+8|0;d=G[b+24|0];h=F[a+8>>2];g=F[a+12>>2]-h>>2;a:{if(d>>>0>g>>>0){qa(f,d-g|0);d=G[b+24|0];e=F[c+8>>2];break a}if(d>>>0>=g>>>0){break a}F[a+12>>2]=h+(d<<2)}b:{if(!d){b=4;break b}h=d&3;f=F[f>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){g=d<<2;c=b+e|0;F[g+f>>2]=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[f+(g|4)>>2]=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);F[f+(g|8)>>2]=G[c+8|0]|G[c+9|0]<<8|(G[c+10|0]<<16|G[c+11|0]<<24);F[f+(g|12)>>2]=G[c+12|0]|G[c+13|0]<<8|(G[c+14|0]<<16|G[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+e|0;F[f+(d<<2)>>2]=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}d=a;a=b+e|0;F[d+20>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);d=1}return d|0}function Yg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=Z-16|0;Z=g;e=F[a+4>>2];d=F[e>>2];a:{b=F[a+12>>2];c=F[b+28>>2]-F[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=F[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=F[e+4>>2];c=ka(c);f=c+(f<<2)|0;h=c+(b-d&-4)|0;c=h;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[e+8>>2]=f;F[e+4>>2]=h;F[e>>2]=c;if(!d){break b}ja(d)}b=F[a+12>>2];c=F[b+28>>2];b=F[b+24>>2];F[g+12>>2]=0;b=c-b>>2;d=a+96|0;e=F[d>>2];c=F[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){Fa(d,b-c|0,g+12|0);break c}if(b>>>0>=c>>>0){break c}F[a+100>>2]=e+(b<<2)}e=a+8|0;b=F[a+116>>2];d:{if(b){d=F[b>>2];if((d|0)==F[b+4>>2]){c=1;break d}b=0;while(1){c=rd(e,F[(b<<2)+d>>2]);if(!c){break d}f=F[a+116>>2];d=F[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break d}c=1;a=F[a+12>>2];a=F[a+4>>2]-F[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){c=rd(e,L(b,3));if(!c){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}Z=g+16|0;return c|0}na();v()}function md(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{b:{c:{if(!b){if((d|0)<0){break a}f=F[a+4>>2];b=F[a>>2];d=f-b|0;if(c>>>0>d>>>0){g=c-d|0;e=F[a+8>>2];if(g>>>0<=e-f>>>0){i=a,j=ma(f,0,g)+g|0,F[i+4>>2]=j;break c}if((c|0)<0){break b}f=e-b|0;e=f<<1;f=f>>>0>=1073741823?2147483647:c>>>0>>0?e:c;e=ka(f);ma(e+d|0,0,g);d=pa(e,b,d);F[a+8>>2]=d+f;F[a+4>>2]=c+d;F[a>>2]=d;if(!b){break c}ja(b);break c}if(c>>>0>=d>>>0){break c}F[a+4>>2]=b+c;break c}if((d|0)<0){break a}e=F[a+4>>2];f=F[a>>2];g=e-f|0;d:{if((d|0)<=0&c>>>0<=g>>>0|(d|0)<0){break d}if(c>>>0>g>>>0){d=c-g|0;h=F[a+8>>2];if(d>>>0<=h-e>>>0){i=a,j=ma(e,0,d)+d|0,F[i+4>>2]=j;break d}if((c|0)<0){break b}e=h-f|0;h=e<<1;e=e>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=ka(e);ma(h+g|0,0,d);d=pa(h,f,g);F[a+8>>2]=d+e;F[a+4>>2]=c+d;F[a>>2]=d;if(!f){break d}ja(f);break d}if(c>>>0>=g>>>0){break d}F[a+4>>2]=c+f}if(!c){break c}pa(F[a>>2],b,c)}b=F[a+28>>2];c=F[a+24>>2]+1|0;b=c?b:b+1|0;F[a+24>>2]=c;F[a+28>>2]=b;g=1;break a}na();v()}return g}function Lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=F[a+12>>2];c=F[a+68>>2];d=F[c+80>>2];D[b+84|0]=0;n=b+68|0;i=F[b+68>>2];e=F[b+72>>2]-i>>2;a:{if(e>>>0>>0){ab(n,d-e|0,9124);c=F[a+68>>2];d=F[c+80>>2];break a}if(d>>>0>=e>>>0){break a}F[b+72>>2]=i+(d<<2)}b=F[c+100>>2];e=F[c+96>>2];i=(b-e|0)/12|0;m=1;b:{if((b|0)==(e|0)){break b}k=F[k+28>>2];f=F[k>>2];if((f|0)==-1){return 0}o=i>>>0<=1?1:i;c=e;b=0;m=0;while(1){g=F[c>>2];if(g>>>0>=d>>>0){break b}j=F[F[a+72>>2]+12>>2];h=F[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=F[n>>2];F[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=F[g+4>>2];if((h|0)==-1){break b}l=F[c+4>>2];if(l>>>0>=d>>>0){break b}h=F[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}F[f+(l<<2)>>2]=h;g=F[g+8>>2];if((g|0)==-1){break b}c=F[c+8>>2];if(c>>>0>=d>>>0){break b}j=F[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}F[f+(c<<2)>>2]=j;b=b+1|0;m=i>>>0<=b>>>0;if((b|0)==(o|0)){break b}c=e+L(b,12)|0;l=L(b,3);f=F[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return m|0}function ag(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,l=0,m=0;h=F[d+80>>2];e=Z-48|0;Z=e;a=F[a+4>>2];m=a-2|0;a:{if(m>>>0>28){break a}j=F[F[d>>2]>>2]+F[d+48>>2]|0;F[e+16>>2]=a;a=-1<>2]=a^-1;a=-2-a|0;F[e+24>>2]=a;F[e+32>>2]=(a|0)/2;J[e+28>>2]=M(2)/M(a|0);f=F[c>>2];if((f|0)!=F[c+4>>2]){a=0;d=0;while(1){g=F[(d<<2)+f>>2];h=e+36|0;k=F[F[b>>2]>>2];l=F[b+48>>2];f=F[b+40>>2];i=F[b+44>>2];if(!G[b+84|0]){g=F[F[b+68>>2]+(g<<2)>>2]}g=ki(f,i,g,0);i=g;g=g+l|0;la(h,g+k|0,f);Kc(e+16|0,h,e+12|0,e+8|0);f=a<<2;F[f+j>>2]=F[e+12>>2];F[(f|4)+j>>2]=F[e+8>>2];a=a+2|0;d=d+1|0;f=F[c>>2];if(d>>>0>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){k=e+36|0;l=F[F[b>>2]>>2];i=F[b+48>>2];c=F[b+40>>2];f=ki(c,F[b+44>>2],G[b+84|0]?a:F[F[b+68>>2]+(a<<2)>>2],0);g=f;f=f+i|0;la(k,f+l|0,c);Kc(e+16|0,k,e+12|0,e+8|0);c=d<<2;F[c+j>>2]=F[e+12>>2];F[(c|4)+j>>2]=F[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}Z=e+48|0;return m>>>0<29|0}function Zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=F[a+12>>2];d=F[a+108>>2];e=F[d+80>>2];D[b+84|0]=0;m=b+68|0;h=F[b+68>>2];f=F[b+72>>2]-h>>2;a:{if(f>>>0>>0){ab(m,e-f|0,9124);d=F[a+108>>2];e=F[d+80>>2];break a}if(e>>>0>=f>>>0){break a}F[b+72>>2]=h+(e<<2)}b=F[d+100>>2];f=F[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=F[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=F[c>>2];if((i|0)==-1){break b}g=F[d>>2];if(g>>>0>=e>>>0){break b}l=F[F[a+112>>2]+12>>2];j=F[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=F[m>>2];F[i+(g<<2)>>2]=j;g=F[c+4>>2];if((g|0)==-1){break b}j=F[d+4>>2];if(j>>>0>=e>>>0){break b}g=F[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}F[i+(j<<2)>>2]=g;c=F[c+8>>2];if((c|0)==-1){break b}d=F[d+8>>2];if(d>>>0>=e>>>0){break b}c=F[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}F[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=L(b,3);d=f+L(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=M(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=Z-16|0;Z=k;if(F[c+28>>2]==9){d=F[a+4>>2];h=G[c+24|0];e=h<<2;f=ka(e);l=k+8|0;F[l>>2]=1065353216;i=J[a+20>>2];d=-1<0){J[l>>2]=i/M(d|0)}o=(d|0)>0;a:{if(!o){break a}j=F[c+80>>2];if(!j){break a}if(h){p=F[F[b>>2]>>2]+F[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=F[a+8>>2];i=J[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;J[g+f>>2]=M(i*M(F[q>>2]))+J[g+m>>2];g=g|4;J[g+f>>2]=M(i*M(F[q+4>>2]))+J[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;J[d+f>>2]=M(i*M(F[(b<<2)+p>>2]))+J[d+m>>2];b=b+1|0}la(F[F[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){la(F[F[c+64>>2]>>2]+b|0,f,e);b=b+e|0;la(b+F[F[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}la(F[F[c+64>>2]>>2]+b|0,f,e)}ja(f)}Z=k+16|0;return o|0}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=F[a+12>>2];d=F[a+68>>2];e=F[d+80>>2];D[b+84|0]=0;m=b+68|0;h=F[b+68>>2];f=F[b+72>>2]-h>>2;a:{if(f>>>0>>0){ab(m,e-f|0,9124);d=F[a+68>>2];e=F[d+80>>2];break a}if(e>>>0>=f>>>0){break a}F[b+72>>2]=h+(e<<2)}b=F[d+100>>2];f=F[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=F[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=F[c>>2];if((i|0)==-1){break b}g=F[d>>2];if(g>>>0>=e>>>0){break b}l=F[F[a+72>>2]+12>>2];j=F[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=F[m>>2];F[i+(g<<2)>>2]=j;g=F[c+4>>2];if((g|0)==-1){break b}j=F[d+4>>2];if(j>>>0>=e>>>0){break b}g=F[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}F[i+(j<<2)>>2]=g;c=F[c+8>>2];if((c|0)==-1){break b}d=F[d+8>>2];if(d>>>0>=e>>>0){break b}c=F[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}F[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=L(b,3);d=f+L(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Na(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=Z-16|0;Z=d;a:{f=F[a+4>>2];b:{if(f>>>0>>0){e=b-f|0;c=F[a+8>>2];g=c<<5;c:{if(!(e>>>0>g>>>0|f>>>0>g-e>>>0)){F[a+4>>2]=b;h=f&31;b=F[a>>2]+(f>>>3&536870908)|0;break c}F[d+8>>2]=0;F[d>>2]=0;F[d+4>>2]=0;if((b|0)<0){break a}if(g>>>0<=1073741822){c=c<<6;b=b+31&-32;b=b>>>0>>0?c:b}else{b=2147483647}$a(d,b);f=F[a+4>>2];F[d+4>>2]=f+e;i=F[a>>2];b=F[d>>2];d:{if((f|0)<=0){break d}c=f>>>5|0;if(f>>>0>=32){pa(b,i,c<<2)}g=c<<2;b=g+b|0;h=f&31;if(h){c=-1>>>32-h|0;F[b>>2]=F[b>>2]&(c^-1)|F[i+g>>2]&c}i=F[a>>2]}F[a>>2]=F[d>>2];F[d>>2]=i;c=F[a+4>>2];F[a+4>>2]=F[d+4>>2];F[d+4>>2]=c;c=F[a+8>>2];F[a+8>>2]=F[d+8>>2];F[d+8>>2]=c;if(!i){break c}ja(i)}if(!e){break b}if(h){c=32-h|0;a=c>>>0>>0?c:e;F[b>>2]=F[b>>2]&(-1<>>c-a^-1);e=e-a|0;b=b+4|0}a=e>>>5|0;if(e>>>0>=32){ma(b,0,a<<2)}if((e&-32)==(e|0)){break b}a=(a<<2)+b|0;F[a>>2]=F[a>>2]&(-1>>>32-(e&31)^-1);break b}F[a+4>>2]=b}Z=d+16|0;return}na();v()}function Aa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Z-16|0;Z=i;f=F[b+20>>2];h=F[b+12>>2];c=F[b+16>>2];a:{if((f|0)>=(h|0)&c>>>0>=I[b+8>>2]|(f|0)>(h|0)){break a}D[a+12|0]=G[c+F[b>>2]|0];c=F[b+20>>2];f=F[b+16>>2]+1|0;c=f?c:c+1|0;F[b+16>>2]=f;F[b+20>>2]=c;if(!Qd(1,i+12|0,b)){break a}h=F[b+8>>2];f=F[b+16>>2];g=h-f|0;c=F[i+12>>2];d=f>>>0>h>>>0;h=F[b+20>>2];e=F[b+12>>2]-(d+h|0)|0;if(g>>>0>>0&(e|0)<=0|(e|0)<0|(c|0)<=0){break a}g=f+F[b>>2]|0;F[a>>2]=g;b:{c:{e=c-1|0;j=e+g|0;d=G[j|0];d:{if(d>>>0<=63){F[a+4>>2]=e;d=G[j|0]&63;break d}e:{switch((d>>>6|0)-1|0){case 1:break c;case 0:break e;default:break a}}if(c>>>0<2){break a}e=c-2|0;F[a+4>>2]=e;g=g+e|0;d=G[g+1|0]<<8&16128|G[g|0]}F[a+8>>2]=d+4096;break b}if(c>>>0<3){break a}e=c-3|0;F[a+4>>2]=e;d=a;a=g+e|0;a=G[a+1|0]<<8|G[a+2|0]<<16&4128768|G[a|0];F[d+8>>2]=a+4096;if(a>>>0>1044479){break a}}a=h;d=c;c=c+f|0;a=d>>>0>c>>>0?a+1|0:a;F[b+16>>2]=c;F[b+20>>2]=a;k=1}Z=i+16|0;return k}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=F[a+12>>2];i=F[a+8>>2];d=e-i>>2;b=G[b+24|0];a:{if(d>>>0>>0){qa(a+8|0,b-d|0);i=F[a+8>>2];e=F[a+12>>2];break a}if(b>>>0>=d>>>0){break a}e=(b<<2)+i|0;F[a+12>>2]=e}b=0;f=F[c+8>>2];h=F[c+12>>2];j=F[c+20>>2];e=e-i|0;d=F[c+16>>2];g=e+d|0;j=e>>>0>g>>>0?j+1|0:j;b:{if(f>>>0>>0&(h|0)<=(j|0)|(h|0)<(j|0)){break b}la(i,d+F[c>>2]|0,e);d=F[c+20>>2];g=e;e=e+F[c+16>>2]|0;d=g>>>0>e>>>0?d+1|0:d;F[c+16>>2]=e;F[c+20>>2]=d;f=F[c+8>>2];h=F[c+12>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;if(f>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break b}d=e+F[c>>2]|0;F[a+20>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);d=F[c+20>>2];g=d;f=d;e=F[c+16>>2];d=e+4|0;f=d>>>0<4?f+1|0:f;F[c+16>>2]=d;F[c+20>>2]=f;h=F[c+12>>2];if((f|0)>=(h|0)&d>>>0>=I[c+8>>2]|(f|0)>(h|0)){break b}f=G[d+F[c>>2]|0];d=g;e=e+5|0;d=e>>>0<5?d+1|0:d;F[c+16>>2]=e;F[c+20>>2]=d;if(f-1>>>0>29){break b}F[a+4>>2]=f;b=1}return b|0}function Kc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+J[b>>2];k=+J[b+4>>2];l=+J[b+8>>2];g=N(j)+N(k)+N(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=F[a+16>>2];l=+(h|0);g=R(j*l+.5);b:{if(N(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=R(k*l+.5);c:{if(N(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=F[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=F[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}F[c>>2]=a;F[d>>2]=b}function ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{if(!$c(a,b)){break a}h=a+36|0;g=$[F[F[a>>2]+24>>2]](a)|0;e=F[a+40>>2];d=F[a+36>>2];c=e-d>>2;b:{if(g>>>0>c>>>0){Pb(h,g-c|0);break b}if(c>>>0<=g>>>0){break b}d=d+(g<<2)|0;if((d|0)!=(e|0)){while(1){e=e-4|0;c=F[e>>2];F[e>>2]=0;if(c){$[F[F[c>>2]+4>>2]](c)}if((d|0)!=(e|0)){continue}break}}F[a+40>>2]=d}c=1;if((g|0)<=0){break a}e=0;while(1){c:{c=F[b+20>>2];f=F[b+12>>2];d=F[b+16>>2];if((c|0)>=(f|0)&d>>>0>=I[b+8>>2]|(c|0)>(f|0)){break c}f=G[F[b>>2]+d|0];d=d+1|0;c=d?c:c+1|0;F[b+16>>2]=d;F[b+20>>2]=c;d=$[F[F[a>>2]+48>>2]](a,f)|0;f=e<<2;i=f+F[a+36>>2]|0;c=F[i>>2];F[i>>2]=d;if(c){$[F[F[c>>2]+4>>2]](c)}c=F[F[h>>2]+f>>2];if(!c){break c}if(!(k=c,l=$[F[F[a>>2]+28>>2]](a)|0,m=$[F[F[a>>2]+20>>2]](a,e)|0,j=F[F[c>>2]+8>>2],$[j](k|0,l|0,m|0)|0)){break c}c=1;e=e+1|0;if((g|0)!=(e|0)){continue}break a}break}c=0}return c|0}function Xc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=F[a>>2];c=g+(b>>>3&536870908)|0;F[c>>2]=F[c>>2]|1<>2];e=(b|0)==-1;d=-1;a:{if(e){break a}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;d=-1;if((c|0)==-1){break a}d=F[F[f>>2]+(c<<2)>>2]}c=F[a+12>>2];h=(d>>>3&536870908)+c|0;F[h>>2]=F[h>>2]|1<>>0)%3|0){e=b-1|0;break e}e=b+2|0;d=-1;if((e|0)==-1){break d}}d=F[F[f>>2]+(e<<2)>>2]}e=(d>>>3&536870908)+c|0;F[e>>2]=F[e>>2]|1<>2]+(b<<2)>>2];if((b|0)==-1){break b}D[a+24|0]=0;a=(b>>>3&536870908)+g|0;F[a>>2]=F[a>>2]|1<>>0)%3|0?a:b-2|0;if((a|0)!=-1){d=F[F[f>>2]+(a<<2)>>2]}a=c+(d>>>3&536870908)|0;F[a>>2]=F[a>>2]|1<>>0)%3|0){b=b-1|0;break g}b=b+2|0;a=-1;if((b|0)==-1){break f}}a=F[F[f>>2]+(b<<2)>>2]}b=1<>>3&536870908)|0;c=F[a>>2];break c}a=c+536870908|0;b=F[c+536870908>>2];c=-2147483648}F[a>>2]=b|c}}function zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=M(0),f=M(0),g=M(0),h=M(0),i=M(0),j=0,k=M(0),l=M(0),m=M(0),n=M(0),o=0;a:{if(F[c+28>>2]!=9|G[c+24|0]!=3){break a}a=F[a+4>>2];if(a-2>>>0>28){break a}o=1;j=F[c+80>>2];if(!j){break a}k=M(M(2)/M((1<>2]>>2]+F[c+48>>2]|0;a=F[F[b>>2]>>2]+F[b+48>>2]|0;b=0;while(1){g=M(0);l=M(0);m=M(0);e=M(M(M(F[a>>2])*k)+M(-1));f=M(M(M(F[a+4>>2])*k)+M(-1));i=M(M(M(1)-M(N(e)))-M(N(f)));h=M(Q(M(-i),M(0)));n=M(-h);f=M(f+(f>>8;D[c+10|0]=d>>>16;D[c+11|0]=d>>>24;d=(w(l),y(2));D[c+4|0]=d;D[c+5|0]=d>>>8;D[c+6|0]=d>>>16;D[c+7|0]=d>>>24;d=(w(g),y(2));D[c|0]=d;D[c+1|0]=d>>>8;D[c+2|0]=d>>>16;D[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function Md(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Z-16|0;Z=g;a:{if(!Sa(1,g+8|0,b)){break a}d=F[b+8>>2];e=F[b+16>>2];f=d-e|0;h=F[g+12>>2];c=d>>>0>>0;d=F[b+20>>2];i=F[b+12>>2]-(c+d|0)|0;c=F[g+8>>2];if((h|0)==(i|0)&c>>>0>f>>>0|h>>>0>i>>>0){break a}d=d+h|0;f=c+e|0;d=f>>>0>>0?d+1|0:d;F[b+16>>2]=f;F[b+20>>2]=d;if((c|0)<=0){break a}b=F[b>>2]+e|0;F[a+40>>2]=b;e=c-1|0;d=b+e|0;f=G[d|0];b:{if(f>>>0<=63){F[a+44>>2]=e;b=G[d|0]&63;break b}c:{switch((f>>>6|0)-1|0){case 0:if(c>>>0<2){break a}c=c-2|0;F[a+44>>2]=c;b=b+c|0;b=G[b+1|0]<<8&16128|G[b|0];break b;case 1:if(c>>>0<3){break a}c=c-3|0;F[a+44>>2]=c;b=b+c|0;b=G[b+1|0]<<8|G[b+2|0]<<16&4128768|G[b|0];break b;default:break c}}c=c-4|0;F[a+44>>2]=c;b=b+c|0;b=(G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24))&1073741823}F[a+48>>2]=b+16384;j=b>>>0<4177920}Z=g+16|0;return j}function Tf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a:{a=Z-32|0;Z=a;e=ya(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=ka(g);F[a+24>>2]=g|-2147483648;F[a+16>>2]=f;F[a+20>>2]=e;g=e+f|0;break c}D[a+27|0]=e;f=a+16|0;g=e+f|0;if(!e){break b}}la(f,c,e)}D[g|0]=0;F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;d:{c=Ya(b,a+16|0);if((c|0)==(b+4|0)){break d}b=F[c+28>>2];e=F[c+32>>2];if((b|0)==(e|0)){break d}b=e-b|0;if(b&3){break d}e=b>>>2|0;f=F[a+4>>2];b=F[a>>2];g=f-b>>2;e:{if(e>>>0>g>>>0){qa(a,e-g|0);b=F[a>>2];f=F[a+4>>2];break e}if(e>>>0>=g>>>0){break e}f=(e<<2)+b|0;F[a+4>>2]=f}if((b|0)!=(f|0)){e=b;b=F[c+28>>2];la(e,b,F[c+32>>2]-b|0);break d}ta();v()}b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d>>2]=F[a>>2];F[d+4>>2]=F[a+4>>2];F[d+8>>2]=F[a+8>>2];if(D[a+27|0]<0){ja(F[a+16>>2])}Z=a+32|0;break a}za();v()}}function ud(a){a=a|0;var b=0,c=0,d=0,e=0;F[a>>2]=8284;d=F[a+368>>2];F[a+368>>2]=0;if(d){e=d-4|0;b=F[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}ja(e)}td(a+216|0);b=F[a+196>>2];if(b){F[a+200>>2]=b;ja(b)}b=F[a+184>>2];if(b){F[a+188>>2]=b;ja(b)}b=F[a+172>>2];if(b){F[a+176>>2]=b;ja(b)}b=F[a+160>>2];if(b){F[a+164>>2]=b;ja(b)}c=F[a+144>>2];if(c){while(1){b=F[c>>2];ja(c);c=b;if(b){continue}break}}b=F[a+136>>2];F[a+136>>2]=0;if(b){ja(b)}b=F[a+120>>2];if(b){ja(b)}b=F[a+108>>2];if(b){ja(b)}b=F[a+96>>2];if(b){ja(b)}b=F[a+72>>2];if(b){F[a+76>>2]=b;ja(b)}b=F[a+60>>2];if(b){ja(b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}b=F[a+36>>2];if(b){F[a+40>>2]=b;ja(b)}b=F[a+24>>2];if(b){F[a+28>>2]=b;ja(b)}b=F[a+12>>2];if(b){F[a+16>>2]=b;ja(b)}b=F[a+8>>2];F[a+8>>2]=0;if(b){Za(b)}return a|0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Z-16|0;Z=d;a:{e=ya(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=ka(f);F[d+8>>2]=f|-2147483648;F[d>>2]=a;F[d+4>>2]=e;f=a+e|0;break c}D[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}la(a,c,e)}D[f|0]=0;c=G[d+11|0];e=c<<24>>24;b=F[b+4>>2];a=0;d:{if(!b){break d}a=c;c=(e|0)<0;a=c?F[d+4>>2]:a;f=c?F[d>>2]:d;while(1){c=G[b+27|0];g=c<<24>>24<0;c=g?F[b+20>>2]:c;i=c>>>0>>0;e:{f:{g:{h:{i:{j:{h=i?c:a;if(h){g=g?F[b+16>>2]:b+16|0;j=sa(f,g,h);if(j){break j}if(a>>>0>=c>>>0){break i}break e}if(a>>>0>=c>>>0){break h}break e}if((j|0)<0){break e}}c=sa(g,f,h);if(c){break g}}if(i){break f}a=1;break d}if((c|0)<0){break f}a=1;break d}b=b+4|0}b=F[b>>2];if(b){continue}break}a=0}if((e|0)<0){ja(F[d>>2])}Z=d+16|0;break a}za();v()}return a|0}function lc(a,b){var c=0,d=0;c=F[b+8>>2];F[a+4>>2]=F[b+4>>2];F[a+8>>2]=c;F[a+20>>2]=F[b+20>>2];c=F[b+16>>2];F[a+12>>2]=F[b+12>>2];F[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=F[b+28>>2];if(c){d=F[a+24>>2];if(F[a+32>>2]<<5>>>0>>0){if(d){ja(d);F[a+32>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;c=F[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=ka(c<<2);F[a+32>>2]=c;F[a+28>>2]=0;F[a+24>>2]=d;c=F[b+28>>2]}pa(d,F[b+24>>2],(c-1>>>3&536870908)+4|0);c=F[b+28>>2]}else{c=0}F[a+28>>2]=c;c=F[b+40>>2];if(c){d=F[a+36>>2];if(F[a+44>>2]<<5>>>0>>0){if(d){ja(d);F[a+44>>2]=0;F[a+36>>2]=0;F[a+40>>2]=0;c=F[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=ka(c<<2);F[a+44>>2]=c;F[a+40>>2]=0;F[a+36>>2]=d;c=F[b+40>>2]}pa(d,F[b+36>>2],(c-1>>>3&536870908)+4|0);b=F[b+40>>2]}else{b=0}F[a+40>>2]=b}return}na();v()}na();v()}function nc(a){var b=0,c=0,d=0;b=F[a+8>>2];d=F[a>>2];a:{if(G[a+12|0]){b:{c:{d:{e:{if((b|0)==-1){break e}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;if((b|0)==-1){break e}b=F[F[d+12>>2]+(b<<2)>>2];if((b|0)!=-1){break d}}F[a+8>>2]=-1;break c}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;F[a+8>>2]=b;if((b|0)!=-1){break b}}c=F[a+4>>2];b=-1;f:{if((c|0)==-1){break f}g:{if((c>>>0)%3|0){c=c-1|0;break g}c=c+2|0;b=-1;if((c|0)==-1){break f}}c=F[F[d+12>>2]+(c<<2)>>2];b=-1;if((c|0)==-1){break f}b=c-1|0;if((c>>>0)%3|0){break f}b=c+2|0}D[a+12|0]=0;F[a+8>>2]=b;return}if((b|0)!=F[a+4>>2]){break a}F[a+8>>2]=-1;return}c=-1;h:{if((b|0)==-1){break h}i:{if((b>>>0)%3|0){b=b-1|0;break i}b=b+2|0;c=-1;if((b|0)==-1){break h}}b=F[F[d+12>>2]+(b<<2)>>2];c=-1;if((b|0)==-1){break h}c=b-1|0;if((b>>>0)%3|0){break h}c=b+2|0}F[a+8>>2]=c}}function Od(a){var b=0,c=0,d=0;b=ka(32);D[b+26|0]=0;c=G[1475]|G[1476]<<8;D[b+24|0]=c;D[b+25|0]=c>>>8;c=G[1471]|G[1472]<<8|(G[1473]<<16|G[1474]<<24);d=G[1467]|G[1468]<<8|(G[1469]<<16|G[1470]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[1463]|G[1464]<<8|(G[1465]<<16|G[1466]<<24);d=G[1459]|G[1460]<<8|(G[1461]<<16|G[1462]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[1455]|G[1456]<<8|(G[1457]<<16|G[1458]<<24);d=G[1451]|G[1452]<<8|(G[1453]<<16|G[1454]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;F[a>>2]=-1;ra(a+4|0,b,26);ja(b)}function Kg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=F[a+4>>2];d=F[e>>2];a:{b=F[a+12>>2];c=F[b+56>>2]-F[b+52>>2]|0;f=c>>2;b:{if(f>>>0<=F[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=F[e+4>>2];c=ka(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[e+8>>2]=f;F[e+4>>2]=g;F[e>>2]=c;if(!d){break b}ja(d)}e=a+8|0;b=F[a+76>>2];c:{if(b){d=F[b>>2];if((d|0)==F[b+4>>2]){return 1}b=0;while(1){c=od(e,F[(b<<2)+d>>2]);if(!c){break c}f=F[a+76>>2];d=F[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=F[F[a+12>>2]+64>>2];a=F[a+4>>2]-F[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=od(e,L(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}na();v()}function Qg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=F[a+4>>2];d=F[e>>2];a:{b=F[a+12>>2];c=F[b+28>>2]-F[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=F[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=F[e+4>>2];c=ka(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[e+8>>2]=f;F[e+4>>2]=g;F[e>>2]=c;if(!d){break b}ja(d)}e=a+8|0;b=F[a+76>>2];c:{if(b){d=F[b>>2];if((d|0)==F[b+4>>2]){return 1}b=0;while(1){c=pd(e,F[(b<<2)+d>>2]);if(!c){break c}f=F[a+76>>2];d=F[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=F[a+12>>2];a=F[a+4>>2]-F[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=pd(e,L(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}na();v()}function pa(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return la(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}D[d|0]=G[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;D[d|0]=G[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;F[c+a>>2]=F[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;D[c+a|0]=G[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){F[d>>2]=F[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){D[d|0]=G[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function Pb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=F[a+8>>2];c=F[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=ma(c,0,b)+b|0}F[a+4>>2]=c;return}a:{b:{c:{g=F[a>>2];f=c-g>>2;e=f+b|0;if(e>>>0<1073741824){d=d-g|0;h=d>>>1|0;e=d>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break c}i=ka(e<<2)}d=(f<<2)+i|0;f=b<<2;b=ma(d,0,f);f=b+f|0;e=(e<<2)+i|0;if((c|0)==(g|0)){break b}while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;d=d-4|0;F[d>>2]=b;if((c|0)!=(g|0)){continue}break}F[a+8>>2]=e;b=F[a+4>>2];F[a+4>>2]=f;c=F[a>>2];F[a>>2]=d;if((b|0)==(c|0)){break a}while(1){b=b-4|0;a=F[b>>2];F[b>>2]=0;if(a){$[F[F[a>>2]+4>>2]](a)}if((b|0)!=(c|0)){continue}break}break a}na();v()}oa();v()}F[a+8>>2]=e;F[a+4>>2]=f;F[a>>2]=b}if(c){ja(c)}}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=F[b+8>>2];d=F[b+12>>2];g=d;d=F[b+20>>2];k=d;h=F[b+16>>2];c=h+4|0;d=c>>>0<4?d+1|0:d;i=c;a:{if(c>>>0>e>>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}j=F[b>>2];c=j+h|0;f=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+16>>2]=i;F[b+20>>2]=d;c=e;e=k;d=h+8|0;e=d>>>0<8?e+1|0:e;if(c>>>0>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break a}c=i+j|0;c=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+16>>2]=d;F[b+20>>2]=e;if((c|0)<(f|0)){break a}F[a+16>>2]=c;F[a+12>>2]=f;d=(c>>31)-((f>>31)+(c>>>0>>0)|0)|0;e=c-f|0;if(!d&e>>>0>2147483646|d){break a}d=e+1|0;F[a+20>>2]=d;e=d>>>1|0;F[a+24>>2]=e;F[a+28>>2]=0-e;if(!(d&1)){F[a+24>>2]=e-1}l=Aa(a+112|0,b)}return l|0}function Wc(a,b){var c=0,d=0,e=0,f=0;d=-1;e=-1;f=-1;a:{b:{if((b|0)==-1){break b}e=F[F[F[a+4>>2]+12>>2]+(b<<2)>>2];c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)>=0){f=(c>>>0)/3|0;f=F[(F[F[a>>2]+96>>2]+L(f,12)|0)+(c-L(f,3)<<2)>>2]}c:{if((e|0)==-1){break c}c=((e>>>0)%3|0?-1:2)+e|0;if((c|0)<0){break c}d=(c>>>0)/3|0;d=F[(F[F[a>>2]+96>>2]+L(d,12)|0)+(c-L(d,3)<<2)>>2]}c=-1;if((d|0)!=(f|0)){break a}f=-1;d:{b=((b>>>0)%3|0?-1:2)+b|0;if((b|0)>=0){d=(b>>>0)/3|0;d=F[(F[F[a>>2]+96>>2]+L(d,12)|0)+(b-L(d,3)<<2)>>2];if((e|0)==-1){break b}break d}d=-1;if((e|0)!=-1){break d}break b}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)<0){break b}c=F[F[a>>2]+96>>2];a=(b>>>0)/3|0;f=F[(c+L(a,12)|0)+(b-L(a,3)<<2)>>2]}c=(d|0)!=(f|0)?-1:e}return c}function Fc(a,b){var c=0,d=0,e=0;c=Z+-64|0;Z=c;d=F[a>>2];e=F[d-4>>2];d=F[d-8>>2];F[c+32>>2]=0;F[c+36>>2]=0;F[c+40>>2]=0;F[c+44>>2]=0;F[c+48>>2]=0;F[c+52>>2]=0;D[c+55|0]=0;D[c+56|0]=0;D[c+57|0]=0;D[c+58|0]=0;D[c+59|0]=0;D[c+60|0]=0;D[c+61|0]=0;D[c+62|0]=0;F[c+24>>2]=0;F[c+28>>2]=0;F[c+20>>2]=0;F[c+16>>2]=11020;F[c+12>>2]=a;F[c+8>>2]=b;a=a+d|0;d=0;a:{if(La(e,b,0)){F[c+56>>2]=1;$[F[F[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=F[c+32>>2]==1?a:0;break a}$[F[F[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(F[c+44>>2]){case 0:d=F[c+48>>2]==1?F[c+36>>2]==1?F[c+40>>2]==1?F[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(F[c+32>>2]!=1){if(F[c+48>>2]|F[c+36>>2]!=1|F[c+40>>2]!=1){break a}}d=F[c+24>>2]}Z=c- -64|0;return d}function ma(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}D[a|0]=b;d=a+c|0;D[d-1|0]=b;if(c>>>0<3){break a}D[a+2|0]=b;D[a+1|0]=b;D[d-3|0]=b;D[d-2|0]=b;if(c>>>0<7){break a}D[a+3|0]=b;D[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=L(b&255,16843009);F[e>>2]=b;d=c-d&-4;c=d+e|0;F[c-4>>2]=b;if(d>>>0<9){break a}F[e+8>>2]=b;F[e+4>>2]=b;F[c-8>>2]=b;F[c-12>>2]=b;if(d>>>0<25){break a}F[e+24>>2]=b;F[e+20>>2]=b;F[e+16>>2]=b;F[e+12>>2]=b;F[c-16>>2]=b;F[c-20>>2]=b;F[c-24>>2]=b;F[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=ki(b,0,1,1);f=_;b=e+g|0;while(1){F[b+24>>2]=d;F[b+28>>2]=f;F[b+16>>2]=d;F[b+20>>2]=f;F[b+8>>2]=d;F[b+12>>2]=f;F[b>>2]=d;F[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=F[b+8>>2];e=F[b+12>>2];g=e;e=F[b+20>>2];k=e;h=F[b+16>>2];c=h+4|0;e=c>>>0<4?e+1|0:e;i=c;a:{if(c>>>0>d>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break a}j=F[b>>2];c=j+h|0;f=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+16>>2]=i;F[b+20>>2]=e;c=d;d=k;e=h+8|0;d=e>>>0<8?d+1|0:d;if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}c=i+j|0;c=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+16>>2]=e;F[b+20>>2]=d;if((c|0)<(f|0)){break a}F[a+16>>2]=c;F[a+12>>2]=f;d=(c>>31)-((f>>31)+(c>>>0>>0)|0)|0;b=c-f|0;if(!d&b>>>0>2147483646|d){break a}l=1;d=b+1|0;F[a+20>>2]=d;b=d>>>1|0;F[a+24>>2]=b;F[a+28>>2]=0-b;if(d&1){break a}F[a+24>>2]=b-1}return l|0}function Uc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Z-16|0;Z=d;f=F[a+24>>2];k=F[a+28>>2];a:{if((f|0)!=(k|0)){while(1){F[d+8>>2]=0;F[d>>2]=0;F[d+4>>2]=0;a=Sc(F[f>>2],b,d);g=G[d+11|0];h=g<<24>>24;i=3;b:{c:{d:{if(!a){break d}i=0;a=G[c+11|0];e=a<<24>>24;j=(h|0)<0?F[d+4>>2]:g;if((j|0)!=(((e|0)<0?F[c+4>>2]:a)|0)){break d}a=(e|0)<0?F[c>>2]:c;e=(h|0)<0;e:{if(!e){e=d;if(!h){break e}while(1){if(G[e|0]!=G[a|0]){break d}a=a+1|0;e=e+1|0;g=g-1|0;if(g){continue}break}break e}if(!j){break e}if(sa(e?F[d>>2]:d,a,j)){break c}}l=F[f>>2];i=1}if((h|0)>=0){break b}}ja(F[d>>2])}f:{switch(i|0){case 0:case 3:break f;default:break a}}f=f+4|0;if((k|0)!=(f|0)){continue}break}}l=0}Z=d+16|0;return l}function gb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;h=f>>2;d=F[a+8>>2];e=F[a>>2];if(h>>>0<=d-e>>2>>>0){d=F[a+4>>2];g=d-e|0;f=g+b|0;i=g>>2;g=i>>>0>>0?f:c;if((g|0)!=(b|0)){while(1){F[e>>2]=F[b>>2];e=e+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}if(h>>>0>i>>>0){if((c|0)!=(g|0)){while(1){F[d>>2]=F[f>>2];d=d+4|0;f=f+4|0;if((f|0)!=(c|0)){continue}break}}F[a+4>>2]=d;return}F[a+4>>2]=e;return}if(e){F[a+4>>2]=e;ja(e);F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(d>>>0>=1073741824){break a}e=d<<2;d=ka(e);F[a>>2]=d;F[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=la(d,c,b)+b|0}F[a+4>>2]=d;return}na();v()}function Ea(a,b,c){var d=0,e=0,f=0;e=Z-16|0;Z=e;F[a+4>>2]=0;a:{b:{if(!b){break b}f=F[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){F[a+4>>2]=b;break c}F[e+8>>2]=0;F[e>>2]=0;F[e+4>>2]=0;if((b|0)<0){break a}if(d>>>0<=1073741822){f=f<<6;d=b+31&-32;d=d>>>0>>0?f:d}else{d=2147483647}$a(e,d);f=F[a>>2];F[a>>2]=F[e>>2];F[e>>2]=f;d=F[a+4>>2];F[a+4>>2]=b;F[e+4>>2]=d;d=F[a+8>>2];F[a+8>>2]=F[e+8>>2];F[e+8>>2]=d;if(!f){break c}ja(f)}d=b>>>5|0;a=F[a>>2];if(G[c|0]){if(b>>>0>=32){ma(a,255,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;F[a>>2]=F[a>>2]|-1>>>32-(b&31);break b}if(b>>>0>=32){ma(a,0,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;F[a>>2]=F[a>>2]&(-1>>>32-(b&31)^-1)}Z=e+16|0;return}na();v()}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=Z-32|0;Z=e;a:{b:{f=ya(c);if(f>>>0<2147483632){c:{d:{if(f>>>0>=11){a=(f|15)+1|0;g=ka(a);F[e+24>>2]=a|-2147483648;F[e+16>>2]=g;F[e+20>>2]=f;a=f+g|0;break d}D[e+27|0]=f;g=e+16|0;a=f+g|0;if(!f){break c}}la(g,c,f)}D[a|0]=0;c=ya(d);if(c>>>0>=2147483632){break b}e:{f:{if(c>>>0>=11){f=(c|15)+1|0;a=ka(f);F[e+8>>2]=f|-2147483648;F[e>>2]=a;F[e+4>>2]=c;g=a+c|0;break f}D[e+11|0]=c;g=c+e|0;a=e;if(!c){break e}}la(a,d,c)}D[g|0]=0;c=F[b+4>>2];a=-1;g:{if(!c){break g}c=Uc(c,e+16|0,e);a=-1;if(!c){break g}a=Pc(b,F[c+24>>2])}if(D[e+11|0]<0){ja(F[e>>2])}if(D[e+27|0]<0){ja(F[e+16>>2])}Z=e+32|0;break a}za();v()}za();v()}return a|0}function ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=F[c+12>>2];f=h;e=F[c+20>>2];j=F[c+8>>2];g=F[c+16>>2];a:{if((f|0)<=(e|0)&j>>>0<=g>>>0|(e|0)>(f|0)){break a}k=F[c>>2];i=D[k+g|0];d=e;f=g+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;if((i-7&255)>>>0<247){break a}b:{if((i|0)==-2){break b}if((d|0)>=(h|0)&f>>>0>=j>>>0|(d|0)>(h|0)){break a}d=D[f+k|0];g=g+2|0;e=g>>>0<2?e+1|0:e;F[c+16>>2]=g;F[c+20>>2]=e;if((d-4&255)>>>0<251){break a}e=$[F[F[a>>2]+40>>2]](a,i,d)|0;d=F[a+20>>2];F[a+20>>2]=e;if(!d){break b}$[F[F[d>>2]+4>>2]](d)}d=F[a+20>>2];if(d){if(!($[F[F[a>>2]+28>>2]](a,d)|0)){break a}}l=$[F[F[a>>2]+36>>2]](a,b,c)|0}return l|0}function se(a,b){a=a|0;b=b|0;a=0;a:{switch(b|0){case 0:a=ka(20);F[a+12>>2]=-1;F[a+16>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1920;return a|0;case 1:a=ka(24);F[a+12>>2]=-1;F[a+16>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1920;F[a+20>>2]=0;F[a>>2]=2136;return a|0;case 2:a=ka(48);F[a+12>>2]=-1;F[a+16>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1920;F[a+20>>2]=0;F[a>>2]=2136;F[a+24>>2]=1624;F[a>>2]=7948;F[a+32>>2]=0;F[a+36>>2]=0;F[a+28>>2]=-1;F[a+40>>2]=0;F[a+44>>2]=0;return a|0;case 3:a=ka(32);F[a+12>>2]=-1;F[a+16>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1920;F[a+20>>2]=0;F[a>>2]=2136;F[a+24>>2]=1032;F[a>>2]=5812;F[a+28>>2]=-1;break;default:break a}}return a|0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=F[b>>2];b=F[b+4>>2];d=F[F[a+8>>2]+40>>2];j=d;m=ka((d|0)<0?-1:d);i=b-f|0;e=1;a:{if((i|0)<4){break a}b=0;g=F[c+16>>2];k=d;f=g+d|0;d=0+F[c+20>>2]|0;d=f>>>0>>0?d+1|0:d;h=F[c+12>>2];e=0;if(I[c+8>>2]>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}e=i>>2;i=(e|0)<=1?1:e;while(1){b:{g=la(m,F[c>>2]+g|0,j);F[c+16>>2]=f;F[c+20>>2]=d;la(F[F[F[a+8>>2]+64>>2]>>2]+b|0,g,j);l=l+1|0;if((i|0)==(l|0)){break b}b=b+j|0;d=n+F[c+20>>2]|0;g=F[c+16>>2];f=k+g|0;d=f>>>0>>0?d+1|0:d;h=F[c+12>>2];if((d|0)<=(h|0)&I[c+8>>2]>=f>>>0|(d|0)<(h|0)){continue}}break}e=(e|0)<=(l|0)}ja(m);return e|0}function mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;F[b>>2]=1;f=b+8|0;c=F[b+8>>2];d=F[b+12>>2]-c|0;if(d>>>0<=4294967291){Db(f,d+4|0);c=F[f>>2]}c=c+d|0;d=F[a+4>>2];D[c|0]=d;D[c+1|0]=d>>>8;D[c+2|0]=d>>>16;D[c+3|0]=d>>>24;c=F[a+8>>2];if((c|0)!=F[a+12>>2]){d=0;while(1){g=(d<<2)+c|0;c=F[b+8>>2];e=F[b+12>>2]-c|0;if(e>>>0<=4294967291){Db(f,e+4|0);c=F[f>>2]}c=c+e|0;e=F[g>>2];D[c|0]=e;D[c+1|0]=e>>>8;D[c+2|0]=e>>>16;D[c+3|0]=e>>>24;d=d+1|0;c=F[a+8>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}c=F[b+12>>2];b=F[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){Db(f,c+4|0);b=F[f>>2]}b=b+c|0;a=F[a+20>>2];D[b|0]=a;D[b+1|0]=a>>>8;D[b+2|0]=a>>>16;D[b+3|0]=a>>>24}function mb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=F[a+4>>2];if((c|0)!=F[a+8>>2]){e=F[b+4>>2];F[c>>2]=F[b>>2];F[c+4>>2]=e;F[c+8>>2]=F[b+8>>2];F[a+4>>2]=c+12;return}a:{g=F[a>>2];d=(c-g|0)/12|0;e=d+1|0;if(e>>>0<357913942){f=d<<1;f=d>>>0>=178956970?357913941:e>>>0>>0?f:e;if(f){if(f>>>0>=357913942){break a}e=ka(L(f,12))}else{e=0}d=e+L(d,12)|0;h=F[b+4>>2];F[d>>2]=F[b>>2];F[d+4>>2]=h;F[d+8>>2]=F[b+8>>2];b=d+12|0;if((c|0)!=(g|0)){while(1){c=c-12|0;h=F[c+4>>2];d=d-12|0;F[d>>2]=F[c>>2];F[d+4>>2]=h;F[d+8>>2]=F[c+8>>2];if((c|0)!=(g|0)){continue}break}c=F[a>>2]}F[a+8>>2]=e+L(f,12);F[a+4>>2]=b;F[a>>2]=d;if(c){ja(c)}return}na();v()}oa();v()}function Bf(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;a:{if(I[b+80>>2]>65535){break a}a=F[b+100>>2];b=F[b+96>>2];e=(a-b|0)/12|0;f=L(e,6);g=(f|0)==(c|0);if((a|0)==(b|0)|(c|0)!=(f|0)){break a}g=1;c=e>>>0<=1?1:e;i=c&1;a=0;if(e>>>0>=2){j=c&-2;c=0;while(1){f=L(a,6);h=f+d|0;e=b+L(a,12)|0;E[h>>1]=F[e>>2];E[(f|2)+d>>1]=F[e+4>>2];E[h+4>>1]=F[e+8>>2];f=a|1;e=L(f,6)+d|0;f=b+L(f,12)|0;E[e>>1]=F[f>>2];E[e+2>>1]=F[f+4>>2];E[e+4>>1]=F[f+8>>2];a=a+2|0;c=c+2|0;if((j|0)!=(c|0)){continue}break}}if(!i){break a}c=L(a,6)+d|0;a=b+L(a,12)|0;E[c>>1]=F[a>>2];E[c+2>>1]=F[a+4>>2];E[c+4>>1]=F[a+8>>2]}return g|0}function Gh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Z-32|0;Z=f;h=e>>>0>1073741823?-1:e<<2;h=ma(ka(h),0,h);g=F[b>>2];i=F[b+4>>2];k=F[h+4>>2];F[f+16>>2]=F[h>>2];F[f+20>>2]=k;F[f+8>>2]=g;F[f+12>>2]=i;i=a+8|0;Jb(f+24|0,i,f+16|0,f+8|0);F[c>>2]=F[f+24>>2];F[c+4>>2]=F[f+28>>2];if((d|0)>(e|0)){k=0-e<<2;a=e;while(1){g=a<<2;j=g+b|0;m=F[j>>2];j=F[j+4>>2];g=c+g|0;l=g+k|0;n=F[l+4>>2];F[f+16>>2]=F[l>>2];F[f+20>>2]=n;F[f+8>>2]=m;F[f+12>>2]=j;Jb(f+24|0,i,f+16|0,f+8|0);F[g>>2]=F[f+24>>2];F[g+4>>2]=F[f+28>>2];a=a+e|0;if((d|0)>(a|0)){continue}break}}ja(h);Z=f+32|0;return 1}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a=Z-32|0;Z=a;F[a+24>>2]=0;F[a+28>>2]=0;a:{d=ya(c);if(d>>>0<2147483632){b:{c:{if(d>>>0>=11){e=(d|15)+1|0;f=ka(e);F[a+16>>2]=e|-2147483648;F[a+8>>2]=f;F[a+12>>2]=d;e=d+f|0;break c}D[a+19|0]=d;f=a+8|0;e=f+d|0;if(!d){break b}}la(f,c,d)}D[e|0]=0;c=b+4|0;b=Ya(b,a+8|0);d:{if((c|0)==(b|0)){break d}c=F[b+32>>2];b=F[b+28>>2];if((c-b|0)!=8){break d}c=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);F[a+24>>2]=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);F[a+28>>2]=c}g=K[a+24>>3];if(D[a+19|0]<0){ja(F[a+8>>2])}Z=a+32|0;break a}za();v()}return+g}function Gc(a,b,c,d,e,f,g){var h=0,i=0,j=0;h=Z-16|0;Z=h;if((b^-1)+2147483631>>>0>=c>>>0){if(G[a+11|0]>>>7|0){i=F[a>>2]}else{i=a}if(b>>>0<1073741799){F[h+12>>2]=b<<1;F[h>>2]=b+c;c=Z-16|0;Z=c;Z=c+16|0;c=h+12|0;c=F[(I[h>>2]>2]?c:h)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}sb(h,c);c=F[h>>2];if(f){db(c,g,f)}g=d-e|0;if((d|0)!=(e|0)){db(c+f|0,e+i|0,g)}if((b|0)!=10){ja(i)}F[a>>2]=c;F[a+8>>2]=F[a+8>>2]&-2147483648|F[h+4>>2]&2147483647;F[a+8>>2]=F[a+8>>2]|-2147483648;b=a;a=f+g|0;F[b+4>>2]=a;D[h+12|0]=0;D[a+c|0]=G[h+12|0];Z=h+16|0;return}za();v()}function _c(a,b,c){var d=0,e=0,f=0,g=0;a:{f=b>>>0<1431655766&(b|c)>=0;b:{if(!f){break b}b=L(b,3);Xb(a,b,10224);Xb(a+12|0,b,10228);d=F[a+24>>2];c:{if(F[a+32>>2]-d>>2>>>0>=c>>>0){break c}if(c>>>0>=1073741824){break a}b=F[a+28>>2];e=c<<2;c=ka(e);e=c+e|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;F[c>>2]=F[b>>2];if((b|0)!=(d|0)){continue}break}}F[a+32>>2]=e;F[a+28>>2]=g;F[a+24>>2]=c;if(!d){break c}ja(d)}F[a+80>>2]=0;F[a+84>>2]=0;b=F[a+76>>2];F[a+76>>2]=0;if(b){ja(b)}F[a+68>>2]=0;F[a+72>>2]=0;b=a- -64|0;a=F[b>>2];F[b>>2]=0;if(!a){break b}ja(a)}return f}na();v()}function yd(a){var b=0,c=0,d=0,e=0,f=0;f=1;c=F[a+140>>2];a:{if((c|0)<=0){break a}b=c<<4;d=ka(c>>>0>268435455?-1:b|4);F[d>>2]=c;d=d+4|0;c=d+b|0;b=d;while(1){F[b>>2]=0;F[b+4>>2]=0;D[b+5|0]=0;D[b+6|0]=0;D[b+7|0]=0;D[b+8|0]=0;D[b+9|0]=0;D[b+10|0]=0;D[b+11|0]=0;D[b+12|0]=0;b=b+16|0;if((c|0)!=(b|0)){continue}break}e=F[a+136>>2];F[a+136>>2]=d;if(e){c=e-4|0;d=F[c>>2];if(d){b=(d<<4)+e|0;while(1){b=b-16|0;if((e|0)!=(b|0)){continue}break}}ja(c)}b=0;if(F[a+140>>2]<=0){break a}while(1){f=Aa(F[a+136>>2]+(b<<4)|0,a);if(!f){break a}b=b+1|0;if((b|0)>2]){continue}break}}return f} function Sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=F[b+8>>2];c=F[b+12>>2];g=c;c=F[b+20>>2];i=c;h=F[b+16>>2];f=h+4|0;c=f>>>0<4?c+1|0:c;a:{if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}e=h+F[b>>2]|0;e=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);F[b+16>>2]=f;F[b+20>>2]=c;f=d;d=i;c=h+8|0;d=c>>>0<8?d+1|0:d;if(c>>>0>f>>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}F[b+16>>2]=c;F[b+20>>2]=d;if(!(e&1)){break a}d=O(e)^31;if(d-1>>>0>28){break a}F[a+8>>2]=d+1;d=-2<>2]=c;F[a+12>>2]=d^-1;F[a+24>>2]=c>>1;J[a+20>>2]=M(2)/M(c|0);j=Aa(a+96|0,b)}return j|0}function bc(a,b){var c=0;c=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=c;c=F[b+60>>2];F[a+56>>2]=F[b+56>>2];F[a+60>>2]=c;c=F[b+52>>2];F[a+48>>2]=F[b+48>>2];F[a+52>>2]=c;c=F[b+44>>2];F[a+40>>2]=F[b+40>>2];F[a+44>>2]=c;c=F[b+36>>2];F[a+32>>2]=F[b+32>>2];F[a+36>>2]=c;c=F[b+28>>2];F[a+24>>2]=F[b+24>>2];F[a+28>>2]=c;c=F[b+20>>2];F[a+16>>2]=F[b+16>>2];F[a+20>>2]=c;c=F[b+12>>2];F[a+8>>2]=F[b+8>>2];F[a+12>>2]=c;F[a+88>>2]=0;F[a+64>>2]=0;F[a+68>>2]=0;F[a+72>>2]=0;F[a+76>>2]=0;D[a+77|0]=0;D[a+78|0]=0;D[a+79|0]=0;D[a+80|0]=0;D[a+81|0]=0;D[a+82|0]=0;D[a+83|0]=0;D[a+84|0]=0;return a}function ac(a,b){var c=0,d=0,e=0,f=0,g=0;a:{if(F[a+64>>2]){break a}c=ka(32);F[c+16>>2]=0;F[c+20>>2]=0;F[c+8>>2]=0;F[c>>2]=0;F[c+4>>2]=0;F[c+24>>2]=0;F[c+28>>2]=0;d=F[a+64>>2];F[a+64>>2]=c;if(!d){break a}c=F[d>>2];if(c){F[d+4>>2]=c;ja(c)}ja(d)}d=F[a+64>>2];c=F[a+28>>2]-1|0;if(c>>>0<=10){c=F[(c<<2)+10148>>2]}else{c=-1}c=L(c,G[a+24|0]);f=c>>31;g=md(d,0,ki(c,f,b,0),_);if(g){d=F[a+64>>2];F[a>>2]=d;e=F[d+20>>2];F[a+8>>2]=F[d+16>>2];F[a+12>>2]=e;e=F[d+24>>2];d=F[d+28>>2];F[a+48>>2]=0;F[a+52>>2]=0;F[a+40>>2]=c;F[a+44>>2]=f;F[a+16>>2]=e;F[a+20>>2]=d;F[a+80>>2]=b}return g}function Af(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;a=F[b+100>>2];b=F[b+96>>2];h=a-b|0;a:{if((h|0)!=(c|0)|(a|0)==(b|0)){break a}g=(c|0)/12|0;e=g>>>0<=1?1:g;j=e&1;a=0;if(g>>>0>=2){k=e&-2;g=0;while(1){e=L(a,12);i=e+d|0;f=b+e|0;F[i>>2]=F[f>>2];F[(e|4)+d>>2]=F[f+4>>2];F[i+8>>2]=F[f+8>>2];f=L(a|1,12);e=f+d|0;f=b+f|0;F[e>>2]=F[f>>2];F[e+4>>2]=F[f+4>>2];F[e+8>>2]=F[f+8>>2];a=a+2|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}}if(!j){break a}e=d;d=L(a,12);a=e+d|0;b=b+d|0;F[a>>2]=F[b>>2];F[a+4>>2]=F[b+4>>2];F[a+8>>2]=F[b+8>>2]}return(c|0)==(h|0)|0}function Kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=F[b+8>>2];d=F[b+12>>2];g=d;d=F[b+20>>2];i=d;h=F[b+16>>2];f=h+4|0;d=f>>>0<4?d+1|0:d;a:{if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}e=h+F[b>>2]|0;e=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);F[b+16>>2]=f;F[b+20>>2]=d;f=c;c=i;d=h+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}F[b+16>>2]=d;F[b+20>>2]=c;if(!(e&1)){break a}b=O(e)^31;if(b-1>>>0>28){break a}j=1;F[a+8>>2]=b+1;b=-2<>2]=c;F[a+12>>2]=b^-1;F[a+24>>2]=c>>1;J[a+20>>2]=M(2)/M(c|0)}return j|0}function Ya(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;a=F[a+4>>2];a:{b:{if(!a){break b}d=G[b+11|0];c=d<<24>>24<0;g=c?F[b>>2]:b;d=c?F[b+4>>2]:d;b=f;while(1){e=G[a+27|0];c=e<<24>>24<0;e=c?F[a+20>>2]:e;h=e>>>0>d>>>0;i=h?d:e;c:{if(i){c=sa(c?F[a+16>>2]:a+16|0,g,i);if(c){break c}}c=d>>>0>e>>>0?-1:h}c=(c|0)<0;b=c?b:a;a=F[(c?a+4|0:a)>>2];if(a){continue}break}if((b|0)==(f|0)){break b}c=G[b+27|0];a=c<<24>>24<0;d:{c=a?F[b+20>>2]:c;e=c>>>0>>0?c:d;if(e){a=sa(g,a?F[b+16>>2]:b+16|0,e);if(a){break d}}if(c>>>0>d>>>0){break b}break a}if((a|0)>=0){break a}}b=f}return b}function Oe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(La(a,F[b+8>>2],e)){if(!(F[b+28>>2]==1|F[b+4>>2]!=(c|0))){F[b+28>>2]=d}return}a:{if(La(a,F[b>>2],e)){if(!(F[b+16>>2]!=(c|0)&F[b+20>>2]!=(c|0))){if((d|0)!=1){break a}F[b+32>>2]=1;return}F[b+32>>2]=d;b:{if(F[b+44>>2]==4){break b}E[b+52>>1]=0;a=F[a+8>>2];$[F[F[a>>2]+20>>2]](a,b,c,c,1,e);if(G[b+53|0]){F[b+44>>2]=3;if(!G[b+52|0]){break b}break a}F[b+44>>2]=4}F[b+20>>2]=c;F[b+40>>2]=F[b+40>>2]+1;if(F[b+36>>2]!=1|F[b+24>>2]!=2){break a}D[b+54|0]=1;return}a=F[a+8>>2];$[F[F[a>>2]+24>>2]](a,b,c,d,e)}}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=ka(64);c=ka(12);F[c+8>>2]=F[F[a+4>>2]+80>>2];F[c>>2]=9968;F[c+4>>2]=0;f=yc(f,c);a:{b:{if((b|0)<0){c=f;break b}h=a+8|0;c=F[a+12>>2];e=F[a+8>>2];g=c-e>>2;c:{if((g|0)>(b|0)){break c}d=b+1|0;if(b>>>0>=g>>>0){Pb(h,d-g|0);break c}if(d>>>0>=g>>>0){break c}e=e+(d<<2)|0;if((e|0)!=(c|0)){while(1){c=c-4|0;d=F[c>>2];F[c>>2]=0;if(d){$[F[F[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}F[a+12>>2]=e}a=F[h>>2]+(b<<2)|0;c=F[a>>2];F[a>>2]=f;if(!c){break a}}$[F[F[c>>2]+4>>2]](c)}return(b^-1)>>>31|0}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=F[a+60>>2];a:{if(!c){break a}F[c+4>>2]=a+48;if(!($[F[F[c>>2]+12>>2]](c)|0)){break a}b:{c=$[F[F[a>>2]+24>>2]](a)|0;if((c|0)<=0){break b}while(1){c:{f=F[($[F[F[a>>2]+28>>2]](a)|0)+4>>2];g=$[F[F[a>>2]+20>>2]](a,d)|0;e=F[a+60>>2];if(!($[F[F[e>>2]+8>>2]](e,F[F[f+8>>2]+(g<<2)>>2])|0)){break c}d=d+1|0;if((c|0)!=(d|0)){continue}break b}break}return 0}d=0;if(!($[F[F[a>>2]+36>>2]](a,b)|0)){break a}if(!($[F[F[a>>2]+40>>2]](a,b)|0)){break a}d=$[F[F[a>>2]+44>>2]](a)|0}return d|0}function Id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=F[a+216>>2];if((c|0)!=F[a+220>>2]){while(1){a:{c=F[L(e,144)+c>>2];if((c|0)<0){break a}d=F[a+4>>2];f=F[d+8>>2];if((c|0)>=F[d+12>>2]-f>>2){break a}d=0;c=F[(c<<2)+f>>2];if(($[F[F[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if(($[F[F[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if(($[F[F[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}a=F[a+216>>2]+L(e,144)|0;return(G[a+100|0]?a+4|0:0)|0}e=e+1|0;c=F[a+216>>2];if(e>>>0<(F[a+220>>2]-c|0)/144>>>0){continue}break}}return 0}function nd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=F[a+8>>2];d=F[a+4>>2];if(c-d>>2>>>0>=b>>>0){if(b){b=b<<2;d=ma(d,0,b)+b|0}F[a+4>>2]=d;return}a:{f=F[a>>2];g=d-f>>2;e=g+b|0;if(e>>>0<1073741824){c=c-f|0;h=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break a}i=ka(e<<2)}c=(g<<2)+i|0;b=b<<2;b=ma(c,0,b)+b|0;if((d|0)!=(f|0)){while(1){c=c-4|0;d=d-4|0;F[c>>2]=F[d>>2];if((d|0)!=(f|0)){continue}break}}F[a+8>>2]=(e<<2)+i;F[a+4>>2]=b;F[a>>2]=c;if(f){ja(f)}return}na();v()}oa();v()}function bb(a){var b=0,c=0,d=0,e=0,f=0;d=F[a+8>>2];a:{if(G[d+84|0]){break a}b=F[a+16>>2];if(!b|!G[b+84|0]){break a}c=F[d+72>>2];e=F[d+68>>2];D[b+84|0]=0;c=c-e>>2;f=F[b+68>>2];e=F[b+72>>2]-f>>2;b:{if(c>>>0>e>>>0){ab(b+68|0,c-e|0,2004);d=F[a+8>>2];break b}if(c>>>0>=e>>>0){break b}F[b+72>>2]=f+(c<<2)}if(G[d+84|0]){break a}c=F[d+68>>2];if((c|0)==F[d+72>>2]){break a}e=F[F[a+16>>2]+68>>2];b=0;while(1){f=b<<2;F[f+e>>2]=F[c+f>>2];b=b+1|0;c=F[d+68>>2];if(b>>>0>2]-c>>2>>>0){continue}break}}return F[a+16>>2]}function Lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=Z+-64|0;Z=e;f=Ja(e+8|0);F[f+16>>2]=0;F[f+20>>2]=0;F[f>>2]=b;F[f+8>>2]=c;F[f+12>>2]=0;b=e+48|0;Pd(b,a,f,d);F[a+24>>2]=F[e+48>>2];f=a+24|0;a:{if((f|0)==(b|0)){break a}b=a+28|0;c=e+48|4;g=G[e+63|0];d=g<<24>>24;if(D[a+39|0]>=0){if((d|0)>=0){a=F[c+4>>2];F[b>>2]=F[c>>2];F[b+4>>2]=a;F[b+8>>2]=F[c+8>>2];break a}qb(b,F[e+52>>2],F[e+56>>2]);break a}a=(d|0)<0;rb(b,a?F[e+52>>2]:c,a?F[e+56>>2]:g)}if(D[e+63|0]<0){ja(F[e+52>>2])}Z=e- -64|0;return f|0}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;a=Z-32|0;Z=a;a:{d=ya(c);if(d>>>0<2147483632){b:{c:{if(d>>>0>=11){e=(d|15)+1|0;f=ka(e);F[a+24>>2]=e|-2147483648;F[a+16>>2]=f;F[a+20>>2]=d;e=d+f|0;break c}D[a+27|0]=d;f=a+16|0;e=f+d|0;if(!d){break b}}la(f,c,d)}D[e|0]=0;D[a+4|0]=0;F[a>>2]=1701667182;D[a+11|0]=4;d=F[b+4>>2];c=-1;d:{if(!d){break d}d=Uc(d,a,a+16|0);c=-1;if(!d){break d}c=Pc(b,F[d+24>>2])}b=c;if(D[a+11|0]<0){ja(F[a>>2])}if(D[a+27|0]<0){ja(F[a+16>>2])}Z=a+32|0;break a}za();v()}return b|0}function Hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=F[a+216>>2];if((c|0)!=F[a+220>>2]){while(1){a:{c=F[L(e,144)+c>>2];if((c|0)<0){break a}d=F[a+4>>2];f=F[d+8>>2];if((c|0)>=F[d+12>>2]-f>>2){break a}d=0;c=F[(c<<2)+f>>2];if(($[F[F[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if(($[F[F[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if(($[F[F[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}return(F[a+216>>2]+L(e,144)|0)+104|0}e=e+1|0;c=F[a+216>>2];if(e>>>0<(F[a+220>>2]-c|0)/144>>>0){continue}break}}return a+184|0}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Z-16|0;Z=d;F[d+12>>2]=0;a:{e=ya(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=ka(f);F[d+8>>2]=f|-2147483648;F[d>>2]=a;F[d+4>>2]=e;f=a+e|0;break c}D[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}la(a,c,e)}D[f|0]=0;a=Ya(b,d);d:{if((a|0)==(b+4|0)){break d}b=F[a+32>>2];a=F[a+28>>2];if((b-a|0)!=4){break d}F[d+12>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24)}a=F[d+12>>2];if(D[d+11|0]<0){ja(F[d>>2])}Z=d+16|0;break a}za();v()}return a|0}function Mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;d=Z+-64|0;Z=d;e=Ja(d+8|0);F[e+16>>2]=0;F[e+20>>2]=0;F[e>>2]=b;F[e+8>>2]=c;F[e+12>>2]=0;b=d+48|0;Od(b);F[a+24>>2]=F[d+48>>2];f=a+24|0;a:{if((b|0)==(f|0)){break a}b=a+28|0;c=d+48|4;g=G[d+63|0];e=g<<24>>24;if(D[a+39|0]>=0){if((e|0)>=0){a=F[c+4>>2];F[b>>2]=F[c>>2];F[b+4>>2]=a;F[b+8>>2]=F[c+8>>2];break a}qb(b,F[d+52>>2],F[d+56>>2]);break a}a=(e|0)<0;rb(b,a?F[d+52>>2]:c,a?F[d+56>>2]:g)}if(D[d+63|0]<0){ja(F[d+52>>2])}Z=d- -64|0;return f|0}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=1;a:{if(($[F[F[b>>2]+20>>2]](b)|0)<=0){break a}while(1){e=0;d=Qc(F[F[a+4>>2]+4>>2],$[F[F[b>>2]+24>>2]](b,f)|0);if((d|0)==-1){break a}g=F[a+4>>2];c=0;b:{if((d|0)<0){break b}h=F[g+4>>2];if((d|0)>=F[h+12>>2]-F[h+8>>2]>>2){break b}c=F[F[g+8>>2]+(F[F[g+20>>2]+(d<<2)>>2]<<2)>>2];c=$[F[F[c>>2]+32>>2]](c,d)|0}if(!c){break a}if(!($[F[F[b>>2]+28>>2]](b,c)|0)){break a}e=1;f=f+1|0;if(($[F[F[b>>2]+20>>2]](b)|0)>(f|0)){continue}break}}return e|0}function Db(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=F[a+4>>2];e=F[a>>2];d=c-e|0;b:{if(d>>>0>>0){g=b-d|0;f=F[a+8>>2];if(g>>>0<=f-c>>>0){h=a,i=ma(c,0,g)+g|0,F[h+4>>2]=i;break b}if((b|0)<0){break a}c=f-e|0;f=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0>>0?f:b;f=ka(c);ma(f+d|0,0,g);d=pa(f,e,d);F[a+8>>2]=d+c;F[a+4>>2]=b+d;F[a>>2]=d;if(!e){break b}ja(e);break b}if(b>>>0>=d>>>0){break b}F[a+4>>2]=b+e}b=F[a+28>>2];c=b;d=b+1|0;b=F[a+24>>2]+1|0;e=b?c:d;F[a+24>>2]=b;F[a+28>>2]=e;return}na();v()}function Ma(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=F[a+4>>2];if((e|0)!=F[a+8>>2]){F[e>>2]=F[b>>2];F[a+4>>2]=e+4;return}a:{g=F[a>>2];f=e-g|0;c=f>>2;d=c+1|0;if(d>>>0<1073741824){h=c<<2;c=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(c){if(c>>>0>=1073741824){break a}f=ka(c<<2)}else{f=0}d=h+f|0;F[d>>2]=F[b>>2];b=d+4|0;if((e|0)!=(g|0)){while(1){d=d-4|0;e=e-4|0;F[d>>2]=F[e>>2];if((e|0)!=(g|0)){continue}break}}F[a+8>>2]=f+(c<<2);F[a+4>>2]=b;F[a>>2]=d;if(g){ja(g)}return}na();v()}oa();v()}function va(a){F[a>>2]=-1;F[a+4>>2]=0;F[a+8>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;D[a+28|0]=1;F[a+20>>2]=0;F[a+24>>2]=0;F[a+12>>2]=0;F[a+16>>2]=0;F[a+40>>2]=0;F[a+44>>2]=0;F[a+48>>2]=0;F[a+52>>2]=0;F[a+56>>2]=0;F[a+60>>2]=0;F[a+64>>2]=0;F[a+68>>2]=0;F[a+76>>2]=0;F[a+80>>2]=0;F[a+84>>2]=0;F[a+88>>2]=0;F[a+92>>2]=0;F[a+96>>2]=0;F[a+72>>2]=a+4;F[a+104>>2]=0;F[a+108>>2]=0;D[a+100|0]=1;F[a+112>>2]=0;F[a+116>>2]=0;F[a+120>>2]=0;F[a+124>>2]=0;F[a+128>>2]=0;F[a+132>>2]=0;F[a+136>>2]=0;F[a+140>>2]=0}function Hb(a,b){var c=0,d=0,e=0,f=0;d=F[a+12>>2];c=F[a+16>>2]-d>>2;a:{if(c>>>0>>0){qa(a+12|0,b-c|0);break a}if(b>>>0>=c>>>0){break a}F[a+16>>2]=d+(b<<2)}b:{c=F[a>>2];c:{if(F[a+8>>2]-c>>2>>>0>=b>>>0){break c}if(b>>>0>=1073741824){break b}d=F[a+4>>2];e=b<<2;b=ka(e);e=b+e|0;f=b+(d-c&-4)|0;b=f;if((c|0)!=(d|0)){while(1){b=b-4|0;d=d-4|0;F[b>>2]=F[d>>2];if((c|0)!=(d|0)){continue}break}}F[a+8>>2]=e;F[a+4>>2]=f;F[a>>2]=b;if(!c){break c}ja(c)}return}na();v()}function tb(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=10300;b=F[a+68>>2];if(b){F[a+72>>2]=b;ja(b)}b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}b=F[a+44>>2];if(b){F[a+48>>2]=b;ja(b)}b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}b=F[a+20>>2];if(b){F[a+24>>2]=b;ja(b)}b=F[a+8>>2];if(b){d=b;c=F[a+12>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;d=F[c>>2];F[c>>2]=0;if(d){xa(d)}if((b|0)!=(c|0)){continue}break}d=F[a+8>>2]}F[a+12>>2]=b;ja(d)}b=F[a+4>>2];F[a+4>>2]=0;if(b){ic(b)}return a|0}function qa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=F[a+8>>2];c=F[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=ma(c,0,b)+b|0}F[a+4>>2]=c;return}a:{f=c;c=F[a>>2];g=f-c|0;h=g>>2;d=h+b|0;if(d>>>0<1073741824){e=e-c|0;f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}i=ka(d<<2)}b=b<<2;e=ma((h<<2)+i|0,0,b);f=d<<2;d=pa(i,c,g);F[a+8>>2]=f+d;F[a+4>>2]=b+e;F[a>>2]=d;if(c){ja(c)}return}na();v()}oa();v()}function gc(a,b){var c=0,d=0,e=0,f=0;c=a+4|0;a=Ya(a,b);a:{if((c|0)==(a|0)){break a}b=a+28|0;b=D[a+39|0]<0?F[b>>2]:b;while(1){a=b;b=a+1|0;c=D[a|0];if((c|0)==32|c-9>>>0<5){continue}break}b:{c:{d:{c=D[a|0];switch(c-43|0){case 0:break c;case 2:break d;default:break b}}e=1}c=D[b|0];a=b}if(c-48>>>0<10){while(1){d=(L(d,10)-D[a|0]|0)+48|0;b=D[a+1|0];a=a+1|0;if(b-48>>>0<10){continue}break}}a=e?d:0-d|0;if((a|0)==-1){break a}f=(a|0)!=0}return f}function Qa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a=F[a>>2];c=F[a+4>>2];e=F[a+8>>2];if(c>>>0>>0){F[c>>2]=F[b>>2];F[a+4>>2]=c+4;return}a:{d=c;c=F[a>>2];g=d-c|0;d=g>>2;f=d+1|0;if(f>>>0<1073741824){h=d<<2;e=e-c|0;d=e>>>1|0;f=e>>>0>=2147483644?1073741823:f>>>0>>0?d:f;if(f){if(f>>>0>=1073741824){break a}e=ka(f<<2)}else{e=0}d=h+e|0;F[d>>2]=F[b>>2];b=pa(e,c,g);F[a+8>>2]=b+(f<<2);F[a+4>>2]=d+4;F[a>>2]=b;if(c){ja(c)}return}na();v()}oa();v()}function db(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=Z-16|0;Z=f;d=Z-32|0;Z=d;e=Z-16|0;Z=e;F[e+12>>2]=b;F[e+8>>2]=b+c;F[d+24>>2]=F[e+12>>2];F[d+28>>2]=F[e+8>>2];Z=e+16|0;c=Z-16|0;Z=c;h=F[d+28>>2];e=F[d+24>>2];g=h-e|0;if((e|0)!=(h|0)){pa(a,e,g)}F[c+12>>2]=e+g;F[c+8>>2]=a+g;F[d+16>>2]=F[c+12>>2];F[d+20>>2]=F[c+8>>2];Z=c+16|0;F[d+12>>2]=(F[d+16>>2]-b|0)+b;F[d+8>>2]=(F[d+20>>2]-a|0)+a;F[f+8>>2]=F[d+12>>2];F[f+12>>2]=F[d+8>>2];Z=d+32|0;Z=f+16|0}function _a(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=F[a+8>>2];c=F[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=ma(c,0,b)+b|0}F[a+4>>2]=c;return}a:{f=c;c=F[a>>2];g=f-c|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){e=e-c|0;f=e>>>2|0;d=e>>>0>=2147483640?536870911:d>>>0>>0?f:d;if(d){if(d>>>0>=536870912){break a}i=ka(d<<3)}b=b<<3;e=ma((h<<3)+i|0,0,b);f=d<<3;d=pa(i,c,g);F[a+8>>2]=f+d;F[a+4>>2]=b+e;F[a>>2]=d;if(c){ja(c)}return}na();v()}oa();v()}function re(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=2016;b=F[a+60>>2];F[a+60>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}d=F[a+36>>2];if(d){c=F[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=F[a+36>>2]}F[a+40>>2]=d;ja(b)}F[a>>2]=1776;b=F[a+16>>2];if(b){F[a+20>>2]=b;ja(b)}b=F[a+4>>2];if(b){F[a+8>>2]=b;ja(b)}return a|0}function qe(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=2016;b=F[a+60>>2];F[a+60>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}d=F[a+36>>2];if(d){c=F[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=F[a+36>>2]}F[a+40>>2]=d;ja(b)}F[a>>2]=1776;b=F[a+16>>2];if(b){F[a+20>>2]=b;ja(b)}b=F[a+4>>2];if(b){F[a+8>>2]=b;ja(b)}ja(a)}function Eg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;a:{b=F[a+8>>2];b:{if((b|0)<0){break b}c=F[a+4>>2];e=F[c>>2];d=F[c+4>>2]-e>>2;c:{if(d>>>0>>0){nd(c,b-d|0);f=F[a+8>>2];break c}f=b;if(b>>>0>=d>>>0){break c}F[c+4>>2]=e+(b<<2);f=b}d=f;if((d|0)<=0){break b}a=F[a+4>>2];c=F[a>>2];e=F[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(e|0)){break a}F[c+(a<<2)>>2]=a;a=a+1|0;if((d|0)!=(a|0)){continue}break}}return(b^-1)>>>31|0}ta();v()}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=Z-16|0;Z=d;e=F[a+4>>2];a:{if((e|0)==-1){break a}c=F[b+20>>2];if(!!F[b+16>>2]&(c|0)>=0|(c|0)>0){break a}pb(b,F[b+4>>2],F[a+8>>2],F[a+12>>2]);c=F[b+20>>2];if(!!F[b+16>>2]&(c|0)>=0|(c|0)>0){break a}pb(b,F[b+4>>2],a+20|0,a+24|0);c=F[b+20>>2];f=F[b+16>>2];D[d+15|0]=F[a+4>>2];if(!!f&(c|0)>=0|(c|0)>0){break a}pb(b,F[b+4>>2],d+15|0,d+16|0)}Z=d+16|0;return(e|0)!=-1|0}function kd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=F[a+8>>2];c=F[a+4>>2];if(e-c>>1>>>0>=b>>>0){if(b){b=b<<1;c=ma(c,0,b)+b|0}F[a+4>>2]=c;return}a:{f=c;c=F[a>>2];g=f-c|0;f=g>>1;d=f+b|0;if((d|0)>=0){e=e-c|0;d=e>>>0>=2147483646?2147483647:d>>>0>>0?e:d;if(d){if((d|0)<0){break a}h=ka(d<<1)}b=b<<1;e=ma((f<<1)+h|0,0,b);f=d<<1;d=pa(h,c,g);F[a+8>>2]=f+d;F[a+4>>2]=b+e;F[a>>2]=d;if(c){ja(c)}return}na();v()}oa();v()}function of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Z-16|0;Z=d;Pd(d,a,b,c);F[a+24>>2]=F[d>>2];e=a+24|0;a:{if((e|0)==(d|0)){break a}b=a+28|0;c=d|4;f=G[d+15|0];g=f<<24>>24;if(D[a+39|0]>=0){if((g|0)>=0){a=F[c+4>>2];F[b>>2]=F[c>>2];F[b+4>>2]=a;F[b+8>>2]=F[c+8>>2];break a}qb(b,F[d+4>>2],F[d+8>>2]);break a}a=(g|0)<0;rb(b,a?F[d+4>>2]:c,a?F[d+8>>2]:f)}if(D[d+15|0]<0){ja(F[d+4>>2])}Z=d+16|0;return e|0}function ra(a,b,c){var d=0,e=0,f=0,g=0;e=Z-16|0;Z=e;a:{b:{if(c>>>0<11){d=a;D[a+11|0]=G[a+11|0]&128|c;D[a+11|0]=G[a+11|0]&127;break b}if(c>>>0>2147483631){break a}g=e+8|0;if(c>>>0>=11){f=c+16&-16;d=f-1|0;d=(d|0)==11?f:d}else{d=10}sb(g,d+1|0);d=F[e+8>>2];F[a>>2]=d;F[a+8>>2]=F[a+8>>2]&-2147483648|F[e+12>>2]&2147483647;F[a+8>>2]=F[a+8>>2]|-2147483648;F[a+4>>2]=c}db(d,b,c+1|0);Z=e+16|0;return}za();v()}function pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;b=Z-16|0;Z=b;Od(b);F[a+24>>2]=F[b>>2];e=a+24|0;a:{if((e|0)==(b|0)){break a}c=a+28|0;d=b|4;f=G[b+15|0];g=f<<24>>24;if(D[a+39|0]>=0){if((g|0)>=0){a=F[d+4>>2];F[c>>2]=F[d>>2];F[c+4>>2]=a;F[c+8>>2]=F[d+8>>2];break a}qb(c,F[b+4>>2],F[b+8>>2]);break a}a=(g|0)<0;rb(c,a?F[b+4>>2]:d,a?F[b+8>>2]:f)}if(D[b+15|0]<0){ja(F[b+4>>2])}Z=b+16|0;return e|0}function Rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Z-16|0;Z=d;a:{e=ya(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=ka(g);F[d+8>>2]=g|-2147483648;F[d>>2]=f;F[d+4>>2]=e;g=e+f|0;break c}D[d+11|0]=e;g=d+e|0;f=d;if(!e){break b}}la(f,c,e)}D[g|0]=0;f=a+16|0;c=Sc(b,d,f);b=F[a+16>>2];a=D[a+27|0];if(D[d+11|0]<0){ja(F[d>>2])}Z=d+16|0;a=c?(a|0)<0?b:f:0;break a}za();v()}return a|0}function Yb(a,b){var c=0,d=0,e=0;c=F[a+4>>2];d=c+b|0;F[a+4>>2]=d;if(!((d-1^c-1)>>>0<32?c:0)){F[F[a>>2]+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0}a:{if(!b){break a}a=F[a>>2]+(c>>>3&536870908)|0;c=c&31;if(c){d=32-c|0;e=b>>>0>d>>>0?d:b;F[a>>2]=F[a>>2]&(-1<>>d-e^-1);b=b-e|0;a=a+4|0}c=b>>>5|0;if(b>>>0>=32){ma(a,0,c<<2)}if((b&-32)==(b|0)){break a}a=(c<<2)+a|0;F[a>>2]=F[a>>2]&(-1>>>32-(b&31)^-1)}}function ld(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=F[c+20>>2];f=F[c+12>>2];e=F[c+16>>2];if((d|0)>=(f|0)&e>>>0>=I[c+8>>2]|(d|0)>(f|0)){break a}f=D[e+F[c>>2]|0];e=e+1|0;d=e?d:d+1|0;F[c+16>>2]=e;F[c+20>>2]=d;d=f;b:{if((d|0)<0){if(!ld(a+1|0,b,c)){break a}a=F[b>>2];d=d&127|a<<7;a=F[b+4>>2]<<7|a>>>25;break b}d=d&255;a=0}F[b>>2]=d;F[b+4>>2]=a;g=1}return g}function Sa(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=F[c+20>>2];f=F[c+12>>2];e=F[c+16>>2];if((d|0)>=(f|0)&e>>>0>=I[c+8>>2]|(d|0)>(f|0)){break a}f=D[e+F[c>>2]|0];e=e+1|0;d=e?d:d+1|0;F[c+16>>2]=e;F[c+20>>2]=d;d=f;b:{if((d|0)<0){if(!Sa(a+1|0,b,c)){break a}a=F[b>>2];d=d&127|a<<7;a=F[b+4>>2]<<7|a>>>25;break b}d=d&255;a=0}F[b>>2]=d;F[b+4>>2]=a;g=1}return g}function Ne(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(La(a,F[b+8>>2],e)){if(!(F[b+28>>2]==1|F[b+4>>2]!=(c|0))){F[b+28>>2]=d}return}a:{if(!La(a,F[b>>2],e)){break a}if(!(F[b+16>>2]!=(c|0)&F[b+20>>2]!=(c|0))){if((d|0)!=1){break a}F[b+32>>2]=1;return}F[b+20>>2]=c;F[b+32>>2]=d;F[b+40>>2]=F[b+40>>2]+1;if(!(F[b+36>>2]!=1|F[b+24>>2]!=2)){D[b+54|0]=1}F[b+44>>2]=4}}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=Z+-64|0;Z=e;d=$[F[F[a>>2]+44>>2]](a,b)|0;a=$[F[F[a>>2]+40>>2]](a,b)|0;f=kb(e);g=F[b+56>>2];h=d&255;i=a;a=a-1|0;if(a>>>0<=10){a=F[(a<<2)+10148>>2]}else{a=-1}d=L(a,d);cc(f,g,h,i,0,d,d>>31);a=bc(ka(96),f);ac(a,c);D[a+84|0]=1;F[a+72>>2]=F[a+68>>2];F[a+60>>2]=F[b+60>>2];Z=e- -64|0;return a|0}function rh(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=8176;b=F[a+48>>2];F[a+48>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}F[a>>2]=10032;b=F[a+20>>2];if(b){F[a+24>>2]=b;ja(b)}d=F[a+8>>2];if(d){c=F[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=F[a+8>>2]}F[a+12>>2]=d;ja(b)}return a|0}function Dc(a,b,c,d){D[a+53|0]=1;a:{if(F[a+4>>2]!=(c|0)){break a}D[a+52|0]=1;c=F[a+16>>2];b:{if(!c){F[a+36>>2]=1;F[a+24>>2]=d;F[a+16>>2]=b;if((d|0)!=1){break a}if(F[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=F[a+24>>2];if((c|0)==2){F[a+24>>2]=d;c=d}if(F[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}F[a+36>>2]=F[a+36>>2]+1}D[a+54|0]=1}}function qh(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=8176;b=F[a+48>>2];F[a+48>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}F[a>>2]=10032;b=F[a+20>>2];if(b){F[a+24>>2]=b;ja(b)}d=F[a+8>>2];if(d){c=F[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=F[a+8>>2]}F[a+12>>2]=d;ja(b)}ja(a)}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=Z+-64|0;Z=e;d=1;a:{if(La(a,b,0)){break a}d=0;if(!b){break a}b=Fc(b,11068);d=0;if(!b){break a}d=e+8|0;ma(d|4,0,52);F[e+56>>2]=1;F[e+20>>2]=-1;F[e+16>>2]=a;F[e+8>>2]=b;$[F[F[b>>2]+28>>2]](b,d,F[c>>2],1);a=F[e+32>>2];if((a|0)==1){F[c>>2]=F[e+24>>2]}d=(a|0)==1}Z=e- -64|0;return d|0}function Fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Z-16|0;Z=d;F[a+4>>2]=b;b=F[b+64>>2];e=F[b>>2];b=F[b+4>>2];D[d+15|0]=0;Ea(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=F[a+4>>2];e=F[b+56>>2];b=F[b+52>>2];D[d+14|0]=0;Ea(a+36|0,e-b>>2,d+14|0);b=F[c+12>>2];F[a+16>>2]=F[c+8>>2];F[a+20>>2]=b;b=F[c+4>>2];F[a+8>>2]=F[c>>2];F[a+12>>2]=b;Z=d+16|0}function zf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a=Z-16|0;Z=a;f=D[b+24|0];e=F[2555];F[a+8>>2]=F[2554];F[a+12>>2]=e;e=F[2553];F[a>>2]=F[2552];F[a+4>>2]=e;e=lb(b,c,f,a);if(e){b=0;if(f){c=(f&255)<<2;b=ka(c);g=la(b,a,c)+c|0}c=F[d>>2];if(c){F[d+4>>2]=c;ja(c)}F[d+8>>2]=g;F[d+4>>2]=g;F[d>>2]=b}Z=a+16|0;return e|0}function wd(a,b){var c=0,d=0;a:{c=F[a+4>>2];d=F[a+8>>2];if((c|0)==d<<5){if((c+1|0)<0){break a}if(c>>>0<=1073741822){d=d<<6;c=(c&-32)+32|0;c=c>>>0>>0?d:c}else{c=2147483647}$a(a,c);c=F[a+4>>2]}F[a+4>>2]=c+1;d=1<>2]+(c>>>3&536870908)|0;if(G[b|0]){F[a>>2]=d|F[a>>2];return}F[a>>2]=F[a>>2]&(d^-1);return}na();v()}function Zb(a){var b=0;F[a>>2]=0;F[a+4>>2]=0;F[a+56>>2]=0;F[a+48>>2]=0;F[a+52>>2]=0;F[a+40>>2]=0;F[a+44>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;b=a- -64|0;F[b>>2]=0;F[b+4>>2]=0;F[a+72>>2]=0;F[a+76>>2]=0;F[a+80>>2]=0;F[a+84>>2]=0;F[a+60>>2]=a;return a}function ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=$[F[F[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=F[F[a+36>>2]>>2];g=a+48|0;c=0;if(!($[F[F[d>>2]+16>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=F[F[a+36>>2]+(e<<2)>>2];if($[F[F[d>>2]+16>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=$[F[F[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=F[F[a+36>>2]>>2];g=a+48|0;c=0;if(!($[F[F[d>>2]+20>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=F[F[a+36>>2]+(e<<2)>>2];if($[F[F[d>>2]+20>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Z-16|0;Z=d;F[a+4>>2]=b;e=F[b>>2];b=F[b+4>>2];D[d+15|0]=0;Ea(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=F[a+4>>2];e=F[b+28>>2];b=F[b+24>>2];D[d+14|0]=0;Ea(a+36|0,e-b>>2,d+14|0);b=F[c+12>>2];F[a+16>>2]=F[c+8>>2];F[a+20>>2]=b;b=F[c+4>>2];F[a+8>>2]=F[c>>2];F[a+12>>2]=b;Z=d+16|0}function hb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!hb(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function fb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!fb(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function Wb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Wb(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function Ta(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Ta(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function Qd(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Qd(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function Oa(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Oa(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function Da(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=F[c+20>>2];e=F[c+12>>2];f=F[c+16>>2];if((d|0)>=(e|0)&f>>>0>=I[c+8>>2]|(d|0)>(e|0)){break a}e=G[F[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;F[c+16>>2]=f;F[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Da(a+1|0,b,c)){break a}e=d&127|F[b>>2]<<7}F[b>>2]=e;g=1}return g}function sa(a,b,c){var d=0,e=0;a:{b:{if(c>>>0>=4){if((a|b)&3){break b}while(1){if(F[a>>2]!=F[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}while(1){d=G[a|0];e=G[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function td(a){var b=0,c=0,d=0,e=0;d=F[a>>2];if(d){e=d;c=F[a+4>>2];if((d|0)!=(c|0)){while(1){e=c-144|0;b=F[e+132>>2];if(b){F[c-8>>2]=b;ja(b)}b=F[c-28>>2];if(b){F[c-24>>2]=b;ja(b)}b=F[c-40>>2];if(b){F[c-36>>2]=b;ja(b)}Gb(c-140|0);c=e;if((d|0)!=(c|0)){continue}break}e=F[a>>2]}F[a+4>>2]=d;ja(e)}}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=F[b+4>>2];a:{if(!d){break a}b=F[F[F[b+8>>2]+(c<<2)>>2]+60>>2];if((b|0)<0){break a}a=F[d+24>>2];c=F[d+28>>2];if((a|0)==(c|0)){break a}b:{while(1){e=F[a>>2];if((b|0)==F[e+24>>2]){break b}a=a+4|0;if((c|0)!=(a|0)){continue}break}e=0}}return e|0}function ic(a){var b=0,c=0,d=0;if(a){d=F[a+24>>2];if(d){b=d;c=F[a+28>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){Ca(b+12|0,F[b+16>>2]);Ba(b,F[b+4>>2]);ja(b)}if((c|0)!=(d|0)){continue}break}b=F[a+24>>2]}F[a+28>>2]=d;ja(b)}Ca(a+12|0,F[a+16>>2]);Ba(a,F[a+4>>2]);ja(a)}}function $g(a){a=a|0;var b=0;F[a+8>>2]=9136;F[a>>2]=8924;b=F[a+96>>2];if(b){F[a+100>>2]=b;ja(b)}b=F[a+80>>2];if(b){F[a+84>>2]=b;ja(b)}b=F[a+68>>2];if(b){F[a+72>>2]=b;ja(b)}b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}F[a+8>>2]=9372;b=F[a+44>>2];if(b){ja(b)}b=F[a+32>>2];if(b){ja(b)}return a|0}function _g(a){a=a|0;var b=0;F[a+8>>2]=9136;F[a>>2]=8924;b=F[a+96>>2];if(b){F[a+100>>2]=b;ja(b)}b=F[a+80>>2];if(b){F[a+84>>2]=b;ja(b)}b=F[a+68>>2];if(b){F[a+72>>2]=b;ja(b)}b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}F[a+8>>2]=9372;b=F[a+44>>2];if(b){ja(b)}b=F[a+32>>2];if(b){ja(b)}ja(a)}function wh(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=10032;b=F[a+20>>2];if(b){F[a+24>>2]=b;ja(b)}d=F[a+8>>2];if(d){c=F[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=F[a+8>>2]}F[a+12>>2]=d;ja(b)}return a|0}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=F[c+8>>2];e=F[c+16>>2];g=F[c+12>>2];f=g;d=F[c+20>>2];if(h>>>0>e>>>0&(f|0)>=(d|0)|(d|0)<(f|0)){b=G[F[c>>2]+e|0];i=e+1|0;f=i?d:d+1|0;F[c+16>>2]=i;F[c+20>>2]=f;F[a+4>>2]=b}return e>>>0>>0&(d|0)<=(g|0)|(d|0)<(g|0)}function La(a,b,c){var d=0;if(!c){return F[a+4>>2]==F[b+4>>2]}if((a|0)==(b|0)){return 1}d=F[a+4>>2];a=G[d|0];c=F[b+4>>2];b=G[c|0];a:{if(!a|(b|0)!=(a|0)){break a}while(1){b=G[c+1|0];a=G[d+1|0];if(!a){break a}c=c+1|0;d=d+1|0;if((a|0)==(b|0)){continue}break}}return(a|0)==(b|0)}function Gg(a){a=a|0;var b=0,c=0,d=0;F[a>>2]=10032;b=F[a+20>>2];if(b){F[a+24>>2]=b;ja(b)}d=F[a+8>>2];if(d){c=F[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=F[c>>2];F[c>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=F[a+8>>2]}F[a+12>>2]=d;ja(b)}ja(a)}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=F[b+12>>2];b=F[b+8>>2];a=0;a:{if((d|0)==(b|0)){break a}a=d-b>>2;d=a>>>0<=1?1:a;a=0;b:{while(1){e=F[b+(a<<2)>>2];if(F[e+60>>2]==(c|0)){break b}a=a+1|0;if((d|0)!=(a|0)){continue}break}a=0;break a}a=(a|0)!=-1?e:0}return a|0}function ah(a){a=a|0;var b=0;F[a>>2]=9136;b=F[a+88>>2];if(b){F[a+92>>2]=b;ja(b)}b=F[a+72>>2];if(b){F[a+76>>2]=b;ja(b)}b=F[a+60>>2];if(b){F[a- -64>>2]=b;ja(b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}F[a>>2]=9372;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}return a|0}function Tc(a,b){var c=0,d=0,e=0;F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;a:{c=F[b+4>>2];d=F[b>>2];b:{if((c|0)==(d|0)){a=c;break b}c=c-d|0;if((c|0)<0){break a}d=c;e=ka(c);c=ma(e,0,c);d=d+c|0;F[a+8>>2]=d;F[a+4>>2]=d;F[a>>2]=c;c=F[b>>2];a=F[b+4>>2]}la(e,c,a-c|0);return}na();v()}function Dd(a){var b=0,c=0,d=0,e=0;c=F[a+4>>2];d=F[a>>2];if((c|0)!=(d|0)){while(1){e=c-144|0;b=F[e+132>>2];if(b){F[c-8>>2]=b;ja(b)}b=F[c-28>>2];if(b){F[c-24>>2]=b;ja(b)}b=F[c-40>>2];if(b){F[c-36>>2]=b;ja(b)}Gb(c-140|0);c=e;if((d|0)!=(c|0)){continue}break}}F[a+4>>2]=d}function Xg(a){a=a|0;var b=0;F[a>>2]=9136;b=F[a+88>>2];if(b){F[a+92>>2]=b;ja(b)}b=F[a+72>>2];if(b){F[a+76>>2]=b;ja(b)}b=F[a+60>>2];if(b){F[a- -64>>2]=b;ja(b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}F[a>>2]=9372;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}ja(a)}function Za(a){var b=0;if(a){b=F[a+76>>2];if(b){F[a+80>>2]=b;ja(b)}b=F[a- -64>>2];if(b){F[a+68>>2]=b;ja(b)}b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}b=F[a+24>>2];if(b){F[a+28>>2]=b;ja(b)}b=F[a+12>>2];if(b){F[a+16>>2]=b;ja(b)}b=F[a>>2];if(b){F[a+4>>2]=b;ja(b)}ja(a)}}function Gb(a){var b=0;b=F[a+84>>2];if(b){F[a+88>>2]=b;ja(b)}b=F[a+72>>2];if(b){F[a+76>>2]=b;ja(b)}b=F[a+52>>2];if(b){F[a+56>>2]=b;ja(b)}b=F[a+40>>2];if(b){F[a+44>>2]=b;ja(b)}b=F[a+28>>2];if(b){F[a+32>>2]=b;ja(b)}b=F[a+12>>2];if(b){ja(b)}a=F[a>>2];if(a){ja(a)}}function Lc(a,b,c){var d=0,e=0,f=0,g=0;f=Z-16|0;Z=f;d=Z-16|0;Z=d;b=b-a>>2;while(1){if(b){F[d+12>>2]=a;e=b>>>1|0;F[d+12>>2]=F[d+12>>2]+(e<<2);g=(e^-1)+b|0;b=e;e=I[F[d+12>>2]>>2]>2];b=e?g:b;a=e?F[d+12>>2]+4|0:a;continue}break}Z=d+16|0;Z=f+16|0;return a}function id(a,b){var c=0,d=0;d=ka(40);F[d>>2]=-1;c=d+8|0;F[c+16>>2]=0;F[c+20>>2]=0;F[c+8>>2]=0;F[c>>2]=0;F[c+4>>2]=0;F[c+24>>2]=0;F[c+28>>2]=0;$[F[F[a>>2]+16>>2]](a,d);a=F[b+88>>2];F[b+88>>2]=d;if(a){b=F[a+8>>2];if(b){F[a+12>>2]=b;ja(b)}ja(a)}return 1}function ya(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!G[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=F[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(G[b|0]){continue}break}}return b-a|0}function wa(a){var b=0,c=0,d=0,e=0,f=0;d=G[a+12|0];c=F[a+8>>2];a:{if(c>>>0>4095){break a}b=F[a+4>>2];if((b|0)<=0){break a}b=b-1|0;F[a+4>>2]=b;c=G[b+F[a>>2]|0]|c<<8}d=0-d&255;b=L(d,c>>>8|0);e=c&255;f=e>>>0>>0;F[a+8>>2]=f?b+e|0:c-(b+d|0)|0;return f}function yc(a,b){F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1776;F[a+12>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+40>>2]=0;F[a>>2]=2016;F[a+60>>2]=b;F[a+44>>2]=0;F[a+48>>2]=0;F[a+52>>2]=0;F[a+56>>2]=0;return a}function Eb(a,b){var c=0,d=0,e=0;c=ya(b);if(c>>>0<2147483632){a:{b:{if(c>>>0>=11){d=(c|15)+1|0;e=ka(d);F[a+8>>2]=d|-2147483648;F[a>>2]=e;F[a+4>>2]=c;d=c+e|0;break b}D[a+11|0]=c;d=a+c|0;e=a;if(!c){break a}}pa(e,b,c)}D[d|0]=0;return a}za();v()}function Of(a){a=a|0;var b=0,c=0,d=0;if(a){if(D[a+27|0]<0){ja(F[a+16>>2])}b=F[a>>2];if(b){c=b;d=F[a+4>>2];if((b|0)!=(d|0)){while(1){c=d-12|0;if(D[d-1|0]<0){ja(F[c>>2])}d=c;if((d|0)!=(b|0)){continue}break}c=F[a>>2]}F[a+4>>2]=b;ja(c)}ja(a)}}function xa(a){a=a|0;var b=0,c=0;if(a){b=F[a+88>>2];F[a+88>>2]=0;if(b){c=F[b+8>>2];if(c){F[b+12>>2]=c;ja(c)}ja(b)}b=F[a+68>>2];if(b){F[a+72>>2]=b;ja(b)}b=F[a+64>>2];F[a+64>>2]=0;if(b){c=F[b>>2];if(c){F[b+4>>2]=c;ja(c)}ja(b)}ja(a)}}function Ib(a,b){var c=0,d=0,e=0;a:{c=F[a>>2];b:{if(F[a+8>>2]-c>>2>>>0>=b>>>0){break b}if(b>>>0>=1073741824){break a}d=F[a+4>>2]-c|0;e=b<<2;b=pa(ka(e),c,d);F[a+8>>2]=b+e;F[a+4>>2]=b+d;F[a>>2]=b;if(!c){break b}ja(c)}return}na();v()}function Df(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=F[b+96>>2];a=ka(12);b=b+L(c,12)|0;c=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=c;F[a+8>>2]=F[b+8>>2];b=F[d>>2];if(b){F[d+4>>2]=b;ja(b)}F[d>>2]=a;a=a+12|0;F[d+8>>2]=a;F[d+4>>2]=a;return 1}function Ah(a){a=a|0;var b=0;F[a+24>>2]=1624;F[a>>2]=7948;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}F[a>>2]=2136;b=F[a+20>>2];F[a+20>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}F[a>>2]=1920;b=F[a+16>>2];F[a+16>>2]=0;if(b){xa(b)}return a|0}function li(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=mi(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;_=(g^_)-((a>>>0>>0)+g|0)|0;return b}function zh(a){a=a|0;var b=0;F[a+24>>2]=1624;F[a>>2]=7948;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}F[a>>2]=2136;b=F[a+20>>2];F[a+20>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}F[a>>2]=1920;b=F[a+16>>2];F[a+16>>2]=0;if(b){xa(b)}ja(a)}function rb(a,b,c){var d=0,e=0,f=0;e=Z-16|0;Z=e;d=F[a+8>>2]&2147483647;a:{if(d>>>0>c>>>0){d=F[a>>2];F[a+4>>2]=c;db(d,b,c);D[e+15|0]=0;D[c+d|0]=G[e+15|0];break a}f=a;a=F[a+4>>2];Gc(f,d-1|0,(c-d|0)+1|0,a,a,c,b)}Z=e+16|0}function xe(a,b){a=a|0;b=b|0;var c=0,d=0;c=Z-16|0;Z=c;a=F[a+4>>2];a:{if((a|0)==-1){break a}D[c+15|0]=a;d=F[b+20>>2];if(!!F[b+16>>2]&(d|0)>=0|(d|0)>0){break a}pb(b,F[b+4>>2],c+15|0,c+16|0)}Z=c+16|0;return(a|0)!=-1|0}function ki(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=L(e,f);g=c&65535;h=a&65535;i=L(g,h);f=(i>>>16|0)+L(f,g)|0;e=(f&65535)+L(e,h)|0;_=(L(b,c)+j|0)+L(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function qb(a,b,c){var d=0,e=0;d=Z-16|0;Z=d;a:{if(c>>>0<=10){D[a+11|0]=G[a+11|0]&128|c;D[a+11|0]=G[a+11|0]&127;db(a,b,c);D[d+15|0]=0;D[a+c|0]=G[d+15|0];break a}e=a;a=G[a+11|0]&127;Gc(e,10,c-10|0,a,a,c,b)}Z=d+16|0}function Ec(a,b,c){var d=0;d=F[a+16>>2];if(!d){F[a+36>>2]=1;F[a+24>>2]=c;F[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(F[a+24>>2]!=2){break a}F[a+24>>2]=c;return}D[a+54|0]=1;F[a+24>>2]=2;F[a+36>>2]=F[a+36>>2]+1}}function vg(){var a=0;a=kb(ka(96));F[a+64>>2]=0;F[a+68>>2]=0;F[a+88>>2]=0;F[a+72>>2]=0;F[a+76>>2]=0;D[a+77|0]=0;D[a+78|0]=0;D[a+79|0]=0;D[a+80|0]=0;D[a+81|0]=0;D[a+82|0]=0;D[a+83|0]=0;D[a+84|0]=0;return a|0}function jh(a,b){a=a|0;b=b|0;var c=0,d=0;F[b>>2]=2;c=F[b+8>>2];d=F[b+12>>2]-c|0;if(d>>>0<=4294967291){Db(b+8|0,d+4|0);c=F[b+8>>2]}b=c+d|0;a=F[a+4>>2];D[b|0]=a;D[b+1|0]=a>>>8;D[b+2|0]=a>>>16;D[b+3|0]=a>>>24}function ge(a){a=a|0;var b=0;F[a>>2]=3016;b=F[a+96>>2];if(b){ja(b)}b=F[a+84>>2];if(b){ja(b)}b=F[a+72>>2];if(b){ja(b)}b=F[a+60>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function ci(a){a=a|0;var b=0;F[a>>2]=4580;b=F[a+96>>2];if(b){ja(b)}b=F[a+84>>2];if(b){ja(b)}b=F[a+72>>2];if(b){ja(b)}b=F[a+60>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function Cg(a){a=a|0;var b=0,c=0,d=0;b=F[a+8>>2];d=F[a+12>>2];if((b|0)==(d|0)){return 1}while(1){c=F[b>>2];c=$[F[F[c>>2]+16>>2]](c,F[a+32>>2])|0;if(c){b=b+4|0;if((d|0)!=(b|0)){continue}}break}return c|0}function Pc(a,b){var c=0,d=0;c=F[a+8>>2];a=F[a+12>>2];if((c|0)!=(a|0)){a=a-c>>2;d=a>>>0<=1?1:a;a=0;while(1){if(F[F[(a<<2)+c>>2]+60>>2]==(b|0)){return a}a=a+1|0;if((d|0)!=(a|0)){continue}break}}return-1}function fe(a){a=a|0;var b=0;F[a>>2]=3016;b=F[a+96>>2];if(b){ja(b)}b=F[a+84>>2];if(b){ja(b)}b=F[a+72>>2];if(b){ja(b)}b=F[a+60>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function bi(a){a=a|0;var b=0;F[a>>2]=4580;b=F[a+96>>2];if(b){ja(b)}b=F[a+84>>2];if(b){ja(b)}b=F[a+72>>2];if(b){ja(b)}b=F[a+60>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function Sc(a,b,c){var d=0,e=0;d=a+4|0;a=Ya(a,b);a:{if((d|0)==(a|0)){break a}b=F[a+32>>2];d=F[a+28>>2];if((b|0)==(d|0)){break a}Sb(c,b-d|0);c=Tb(c);b=F[a+28>>2];la(c,b,F[a+32>>2]-b|0);e=1}return e}function Kd(a){F[a+40>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=10032;F[a+12>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+32>>2]=0;E[a+36>>1]=0;F[a+44>>2]=0;F[a>>2]=8080;return a}function kb(a){F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+40>>2]=0;F[a+44>>2]=0;F[a+28>>2]=9;D[a+24|0]=1;F[a+56>>2]=-1;F[a+60>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+48>>2]=0;F[a+52>>2]=0;return a}function pe(a,b){a=a|0;b=b|0;var c=0,d=0;d=F[a+16>>2];c=0;a:{if(F[a+20>>2]-d>>2<=(b|0)){break a}b=F[(b<<2)+d>>2];c=0;if((b|0)<0){break a}c=bb(F[F[a+36>>2]+(b<<2)>>2])}return c|0}function Nf(){var a=0,b=0;a=ka(40);F[a+4>>2]=0;F[a+8>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;b=a+16|0;F[b>>2]=0;F[b+4>>2]=0;F[a>>2]=a+4;F[a+12>>2]=b;F[a+32>>2]=0;F[a+36>>2]=0;return a|0}function Xe(a,b){a=a|0;b=b|0;var c=0,d=0;Nc(a,b);a:{if((b|0)<0){break a}d=F[a+88>>2];c=F[a+84>>2];if(d-c>>2<=(b|0)){break a}c=(b<<2)+c|0;b=c+4|0;pa(c,b,d-b|0);F[a+88>>2]=d-4}}function eb(a){var b=0,c=0;b=F[2909];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>aa()<<16>>>0){if(!(X(a|0)|0)){break a}}F[2909]=a;return b}F[2940]=48;return-1}function Th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;F[a+4>>2]=b;b=F[F[F[b+4>>2]+8>>2]+(c<<2)>>2];F[a+12>>2]=c;F[a+8>>2]=b;a=F[a+8>>2];if(G[a+24|0]==3){d=F[a+28>>2]==9}return d|0}function Tg(a){a=a|0;var b=0;F[a+8>>2]=9556;F[a>>2]=9392;b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}F[a+8>>2]=9372;b=F[a+44>>2];if(b){ja(b)}b=F[a+32>>2];if(b){ja(b)}return a|0}function Ng(a){a=a|0;var b=0;F[a+8>>2]=8624;F[a>>2]=9684;b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}F[a+8>>2]=8876;b=F[a+44>>2];if(b){ja(b)}b=F[a+32>>2];if(b){ja(b)}return a|0}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=F[a+8>>2];a:{if(!G[d+24|0]){break a}if(!ac(d,F[b+4>>2]-F[b>>2]>>2)){break a}e=$[F[F[a>>2]+32>>2]](a,b,c)|0}return e|0}function Fh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;F[a+4>>2]=b;d=F[F[F[b+4>>2]+8>>2]+(c<<2)>>2];F[a+12>>2]=c;F[a+8>>2]=d;return F[F[F[F[b+4>>2]+8>>2]+(c<<2)>>2]+28>>2]==9|0}function Ca(a,b){if(b){Ca(a,F[b>>2]);Ca(a,F[b+4>>2]);a=F[b+28>>2];F[b+28>>2]=0;if(a){Ca(a+12|0,F[a+16>>2]);Ba(a,F[a+4>>2]);ja(a)}if(D[b+27|0]<0){ja(F[b+16>>2])}ja(b)}}function Sg(a){a=a|0;var b=0;F[a+8>>2]=9556;F[a>>2]=9392;b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}F[a+8>>2]=9372;b=F[a+44>>2];if(b){ja(b)}b=F[a+32>>2];if(b){ja(b)}ja(a)}function Mg(a){a=a|0;var b=0;F[a+8>>2]=8624;F[a>>2]=9684;b=F[a+56>>2];if(b){F[a+60>>2]=b;ja(b)}F[a+8>>2]=8876;b=F[a+44>>2];if(b){ja(b)}b=F[a+32>>2];if(b){ja(b)}ja(a)}function Hc(a,b){var c=0,d=0,e=0,f=0;F[a>>2]=11356;F[a>>2]=11468;c=ya(b);d=ka(c+13|0);F[d+8>>2]=0;F[d+4>>2]=c;F[d>>2]=c;e=a,f=la(d+12|0,b,c+1|0),F[e+4>>2]=f;return a}function hc(a,b,c){a:{if(b){b=0;if(!ld(1,c,a)){break a}}D[a+36|0]=1;F[a+32>>2]=0;b=F[a+16>>2];c=b+F[a>>2]|0;F[a+24>>2]=c;F[a+28>>2]=c+(F[a+8>>2]-b|0);b=1}return b}function Ue(a,b){a=a|0;b=b|0;var c=0;a:{if(!($[F[F[a>>2]+36>>2]](a,b)|0)){break a}if(!($[F[F[a>>2]+40>>2]](a,b)|0)){break a}c=$[F[F[a>>2]+44>>2]](a)|0}return c|0}function _d(a){a=a|0;var b=0;a:{if(!F[a- -64>>2]|!F[a+68>>2]|(!F[a+44>>2]|!F[a+48>>2])){break a}if(!F[a+52>>2]|!F[a+56>>2]){break a}b=F[a+92>>2]!=-1}return b|0}function ii(a,b){a=a|0;b=b|0;var c=0;b=F[b+88>>2];if(!(!b|F[b>>2]!=2)){c=a;a=F[b+8>>2];F[c+4>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);c=1}return c|0}function wc(a){a=a|0;var b=0;F[a>>2]=2136;b=F[a+20>>2];F[a+20>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}F[a>>2]=1920;b=F[a+16>>2];F[a+16>>2]=0;if(b){xa(b)}return a|0}function Ud(a){a=a|0;var b=0;a:{if(!F[a+48>>2]|!F[a+52>>2]|(!F[a+28>>2]|!F[a+32>>2])){break a}if(!F[a+36>>2]|!F[a+40>>2]){break a}b=F[a+76>>2]!=-1}return b|0}function Ug(a){a=a|0;var b=0;F[a>>2]=9556;b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}F[a>>2]=9372;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}return a|0}function Ed(a){a=a|0;var b=0;F[a>>2]=8624;b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}F[a>>2]=8876;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}return a|0}function vc(a){a=a|0;var b=0;F[a>>2]=2136;b=F[a+20>>2];F[a+20>>2]=0;if(b){$[F[F[b>>2]+4>>2]](b)}F[a>>2]=1920;b=F[a+16>>2];F[a+16>>2]=0;if(b){xa(b)}ja(a)}function yg(){var a=0,b=0;b=ka(40);F[b>>2]=-1;a=b+8|0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;return b|0}function eh(a){a=a|0;var b=0;F[a>>2]=8624;b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}F[a>>2]=8876;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}ja(a)}function Og(a){a=a|0;var b=0;F[a>>2]=9556;b=F[a+48>>2];if(b){F[a+52>>2]=b;ja(b)}F[a>>2]=9372;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}ja(a)}function Ja(a){F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+32>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;E[a+38>>1]=0;D[a+36|0]=0;return a}function Me(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(La(a,F[b+8>>2],f)){Dc(b,c,d,e);return}a=F[a+8>>2];$[F[F[a>>2]+20>>2]](a,b,c,d,e,f)}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(G[F[a+4>>2]+36|0]>=2){b=0;if(!($[F[F[a>>2]+52>>2]](a)|0)){break a}}b=id(a+24|0,F[a+16>>2])}return b|0}function hg(){var a=0;a=Rc(ka(108));F[a+84>>2]=0;F[a+88>>2]=0;F[a>>2]=10240;F[a+92>>2]=0;F[a+96>>2]=0;F[a+100>>2]=0;F[a+104>>2]=0;return a|0}function Qc(a,b){var c=0;c=-1;a:{if((b|0)==-1|(b|0)>4){break a}b=L(b,12)+a|0;a=F[b+20>>2];if((F[b+24>>2]-a|0)<=0){break a}c=F[a>>2]}return c}function cc(a,b,c,d,e,f,g){F[a>>2]=0;F[a+56>>2]=b;F[a+48>>2]=0;F[a+52>>2]=0;F[a+40>>2]=f;F[a+44>>2]=g;D[a+32|0]=e;F[a+28>>2]=d;D[a+24|0]=c}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(G[F[a+4>>2]+36|0]>=2){b=0;if(!uc(a+24|0,bb(a),c)){break a}}b=id(a+24|0,F[a+16>>2])}return b|0}function _e(a){a=a|0;var b=0;F[a>>2]=10240;b=F[a+96>>2];if(b){F[a+100>>2]=b;ja(b)}b=F[a+84>>2];if(b){F[a+88>>2]=b;ja(b)}return tb(a)|0}function Tb(a){var b=0;if(G[a+11|0]>>>7|0){b=F[a+4>>2]}else{b=G[a+11|0]&127}if(!b){sc(1222);v()}if(G[a+11|0]>>>7|0){a=F[a>>2]}return a}function Ze(a){a=a|0;var b=0;F[a>>2]=10240;b=F[a+96>>2];if(b){F[a+100>>2]=b;ja(b)}b=F[a+84>>2];if(b){F[a+88>>2]=b;ja(b)}ja(tb(a))}function ce(a){a=a|0;var b=0;F[a>>2]=3264;b=F[a+76>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function _h(a){a=a|0;var b=0;F[a>>2]=4816;b=F[a+76>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function Ba(a,b){if(b){Ba(a,F[b>>2]);Ba(a,F[b+4>>2]);a=F[b+28>>2];if(a){F[b+32>>2]=a;ja(a)}if(D[b+27|0]<0){ja(F[b+16>>2])}ja(b)}}function Wf(){var a=0;a=ka(28);F[a>>2]=0;F[a+4>>2]=0;F[a+24>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;return a|0}function We(a){a=a|0;var b=0;F[a>>2]=1776;b=F[a+16>>2];if(b){F[a+20>>2]=b;ja(b)}b=F[a+4>>2];if(b){F[a+8>>2]=b;ja(b)}return a|0}function fg(){var a=0,b=0;a=ka(24);F[a+4>>2]=0;F[a+8>>2]=0;b=a+16|0;F[b>>2]=0;F[b+4>>2]=0;F[a>>2]=a+4;F[a+12>>2]=b;return a|0}function Pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(La(a,F[b+8>>2],0)){Ec(b,c,d);return}a=F[a+8>>2];$[F[F[a>>2]+28>>2]](a,b,c,d)}function be(a){a=a|0;var b=0;F[a>>2]=3264;b=F[a+76>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function Zh(a){a=a|0;var b=0;F[a>>2]=4816;b=F[a+76>>2];if(b){ja(b)}F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function ka(a){var b=0;a=a?a:1;a:{while(1){b=Ub(a);if(b){break a}b=F[3065];if(b){$[b|0]();continue}break}V();v()}return b}function ib(a,b){if(b){ib(a,F[b>>2]);ib(a,F[b+4>>2]);if(D[b+39|0]<0){ja(F[b+28>>2])}if(D[b+27|0]<0){ja(F[b+16>>2])}ja(b)}}function Cc(a){a=a|0;var b=0,c=0;F[a>>2]=11468;b=F[a+4>>2]-12|0;c=F[b+8>>2]-1|0;F[b+8>>2]=c;if((c|0)<0){ja(b)}return a|0}function ng(){var a=0;a=ka(24);F[a+8>>2]=0;F[a+12>>2]=0;F[a+4>>2]=-1;F[a>>2]=1624;F[a+16>>2]=0;F[a+20>>2]=0;return a|0}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;F[a+4>>2]=b;b=F[F[F[b+4>>2]+8>>2]+(c<<2)>>2];F[a+12>>2]=c;F[a+8>>2]=b;return 1}function pc(a){a=a|0;var b=0;if(!(!F[a+60>>2]|!F[a+44>>2]|(!F[a+48>>2]|!F[a+52>>2]))){b=F[a+56>>2]!=0}return b|0}function Ic(a,b){if(G[a+11|0]>>>7|0){F[a+4>>2]=b;return}D[a+11|0]=G[a+11|0]&128|b;D[a+11|0]=G[a+11|0]&127}function gi(a){a=a|0;var b=0;F[a>>2]=3500;F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function Xh(a){a=a|0;var b=0;F[a>>2]=5040;F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function nf(a){a=a|0;if(a){if(D[a+39|0]<0){ja(F[a+28>>2])}$b(a+12|0,F[a+16>>2]);ib(a,F[a+4>>2]);ja(a)}}function dh(a){a=a|0;var b=0;F[a>>2]=8876;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}return a|0}function Wg(a){a=a|0;var b=0;F[a>>2]=9372;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}return a|0}function ob(a){a=a|0;var b=0;if(!(!F[a+52>>2]|(!F[a+44>>2]|!F[a+48>>2]))){b=F[a+56>>2]!=0}return b|0}function oc(a,b){a=a|0;b=b|0;var c=0;if(!(F[b+56>>2]|!b|G[b+24|0]!=3)){F[a+60>>2]=b;c=1}return c|0}function fi(a){a=a|0;var b=0;F[a>>2]=3500;F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function Wh(a){a=a|0;var b=0;F[a>>2]=5040;F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function zg(a,b,c){a=a|0;b=b|0;c=c|0;F[a+16>>2]=0;F[a+20>>2]=0;F[a>>2]=b;F[a+8>>2]=c;F[a+12>>2]=0}function ch(a){a=a|0;var b=0;F[a>>2]=8876;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}ja(a)}function Zd(a,b){a=a|0;b=b|0;var c=0;if(!(F[b+56>>2]|G[b+24|0]!=3)){F[a- -64>>2]=b;c=1}return c|0}function Vg(a){a=a|0;var b=0;F[a>>2]=9372;b=F[a+36>>2];if(b){ja(b)}b=F[a+24>>2];if(b){ja(b)}ja(a)}function Td(a,b){a=a|0;b=b|0;var c=0;if(!(F[b+56>>2]|G[b+24|0]!=3)){F[a+48>>2]=b;c=1}return c|0}function Le(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(La(a,F[b+8>>2],f)){Dc(b,c,d,e)}}function oa(){var a=0;a=Rb(4);F[a>>2]=11356;F[a>>2]=11316;F[a>>2]=11336;W(a|0,11448,14);v()}function je(a){a=a|0;var b=0;F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}return a|0}function Ae(a){a=a|0;var b=0;F[a>>2]=1920;b=F[a+16>>2];F[a+16>>2]=0;if(b){xa(b)}return a|0}function Pg(a){a=a|0;var b=0;F[a>>2]=1624;b=F[a+8>>2];if(b){F[a+12>>2]=b;ja(b)}return a|0}function Ch(a){a=a|0;var b=0;b=bb(a);return qd(a+24|0,b?b:F[a+8>>2],F[F[a+4>>2]+32>>2])|0}function ze(a){a=a|0;var b=0;F[a>>2]=1920;b=F[a+16>>2];F[a+16>>2]=0;if(b){xa(b)}ja(a)}function Ob(a){a=a|0;var b=0;F[a>>2]=2960;b=F[a+32>>2];if(b){F[a+36>>2]=b;ja(b)}ja(a)}function Hg(a){a=a|0;var b=0;F[a>>2]=1624;b=F[a+8>>2];if(b){F[a+12>>2]=b;ja(b)}ja(a)}function oe(a,b){a=a|0;b=b|0;return $[F[F[a>>2]+48>>2]](a,F[b+4>>2]-F[b>>2]>>2)|0}function $b(a,b){if(b){$b(a,F[b>>2]);$b(a,F[b+4>>2]);ib(b+20|0,F[b+24>>2]);ja(b)}}function xg(a){a=a|0;var b=0;if(a){b=F[a+8>>2];if(b){F[a+12>>2]=b;ja(b)}ja(a)}}function xh(a){a=a|0;if(!F[a+44>>2]){return 0}return $[F[F[a>>2]+48>>2]](a)|0}function ni(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(La(a,F[b+8>>2],0)){Ec(b,c,d)}}function vh(a,b){a=a|0;b=b|0;a=F[a+48>>2];return $[F[F[a>>2]+20>>2]](a,b)|0}function oi(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} function oh(a,b){a=a|0;b=b|0;a=F[a+48>>2];return $[F[F[a>>2]+12>>2]](a,b)|0}function nh(a,b){a=a|0;b=b|0;a=F[a+48>>2];return $[F[F[a>>2]+16>>2]](a,b)|0}function Xa(){var a=0;a=ka(12);F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;return a|0}function Wa(a){a=a|0;var b=0;if(a){b=F[a>>2];if(b){F[a+4>>2]=b;ja(b)}ja(a)}}function mf(a,b,c){a=a|0;b=b|0;c=c|0;F[a+32>>2]=c;F[a+28>>2]=b;return 1}function eg(a){a=a|0;if(a){Ca(a+12|0,F[a+16>>2]);Ba(a,F[a+4>>2]);ja(a)}}function Lb(a,b){a=a|0;b=b|0;if(b>>>0<=1){F[a+28>>2]=b}return b>>>0<2|0}function Fg(a,b){a=a|0;b=b|0;D[b+84|0]=1;F[b+72>>2]=F[b+68>>2];return 1}function kg(){var a=0;a=ka(8);F[a+4>>2]=-1;F[a>>2]=1032;return a|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;return F[F[b+8>>2]+(c<<2)>>2]}function th(a){a=a|0;a=F[a+48>>2];return $[F[F[a>>2]+24>>2]](a)|0}function sh(a){a=a|0;a=F[a+48>>2];return $[F[F[a>>2]+28>>2]](a)|0}function ph(a){a=a|0;a=F[a+48>>2];return $[F[F[a>>2]+36>>2]](a)|0}function Rh(a,b){a=a|0;b=b|0;return zc(a+24|0,bb(a),F[a+8>>2])|0}function Bh(a,b){a=a|0;b=b|0;return xd(a+24|0,bb(a),F[a+8>>2])|0}function bg(a){a=a|0;if(a){if(D[a+15|0]<0){ja(F[a+4>>2])}ja(a)}}function Ke(a){a=a|0;if(!a){return 0}return(Fc(a,11164)|0)!=0|0}function Fe(a,b){a=a|0;b=b|0;F[a+12>>2]=-1;F[a+8>>2]=b;return 1}function hd(a,b){a=a|0;b=b|0;return $[F[F[a>>2]+12>>2]](a,b)|0}function Dh(a,b){a=a|0;b=b|0;return $[F[F[a>>2]+56>>2]](a,b)|0}function sc(a){a=Hc(Rb(8),a);F[a>>2]=11568;W(a|0,11600,1);v()}function mg(a,b){a=a|0;b=b|0;return M(J[F[a+8>>2]+(b<<2)>>2])}function Rd(a){a=Hc(Rb(8),a);F[a>>2]=11516;W(a|0,11548,1);v()}function $f(a,b){a=a|0;b=b|0;return M(J[F[a>>2]+(b<<2)>>2])}function gg(a){a=a|0;return(F[a+100>>2]-F[a+96>>2]|0)/12|0}function cg(a){a=a|0;return(D[a+15|0]<0?F[a+4>>2]:a+4|0)|0}function Re(a,b){a=a|0;b=b|0;return F[F[a+4>>2]+(b<<2)>>2]}function dd(a,b){a=a|0;b=b|0;return F[F[a>>2]+(b<<2)>>2]}function Yf(a,b){a=a|0;b=b|0;return E[F[a>>2]+(b<<1)>>1]}function Xf(a,b){a=a|0;b=b|0;return H[F[a>>2]+(b<<1)>>1]}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;return xc(a,b,c)|0}function sb(a,b){var c=0;c=ka(b);F[a+4>>2]=b;F[a>>2]=c}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;return Qc(b,c)|0}function Rc(a){F[a>>2]=10300;ma(a+4|0,0,80);return a}function ji(a){if(a){return 31-O(a-1^a)|0}return 32}function gd(a){a=a|0;return F[a+12>>2]-F[a+8>>2]>>2}function _f(a,b){a=a|0;b=b|0;return D[F[a>>2]+b|0]}function Zf(a,b){a=a|0;b=b|0;return G[F[a>>2]+b|0]}function Ie(a){a=a|0;return F[a+8>>2]-F[a+4>>2]>>2}function wb(a){a=a|0;if(a){$[F[F[a>>2]+4>>2]](a)}}function Jd(a,b){a=a|0;b=b|0;F[a+4>>2]=b;return 1}function ed(a){a=a|0;return F[a+4>>2]-F[a>>2]>>1}function dc(a){a=a|0;return F[a+4>>2]-F[a>>2]>>2}function fd(a){a=a|0;return F[a+4>>2]-F[a>>2]|0}function ke(a){a=a|0;return G[F[a+8>>2]+24|0]}function Qf(a,b){a=a|0;b=b|0;return F[b+8>>2]}function Ff(a,b){a=a|0;b=b|0;return F[b+4>>2]}function De(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Bg(a,b){a=a|0;b=b|0;return G[b+24|0]}function Oh(a){a=a|0;F[a>>2]=5928;return a|0}function Jh(a){a=a|0;F[a>>2]=6932;return a|0}function lg(a){a=a|0;return M(J[a+20>>2])}function Nh(a){a=a|0;F[a>>2]=5928;ja(a)}function Ih(a){a=a|0;F[a>>2]=6932;ja(a)}function ug(a){a=a|0;return F[a+88>>2]}function tg(a){a=a|0;return F[a+56>>2]}function qg(a){a=a|0;return F[a+40>>2]}function pg(a){a=a|0;return F[a+48>>2]}function og(a){a=a|0;return F[a+60>>2]}function ec(a){a=a|0;return F[a+80>>2]}function cb(a){a=a|0;return F[a+28>>2]}function vd(a){a=a|0;return F[a+8>>2]}function tc(a,b){a=a|0;b=b|0;return-1}function sg(a){a=a|0;return D[a+24|0]}function rg(a){a=a|0;return G[a+32|0]}function dg(a){a=a|0;return!F[a>>2]|0}function Wd(a,b){a=a|0;b=b|0;return 6}function Va(a){a=a|0;return F[a+4>>2]}function Rb(a){return Ub(a+80|0)+80|0}function Qh(a,b){a=a|0;b=b|0;return 2}function Ia(a,b){a=a|0;b=b|0;return 0}function Bc(a,b){a=a|0;b=b|0;return 1}function jd(a){a=a|0;return F[a>>2]}function wg(){return kb(ka(64))|0}function ig(){return Rc(ka(84))|0}function fc(a){a=a|0;if(a){ja(a)}}function Ag(){return Ja(ka(40))|0}function Qb(a){a=a|0;Cc(a);ja(a)}function Je(a){a=a|0;return 1161}function He(a){a=a|0;return 1235}function Ge(a){a=a|0;return 1201}function Pa(a){a=a|0;return a|0}function hh(a){a=a|0;ja(ud(a))}function gh(a){a=a|0;ja(sd(a))}function Ve(a){a=a|0;ja(tb(a))}function ua(a){a=a|0;return 1}function rc(a){a=a|0;return 4}function qc(a){a=a|0;return 5}function Xd(a){a=a|0;return 2}function Ua(a){a=a|0;return 0}function Nb(a){a=a|0;return 6}function Mh(a){a=a|0;return 3}function za(){Rd(1222);v()}function ta(){sc(1154);v()}function na(){Rd(1154);v()}function Ha(a){a=a|0;ja(a)}function Ra(a){a=a|0;v()}function ff(){return 10}function ef(){return 11}function df(){return 12}function vb(){return-1}function ub(){return 1}function lf(){return 5}function kf(){return 6}function jf(){return 7}function jb(){return 0}function hf(){return 8}function gf(){return 9}function cf(){return-2}function bf(){return-3}function bd(){return 3}function af(){return-4}function ad(){return 4}function _b(){return 2}function $e(){return-5}function Te(){V();v()}function Jc(a){a=a|0}function ae(){} // EMSCRIPTEN_END_FUNCS diff --git a/javascript/draco_decoder_gltf.wasm b/javascript/draco_decoder_gltf.wasm index 469904eb..26aa5d3c 100644 Binary files a/javascript/draco_decoder_gltf.wasm and b/javascript/draco_decoder_gltf.wasm differ diff --git a/javascript/draco_encoder.js b/javascript/draco_encoder.js index 031d77be..b516ec74 100644 --- a/javascript/draco_encoder.js +++ b/javascript/draco_encoder.js @@ -9,18 +9,18 @@ var Module=typeof DracoEncoderModule!="undefined"?DracoEncoderModule:{};var read // EMSCRIPTEN_START_ASM function instantiate(ma){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>2]=0;J[C+32>>2]=0;J[C+36>>2]=0;c:{d:{if(b>>>0<1073741824){g=b<<2;n=oa(g);J[C+36>>2]=n;J[C+32>>2]=n;j=g+n|0;u=(c|0)<=1?1:c;c=u-1|0;v=c&-4;l=c&3;r=u-2>>>0>2;F=n;g=n;e:{f:{g:{while(1){h=J[(s<<2)+a>>2];h:{if(u>>>0<2){break h}m=0;c=1;if(r){while(1){q=(c+s<<2)+a|0;k=J[q>>2];h=h>>>0>k>>>0?h:k;k=J[q+4>>2];h=h>>>0>k>>>0?h:k;k=J[q+8>>2];h=h>>>0>k>>>0?h:k;q=J[q+12>>2];h=h>>>0>q>>>0?h:q;c=c+4|0;m=m+4|0;if((v|0)!=(m|0)){continue}break}}k=0;if(!l){break h}while(1){m=J[(c+s<<2)+a>>2];h=h>>>0>m>>>0?h:m;c=c+1|0;k=k+1|0;if((l|0)!=(k|0)){continue}break}}c=h?(S(h)^31)+1|0:1;i:{if(g>>>0>>0){J[g>>2]=c;g=g+4|0;J[C+36>>2]=g;break i}m=g-F|0;q=m>>2;g=q+1|0;if(g>>>0>=1073741824){break g}j=j-F|0;k=j>>>1|0;j=j>>>0>=2147483644?1073741823:g>>>0>>0?k:g;if(j){if(j>>>0>=1073741824){break f}n=oa(j<<2)}else{n=0}g=n+(q<<2)|0;J[g>>2]=c;c=ta(n,F,m);g=g+4|0;J[C+36>>2]=g;j=c+(j<<2)|0;if(F){na(F)}F=c}p=h>>>0>p>>>0?h:p;s=s+u|0;if((s|0)<(b|0)){continue}break}J[C+40>>2]=j;J[C+32>>2]=n;c=0;J[C+24>>2]=0;J[C+16>>2]=0;J[C+20>>2]=0;j:{if((g|0)==(F|0)){k=0;break j}c=g-F|0;if((c|0)<0){break e}k=oa(c);J[C+16>>2]=k;J[C+24>>2]=(c&-4)+k;c=F;h=k;while(1){J[h>>2]=J[c>>2];h=h+4|0;c=c+4|0;if((g|0)!=(c|0)){continue}break}J[C+20>>2]=h;c=h-k>>2;if((h|0)==(k|0)){break j}g=c>>>0<=1?1:c;q=g&3;s=0;k:{if(g-1>>>0<3){h=0;break k}n=g&-4;h=0;m=0;while(1){g=f;f=h<<2;l=J[f+k>>2];g=g+l|0;j=i;j=g>>>0>>0?j+1|0:j;l=J[(f|4)+k>>2];i=l+g|0;g=j;g=l>>>0>i>>>0?g+1|0:g;j=J[(f|8)+k>>2];i=j+i|0;g=j>>>0>i>>>0?g+1|0:g;l=i;i=J[(f|12)+k>>2];f=l+i|0;i=f>>>0>>0?g+1|0:g;h=h+4|0;m=m+4|0;if((n|0)!=(m|0)){continue}break}}if(!q){break j}while(1){j=J[(h<<2)+k>>2];f=j+f|0;g=i;i=f>>>0>>0?g+1|0:g;h=h+1|0;s=s+1|0;if((q|0)!=(s|0)){continue}break}}c=Kg(k,c,32,C);v=ca;r=J[C>>2];if(k){J[C+20>>2]=k;na(k)}m=Kg(a,b,p,C);s=ca;k=J[C>>2];G=(p-k|0)/64|0;if(d){g=oa(32);H[g+22|0]=0;h=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);j=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[g+14|0]=j;H[g+15|0]=j>>>8;H[g+16|0]=j>>>16;H[g+17|0]=j>>>24;H[g+18|0]=h;H[g+19|0]=h>>>8;H[g+20|0]=h>>>16;H[g+21|0]=h>>>24;h=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);j=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[g+8|0]=j;H[g+9|0]=j>>>8;H[g+10|0]=j>>>16;H[g+11|0]=j>>>24;H[g+12|0]=h;H[g+13|0]=h>>>8;H[g+14|0]=h>>>16;H[g+15|0]=h>>>24;h=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);j=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[g|0]=j;H[g+1|0]=j>>>8;H[g+2|0]=j>>>16;H[g+3|0]=j>>>24;H[g+4|0]=h;H[g+5|0]=h>>>8;H[g+6|0]=h>>>16;H[g+7|0]=h>>>24;h=J[d+4>>2];if(h){while(1){j=K[h+27|0];q=j<<24>>24<0;j=q?J[h+20>>2]:j;n=j>>>0<22;l:{m:{n:{o:{p:{q:{l=n?j:22;if(l){q=q?J[h+16>>2]:h+16|0;t=Ba(g,q,l);if(t){break q}if(j>>>0<=22){break p}break l}if(j>>>0<=22){break o}break l}if((t|0)<0){break l}}j=Ba(q,g,l);if(j){break n}}if(n){break m}break d}if((j|0)>=0){break d}}h=h+4|0}h=J[h>>2];if(h){continue}break}}na(g)}if((S(p>>>0<=1?1:p)^30)>>>0<18){g=c;c=Gl(f,i,u,0);f=g+c|0;g=ca+v|0;g=c>>>0>f>>>0?g+1|0:g;c=r<<3;q=c>>31<<1|c>>>31;i=f;f=c<<1;c=i+f|0;j=g+q|0;j=c>>>0>>0?j+1|0:j;f=c;c=k+G<<3;i=c;h=c>>31;c=m;g=k<<3;m=g;c=c+g|0;g=(g>>31)+s|0;h=(c>>>0>>0?g+1|0:g)+h|0;g=c;c=c+i|0;h=g>>>0>c>>>0?h+1|0:h;c=(h|0)<=(j|0)&c>>>0<=f>>>0|(h|0)<(j|0)}else{c=0}break c}J[C+40>>2]=j;J[C+32>>2]=n;break a}J[C+32>>2]=n;xa();B()}break a}break a}na(g);c=oa(32);J[C>>2]=c;J[C+4>>2]=22;J[C+8>>2]=-2147483616;f=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);i=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[c+14|0]=i;H[c+15|0]=i>>>8;H[c+16|0]=i>>>16;H[c+17|0]=i>>>24;H[c+18|0]=f;H[c+19|0]=f>>>8;H[c+20|0]=f>>>16;H[c+21|0]=f>>>24;f=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);i=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);i=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+22|0]=0;c=Lf(d,C);if(H[C+11|0]>=0){break c}na(J[C>>2])}H[C|0]=c;f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){sa(e,J[e+4>>2],C,C+1|0)}h=0;r:{s:{switch(c|0){case 0:p=0;k=ba-336|0;ba=k;pa(k+80|0,0,256);d=J[C+36>>2];c=J[C+32>>2];t:{if((d|0)==(c|0)){break t}d=d-c>>2;d=d>>>0<=1?1:d;i=d&3;if(d-1>>>0>=3){n=d&-4;while(1){f=k+80|0;d=p<<2;g=f+(J[d+c>>2]<<3)|0;j=g;m=J[g>>2];g=J[g+4>>2];m=m+1|0;g=m?g:g+1|0;J[j>>2]=m;J[j+4>>2]=g;g=f+(J[c+(d|4)>>2]<<3)|0;j=J[g>>2];q=J[g+4>>2];j=j+1|0;q=j?q:q+1|0;J[g>>2]=j;J[g+4>>2]=q;g=f+(J[c+(d|8)>>2]<<3)|0;j=J[g>>2];m=J[g+4>>2];j=j+1|0;m=j?m:m+1|0;J[g>>2]=j;J[g+4>>2]=m;d=f+(J[c+(d|12)>>2]<<3)|0;f=J[d>>2];g=J[d+4>>2];f=f+1|0;g=f?g:g+1|0;J[d>>2]=f;J[d+4>>2]=g;p=p+4|0;h=h+4|0;if((n|0)!=(h|0)){continue}break}}if(!i){break t}h=0;while(1){d=(k+80|0)+(J[c+(p<<2)>>2]<<3)|0;f=J[d>>2];q=J[d+4>>2];f=f+1|0;q=f?q:q+1|0;J[d>>2]=f;J[d+4>>2]=q;p=p+1|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}l=k+48|0;J[l>>2]=0;J[l+4>>2]=0;H[l+24|0]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+8>>2]=0;J[l+12>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;Ig(k,k+80|0,32,e);d=J[k+16>>2];f=J[k+20>>2];c=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=c;J[k+44>>2]=0;q=f<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?q+1|0:q;d=c+((m&7)<<29|d>>>3)|0;g=m>>>3|0;g=c>>>0>d>>>0?g+1|0:g;c=d+8|0;Ia(e,c);c=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=16384;J[k+24>>2]=c+J[k+40>>2];Fd(l,b<<5,b>>31<<5|b>>>27,0);b=b-u|0;if((b|0)>=0){j=(u|0)<=0;c=b;while(1){p=J[k+32>>2];n=J[C+32>>2];f=J[k>>2]+(J[n+((c|0)/(u|0)<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(p>>>0>=i>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=p;p=J[k+32>>2]>>>8|0;J[k+32>>2]=p;if(i>>>0<=p>>>0){continue}break}n=J[C+32>>2]}g=J[f+4>>2];f=(p>>>0)/(d>>>0)|0;J[k+32>>2]=g+((f<<12)+(p-P(d,f)|0)|0);m=b-c|0;g=(m|0)/(u|0)|0;u:{if(j){break u}d=J[l+20>>2];i=d;f=J[l+16>>2];if(!f&(d|0)<=0|(d|0)<0){break u}g=J[(g<<2)+n>>2];n=0;while(1){if(!(!f&(i|0)<=0|(i|0)<0|(g|0)<=0)){f=J[(n+m<<2)+a>>2];d=J[l+12>>2];F=J[d+4>>2];h=0;while(1){i=F>>>3|0;q=i+J[d>>2]|0;v=K[q|0];D=q;q=F&7;I=D,L=Kl(q)&v,H[I|0]=L;i=i+J[d>>2]|0;H[i|0]=K[i|0]|(f>>>h&1)<>2]+1|0;J[d+4>>2]=F;h=h+1|0;if((g|0)!=(h|0)){continue}break}}n=n+1|0;if((u|0)==(n|0)){break u}f=J[l+16>>2];i=J[l+20>>2];continue}}c=c-u|0;if((c|0)>=0){continue}break}}yb(k,e);Ed(l);a=J[e+20>>2];if(!J[e+16>>2]&(a|0)<=0|(a|0)<0){sa(e,J[e+4>>2],J[l>>2],J[l+4>>2])}a=J[k>>2];if(a){J[k+4>>2]=a;na(a)}a=J[l+12>>2];J[l+12>>2]=0;if(a){na(a)}a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}ba=k+336|0;h=1;F=J[C+32>>2];break r;case 1:break s;default:break r}}G=ba-32|0;ba=G;n=1;v:{if((k|0)>0){c=S(k);if((c^30)>>>0>17){break v}n=32-c|0}w:{if(!d){break w}c=oa(48);H[c+33|0]=0;H[c+32|0]=K[1470];f=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);i=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[c+24|0]=i;H[c+25|0]=i>>>8;H[c+26|0]=i>>>16;H[c+27|0]=i>>>24;H[c+28|0]=f;H[c+29|0]=f>>>8;H[c+30|0]=f>>>16;H[c+31|0]=f>>>24;f=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);i=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[c+16|0]=i;H[c+17|0]=i>>>8;H[c+18|0]=i>>>16;H[c+19|0]=i>>>24;H[c+20|0]=f;H[c+21|0]=f>>>8;H[c+22|0]=f>>>16;H[c+23|0]=f>>>24;f=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);i=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);i=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;x:{h=J[d+4>>2];if(h){while(1){f=K[h+27|0];i=f<<24>>24<0;f=i?J[h+20>>2]:f;g=f>>>0<33;y:{z:{A:{B:{C:{D:{j=g?f:33;if(j){i=i?J[h+16>>2]:h+16|0;m=Ba(c,i,j);if(m){break D}if(f>>>0<=33){break C}break y}if(f>>>0<=33){break B}break y}if((m|0)<0){break y}}f=Ba(i,c,j);if(f){break A}}if(g){break z}break x}if((f|0)>=0){break x}}h=h+4|0}h=J[h>>2];if(h){continue}break}}na(c);break w}na(c);c=oa(48);J[G+16>>2]=c;J[G+20>>2]=33;J[G+24>>2]=-2147483600;H[c+32|0]=K[1470];f=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);i=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[c+24|0]=i;H[c+25|0]=i>>>8;H[c+26|0]=i>>>16;H[c+27|0]=i>>>24;H[c+28|0]=f;H[c+29|0]=f>>>8;H[c+30|0]=f>>>16;H[c+31|0]=f>>>24;f=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);i=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[c+16|0]=i;H[c+17|0]=i>>>8;H[c+18|0]=i>>>16;H[c+19|0]=i>>>24;H[c+20|0]=f;H[c+21|0]=f>>>8;H[c+22|0]=f>>>16;H[c+23|0]=f>>>24;f=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);i=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);i=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+33|0]=0;c=Lf(d,G+16|0);if(H[G+27|0]<0){na(J[G+16>>2])}if((c|0)<=3){n=n-2|0;break w}if(c>>>0<=5){n=n-1|0;break w}if(c>>>0>=10){n=n+2|0;break w}n=(c>>>0>7)+n|0}c=(n|0)<=1?1:n;c=(c|0)>=18?18:c;H[G+15|0]=c;d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){sa(e,J[e+4>>2],G+15|0,G+16|0)}h=0;E:{switch(c-1|0){case 0:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;F:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}G:{if((b|0)<=0){break G}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];q=J[c+4>>2];d=d+1|0;q=d?q:q+1|0;J[c>>2]=d;J[c+4>>2]=q;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break G}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;H:{if((a|0)<=0){break H}A=a&3;I:{if(a>>>0<4){a=0;break I}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;g=i+D|0;f=f+x|0;q=(f>>>0>>0?g+1|0:g)+m|0;g=f;f=f+p|0;g=(g>>>0>f>>>0?q+1|0:q)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break H}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;J:{if(a>>>0>>0){Wa(l,g-a|0);break J}if(a>>>0<=g>>>0){break J}J[l+4>>2]=e+(g<<3)}k=0;K:{L:{M:{N:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;O:{if(o<4294967296&o>=0){e=~~o>>>0;break O}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break N}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;P:{if(!g){break P}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break P}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Q:{R:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break R}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}gc(s,p,t+24|0,e,0,0);break Q}gc(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break M}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){S:{T:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));U:{if(R(w)<2147483648){i=~~w;break U}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break T}k=4096;break S}if((d|0)!=(e|0)){break S}a=1;break M}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break M}a=0;if(k>>>0<4097){break M}while(1)continue}if((d|0)<0){break K}break L}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break K}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break K}a=0;o=0;V:{if((d|0)<0){break V}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break V}a=a<<3;d=J[a+f>>2];if(!d){break V}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);W:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break W}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;g=d>>>0<39?g+1|0:g;d=a+((g&7)<<29|d>>>3)|0;h=g>>>3|0;j=a>>>0>d>>>0?h+1|0:h;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break F}h=1;break v;case 1:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;X:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}Y:{if((b|0)<=0){break Y}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Y}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;Z:{if((a|0)<=0){break Z}A=a&3;_:{if(a>>>0<4){a=0;break _}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=h;h=g;j=i+D|0;f=f+x|0;g=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+p|0;q=(g>>>0>f>>>0?h+1|0:h)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?q+1|0:q;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Z}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;g=g+i|0;f=e+f|0;i=f>>>0>>0?g+1|0:g;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;$:{if(a>>>0>>0){Wa(l,g-a|0);break $}if(a>>>0<=g>>>0){break $}J[l+4>>2]=e+(g<<3)}k=0;aa:{ba:{ca:{da:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;ea:{if(o<4294967296&o>=0){e=~~o>>>0;break ea}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break da}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;fa:{if(!g){break fa}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break fa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ga:{ha:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break ha}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}fc(s,p,t+24|0,e,0,0);break ga}fc(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break ca}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){ia:{ja:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));ka:{if(R(w)<2147483648){i=~~w;break ka}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break ja}k=4096;break ia}if((d|0)!=(e|0)){break ia}a=1;break ca}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break ca}a=0;if(k>>>0<4097){break ca}while(1)continue}if((d|0)<0){break aa}break ba}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break aa}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break aa}a=0;o=0;la:{if((d|0)<0){break la}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break la}a=a<<3;d=J[a+f>>2];if(!d){break la}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);ma:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break ma}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;h=e<<1|d>>>31;d=(d<<1)+39|0;j=h;j=d>>>0<39?j+1|0:j;d=a+((j&7)<<29|d>>>3)|0;q=j>>>3|0;m=a>>>0>d>>>0?q+1|0:q;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break X}h=1;break v;case 2:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;na:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}oa:{if((b|0)<=0){break oa}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|4)>>2]<<3)+n|0;h=J[d>>2];j=J[d+4>>2];h=h+1|0;j=h?j:j+1|0;J[d>>2]=h;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];h=J[c+4>>2];d=d+1|0;h=d?h:h+1|0;J[c>>2]=d;J[c+4>>2]=h;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break oa}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;pa:{if((a|0)<=0){break pa}x=a&3;qa:{if(a>>>0<4){a=0;break qa}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;h=m;m=i+E|0;f=f+p|0;h=(f>>>0

>>0?m+1|0:m)+h|0;m=f;f=g+f|0;q=(m>>>0>f>>>0?h+1|0:h)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?q+1|0:q)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break pa}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0>>0?j+1|0:j;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ra:{if(a>>>0>>0){Wa(l,g-a|0);break ra}if(a>>>0<=g>>>0){break ra}J[l+4>>2]=e+(g<<3)}k=0;sa:{ta:{ua:{va:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;wa:{if(o<4294967296&o>=0){e=~~o>>>0;break wa}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break va}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;xa:{if(!g){break xa}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break xa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ya:{za:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break za}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}ec(s,p,t+24|0,e,0,0);break ya}ec(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break ua}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Aa:{Ba:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Ca:{if(R(w)<2147483648){i=~~w;break Ca}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Ba}k=4096;break Aa}if((d|0)!=(e|0)){break Aa}a=1;break ua}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break ua}a=0;if(k>>>0<4097){break ua}while(1)continue}if((d|0)<0){break sa}break ta}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break sa}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break sa}a=0;o=0;Da:{if((d|0)<0){break Da}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Da}a=a<<3;d=J[a+f>>2];if(!d){break Da}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);Ea:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Ea}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;q=e<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?q+1|0:q;d=a+((m&7)<<29|d>>>3)|0;g=m>>>3|0;g=a>>>0>d>>>0?g+1|0:g;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break na}h=1;break v;case 3:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Fa:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}Ga:{if((b|0)<=0){break Ga}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];q=J[c+4>>2];d=d+1|0;q=d?q:q+1|0;J[c>>2]=d;J[c+4>>2]=q;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ga}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;Ha:{if((a|0)<=0){break Ha}A=a&3;Ia:{if(a>>>0<4){a=0;break Ia}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;g=i+D|0;f=f+x|0;q=(f>>>0>>0?g+1|0:g)+m|0;g=f;f=f+p|0;g=(g>>>0>f>>>0?q+1|0:q)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Ha}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Ja:{if(a>>>0>>0){Wa(l,g-a|0);break Ja}if(a>>>0<=g>>>0){break Ja}J[l+4>>2]=e+(g<<3)}k=0;Ka:{La:{Ma:{Na:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;Oa:{if(o<4294967296&o>=0){e=~~o>>>0;break Oa}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break Na}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Pa:{if(!g){break Pa}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Pa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Qa:{Ra:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break Ra}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}dc(s,p,t+24|0,e,0,0);break Qa}dc(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break Ma}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Sa:{Ta:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Ua:{if(R(w)<2147483648){i=~~w;break Ua}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Ta}k=4096;break Sa}if((d|0)!=(e|0)){break Sa}a=1;break Ma}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Ma}a=0;if(k>>>0<4097){break Ma}while(1)continue}if((d|0)<0){break Ka}break La}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break Ka}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break Ka}a=0;o=0;Va:{if((d|0)<0){break Va}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Va}a=a<<3;d=J[a+f>>2];if(!d){break Va}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);Wa:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Wa}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;g=d>>>0<39?g+1|0:g;d=a+((g&7)<<29|d>>>3)|0;h=g>>>3|0;j=a>>>0>d>>>0?h+1|0:h;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break Fa}h=1;break v;case 4:c=0;k=0;n=0;r=0;i=ba+-64|0;ba=i;J[i+56>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;Xa:{d=p+1|0;if(d){if(d>>>0>=536870912){break a}d=d<<3;c=oa(d);J[i+48>>2]=c;k=pa(c,0,(p<<3)+8|0)+d|0}Ya:{if((b|0)<=0){break Ya}p=0;if(b>>>0>=4){h=b&-4;while(1){d=p<<2;f=(J[d+a>>2]<<3)+c|0;j=J[f>>2];g=J[f+4>>2];j=j+1|0;g=j?g:g+1|0;J[f>>2]=j;J[f+4>>2]=g;f=(J[(d|4)+a>>2]<<3)+c|0;j=J[f>>2];g=J[f+4>>2];j=j+1|0;g=j?g:g+1|0;J[f>>2]=j;J[f+4>>2]=g;f=(J[(d|8)+a>>2]<<3)+c|0;g=J[f>>2];j=J[f+4>>2];g=g+1|0;j=g?j:j+1|0;J[f>>2]=g;J[f+4>>2]=j;d=(J[(d|12)+a>>2]<<3)+c|0;f=J[d>>2];g=J[d+4>>2];f=f+1|0;g=f?g:g+1|0;J[d>>2]=f;J[d+4>>2]=g;p=p+4|0;n=n+4|0;if((h|0)!=(n|0)){continue}break}}f=b&3;if(!f){break Ya}while(1){d=(J[(p<<2)+a>>2]<<3)+c|0;h=J[d>>2];g=J[d+4>>2];h=h+1|0;g=h?g:g+1|0;J[d>>2]=h;J[d+4>>2]=g;p=p+1|0;r=r+1|0;if((f|0)!=(r|0)){continue}break}}J[i+8>>2]=0;J[i+12>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i>>2]=0;J[i+4>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;Ig(i,c,k-c>>3,e);d=J[i+16>>2];f=J[i+20>>2];c=J[e+4>>2]-J[e>>2]|0;J[i+40>>2]=c;J[i+44>>2]=0;g=f<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=c+((j&7)<<29|d>>>3)|0;g=j>>>3|0;q=c>>>0>d>>>0?g+1|0:g;c=d+8|0;Ia(e,c);c=J[e>>2];J[i+28>>2]=0;J[i+32>>2]=16384;J[i+24>>2]=c+J[i+40>>2];if((b|0)>0){p=16384;while(1){c=b-1|0;f=J[i>>2]+(J[(c<<2)+a>>2]<<3)|0;d=J[f>>2];g=d<<10;if(g>>>0<=p>>>0){while(1){h=J[i+28>>2];J[i+28>>2]=h+1;H[h+J[i+24>>2]|0]=p;p=J[i+32>>2]>>>8|0;J[i+32>>2]=p;if(g>>>0<=p>>>0){continue}break}}g=J[f+4>>2];f=(p>>>0)/(d>>>0)|0;p=g+((f<<12)+(p-P(d,f)|0)|0)|0;J[i+32>>2]=p;d=(b|0)>1;b=c;if(d){continue}break}}yb(i,e);a=J[i>>2];if(a){J[i+4>>2]=a;na(a)}a=J[i+48>>2];if(a){na(a)}ba=i- -64|0;break Xa}h=1;break v;case 5:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Za:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}_a:{if((b|0)<=0){break _a}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break _a}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;$a:{if((a|0)<=0){break $a}A=a&3;ab:{if(a>>>0<4){a=0;break ab}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;q=i+D|0;f=f+x|0;g=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break $a}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0>>0?j+1|0:j;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;bb:{if(a>>>0>>0){Wa(l,g-a|0);break bb}if(a>>>0<=g>>>0){break bb}J[l+4>>2]=e+(g<<3)}k=0;cb:{db:{eb:{fb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;gb:{if(o<4294967296&o>=0){e=~~o>>>0;break gb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break fb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;hb:{if(!g){break hb}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break hb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ib:{jb:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break jb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}cc(s,p,t+24|0,e,0,0);break ib}cc(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break eb}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){kb:{lb:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));mb:{if(R(w)<2147483648){i=~~w;break mb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break lb}k=4096;break kb}if((d|0)!=(e|0)){break kb}a=1;break eb}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break eb}a=0;if(k>>>0<4097){break eb}while(1)continue}if((d|0)<0){break cb}break db}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break cb}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break cb}a=0;o=0;nb:{if((d|0)<0){break nb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break nb}a=a<<3;d=J[a+f>>2];if(!d){break nb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);ob:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break ob}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;h=q>>>3|0;m=a>>>0>d>>>0?h+1|0:h;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break Za}h=1;break v;case 6:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;pb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}qb:{if((b|0)<=0){break qb}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break qb}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;rb:{if((a|0)<=0){break rb}x=a&3;sb:{if(a>>>0<4){a=0;break sb}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;h=g;g=m;m=i+E|0;f=f+p|0;g=(f>>>0

>>0?m+1|0:m)+g|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?h+1|0:h)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break rb}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0>>0?q+1|0:q;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;tb:{if(a>>>0>>0){Wa(l,g-a|0);break tb}if(a>>>0<=g>>>0){break tb}J[l+4>>2]=e+(g<<3)}k=0;ub:{vb:{wb:{xb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;yb:{if(o<4294967296&o>=0){e=~~o>>>0;break yb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break xb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;zb:{if(!g){break zb}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break zb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Ab:{Bb:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break Bb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}bc(s,p,t+24|0,e,0,0);break Ab}bc(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break wb}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Cb:{Db:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Eb:{if(R(w)<2147483648){i=~~w;break Eb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Db}k=4096;break Cb}if((d|0)!=(e|0)){break Cb}a=1;break wb}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break wb}a=0;if(k>>>0<4097){break wb}while(1)continue}if((d|0)<0){break ub}break vb}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break ub}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break ub}a=0;o=0;Fb:{if((d|0)<0){break Fb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Fb}a=a<<3;d=J[a+f>>2];if(!d){break Fb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);Gb:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Gb}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;h=e<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?h+1|0:h;g=m>>>3|0;d=a+((m&7)<<29|d>>>3)|0;j=d>>>0>>0?g+1|0:g;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break pb}h=1;break v;case 7:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Hb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}Ib:{if((b|0)<=0){break Ib}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|4)>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];j=J[d+4>>2];h=h+1|0;j=h?j:j+1|0;J[d>>2]=h;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];h=J[c+4>>2];d=d+1|0;h=d?h:h+1|0;J[c>>2]=d;J[c+4>>2]=h;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ib}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;Jb:{if((a|0)<=0){break Jb}A=a&3;Kb:{if(a>>>0<4){a=0;break Kb}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=h;j=i+D|0;f=f+x|0;h=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?h+1|0:h)+q|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+v|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Jb}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Lb:{if(a>>>0>>0){Wa(l,g-a|0);break Lb}if(a>>>0<=g>>>0){break Lb}J[l+4>>2]=e+(g<<3)}k=0;Mb:{Nb:{Ob:{Pb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;Qb:{if(o<4294967296&o>=0){e=~~o>>>0;break Qb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break Pb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Rb:{if(!g){break Rb}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Rb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Sb:{Tb:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break Tb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}ac(s,p,t+24|0,e,0,0);break Sb}ac(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break Ob}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Ub:{Vb:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Wb:{if(R(w)<2147483648){i=~~w;break Wb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Vb}k=4096;break Ub}if((d|0)!=(e|0)){break Ub}a=1;break Ob}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Ob}a=0;if(k>>>0<4097){break Ob}while(1)continue}if((d|0)<0){break Mb}break Nb}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break Mb}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break Mb}a=0;o=0;Xb:{if((d|0)<0){break Xb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Xb}a=a<<3;d=J[a+f>>2];if(!d){break Xb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);Yb:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Yb}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;g=j>>>3|0;q=a>>>0>d>>>0?g+1|0:g;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break Hb}h=1;break v;case 8:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=ba+-64|0;ba=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;Zb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=oa(a);J[k+48>>2]=r;n=pa(r,0,(p<<3)+8|0)+a|0}_b:{if((b|0)<=0){break _b}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break _b}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=ba-32|0;ba=t;a=n-r>>3;$b:{if((a|0)<=0){break $b}A=a&3;ac:{if(a>>>0<4){a=0;break ac}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;v=g;q=i+D|0;f=f+x|0;g=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=f+v|0;g=(m>>>0>f>>>0?g+1|0:g)+u|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break $b}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;j=g+i|0;f=d+f|0;i=f>>>0>>0?j+1|0:j;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;bc:{if(a>>>0>>0){Wa(k,g-a|0);break bc}if(a>>>0<=g>>>0){break bc}J[k+4>>2]=d+(g<<3)}n=0;cc:{dc:{ec:{fc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*8192+.5;gc:{if(o<4294967296&o>=0){d=~~o>>>0;break gc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==8192){break fc}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;hc:{if(!g){break hc}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;d=0;f=pa(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break hc}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;ic:{jc:{if((a|0)>=513){a=d;while(1){f=oa(a<<2);if(f){break jc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}$b(s,p,t+24|0,d,0,0);break ic}$b(s,p,t+24|0,d,f,a);na(f)}if((n|0)<8192){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)- -8192;a=0;break ec}if((c|0)>0){h=J[k>>2];p=n+-8192|0;while(1){o=8192/+(n|0);d=c;while(1){kc:{lc:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));mc:{if(R(w)<2147483648){i=~~w;break mc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=8192){break lc}n=8192;break kc}if((c|0)!=(d|0)){break kc}a=1;break ec}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break ec}a=0;if(n>>>0<8193){break ec}while(1)continue}if((c|0)<0){break cc}break dc}d=J[t+8>>2];if(d){na(d)}if((c|0)<0|a){break cc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=8192){break cc}a=0;o=0;nc:{if((c|0)<0){break nc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.0001220703125)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.0001220703125)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break nc}a=a<<3;c=J[a+f>>2];if(!c){break nc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(c>>>0)*.0001220703125)+o}o=W(-o);oc:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break oc}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;Va(k,e)}ba=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;h=q>>>3|0;m=a>>>0>c>>>0?h+1|0:h;a=c+8|0;Ia(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=32768;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=32768;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<13)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=ba-32|0;ba=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-32768|0;pc:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break pc}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+49152>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break pc}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;f=b+8355840|0;H[d+2|0]=f>>>16;H[d+1|0]=f>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break pc}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1073774592|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=f>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break pc}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;xb(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ta(d+c|0,c,b);ua(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;Ia(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}ba=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;na(a)}a=J[k+48>>2];if(a){na(a)}ba=k- -64|0;break Zb}h=1;break v;case 9:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=ba+-64|0;ba=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;qc:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=oa(a);J[k+48>>2]=r;n=pa(r,0,(p<<3)+8|0)+a|0}rc:{if((b|0)<=0){break rc}a=0;if(b>>>0>=4){j=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=J[g>>2];m=J[g+4>>2];h=h+1|0;m=h?m:m+1|0;J[g>>2]=h;J[g+4>>2]=m;g=(J[l+(c|4)>>2]<<3)+r|0;m=J[g>>2];h=J[g+4>>2];m=m+1|0;h=m?h:h+1|0;J[g>>2]=m;J[g+4>>2]=h;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}d=b&3;if(!d){break rc}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;v=ba-32|0;ba=v;a=n-r>>3;sc:{if((a|0)<=0){break sc}x=a&3;tc:{if(a>>>0<4){a=0;break tc}A=a&-4;a=0;while(1){g=(a<<3)+r|0;t=J[g>>2];m=J[g+4>>2];E=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;D=(u<<3)+r|0;h=J[D>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|t?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[D+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;q=i+E|0;f=f+t|0;m=(f>>>0>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+u|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+n|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;d=d+4|0;if((A|0)!=(d|0)){continue}break}}if(!x){break sc}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;h=g+i|0;f=d+f|0;i=f>>>0>>0?h+1|0:h;p=p+1|0;if((x|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;uc:{if(a>>>0>>0){Wa(k,g-a|0);break uc}if(a>>>0<=g>>>0){break uc}J[k+4>>2]=d+(g<<3)}n=0;vc:{wc:{xc:{yc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*32768+.5;zc:{if(o<4294967296&o>=0){d=~~o>>>0;break zc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==32768){break yc}}J[v+16>>2]=0;J[v+8>>2]=0;J[v+12>>2]=0;p=0;Ac:{if(!g){break Ac}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[v+8>>2]=s;d=0;f=pa(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Ac}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[v+24>>2]=k;a=p-s|0;d=a>>2;Bc:{Cc:{if((a|0)>=513){a=d;while(1){f=oa(a<<2);if(f){break Cc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}_b(s,p,v+24|0,d,0,0);break Bc}_b(s,p,v+24|0,d,f,a);na(f)}if((n|0)<32768){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+32768;a=0;break xc}if((c|0)>0){h=J[k>>2];p=n-32768|0;while(1){o=32768/+(n|0);d=c;while(1){Dc:{Ec:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Fc:{if(R(w)<2147483648){i=~~w;break Fc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=32768){break Ec}n=32768;break Dc}if((c|0)!=(d|0)){break Dc}a=1;break xc}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break xc}a=0;if(n>>>0<32769){break xc}while(1)continue}if((c|0)<0){break vc}break wc}d=J[v+8>>2];if(d){na(d)}if((c|0)<0|a){break vc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=32768){break vc}a=0;o=0;Gc:{if((c|0)<0){break Gc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*30517578125e-15)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*30517578125e-15)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Gc}a=a<<3;c=J[a+f>>2];if(!c){break Gc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(c>>>0)*30517578125e-15)+o}o=W(-o);Hc:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Hc}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;Va(k,e)}ba=v+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;g=q>>>3|0;j=a>>>0>c>>>0?g+1|0:g;a=c+8|0;Ia(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=131072;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=131072;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<15)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=ba-32|0;ba=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-131072|0;Ic:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break Ic}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break Ic}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+8257536>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break Ic}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1073872896|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break Ic}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;xb(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ta(d+c|0,c,b);ua(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;Ia(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}ba=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;na(a)}a=J[k+48>>2];if(a){na(a)}ba=k- -64|0;break qc}h=1;break v;case 10:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=ba+-64|0;ba=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;Jc:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=oa(a);J[k+48>>2]=r;n=pa(r,0,(p<<3)+8|0)+a|0}Kc:{if((b|0)<=0){break Kc}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|4)>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break Kc}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=ba-32|0;ba=t;a=n-r>>3;Lc:{if((a|0)<=0){break Lc}A=a&3;Mc:{if(a>>>0<4){a=0;break Mc}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=j;v=q;q=i+D|0;f=f+x|0;j=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?j+1|0:j)+v|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+u|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break Lc}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;g=g+i|0;f=d+f|0;i=f>>>0>>0?g+1|0:g;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;Nc:{if(a>>>0>>0){Wa(k,g-a|0);break Nc}if(a>>>0<=g>>>0){break Nc}J[k+4>>2]=d+(g<<3)}n=0;Oc:{Pc:{Qc:{Rc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*65536+.5;Sc:{if(o<4294967296&o>=0){d=~~o>>>0;break Sc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==65536){break Rc}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Tc:{if(!g){break Tc}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;d=0;f=pa(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Tc}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;Uc:{Vc:{if((a|0)>=513){a=d;while(1){f=oa(a<<2);if(f){break Vc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Zb(s,p,t+24|0,d,0,0);break Uc}Zb(s,p,t+24|0,d,f,a);na(f)}if((n|0)<65536){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+65536;a=0;break Qc}if((c|0)>0){h=J[k>>2];p=n-65536|0;while(1){o=65536/+(n|0);d=c;while(1){Wc:{Xc:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Yc:{if(R(w)<2147483648){i=~~w;break Yc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=65536){break Xc}n=65536;break Wc}if((c|0)!=(d|0)){break Wc}a=1;break Qc}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break Qc}a=0;if(n>>>0<65537){break Qc}while(1)continue}if((c|0)<0){break Oc}break Pc}d=J[t+8>>2];if(d){na(d)}if((c|0)<0|a){break Oc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=65536){break Oc}a=0;o=0;Zc:{if((c|0)<0){break Zc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*152587890625e-16)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*152587890625e-16)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Zc}a=a<<3;c=J[a+f>>2];if(!c){break Zc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(c>>>0)*152587890625e-16)+o}o=W(-o);_c:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break _c}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;Va(k,e)}ba=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;m=q>>>3|0;h=a>>>0>c>>>0?m+1|0:m;a=c+8|0;Ia(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=262144;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=262144;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<16)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=ba-32|0;ba=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-262144|0;$c:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break $c}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break $c}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+8126464>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break $c}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1074003968|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break $c}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;xb(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ta(d+c|0,c,b);ua(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;Ia(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}ba=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;na(a)}a=J[k+48>>2];if(a){na(a)}ba=k- -64|0;break Jc}h=1;break v;case 11:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=ba+-64|0;ba=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;ad:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=oa(a);J[k+48>>2]=r;n=pa(r,0,(p<<3)+8|0)+a|0}bd:{if((b|0)<=0){break bd}a=0;if(b>>>0>=4){j=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;m=J[g>>2];h=J[g+4>>2];m=m+1|0;h=m?h:h+1|0;J[g>>2]=m;J[g+4>>2]=h;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];m=J[g+4>>2];h=h+1|0;m=h?m:m+1|0;J[g>>2]=h;J[g+4>>2]=m;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}d=b&3;if(!d){break bd}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=ba-32|0;ba=t;a=n-r>>3;cd:{if((a|0)<=0){break cd}A=a&3;dd:{if(a>>>0<4){a=0;break dd}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=j;j=h;v=q;q=i+D|0;f=f+x|0;h=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?h+1|0:h)+v|0;m=f;f=f+j|0;j=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+u|0;i=g>>>0>f>>>0?j+1|0:j;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break cd}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;m=g+i|0;f=d+f|0;i=f>>>0>>0?m+1|0:m;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;ed:{if(a>>>0>>0){Wa(k,g-a|0);break ed}if(a>>>0<=g>>>0){break ed}J[k+4>>2]=d+(g<<3)}n=0;fd:{gd:{hd:{id:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*262144+.5;jd:{if(o<4294967296&o>=0){d=~~o>>>0;break jd}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==262144){break id}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;kd:{if(!g){break kd}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;d=0;f=pa(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break kd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;ld:{md:{if((a|0)>=513){a=d;while(1){f=oa(a<<2);if(f){break md}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Yb(s,p,t+24|0,d,0,0);break ld}Yb(s,p,t+24|0,d,f,a);na(f)}if((n|0)<262144){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+262144;a=0;break hd}if((c|0)>0){h=J[k>>2];p=n-262144|0;while(1){o=262144/+(n|0);d=c;while(1){nd:{od:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));pd:{if(R(w)<2147483648){i=~~w;break pd}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=262144){break od}n=262144;break nd}if((c|0)!=(d|0)){break nd}a=1;break hd}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break hd}a=0;if(n>>>0<262145){break hd}while(1)continue}if((c|0)<0){break fd}break gd}d=J[t+8>>2];if(d){na(d)}if((c|0)<0|a){break fd}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=262144){break fd}a=0;o=0;qd:{if((c|0)<0){break qd}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*3814697265625e-18)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*3814697265625e-18)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break qd}a=a<<3;c=J[a+f>>2];if(!c){break qd}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(c>>>0)*3814697265625e-18)+o}o=W(-o);rd:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break rd}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;Va(k,e)}ba=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;j=q>>>3|0;g=a>>>0>c>>>0?j+1|0:j;a=c+8|0;Ia(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=1048576;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=1048576;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<18)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=ba-32|0;ba=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b+-1048576|0;sd:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break sd}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break sd}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+7340032>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break sd}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1074790400|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break sd}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;xb(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ta(d+c|0,c,b);ua(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;Ia(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}ba=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;na(a)}a=J[k+48>>2];if(a){na(a)}ba=k- -64|0;break ad}h=1;break v;case 12:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=ba+-64|0;ba=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;td:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=oa(a);J[k+48>>2]=r;n=pa(r,0,(p<<3)+8|0)+a|0}ud:{if((b|0)<=0){break ud}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break ud}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=ba-32|0;ba=t;a=n-r>>3;vd:{if((a|0)<=0){break vd}A=a&3;wd:{if(a>>>0<4){a=0;break wd}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;v=g;q=i+D|0;f=f+x|0;g=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=f+v|0;g=(m>>>0>f>>>0?g+1|0:g)+u|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break vd}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;j=g+i|0;f=d+f|0;i=f>>>0>>0?j+1|0:j;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;xd:{if(a>>>0>>0){Wa(k,g-a|0);break xd}if(a>>>0<=g>>>0){break xd}J[k+4>>2]=d+(g<<3)}n=0;yd:{zd:{Ad:{Bd:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*524288+.5;Cd:{if(o<4294967296&o>=0){d=~~o>>>0;break Cd}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==524288){break Bd}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Dd:{if(!g){break Dd}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;d=0;f=pa(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Dd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;Ed:{Fd:{if((a|0)>=513){a=d;while(1){f=oa(a<<2);if(f){break Fd}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Xb(s,p,t+24|0,d,0,0);break Ed}Xb(s,p,t+24|0,d,f,a);na(f)}if((n|0)<524288){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+524288;a=0;break Ad}if((c|0)>0){h=J[k>>2];p=n-524288|0;while(1){o=524288/+(n|0);d=c;while(1){Gd:{Hd:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Id:{if(R(w)<2147483648){i=~~w;break Id}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=524288){break Hd}n=524288;break Gd}if((c|0)!=(d|0)){break Gd}a=1;break Ad}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break Ad}a=0;if(n>>>0<524289){break Ad}while(1)continue}if((c|0)<0){break yd}break zd}d=J[t+8>>2];if(d){na(d)}if((c|0)<0|a){break yd}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=524288){break yd}a=0;o=0;Jd:{if((c|0)<0){break Jd}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*19073486328125e-19)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*19073486328125e-19)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Jd}a=a<<3;c=J[a+f>>2];if(!c){break Jd}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(c>>>0)*19073486328125e-19)+o}o=W(-o);Kd:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Kd}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;Va(k,e)}ba=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;h=q>>>3|0;m=a>>>0>c>>>0?h+1|0:h;a=c+8|0;Ia(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=2097152;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=2097152;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<19)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=ba-32|0;ba=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-2097152|0;Ld:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break Ld}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break Ld}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+6291456>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break Ld}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1075838976|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break Ld}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;xb(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ta(d+c|0,c,b);ua(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;Ia(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}ba=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;na(a)}a=J[k+48>>2];if(a){na(a)}ba=k- -64|0;break td}h=1;break v;case 13:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Md:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}Nd:{if((b|0)<=0){break Nd}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];q=J[d+4>>2];h=h+1|0;q=h?q:q+1|0;J[d>>2]=h;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];m=J[c+4>>2];d=d+1|0;m=d?m:m+1|0;J[c>>2]=d;J[c+4>>2]=m;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Nd}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;Od:{if((a|0)<=0){break Od}x=a&3;Pd:{if(a>>>0<4){a=0;break Pd}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;q=i+E|0;f=f+p|0;m=(f>>>0

>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+v|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break Od}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;h=g+i|0;f=e+f|0;i=f>>>0>>0?h+1|0:h;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Qd:{if(a>>>0>>0){Wa(l,g-a|0);break Qd}if(a>>>0<=g>>>0){break Qd}J[l+4>>2]=e+(g<<3)}k=0;Rd:{Sd:{Td:{Ud:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;Vd:{if(o<4294967296&o>=0){e=~~o>>>0;break Vd}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ud}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Wd:{if(!g){break Wd}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Wd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Xd:{Yd:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break Yd}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Wb(s,p,t+24|0,e,0,0);break Xd}Wb(s,p,t+24|0,e,f,a);na(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Td}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){Zd:{_d:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));$d:{if(R(w)<2147483648){i=~~w;break $d}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break _d}k=1048576;break Zd}if((d|0)!=(e|0)){break Zd}a=1;break Td}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Td}a=0;if(k>>>0<1048577){break Td}while(1)continue}if((d|0)<0){break Rd}break Sd}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break Rd}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break Rd}a=0;o=0;ae:{if((d|0)<0){break ae}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break ae}a=a<<3;d=J[a+f>>2];if(!d){break ae}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);be:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break be}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;g=q>>>3|0;j=a>>>0>d>>>0?g+1|0:g;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}rc(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break Md}h=1;break v;case 14:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;ce:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}de:{if((b|0)<=0){break de}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break de}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;ee:{if((a|0)<=0){break ee}A=a&3;fe:{if(a>>>0<4){a=0;break fe}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=g;j=i+D|0;f=f+x|0;g=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+q|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break ee}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0>>0?q+1|0:q;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ge:{if(a>>>0>>0){Wa(l,g-a|0);break ge}if(a>>>0<=g>>>0){break ge}J[l+4>>2]=e+(g<<3)}k=0;he:{ie:{je:{ke:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;le:{if(o<4294967296&o>=0){e=~~o>>>0;break le}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break ke}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;me:{if(!g){break me}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break me}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ne:{oe:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break oe}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Vb(s,p,t+24|0,e,0,0);break ne}Vb(s,p,t+24|0,e,f,a);na(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break je}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){pe:{qe:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));re:{if(R(w)<2147483648){i=~~w;break re}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break qe}k=1048576;break pe}if((d|0)!=(e|0)){break pe}a=1;break je}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break je}a=0;if(k>>>0<1048577){break je}while(1)continue}if((d|0)<0){break he}break ie}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break he}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break he}a=0;o=0;se:{if((d|0)<0){break se}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break se}a=a<<3;d=J[a+f>>2];if(!d){break se}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);te:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break te}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;m=j>>>3|0;h=a>>>0>d>>>0?m+1|0:m;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}rc(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break ce}h=1;break v;case 15:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;ue:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}ve:{if((b|0)<=0){break ve}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];g=J[d+4>>2];h=h+1|0;g=h?g:g+1|0;J[d>>2]=h;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];h=J[d+4>>2];g=g+1|0;h=g?h:h+1|0;J[d>>2]=g;J[d+4>>2]=h;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((m|0)!=(r|0)){continue}break}}d=b&3;if(!d){break ve}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;we:{if((a|0)<=0){break we}A=a&3;xe:{if(a>>>0<4){a=0;break xe}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;p=g;h=i+D|0;f=f+x|0;g=(f>>>0>>0?h+1|0:h)+m|0;m=f;f=f+p|0;m=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?m+1|0:m)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break we}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0>>0?j+1|0:j;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ye:{if(a>>>0>>0){Wa(l,g-a|0);break ye}if(a>>>0<=g>>>0){break ye}J[l+4>>2]=e+(g<<3)}k=0;ze:{Ae:{Be:{Ce:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;De:{if(o<4294967296&o>=0){e=~~o>>>0;break De}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ce}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Ee:{if(!g){break Ee}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Ee}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Fe:{Ge:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break Ge}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Ub(s,p,t+24|0,e,0,0);break Fe}Ub(s,p,t+24|0,e,f,a);na(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Be}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){He:{Ie:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Je:{if(R(w)<2147483648){i=~~w;break Je}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break Ie}k=1048576;break He}if((d|0)!=(e|0)){break He}a=1;break Be}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Be}a=0;if(k>>>0<1048577){break Be}while(1)continue}if((d|0)<0){break ze}break Ae}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break ze}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break ze}a=0;o=0;Ke:{if((d|0)<0){break Ke}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Ke}a=a<<3;d=J[a+f>>2];if(!d){break Ke}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);Le:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Le}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;m=e<<1|d>>>31;d=(d<<1)+39|0;h=m;h=d>>>0<39?h+1|0:h;g=h>>>3|0;d=a+((h&7)<<29|d>>>3)|0;q=d>>>0>>0?g+1|0:g;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}rc(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break ue}h=1;break v;case 16:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Me:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}Ne:{if((b|0)<=0){break Ne}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];q=J[d+4>>2];h=h+1|0;q=h?q:q+1|0;J[d>>2]=h;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];m=J[c+4>>2];d=d+1|0;m=d?m:m+1|0;J[c>>2]=d;J[c+4>>2]=m;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ne}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;Oe:{if((a|0)<=0){break Oe}x=a&3;Pe:{if(a>>>0<4){a=0;break Pe}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;q=i+E|0;f=f+p|0;m=(f>>>0

>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+v|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break Oe}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;h=g+i|0;f=e+f|0;i=f>>>0>>0?h+1|0:h;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Qe:{if(a>>>0>>0){Wa(l,g-a|0);break Qe}if(a>>>0<=g>>>0){break Qe}J[l+4>>2]=e+(g<<3)}k=0;Re:{Se:{Te:{Ue:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;Ve:{if(o<4294967296&o>=0){e=~~o>>>0;break Ve}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ue}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;We:{if(!g){break We}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break We}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Xe:{Ye:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break Ye}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Tb(s,p,t+24|0,e,0,0);break Xe}Tb(s,p,t+24|0,e,f,a);na(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Te}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){Ze:{_e:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));$e:{if(R(w)<2147483648){i=~~w;break $e}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break _e}k=1048576;break Ze}if((d|0)!=(e|0)){break Ze}a=1;break Te}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Te}a=0;if(k>>>0<1048577){break Te}while(1)continue}if((d|0)<0){break Re}break Se}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break Re}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break Re}a=0;o=0;af:{if((d|0)<0){break af}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break af}a=a<<3;d=J[a+f>>2];if(!d){break af}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);bf:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break bf}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;g=q>>>3|0;j=a>>>0>d>>>0?g+1|0:g;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}rc(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break Me}h=1;break v;case 17:break E;default:break v}}u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;cf:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}df:{if((b|0)<=0){break df}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break df}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;ef:{if((a|0)<=0){break ef}A=a&3;ff:{if(a>>>0<4){a=0;break ff}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=g;j=i+D|0;f=f+x|0;g=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+q|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break ef}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0>>0?q+1|0:q;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;gf:{if(a>>>0>>0){Wa(l,g-a|0);break gf}if(a>>>0<=g>>>0){break gf}J[l+4>>2]=e+(g<<3)}k=0;hf:{jf:{kf:{lf:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;mf:{if(o<4294967296&o>=0){e=~~o>>>0;break mf}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break lf}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;nf:{if(!g){break nf}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break nf}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;of:{pf:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break pf}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Sb(s,p,t+24|0,e,0,0);break of}Sb(s,p,t+24|0,e,f,a);na(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break kf}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){qf:{rf:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));sf:{if(R(w)<2147483648){i=~~w;break sf}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break rf}k=1048576;break qf}if((d|0)!=(e|0)){break qf}a=1;break kf}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break kf}a=0;if(k>>>0<1048577){break kf}while(1)continue}if((d|0)<0){break hf}break jf}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break hf}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break hf}a=0;o=0;tf:{if((d|0)<0){break tf}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break tf}a=a<<3;d=J[a+f>>2];if(!d){break tf}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);uf:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break uf}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;m=j>>>3|0;h=a>>>0>d>>>0?m+1|0:m;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}rc(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break cf}h=1}ba=G+32|0}if(!F){break b}J[C+36>>2]=F;na(F)}ba=C+48|0;return h}qa();B()}function Hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=Q(0),x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,T=0,U=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;d=ba-1680|0;ba=d;c=10-cb(J[J[a+28>>2]+48>>2])|0;c=(c|0)>=6?6:c;f=J[a+72>>2];H[d+1679|0]=(c&255)==6?(f|0)>15?5:c:c;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],d+1679|0,d+1680|0);f=J[a+72>>2]}y=J[J[J[a+28>>2]+4>>2]+80>>2];J[d+1668>>2]=0;J[d+1660>>2]=0;J[d+1664>>2]=0;J[d+1648>>2]=y;J[d+1652>>2]=f;J[d+1656>>2]=f<<2;a:{b:{c:{d:{g=P(f,y);if(g){if(g>>>0>=1073741824){break d}c=g<<2;h=oa(c);J[d+1660>>2]=h;k=c+h|0;J[d+1668>>2]=k;pa(h,0,c);J[d+1664>>2]=k}J[d+1672>>2]=h;k=J[a+4>>2];if((k|0)!=J[a+8>>2]){while(1){e=J[J[J[J[a+28>>2]+4>>2]+8>>2]+(J[(i<<2)+k>>2]<<2)>>2];c=J[e+28>>2];if(c-1>>>0>=6){if((c|0)!=9){break a}e=J[J[a+60>>2]+(p<<2)>>2];if(!e){break a}p=p+1|0;c=J[e+28>>2]}e:{f:{g:{switch(c-1|0){case 5:if(!y){break e}k=0;while(1){f=(J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],k)<<2)|0;h=J[J[e>>2]>>2];g=J[e+48>>2];c=Gl(J[e+40>>2],J[e+44>>2],K[e+84|0]?k:J[J[e+68>>2]+(k<<2)>>2],0);j=c;c=c+g|0;ua(f,c+h|0,K[e+24|0]<<2);k=k+1|0;if((y|0)!=(k|0)){continue}break};break e;case 0:case 2:case 4:c=K[e+24|0];h:{if(!c){g=0;h=0;break h}h=0;c=c<<2;g=oa(c);pa(g,0,c);c=K[e+24|0];if(!c){break h}c=c<<2;h=oa(c);pa(h,0,c)}if(y){f=0;while(1){$c(e,K[e+84|0]?f:J[J[e+68>>2]+(f<<2)>>2],H[e+24|0],g);j=K[e+24|0];i:{if(!j){break i}l=J[a+48>>2];k=0;if((j|0)!=1){n=j&254;c=0;while(1){r=k<<2;J[r+h>>2]=J[g+r>>2]-J[l+(k+q<<2)>>2];r=k|1;v=r<<2;J[v+h>>2]=J[g+v>>2]-J[l+(q+r<<2)>>2];k=k+2|0;c=c+2|0;if((n|0)!=(c|0)){continue}break}}if(!(j&1)){break i}c=k<<2;J[c+h>>2]=J[c+g>>2]-J[l+(k+q<<2)>>2]}ua((J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],f)<<2)|0,h,j<<2);f=f+1|0;if((y|0)!=(f|0)){continue}break}}c=K[e+24|0];if(h){na(h)}q=c+q|0;if(g){break f}break e;default:break g}}c=K[e+24|0];j:{if(!c){g=0;break j}c=c<<2;g=oa(c);pa(g,0,c)}if(y){k=0;while(1){c=K[e+84|0]?k:J[J[e+68>>2]+(k<<2)>>2];j=K[e+24|0];l=0;k:{if(!g){break k}l:{m:{switch(J[e+28>>2]-1|0){case 0:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Gl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=H[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 1:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Gl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=K[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 2:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Gl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=I[f>>1];f=f+2|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 3:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Gl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=L[f>>1];f=f+2|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 4:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Gl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=J[f>>2];f=f+4|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 5:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Gl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=J[f>>2];f=f+4|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 6:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Gl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;n=J[h+4>>2];while(1){if(f>>>0>=n>>>0){break k}c=J[f>>2];if(J[f+4>>2]){break k}J[(l<<2)+g>>2]=c;f=f+8|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 7:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Gl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;n=J[h+4>>2];while(1){if(f>>>0>=n>>>0){break k}c=J[f>>2];if(J[f+4>>2]){break k}J[(l<<2)+g>>2]=c;f=f+8|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 8:n:{o:{h=K[e+24|0];if(!(h>>>0>>0?h:j)){break o}f=J[e>>2];h=J[f>>2];l=J[e+48>>2];c=Gl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+l|0;l=c+h|0;n=J[f+4>>2];f=n-h|0;if(!K[e+32|0]){if((c|0)>=(f|0)){break n}f=0;while(1){w=N[l>>2];if(w>=Q(4294967296)|w=Q(0)){c=~~w>>>0}else{c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break o}l=l+4|0;if(n>>>0>l>>>0){continue}break}break n}if((c|0)>=(f|0)){break n}f=0;while(1){w=N[l>>2];if(w>=Q(4294967296)|wQ(1)){break n}m=(f<<2)+g|0;t=V(+w*4294967295+.5);p:{if(t<4294967296&t>=0){c=~~t>>>0;break p}c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break o}l=l+4|0;if(n>>>0>l>>>0){continue}break}break n}if(h>>>0>=j>>>0){break n}pa((h<<2)+g|0,0,j-h<<2)}break k;case 9:q:{r:{h=K[e+24|0];if(!(h>>>0>>0?h:j)){break r}f=J[e>>2];h=J[f>>2];l=J[e+48>>2];c=Gl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+l|0;l=c+h|0;n=J[f+4>>2];f=n-h|0;if(!K[e+32|0]){if((c|0)>=(f|0)){break q}f=0;while(1){t=O[l>>3];if(t>=4294967295|t<0|(R(t)==Infinity|t!=t)){break q}m=(f<<2)+g|0;if(t<4294967296&t>=0){c=~~t>>>0}else{c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break r}l=l+8|0;if(n>>>0>l>>>0){continue}break}break q}if((c|0)>=(f|0)){break q}f=0;while(1){t=O[l>>3];if(t>=4294967295|t<0|(R(t)==Infinity|t!=t)){break q}if(t>1){break q}m=(f<<2)+g|0;t=V(t*4294967295+.5);s:{if(t<4294967296&t>=0){c=~~t>>>0;break s}c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break r}l=l+8|0;if(n>>>0>l>>>0){continue}break}break q}if(h>>>0>=j>>>0){break q}pa((h<<2)+g|0,0,j-h<<2)}break k;case 10:break m;default:break k}}h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Gl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=K[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}if(h>>>0>=j>>>0){break k}pa((h<<2)+g|0,0,j-h<<2);break k}if(h>>>0>=j>>>0){break k}pa((h<<2)+g|0,0,j-h<<2)}ua((J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],k)<<2)|0,g,K[e+24|0]<<2);k=k+1|0;if((y|0)!=(k|0)){continue}break}}if(!g){break e}}na(g)}o=K[e+24|0]+o|0;i=i+1|0;k=J[a+4>>2];if(i>>>0>2]-k>>2>>>0){continue}break}f=J[a+72>>2];g=P(y,f);h=J[d+1672>>2]}k=0;if((g|0)<=0){break b}c=g&1;if((g|0)==1){g=0;break c}e=g&-2;g=0;a=0;while(1){j=g<<2;l=J[j+h>>2];if(l){l=S(l);k=(l^31)<(k|0)?k:32-l|0}j=J[(j|4)+h>>2];if(j){j=S(j);k=(j^31)<(k|0)?k:32-j|0}g=g+2|0;a=a+2|0;if((e|0)!=(a|0)){continue}break}break c}qa();B()}if(!c){break b}a=J[(g<<2)+h>>2];if(!a){break b}a=S(a);k=(a^31)<(k|0)?k:32-a|0}t:{u:{switch(K[d+1679|0]){case 6:p=Zc(d+456|0,f);a=J[d+1652>>2];J[d+448>>2]=a;J[d+432>>2]=a;J[d+32>>2]=a;J[d+16>>2]=a;J[d+440>>2]=0;J[d+424>>2]=J[d+1648>>2];a=d+1648|0;J[d+444>>2]=a;c=J[d+444>>2];J[d+24>>2]=J[d+440>>2];J[d+28>>2]=c;J[d+428>>2]=a;J[d+420>>2]=k;a=J[d+428>>2];J[d+8>>2]=J[d+424>>2];J[d+12>>2]=a;n=ba-32|0;ba=n;J[p>>2]=J[d+420>>2];a=J[d+8>>2]-J[d+24>>2]|0;J[p+4>>2]=a;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){a=p+4|0;sa(b,J[b+4>>2],p,a);c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],a,p+8|0)}a=J[a>>2]}if(a){W=p+12|0;te(W);X=p+1068|0;a=X;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];Y=p+1088|0;a=Y;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];Z=p+1108|0;a=Z;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];J[n+24>>2]=J[d+32>>2];a=J[d+28>>2];J[n+16>>2]=J[d+24>>2];J[n+20>>2]=a;J[n+8>>2]=J[d+16>>2];a=J[d+12>>2];J[n>>2]=J[d+8>>2];J[n+4>>2]=a;c=0;g=0;i=ba+-64|0;ba=i;e=J[p+8>>2];J[i+48>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;v:{w:{if(e){if(e>>>0>=1073741824){break w}a=e<<2;c=oa(a);J[i+40>>2]=c;g=a+c|0;J[i+48>>2]=g;pa(c,0,a);J[i+44>>2]=g}a=J[p+1164>>2];k=J[a>>2];if(k){J[a+4>>2]=k;na(k);e=J[p+8>>2];g=J[i+44>>2];c=J[i+40>>2]}J[a+4>>2]=g;J[a>>2]=c;J[a+8>>2]=J[i+48>>2];c=0;J[i+48>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;a=0;x:{if(e){if(e>>>0>=1073741824){break x}k=e<<2;a=oa(k);J[i+40>>2]=a;c=a+k|0;J[i+48>>2]=c;pa(a,0,k);J[i+44>>2]=c}k=J[p+1176>>2];f=J[k>>2];if(f){J[k+4>>2]=f;na(f);c=J[i+44>>2];a=J[i+40>>2]}J[k+4>>2]=c;J[k>>2]=a;J[k+8>>2]=J[i+48>>2];h=J[n+20>>2];l=J[n+24>>2];f=J[n+4>>2];y=J[n+8>>2];c=J[n>>2];k=J[n+16>>2];J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;fb(i+40|0);a=J[i+56>>2]+J[i+60>>2]|0;e=(a>>>0)/113|0;a=J[J[i+44>>2]+(e<<2)>>2]+P(a-P(e,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=c-k;J[a+24>>2]=0;J[a+16>>2]=f;J[a+20>>2]=y;J[a+12>>2]=c;J[a+4>>2]=h;J[a+8>>2]=l;J[a>>2]=k;e=J[i+60>>2]+1|0;J[i+60>>2]=e;if(e){a=l;aa=a&-4;_=a&3;ca=p+1068|0;$=p+12|0;da=p+1108|0;ea=a>>>0<4;while(1){a=J[i+44>>2];g=J[i+56>>2];o=e-1|0;c=g+o|0;k=(c>>>0)/113|0;c=J[a+(k<<2)>>2]+P(c-P(k,113)|0,36)|0;T=J[c+32>>2];j=J[c+12>>2];k=J[c>>2];J[i+60>>2]=o;c=J[i+48>>2];if((((a|0)!=(c|0)?P(c-a>>2,113)-1|0:0)-(e+g|0)|0)+1>>>0>=226){na(J[c-4>>2]);J[i+48>>2]=J[i+48>>2]-4}J[n+16>>2]=k;J[n>>2]=j;a=J[p+1164>>2];c=J[p+1176>>2];J[i+32>>2]=J[n+24>>2];e=J[n+20>>2];J[i+24>>2]=J[n+16>>2];J[i+28>>2]=e;J[i+16>>2]=J[n+8>>2];e=J[n+4>>2];J[i+8>>2]=J[n>>2];J[i+12>>2]=e;U=P(T,12);v=a+U|0;q=v;D=c+U|0;a=D;e=0;g=J[p+8>>2];y:{z:{A:{B:{s=J[i+8>>2];o=J[i+24>>2];u=s-o|0;if(u>>>0>=64){if(!g){break z}E=J[p+1140>>2];F=J[a>>2];G=J[p+1128>>2];if((o|0)!=(s|0)){break B}g=0;while(1){a=g<<2;c=a+G|0;J[c>>2]=0;q=a+E|0;e=J[p>>2];a=J[a+F>>2];J[q>>2]=e-a;if((a|0)!=(e|0)){q=c;a=J[c>>2];c=u-a|0;J[q>>2]=a>>>0>>0?c:a}c=J[p+8>>2];g=g+1|0;if(c>>>0>g>>>0){continue}break}break A}if(g>>>0<2){break y}o=g-1|0;q=o&3;c=J[a>>2];a=0;C:{if(g-2>>>0<3){g=1;break C}r=o&-4;g=1;o=0;while(1){s=g+3|0;u=g+2|0;x=g+1|0;e=M[c+(e<<2)>>2]>M[c+(g<<2)>>2]?g:e;e=M[c+(e<<2)>>2]>M[c+(x<<2)>>2]?x:e;e=M[c+(e<<2)>>2]>M[c+(u<<2)>>2]?u:e;e=M[c+(e<<2)>>2]>M[c+(s<<2)>>2]?s:e;g=g+4|0;o=o+4|0;if((r|0)!=(o|0)){continue}break}}if(!q){break y}while(1){e=M[c+(e<<2)>>2]>M[c+(g<<2)>>2]?g:e;g=g+1|0;a=a+1|0;if((q|0)!=(a|0)){continue}break}break y}z=J[i+28>>2];C=J[q>>2];fa=u&1;q=o+1|0;ga=(q|0)!=(s|0);m=J[i+32>>2];ha=P(m,o)<<2;while(1){a=e<<2;r=a+G|0;J[r>>2]=0;c=J[p>>2];g=J[a+F>>2];x=c-g|0;J[a+E>>2]=x;if((c|0)!=(g|0)){x=J[a+C>>2]+(1<>2]|0;c=J[r>>2];if(fa){c=(x>>>0>M[A+ha>>2])+c|0;J[r>>2]=c;a=q}else{a=o}g=a;if(ga){while(1){a=(x>>>0>M[A+(P(g,m)<<2)>>2])+c|0;J[r>>2]=a;c=a+(x>>>0>M[A+(P(m,g+1|0)<<2)>>2])|0;J[r>>2]=c;g=g+2|0;if((s|0)!=(g|0)){continue}break}}a=u-c|0;J[r>>2]=a>>>0>c>>>0?a:c}c=J[p+8>>2];e=e+1|0;if(c>>>0>e>>>0){continue}break}}if(!c){e=0;break z}u=c&1;q=J[p+1128>>2];r=J[p+1140>>2];D:{if((c|0)==1){g=0;c=0;e=0;break D}x=c&-2;g=0;c=0;e=0;o=0;while(1){a=g<<2;E:{if(!J[a+r>>2]){a=c;break E}s=J[a+q>>2];a=c>>>0>s>>>0?c:s;e=c>>>0>>0?g:e}A=g|1;c=A<<2;F:{if(!J[c+r>>2]){c=a;break F}s=J[c+q>>2];c=a>>>0>s>>>0?a:s;e=a>>>0>>0?A:e}g=g+2|0;o=o+2|0;if((x|0)!=(o|0)){continue}break}}if(!u){break z}a=g<<2;if(!J[a+r>>2]){break z}e=M[a+q>>2]>c>>>0?g:e}Ib(p+1088|0,4,e)}c=J[p>>2];q=e<<2;g=J[q+J[D>>2]>>2];G:{H:{if((c|0)==(g|0)){break H}I:{J:{x=j-k|0;if(x>>>0<=2){g=J[p+1152>>2];J[g>>2]=e;c=1;a=J[p+8>>2];if(a>>>0>1){break J}break I}a=J[p+1164>>2];F=T+1|0;A=P(F,12);o=a+A|0;if((o|0)!=(v|0)){bb(o,J[v>>2],J[v+4>>2]);a=J[p+1164>>2]}a=q+J[a+A>>2]|0;r=J[a>>2]+(1<>2]=r;a=k;K:{if((j|0)==(a|0)){break K}G=J[h+24>>2];D=G+q|0;a=j;c=k;if(!l){if(r>>>0>M[D>>2]){break K}while(1){a=a-1|0;if((c|0)==(a|0)){a=c;break K}if(r>>>0<=M[(q+J[f+24>>2]|0)+(P(a,y)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(a|0)){continue}break}break K}while(1){g=P(c,l)<<2;if(r>>>0>M[g+D>>2]){c=c+1|0;if((c|0)!=(a|0)){continue}break K}while(1){a=a-1|0;if((c|0)==(a|0)){a=c;break K}v=J[f+24>>2]+(P(a,y)<<2)|0;if(r>>>0<=M[v+q>>2]){continue}break}s=g+G|0;E=0;g=0;o=0;if(!ea){while(1){u=g<<2;m=u+s|0;z=J[m>>2];C=m;m=v+u|0;J[C>>2]=J[m>>2];J[m>>2]=z;m=u|4;z=m+s|0;C=J[z>>2];m=v+m|0;J[z>>2]=J[m>>2];J[m>>2]=C;m=u|8;z=m+s|0;C=J[z>>2];m=v+m|0;J[z>>2]=J[m>>2];J[m>>2]=C;u=u|12;m=u+s|0;z=J[m>>2];u=v+u|0;J[m>>2]=J[u>>2];J[u>>2]=z;g=g+4|0;o=o+4|0;if((aa|0)!=(o|0)){continue}break}}if(_){while(1){o=g<<2;u=o+s|0;m=J[u>>2];o=o+v|0;J[u>>2]=J[o>>2];J[o>>2]=m;g=g+1|0;E=E+1|0;if((_|0)!=(E|0)){continue}break}}c=c+1|0;if((c|0)!=(a|0)){continue}break}}o=a-k|0;r=j-a|0;if((o|0)!=(r|0)){xc(da,o>>>0>>0)}c=S(x);v=c^31;g=x>>>1|0;L:{if(o>>>0>>0){if(!v){break L}s=g-o|0;c=1<<30-c;g=0;while(1){Ca((g<<5)+$|0,(c&s)!=0);c=c>>>1|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}break L}if(!v){break L}s=g-r|0;c=1<<30-c;g=0;while(1){Ca((g<<5)+$|0,(c&s)!=0);c=c>>>1|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}m=q;c=J[p+1176>>2];g=c+U|0;q=J[g>>2];v=m+q|0;J[v>>2]=J[v>>2]+1;bb(c+A|0,q,J[g+4>>2]);if((a|0)!=(k|0)){g=J[i+60>>2]+J[i+56>>2]|0;q=J[i+48>>2];c=J[i+44>>2];if((g|0)==(((c|0)!=(q|0)?P(q-c>>2,113)-1|0:0)|0)){fb(i+40|0);g=J[i+56>>2]+J[i+60>>2]|0;q=J[i+44>>2]}else{q=c}c=(g>>>0)/113|0;c=J[q+(c<<2)>>2]+P(g-P(c,113)|0,36)|0;J[c+32>>2]=T;J[c+28>>2]=o;J[c+24>>2]=e;J[c+16>>2]=h;J[c+12>>2]=a;J[c+4>>2]=h;J[c+8>>2]=l;J[c>>2]=k;J[c+20>>2]=l;J[i+60>>2]=J[i+60>>2]+1}if((a|0)==(j|0)){break H}g=J[i+60>>2]+J[i+56>>2]|0;k=J[i+48>>2];c=J[i+44>>2];if((g|0)==(((c|0)!=(k|0)?P(k-c>>2,113)-1|0:0)|0)){fb(i+40|0);g=J[i+56>>2]+J[i+60>>2]|0;q=J[i+44>>2]}else{q=c}c=(g>>>0)/113|0;c=J[q+(c<<2)>>2]+P(g-P(c,113)|0,36)|0;J[c+32>>2]=F;J[c+28>>2]=r;J[c+24>>2]=e;J[c+16>>2]=f;J[c+20>>2]=y;J[c+12>>2]=j;J[c+4>>2]=h;J[c>>2]=a;J[c+8>>2]=l;e=J[i+60>>2]+1|0;J[i+60>>2]=e;break G}while(1){e=(a-1|0)!=(e|0)?e+1|0:0;J[g+(c<<2)>>2]=e;a=J[p+8>>2];c=c+1|0;if(a>>>0>c>>>0){continue}break}}g=0;c=a;if((j|0)==(k|0)){break H}while(1){M:{if(!c){c=0;break M}j=J[h+24>>2]+(P(J[h+4>>2],g+k|0)<<2)|0;e=0;while(1){c=J[p>>2];o=J[J[p+1152>>2]+(e<<2)>>2]<<2;q=J[o+J[D>>2]>>2];if((c|0)!=(q|0)){Ib(ca,c-q|0,J[j+o>>2]);a=J[p+8>>2]}c=a;e=e+1|0;if(c>>>0>e>>>0){continue}break}}g=g+1|0;if((x|0)!=(g|0)){continue}break}}e=J[i+60>>2]}if(e){continue}break}}J[i+60>>2]=0;f=J[i+48>>2];e=J[i+44>>2];a=f-e|0;if(a>>>0>=9){while(1){na(J[e>>2]);e=J[i+44>>2]+4|0;J[i+44>>2]=e;f=J[i+48>>2];a=f-e|0;if(a>>>0>8){continue}break}}c=56;N:{switch((a>>>2|0)-1|0){case 1:c=113;case 0:J[i+56>>2]=c;break;default:break N}}O:{if((e|0)==(f|0)){break O}while(1){na(J[e>>2]);e=e+4|0;if((f|0)!=(e|0)){continue}break}a=J[i+48>>2];c=J[i+44>>2];if((a|0)==(c|0)){break O}J[i+48>>2]=a+((c-a|0)+3&-4)}a=J[i+40>>2];if(a){na(a)}ba=i- -64|0;break v}qa();B()}qa();B()}se(W,b);eb(X,b);eb(Y,b);eb(Z,b)}ba=n+32|0;_c(p);break t;case 5:c=Zc(d+456|0,f);a=J[d+1652>>2];J[d+416>>2]=a;J[d+400>>2]=a;J[d- -64>>2]=a;J[d+48>>2]=a;J[d+408>>2]=0;J[d+392>>2]=J[d+1648>>2];a=d+1648|0;J[d+412>>2]=a;f=J[d+412>>2];J[d+56>>2]=J[d+408>>2];J[d+60>>2]=f;J[d+396>>2]=a;J[d+420>>2]=k;a=J[d+396>>2];J[d+40>>2]=J[d+392>>2];J[d+44>>2]=a;a=Ae(c,d+56|0,d+40|0,d+420|0,b);_c(c);if(a){break t}break a;case 4:c=Zc(d+456|0,f);a=J[d+1652>>2];J[d+384>>2]=a;J[d+368>>2]=a;J[d+96>>2]=a;J[d+80>>2]=a;J[d+376>>2]=0;J[d+360>>2]=J[d+1648>>2];a=d+1648|0;J[d+380>>2]=a;f=J[d+380>>2];J[d+88>>2]=J[d+376>>2];J[d+92>>2]=f;J[d+364>>2]=a;J[d+420>>2]=k;a=J[d+364>>2];J[d+72>>2]=J[d+360>>2];J[d+76>>2]=a;a=Ae(c,d+88|0,d+72|0,d+420|0,b);_c(c);if(a){break t}break a;case 3:c=ze(d+456|0,f);a=J[d+1652>>2];J[d+352>>2]=a;J[d+336>>2]=a;J[d+128>>2]=a;J[d+112>>2]=a;J[d+344>>2]=0;J[d+328>>2]=J[d+1648>>2];a=d+1648|0;J[d+348>>2]=a;f=J[d+348>>2];J[d+120>>2]=J[d+344>>2];J[d+124>>2]=f;J[d+332>>2]=a;J[d+420>>2]=k;a=J[d+332>>2];J[d+104>>2]=J[d+328>>2];J[d+108>>2]=a;a=ye(c,d+120|0,d+104|0,d+420|0,b);xe(c);if(a){break t}break a;case 2:c=ze(d+456|0,f);a=J[d+1652>>2];J[d+320>>2]=a;J[d+304>>2]=a;J[d+160>>2]=a;J[d+144>>2]=a;J[d+312>>2]=0;J[d+296>>2]=J[d+1648>>2];a=d+1648|0;J[d+316>>2]=a;f=J[d+316>>2];J[d+152>>2]=J[d+312>>2];J[d+156>>2]=f;J[d+300>>2]=a;J[d+420>>2]=k;a=J[d+300>>2];J[d+136>>2]=J[d+296>>2];J[d+140>>2]=a;a=ye(c,d+152|0,d+136|0,d+420|0,b);xe(c);if(a){break t}break a;case 1:c=we(d+456|0,f);a=J[d+1652>>2];J[d+288>>2]=a;J[d+272>>2]=a;J[d+192>>2]=a;J[d+176>>2]=a;J[d+280>>2]=0;J[d+264>>2]=J[d+1648>>2];a=d+1648|0;J[d+284>>2]=a;f=J[d+284>>2];J[d+184>>2]=J[d+280>>2];J[d+188>>2]=f;J[d+268>>2]=a;J[d+420>>2]=k;a=J[d+268>>2];J[d+168>>2]=J[d+264>>2];J[d+172>>2]=a;a=ve(c,d+184|0,d+168|0,d+420|0,b);ue(c);if(a){break t}break a;case 0:break u;default:break a}}c=we(d+456|0,f);a=J[d+1652>>2];J[d+256>>2]=a;J[d+240>>2]=a;J[d+224>>2]=a;J[d+208>>2]=a;J[d+248>>2]=0;J[d+232>>2]=J[d+1648>>2];a=d+1648|0;J[d+252>>2]=a;f=J[d+252>>2];J[d+216>>2]=J[d+248>>2];J[d+220>>2]=f;J[d+236>>2]=a;J[d+420>>2]=k;a=J[d+236>>2];J[d+200>>2]=J[d+232>>2];J[d+204>>2]=a;a=ve(c,d+216|0,d+200|0,d+420|0,b);ue(c);if(!a){break a}}s=1}a=J[d+1660>>2];if(a){J[d+1664>>2]=a;na(a)}ba=d+1680|0;return s|0}function Xe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0;w=ba-160|0;ba=w;J[w+60>>2]=b;J[w+20>>2]=b;J[w+24>>2]=-1;h=w+16|0;J[h+112>>2]=0;J[h+116>>2]=0;n=J[h+44>>2]-J[h+4>>2]|0;J[h+120>>2]=n;J[h+124>>2]=n>>31;J[h+104>>2]=J[h+8>>2];s=ba-48|0;ba=s;if(d>>>0<=2){a:{d=d<<2;D=J[d+17292>>2];E=J[d+17280>>2];while(1){d=J[h+4>>2];b:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break b}d=La(h)}if((d|0)==32|d-9>>>0<5){continue}break}n=1;c:{d:{switch(d-43|0){case 0:case 2:break d;default:break c}}n=(d|0)==45?-1:1;d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break c}d=La(h)}e:{f:{while(1){if(H[g+1154|0]==(d|32)){g:{if(g>>>0>6){break g}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break g}d=La(h)}g=g+1|0;if((g|0)!=8){continue}break f}break}if((g|0)!=3){if((g|0)==8){break f}if(g>>>0<4){break e}if((g|0)==8){break f}}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(g>>>0<4){break f}d=(d|0)<0;while(1){if(!d){J[h+4>>2]=J[h+4>>2]-1}g=g-1|0;if(g>>>0>3){continue}break}}m=ba-16|0;ba=m;r=(C(Q(Q(n|0)*Q(Infinity))),v(2));d=r&2147483647;h:{if(d-8388608>>>0<=2130706431){l=(d>>>7|0)+1065353216|0;j=d<<25;break h}l=r>>>7|2147418112;j=r<<25;if(d>>>0>=2139095040){break h}l=0;j=0;if(!d){break h}g=d;d=S(d);Pa(m,g,0,0,0,d+81|0);i=J[m>>2];k=J[m+4>>2];l=J[m+12>>2]^65536|16265-d<<16;j=J[m+8>>2]}J[s>>2]=i;J[s+4>>2]=k;J[s+8>>2]=j;J[s+12>>2]=r&-2147483648|l;ba=m+16|0;i=J[s+8>>2];k=J[s+12>>2];j=J[s>>2];m=J[s+4>>2];break a}i:{j:{k:{if(g){break k}g=0;while(1){if(H[g+1434|0]!=(d|32)){break k}l:{if(g>>>0>1){break l}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break l}d=La(h)}g=g+1|0;if((g|0)!=3){continue}break}break j}m:{switch(g|0){case 0:n:{if((d|0)!=48){break n}g=J[h+4>>2];o:{if((g|0)!=J[h+104>>2]){J[h+4>>2]=g+1;g=K[g|0];break o}g=La(h)}if((g&-33)==88){f=ba-432|0;ba=f;d=J[h+4>>2];p:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0];break p}g=La(h)}q:{r:{while(1){if((g|0)!=48){s:{if((g|0)!=46){break q}d=J[h+4>>2];if((d|0)==J[h+104>>2]){break s}J[h+4>>2]=d+1;g=K[d|0];break r}}else{d=J[h+4>>2];if((d|0)!=J[h+104>>2]){x=1;J[h+4>>2]=d+1;g=K[d|0]}else{x=1;g=La(h)}continue}break}g=La(h)}e=1;if((g|0)!=48){break q}while(1){d=r;r=d-1|0;t=t-!d|0;d=J[h+4>>2];t:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0];break t}g=La(h)}if((g|0)==48){continue}break}x=1}m=1073676288;while(1){u:{d=g|32;v:{w:{F=g-48|0;if(F>>>0<10){break w}if((g|0)!=46&d-97>>>0>=6){break u}if((g|0)!=46){break w}if(e){break u}e=1;r=i;t=k;break v}d=(g|0)>57?d-87|0:F;x:{if((k|0)<=0&i>>>0<=7|(k|0)<0){p=d+(p<<4)|0;break x}if(!k&i>>>0<=28){$a(f+48|0,d);Ea(f+32|0,A,B,j,m,0,0,0,1073414144);A=J[f+32>>2];B=J[f+36>>2];j=J[f+40>>2];m=J[f+44>>2];Ea(f+16|0,J[f+48>>2],J[f+52>>2],J[f+56>>2],J[f+60>>2],A,B,j,m);_a(f,J[f+16>>2],J[f+20>>2],J[f+24>>2],J[f+28>>2],l,o,y,z);y=J[f+8>>2];z=J[f+12>>2];l=J[f>>2];o=J[f+4>>2];break x}if(G|!d){break x}Ea(f+80|0,A,B,j,m,0,0,0,1073610752);_a(f- -64|0,J[f+80>>2],J[f+84>>2],J[f+88>>2],J[f+92>>2],l,o,y,z);y=J[f+72>>2];z=J[f+76>>2];G=1;l=J[f+64>>2];o=J[f+68>>2]}i=i+1|0;k=i?k:k+1|0;x=1}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0]}else{g=La(h)}continue}break}y:{if(!x){d=J[h+116>>2];if((d|0)>0|(d|0)>=0){z:{d=J[h+4>>2];J[h+4>>2]=d-1;J[h+4>>2]=d-2;if(!e){break z}J[h+4>>2]=d-3}}qb(f+96|0,+(n|0)*0);l=J[f+96>>2];o=J[f+100>>2];i=J[f+108>>2];d=J[f+104>>2];break y}if((k|0)<=0&i>>>0<=7|(k|0)<0){j=i;m=k;while(1){p=p<<4;j=j+1|0;m=j?m:m+1|0;if((j|0)!=8|m){continue}break}}A:{B:{C:{if((g&-33)==80){j=Ye(h);d=ca;m=d;if(j|(d|0)!=-2147483648){break A}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){break C}break B}j=0;m=0;if(J[h+116>>2]<0){break A}}J[h+4>>2]=J[h+4>>2]-1}j=0;m=0}if(!p){qb(f+112|0,+(n|0)*0);l=J[f+112>>2];o=J[f+116>>2];i=J[f+124>>2];d=J[f+120>>2];break y}d=e?r:i;k=(e?t:k)<<2|d>>>30;d=j+(d<<2)|0;g=k+m|0;g=d>>>0>>0?g+1|0:g;i=d-32|0;k=g-(d>>>0<32)|0;d=k;if(i>>>0>0-D>>>0&(d|0)>=0|(d|0)>0){J[4804]=68;$a(f+160|0,n);Ea(f+144|0,J[f+160>>2],J[f+164>>2],J[f+168>>2],J[f+172>>2],-1,-1,-1,2147418111);Ea(f+128|0,J[f+144>>2],J[f+148>>2],J[f+152>>2],J[f+156>>2],-1,-1,-1,2147418111);l=J[f+128>>2];o=J[f+132>>2];i=J[f+140>>2];d=J[f+136>>2];break y}d=D-226|0;j=d>>31;if((k|0)>=(j|0)&d>>>0<=i>>>0|(j|0)<(k|0)){if((p|0)>=0){while(1){_a(f+416|0,l,o,y,z,0,0,0,-1073807360);d=Oe(l,o,y,z,1073610752);j=(d|0)>=0;d=j;_a(f+400|0,l,o,y,z,d?J[f+416>>2]:l,d?J[f+420>>2]:o,d?J[f+424>>2]:y,d?J[f+428>>2]:z);d=i;i=d-1|0;k=k-!d|0;y=J[f+408>>2];z=J[f+412>>2];l=J[f+400>>2];o=J[f+404>>2];p=j|p<<1;if((p|0)>=0){continue}break}}g=k-((D>>31)+(i>>>0>>0)|0)|0;d=(i-D|0)+32|0;g=d>>>0<32?g+1|0:g;j=d>>>0>>0&(g|0)<=0|(g|0)<0?(d|0)>0?d:0:E;D:{if((j|0)>=113){$a(f+384|0,n);r=J[f+392>>2];t=J[f+396>>2];A=J[f+384>>2];B=J[f+388>>2];g=0;d=0;break D}qb(f+352|0,pd(144-j|0));$a(f+336|0,n);A=J[f+336>>2];B=J[f+340>>2];r=J[f+344>>2];t=J[f+348>>2];$e(f+368|0,J[f+352>>2],J[f+356>>2],J[f+360>>2],J[f+364>>2],A,B,r,t);q=J[f+376>>2];u=J[f+380>>2];g=J[f+372>>2];d=J[f+368>>2]}k=!(p&1)&((Hb(l,o,y,z,0,0,0,0)|0)!=0&(j|0)<32);Lb(f+320|0,k+p|0);Ea(f+304|0,A,B,r,t,J[f+320>>2],J[f+324>>2],J[f+328>>2],J[f+332>>2]);j=d;_a(f+272|0,J[f+304>>2],J[f+308>>2],J[f+312>>2],J[f+316>>2],d,g,q,u);d=k;Ea(f+288|0,A,B,r,t,d?0:l,d?0:o,d?0:y,d?0:z);_a(f+256|0,J[f+288>>2],J[f+292>>2],J[f+296>>2],J[f+300>>2],J[f+272>>2],J[f+276>>2],J[f+280>>2],J[f+284>>2]);od(f+240|0,J[f+256>>2],J[f+260>>2],J[f+264>>2],J[f+268>>2],j,g,q,u);d=J[f+240>>2];l=J[f+244>>2];j=J[f+248>>2];r=J[f+252>>2];if(!Hb(d,l,j,r,0,0,0,0)){J[4804]=68}_e(f+224|0,d,l,j,r,i);l=J[f+224>>2];o=J[f+228>>2];i=J[f+236>>2];d=J[f+232>>2];break y}J[4804]=68;$a(f+208|0,n);Ea(f+192|0,J[f+208>>2],J[f+212>>2],J[f+216>>2],J[f+220>>2],0,0,0,65536);Ea(f+176|0,J[f+192>>2],J[f+196>>2],J[f+200>>2],J[f+204>>2],0,0,0,65536);l=J[f+176>>2];o=J[f+180>>2];i=J[f+188>>2];d=J[f+184>>2]}J[s+16>>2]=l;J[s+20>>2]=o;J[s+24>>2]=d;J[s+28>>2]=i;ba=f+432|0;i=J[s+24>>2];k=J[s+28>>2];j=J[s+16>>2];m=J[s+20>>2];break a}if(J[h+116>>2]<0){break n}J[h+4>>2]=J[h+4>>2]-1}g=h;f=n;h=0;e=ba-8976|0;ba=e;G=0-D|0;F=G-E|0;E:{F:{while(1){if((d|0)!=48){G:{if((d|0)!=46){break E}d=J[g+4>>2];if((d|0)==J[g+104>>2]){break G}J[g+4>>2]=d+1;d=K[d|0];break F}}else{d=J[g+4>>2];if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0]}else{d=La(g)}h=1;continue}break}d=La(g)}q=1;if((d|0)!=48){break E}while(1){d=i;i=d-1|0;k=k-!d|0;d=J[g+4>>2];H:{if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0];break H}d=La(g)}if((d|0)==48){continue}break}h=1}J[e+784>>2]=0;I:{J:{n=(d|0)==46;l=d-48|0;K:{L:{if(n|l>>>0<=9){while(1){M:{if(n&1){if(!q){i=j;k=m;q=1;break M}n=!h;break L}j=j+1|0;m=j?m:m+1|0;if((p|0)<=2044){x=(d|0)==48?x:j;n=(e+784|0)+(p<<2)|0;if(u){l=(P(J[n>>2],10)+d|0)-48|0}J[n>>2]=l;h=1;l=u+1|0;d=(l|0)==9;u=d?0:l;p=d+p|0;break M}if((d|0)==48){break M}J[e+8960>>2]=J[e+8960>>2]|1;x=18396}d=J[g+4>>2];N:{if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0];break N}d=La(g)}n=(d|0)==46;l=d-48|0;if(n|l>>>0<10){continue}break}}i=q?i:j;k=q?k:m;if(!(!h|(d&-33)!=69)){l=Ye(g);d=ca;o=d;O:{if(l|(d|0)!=-2147483648){break O}l=0;o=0;if(J[g+116>>2]<0){break O}J[g+4>>2]=J[g+4>>2]-1}k=k+o|0;i=i+l|0;k=i>>>0>>0?k+1|0:k;break J}n=!h;if((d|0)<0){break K}}if(J[g+116>>2]<0){break K}J[g+4>>2]=J[g+4>>2]-1}if(!n){break J}J[4804]=28;j=0;m=0;J[g+112>>2]=0;J[g+116>>2]=0;d=J[g+44>>2]-J[g+4>>2]|0;J[g+120>>2]=d;J[g+124>>2]=d>>31;J[g+104>>2]=J[g+8>>2];i=0;d=0;break I}d=J[e+784>>2];if(!d){qb(e,+(f|0)*0);j=J[e>>2];m=J[e+4>>2];i=J[e+12>>2];d=J[e+8>>2];break I}if(!(j>>>0>9&(m|0)>=0|(m|0)>0|((i|0)!=(j|0)|(k|0)!=(m|0))|(d>>>E|0?(E|0)<=30:0))){$a(e+48|0,f);Lb(e+32|0,d);Ea(e+16|0,J[e+48>>2],J[e+52>>2],J[e+56>>2],J[e+60>>2],J[e+32>>2],J[e+36>>2],J[e+40>>2],J[e+44>>2]);j=J[e+16>>2];m=J[e+20>>2];i=J[e+28>>2];d=J[e+24>>2];break I}if(i>>>0>G>>>1>>>0&(k|0)>=0|(k|0)>0){J[4804]=68;$a(e+96|0,f);Ea(e+80|0,J[e+96>>2],J[e+100>>2],J[e+104>>2],J[e+108>>2],-1,-1,-1,2147418111);Ea(e- -64|0,J[e+80>>2],J[e+84>>2],J[e+88>>2],J[e+92>>2],-1,-1,-1,2147418111);j=J[e+64>>2];m=J[e+68>>2];i=J[e+76>>2];d=J[e+72>>2];break I}d=D-226|0;g=i>>>0>>0;d=d>>31;if(g&(k|0)<=(d|0)|(d|0)>(k|0)){J[4804]=68;$a(e+144|0,f);Ea(e+128|0,J[e+144>>2],J[e+148>>2],J[e+152>>2],J[e+156>>2],0,0,0,65536);Ea(e+112|0,J[e+128>>2],J[e+132>>2],J[e+136>>2],J[e+140>>2],0,0,0,65536);j=J[e+112>>2];m=J[e+116>>2];i=J[e+124>>2];d=J[e+120>>2];break I}if(u){if((u|0)<=8){d=(e+784|0)+(p<<2)|0;g=J[d>>2];while(1){g=P(g,10);u=u+1|0;if((u|0)!=9){continue}break}J[d>>2]=g}p=p+1|0}P:{q=i;if((x|0)>(i|0)|(x|0)>=9|(i|0)>17){break P}if((q|0)==9){$a(e+192|0,f);Lb(e+176|0,J[e+784>>2]);Ea(e+160|0,J[e+192>>2],J[e+196>>2],J[e+200>>2],J[e+204>>2],J[e+176>>2],J[e+180>>2],J[e+184>>2],J[e+188>>2]);j=J[e+160>>2];m=J[e+164>>2];i=J[e+172>>2];d=J[e+168>>2];break I}if((q|0)<=8){$a(e+272|0,f);Lb(e+256|0,J[e+784>>2]);Ea(e+240|0,J[e+272>>2],J[e+276>>2],J[e+280>>2],J[e+284>>2],J[e+256>>2],J[e+260>>2],J[e+264>>2],J[e+268>>2]);$a(e+224|0,J[(0-q<<2)+17280>>2]);Ne(e+208|0,J[e+240>>2],J[e+244>>2],J[e+248>>2],J[e+252>>2],J[e+224>>2],J[e+228>>2],J[e+232>>2],J[e+236>>2]);j=J[e+208>>2];m=J[e+212>>2];i=J[e+220>>2];d=J[e+216>>2];break I}d=(P(q,-3)+E|0)+27|0;i=J[e+784>>2];if(i>>>d|0?(d|0)<=30:0){break P}$a(e+352|0,f);Lb(e+336|0,i);Ea(e+320|0,J[e+352>>2],J[e+356>>2],J[e+360>>2],J[e+364>>2],J[e+336>>2],J[e+340>>2],J[e+344>>2],J[e+348>>2]);$a(e+304|0,J[(q<<2)+17208>>2]);Ea(e+288|0,J[e+320>>2],J[e+324>>2],J[e+328>>2],J[e+332>>2],J[e+304>>2],J[e+308>>2],J[e+312>>2],J[e+316>>2]);j=J[e+288>>2];m=J[e+292>>2];i=J[e+300>>2];d=J[e+296>>2];break I}while(1){d=p;p=d-1|0;if(!J[(e+784|0)+(p<<2)>>2]){continue}break}u=0;i=(q|0)%9|0;Q:{if(!i){n=0;break Q}n=0;i=(q|0)<0?i+9|0:i;R:{if(!d){d=0;break R}j=J[(0-i<<2)+17280>>2];k=1e9/(j|0)|0;l=0;g=0;while(1){m=(e+784|0)+(g<<2)|0;h=J[m>>2];p=(h>>>0)/(j>>>0)|0;l=p+l|0;J[m>>2]=l;l=!l&(g|0)==(n|0);n=l?n+1&2047:n;q=l?q-9|0:q;l=P(k,h-P(j,p)|0);g=g+1|0;if((g|0)!=(d|0)){continue}break}if(!l){break R}J[(e+784|0)+(d<<2)>>2]=l;d=d+1|0}q=(q-i|0)+9|0}while(1){x=(e+784|0)+(n<<2)|0;S:{while(1){if(((q|0)!=36|M[x>>2]>=10384593)&(q|0)>=36){break S}p=d+2047|0;l=0;h=d;while(1){d=h;o=p&2047;h=(e+784|0)+(o<<2)|0;i=J[h>>2];m=i>>>3|0;j=i<<29;i=j+l|0;g=m;k=i>>>0>>0?g+1|0:g;if(!k&i>>>0<1000000001){l=0}else{l=Il(i,k,1e9,0);i=i-Gl(l,ca,1e9,0)|0}J[h>>2]=i;h=(o|0)!=(d-1&2047)?d:(n|0)==(o|0)?d:i?d:o;p=o-1|0;if((n|0)!=(o|0)){continue}break}u=u-29|0;if(!l){continue}break}n=n-1&2047;if((n|0)==(h|0)){i=e+784|0;d=i+((h+2046&2047)<<2)|0;g=d;k=J[d>>2];d=h-1&2047;J[g>>2]=k|J[i+(d<<2)>>2]}q=q+9|0;J[(e+784|0)+(n<<2)>>2]=l;continue}break}T:{U:while(1){i=d+1&2047;l=(e+784|0)+((d-1&2047)<<2)|0;while(1){j=(q|0)>45?9:1;V:{while(1){h=n;g=0;W:{while(1){X:{k=g+h&2047;if((k|0)==(d|0)){break X}k=J[(e+784|0)+(k<<2)>>2];m=J[(g<<2)+17232>>2];if(k>>>0>>0){break X}if(k>>>0>m>>>0){break W}g=g+1|0;if((g|0)!=4){continue}}break}if((q|0)!=36){break W}i=0;k=0;g=0;j=0;m=0;while(1){l=g+h&2047;if((l|0)==(d|0)){d=d+1&2047;J[(e+(d<<2)|0)+780>>2]=0}Lb(e+768|0,J[(e+784|0)+(l<<2)>>2]);Ea(e+752|0,i,k,j,m,0,0,1342177280,1075633366);_a(e+736|0,J[e+752>>2],J[e+756>>2],J[e+760>>2],J[e+764>>2],J[e+768>>2],J[e+772>>2],J[e+776>>2],J[e+780>>2]);j=J[e+744>>2];m=J[e+748>>2];i=J[e+736>>2];k=J[e+740>>2];g=g+1|0;if((g|0)!=4){continue}break}$a(e+720|0,f);Ea(e+704|0,i,k,j,m,J[e+720>>2],J[e+724>>2],J[e+728>>2],J[e+732>>2]);j=J[e+712>>2];m=J[e+716>>2];i=0;k=0;l=J[e+704>>2];o=J[e+708>>2];x=u+113|0;n=x-D|0;q=(n|0)<(E|0);g=q?(n|0)>0?n:0:E;if((g|0)<=112){break V}break T}u=j+u|0;n=d;if((d|0)==(h|0)){continue}break}m=1e9>>>j|0;p=-1<>2];k=k+(o>>>j|0)|0;J[g>>2]=k;k=!k&(h|0)==(n|0);n=k?n+1&2047:n;q=k?q-9|0:q;g=P(m,o&p);h=h+1&2047;if((h|0)!=(d|0)){continue}break}if(!g){continue}if((i|0)!=(n|0)){J[(e+784|0)+(d<<2)>>2]=g;d=i;continue U}J[l>>2]=J[l>>2]|1;continue}break}break}qb(e+656|0,pd(225-g|0));$e(e+688|0,J[e+656>>2],J[e+660>>2],J[e+664>>2],J[e+668>>2],l,o,j,m);y=J[e+696>>2];z=J[e+700>>2];A=J[e+688>>2];B=J[e+692>>2];qb(e+640|0,pd(113-g|0));Ze(e+672|0,l,o,j,m,J[e+640>>2],J[e+644>>2],J[e+648>>2],J[e+652>>2]);i=J[e+672>>2];k=J[e+676>>2];r=J[e+680>>2];t=J[e+684>>2];od(e+624|0,l,o,j,m,i,k,r,t);_a(e+608|0,A,B,y,z,J[e+624>>2],J[e+628>>2],J[e+632>>2],J[e+636>>2]);j=J[e+616>>2];m=J[e+620>>2];l=J[e+608>>2];o=J[e+612>>2]}p=h+4&2047;Y:{if((p|0)==(d|0)){break Y}p=J[(e+784|0)+(p<<2)>>2];Z:{if(p>>>0<=499999999){if(!p&(h+5&2047)==(d|0)){break Z}qb(e+496|0,+(f|0)*.25);_a(e+480|0,i,k,r,t,J[e+496>>2],J[e+500>>2],J[e+504>>2],J[e+508>>2]);r=J[e+488>>2];t=J[e+492>>2];i=J[e+480>>2];k=J[e+484>>2];break Z}if((p|0)!=5e8){qb(e+592|0,+(f|0)*.75);_a(e+576|0,i,k,r,t,J[e+592>>2],J[e+596>>2],J[e+600>>2],J[e+604>>2]);r=J[e+584>>2];t=J[e+588>>2];i=J[e+576>>2];k=J[e+580>>2];break Z}I=+(f|0);if((h+5&2047)==(d|0)){qb(e+528|0,I*.5);_a(e+512|0,i,k,r,t,J[e+528>>2],J[e+532>>2],J[e+536>>2],J[e+540>>2]);r=J[e+520>>2];t=J[e+524>>2];i=J[e+512>>2];k=J[e+516>>2];break Z}qb(e+560|0,I*.75);_a(e+544|0,i,k,r,t,J[e+560>>2],J[e+564>>2],J[e+568>>2],J[e+572>>2]);r=J[e+552>>2];t=J[e+556>>2];i=J[e+544>>2];k=J[e+548>>2]}if((g|0)>111){break Y}Ze(e+464|0,i,k,r,t,0,0,0,1073676288);if(Hb(J[e+464>>2],J[e+468>>2],J[e+472>>2],J[e+476>>2],0,0,0,0)){break Y}_a(e+448|0,i,k,r,t,0,0,0,1073676288);r=J[e+456>>2];t=J[e+460>>2];i=J[e+448>>2];k=J[e+452>>2]}_a(e+432|0,l,o,j,m,i,k,r,t);od(e+416|0,J[e+432>>2],J[e+436>>2],J[e+440>>2],J[e+444>>2],A,B,y,z);j=J[e+424>>2];m=J[e+428>>2];l=J[e+416>>2];o=J[e+420>>2];_:{if((F-2|0)>=(x&2147483647)){break _}J[e+408>>2]=j;J[e+412>>2]=m&2147483647;J[e+400>>2]=l;J[e+404>>2]=o;Ea(e+384|0,l,o,j,m,0,0,0,1073610752);d=Oe(J[e+400>>2],J[e+404>>2],J[e+408>>2],J[e+412>>2],1081081856);d=(d|0)>=0;j=d?J[e+392>>2]:j;m=d?J[e+396>>2]:m;l=d?J[e+384>>2]:l;o=d?J[e+388>>2]:o;u=d+u|0;if(!((Hb(i,k,r,t,0,0,0,0)|0)!=0&(d?q&(g|0)!=(n|0):q))&(u+110|0)<=(F|0)){break _}J[4804]=68}_e(e+368|0,l,o,j,m,u);j=J[e+368>>2];m=J[e+372>>2];i=J[e+380>>2];d=J[e+376>>2]}J[s+40>>2]=d;J[s+44>>2]=i;J[s+32>>2]=j;J[s+36>>2]=m;ba=e+8976|0;i=J[s+40>>2];k=J[s+44>>2];j=J[s+32>>2];m=J[s+36>>2];break a;case 3:break j;default:break m}}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}J[4804]=28;break i}$:{d=J[h+4>>2];aa:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break aa}d=La(h)}if((d|0)==40){g=1;break $}k=2147450880;if(J[h+116>>2]<0){break a}J[h+4>>2]=J[h+4>>2]-1;break a}while(1){ba:{d=J[h+4>>2];ca:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break ca}d=La(h)}if(!(d-48>>>0<10|d-65>>>0<26|(d|0)==95)){if(d-97>>>0>=26){break ba}}g=g+1|0;continue}break}k=2147450880;if((d|0)==41){break a}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(!g){break a}while(1){g=g-1|0;if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(g){continue}break}break a}J[h+112>>2]=0;J[h+116>>2]=0;d=J[h+44>>2]-J[h+4>>2]|0;J[h+120>>2]=d;J[h+124>>2]=d>>31;J[h+104>>2]=J[h+8>>2]}}J[w>>2]=j;J[w+4>>2]=m;J[w+8>>2]=i;J[w+12>>2]=k;ba=s+48|0;d=J[w+8>>2];j=J[w+12>>2];i=J[w>>2];l=J[w+4>>2];if(c){J[c>>2]=((J[w+20>>2]+J[w+136>>2]|0)-J[w+60>>2]|0)+b}J[a+8>>2]=d;J[a+12>>2]=j;J[a>>2]=i;J[a+4>>2]=l;ba=w+160|0}function Jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=ba-32|0;ba=l;d=J[b+8>>2];a:{b:{if(K[b+352|0]){d=jf(d);f=J[b+12>>2];J[b+12>>2]=d;if(f){break b}break a}d=kf(d);f=J[b+12>>2];J[b+12>>2]=d;if(!f){break a}}qc(f)}c:{d=J[b+12>>2];d:{if(!(J[d+40>>2]!=((J[d+4>>2]-J[d>>2]>>2>>>0)/3|0)?d:0)){b=oa(32);H[b+29|0]=0;d=K[1828]|K[1829]<<8|(K[1830]<<16|K[1831]<<24);c=K[1824]|K[1825]<<8|(K[1826]<<16|K[1827]<<24);H[b+21|0]=c;H[b+22|0]=c>>>8;H[b+23|0]=c>>>16;H[b+24|0]=c>>>24;H[b+25|0]=d;H[b+26|0]=d>>>8;H[b+27|0]=d>>>16;H[b+28|0]=d>>>24;d=K[1823]|K[1824]<<8|(K[1825]<<16|K[1826]<<24);c=K[1819]|K[1820]<<8|(K[1821]<<16|K[1822]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;H[b+20|0]=d;H[b+21|0]=d>>>8;H[b+22|0]=d>>>16;H[b+23|0]=d>>>24;d=K[1815]|K[1816]<<8|(K[1817]<<16|K[1818]<<24);c=K[1811]|K[1812]<<8|(K[1813]<<16|K[1814]<<24);H[b+8|0]=c;H[b+9|0]=c>>>8;H[b+10|0]=c>>>16;H[b+11|0]=c>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1807]|K[1808]<<8|(K[1809]<<16|K[1810]<<24);c=K[1803]|K[1804]<<8|(K[1805]<<16|K[1806]<<24);H[b|0]=c;H[b+1|0]=c>>>8;H[b+2|0]=c>>>16;H[b+3|0]=c>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;J[a>>2]=-1;Ga(a+4|0,b,29);na(b);break d}j=b+200|0;d=j;J[d+128>>2]=2;J[d+132>>2]=7;J[d+64>>2]=b;c=da[J[J[b>>2]+32>>2]](b)|0;J[d+88>>2]=c;c=J[c+28>>2]-J[c+24>>2]>>2;e=J[d+108>>2];h=J[d+104>>2];d=e-h>>2;e:{if(c>>>0>d>>>0){Fa(j+104|0,c-d|0);h=J[j+104>>2];e=J[j+108>>2];break e}if(c>>>0>=d>>>0){break e}e=(c<<2)+h|0;J[j+108>>2]=e}if((e|0)!=(h|0)){h=0;while(1){n=J[j+104>>2];q=n+(h<<2)|0;d=J[j+88>>2];f=-1;f:{if((h|0)==-1){break f}f=0;c=J[J[d+24>>2]+(h<<2)>>2];if((c|0)==-1){break f}k=J[d+12>>2];g=1;d=c;while(1){f=f+1|0;e=g;g:{if(e&255){g=0;i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;if((d|0)==-1){d=c;break g}i=J[k+(d<<2)>>2];if((i|0)==-1){d=c;break g}d=c;p=i+1|0;i=(p>>>0)%3|0?p:i-2|0;if((i|0)==-1){break g}g=e;d=i;if((c|0)!=(d|0)){break g}break f}h:{if((d>>>0)%3|0){d=d-1|0;break h}d=d+2|0;if((d|0)==-1){break f}}d=J[k+(d<<2)>>2];if((d|0)==-1){break f}d=(d>>>0)%3|0?d-1|0:d+2|0;g=0}if((d|0)!=-1){continue}break}}J[q>>2]=f;h=h+1|0;if(h>>>0>2]-n>>2>>>0){continue}break}}c=j+92|0;h=J[j+88>>2];e=J[h>>2];d=J[h+4>>2]-e>>2;f=J[j+92>>2];g=J[j+96>>2]-f>>2;i:{if(d>>>0>g>>>0){Ld(c,d-g|0);h=J[j+88>>2];e=J[h>>2];break i}if(d>>>0>=g>>>0){break i}J[j+96>>2]=f+(d<<2)}d=J[h+4>>2];j:{if((d|0)==(e|0)){break j}d=d-e>>2;g=d>>>0<=1?1:d;i=g&3;d=J[c>>2];h=0;if(g-1>>>0>=3){g=g&-4;f=0;while(1){c=h<<2;J[c+d>>2]=J[c+e>>2];k=c|4;J[k+d>>2]=J[e+k>>2];k=c|8;J[k+d>>2]=J[e+k>>2];c=c|12;J[c+d>>2]=J[c+e>>2];h=h+4|0;f=f+4|0;if((g|0)!=(f|0)){continue}break}}if(!i){break j}while(1){c=h<<2;J[c+d>>2]=J[c+e>>2];h=h+1|0;m=m+1|0;if((i|0)!=(m|0)){continue}break}}c=(J[j+132>>2]-J[j+128>>2]|0)+1|0;e=J[j+140>>2];d=J[j+136>>2];g=(e-d|0)/12|0;k:{if(c>>>0>g>>>0){h=0;c=c-g|0;f=J[j+144>>2];d=J[j+140>>2];if(c>>>0<=(f-d|0)/12>>>0){if(c){e=d;d=P(c,12)-12|0;d=(d-((d>>>0)%12|0)|0)+12|0;d=pa(e,0,d)+d|0}J[j+140>>2]=d;break k}l:{m:{n:{e=J[j+136>>2];i=(d-e|0)/12|0;g=i+c|0;if(g>>>0<357913942){f=(f-e|0)/12|0;m=f<<1;f=f>>>0>=178956970?357913941:g>>>0>>0?m:g;if(f){if(f>>>0>=357913942){break n}h=oa(P(f,12))}g=P(i,12)+h|0;c=P(c,12)-12|0;i=(c-((c>>>0)%12|0)|0)+12|0;c=pa(g,0,i);i=c+i|0;f=P(f,12)+h|0;if((d|0)==(e|0)){break m}while(1){g=g-12|0;d=d-12|0;J[g>>2]=J[d>>2];J[g+4>>2]=J[d+4>>2];J[g+8>>2]=J[d+8>>2];J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if((d|0)!=(e|0)){continue}break}J[j+144>>2]=f;e=J[j+140>>2];J[j+140>>2]=i;d=J[j+136>>2];J[j+136>>2]=g;if((d|0)==(e|0)){break l}while(1){c=e-12|0;g=J[c>>2];if(g){J[e-8>>2]=g;na(g)}e=c;if((c|0)!=(d|0)){continue}break}break l}break c}xa();B()}J[j+144>>2]=f;J[j+140>>2]=i;J[j+136>>2]=c}if(d){na(d)}break k}if(c>>>0>>0){c=d+P(c,12)|0;if((c|0)!=(e|0)){while(1){d=e-12|0;g=J[d>>2];if(g){J[e-8>>2]=g;na(g)}e=d;if((d|0)!=(c|0)){continue}break}}J[j+140>>2]=c}}d=J[b+12>>2];Aa((J[d+28>>2]-J[d+24>>2]>>2)-J[d+44>>2]|0,J[J[b+4>>2]+44>>2]);d=J[b+12>>2];Aa(((J[d+4>>2]-J[d>>2]>>2>>>0)/3|0)-J[d+40>>2]|0,J[J[b+4>>2]+44>>2]);d=J[b+8>>2];c=J[d+100>>2];d=J[d+96>>2];H[l+16|0]=0;m=b+28|0;c=(c-d|0)/12|0;d=l+16|0;Na(m,c,d);c=J[b+12>>2];e=J[c+28>>2];c=J[c+24>>2];J[l+16>>2]=-1;wb(b+52|0,e-c>>2,d);d=J[b+40>>2];J[b+44>>2]=d;g=J[b+12>>2];c=J[g+4>>2]-J[g>>2]>>2;c=c-((c>>>0)%3|0)|0;o:{if(c>>>0<=J[b+48>>2]-d>>2>>>0){break o}if(c>>>0>=1073741824){break c}e=c<<2;c=oa(e);J[b+44>>2]=c;J[b+40>>2]=c;J[b+48>>2]=c+e;if(!d){break o}na(d);g=J[b+12>>2]}d=J[g+28>>2];c=J[g+24>>2];H[l+16|0]=0;Na(b+84|0,d-c>>2,l+16|0);J[b+164>>2]=-1;J[b+168>>2]=0;J[b+100>>2]=J[b+96>>2];J[b+112>>2]=J[b+108>>2];if(J[b+132>>2]){g=J[b+128>>2];if(g){while(1){d=J[g>>2];na(g);g=d;if(d){continue}break}}g=0;J[b+128>>2]=0;d=J[b+124>>2];p:{if(!d){break p}if(d>>>0>=4){f=d&-4;e=0;while(1){c=g<<2;J[c+J[b+120>>2]>>2]=0;J[J[b+120>>2]+(c|4)>>2]=0;J[J[b+120>>2]+(c|8)>>2]=0;J[J[b+120>>2]+(c|12)>>2]=0;g=g+4|0;e=e+4|0;if((f|0)!=(e|0)){continue}break}}d=d&3;if(!d){break p}f=0;while(1){J[J[b+120>>2]+(g<<2)>>2]=0;g=g+1|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}}J[b+132>>2]=0}J[b+144>>2]=0;d=J[b+12>>2];c=J[d+28>>2];d=J[d+24>>2];J[l+16>>2]=-1;wb(b+152|0,c-d>>2,l+16|0);d=J[b+72>>2];J[b+76>>2]=d;q=b+72|0;c=J[b+12>>2];c=J[c+4>>2]-J[c>>2]|0;e=(c>>2>>>0)/3|0;q:{if(e>>>0<=J[b+80>>2]-d>>2>>>0){break q}if((c|0)<0){break c}e=e<<2;c=oa(e);J[b+76>>2]=c;J[b+72>>2]=c;J[b+80>>2]=c+e;if(!d){break q}na(d)}J[b- -64>>2]=0;if(!jg(b)){b=oa(32);H[b+29|0]=0;d=K[1768]|K[1769]<<8|(K[1770]<<16|K[1771]<<24);c=K[1764]|K[1765]<<8|(K[1766]<<16|K[1767]<<24);H[b+21|0]=c;H[b+22|0]=c>>>8;H[b+23|0]=c>>>16;H[b+24|0]=c>>>24;H[b+25|0]=d;H[b+26|0]=d>>>8;H[b+27|0]=d>>>16;H[b+28|0]=d>>>24;d=K[1763]|K[1764]<<8|(K[1765]<<16|K[1766]<<24);c=K[1759]|K[1760]<<8|(K[1761]<<16|K[1762]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;H[b+20|0]=d;H[b+21|0]=d>>>8;H[b+22|0]=d>>>16;H[b+23|0]=d>>>24;d=K[1755]|K[1756]<<8|(K[1757]<<16|K[1758]<<24);c=K[1751]|K[1752]<<8|(K[1753]<<16|K[1754]<<24);H[b+8|0]=c;H[b+9|0]=c>>>8;H[b+10|0]=c>>>16;H[b+11|0]=c>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1747]|K[1748]<<8|(K[1749]<<16|K[1750]<<24);c=K[1743]|K[1744]<<8|(K[1745]<<16|K[1746]<<24);H[b|0]=c;H[b+1|0]=c>>>8;H[b+2|0]=c>>>16;H[b+3|0]=c>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;J[a>>2]=-1;Ga(a+4|0,b,29);na(b);break d}g=0;c=b;r:{if(K[b+352|0]){break r}b=J[c+8>>2];e=J[b+12>>2]-J[b+8>>2]|0;f=e>>2;b=f-1|0;d=J[c+176>>2];h=J[c+172>>2];i=(d-h|0)/136|0;s:{if(b>>>0>i>>>0){bg(c+172|0,b-i|0);break s}if(b>>>0>=i>>>0){break s}i=h+P(b,136)|0;if((i|0)!=(d|0)){while(1){b=d-136|0;h=J[b+116>>2];if(h){J[d-16>>2]=h;na(h)}h=J[d-32>>2];if(h){J[d-28>>2]=h;na(h)}pc(d-132|0);d=b;if((b|0)!=(i|0)){continue}break}}J[c+176>>2]=i}if((e|0)==4|(e|0)<=0){break r}i=(f|0)<=1?1:f;d=0;t:{while(1){h=J[J[J[c+8>>2]+8>>2]+(d<<2)>>2];if(J[h+56>>2]){k=P(g,136);b=k+J[c+172>>2]|0;J[b>>2]=d;e=J[b+104>>2];J[b+108>>2]=e;f=J[c+12>>2];f=J[f+4>>2]-J[f>>2]|0;n=f>>2;u:{if(n>>>0<=J[b+112>>2]-e>>2>>>0){break u}if((f|0)<0){break t}f=oa(f);J[b+108>>2]=f;J[b+104>>2]=f;J[b+112>>2]=f+(n<<2);if(!e){break u}na(e)}b=k+J[c+172>>2]|0;J[b+128>>2]=0;lf(b+4|0,J[c+8>>2],J[c+12>>2],h);g=g+1|0}d=d+1|0;if((i|0)!=(d|0)){continue}break}break r}break c}b=(J[c+176>>2]-J[c+172>>2]|0)/136|0;H[l+31|0]=b;d=J[J[c+4>>2]+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){sa(d,J[d+4>>2],l+31|0,l+32|0);b=K[l+31|0]}J[c+284>>2]=b&255;b=J[c+12>>2];g=J[b>>2];b=J[b+4>>2];hg(j);e=0;J[l+24>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;d=0;v:{w:{x:{b=b-g|0;if((b|0)>0){b=b>>>2|0;p=b>>>0<=1?1:b;g=0;while(1){b=(g>>>0)/3|0;s=b>>>5<<2;t=1<>2]>>2]&t){break y}if(Fc(J[c+12>>2],b)){break y}J[l+8>>2]=0;b=gg(c,b,l+8|0);Ca(j,b);i=J[l+8>>2];if(b){h=-1;f=-1;k=-1;z:{if((i|0)==-1){break z}n=J[J[c+12>>2]>>2];b=n+(i<<2)|0;h=i+1|0;h=(h>>>0)%3|0?h:i-2|0;if((h|0)!=-1){f=J[n+(h<<2)>>2]}h=J[b>>2];A:{if((i>>>0)%3|0){b=i-1|0;break A}b=i+2|0;k=-1;if((b|0)==-1){break z}}k=J[n+(b<<2)>>2]}b=J[c+84>>2];n=b+(h>>>3&536870908)|0;J[n>>2]=J[n>>2]|1<>>3&536870908)|0;J[h>>2]=J[h>>2]|1<>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];h=J[c+104>>2];B:{if(b>>>0>>0){J[b>>2]=1;J[c+100>>2]=b+4;break B}k=b;b=J[c+96>>2];k=k-b|0;n=k>>2;f=n+1|0;if(f>>>0>=1073741824){break c}r=n<<2;h=h-b|0;n=h>>>1|0;f=h>>>0>=2147483644?1073741823:f>>>0>>0?n:f;if(f){if(f>>>0>=1073741824){break x}h=oa(f<<2)}else{h=0}n=r+h|0;J[n>>2]=1;r=f<<2;f=ta(h,b,k);J[c+104>>2]=r+f;J[c+100>>2]=n+4;J[c+96>>2]=f;if(!b){break B}na(b)}b=s+J[m>>2]|0;J[b>>2]=t|J[b>>2];h=-1;if((i|0)!=-1){b=i+1|0;h=(b>>>0)%3|0?b:i-2|0}C:{if(e>>>0>>0){J[e>>2]=h;e=e+4|0;J[l+20>>2]=e;break C}f=e-d>>2;b=f+1|0;if(b>>>0>=1073741824){break c}k=o-d|0;o=k>>>1|0;b=k>>>0>=2147483644?1073741823:b>>>0>>0?o:b;if(b){if(b>>>0>=1073741824){break x}k=oa(b<<2)}else{k=0}f=k+(f<<2)|0;J[f>>2]=h;o=k+(b<<2)|0;b=f+4|0;if((d|0)!=(e|0)){while(1){f=f-4|0;e=e-4|0;J[f>>2]=J[e>>2];if((d|0)!=(e|0)){continue}break}}J[l+24>>2]=o;J[l+20>>2]=b;J[l+16>>2]=f;if(d){na(d)}d=f;e=b}if((i|0)==-1){break y}b=i+1|0;b=(b>>>0)%3|0?b:i-2|0;if((b|0)==-1){break y}b=J[J[J[c+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break y}f=(b>>>0)/3|0;if(J[J[m>>2]+(f>>>3&268435452)>>2]>>>f&1){break y}if(Zf(c,b)){break y}break w}if((i|0)!=-1){b=i+1|0;b=(b>>>0)%3|0?b:i-2|0}else{b=-1}Hc(c,b,1);if(!Zf(c,J[l+8>>2])){break w}}g=g+1|0;if((p|0)!=(g|0)){continue}break}}g=J[c+72>>2];b=J[c+76>>2];D:{if((g|0)==(b|0)){break D}f=b-4|0;if(g>>>0>=f>>>0){break D}while(1){i=J[g>>2];J[g>>2]=J[f>>2];J[f>>2]=i;f=f-4|0;g=g+4|0;if(f>>>0>g>>>0){continue}break}}eg(q,b,d,e);E:{if(J[c+172>>2]==J[c+176>>2]){break E}b=J[c+8>>2];e=J[b+100>>2];b=J[b+96>>2];H[l+8|0]=0;Na(m,(e-b|0)/12|0,l+8|0);g=J[c+72>>2];b=J[c+76>>2];if((g|0)==(b|0)){break E}while(1){dg(c,J[g>>2]);g=g+4|0;if((b|0)!=(g|0)){continue}break}}m=0;g=0;b=j+32|0;ya(j,b);if(!(!J[j+80>>2]|J[j+84>>2]<=0)){while(1){ya(J[j+80>>2]+(m<<5)|0,b);m=m+1|0;if((m|0)>2]){continue}break}}m=J[j+136>>2];if((m|0)!=J[j+140>>2]){while(1){e=P(g,12);f=e+m|0;Aa(J[f+4>>2]-J[f>>2]>>2,b);m=J[j+136>>2];e=e+m|0;f=J[e+4>>2];e=J[e>>2];if((f|0)!=(e|0)){ee(e,f-e>>2,1,0,b);m=J[j+136>>2]}g=g+1|0;if(g>>>0<(J[j+140>>2]-m|0)/12>>>0){continue}break}}Aa(J[c+324>>2],J[J[c+4>>2]+44>>2]);Aa(J[c+168>>2],J[J[c+4>>2]+44>>2]);if(!cg(c)){b=oa(32);H[b+28|0]=0;c=K[1909]|K[1910]<<8|(K[1911]<<16|K[1912]<<24);H[b+24|0]=c;H[b+25|0]=c>>>8;H[b+26|0]=c>>>16;H[b+27|0]=c>>>24;c=K[1905]|K[1906]<<8|(K[1907]<<16|K[1908]<<24);e=K[1901]|K[1902]<<8|(K[1903]<<16|K[1904]<<24);H[b+16|0]=e;H[b+17|0]=e>>>8;H[b+18|0]=e>>>16;H[b+19|0]=e>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1897]|K[1898]<<8|(K[1899]<<16|K[1900]<<24);e=K[1893]|K[1894]<<8|(K[1895]<<16|K[1896]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1889]|K[1890]<<8|(K[1891]<<16|K[1892]<<24);e=K[1885]|K[1886]<<8|(K[1887]<<16|K[1888]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,28);na(b);break v}b=J[J[c+4>>2]+44>>2];e=J[b+20>>2];if(!J[b+16>>2]&(e|0)<=0|(e|0)<0){sa(b,J[b+4>>2],J[c+232>>2],J[c+236>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break v}xa();B()}b=oa(48);H[b+32|0]=0;c=K[1703]|K[1704]<<8|(K[1705]<<16|K[1706]<<24);e=K[1699]|K[1700]<<8|(K[1701]<<16|K[1702]<<24);H[b+24|0]=e;H[b+25|0]=e>>>8;H[b+26|0]=e>>>16;H[b+27|0]=e>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1695]|K[1696]<<8|(K[1697]<<16|K[1698]<<24);e=K[1691]|K[1692]<<8|(K[1693]<<16|K[1694]<<24);H[b+16|0]=e;H[b+17|0]=e>>>8;H[b+18|0]=e>>>16;H[b+19|0]=e>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1687]|K[1688]<<8|(K[1689]<<16|K[1690]<<24);e=K[1683]|K[1684]<<8|(K[1685]<<16|K[1686]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1679]|K[1680]<<8|(K[1681]<<16|K[1682]<<24);e=K[1675]|K[1676]<<8|(K[1677]<<16|K[1678]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,32);na(b)}if(!d){break d}na(d)}ba=l+32|0;return}qa();B()}function dl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,da=0,ea=0,fa=0;i=ba-224|0;ba=i;J[a+8>>2]=e;C=a+32|0;h=J[C>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0>>0){Fa(C,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){d=g;break c}h=1;f=d-1|0;s=f&1;d:{if((d|0)==2){d=g;break d}y=f&-2;d=g;while(1){j=(h<<2)+b|0;f=J[j+4>>2];j=J[j>>2];l=(j|0)<(d|0);d=l?j:d;t=(d|0)>(f|0);d=t?f:d;j=l?g:(g|0)<(j|0)?j:g;g=t?j:(f|0)>(j|0)?f:j;h=h+2|0;k=k+2|0;if((y|0)!=(k|0)){continue}break}}if(!s){break c}f=J[(h<<2)+b>>2];h=(f|0)<(d|0);d=h?f:d;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=d;f=g-d|0;d=(g>>31)-((d>>31)+(d>>>0>g>>>0)|0)|0;if(!d&f>>>0>2147483646|d){break b}d=f+1|0;J[a+20>>2]=d;f=d>>>1|0;J[a+24>>2]=f;J[a+28>>2]=0-f;if(d&1){break b}J[a+24>>2]=f-1}Z=J[a+52>>2];z=J[a+48>>2];J[i+184>>2]=0;J[i+188>>2]=0;J[i+176>>2]=0;J[i+180>>2]=0;J[i+168>>2]=0;J[i+172>>2]=0;J[i+160>>2]=0;J[i+164>>2]=0;J[i+152>>2]=0;J[i+156>>2]=0;J[i+144>>2]=0;J[i+148>>2]=0;e:{if(!e){g=0;d=0;break e}Fa(i+144|0,e);g=J[i+156>>2];d=J[i+160>>2]}d=d-g>>2;f:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break f}J[i+160>>2]=(e<<2)+g;break f}Fa(i+144|12,e-d|0)}f=J[i+168>>2];d=J[i+172>>2]-f>>2;g:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break g}J[i+172>>2]=f+(e<<2);break g}Fa(i+168|0,e-d|0)}h:{i:{f=J[i+180>>2];d=J[i+184>>2]-f>>2;j:{k:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[i+184>>2]=f+(e<<2)}J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0;if(e){break k}d=1;break j}Fa(i+180|0,e-d|0);J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0}if(e>>>0>=1073741824){break i}d=e<<2;f=oa(d);J[i+128>>2]=f;h=d+f|0;J[i+136>>2]=h;pa(f,0,d);J[i+132>>2]=h;d=0}A=a+152|0;h=J[a+152>>2];f=J[a+156>>2]-h>>2;l:{m:{if(f>>>0>>0){Fa(A,e-f|0);J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;d=i- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;break m}if(e>>>0>>0){J[a+156>>2]=h+(e<<2)}J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;f=i- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;s=0;if(d){break l}}d=e<<2;r=oa(d);s=pa(r,0,d)+d|0}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break h}L=e&-2;M=e&1;_=e&-4;S=e&3;N=e-1|0;U=e<<2;O=a+112|0;y=d>>>2|0;Q=s-r|0;D=Q>>2;X=(Q-4&-4)+4|0;$=i+36|0;aa=i+24|0;while(1){f=J[a+56>>2];d=J[f>>2];n:{o:{t=y-1|0;if(t>>>0>2]-d>>2>>>0){f=0;j=0;k=J[d+(t<<2)>>2];p:{if((k|0)==-1){break p}o=1;d=k+2|0;j=(k>>>0)%3|0;u=j?k-1|0:d;E=1<>2];G=l+(u>>>3&536870908)|0;h=0;I=(j|0)!=0|(d|0)!=-1;d=k;while(1){q:{if(J[l+(d>>>3&536870908)>>2]>>>d&1){break q}j=J[J[J[z+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break q}n=J[Z>>2];g=J[z+28>>2];m=J[n+(J[g+(j<<2)>>2]<<2)>>2];if((m|0)>=(t|0)){break q}p=j+1|0;p=J[n+(J[g+(((p>>>0)%3|0?p:j-2|0)<<2)>>2]<<2)>>2];if((p|0)>=(t|0)){break q}g=J[n+(J[g+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((g|0)>=(t|0)){break q}r:{if(!e){break r}j=J[(i+144|0)+P(h,12)>>2];n=P(e,g);p=P(e,p);x=P(e,m);g=0;m=0;if(N){while(1){J[j+(g<<2)>>2]=(J[(g+n<<2)+b>>2]+J[(g+p<<2)+b>>2]|0)-J[(g+x<<2)+b>>2];w=g|1;J[j+(w<<2)>>2]=(J[(n+w<<2)+b>>2]+J[(p+w<<2)+b>>2]|0)-J[(x+w<<2)+b>>2];g=g+2|0;m=m+2|0;if((L|0)!=(m|0)){continue}break}}if(!M){break r}J[j+(g<<2)>>2]=(J[(g+n<<2)+b>>2]+J[(g+p<<2)+b>>2]|0)-J[(g+x<<2)+b>>2]}j=4;h=h+1|0;if((h|0)==4){break p}}s:{if(o&1){g=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:g;if((j|0)==-1|J[l+(j>>>3&536870908)>>2]>>>j&1){break s}j=J[J[J[z+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break s}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break s}t:{if((d>>>0)%3|0){g=d-1|0;break t}g=d+2|0;d=-1;if((g|0)==-1){break s}}d=-1;if(J[l+(g>>>3&536870908)>>2]>>>g&1){break s}j=J[J[J[z+64>>2]+12>>2]+(g<<2)>>2];if((j|0)==-1){break s}if((j>>>0)%3|0){d=j-1|0;break s}d=j+2|0}if((d|0)==(k|0)){j=h;break p}if((d|0)==-1&o){if(!I){j=h;break p}if(E&J[G>>2]){j=h;break p}d=J[J[J[z+64>>2]+12>>2]+(u<<2)>>2];if((d|0)==-1){j=h;break p}o=0;d=(d>>>0)%3|0?d-1|0:d+2|0}j=h;if((d|0)!=-1){continue}break}}H[i+16|0]=0;J[i+8>>2]=0;J[i+12>>2]=0;J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;I=P(e,t)<<2;x=I+b|0;k=(P(y-2|0,e)<<2)+b|0;l=J[A>>2];d=0;if(e){while(1){g=f<<2;h=J[g+k>>2]-J[g+x>>2]|0;J[g+r>>2]=h;J[g+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=d;d=h>>31;d=g+((d^h)-d|0)|0;f=f+1|0;if((f|0)!=(e|0)){continue}break}}f=i+200|0;Db(f,O,l,e);l=Cb(f);h=J[f+12>>2];f=J[f+16>>2];h=(((h-f|0)+1|0)/64|0)+f<<3;n=f<<3;f=h+n|0;h=(h>>31)+(n>>31)|0;g=ca+(f>>>0>>0?h+1|0:h)|0;h=f;f=f+l|0;h=h>>>0>f>>>0?g+1|0:g;E=(j|0)<=0;if(!E){o=(j<<3)-8|0;g=o+(i+48|0)|0;n=g;l=J[g>>2];g=J[g+4>>2];l=j+l|0;g=l>>>0>>0?g+1|0:g;J[n>>2]=l;J[n+4>>2]=g;v=W(Eb(l,J[o+(i+80|0)>>2])*(+(l>>>0)+ +(g|0)*4294967296));u:{if(R(v)<0x8000000000000000){l=R(v)>=1?~~(v>0?T(V(v*2.3283064365386963e-10),4294967295):W((v-+(~~v>>>0>>>0))*2.3283064365386963e-10))>>>0:0;g=~~v>>>0;break u}l=-2147483648;g=0}f=f+g|0;h=f}J[i+20>>2]=0;H[i+16|0]=0;J[i+8>>2]=f;J[i+12>>2]=d;tc(aa,k,k+U|0);bb($,r,s);v:{w:{x:{if(E){break x}n=(i+124|0)+j|0;l=n-1|0;Y=j<<3;d=Y-8|0;G=d+(i+48|0)|0;da=d+(i+80|0)|0;o=1;w=0;while(1){d=i+124|0;pa(d,1,j);w=w+1|0;pa(d,0,w);y:{z:while(1){if(e){pa(J[i+128>>2],0,U)}m=0;d=J[i+128>>2];u=0;while(1){if(!K[(i+124|0)+m|0]){A:{if(!e){break A}f=J[(i+144|0)+P(m,12)>>2];h=0;g=0;k=0;if(e>>>0>3){while(1){p=g<<2;q=p+d|0;J[q>>2]=J[q>>2]+J[f+p>>2];q=p|4;F=q+d|0;J[F>>2]=J[F>>2]+J[f+q>>2];q=p|8;F=q+d|0;J[F>>2]=J[F>>2]+J[f+q>>2];p=p|12;q=p+d|0;J[q>>2]=J[q>>2]+J[f+p>>2];g=g+4|0;k=k+4|0;if((_|0)!=(k|0)){continue}break}}if(!S){break A}while(1){k=g<<2;p=k+d|0;J[p>>2]=J[p>>2]+J[f+k>>2];g=g+1|0;h=h+1|0;if((S|0)!=(h|0)){continue}break}}u=1<>2];B:{C:{D:{if(e){g=0;d=0;if(N){break D}break C}k=J[A>>2];h=0;break B}while(1){h=g<<2;k=h+f|0;J[k>>2]=J[k>>2]/(o|0);h=(h|4)+f|0;J[h>>2]=J[h>>2]/(o|0);g=g+2|0;d=d+2|0;if((L|0)!=(d|0)){continue}break}}if(M){d=(g<<2)+f|0;J[d>>2]=J[d>>2]/(o|0)}k=J[A>>2];f=J[i+128>>2];d=0;h=0;if(!e){break B}while(1){m=d<<2;g=J[m+f>>2]-J[m+x>>2]|0;J[m+r>>2]=g;J[k+m>>2]=(g|0)<0?(g^-1)<<1|1:g<<1;m=h;h=g>>31;h=m+((h^g)-h|0)|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=i+200|0;Db(d,O,k,e);k=Cb(d);g=J[d+12>>2];d=J[d+16>>2];g=(((g-d|0)+1|0)/64|0)+d<<3;m=d<<3;d=g+m|0;g=d+k|0;q=(j|0)>0;if(q){k=J[G+4>>2];d=J[G>>2];v=W(Eb(d,J[da>>2]+o|0)*(+(d>>>0)+ +(k|0)*4294967296));E:{if(R(v)<0x8000000000000000){d=~~v>>>0;break E}d=0}g=d+g|0}d=J[i+8>>2];if(!((d|0)<=(g|0)&((d|0)<(g|0)|(h|0)>=J[i+12>>2]))){J[i+20>>2]=o;H[i+16|0]=u;J[i+8>>2]=g;J[i+12>>2]=h;k=J[i+132>>2];m=k-f|0;g=m>>2;d=J[i+32>>2];h=J[i+24>>2];F:{if(g>>>0<=d-h>>2>>>0){m=J[i+28>>2]-h|0;d=m+f|0;u=m>>2;m=u>>>0>>0?d:k;p=m-f|0;if((f|0)!=(m|0)){ta(h,f,p)}if(g>>>0>u>>>0){g=J[i+28>>2];if((k|0)==(m|0)){break F}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((k|0)!=(d|0)){continue}break}break F}g=h+p|0;break F}if(h){J[i+28>>2]=h;na(h);J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;d=0}if((m|0)<0){break w}h=d>>>1|0;d=d>>>0>=2147483644?1073741823:g>>>0>>0?h:g;if(d>>>0>=1073741824){break w}d=d<<2;g=oa(d);J[i+24>>2]=g;J[i+32>>2]=d+g;if((f|0)==(k|0)){break F}d=(m-4&-4)+4|0;g=ua(g,f,d)+d|0}J[i+28>>2]=g;d=J[i+44>>2];f=J[i+36>>2];G:{if(d-f>>2>>>0>=D>>>0){h=J[i+40>>2]-f|0;d=h+r|0;k=h>>2;h=k>>>0>>0?d:s;g=h-r|0;if((h|0)!=(r|0)){ta(f,r,g)}if(k>>>0>>0){g=J[i+40>>2];if((h|0)==(s|0)){break G}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((s|0)!=(d|0)){continue}break}break G}g=f+g|0;break G}if(f){J[i+40>>2]=f;na(f);J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;d=0}if((Q|0)<0){break v}f=d>>>1|0;d=d>>>0>=2147483644?1073741823:f>>>0>D>>>0?f:D;if(d>>>0>=1073741824){break v}d=d<<2;g=oa(d);J[i+36>>2]=g;J[i+44>>2]=d+g;if((r|0)==(s|0)){break G}g=ua(g,r,X)+X|0}J[i+40>>2]=g}if((l|0)==(i+124|0)){break y}g=K[l|0];d=-1;while(1){k=g&255;f=d-1|0;h=f+n|0;g=K[h|0];if(k>>>0>g>>>0){f=n;while(1){f=f-1|0;k=K[f|0];if(k>>>0<=g>>>0){continue}break}H[h|0]=k;H[f|0]=g;if((d|0)==-1){continue z}g=d+n|0;d=l;while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}continue z}d=f;if((h|0)!=(i+124|0)){continue}break}break}f=i+124|0;g=f;d=l;if(f>>>0>=d>>>0){break y}while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}}o=o+1|0;if((j|0)!=(w|0)){continue}break}if(!q){break x}h=J[i+20>>2];g=h;d=i+Y|0;f=g+J[d+72>>2]|0;h=J[d+76>>2]+(g>>31)|0;J[d+72>>2]=f;J[d+76>>2]=f>>>0>>0?h+1|0:h}if(!e){break n}d=J[A>>2];g=0;f=J[i+36>>2];k=0;if(!N){break o}while(1){l=g<<2;h=J[l+f>>2];J[d+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;l=l|4;h=J[l+f>>2];J[d+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=g+2|0;k=k+2|0;if((L|0)!=(k|0)){continue}break}break o}qa();B()}qa();B()}ra();B()}if(!M){break n}h=g<<2;f=J[h+f>>2];J[d+h>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}Nc(i+200|0,O,J[A>>2],e);H:{if(E){break H}g=P(j,12)+a|0;d=0;while(1){I:{k=J[g+56>>2];l=k<<5;f=J[g+52>>2];J:{if(!(K[i+16|0]>>>d&1)){h=f;K:{if((f|0)!=(l|0)){break K}if((f+1|0)<0){break I}L:{if(f>>>0<=1073741822){k=k<<6;l=(f&-32)+32|0;l=k>>>0>l>>>0?k:l;h=f;if(f>>>0>=l>>>0){break K}if((l|0)>=0){break L}break I}l=2147483647;h=-1;if(f>>>0>=2147483647){break K}}l=(l-1>>>5|0)+1|0;h=oa(l<<2);k=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;M:{N:{if(!f){break N}n=f>>>5|0;if(f>>>0>=32){ta(h,k,n<<2)}o=f&31;if(!o){break N}n=n<<2;m=n+h|0;o=-1>>>32-o|0;J[m>>2]=J[m>>2]&(o^-1)|o&J[k+n>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;break M}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;h=f;if(!k){break K}}na(k);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0<=1073741822){k=k<<6;l=(f&-32)+32|0;l=k>>>0>l>>>0?k:l;h=f;if(f>>>0>=l>>>0){break O}if((l|0)<0){break I}break P}l=2147483647;h=-1;if(f>>>0>=2147483647){break O}}l=(l-1>>>5|0)+1|0;h=oa(l<<2);k=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;Q:{R:{if(!f){break R}n=f>>>5|0;if(f>>>0>=32){ta(h,k,n<<2)}o=f&31;if(!o){break R}n=n<<2;m=n+h|0;o=-1>>>32-o|0;J[m>>2]=J[m>>2]&(o^-1)|o&J[k+n>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;break Q}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;h=f;if(!k){break O}}na(k);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;k=J[f>>2];ea=f,fa=Kl(h)&k,J[ea>>2]=fa}d=d+1|0;if((j|0)!=(d|0)){continue}break H}break}qa();B()}g=J[a+8>>2];if((g|0)>0){n=c+I|0;d=J[C>>2];l=0;k=J[i+24>>2];while(1){h=d;if((g|0)>0){h=J[C>>2];g=0;while(1){f=g<<2;j=J[f+k>>2];o=J[a+16>>2];S:{if((j|0)>(o|0)){J[f+h>>2]=o;break S}f=f+h|0;o=J[a+12>>2];if((o|0)>(j|0)){J[f>>2]=o;break S}J[f>>2]=j}g=g+1|0;if((g|0)>2]){continue}break}}j=l<<2;f=j+n|0;j=J[j+x>>2]-J[h+j>>2]|0;J[f>>2]=j;T:{if((j|0)>2]){g=j+J[a+20>>2]|0}else{if((j|0)<=J[a+24>>2]){break T}g=j-J[a+20>>2]|0}J[f>>2]=g}k=h;g=J[a+8>>2];l=l+1|0;if((g|0)>(l|0)){continue}break}}d=J[i+36>>2];if(d){J[i+40>>2]=d;na(d)}d=J[i+24>>2];if(d){J[i+28>>2]=d;na(d)}d=(y|0)>2;y=t;if(d){continue}break}break h}qa();B()}if((e|0)>0){pa(J[i+144>>2],0,e<<2)}g=J[a+8>>2];if((g|0)>0){d=J[a+32>>2];l=0;k=J[i+144>>2];while(1){h=d;if((g|0)>0){h=J[C>>2];g=0;while(1){e=g<<2;f=J[e+k>>2];j=J[a+16>>2];U:{if((f|0)>(j|0)){J[e+h>>2]=j;break U}e=e+h|0;j=J[a+12>>2];if((j|0)>(f|0)){J[e>>2]=j;break U}J[e>>2]=f}g=g+1|0;if((g|0)>2]){continue}break}}f=l<<2;e=f+c|0;f=J[b+f>>2]-J[f+h>>2]|0;J[e>>2]=f;V:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break V}f=f-J[a+20>>2]|0}J[e>>2]=f}k=h;g=J[a+8>>2];l=l+1|0;if((g|0)>(l|0)){continue}break}}if(r){na(r)}a=J[i+128>>2];if(a){J[i+132>>2]=a;na(a)}a=J[i+180>>2];if(a){J[i+184>>2]=a;na(a)}a=J[i+168>>2];if(a){J[i+172>>2]=a;na(a)}a=J[i+156>>2];if(a){J[i+160>>2]=a;na(a)}a=J[i+144>>2];if(a){J[i+148>>2]=a;na(a)}ba=i+224|0;return 1}function Vk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,da=0,ea=0,fa=0;i=ba-224|0;ba=i;J[a+8>>2]=e;z=a+32|0;h=J[z>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0>>0){Fa(z,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){d=g;break c}h=1;f=d-1|0;v=f&1;d:{if((d|0)==2){d=g;break d}t=f&-2;d=g;while(1){j=(h<<2)+b|0;f=J[j+4>>2];j=J[j>>2];l=(j|0)<(d|0);d=l?j:d;m=(d|0)>(f|0);d=m?f:d;g=l?g:(g|0)<(j|0)?j:g;g=m?g:(f|0)>(g|0)?f:g;h=h+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(!v){break c}f=J[(h<<2)+b>>2];h=(f|0)<(d|0);d=h?f:d;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=d;f=g-d|0;d=(g>>31)-((d>>31)+(d>>>0>g>>>0)|0)|0;if(!d&f>>>0>2147483646|d){break b}d=f+1|0;J[a+20>>2]=d;f=d>>>1|0;J[a+24>>2]=f;J[a+28>>2]=0-f;if(d&1){break b}J[a+24>>2]=f-1}Z=J[a+52>>2];N=J[a+48>>2];J[i+184>>2]=0;J[i+188>>2]=0;J[i+176>>2]=0;J[i+180>>2]=0;J[i+168>>2]=0;J[i+172>>2]=0;J[i+160>>2]=0;J[i+164>>2]=0;J[i+152>>2]=0;J[i+156>>2]=0;J[i+144>>2]=0;J[i+148>>2]=0;e:{if(!e){g=0;d=0;break e}Fa(i+144|0,e);g=J[i+156>>2];d=J[i+160>>2]}d=d-g>>2;f:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break f}J[i+160>>2]=(e<<2)+g;break f}Fa(i+144|12,e-d|0)}f=J[i+168>>2];d=J[i+172>>2]-f>>2;g:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break g}J[i+172>>2]=f+(e<<2);break g}Fa(i+168|0,e-d|0)}h:{i:{f=J[i+180>>2];d=J[i+184>>2]-f>>2;j:{k:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[i+184>>2]=f+(e<<2)}J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0;if(e){break k}d=1;break j}Fa(i+180|0,e-d|0);J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0}if(e>>>0>=1073741824){break i}d=e<<2;f=oa(d);J[i+128>>2]=f;h=d+f|0;J[i+136>>2]=h;pa(f,0,d);J[i+132>>2]=h;d=0}x=a+152|0;h=J[a+152>>2];f=J[a+156>>2]-h>>2;l:{m:{if(f>>>0>>0){Fa(x,e-f|0);J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;d=i- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;break m}if(e>>>0>>0){J[a+156>>2]=h+(e<<2)}J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;f=i- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;t=0;if(d){break l}}d=e<<2;s=oa(d);t=pa(s,0,d)+d|0}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break h}F=e&-2;G=e&1;_=e&-4;O=e&3;I=e-1|0;Q=e<<2;L=a+112|0;E=d>>>2|0;M=t-s|0;A=M>>2;S=(M-4&-4)+4|0;$=i+36|0;aa=i+24|0;while(1){f=J[a+56>>2];d=J[f>>2];n:{o:{v=E-1|0;if(v>>>0>2]-d>>2>>>0){f=0;l=0;d=J[d+(v<<2)>>2];p:{if((d|0)==-1){break p}m=J[N+12>>2];h=d+2|0;g=(d>>>0)%3|0;y=m+((g?d-1|0:h)<<2)|0;j=0;C=(g|0)!=0|(h|0)!=-1;q=1;h=d;while(1){g=J[m+(h<<2)>>2];q:{if((g|0)==-1){break q}k=-1;n=J[Z>>2];l=J[N>>2];p=n+(J[l+(g<<2)>>2]<<2)|0;o=g+1|0;o=(o>>>0)%3|0?o:g-2|0;if((o|0)!=-1){k=J[l+(o<<2)>>2]}p=J[p>>2];r:{s:{if((g>>>0)%3|0){g=g-1|0;break s}g=g+2|0;o=-1;if((g|0)==-1){break r}}o=J[l+(g<<2)>>2]}if((p|0)>=(v|0)){break q}g=J[n+(k<<2)>>2];if((g|0)>=(v|0)){break q}k=J[n+(o<<2)>>2];if((k|0)>=(v|0)){break q}l=J[(i+144|0)+P(j,12)>>2];t:{if(!e){break t}k=P(e,k);n=P(e,g);o=P(e,p);g=0;p=0;if(I){while(1){J[l+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+n<<2)+b>>2]|0)-J[(g+o<<2)+b>>2];w=g|1;J[l+(w<<2)>>2]=(J[(k+w<<2)+b>>2]+J[(n+w<<2)+b>>2]|0)-J[(o+w<<2)+b>>2];g=g+2|0;p=p+2|0;if((F|0)!=(p|0)){continue}break}}if(!G){break t}J[l+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+n<<2)+b>>2]|0)-J[(g+o<<2)+b>>2]}l=4;j=j+1|0;if((j|0)==4){break p}}u:{if(q&1){g=h+1|0;h=(g>>>0)%3|0?g:h-2|0;l=-1;if((h|0)==-1){break u}h=J[m+(h<<2)>>2];l=-1;if((h|0)==-1){break u}g=h+1|0;l=(g>>>0)%3|0?g:h-2|0;break u}v:{if((h>>>0)%3|0){g=h-1|0;break v}g=h+2|0;l=-1;if((g|0)==-1){break u}}h=J[m+(g<<2)>>2];l=-1;if((h|0)==-1){break u}l=h-1|0;if((h>>>0)%3|0){break u}l=h+2|0}h=l;if((d|0)==(h|0)){l=j;break p}if((h|0)==-1&q){if(!C){l=j;break p}h=J[y>>2];if((h|0)==-1){l=j;break p}q=0;h=(h>>>0)%3|0?h-1|0:h+2|0}l=j;if((h|0)!=-1){continue}break}}H[i+16|0]=0;J[i+8>>2]=0;J[i+12>>2]=0;J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;U=P(e,v)<<2;w=U+b|0;j=(P(E-2|0,e)<<2)+b|0;k=J[x>>2];d=0;if(e){while(1){g=f<<2;h=J[g+j>>2]-J[g+w>>2]|0;J[g+s>>2]=h;J[g+k>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=d;d=h>>31;d=g+((d^h)-d|0)|0;f=f+1|0;if((f|0)!=(e|0)){continue}break}}f=i+200|0;Db(f,L,k,e);k=Cb(f);h=J[f+12>>2];f=J[f+16>>2];h=(((h-f|0)+1|0)/64|0)+f<<3;m=f<<3;f=h+m|0;h=(h>>31)+(m>>31)|0;g=ca+(f>>>0>>0?h+1|0:h)|0;h=f;f=f+k|0;h=h>>>0>f>>>0?g+1|0:g;C=(l|0)<=0;if(!C){n=(l<<3)-8|0;g=n+(i+48|0)|0;m=g;k=J[g>>2];g=J[g+4>>2];k=k+l|0;g=k>>>0>>0?g+1|0:g;J[m>>2]=k;J[m+4>>2]=g;u=W(Eb(k,J[n+(i+80|0)>>2])*(+(k>>>0)+ +(g|0)*4294967296));w:{if(R(u)<0x8000000000000000){k=R(u)>=1?~~(u>0?T(V(u*2.3283064365386963e-10),4294967295):W((u-+(~~u>>>0>>>0))*2.3283064365386963e-10))>>>0:0;g=~~u>>>0;break w}k=-2147483648;g=0}f=f+g|0;h=f}J[i+20>>2]=0;H[i+16|0]=0;J[i+8>>2]=f;J[i+12>>2]=d;tc(aa,j,j+Q|0);bb($,s,t);x:{y:{z:{if(C){break z}n=(i+124|0)+l|0;m=n-1|0;X=l<<3;d=X-8|0;Y=d+(i+48|0)|0;da=d+(i+80|0)|0;q=1;y=0;while(1){d=i+124|0;pa(d,1,l);y=y+1|0;pa(d,0,y);A:{B:while(1){if(e){pa(J[i+128>>2],0,Q)}p=0;d=J[i+128>>2];j=0;while(1){if(!K[(i+124|0)+p|0]){C:{if(!e){break C}f=J[(i+144|0)+P(p,12)>>2];h=0;g=0;k=0;if(e>>>0>3){while(1){o=g<<2;r=o+d|0;J[r>>2]=J[r>>2]+J[f+o>>2];r=o|4;D=r+d|0;J[D>>2]=J[D>>2]+J[f+r>>2];r=o|8;D=r+d|0;J[D>>2]=J[D>>2]+J[f+r>>2];o=o|12;r=o+d|0;J[r>>2]=J[r>>2]+J[f+o>>2];g=g+4|0;k=k+4|0;if((_|0)!=(k|0)){continue}break}}if(!O){break C}while(1){k=g<<2;o=k+d|0;J[o>>2]=J[o>>2]+J[f+k>>2];g=g+1|0;h=h+1|0;if((O|0)!=(h|0)){continue}break}}j=1<>2];D:{E:{F:{if(e){g=0;d=0;if(I){break F}break E}k=J[x>>2];h=0;break D}while(1){h=g<<2;k=h+f|0;J[k>>2]=J[k>>2]/(q|0);h=(h|4)+f|0;J[h>>2]=J[h>>2]/(q|0);g=g+2|0;d=d+2|0;if((F|0)!=(d|0)){continue}break}}if(G){d=(g<<2)+f|0;J[d>>2]=J[d>>2]/(q|0)}k=J[x>>2];f=J[i+128>>2];d=0;h=0;if(!e){break D}while(1){p=d<<2;g=J[p+f>>2]-J[p+w>>2]|0;J[p+s>>2]=g;J[k+p>>2]=(g|0)<0?(g^-1)<<1|1:g<<1;o=h;h=g>>31;h=o+((h^g)-h|0)|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=i+200|0;Db(d,L,k,e);k=Cb(d);g=J[d+12>>2];d=J[d+16>>2];g=(((g-d|0)+1|0)/64|0)+d<<3;p=d<<3;d=g+p|0;g=d+k|0;o=(l|0)>0;if(o){k=J[Y+4>>2];d=J[Y>>2];u=W(Eb(d,J[da>>2]+q|0)*(+(d>>>0)+ +(k|0)*4294967296));G:{if(R(u)<0x8000000000000000){d=~~u>>>0;break G}d=0}g=d+g|0}d=J[i+8>>2];if(!((d|0)<=(g|0)&((d|0)<(g|0)|(h|0)>=J[i+12>>2]))){J[i+20>>2]=q;H[i+16|0]=j;J[i+8>>2]=g;J[i+12>>2]=h;j=J[i+132>>2];k=j-f|0;g=k>>2;d=J[i+32>>2];h=J[i+24>>2];H:{if(g>>>0<=d-h>>2>>>0){k=J[i+28>>2]-h|0;d=k+f|0;r=k>>2;k=r>>>0>>0?d:j;p=k-f|0;if((f|0)!=(k|0)){ta(h,f,p)}if(g>>>0>r>>>0){g=J[i+28>>2];if((j|0)==(k|0)){break H}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}break H}g=h+p|0;break H}if(h){J[i+28>>2]=h;na(h);J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;d=0}if((k|0)<0){break y}h=d>>>1|0;d=d>>>0>=2147483644?1073741823:g>>>0>>0?h:g;if(d>>>0>=1073741824){break y}d=d<<2;g=oa(d);J[i+24>>2]=g;J[i+32>>2]=d+g;if((f|0)==(j|0)){break H}d=(k-4&-4)+4|0;g=ua(g,f,d)+d|0}J[i+28>>2]=g;d=J[i+44>>2];f=J[i+36>>2];I:{if(d-f>>2>>>0>=A>>>0){h=J[i+40>>2]-f|0;d=h+s|0;j=h>>2;h=j>>>0>>0?d:t;g=h-s|0;if((h|0)!=(s|0)){ta(f,s,g)}if(j>>>0>>0){g=J[i+40>>2];if((h|0)==(t|0)){break I}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((t|0)!=(d|0)){continue}break}break I}g=f+g|0;break I}if(f){J[i+40>>2]=f;na(f);J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;d=0}if((M|0)<0){break x}f=d>>>1|0;d=d>>>0>=2147483644?1073741823:f>>>0>A>>>0?f:A;if(d>>>0>=1073741824){break x}d=d<<2;g=oa(d);J[i+36>>2]=g;J[i+44>>2]=d+g;if((s|0)==(t|0)){break I}g=ua(g,s,S)+S|0}J[i+40>>2]=g}if((m|0)==(i+124|0)){break A}g=K[m|0];d=-1;while(1){j=g&255;f=d-1|0;h=f+n|0;g=K[h|0];if(j>>>0>g>>>0){f=n;while(1){f=f-1|0;j=K[f|0];if(j>>>0<=g>>>0){continue}break}H[h|0]=j;H[f|0]=g;if((d|0)==-1){continue B}g=d+n|0;d=m;while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}continue B}d=f;if((h|0)!=(i+124|0)){continue}break}break}f=i+124|0;g=f;d=m;if(g>>>0>=d>>>0){break A}while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}}q=q+1|0;if((l|0)!=(y|0)){continue}break}if(!o){break z}h=J[i+20>>2];g=h;d=i+X|0;f=g+J[d+72>>2]|0;h=J[d+76>>2]+(g>>31)|0;J[d+72>>2]=f;J[d+76>>2]=f>>>0>>0?h+1|0:h}if(!e){break n}d=J[x>>2];g=0;f=J[i+36>>2];k=0;if(!I){break o}while(1){j=g<<2;h=J[j+f>>2];J[d+j>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;j=j|4;h=J[j+f>>2];J[d+j>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=g+2|0;k=k+2|0;if((F|0)!=(k|0)){continue}break}break o}qa();B()}qa();B()}ra();B()}if(!G){break n}h=g<<2;f=J[h+f>>2];J[d+h>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}Nc(i+200|0,L,J[x>>2],e);J:{if(C){break J}g=P(l,12)+a|0;d=0;while(1){K:{j=J[g+56>>2];k=j<<5;f=J[g+52>>2];L:{if(!(K[i+16|0]>>>d&1)){h=f;M:{if((f|0)!=(k|0)){break M}if((f+1|0)<0){break K}N:{if(f>>>0<=1073741822){j=j<<6;k=(f&-32)+32|0;j=j>>>0>k>>>0?j:k;h=f;if(f>>>0>=j>>>0){break M}if((j|0)>=0){break N}break K}j=2147483647;h=-1;if(f>>>0>=2147483647){break M}}k=(j-1>>>5|0)+1|0;h=oa(k<<2);j=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;O:{P:{if(!f){break P}m=f>>>5|0;if(f>>>0>=32){ta(h,j,m<<2)}n=f&31;if(!n){break P}m=m<<2;q=m+h|0;n=-1>>>32-n|0;J[q>>2]=J[q>>2]&(n^-1)|n&J[j+m>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;break O}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;h=f;if(!j){break M}}na(j);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0<=1073741822){j=j<<6;k=(f&-32)+32|0;j=j>>>0>k>>>0?j:k;h=f;if(f>>>0>=j>>>0){break Q}if((j|0)<0){break K}break R}j=2147483647;h=-1;if(f>>>0>=2147483647){break Q}}k=(j-1>>>5|0)+1|0;h=oa(k<<2);j=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;S:{T:{if(!f){break T}m=f>>>5|0;if(f>>>0>=32){ta(h,j,m<<2)}n=f&31;if(!n){break T}m=m<<2;q=m+h|0;n=-1>>>32-n|0;J[q>>2]=J[q>>2]&(n^-1)|n&J[j+m>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;break S}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;h=f;if(!j){break Q}}na(j);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;j=J[f>>2];ea=f,fa=Kl(h)&j,J[ea>>2]=fa}d=d+1|0;if((l|0)!=(d|0)){continue}break J}break}qa();B()}g=J[a+8>>2];if((g|0)>0){m=c+U|0;d=J[z>>2];j=0;k=J[i+24>>2];while(1){h=d;if((g|0)>0){h=J[z>>2];g=0;while(1){f=g<<2;l=J[f+k>>2];n=J[a+16>>2];U:{if((l|0)>(n|0)){J[f+h>>2]=n;break U}f=f+h|0;n=J[a+12>>2];if((n|0)>(l|0)){J[f>>2]=n;break U}J[f>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}g=j<<2;f=g+m|0;g=J[g+w>>2]-J[g+h>>2]|0;J[f>>2]=g;V:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break V}g=g-J[a+20>>2]|0}J[f>>2]=g}k=h;g=J[a+8>>2];j=j+1|0;if((g|0)>(j|0)){continue}break}}d=J[i+36>>2];if(d){J[i+40>>2]=d;na(d)}d=J[i+24>>2];if(d){J[i+28>>2]=d;na(d)}d=(E|0)>2;E=v;if(d){continue}break}break h}qa();B()}if((e|0)>0){pa(J[i+144>>2],0,e<<2)}g=J[a+8>>2];if((g|0)>0){d=J[a+32>>2];j=0;k=J[i+144>>2];while(1){h=d;if((g|0)>0){h=J[z>>2];g=0;while(1){e=g<<2;f=J[e+k>>2];l=J[a+16>>2];W:{if((f|0)>(l|0)){J[e+h>>2]=l;break W}e=e+h|0;l=J[a+12>>2];if((l|0)>(f|0)){J[e>>2]=l;break W}J[e>>2]=f}g=g+1|0;if((g|0)>2]){continue}break}}f=j<<2;e=f+c|0;f=J[b+f>>2]-J[f+h>>2]|0;J[e>>2]=f;X:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break X}f=f-J[a+20>>2]|0}J[e>>2]=f}k=h;g=J[a+8>>2];j=j+1|0;if((g|0)>(j|0)){continue}break}}if(s){na(s)}a=J[i+128>>2];if(a){J[i+132>>2]=a;na(a)}a=J[i+180>>2];if(a){J[i+184>>2]=a;na(a)}a=J[i+168>>2];if(a){J[i+172>>2]=a;na(a)}a=J[i+156>>2];if(a){J[i+160>>2]=a;na(a)}a=J[i+144>>2];if(a){J[i+148>>2]=a;na(a)}ba=i+224|0;return 1}function Ek(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,da=0,ea=0,fa=0;g=ba-240|0;ba=g;Z=J[a+36>>2];A=J[a+32>>2];J[g+184>>2]=0;J[g+188>>2]=0;J[g+176>>2]=0;J[g+180>>2]=0;J[g+168>>2]=0;J[g+172>>2]=0;J[g+160>>2]=0;J[g+164>>2]=0;J[g+152>>2]=0;J[g+156>>2]=0;J[g+144>>2]=0;J[g+148>>2]=0;if(e){Fa(g+144|0,e);h=J[g+156>>2];d=J[g+160>>2]}else{d=0}d=d-h>>2;a:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break a}J[g+160>>2]=(e<<2)+h;break a}Fa(g+144|12,e-d|0)}d=J[g+168>>2];f=J[g+172>>2]-d>>2;b:{if(f>>>0>=e>>>0){if(e>>>0>=f>>>0){break b}J[g+172>>2]=d+(e<<2);break b}Fa(g+168|0,e-f|0)}c:{d:{d=J[g+180>>2];f=J[g+184>>2]-d>>2;e:{f:{if(f>>>0>=e>>>0){if(e>>>0>>0){J[g+184>>2]=d+(e<<2)}J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;if(e){break f}d=1;break e}Fa(g+180|0,e-f|0);J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0}if(e>>>0>=1073741824){break d}j=e<<2;f=oa(j);J[g+128>>2]=f;d=f+j|0;J[g+136>>2]=d;pa(f,0,j);J[g+132>>2]=d;d=0}C=a+136|0;f=J[a+136>>2];j=J[a+140>>2]-f>>2;g:{h:{if(j>>>0>>0){Fa(C,e-j|0);J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;d=g- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;break h}if(e>>>0>>0){J[a+140>>2]=f+(e<<2)}J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;f=g- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;f=0;if(d){break g}}d=e<<2;t=oa(d);f=pa(t,0,d)+d|0}d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break c}M=e&-2;N=e&1;_=e&-4;U=e&3;O=e-1|0;X=e<<2;$=a+8|0;Q=a+96|0;G=d>>>2|0;E=f;S=f-t|0;F=S>>2;Y=(S-4&-4)+4|0;aa=g+36|0;da=g+24|0;while(1){d=J[a+40>>2];f=J[d>>2];i:{j:{z=G-1|0;if(z>>>0>2]-f>>2>>>0){d=0;j=0;k=J[f+(z<<2)>>2];k:{if((k|0)==-1){break k}u=1;i=k+2|0;j=(k>>>0)%3|0;D=j?k-1|0:i;q=1<>2];p=r+(D>>>3&536870908)|0;f=0;n=(j|0)!=0|(i|0)!=-1;i=k;while(1){l:{if(J[r+(i>>>3&536870908)>>2]>>>i&1){break l}s=J[J[J[A+64>>2]+12>>2]+(i<<2)>>2];if((s|0)==-1){break l}x=J[Z>>2];m=J[A+28>>2];h=J[x+(J[m+(s<<2)>>2]<<2)>>2];if((h|0)>=(z|0)){break l}j=s+1|0;l=J[x+(J[m+(((j>>>0)%3|0?j:s-2|0)<<2)>>2]<<2)>>2];if((l|0)>=(z|0)){break l}j=J[x+(J[m+(s+((s>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((j|0)>=(z|0)){break l}m:{if(!e){break m}s=J[(g+144|0)+P(f,12)>>2];m=P(e,j);x=P(e,l);l=P(e,h);h=0;o=0;if(O){while(1){J[s+(h<<2)>>2]=(J[(h+m<<2)+b>>2]+J[(h+x<<2)+b>>2]|0)-J[(h+l<<2)+b>>2];j=h|1;J[s+(j<<2)>>2]=(J[(j+m<<2)+b>>2]+J[(j+x<<2)+b>>2]|0)-J[(j+l<<2)+b>>2];h=h+2|0;o=o+2|0;if((M|0)!=(o|0)){continue}break}}if(!N){break m}J[s+(h<<2)>>2]=(J[(h+m<<2)+b>>2]+J[(h+x<<2)+b>>2]|0)-J[(h+l<<2)+b>>2]}j=4;f=f+1|0;if((f|0)==4){break k}}n:{if(u&1){j=i-2|0;l=i+1|0;i=-1;j=(l>>>0)%3|0?l:j;if((j|0)==-1|J[r+(j>>>3&536870908)>>2]>>>j&1){break n}l=J[J[J[A+64>>2]+12>>2]+(j<<2)>>2];if((l|0)==-1){break n}j=l+1|0;i=(j>>>0)%3|0?j:l-2|0;break n}o:{if((i>>>0)%3|0){h=i-1|0;break o}h=i+2|0;i=-1;if((h|0)==-1){break n}}i=-1;if(J[r+(h>>>3&536870908)>>2]>>>h&1){break n}j=J[J[J[A+64>>2]+12>>2]+(h<<2)>>2];if((j|0)==-1){break n}if((j>>>0)%3|0){i=j-1|0;break n}i=j+2|0}if((i|0)==(k|0)){j=f;break k}if((i|0)==-1&u){if(!n){j=f;break k}if(q&J[p>>2]){j=f;break k}j=J[J[J[A+64>>2]+12>>2]+(D<<2)>>2];if((j|0)==-1){j=f;break k}u=0;i=(j>>>0)%3|0?j-1|0:j+2|0}j=f;if((i|0)!=-1){continue}break}}H[g+16|0]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;J[g+28>>2]=0;J[g+32>>2]=0;J[g+20>>2]=0;J[g+24>>2]=0;x=P(e,z)<<2;I=x+b|0;p=(P(G-2|0,e)<<2)+b|0;k=J[C>>2];i=0;if(e){while(1){f=d<<2;l=J[f+p>>2]-J[f+I>>2]|0;J[f+t>>2]=l;J[f+k>>2]=(l|0)<0?(l^-1)<<1|1:l<<1;f=l>>31;i=((f^l)-f|0)+i|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=g+200|0;Db(d,Q,k,e);l=Cb(d);f=J[d+12>>2];d=J[d+16>>2];f=(((f-d|0)+1|0)/64|0)+d<<3;d=d<<3;n=f+d|0;f=(f>>31)+(d>>31)|0;h=ca+(d>>>0>n>>>0?f+1|0:f)|0;f=l+n|0;d=f>>>0>>0?h+1|0:h;s=(j|0)<=0;if(!s){h=(j<<3)-8|0;k=h+(g+48|0)|0;n=k;l=J[k>>2];k=J[k+4>>2];l=j+l|0;k=l>>>0>>0?k+1|0:k;J[n>>2]=l;J[n+4>>2]=k;y=W(Eb(l,J[h+(g+80|0)>>2])*(+(l>>>0)+ +(k|0)*4294967296));p:{if(R(y)<0x8000000000000000){l=~~y>>>0;k=R(y)>=1?~~(y>0?T(V(y*2.3283064365386963e-10),4294967295):W((y-+(~~y>>>0>>>0))*2.3283064365386963e-10))>>>0:0;break p}l=0;k=-2147483648}f=f+l|0;d=f}J[g+20>>2]=0;H[g+16|0]=0;J[g+8>>2]=f;J[g+12>>2]=i;tc(da,p,p+X|0);bb(aa,t,E);q:{r:{s:{if(s){break s}l=(g+124|0)+j|0;k=l-1|0;q=j<<3;d=q-8|0;D=d+(g+48|0)|0;p=d+(g+80|0)|0;u=1;L=0;while(1){d=g+124|0;pa(d,1,j);L=L+1|0;pa(d,0,L);t:{u:while(1){if(e){pa(J[g+128>>2],0,X)}o=0;v=J[g+128>>2];r=0;while(1){if(!K[(g+124|0)+o|0]){v:{if(!e){break v}m=J[(g+144|0)+P(o,12)>>2];f=0;h=0;w=0;if(e>>>0>3){while(1){n=h<<2;d=n+v|0;J[d>>2]=J[d>>2]+J[n+m>>2];i=n|4;d=i+v|0;J[d>>2]=J[d>>2]+J[i+m>>2];i=n|8;d=i+v|0;J[d>>2]=J[d>>2]+J[i+m>>2];i=n|12;d=i+v|0;J[d>>2]=J[d>>2]+J[i+m>>2];h=h+4|0;w=w+4|0;if((_|0)!=(w|0)){continue}break}}if(!U){break v}while(1){i=h<<2;d=i+v|0;J[d>>2]=J[d>>2]+J[i+m>>2];h=h+1|0;f=f+1|0;if((U|0)!=(f|0)){continue}break}}r=1<>2];w:{x:{y:{if(e){h=0;i=0;if(O){break y}break x}w=J[C>>2];f=0;break w}while(1){n=h<<2;f=n+d|0;J[f>>2]=J[f>>2]/(u|0);f=(n|4)+d|0;J[f>>2]=J[f>>2]/(u|0);h=h+2|0;i=i+2|0;if((M|0)!=(i|0)){continue}break}}if(N){d=(h<<2)+d|0;J[d>>2]=J[d>>2]/(u|0)}w=J[C>>2];d=J[g+128>>2];i=0;f=0;if(!e){break w}while(1){h=i<<2;n=J[h+d>>2]-J[h+I>>2]|0;J[h+t>>2]=n;J[h+w>>2]=(n|0)<0?(n^-1)<<1|1:n<<1;h=f;f=n>>31;f=h+((f^n)-f|0)|0;i=i+1|0;if((i|0)!=(e|0)){continue}break}}i=g+200|0;Db(i,Q,w,e);n=Cb(i);h=J[i+12>>2];i=J[i+16>>2];h=(((h-i|0)+1|0)/64|0)+i<<3;i=i<<3;m=h+i|0;i=n+m|0;h=i;n=(j|0)>0;if(n){i=J[D+4>>2];m=J[D>>2];y=W(Eb(m,J[p>>2]+u|0)*(+(m>>>0)+ +(i|0)*4294967296));z:{if(R(y)<0x8000000000000000){i=~~y>>>0;break z}i=0}h=i+h|0}i=J[g+8>>2];if(!((i|0)<=(h|0)&((h|0)>(i|0)|(f|0)>=J[g+12>>2]))){J[g+20>>2]=u;H[g+16|0]=r;J[g+8>>2]=h;J[g+12>>2]=f;v=J[g+132>>2];m=v-d|0;r=m>>2;i=J[g+32>>2];o=J[g+24>>2];A:{if(r>>>0<=i-o>>2>>>0){f=J[g+28>>2]-o|0;i=f+d|0;f=f>>2;m=f>>>0>>0?i:v;h=m-d|0;if((d|0)!=(m|0)){ta(o,d,h)}if(f>>>0>>0){h=J[g+28>>2];if((m|0)==(v|0)){break A}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((v|0)!=(i|0)){continue}break}break A}h=h+o|0;break A}if(o){J[g+28>>2]=o;na(o);J[g+32>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;i=0}if((m|0)<0){break r}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:f>>>0>r>>>0?f:r;if(f>>>0>=1073741824){break r}f=f<<2;h=oa(f);J[g+24>>2]=h;J[g+32>>2]=f+h;if((d|0)==(v|0)){break A}f=d;d=(m-4&-4)+4|0;h=ua(h,f,d)+d|0}J[g+28>>2]=h;i=J[g+44>>2];h=J[g+36>>2];B:{if(i-h>>2>>>0>=F>>>0){d=J[g+40>>2]-h|0;i=d+t|0;d=d>>2;m=d>>>0>>0?i:E;f=m-t|0;if((m|0)!=(t|0)){ta(h,t,f)}if(d>>>0>>0){h=J[g+40>>2];if((m|0)==(E|0)){break B}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((E|0)!=(i|0)){continue}break}break B}h=f+h|0;break B}if(h){J[g+40>>2]=h;na(h);J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;i=0}if((S|0)<0){break q}d=i>>>1|0;d=i>>>0>=2147483644?1073741823:d>>>0>F>>>0?d:F;if(d>>>0>=1073741824){break q}d=d<<2;h=oa(d);J[g+36>>2]=h;J[g+44>>2]=d+h;if((t|0)==(E|0)){break B}h=ua(h,t,Y)+Y|0}J[g+40>>2]=h}if((k|0)==(g+124|0)){break t}h=K[k|0];i=-1;while(1){f=h&255;d=i-1|0;m=d+l|0;h=K[m|0];if(f>>>0>h>>>0){d=l;while(1){d=d-1|0;f=K[d|0];if(f>>>0<=h>>>0){continue}break}H[m|0]=f;H[d|0]=h;if((i|0)==-1){continue u}h=i+l|0;i=k;while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0>>0){continue}break}continue u}i=d;if((m|0)!=(g+124|0)){continue}break}break}d=g+124|0;h=d;i=k;if(d>>>0>=i>>>0){break t}while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0>>0){continue}break}}u=u+1|0;if((j|0)!=(L|0)){continue}break}if(!n){break s}d=J[g+20>>2];f=d;k=g+q|0;i=d+J[k+72>>2]|0;d=J[k+76>>2]+(d>>31)|0;J[k+72>>2]=i;J[k+76>>2]=f>>>0>i>>>0?d+1|0:d}if(!e){break i}k=J[C>>2];h=0;i=J[g+36>>2];w=0;if(!O){break j}while(1){d=h<<2;f=J[d+i>>2];J[d+k>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;d=d|4;f=J[d+i>>2];J[d+k>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;h=h+2|0;w=w+2|0;if((M|0)!=(w|0)){continue}break}break j}qa();B()}qa();B()}ra();B()}if(!N){break i}d=h<<2;f=J[d+i>>2];J[d+k>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}Nc(g+200|0,Q,J[C>>2],e);C:{if(s){break C}k=P(j,12)+a|0;i=0;while(1){D:{h=J[k+40>>2];l=h<<5;d=J[k+36>>2];E:{if(!(K[g+16|0]>>>i&1)){f=d;F:{if((d|0)!=(l|0)){break F}if((d+1|0)<0){break D}G:{if(d>>>0<=1073741822){h=h<<6;l=(d&-32)+32|0;h=h>>>0>l>>>0?h:l;f=d;if(d>>>0>=h>>>0){break F}if((h|0)>=0){break G}break D}h=2147483647;f=-1;if(d>>>0>=2147483647){break F}}n=(h-1>>>5|0)+1|0;q=oa(n<<2);p=J[k+32>>2];J[q+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;H:{I:{if(!d){break I}f=d>>>5|0;if(d>>>0>=32){ta(q,p,f<<2)}h=d&31;if(!h){break I}l=f<<2;f=l+q|0;m=f;o=J[f>>2];f=-1>>>32-h|0;J[m>>2]=o&(f^-1)|f&J[l+p>>2];J[k+32>>2]=q;J[k+36>>2]=d;J[k+40>>2]=n;break H}J[k+32>>2]=q;J[k+36>>2]=d;J[k+40>>2]=n;f=d;if(!p){break F}}na(p);f=J[k+36>>2]}J[k+36>>2]=f+1;d=J[k+32>>2]+(f>>>3&536870908)|0;J[d>>2]=J[d>>2]|1<>>0<=1073741822){h=h<<6;l=(d&-32)+32|0;h=h>>>0>l>>>0?h:l;f=d;if(d>>>0>=h>>>0){break J}if((h|0)<0){break D}break K}h=2147483647;f=-1;if(d>>>0>=2147483647){break J}}n=(h-1>>>5|0)+1|0;q=oa(n<<2);p=J[k+32>>2];J[q+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;L:{M:{if(!d){break M}f=d>>>5|0;if(d>>>0>=32){ta(q,p,f<<2)}h=d&31;if(!h){break M}l=f<<2;f=l+q|0;m=f;o=J[f>>2];f=-1>>>32-h|0;J[m>>2]=o&(f^-1)|f&J[l+p>>2];J[k+32>>2]=q;J[k+36>>2]=d;J[k+40>>2]=n;break L}J[k+32>>2]=q;J[k+36>>2]=d;J[k+40>>2]=n;f=d;if(!p){break J}}na(p);f=J[k+36>>2]}J[k+36>>2]=f+1;l=J[k+32>>2]+(f>>>3&536870908)|0;d=J[l>>2];ea=l,fa=Kl(f)&d,J[ea>>2]=fa}i=i+1|0;if((j|0)!=(i|0)){continue}break C}break}qa();B()}d=J[g+24>>2];j=J[d>>2];f=J[d+4>>2];d=J[I+4>>2];J[g+232>>2]=J[I>>2];J[g+236>>2]=d;J[g+224>>2]=j;J[g+228>>2]=f;Ya(g+200|0,$,g+232|0,g+224|0);d=c+x|0;J[d>>2]=J[g+200>>2];J[d+4>>2]=J[g+204>>2];d=J[g+36>>2];if(d){J[g+40>>2]=d;na(d)}d=J[g+24>>2];if(d){J[g+28>>2]=d;na(d)}d=(G|0)>2;G=z;if(d){continue}break}break c}qa();B()}d=J[g+144>>2];if((e|0)>0){pa(d,0,e<<2)}f=J[d>>2];e=J[d+4>>2];d=J[b+4>>2];J[g+200>>2]=J[b>>2];J[g+204>>2]=d;J[g+232>>2]=f;J[g+236>>2]=e;Ya(g+8|0,a+8|0,g+200|0,g+232|0);J[c>>2]=J[g+8>>2];J[c+4>>2]=J[g+12>>2];if(t){na(t)}a=J[g+128>>2];if(a){J[g+132>>2]=a;na(a)}a=J[g+180>>2];if(a){J[g+184>>2]=a;na(a)}a=J[g+168>>2];if(a){J[g+172>>2]=a;na(a)}a=J[g+156>>2];if(a){J[g+160>>2]=a;na(a)}a=J[g+144>>2];if(a){J[g+148>>2]=a;na(a)}ba=g+240|0;return 1}function sk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,da=0,ea=0,fa=0;g=ba-240|0;ba=g;Y=J[a+36>>2];M=J[a+32>>2];J[g+184>>2]=0;J[g+188>>2]=0;J[g+176>>2]=0;J[g+180>>2]=0;J[g+168>>2]=0;J[g+172>>2]=0;J[g+160>>2]=0;J[g+164>>2]=0;J[g+152>>2]=0;J[g+156>>2]=0;J[g+144>>2]=0;J[g+148>>2]=0;if(e){Fa(g+144|0,e);h=J[g+156>>2];d=J[g+160>>2]}else{d=0}d=d-h>>2;a:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break a}J[g+160>>2]=(e<<2)+h;break a}Fa(g+144|12,e-d|0)}f=J[g+168>>2];d=J[g+172>>2]-f>>2;b:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break b}J[g+172>>2]=f+(e<<2);break b}Fa(g+168|0,e-d|0)}c:{d:{f=J[g+180>>2];d=J[g+184>>2]-f>>2;e:{f:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[g+184>>2]=f+(e<<2)}J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;if(e){break f}d=1;break e}Fa(g+180|0,e-d|0);J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0}if(e>>>0>=1073741824){break d}d=e<<2;f=oa(d);J[g+128>>2]=f;i=d+f|0;J[g+136>>2]=i;pa(f,0,d);J[g+132>>2]=i;d=0}x=a+136|0;i=J[a+136>>2];f=J[a+140>>2]-i>>2;g:{h:{if(f>>>0>>0){Fa(x,e-f|0);J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;d=g- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;break h}if(e>>>0>>0){J[a+140>>2]=i+(e<<2)}J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;f=g- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;v=0;if(d){break g}}d=e<<2;s=oa(d);v=pa(s,0,d)+d|0}d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break c}E=e&-2;F=e&1;Z=e&-4;N=e&3;G=e-1|0;O=e<<2;_=a+8|0;I=a+96|0;D=d>>>2|0;L=v-s|0;z=L>>2;Q=(L-4&-4)+4|0;$=g+36|0;aa=g+24|0;while(1){d=J[a+40>>2];f=J[d>>2];i:{j:{w=D-1|0;if(w>>>0>2]-f>>2>>>0){d=0;l=0;k=J[f+(w<<2)>>2];k:{if((k|0)==-1){break k}j=J[M+12>>2];i=k+2|0;l=(k>>>0)%3|0;y=j+((l?k-1|0:i)<<2)|0;f=0;A=(l|0)!=0|(i|0)!=-1;p=1;i=k;while(1){l=J[j+(i<<2)>>2];l:{if((l|0)==-1){break l}m=J[Y>>2];n=J[M>>2];t=J[m+(J[n+(l<<2)>>2]<<2)>>2];h=l+1|0;h=(h>>>0)%3|0?h:l-2|0;if((h|0)!=-1){o=J[n+(h<<2)>>2]}else{o=-1}m:{n:{if((l>>>0)%3|0){h=l-1|0;break n}h=l+2|0;q=-1;if((h|0)==-1){break m}}q=J[n+(h<<2)>>2]}if((t|0)>=(w|0)){break l}h=J[(o<<2)+m>>2];if((h|0)>=(w|0)){break l}n=J[m+(q<<2)>>2];if((n|0)>=(w|0)){break l}l=J[(g+144|0)+P(f,12)>>2];o:{if(!e){break o}n=P(e,n);o=P(e,h);t=P(e,t);h=0;m=0;if(G){while(1){J[l+(h<<2)>>2]=(J[(h+n<<2)+b>>2]+J[(h+o<<2)+b>>2]|0)-J[(h+t<<2)+b>>2];q=h|1;J[l+(q<<2)>>2]=(J[(n+q<<2)+b>>2]+J[(o+q<<2)+b>>2]|0)-J[(q+t<<2)+b>>2];h=h+2|0;m=m+2|0;if((E|0)!=(m|0)){continue}break}}if(!F){break o}J[l+(h<<2)>>2]=(J[(h+n<<2)+b>>2]+J[(h+o<<2)+b>>2]|0)-J[(h+t<<2)+b>>2]}l=4;f=f+1|0;if((f|0)==4){break k}}p:{if(p&1){h=i+1|0;i=(h>>>0)%3|0?h:i-2|0;l=-1;if((i|0)==-1){break p}i=J[j+(i<<2)>>2];l=-1;if((i|0)==-1){break p}l=i+1|0;l=(l>>>0)%3|0?l:i-2|0;break p}q:{if((i>>>0)%3|0){h=i-1|0;break q}h=i+2|0;l=-1;if((h|0)==-1){break p}}i=J[j+(h<<2)>>2];l=-1;if((i|0)==-1){break p}l=i-1|0;if((i>>>0)%3|0){break p}l=i+2|0}i=l;if((k|0)==(i|0)){l=f;break k}if((i|0)==-1&p){if(!A){l=f;break k}i=J[y>>2];if((i|0)==-1){l=f;break k}p=0;i=(i>>>0)%3|0?i-1|0:i+2|0}l=f;if((i|0)!=-1){continue}break}}H[g+16|0]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;J[g+28>>2]=0;J[g+32>>2]=0;J[g+20>>2]=0;J[g+24>>2]=0;S=P(e,w)<<2;t=S+b|0;k=(P(D-2|0,e)<<2)+b|0;j=J[x>>2];h=0;if(e){while(1){i=d<<2;f=J[i+k>>2]-J[i+t>>2]|0;J[i+s>>2]=f;J[i+j>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;i=f;f=f>>31;h=((i^f)-f|0)+h|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=g+200|0;Db(d,I,j,e);f=Cb(d);i=J[d+12>>2];d=J[d+16>>2];i=(((i-d|0)+1|0)/64|0)+d<<3;n=d<<3;d=i+n|0;i=(i>>31)+(n>>31)|0;j=ca+(d>>>0>>0?i+1|0:i)|0;i=d;d=d+f|0;f=i>>>0>d>>>0?j+1|0:j;A=(l|0)<=0;if(!A){p=(l<<3)-8|0;i=p+(g+48|0)|0;n=i;j=J[i>>2];i=J[i+4>>2];j=j+l|0;i=j>>>0>>0?i+1|0:i;J[n>>2]=j;J[n+4>>2]=i;u=W(Eb(j,J[p+(g+80|0)>>2])*(+(j>>>0)+ +(i|0)*4294967296));r:{if(R(u)<0x8000000000000000){j=R(u)>=1?~~(u>0?T(V(u*2.3283064365386963e-10),4294967295):W((u-+(~~u>>>0>>>0))*2.3283064365386963e-10))>>>0:0;i=~~u>>>0;break r}j=-2147483648;i=0}d=d+i|0;f=d}J[g+20>>2]=0;H[g+16|0]=0;J[g+8>>2]=d;J[g+12>>2]=h;tc(aa,k,k+O|0);bb($,s,v);s:{t:{u:{if(A){break u}n=(g+124|0)+l|0;k=n-1|0;U=l<<3;d=U-8|0;X=d+(g+48|0)|0;da=d+(g+80|0)|0;p=1;y=0;while(1){d=g+124|0;pa(d,1,l);y=y+1|0;pa(d,0,y);v:{w:while(1){if(e){pa(J[g+128>>2],0,O)}m=0;d=J[g+128>>2];f=0;while(1){if(!K[(g+124|0)+m|0]){x:{if(!e){break x}o=J[(g+144|0)+P(m,12)>>2];i=0;h=0;j=0;if(e>>>0>3){while(1){q=h<<2;r=q+d|0;J[r>>2]=J[r>>2]+J[o+q>>2];r=q|4;C=r+d|0;J[C>>2]=J[C>>2]+J[o+r>>2];r=q|8;C=r+d|0;J[C>>2]=J[C>>2]+J[o+r>>2];q=q|12;r=q+d|0;J[r>>2]=J[r>>2]+J[o+q>>2];h=h+4|0;j=j+4|0;if((Z|0)!=(j|0)){continue}break}}if(!N){break x}while(1){j=h<<2;q=j+d|0;J[q>>2]=J[q>>2]+J[j+o>>2];h=h+1|0;i=i+1|0;if((N|0)!=(i|0)){continue}break}}f=1<>2];y:{z:{A:{if(e){h=0;i=0;if(G){break A}break z}j=J[x>>2];i=0;break y}while(1){j=h<<2;m=j+d|0;J[m>>2]=J[m>>2]/(p|0);j=(j|4)+d|0;J[j>>2]=J[j>>2]/(p|0);h=h+2|0;i=i+2|0;if((E|0)!=(i|0)){continue}break}}if(F){d=(h<<2)+d|0;J[d>>2]=J[d>>2]/(p|0)}j=J[x>>2];d=J[g+128>>2];h=0;i=0;if(!e){break y}while(1){o=h<<2;m=J[o+d>>2]-J[o+t>>2]|0;J[o+s>>2]=m;J[j+o>>2]=(m|0)<0?(m^-1)<<1|1:m<<1;o=i;i=m>>31;i=o+((i^m)-i|0)|0;h=h+1|0;if((h|0)!=(e|0)){continue}break}}h=g+200|0;Db(h,I,j,e);m=Cb(h);o=J[h+12>>2];h=J[h+16>>2];j=(((o-h|0)+1|0)/64|0)+h<<3;o=h<<3;h=j+o|0;h=h+m|0;q=(l|0)>0;if(q){m=J[X+4>>2];j=J[X>>2];u=W(Eb(j,J[da>>2]+p|0)*(+(j>>>0)+ +(m|0)*4294967296));B:{if(R(u)<0x8000000000000000){o=~~u>>>0;break B}o=0}h=o+h|0}j=J[g+8>>2];if(!((j|0)<=(h|0)&((h|0)>(j|0)|(i|0)>=J[g+12>>2]))){J[g+20>>2]=p;H[g+16|0]=f;J[g+8>>2]=h;J[g+12>>2]=i;j=J[g+132>>2];m=j-d|0;h=m>>2;i=J[g+32>>2];f=J[g+24>>2];C:{if(h>>>0<=i-f>>2>>>0){m=J[g+28>>2]-f|0;i=m+d|0;r=m>>2;m=r>>>0>>0?i:j;o=m-d|0;if((d|0)!=(m|0)){ta(f,d,o)}if(h>>>0>r>>>0){h=J[g+28>>2];if((j|0)==(m|0)){break C}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((j|0)!=(i|0)){continue}break}break C}h=f+o|0;break C}if(f){J[g+28>>2]=f;na(f);J[g+32>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;i=0}if((m|0)<0){break t}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:f>>>0>h>>>0?f:h;if(f>>>0>=1073741824){break t}f=f<<2;h=oa(f);J[g+24>>2]=h;J[g+32>>2]=f+h;if((d|0)==(j|0)){break C}f=d;d=(m-4&-4)+4|0;h=ua(h,f,d)+d|0}J[g+28>>2]=h;i=J[g+44>>2];d=J[g+36>>2];D:{if(i-d>>2>>>0>=z>>>0){f=J[g+40>>2]-d|0;i=f+s|0;j=f>>2;f=j>>>0>>0?i:v;h=f-s|0;if((f|0)!=(s|0)){ta(d,s,h)}if(j>>>0>>0){h=J[g+40>>2];if((f|0)==(v|0)){break D}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((v|0)!=(i|0)){continue}break}break D}h=d+h|0;break D}if(d){J[g+40>>2]=d;na(d);J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;i=0}if((L|0)<0){break s}d=i>>>1|0;d=i>>>0>=2147483644?1073741823:d>>>0>z>>>0?d:z;if(d>>>0>=1073741824){break s}d=d<<2;h=oa(d);J[g+36>>2]=h;J[g+44>>2]=d+h;if((s|0)==(v|0)){break D}h=ua(h,s,Q)+Q|0}J[g+40>>2]=h}if((k|0)==(g+124|0)){break v}h=K[k|0];i=-1;while(1){j=h&255;d=i-1|0;f=d+n|0;h=K[f|0];if(j>>>0>h>>>0){d=n;while(1){d=d-1|0;j=K[d|0];if(j>>>0<=h>>>0){continue}break}H[f|0]=j;H[d|0]=h;if((i|0)==-1){continue w}h=i+n|0;i=k;while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0>>0){continue}break}continue w}i=d;if((f|0)!=(g+124|0)){continue}break}break}d=g+124|0;h=d;i=k;if(d>>>0>=i>>>0){break v}while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0>>0){continue}break}}p=p+1|0;if((l|0)!=(y|0)){continue}break}if(!q){break u}f=J[g+20>>2];h=f;d=g+U|0;i=h+J[d+72>>2]|0;f=J[d+76>>2]+(h>>31)|0;J[d+72>>2]=i;J[d+76>>2]=h>>>0>i>>>0?f+1|0:f}if(!e){break i}d=J[x>>2];h=0;f=J[g+36>>2];j=0;if(!G){break j}while(1){k=h<<2;i=J[k+f>>2];J[d+k>>2]=(i|0)<0?(i^-1)<<1|1:i<<1;k=k|4;i=J[k+f>>2];J[d+k>>2]=(i|0)<0?(i^-1)<<1|1:i<<1;h=h+2|0;j=j+2|0;if((E|0)!=(j|0)){continue}break}break j}qa();B()}qa();B()}ra();B()}if(!F){break i}i=h<<2;f=J[i+f>>2];J[d+i>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}Nc(g+200|0,I,J[x>>2],e);E:{if(A){break E}h=P(l,12)+a|0;i=0;while(1){F:{k=J[h+40>>2];j=k<<5;d=J[h+36>>2];G:{if(!(K[g+16|0]>>>i&1)){f=d;H:{if((d|0)!=(j|0)){break H}if((d+1|0)<0){break F}I:{if(d>>>0<=1073741822){k=k<<6;j=(d&-32)+32|0;k=j>>>0>>0?k:j;f=d;if(d>>>0>=k>>>0){break H}if((k|0)>=0){break I}break F}k=2147483647;f=-1;if(d>>>0>=2147483647){break H}}j=(k-1>>>5|0)+1|0;f=oa(j<<2);k=J[h+32>>2];J[f+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;J:{K:{if(!d){break K}n=d>>>5|0;if(d>>>0>=32){ta(f,k,n<<2)}p=d&31;if(!p){break K}n=n<<2;m=n+f|0;p=-1>>>32-p|0;J[m>>2]=J[m>>2]&(p^-1)|p&J[k+n>>2];J[h+32>>2]=f;J[h+36>>2]=d;J[h+40>>2]=j;break J}J[h+32>>2]=f;J[h+36>>2]=d;J[h+40>>2]=j;f=d;if(!k){break H}}na(k);f=J[h+36>>2]}J[h+36>>2]=f+1;d=J[h+32>>2]+(f>>>3&536870908)|0;J[d>>2]=J[d>>2]|1<>>0<=1073741822){k=k<<6;j=(d&-32)+32|0;k=j>>>0>>0?k:j;f=d;if(d>>>0>=k>>>0){break L}if((k|0)<0){break F}break M}k=2147483647;f=-1;if(d>>>0>=2147483647){break L}}j=(k-1>>>5|0)+1|0;f=oa(j<<2);k=J[h+32>>2];J[f+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;N:{O:{if(!d){break O}n=d>>>5|0;if(d>>>0>=32){ta(f,k,n<<2)}p=d&31;if(!p){break O}n=n<<2;m=n+f|0;p=-1>>>32-p|0;J[m>>2]=J[m>>2]&(p^-1)|p&J[k+n>>2];J[h+32>>2]=f;J[h+36>>2]=d;J[h+40>>2]=j;break N}J[h+32>>2]=f;J[h+36>>2]=d;J[h+40>>2]=j;f=d;if(!k){break L}}na(k);f=J[h+36>>2]}J[h+36>>2]=f+1;d=J[h+32>>2]+(f>>>3&536870908)|0;k=J[d>>2];ea=d,fa=Kl(f)&k,J[ea>>2]=fa}i=i+1|0;if((l|0)!=(i|0)){continue}break E}break}qa();B()}d=J[g+24>>2];f=J[d>>2];d=J[d+4>>2];i=J[t+4>>2];J[g+232>>2]=J[t>>2];J[g+236>>2]=i;J[g+224>>2]=f;J[g+228>>2]=d;Ya(g+200|0,_,g+232|0,g+224|0);d=c+S|0;J[d>>2]=J[g+200>>2];J[d+4>>2]=J[g+204>>2];d=J[g+36>>2];if(d){J[g+40>>2]=d;na(d)}d=J[g+24>>2];if(d){J[g+28>>2]=d;na(d)}d=(D|0)>2;D=w;if(d){continue}break}break c}qa();B()}d=J[g+144>>2];if((e|0)>0){pa(d,0,e<<2)}e=J[d>>2];d=J[d+4>>2];f=J[b+4>>2];J[g+200>>2]=J[b>>2];J[g+204>>2]=f;J[g+232>>2]=e;J[g+236>>2]=d;Ya(g+8|0,a+8|0,g+200|0,g+232|0);J[c>>2]=J[g+8>>2];J[c+4>>2]=J[g+12>>2];if(s){na(s)}a=J[g+128>>2];if(a){J[g+132>>2]=a;na(a)}a=J[g+180>>2];if(a){J[g+184>>2]=a;na(a)}a=J[g+168>>2];if(a){J[g+172>>2]=a;na(a)}a=J[g+156>>2];if(a){J[g+160>>2]=a;na(a)}a=J[g+144>>2];if(a){J[g+148>>2]=a;na(a)}ba=g+240|0;return 1}function Mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=ba-32|0;ba=i;c=J[b+8>>2];a:{b:{if(K[b+288|0]){c=jf(c);e=J[b+12>>2];J[b+12>>2]=c;if(e){break b}break a}c=kf(c);e=J[b+12>>2];J[b+12>>2]=c;if(!e){break a}}qc(e)}c=J[b+12>>2];c:{if(!(J[c+40>>2]!=((J[c+4>>2]-J[c>>2]>>2>>>0)/3|0)?c:0)){b=oa(32);H[b+29|0]=0;c=K[1828]|K[1829]<<8|(K[1830]<<16|K[1831]<<24);d=K[1824]|K[1825]<<8|(K[1826]<<16|K[1827]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1823]|K[1824]<<8|(K[1825]<<16|K[1826]<<24);d=K[1819]|K[1820]<<8|(K[1821]<<16|K[1822]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1815]|K[1816]<<8|(K[1817]<<16|K[1818]<<24);d=K[1811]|K[1812]<<8|(K[1813]<<16|K[1814]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1807]|K[1808]<<8|(K[1809]<<16|K[1810]<<24);d=K[1803]|K[1804]<<8|(K[1805]<<16|K[1806]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,29);na(b);break c}J[b+264>>2]=b;Aa((J[c+28>>2]-J[c+24>>2]>>2)-J[c+44>>2]|0,J[J[b+4>>2]+44>>2]);c=J[b+12>>2];Aa(((J[c+4>>2]-J[c>>2]>>2>>>0)/3|0)-J[c+40>>2]|0,J[J[b+4>>2]+44>>2]);c=J[b+8>>2];d=J[c+100>>2];c=J[c+96>>2];H[i+16|0]=0;o=b+28|0;j=(d-c|0)/12|0;c=i+16|0;Na(o,j,c);d=J[b+12>>2];e=J[d+28>>2];d=J[d+24>>2];J[i+16>>2]=-1;wb(b+52|0,e-d>>2,c);c=J[b+40>>2];J[b+44>>2]=c;d:{e:{f:{g:{h:{i:{j:{d=J[b+12>>2];e=J[d+4>>2]-J[d>>2]>>2;e=e-((e>>>0)%3|0)|0;k:{if(e>>>0<=J[b+48>>2]-c>>2>>>0){break k}if(e>>>0>=1073741824){break j}g=e<<2;e=oa(g);J[b+44>>2]=e;J[b+40>>2]=e;J[b+48>>2]=e+g;if(!c){break k}na(c);d=J[b+12>>2]}c=J[d+28>>2];d=J[d+24>>2];H[i+16|0]=0;Na(b+84|0,c-d>>2,i+16|0);J[b+164>>2]=-1;J[b+168>>2]=0;J[b+100>>2]=J[b+96>>2];J[b+112>>2]=J[b+108>>2];if(J[b+132>>2]){d=J[b+128>>2];if(d){while(1){c=J[d>>2];na(d);d=c;if(c){continue}break}}d=0;J[b+128>>2]=0;c=J[b+124>>2];l:{if(!c){break l}if(c>>>0>=4){k=c&-4;g=0;while(1){e=d<<2;J[e+J[b+120>>2]>>2]=0;J[J[b+120>>2]+(e|4)>>2]=0;J[J[b+120>>2]+(e|8)>>2]=0;J[J[b+120>>2]+(e|12)>>2]=0;d=d+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}}c=c&3;if(!c){break l}e=0;while(1){J[J[b+120>>2]+(d<<2)>>2]=0;d=d+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}J[b+132>>2]=0}J[b+144>>2]=0;c=J[b+12>>2];d=J[c+28>>2];c=J[c+24>>2];J[i+16>>2]=-1;wb(b+152|0,d-c>>2,i+16|0);c=J[b+72>>2];J[b+76>>2]=c;s=b+72|0;d=J[b+12>>2];d=J[d+4>>2]-J[d>>2]|0;e=(d>>2>>>0)/3|0;m:{if(e>>>0<=J[b+80>>2]-c>>2>>>0){break m}if((d|0)<0){break i}e=e<<2;d=oa(e);J[b+76>>2]=d;J[b+72>>2]=d;J[b+80>>2]=d+e;if(!c){break m}na(c)}J[b- -64>>2]=0;if(!jg(b)){b=oa(32);H[b+29|0]=0;c=K[1768]|K[1769]<<8|(K[1770]<<16|K[1771]<<24);d=K[1764]|K[1765]<<8|(K[1766]<<16|K[1767]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1763]|K[1764]<<8|(K[1765]<<16|K[1766]<<24);d=K[1759]|K[1760]<<8|(K[1761]<<16|K[1762]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1755]|K[1756]<<8|(K[1757]<<16|K[1758]<<24);d=K[1751]|K[1752]<<8|(K[1753]<<16|K[1754]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1747]|K[1748]<<8|(K[1749]<<16|K[1750]<<24);d=K[1743]|K[1744]<<8|(K[1745]<<16|K[1746]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,29);na(b);break c}c=b;n:{if(K[b+288|0]){break n}b=J[c+8>>2];e=J[b+12>>2]-J[b+8>>2]|0;g=e>>2;d=g-1|0;b=J[c+176>>2];f=J[c+172>>2];k=(b-f|0)/136|0;o:{if(d>>>0>k>>>0){bg(c+172|0,d-k|0);break o}if(d>>>0>=k>>>0){break o}k=f+P(d,136)|0;if((k|0)!=(b|0)){while(1){d=b-136|0;f=J[d+116>>2];if(f){J[b-16>>2]=f;na(f)}f=J[b-32>>2];if(f){J[b-28>>2]=f;na(f)}pc(b-132|0);b=d;if((k|0)!=(b|0)){continue}break}}J[c+176>>2]=k}if((e|0)==4|(e|0)<=0){break n}k=(g|0)<=1?1:g;b=0;p:{while(1){f=J[J[J[c+8>>2]+8>>2]+(b<<2)>>2];if(J[f+56>>2]){h=P(n,136);d=h+J[c+172>>2]|0;J[d>>2]=b;e=J[d+104>>2];J[d+108>>2]=e;g=J[c+12>>2];g=J[g+4>>2]-J[g>>2]|0;j=g>>2;q:{if(j>>>0<=J[d+112>>2]-e>>2>>>0){break q}if((g|0)<0){break p}g=oa(g);J[d+108>>2]=g;J[d+104>>2]=g;J[d+112>>2]=g+(j<<2);if(!e){break q}na(e)}d=h+J[c+172>>2]|0;J[d+128>>2]=0;lf(d+4|0,J[c+8>>2],J[c+12>>2],f);n=n+1|0}b=b+1|0;if((k|0)!=(b|0)){continue}break}break n}qa();B()}b=(J[c+176>>2]-J[c+172>>2]|0)/136|0;H[i+31|0]=b;d=J[J[c+4>>2]+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){sa(d,J[d+4>>2],i+31|0,i+32|0);b=K[i+31|0]}J[c+284>>2]=b&255;b=J[c+12>>2];d=J[b>>2];b=J[b+4>>2];n=c+200|0;hg(n);g=0;J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;k=0;b=b-d|0;if((b|0)>0){b=b>>>2|0;t=b>>>0<=1?1:b;d=0;while(1){b=(d>>>0)/3|0;p=b>>>5<<2;r=1<>2]+p>>2]){break r}if(Fc(J[c+12>>2],b)){break r}J[i+8>>2]=0;b=gg(c,b,i+8|0);Ca(n,b);f=J[i+8>>2];if(b){h=-1;e=-1;j=-1;s:{if((f|0)==-1){break s}l=J[J[c+12>>2]>>2];b=l+(f<<2)|0;h=f+1|0;h=(h>>>0)%3|0?h:f-2|0;if((h|0)!=-1){e=J[l+(h<<2)>>2]}h=J[b>>2];t:{if((f>>>0)%3|0){b=f-1|0;break t}b=f+2|0;j=-1;if((b|0)==-1){break s}}j=J[l+(b<<2)>>2]}b=J[c+84>>2];l=b+(h>>>3&536870908)|0;J[l>>2]=J[l>>2]|1<>>3&536870908)|0;J[h>>2]=J[h>>2]|1<>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];h=J[c+104>>2];u:{if(b>>>0>>0){J[b>>2]=1;J[c+100>>2]=b+4;break u}j=b;b=J[c+96>>2];j=j-b|0;l=j>>2;e=l+1|0;if(e>>>0>=1073741824){break h}q=l<<2;h=h-b|0;l=h>>>1|0;e=h>>>0>=2147483644?1073741823:e>>>0>>0?l:e;if(e){if(e>>>0>=1073741824){break g}h=oa(e<<2)}else{h=0}l=q+h|0;J[l>>2]=1;q=e<<2;e=ta(h,b,j);J[c+104>>2]=q+e;J[c+100>>2]=l+4;J[c+96>>2]=e;if(!b){break u}na(b)}b=J[o>>2]+p|0;J[b>>2]=J[b>>2]|r;h=-1;if((f|0)!=-1){b=f+1|0;h=(b>>>0)%3|0?b:f-2|0}v:{if(g>>>0>>0){J[g>>2]=h;g=g+4|0;J[i+20>>2]=g;break v}e=g-k>>2;b=e+1|0;if(b>>>0>=1073741824){break f}j=m-k|0;m=j>>>1|0;b=j>>>0>=2147483644?1073741823:b>>>0>>0?m:b;if(b){if(b>>>0>=1073741824){break g}j=oa(b<<2)}else{j=0}e=j+(e<<2)|0;J[e>>2]=h;m=j+(b<<2)|0;b=e+4|0;if((g|0)!=(k|0)){while(1){e=e-4|0;g=g-4|0;J[e>>2]=J[g>>2];if((g|0)!=(k|0)){continue}break}}J[i+24>>2]=m;J[i+20>>2]=b;J[i+16>>2]=e;if(k){na(k)}k=e;g=b}if((f|0)==-1){break r}b=f+1|0;b=(b>>>0)%3|0?b:f-2|0;if((b|0)==-1){break r}b=J[J[J[c+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break r}e=(b>>>0)/3|0;if(J[J[o>>2]+(e>>>3&268435452)>>2]>>>e&1){break r}if(fg(c,b)){break r}break e}if((f|0)!=-1){b=f+1|0;b=(b>>>0)%3|0?b:f-2|0}else{b=-1}Hc(c,b,1);if(!fg(c,J[i+8>>2])){break e}}d=d+1|0;if((t|0)!=(d|0)){continue}break}}d=J[c+72>>2];b=J[c+76>>2];w:{if((d|0)==(b|0)){break w}e=b-4|0;if(e>>>0<=d>>>0){break w}while(1){f=J[d>>2];J[d>>2]=J[e>>2];J[e>>2]=f;d=d+4|0;e=e-4|0;if(d>>>0>>0){continue}break}}eg(s,b,k,g);x:{if(J[c+172>>2]==J[c+176>>2]){break x}b=J[c+8>>2];d=J[b+100>>2];b=J[b+96>>2];H[i+8|0]=0;Na(o,(d-b|0)/12|0,i+8|0);d=J[c+72>>2];b=J[c+76>>2];if((d|0)==(b|0)){break x}while(1){dg(c,J[d>>2]);d=d+4|0;if((b|0)!=(d|0)){continue}break}}e=n;h=e+32|0;b=J[e+64>>2];b=J[(da[J[J[b>>2]+40>>2]](b)|0)+56>>2];Fd(h,P((J[b+100>>2]-J[b+96>>2]|0)/12|0,3),0,1);b=J[e+72>>2]-J[e+68>>2]|0;y:{if((b|0)<=0){break y}d=J[e+52>>2];if(!J[e+48>>2]&(d|0)<=0|(d|0)<0){break y}b=b>>>2|0;while(1){g=b;b=b-1|0;d=J[e+52>>2];z:{if(!J[e+48>>2]&(d|0)<=0|(d|0)<0){break z}o=J[J[e+68>>2]+(b<<2)>>2];if(!(171>>>o&1)){break z}j=J[(o<<2)+11152>>2];f=J[e+44>>2];d=J[f+4>>2];n=0;while(1){m=d>>>3|0;p=m+J[f>>2]|0;l=K[p|0];d=d&7;u=p,v=Kl(d)&l,H[u|0]=v;m=m+J[f>>2]|0;H[m|0]=K[m|0]|(o>>>n&1)<>2]+1|0;J[f+4>>2]=d;n=n+1|0;if((j|0)!=(n|0)){continue}break}}if((g|0)>1){continue}break}}Ed(h);b=c+232|0;ya(e,b);if(!(!J[c+280>>2]|J[c+284>>2]<=0)){d=0;while(1){ya(J[c+280>>2]+(d<<5)|0,b);d=d+1|0;if((d|0)>2]){continue}break}}Aa(J[c+272>>2]-J[c+268>>2]>>2,J[J[c+4>>2]+44>>2]);Aa(J[c+168>>2],J[J[c+4>>2]+44>>2]);if(!cg(c)){b=oa(32);H[b+28|0]=0;c=K[1909]|K[1910]<<8|(K[1911]<<16|K[1912]<<24);H[b+24|0]=c;H[b+25|0]=c>>>8;H[b+26|0]=c>>>16;H[b+27|0]=c>>>24;c=K[1905]|K[1906]<<8|(K[1907]<<16|K[1908]<<24);d=K[1901]|K[1902]<<8|(K[1903]<<16|K[1904]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1897]|K[1898]<<8|(K[1899]<<16|K[1900]<<24);d=K[1893]|K[1894]<<8|(K[1895]<<16|K[1896]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1889]|K[1890]<<8|(K[1891]<<16|K[1892]<<24);d=K[1885]|K[1886]<<8|(K[1887]<<16|K[1888]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,28);na(b);break d}b=J[J[c+4>>2]+44>>2];d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){sa(b,J[b+4>>2],J[c+232>>2],J[c+236>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break d}qa();B()}qa();B()}qa();B()}xa();B()}qa();B()}b=oa(48);H[b+32|0]=0;c=K[1703]|K[1704]<<8|(K[1705]<<16|K[1706]<<24);d=K[1699]|K[1700]<<8|(K[1701]<<16|K[1702]<<24);H[b+24|0]=d;H[b+25|0]=d>>>8;H[b+26|0]=d>>>16;H[b+27|0]=d>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1695]|K[1696]<<8|(K[1697]<<16|K[1698]<<24);d=K[1691]|K[1692]<<8|(K[1693]<<16|K[1694]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1687]|K[1688]<<8|(K[1689]<<16|K[1690]<<24);d=K[1683]|K[1684]<<8|(K[1685]<<16|K[1686]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1679]|K[1680]<<8|(K[1681]<<16|K[1682]<<24);d=K[1675]|K[1676]<<8|(K[1677]<<16|K[1678]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,32);na(b)}if(!k){break c}na(k)}ba=i+32|0}function lf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=ba-16|0;ba=f;a:{b:{if(c){J[a+88>>2]=0;J[a+92>>2]=0;e=J[a+84>>2];J[a+84>>2]=0;if(e){na(e)}J[a+76>>2]=0;J[a+80>>2]=0;e=J[a+72>>2];J[a+72>>2]=0;if(e){na(e)}e=J[c>>2];g=J[c+4>>2];H[f+15|0]=0;Na(a,g-e>>2,f+15|0);e=J[c+28>>2];g=J[c+24>>2];H[f+14|0]=0;Na(a+12|0,e-g>>2,f+14|0);wb(a+28|0,J[c+4>>2]-J[c>>2]>>2,14948);g=J[c+28>>2]-J[c+24>>2]|0;h=g>>2;j=J[a+52>>2];c:{if(h>>>0<=J[a+60>>2]-j>>2>>>0){break c}if((g|0)<0){break a}e=J[a+56>>2];g=oa(g);h=g+(h<<2)|0;i=g+(e-j&-4)|0;g=i;if((e|0)!=(j|0)){while(1){g=g-4|0;e=e-4|0;J[g>>2]=J[e>>2];if((e|0)!=(j|0)){continue}break}}J[a+60>>2]=h;J[a+56>>2]=i;J[a+52>>2]=g;if(!j){break c}na(j)}g=J[c+28>>2]-J[c+24>>2]|0;h=g>>2;j=J[a+40>>2];d:{if(h>>>0<=J[a+48>>2]-j>>2>>>0){break d}if((g|0)<0){break a}e=J[a+44>>2];g=oa(g);h=g+(h<<2)|0;i=g+(e-j&-4)|0;g=i;if((e|0)!=(j|0)){while(1){g=g-4|0;e=e-4|0;J[g>>2]=J[e>>2];if((e|0)!=(j|0)){continue}break}}J[a+48>>2]=h;J[a+44>>2]=i;J[a+40>>2]=g;if(!j){break d}na(j)}H[a+24|0]=1;J[a+64>>2]=c}ba=f+16|0;c=(c|0)!=0;break b}if(c){J[a+88>>2]=0;J[a+92>>2]=0;c=J[a+84>>2];J[a+84>>2]=0;if(c){na(c)}J[a+76>>2]=0;J[a+80>>2]=0;c=J[a+72>>2];J[a+72>>2]=0;if(c){na(c)}h=J[a+64>>2];if(J[h+4>>2]!=J[h>>2]){c=0;while(1){m=(c>>>0)/3|0;f=Fc(h,m);h=J[a+64>>2];e:{if(f){break e}j=J[J[h+12>>2]+(c<<2)>>2];f:{g:{if((j|0)==-1){f=J[a>>2]+(c>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0)%3|0?f:c-2|0;if((f|0)!=-1){e=J[J[h>>2]+(f<<2)>>2]}f=J[a+12>>2];g=f+(e>>>3&536870908)|0;J[g>>2]=J[g>>2]|1<>>0)%3|0){e=c-1|0;break g}g=-1;e=c+2|0;if((e|0)!=-1){break g}break f}if(c>>>0>j>>>0){break e}e=-1;k=K[d+84|0];g=-1;l=c+1|0;n=c-2|0;i=(l>>>0)%3|0?l:n;if((i|0)>=0){f=(i>>>0)/3|0;g=J[(J[b+96>>2]+P(f,12)|0)+(i-P(f,3)<<2)>>2]}f=j+((j>>>0)%3|0?-1:2)|0;if((f|0)>=0){e=(f>>>0)/3|0;e=J[(J[b+96>>2]+P(e,12)|0)+(f-P(e,3)<<2)>>2]}if(!k){o=J[d+68>>2];e=J[o+(e<<2)>>2];g=J[(g<<2)+o>>2]}if((e|0)==(g|0)){e=-1;g=-1;if((i|0)!=-1){g=i+1|0;g=(g>>>0)%3|0?g:i-2|0}h:{if((f|0)==-1){break h}if((f>>>0)%3|0){e=f-1|0;break h}e=f+2|0}f=-1;i=-1;if((g|0)>=0){i=(g>>>0)/3|0;i=J[(J[b+96>>2]+P(i,12)|0)+(g-P(i,3)<<2)>>2]}if((e|0)>=0){f=(e>>>0)/3|0;f=J[(J[b+96>>2]+P(f,12)|0)+(e-P(f,3)<<2)>>2]}if(!k){e=J[d+68>>2];f=J[e+(f<<2)>>2];i=J[e+(i<<2)>>2]}if((f|0)==(i|0)){break e}}H[a+24|0]=0;f=J[a>>2];e=f+(c>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0)%3|0?l:n;if((f|0)!=-1){i=J[J[h>>2]+(f<<2)>>2]}f=J[a+12>>2];e=f+(i>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<>2]+(e<<2)>>2]}e=(g>>>3&536870908)+f|0;J[e>>2]=J[e>>2]|1<>>0)%3|0?e:j-2|0;if((e|0)!=-1){g=J[J[h>>2]+(e<<2)>>2]}e=(g>>>3&536870908)+f|0;J[e>>2]=J[e>>2]|1<>>0)%3|0){e=j-1|0;break g}g=-1;e=j+2|0;if((e|0)==-1){break f}}g=J[J[h>>2]+(e<<2)>>2]}f=(g>>>3&536870908)+f|0;J[f>>2]=J[f>>2]|1<>>0>2]-J[h>>2]>>2>>>0){continue}break}}if(!(!b|!d)){h=b;j=d;b=0;l=0;e=a;J[e+56>>2]=J[e+52>>2];J[e+44>>2]=J[e+40>>2];k:{d=J[e+64>>2];f=J[d+24>>2];if((f|0)==J[d+28>>2]){break k}l:{m:{while(1){a=b;b=J[(l<<2)+f>>2];n:{if((b|0)==-1){b=a;break n}if((b|0)<0){c=-1}else{c=(b>>>0)/3|0;c=J[(J[h+96>>2]+P(c,12)|0)+(b-P(c,3)<<2)>>2]}c=K[j+84|0]?c:J[J[j+68>>2]+(c<<2)>>2];d=J[e+56>>2];g=J[e+60>>2];o:{if(d>>>0>>0){J[d>>2]=c;J[e+56>>2]=d+4;break o}i=J[e+52>>2];m=d-i>>2;f=m+1|0;if(f>>>0>=1073741824){break a}g=g-i|0;k=g>>>1|0;k=g>>>0>=2147483644?1073741823:f>>>0>>0?k:f;if(k){if(k>>>0>=1073741824){break m}g=oa(k<<2)}else{g=0}f=g+(m<<2)|0;J[f>>2]=c;c=f+4|0;if((d|0)!=(i|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(i|0)){continue}break}}J[e+60>>2]=g+(k<<2);J[e+56>>2]=c;J[e+52>>2]=f;if(!i){break o}na(i)}p:{q:{if(!(J[J[e+12>>2]+(l>>>3&536870908)>>2]>>>l&1)){break q}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)==-1|J[J[e>>2]+(c>>>3&536870908)>>2]>>>c&1){break q}c=J[J[J[e+64>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break q}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0;if((d|0)==-1){break q}g=J[e+64>>2];i=J[e>>2];while(1){c=d;d=-1;f=c+1|0;f=(f>>>0)%3|0?f:c-2|0;r:{if((f|0)==-1|J[i+(f>>>3&536870908)>>2]>>>f&1){break r}f=J[J[g+12>>2]+(f<<2)>>2];if((f|0)==-1){break r}d=f+1|0;d=(d>>>0)%3|0?d:f-2|0}if((b|0)!=(d|0)){if((d|0)==-1){break p}continue}break}break k}c=b}J[J[e+28>>2]+(c<<2)>>2]=a;d=J[e+44>>2];s:{if((d|0)!=J[e+48>>2]){J[d>>2]=c;J[e+44>>2]=d+4;break s}g=J[e+40>>2];b=d-g|0;k=b>>2;f=k+1|0;if(f>>>0>=1073741824){break l}i=b>>>1|0;i=b>>>0>=2147483644?1073741823:f>>>0>>0?i:f;if(i){if(i>>>0>=1073741824){break m}b=oa(i<<2)}else{b=0}f=b+(k<<2)|0;J[f>>2]=c;k=f+4|0;if((d|0)!=(g|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+48>>2]=b+(i<<2);J[e+44>>2]=k;J[e+40>>2]=f;if(!g){break s}na(g)}b=a+1|0;d=J[e+64>>2];if((c|0)==-1){break n}t:{if((c>>>0)%3|0){f=c-1|0;break t}f=c+2|0;if((f|0)==-1){break n}}f=J[J[d+12>>2]+(f<<2)>>2];if((f|0)==-1){break n}i=f+((f>>>0)%3|0?-1:2)|0;if((i|0)==-1|(c|0)==(i|0)){break n}while(1){d=i+1|0;d=(d>>>0)%3|0?d:i-2|0;if(J[J[e>>2]+(d>>>3&536870908)>>2]>>>d&1){g=(i|0)<0?-1:J[(J[h+96>>2]+P((i>>>0)/3|0,12)|0)+((i>>>0)%3<<2)>>2];g=K[j+84|0]?g:J[J[j+68>>2]+(g<<2)>>2];d=J[e+56>>2];f=J[e+60>>2];u:{if(d>>>0>>0){J[d>>2]=g;J[e+56>>2]=d+4;break u}k=J[e+52>>2];n=d-k>>2;a=n+1|0;if(a>>>0>=1073741824){break a}f=f-k|0;m=f>>>1|0;m=f>>>0>=2147483644?1073741823:a>>>0>>0?m:a;if(m){if(m>>>0>=1073741824){break m}a=oa(m<<2)}else{a=0}f=a+(n<<2)|0;J[f>>2]=g;g=f+4|0;if((d|0)!=(k|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(k|0)){continue}break}}J[e+60>>2]=a+(m<<2);J[e+56>>2]=g;J[e+52>>2]=f;if(!k){break u}na(k)}g=b+1|0;d=J[e+44>>2];v:{if((d|0)!=J[e+48>>2]){J[d>>2]=i;J[e+44>>2]=d+4;break v}k=J[e+40>>2];a=d-k|0;n=a>>2;f=n+1|0;if(f>>>0>=1073741824){break l}m=a>>>1|0;m=a>>>0>=2147483644?1073741823:f>>>0>>0?m:f;if(m){if(m>>>0>=1073741824){break m}a=oa(m<<2)}else{a=0}f=a+(n<<2)|0;J[f>>2]=i;n=f+4|0;if((d|0)!=(k|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(k|0)){continue}break}}J[e+48>>2]=a+(m<<2);J[e+44>>2]=n;J[e+40>>2]=f;if(!k){break v}na(k)}a=b;b=g}J[J[e+28>>2]+(i<<2)>>2]=a;d=J[e+64>>2];w:{if((i>>>0)%3|0){f=i-1|0;break w}f=i+2|0;if((f|0)==-1){break n}}f=J[J[d+12>>2]+(f<<2)>>2];if((f|0)==-1){break n}i=f+((f>>>0)%3|0?-1:2)|0;if((i|0)==-1){break n}if((c|0)!=(i|0)){continue}break}}l=l+1|0;f=J[d+24>>2];if(l>>>0>2]-f>>2>>>0){continue}break}break k}xa();B()}break a}return}b=0;f=0;e=a;J[e+56>>2]=J[e+52>>2];J[e+44>>2]=J[e+40>>2];x:{d=J[e+64>>2];h=J[d+24>>2];if((h|0)==J[d+28>>2]){break x}y:{z:{while(1){a=b;b=J[(f<<2)+h>>2];A:{if((b|0)==-1){b=a;break A}d=J[e+56>>2];B:{if((d|0)!=J[e+60>>2]){J[d>>2]=a;J[e+56>>2]=d+4;break B}g=J[e+52>>2];c=d-g|0;h=c>>2;j=h+1|0;if(j>>>0>=1073741824){break a}i=c>>>1|0;j=c>>>0>=2147483644?1073741823:i>>>0>j>>>0?i:j;if(j){if(j>>>0>=1073741824){break z}c=oa(j<<2)}else{c=0}h=c+(h<<2)|0;J[h>>2]=a;i=h+4|0;if((d|0)!=(g|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+60>>2]=c+(j<<2);J[e+56>>2]=i;J[e+52>>2]=h;if(!g){break B}na(g)}C:{D:{if(!(J[J[e+12>>2]+(f>>>3&536870908)>>2]>>>f&1)){break D}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)==-1|J[J[e>>2]+(c>>>3&536870908)>>2]>>>c&1){break D}c=J[J[J[e+64>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break D}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0;if((d|0)==-1){break D}j=J[e+64>>2];h=J[e>>2];while(1){c=d;d=-1;g=c+1|0;g=(g>>>0)%3|0?g:c-2|0;E:{if((g|0)==-1|J[h+(g>>>3&536870908)>>2]>>>g&1){break E}g=J[J[j+12>>2]+(g<<2)>>2];if((g|0)==-1){break E}d=g+1|0;d=(d>>>0)%3|0?d:g-2|0}if((b|0)!=(d|0)){if((d|0)==-1){break C}continue}break}break x}c=b}J[J[e+28>>2]+(c<<2)>>2]=a;d=J[e+44>>2];F:{if((d|0)!=J[e+48>>2]){J[d>>2]=c;J[e+44>>2]=d+4;break F}g=J[e+40>>2];b=d-g|0;h=b>>2;j=h+1|0;if(j>>>0>=1073741824){break y}i=b>>>1|0;j=b>>>0>=2147483644?1073741823:i>>>0>j>>>0?i:j;if(j){if(j>>>0>=1073741824){break z}b=oa(j<<2)}else{b=0}h=b+(h<<2)|0;J[h>>2]=c;i=h+4|0;if((d|0)!=(g|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+48>>2]=b+(j<<2);J[e+44>>2]=i;J[e+40>>2]=h;if(!g){break F}na(g)}b=a+1|0;d=J[e+64>>2];if((c|0)==-1){break A}G:{if((c>>>0)%3|0){h=c-1|0;break G}h=c+2|0;if((h|0)==-1){break A}}g=J[J[d+12>>2]+(h<<2)>>2];if((g|0)==-1){break A}g=g+((g>>>0)%3|0?-1:2)|0;if((g|0)==-1|(c|0)==(g|0)){break A}while(1){d=g+1|0;d=(d>>>0)%3|0?d:g-2|0;if(J[J[e>>2]+(d>>>3&536870908)>>2]>>>d&1){d=J[e+56>>2];H:{if((d|0)!=J[e+60>>2]){J[d>>2]=b;J[e+56>>2]=d+4;break H}j=J[e+52>>2];a=d-j|0;l=a>>2;h=l+1|0;if(h>>>0>=1073741824){break a}i=a>>>1|0;i=a>>>0>=2147483644?1073741823:i>>>0>h>>>0?i:h;if(i){if(i>>>0>=1073741824){break z}a=oa(i<<2)}else{a=0}h=a+(l<<2)|0;J[h>>2]=b;l=h+4|0;if((d|0)!=(j|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(j|0)){continue}break}}J[e+60>>2]=a+(i<<2);J[e+56>>2]=l;J[e+52>>2]=h;if(!j){break H}na(j)}j=b+1|0;d=J[e+44>>2];I:{if((d|0)!=J[e+48>>2]){J[d>>2]=g;J[e+44>>2]=d+4;break I}i=J[e+40>>2];a=d-i|0;k=a>>2;h=k+1|0;if(h>>>0>=1073741824){break y}l=a>>>1|0;l=a>>>0>=2147483644?1073741823:h>>>0>>0?l:h;if(l){if(l>>>0>=1073741824){break z}a=oa(l<<2)}else{a=0}h=a+(k<<2)|0;J[h>>2]=g;k=h+4|0;if((d|0)!=(i|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(i|0)){continue}break}}J[e+48>>2]=a+(l<<2);J[e+44>>2]=k;J[e+40>>2]=h;if(!i){break I}na(i)}a=b;b=j}J[J[e+28>>2]+(g<<2)>>2]=a;d=J[e+64>>2];J:{if((g>>>0)%3|0){h=g-1|0;break J}h=g+2|0;if((h|0)==-1){break A}}g=J[J[d+12>>2]+(h<<2)>>2];if((g|0)==-1){break A}g=g+((g>>>0)%3|0?-1:2)|0;if((g|0)==-1){break A}if((c|0)!=(g|0)){continue}break}}f=f+1|0;h=J[d+24>>2];if(f>>>0>2]-h>>2>>>0){continue}break}break x}xa();B()}break a}}return}qa();B()}function mf(a){var 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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;z=ba-16|0;ba=z;b=oa(88);J[b>>2]=0;J[b+4>>2]=0;J[b+56>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;c=b- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+60>>2]=b;c=a;w=ba-16|0;ba=w;J[b+80>>2]=0;J[b+84>>2]=0;d=J[b+76>>2];a=b;J[b+76>>2]=0;if(d){na(d)}J[a+68>>2]=0;J[a+72>>2]=0;b=a- -64|0;d=J[b>>2];J[b>>2]=0;if(d){na(d)}f=J[c+4>>2];d=J[c>>2];b=(f-d|0)/12|0;l=P(b,3);i=J[a>>2];e=J[a+4>>2]-i>>2;a:{if(l>>>0>e>>>0){Ld(a,l-e|0);f=J[c+4>>2];d=J[c>>2];b=(f-d|0)/12|0;break a}if(e>>>0<=l>>>0){break a}J[a+4>>2]=i+(l<<2)}b:{if((d|0)==(f|0)){break b}f=b>>>0<=1?1:b;e=f&1;g=J[a>>2];c=0;if(b>>>0>=2){i=f&-2;b=0;while(1){j=P(c,12);f=j+g|0;l=d+j|0;J[f>>2]=J[l>>2];J[g+(j|4)>>2]=J[l+4>>2];J[f+8>>2]=J[l+8>>2];f=P(c|1,12);l=f+g|0;f=d+f|0;J[l>>2]=J[f>>2];J[l+4>>2]=J[f+4>>2];J[l+8>>2]=J[f+8>>2];c=c+2|0;b=b+2|0;if((i|0)!=(b|0)){continue}break}}if(!e){break b}c=P(c,12);b=c+g|0;c=c+d|0;J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2]}J[w+12>>2]=-1;c=0;f=0;g=0;o=ba-32|0;ba=o;c:{s=w+12|0;d:{if(!s){break d}b=J[a+4>>2];j=J[a>>2];e=b-j|0;m=e>>2;d=J[a+12>>2];i=J[a+16>>2]-d>>2;e:{if(m>>>0>i>>>0){Ma(a+12|0,m-i|0,14880);b=J[a+4>>2];j=J[a>>2];e=b-j|0;m=e>>2;break e}if(i>>>0<=m>>>0){break e}J[a+16>>2]=d+(m<<2)}J[o+24>>2]=0;J[o+16>>2]=0;J[o+20>>2]=0;d=(b|0)==(j|0);if(!d){if((e|0)<0){break c}f=oa(e);J[o+20>>2]=f;J[o+16>>2]=f;J[o+24>>2]=(m<<2)+f}f:{g:{h:{i:{j:{if(e){while(1){d=J[(c<<2)+j>>2];e=J[o+20>>2]-f>>2;k:{if(d>>>0>>0){break k}J[o>>2]=0;i=d+1|0;if(i>>>0>e>>>0){jc(o+16|0,i-e|0,o);j=J[a>>2];b=J[a+4>>2];f=J[o+16>>2];break k}if(e>>>0<=i>>>0){break k}J[o+20>>2]=(i<<2)+f}d=(d<<2)+f|0;J[d>>2]=J[d>>2]+1;c=c+1|0;e=b-j|0;m=e>>2;if(c>>>0>>0){continue}break}break j}e=0;if(!d){break i}break h}if((b|0)==(j|0)){e=0;break h}if(e>>>0>=2147483645){break g}}e=oa(e<<1);pa(e,255,m<<3)}J[o+8>>2]=0;J[o>>2]=0;J[o+4>>2]=0;c=J[o+20>>2];b=c-f|0;y=b>>2;l:{m:{if((c|0)==(f|0)){break m}if((b|0)<0){break l}v=oa(b);J[o>>2]=v;J[o+8>>2]=(y<<2)+v;q=pa(v,0,b);J[o+4>>2]=q+b;b=y>>>0<=1?1:y;l=b&3;c=0;if(b-1>>>0>=3){i=b&-4;while(1){p=g<<2;J[p+q>>2]=c;b=p|4;c=J[f+p>>2]+c|0;J[b+q>>2]=c;d=p|8;c=c+J[b+f>>2]|0;J[d+q>>2]=c;b=p|12;c=c+J[d+f>>2]|0;J[b+q>>2]=c;c=c+J[b+f>>2]|0;g=g+4|0;h=h+4|0;if((i|0)!=(h|0)){continue}break}}if(!l){break m}while(1){b=g<<2;J[b+q>>2]=c;g=g+1|0;c=J[b+f>>2]+c|0;r=r+1|0;if((l|0)!=(r|0)){continue}break}}if(!m){break f}u=J[a+40>>2];k=J[a+12>>2];l=0;while(1){q=l<<2;d=q+j|0;r=-1;b=l+1|0;c=(b>>>0)%3|0?b:l-2|0;if((c|0)!=-1){r=J[(c<<2)+j>>2]}p=J[d>>2];n:{o:{if(!((l>>>0)%3|0)){h=-1;c=l+2|0;if((c|0)!=-1){h=J[(c<<2)+j>>2]}if(!((p|0)==(r|0)|(h|0)==(p|0))&(h|0)!=(r|0)){break o}u=u+1|0;J[a+40>>2]=u;b=l+3|0;break n}h=J[d-4>>2]}c=h<<2;t=J[c+f>>2];p:{q:{if((t|0)<=0){break q}c=J[c+v>>2];g=0;while(1){i=(c<<3)+e|0;d=J[i>>2];if((d|0)==-1){break q}r:{if((d|0)!=(r|0)){break r}n=J[i+4>>2];if((n|0)!=-1){d=J[(n<<2)+j>>2]}else{d=-1}if((d|0)==(p|0)){break r}while(1){s:{d=c;g=g+1|0;if((t|0)<=(g|0)){break s}c=d+1|0;p=(c<<3)+e|0;x=J[p>>2];i=(d<<3)+e|0;J[i+4>>2]=J[p+4>>2];J[i>>2]=x;if((x|0)!=-1){continue}}break}J[(d<<3)+e>>2]=-1;if((n|0)==-1){break q}J[k+q>>2]=n;J[k+(n<<2)>>2]=l;break p}c=c+1|0;g=g+1|0;if((t|0)!=(g|0)){continue}break}}c=r<<2;d=J[c+f>>2];if((d|0)<=0){break p}c=J[c+v>>2];g=0;while(1){i=(c<<3)+e|0;if(J[i>>2]==-1){J[i>>2]=h;J[i+4>>2]=l;break p}c=c+1|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}}}l=b;if(l>>>0>>0){continue}break}break f}break c}ke(1313);B()}J[s>>2]=y;if(v){na(v)}if(e){na(e)}c=J[o+16>>2];if(!c){break d}J[o+20>>2]=c;na(c)}ba=o+32|0;x=(s|0)!=0;if(x){n=ba-32|0;ba=n;c=J[a>>2];g=J[a+4>>2];J[n+24>>2]=0;J[n+16>>2]=0;J[n+20>>2]=0;if((c|0)==(g|0)){b=g}else{c=g-c|0;if((c|0)<0){break c}d=c>>2;b=(d-1>>>5|0)+1|0;c=oa(b<<2);J[n+24>>2]=b;J[n+20>>2]=0;J[n+16>>2]=c;mc(n+16|0,d);g=J[a>>2];b=J[a+4>>2]}J[n+8>>2]=0;J[n>>2]=0;while(1){t:{k=0;m=0;if((b|0)==(g|0)){break t}while(1){e=J[n+16>>2];u:{if(J[e+(m>>>3&536870908)>>2]>>>m&1){break u}b=J[n>>2];J[n+4>>2]=b;f=J[a+12>>2];c=m;while(1){v:{d=c+1|0;i=c;c=(d>>>0)%3|0?d:c-2|0;if((c|0)==-1){break v}d=J[f+(c<<2)>>2];if((d|0)==-1){break v}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((m|0)==(c|0)|(c|0)==-1){break v}if(!(J[e+(c>>>3&536870908)>>2]>>>c&1)){continue}}break}j=i;w:{x:{y:{while(1){c=J[n+16>>2]+(j>>>3&536870908)|0;J[c>>2]=J[c>>2]|1<>>0)%3|0?c:j-2|0;g=J[a>>2];q=(j>>>0)%3|0;d=(q?-1:2)+j|0;l=J[n>>2];p=(l|0)==(b|0);z:{if(p){break z}t=J[(e<<2)+g>>2];s=J[a+12>>2];c=l;if((d|0)!=-1){f=s+(d<<2)|0;while(1){A:{if((t|0)!=J[c>>2]){break A}u=J[f>>2];h=J[c+4>>2];if((u|0)==(h|0)){break A}f=d;b=-1;c=-1;if((h|0)==-1){break w}break x}c=c+8|0;if((b|0)!=(c|0)){continue}break}break z}while(1){if((t|0)==J[c>>2]){u=-1;f=-1;h=J[c+4>>2];if((h|0)!=-1){break x}}c=c+8|0;if((b|0)!=(c|0)){continue}break}}g=J[(d<<2)+g>>2];B:{if(J[n+8>>2]!=(b|0)){J[b>>2]=g;J[b+4>>2]=e;b=b+8|0;J[n+4>>2]=b;break B}h=b-l|0;d=h>>3;f=d+1|0;if(f>>>0>=536870912){break c}c=h>>>2|0;h=h>>>0>=2147483640?536870911:c>>>0>f>>>0?c:f;if(h){if(h>>>0>=536870912){break y}f=oa(h<<3)}else{f=0}c=f+(d<<3)|0;J[c>>2]=g;J[c+4>>2]=e;d=c+8|0;if(!p){while(1){b=b-8|0;e=J[b+4>>2];c=c-8|0;J[c>>2]=J[b>>2];J[c+4>>2]=e;if((b|0)!=(l|0)){continue}break}b=J[n>>2]}J[n+8>>2]=f+(h<<3);J[n+4>>2]=d;J[n>>2]=c;if(b){na(b)}b=d}C:{D:{if(q){c=j-1|0;break D}c=j+2|0;if((c|0)==-1){break C}}c=J[J[a+12>>2]+(c<<2)>>2];if((c|0)==-1){break C}j=c+((c>>>0)%3|0?-1:2)|0;if((i|0)==(j|0)){break C}if((j|0)!=-1){continue}}break}g=J[a>>2];break u}xa();B()}b=J[s+(h<<2)>>2];d=f;c=h}if((u|0)!=-1){J[s+(u<<2)>>2]=-1}if((b|0)!=-1){J[s+(b<<2)>>2]=-1}J[s+(d<<2)>>2]=-1;J[s+(c<<2)>>2]=-1;k=1}m=m+1|0;b=J[a+4>>2];if(m>>>0>2>>>0){continue}break}if(k){continue}}break}c=J[n>>2];if(c){na(c)}c=J[n+16>>2];if(c){na(c)}ba=n+32|0;l=0;k=ba-32|0;ba=k;f=J[w+12>>2];J[a+36>>2]=f;t=a+24|0;c=J[a+24>>2];b=J[a+28>>2]-c>>2;E:{F:{if(b>>>0>>0){Ma(t,f-b|0,14880);J[k+24>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;break F}if(b>>>0>f>>>0){J[a+28>>2]=c+(f<<2)}J[k+24>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;if(!f){break E}}if((f|0)<0){break c}b=(f-1>>>5|0)+1|0;c=oa(b<<2);J[k+24>>2]=b;J[k+20>>2]=0;J[k+16>>2]=c;mc(k+16|0,f)}c=J[a>>2];d=J[a+4>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;G:{if((c|0)==(d|0)){c=d}else{c=d-c|0;if((c|0)<0){break c}d=c>>2;b=(d-1>>>5|0)+1|0;c=oa(b<<2);J[k+8>>2]=b;J[k+4>>2]=0;J[k>>2]=c;mc(k,d);d=J[a>>2];c=J[a+4>>2]}if(c-d>>>0<12){break G}H:{while(1){q=P(l,3);e=(q<<2)+d|0;h=J[e>>2];b=-1;i=q+1|0;if((i|0)!=-1){b=J[(i<<2)+d>>2]}I:{if((b|0)==(h|0)){break I}i=J[e+8>>2];if((i|0)==(h|0)|(b|0)==(i|0)){break I}r=0;m=J[k>>2];while(1){i=q+r|0;if(!(J[(i>>>3&536870908)+m>>2]>>>i&1)){c=J[(i<<2)+d>>2];b=1<>2];d=c>>>5|0;m=J[e+(d<<2)>>2];p=b&m;if(p){b=J[a+28>>2];J:{if((b|0)!=J[a+32>>2]){J[b>>2]=-1;J[a+28>>2]=b+4;break J}g=J[t>>2];j=b-g|0;e=j>>2;h=e+1|0;if(h>>>0>=1073741824){break c}d=j>>>1|0;j=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(j){if(j>>>0>=1073741824){break H}d=oa(j<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=-1;h=e+4|0;if((b|0)!=(g|0)){while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];if((b|0)!=(g|0)){continue}break}}J[a+32>>2]=d+(j<<2);J[a+28>>2]=h;J[a+24>>2]=e;if(!g){break J}na(g)}b=J[a+52>>2];K:{if((b|0)!=J[a+56>>2]){J[b>>2]=c;J[a+52>>2]=b+4;break K}g=J[a+48>>2];j=b-g|0;e=j>>2;h=e+1|0;if(h>>>0>=1073741824){break c}d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break H}d=oa(h<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=c;c=e+4|0;if((b|0)!=(g|0)){while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];if((b|0)!=(g|0)){continue}break}}J[a+56>>2]=d+(h<<2);J[a+52>>2]=c;J[a+48>>2]=e;if(!g){break K}na(g)}b=J[k+20>>2];c=J[k+24>>2];if((b|0)==c<<5){if((b+1|0)<0){break c}e=k+16|0;if(b>>>0<=1073741822){d=c<<6;c=(b&-32)+32|0;c=c>>>0>>0?d:c}else{c=2147483647}wc(e,c);b=J[k+20>>2]}J[k+20>>2]=b+1;e=J[k+16>>2];d=e+(b>>>3&536870908)|0;c=J[d>>2];A=d,C=Kl(b)&c,J[A>>2]=C;b=1<>>5|0;m=J[(d<<2)+e>>2];c=f;f=c+1|0}J[(d<<2)+e>>2]=b|m;j=J[a+24>>2]+(c<<2)|0;g=J[a+12>>2];d=J[a>>2];m=J[k>>2];b=i;L:{M:{N:{while(1){if((b|0)==-1){break N}e=(b>>>3&536870908)+m|0;J[e>>2]=J[e>>2]|1<>2]=b;if(p){J[(b<<2)+d>>2]=c}h=b+1|0;b=(h>>>0)%3|0?h:b-2|0;e=-1;O:{if((b|0)==-1){break O}h=J[g+(b<<2)>>2];e=-1;if((h|0)==-1){break O}b=h+1|0;e=(b>>>0)%3|0?b:h-2|0}b=e;if((i|0)!=(b|0)){continue}break}if((i|0)!=-1){break L}b=1;break M}if((i>>>0)%3|0){b=i-1|0;break M}b=i+2|0;if((b|0)==-1){break L}}b=J[g+(b<<2)>>2];if((b|0)==-1){break L}P:{if((b>>>0)%3|0){b=b-1|0;break P}b=b+2|0;if((b|0)==-1){break L}}e=J[a+12>>2];d=J[a>>2];while(1){i=(b>>>3&536870908)+m|0;J[i>>2]=J[i>>2]|1<>2]=c}Q:{if((b>>>0)%3|0){b=b-1|0;break Q}b=b+2|0;if((b|0)==-1){break L}}b=J[e+(b<<2)>>2];if((b|0)==-1){break L}b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)!=-1){continue}break}}}r=r+1|0;if((r|0)!=3){continue}break}d=J[a>>2];c=J[a+4>>2]}l=l+1|0;if(l>>>0<(c-d>>2>>>0)/3>>>0){continue}break}break G}xa();B()}b=0;J[a+44>>2]=0;c=J[k+16>>2];d=J[k+20>>2];if(d){i=d&31;f=(d>>>3&536870908)+c|0;e=c;m=0;while(1){if(!(J[e>>2]>>>b&1)){m=m+1|0;J[a+44>>2]=m}d=(b|0)==31;b=d?0:b+1|0;e=(d<<2)+e|0;if((f|0)!=(e|0)|(b|0)!=(i|0)){continue}break}}b=J[k>>2];if(b){na(b);c=J[k+16>>2]}if(c){na(c)}ba=k+32|0}ba=w+16|0;if(!x){J[z+8>>2]=0;qc(a);a=0}ba=z+16|0;return a}qa();B()}function nd(a){a=a|0;var 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;l=ba-16|0;ba=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(a>>>0<=244){g=J[4849];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+19436|0;d=J[a+19444>>2];a=J[d+8>>2];j:{if((b|0)==(a|0)){m=19396,n=Kl(c)&g,J[m>>2]=n;break j}J[a+12>>2]=b;J[b+8>>2]=a}a=d+8|0;b=c<<3;J[d+4>>2]=b|3;b=b+d|0;J[b+4>>2]=J[b+4>>2]|1;break a}k=J[4851];if(k>>>0>=h>>>0){break i}if(b){a=2<>2];a=J[e+8>>2];k:{if((b|0)==(a|0)){g=Kl(d)&g;J[4849]=g;break k}J[a+12>>2]=b;J[b+8>>2]=a}J[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;J[c+4>>2]=d|1;J[a+e>>2]=d;if(k){b=(k&-8)+19436|0;f=J[4854];a=1<<(k>>>3);l:{if(!(a&g)){J[4849]=a|g;a=b;break l}a=J[b+8>>2]}J[b+8>>2]=f;J[a+12>>2]=f;J[f+12>>2]=b;J[f+8>>2]=a}a=e+8|0;J[4854]=c;J[4851]=d;break a}j=J[4850];if(!j){break i}c=J[(Fl(0-j&j)<<2)+19700>>2];f=(J[c+4>>2]&-8)-h|0;b=c;while(1){m:{a=J[b+16>>2];if(!a){a=J[b+20>>2];if(!a){break m}}b=(J[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=J[c+24>>2];d=J[c+12>>2];if((d|0)!=(c|0)){a=J[c+8>>2];J[a+12>>2]=d;J[d+8>>2]=a;break b}b=c+20|0;a=J[b>>2];if(!a){a=J[c+16>>2];if(!a){break h}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=J[b>>2];if(a){continue}b=d+16|0;a=J[d+16>>2];if(a){continue}break}J[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break i}a=a+11|0;h=a&-8;j=J[4850];if(!j){break i}f=0-h|0;g=0;n:{if(h>>>0<256){break n}g=31;if(h>>>0>16777215){break n}a=S(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=J[(g<<2)+19700>>2];o:{p:{q:{if(!b){a=0;break q}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){r:{e=(J[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break r}d=b;f=e;if(e){break r}f=0;a=b;break p}e=J[b+20>>2];b=J[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break o}}while(1){b=(J[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=J[a+16>>2];if(b){a=b}else{a=J[a+20>>2]}if(a){continue}break}}if(!d|J[4851]-h>>>0<=f>>>0){break i}g=J[d+24>>2];c=J[d+12>>2];if((d|0)!=(c|0)){a=J[d+8>>2];J[a+12>>2]=c;J[c+8>>2]=a;break c}b=d+20|0;a=J[b>>2];if(!a){a=J[d+16>>2];if(!a){break g}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=J[b>>2];if(a){continue}b=c+16|0;a=J[c+16>>2];if(a){continue}break}J[e>>2]=0;break c}a=J[4851];if(a>>>0>=h>>>0){d=J[4854];b=a-h|0;s:{if(b>>>0>=16){c=d+h|0;J[c+4>>2]=b|1;J[a+d>>2]=b;J[d+4>>2]=h|3;break s}J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;c=0;b=0}J[4851]=b;J[4854]=c;a=d+8|0;break a}i=J[4852];if(i>>>0>h>>>0){b=i-h|0;J[4852]=b;c=J[4855];a=c+h|0;J[4855]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(J[4967]){c=J[4969]}else{J[4970]=-1;J[4971]=-1;J[4968]=4096;J[4969]=4096;J[4967]=l+12&-16^1431655768;J[4972]=0;J[4960]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=J[4959];if(d){c=J[4957];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}t:{if(!(K[19840]&4)){u:{v:{w:{x:{d=J[4855];if(d){a=19844;while(1){c=J[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break x}a=J[a+8>>2];if(a){continue}break}}c=Kb(0);if((c|0)==-1){break u}g=b;d=J[4968];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break u}d=J[4959];if(d){a=J[4957];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break u}}a=Kb(g);if((c|0)!=(a|0)){break w}break t}g=f&e-i;c=Kb(g);if((c|0)==(J[a>>2]+J[a+4>>2]|0)){break v}a=c}if((a|0)==-1){break u}if(h+48>>>0<=g>>>0){c=a;break t}c=J[4969];c=c+(j-g|0)&0-c;if((Kb(c)|0)==-1){break u}g=c+g|0;c=a;break t}if((c|0)!=-1){break t}}J[4960]=J[4960]|4}c=Kb(b);a=Kb(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}g=a-c|0;if(g>>>0<=h+40>>>0){break d}}a=J[4957]+g|0;J[4957]=a;if(a>>>0>M[4958]){J[4958]=a}y:{e=J[4855];if(e){a=19844;while(1){d=J[a>>2];b=J[a+4>>2];if((d+b|0)==(c|0)){break y}a=J[a+8>>2];if(a){continue}break}break f}a=J[4853];if(!(a>>>0<=c>>>0?a:0)){J[4853]=c}a=0;J[4962]=g;J[4961]=c;J[4857]=-1;J[4858]=J[4967];J[4964]=0;while(1){d=a<<3;b=d+19436|0;J[d+19444>>2]=b;J[d+19448>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4852]=b;a=a+c|0;J[4855]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4856]=J[4971];break e}if(K[a+12|0]&8|d>>>0>e>>>0|c>>>0<=e>>>0){break f}J[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;J[4855]=c;b=J[4852]+g|0;a=b-a|0;J[4852]=a;J[c+4>>2]=a|1;J[(b+e|0)+4>>2]=40;J[4856]=J[4971];break e}d=0;break b}c=0;break c}if(M[4853]>c>>>0){J[4853]=c}b=c+g|0;a=19844;z:{A:{B:{C:{D:{E:{while(1){if((b|0)!=J[a>>2]){a=J[a+8>>2];if(a){continue}break E}break}if(!(K[a+12|0]&8)){break D}}a=19844;while(1){b=J[a>>2];if(b>>>0<=e>>>0){f=b+J[a+4>>2]|0;if(f>>>0>e>>>0){break C}}a=J[a+8>>2];continue}}J[a>>2]=c;J[a+4>>2]=J[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;J[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){J[4855]=i;a=J[4852]+a|0;J[4852]=a;J[i+4>>2]=a|1;break A}if(J[4854]==(g|0)){J[4854]=i;a=J[4851]+a|0;J[4851]=a;J[i+4>>2]=a|1;J[a+i>>2]=a;break A}f=J[g+4>>2];if((f&3)==1){e=f&-8;F:{if(f>>>0<=255){d=J[g+8>>2];b=f>>>3|0;c=J[g+12>>2];if((c|0)==(d|0)){m=19396,n=J[4849]&Kl(b),J[m>>2]=n;break F}J[d+12>>2]=c;J[c+8>>2]=d;break F}h=J[g+24>>2];c=J[g+12>>2];G:{if((g|0)!=(c|0)){b=J[g+8>>2];J[b+12>>2]=c;J[c+8>>2]=b;break G}H:{f=g+20|0;b=J[f>>2];if(b){break H}f=g+16|0;b=J[f>>2];if(b){break H}c=0;break G}while(1){d=f;c=b;f=c+20|0;b=J[f>>2];if(b){continue}f=c+16|0;b=J[c+16>>2];if(b){continue}break}J[d>>2]=0}if(!h){break F}d=J[g+28>>2];b=(d<<2)+19700|0;I:{if(J[b>>2]==(g|0)){J[b>>2]=c;if(c){break I}m=19400,n=J[4850]&Kl(d),J[m>>2]=n;break F}J[h+(J[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break F}}J[c+24>>2]=h;b=J[g+16>>2];if(b){J[c+16>>2]=b;J[b+24>>2]=c}b=J[g+20>>2];if(!b){break F}J[c+20>>2]=b;J[b+24>>2]=c}g=e+g|0;f=J[g+4>>2];a=a+e|0}J[g+4>>2]=f&-2;J[i+4>>2]=a|1;J[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+19436|0;c=J[4849];a=1<<(a>>>3);J:{if(!(c&a)){J[4849]=a|c;a=b;break J}a=J[b+8>>2]}J[b+8>>2]=i;J[a+12>>2]=i;J[i+12>>2]=b;J[i+8>>2]=a;break A}f=31;if(a>>>0<=16777215){b=S(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}J[i+28>>2]=f;J[i+16>>2]=0;J[i+20>>2]=0;b=(f<<2)+19700|0;d=J[4850];c=1<>2]=i;break K}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=J[b>>2];while(1){b=c;if((J[c+4>>2]&-8)==(a|0)){break B}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=J[d+16>>2];if(c){continue}break}J[d+16>>2]=i}J[i+24>>2]=b;J[i+12>>2]=i;J[i+8>>2]=i;break A}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4852]=b;a=a+c|0;J[4855]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4856]=J[4971];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;J[d+4>>2]=27;a=J[4964];J[d+16>>2]=J[4963];J[d+20>>2]=a;a=J[4962];J[d+8>>2]=J[4961];J[d+12>>2]=a;J[4963]=d+8;J[4962]=g;J[4961]=c;J[4964]=0;a=d+24|0;while(1){J[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break e}J[d+4>>2]=J[d+4>>2]&-2;f=d-e|0;J[e+4>>2]=f|1;J[d>>2]=f;if(f>>>0<=255){b=(f&-8)+19436|0;c=J[4849];a=1<<(f>>>3);L:{if(!(c&a)){J[4849]=a|c;a=b;break L}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break e}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+19700|0;d=J[4850];c=1<>2]=e;break M}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=J[b>>2];while(1){b=d;if((f|0)==(J[b+4>>2]&-8)){break z}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=J[c+16>>2];if(d){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break e}a=J[b+8>>2];J[a+12>>2]=i;J[b+8>>2]=i;J[i+24>>2]=0;J[i+12>>2]=b;J[i+8>>2]=a}a=j+8|0;break a}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=J[4852];if(a>>>0<=h>>>0){break d}b=a-h|0;J[4852]=b;c=J[4855];a=c+h|0;J[4855]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[4804]=48;a=0;break a}N:{if(!g){break N}b=J[d+28>>2];a=(b<<2)+19700|0;O:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break O}j=Kl(b)&j;J[4850]=j;break N}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break N}}J[c+24>>2]=g;a=J[d+16>>2];if(a){J[c+16>>2]=a;J[a+24>>2]=c}a=J[d+20>>2];if(!a){break N}J[c+20>>2]=a;J[a+24>>2]=c}P:{if(f>>>0<=15){a=f+h|0;J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;break P}J[d+4>>2]=h|3;e=d+h|0;J[e+4>>2]=f|1;J[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+19436|0;c=J[4849];a=1<<(f>>>3);Q:{if(!(c&a)){J[4849]=a|c;a=b;break Q}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break P}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+19700|0;R:{c=1<>2]=e;break S}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=J[b>>2];while(1){b=h;if((J[b+4>>2]&-8)==(f|0)){break R}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=J[c+16>>2];if(h){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break P}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=d+8|0;break a}T:{if(!i){break T}b=J[c+28>>2];a=(b<<2)+19700|0;U:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break U}m=19400,n=Kl(b)&j,J[m>>2]=n;break T}J[i+(J[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break T}}J[d+24>>2]=i;a=J[c+16>>2];if(a){J[d+16>>2]=a;J[a+24>>2]=d}a=J[c+20>>2];if(!a){break T}J[d+20>>2]=a;J[a+24>>2]=d}V:{if(f>>>0<=15){a=f+h|0;J[c+4>>2]=a|3;a=a+c|0;J[a+4>>2]=J[a+4>>2]|1;break V}J[c+4>>2]=h|3;d=c+h|0;J[d+4>>2]=f|1;J[d+f>>2]=f;if(k){b=(k&-8)+19436|0;e=J[4854];a=1<<(k>>>3);W:{if(!(a&g)){J[4849]=a|g;a=b;break W}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a}J[4854]=d;J[4851]=f}a=c+8|0}ba=l+16|0;return a|0}function Jh(a){a=a|0;var 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=Q(0);e=ba+-64|0;ba=e;c=J[a+4>>2];i=J[a+8>>2];a:{if((c|0)==(i|0)){J[a+72>>2]=0;b=1;break a}d=i-c>>2;m=d>>>0<=1?1:d;j=m&3;h=J[J[a+28>>2]+4>>2];d=J[h+8>>2];if(m-1>>>0>=3){m=m&-4;while(1){l=g;g=b<<2;g=(((l+K[J[d+(J[g+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|4)+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|8)+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|12)+c>>2]<<2)>>2]+24|0]|0;b=b+4|0;k=k+4|0;if((m|0)!=(k|0)){continue}break}}if(j){while(1){g=K[J[d+(J[(b<<2)+c>>2]<<2)>>2]+24|0]+g|0;b=b+1|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}o=J[h+80>>2];J[a+72>>2]=g;if((c|0)==(i|0)){b=1;break a}m=0;while(1){b=J[(m<<2)+c>>2];J[e+60>>2]=b;b:{c:{d:{e:{f:{c=J[a+28>>2];i=J[J[J[c+4>>2]+8>>2]+(b<<2)>>2];switch(J[i+28>>2]-1|0){case 0:case 2:case 4:break e;case 8:break f;default:break b}}J[e+36>>2]=-1;J[e+32>>2]=2032;J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;g=J[c+48>>2];b=oa(32);J[e+16>>2]=b;J[e+20>>2]=17;J[e+24>>2]=-2147483616;H[b+16|0]=K[1261];c=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);d=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);d=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;g=jb(g,e+60|0,e+16|0,-1);if(H[e+27|0]<0){na(J[e+16>>2])}g:{if((g|0)<=0){break g}j=J[J[a+28>>2]+48>>2];b=oa(32);J[e+16>>2]=b;J[e+20>>2]=19;J[e+24>>2]=-2147483616;d=0;c=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);f=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);f=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;h:{if(!yc(j,e+60|0,e+16|0)){break h}f=J[J[a+28>>2]+48>>2];b=oa(32);J[e>>2]=b;J[e+4>>2]=18;J[e+8>>2]=-2147483616;c=K[1547]|K[1548]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);d=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);d=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;d=yc(f,e+60|0,e);if(H[e+11|0]>=0){break h}na(J[e>>2])}if(H[e+27|0]<0){na(J[e+16>>2])}i:{if(d){b=K[i+24|0];j:{if(!b){d=0;break j}b=b<<2;d=oa(b);pa(d,0,b)}j=J[J[a+28>>2]+48>>2];b=oa(32);J[e+16>>2]=b;J[e+20>>2]=19;J[e+24>>2]=-2147483616;c=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);f=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);f=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;De(j,e+60|0,e+16|0,K[i+24|0],d);if(H[e+27|0]<0){na(J[e+16>>2])}j=J[J[a+28>>2]+48>>2];b=oa(32);J[e+16>>2]=b;J[e+20>>2]=18;J[e+24>>2]=-2147483616;c=K[1547]|K[1548]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);f=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);f=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;p=Ce(j,e+60|0,e+16|0);if(H[e+27|0]<0){na(J[e+16>>2])}bh(e+32|0,g,d,K[i+24|0],p);if(!d){break i}na(d);break i}if(!Zg(e+32|0,i,g)){break g}}d=J[a+40>>2];k:{if((d|0)!=J[a+44>>2]){J[d>>2]=2032;b=J[e+36>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[d+4>>2]=b;b=J[e+44>>2];c=J[e+40>>2];if((b|0)!=(c|0)){b=b-c|0;if((b|0)<0){break d}c=oa(b);J[d+12>>2]=c;J[d+8>>2]=c;J[d+16>>2]=(b&-4)+c;b=J[e+40>>2];g=J[e+44>>2];if((b|0)!=(g|0)){while(1){N[c>>2]=N[b>>2];c=c+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}J[d+12>>2]=c}N[d+20>>2]=N[e+52>>2];J[a+40>>2]=d+24;break k}f=0;l:{m:{n:{o:{b=J[a+40>>2];j=J[a+36>>2];d=(b-j|0)/24|0;c=d+1|0;if(c>>>0<178956971){g=(J[a+44>>2]-j|0)/24|0;h=g<<1;h=g>>>0>=89478485?178956970:c>>>0>>0?h:c;if(h){if(h>>>0>=178956971){break o}f=oa(P(h,24))}c=P(d,24)+f|0;J[c>>2]=2032;d=J[e+36>>2];J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+4>>2]=d;g=J[e+40>>2];k=J[e+44>>2];if((g|0)!=(k|0)){l=k-g|0;if((l|0)<0){break n}d=oa(l);J[c+8>>2]=d;J[c+16>>2]=(l&-4)+d;while(1){N[d>>2]=N[g>>2];d=d+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}J[c+12>>2]=d}d=P(h,24)+f|0;N[c+20>>2]=N[e+52>>2];g=c+24|0;if((b|0)==(j|0)){break m}while(1){c=c-24|0;J[c>>2]=2032;b=b-24|0;J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[b+16>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;N[c+20>>2]=N[b+20>>2];if((b|0)!=(j|0)){continue}break}J[a+44>>2]=d;d=J[a+40>>2];J[a+40>>2]=g;b=J[a+36>>2];J[a+36>>2]=c;if((b|0)==(d|0)){break l}while(1){d=d-24|0;da[J[J[d>>2]>>2]](d)|0;if((b|0)!=(d|0)){continue}break}break l}qa();B()}xa();B()}qa();B()}J[a+44>>2]=d;J[a+40>>2]=g;J[a+36>>2]=c}if(b){na(b)}}b=e+32|0;c=Mc(b,i,o);J[e>>2]=c;J[e+24>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;je(b,i,e+16|0,c);b=J[e+16>>2];if(b){J[e+20>>2]=b;na(b)}b=J[a+64>>2];p:{if(b>>>0>2]){c=J[e>>2];J[e>>2]=0;J[b>>2]=c;J[a+64>>2]=b+4;break p}c=0;q:{r:{s:{d=J[a+60>>2];g=J[a+64>>2]-d>>2;b=g+1|0;if(b>>>0<1073741824){d=J[a+68>>2]-d|0;i=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?i:b;if(d){if(d>>>0>=1073741824){break s}c=oa(d<<2)}i=J[e>>2];J[e>>2]=0;b=(g<<2)+c|0;J[b>>2]=i;d=(d<<2)+c|0;g=b+4|0;c=J[a+64>>2];i=J[a+60>>2];if((c|0)==(i|0)){break r}while(1){c=c-4|0;f=J[c>>2];J[c>>2]=0;b=b-4|0;J[b>>2]=f;if((c|0)!=(i|0)){continue}break}J[a+68>>2]=d;d=J[a+64>>2];J[a+64>>2]=g;c=J[a+60>>2];J[a+60>>2]=b;if((c|0)==(d|0)){break q}while(1){d=d-4|0;b=J[d>>2];J[d>>2]=0;if(b){Ka(b)}if((c|0)!=(d|0)){continue}break}break q}qa();B()}xa();B()}J[a+68>>2]=d;J[a+64>>2]=g;J[a+60>>2]=b}if(c){na(c)}}b=J[e>>2];J[e>>2]=0;if(b){Ka(b)}J[e+32>>2]=2032;b=J[e+40>>2];if(!b){break b}J[e+44>>2]=b;na(b);break b}J[e+32>>2]=2032;a=J[e+40>>2];if(a){J[e+44>>2]=a;na(a)}b=0;break a}j=0;t:{u:{g=K[i+24|0];v:{if(!g){d=0;break v}b=0;f=g<<2;d=oa(f);c=d;h=g&7;if(h){while(1){J[c>>2]=2147483647;c=c+4|0;b=b+1|0;if((h|0)!=(b|0)){continue}break}}if((g-1&1073741823)>>>0>=7){b=d+f|0;while(1){J[c+24>>2]=2147483647;J[c+28>>2]=2147483647;J[c+16>>2]=2147483647;J[c+20>>2]=2147483647;J[c+8>>2]=2147483647;J[c+12>>2]=2147483647;J[c>>2]=2147483647;J[c+4>>2]=2147483647;c=c+32|0;if((b|0)!=(c|0)){continue}break}}b=K[i+24|0];if(b){break u}}g=0;b=0;break t}b=b<<2;g=oa(b);pa(g,0,b);b=K[i+24|0]}if(!J[i+80>>2]){break c}while(1){$c(i,j,b<<24>>24,g);b=K[i+24|0];w:{if(!b){break w}c=0;if((b|0)!=1){l=b&254;f=0;while(1){h=c<<2;k=h+d|0;n=J[g+h>>2];if((n|0)>2]){J[k>>2]=n}h=h|4;k=h+d|0;h=J[g+h>>2];if(J[k>>2]>(h|0)){J[k>>2]=h}c=c+2|0;f=f+2|0;if((l|0)!=(f|0)){continue}break}}if(!(b&1)){break w}c=c<<2;f=c+d|0;c=J[c+g>>2];if(J[f>>2]<=(c|0)){break w}J[f>>2]=c}j=j+1|0;if(j>>>0>2]){continue}break}break c}qa();B()}c=0;x:{if(!b){break x}y:{while(1){z:{k=(c<<2)+d|0;b=J[a+52>>2];A:{if((b|0)!=J[a+56>>2]){J[b>>2]=J[k>>2];J[a+52>>2]=b+4;break A}h=b;b=J[a+48>>2];f=h-b|0;l=f>>2;j=l+1|0;if(j>>>0>=1073741824){break z}h=f>>>1|0;j=f>>>0>=2147483644?1073741823:j>>>0>>0?h:j;if(j){if(j>>>0>=1073741824){break y}h=oa(j<<2)}else{h=0}l=h+(l<<2)|0;J[l>>2]=J[k>>2];f=ta(h,b,f);J[a+56>>2]=f+(j<<2);J[a+52>>2]=l+4;J[a+48>>2]=f;if(!b){break A}na(b)}c=c+1|0;if(c>>>0>2];if(m>>>0>2]-c>>2>>>0){continue}break}}ba=e- -64|0;return b|0}function ll(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=ba-48|0;ba=i;h=J[a+4>>2];e=J[a+12>>2];J[i+40>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;l=J[J[J[h+4>>2]+8>>2]+(e<<2)>>2];d=i+8|0;if((b|0)==-1){b=ah(e,h)}a:{if((b|0)==-2){break a}if((da[J[J[h>>2]+8>>2]](h)|0)==1){j=ba-32|0;ba=j;k=J[J[J[h+4>>2]+8>>2]+(e<<2)>>2];b:{c:{d:{if((da[J[J[h>>2]+8>>2]](h)|0)!=1|b-1>>>0>5){break d}f=da[J[J[h>>2]+52>>2]](h)|0;g=da[J[J[h>>2]+60>>2]](h,e)|0;if(!f|!g){break d}c=da[J[J[h>>2]+56>>2]](h,e)|0;if(c){a=J[h+56>>2];J[j+20>>2]=c;J[j+16>>2]=a;J[j+28>>2]=g;J[j+24>>2]=g+12;e=j+16|0;a=0;e:{f:{switch(b-1|0){case 0:b=oa(60);J[b+4>>2]=k;J[b>>2]=3456;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=oa(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b>>2]=2748;a=b;break e;case 3:b=oa(168);J[b+4>>2]=k;J[b>>2]=3456;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=oa(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=3512;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;J[a+160>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;break e;case 4:b=oa(104);J[b+4>>2]=k;J[b>>2]=3456;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=oa(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b+84>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b>>2]=3760;a=J[e+4>>2];J[b+88>>2]=J[e>>2];J[b+92>>2]=a;a=J[e+12>>2];J[b+96>>2]=J[e+8>>2];J[b+100>>2]=a;a=b;break e;case 5:break f;default:break e}}a=oa(144);J[a+4>>2]=k;J[a>>2]=3456;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;g:{h:{c=J[d+28>>2];b=J[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break h}b=oa(c);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(c&-4)+b;c=J[d+24>>2];f=J[d+28>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=3400;b=J[e+4>>2];J[a+44>>2]=J[e>>2];J[a+48>>2]=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=4624;J[a>>2]=3996;b=J[e+4>>2];J[a+72>>2]=J[e>>2];J[a+76>>2]=b;b=J[e+12>>2];J[a+80>>2]=J[e+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=4232;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;break g}qa();B()}break e}c=a;break d}a=J[h+56>>2];J[j+20>>2]=f;J[j+16>>2]=a;J[j+28>>2]=g;J[j+24>>2]=g+12;e=j+16|0;a=0;i:{j:{switch(b-1|0){case 0:b=oa(60);J[b+4>>2]=k;J[b>>2]=3456;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=oa(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b>>2]=4652;a=b;break i;case 3:b=oa(168);J[b+4>>2]=k;J[b>>2]=3456;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=oa(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=5076;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;J[a+160>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;break i;case 4:b=oa(104);J[b+4>>2]=k;J[b>>2]=3456;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=oa(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b+84>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b>>2]=5312;a=J[e+4>>2];J[b+88>>2]=J[e>>2];J[b+92>>2]=a;a=J[e+12>>2];J[b+96>>2]=J[e+8>>2];J[b+100>>2]=a;a=b;break i;case 5:break j;default:break i}}a=oa(144);J[a+4>>2]=k;J[a>>2]=3456;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;k:{l:{c=J[d+28>>2];b=J[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break l}b=oa(c);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(c&-4)+b;c=J[d+24>>2];f=J[d+28>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=5020;b=J[e+4>>2];J[a+44>>2]=J[e>>2];J[a+48>>2]=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=6120;J[a>>2]=5536;b=J[e+4>>2];J[a+72>>2]=J[e>>2];J[a+76>>2]=b;b=J[e+12>>2];J[a+80>>2]=J[e+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=5756;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;break k}qa();B()}break i}c=a}ba=j+32|0;break b}qa();B()}if(c){break a}}c=oa(44);J[c+4>>2]=l;J[c>>2]=3456;a=J[d+4>>2];J[c+8>>2]=J[d>>2];J[c+12>>2]=a;a=J[d+12>>2];J[c+16>>2]=J[d+8>>2];J[c+20>>2]=a;a=J[d+20>>2];J[c+24>>2]=J[d+16>>2];J[c+28>>2]=a;J[c+40>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;m:{a=J[d+24>>2];l=J[d+28>>2];if((a|0)!=(l|0)){f=l-a|0;if((f|0)<0){break m}b=oa(f);J[c+32>>2]=b;J[c+40>>2]=(f&-4)+b;while(1){J[b>>2]=J[a>>2];b=b+4|0;a=a+4|0;if((l|0)!=(a|0)){continue}break}J[c+36>>2]=b}J[c>>2]=6148;break a}qa();B()}a=J[i+32>>2];if(a){J[i+36>>2]=a;na(a)}ba=i+48|0;return c|0}function Ne(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,N=0,O=0,P=0;k=ba-336|0;ba=k;n=h;p=i&65535;o=d;m=e&65535;u=(e^i)&-2147483648;s=i>>>16&32767;q=e>>>16&32767;a:{b:{if(s-32767>>>0>4294934529&q-32767>>>0>=4294934530){break b}j=e&2147483647;if(!(!d&(j|0)==2147418112?!(b|c):j>>>0<2147418112)){r=d;u=e|32768;break a}e=i&2147483647;if(!(!h&(e|0)==2147418112?!(f|g):e>>>0<2147418112)){r=h;u=i|32768;b=f;c=g;break a}if(!(b|d|(j^2147418112|c))){if(!(f|h|(e^2147418112|g))){b=0;c=0;u=2147450880;break a}u=u|2147418112;b=0;c=0;break a}if(!(f|h|(e^2147418112|g))){b=0;c=0;break a}if(!(b|d|(c|j))){b=!(f|h|(e|g));r=b?0:r;u=b?2147450880:u;b=0;c=0;break a}if(!(f|h|(e|g))){u=u|2147418112;b=0;c=0;break a}if((j|0)==65535|j>>>0<65535){d=!(m|o);i=d;j=d?b:o;d=d<<6;h=d;i=S(i?c:m);d=d+((i|0)==32?S(j)+32|0:i)|0;Pa(k+320|0,b,c,o,m,d-15|0);v=16-d|0;o=J[k+328>>2];m=J[k+332>>2];c=J[k+324>>2];b=J[k+320>>2]}if(e>>>0>65535){break b}d=!(n|p);h=d;i=d?f:n;d=d<<6;e=d;h=S(h?g:p);d=d+((h|0)==32?S(i)+32|0:h)|0;Pa(k+304|0,f,g,n,p,d-15|0);v=(d+v|0)-16|0;n=J[k+312>>2];p=J[k+316>>2];f=J[k+304>>2];g=J[k+308>>2]}e=p|65536;A=e;B=n;d=n;j=e<<15|d>>>17;e=d<<15|g>>>17;d=e;i=0-d|0;h=j;j=1963258675-(j+((d|0)!=0)|0)|0;Xa(k+288|0,d,h,0,0,i,j,0,0);d=J[k+296>>2];Xa(k+272|0,0-d|0,0-(J[k+300>>2]+((d|0)!=0)|0)|0,0,0,i,j,0,0);d=J[k+280>>2];i=d<<1|J[k+276>>2]>>>31;d=J[k+284>>2]<<1|d>>>31;Xa(k+256|0,i,d,0,0,e,h,0,0);j=J[k+264>>2];Xa(k+240|0,i,d,0,0,0-j|0,0-(J[k+268>>2]+((j|0)!=0)|0)|0,0,0);i=J[k+248>>2];j=i<<1|J[k+244>>2]>>>31;d=J[k+252>>2]<<1|i>>>31;Xa(k+224|0,j,d,0,0,e,h,0,0);i=J[k+232>>2];Xa(k+208|0,j,d,0,0,0-i|0,0-(J[k+236>>2]+((i|0)!=0)|0)|0,0,0);d=J[k+216>>2];i=d<<1|J[k+212>>2]>>>31;d=J[k+220>>2]<<1|d>>>31;Xa(k+192|0,i,d,0,0,e,h,0,0);j=J[k+200>>2];Xa(k+176|0,i,d,0,0,0-j|0,0-(J[k+204>>2]+((j|0)!=0)|0)|0,0,0);i=e;e=J[k+184>>2];d=h;n=e<<1|J[k+180>>2]>>>31;h=n-1|0;e=(J[k+188>>2]<<1|e>>>31)-!n|0;Xa(k+160|0,i,d,0,0,h,e,0,0);d=h;Xa(k+144|0,f<<15,g<<15|f>>>17,0,0,d,e,0,0);t=k+112|0;y=J[k+168>>2];h=J[k+172>>2];n=J[k+160>>2];i=J[k+152>>2];l=n+i|0;p=J[k+164>>2];j=p+J[k+156>>2]|0;j=i>>>0>l>>>0?j+1|0:j;i=j;j=(p|0)==(j|0)&l>>>0>>0|j>>>0

>>0;p=j+y|0;j=j>>>0>p>>>0?h+1|0:h;n=!i&l>>>0>1|(i|0)!=0;h=n+p|0;j=n>>>0>h>>>0?j+1|0:j;Xa(t,d,e,0,0,0-h|0,0-(((h|0)!=0)+j|0)|0,0,0);Xa(k+128|0,1-l|0,0-((l>>>0>1)+i|0)|0,0,0,d,e,0,0);H=(q-s|0)+v|0;e=J[k+116>>2];t=e;d=J[k+112>>2];j=e<<1|d>>>31;n=d<<1;q=j;d=j;h=J[k+140>>2];z=h;e=J[k+136>>2];j=h<<1|e>>>31;i=e<<1|J[k+132>>2]>>>31;h=i+n|0;d=d+j|0;d=h>>>0>>0?d+1|0:d;e=d;d=d-(h>>>0<13927)|0;x=d;y=d;l=0;j=m|65536;I=j;K=o;d=o;j=j<<1|d>>>31;N=d<<1;O=j;D=j;d=Gl(x,l,j,0);j=ca;E=d;w=j;v=b<<1;d=c<<1|b>>>31;s=d;j=0;p=j;i=h-13927|0;x=(e|0)==(x|0)&i>>>0>>0|e>>>0>x>>>0;e=(e|0)==(q|0)&h>>>0>>0|e>>>0>>0;d=J[k+120>>2];h=J[k+124>>2]<<1|d>>>31;d=d<<1|t>>>31;j=h;l=z>>>31|0;d=l+d|0;j=d>>>0>>0?j+1|0:j;h=d;d=d+e|0;l=h>>>0>d>>>0?j+1|0:j;e=d;d=d+x|0;l=e>>>0>d>>>0?l+1|0:l;e=d-1|0;x=l-!d|0;q=0;j=Gl(s,p,x,q);d=j+E|0;h=ca+w|0;h=d>>>0>>0?h+1|0:h;t=(w|0)==(h|0)&d>>>0>>0|h>>>0>>0;j=0;z=e;L=c>>>31|0;C=L|o<<1;w=0;e=Gl(e,j,C,w);o=e+d|0;j=ca+h|0;l=0;j=e>>>0>o>>>0?j+1|0:j;n=j;d=(j|0)==(h|0)&d>>>0>o>>>0|h>>>0>j>>>0;e=d;d=d+t|0;l=e>>>0>d>>>0?1:l;e=Gl(D,p,x,q);d=e+d|0;j=ca+l|0;t=d;d=d>>>0>>0?j+1|0:j;e=Gl(D,p,z,w);m=ca;h=e;e=Gl(C,w,x,q);l=h+e|0;j=ca+m|0;j=e>>>0>l>>>0?j+1|0:j;e=j;j=(m|0)==(j|0)&h>>>0>l>>>0|j>>>0>>0;m=t+e|0;d=d+j|0;d=m>>>0>>0?d+1|0:d;t=m;m=d;e=0;d=e+o|0;j=l+n|0;j=d>>>0>>0?j+1|0:j;e=j;h=(j|0)==(n|0)&d>>>0>>0|j>>>0>>0;j=m;l=h;h=h+t|0;j=l>>>0>h>>>0?j+1|0:j;F=h;l=j;t=d;m=d;o=e;E=i;d=Gl(i,0,C,w);h=ca;e=d;i=Gl(y,r,s,r);d=d+i|0;j=ca+h|0;j=d>>>0>>0?j+1|0:j;i=(h|0)==(j|0)&d>>>0>>0|h>>>0>j>>>0;h=j;G=v&-2;e=Gl(z,w,G,0);n=e+d|0;j=ca+j|0;j=e>>>0>n>>>0?j+1|0:j;e=j;d=(j|0)==(h|0)&d>>>0>n>>>0|h>>>0>j>>>0;h=0;i=d+i|0;d=(i>>>0>>0?1:h)+o|0;j=l;m=i+m|0;d=m>>>0>>0?d+1|0:d;i=d;d=(d|0)==(o|0)&m>>>0>>0|d>>>0>>0;h=d;d=d+F|0;j=h>>>0>d>>>0?j+1|0:j;P=d;t=j;d=Gl(D,p,E,r);F=ca;D=d;h=Gl(x,q,G,r);d=d+h|0;j=ca+F|0;o=d;p=Gl(y,r,C,w);l=d+p|0;h=d>>>0>>0?j+1|0:j;d=h+ca|0;d=l>>>0

>>0?d+1|0:d;q=l;j=Gl(s,r,z,w);p=l+j|0;l=ca+d|0;l=j>>>0>p>>>0?l+1|0:l;z=0;C=(d|0)==(l|0)&p>>>0>>0|d>>>0>l>>>0;j=(h|0)==(F|0)&o>>>0>>0|h>>>0>>0;d=(d|0)==(h|0)&o>>>0>q>>>0|d>>>0>>0;d=d+j|0;d=d+C|0;h=l;q=h+m|0;j=(d|z)+i|0;j=h>>>0>q>>>0?j+1|0:j;o=j;d=(i|0)==(j|0)&m>>>0>q>>>0|i>>>0>j>>>0;j=t;h=d;d=d+P|0;j=h>>>0>d>>>0?j+1|0:j;z=d;i=j;d=Gl(y,r,G,r);y=ca;m=d;h=Gl(s,r,E,r);d=d+h|0;j=ca+y|0;j=d>>>0>>0?j+1|0:j;t=0;h=(j|0)==(y|0)&d>>>0>>0|j>>>0>>0;m=j;d=j+n|0;j=(h|t)+e|0;j=d>>>0>>0?j+1|0:j;h=j;m=(e|0)==(j|0)&d>>>0>>0|e>>>0>j>>>0;j=p;p=0;n=p+d|0;l=h+j|0;j=0;l=n>>>0

>>0?l+1|0:l;d=(h|0)==(l|0)&d>>>0>n>>>0|h>>>0>l>>>0;e=d;d=d+m|0;j=(e>>>0>d>>>0?1:j)+o|0;l=i;e=d;d=d+q|0;j=e>>>0>d>>>0?j+1|0:j;e=j;h=(o|0)==(j|0)&d>>>0>>0|j>>>0>>0;i=h;h=h+z|0;l=i>>>0>h>>>0?l+1|0:l;i=l;c:{if((l|0)==131071|l>>>0<131071){K=N|L;I=w|O;Xa(k+80|0,d,e,h,i,f,g,B,A);l=J[k+84>>2];p=l;j=b<<17;n=0;m=J[k+88>>2];c=n-m|0;b=J[k+80>>2];l=(l|b)!=0;o=c-l|0;m=(j-(J[k+92>>2]+(m>>>0>n>>>0)|0)|0)-(c>>>0>>0)|0;n=0-b|0;p=0-(((b|0)!=0)+p|0)|0;b=H+16382|0;break c}d=(e&1)<<31|d>>>1;e=h<<31|e>>>1;h=(i&1)<<31|h>>>1;i=i>>>1|0;Xa(k+96|0,d,e,h,i,f,g,B,A);o=J[k+100>>2];s=o;v=J[k+104>>2];n=0-v|0;l=J[k+96>>2];m=(o|l)!=0;o=n-m|0;m=((b<<16)-(J[k+108>>2]+(p>>>0>>0)|0)|0)-(m>>>0>n>>>0)|0;n=0-l|0;p=0-(((l|0)!=0)+s|0)|0;v=b;s=c;b=H+16383|0}if((b|0)>=32767){u=u|2147418112;b=0;c=0;break a}d:{if((b|0)>0){l=m<<1|o>>>31;o=o<<1|p>>>31;m=l;v=h;s=i&65535|b<<16;l=p<<1|n>>>31;i=n<<1;break d}if((b|0)<=-113){b=0;c=0;break a}Gb(k- -64|0,d,e,h,i,1-b|0);Pa(k+48|0,v,s,K,I,b+112|0);d=J[k+64>>2];e=J[k+68>>2];v=J[k+72>>2];s=J[k+76>>2];Xa(k+32|0,f,g,B,A,d,e,v,s);b=J[k+40>>2];c=J[k+56>>2];l=J[k+36>>2];o=b<<1|l>>>31;n=c-o|0;m=J[k+60>>2]-((J[k+44>>2]<<1|b>>>31)+(c>>>0>>0)|0)|0;b=J[k+32>>2];h=l<<1|b>>>31;j=b<<1;i=J[k+52>>2];c=J[k+48>>2];b=(h|0)==(i|0)&j>>>0>c>>>0|h>>>0>i>>>0;o=n-b|0;m=m-(b>>>0>n>>>0)|0;l=i-((c>>>0>>0)+h|0)|0;i=c-j|0}b=i;Xa(k+16|0,f,g,B,A,3,0,0,0);Xa(k,f,g,B,A,5,0,0,0);c=0;h=l+c|0;j=d&1;b=b+j|0;h=i>>>0>b>>>0?h+1|0:h;i=b;g=(g|0)==(h|0)&b>>>0>f>>>0|g>>>0>>0;l=m;b=(c|0)==(h|0)&b>>>0>>0|c>>>0>h>>>0;f=b+o|0;l=b>>>0>f>>>0?l+1|0:l;j=e;b=(l|0)==(A|0);b=b&(f|0)==(B|0)?g:b&f>>>0>B>>>0|l>>>0>A>>>0;c=b;b=b+d|0;j=c>>>0>b>>>0?j+1|0:j;c=j;d=(e|0)==(j|0)&b>>>0>>0|e>>>0>j>>>0;j=s;e=d;d=d+v|0;j=e>>>0>d>>>0?j+1|0:j;g=d;e=J[k+20>>2];m=(e|0)==(h|0)&M[k+16>>2]>>0|e>>>0>>0;e=J[k+28>>2];d=J[k+24>>2];e=j>>>0<2147418112&((d|0)==(f|0)&(e|0)==(l|0)?m:(e|0)==(l|0)&d>>>0>>0|e>>>0>>0);d=c;m=e;e=b+e|0;d=m>>>0>e>>>0?d+1|0:d;b=(c|0)==(d|0)&b>>>0>e>>>0|c>>>0>d>>>0;c=b;b=b+g|0;j=c>>>0>b>>>0?j+1|0:j;g=b;c=J[k+4>>2];h=(c|0)==(h|0)&M[k>>2]>>0|c>>>0>>0;c=J[k+12>>2];b=J[k+8>>2];b=j>>>0<2147418112&((b|0)==(f|0)&(c|0)==(l|0)?h:(c|0)==(l|0)&b>>>0>>0|c>>>0>>0);c=b;b=b+e|0;l=c>>>0>b>>>0?d+1|0:d;c=l;e=(d|0)==(l|0)&b>>>0>>0|d>>>0>l>>>0;d=j;f=e;e=e+g|0;d=f>>>0>e>>>0?d+1|0:d;r=e|r;u=d|u}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=r;J[a+12>>2]=u;ba=k+336|0}function ye(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,N=0,O=0,Q=0;s=ba-32|0;ba=s;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;t=J[e+20>>2];if(!J[e+16>>2]&(t|0)<=0|(t|0)<0){d=a+4|0;sa(e,J[e+4>>2],a,d);t=J[e+20>>2];if(!J[e+16>>2]&(t|0)<=0|(t|0)<0){sa(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){F=a+12|0;za(F);G=a+44|0;d=G;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];H=a- -64|0;d=H;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];I=a+84|0;d=I;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[s+24>>2]=J[b+8>>2];d=J[b+4>>2];J[s+16>>2]=J[b>>2];J[s+20>>2]=d;J[s+8>>2]=J[c+8>>2];b=J[c+4>>2];J[s>>2]=J[c>>2];J[s+4>>2]=b;c=0;b=0;f=ba-32|0;ba=f;o=a;i=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(i){if(i>>>0>=1073741824){break b}a=i<<2;c=oa(a);J[f+8>>2]=c;b=a+c|0;J[f+16>>2]=b;pa(c,0,a);J[f+12>>2]=b}a=J[o+140>>2];d=J[a>>2];if(d){J[a+4>>2]=d;na(d);i=J[o+8>>2];c=J[f+8>>2];b=J[f+12>>2]}J[a+4>>2]=b;J[a>>2]=c;J[a+8>>2]=J[f+16>>2];c=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b=0;c:{if(i){if(i>>>0>=1073741824){break c}a=i<<2;b=oa(a);J[f+8>>2]=b;c=a+b|0;J[f+16>>2]=c;pa(b,0,a);J[f+12>>2]=c}a=J[o+152>>2];d=J[a>>2];if(d){J[a+4>>2]=d;na(d);c=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=c;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];t=J[s+20>>2];z=J[s+24>>2];d=J[s+4>>2];C=J[s+8>>2];b=J[s>>2];c=J[s+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;fb(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;v=(a>>>0)/113|0;a=J[J[f+12>>2]+(v<<2)>>2]+P(a-P(v,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=C;J[a+12>>2]=b;J[a+4>>2]=t;J[a+8>>2]=z;J[a>>2]=c;i=J[f+28>>2]+1|0;J[f+28>>2]=i;if(i){a=z;L=a&-4;K=a&3;N=o+44|0;m=o+12|0;O=o+84|0;Q=a>>>0<4;while(1){b=J[f+12>>2];h=J[f+24>>2];g=i-1|0;a=h+g|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;E=J[a+32>>2];c=J[a+24>>2];v=J[a+12>>2];a=J[a>>2];J[f+28>>2]=g;g=J[f+16>>2];if((((b|0)!=(g|0)?P(g-b>>2,113)-1|0:0)-(h+i|0)|0)+1>>>0>=226){na(J[g-4>>2]);J[f+16>>2]=J[f+16>>2]-4}g=J[o>>2];i=(c|0)!=(J[o+8>>2]-1|0)?c+1|0:0;q=i<<2;D=P(E,12);h=D+J[o+152>>2]|0;c=J[q+J[h>>2]>>2];d:{e:{if((g|0)==(c|0)){break e}f:{g:{j=v-a|0;if(j>>>0<=2){g=J[o+128>>2];J[g>>2]=i;c=1;b=J[o+8>>2];if(b>>>0>1){break g}break f}h=J[o+140>>2];b=h+D|0;n=h;h=D+12|0;bb(n+h|0,J[b>>2],J[b+4>>2]);b=J[h+J[o+140>>2]>>2]+q|0;g=J[b>>2]+(1<>2]=g;b=a;h:{if((a|0)==(v|0)){break h}y=J[t+24>>2];n=y+q|0;b=v;c=a;if(!z){if(g>>>0>M[n>>2]){break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}if(g>>>0<=M[(J[d+24>>2]+q|0)+(P(b,C)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(b|0)){continue}break}break h}while(1){h=P(c,z)<<2;if(g>>>0>M[h+n>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}r=J[d+24>>2]+(P(b,C)<<2)|0;if(g>>>0<=M[r+q>>2]){continue}break}w=h+y|0;u=0;h=0;p=0;if(!Q){while(1){k=h<<2;l=k+w|0;x=J[l>>2];A=l;l=k+r|0;J[A>>2]=J[l>>2];J[l>>2]=x;l=k|4;x=l+w|0;A=J[x>>2];l=l+r|0;J[x>>2]=J[l>>2];J[l>>2]=A;l=k|8;x=l+w|0;A=J[x>>2];l=l+r|0;J[x>>2]=J[l>>2];J[l>>2]=A;k=k|12;l=k+w|0;x=J[l>>2];k=k+r|0;J[l>>2]=J[k>>2];J[k>>2]=x;h=h+4|0;p=p+4|0;if((L|0)!=(p|0)){continue}break}}if(K){while(1){k=h<<2;p=k+w|0;l=J[p>>2];k=k+r|0;J[p>>2]=J[k>>2];J[k>>2]=l;h=h+1|0;u=u+1|0;if((K|0)!=(u|0)){continue}break}}c=c+1|0;if((c|0)!=(b|0)){continue}break}}r=b-a|0;w=v-b|0;if((r|0)!=(w|0)){xc(O,r>>>0>>0)}c=J[m>>2];n=J[c+8>>2];g=J[c+12>>2];h=(j>>>1|0)-(r>>>0>>0?r:w)|0;h=h<<24|(h&65280)<<8|(h>>>8&65280|h>>>24);h=h>>>4&252645135|(h&252645135)<<4;h=h>>>2&858993459|(h&858993459)<<2;l=h>>>1&1431655765|(h&1431655765)<<1;h=S(j)^31;p=32-h|0;k=l>>>p|0;j=Jl(k);n=j+n|0;g=j>>>0>n>>>0?g+1|0:g;J[c+8>>2]=n;J[c+12>>2]=g;g=h-j|0;n=g;j=g+J[c>>2]|0;g=J[c+4>>2]+(g>>31)|0;J[c>>2]=j;J[c+4>>2]=j>>>0>>0?g+1|0:g;i:{j:{k:{l:{c=J[m+28>>2];u=32-c|0;m:{if((u|0)>=(h|0)){g=c+h|0;J[m+28>>2]=g;n=J[m+24>>2]&(-1>>>p<>2]=n;if((g|0)!=32){break i}c=J[m+16>>2];if((c|0)!=J[m+20>>2]){J[c>>2]=n;J[m+16>>2]=c+4;h=0;c=0;break m}g=c;c=J[m+12>>2];k=g-c|0;u=k>>2;j=u+1|0;if(j>>>0>=1073741824){break l}h=0;g=0;p=k>>>1|0;j=k>>>0>=2147483644?1073741823:j>>>0

>>0?p:j;if(j){if(j>>>0>=1073741824){break k}g=oa(j<<2)}u=(u<<2)+g|0;J[u>>2]=n;g=ta(g,c,k);J[m+20>>2]=g+(j<<2);J[m+16>>2]=u+4;J[m+12>>2]=g;if(!c){c=0;break m}na(c);c=0;break m}p=J[m+24>>2]&(-1<>2]=p;c=J[m+16>>2];n:{if((c|0)!=J[m+20>>2]){J[c>>2]=p;J[m+16>>2]=c+4;break n}g=c;c=J[m+12>>2];g=g-c|0;y=g>>2;j=y+1|0;if(j>>>0>=1073741824){break j}n=g>>>1|0;j=g>>>0>=2147483644?1073741823:j>>>0>>0?n:j;if(j){if(j>>>0>=1073741824){break k}n=oa(j<<2)}else{n=0}y=n+(y<<2)|0;J[y>>2]=p;g=ta(n,c,g);J[m+20>>2]=g+(j<<2);J[m+16>>2]=y+4;J[m+12>>2]=g;if(!c){break n}na(c)}c=h-u|0;h=-1>>>32-c&k>>>u}J[m+28>>2]=c;J[m+24>>2]=h;break i}qa();B()}xa();B()}qa();B()}c=J[o+152>>2];g=c+D|0;h=J[g>>2];q=h+q|0;J[q>>2]=J[q>>2]+1;q=E+1|0;bb(c+P(q,12)|0,h,J[g+4>>2]);if((a|0)!=(b|0)){h=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];g=J[f+12>>2];if((h|0)==(((c|0)!=(g|0)?P(c-g>>2,113)-1|0:0)|0)){fb(f+8|0);h=J[f+24>>2]+J[f+28>>2]|0;g=J[f+12>>2]}c=(h>>>0)/113|0;c=J[g+(c<<2)>>2]+P(h-P(c,113)|0,36)|0;J[c+32>>2]=E;J[c+28>>2]=r;J[c+24>>2]=i;J[c+16>>2]=t;J[c+12>>2]=b;J[c+4>>2]=t;J[c+8>>2]=z;J[c>>2]=a;J[c+20>>2]=z;J[f+28>>2]=J[f+28>>2]+1}if((b|0)==(v|0)){break e}g=J[f+28>>2]+J[f+24>>2]|0;a=J[f+16>>2];c=J[f+12>>2];if((g|0)==(((a|0)!=(c|0)?P(a-c>>2,113)-1|0:0)|0)){fb(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}a=(g>>>0)/113|0;a=J[c+(a<<2)>>2]+P(g-P(a,113)|0,36)|0;J[a+32>>2]=q;J[a+28>>2]=w;J[a+24>>2]=i;J[a+16>>2]=d;J[a+20>>2]=C;J[a+12>>2]=v;J[a+4>>2]=t;J[a>>2]=b;J[a+8>>2]=z;i=J[f+28>>2]+1|0;J[f+28>>2]=i;break d}while(1){i=(b-1|0)!=(i|0)?i+1|0:0;J[g+(c<<2)>>2]=i;b=J[o+8>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}if(!b|(a|0)==(v|0)){break e}g=0;c=1;while(1){i=0;o:{if(!c){c=0;break o}v=J[t+24>>2]+(P(J[t+4>>2],a+g|0)<<2)|0;while(1){c=J[o>>2];q=J[J[o+128>>2]+(i<<2)>>2]<<2;r=J[q+J[h>>2]>>2];if((c|0)!=(r|0)){Ib(N,c-r|0,J[v+q>>2]);b=J[o+8>>2]}c=b;i=i+1|0;if(c>>>0>i>>>0){continue}break}}g=g+1|0;if((j|0)!=(g|0)){continue}break}}i=J[f+28>>2]}if(i){continue}break}}J[f+28>>2]=0;a=J[f+16>>2];i=J[f+12>>2];b=a-i|0;if(b>>>0>=9){while(1){na(J[i>>2]);i=J[f+12>>2]+4|0;J[f+12>>2]=i;a=J[f+16>>2];b=a-i|0;if(b>>>0>8){continue}break}}c=56;p:{switch((b>>>2|0)-1|0){case 1:c=113;case 0:J[f+24>>2]=c;break;default:break p}}q:{if((a|0)==(i|0)){break q}while(1){na(J[i>>2]);i=i+4|0;if((i|0)!=(a|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break q}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){na(a)}ba=f+32|0;break a}qa();B()}qa();B()}ya(F,e);eb(G,e);eb(H,e);eb(I,e)}ba=s+32|0;return 1}function Hd(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,n=0,o=0,p=0,q=Q(0),r=0,s=0,t=0,u=0,v=Q(0);g=ba-112|0;ba=g;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+96>>2]=1065353216;d=J[a+80>>2];J[g+40>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;a:{if(d){if(d>>>0>=1073741824){break a}e=d<<2;h=oa(e);J[g+32>>2]=h;d=e+h|0;J[g+40>>2]=d;pa(h,0,e);J[g+36>>2]=d;while(1){c=J[J[b>>2]>>2];e=J[b+48>>2];d=Gl(J[b+40>>2],J[b+44>>2],n,0);f=d;d=d+e|0;f=d+c|0;d=K[f+12|0]|K[f+13|0]<<8|(K[f+14|0]<<16|K[f+15|0]<<24);J[g+72>>2]=K[f+8|0]|K[f+9|0]<<8|(K[f+10|0]<<16|K[f+11|0]<<24);J[g+76>>2]=d;d=K[f+4|0]|K[f+5|0]<<8|(K[f+6|0]<<16|K[f+7|0]<<24);J[g+64>>2]=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[g+68>>2]=d;c=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);e=K[f+4|0]|K[f+5|0]<<8|(K[f+6|0]<<16|K[f+7|0]<<24);d=K[f+12|0]|K[f+13|0]<<8|(K[f+14|0]<<16|K[f+15|0]<<24);J[g+56>>2]=K[f+8|0]|K[f+9|0]<<8|(K[f+10|0]<<16|K[f+11|0]<<24);J[g+60>>2]=d;J[g+48>>2]=c;J[g+52>>2]=e;d=0;l=J[g+84>>2];b:{if(!l){break b}c=J[g+80>>2];f=J[g+60>>2]^(J[g+56>>2]^(J[g+52>>2]^(J[g+48>>2]^318)+239)+239)+239;e=f&l-1;o=Jl(l);c:{if(o>>>0<=1){break c}e=f;if(f>>>0>>0){break c}e=(f>>>0)%(l>>>0)|0}u=c;c=e;e=J[u+(c<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(o>>>0>=2){o=J[g+60>>2];m=J[g+56>>2];r=J[g+52>>2];p=J[g+48>>2];while(1){e=J[j+4>>2];e:{if((e|0)!=(f|0)){if(e>>>0>=l>>>0){e=(e>>>0)%(l>>>0)|0}if((c|0)!=(e|0)){break b}break e}e=J[j+8>>2];f:{if((e|0)!=(p|0)){e=(e|0)==(p|0);break f}e=J[j+12>>2];if((e|0)!=(r|0)){e=(e|0)==(r|0);break f}e=J[j+16>>2];if((e|0)!=(m|0)){e=(e|0)==(m|0);break f}e=(o|0)==J[j+20>>2]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}p=l-1|0;o=J[g+60>>2];l=J[g+56>>2];m=J[g+52>>2];r=J[g+48>>2];while(1){e=J[j+4>>2];g:{if((e|0)!=(f|0)){if((c|0)!=(e&p)){break b}break g}e=J[j+8>>2];if((e|0)!=(r|0)){if((e|0)!=(r|0)){break g}break d}e=J[j+12>>2];if((e|0)!=(m|0)){if((e|0)!=(m|0)){break g}break d}e=J[j+16>>2];if((e|0)!=(l|0)){if((e|0)!=(l|0)){break g}break d}if((o|0)==J[j+20>>2]){break d}}j=J[j>>2];if(j){continue}break}break b}d=j}h:{if(d){J[(n<<2)+h>>2]=J[d+24>>2];break h}d=J[g+60>>2];J[g+16>>2]=J[g+56>>2];J[g+20>>2]=d;d=J[g+52>>2];J[g+8>>2]=J[g+48>>2];J[g+12>>2]=d;J[g+24>>2]=s;d=0;l=g+8|0;e=J[l+12>>2]^(J[l+8>>2]^(J[l+4>>2]^(J[l>>2]^318)+239)+239)+239;u=g;i:{j:{m=g+80|0;h=J[m+4>>2];if(!h){break j}c=Jl(h);k:{if(c>>>0>=2){d=e;if(d>>>0>=h>>>0){d=(e>>>0)%(h>>>0)|0}k=J[J[m>>2]+(d<<2)>>2];if(!k){break j}if(c>>>0<2){break k}f=J[l+12>>2];p=J[l+8>>2];o=J[l+4>>2];j=J[l>>2];while(1){k=J[k>>2];if(!k){break j}c=J[k+4>>2];if((c|0)!=(e|0)){if(c>>>0>=h>>>0){c=(c>>>0)%(h>>>0)|0}if((d|0)!=(c|0)){break j}}c=J[k+8>>2];l:{if((c|0)!=(j|0)){c=(c|0)==(j|0);break l}c=J[k+12>>2];if((c|0)!=(o|0)){c=(c|0)==(o|0);break l}c=J[k+16>>2];if((c|0)!=(p|0)){c=(c|0)==(p|0);break l}c=(f|0)==J[k+20>>2]}if(!c){continue}break}c=0;break i}d=e&h-1;k=J[J[m>>2]+(d<<2)>>2];if(!k){break j}}j=h-1|0;f=J[l+12>>2];r=J[l+8>>2];p=J[l+4>>2];o=J[l>>2];while(1){k=J[k>>2];if(!k){break j}c=J[k+4>>2];if((c|0)!=(e|0)&(c&j)!=(d|0)){break j}c=J[k+8>>2];m:{if((c|0)!=(o|0)){c=(c|0)==(o|0);break m}c=J[k+12>>2];if((c|0)!=(p|0)){c=(c|0)==(p|0);break m}c=J[k+16>>2];if((c|0)!=(r|0)){c=(c|0)==(r|0);break m}c=(f|0)==J[k+20>>2]}if(!c){continue}break}c=0;break i}k=oa(28);c=J[l+12>>2];J[k+16>>2]=J[l+8>>2];J[k+20>>2]=c;c=J[l+4>>2];J[k+8>>2]=J[l>>2];J[k+12>>2]=c;c=J[l+16>>2];J[k>>2]=0;J[k+4>>2]=e;J[k+24>>2]=c;q=Q(J[m+12>>2]+1>>>0);v=N[m+16>>2];n:{if(q>Q(v*Q(h>>>0))?0:h){break n}d=2;c=(h-1&h)!=0|h>>>0<3|h<<1;q=Q(W(Q(q/v)));o:{if(q=Q(0)){f=~~q>>>0;break o}f=0}c=c>>>0>f>>>0?c:f;p:{if((c|0)==1){break p}if(!(c&c-1)){d=c;break p}d=Ha(c);h=J[m+4>>2]}q:{if(d>>>0<=h>>>0){if(d>>>0>=h>>>0){break q}f=h>>>0<3;q=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));r:{if(q=Q(0)){c=~~q>>>0;break r}c=0}s:{t:{if(f){break t}if(Jl(h)>>>0>1){break t}c=c>>>0<2?c:1<<32-S(c-1|0);break s}c=Ha(c)}d=d>>>0>c>>>0?d:c;if(d>>>0>=h>>>0){break q}}db(m,d)}h=J[m+4>>2];d=h-1|0;if(!(d&h)){d=d&e;break n}if(e>>>0>>0){d=e;break n}d=(e>>>0)%(h>>>0)|0}e=J[m>>2]+(d<<2)|0;d=J[e>>2];u:{v:{if(!d){d=m+8|0;J[k>>2]=J[d>>2];J[m+8>>2]=k;J[e>>2]=d;d=J[k>>2];if(!d){break u}d=J[d+4>>2];e=h-1|0;w:{if(!(e&h)){d=d&e;break w}if(d>>>0>>0){break w}d=(d>>>0)%(h>>>0)|0}d=J[m>>2]+(d<<2)|0;break v}J[k>>2]=J[d>>2]}J[d>>2]=k}J[m+12>>2]=J[m+12>>2]+1;c=1}H[u+108|0]=c;J[g+104>>2]=k;d=J[a+40>>2];ua(J[J[a>>2]>>2]+P(d,s)|0,g- -64|0,d);h=J[g+32>>2];J[h+(n<<2)>>2]=s;s=s+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(s|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];f=J[a+68>>2];if((b|0)==(f|0)){break x}b=b-f>>2;i=b>>>0<=1?1:b;n=i&3;d=0;b=0;if(i-1>>>0>=3){e=i&-4;while(1){c=b<<2;i=c+f|0;J[i>>2]=J[(J[i>>2]<<2)+h>>2];i=f+(c|4)|0;J[i>>2]=J[(J[i>>2]<<2)+h>>2];i=f+(c|8)|0;J[i>>2]=J[(J[i>>2]<<2)+h>>2];i=f+(c|12)|0;J[i>>2]=J[(J[i>>2]<<2)+h>>2];b=b+4|0;t=t+4|0;if((e|0)!=(t|0)){continue}break}}if(!n){break x}while(1){i=f+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+h>>2];b=b+1|0;d=d+1|0;if((n|0)!=(d|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];d=J[a+72>>2]-b>>2;y:{if(d>>>0>>0){Ma(i,j-d|0,2176);j=J[a+80>>2];break y}if(d>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}c=J[i>>2];d=0;b=0;if(j>>>0>=4){e=j&-4;while(1){n=b<<2;J[n+c>>2]=J[h+n>>2];i=n|4;J[i+c>>2]=J[h+i>>2];i=n|8;J[i+c>>2]=J[h+i>>2];i=n|12;J[i+c>>2]=J[h+i>>2];b=b+4|0;t=t+4|0;if((e|0)!=(t|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+c>>2]=J[h+i>>2];b=b+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}J[a+80>>2]=s}na(h)}b=J[g+88>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[g+80>>2];J[g+80>>2]=0;if(a){na(a)}ba=g+112|0;return s}qa();B()}function Re(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,B=0,C=0;m=ba-560|0;ba=m;J[m+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<0){s=1;y=1173;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){s=1;y=1176;break a}s=e&1;y=s?1179:1174;z=!s}b:{if((g&2146435072)==2146435072){g=s+3|0;Qa(a,32,c,g,e&-65537);Oa(a,y,s);d=f&32;Oa(a,b!=b?d?1434:1643:d?1506:1647,3);Qa(a,32,c,g,e^8192);n=(c|0)<(g|0)?g:c;break b}u=m+16|0;c:{d:{e:{b=Ve(b,m+44|0);b=b+b;if(b!=0){g=J[m+44>>2];J[m+44>>2]=g-1;w=f|32;if((w|0)!=97){break e}break c}w=f|32;if((w|0)==97){break c}k=J[m+44>>2];l=(d|0)<0?6:d;break d}k=g-29|0;J[m+44>>2]=k;b=b*268435456;l=(d|0)<0?6:d}q=(m+48|0)+((k|0)>=0?288:0)|0;h=q;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}J[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((k|0)<=0){d=k;g=h;i=q;break f}i=q;d=k;while(1){o=(d|0)>=29?29:d;g=h-4|0;g:{if(i>>>0>g>>>0){break g}d=0;while(1){j=J[g>>2];x=d;d=o&31;if((o&63)>>>0>=32){n=j<>>32-d;d=j<>>0>x>>>0?j+1|0:j,1e9,0);B=g,C=x-Gl(d,ca,1e9,0)|0,J[B>>2]=C;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!d){break g}i=i-4|0;J[i>>2]=d}while(1){g=h;if(i>>>0>>0){h=g-4|0;if(!J[h>>2]){continue}}break}d=J[m+44>>2]-o|0;J[m+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){t=((l+25>>>0)/9|0)+1|0;p=(w|0)==102;while(1){d=0-d|0;n=(d|0)>=9?9:d;h:{if(g>>>0<=i>>>0){h=J[i>>2];break h}o=1e9>>>n|0;j=-1<>2];J[h>>2]=x+(d>>>n|0);d=P(o,d&j);h=h+4|0;if(h>>>0>>0){continue}break}h=J[i>>2];if(!d){break h}J[g>>2]=d;g=g+4|0}d=n+J[m+44>>2]|0;J[m+44>>2]=d;i=(!h<<2)+i|0;h=p?q:i;g=g-h>>2>(t|0)?h+(t<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=i>>>0){break i}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break i}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=(l-((w|0)!=102?d:0)|0)-((w|0)==103&(l|0)!=0)|0;if((h|0)<(P(g-q>>2,9)-9|0)){o=h+9216|0;j=(o|0)/9|0;k=((((k|0)<0?4:292)+m|0)+(j<<2)|0)-4048|0;h=10;n=o-P(j,9)|0;if((n|0)<=7){while(1){h=P(h,10);n=n+1|0;if((n|0)!=8){continue}break}}o=J[k>>2];t=(o>>>0)/(h>>>0)|0;p=o-P(h,t)|0;j=k+4|0;j:{if(!p&(j|0)==(g|0)){break j}k:{if(!(t&1)){b=9007199254740992;if(!(H[k-4|0]&1)|((h|0)!=1e9|i>>>0>=k>>>0)){break k}}b=9007199254740994}r=(g|0)==(j|0)?1:1.5;j=h>>>1|0;r=j>>>0>p>>>0?.5:(j|0)==(p|0)?r:1.5;if(!(K[y|0]!=45|z)){r=-r;b=-b}j=o-p|0;J[k>>2]=j;if(b+r==b){break j}d=h+j|0;J[k>>2]=d;if(d>>>0>=1e9){while(1){J[k>>2]=0;k=k-4|0;if(k>>>0>>0){i=i-4|0;J[i>>2]=0}d=J[k>>2]+1|0;J[k>>2]=d;if(d>>>0>999999999){continue}break}}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break j}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=k+4|0;g=g>>>0>h>>>0?h:g}while(1){j=g;o=g>>>0<=i>>>0;if(!o){g=j-4|0;if(!J[g>>2]){continue}}break}l:{if((w|0)!=103){k=e&8;break l}h=l?l:1;g=(h|0)>(d|0)&(d|0)>-5;l=(g?d^-1:-1)+h|0;f=(g?-1:-2)+f|0;k=e&8;if(k){break l}g=-9;m:{if(o){break m}k=J[j-4>>2];if(!k){break m}n=10;g=0;if((k>>>0)%10|0){break m}while(1){h=g;g=g+1|0;n=P(n,10);if(!((k>>>0)%(n>>>0)|0)){continue}break}g=h^-1}h=P(j-q>>2,9);if((f&-33)==70){k=0;g=(g+h|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g;break l}k=0;g=((d+h|0)+g|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g}n=-1;o=k|l;if(((o?2147483645:2147483646)|0)<(l|0)){break b}p=(((o|0)!=0)+l|0)+1|0;h=f&-33;n:{if((h|0)==70){if((p^2147483647)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=Mb((g^d)-g|0,0,u);if((u-g|0)<=1){while(1){g=g-1|0;H[g|0]=48;if((u-g|0)<2){continue}break}}t=g-2|0;H[t|0]=f;H[g-1|0]=(d|0)<0?45:43;g=u-t|0;if((g|0)>(p^2147483647)){break b}}d=g+p|0;if((d|0)>(s^2147483647)){break b}p=d+s|0;Qa(a,32,c,p,e);Oa(a,y,s);Qa(a,48,c,p,e^65536);o:{p:{q:{if((h|0)==70){f=m+16|0;d=f|8;k=f|9;h=i>>>0>q>>>0?q:i;i=h;while(1){g=Mb(J[i>>2],0,k);r:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break r}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break r}if((g|0)!=(k|0)){break r}H[m+24|0]=48;g=d}Oa(a,g,k-g|0);i=i+4|0;if(q>>>0>=i>>>0){continue}break}if(o){Oa(a,1981,1)}if((l|0)<=0|i>>>0>=j>>>0){break q}while(1){g=Mb(J[i>>2],0,k);if(g>>>0>m+16>>>0){while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}}Oa(a,g,(l|0)>=9?9:l);g=l-9|0;i=i+4|0;if(j>>>0<=i>>>0){break p}d=(l|0)>9;l=g;if(d){continue}break}break p}s:{if((l|0)<0){break s}q=i>>>0>>0?j:i+4|0;f=m+16|0;d=f|8;j=f|9;h=i;while(1){g=Mb(J[h>>2],0,j);if((j|0)==(g|0)){H[m+24|0]=48;g=d}t:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break t}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break t}Oa(a,g,1);g=g+1|0;if(!(k|l)){break t}Oa(a,1981,1)}f=j-g|0;Oa(a,g,(f|0)>(l|0)?l:f);l=l-f|0;h=h+4|0;if(q>>>0<=h>>>0){break s}if((l|0)>=0){continue}break}}Qa(a,48,l+18|0,18,0);Oa(a,t,u-t|0);break o}g=l}Qa(a,48,g+9|0,9,0)}Qa(a,32,c,p,e^8192);n=(c|0)<(p|0)?p:c;break b}k=(f<<26>>31&9)+y|0;u:{if(d>>>0>11){break u}g=12-d|0;r=16;while(1){r=r*16;g=g-1|0;if(g){continue}break}if(K[k|0]==45){b=-(r+(-b-r));break u}b=b+r-r}g=J[m+44>>2];h=g>>31;g=Mb((g^h)-h|0,0,u);if((u|0)==(g|0)){H[m+15|0]=48;g=m+15|0}q=s|2;i=f&32;h=J[m+44>>2];l=g-2|0;H[l|0]=f+15;H[g-1|0]=(h|0)<0?45:43;g=e&8;h=m+16|0;while(1){f=h;if(R(b)<2147483648){j=~~b}else{j=-2147483648}H[h|0]=i|K[j+17776|0];b=(b-+(j|0))*16;h=f+1|0;if(!(!((d|0)>0|g)&b==0|(h-(m+16|0)|0)!=1)){H[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}n=-1;g=u-l|0;f=g+q|0;if((2147483645-f|0)<(d|0)){break b}v:{w:{if(!d){break w}i=h-(m+16|0)|0;if((i-2|0)>=(d|0)){break w}d=d+2|0;break v}i=h-(m+16|0)|0;d=i}f=d+f|0;Qa(a,32,c,f,e);Oa(a,k,q);Qa(a,48,c,f,e^65536);Oa(a,m+16|0,i);Qa(a,48,d-i|0,0,0);Oa(a,l,g);Qa(a,32,c,f,e^8192);n=(c|0)<(f|0)?f:c}ba=m+560|0;return n|0}function Ae(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,N=0,O=0,Q=0;o=ba-32|0;ba=o;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){d=a+4|0;sa(e,J[e+4>>2],a,d);p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){sa(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){C=a+12|0;te(C);D=a+1068|0;d=D;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];E=a+1088|0;d=E;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];F=a+1108|0;d=F;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[o+24>>2]=J[b+8>>2];d=J[b+4>>2];J[o+16>>2]=J[b>>2];J[o+20>>2]=d;J[o+8>>2]=J[c+8>>2];b=J[c+4>>2];J[o>>2]=J[c>>2];J[o+4>>2]=b;b=0;f=ba-32|0;ba=f;l=a;h=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(h){if(h>>>0>=1073741824){break b}a=h<<2;b=oa(a);J[f+8>>2]=b;g=a+b|0;J[f+16>>2]=g;pa(b,0,a);J[f+12>>2]=g}a=J[l+1164>>2];c=J[a>>2];if(c){J[a+4>>2]=c;na(c);h=J[l+8>>2];g=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=g;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];b=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a=0;c:{if(h){if(h>>>0>=1073741824){break c}c=h<<2;a=oa(c);J[f+8>>2]=a;b=a+c|0;J[f+16>>2]=b;pa(a,0,c);J[f+12>>2]=b}c=J[l+1176>>2];d=J[c>>2];if(d){J[c+4>>2]=d;na(d);b=J[f+12>>2];a=J[f+8>>2]}J[c+4>>2]=b;J[c>>2]=a;J[c+8>>2]=J[f+16>>2];p=J[o+20>>2];u=J[o+24>>2];d=J[o+4>>2];x=J[o+8>>2];b=J[o>>2];c=J[o+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;fb(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;r=(a>>>0)/113|0;a=J[J[f+12>>2]+(r<<2)>>2]+P(a-P(r,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=x;J[a+12>>2]=b;J[a+4>>2]=p;J[a+8>>2]=u;J[a>>2]=c;h=J[f+28>>2]+1|0;J[f+28>>2]=h;if(h){a=u;L=a&-4;G=a&3;N=l+1068|0;H=l+12|0;O=l+1108|0;Q=a>>>0<4;while(1){b=J[f+12>>2];m=J[f+24>>2];j=h-1|0;a=m+j|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;z=J[a+32>>2];g=J[a+24>>2];r=J[a+12>>2];c=J[a>>2];J[f+28>>2]=j;a=J[f+16>>2];if((((a|0)!=(b|0)?P(a-b>>2,113)-1|0:0)-(h+m|0)|0)+1>>>0>=226){na(J[a-4>>2]);J[f+16>>2]=J[f+16>>2]-4}b=J[l>>2];h=(g|0)!=(J[l+8>>2]-1|0)?g+1|0:0;m=h<<2;y=P(z,12);j=y+J[l+1176>>2]|0;g=J[m+J[j>>2]>>2];d:{e:{if((b|0)==(g|0)){break e}f:{g:{t=r-c|0;if(t>>>0<=2){g=J[l+1152>>2];J[g>>2]=h;b=1;a=J[l+8>>2];if(a>>>0>1){break g}break f}j=J[l+1164>>2];a=j+y|0;i=j;j=y+12|0;bb(i+j|0,J[a>>2],J[a+4>>2]);a=m+J[j+J[l+1164>>2]>>2]|0;j=J[a>>2]+(1<>2]=j;a=c;h:{if((r|0)==(a|0)){break h}I=J[p+24>>2];K=m+I|0;a=r;b=c;if(!u){if(j>>>0>M[K>>2]){break h}while(1){a=a-1|0;if((b|0)==(a|0)){a=b;break h}if(j>>>0<=M[(m+J[d+24>>2]|0)+(P(a,x)<<2)>>2]){continue}b=b+1|0;if((b|0)!=(a|0)){continue}break}break h}while(1){g=P(b,u)<<2;if(j>>>0>M[g+K>>2]){b=b+1|0;if((b|0)!=(a|0)){continue}break h}while(1){a=a-1|0;if((b|0)==(a|0)){a=b;break h}n=J[d+24>>2]+(P(a,x)<<2)|0;if(j>>>0<=M[n+m>>2]){continue}break}q=g+I|0;A=0;g=0;v=0;if(!Q){while(1){k=g<<2;i=k+q|0;s=J[i>>2];w=i;i=k+n|0;J[w>>2]=J[i>>2];J[i>>2]=s;i=k|4;s=i+q|0;w=J[s>>2];i=i+n|0;J[s>>2]=J[i>>2];J[i>>2]=w;i=k|8;s=i+q|0;w=J[s>>2];i=i+n|0;J[s>>2]=J[i>>2];J[i>>2]=w;k=k|12;i=k+q|0;s=J[i>>2];k=k+n|0;J[i>>2]=J[k>>2];J[k>>2]=s;g=g+4|0;v=v+4|0;if((L|0)!=(v|0)){continue}break}}if(G){while(1){k=g<<2;v=k+q|0;i=J[v>>2];k=k+n|0;J[v>>2]=J[k>>2];J[k>>2]=i;g=g+1|0;A=A+1|0;if((A|0)!=(G|0)){continue}break}}b=b+1|0;if((b|0)!=(a|0)){continue}break}}j=a-c|0;n=r-a|0;if((j|0)!=(n|0)){xc(O,j>>>0>>0)}k=z+1|0;b=S(t);q=b^31;g=t>>>1|0;i:{if(j>>>0>>0){if(!q){break i}t=g-j|0;b=1<<30-b;g=0;while(1){Ca((g<<5)+H|0,(b&t)!=0);b=b>>>1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}break i}if(!q){break i}t=g-n|0;b=1<<30-b;g=0;while(1){Ca((g<<5)+H|0,(b&t)!=0);b=b>>>1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}}i=m;b=J[l+1176>>2];g=b+y|0;m=J[g>>2];q=i+m|0;J[q>>2]=J[q>>2]+1;bb(b+P(k,12)|0,m,J[g+4>>2]);if((a|0)!=(c|0)){g=J[f+28>>2]+J[f+24>>2]|0;m=J[f+16>>2];b=J[f+12>>2];if((g|0)==(((b|0)!=(m|0)?P(m-b>>2,113)-1|0:0)|0)){fb(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;i=J[f+12>>2]}else{i=b}b=(g>>>0)/113|0;b=J[i+(b<<2)>>2]+P(g-P(b,113)|0,36)|0;J[b+32>>2]=z;J[b+28>>2]=j;J[b+24>>2]=h;J[b+16>>2]=p;J[b+12>>2]=a;J[b+4>>2]=p;J[b+8>>2]=u;J[b>>2]=c;J[b+20>>2]=u;J[f+28>>2]=J[f+28>>2]+1}if((a|0)==(r|0)){break e}g=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];b=J[f+12>>2];if((g|0)==(((b|0)!=(c|0)?P(c-b>>2,113)-1|0:0)|0)){fb(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}else{c=b}b=(g>>>0)/113|0;b=J[c+(b<<2)>>2]+P(g-P(b,113)|0,36)|0;J[b+32>>2]=k;J[b+28>>2]=n;J[b+24>>2]=h;J[b+16>>2]=d;J[b+20>>2]=x;J[b+12>>2]=r;J[b+4>>2]=p;J[b>>2]=a;J[b+8>>2]=u;h=J[f+28>>2]+1|0;J[f+28>>2]=h;break d}while(1){h=(a-1|0)!=(h|0)?h+1|0:0;J[g+(b<<2)>>2]=h;a=J[l+8>>2];b=b+1|0;if(a>>>0>b>>>0){continue}break}}g=0;b=a;if((c|0)==(r|0)){break e}while(1){j:{if(!b){b=0;break j}r=J[p+24>>2]+(P(J[p+4>>2],c+g|0)<<2)|0;h=0;while(1){b=J[l>>2];m=J[J[l+1152>>2]+(h<<2)>>2]<<2;n=J[m+J[j>>2]>>2];if((b|0)!=(n|0)){Ib(N,b-n|0,J[m+r>>2]);a=J[l+8>>2]}b=a;h=h+1|0;if(h>>>0>>0){continue}break}}g=g+1|0;if((t|0)!=(g|0)){continue}break}}h=J[f+28>>2]}if(h){continue}break}}J[f+28>>2]=0;c=J[f+16>>2];h=J[f+12>>2];a=c-h|0;if(a>>>0>=9){while(1){na(J[h>>2]);h=J[f+12>>2]+4|0;J[f+12>>2]=h;c=J[f+16>>2];a=c-h|0;if(a>>>0>8){continue}break}}b=56;k:{switch((a>>>2|0)-1|0){case 1:b=113;case 0:J[f+24>>2]=b;break;default:break k}}l:{if((c|0)==(h|0)){break l}while(1){na(J[h>>2]);h=h+4|0;if((h|0)!=(c|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break l}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){na(a)}ba=f+32|0;break a}qa();B()}qa();B()}se(C,e);eb(D,e);eb(E,e);eb(F,e)}ba=o+32|0;return 1} -function Ue(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;l=1510;g=ba-80|0;ba=g;J[g+76>>2]=1510;w=g+55|0;r=g+56|0;a:{b:{c:{d:{e:while(1){h=l;if((n^2147483647)<(e|0)){break d}n=e+n|0;f:{g:{h:{e=h;f=K[e|0];if(f){while(1){i:{f=f&255;j:{if(!f){l=e;break j}if((f|0)!=37){break i}f=e;while(1){if(K[f+1|0]!=37){l=f;break j}e=e+1|0;k=K[f+2|0];l=f+2|0;f=l;if((k|0)==37){continue}break}}e=e-h|0;v=n^2147483647;if((e|0)>(v|0)){break d}if(a){Oa(a,h,e)}if(e){continue e}J[g+76>>2]=l;e=l+1|0;o=-1;if(!(K[l+2|0]!=36|H[l+1|0]-48>>>0>=10)){o=H[l+1|0]-48|0;s=1;e=l+3|0}J[g+76>>2]=e;m=0;f=H[e|0];l=f-32|0;k:{if(l>>>0>31){i=e;break k}i=e;l=1<>2]=i;m=m|l;f=H[e+1|0];l=f-32|0;if(l>>>0>=32){break k}e=i;l=1<>>0>=10)){J[((H[i+1|0]<<2)+d|0)-192>>2]=10;f=i+3|0;s=1;e=J[((H[i+1|0]<<3)+c|0)-384>>2];break m}if(s){break h}f=i+1|0;if(!a){J[g+76>>2]=f;s=0;p=0;break l}e=J[b>>2];J[b>>2]=e+4;s=0;e=J[e>>2]}J[g+76>>2]=f;p=e;if((e|0)>=0){break l}p=0-p|0;m=m|8192;break l}p=Te(g+76|0);if((p|0)<0){break d}f=J[g+76>>2]}e=0;j=-1;n:{if(K[f|0]!=46){l=f;f=0;break n}if(K[f+1|0]==42){o:{if(!(K[f+3|0]!=36|H[f+2|0]-48>>>0>=10)){J[((H[f+2|0]<<2)+d|0)-192>>2]=10;l=f+4|0;j=J[((H[f+2|0]<<3)+c|0)-384>>2];break o}if(s){break h}l=f+2|0;j=0;if(!a){break o}f=J[b>>2];J[b>>2]=f+4;j=J[f>>2]}J[g+76>>2]=l;f=(j^-1)>>>31|0;break n}J[g+76>>2]=f+1;j=Te(g+76|0);l=J[g+76>>2];f=1}t=f;while(1){q=e;i=28;k=l;e=H[k|0];if(e-123>>>0<4294967238){break c}l=k+1|0;e=K[(e+P(q,58)|0)+17247|0];if(e-1>>>0<8){continue}break}J[g+76>>2]=l;p:{q:{if((e|0)!=27){if(!e){break c}if((o|0)>=0){J[(o<<2)+d>>2]=e;f=(o<<3)+c|0;e=J[f+4>>2];J[g+64>>2]=J[f>>2];J[g+68>>2]=e;break q}if(!a){break f}Se(g- -64|0,e,b);break p}if((o|0)>=0){break c}}e=0;if(!a){continue e}}f=m&-65537;m=m&8192?f:m;o=0;u=1163;i=r;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{e=H[k|0];e=q?(e&15)==3?e&-33:e:e;switch(e-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(e-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((e|0)==83){break w}break g}f=J[g+64>>2];k=J[g+68>>2];e=1163;break z}e=0;I:{switch(q&255){case 0:J[J[g+64>>2]>>2]=n;continue e;case 1:J[J[g+64>>2]>>2]=n;continue e;case 2:h=J[g+64>>2];J[h>>2]=n;J[h+4>>2]=n>>31;continue e;case 3:I[J[g+64>>2]>>1]=n;continue e;case 4:H[J[g+64>>2]]=n;continue e;case 6:J[J[g+64>>2]>>2]=n;continue e;case 7:break I;default:continue e}}h=J[g+64>>2];J[h>>2]=n;J[h+4>>2]=n>>31;continue e}j=j>>>0<=8?8:j;m=m|8;e=120}h=r;f=J[g+64>>2];k=J[g+68>>2];if(f|k){x=e&32;while(1){h=h-1|0;H[h|0]=x|K[(f&15)+17776|0];y=!k&f>>>0>15|(k|0)!=0;q=k;k=k>>>4|0;f=(q&15)<<28|f>>>4;if(y){continue}break}}if(!(J[g+64>>2]|J[g+68>>2])|!(m&8)){break y}u=(e>>>4|0)+1163|0;o=2;break y}e=r;h=J[g+68>>2];k=h;f=J[g+64>>2];if(h|f){while(1){e=e-1|0;H[e|0]=f&7|48;q=!k&f>>>0>7|(k|0)!=0;h=k;k=h>>>3|0;f=(h&7)<<29|f>>>3;if(q){continue}break}}h=e;if(!(m&8)){break y}e=r-h|0;j=(e|0)<(j|0)?j:e+1|0;break y}f=J[g+64>>2];e=J[g+68>>2];k=e;if((e|0)<0){h=0-(k+((f|0)!=0)|0)|0;k=h;f=0-f|0;J[g+64>>2]=f;J[g+68>>2]=h;o=1;e=1163;break z}if(m&2048){o=1;e=1164;break z}o=m&1;e=o?1165:1163}u=e;h=Mb(f,k,r)}if((j|0)<0?t:0){break d}m=t?m&-65537:m;e=J[g+64>>2];f=J[g+68>>2];if(!(j|(e|f)!=0)){h=r;j=0;break g}e=!(e|f)+(r-h|0)|0;j=(e|0)<(j|0)?j:e;break g}q=j>>>0>=2147483647?2147483647:j;i=q;m=(i|0)!=0;e=J[g+64>>2];h=e?e:1983;e=h;J:{K:{L:{M:{if(!(e&3)|!i){break M}while(1){if(!K[e|0]){break L}i=i-1|0;m=(i|0)!=0;e=e+1|0;if(!(e&3)){break M}if(i){continue}break}}if(!m){break K}if(!(!K[e|0]|i>>>0<4)){while(1){k=J[e>>2];if((k^-1)&k-16843009&-2139062144){break L}e=e+4|0;i=i-4|0;if(i>>>0>3){continue}break}}if(!i){break K}}while(1){if(!K[e|0]){break J}e=e+1|0;i=i-1|0;if(i){continue}break}}e=0}e=e?e-h|0:q;i=e+h|0;if((j|0)>=0){m=f;j=e;break g}m=f;j=e;if(K[i|0]){break d}break g}if(j){f=J[g+64>>2];break u}e=0;Qa(a,32,p,0,m);break t}J[g+12>>2]=0;J[g+8>>2]=J[g+64>>2];f=g+8|0;J[g+64>>2]=f;j=-1}e=0;N:{while(1){h=J[f>>2];if(!h){break N}k=Pe(g+4|0,h);h=(k|0)<0;if(!(h|k>>>0>j-e>>>0)){f=f+4|0;e=e+k|0;if(j>>>0>e>>>0){continue}break N}break}if(h){break b}}i=61;if((e|0)<0){break c}Qa(a,32,p,e,m);if(!e){e=0;break t}i=0;f=J[g+64>>2];while(1){h=J[f>>2];if(!h){break t}h=Pe(g+4|0,h);i=h+i|0;if(i>>>0>e>>>0){break t}Oa(a,g+4|0,h);f=f+4|0;if(e>>>0>i>>>0){continue}break}}Qa(a,32,p,e,m^8192);e=(e|0)<(p|0)?p:e;continue e}if((j|0)<0?t:0){break d}i=61;e=Re(a,O[g+64>>3],p,j,m,e);if((e|0)>=0){continue e}break c}H[g+55|0]=J[g+64>>2];j=1;h=w;m=f;break g}f=K[e+1|0];e=e+1|0;continue}}if(a){break a}if(!s){break f}e=1;while(1){a=J[(e<<2)+d>>2];if(a){Se((e<<3)+c|0,a,b);n=1;e=e+1|0;if((e|0)!=10){continue}break a}break}n=1;if(e>>>0>=10){break a}while(1){if(J[(e<<2)+d>>2]){break h}e=e+1|0;if((e|0)!=10){continue}break}break a}i=28;break c}k=i-h|0;f=(j|0)>(k|0)?j:k;if((f|0)>(o^2147483647)){break d}i=61;j=f+o|0;e=(j|0)<(p|0)?p:j;if((v|0)<(e|0)){break c}Qa(a,32,e,j,m);Oa(a,u,o);Qa(a,48,e,j,m^65536);Qa(a,48,f,k,0);Oa(a,h,k);Qa(a,32,e,j,m^8192);continue}break}n=0;break a}i=61}J[4804]=i}n=-1}ba=g+80|0;return n}function Pf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=ba-16|0;ba=g;J[b+44>>2]=d;J[b+48>>2]=c;d=J[b+12>>2];f=J[b+8>>2];if((d|0)!=(f|0)){while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){da[J[J[e>>2]+4>>2]](e)}if((d|0)!=(f|0)){continue}break}}J[b+12>>2]=f;J[b+24>>2]=J[b+20>>2];J[b+36>>2]=J[b+32>>2];a:{if(!J[b+4>>2]){b=oa(32);H[b+23|0]=0;c=K[1670]|K[1671]<<8|(K[1672]<<16|K[1673]<<24);d=K[1666]|K[1667]<<8|(K[1668]<<16|K[1669]<<24);H[b+15|0]=d;H[b+16|0]=d>>>8;H[b+17|0]=d>>>16;H[b+18|0]=d>>>24;H[b+19|0]=c;H[b+20|0]=c>>>8;H[b+21|0]=c>>>16;H[b+22|0]=c>>>24;c=K[1663]|K[1664]<<8|(K[1665]<<16|K[1666]<<24);d=K[1659]|K[1660]<<8|(K[1661]<<16|K[1662]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1655]|K[1656]<<8|(K[1657]<<16|K[1658]<<24);d=K[1651]|K[1652]<<8|(K[1653]<<16|K[1654]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,23);na(b);break a}d=ba-16|0;ba=d;e=J[b+44>>2];f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){sa(e,J[e+4>>2],1637,1642)}e=da[J[J[b>>2]+8>>2]](b)|0;H[d+15|0]=e;H[d+14|0]=2;H[d+13|0]=e&255?2:3;e=J[b+44>>2];f=J[e+20>>2];b:{if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}sa(e,J[e+4>>2],d+14|0,d+15|0);e=J[b+44>>2];f=J[e+20>>2];if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}sa(e,J[e+4>>2],d+13|0,d+14|0);e=J[b+44>>2];f=J[e+20>>2];if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}sa(e,J[e+4>>2],d+15|0,d+16|0);e=J[b+44>>2]}j=d,k=da[J[J[b>>2]+12>>2]](b)|0,H[j+12|0]=k;f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){sa(e,J[e+4>>2],d+12|0,d+13|0)}I[d+10>>1]=(J[J[b+4>>2]+4>>2]!=0)<<15;e=J[b+44>>2];f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){sa(e,J[e+4>>2],d+10|0,d+12|0)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;ba=d+16|0;if(J[a>>2]){break a}if(H[a+15|0]<0){na(J[a+4>>2])}d=J[J[b+4>>2]+4>>2];c:{if(!d){J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break c}e=J[b+44>>2];if(d){Aa(J[d+28>>2]-J[d+24>>2]>>2,e);f=J[d+24>>2];i=J[d+28>>2];if((f|0)!=(i|0)){while(1){h=J[f>>2];if(h){Aa(J[h+24>>2],e);td(g,e,h)}f=f+4|0;if((i|0)!=(f|0)){continue}break}}td(g,e,d)}if(d){J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break c}d=oa(32);H[d+26|0]=0;e=K[1882]|K[1883]<<8;H[d+24|0]=e;H[d+25|0]=e>>>8;e=K[1878]|K[1879]<<8|(K[1880]<<16|K[1881]<<24);f=K[1874]|K[1875]<<8|(K[1876]<<16|K[1877]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=e;H[d+21|0]=e>>>8;H[d+22|0]=e>>>16;H[d+23|0]=e>>>24;e=K[1870]|K[1871]<<8|(K[1872]<<16|K[1873]<<24);f=K[1866]|K[1867]<<8|(K[1868]<<16|K[1869]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1862]|K[1863]<<8|(K[1864]<<16|K[1865]<<24);f=K[1858]|K[1859]<<8|(K[1860]<<16|K[1861]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;J[a>>2]=-1;Ga(a+4|0,d,26);na(d);if(J[a>>2]){break a}if(H[a+15|0]>=0){break c}na(J[a+4>>2])}if(!(da[J[J[b>>2]+16>>2]](b)|0)){b=oa(32);H[b+29|0]=0;c=K[1798]|K[1799]<<8|(K[1800]<<16|K[1801]<<24);d=K[1794]|K[1795]<<8|(K[1796]<<16|K[1797]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1793]|K[1794]<<8|(K[1795]<<16|K[1796]<<24);d=K[1789]|K[1790]<<8|(K[1791]<<16|K[1792]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1785]|K[1786]<<8|(K[1787]<<16|K[1788]<<24);d=K[1781]|K[1782]<<8|(K[1783]<<16|K[1784]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1777]|K[1778]<<8|(K[1779]<<16|K[1780]<<24);d=K[1773]|K[1774]<<8|(K[1775]<<16|K[1776]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,29);na(b);break a}if(!(da[J[J[b>>2]+20>>2]](b)|0)){b=oa(32);H[b+31|0]=0;c=K[1941]|K[1942]<<8|(K[1943]<<16|K[1944]<<24);d=K[1937]|K[1938]<<8|(K[1939]<<16|K[1940]<<24);H[b+23|0]=d;H[b+24|0]=d>>>8;H[b+25|0]=d>>>16;H[b+26|0]=d>>>24;H[b+27|0]=c;H[b+28|0]=c>>>8;H[b+29|0]=c>>>16;H[b+30|0]=c>>>24;c=K[1934]|K[1935]<<8|(K[1936]<<16|K[1937]<<24);d=K[1930]|K[1931]<<8|(K[1932]<<16|K[1933]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1926]|K[1927]<<8|(K[1928]<<16|K[1929]<<24);d=K[1922]|K[1923]<<8|(K[1924]<<16|K[1925]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1918]|K[1919]<<8|(K[1920]<<16|K[1921]<<24);d=K[1914]|K[1915]<<8|(K[1916]<<16|K[1917]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,31);na(b);break a}da[J[J[b>>2]+24>>2]](a,b);if(J[a>>2]){break a}if(H[a+15|0]<0){na(J[a+4>>2])}if(!(da[J[J[b>>2]+28>>2]](b)|0)){b=Pc(g,1708);J[a>>2]=-1;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break a}Ga(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break a}na(J[b>>2]);break a}d=c;c=Pc(g,1214);d=Pb(d,c,0);if(H[c+11|0]<0){na(J[c>>2])}if(d){da[J[J[b>>2]+48>>2]](b)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}ba=g+16|0}function ve(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,N=0,O=0,Q=0;o=ba-32|0;ba=o;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){d=a+4|0;sa(e,J[e+4>>2],a,d);p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){sa(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){C=a+12|0;d=C;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];D=a+32|0;d=D;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];E=a+52|0;d=E;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];F=a+72|0;d=F;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[o+24>>2]=J[b+8>>2];d=J[b+4>>2];J[o+16>>2]=J[b>>2];J[o+20>>2]=d;J[o+8>>2]=J[c+8>>2];b=J[c+4>>2];J[o>>2]=J[c>>2];J[o+4>>2]=b;c=0;b=0;f=ba-32|0;ba=f;l=a;g=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(g){if(g>>>0>=1073741824){break b}a=g<<2;c=oa(a);J[f+8>>2]=c;b=a+c|0;J[f+16>>2]=b;pa(c,0,a);J[f+12>>2]=b}a=J[l+128>>2];d=J[a>>2];if(d){J[a+4>>2]=d;na(d);g=J[l+8>>2];c=J[f+8>>2];b=J[f+12>>2]}J[a+4>>2]=b;J[a>>2]=c;J[a+8>>2]=J[f+16>>2];c=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b=0;c:{if(g){if(g>>>0>=1073741824){break c}a=g<<2;b=oa(a);J[f+8>>2]=b;c=a+b|0;J[f+16>>2]=c;pa(b,0,a);J[f+12>>2]=c}a=J[l+140>>2];d=J[a>>2];if(d){J[a+4>>2]=d;na(d);c=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=c;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];p=J[o+20>>2];t=J[o+24>>2];d=J[o+4>>2];w=J[o+8>>2];b=J[o>>2];c=J[o+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;fb(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;q=(a>>>0)/113|0;a=J[J[f+12>>2]+(q<<2)>>2]+P(a-P(q,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=w;J[a+12>>2]=b;J[a+4>>2]=p;J[a+8>>2]=t;J[a>>2]=c;g=J[f+28>>2]+1|0;J[f+28>>2]=g;if(g){a=t;K=a&-4;G=a&3;L=l+32|0;N=l+12|0;O=l+72|0;Q=a>>>0<4;while(1){b=J[f+12>>2];i=J[f+24>>2];h=g-1|0;a=i+h|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;z=J[a+32>>2];c=J[a+24>>2];q=J[a+12>>2];a=J[a>>2];J[f+28>>2]=h;h=J[f+16>>2];if((((b|0)!=(h|0)?P(h-b>>2,113)-1|0:0)-(g+i|0)|0)+1>>>0>=226){na(J[h-4>>2]);J[f+16>>2]=J[f+16>>2]-4}i=J[l>>2];g=(c|0)!=(J[l+8>>2]-1|0)?c+1|0:0;h=g<<2;x=P(z,12);k=x+J[l+140>>2]|0;c=J[h+J[k>>2]>>2];d:{e:{if((i|0)==(c|0)){break e}f:{g:{y=q-a|0;if(y>>>0<=2){h=J[l+116>>2];J[h>>2]=g;c=1;b=J[l+8>>2];if(b>>>0>1){break g}break f}k=J[l+128>>2];b=k+x|0;j=k;k=x+12|0;bb(j+k|0,J[b>>2],J[b+4>>2]);b=h+J[k+J[l+128>>2]>>2]|0;k=J[b>>2]+(1<>2]=k;b=a;h:{if((a|0)==(q|0)){break h}H=J[p+24>>2];I=h+H|0;b=q;c=a;if(!t){if(k>>>0>M[I>>2]){break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}if(k>>>0<=M[(h+J[d+24>>2]|0)+(P(b,w)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(b|0)){continue}break}break h}while(1){i=P(c,t)<<2;if(k>>>0>M[i+I>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}n=J[d+24>>2]+(P(b,w)<<2)|0;if(k>>>0<=M[n+h>>2]){continue}break}r=i+H|0;A=0;i=0;u=0;if(!Q){while(1){m=i<<2;j=m+r|0;s=J[j>>2];v=j;j=n+m|0;J[v>>2]=J[j>>2];J[j>>2]=s;j=m|4;s=j+r|0;v=J[s>>2];j=j+n|0;J[s>>2]=J[j>>2];J[j>>2]=v;j=m|8;s=j+r|0;v=J[s>>2];j=j+n|0;J[s>>2]=J[j>>2];J[j>>2]=v;m=m|12;j=m+r|0;s=J[j>>2];m=n+m|0;J[j>>2]=J[m>>2];J[m>>2]=s;i=i+4|0;u=u+4|0;if((K|0)!=(u|0)){continue}break}}if(G){while(1){m=i<<2;u=m+r|0;j=J[u>>2];m=n+m|0;J[u>>2]=J[m>>2];J[m>>2]=j;i=i+1|0;A=A+1|0;if((A|0)!=(G|0)){continue}break}}c=c+1|0;if((c|0)!=(b|0)){continue}break}}k=b-a|0;n=q-b|0;if((k|0)!=(n|0)){xc(O,k>>>0>>0)}Ib(N,S(y)^31,(y>>>1|0)-(k>>>0>>0?k:n)|0);j=h;c=J[l+140>>2];h=c+x|0;i=J[h>>2];r=j+i|0;J[r>>2]=J[r>>2]+1;r=z+1|0;bb(c+P(r,12)|0,i,J[h+4>>2]);if((a|0)!=(b|0)){i=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];h=J[f+12>>2];if((i|0)==(((c|0)!=(h|0)?P(c-h>>2,113)-1|0:0)|0)){fb(f+8|0);i=J[f+24>>2]+J[f+28>>2]|0;h=J[f+12>>2]}c=(i>>>0)/113|0;c=J[h+(c<<2)>>2]+P(i-P(c,113)|0,36)|0;J[c+32>>2]=z;J[c+28>>2]=k;J[c+24>>2]=g;J[c+16>>2]=p;J[c+12>>2]=b;J[c+4>>2]=p;J[c+8>>2]=t;J[c>>2]=a;J[c+20>>2]=t;J[f+28>>2]=J[f+28>>2]+1}if((b|0)==(q|0)){break e}h=J[f+28>>2]+J[f+24>>2]|0;a=J[f+16>>2];c=J[f+12>>2];if((h|0)==(((a|0)!=(c|0)?P(a-c>>2,113)-1|0:0)|0)){fb(f+8|0);h=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}a=(h>>>0)/113|0;a=J[c+(a<<2)>>2]+P(h-P(a,113)|0,36)|0;J[a+32>>2]=r;J[a+28>>2]=n;J[a+24>>2]=g;J[a+16>>2]=d;J[a+20>>2]=w;J[a+12>>2]=q;J[a+4>>2]=p;J[a>>2]=b;J[a+8>>2]=t;g=J[f+28>>2]+1|0;J[f+28>>2]=g;break d}while(1){g=(b-1|0)!=(g|0)?g+1|0:0;J[h+(c<<2)>>2]=g;b=J[l+8>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}if(!b|(a|0)==(q|0)){break e}h=0;c=1;while(1){g=0;i:{if(!c){c=0;break i}q=J[p+24>>2]+(P(J[p+4>>2],a+h|0)<<2)|0;while(1){c=J[l>>2];i=J[J[l+116>>2]+(g<<2)>>2]<<2;n=J[i+J[k>>2]>>2];if((c|0)!=(n|0)){Ib(L,c-n|0,J[i+q>>2]);b=J[l+8>>2]}c=b;g=g+1|0;if(c>>>0>g>>>0){continue}break}}h=h+1|0;if((y|0)!=(h|0)){continue}break}}g=J[f+28>>2]}if(g){continue}break}}J[f+28>>2]=0;a=J[f+16>>2];g=J[f+12>>2];b=a-g|0;if(b>>>0>=9){while(1){na(J[g>>2]);g=J[f+12>>2]+4|0;J[f+12>>2]=g;a=J[f+16>>2];b=a-g|0;if(b>>>0>8){continue}break}}c=56;j:{switch((b>>>2|0)-1|0){case 1:c=113;case 0:J[f+24>>2]=c;break;default:break j}}k:{if((a|0)==(g|0)){break k}while(1){na(J[g>>2]);g=g+4|0;if((g|0)!=(a|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break k}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){na(a)}ba=f+32|0;break a}qa();B()}qa();B()}eb(C,e);eb(D,e);eb(E,e);eb(F,e)}ba=o+32|0;return 1}function fg(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,n=0,o=0,p=0,q=0,r=0;l=ba-32|0;ba=l;d=J[a+16>>2];J[a+20>>2]=d;a:{b:{c:{d:{e:{f:{g:{h:{if((d|0)!=J[a+24>>2]){J[d>>2]=b;b=d+4|0;J[a+20>>2]=b;e=d;break h}e=oa(4);J[e>>2]=b;b=e+4|0;J[a+24>>2]=b;J[a+20>>2]=b;J[a+16>>2]=e;if(d){break g}}d=J[a+8>>2];d=J[d+100>>2]-J[d+96>>2]|0;break f}na(d);b=J[a+20>>2];e=J[a+16>>2];if((b|0)==(e|0)){break e}d=J[a+8>>2];d=J[d+100>>2]-J[d+96>>2]|0}if((d|0)>0){q=a+120|0;d=(d|0)/12|0;r=(d|0)<=1?1:d;while(1){i:{j:{e=b-4|0;b=J[e>>2];if((b|0)==-1){break j}d=(b>>>0)/3|0;if(J[J[a+28>>2]+(d>>>3&268435452)>>2]>>>d&1){break j}m=0;while(1){J[a+164>>2]=J[a+164>>2]+1;e=b;g=(b>>>0)/3|0;f=(b|0)==-1;n=f?-1:g;b=J[a+28>>2]+(n>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];k:{if((b|0)!=J[a+80>>2]){J[b>>2]=e;J[a+76>>2]=b+4;break k}i=J[a+72>>2];j=b-i|0;c=j>>2;k=c+1|0;if(k>>>0>1073741823){break d}d=j>>>1|0;k=j>>>0>=2147483644?1073741823:d>>>0>k>>>0?d:k;if(k){if(k>>>0>1073741823){break a}d=oa(k<<2)}else{d=0}h=d+(c<<2)|0;J[h>>2]=e;c=h+4|0;if((b|0)!=(i|0)){while(1){h=h-4|0;b=b-4|0;J[h>>2]=J[b>>2];if((b|0)!=(i|0)){continue}break}}J[a+80>>2]=d+(k<<2);J[a+76>>2]=c;J[a+72>>2]=h;if(!i){break k}na(i)}b=-1;h=J[a+12>>2];b=(e|0)!=-1?J[J[h>>2]+(e<<2)>>2]:b;k=b<<2;p=J[k+J[a+152>>2]>>2];l:{m:{c=J[a+84>>2]+(b>>>3&536870908)|0;d=J[c>>2];b=1<>2]=b|d;if((p|0)==-1){break m}}n:{if(f){break n}b=-1;d=e+1|0;f=(d>>>0)%3|0?d:e-2|0;if((f|0)!=-1){b=J[J[h+12>>2]+(f<<2)>>2]}i=e-P(g,3)|0;o:{p:{if(i){c=e-1|0;break p}c=e+2|0;d=-1;if((c|0)==-1){break o}}d=J[J[h+12>>2]+(c<<2)>>2]}o=(d|0)==-1;j=o?-1:(d>>>0)/3|0;q:{if((f|0)==-1){break q}g=J[h+12>>2];c=J[g+(f<<2)>>2];if((c|0)==-1){break q}f=J[a+28>>2];c=(c>>>0)/3|0;if(J[f+(c>>>3&268435452)>>2]>>>c&1){break q}r:{s:{if(i){h=e-1|0;break s}h=e+2|0;if((h|0)==-1){break r}}c=J[(h<<2)+g>>2];if((c|0)==-1){break r}c=(c>>>0)/3|0;if(J[f+(c>>>3&268435452)>>2]>>>c&1){break r}c=J[a+272>>2];t:{if((c|0)!=J[a+276>>2]){J[c>>2]=1;J[a+272>>2]=c+4;break t}i=J[a+268>>2];j=c-i|0;f=j>>2;g=f+1|0;if(g>>>0>1073741823){break c}c=j>>>1|0;g=j>>>0>=2147483644?1073741823:c>>>0>g>>>0?c:g;if(g){if(g>>>0>1073741823){break a}c=oa(g<<2)}else{c=0}f=c+(f<<2)|0;J[f>>2]=1;c=ta(c,i,j);J[a+276>>2]=c+(g<<2);J[a+272>>2]=f+4;J[a+268>>2]=c;if(!i){break t}na(i)}J[a+168>>2]=J[a+168>>2]+1;u:{if((p|0)==-1){break u}c=J[J[a+152>>2]+k>>2];if(J[J[a+140>>2]+(c>>>3&536870908)>>2]>>>c&1){break u}Hc(a,e,0)}c=J[a+164>>2];J[l+4>>2]=n;e=l+4|0;J[l+16>>2]=e;ag(l+24|0,q,e,l+16|0);J[J[l+24>>2]+12>>2]=c;h=J[a+20>>2];J[h-4>>2]=d;if(J[a+24>>2]!=(h|0)){J[h>>2]=b;J[a+20>>2]=h+4;break i}g=J[a+16>>2];f=h-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break b}d=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?d:c;if(c){if(c>>>0>1073741823){break a}d=oa(c<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=b;b=e+4|0;if((g|0)!=(h|0)){while(1){e=e-4|0;h=h-4|0;J[e>>2]=J[h>>2];if((g|0)!=(h|0)){continue}break}}J[a+24>>2]=d+(c<<2);J[a+20>>2]=b;J[a+16>>2]=e;if(!g){break i}na(g);break i}if(!o){Qb(a,J[a+164>>2],0,j)}d=J[a+272>>2];if((d|0)!=J[a+276>>2]){J[d>>2]=3;J[a+272>>2]=d+4;break l}g=J[a+268>>2];f=d-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break c}d=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?d:c;if(c){if(c>>>0>1073741823){break a}d=oa(c<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=3;d=ta(d,g,f);J[a+276>>2]=d+(c<<2);J[a+272>>2]=e+4;J[a+268>>2]=d;if(!g){break l}na(g);break l}c=(b|0)==-1;if(!c){Qb(a,J[a+164>>2],1,c?-1:(b>>>0)/3|0)}v:{w:{if(i){b=e-1|0;break w}b=e+2|0;if((b|0)==-1){break v}}b=J[J[J[a+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break v}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break v}b=J[a+272>>2];if((b|0)!=J[a+276>>2]){J[b>>2]=5;J[a+272>>2]=b+4;b=d;break l}g=J[a+268>>2];f=b-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break c}b=f>>>1|0;c=f>>>0>=2147483644?1073741823:b>>>0>c>>>0?b:c;if(c){if(c>>>0>1073741823){break a}b=oa(c<<2)}else{b=0}e=b+(e<<2)|0;J[e>>2]=5;b=ta(b,g,f);J[a+276>>2]=b+(c<<2);J[a+272>>2]=e+4;J[a+268>>2]=b;if(!g){b=d;break l}na(g);b=d;break l}if(o){break n}Qb(a,J[a+164>>2],0,j)}b=J[a+272>>2];x:{if((b|0)!=J[a+276>>2]){J[b>>2]=7;J[a+272>>2]=b+4;break x}f=J[a+268>>2];c=b-f|0;d=c>>2;e=d+1|0;if(e>>>0>1073741823){break c}b=c>>>1|0;e=c>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(e){if(e>>>0>1073741823){break a}b=oa(e<<2)}else{b=0}d=b+(d<<2)|0;J[d>>2]=7;b=ta(b,f,c);J[a+276>>2]=b+(e<<2);J[a+272>>2]=d+4;J[a+268>>2]=b;if(!f){break x}na(f)}J[a+20>>2]=J[a+20>>2]-4;break i}b=J[a+272>>2];y:{if((b|0)!=J[a+276>>2]){J[b>>2]=0;J[a+272>>2]=b+4;break y}g=J[a+268>>2];f=b-g|0;d=f>>2;c=d+1|0;if(c>>>0>1073741823){break c}b=f>>>1|0;c=f>>>0>=2147483644?1073741823:b>>>0>c>>>0?b:c;if(c){if(c>>>0>1073741823){break a}b=oa(c<<2)}else{b=0}d=b+(d<<2)|0;J[d>>2]=0;b=ta(b,g,f);J[a+276>>2]=b+(c<<2);J[a+272>>2]=d+4;J[a+268>>2]=b;if(!g){break y}na(g)}b=-1;if((e|0)==-1){break l}d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;if((d|0)==-1){break l}b=J[J[J[a+12>>2]+12>>2]+(d<<2)>>2]}m=m+1|0;if((r|0)!=(m|0)){continue}break}break i}J[a+20>>2]=e}b=J[a+20>>2];if((b|0)!=J[a+16>>2]){continue}break}break e}f=J[a+28>>2];while(1){d=b-4|0;c=J[d>>2];z:{if((c|0)!=-1){c=(c>>>0)/3|0;if(!(J[f+(c>>>3&268435452)>>2]>>>c&1)){break z}}J[a+20>>2]=d;b=d}if((b|0)!=(e|0)){continue}break}}ba=l+32|0;return 1}qa();B()}qa();B()}qa();B()}xa();B()}function vf(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,n=0,o=0,p=0,q=Q(0),r=0,s=0,t=0,u=Q(0);f=ba-80|0;ba=f;J[f+56>>2]=0;J[f+60>>2]=0;J[f+48>>2]=0;J[f+52>>2]=0;J[f+64>>2]=1065353216;c=J[a+80>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;m=oa(e);J[f+16>>2]=m;c=e+m|0;J[f+24>>2]=c;pa(m,0,e);J[f+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=Gl(J[b+40>>2],J[b+44>>2],n,0);k=c;c=c+e|0;c=c+d|0;e=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);c=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+32>>2]=e;J[f+36>>2]=c;J[f+40>>2]=e;J[f+44>>2]=c;c=0;g=J[f+52>>2];b:{if(!g){break b}d=J[f+48>>2];k=L[f+38>>1]^(L[f+36>>1]^(L[f+34>>1]^(L[f+32>>1]^318)+239)+239)+239;e=k&g-1;o=Jl(g);c:{if(o>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(g>>>0)|0}t=d;d=e;e=J[t+(d<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(o>>>0>=2){l=L[f+32>>1];r=L[f+34>>1];p=L[f+36>>1];o=L[f+38>>1];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((d|0)!=(e|0)){break b}break e}e=L[j+8>>1];f:{if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=L[j+10>>1];if((e|0)!=(r|0)){e=(e|0)==(r|0);break f}e=L[j+12>>1];if((e|0)!=(p|0)){e=(e|0)==(p|0);break f}e=(o|0)==L[j+14>>1]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}p=g-1|0;g=L[f+32>>1];l=L[f+34>>1];r=L[f+36>>1];o=L[f+38>>1];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((d|0)!=(e&p)){break b}break g}e=L[j+8>>1];if((e|0)!=(g|0)){if((e|0)!=(g|0)){break g}break d}e=L[j+10>>1];if((e|0)!=(l|0)){if((e|0)!=(l|0)){break g}break d}e=L[j+12>>1];if((e|0)!=(r|0)){if((e|0)!=(r|0)){break g}break d}if((o|0)==L[j+14>>1]){break d}}j=J[j>>2];if(j){continue}break}break b}c=j}h:{if(c){J[(n<<2)+m>>2]=J[c+16>>2];break h}J[f+8>>2]=s;c=J[f+36>>2];J[f>>2]=J[f+32>>2];J[f+4>>2]=c;c=0;e=L[f+6>>1]^(L[f+4>>1]^(L[f+2>>1]^(L[f>>1]^318)+239)+239)+239;t=f;i:{j:{l=f+48|0;h=J[l+4>>2];if(!h){break j}d=Jl(h);k:{if(d>>>0>=2){c=e;if(c>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}if(d>>>0<2){break k}p=L[f>>1];o=L[f+2>>1];j=L[f+4>>1];k=L[f+6>>1];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break j}}d=L[g+8>>1];l:{if((d|0)!=(p|0)){d=(d|0)==(p|0);break l}d=L[g+10>>1];if((d|0)!=(o|0)){d=(d|0)==(o|0);break l}d=L[g+12>>1];if((d|0)!=(j|0)){d=(d|0)==(j|0);break l}d=(k|0)==L[g+14>>1]}if(!d){continue}break}d=0;break i}c=e&h-1;g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}}j=h-1|0;r=L[f>>1];p=L[f+2>>1];o=L[f+4>>1];k=L[f+6>>1];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break j}d=L[g+8>>1];m:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break m}d=L[g+10>>1];if((d|0)!=(p|0)){d=(d|0)==(p|0);break m}d=L[g+12>>1];if((d|0)!=(o|0)){d=(d|0)==(o|0);break m}d=(k|0)==L[g+14>>1]}if(!d){continue}break}d=0;break i}g=oa(20);d=J[f+4>>2];J[g+8>>2]=J[f>>2];J[g+12>>2]=d;d=J[f+8>>2];J[g+4>>2]=e;J[g+16>>2]=d;J[g>>2]=0;q=Q(J[l+12>>2]+1>>>0);u=N[l+16>>2];n:{if(q>Q(u*Q(h>>>0))?0:h){break n}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;q=Q(W(Q(q/u)));o:{if(q=Q(0)){k=~~q>>>0;break o}k=0}d=d>>>0>k>>>0?d:k;p:{if((d|0)==1){break p}if(!(d&d-1)){c=d;break p}c=Ha(d);h=J[l+4>>2]}q:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break q}k=h>>>0<3;q=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(q=Q(0)){d=~~q>>>0;break r}d=0}s:{t:{if(k){break t}if(Jl(h)>>>0>1){break t}d=d>>>0<2?d:1<<32-S(d-1|0);break s}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(c>>>0>=h>>>0){break q}}db(l,c)}h=J[l+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break n}if(e>>>0>>0){c=e;break n}c=(e>>>0)%(h>>>0)|0}e=J[l>>2]+(c<<2)|0;c=J[e>>2];u:{v:{if(!c){c=l+8|0;J[g>>2]=J[c>>2];J[l+8>>2]=g;J[e>>2]=c;c=J[g>>2];if(!c){break u}c=J[c+4>>2];e=h-1|0;w:{if(!(e&h)){c=c&e;break w}if(c>>>0>>0){break w}c=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(c<<2)|0;break v}J[g>>2]=J[c>>2]}J[c>>2]=g}J[l+12>>2]=J[l+12>>2]+1;d=1}H[t+76|0]=d;J[f+72>>2]=g;c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,s)|0,f+40|0,c);m=J[f+16>>2];J[m+(n<<2)>>2]=s;s=s+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(s|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;c=0;b=0;if(i-1>>>0>=3){e=i&-4;h=0;while(1){d=b<<2;i=d+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;y:{if(c>>>0>>0){Ma(i,j-c|0,2176);j=J[a+80>>2];break y}if(c>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}d=J[i>>2];c=0;b=0;if(j>>>0>=4){e=j&-4;h=0;while(1){n=b<<2;J[n+d>>2]=J[m+n>>2];i=n|4;J[i+d>>2]=J[i+m>>2];i=n|8;J[i+d>>2]=J[i+m>>2];i=n|12;J[i+d>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+d>>2]=J[i+m>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}J[a+80>>2]=s}na(m)}b=J[f+56>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[f+48>>2];J[f+48>>2]=0;if(a){na(a)}ba=f+80|0;return s}qa();B()}function Id(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,n=0,o=Q(0),p=0,q=0,r=0,s=0,t=Q(0);f=ba-96|0;ba=f;J[f+72>>2]=0;J[f+76>>2]=0;J[f+64>>2]=0;J[f+68>>2]=0;J[f+80>>2]=1065353216;d=J[a+80>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;a:{if(d){if(d>>>0>=1073741824){break a}e=d<<2;g=oa(e);J[f+16>>2]=g;d=e+g|0;J[f+24>>2]=d;pa(g,0,e);J[f+20>>2]=d;while(1){c=J[J[b>>2]>>2];e=J[b+48>>2];d=Gl(J[b+40>>2],J[b+44>>2],m,0);k=d;d=d+e|0;c=c+d|0;J[f+56>>2]=K[c+8|0]|K[c+9|0]<<8|(K[c+10|0]<<16|K[c+11|0]<<24);d=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+48>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+52>>2]=d;e=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);d=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+40>>2]=K[c+8|0]|K[c+9|0]<<8|(K[c+10|0]<<16|K[c+11|0]<<24);J[f+32>>2]=d;J[f+36>>2]=e;d=0;e=f- -64|0;h=J[e+4>>2];b:{if(!h){break b}c=J[e>>2];k=J[f+40>>2]^(J[f+36>>2]^(J[f+32>>2]^318)+239)+239;e=k&h-1;n=Jl(h);c:{if(n>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(h>>>0)|0}s=c;c=e;e=J[s+(c<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(n>>>0>=2){n=J[f+40>>2];l=J[f+36>>2];p=J[f+32>>2];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=h>>>0){e=(e>>>0)%(h>>>0)|0}if((c|0)!=(e|0)){break b}break e}e=J[j+8>>2];f:{if((e|0)!=(p|0)){e=(e|0)==(p|0);break f}e=J[j+12>>2];if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=(n|0)==J[j+16>>2]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}p=h-1|0;n=J[f+40>>2];h=J[f+36>>2];l=J[f+32>>2];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((c|0)!=(e&p)){break b}break g}e=J[j+8>>2];if((e|0)!=(l|0)){if((e|0)!=(l|0)){break g}break d}e=J[j+12>>2];if((e|0)!=(h|0)){if((e|0)!=(h|0)){break g}break d}if((n|0)==J[j+16>>2]){break d}}j=J[j>>2];if(j){continue}break}break b}d=j}h:{if(d){J[(m<<2)+g>>2]=J[d+20>>2];break h}J[f+8>>2]=J[f+40>>2];d=J[f+36>>2];J[f>>2]=J[f+32>>2];J[f+4>>2]=d;J[f+12>>2]=q;d=0;e=J[f+8>>2]^(J[f+4>>2]^(J[f>>2]^318)+239)+239;s=f;i:{j:{l=f- -64|0;g=J[l+4>>2];if(!g){break j}c=Jl(g);k:{if(c>>>0>=2){d=e;if(d>>>0>=g>>>0){d=(e>>>0)%(g>>>0)|0}h=J[J[l>>2]+(d<<2)>>2];if(!h){break j}if(c>>>0<2){break k}k=J[f+8>>2];n=J[f+4>>2];j=J[f>>2];while(1){h=J[h>>2];if(!h){break j}c=J[h+4>>2];if((c|0)!=(e|0)){if(c>>>0>=g>>>0){c=(c>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break j}}c=J[h+8>>2];l:{if((c|0)!=(j|0)){c=(c|0)==(j|0);break l}c=J[h+12>>2];if((c|0)!=(n|0)){c=(c|0)==(n|0);break l}c=(k|0)==J[h+16>>2]}if(!c){continue}break}d=0;break i}d=e&g-1;h=J[J[l>>2]+(d<<2)>>2];if(!h){break j}}j=g-1|0;k=J[f+8>>2];p=J[f+4>>2];n=J[f>>2];while(1){h=J[h>>2];if(!h){break j}c=J[h+4>>2];if((c|0)!=(e|0)&(c&j)!=(d|0)){break j}c=J[h+8>>2];m:{if((c|0)!=(n|0)){c=(c|0)==(n|0);break m}c=J[h+12>>2];if((c|0)!=(p|0)){c=(c|0)==(p|0);break m}c=(k|0)==J[h+16>>2]}if(!c){continue}break}d=0;break i}h=oa(24);J[h+16>>2]=J[f+8>>2];c=J[f+4>>2];J[h+8>>2]=J[f>>2];J[h+12>>2]=c;c=J[f+12>>2];J[h>>2]=0;J[h+4>>2]=e;J[h+20>>2]=c;o=Q(J[l+12>>2]+1>>>0);t=N[l+16>>2];n:{if(o>Q(t*Q(g>>>0))?0:g){break n}d=2;c=(g-1&g)!=0|g>>>0<3|g<<1;o=Q(W(Q(o/t)));o:{if(o=Q(0)){k=~~o>>>0;break o}k=0}c=c>>>0>k>>>0?c:k;p:{if((c|0)==1){break p}if(!(c&c-1)){d=c;break p}d=Ha(c);g=J[l+4>>2]}q:{if(d>>>0<=g>>>0){if(d>>>0>=g>>>0){break q}k=g>>>0<3;o=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(o=Q(0)){c=~~o>>>0;break r}c=0}s:{t:{if(k){break t}if(Jl(g)>>>0>1){break t}c=c>>>0<2?c:1<<32-S(c-1|0);break s}c=Ha(c)}d=c>>>0>>0?d:c;if(d>>>0>=g>>>0){break q}}db(l,d)}g=J[l+4>>2];d=g-1|0;if(!(d&g)){d=d&e;break n}if(e>>>0>>0){d=e;break n}d=(e>>>0)%(g>>>0)|0}e=J[l>>2]+(d<<2)|0;d=J[e>>2];u:{v:{if(!d){d=l+8|0;J[h>>2]=J[d>>2];J[l+8>>2]=h;J[e>>2]=d;d=J[h>>2];if(!d){break u}d=J[d+4>>2];e=g-1|0;w:{if(!(e&g)){d=d&e;break w}if(d>>>0>>0){break w}d=(d>>>0)%(g>>>0)|0}d=J[l>>2]+(d<<2)|0;break v}J[h>>2]=J[d>>2]}J[d>>2]=h}J[l+12>>2]=J[l+12>>2]+1;d=1}H[s+92|0]=d;J[f+88>>2]=h;d=J[a+40>>2];ua(J[J[a>>2]>>2]+P(d,q)|0,f+48|0,d);g=J[f+16>>2];J[g+(m<<2)>>2]=q;q=q+1|0}m=m+1|0;i=m?i:i+1|0;j=J[a+80>>2];if(!i&m>>>0>>0){continue}break}if((j|0)!=(q|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;m=i&3;d=0;b=0;if(i-1>>>0>=3){e=i&-4;while(1){c=b<<2;i=c+k|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];i=k+(c|4)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];i=k+(c|8)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];i=k+(c|12)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];b=b+4|0;r=r+4|0;if((e|0)!=(r|0)){continue}break}}if(!m){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];b=b+1|0;d=d+1|0;if((m|0)!=(d|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];d=J[a+72>>2]-b>>2;y:{if(d>>>0>>0){Ma(i,j-d|0,2176);j=J[a+80>>2];break y}if(d>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}c=J[i>>2];d=0;b=0;if(j>>>0>=4){e=j&-4;while(1){m=b<<2;J[m+c>>2]=J[g+m>>2];i=m|4;J[i+c>>2]=J[g+i>>2];i=m|8;J[i+c>>2]=J[g+i>>2];i=m|12;J[i+c>>2]=J[g+i>>2];b=b+4|0;r=r+4|0;if((e|0)!=(r|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+c>>2]=J[g+i>>2];b=b+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}J[a+80>>2]=q}na(g)}b=J[f+72>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[f+64>>2];J[f+64>>2]=0;if(a){na(a)}ba=f+96|0;return q}qa();B()}function $c(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=I[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=J[b>>2];if((e|0)<0){break b}J[(g<<2)+d>>2]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=J[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=J[b+4>>2];e=J[b>>2];if(e- -2147483648>>>0<2147483648?h+1|0:h){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>2147483647|k){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|m>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|mQ(1)){break d}e=(b<<2)+d|0;l=V(+m*2147483647+.5);f:{if(R(l)<2147483648){i=~~l;break f}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}pa((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|l!=l){break g}o=R(l);if(o==Infinity){break g}e=(b<<2)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|(R(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<2)+d|0;l=V(l*2147483647+.5);i:{if(R(l)<2147483648){i=~~l;break i}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}pa((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}pa((e<<2)+d|0,0,(c&255)-e<<2)}return j}pa((e<<2)+d|0,0,(c&255)-e<<2);return 1}function fe(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=J[b+48>>2];if(!g){b=oa(32);H[b+23|0]=0;c=K[1670]|K[1671]<<8|(K[1672]<<16|K[1673]<<24);e=K[1666]|K[1667]<<8|(K[1668]<<16|K[1669]<<24);H[b+15|0]=e;H[b+16|0]=e>>>8;H[b+17|0]=e>>>16;H[b+18|0]=e>>>24;H[b+19|0]=c;H[b+20|0]=c>>>8;H[b+21|0]=c>>>16;H[b+22|0]=c>>>24;c=K[1663]|K[1664]<<8|(K[1665]<<16|K[1666]<<24);e=K[1659]|K[1660]<<8|(K[1661]<<16|K[1662]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1655]|K[1656]<<8|(K[1657]<<16|K[1658]<<24);e=K[1651]|K[1652]<<8|(K[1653]<<16|K[1654]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,23);na(b);return}h=J[b+52>>2];if(!h){e=ba-32|0;ba=e;d=oa(16);J[e+16>>2]=d;J[e+20>>2]=15;J[e+24>>2]=-2147483632;f=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);h=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[d+7|0]=h;H[d+8|0]=h>>>8;H[d+9|0]=h>>>16;H[d+10|0]=h>>>24;H[d+11|0]=f;H[d+12|0]=f>>>8;H[d+13|0]=f>>>16;H[d+14|0]=f>>>24;f=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);h=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[d|0]=h;H[d+1|0]=h>>>8;H[d+2|0]=h>>>16;H[d+3|0]=h>>>24;H[d+4|0]=f;H[d+5|0]=f>>>8;H[d+6|0]=f>>>16;H[d+7|0]=f>>>24;H[d+15|0]=0;h=b+4|0;j=Bb(h,e+16|0,-1);if(H[e+27|0]<0){na(J[e+16>>2])}a:{b:{c:{d:{e:{switch(j+1|0){case 1:d=oa(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=nc(d);J[d>>2]=12672;break c;case 0:break e;default:break d}}if((cb(h)|0)!=10){break d}d=oa(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=nc(d);J[d>>2]=12672;break c}J[e+12>>2]=0;f:{i=J[g+12>>2];f=J[g+8>>2];if((i-f|0)>0){d=0;while(1){k=J[J[(d<<2)+f>>2]+28>>2];if(k-1>>>0>=6){if((k|0)!=9){break f}d=oa(32);J[e+16>>2]=d;J[e+20>>2]=17;J[e+24>>2]=-2147483616;H[d+16|0]=K[1261];f=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);i=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[d+8|0]=i;H[d+9|0]=i>>>8;H[d+10|0]=i>>>16;H[d+11|0]=i>>>24;H[d+12|0]=f;H[d+13|0]=f>>>8;H[d+14|0]=f>>>16;H[d+15|0]=f>>>24;f=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);i=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[d|0]=i;H[d+1|0]=i>>>8;H[d+2|0]=i>>>16;H[d+3|0]=i>>>24;H[d+4|0]=f;H[d+5|0]=f>>>8;H[d+6|0]=f>>>16;H[d+7|0]=f>>>24;H[d+17|0]=0;d=jb(h,e+12|0,e+16|0,-1);if(H[e+27|0]<0){na(J[e+16>>2])}if((d|0)<=0){break f}f=J[g+8>>2];i=J[g+12>>2];d=J[e+12>>2]}d=d+1|0;J[e+12>>2]=d;if(i-f>>2>(d|0)){continue}break}}d=oa(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=nc(d);J[d>>2]=12564;break c}if((j|0)==1){break b}d=oa(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=nc(d);J[d>>2]=12672}J[d+4>>2]=g;Pf(a,d,h,c);if(!J[a>>2]){if(H[a+15|0]<0){na(J[a+4>>2])}c=J[d+52>>2];J[b+44>>2]=0;J[b+40>>2]=c;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}da[J[J[d>>2]+4>>2]](d);break a}b=oa(32);H[b+24|0]=0;c=K[1853]|K[1854]<<8|(K[1855]<<16|K[1856]<<24);d=K[1849]|K[1850]<<8|(K[1851]<<16|K[1852]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1845]|K[1846]<<8|(K[1847]<<16|K[1848]<<24);d=K[1841]|K[1842]<<8|(K[1843]<<16|K[1844]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1837]|K[1838]<<8|(K[1839]<<16|K[1840]<<24);d=K[1833]|K[1834]<<8|(K[1835]<<16|K[1836]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,24);na(b)}ba=e+32|0;return}d=ba-16|0;ba=d;e=oa(16);J[d>>2]=e;J[d+4>>2]=15;J[d+8>>2]=-2147483632;g=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);f=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[e+7|0]=f;H[e+8|0]=f>>>8;H[e+9|0]=f>>>16;H[e+10|0]=f>>>24;H[e+11|0]=g;H[e+12|0]=g>>>8;H[e+13|0]=g>>>16;H[e+14|0]=g>>>24;g=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);f=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[e|0]=f;H[e+1|0]=f>>>8;H[e+2|0]=f>>>16;H[e+3|0]=f>>>24;H[e+4|0]=g;H[e+5|0]=g>>>8;H[e+6|0]=g>>>16;H[e+7|0]=g>>>24;H[e+15|0]=0;g=b+4|0;e=Bb(g,d,-1);if(H[d+11|0]<0){na(J[d>>2])}g:{h:{i:{switch(e+1|0){case 0:if((cb(g)|0)==10){break h}break;case 2:break i;default:break h}}e=Sf(oa(68));J[e+64>>2]=0;J[e>>2]=10404;break g}e=Sf(oa(64));J[e>>2]=12280}J[e+56>>2]=h;J[e+4>>2]=h;Pf(a,e,g,c);if(!J[a>>2]){if(H[a+15|0]<0){na(J[a+4>>2])}J[b+40>>2]=J[e+52>>2];J[b+44>>2]=J[e+60>>2];J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}da[J[J[e>>2]+4>>2]](e);ba=d+16|0}function Hf(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,n=0,o=0,p=0,q=Q(0),r=0,s=0,t=0,u=Q(0);f=ba+-64|0;ba=f;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;J[f+48>>2]=1065353216;c=J[a+80>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;m=oa(e);J[f+8>>2]=m;c=e+m|0;J[f+16>>2]=c;pa(m,0,e);J[f+12>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=Gl(J[b+40>>2],J[b+44>>2],n,0);k=c;c=c+e|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+24>>2]=c;J[f+28>>2]=c;c=0;g=J[f+36>>2];b:{if(!g){break b}d=J[f+32>>2];k=K[f+27|0]^(K[f+26|0]^(K[f+25|0]^(K[f+24|0]^318)+239)+239)+239;e=k&g-1;o=Jl(g);c:{if(o>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(g>>>0)|0}t=d;d=e;e=J[t+(d<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(o>>>0>=2){l=K[f+24|0];r=K[f+25|0];p=K[f+26|0];o=K[f+27|0];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((d|0)!=(e|0)){break b}break e}e=K[j+8|0];f:{if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=K[j+9|0];if((e|0)!=(r|0)){e=(e|0)==(r|0);break f}e=K[j+10|0];if((e|0)!=(p|0)){e=(e|0)==(p|0);break f}e=(o|0)==K[j+11|0]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}p=g-1|0;g=K[f+24|0];l=K[f+25|0];r=K[f+26|0];o=K[f+27|0];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((d|0)!=(e&p)){break b}break g}e=K[j+8|0];if((e|0)!=(g|0)){if((e|0)!=(g|0)){break g}break d}e=K[j+9|0];if((e|0)!=(l|0)){if((e|0)!=(l|0)){break g}break d}e=K[j+10|0];if((e|0)!=(r|0)){if((e|0)!=(r|0)){break g}break d}if((o|0)==K[j+11|0]){break d}}j=J[j>>2];if(j){continue}break}break b}c=j}h:{if(c){J[(n<<2)+m>>2]=J[c+12>>2];break h}J[f+4>>2]=s;J[f>>2]=J[f+24>>2];c=0;e=K[f+3|0]^(K[f+2|0]^(K[f+1|0]^(K[f|0]^318)+239)+239)+239;t=f;i:{j:{l=f+32|0;h=J[l+4>>2];if(!h){break j}d=Jl(h);k:{if(d>>>0>=2){c=e;if(c>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}if(d>>>0<2){break k}p=K[f|0];o=K[f+1|0];j=K[f+2|0];k=K[f+3|0];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break j}}d=K[g+8|0];l:{if((d|0)!=(p|0)){d=(d|0)==(p|0);break l}d=K[g+9|0];if((d|0)!=(o|0)){d=(d|0)==(o|0);break l}d=K[g+10|0];if((d|0)!=(j|0)){d=(d|0)==(j|0);break l}d=(k|0)==K[g+11|0]}if(!d){continue}break}d=0;break i}c=e&h-1;g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}}j=h-1|0;r=K[f|0];p=K[f+1|0];o=K[f+2|0];k=K[f+3|0];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break j}d=K[g+8|0];m:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break m}d=K[g+9|0];if((d|0)!=(p|0)){d=(d|0)==(p|0);break m}d=K[g+10|0];if((d|0)!=(o|0)){d=(d|0)==(o|0);break m}d=(k|0)==K[g+11|0]}if(!d){continue}break}d=0;break i}g=oa(16);J[g+8>>2]=J[f>>2];d=J[f+4>>2];J[g+4>>2]=e;J[g+12>>2]=d;J[g>>2]=0;q=Q(J[l+12>>2]+1>>>0);u=N[l+16>>2];n:{if(q>Q(u*Q(h>>>0))?0:h){break n}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;q=Q(W(Q(q/u)));o:{if(q=Q(0)){k=~~q>>>0;break o}k=0}d=d>>>0>k>>>0?d:k;p:{if((d|0)==1){break p}if(!(d&d-1)){c=d;break p}c=Ha(d);h=J[l+4>>2]}q:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break q}k=h>>>0<3;q=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(q=Q(0)){d=~~q>>>0;break r}d=0}s:{t:{if(k){break t}if(Jl(h)>>>0>1){break t}d=d>>>0<2?d:1<<32-S(d-1|0);break s}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(c>>>0>=h>>>0){break q}}db(l,c)}h=J[l+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break n}if(e>>>0>>0){c=e;break n}c=(e>>>0)%(h>>>0)|0}e=J[l>>2]+(c<<2)|0;c=J[e>>2];u:{v:{if(!c){c=l+8|0;J[g>>2]=J[c>>2];J[l+8>>2]=g;J[e>>2]=c;c=J[g>>2];if(!c){break u}c=J[c+4>>2];e=h-1|0;w:{if(!(e&h)){c=c&e;break w}if(c>>>0>>0){break w}c=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(c<<2)|0;break v}J[g>>2]=J[c>>2]}J[c>>2]=g}J[l+12>>2]=J[l+12>>2]+1;d=1}H[t+60|0]=d;J[f+56>>2]=g;c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,s)|0,f+28|0,c);m=J[f+8>>2];J[m+(n<<2)>>2]=s;s=s+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(s|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;c=0;b=0;if(i-1>>>0>=3){e=i&-4;h=0;while(1){d=b<<2;i=d+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;y:{if(c>>>0>>0){Ma(i,j-c|0,2176);j=J[a+80>>2];break y}if(c>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}d=J[i>>2];c=0;b=0;if(j>>>0>=4){e=j&-4;h=0;while(1){n=b<<2;J[n+d>>2]=J[m+n>>2];i=n|4;J[i+d>>2]=J[i+m>>2];i=n|8;J[i+d>>2]=J[i+m>>2];i=n|12;J[i+d>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+d>>2]=J[i+m>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}J[a+80>>2]=s}na(m)}b=J[f+40>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[f+32>>2];J[f+32>>2]=0;if(a){na(a)}ba=f- -64|0;return s}qa();B()}function bi(a){a=a|0;var 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,q=0,r=0,s=0,t=Q(0),u=0,v=0,w=0,x=0,y=Q(0),z=0,A=0;c=ba+-64|0;ba=c;f=J[a+80>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+56>>2]=a;J[c+48>>2]=a;J[c+32>>2]=0;J[c+36>>2]=0;J[c+52>>2]=1065353216;df(c+32|0,f);f=J[a+80>>2];J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;a:{b:{c:{d:{if(!f){break d}if(f>>>0>=1073741824){break a}f=f<<2;s=oa(f);J[c+16>>2]=s;b=f+s|0;J[c+24>>2]=b;pa(s,0,f);J[c+20>>2]=b;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;z=c+40|0;f=0;while(1){e=0;b=J[c+48>>2];m=J[b+8>>2];n=J[b+12>>2]-m|0;v=(n|0)<=0;e:{if(v){break e}b=n>>>2|0;b=b>>>0<=1?1:b;i=b&1;h=0;if(n>>>0>=8){g=b&1073741822;b=0;while(1){j=h<<2;d=J[j+m>>2];if(K[d+84|0]){d=f}else{d=J[J[d+68>>2]+(f<<2)>>2]}h=h+2|0;l=d<<3^e<<2;e=J[m+(j|4)>>2];if(K[e+84|0]){d=f}else{d=J[J[e+68>>2]+(f<<2)>>2]}e=l^d<<2;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(!i){break e}b=J[m+(h<<2)>>2];if(K[b+84|0]){b=f}else{b=J[J[b+68>>2]+(f<<2)>>2]}e=b<<2^e<<1}f:{g:{j=J[c+36>>2];if(!j){break g}g=J[c+32>>2];i=Jl(j)>>>0>1;b=j-1&e;h:{if(!i){break h}b=e;if(b>>>0>>0){break h}b=(e>>>0)%(j>>>0)|0}d=b;b=J[g+(d<<2)>>2];if(!b){break g}k=J[b>>2];if(!k){break g}p=J[c+56>>2];i:{j:{if(!i){w=j-1|0;while(1){b=J[k+4>>2];k:{if((b|0)!=(e|0)){if((d|0)==(b&w)){break k}break g}x=J[p+8>>2];b=J[p+12>>2]-x|0;if((b|0)<4){break i}i=J[k+8>>2];o=b>>2;A=(o|0)<=1?1:o;l=0;h=0;while(1){b=f;g=J[x+(h<<2)>>2];if(K[g+84|0]){g=i}else{g=J[g+68>>2];b=J[g+(f<<2)>>2];g=J[g+(i<<2)>>2]}if((b|0)==(g|0)){h=h+1|0;l=(o|0)<=(h|0);if((h|0)!=(A|0)){continue}}break}if(l){break j}}k=J[k>>2];if(k){continue}break}break g}while(1){b=J[k+4>>2];l:{if((b|0)!=(e|0)){if(b>>>0>=j>>>0){b=(b>>>0)%(j>>>0)|0}if((b|0)==(d|0)){break l}break g}w=J[p+8>>2];b=J[p+12>>2]-w|0;if((b|0)<4){break i}i=J[k+8>>2];o=b>>2;x=(o|0)<=1?1:o;l=0;h=0;while(1){b=f;g=J[w+(h<<2)>>2];if(K[g+84|0]){g=i}else{g=J[g+68>>2];b=J[g+(f<<2)>>2];g=J[g+(i<<2)>>2]}if((b|0)==(g|0)){h=h+1|0;l=(o|0)<=(h|0);if((h|0)!=(x|0)){continue}}break}if(l){break j}}k=J[k>>2];if(k){continue}break}break g}if(!k){break g}}J[(f<<2)+s>>2]=J[k+12>>2];break f}m:{if(v){e=0;break m}b=n>>>2|0;b=b>>>0<=1?1:b;i=b&1;e=0;h=0;if(n>>>0>=8){g=b&1073741822;b=0;while(1){l=h<<2;d=J[l+m>>2];if(K[d+84|0]){d=f}else{d=J[J[d+68>>2]+(f<<2)>>2]}h=h+2|0;n=d<<3^e<<2;e=J[m+(l|4)>>2];if(K[e+84|0]){d=f}else{d=J[J[e+68>>2]+(f<<2)>>2]}e=n^d<<2;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(!i){break m}b=J[m+(h<<2)>>2];if(K[b+84|0]){b=f}else{b=J[J[b+68>>2]+(f<<2)>>2]}e=b<<2^e<<1}n:{o:{if(!j){break o}m=j-1|0;if(m&j){k=e>>>0>=j>>>0?(e>>>0)%(j>>>0)|0:e;g=J[J[c+32>>2]+(k<<2)>>2];if(!g){break o}m=J[c+56>>2];while(1){g=J[g>>2];if(!g){break o}b=J[g+4>>2];if((b|0)!=(e|0)){if(b>>>0>=j>>>0){b=(b>>>0)%(j>>>0)|0}if((b|0)!=(k|0)){break o}}p=J[m+8>>2];b=J[m+12>>2]-p|0;if((b|0)<4){break n}d=J[g+8>>2];n=b>>2;o=(n|0)<=1?1:n;l=0;h=0;while(1){b=f;i=J[p+(h<<2)>>2];if(K[i+84|0]){i=d}else{i=J[i+68>>2];b=J[i+(f<<2)>>2];i=J[i+(d<<2)>>2]}if((b|0)==(i|0)){h=h+1|0;l=(n|0)<=(h|0);if((h|0)!=(o|0)){continue}}break}if(!l){continue}break}break n}k=e&m;g=J[J[c+32>>2]+(k<<2)>>2];if(!g){break o}n=J[c+56>>2];while(1){g=J[g>>2];if(!g){break o}b=J[g+4>>2];if((b|0)!=(e|0)&(b&m)!=(k|0)){break o}o=J[n+8>>2];b=J[n+12>>2]-o|0;if((b|0)<4){break n}d=J[g+8>>2];p=b>>2;v=(p|0)<=1?1:p;l=0;h=0;while(1){b=f;i=J[o+(h<<2)>>2];if(K[i+84|0]){i=d}else{i=J[i+68>>2];b=J[i+(f<<2)>>2];i=J[i+(d<<2)>>2]}if((b|0)==(i|0)){h=h+1|0;l=(p|0)<=(h|0);if((h|0)!=(v|0)){continue}}break}if(!l){continue}break}break n}d=oa(16);J[d+8>>2]=f;J[d+4>>2]=e;J[d>>2]=0;J[d+12>>2]=u;y=Q(J[c+44>>2]+1>>>0);t=N[c+52>>2];p:{if(y>Q(t*Q(j>>>0))?0:j){break p}g=c+32|0;i=(j-1&j)!=0|j>>>0<3|j<<1;t=Q(W(Q(y/t)));q:{if(t=Q(0)){b=~~t>>>0;break q}b=0}df(g,b>>>0>>0?i:b);j=J[c+36>>2];b=j-1|0;if(!(b&j)){k=b&e;break p}if(e>>>0>>0){k=e;break p}k=(e>>>0)%(j>>>0)|0}e=J[c+32>>2]+(k<<2)|0;b=J[e>>2];r:{s:{if(!b){J[d>>2]=J[c+40>>2];J[c+40>>2]=d;J[e>>2]=z;b=J[d>>2];if(!b){break r}b=J[b+4>>2];e=j-1|0;t:{if(!(e&j)){b=b&e;break t}if(b>>>0>>0){break t}b=(b>>>0)%(j>>>0)|0}b=J[c+32>>2]+(b<<2)|0;break s}J[d>>2]=J[b>>2]}J[b>>2]=d}J[c+44>>2]=J[c+44>>2]+1;q=J[c+8>>2];r=J[c+4>>2];s=J[c+16>>2]}J[(f<<2)+s>>2]=u;u=u+1|0;if((q|0)!=(r|0)){J[r>>2]=f;r=r+4|0;J[c+4>>2]=r;break f}e=J[c>>2];b=q-e|0;i=b>>2;d=i+1|0;if(d>>>0>=1073741824){break c}g=b>>>1|0;d=b>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(d){if(d>>>0>=1073741824){break b}b=oa(d<<2)}else{b=0}h=b+(i<<2)|0;J[h>>2]=f;r=h+4|0;if((e|0)!=(q|0)){while(1){h=h-4|0;q=q-4|0;J[h>>2]=J[q>>2];if((e|0)!=(q|0)){continue}break}}q=b+(d<<2)|0;J[c+8>>2]=q;J[c+4>>2]=r;J[c>>2]=h;if(e){na(e)}}f=f+1|0;b=J[a+80>>2];if(f>>>0>>0){continue}break}if((b|0)!=(u|0)){da[J[J[a>>2]+24>>2]](a,c+16|0,c);J[a+80>>2]=u}a=J[c>>2];if(!a){break d}J[c+4>>2]=a;na(a)}a=J[c+16>>2];if(a){J[c+20>>2]=a;na(a)}f=J[c+40>>2];if(f){while(1){a=J[f>>2];na(f);f=a;if(f){continue}break}}a=J[c+32>>2];J[c+32>>2]=0;if(a){na(a)}ba=c- -64|0;return}qa();B()}xa();B()}qa();B()}function hb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0,n=Q(0),o=0;a:{if(!d){break a}b:{c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=H[b|0];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=I[b>>1];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=L[b>>1];J[e+4>>2]=0;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=J[b>>2];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=0;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=J[b+4>>2];e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=J[b>>2];i=J[b+4>>2];if((i|0)<0){break a}j=(g<<3)+d|0;J[j>>2]=e;J[j+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=K[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break d}if(K[a+32|0]){break a}e=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=N[g>>2];if(k>=Q(0x8000000000000000)|k=Q(1)?~~(k>Q(0)?Q(T(Q(V(Q(k*Q(2.3283064365386963e-10)))),Q(4294967296))):Q(W(Q(Q(k-Q(~~k>>>0>>>0))*Q(2.3283064365386963e-10)))))>>>0:0;m=~~k>>>0;break e}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=K[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break f}if(K[a+32|0]){break a}e=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){l=O[g>>3];if(l>=0x8000000000000000|l<-0x8000000000000000|l!=l){break a}o=R(l);if(o==Infinity){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){j=R(l)>=1?~~(l>0?T(V(l*2.3283064365386963e-10),4294967295):W((l-+(~~l>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~l>>>0;break g}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Gl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}pa(d,0,a<<3)}}function $j(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=ba-16|0;ba=e;f=J[a+48>>2];b=oa(32);J[e>>2]=b;J[e+4>>2]=20;J[e+8>>2]=-2147483616;c=K[1359]|K[1360]<<8|(K[1361]<<16|K[1362]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1355]|K[1356]<<8|(K[1357]<<16|K[1358]<<24);d=K[1351]|K[1352]<<8|(K[1353]<<16|K[1354]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1347]|K[1348]<<8|(K[1349]<<16|K[1350]<<24);d=K[1343]|K[1344]<<8|(K[1345]<<16|K[1346]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+20|0]=0;f=Kf(f+24|0,e);if(H[e+11|0]<0){na(J[e>>2])}g=J[a+48>>2];b=oa(32);J[e>>2]=b;J[e+4>>2]=22;J[e+8>>2]=-2147483616;c=K[1338]|K[1339]<<8|(K[1340]<<16|K[1341]<<24);d=K[1334]|K[1335]<<8|(K[1336]<<16|K[1337]<<24);H[b+14|0]=d;H[b+15|0]=d>>>8;H[b+16|0]=d>>>16;H[b+17|0]=d>>>24;H[b+18|0]=c;H[b+19|0]=c>>>8;H[b+20|0]=c>>>16;H[b+21|0]=c>>>24;c=K[1332]|K[1333]<<8|(K[1334]<<16|K[1335]<<24);d=K[1328]|K[1329]<<8|(K[1330]<<16|K[1331]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1324]|K[1325]<<8|(K[1326]<<16|K[1327]<<24);d=K[1320]|K[1321]<<8|(K[1322]<<16|K[1323]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+22|0]=0;g=Kf(g+24|0,e);if(H[e+11|0]<0){na(J[e>>2])}b=J[a+64>>2];J[a+64>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}b=J[a+56>>2];h=J[b+100>>2];i=J[a+48>>2];j=J[b+96>>2];b=oa(32);J[e>>2]=b;J[e+4>>2]=18;J[e+8>>2]=-2147483616;c=K[1566]|K[1567]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1562]|K[1563]<<8|(K[1564]<<16|K[1565]<<24);d=K[1558]|K[1559]<<8|(K[1560]<<16|K[1561]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1554]|K[1555]<<8|(K[1556]<<16|K[1557]<<24);d=K[1550]|K[1551]<<8|(K[1552]<<16|K[1553]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;b=Bb(i,e,-1);if(H[e+11|0]<0){na(J[e>>2])}c=(h-j|0)/12|0;a:{b:{c:{d:{e:{f:{g:{h:{switch(b+1|0){case 1:break f;case 3:break g;case 0:break h;default:break c}}if(!f){break g}if(c>>>0<1e3|(cb(J[a+48>>2])|0)>4|g^1){break e}}b=J[a+44>>2];H[e|0]=2;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],e,e+1|0)}b=oa(360);J[b+4>>2]=0;J[b+8>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b>>2]=10584;J[b+12>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+88>>2]=0;J[b+92>>2]=0;J[b+96>>2]=0;J[b+100>>2]=0;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=1065353216;J[b+156>>2]=0;J[b+160>>2]=0;J[b+148>>2]=0;J[b+152>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+164>>2]=-1;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;c=b+200|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=b+232|0;J[c>>2]=0;J[c+4>>2]=0;H[c+24|0]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[b+304>>2]=0;J[b+308>>2]=0;J[b+296>>2]=0;J[b+300>>2]=0;J[b+288>>2]=0;J[b+292>>2]=0;J[b+280>>2]=0;J[b+284>>2]=0;J[b+272>>2]=0;J[b+276>>2]=0;J[b+264>>2]=0;J[b+268>>2]=0;H[b+352|0]=0;J[b+344>>2]=0;J[b+336>>2]=0;J[b+340>>2]=0;J[b+328>>2]=2;J[b+332>>2]=7;J[b+320>>2]=-1;J[b+324>>2]=0;J[b+312>>2]=0;J[b+316>>2]=-1;break d}if(!f){break c}}b=J[a+44>>2];H[e|0]=0;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],e,e+1|0)}b=oa(296);J[b+4>>2]=0;J[b+8>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b>>2]=10532;J[b+12>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+88>>2]=0;J[b+92>>2]=0;J[b+96>>2]=0;J[b+100>>2]=0;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=1065353216;J[b+156>>2]=0;J[b+160>>2]=0;J[b+148>>2]=0;J[b+152>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+164>>2]=-1;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;c=b+200|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=b+232|0;J[c>>2]=0;J[c+4>>2]=0;H[c+24|0]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;H[b+288|0]=0;J[b+280>>2]=0;J[b+284>>2]=0;J[b+272>>2]=0;J[b+276>>2]=0;J[b+264>>2]=0;J[b+268>>2]=0}c=J[a+64>>2];J[a+64>>2]=b;if(!c){break b}da[J[J[c>>2]+4>>2]](c)}b=J[a+64>>2];if(b){break b}a=0;break a}a=da[J[J[b>>2]+8>>2]](b,a)|0}ba=e+16|0;return a|0}function wf(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,n=0,o=0,p=Q(0),q=0,r=0,s=0,t=Q(0);f=ba-80|0;ba=f;J[f+56>>2]=0;J[f+60>>2]=0;J[f+48>>2]=0;J[f+52>>2]=0;J[f+64>>2]=1065353216;d=J[a+80>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;a:{if(d){if(d>>>0>=1073741824){break a}c=d<<2;m=oa(c);J[f+16>>2]=m;d=c+m|0;J[f+24>>2]=d;pa(m,0,c);J[f+20>>2]=d;while(1){e=J[J[b>>2]>>2];c=J[b+48>>2];d=Gl(J[b+40>>2],J[b+44>>2],n,0);k=d;d=d+c|0;c=d+e|0;I[f+44>>1]=K[c+4|0]|K[c+5|0]<<8;J[f+40>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);d=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);I[f+36>>1]=K[c+4|0]|K[c+5|0]<<8;J[f+32>>2]=d;d=0;g=J[f+52>>2];b:{if(!g){break b}e=J[f+48>>2];k=L[f+36>>1]^(L[f+34>>1]^(L[f+32>>1]^318)+239)+239;c=k&g+262143;o=Jl(g);c:{if(o>>>0<=1){break c}c=k;if(c>>>0>>0){break c}c=(k>>>0)%(g>>>0)|0}s=e;e=c;c=J[s+(c<<2)>>2];if(!c){break b}j=J[c>>2];if(!j){break b}d:{if(o>>>0>=2){l=L[f+32>>1];q=L[f+34>>1];o=L[f+36>>1];while(1){c=J[j+4>>2];e:{if((c|0)!=(k|0)){if(c>>>0>=g>>>0){c=(c>>>0)%(g>>>0)|0}if((c|0)!=(e|0)){break b}break e}c=L[j+8>>1];f:{if((c|0)!=(l|0)){c=(c|0)==(l|0);break f}c=L[j+10>>1];if((c|0)!=(q|0)){c=(c|0)==(q|0);break f}c=(o|0)==L[j+12>>1]}if(c){break d}}j=J[j>>2];if(j){continue}break}break b}q=g-1|0;g=L[f+32>>1];l=L[f+34>>1];o=L[f+36>>1];while(1){c=J[j+4>>2];g:{if((c|0)!=(k|0)){if((e|0)!=(c&q)){break b}break g}c=L[j+8>>1];if((c|0)!=(g|0)){if((c|0)!=(g|0)){break g}break d}c=L[j+10>>1];if((c|0)!=(l|0)){if((c|0)!=(l|0)){break g}break d}if((o|0)==L[j+12>>1]){break d}}j=J[j>>2];if(j){continue}break}break b}d=j}h:{if(d){J[(n<<2)+m>>2]=J[d+16>>2];break h}I[f+4>>1]=L[f+36>>1];J[f>>2]=J[f+32>>2];J[f+8>>2]=r;d=0;c=L[f+4>>1]^(L[f+2>>1]^(L[f>>1]^318)+239)+239;s=f;i:{j:{l=f+48|0;h=J[l+4>>2];if(!h){break j}e=Jl(h);k:{if(e>>>0>=2){d=c;if(c>>>0>=h>>>0){d=(c>>>0)%(h>>>0)|0}g=J[J[l>>2]+(d<<2)>>2];if(!g){break j}if(e>>>0<2){break k}o=L[f>>1];j=L[f+2>>1];k=L[f+4>>1];while(1){g=J[g>>2];if(!g){break j}e=J[g+4>>2];if((e|0)!=(c|0)){if(e>>>0>=h>>>0){e=(e>>>0)%(h>>>0)|0}if((d|0)!=(e|0)){break j}}e=L[g+8>>1];l:{if((e|0)!=(o|0)){e=(e|0)==(o|0);break l}e=L[g+10>>1];if((e|0)!=(j|0)){e=(e|0)==(j|0);break l}e=(k|0)==L[g+12>>1]}if(!e){continue}break}e=0;break i}d=c&h+262143;g=J[J[l>>2]+(d<<2)>>2];if(!g){break j}}j=h-1|0;q=L[f>>1];o=L[f+2>>1];k=L[f+4>>1];while(1){g=J[g>>2];if(!g){break j}e=J[g+4>>2];if((e|0)!=(c|0)&(e&j)!=(d|0)){break j}e=L[g+8>>1];m:{if((e|0)!=(q|0)){e=(e|0)==(q|0);break m}e=L[g+10>>1];if((e|0)!=(o|0)){e=(e|0)==(o|0);break m}e=(k|0)==L[g+12>>1]}if(!e){continue}break}e=0;break i}g=oa(20);I[g+12>>1]=L[f+4>>1];J[g+8>>2]=J[f>>2];e=J[f+8>>2];J[g>>2]=0;J[g+4>>2]=c;J[g+16>>2]=e;p=Q(J[l+12>>2]+1>>>0);t=N[l+16>>2];n:{if(p>Q(t*Q(h>>>0))?0:h){break n}d=2;e=(h-1&h)!=0|h>>>0<3|h<<1;p=Q(W(Q(p/t)));o:{if(p=Q(0)){k=~~p>>>0;break o}k=0}e=e>>>0>k>>>0?e:k;p:{if((e|0)==1){break p}if(!(e&e-1)){d=e;break p}d=Ha(e);h=J[l+4>>2]}q:{if(d>>>0<=h>>>0){if(d>>>0>=h>>>0){break q}k=h>>>0<3;p=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(p=Q(0)){e=~~p>>>0;break r}e=0}s:{t:{if(k){break t}if(Jl(h)>>>0>1){break t}e=e>>>0<2?e:1<<32-S(e-1|0);break s}e=Ha(e)}d=d>>>0>e>>>0?d:e;if(d>>>0>=h>>>0){break q}}db(l,d)}h=J[l+4>>2];d=h-1|0;if(!(d&h)){d=d&c;break n}if(c>>>0>>0){d=c;break n}d=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(d<<2)|0;d=J[c>>2];u:{v:{if(!d){d=l+8|0;J[g>>2]=J[d>>2];J[l+8>>2]=g;J[c>>2]=d;d=J[g>>2];if(!d){break u}d=J[d+4>>2];c=h-1|0;w:{if(!(c&h)){d=d&c;break w}if(d>>>0>>0){break w}d=(d>>>0)%(h>>>0)|0}d=J[l>>2]+(d<<2)|0;break v}J[g>>2]=J[d>>2]}J[d>>2]=g}J[l+12>>2]=J[l+12>>2]+1;e=1}H[s+76|0]=e;J[f+72>>2]=g;d=J[a+40>>2];ua(J[J[a>>2]>>2]+P(d,r)|0,f+40|0,d);m=J[f+16>>2];J[m+(n<<2)>>2]=r;r=r+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(r|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;d=0;b=0;if(i-1>>>0>=3){c=i&-4;h=0;while(1){e=b<<2;i=e+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(e|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(e|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(e|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((c|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;d=d+1|0;if((n|0)!=(d|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];d=J[a+72>>2]-b>>2;y:{if(d>>>0>>0){Ma(i,j-d|0,2176);j=J[a+80>>2];break y}if(d>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}e=J[i>>2];d=0;b=0;if(j>>>0>=4){c=j&-4;h=0;while(1){n=b<<2;J[n+e>>2]=J[m+n>>2];i=n|4;J[i+e>>2]=J[i+m>>2];i=n|8;J[i+e>>2]=J[i+m>>2];i=n|12;J[i+e>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((c|0)!=(h|0)){continue}break}}c=j&3;if(!c){break x}while(1){i=b<<2;J[i+e>>2]=J[i+m>>2];b=b+1|0;d=d+1|0;if((c|0)!=(d|0)){continue}break}}J[a+80>>2]=r}na(m)}b=J[f+56>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[f+48>>2];J[f+48>>2]=0;if(a){na(a)}ba=f+80|0;return r}qa();B()}function Zc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=ba-16|0;ba=e;J[a+8>>2]=b;J[a>>2]=0;d=a+12|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=d+32|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+96|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+128|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+160|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+192|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+224|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+256|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+288|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+320|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+352|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+384|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+416|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+448|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+480|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+512|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+544|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+576|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+608|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+640|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+672|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+704|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+736|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+768|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+800|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+832|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+864|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+896|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+928|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+960|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;d=d+992|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1036|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1068|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1088|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1108|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[a+1136>>2]=0;J[a+1128>>2]=0;J[a+1132>>2]=0;h=a+1164|0;a:{b:{if(b){if(b>>>0<1073741824){break b}qa();B()}J[a+1140>>2]=0;J[a+1144>>2]=0;d=a+1156|0;J[d>>2]=0;J[d+4>>2]=0;d=a+1148|0;J[d>>2]=0;J[d+4>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;d=1;break a}d=b<<2;c=oa(d);J[a+1128>>2]=c;f=c+d|0;J[a+1136>>2]=f;pa(c,0,d);g=a+1148|0;J[g>>2]=0;J[a+1140>>2]=0;J[a+1144>>2]=0;J[a+1132>>2]=f;c=oa(d);J[a+1140>>2]=c;f=c+d|0;J[g>>2]=f;pa(c,0,d);g=a+1160|0;J[g>>2]=0;J[a+1152>>2]=0;J[a+1156>>2]=0;J[a+1144>>2]=f;c=oa(d);J[a+1152>>2]=c;f=c+d|0;J[g>>2]=f;pa(c,0,d);J[a+1156>>2]=f;c=oa(d);J[e>>2]=c;f=c+d|0;J[e+8>>2]=f;pa(c,0,d);J[e+4>>2]=f;d=b<<5|1}Jb(h,d,e);c=J[e>>2];if(c){J[e+4>>2]=c;na(c)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;c=oa(b);J[e>>2]=c;f=b+c|0;J[e+8>>2]=f;pa(c,0,b);J[e+4>>2]=f}Jb(a+1176|0,d,e);b=J[e>>2];if(b){J[e+4>>2]=b;na(b)}ba=e+16|0;return a}function Jf(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,n=0,o=0,p=Q(0),q=0,r=0,s=0,t=Q(0);f=ba+-64|0;ba=f;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;J[f+48>>2]=1065353216;c=J[a+80>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;m=oa(e);J[f+8>>2]=m;c=e+m|0;J[f+16>>2]=c;pa(m,0,e);J[f+12>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=Gl(J[b+40>>2],J[b+44>>2],n,0);k=c;c=c+e|0;e=c+d|0;H[f+30|0]=K[e+2|0];I[f+28>>1]=K[e|0]|K[e+1|0]<<8;c=K[e|0]|K[e+1|0]<<8;H[f+26|0]=K[e+2|0];I[f+24>>1]=c;c=0;g=J[f+36>>2];b:{if(!g){break b}d=J[f+32>>2];k=K[f+26|0]^(K[f+25|0]^(K[f+24|0]^318)+239)+239;e=k&g-1;o=Jl(g);c:{if(o>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(g>>>0)|0}s=d;d=e;e=J[s+(e<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(o>>>0>=2){l=K[f+24|0];q=K[f+25|0];o=K[f+26|0];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((e|0)!=(d|0)){break b}break e}e=K[j+8|0];f:{if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=K[j+9|0];if((e|0)!=(q|0)){e=(e|0)==(q|0);break f}e=(o|0)==K[j+10|0]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}q=g-1|0;g=K[f+24|0];l=K[f+25|0];o=K[f+26|0];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((d|0)!=(e&q)){break b}break g}e=K[j+8|0];if((e|0)!=(g|0)){if((e|0)!=(g|0)){break g}break d}e=K[j+9|0];if((e|0)!=(l|0)){if((e|0)!=(l|0)){break g}break d}if((o|0)==K[j+10|0]){break d}}j=J[j>>2];if(j){continue}break}break b}c=j}h:{if(c){J[(n<<2)+m>>2]=J[c+12>>2];break h}H[f+2|0]=K[f+26|0];I[f>>1]=L[f+24>>1];J[f+4>>2]=r;c=0;e=K[f+2|0]^(K[f+1|0]^(K[f|0]^318)+239)+239;s=f;i:{j:{l=f+32|0;h=J[l+4>>2];if(!h){break j}d=Jl(h);k:{if(d>>>0>=2){c=e;if(e>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}if(d>>>0<2){break k}o=K[f|0];j=K[f+1|0];k=K[f+2|0];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break j}}d=K[g+8|0];l:{if((d|0)!=(o|0)){d=(d|0)==(o|0);break l}d=K[g+9|0];if((d|0)!=(j|0)){d=(d|0)==(j|0);break l}d=(k|0)==K[g+10|0]}if(!d){continue}break}d=0;break i}c=e&h-1;g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}}j=h-1|0;q=K[f|0];o=K[f+1|0];k=K[f+2|0];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break j}d=K[g+8|0];m:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break m}d=K[g+9|0];if((d|0)!=(o|0)){d=(d|0)==(o|0);break m}d=(k|0)==K[g+10|0]}if(!d){continue}break}d=0;break i}g=oa(16);H[g+10|0]=K[f+2|0];I[g+8>>1]=L[f>>1];d=J[f+4>>2];J[g>>2]=0;J[g+4>>2]=e;J[g+12>>2]=d;p=Q(J[l+12>>2]+1>>>0);t=N[l+16>>2];n:{if(p>Q(t*Q(h>>>0))?0:h){break n}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;p=Q(W(Q(p/t)));o:{if(p=Q(0)){k=~~p>>>0;break o}k=0}d=d>>>0>k>>>0?d:k;p:{if((d|0)==1){break p}if(!(d&d-1)){c=d;break p}c=Ha(d);h=J[l+4>>2]}q:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break q}k=h>>>0<3;p=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(p=Q(0)){d=~~p>>>0;break r}d=0}s:{t:{if(k){break t}if(Jl(h)>>>0>1){break t}d=d>>>0<2?d:1<<32-S(d-1|0);break s}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(c>>>0>=h>>>0){break q}}db(l,c)}h=J[l+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break n}if(e>>>0>>0){c=e;break n}c=(e>>>0)%(h>>>0)|0}e=J[l>>2]+(c<<2)|0;c=J[e>>2];u:{v:{if(!c){c=l+8|0;J[g>>2]=J[c>>2];J[l+8>>2]=g;J[e>>2]=c;c=J[g>>2];if(!c){break u}c=J[c+4>>2];e=h-1|0;w:{if(!(e&h)){c=c&e;break w}if(c>>>0>>0){break w}c=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(c<<2)|0;break v}J[g>>2]=J[c>>2]}J[c>>2]=g}J[l+12>>2]=J[l+12>>2]+1;d=1}H[s+60|0]=d;J[f+56>>2]=g;c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,r)|0,f+28|0,c);m=J[f+8>>2];J[m+(n<<2)>>2]=r;r=r+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(r|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;c=0;b=0;if(i-1>>>0>=3){e=i&-4;h=0;while(1){d=b<<2;i=d+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;y:{if(c>>>0>>0){Ma(i,j-c|0,2176);j=J[a+80>>2];break y}if(c>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}d=J[i>>2];c=0;b=0;if(j>>>0>=4){e=j&-4;h=0;while(1){n=b<<2;J[n+d>>2]=J[m+n>>2];i=n|4;J[i+d>>2]=J[i+m>>2];i=n|8;J[i+d>>2]=J[i+m>>2];i=n|12;J[i+d>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+d>>2]=J[i+m>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}J[a+80>>2]=r}na(m)}b=J[f+40>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[f+32>>2];J[f+32>>2]=0;if(a){na(a)}ba=f- -64|0;return r}qa();B()}function ph(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;i=ba-80|0;ba=i;e=-1;k=-1;a:{if((b|0)==-1){break a}k=b+1|0;e=(k>>>0)%3|0?k:b-2|0;k=b-1|0;if((b>>>0)%3|0){break a}k=b+2|0}h=J[a+36>>2];b=J[h>>2];b:{c:{d:{e:{f:{g:{h=J[h+4>>2]-b>>2;f=e<<2;e=J[J[a+32>>2]+28>>2];g=J[f+e>>2];if(h>>>0<=g>>>0){break g}k=J[e+(k<<2)>>2];if(k>>>0>=h>>>0){break g}h:{j=J[b+(k<<2)>>2];g=J[b+(g<<2)>>2];if((j|0)>=(d|0)|(g|0)>=(d|0)){break h}b=(j<<3)+c|0;y=J[b+4>>2];e=(g<<3)+c|0;k=J[e+4>>2];h=J[e>>2];l=J[b>>2];if(!((h|0)!=(l|0)|(k|0)!=(y|0))){J[a+8>>2]=h;J[a+12>>2]=k;break c}b=J[J[a+4>>2]+(d<<2)>>2];J[i+72>>2]=0;J[i+76>>2]=0;e=i- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}hb(e,b,H[e+24|0],i+56|0);b=J[J[a+4>>2]+(g<<2)>>2];J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}hb(e,b,H[e+24|0],i+32|0);b=J[J[a+4>>2]+(j<<2)>>2];J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}hb(e,b,H[e+24|0],i+8|0);b=J[i+16>>2];o=J[i+40>>2];s=b-o|0;L=J[i+44>>2];b=J[i+20>>2]-(L+(b>>>0>>0)|0)|0;F=b;e=Gl(s,b,s,b);j=ca;b=J[i+8>>2];v=J[i+32>>2];z=b-v|0;M=J[i+36>>2];b=J[i+12>>2]-(M+(b>>>0>>0)|0)|0;G=b;f=e;e=Gl(z,b,z,b);b=f+e|0;n=ca+j|0;n=b>>>0>>0?n+1|0:n;e=J[i+24>>2];w=J[i+48>>2];C=e-w|0;N=J[i+52>>2];e=J[i+28>>2]-(N+(e>>>0>>0)|0)|0;I=e;f=b;b=Gl(C,e,C,e);q=f+b|0;e=ca+n|0;r=b>>>0>q>>>0?e+1|0:e;if(!(r|q)){break h}b=0;D=Il(-1,2147483647,q,r);e=h>>31;E=e;f=e>>31;t=h;g=f;m=h^g;h=m-g|0;e=(e^g)-((g>>>0>m>>>0)+g|0)|0;g=e;e=k>>31;P=e;j=h;m=e>>31;p=m^k;f=p-m|0;n=e>>31;e=(n^e)-((m>>>0>p>>>0)+n|0)|0;h=(e|0)==(g|0)&f>>>0>>0|e>>>0>>0;m=h?j:f;j=ca;e=h?g:e;if((j|0)==(e|0)&m>>>0>D>>>0|e>>>0>j>>>0){break b}j=J[i+64>>2];Q=J[i+68>>2];e=Gl(j-o|0,Q-((j>>>0>>0)+L|0)|0,s,F);h=ca;m=J[i+56>>2];R=J[i+60>>2];g=Gl(m-v|0,R-((m>>>0>>0)+M|0)|0,z,G);e=g+e|0;f=ca+h|0;f=e>>>0>>0?f+1|0:f;p=J[i+72>>2];S=J[i+76>>2];g=Gl(p-w|0,S-((p>>>0>>0)+N|0)|0,C,I);h=g+e|0;e=ca+f|0;g=g>>>0>h>>>0?e+1|0:e;e=l;D=e-t|0;f=(e>>31)-((e>>>0>>0)+E|0)|0;T=f;e=f>>31;n=e^D;l=n-e|0;e=(e^f)-((n>>>0>>0)+e|0)|0;n=e;O=y-k|0;f=(y>>31)-((k>>>0>y>>>0)+P|0)|0;y=f;u=f>>31;x=u^O;A=x-u|0;e=f>>31;e=(e^f)-((u>>>0>x>>>0)+e|0)|0;f=(n|0)==(e|0)&l>>>0>A>>>0|e>>>0>>0;f=Il(-1,2147483647,f?l:A,f?n:e)>>>0>>0;e=ca;if(f&(e|0)<=(g|0)|(e|0)<(g|0)){break b}e=G>>31;f=e;l=e^z;e=l-e|0;f=(f^G)-((f>>>0>l>>>0)+f|0)|0;n=F>>31;l=n;u=l^s;x=u-l|0;l=(l^F)-((l>>>0>u>>>0)+l|0)|0;n=(f|0)==(l|0)&e>>>0>x>>>0|f>>>0>l>>>0;e=n?e:x;f=n?f:l;n=I>>31;A=e;l=n;u=l^C;x=u-l|0;l=(l^I)-((l>>>0>u>>>0)+l|0)|0;e=(f|0)==(l|0)&e>>>0>x>>>0|f>>>0>l>>>0;f=Il(-1,2147483647,e?A:x,e?f:l)>>>0>>0;e=ca;if(f&(e|0)<=(g|0)|(e|0)<(g|0)){break b}b=Gl(h,g,O,y);e=ca;f=b;b=Gl(q,r,k,P);l=f+b|0;f=ca+e|0;n=b>>>0>l>>>0?f+1|0:f;b=Gl(h,g,D,T);k=ca;e=b;b=Gl(t,E,q,r);t=e+b|0;e=ca+k|0;E=b>>>0>t>>>0?e+1|0:e;k=1;b=0;e=o;o=Hl(Gl(h,g,s,F),ca,q,r);f=e+o|0;e=ca+L|0;e=f>>>0>>0?e+1|0:e;o=j-f|0;e=Q-((f>>>0>j>>>0)+e|0)|0;o=Gl(o,e,o,e);s=ca;f=Hl(Gl(h,g,z,G),ca,q,r);j=f+v|0;e=ca+M|0;e=f>>>0>j>>>0?e+1|0:e;f=m-j|0;e=R-((j>>>0>m>>>0)+e|0)|0;m=Gl(f,e,f,e);j=m+o|0;e=ca+s|0;e=j>>>0>>0?e+1|0:e;m=j;j=e;g=Hl(Gl(h,g,C,I),ca,q,r);h=g+w|0;e=ca+N|0;e=g>>>0>h>>>0?e+1|0:e;g=p-h|0;e=S-((h>>>0>p>>>0)+e|0)|0;g=Gl(g,e,g,e);h=g+m|0;e=ca+j|0;h=Gl(h,g>>>0>h>>>0?e+1|0:e,q,r);e=ca;j=e;if(!e&h>>>0<=1){break f}m=h;g=j;while(1){e=b<<1|k>>>31;k=k<<1;b=e;p=!g&m>>>0>7|(g|0)!=0;m=(g&3)<<30|m>>>2;g=g>>>2|0;if(p){continue}break}break e}if((d|0)>(g|0)){b=g<<1}else{if((d|0)<=0){J[a+8>>2]=0;J[a+12>>2]=0;break c}b=(d<<1)-2|0}b=(b<<2)+c|0;J[a+8>>2]=J[b>>2];J[a+12>>2]=J[b+4>>2];break c}ra();B()}b=j;k=h;if(h-1|0){break d}}while(1){e=Il(h,j,k,b);f=b+ca|0;b=e+k|0;f=b>>>0>>0?f+1|0:f;k=(f&1)<<31|b>>>1;b=f>>>1|0;e=Gl(k,b,k,b);g=ca;if((j|0)==(g|0)&e>>>0>h>>>0|g>>>0>j>>>0){continue}break}}s=a+16|0;g=(d<<3)+c|0;d=J[g+4>>2];h=Gl(k,b,D,T);v=ca;c=Hl(l-h|0,n-(v+(h>>>0>l>>>0)|0)|0,q,r);e=d-c|0;p=d>>31;j=p-(ca+(c>>>0>d>>>0)|0)|0;m=Gl(e,j,e,j);z=ca;g=J[g>>2];e=g>>31;o=e;j=Gl(k,b,O,y);w=ca;f=E+w|0;b=j+t|0;f=b>>>0>>0?f+1|0:f;A=m;k=Hl(b,f,q,r);b=g-k|0;e=e-(ca+(g>>>0>>0)|0)|0;m=Gl(b,e,b,e);b=A+m|0;e=ca+z|0;f=b;m=b>>>0>>0?e+1|0:e;e=n+v|0;b=h+l|0;e=b>>>0>>0?e+1|0:e;b=Hl(b,e,q,r);e=d-b|0;d=p-(ca+(b>>>0>d>>>0)|0)|0;h=Gl(e,d,e,d);p=ca;d=Hl(t-j|0,E-((j>>>0>t>>>0)+w|0)|0,q,r);e=g-d|0;g=o-(ca+(d>>>0>g>>>0)|0)|0;j=Gl(e,g,e,g);g=j+h|0;e=ca+p|0;e=g>>>0>>0?e+1|0:e;i:{if((e|0)==(m|0)&g>>>0>f>>>0|e>>>0>m>>>0){H[i+7|0]=1;Wc(s,i+7|0);break i}H[i+7|0]=0;Wc(s,i+7|0);c=b;k=d}J[a+8>>2]=k;J[a+12>>2]=c}b=1}ba=i+80|0;return b}function kh(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;i=ba-80|0;ba=i;l=-1;a:{if((b|0)==-1){break a}e=J[a+32>>2];h=b+1|0;h=(h>>>0)%3|0?h:b-2|0;if((h|0)!=-1){l=J[J[e>>2]+(h<<2)>>2]}h=((b>>>0)%3|0?-1:2)+b|0;b=-1;b=(h|0)!=-1?J[J[e>>2]+(h<<2)>>2]:b;h=J[a+36>>2];e=J[h>>2];h=J[h+4>>2]-e>>2;if(h>>>0<=l>>>0|b>>>0>=h>>>0){break a}b:{c:{d:{e:{f:{g:{j=J[e+(b<<2)>>2];g=J[e+(l<<2)>>2];if((j|0)>=(d|0)|(g|0)>=(d|0)){break g}b=(j<<3)+c|0;y=J[b+4>>2];e=(g<<3)+c|0;l=J[e+4>>2];h=J[e>>2];k=J[b>>2];if(!((h|0)!=(k|0)|(l|0)!=(y|0))){J[a+8>>2]=h;J[a+12>>2]=l;break c}b=J[J[a+4>>2]+(d<<2)>>2];J[i+72>>2]=0;J[i+76>>2]=0;e=i- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}hb(e,b,H[e+24|0],i+56|0);b=J[J[a+4>>2]+(g<<2)>>2];J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}hb(e,b,H[e+24|0],i+32|0);b=J[J[a+4>>2]+(j<<2)>>2];J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}hb(e,b,H[e+24|0],i+8|0);b=J[i+16>>2];o=J[i+40>>2];s=b-o|0;L=J[i+44>>2];b=J[i+20>>2]-(L+(b>>>0>>0)|0)|0;F=b;e=Gl(s,b,s,b);j=ca;b=J[i+8>>2];v=J[i+32>>2];z=b-v|0;M=J[i+36>>2];b=J[i+12>>2]-(M+(b>>>0>>0)|0)|0;G=b;f=e;e=Gl(z,b,z,b);b=f+e|0;n=ca+j|0;n=b>>>0>>0?n+1|0:n;e=J[i+24>>2];w=J[i+48>>2];C=e-w|0;N=J[i+52>>2];e=J[i+28>>2]-(N+(e>>>0>>0)|0)|0;I=e;f=b;b=Gl(C,e,C,e);q=f+b|0;e=ca+n|0;r=b>>>0>q>>>0?e+1|0:e;if(!(r|q)){break g}b=0;D=Il(-1,2147483647,q,r);e=h>>31;E=e;f=e>>31;t=h;g=f;m=h^g;h=m-g|0;e=(e^g)-((g>>>0>m>>>0)+g|0)|0;g=e;e=l>>31;P=e;j=h;m=e>>31;p=m^l;f=p-m|0;n=e>>31;e=(n^e)-((m>>>0>p>>>0)+n|0)|0;h=(e|0)==(g|0)&f>>>0>>0|e>>>0>>0;m=h?j:f;j=ca;e=h?g:e;if((j|0)==(e|0)&m>>>0>D>>>0|e>>>0>j>>>0){break b}j=J[i+64>>2];Q=J[i+68>>2];e=Gl(j-o|0,Q-((j>>>0>>0)+L|0)|0,s,F);h=ca;m=J[i+56>>2];R=J[i+60>>2];g=Gl(m-v|0,R-((m>>>0>>0)+M|0)|0,z,G);e=g+e|0;f=ca+h|0;f=e>>>0>>0?f+1|0:f;p=J[i+72>>2];S=J[i+76>>2];g=Gl(p-w|0,S-((p>>>0>>0)+N|0)|0,C,I);h=g+e|0;e=ca+f|0;g=g>>>0>h>>>0?e+1|0:e;e=k;D=e-t|0;f=(e>>31)-((e>>>0>>0)+E|0)|0;T=f;e=f>>31;n=e^D;k=n-e|0;e=(e^f)-((n>>>0>>0)+e|0)|0;n=e;O=y-l|0;f=(y>>31)-((l>>>0>y>>>0)+P|0)|0;y=f;u=f>>31;x=u^O;A=x-u|0;e=f>>31;e=(e^f)-((u>>>0>x>>>0)+e|0)|0;f=(n|0)==(e|0)&k>>>0>A>>>0|e>>>0>>0;f=Il(-1,2147483647,f?k:A,f?n:e)>>>0>>0;e=ca;if(f&(e|0)<=(g|0)|(e|0)<(g|0)){break b}e=G>>31;f=e;k=e^z;e=k-e|0;f=(f^G)-((f>>>0>k>>>0)+f|0)|0;n=F>>31;k=n;u=k^s;x=u-k|0;k=(k^F)-((k>>>0>u>>>0)+k|0)|0;n=(f|0)==(k|0)&e>>>0>x>>>0|f>>>0>k>>>0;e=n?e:x;f=n?f:k;n=I>>31;A=e;k=n;u=k^C;x=u-k|0;k=(k^I)-((k>>>0>u>>>0)+k|0)|0;e=(f|0)==(k|0)&e>>>0>x>>>0|f>>>0>k>>>0;f=Il(-1,2147483647,e?A:x,e?f:k)>>>0>>0;e=ca;if(f&(e|0)<=(g|0)|(e|0)<(g|0)){break b}b=Gl(h,g,O,y);e=ca;f=b;b=Gl(q,r,l,P);k=f+b|0;f=ca+e|0;n=b>>>0>k>>>0?f+1|0:f;b=Gl(h,g,D,T);l=ca;e=b;b=Gl(t,E,q,r);t=e+b|0;e=ca+l|0;E=b>>>0>t>>>0?e+1|0:e;l=1;b=0;e=o;o=Hl(Gl(h,g,s,F),ca,q,r);f=e+o|0;e=ca+L|0;e=f>>>0>>0?e+1|0:e;o=j-f|0;e=Q-((f>>>0>j>>>0)+e|0)|0;o=Gl(o,e,o,e);s=ca;f=Hl(Gl(h,g,z,G),ca,q,r);j=f+v|0;e=ca+M|0;e=f>>>0>j>>>0?e+1|0:e;f=m-j|0;e=R-((j>>>0>m>>>0)+e|0)|0;m=Gl(f,e,f,e);j=m+o|0;e=ca+s|0;e=j>>>0>>0?e+1|0:e;m=j;j=e;g=Hl(Gl(h,g,C,I),ca,q,r);h=g+w|0;e=ca+N|0;e=g>>>0>h>>>0?e+1|0:e;g=p-h|0;e=S-((h>>>0>p>>>0)+e|0)|0;g=Gl(g,e,g,e);h=g+m|0;e=ca+j|0;h=Gl(h,g>>>0>h>>>0?e+1|0:e,q,r);e=ca;j=e;if(!e&h>>>0<=1){break f}m=h;g=j;while(1){e=b<<1|l>>>31;l=l<<1;b=e;p=!g&m>>>0>7|(g|0)!=0;m=(g&3)<<30|m>>>2;g=g>>>2|0;if(p){continue}break}break e}if((d|0)>(g|0)){b=g<<1}else{if((d|0)<=0){J[a+8>>2]=0;J[a+12>>2]=0;break c}b=(d<<1)-2|0}b=(b<<2)+c|0;J[a+8>>2]=J[b>>2];J[a+12>>2]=J[b+4>>2];break c}b=j;l=h;if(h-1|0){break d}}while(1){e=Il(h,j,l,b);f=b+ca|0;b=e+l|0;f=b>>>0>>0?f+1|0:f;l=(f&1)<<31|b>>>1;b=f>>>1|0;e=Gl(l,b,l,b);g=ca;if((j|0)==(g|0)&e>>>0>h>>>0|g>>>0>j>>>0){continue}break}}s=a+16|0;g=(d<<3)+c|0;d=J[g+4>>2];h=Gl(l,b,D,T);v=ca;c=Hl(k-h|0,n-(v+(h>>>0>k>>>0)|0)|0,q,r);e=d-c|0;p=d>>31;j=p-(ca+(c>>>0>d>>>0)|0)|0;m=Gl(e,j,e,j);z=ca;g=J[g>>2];e=g>>31;o=e;j=Gl(l,b,O,y);w=ca;f=E+w|0;b=j+t|0;f=b>>>0>>0?f+1|0:f;A=m;l=Hl(b,f,q,r);b=g-l|0;e=e-(ca+(g>>>0>>0)|0)|0;m=Gl(b,e,b,e);b=A+m|0;e=ca+z|0;f=b;m=b>>>0>>0?e+1|0:e;e=n+v|0;b=h+k|0;e=b>>>0>>0?e+1|0:e;b=Hl(b,e,q,r);e=d-b|0;d=p-(ca+(b>>>0>d>>>0)|0)|0;h=Gl(e,d,e,d);p=ca;d=Hl(t-j|0,E-((j>>>0>t>>>0)+w|0)|0,q,r);e=g-d|0;g=o-(ca+(d>>>0>g>>>0)|0)|0;j=Gl(e,g,e,g);g=j+h|0;e=ca+p|0;e=g>>>0>>0?e+1|0:e;h:{if((e|0)==(m|0)&g>>>0>f>>>0|e>>>0>m>>>0){H[i+7|0]=1;Wc(s,i+7|0);break h}H[i+7|0]=0;Wc(s,i+7|0);c=b;l=d}J[a+8>>2]=l;J[a+12>>2]=c}b=1}ba=i+80|0;return b}ra();B()}function Wf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{if(J[a+92>>2]==J[a+88>>2]){break e}c=J[a+52>>2];f:{if((c|0)!=J[a+56>>2]){J[c>>2]=b;J[a+52>>2]=c+4;break f}h=J[a+48>>2];g=c-h|0;d=g>>2;f=d+1|0;if(f>>>0>=1073741824){break a}e=g>>>1|0;g=g>>>0>=2147483644?1073741823:f>>>0>>0?e:f;if(g){if(g>>>0>=1073741824){break d}e=oa(g<<2)}else{e=0}f=e+(d<<2)|0;J[f>>2]=b;d=f+4|0;if((c|0)!=(h|0)){while(1){f=f-4|0;c=c-4|0;J[f>>2]=J[c>>2];if((c|0)!=(h|0)){continue}break}}J[a+56>>2]=e+(g<<2);J[a+52>>2]=d;J[a+48>>2]=f;if(!h){break f}na(h)}J[a+84>>2]=0;c=-1;e=-1;g:{if((b|0)==-1){break g}d=J[a+4>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){c=J[J[d>>2]+(e<<2)>>2]}h:{if((b>>>0)%3|0){l=b-1|0;break h}l=b+2|0;e=-1;if((l|0)==-1){break g}}e=J[J[d>>2]+(l<<2)>>2]}i=e>>>3&536870908;d=J[a+36>>2];h=d+(c>>>3&536870908)|0;g=J[h>>2];f=1<>2]=f|g;f=a+8|0;if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}else{d=-1}mb(f,c,d);d=J[a+36>>2]}f=d+i|0;d=J[f>>2];c=1<>2]=c|d;d=a+8|0;c=-1;i:{if((b|0)==-1){break i}c=b-1|0;if((b>>>0)%3|0){break i}c=b+2|0}mb(d,e,c)}c=-1;c=(b|0)!=-1?J[J[J[a+4>>2]>>2]+(b<<2)>>2]:c;f=J[a+36>>2]+(c>>>3&536870908)|0;d=J[f>>2];e=1<>2]=d|e;mb(a+8|0,c,b)}d=J[a+84>>2];if((d|0)>2){break e}while(1){e=P(d,12)+a|0;b=J[e+52>>2];if((b|0)==J[e+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}b=b-4|0;c=J[b>>2];J[e+52>>2]=b;J[a+84>>2]=d;if((c|0)==-1){break e}f=J[a+24>>2];b=(c>>>0)/3|0;j:{if(J[f+(b>>>3&268435452)>>2]>>>b&1){break j}k:{while(1){k=(c>>>0)/3|0;b=(k>>>3&268435452)+f|0;J[b>>2]=J[b>>2]|1<>2]>>2]+(c<<2)>>2]:d;f=J[a+36>>2]+(d>>>3&536870908)|0;e=J[f>>2];b=1<>2]=b|e;i=J[(J[J[a+16>>2]+96>>2]+P(k,12)|0)+((c>>>0)%3<<2)>>2];l=J[J[a+20>>2]+4>>2];f=J[l+4>>2];t:{if((f|0)!=J[l+8>>2]){J[f>>2]=i;J[l+4>>2]=f+4;break t}j=J[l>>2];h=f-j|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break s}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=oa(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=i;g=b+4|0;if((f|0)!=(j|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(j|0)){continue}break}}J[l+8>>2]=e+(h<<2);J[l+4>>2]=g;J[l>>2]=b;if(!j){break t}na(j)}j=J[a+12>>2];f=J[j+4>>2];u:{if((f|0)!=J[j+8>>2]){J[f>>2]=c;J[j+4>>2]=f+4;break u}i=J[j>>2];h=f-i|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break r}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=oa(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=c;g=b+4|0;if((f|0)!=(i|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(i|0)){continue}break}}J[j+8>>2]=e+(h<<2);J[j+4>>2]=g;J[j>>2]=b;if(!i){break u}na(i)}b=J[a+12>>2];J[J[b+12>>2]+(d<<2)>>2]=J[b+24>>2];J[b+24>>2]=J[b+24>>2]+1}if((c|0)==-1){break k}g=J[a+4>>2];f=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){f=J[J[g+12>>2]+(b<<2)>>2]}v:{w:{if((P(k,3)|0)!=(c|0)){d=c-1|0;break w}d=c+2|0;c=-1;if((d|0)==-1){break v}}c=J[J[g+12>>2]+(d<<2)>>2]}d=(c|0)==-1;e=(c>>>0)/3|0;if((f|0)!=-1){b=(f>>>0)/3|0;b=J[J[a+24>>2]+(b>>>3&268435452)>>2]&1<>2]+(b>>>3&536870908)>>2]>>>b&1){break x}k=0;b=J[J[g>>2]+(c<<2)>>2];if(!(J[J[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=J[a+88>>2]+(b<<2)|0;e=J[b>>2];J[b>>2]=e+1;k=(e|0)<=0?2:1}if(J[a+84>>2]>=(k|0)&l){break m}j=P(k,12)+a|0;b=J[j+52>>2];y:{if((b|0)!=J[j+56>>2]){J[b>>2]=c;J[j+52>>2]=b+4;break y}i=J[j+48>>2];h=b-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break c}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=oa(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=c;c=d+4|0;if((b|0)!=(i|0)){while(1){d=d-4|0;b=b-4|0;J[d>>2]=J[b>>2];if((b|0)!=(i|0)){continue}break}}J[j+48>>2]=d;J[j+52>>2]=c;J[j+56>>2]=e+(g<<2);if(!i){break y}na(i)}if(J[a+84>>2]<=(k|0)){break x}J[a+84>>2]=k}if(l){break k}c=-1;if((f|0)==-1){break n}}c=J[J[J[a+4>>2]>>2]+(f<<2)>>2]}b=0;if(!(J[J[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){b=J[a+88>>2]+(c<<2)|0;c=J[b>>2];J[b>>2]=c+1;b=(c|0)<=0?2:1}if(J[a+84>>2]<(b|0)){break l}c=f}f=J[a+24>>2];continue}break}k=P(b,12)+a|0;c=J[k+52>>2];z:{if((c|0)!=J[k+56>>2]){J[c>>2]=f;J[k+52>>2]=c+4;break z}i=J[k+48>>2];h=c-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break b}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=oa(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=f;f=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[k+48>>2]=d;J[k+52>>2]=f;J[k+56>>2]=e+(g<<2);if(!i){break z}na(i)}d=J[a+84>>2];if((d|0)<=(b|0)){break j}J[a+84>>2]=b;d=b;break j}d=J[a+84>>2]}if((d|0)<3){continue}break}}return 1}xa();B()}qa();B()}qa();B()}qa();B()}function Ha(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=ba-16|0;ba=e;J[e+12>>2]=a;a:{if(a>>>0<=211){d=J[Ke(17792,17984,e+12|0)>>2];break a}if(a>>>0>=4294967292){Z();B()}f=(a>>>0)/210|0;d=P(f,210);J[e+8>>2]=a-d;g=Ke(17984,18176,e+8|0)-17984>>2;while(1){d=J[(g<<2)+17984>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0>>0){break a}if((P(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((P(b,c)|0)!=(d|0)){continue}break}break b}b=J[(a<<2)+17792>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((P(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=P(f,210);continue}}ba=e+16|0;return d}function Jd(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);f=ba-80|0;ba=f;J[f+56>>2]=0;J[f+60>>2]=0;J[f+48>>2]=0;J[f+52>>2]=0;J[f+64>>2]=1065353216;c=J[a+80>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;m=oa(e);J[f+16>>2]=m;c=e+m|0;J[f+24>>2]=c;pa(m,0,e);J[f+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=Gl(J[b+40>>2],J[b+44>>2],n,0);k=c;c=c+e|0;c=c+d|0;e=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);c=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+32>>2]=e;J[f+36>>2]=c;J[f+40>>2]=e;J[f+44>>2]=c;c=0;g=J[f+52>>2];b:{if(!g){break b}d=J[f+48>>2];k=J[f+36>>2]^(J[f+32>>2]^318)+239;e=k&g-1;p=Jl(g);c:{if(p>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(g>>>0)|0}r=d;d=e;e=J[r+(d<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(p>>>0>=2){p=J[f+36>>2];l=J[f+32>>2];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((d|0)!=(e|0)){break b}break e}e=J[j+8>>2];f:{if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=(p|0)==J[j+12>>2]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}l=g-1|0;p=J[f+36>>2];g=J[f+32>>2];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((d|0)!=(e&l)){break b}break g}e=J[j+8>>2];if((e|0)!=(g|0)){if((e|0)!=(g|0)){break g}break d}if((p|0)==J[j+12>>2]){break d}}j=J[j>>2];if(j){continue}break}break b}c=j}h:{if(c){J[(n<<2)+m>>2]=J[c+16>>2];break h}J[f+8>>2]=q;c=J[f+36>>2];J[f>>2]=J[f+32>>2];J[f+4>>2]=c;c=0;e=J[f+4>>2]^(J[f>>2]^318)+239;r=f;i:{j:{l=f+48|0;h=J[l+4>>2];if(!h){break j}d=Jl(h);k:{if(d>>>0>=2){c=e;if(c>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}if(d>>>0<2){break k}k=J[f+4>>2];j=J[f>>2];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break j}}d=J[g+8>>2];l:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break l}d=(k|0)==J[g+12>>2]}if(!d){continue}break}d=0;break i}c=e&h-1;g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}}j=h-1|0;k=J[f+4>>2];p=J[f>>2];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break j}d=J[g+8>>2];m:{if((d|0)!=(p|0)){d=(d|0)==(p|0);break m}d=(k|0)==J[g+12>>2]}if(!d){continue}break}d=0;break i}g=oa(20);d=J[f+4>>2];J[g+8>>2]=J[f>>2];J[g+12>>2]=d;d=J[f+8>>2];J[g+4>>2]=e;J[g+16>>2]=d;J[g>>2]=0;o=Q(J[l+12>>2]+1>>>0);s=N[l+16>>2];n:{if(o>Q(s*Q(h>>>0))?0:h){break n}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));o:{if(o=Q(0)){k=~~o>>>0;break o}k=0}d=d>>>0>k>>>0?d:k;p:{if((d|0)==1){break p}if(!(d&d-1)){c=d;break p}c=Ha(d);h=J[l+4>>2]}q:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break q}k=h>>>0<3;o=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(o=Q(0)){d=~~o>>>0;break r}d=0}s:{t:{if(k){break t}if(Jl(h)>>>0>1){break t}d=d>>>0<2?d:1<<32-S(d-1|0);break s}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(c>>>0>=h>>>0){break q}}db(l,c)}h=J[l+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break n}if(e>>>0>>0){c=e;break n}c=(e>>>0)%(h>>>0)|0}e=J[l>>2]+(c<<2)|0;c=J[e>>2];u:{v:{if(!c){c=l+8|0;J[g>>2]=J[c>>2];J[l+8>>2]=g;J[e>>2]=c;c=J[g>>2];if(!c){break u}c=J[c+4>>2];e=h-1|0;w:{if(!(e&h)){c=c&e;break w}if(c>>>0>>0){break w}c=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(c<<2)|0;break v}J[g>>2]=J[c>>2]}J[c>>2]=g}J[l+12>>2]=J[l+12>>2]+1;d=1}H[r+76|0]=d;J[f+72>>2]=g;c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,q)|0,f+40|0,c);m=J[f+16>>2];J[m+(n<<2)>>2]=q;q=q+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(q|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;c=0;b=0;if(i-1>>>0>=3){e=i&-4;h=0;while(1){d=b<<2;i=d+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;y:{if(c>>>0>>0){Ma(i,j-c|0,2176);j=J[a+80>>2];break y}if(c>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}d=J[i>>2];c=0;b=0;if(j>>>0>=4){e=j&-4;h=0;while(1){n=b<<2;J[n+d>>2]=J[m+n>>2];i=n|4;J[i+d>>2]=J[i+m>>2];i=n|8;J[i+d>>2]=J[i+m>>2];i=n|12;J[i+d>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+d>>2]=J[i+m>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}J[a+80>>2]=q}na(m)}b=J[f+56>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[f+48>>2];J[f+48>>2]=0;if(a){na(a)}ba=f+80|0;return q}qa();B()}function kl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=ba-32|0;ba=h;a:{b:{if(!J[J[a+8>>2]+80>>2]){e=1;break b}H[h+31|0]=254;d=J[a+36>>2];if(d){if(!(da[J[J[a>>2]+40>>2]](a,d)|0)){break b}d=J[a+36>>2];n=h,o=da[J[J[d>>2]+8>>2]](d)|0,H[n+31|0]=o}d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){sa(c,J[c+4>>2],h+31|0,h+32|0)}d=J[a+36>>2];c:{if(!d){break c}n=h,o=da[J[J[d>>2]+36>>2]](d)|0,H[n+16|0]=o;d=J[c+20>>2];if(!!J[c+16>>2]&(d|0)>=0|(d|0)>0){break c}sa(c,J[c+4>>2],h+16|0,h+17|0)}d=J[a+32>>2];e=J[d+48>>2];f=J[J[d>>2]>>2];g=J[d+80>>2];k=K[d+24|0];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;g=P(g,k);if(g){if(g>>>0>=1073741824){break a}d=g<<2;i=oa(d);pa(i,0,d)}d=e+f|0;f=J[a+36>>2];d:{e:{f:{if(!f){break f}e=0;if(!(da[J[J[f>>2]+44>>2]](f,d,i,g,k,J[b>>2])|0)){break d}e=J[a+36>>2];if(!e){break f}if(da[J[J[e>>2]+32>>2]](e)|0){break e}d=J[a+36>>2]?i:d}e=0;f=0;g:{if((g|0)<=0){break g}if((g|0)!=1){m=g&-2;while(1){l=e<<2;j=J[l+d>>2];J[i+l>>2]=(j|0)<0?(j^-1)<<1|1:j<<1;l=l|4;j=J[l+d>>2];J[i+l>>2]=(j|0)<0?(j^-1)<<1|1:j<<1;e=e+2|0;f=f+2|0;if((m|0)!=(f|0)){continue}break}}if(!(g&1)){break g}e=e<<2;d=J[e+d>>2];J[e+i>>2]=(d|0)<0?(d^-1)<<1|1:d<<1}}h:{i:{j:{k:{d=J[a+4>>2];if(!d){break k}j=J[d+48>>2];d=oa(48);J[h>>2]=d;J[h+4>>2]=34;J[h+8>>2]=-2147483600;e=K[1411]|K[1412]<<8;H[d+32|0]=e;H[d+33|0]=e>>>8;e=K[1407]|K[1408]<<8|(K[1409]<<16|K[1410]<<24);f=K[1403]|K[1404]<<8|(K[1405]<<16|K[1406]<<24);H[d+24|0]=f;H[d+25|0]=f>>>8;H[d+26|0]=f>>>16;H[d+27|0]=f>>>24;H[d+28|0]=e;H[d+29|0]=e>>>8;H[d+30|0]=e>>>16;H[d+31|0]=e>>>24;e=K[1399]|K[1400]<<8|(K[1401]<<16|K[1402]<<24);f=K[1395]|K[1396]<<8|(K[1397]<<16|K[1398]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=e;H[d+21|0]=e>>>8;H[d+22|0]=e>>>16;H[d+23|0]=e>>>24;e=K[1391]|K[1392]<<8|(K[1393]<<16|K[1394]<<24);f=K[1387]|K[1388]<<8|(K[1389]<<16|K[1390]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1383]|K[1384]<<8|(K[1385]<<16|K[1386]<<24);f=K[1379]|K[1380]<<8|(K[1381]<<16|K[1382]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;H[d+34|0]=0;d=Pb(j,h,1);if(H[h+11|0]<0){na(J[h>>2])}if(d){break k}if(!g){break j}d=0;e=0;b=0;if(g>>>0>=4){j=g&-4;f=0;while(1){k=e<<2;b=J[(k|12)+i>>2]|(J[(k|8)+i>>2]|(J[(k|4)+i>>2]|(J[i+k>>2]|b)));e=e+4|0;f=f+4|0;if((j|0)!=(f|0)){continue}break}}f=g&3;if(f){while(1){b=J[(e<<2)+i>>2]|b;e=e+1|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}if(!b){break j}d=4-(S(b)>>>3|0)|0;break i}H[h|0]=1;d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){sa(c,J[c+4>>2],h,h+1|0)}J[h>>2]=h|4;J[h+4>>2]=0;J[h+8>>2]=0;d=J[a+4>>2];if(d){j=10-cb(J[d+48>>2])|0;e=ba-16|0;ba=e;l:{if(j>>>0>10){break l}d=oa(48);J[e>>2]=d;J[e+4>>2]=33;J[e+8>>2]=-2147483600;H[d+32|0]=K[1470];g=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);f=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[d+24|0]=f;H[d+25|0]=f>>>8;H[d+26|0]=f>>>16;H[d+27|0]=f>>>24;H[d+28|0]=g;H[d+29|0]=g>>>8;H[d+30|0]=g>>>16;H[d+31|0]=g>>>24;g=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);f=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=g;H[d+21|0]=g>>>8;H[d+22|0]=g>>>16;H[d+23|0]=g>>>24;g=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);f=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=g;H[d+13|0]=g>>>8;H[d+14|0]=g>>>16;H[d+15|0]=g>>>24;g=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);f=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=g;H[d+5|0]=g>>>8;H[d+6|0]=g>>>16;H[d+7|0]=g>>>24;H[d+33|0]=0;vb(h,e,j);if(H[e+11|0]>=0){break l}na(J[e>>2])}ba=e+16|0}b=ee(i,P(k,J[b+4>>2]-J[b>>2]>>2),k,h,c);Da(h,J[h+4>>2]);e=0;if(b){break h}break d}d=1}H[h|0]=0;b=J[c+20>>2];m:{if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){break m}e=h+1|0;sa(c,J[c+4>>2],h,e);f=J[c+16>>2];b=J[c+20>>2];H[h|0]=d;if(!!f&(b|0)>=0|(b|0)>0){break m}sa(c,J[c+4>>2],h,e)}n:{if((d|0)!=J[3712]){if(!g){break h}e=J[c+20>>2];f=e;b=J[c+16>>2];if(!!b&(e|0)>=0|(e|0)>0){break h}e=0;break n}b=J[c+20>>2];if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){break h}sa(c,J[c+4>>2],i,(g<<2)+i|0);break h}while(1){if(!b&(f|0)<=0|(f|0)<0){b=(e<<2)+i|0;sa(c,J[c+4>>2],b,b+d|0)}e=e+1|0;if((g|0)==(e|0)){break h}b=J[c+16>>2];f=J[c+20>>2];continue}}e=1;a=J[a+36>>2];if(!a){break d}da[J[J[a>>2]+40>>2]](a,c)|0}if(!i){break b}na(i)}ba=h+32|0;return e|0}qa();B()}function Df(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);f=ba+-64|0;ba=f;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;J[f+48>>2]=1065353216;c=J[a+80>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;m=oa(e);J[f+8>>2]=m;c=e+m|0;J[f+16>>2]=c;pa(m,0,e);J[f+12>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=Gl(J[b+40>>2],J[b+44>>2],n,0);k=c;c=c+e|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+24>>2]=c;J[f+28>>2]=c;c=0;g=J[f+36>>2];b:{if(!g){break b}d=J[f+32>>2];k=L[f+26>>1]^(L[f+24>>1]^318)+239;e=k&g+131071;p=Jl(g);c:{if(p>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(g>>>0)|0}r=d;d=e;e=J[r+(d<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(p>>>0>=2){l=L[f+24>>1];p=L[f+26>>1];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((d|0)!=(e|0)){break b}break e}e=L[j+8>>1];f:{if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=(p|0)==L[j+10>>1]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}l=g-1|0;g=L[f+24>>1];p=L[f+26>>1];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((d|0)!=(e&l)){break b}break g}e=L[j+8>>1];if((e|0)!=(g|0)){if((e|0)!=(g|0)){break g}break d}if((p|0)==L[j+10>>1]){break d}}j=J[j>>2];if(j){continue}break}break b}c=j}h:{if(c){J[(n<<2)+m>>2]=J[c+12>>2];break h}J[f+4>>2]=q;J[f>>2]=J[f+24>>2];c=0;e=L[f+2>>1]^(L[f>>1]^318)+239;r=f;i:{j:{l=f+32|0;h=J[l+4>>2];if(!h){break j}d=Jl(h);k:{if(d>>>0>=2){c=e;if(c>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}if(d>>>0<2){break k}j=L[f>>1];k=L[f+2>>1];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break j}}d=L[g+8>>1];l:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break l}d=(k|0)==L[g+10>>1]}if(!d){continue}break}d=0;break i}c=e&h+131071;g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}}j=h-1|0;p=L[f>>1];k=L[f+2>>1];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break j}d=L[g+8>>1];m:{if((d|0)!=(p|0)){d=(d|0)==(p|0);break m}d=(k|0)==L[g+10>>1]}if(!d){continue}break}d=0;break i}g=oa(16);J[g+8>>2]=J[f>>2];d=J[f+4>>2];J[g+4>>2]=e;J[g+12>>2]=d;J[g>>2]=0;o=Q(J[l+12>>2]+1>>>0);s=N[l+16>>2];n:{if(o>Q(s*Q(h>>>0))?0:h){break n}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));o:{if(o=Q(0)){k=~~o>>>0;break o}k=0}d=d>>>0>k>>>0?d:k;p:{if((d|0)==1){break p}if(!(d&d-1)){c=d;break p}c=Ha(d);h=J[l+4>>2]}q:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break q}k=h>>>0<3;o=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(o=Q(0)){d=~~o>>>0;break r}d=0}s:{t:{if(k){break t}if(Jl(h)>>>0>1){break t}d=d>>>0<2?d:1<<32-S(d-1|0);break s}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(c>>>0>=h>>>0){break q}}db(l,c)}h=J[l+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break n}if(e>>>0>>0){c=e;break n}c=(e>>>0)%(h>>>0)|0}e=J[l>>2]+(c<<2)|0;c=J[e>>2];u:{v:{if(!c){c=l+8|0;J[g>>2]=J[c>>2];J[l+8>>2]=g;J[e>>2]=c;c=J[g>>2];if(!c){break u}c=J[c+4>>2];e=h-1|0;w:{if(!(e&h)){c=c&e;break w}if(c>>>0>>0){break w}c=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(c<<2)|0;break v}J[g>>2]=J[c>>2]}J[c>>2]=g}J[l+12>>2]=J[l+12>>2]+1;d=1}H[r+60|0]=d;J[f+56>>2]=g;c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,q)|0,f+28|0,c);m=J[f+8>>2];J[m+(n<<2)>>2]=q;q=q+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(q|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;c=0;b=0;if(i-1>>>0>=3){e=i&-4;h=0;while(1){d=b<<2;i=d+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;y:{if(c>>>0>>0){Ma(i,j-c|0,2176);j=J[a+80>>2];break y}if(c>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}d=J[i>>2];c=0;b=0;if(j>>>0>=4){e=j&-4;h=0;while(1){n=b<<2;J[n+d>>2]=J[m+n>>2];i=n|4;J[i+d>>2]=J[i+m>>2];i=n|8;J[i+d>>2]=J[i+m>>2];i=n|12;J[i+d>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+d>>2]=J[i+m>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}J[a+80>>2]=q}na(m)}b=J[f+40>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[f+32>>2];J[f+32>>2]=0;if(a){na(a)}ba=f- -64|0;return q}qa();B()}function Mf(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);f=ba+-64|0;ba=f;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;J[f+48>>2]=1065353216;c=J[a+80>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;m=oa(e);J[f+8>>2]=m;c=e+m|0;J[f+16>>2]=c;pa(m,0,e);J[f+12>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=Gl(J[b+40>>2],J[b+44>>2],n,0);k=c;c=c+e|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8;I[f+24>>1]=c;I[f+30>>1]=c;c=0;g=J[f+36>>2];b:{if(!g){break b}d=J[f+32>>2];k=K[f+25|0]^(K[f+24|0]^318)+239;e=k&g+1023;p=Jl(g);c:{if(p>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(g>>>0)|0}r=d;d=e;e=J[r+(d<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(p>>>0>=2){l=K[f+24|0];p=K[f+25|0];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((d|0)!=(e|0)){break b}break e}e=K[j+8|0];f:{if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=(p|0)==K[j+9|0]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}l=g-1|0;g=K[f+24|0];p=K[f+25|0];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((d|0)!=(e&l)){break b}break g}e=K[j+8|0];if((e|0)!=(g|0)){if((e|0)!=(g|0)){break g}break d}if((p|0)==K[j+9|0]){break d}}j=J[j>>2];if(j){continue}break}break b}c=j}h:{if(c){J[(n<<2)+m>>2]=J[c+12>>2];break h}J[f+4>>2]=q;I[f>>1]=L[f+24>>1];c=0;e=K[f+1|0]^(K[f|0]^318)+239;r=f;i:{j:{l=f+32|0;h=J[l+4>>2];if(!h){break j}d=Jl(h);k:{if(d>>>0>=2){c=e;if(c>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}if(d>>>0<2){break k}j=K[f|0];k=K[f+1|0];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break j}}d=K[g+8|0];l:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break l}d=(k|0)==K[g+9|0]}if(!d){continue}break}d=0;break i}c=e&h+1023;g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}}j=h-1|0;p=K[f|0];k=K[f+1|0];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break j}d=K[g+8|0];m:{if((d|0)!=(p|0)){d=(d|0)==(p|0);break m}d=(k|0)==K[g+9|0]}if(!d){continue}break}d=0;break i}g=oa(16);I[g+8>>1]=L[f>>1];d=J[f+4>>2];J[g+4>>2]=e;J[g+12>>2]=d;J[g>>2]=0;o=Q(J[l+12>>2]+1>>>0);s=N[l+16>>2];n:{if(o>Q(s*Q(h>>>0))?0:h){break n}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));o:{if(o=Q(0)){k=~~o>>>0;break o}k=0}d=d>>>0>k>>>0?d:k;p:{if((d|0)==1){break p}if(!(d&d-1)){c=d;break p}c=Ha(d);h=J[l+4>>2]}q:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break q}k=h>>>0<3;o=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(o=Q(0)){d=~~o>>>0;break r}d=0}s:{t:{if(k){break t}if(Jl(h)>>>0>1){break t}d=d>>>0<2?d:1<<32-S(d-1|0);break s}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(c>>>0>=h>>>0){break q}}db(l,c)}h=J[l+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break n}if(e>>>0>>0){c=e;break n}c=(e>>>0)%(h>>>0)|0}e=J[l>>2]+(c<<2)|0;c=J[e>>2];u:{v:{if(!c){c=l+8|0;J[g>>2]=J[c>>2];J[l+8>>2]=g;J[e>>2]=c;c=J[g>>2];if(!c){break u}c=J[c+4>>2];e=h-1|0;w:{if(!(e&h)){c=c&e;break w}if(c>>>0>>0){break w}c=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(c<<2)|0;break v}J[g>>2]=J[c>>2]}J[c>>2]=g}J[l+12>>2]=J[l+12>>2]+1;d=1}H[r+60|0]=d;J[f+56>>2]=g;c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,q)|0,f+30|0,c);m=J[f+8>>2];J[m+(n<<2)>>2]=q;q=q+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(q|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;c=0;b=0;if(i-1>>>0>=3){e=i&-4;h=0;while(1){d=b<<2;i=d+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;y:{if(c>>>0>>0){Ma(i,j-c|0,2176);j=J[a+80>>2];break y}if(c>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}d=J[i>>2];c=0;b=0;if(j>>>0>=4){e=j&-4;h=0;while(1){n=b<<2;J[n+d>>2]=J[m+n>>2];i=n|4;J[i+d>>2]=J[i+m>>2];i=n|8;J[i+d>>2]=J[i+m>>2];i=n|12;J[i+d>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+d>>2]=J[i+m>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}J[a+80>>2]=q}na(m)}b=J[f+40>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[f+32>>2];J[f+32>>2]=0;if(a){na(a)}ba=f- -64|0;return q}qa();B()}function Ea(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=ba-96|0;ba=k;u=i&65535;o=(e^i)&-2147483648;q=e&65535;z=q;Q=i>>>16&32767;R=e>>>16&32767;a:{b:{if(Q-32767>>>0>4294934529&R-32767>>>0>=4294934530){break b}s=e&2147483647;r=s;j=d;if(!(!d&(r|0)==2147418112?!(b|c):r>>>0<2147418112)){m=d;o=e|32768;break a}s=i&2147483647;p=s;e=h;if(!(!e&(p|0)==2147418112?!(f|g):p>>>0<2147418112)){m=h;o=i|32768;b=f;c=g;break a}if(!(b|j|(r^2147418112|c))){if(!(e|f|(g|p))){o=2147450880;b=0;c=0;break a}o=o|2147418112;b=0;c=0;break a}if(!(e|f|(p^2147418112|g))){e=b|j;d=c|r;b=0;c=0;if(!(d|e)){o=2147450880;break a}o=o|2147418112;break a}if(!(b|j|(c|r))){b=0;c=0;break a}if(!(e|f|(g|p))){b=0;c=0;break a}if((r|0)==65535|r>>>0<65535){j=!(d|q);i=j?b:d;s=j<<6;e=S(i)+32|0;i=S(j?c:q);i=s+((i|0)==32?e:i)|0;Pa(k+80|0,b,c,d,q,i-15|0);t=16-i|0;d=J[k+88>>2];z=J[k+92>>2];c=J[k+84>>2];b=J[k+80>>2]}if(p>>>0>65535){break b}i=!(h|u);e=i?f:h;q=i<<6;j=S(e)+32|0;e=S(i?g:u);e=q+((e|0)==32?j:e)|0;Pa(k- -64|0,f,g,h,u,e-15|0);t=(t-e|0)+16|0;h=J[k+72>>2];u=J[k+76>>2];f=J[k+64>>2];g=J[k+68>>2]}e=f;f=g<<15|f>>>17;i=e<<15;e=0;v=i&-32768;K=c;s=Gl(v,e,c,0);e=ca;y=e;L=f;r=b;b=Gl(f,0,b,0);i=b+s|0;f=ca+e|0;c=b>>>0>i>>>0?f+1|0:f;j=0;b=Gl(r,l,v,l);p=j+b|0;f=i;e=f+ca|0;e=b>>>0>p>>>0?e+1|0:e;q=e;M=(f|0)==(e|0)&j>>>0>p>>>0|e>>>0>>0;N=d;w=Gl(v,l,d,0);O=ca;b=Gl(K,l,L,l);x=b+w|0;j=ca+O|0;j=b>>>0>x>>>0?j+1|0:j;b=u<<15|h>>>17;A=h<<15|g>>>17;d=Gl(A,0,r,l);B=d+x|0;f=ca+j|0;f=d>>>0>B>>>0?f+1|0:f;C=f;d=(c|0)==(y|0)&i>>>0>>0|c>>>0>>0;D=c+B|0;f=d+f|0;f=c>>>0>D>>>0?f+1|0:f;u=f;g=D;c=f;E=z|65536;z=Gl(v,l,E,n);P=ca;d=Gl(N,m,L,l);F=d+z|0;e=ca+P|0;e=d>>>0>F>>>0?e+1|0:e;i=e;G=b|-2147483648;b=Gl(G,0,r,l);H=b+F|0;f=ca+e|0;f=b>>>0>H>>>0?f+1|0:f;b=Gl(A,m,K,l);y=b+H|0;I=f;f=f+ca|0;s=b>>>0>y>>>0?f+1|0:f;b=0;r=b+g|0;e=c+y|0;v=b>>>0>r>>>0?e+1|0:e;f=v;b=r+M|0;c=b>>>0>>0?f+1|0:f;t=((R+Q|0)+t|0)-16383|0;d=Gl(G,m,K,l);h=ca;e=Gl(E,m,L,l);g=e+d|0;f=ca+h|0;f=e>>>0>g>>>0?f+1|0:f;n=(h|0)==(f|0)&d>>>0>g>>>0|f>>>0>>0;h=f;e=Gl(A,m,N,m);d=e+g|0;f=ca+f|0;f=d>>>0>>0?f+1|0:f;e=f;g=(f|0)==(h|0)&d>>>0>>0|f>>>0>>0;f=0;h=g;g=g+n|0;f=h>>>0>g>>>0?1:f;h=g;g=Gl(G,m,E,m);h=h+g|0;f=ca+f|0;M=h;g=g>>>0>h>>>0?f+1|0:f;h=d;l=e;e=(j|0)==(O|0)&w>>>0>x>>>0|j>>>0>>0;f=0;j=(j|0)==(C|0)&x>>>0>B>>>0|j>>>0>C>>>0;n=j;j=e+j|0;e=(n>>>0>j>>>0?1:f)+l|0;f=g;d=d+j|0;e=d>>>0>>0?e+1|0:e;n=e;w=d;d=(e|0)==(l|0)&d>>>0>>0|e>>>0>>0;e=d;d=d+M|0;f=e>>>0>d>>>0?f+1|0:f;j=d;g=f;e=Gl(A,m,E,m);l=ca;d=Gl(G,m,N,m);h=d+e|0;f=ca+l|0;f=d>>>0>h>>>0?f+1|0:f;d=f;f=(l|0)==(f|0)&e>>>0>h>>>0|f>>>0>>0;x=d+j|0;e=f+g|0;e=d>>>0>x>>>0?e+1|0:e;l=x;g=e;e=0;d=e+w|0;f=h+n|0;f=d>>>0>>0?f+1|0:f;e=f;h=(n|0)==(f|0)&d>>>0>>0|f>>>0>>0;f=g;g=h+l|0;f=g>>>0>>0?f+1|0:f;w=g;g=f;h=d;j=e;e=(s|0)==(I|0)&y>>>0>>0|s>>>0>>0;d=(i|0)==(P|0)&z>>>0>F>>>0|i>>>0

>>0;i=(i|0)==(I|0)&F>>>0>H>>>0|i>>>0>I>>>0;d=d+i|0;d=d+e|0;n=s;i=n+h|0;e=d+j|0;f=g;d=i;e=d>>>0>>0?e+1|0:e;h=(e|0)==(j|0)&h>>>0>d>>>0|e>>>0>>0;g=h+w|0;f=h>>>0>g>>>0?f+1|0:f;j=g;g=f;h=d;f=0;i=e;n=(u|0)==(v|0)&r>>>0>>0|u>>>0>v>>>0;l=n;n=n+((u|0)==(C|0)&B>>>0>D>>>0|u>>>0>>0)|0;e=e+(l>>>0>n>>>0?1:f)|0;f=g;d=d+n|0;e=d>>>0>>0?e+1|0:e;h=(e|0)==(i|0)&d>>>0>>0|e>>>0>>0;g=h;h=h+j|0;f=g>>>0>h>>>0?f+1|0:f;i=f;c:{if(f&65536){t=t+1|0;break c}j=q>>>31|0;g=0;f=i<<1|h>>>31;h=h<<1|e>>>31;i=f;f=e<<1|d>>>31;d=d<<1|c>>>31;e=f;f=q<<1|p>>>31;p=p<<1;q=f;f=c<<1|b>>>31;b=b<<1|j;c=f|g}if((t|0)>=32767){o=o|2147418112;b=0;c=0;break a}d:{if((t|0)<=0){g=1-t|0;if(g>>>0<=127){f=t+127|0;Pa(k+48|0,p,q,b,c,f);Pa(k+32|0,d,e,h,i,f);Gb(k+16|0,p,q,b,c,g);Gb(k,d,e,h,i,g);p=J[k+32>>2]|J[k+16>>2]|(J[k+48>>2]|J[k+56>>2]|(J[k+52>>2]|J[k+60>>2]))!=0;q=J[k+36>>2]|J[k+20>>2];b=J[k+40>>2]|J[k+24>>2];c=J[k+44>>2]|J[k+28>>2];d=J[k>>2];e=J[k+4>>2];g=J[k+8>>2];f=J[k+12>>2];break d}b=0;c=0;break a}g=h;f=i&65535|t<<16}m=g|m;o=f|o;if(!(!b&(c|0)==-2147483648?!(p|q):(c|0)>0|(c|0)>=0)){b=d+1|0;c=b?e:e+1|0;d=(e|0)==(c|0)&b>>>0>>0|c>>>0>>0;e=o;m=d+m|0;o=m>>>0>>0?e+1|0:e;break a}if(b|p|(c^-2147483648|q)){b=d;c=e;break a}j=o;f=e;b=d&1;c=b;b=b+d|0;c=c>>>0>b>>>0?f+1|0:f;d=(f|0)==(c|0)&b>>>0>>0|c>>>0>>0;m=d+m|0;o=d>>>0>m>>>0?j+1|0:j}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=m;J[a+12>>2]=o;ba=k+96|0}function dj(a){a=a|0;var 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,q=0,r=0;o=ba-16|0;ba=o;a:{if(!(da[J[J[a>>2]+32>>2]](a)|0)){break a}e=J[a+44>>2];c=J[a+12>>2];b=J[a+8>>2];H[o+15|0]=c-b>>>2;d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){sa(e,J[e+4>>2],o+15|0,o+16|0);c=J[a+12>>2];b=J[a+8>>2]}if((b|0)!=(c|0)){while(1){e=J[b>>2];if(!(da[J[J[e>>2]+8>>2]](e,a,J[a+4>>2])|0)){break a}b=b+4|0;if((c|0)!=(b|0)){continue}break}}f=ba-48|0;ba=f;e=a;q=a+32|0;g=J[a+12>>2];a=J[a+8>>2];d=g-a|0;c=d>>2;h=J[e+32>>2];b=J[e+36>>2]-h>>2;b:{if(c>>>0>b>>>0){Fa(q,c-b|0);g=J[e+12>>2];a=J[e+8>>2];d=g-a|0;c=d>>2;break b}if(b>>>0<=c>>>0){break b}J[e+36>>2]=h+(c<<2)}J[f+40>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;b=a;c:{d:{if((a|0)!=(g|0)){if((d|0)<0){break d}a=(c-1>>>5|0)+1|0;b=oa(a<<2);J[f+40>>2]=a;J[f+36>>2]=0;J[f+32>>2]=b;mc(f+32|0,c);b=J[e+12>>2];a=J[e+8>>2]}e:{while(1){f:{c=b-a>>2;if(k>>>0>>0){g=(a|0)!=(b|0);m=0;b=a;d=0;if(!g){break f}while(1){i=J[f+32>>2];n=d>>>5<<2;h=J[i+n>>2];p=1<>2];c=J[g+4>>2];if((c|0)!=J[g+8>>2]){while(1){a=0;c=J[(b<<2)+c>>2];h:{if((da[J[J[g>>2]+24>>2]](g,c)|0)<=0){break h}while(1){i:{g=J[l+J[e+8>>2]>>2];g=da[J[J[g>>2]+28>>2]](g,c,a)|0;if((g|0)==(d|0)){break i}g=J[J[e+20>>2]+(g<<2)>>2];if(J[J[f+32>>2]+(g>>>3&536870908)>>2]>>>g&1){break i}j=0;break h}g=J[l+J[e+8>>2]>>2];a=a+1|0;if((da[J[J[g>>2]+24>>2]](g,c)|0)>(a|0)){continue}break}}a=J[e+8>>2];g=J[l+a>>2];c=J[g+4>>2];b=b+1|0;if(b>>>0>2]-c>>2>>>0){continue}break}if(!j){break g}i=J[f+32>>2];h=J[n+i>>2]}J[J[q>>2]+(k<<2)>>2]=d;J[i+n>>2]=h|p;m=1;k=k+1|0}b=J[e+12>>2];c=b-a>>2;d=d+1|0;if(c>>>0>d>>>0){continue}break}break f}m=0;J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;d=J[e+4>>2];c=J[d+12>>2];d=J[d+8>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;j:{k:{l:{if((c|0)!=(d|0)){a=c-d|0;if((a|0)<0){break l}a=a>>2;b=(a-1>>>5|0)+1|0;c=oa(b<<2);J[f+8>>2]=b;J[f+4>>2]=0;J[f>>2]=c;mc(f,a);b=J[e+12>>2];a=J[e+8>>2]}m:{if((a|0)==(b|0)){b=1;break m}while(1){g=J[J[q>>2]+(m<<2)>>2]<<2;b=J[g+a>>2];b=J[b+8>>2]-J[b+4>>2]|0;n:{if((b|0)<8){break n}c=b>>2;b=J[f+16>>2];a=J[f+20>>2]-b>>2;o:{if(c>>>0>a>>>0){Fa(f+16|0,c-a|0);break o}if(a>>>0<=c>>>0){break o}J[f+20>>2]=b+(c<<2)}i=(c|0)<=1?1:c;h=0;p:{while(1){if((c|0)<=(h|0)){break p}b=0;d=J[f>>2];j=0;while(1){p=1<>>5<<2;q:{if(p&J[n+d>>2]){break q}a=0;d=J[g+J[e+8>>2]>>2];k=J[J[d+4>>2]+(b<<2)>>2];if((da[J[J[d>>2]+24>>2]](d,k)|0)>0){while(1){d=J[g+J[e+8>>2]>>2];l=da[J[J[d>>2]+28>>2]](d,k,a)|0;d=J[f>>2];if(!(J[d+(l>>>3&536870908)>>2]>>>l&1)){break q}d=J[g+J[e+8>>2]>>2];a=a+1|0;if((da[J[J[d>>2]+24>>2]](d,k)|0)>(a|0)){continue}break}}J[J[f+16>>2]+(h<<2)>>2]=b;d=J[f>>2];a=n+d|0;J[a>>2]=p|J[a>>2];j=1;h=h+1|0}b=b+1|0;if((i|0)!=(b|0)){continue}break}if((c|0)<=(h|0)|j){continue}break}b=0;break m}a=J[e+8>>2];b=J[g+a>>2];d=J[b+4>>2];J[b+8>>2]=d;J[b+20>>2]=J[b+16>>2];g=J[f+16>>2];l=J[f+20>>2];if((g|0)==(l|0)){break n}k=b+16|0;c=d;while(1){a=J[g>>2];r:{if(J[b+12>>2]!=(c|0)){J[c>>2]=a;J[b+8>>2]=c+4;break r}c=c-d|0;i=c>>2;h=i+1|0;if(h>>>0>=1073741824){break k}j=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?j:h;if(h){if(h>>>0>=1073741824){break j}j=oa(h<<2)}else{j=0}i=j+(i<<2)|0;J[i>>2]=a;c=ta(j,d,c);J[b+12>>2]=c+(h<<2);J[b+8>>2]=i+4;J[b+4>>2]=c;if(!d){break r}na(d)}c=J[b+16>>2];d=J[b+20>>2]-c>>2;s:{if((d|0)>(a|0)){break s}J[f+44>>2]=-1;h=a+1|0;if(h>>>0>d>>>0){jc(k,h-d|0,f+44|0);c=J[k>>2];break s}if(d>>>0<=h>>>0){break s}J[b+20>>2]=(h<<2)+c}a=(a<<2)+c|0;c=J[b+8>>2];d=J[b+4>>2];J[a>>2]=(c-d>>2)-1;g=g+4|0;if((l|0)!=(g|0)){continue}break}a=J[e+8>>2]}b=1;m=m+1|0;if(m>>>0>2]-a>>2>>>0){continue}break}}a=J[f>>2];if(a){na(a)}a=J[f+16>>2];if(!a){break e}J[f+20>>2]=a;na(a);break e}qa();B()}qa();B()}xa();B()}if(m&1|c>>>0<=k>>>0){continue}break}b=0}a=J[f+32>>2];if(a){na(a)}ba=f+48|0;break c}qa();B()}if(!b){break a}b=J[e+32>>2];a=J[e+36>>2];t:{if((b|0)==(a|0)){break t}while(1){if(!(da[J[J[e>>2]+40>>2]](e,J[b>>2])|0)){break a}b=b+4|0;if((a|0)!=(b|0)){continue}break}b=J[e+32>>2];a=J[e+36>>2];if((b|0)==(a|0)){break t}while(1){c=J[J[e+8>>2]+(J[b>>2]<<2)>>2];if(!(da[J[J[c>>2]+12>>2]](c,J[e+44>>2])|0)){break a}b=b+4|0;if((a|0)!=(b|0)){continue}break}}r=da[J[J[e>>2]+44>>2]](e)|0}ba=o+16|0;return r|0}function ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=ba-16|0;ba=j;c=J[b+56>>2];f=J[c+100>>2];e=J[c+96>>2];d=(f-e|0)/12|0;Aa(d,J[b+44>>2]);Aa(J[J[b+56>>2]+80>>2],J[b+44>>2]);k=J[b+48>>2];c=oa(32);J[j>>2]=c;J[j+4>>2]=21;J[j+8>>2]=-2147483616;g=K[1149]|K[1150]<<8|(K[1151]<<16|K[1152]<<24);i=K[1145]|K[1146]<<8|(K[1147]<<16|K[1148]<<24);H[c+13|0]=i;H[c+14|0]=i>>>8;H[c+15|0]=i>>>16;H[c+16|0]=i>>>24;H[c+17|0]=g;H[c+18|0]=g>>>8;H[c+19|0]=g>>>16;H[c+20|0]=g>>>24;g=K[1144]|K[1145]<<8|(K[1146]<<16|K[1147]<<24);i=K[1140]|K[1141]<<8|(K[1142]<<16|K[1143]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=g;H[c+13|0]=g>>>8;H[c+14|0]=g>>>16;H[c+15|0]=g>>>24;g=K[1136]|K[1137]<<8|(K[1138]<<16|K[1139]<<24);i=K[1132]|K[1133]<<8|(K[1134]<<16|K[1135]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=g;H[c+5|0]=g>>>8;H[c+6|0]=g>>>16;H[c+7|0]=g>>>24;H[c+21|0]=0;g=Pb(k,j,0);if(H[j+11|0]<0){na(J[j>>2])}c=J[b+44>>2];a:{if(g){H[j|0]=0;d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){sa(c,J[c+4>>2],j,j+1|0)}e=0;c=0;g=ba-16|0;ba=g;J[g>>2]=0;J[g+4>>2]=0;d=J[b+56>>2];f=J[d+100>>2];d=J[d+96>>2];if((f|0)!=(d|0)){c=(f-d|0)/12|0;p=c>>>0<=1?1:c;c=0;d=J[g>>2];b:{c:{while(1){d:{i=J[J[b+56>>2]+96>>2]+P(n,12)|0;l=J[i>>2];f=l-m|0;k=f>>31;k=(f^k)-k<<1|f>>>31;e:{if((e|0)!=(h|0)){J[e>>2]=k;e=e+4|0;J[g+4>>2]=e;break e}f=e-c|0;m=f>>2;h=m+1|0;if(h>>>0>=1073741824){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>=1073741824){break c}d=oa(h<<2)}else{d=0}e=d+(m<<2)|0;J[e>>2]=k;f=ta(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){na(c)}c=f}o=J[i+4>>2];f=o-l|0;k=f>>31;k=(f^k)-k<<1|f>>>31;f:{if((e|0)!=(h|0)){J[e>>2]=k;e=e+4|0;J[g+4>>2]=e;break f}f=e-c|0;l=f>>2;h=l+1|0;if(h>>>0>1073741823){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>1073741823){break c}d=oa(h<<2)}else{d=0}e=d+(l<<2)|0;J[e>>2]=k;f=ta(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){na(c)}c=f}m=J[i+8>>2];f=m-o|0;i=f>>31;i=(f^i)-i<<1|f>>>31;g:{if((e|0)!=(h|0)){J[e>>2]=i;e=e+4|0;J[g+4>>2]=e;break g}f=e-c|0;k=f>>2;h=k+1|0;if(h>>>0>1073741823){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>1073741823){break c}d=oa(h<<2)}else{d=0}e=d+(k<<2)|0;J[e>>2]=i;f=ta(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){na(c)}c=f}n=n+1|0;if((p|0)!=(n|0)){continue}break b}break}J[g+8>>2]=e;J[g>>2]=d;qa();B()}J[g>>2]=d;xa();B()}J[g>>2]=d}ee(c,e-c>>2,1,0,J[b+44>>2]);if(c){na(c)}ba=g+16|0;break a}H[j|0]=1;g=J[c+20>>2];if(!J[c+16>>2]&(g|0)<=0|(g|0)<0){sa(c,J[c+4>>2],j,j+1|0)}c=J[J[b+56>>2]+80>>2];if(c>>>0<=255){if((f|0)==(e|0)){break a}h=d>>>0<=1?1:d;f=j+1|0;c=0;while(1){d=J[b+44>>2];e=J[J[b+56>>2]+96>>2]+P(c,12)|0;H[j|0]=J[e>>2];g=J[d+20>>2];h:{if(!!J[d+16>>2]&(g|0)>=0|(g|0)>0){break h}sa(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];H[j|0]=J[e+4>>2];if(!!i&(g|0)>=0|(g|0)>0){break h}sa(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];H[j|0]=J[e+8>>2];if(!!i&(g|0)>=0|(g|0)>0){break h}sa(d,J[d+4>>2],j,f)}c=c+1|0;if((h|0)!=(c|0)){continue}break}break a}if(c>>>0<=65535){if((f|0)==(e|0)){break a}h=d>>>0<=1?1:d;f=j+2|0;c=0;while(1){d=J[b+44>>2];e=J[J[b+56>>2]+96>>2]+P(c,12)|0;I[j>>1]=J[e>>2];g=J[d+20>>2];i:{if(!!J[d+16>>2]&(g|0)>=0|(g|0)>0){break i}sa(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];I[j>>1]=J[e+4>>2];if(!!i&(g|0)>=0|(g|0)>0){break i}sa(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];I[j>>1]=J[e+8>>2];if(!!i&(g|0)>=0|(g|0)>0){break i}sa(d,J[d+4>>2],j,f)}c=c+1|0;if((h|0)!=(c|0)){continue}break}break a}if(c>>>0>=2097152){if((f|0)==(e|0)){break a}c=J[b+44>>2];f=!!J[c+16>>2];c=J[c+20>>2];if(f&(c|0)>=0|(c|0)>0){break a}f=d>>>0<=1?1:d;c=0;while(1){d=J[b+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){e=d;g=J[d+4>>2];d=J[J[b+56>>2]+96>>2]+P(c,12)|0;sa(e,g,d,d+12|0)}c=c+1|0;if((f|0)!=(c|0)){continue}break}break a}if((f|0)==(e|0)){break a}f=d>>>0<=1?1:d;c=0;while(1){d=J[J[b+56>>2]+96>>2]+P(c,12)|0;Aa(J[d>>2],J[b+44>>2]);Aa(J[d+4>>2],J[b+44>>2]);Aa(J[d+8>>2],J[b+44>>2]);c=c+1|0;if((f|0)!=(c|0)){continue}break}}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;ba=j+16|0}function Ef(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,n=Q(0),o=0,p=0,q=Q(0);h=ba+-64|0;ba=h;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+48>>2]=1065353216;c=J[a+80>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;g=oa(e);J[h+16>>2]=g;c=e+g|0;J[h+24>>2]=c;pa(g,0,e);J[h+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=Gl(J[b+40>>2],J[b+44>>2],l,0);j=c;c=c+e|0;c=c+d|0;o=K[c|0]|K[c+1|0]<<8;I[h+30>>1]=o;b:{c:{m=J[h+36>>2];d:{if(!m){break d}f=J[h+32>>2];j=o^318;e=Jl(m)>>>0>1;c=j&m-1;e:{if(!e){break e}c=j;if(c>>>0>>0){break e}c=(j>>>0)%(m>>>0)|0}d=c;c=J[f+(d<<2)>>2];if(!c){break d}c=J[c>>2];if(!c){break d}if(!e){m=m-1|0;while(1){e=J[c+4>>2];f:{if((e|0)!=(j|0)){if((d|0)==(e&m)){break f}break d}if((o|0)==L[c+8>>1]){break c}}c=J[c>>2];if(c){continue}break}break d}while(1){e=J[c+4>>2];g:{if((e|0)!=(j|0)){if(e>>>0>=m>>>0){e=(e>>>0)%(m>>>0)|0}if((d|0)==(e|0)){break g}break d}if((o|0)==L[c+8>>1]){break c}}c=J[c>>2];if(c){continue}break}}J[h+12>>2]=p;I[h+8>>1]=o;c=0;o=h+8|0;m=L[o>>1];e=m^318;h:{i:{g=h+32|0;f=J[g+4>>2];if(!f){break i}d=Jl(f);j:{if(d>>>0>=2){c=e;if(f>>>0<=c>>>0){c=(e>>>0)%(f>>>0)|0}i=J[J[g>>2]+(c<<2)>>2];if(!i){break i}if(d>>>0<=1){break j}while(1){i=J[i>>2];if(!i){break i}d=J[i+4>>2];if((d|0)!=(e|0)){if(d>>>0>=f>>>0){d=(d>>>0)%(f>>>0)|0}if((c|0)!=(d|0)){break i}}if(L[i+8>>1]!=(m|0)){continue}break}c=0;break h}c=e&f-1;i=J[J[g>>2]+(c<<2)>>2];if(!i){break i}}j=f-1|0;while(1){i=J[i>>2];if(!i){break i}d=J[i+4>>2];if((e|0)!=(d|0)&(d&j)!=(c|0)){break i}if(L[i+8>>1]!=(m|0)){continue}break}c=0;break h}i=oa(16);I[i+8>>1]=L[o>>1];d=J[o+4>>2];J[i+4>>2]=e;J[i+12>>2]=d;J[i>>2]=0;n=Q(J[g+12>>2]+1>>>0);q=N[g+16>>2];k:{if(n>Q(q*Q(f>>>0))?0:f){break k}c=2;d=(f-1&f)!=0|f>>>0<3|f<<1;n=Q(W(Q(n/q)));l:{if(n=Q(0)){j=~~n>>>0;break l}j=0}d=d>>>0>j>>>0?d:j;m:{if((d|0)==1){break m}if(!(d&d-1)){c=d;break m}c=Ha(d);f=J[g+4>>2]}n:{if(c>>>0<=f>>>0){if(c>>>0>=f>>>0){break n}j=f>>>0<3;n=Q(W(Q(Q(M[g+12>>2])/N[g+16>>2])));o:{if(n=Q(0)){d=~~n>>>0;break o}d=0}p:{q:{if(j){break q}if(Jl(f)>>>0>1){break q}d=d>>>0<2?d:1<<32-S(d-1|0);break p}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(f>>>0<=c>>>0){break n}}db(g,c)}f=J[g+4>>2];c=f-1|0;if(!(c&f)){c=c&e;break k}if(e>>>0>>0){c=e;break k}c=(e>>>0)%(f>>>0)|0}e=J[g>>2]+(c<<2)|0;c=J[e>>2];r:{s:{if(!c){c=g+8|0;J[i>>2]=J[c>>2];J[g+8>>2]=i;J[e>>2]=c;c=J[i>>2];if(!c){break r}c=J[c+4>>2];e=f-1|0;t:{if(!(e&f)){c=c&e;break t}if(c>>>0>>0){break t}c=(c>>>0)%(f>>>0)|0}c=J[g>>2]+(c<<2)|0;break s}J[i>>2]=J[c>>2]}J[c>>2]=i}J[g+12>>2]=J[g+12>>2]+1;c=1}H[h+60|0]=c;J[h+56>>2]=i;c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,p)|0,h+30|0,c);g=J[h+16>>2];J[g+(l<<2)>>2]=p;p=p+1|0;break b}J[(l<<2)+g>>2]=J[c+12>>2]}l=l+1|0;k=l?k:k+1|0;c=J[a+80>>2];if(!k&l>>>0>>0){continue}break}if((c|0)!=(p|0)){u:{if(!K[a+84|0]){b=J[a+72>>2];d=J[a+68>>2];if((b|0)==(d|0)){break u}b=b-d>>2;b=b>>>0<=1?1:b;l=b&3;j=0;c=0;if(b-1>>>0>=3){k=b&-4;f=0;while(1){e=c<<2;b=e+d|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];b=d+(e|4)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];b=d+(e|8)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];b=d+(e|12)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];c=c+4|0;f=f+4|0;if((k|0)!=(f|0)){continue}break}}if(!l){break u}while(1){b=d+(c<<2)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];c=c+1|0;j=j+1|0;if((l|0)!=(j|0)){continue}break}break u}H[a+84|0]=0;l=a+68|0;b=J[a+68>>2];k=J[a+72>>2]-b>>2;v:{if(k>>>0>>0){Ma(l,c-k|0,2176);c=J[a+80>>2];break v}if(c>>>0>=k>>>0){break v}J[a+72>>2]=b+(c<<2)}if(!c){break u}d=J[l>>2];j=0;b=0;if(c>>>0>=4){l=c&-4;f=0;while(1){e=b<<2;J[e+d>>2]=J[e+g>>2];k=e|4;J[k+d>>2]=J[g+k>>2];k=e|8;J[k+d>>2]=J[g+k>>2];k=e|12;J[k+d>>2]=J[g+k>>2];b=b+4|0;f=f+4|0;if((l|0)!=(f|0)){continue}break}}k=c&3;if(!k){break u}while(1){c=b<<2;J[c+d>>2]=J[c+g>>2];b=b+1|0;j=j+1|0;if((k|0)!=(j|0)){continue}break}}J[a+80>>2]=p}na(g)}c=J[h+40>>2];if(c){while(1){a=J[c>>2];na(c);c=a;if(c){continue}break}}a=J[h+32>>2];J[h+32>>2]=0;if(a){na(a)}ba=h- -64|0;return p}qa();B()}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=ba-96|0;ba=e;f=J[a+16>>2];H[e+92|0]=1;J[e+88>>2]=b;J[e+84>>2]=b;J[e+80>>2]=f;j=J[a+20>>2];d=J[j>>2];a:{b:{f=J[J[f+28>>2]+(b<<2)>>2];if(f>>>0>2]-d>>2>>>0){d=J[J[a+8>>2]+(J[d+(f<<2)>>2]<<2)>>2];f=J[a+4>>2];if(!K[f+84|0]){d=J[J[f+68>>2]+(d<<2)>>2]}J[e+72>>2]=0;J[e+76>>2]=0;j=e- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[e+56>>2]=0;J[e+60>>2]=0;hb(f,d,H[f+24|0],e+56|0);if((b|0)!=-1){f=b+1|0;j=(f>>>0)%3|0?f:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;while(1){d=j;f=m;c:{if(!J[a+28>>2]){break c}f=b+1|0;d=(f>>>0)%3|0?f:b-2|0;f=b-1|0;if((b>>>0)%3|0){break c}f=b+2|0}n=J[a+20>>2];b=J[n>>2];d=J[J[J[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=J[n+4>>2]-b>>2>>>0){break b}d=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;hb(b,d,H[b+24|0],e+32|0);d=J[a+20>>2];b=J[d>>2];f=J[J[J[a+16>>2]+28>>2]+(f<<2)>>2];if(f>>>0>=J[d+4>>2]-b>>2>>>0){break a}d=J[J[a+8>>2]+(J[b+(f<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;hb(b,d,H[b+24|0],e+8|0);g=J[e+8>>2];b=J[e+56>>2];d=g-b|0;p=J[e+60>>2];t=J[e+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=J[e+40>>2];f=J[e+64>>2];n=h-f|0;u=J[e+68>>2];x=J[e+44>>2]-(u+(f>>>0>h>>>0)|0)|0;g=Gl(d,t,n,x);v=o-g|0;w=i-(ca+(g>>>0>o>>>0)|0)|0;i=v;h=J[e+16>>2];g=h-f|0;u=J[e+20>>2]-((f>>>0>h>>>0)+u|0)|0;k=J[e+32>>2];h=k-b|0;v=J[e+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=Gl(g,u,h,v);o=i+b|0;i=ca+w|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=d;p=t;k=J[e+48>>2];f=J[e+72>>2];d=k-f|0;t=J[e+76>>2];w=J[e+52>>2]-(t+(f>>>0>k>>>0)|0)|0;l=Gl(l,p,d,w);k=b+l|0;b=ca+q|0;b=k>>>0>>0?b+1|0:b;l=J[e+24>>2];p=l-f|0;f=J[e+28>>2]-((f>>>0>l>>>0)+t|0)|0;q=Gl(p,f,h,v);l=k-q|0;q=b-(ca+(k>>>0>>0)|0)|0;b=Gl(g,u,d,w);d=r-b|0;b=s-(ca+(b>>>0>r>>>0)|0)|0;s=Gl(p,f,n,x);r=s+d|0;b=ca+b|0;s=r>>>0>>0?b+1|0:b;b=J[e+88>>2];f=J[e+80>>2];d:{if(K[e+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}J[e+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[e+88>>2]=b;if((b|0)!=-1){break e}}b=J[e+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}H[e+92|0]=0;J[e+88>>2]=d;break d}if((b|0)!=J[e+84>>2]){break d}J[e+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}J[e+88>>2]=d}b=J[e+88>>2];if((b|0)!=-1){continue}break}}b=s>>31;f=b^r;d=f-b|0;b=(b^s)-((b>>>0>f>>>0)+b|0)|0;m=-1;f=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;m:{n:{if(!J[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break m}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;f=a;g=i;a=g>>31;d=a;m=d^o;a=m-d|0;i=a;d=(d^g)-((d>>>0>m>>>0)+d|0)|0;a=a+f|0;d=d^2147483647;i=(d|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>d>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break o}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=i;d=i>>31;h=d^o;i=h-d|0;j=(d^k)-((d>>>0>h>>>0)+d|0)|0;g=j^2147483647;d=a;a=i;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break o}b=b+j|0;m=a+d|0;b=m>>>0>>0?b+1|0:b;f=b;if(!b&m>>>0<536870913){break m}}b=f>>>29|0;a=(f&536870911)<<3|m>>>29}o=Hl(o,n,a,b);l=Hl(l,q,a,b);r=Hl(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;ba=e+96|0;return}ra();B()}ra();B()}ra();B()}function Qf(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,n=Q(0),o=0,p=0,q=Q(0);h=ba+-64|0;ba=h;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+48>>2]=1065353216;c=J[a+80>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;g=oa(e);J[h+16>>2]=g;c=e+g|0;J[h+24>>2]=c;pa(g,0,e);J[h+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=Gl(J[b+40>>2],J[b+44>>2],l,0);j=c;c=c+e|0;o=K[c+d|0];H[h+31|0]=o;b:{c:{m=J[h+36>>2];d:{if(!m){break d}f=J[h+32>>2];j=o^318;e=Jl(m)>>>0>1;c=j&m-1;e:{if(!e){break e}c=j;if(c>>>0>>0){break e}c=(j>>>0)%(m>>>0)|0}d=c;c=J[f+(d<<2)>>2];if(!c){break d}c=J[c>>2];if(!c){break d}if(!e){m=m-1|0;while(1){e=J[c+4>>2];f:{if((e|0)!=(j|0)){if((d|0)==(e&m)){break f}break d}if((o|0)==K[c+8|0]){break c}}c=J[c>>2];if(c){continue}break}break d}while(1){e=J[c+4>>2];g:{if((e|0)!=(j|0)){if(e>>>0>=m>>>0){e=(e>>>0)%(m>>>0)|0}if((d|0)==(e|0)){break g}break d}if((o|0)==K[c+8|0]){break c}}c=J[c>>2];if(c){continue}break}}J[h+12>>2]=p;H[h+8|0]=o;c=0;o=h+8|0;m=K[o|0];e=m^318;h:{i:{g=h+32|0;f=J[g+4>>2];if(!f){break i}d=Jl(f);j:{if(d>>>0>=2){c=e;if(f>>>0<=c>>>0){c=(e>>>0)%(f>>>0)|0}i=J[J[g>>2]+(c<<2)>>2];if(!i){break i}if(d>>>0<=1){break j}while(1){i=J[i>>2];if(!i){break i}d=J[i+4>>2];if((d|0)!=(e|0)){if(d>>>0>=f>>>0){d=(d>>>0)%(f>>>0)|0}if((c|0)!=(d|0)){break i}}if(K[i+8|0]!=(m|0)){continue}break}c=0;break h}c=e&f-1;i=J[J[g>>2]+(c<<2)>>2];if(!i){break i}}j=f-1|0;while(1){i=J[i>>2];if(!i){break i}d=J[i+4>>2];if((e|0)!=(d|0)&(d&j)!=(c|0)){break i}if(K[i+8|0]!=(m|0)){continue}break}c=0;break h}i=oa(16);H[i+8|0]=K[o|0];d=J[o+4>>2];J[i+4>>2]=e;J[i+12>>2]=d;J[i>>2]=0;n=Q(J[g+12>>2]+1>>>0);q=N[g+16>>2];k:{if(n>Q(q*Q(f>>>0))?0:f){break k}c=2;d=(f-1&f)!=0|f>>>0<3|f<<1;n=Q(W(Q(n/q)));l:{if(n=Q(0)){j=~~n>>>0;break l}j=0}d=d>>>0>j>>>0?d:j;m:{if((d|0)==1){break m}if(!(d&d-1)){c=d;break m}c=Ha(d);f=J[g+4>>2]}n:{if(c>>>0<=f>>>0){if(c>>>0>=f>>>0){break n}j=f>>>0<3;n=Q(W(Q(Q(M[g+12>>2])/N[g+16>>2])));o:{if(n=Q(0)){d=~~n>>>0;break o}d=0}p:{q:{if(j){break q}if(Jl(f)>>>0>1){break q}d=d>>>0<2?d:1<<32-S(d-1|0);break p}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(f>>>0<=c>>>0){break n}}db(g,c)}f=J[g+4>>2];c=f-1|0;if(!(c&f)){c=c&e;break k}if(e>>>0>>0){c=e;break k}c=(e>>>0)%(f>>>0)|0}e=J[g>>2]+(c<<2)|0;c=J[e>>2];r:{s:{if(!c){c=g+8|0;J[i>>2]=J[c>>2];J[g+8>>2]=i;J[e>>2]=c;c=J[i>>2];if(!c){break r}c=J[c+4>>2];e=f-1|0;t:{if(!(e&f)){c=c&e;break t}if(c>>>0>>0){break t}c=(c>>>0)%(f>>>0)|0}c=J[g>>2]+(c<<2)|0;break s}J[i>>2]=J[c>>2]}J[c>>2]=i}J[g+12>>2]=J[g+12>>2]+1;c=1}H[h+60|0]=c;J[h+56>>2]=i;c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,p)|0,h+31|0,c);g=J[h+16>>2];J[g+(l<<2)>>2]=p;p=p+1|0;break b}J[(l<<2)+g>>2]=J[c+12>>2]}l=l+1|0;k=l?k:k+1|0;c=J[a+80>>2];if(!k&l>>>0>>0){continue}break}if((c|0)!=(p|0)){u:{if(!K[a+84|0]){b=J[a+72>>2];d=J[a+68>>2];if((b|0)==(d|0)){break u}b=b-d>>2;b=b>>>0<=1?1:b;l=b&3;j=0;c=0;if(b-1>>>0>=3){k=b&-4;f=0;while(1){e=c<<2;b=e+d|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];b=d+(e|4)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];b=d+(e|8)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];b=d+(e|12)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];c=c+4|0;f=f+4|0;if((k|0)!=(f|0)){continue}break}}if(!l){break u}while(1){b=d+(c<<2)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];c=c+1|0;j=j+1|0;if((l|0)!=(j|0)){continue}break}break u}H[a+84|0]=0;l=a+68|0;b=J[a+68>>2];k=J[a+72>>2]-b>>2;v:{if(k>>>0>>0){Ma(l,c-k|0,2176);c=J[a+80>>2];break v}if(c>>>0>=k>>>0){break v}J[a+72>>2]=b+(c<<2)}if(!c){break u}d=J[l>>2];j=0;b=0;if(c>>>0>=4){l=c&-4;f=0;while(1){e=b<<2;J[e+d>>2]=J[e+g>>2];k=e|4;J[k+d>>2]=J[g+k>>2];k=e|8;J[k+d>>2]=J[g+k>>2];k=e|12;J[k+d>>2]=J[g+k>>2];b=b+4|0;f=f+4|0;if((l|0)!=(f|0)){continue}break}}k=c&3;if(!k){break u}while(1){c=b<<2;J[c+d>>2]=J[c+g>>2];b=b+1|0;j=j+1|0;if((k|0)!=(j|0)){continue}break}}J[a+80>>2]=p}na(g)}c=J[h+40>>2];if(c){while(1){a=J[c>>2];na(c);c=a;if(c){continue}break}}a=J[h+32>>2];J[h+32>>2]=0;if(a){na(a)}ba=h- -64|0;return p}qa();B()}function ai(a){a=a|0;var 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=Q(0),p=0;e=1;a:{if(!J[a+80>>2]){break a}b=J[a+8>>2];if((J[a+12>>2]-b|0)<4){break a}while(1){c=J[(n<<2)+b>>2];m=0;e=0;j=0;b=-1;b:{c:{d:{e:{switch(J[c+28>>2]-1|0){case 8:f:{switch(K[c+24|0]-1|0){case 0:g=ba+-64|0;ba=g;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+48>>2]=1065353216;b=J[c+80>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;g:{h:{if(b){if(b>>>0>=1073741824){break h}b=b<<2;i=oa(b);J[g+16>>2]=i;d=b+i|0;J[g+24>>2]=d;pa(i,0,b);J[g+20>>2]=d;while(1){b=J[J[c>>2]>>2];d=J[c+48>>2];f=Gl(J[c+40>>2],J[c+44>>2],e,0);d=d+f|0;b=b+d|0;o=(x(2,K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24)),D());N[g+28>>2]=o;i:{j:{k=J[g+36>>2];k:{if(!k){break k}p=J[g+32>>2];h=(C(o),v(2));d=h^318;f=Jl(k)>>>0>1;b=d&k-1;l:{if(!f){break l}b=d;if(b>>>0>>0){break l}b=(d>>>0)%(k>>>0)|0}l=b;b=J[p+(l<<2)>>2];if(!b){break k}b=J[b>>2];if(!b){break k}if(!f){f=k-1|0;while(1){k=J[b+4>>2];m:{if((k|0)!=(d|0)){if((l|0)==(f&k)){break m}break k}if((h|0)==J[b+8>>2]){break j}}b=J[b>>2];if(b){continue}break}break k}while(1){f=J[b+4>>2];n:{if((f|0)!=(d|0)){if(f>>>0>=k>>>0){f=(f>>>0)%(k>>>0)|0}if((f|0)==(l|0)){break n}break k}if((h|0)==J[b+8>>2]){break j}}b=J[b>>2];if(b){continue}break}}J[g+12>>2]=m;N[g+8>>2]=o;b=g+8|0;pf(g+56|0,g+32|0,b,b);b=J[c+40>>2];ua(J[J[c>>2]>>2]+P(b,m)|0,g+28|0,b);i=J[g+16>>2];J[i+(e<<2)>>2]=m;m=m+1|0;break i}J[(e<<2)+i>>2]=J[b+12>>2]}e=e+1|0;j=e?j:j+1|0;b=J[c+80>>2];if(!j&e>>>0>>0){continue}break}if((b|0)!=(m|0)){o:{if(!K[c+84|0]){b=J[c+72>>2];e=J[c+68>>2];if((b|0)==(e|0)){break o}b=b-e>>2;d=b>>>0<=1?1:b;l=d&3;j=0;b=0;if(d-1>>>0>=3){k=d&-4;d=0;while(1){f=b<<2;h=f+e|0;J[h>>2]=J[(J[h>>2]<<2)+i>>2];h=e+(f|4)|0;J[h>>2]=J[(J[h>>2]<<2)+i>>2];h=e+(f|8)|0;J[h>>2]=J[(J[h>>2]<<2)+i>>2];f=e+(f|12)|0;J[f>>2]=J[(J[f>>2]<<2)+i>>2];b=b+4|0;d=d+4|0;if((k|0)!=(d|0)){continue}break}}if(!l){break o}while(1){d=e+(b<<2)|0;J[d>>2]=J[(J[d>>2]<<2)+i>>2];b=b+1|0;j=j+1|0;if((l|0)!=(j|0)){continue}break}break o}H[c+84|0]=0;e=c+68|0;d=J[c+68>>2];j=J[c+72>>2]-d>>2;p:{if(j>>>0>>0){Ma(e,b-j|0,2176);b=J[c+80>>2];break p}if(b>>>0>=j>>>0){break p}J[c+72>>2]=d+(b<<2)}if(!b){break o}f=J[e>>2];j=0;e=0;if(b>>>0>=4){k=b&-4;d=0;while(1){l=e<<2;J[l+f>>2]=J[i+l>>2];h=l|4;J[h+f>>2]=J[i+h>>2];h=l|8;J[h+f>>2]=J[i+h>>2];l=l|12;J[l+f>>2]=J[i+l>>2];e=e+4|0;d=d+4|0;if((k|0)!=(d|0)){continue}break}}b=b&3;if(!b){break o}while(1){d=e<<2;J[d+f>>2]=J[d+i>>2];e=e+1|0;j=j+1|0;if((b|0)!=(j|0)){continue}break}}J[c+80>>2]=m}na(i)}b=J[g+40>>2];if(b){while(1){e=J[b>>2];na(b);b=e;if(b){continue}break}}b=J[g+32>>2];J[g+32>>2]=0;if(b){na(b)}ba=g- -64|0;b=m;break g}qa();B()}break d;case 1:b=Jd(c,c);break d;case 2:b=Id(c,c);break d;case 3:break f;default:break c}}b=Hd(c,c);break d;case 0:q:{switch(K[c+24|0]-1|0){case 0:b=Qf(c,c);break d;case 1:b=Mf(c,c);break d;case 2:b=Jf(c,c);break d;case 3:break q;default:break c}}b=Hf(c,c);break d;case 1:case 10:r:{switch(K[c+24|0]-1|0){case 0:b=Qf(c,c);break d;case 1:b=Mf(c,c);break d;case 2:b=Jf(c,c);break d;case 3:break r;default:break c}}b=Hf(c,c);break d;case 3:s:{switch(K[c+24|0]-1|0){case 0:b=Ef(c,c);break d;case 1:b=Df(c,c);break d;case 2:b=wf(c,c);break d;case 3:break s;default:break c}}b=vf(c,c);break d;case 2:t:{switch(K[c+24|0]-1|0){case 0:b=Ef(c,c);break d;case 1:b=Df(c,c);break d;case 2:b=wf(c,c);break d;case 3:break t;default:break c}}b=vf(c,c);break d;case 5:u:{switch(K[c+24|0]-1|0){case 0:b=tf(c,c);break d;case 1:b=Jd(c,c);break d;case 2:b=Id(c,c);break d;case 3:break u;default:break c}}b=Hd(c,c);break d;case 4:break e;default:break b}}v:{switch(K[c+24|0]-1|0){case 0:b=tf(c,c);break d;case 1:b=Jd(c,c);break d;case 2:b=Id(c,c);break d;case 3:break v;default:break c}}b=Hd(c,c)}if(b){break b}}b=-1}e=(b|0)!=0;if(!b){break a}n=n+1|0;b=J[a+8>>2];if((n|0)>2]-b>>2){continue}break}}return e|0}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=ba-96|0;ba=f;d=J[a+16>>2];H[f+92|0]=1;J[f+88>>2]=b;J[f+84>>2]=b;J[f+80>>2]=d;a:{if((b|0)==-1){break a}j=J[a+20>>2];e=J[j>>2];d=J[J[d>>2]+(b<<2)>>2];if(d>>>0>=J[j+4>>2]-e>>2>>>0){break a}e=J[J[a+8>>2]+(J[e+(d<<2)>>2]<<2)>>2];d=J[a+4>>2];if(!K[d+84|0]){e=J[J[d+68>>2]+(e<<2)>>2]}J[f+72>>2]=0;J[f+76>>2]=0;j=f- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[f+56>>2]=0;J[f+60>>2]=0;hb(d,e,H[d+24|0],f+56|0);d=b+1|0;j=(d>>>0)%3|0?d:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){e=j;d=m;d:{if(!J[a+28>>2]){break d}d=b+1|0;e=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break d}d=b+2|0}if((e|0)==-1){break b}n=J[a+20>>2];b=J[n>>2];e=J[J[J[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=J[n+4>>2]-b>>2>>>0){break b}e=J[J[a+8>>2]+(J[b+(e<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){e=J[J[b+68>>2]+(e<<2)>>2]}J[f+48>>2]=0;J[f+52>>2]=0;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;hb(b,e,H[b+24|0],f+32|0);if((d|0)==-1){break c}e=J[a+20>>2];b=J[e>>2];d=J[J[J[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=J[e+4>>2]-b>>2>>>0){break c}e=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){e=J[J[b+68>>2]+(e<<2)>>2]}J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;hb(b,e,H[b+24|0],f+8|0);g=J[f+8>>2];b=J[f+56>>2];e=g-b|0;p=J[f+60>>2];t=J[f+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=J[f+40>>2];d=J[f+64>>2];n=h-d|0;u=J[f+68>>2];x=J[f+44>>2]-(u+(d>>>0>h>>>0)|0)|0;g=Gl(e,t,n,x);v=o-g|0;w=i-(ca+(g>>>0>o>>>0)|0)|0;i=v;h=J[f+16>>2];g=h-d|0;u=J[f+20>>2]-((d>>>0>h>>>0)+u|0)|0;k=J[f+32>>2];h=k-b|0;v=J[f+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=Gl(g,u,h,v);o=i+b|0;i=ca+w|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=e;p=t;k=J[f+48>>2];d=J[f+72>>2];e=k-d|0;t=J[f+76>>2];w=J[f+52>>2]-(t+(d>>>0>k>>>0)|0)|0;l=Gl(l,p,e,w);k=b+l|0;b=ca+q|0;b=k>>>0>>0?b+1|0:b;l=J[f+24>>2];p=l-d|0;d=J[f+28>>2]-((d>>>0>l>>>0)+t|0)|0;q=Gl(p,d,h,v);l=k-q|0;q=b-(ca+(k>>>0>>0)|0)|0;b=Gl(g,u,e,w);e=r-b|0;b=s-(ca+(b>>>0>r>>>0)|0)|0;s=Gl(p,d,n,x);r=s+e|0;b=ca+b|0;s=r>>>0>>0?b+1|0:b;b=J[f+88>>2];e=J[f+80>>2];e:{if(K[f+92|0]){f:{g:{h:{i:{if((b|0)==-1){break i}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break i}b=J[J[e+12>>2]+(b<<2)>>2];if((b|0)!=-1){break h}}J[f+88>>2]=-1;break g}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[f+88>>2]=b;if((b|0)!=-1){break f}}b=J[f+84>>2];d=-1;j:{if((b|0)==-1){break j}k:{if((b>>>0)%3|0){b=b-1|0;break k}b=b+2|0;d=-1;if((b|0)==-1){break j}}b=J[J[e+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break j}d=b-1|0;if((b>>>0)%3|0){break j}d=b+2|0}H[f+92|0]=0;J[f+88>>2]=d;break e}if((b|0)!=J[f+84>>2]){break e}J[f+88>>2]=-1;break e}d=-1;l:{if((b|0)==-1){break l}m:{if((b>>>0)%3|0){b=b-1|0;break m}b=b+2|0;d=-1;if((b|0)==-1){break l}}b=J[J[e+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break l}d=b-1|0;if((b>>>0)%3|0){break l}d=b+2|0}J[f+88>>2]=d}b=J[f+88>>2];if((b|0)!=-1){continue}break}b=s>>31;d=b^r;e=d-b|0;b=(b^s)-((b>>>0>d>>>0)+b|0)|0;m=-1;d=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;n:{o:{if(!J[a+28>>2]){if((b|0)==(g|0)&e>>>0>k>>>0|b>>>0>g>>>0){break n}b=b+h|0;a=e+j|0;b=a>>>0>>0?b+1|0:b;d=a;g=i;a=g>>31;e=a;m=e^o;a=m-e|0;i=a;e=(e^g)-((e>>>0>m>>>0)+e|0)|0;a=a+d|0;e=e^2147483647;i=(e|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>e>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break n}b=0;a=a>>>29|0;break o}p:{if((b|0)==(g|0)&e>>>0>k>>>0|b>>>0>g>>>0){break p}b=b+h|0;a=e+j|0;b=a>>>0>>0?b+1|0:b;k=i;e=i>>31;h=e^o;i=h-e|0;j=(e^k)-((e>>>0>h>>>0)+e|0)|0;g=j^2147483647;e=a;a=i;if((g|0)==(b|0)&e>>>0>(a^-1)>>>0|b>>>0>g>>>0){break p}b=b+j|0;m=a+e|0;b=m>>>0>>0?b+1|0:b;d=b;if(!b&m>>>0<536870913){break n}}b=d>>>29|0;a=(d&536870911)<<3|m>>>29}o=Hl(o,n,a,b);l=Hl(l,q,a,b);r=Hl(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;ba=f+96|0;return}ra();B()}ra();B()}ra();B()}function fb(a){var 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;f=ba-32|0;ba=f;a:{b=J[a+16>>2];b:{if(b>>>0>=113){J[a+16>>2]=b-113;b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];c:{if((b|0)!=J[a+12>>2]){d=b;break c}k=J[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=ta(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break c}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=oa(e);l=e+h|0;e=h+(d&-4)|0;d=e;d:{if((b|0)==(c|0)){break d}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;e:{if(!g){b=e;break e}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break d}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break c}na(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}c=J[a+8>>2];b=J[a+4>>2];l=c-b|0;h=l>>2;g=J[a+12>>2];d=J[a>>2];e=g-d|0;if(h>>>0>2>>>0){if((c|0)!=(g|0)){n=f,o=oa(4068),J[n+8>>2]=o;d=a;f:{g:{b=J[a+8>>2];h:{if((b|0)!=J[a+12>>2]){e=b;break h}c=J[d+4>>2];h=J[d>>2];if(c>>>0>h>>>0){g=((c-h>>2)+1|0)/-2<<2;a=b-c|0;e=ta(g+c|0,c,a)+a|0;J[d+8>>2]=e;J[d+4>>2]=g+J[d+4>>2];break h}e=(b|0)==(h|0)?1:b-h>>1;if(e>>>0>=1073741824){break g}a=e<<2;j=oa(a);l=a+j|0;a=j+(e&-4)|0;e=a;i:{if((b|0)==(c|0)){break i}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;j:{if(!g){b=a;break j}e=0;b=a;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}}e=a+m|0;if(i>>>0<28){break i}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((e|0)!=(b|0)){continue}break}}J[d+12>>2]=l;J[d+8>>2]=e;J[d+4>>2]=a;J[d>>2]=j;if(!h){break h}na(h);e=J[d+8>>2]}J[e>>2]=J[f+8>>2];J[d+8>>2]=J[d+8>>2]+4;break f}xa();B()}break b}n=f,o=oa(4068),J[n+8>>2]=o;qe(a,f+8|0);b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];k:{if((b|0)!=J[a+12>>2]){d=b;break k}k=J[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=ta(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break k}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=oa(e);l=e+h|0;e=h+(d&-4)|0;d=e;l:{if((b|0)==(c|0)){break l}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;m:{if(!g){b=e;break m}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break l}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break k}na(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}J[f+24>>2]=a+12;m=(d|0)==(g|0)?1:e>>1;if(m>>>0>=1073741824){break a}e=m<<2;g=oa(e);J[f+8>>2]=g;j=e+g|0;J[f+20>>2]=j;d=(h<<2)+g|0;J[f+12>>2]=d;i=oa(4068);n:{if((h|0)!=(m|0)){break n}if((l|0)>0){d=((h+1|0)/-2<<2)+d|0;J[f+12>>2]=d;break n}d=(b|0)==(c|0)?1:l>>1;if(d>>>0>=1073741824){break a}b=d<<2;e=oa(b);J[f+8>>2]=e;j=b+e|0;J[f+20>>2]=j;d=e+(d&-4)|0;J[f+12>>2]=d;na(g);b=J[a+4>>2];c=J[a+8>>2];g=e}J[d>>2]=i;i=d+4|0;J[f+16>>2]=i;e=b;if((b|0)!=(c|0)){while(1){c=c-4|0;qe(f+8|0,c);if(J[a+4>>2]!=(c|0)){continue}break}j=J[f+20>>2];i=J[f+16>>2];d=J[f+12>>2];g=J[f+8>>2];e=c;b=J[a+8>>2]}c=J[a>>2];J[a>>2]=g;J[f+8>>2]=c;J[a+4>>2]=d;J[f+12>>2]=e;J[a+8>>2]=i;J[f+16>>2]=b;d=J[a+12>>2];J[a+12>>2]=j;J[f+20>>2]=d;if((b|0)!=(e|0)){J[f+16>>2]=((e-b|0)+3&-4)+b}if(!c){break b}na(c)}ba=f+32|0;return}xa();B()}function Zk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=ba-48|0;ba=k;J[a+68>>2]=f;o=a+112|0;za(o);d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[k+40>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+60|0;d=d>>>2|0;q=d>>>0<=1?1:d;r=c+4|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Tc(p,J[d+(n<<2)>>2],k+32|0);f=J[k+36>>2];d=f>>31;g=J[k+32>>2];e=g>>31;i=(d^f)-d+((e^g)-e)|0;h=J[k+40>>2];d=h>>31;e=(d^h)-d|0;d=0;m=e;e=e+i|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+108>>2];i=j;break b}j=J[a+108>>2];i=j>>31;f=Hl(Gl(j,i,f,f>>31),ca,e,d);l=f>>31;i=Hl(Gl(j,i,g,g>>31),ca,e,d);d=i>>31;d=(f^l)-l+((d^i)-d)|0;h=(h|0)<0?d-j|0:j-d|0}c:{if((i|0)>=0){e=f+j|0;l=h+j|0;break c}d:{if((f|0)<0){d=h>>31;e=(d^h)-d|0;break d}d=h>>31;e=J[a+100>>2]+(d-(d^h)|0)|0}if((h|0)<0){d=f>>31;l=(d^f)-d|0;break c}d=f>>31;l=J[a+100>>2]+(d-(d^f)|0)|0}d=J[a+100>>2];m=d;g=d;e:{if(!(e|l)){break e}if(!((d|0)!=(l|0)|e)){m=l;g=l;break e}if(!((d|0)!=(e|0)|l)){m=e;g=e;break e}if(!((j|0)>=(l|0)|e)){m=(j<<1)-l|0;g=0;break e}if(!((d|0)!=(e|0)|(j|0)<=(l|0))){m=(j<<1)-l|0;g=e;break e}if(!((d|0)!=(l|0)|(e|0)>=(j|0))){m=l;g=(j<<1)-e|0;break e}if(l){m=l;g=e;break e}m=0;g=e;if((e|0)<=(j|0)){break e}g=(j<<1)-e|0}J[k+28>>2]=m;J[k+24>>2]=g;J[k+40>>2]=0-h;J[k+36>>2]=0-f;J[k+32>>2]=0-i;f:{if((i|0)<=0){i=j-h|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;i=(h|0)>0?e:d-e|0;e=h>>31;e=(e^h)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|i)){i=d;break g}if(!((d|0)!=(i|0)|e)){i=d;break g}f=(d|0)!=(e|0);if(!(i|f)){i=d;break g}if(!((i|0)<=(j|0)|e)){i=(j<<1)-i|0;d=0;break g}if(!((i|0)>=(j|0)|f)){i=(j<<1)-i|0;break g}if(!((d|0)!=(i|0)|(e|0)>=(j|0))){i=d;d=(j<<1)-e|0;break g}if(i){d=e;break g}i=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}J[k+20>>2]=i;J[k+16>>2]=d;h=J[a+8>>2];h:{if((h|0)<=0){break h}l=(n<<3)+b|0;i=J[a+32>>2];e=0;g=k+24|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];i:{if((m|0)>(h|0)){J[d+j>>2]=h;break i}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break i}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}}f=e<<2;d=f+(k+8|0)|0;g=J[f+l>>2]-J[f+j>>2]|0;J[d>>2]=g;f=d;d=J[a+28>>2];j:{if((g|0)<(d|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break j}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}if((h|0)<=0){break h}i=J[a+32>>2];e=0;g=k+16|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];k:{if((m|0)>(h|0)){J[d+j>>2]=h;break k}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break k}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}d=J[a+28>>2]}g=e<<2;f=g+k|0;g=J[g+l>>2]-J[j+g>>2]|0;J[f>>2]=g;l:{if((d|0)>(g|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break l}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}}f=J[k+8>>2];e=J[a+108>>2];m:{if((f|0)>(e|0)){f=f-J[a+96>>2]|0;break m}if((0-e|0)<=(f|0)){break m}f=J[a+96>>2]+f|0}J[k+8>>2]=f;h=J[k+12>>2];n:{if((e|0)<(h|0)){h=h-J[a+96>>2]|0;break n}if((0-e|0)<=(h|0)){break n}h=J[a+96>>2]+h|0}J[k+12>>2]=h;d=J[k>>2];o:{if((e|0)<(d|0)){d=d-J[a+96>>2]|0;break o}if((0-e|0)<=(d|0)){break o}d=J[a+96>>2]+d|0}g=n<<1;J[k>>2]=d;i=J[k+4>>2];p:{if((e|0)<(i|0)){i=i-J[a+96>>2]|0;break p}if((0-e|0)<=(i|0)){break p}i=J[a+96>>2]+i|0}J[k+4>>2]=i;e=h>>31;e=(e^h)-e|0;l=f>>31;l=(l^f)-l|0;m=l>>>0>(e^2147483647)>>>0?2147483647:e+l|0;e=i>>31;e=(e^i)-e|0;l=d>>31;l=(l^d)-l|0;e=m>>>0>=(l>>>0>(e^2147483647)>>>0?2147483647:e+l|0)>>>0;Ca(o,e);g=g<<2;d=e?d:f;J[g+c>>2]=(J[a+96>>2]&d>>31)+d;d=e?i:h;J[g+r>>2]=(J[a+96>>2]&d>>31)+d;n=n+1|0;if((q|0)!=(n|0)){continue}break}}ba=k+48|0;return 1}ra();B()}function Pk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=ba-48|0;ba=k;J[a+68>>2]=f;o=a+112|0;za(o);d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[k+40>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+60|0;d=d>>>2|0;q=d>>>0<=1?1:d;r=c+4|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Rc(p,J[d+(n<<2)>>2],k+32|0);f=J[k+36>>2];d=f>>31;g=J[k+32>>2];e=g>>31;i=(d^f)-d+((e^g)-e)|0;h=J[k+40>>2];d=h>>31;e=(d^h)-d|0;d=0;m=e;e=e+i|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+108>>2];i=j;break b}j=J[a+108>>2];i=j>>31;f=Hl(Gl(j,i,f,f>>31),ca,e,d);l=f>>31;i=Hl(Gl(j,i,g,g>>31),ca,e,d);d=i>>31;d=(f^l)-l+((d^i)-d)|0;h=(h|0)<0?d-j|0:j-d|0}c:{if((i|0)>=0){e=f+j|0;l=h+j|0;break c}d:{if((f|0)<0){d=h>>31;e=(d^h)-d|0;break d}d=h>>31;e=J[a+100>>2]+(d-(d^h)|0)|0}if((h|0)<0){d=f>>31;l=(d^f)-d|0;break c}d=f>>31;l=J[a+100>>2]+(d-(d^f)|0)|0}d=J[a+100>>2];m=d;g=d;e:{if(!(e|l)){break e}if(!((d|0)!=(l|0)|e)){m=l;g=l;break e}if(!((d|0)!=(e|0)|l)){m=e;g=e;break e}if(!((j|0)>=(l|0)|e)){m=(j<<1)-l|0;g=0;break e}if(!((d|0)!=(e|0)|(j|0)<=(l|0))){m=(j<<1)-l|0;g=e;break e}if(!((d|0)!=(l|0)|(e|0)>=(j|0))){m=l;g=(j<<1)-e|0;break e}if(l){m=l;g=e;break e}m=0;g=e;if((e|0)<=(j|0)){break e}g=(j<<1)-e|0}J[k+28>>2]=m;J[k+24>>2]=g;J[k+40>>2]=0-h;J[k+36>>2]=0-f;J[k+32>>2]=0-i;f:{if((i|0)<=0){i=j-h|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;i=(h|0)>0?e:d-e|0;e=h>>31;e=(e^h)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|i)){i=d;break g}if(!((d|0)!=(i|0)|e)){i=d;break g}f=(d|0)!=(e|0);if(!(i|f)){i=d;break g}if(!((i|0)<=(j|0)|e)){i=(j<<1)-i|0;d=0;break g}if(!((i|0)>=(j|0)|f)){i=(j<<1)-i|0;break g}if(!((d|0)!=(i|0)|(e|0)>=(j|0))){i=d;d=(j<<1)-e|0;break g}if(i){d=e;break g}i=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}J[k+20>>2]=i;J[k+16>>2]=d;h=J[a+8>>2];h:{if((h|0)<=0){break h}l=(n<<3)+b|0;i=J[a+32>>2];e=0;g=k+24|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];i:{if((m|0)>(h|0)){J[d+j>>2]=h;break i}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break i}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}}f=e<<2;d=f+(k+8|0)|0;g=J[f+l>>2]-J[f+j>>2]|0;J[d>>2]=g;f=d;d=J[a+28>>2];j:{if((g|0)<(d|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break j}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}if((h|0)<=0){break h}i=J[a+32>>2];e=0;g=k+16|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];k:{if((m|0)>(h|0)){J[d+j>>2]=h;break k}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break k}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}d=J[a+28>>2]}g=e<<2;f=g+k|0;g=J[g+l>>2]-J[j+g>>2]|0;J[f>>2]=g;l:{if((d|0)>(g|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break l}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}}f=J[k+8>>2];e=J[a+108>>2];m:{if((f|0)>(e|0)){f=f-J[a+96>>2]|0;break m}if((0-e|0)<=(f|0)){break m}f=J[a+96>>2]+f|0}J[k+8>>2]=f;h=J[k+12>>2];n:{if((e|0)<(h|0)){h=h-J[a+96>>2]|0;break n}if((0-e|0)<=(h|0)){break n}h=J[a+96>>2]+h|0}J[k+12>>2]=h;d=J[k>>2];o:{if((e|0)<(d|0)){d=d-J[a+96>>2]|0;break o}if((0-e|0)<=(d|0)){break o}d=J[a+96>>2]+d|0}g=n<<1;J[k>>2]=d;i=J[k+4>>2];p:{if((e|0)<(i|0)){i=i-J[a+96>>2]|0;break p}if((0-e|0)<=(i|0)){break p}i=J[a+96>>2]+i|0}J[k+4>>2]=i;e=h>>31;e=(e^h)-e|0;l=f>>31;l=(l^f)-l|0;m=l>>>0>(e^2147483647)>>>0?2147483647:e+l|0;e=i>>31;e=(e^i)-e|0;l=d>>31;l=(l^d)-l|0;e=m>>>0>=(l>>>0>(e^2147483647)>>>0?2147483647:e+l|0)>>>0;Ca(o,e);g=g<<2;d=e?d:f;J[g+c>>2]=(J[a+96>>2]&d>>31)+d;d=e?i:h;J[g+r>>2]=(J[a+96>>2]&d>>31)+d;n=n+1|0;if((q|0)!=(n|0)){continue}break}}ba=k+48|0;return 1}ra();B()}function Ig(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;p=ba-32|0;ba=p;a:{if((c|0)<=0){break a}t=c&3;b:{if(c>>>0<4){c=0;break b}z=c&-4;c=0;while(1){g=(c<<3)+b|0;s=J[g>>2];u=J[g+4>>2];v=c|1;g=(v<<3)+b|0;i=J[g>>2];w=c|2;h=(w<<3)+b|0;m=J[h>>2];x=c|3;j=(x<<3)+b|0;y=J[j>>2];g=J[g+4>>2];h=J[h+4>>2];j=J[j+4>>2];n=j|y?x:h|m?w:g|i?v:s|u?c:n;f=f+u|0;e=e+s|0;f=(e>>>0>>0?f+1|0:f)+g|0;g=e;e=e+i|0;f=(g>>>0>e>>>0?f+1|0:f)+h|0;g=e;e=e+m|0;f=(g>>>0>e>>>0?f+1|0:f)+j|0;g=e;e=e+y|0;f=g>>>0>e>>>0?f+1|0:f;c=c+4|0;l=l+4|0;if((z|0)!=(l|0)){continue}break}}if(!t){break a}while(1){g=(c<<3)+b|0;i=J[g>>2];g=J[g+4>>2];n=i|g?c:n;c=c+1|0;f=f+g|0;e=e+i|0;f=e>>>0>>0?f+1|0:f;o=o+1|0;if((t|0)!=(o|0)){continue}break}}m=n+1|0;J[a+12>>2]=m;c=J[a>>2];g=J[a+4>>2]-c>>3;c:{if(g>>>0>>0){Wa(a,m-g|0);break c}if(g>>>0<=m>>>0){break c}J[a+4>>2]=c+(m<<3)}j=0;d:{e:{f:{g:{h:{if((n|0)>=0){k=+(e>>>0)+ +(f>>>0)*4294967296;i=J[a>>2];c=0;while(1){f=c<<3;e=f+b|0;h=J[e>>2];e=J[e+4>>2];g=(h|e)!=0;l=f+i|0;r=(+(h>>>0)+ +(e>>>0)*4294967296)/k*4096+.5;i:{if(r<4294967296&r>=0){e=~~r>>>0;break i}e=0}e=e?e:g?1:e;J[l>>2]=e;j=e+j|0;e=(c|0)==(n|0);c=c+1|0;if(!e){continue}break}if((j|0)==4096){break h}}J[p+16>>2]=0;J[p+8>>2]=0;J[p+12>>2]=0;i=0;j:{if(!m){break j}if(m>>>0>=1073741824){break g}g=m<<2;q=oa(g);J[p+8>>2]=q;l=0;h=pa(q,0,g);c=0;if(n>>>0>=7){f=m&-8;while(1){J[h+(c<<2)>>2]=c;e=c|1;J[h+(e<<2)>>2]=e;e=c|2;J[h+(e<<2)>>2]=e;e=c|3;J[h+(e<<2)>>2]=e;e=c|4;J[h+(e<<2)>>2]=e;e=c|5;J[h+(e<<2)>>2]=e;e=c|6;J[h+(e<<2)>>2]=e;e=c|7;J[h+(e<<2)>>2]=e;c=c+8|0;i=i+8|0;if((f|0)!=(i|0)){continue}break}}i=h+g|0;e=m&7;if(!e){break j}while(1){J[h+(c<<2)>>2]=c;c=c+1|0;l=l+1|0;if((e|0)!=(l|0)){continue}break}}J[p+24>>2]=a;c=i-q|0;e=c>>2;k:{l:{if((c|0)>=513){c=e;while(1){f=oa(c<<2);if(f){break l}f=c>>>0>1;c=c>>>1|0;if(f){continue}break}}hc(q,i,p+24|0,e,0,0);break k}hc(q,i,p+24|0,e,f,c);na(f)}if((j|0)<4096){c=J[a>>2]+(J[i-4>>2]<<3)|0;J[c>>2]=(J[c>>2]-j|0)+4096;c=0;break f}if((n|0)>0){f=J[a>>2];o=j-4096|0;while(1){r=4096/+(j|0);l=n;while(1){m:{n:{e=f+(J[(l<<2)+q>>2]<<3)|0;c=J[e>>2];if(c>>>0>=2){h=e;i=c;k=V(r*+(c>>>0));o:{if(R(k)<2147483648){g=~~k;break o}g=-2147483648}e=(c|0)==(g|0)?1:c-g|0;c=(c|0)>(e|0)?e:c-1|0;c=(c|0)<(o|0)?c:o;J[h>>2]=i-c;o=o-c|0;j=j-c|0;if((j|0)!=4096){break n}j=4096;break m}if((n|0)!=(l|0)){break m}c=1;break f}c=(l|0)>1;l=l-1|0;if(c){continue}}break}c=0;if((o|0)>0){continue}break}break f}c=0;if(j>>>0<4097){break f}while(1)continue}if((n|0)<0){break d}break e}qa();B()}e=J[p+8>>2];if(e){na(e)}if((n|0)<0|c){break d}}h=J[a>>2];j=0;o=0;c=0;if(n>>>0>=3){g=m&-4;q=0;while(1){i=o<<3;f=i+h|0;J[f+4>>2]=c;e=h+(i|8)|0;c=J[f>>2]+c|0;J[e+4>>2]=c;f=h+(i|16)|0;c=c+J[e>>2]|0;J[f+4>>2]=c;e=h+(i|24)|0;c=c+J[f>>2]|0;J[e+4>>2]=c;c=c+J[e>>2]|0;o=o+4|0;q=q+4|0;if((g|0)!=(q|0)){continue}break}}f=m&3;if(f){while(1){e=h+(o<<3)|0;J[e+4>>2]=c;o=o+1|0;c=J[e>>2]+c|0;j=j+1|0;if((f|0)!=(j|0)){continue}break}}if((c|0)!=4096){break d}c=0;k=0;p:{if((n|0)<0){break p}h=J[a>>2];if(n){i=m&-2;l=0;while(1){e=c<<3;g=J[e+h>>2];if(g){f=b+e|0;k=(+M[f>>2]+ +M[f+4>>2]*4294967296)*va(+(g>>>0)*.000244140625)+k}e=(c|1)<<3;g=J[e+h>>2];if(g){f=b+e|0;k=(+M[f>>2]+ +M[f+4>>2]*4294967296)*va(+(g>>>0)*.000244140625)+k}c=c+2|0;l=l+2|0;if((i|0)!=(l|0)){continue}break}}if(!(m&1)){break p}c=c<<3;e=J[c+h>>2];if(!e){break p}c=b+c|0;k=(+M[c>>2]+ +M[c+4>>2]*4294967296)*va(+(e>>>0)*.000244140625)+k}k=W(-k);q:{if(k<0x10000000000000000&k>=0){c=~~k>>>0;b=R(k)>=1?~~(k>0?T(V(k*2.3283064365386963e-10),4294967295):W((k-+(~~k>>>0>>>0))*2.3283064365386963e-10))>>>0:0;break q}c=0;b=0}J[a+16>>2]=c;J[a+20>>2]=b;Va(a,d)}ba=p+32|0}function Jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=ba-48|0;ba=b;g=J[J[a+4>>2]+48>>2];J[b+8>>2]=J[a+12>>2];c=oa(32);J[b+24>>2]=c;J[b+28>>2]=17;J[b+32>>2]=-2147483616;H[c+16|0]=K[1261];f=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);e=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);e=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+17|0]=0;c=jb(g,b+8|0,b+24|0,-1);if(H[b+35|0]<0){na(J[b+24>>2])}J[b+32>>2]=-1;J[b+36>>2]=1065353216;J[b+24>>2]=-1;J[b+28>>2]=-1;J[b+40>>2]=-1;c=-1<>>0>28){break a}J[b+24>>2]=c+1;c=-2<>2]=c^-1;c=c^-2;J[b+32>>2]=c;J[b+40>>2]=c>>1;N[b+36>>2]=Q(2)/Q(c|0)}g=ah(J[a+12>>2],J[a+4>>2]);h=J[J[a+4>>2]+48>>2];J[b+20>>2]=J[a+12>>2];c=oa(32);J[b+8>>2]=c;J[b+12>>2]=17;J[b+16>>2]=-2147483616;H[c+16|0]=K[1529];f=K[1525]|K[1526]<<8|(K[1527]<<16|K[1528]<<24);e=K[1521]|K[1522]<<8|(K[1523]<<16|K[1524]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1517]|K[1518]<<8|(K[1519]<<16|K[1520]<<24);e=K[1513]|K[1514]<<8|(K[1515]<<16|K[1516]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+17|0]=0;c=jb(h,b+20|0,b+8|0,g);if(H[b+19|0]<0){na(J[b+8>>2])}b:{c:{d:{switch(c|0){case 6:e=J[a+4>>2];h=J[a+12>>2];a=J[J[J[e+4>>2]+8>>2]+(h<<2)>>2];if((da[J[J[e>>2]+8>>2]](e)|0)!=1){break c}c=b+24|0;f=ba-32|0;ba=f;i=J[J[J[e+4>>2]+8>>2]+(h<<2)>>2];e:{if((da[J[J[e>>2]+8>>2]](e)|0)!=1){break e}j=da[J[J[e>>2]+52>>2]](e)|0;g=da[J[J[e>>2]+60>>2]](e,h)|0;if(!j|!g){break e}d=da[J[J[e>>2]+56>>2]](e,h)|0;if(d){e=J[e+56>>2];J[f+20>>2]=d;J[f+16>>2]=e;J[f+28>>2]=g;J[f+24>>2]=g+12;d=oa(128);J[d+4>>2]=i;e=J[c+4>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=e;e=J[c+12>>2];J[d+16>>2]=J[c+8>>2];J[d+20>>2]=e;J[d+24>>2]=J[c+16>>2];c=J[f+20>>2];J[d+28>>2]=J[f+16>>2];J[d+32>>2]=c;c=J[f+28>>2];J[d+36>>2]=J[f+24>>2];J[d+40>>2]=c;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=7524;c=J[f+20>>2];J[d+56>>2]=J[f+16>>2];J[d+60>>2]=c;e=J[f+28>>2];c=d- -64|0;J[c>>2]=J[f+24>>2];J[c+4>>2]=e;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=7784;J[d+96>>2]=0;J[d+100>>2]=0;J[d+120>>2]=0;J[d+124>>2]=0;J[d+112>>2]=0;J[d+116>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0;break e}d=J[e+56>>2];J[f+20>>2]=j;J[f+16>>2]=d;J[f+28>>2]=g;J[f+24>>2]=g+12;d=oa(128);J[d+4>>2]=i;e=J[c+4>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=e;e=J[c+12>>2];J[d+16>>2]=J[c+8>>2];J[d+20>>2]=e;J[d+24>>2]=J[c+16>>2];c=J[f+20>>2];J[d+28>>2]=J[f+16>>2];J[d+32>>2]=c;c=J[f+28>>2];J[d+36>>2]=J[f+24>>2];J[d+40>>2]=c;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=9148;c=J[f+20>>2];J[d+56>>2]=J[f+16>>2];J[d+60>>2]=c;e=J[f+28>>2];c=d- -64|0;J[c>>2]=J[f+24>>2];J[c+4>>2]=e;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=9392;J[d+96>>2]=0;J[d+100>>2]=0;J[d+120>>2]=0;J[d+124>>2]=0;J[d+112>>2]=0;J[d+116>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0}ba=f+32|0;if(!d){break c}break b;case 0:break d;default:break b}}c=J[a+4>>2];a=J[J[J[c+4>>2]+8>>2]+(J[a+12>>2]<<2)>>2];if((da[J[J[c>>2]+8>>2]](c)|0)!=1){break c}da[J[J[c>>2]+8>>2]](c)|0}d=oa(28);J[d+4>>2]=a;a=J[b+28>>2];J[d+8>>2]=J[b+24>>2];J[d+12>>2]=a;a=J[b+36>>2];J[d+16>>2]=J[b+32>>2];J[d+20>>2]=a;J[d+24>>2]=J[b+40>>2];J[d>>2]=9804}ba=b+48|0;return d|0}function Ug(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0;h=ba-16|0;ba=h;J[h+12>>2]=b;b=oa(32);J[h>>2]=b;J[h+4>>2]=17;J[h+8>>2]=-2147483616;H[b+16|0]=K[1261];g=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);i=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=i;H[b+9|0]=i>>>8;H[b+10|0]=i>>>16;H[b+11|0]=i>>>24;H[b+12|0]=g;H[b+13|0]=g>>>8;H[b+14|0]=g>>>16;H[b+15|0]=g>>>24;g=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);i=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=i;H[b+1|0]=i>>>8;H[b+2|0]=i>>>16;H[b+3|0]=i>>>24;H[b+4|0]=g;H[b+5|0]=g>>>8;H[b+6|0]=g>>>16;H[b+7|0]=g>>>24;H[b+17|0]=0;i=a+4|0;Vg(i,h+12|0,h,c);if(H[h+11|0]<0){na(J[h>>2])}a=oa(32);J[h>>2]=a;J[h+4>>2]=19;J[h+8>>2]=-2147483616;b=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[a+15|0]=b;H[a+16|0]=b>>>8;H[a+17|0]=b>>>16;H[a+18|0]=b>>>24;b=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);c=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);c=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+19|0]=0;g=ba-48|0;ba=g;j=J[h+12>>2];a=i+16|0;c=J[a>>2];a:{b:{if(!c){break b}b=a;while(1){k=(j|0)>J[c+16>>2];b=k?b:c;c=J[(k?c+4|0:c)>>2];if(c){continue}break}if((a|0)==(b|0)){break b}if((j|0)>=J[b+16>>2]){break a}}J[g+28>>2]=0;J[g+32>>2]=0;c=g+24|0;J[g+24>>2]=c|4;a=g+16|0;J[a>>2]=0;J[a+4>>2]=0;J[g+8>>2]=j;J[g+12>>2]=a;a=g+8|0;Oc(g+40|0,i+12|0,a,a);b=J[g+40>>2];Da(a|4,J[g+16>>2]);Da(c,J[g+28>>2])}b=b+20|0;a=ba-48|0;ba=a;J[a+24>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;c:{if((d|0)<=0){break c}gd(a,N[e>>2]);c=K[a+11|0];j=c<<24>>24<0;jd(a+16|0,j?J[a>>2]:a,j?J[a+4>>2]:c);if(H[a+11|0]<0){na(J[a>>2])}c=1;if((d|0)==1){break c}while(1){j=a+16|0;jd(j,2020,rb(2020));gd(a,N[(c<<2)+e>>2]);l=j;j=K[a+11|0];k=j<<24>>24<0;jd(l,k?J[a>>2]:a,k?J[a+4>>2]:j);if(H[a+11|0]<0){na(J[a>>2])}c=c+1|0;if((d|0)!=(c|0)){continue}break}}J[a+40>>2]=h;ge(a,b,h,a+40|0);d=J[a>>2];b=d+28|0;d:{if((b|0)==(a+16|0)){break d}e=K[a+27|0];c=e<<24>>24;if(H[d+39|0]>=0){if((c|0)>=0){c=J[a+20>>2];J[b>>2]=J[a+16>>2];J[b+4>>2]=c;J[b+8>>2]=J[a+24>>2];break d}hd(b,J[a+16>>2],J[a+20>>2]);break d}d=b;b=(c|0)<0;id(d,b?J[a+16>>2]:a+16|0,b?J[a+20>>2]:e)}if(H[a+27|0]<0){na(J[a+16>>2])}ba=a+48|0;ba=g+48|0;if(H[h+11|0]<0){na(J[h>>2])}a=oa(32);J[h>>2]=a;J[h+4>>2]=18;J[h+8>>2]=-2147483616;b=K[1547]|K[1548]<<8;H[a+16|0]=b;H[a+17|0]=b>>>8;b=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);c=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);c=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+18|0]=0;b=ba-48|0;ba=b;c=J[h+12>>2];a=i+16|0;e=J[a>>2];e:{f:{if(!e){break f}d=a;while(1){g=(c|0)>J[e+16>>2];d=g?d:e;e=J[(g?e+4|0:e)>>2];if(e){continue}break}if((a|0)==(d|0)){break f}if((c|0)>=J[d+16>>2]){break e}}J[b+28>>2]=0;J[b+32>>2]=0;e=b+24|0;J[b+24>>2]=e|4;a=b+16|0;J[a>>2]=0;J[a+4>>2]=0;J[b+8>>2]=c;J[b+12>>2]=a;a=b+8|0;Oc(b+40|0,i+12|0,a,a);d=J[b+40>>2];Da(a|4,J[b+16>>2]);Da(e,J[b+28>>2])}a=ba-48|0;ba=a;gd(a+8|0,f);J[a+32>>2]=h;ge(a+40|0,d+20|0,h,a+32|0);c=J[a+40>>2];if(H[c+39|0]<0){na(J[c+28>>2])}d=J[a+12>>2];J[c+28>>2]=J[a+8>>2];J[c+32>>2]=d;J[c+36>>2]=J[a+16>>2];ba=a+48|0;ba=b+48|0;if(H[h+11|0]<0){na(J[h>>2])}ba=h+16|0}function kk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0);f=ba-32|0;ba=f;J[f+28>>2]=c;a:{if(!me(a,b,c)){break a}i=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];if(J[i+28>>2]!=9){break a}g=J[b+48>>2];c=oa(32);J[f+16>>2]=c;J[f+20>>2]=17;J[f+24>>2]=-2147483616;H[c+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);h=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[c+8|0]=h;H[c+9|0]=h>>>8;H[c+10|0]=h>>>16;H[c+11|0]=h>>>24;H[c+12|0]=e;H[c+13|0]=e>>>8;H[c+14|0]=e>>>16;H[c+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);h=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[c|0]=h;H[c+1|0]=h>>>8;H[c+2|0]=h>>>16;H[c+3|0]=h>>>24;H[c+4|0]=e;H[c+5|0]=e>>>8;H[c+6|0]=e>>>16;H[c+7|0]=e>>>24;H[c+17|0]=0;h=jb(g,f+28|0,f+16|0,-1);if(H[f+27|0]<0){na(J[f+16>>2])}if((h|0)<=0){break a}j=J[b+48>>2];c=oa(32);J[f+16>>2]=c;J[f+20>>2]=19;J[f+24>>2]=-2147483616;e=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[c+15|0]=e;H[c+16|0]=e>>>8;H[c+17|0]=e>>>16;H[c+18|0]=e>>>24;e=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);g=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[c+8|0]=g;H[c+9|0]=g>>>8;H[c+10|0]=g>>>16;H[c+11|0]=g>>>24;H[c+12|0]=e;H[c+13|0]=e>>>8;H[c+14|0]=e>>>16;H[c+15|0]=e>>>24;e=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);g=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[c|0]=g;H[c+1|0]=g>>>8;H[c+2|0]=g>>>16;H[c+3|0]=g>>>24;H[c+4|0]=e;H[c+5|0]=e>>>8;H[c+6|0]=e>>>16;H[c+7|0]=e>>>24;H[c+19|0]=0;b:{if(!yc(j,f+28|0,f+16|0)){break b}g=J[b+48>>2];c=oa(32);J[f>>2]=c;J[f+4>>2]=18;J[f+8>>2]=-2147483616;d=K[1547]|K[1548]<<8;H[c+16|0]=d;H[c+17|0]=d>>>8;d=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);e=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);e=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+18|0]=0;d=yc(g,f+28|0,f);if(H[f+11|0]>=0){break b}na(J[f>>2])}if(H[f+27|0]<0){na(J[f+16>>2])}c:{if(d){c=0;d=K[i+24|0];if(d){d=d<<2;c=oa(d);pa(c,0,d)}j=J[b+48>>2];d=oa(32);J[f+16>>2]=d;J[f+20>>2]=19;J[f+24>>2]=-2147483616;e=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[d+15|0]=e;H[d+16|0]=e>>>8;H[d+17|0]=e>>>16;H[d+18|0]=e>>>24;e=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);g=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[d+8|0]=g;H[d+9|0]=g>>>8;H[d+10|0]=g>>>16;H[d+11|0]=g>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);g=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[d|0]=g;H[d+1|0]=g>>>8;H[d+2|0]=g>>>16;H[d+3|0]=g>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;H[d+19|0]=0;De(j,f+28|0,f+16|0,K[i+24|0],c);if(H[f+27|0]<0){na(J[f+16>>2])}g=J[b+48>>2];b=oa(32);J[f+16>>2]=b;J[f+20>>2]=18;J[f+24>>2]=-2147483616;d=K[1547]|K[1548]<<8;H[b+16|0]=d;H[b+17|0]=d>>>8;d=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);e=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);e=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;H[b+18|0]=0;k=Ce(g,f+28|0,f+16|0);if(H[f+27|0]<0){na(J[f+16>>2])}a=bh(a+40|0,h,c,K[i+24|0],k);if(c){na(c)}d=0;if(a){break c}break a}d=0;if(!Zg(a+40|0,i,h)){break a}}d=1}ba=f+32|0;return d|0}function Zf(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,n=0,o=0,p=0,q=0,r=0,s=0;k=ba-32|0;ba=k;c=J[a+16>>2];J[a+20>>2]=c;a:{b:{c:{d:{e:{f:{g:{if((c|0)!=J[a+24>>2]){J[c>>2]=b;b=c+4|0;J[a+20>>2]=b;d=c;break g}d=oa(4);J[d>>2]=b;b=d+4|0;J[a+24>>2]=b;J[a+20>>2]=b;J[a+16>>2]=d;if(c){break f}}c=J[a+8>>2];c=J[c+100>>2]-J[c+96>>2]|0;break e}na(c);b=J[a+20>>2];d=J[a+16>>2];if((b|0)==(d|0)){break d}c=J[a+8>>2];c=J[c+100>>2]-J[c+96>>2]|0}if((c|0)>0){r=a+120|0;m=a+200|0;c=(c|0)/12|0;s=(c|0)<=1?1:c;while(1){h:{i:{d=b-4|0;b=J[d>>2];if((b|0)==-1){break i}c=(b>>>0)/3|0;if(J[J[a+28>>2]+(c>>>3&268435452)>>2]>>>c&1){break i}n=0;while(1){J[a+164>>2]=J[a+164>>2]+1;e=b;h=(b>>>0)/3|0;g=(b|0)==-1;o=g?-1:h;b=J[a+28>>2]+(o>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];j:{if((b|0)!=J[a+80>>2]){J[b>>2]=e;J[a+76>>2]=b+4;break j}j=J[a+72>>2];l=b-j|0;d=l>>2;i=d+1|0;if(i>>>0>1073741823){break c}c=l>>>1|0;i=l>>>0>=2147483644?1073741823:c>>>0>i>>>0?c:i;if(i){if(i>>>0>1073741823){break a}c=oa(i<<2)}else{c=0}f=c+(d<<2)|0;J[f>>2]=e;d=f+4|0;if((b|0)!=(j|0)){while(1){f=f-4|0;b=b-4|0;J[f>>2]=J[b>>2];if((b|0)!=(j|0)){continue}break}}J[a+80>>2]=c+(i<<2);J[a+76>>2]=d;J[a+72>>2]=f;if(!j){break j}na(j)}J[a+320>>2]=e;b=-1;f=J[a+12>>2];b=(e|0)!=-1?J[J[f>>2]+(e<<2)>>2]:b;i=b<<2;q=J[i+J[a+152>>2]>>2];k:{l:{d=J[a+84>>2]+(b>>>3&536870908)|0;c=J[d>>2];b=1<>2]=b|c;if((q|0)==-1){break l}}m:{if(g){break m}b=-1;c=e+1|0;g=(c>>>0)%3|0?c:e-2|0;if((g|0)!=-1){b=J[J[f+12>>2]+(g<<2)>>2]}j=e-P(h,3)|0;n:{o:{if(j){d=e-1|0;break o}d=e+2|0;c=-1;if((d|0)==-1){break n}}c=J[J[f+12>>2]+(d<<2)>>2]}p=(c|0)==-1;l=p?-1:(c>>>0)/3|0;p:{if((g|0)==-1){break p}h=J[f+12>>2];d=J[h+(g<<2)>>2];if((d|0)==-1){break p}g=J[a+28>>2];d=(d>>>0)/3|0;if(J[g+(d>>>3&268435452)>>2]>>>d&1){break p}q:{r:{if(j){f=e-1|0;break r}f=e+2|0;if((f|0)==-1){break q}}d=J[(f<<2)+h>>2];if((d|0)==-1){break q}d=(d>>>0)/3|0;if(J[g+(d>>>3&268435452)>>2]>>>d&1){break q}oc(m,1);J[a+168>>2]=J[a+168>>2]+1;s:{if((q|0)==-1){break s}d=J[J[a+152>>2]+i>>2];if(J[J[a+140>>2]+(d>>>3&536870908)>>2]>>>d&1){break s}Hc(a,e,0)}e=J[a+164>>2];J[k+4>>2]=o;d=k+4|0;J[k+16>>2]=d;ag(k+24|0,r,d,k+16|0);J[J[k+24>>2]+12>>2]=e;f=J[a+20>>2];J[f-4>>2]=c;if(J[a+24>>2]!=(f|0)){J[f>>2]=b;J[a+20>>2]=f+4;break h}h=J[a+16>>2];g=f-h|0;d=g>>2;e=d+1|0;if(e>>>0>1073741823){break b}c=g>>>1|0;e=g>>>0>=2147483644?1073741823:c>>>0>e>>>0?c:e;if(e){if(e>>>0>1073741823){break a}c=oa(e<<2)}else{c=0}d=c+(d<<2)|0;J[d>>2]=b;b=d+4|0;if((f|0)!=(h|0)){while(1){d=d-4|0;f=f-4|0;J[d>>2]=J[f>>2];if((f|0)!=(h|0)){continue}break}}J[a+24>>2]=c+(e<<2);J[a+20>>2]=b;J[a+16>>2]=d;if(!h){break h}na(h);break h}if(!p){Qb(a,J[a+164>>2],0,l)}oc(m,3);break k}d=(b|0)==-1;if(!d){Qb(a,J[a+164>>2],1,d?-1:(b>>>0)/3|0)}t:{u:{if(j){b=e-1|0;break u}b=e+2|0;if((b|0)==-1){break t}}b=J[J[J[a+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break t}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break t}oc(m,5);b=c;break k}if(p){break m}Qb(a,J[a+164>>2],0,l)}oc(m,7);J[a+20>>2]=J[a+20>>2]-4;break h}oc(m,0);b=-1;if((e|0)==-1){break k}c=e+1|0;c=(c>>>0)%3|0?c:e-2|0;if((c|0)==-1){break k}b=J[J[J[a+12>>2]+12>>2]+(c<<2)>>2]}n=n+1|0;if((s|0)!=(n|0)){continue}break}break h}J[a+20>>2]=d}b=J[a+20>>2];if((b|0)!=J[a+16>>2]){continue}break}break d}g=J[a+28>>2];while(1){c=b-4|0;e=J[c>>2];v:{if((e|0)!=-1){e=(e>>>0)/3|0;if(!(J[g+(e>>>3&268435452)>>2]>>>e&1)){break v}}J[a+20>>2]=c;b=c}if((b|0)!=(d|0)){continue}break}}ba=k+32|0;return 1}qa();B()}qa();B()}xa();B()}function Xk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;J[a+8>>2]=e;q=a+32|0;f=J[q>>2];h=J[a+36>>2]-f>>2;a:{if(h>>>0>>0){Fa(q,e-h|0);break a}if(e>>>0>=h>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){h=g;break c}f=1;h=d-1|0;l=h&1;d:{if((d|0)==2){h=g;break d}o=h&-2;d=0;h=g;while(1){i=(f<<2)+b|0;p=J[i+4>>2];k=J[i>>2];j=(k|0)<(h|0);h=j?k:h;i=(h|0)>(p|0);h=i?p:h;g=j?g:(g|0)<(k|0)?k:g;g=i?g:(g|0)<(p|0)?p:g;f=f+2|0;d=d+2|0;if((o|0)!=(d|0)){continue}break}}if(!l){break c}f=J[(f<<2)+b>>2];d=(f|0)<(h|0);h=d?f:h;g=d?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=h;f=(g>>31)-((h>>31)+(g>>>0>>0)|0)|0;d=g-h|0;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}s=e<<2;d=e>>>0>1073741823?-1:s;h=pa(oa(d),0,d);d=J[a+56>>2];t=J[d>>2];d=J[d+4>>2]-t|0;if((d|0)>=5){w=J[a+52>>2];u=J[a+48>>2];x=e&-2;y=e&1;v=d>>2;l=v;while(1){o=l;e:{f:{l=l-1|0;if(v>>>0>l>>>0){p=P(e,l);d=J[(l<<2)+t>>2];if((d|0)==-1){break f}g=J[J[u+12>>2]+(d<<2)>>2];if((g|0)==-1){break f}j=J[w>>2];k=J[u>>2];i=J[j+(J[k+(g<<2)>>2]<<2)>>2];d=g+1|0;d=(d>>>0)%3|0?d:g-2|0;if((d|0)!=-1){f=J[k+(d<<2)>>2]}else{f=-1}g:{h:{if((g>>>0)%3|0){g=g-1|0;break h}g=g+2|0;d=-1;if((g|0)==-1){break g}}d=J[k+(g<<2)>>2]}if((i|0)>=(l|0)){break f}f=J[(f<<2)+j>>2];if((f|0)>=(l|0)){break f}d=J[j+(d<<2)>>2];if((d|0)>=(l|0)){break f}i:{if((e|0)<=0){break i}k=P(d,e);j=P(e,f);i=P(e,i);g=0;d=0;if((e|0)!=1){while(1){J[h+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+j<<2)+b>>2]|0)-J[(g+i<<2)+b>>2];f=g|1;J[h+(f<<2)>>2]=(J[(f+k<<2)+b>>2]+J[(f+j<<2)+b>>2]|0)-J[(f+i<<2)+b>>2];g=g+2|0;d=d+2|0;if((x|0)!=(d|0)){continue}break}}if(!y){break i}J[h+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+j<<2)+b>>2]|0)-J[(g+i<<2)+b>>2]}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;p=d+c|0;k=b+d|0;i=J[q>>2];m=0;d=h;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];j:{if((r|0)>(j|0)){J[f+n>>2]=j;break j}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break j}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=m<<2;d=g+p|0;g=J[g+k>>2]-J[f+g>>2]|0;J[d>>2]=g;k:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break k}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}break e}ra();B()}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;p=d+c|0;k=b+d|0;d=(P(o-2|0,e)<<2)+b|0;i=J[q>>2];m=0;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];l:{if((r|0)>(j|0)){J[f+n>>2]=j;break l}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break l}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=m<<2;d=g+p|0;g=J[g+k>>2]-J[f+g>>2]|0;J[d>>2]=g;m:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break m}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}}if((o|0)>2){continue}break}}if((e|0)>0){pa(h,0,s)}g=J[a+8>>2];if((g|0)>0){e=J[a+32>>2];m=0;d=h;while(1){f=e;if((g|0)>0){f=J[q>>2];g=0;while(1){o=g<<2;l=J[o+d>>2];i=J[a+16>>2];n:{if((l|0)>(i|0)){J[f+o>>2]=i;break n}o=f+o|0;i=J[a+12>>2];if((i|0)>(l|0)){J[o>>2]=i;break n}J[o>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}g=m<<2;d=g+c|0;g=J[b+g>>2]-J[f+g>>2]|0;J[d>>2]=g;o:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break o}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}}na(h);return 1}function fl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;J[a+8>>2]=e;q=a+32|0;f=J[q>>2];h=J[a+36>>2]-f>>2;a:{if(h>>>0>>0){Fa(q,e-h|0);break a}if(e>>>0>=h>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){h=g;break c}f=1;h=d-1|0;l=h&1;d:{if((d|0)==2){h=g;break d}o=h&-2;d=0;h=g;while(1){i=(f<<2)+b|0;m=J[i+4>>2];p=J[i>>2];j=(p|0)<(h|0);h=j?p:h;i=(h|0)>(m|0);h=i?m:h;g=j?g:(g|0)<(p|0)?p:g;g=i?g:(g|0)<(m|0)?m:g;f=f+2|0;d=d+2|0;if((o|0)!=(d|0)){continue}break}}if(!l){break c}f=J[(f<<2)+b>>2];d=(f|0)<(h|0);h=d?f:h;g=d?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=h;f=(g>>31)-((h>>31)+(g>>>0>>0)|0)|0;d=g-h|0;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}t=e<<2;d=e>>>0>1073741823?-1:t;h=pa(oa(d),0,d);d=J[a+56>>2];u=J[d>>2];d=J[d+4>>2]-u|0;if((d|0)>=5){w=J[a+52>>2];s=J[a+48>>2];x=e&-2;y=e&1;v=d>>2;l=v;while(1){o=l;e:{f:{l=l-1|0;if(v>>>0>l>>>0){p=P(e,l);d=J[(l<<2)+u>>2];if((d|0)==-1|J[J[s>>2]+(d>>>3&536870908)>>2]>>>d&1){break f}m=J[J[J[s+64>>2]+12>>2]+(d<<2)>>2];if((m|0)==-1){break f}i=J[w>>2];j=J[s+28>>2];g=J[i+(J[j+(m<<2)>>2]<<2)>>2];if((g|0)>=(l|0)){break f}d=m+1|0;f=J[i+(J[j+(((d>>>0)%3|0?d:m-2|0)<<2)>>2]<<2)>>2];if((f|0)>=(l|0)){break f}d=J[i+(J[j+(m+((m>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((d|0)>=(l|0)){break f}g:{if((e|0)<=0){break g}j=P(d,e);i=P(e,f);f=P(e,g);g=0;k=0;if((e|0)!=1){while(1){J[h+(g<<2)>>2]=(J[(g+j<<2)+b>>2]+J[(g+i<<2)+b>>2]|0)-J[(f+g<<2)+b>>2];d=g|1;J[h+(d<<2)>>2]=(J[(d+j<<2)+b>>2]+J[(d+i<<2)+b>>2]|0)-J[(d+f<<2)+b>>2];g=g+2|0;k=k+2|0;if((x|0)!=(k|0)){continue}break}}if(!y){break g}J[h+(g<<2)>>2]=(J[(g+j<<2)+b>>2]+J[(g+i<<2)+b>>2]|0)-J[(f+g<<2)+b>>2]}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;m=d+c|0;p=b+d|0;i=J[q>>2];k=0;d=h;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];h:{if((r|0)>(j|0)){J[f+n>>2]=j;break h}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break h}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=k<<2;d=g+m|0;g=J[g+p>>2]-J[f+g>>2]|0;J[d>>2]=g;i:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break i}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}break e}ra();B()}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;m=d+c|0;p=b+d|0;d=(P(o-2|0,e)<<2)+b|0;i=J[q>>2];k=0;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];j:{if((r|0)>(j|0)){J[f+n>>2]=j;break j}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break j}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=k<<2;d=g+m|0;g=J[g+p>>2]-J[f+g>>2]|0;J[d>>2]=g;k:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break k}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}}if((o|0)>2){continue}break}}if((e|0)>0){pa(h,0,t)}g=J[a+8>>2];if((g|0)>0){e=J[a+32>>2];k=0;d=h;while(1){f=e;if((g|0)>0){f=J[q>>2];g=0;while(1){o=g<<2;l=J[o+d>>2];i=J[a+16>>2];l:{if((l|0)>(i|0)){J[f+o>>2]=i;break l}o=f+o|0;i=J[a+12>>2];if((i|0)>(l|0)){J[o>>2]=i;break l}J[o>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}g=k<<2;d=g+c|0;g=J[b+g>>2]-J[f+g>>2]|0;J[d>>2]=g;m:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break m}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}}na(h);return 1}function je(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Q(0),p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(J[c>>2]==J[c+4>>2]){m=J[d+80>>2];u=ba-16|0;ba=u;g=J[a+4>>2];k=K[b+24|0];h=J[d+48>>2];n=J[J[d>>2]>>2];c=u+8|0;J[c>>2]=1065353216;d=c;N[c>>2]=Q(-1<>2];c=oa(k<<2);a:{if(!m|!k){break a}p=h+n|0;o=N[d>>2];n=J[a+8>>2];v=J[b>>2];d=J[b+48>>2];g=J[b+40>>2];w=J[b+44>>2];if(!K[b+84|0]){f=J[b+68>>2];s=k&254;t=k&1;a=0;while(1){b=J[v>>2];l=Gl(g,w,J[f+(i<<2)>>2],0)+d|0;h=ua(c,b+l|0,g);b=0;q=0;if((k|0)!=1){while(1){l=p+(a<<2)|0;j=b<<2;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));b:{if(Q(R(e))>2]=r;j=j|4;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));c:{if(Q(R(e))>2]=j;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){l=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+h>>2]-N[b+n>>2]))+Q(.5))));d:{if(Q(R(e))>2]=b;a=a+1|0}i=i+1|0;if((m|0)!=(i|0)){continue}break}break a}s=k&254;t=k&1;a=0;while(1){b=J[v>>2];h=Gl(g,w,i,l)+d|0;j=ua(c,b+h|0,g);b=0;q=0;if((k|0)!=1){while(1){h=p+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));e:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));f:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){h=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+j>>2]-N[b+n>>2]))+Q(.5))));g:{if(Q(R(e))>2]=b;a=a+1|0}b=l;i=i+1|0;b=i?b:b+1|0;l=b;if((i|0)!=(m|0)|b){continue}break}}na(c);ba=u+16|0;return 1}j=ba-16|0;ba=j;m=J[a+4>>2];i=K[b+24|0];g=J[d+48>>2];h=J[J[d>>2]>>2];d=j+8|0;J[d>>2]=1065353216;l=d;N[d>>2]=Q(-1<>2];d=oa(i<<2);m=J[c+4>>2];q=J[c>>2];h:{if(!i|(m|0)==(q|0)){break h}n=h+g|0;c=m-q>>2;u=c>>>0<=1?1:c;o=N[l>>2];h=J[a+8>>2];v=J[b>>2];l=J[b+48>>2];m=J[b+40>>2];w=J[b+44>>2];if(K[b+84|0]){s=i&254;t=i&1;a=0;c=0;while(1){b=J[v>>2];g=Gl(m,w,J[q+(c<<2)>>2],0)+l|0;p=ua(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));i:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));j:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(t){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));k:{if(Q(R(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}break h}s=J[b+68>>2];t=i&254;x=i&1;a=0;c=0;while(1){b=J[v>>2];g=Gl(m,w,J[s+(J[q+(c<<2)>>2]<<2)>>2],0)+l|0;p=ua(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));l:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));m:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(x){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));n:{if(Q(R(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}}na(d);ba=j+16|0;return 1}function ic(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=ba-16|0;ba=k;a:{if(!J[a+8>>2]){break a}e=J[a>>2];J[a>>2]=a+4;J[J[a+4>>2]+8>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;f=J[e+4>>2];e=f?f:e;if(!e){Da(a,e);break a}h=J[e+8>>2];b:{if(!h){break b}f=J[h>>2];if((f|0)==(e|0)){J[h>>2]=0;d=h;f=J[d+4>>2];if(!f){break b}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}break b}J[h+4>>2]=0;d=h;if(!f){break b}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}}c:{if((b|0)==(c|0)){h=e;break c}f=b;while(1){h=d;J[k+12>>2]=e+28;J[k+8>>2]=e+16;b=f+16|0;d=J[k+8>>2];d:{if((b|0)==(d|0)){break d}i=K[b+11|0];g=i<<24>>24;if(H[d+11|0]>=0){if((g|0)>=0){g=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=g;J[d+8>>2]=J[b+8>>2];break d}hd(d,J[b>>2],J[b+4>>2]);break d}l=d;d=(g|0)<0;id(l,d?J[b>>2]:b,d?J[b+4>>2]:i)}d=J[k+12>>2];g=b+12|0;if((d|0)!=(g|0)){e:{j=K[b+23|0];i=j<<24>>24;if(H[d+11|0]>=0){if((i|0)>=0){b=J[g+4>>2];J[d>>2]=J[g>>2];J[d+4>>2]=b;J[d+8>>2]=J[g+8>>2];break e}hd(d,J[b+12>>2],J[b+16>>2]);break e}l=d;d=(i|0)<0;id(l,d?J[b+12>>2]:g,d?J[b+16>>2]:j)}}g=J[a+4>>2];f:{if(!g){b=a+4|0;d=b;break f}b=K[e+27|0];d=b<<24>>24<0;j=d?J[e+16>>2]:e+16|0;i=d?J[e+20>>2]:b;while(1){b=g;g=K[b+27|0];d=g<<24>>24<0;g:{h:{i:{g=d?J[b+20>>2]:g;l=g>>>0>>0?g:i;if(l){d=Ba(j,d?J[b+16>>2]:b+16|0,l);if(d){break i}}if(g>>>0>i>>>0){break h}break g}if((d|0)>=0){break g}}d=b;g=J[b>>2];if(g){continue}break f}g=J[b+4>>2];if(g){continue}break}d=b+4|0}J[e+8>>2]=b;J[e>>2]=0;J[e+4>>2]=0;J[d>>2]=e;b=e;e=J[J[a>>2]>>2];if(e){J[a>>2]=e;b=J[d>>2]}sb(J[a+4>>2],b);J[a+8>>2]=J[a+8>>2]+1;d=0;j:{if(!h){break j}e=J[h+8>>2];if(!e){break j}b=J[e>>2];if((h|0)==(b|0)){J[e>>2]=0;d=e;b=J[d+4>>2];if(!b){break j}while(1){d=b;b=J[b>>2];if(b){continue}b=J[d+4>>2];if(b){continue}break}break j}J[e+4>>2]=0;d=e;if(!b){break j}while(1){d=b;b=J[b>>2];if(b){continue}b=J[d+4>>2];if(b){continue}break}}e=J[f+4>>2];k:{if(e){while(1){b=e;e=J[b>>2];if(e){continue}break k}}while(1){b=J[f+8>>2];e=J[b>>2]!=(f|0);f=b;if(e){continue}break}}if(!h){break c}f=b;e=h;if((b|0)!=(c|0)){continue}break}}Da(a,h);if(!d){break a}while(1){e=J[d+8>>2];if(e){d=e;continue}break}Da(a,d)}if((b|0)!=(c|0)){while(1){f=oa(40);g=f+16|0;l:{if(H[b+27|0]>=0){d=J[b+20>>2];J[g>>2]=J[b+16>>2];J[g+4>>2]=d;J[g+8>>2]=J[b+24>>2];break l}Ga(g,J[b+16>>2],J[b+20>>2])}d=a+4|0;e=f+28|0;m:{if(H[b+39|0]>=0){h=J[b+32>>2];J[e>>2]=J[b+28>>2];J[e+4>>2]=h;J[e+8>>2]=J[b+36>>2];break m}Ga(e,J[b+28>>2],J[b+32>>2])}e=d;h=J[d>>2];n:{if(!h){break n}e=K[f+27|0];d=e<<24>>24<0;i=d?J[f+20>>2]:e;g=d?J[f+16>>2]:g;while(1){d=h;h=K[d+27|0];e=h<<24>>24<0;o:{p:{q:{h=e?J[d+20>>2]:h;j=h>>>0>>0?h:i;if(j){e=Ba(g,e?J[d+16>>2]:d+16|0,j);if(e){break q}}if(h>>>0>i>>>0){break p}break o}if((e|0)>=0){break o}}e=d;h=J[d>>2];if(h){continue}break n}h=J[d+4>>2];if(h){continue}break}e=d+4|0}J[f+8>>2]=d;J[f>>2]=0;J[f+4>>2]=0;J[e>>2]=f;d=f;f=J[J[a>>2]>>2];if(f){J[a>>2]=f;d=J[e>>2]}sb(J[a+4>>2],d);J[a+8>>2]=J[a+8>>2]+1;f=J[b+4>>2];r:{if(f){while(1){e=f;f=J[e>>2];if(f){continue}break r}}while(1){e=J[b+8>>2];d=J[e>>2]!=(b|0);b=e;if(d){continue}break}}b=e;if((c|0)!=(b|0)){continue}break}}ba=k+16|0}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if((b|0)<0){break a}c=J[a+12>>2];d=J[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=J[d>>2];i=J[e+60>>2];f=J[e+56>>2];e=d+4|0;if((e|0)!=(c|0)){while(1){h=J[e>>2];J[e>>2]=0;g=J[d>>2];J[d>>2]=h;if(g){Ka(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=J[a+12>>2]}if((c|0)!=(d|0)){while(1){c=c-4|0;e=J[c>>2];J[c>>2]=0;if(e){Ka(e)}if((c|0)!=(d|0)){continue}break}}J[a+12>>2]=d;g=J[a+4>>2];b:{if(!g|(i|0)<0){break b}c=J[g+24>>2];d=J[g+28>>2];if((c|0)==(d|0)){break b}while(1){if((i|0)==J[J[c>>2]+24>>2]){d=c+4|0;i=J[g+28>>2];if((d|0)!=(i|0)){while(1){h=J[d>>2];J[d>>2]=0;e=J[c>>2];J[c>>2]=h;if(e){lb(e+12|0,J[e+16>>2]);kb(e,J[e+4>>2]);na(e)}c=c+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}d=J[g+28>>2]}if((c|0)!=(d|0)){while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){lb(e+12|0,J[e+16>>2]);kb(e,J[e+4>>2]);na(e)}if((c|0)!=(d|0)){continue}break}}J[g+28>>2]=c;break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}c:{if((f|0)>4){break c}d:{e=P(f,12)+a|0;c=J[e+20>>2];d=J[e+24>>2];if((c|0)==(d|0)){break d}while(1){if(J[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c;c=c+4|0;ta(f,c,d-c|0);J[e+24>>2]=d-4}c=J[a+24>>2];d=J[a+20>>2];e:{if((c|0)==(d|0)){break e}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break e}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break e}J[c>>2]=d-1}c=J[a+36>>2];d=J[a+32>>2];f:{if((c|0)==(d|0)){break f}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break f}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break f}J[c>>2]=d-1}c=J[a+48>>2];d=J[a+44>>2];g:{if((c|0)==(d|0)){break g}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break g}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break g}J[c>>2]=d-1}c=J[a+60>>2];d=J[a+56>>2];h:{if((c|0)==(d|0)){break h}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break h}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break h}J[c>>2]=d-1}c=J[a+72>>2];a=J[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;g=e&1;c=0;if(d>>>0>=8){d=e&-2;e=0;while(1){i=c<<2;f=i+a|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}i=a+(i|4)|0;f=J[i>>2];if((f|0)>(b|0)){J[i>>2]=f-1}c=c+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!g){break a}f=b;a=a+(c<<2)|0;b=J[a>>2];if((f|0)>=(b|0)){break a}J[a>>2]=b-1}}function _a(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=ba-112|0;ba=j;k=i&2147483647;a:{b:{l=e&2147483647;m=!(b|c);if(!(d|l?l-2147418112>>>0<2147549184:m)){o=k-2147418112|0;if(!h&(o|0)==-2147418112?f|g:(o|0)==-2147418112&(h|0)!=0|o>>>0>2147549184){break b}}if(!(!d&(l|0)==2147418112?m:l>>>0<2147418112)){h=d;i=e|32768;f=b;g=c;break a}if(!(!h&(k|0)==2147418112?!(f|g):k>>>0<2147418112)){i=i|32768;break a}if(!(b|d|(l^2147418112|c))){n=d;d=!(b^f|d^h|(c^g|e^i^-2147483648));h=d?0:n;i=d?2147450880:e;f=d?0:b;g=d?0:c;break a}if(!(f|h|(k^2147418112|g))){break a}if(!(b|d|(c|l))){if(f|h|(g|k)){break a}f=b&f;g=c&g;h=d&h;i=e&i;break a}if(f|h|(g|k)){break b}f=b;g=c;h=d;i=e;break a}n=(k|0)==(l|0);r=n&(d|0)==(h|0)?(c|0)==(g|0)&b>>>0>>0|c>>>0>>0:n&d>>>0>>0|k>>>0>l>>>0;m=r;l=m?f:b;o=m?g:c;n=m?i:e;s=n;m=m?h:d;q=n&65535;d=r?d:h;e=r?e:i;t=e;n=e>>>16&32767;p=s>>>16&32767;if(!p){e=!(m|q);i=e;k=e?l:m;e=e<<6;h=e;i=S(i?o:q);e=e+((i|0)==32?S(k)+32|0:i)|0;Pa(j+96|0,l,o,m,q,e-15|0);m=J[j+104>>2];q=J[j+108>>2];o=J[j+100>>2];p=16-e|0;l=J[j+96>>2]}f=r?b:f;g=r?c:g;h=d;i=t&65535;if(!n){b=!(h|i);e=b;k=b?f:h;b=b<<6;c=b;e=S(e?g:i);b=b+((e|0)==32?S(k)+32|0:e)|0;Pa(j+80|0,f,g,h,i,b-15|0);n=16-b|0;h=J[j+88>>2];i=J[j+92>>2];g=J[j+84>>2];f=J[j+80>>2]}c=i<<3|h>>>29;b=h<<3|g>>>29;c=c|524288;h=m<<3|o>>>29;i=q<<3|m>>>29;r=s^t;e=g<<3|f>>>29;d=f<<3;c:{if((n|0)==(p|0)){break c}f=p-n|0;if(f>>>0>127){b=0;c=0;e=0;d=1;break c}Pa(j- -64|0,d,e,b,c,128-f|0);Gb(j+48|0,d,e,b,c,f);b=J[j+56>>2];c=J[j+60>>2];e=J[j+52>>2];d=J[j+48>>2]|(J[j+64>>2]|J[j+72>>2]|(J[j+68>>2]|J[j+76>>2]))!=0}m=d;k=e;n=h;q=i|524288;e=o<<3|l>>>29;o=l<<3;l=e;d:{if((r|0)<0){f=0;g=0;h=0;i=0;if(!(m^o|b^n|(k^l|c^q))){break a}d=o-m|0;e=l-((m>>>0>o>>>0)+k|0)|0;f=n-b|0;g=(k|0)==(l|0)&m>>>0>o>>>0|k>>>0>l>>>0;h=f-g|0;b=(q-((b>>>0>n>>>0)+c|0)|0)-(f>>>0>>0)|0;i=b;if(b>>>0>524287){break d}b=!(h|i);f=b;g=b?d:h;b=b<<6;c=b;f=S(f?e:i);b=b+((f|0)==32?S(g)+32|0:f)|0;b=b-12|0;Pa(j+32|0,d,e,h,i,b);p=p-b|0;h=J[j+40>>2];i=J[j+44>>2];d=J[j+32>>2];e=J[j+36>>2];break d}e=k+l|0;d=m+o|0;e=d>>>0>>0?e+1|0:e;f=(k|0)==(e|0)&d>>>0>>0|e>>>0>>0;k=c+q|0;b=b+n|0;k=b>>>0>>0?k+1|0:k;h=b+f|0;i=h>>>0>>0?k+1|0:k;if(!(i&1048576)){break d}d=m&1|((e&1)<<31|d>>>1);e=h<<31|e>>>1;p=p+1|0;h=(i&1)<<31|h>>>1;i=i>>>1|0}c=0;l=s&-2147483648;if((p|0)>=32767){h=c;i=l|2147418112;f=0;g=0;break a}n=0;e:{if((p|0)>0){n=p;break e}Pa(j+16|0,d,e,h,i,p+127|0);Gb(j,d,e,h,i,1-p|0);d=J[j>>2]|(J[j+16>>2]|J[j+24>>2]|(J[j+20>>2]|J[j+28>>2]))!=0;e=J[j+4>>2];h=J[j+8>>2];i=J[j+12>>2]}o=d&7;d=(e&7)<<29|d>>>3;f=(o>>>0>4)+d|0;b=h<<29|e>>>3;g=d>>>0>f>>>0?b+1|0:b;d=(b|0)==(g|0)&d>>>0>f>>>0|b>>>0>g>>>0;b=c|((i&7)<<29|h>>>3);h=d+b|0;i=l|(i>>>3&65535|n<<16);i=b>>>0>h>>>0?i+1|0:i;f:{if((o|0)==4){b=0;k=g+b|0;d=f;c=f&1;f=f+c|0;g=d>>>0>f>>>0?k+1|0:k;b=(b|0)==(g|0)&c>>>0>f>>>0|b>>>0>g>>>0;h=b+h|0;i=b>>>0>h>>>0?i+1|0:i;break f}if(!o){break a}}}J[a>>2]=f;J[a+4>>2]=g;J[a+8>>2]=h;J[a+12>>2]=i;ba=j+112|0}function na(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=J[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=J[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=J[d+8>>2];b=b>>>3|0;c=J[d+12>>2];if((c|0)==(e|0)){i=19396,j=J[4849]&Kl(b),J[i>>2]=j;break b}J[e+12>>2]=c;J[c+8>>2]=e;break b}h=J[d+24>>2];b=J[d+12>>2];c:{if((d|0)!=(b|0)){c=J[d+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break c}d:{e=d+20|0;c=J[e>>2];if(c){break d}e=d+16|0;c=J[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break b}e=J[d+28>>2];c=(e<<2)+19700|0;e:{if(J[c>>2]==(d|0)){J[c>>2]=b;if(b){break e}i=19400,j=J[4850]&Kl(e),J[i>>2]=j;break b}J[h+(J[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}J[b+24>>2]=h;c=J[d+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[d+20>>2];if(!c){break b}J[b+20>>2]=c;J[c+24>>2]=b;break b}b=J[f+4>>2];if((b&3)!=3){break b}J[4851]=a;J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=J[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(J[4855]==(f|0)){J[4855]=d;a=J[4852]+a|0;J[4852]=a;J[d+4>>2]=a|1;if(J[4854]!=(d|0)){break a}J[4851]=0;J[4854]=0;return}if(J[4854]==(f|0)){J[4854]=d;a=J[4851]+a|0;J[4851]=a;J[d+4>>2]=a|1;J[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=J[f+8>>2];b=b>>>3|0;c=J[f+12>>2];if((c|0)==(e|0)){i=19396,j=J[4849]&Kl(b),J[i>>2]=j;break g}J[e+12>>2]=c;J[c+8>>2]=e;break g}h=J[f+24>>2];b=J[f+12>>2];h:{if((f|0)!=(b|0)){c=J[f+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break h}i:{e=f+20|0;c=J[e>>2];if(c){break i}e=f+16|0;c=J[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break g}e=J[f+28>>2];c=(e<<2)+19700|0;j:{if(J[c>>2]==(f|0)){J[c>>2]=b;if(b){break j}i=19400,j=J[4850]&Kl(e),J[i>>2]=j;break g}J[h+(J[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}J[b+24>>2]=h;c=J[f+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[f+20>>2];if(!c){break g}J[b+20>>2]=c;J[c+24>>2]=b}J[d+4>>2]=a|1;J[a+d>>2]=a;if(J[4854]!=(d|0)){break f}J[4851]=a;return}J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+19436|0;c=J[4849];a=1<<(a>>>3);k:{if(!(c&a)){J[4849]=a|c;a=b;break k}a=J[b+8>>2]}J[b+8>>2]=d;J[a+12>>2]=d;J[d+12>>2]=b;J[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=S(a>>>8|0);e=((a>>>38-b&1)-(b<<1)|0)+62|0}J[d+28>>2]=e;J[d+16>>2]=0;J[d+20>>2]=0;g=(e<<2)+19700|0;l:{m:{c=J[4850];b=1<>2]=d;J[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=J[g>>2];while(1){c=b;if((J[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=J[g+16>>2];if(b){continue}break}J[g+16>>2]=d;J[d+24>>2]=c}J[d+12>>2]=d;J[d+8>>2]=d;break l}a=J[c+8>>2];J[a+12>>2]=d;J[c+8>>2]=d;J[d+24>>2]=0;J[d+12>>2]=c;J[d+8>>2]=a}a=J[4857]-1|0;J[4857]=a?a:-1}}function wk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=ba-48|0;ba=k;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;o=a+96|0;za(o);d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+8|0;q=a+44|0;d=d>>>2|0;r=d>>>0<=1?1:d;s=c+4|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Tc(q,J[d+(n<<2)>>2],k+8|0);f=J[k+12>>2];d=f>>31;i=J[k+8>>2];e=i>>31;g=(d^f)-d+((e^i)-e)|0;l=J[k+16>>2];d=l>>31;e=(d^l)-d|0;d=0;m=e;e=e+g|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+92>>2];g=j;break b}j=J[a+92>>2];g=j>>31;f=Hl(Gl(j,g,f,f>>31),ca,e,d);h=f>>31;g=Hl(Gl(j,g,i,i>>31),ca,e,d);d=g>>31;d=(f^h)-h+((d^g)-d)|0;l=(l|0)<0?d-j|0:j-d|0}c:{if((g|0)>=0){i=f+j|0;h=j+l|0;break c}d:{if((f|0)<0){d=l>>31;i=(d^l)-d|0;break d}d=l>>31;i=J[a+84>>2]+(d-(d^l)|0)|0}if((l|0)<0){d=f>>31;h=(d^f)-d|0;break c}d=f>>31;h=J[a+84>>2]+(d-(d^f)|0)|0}d=J[a+84>>2];m=d;e=d;e:{if(!(h|i)){break e}if(!((d|0)!=(h|0)|i)){m=h;e=h;break e}if(!((d|0)!=(i|0)|h)){m=i;e=i;break e}if(!((h|0)<=(j|0)|i)){m=(j<<1)-h|0;e=0;break e}if(!((d|0)!=(i|0)|(h|0)>=(j|0))){m=(j<<1)-h|0;e=i;break e}if(!((d|0)!=(h|0)|(j|0)<=(i|0))){m=h;e=(j<<1)-i|0;break e}if(h){m=h;e=i;break e}m=0;e=i;if((e|0)<=(j|0)){break e}e=(j<<1)-i|0}i=e;J[k+16>>2]=0-l;J[k+12>>2]=0-f;J[k+8>>2]=0-g;f:{if((g|0)<=0){g=j-l|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;g=(l|0)>0?e:d-e|0;e=l>>31;e=(e^l)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|g)){g=d;break g}if(!((d|0)!=(g|0)|e)){g=d;break g}f=(d|0)!=(e|0);if(!(g|f)){g=d;break g}if(!((g|0)<=(j|0)|e)){g=(j<<1)-g|0;d=0;break g}if(!((g|0)>=(j|0)|f)){g=(j<<1)-g|0;break g}if(!((d|0)!=(g|0)|(e|0)>=(j|0))){g=d;d=(j<<1)-e|0;break g}if(g){d=e;break g}g=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}e=(n<<3)+b|0;f=J[e>>2];h=J[e+4>>2];J[k+28>>2]=m;J[k+24>>2]=i;J[k+32>>2]=f;J[k+36>>2]=h;i=k+40|0;h=k+32|0;m=k+24|0;Ya(i,p,h,m);f=J[k+44>>2];l=J[k+40>>2];j=J[e>>2];e=J[e+4>>2];J[k+28>>2]=g;J[k+24>>2]=d;J[k+32>>2]=j;J[k+36>>2]=e;Ya(i,p,h,m);d=J[k+44>>2];g=J[k+40>>2];e=J[a+92>>2];h:{if((e|0)<(l|0)){l=l-J[a+80>>2]|0;break h}if((0-e|0)<=(l|0)){break h}l=J[a+80>>2]+l|0}i:{if((e|0)<(f|0)){f=f-J[a+80>>2]|0;break i}if((0-e|0)<=(f|0)){break i}f=J[a+80>>2]+f|0}j:{if((e|0)<(g|0)){g=g-J[a+80>>2]|0;break j}if((0-e|0)<=(g|0)){break j}g=J[a+80>>2]+g|0}i=n<<1;k:{if((d|0)>(e|0)){d=d-J[a+80>>2]|0;break k}if((0-e|0)<=(d|0)){break k}d=J[a+80>>2]+d|0}e=f>>31;e=(e^f)-e|0;h=l>>31;h=(h^l)-h|0;m=h>>>0>(e^2147483647)>>>0?2147483647:e+h|0;e=d>>31;e=(e^d)-e|0;h=g>>31;h=(h^g)-h|0;e=m>>>0>=(h>>>0>(e^2147483647)>>>0?2147483647:e+h|0)>>>0;Ca(o,e);i=i<<2;g=e?g:l;J[i+c>>2]=(J[a+80>>2]&g>>31)+g;d=e?d:f;J[i+s>>2]=(J[a+80>>2]&d>>31)+d;n=n+1|0;if((r|0)!=(n|0)){continue}break}}ba=k+48|0;return 1}ra();B()}function mk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=ba-48|0;ba=k;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;o=a+96|0;za(o);d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+8|0;q=a+44|0;d=d>>>2|0;r=d>>>0<=1?1:d;s=c+4|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Rc(q,J[d+(n<<2)>>2],k+8|0);f=J[k+12>>2];d=f>>31;i=J[k+8>>2];e=i>>31;g=(d^f)-d+((e^i)-e)|0;l=J[k+16>>2];d=l>>31;e=(d^l)-d|0;d=0;m=e;e=e+g|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+92>>2];g=j;break b}j=J[a+92>>2];g=j>>31;f=Hl(Gl(j,g,f,f>>31),ca,e,d);h=f>>31;g=Hl(Gl(j,g,i,i>>31),ca,e,d);d=g>>31;d=(f^h)-h+((d^g)-d)|0;l=(l|0)<0?d-j|0:j-d|0}c:{if((g|0)>=0){i=f+j|0;h=j+l|0;break c}d:{if((f|0)<0){d=l>>31;i=(d^l)-d|0;break d}d=l>>31;i=J[a+84>>2]+(d-(d^l)|0)|0}if((l|0)<0){d=f>>31;h=(d^f)-d|0;break c}d=f>>31;h=J[a+84>>2]+(d-(d^f)|0)|0}d=J[a+84>>2];m=d;e=d;e:{if(!(h|i)){break e}if(!((d|0)!=(h|0)|i)){m=h;e=h;break e}if(!((d|0)!=(i|0)|h)){m=i;e=i;break e}if(!((h|0)<=(j|0)|i)){m=(j<<1)-h|0;e=0;break e}if(!((d|0)!=(i|0)|(h|0)>=(j|0))){m=(j<<1)-h|0;e=i;break e}if(!((d|0)!=(h|0)|(j|0)<=(i|0))){m=h;e=(j<<1)-i|0;break e}if(h){m=h;e=i;break e}m=0;e=i;if((e|0)<=(j|0)){break e}e=(j<<1)-i|0}i=e;J[k+16>>2]=0-l;J[k+12>>2]=0-f;J[k+8>>2]=0-g;f:{if((g|0)<=0){g=j-l|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;g=(l|0)>0?e:d-e|0;e=l>>31;e=(e^l)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|g)){g=d;break g}if(!((d|0)!=(g|0)|e)){g=d;break g}f=(d|0)!=(e|0);if(!(g|f)){g=d;break g}if(!((g|0)<=(j|0)|e)){g=(j<<1)-g|0;d=0;break g}if(!((g|0)>=(j|0)|f)){g=(j<<1)-g|0;break g}if(!((d|0)!=(g|0)|(e|0)>=(j|0))){g=d;d=(j<<1)-e|0;break g}if(g){d=e;break g}g=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}e=(n<<3)+b|0;f=J[e>>2];h=J[e+4>>2];J[k+28>>2]=m;J[k+24>>2]=i;J[k+32>>2]=f;J[k+36>>2]=h;i=k+40|0;h=k+32|0;m=k+24|0;Ya(i,p,h,m);f=J[k+44>>2];l=J[k+40>>2];j=J[e>>2];e=J[e+4>>2];J[k+28>>2]=g;J[k+24>>2]=d;J[k+32>>2]=j;J[k+36>>2]=e;Ya(i,p,h,m);d=J[k+44>>2];g=J[k+40>>2];e=J[a+92>>2];h:{if((e|0)<(l|0)){l=l-J[a+80>>2]|0;break h}if((0-e|0)<=(l|0)){break h}l=J[a+80>>2]+l|0}i:{if((e|0)<(f|0)){f=f-J[a+80>>2]|0;break i}if((0-e|0)<=(f|0)){break i}f=J[a+80>>2]+f|0}j:{if((e|0)<(g|0)){g=g-J[a+80>>2]|0;break j}if((0-e|0)<=(g|0)){break j}g=J[a+80>>2]+g|0}i=n<<1;k:{if((d|0)>(e|0)){d=d-J[a+80>>2]|0;break k}if((0-e|0)<=(d|0)){break k}d=J[a+80>>2]+d|0}e=f>>31;e=(e^f)-e|0;h=l>>31;h=(h^l)-h|0;m=h>>>0>(e^2147483647)>>>0?2147483647:e+h|0;e=d>>31;e=(e^d)-e|0;h=g>>31;h=(h^g)-h|0;e=m>>>0>=(h>>>0>(e^2147483647)>>>0?2147483647:e+h|0)>>>0;Ca(o,e);i=i<<2;g=e?g:l;J[i+c>>2]=(J[a+80>>2]&g>>31)+g;d=e?d:f;J[i+s>>2]=(J[a+80>>2]&d>>31)+d;n=n+1|0;if((r|0)!=(n|0)){continue}break}}ba=k+48|0;return 1}ra();B()}function Uf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){e=J[a+48>>2];J[a+52>>2]=e;a:{if((e|0)!=J[a+56>>2]){J[e>>2]=b;J[a+52>>2]=e+4;break a}d=oa(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!e){break a}na(e)}c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;c=J[J[a+4>>2]+28>>2];k=J[(i<<2)+c>>2];if((k|0)==-1){return 0}e=(b-P(g,3)|0?-1:2)+b|0;j=J[c+(e<<2)>>2];if((j|0)==-1){return 0}b=J[a+36>>2];g=b+(k>>>3&536870908)|0;d=J[g>>2];c=1<>2]=c|d;mb(a+8|0,k,i);b=J[a+36>>2]}d=(j>>>3&536870908)+b|0;c=J[d>>2];b=1<>2]=b|c;mb(a+8|0,j,e)}f=J[a+52>>2];if((f|0)==J[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{f=f-4|0;b=J[f>>2];if((b|0)==-1){break c}c=(b>>>0)/3|0;g=J[a+24>>2]+(c>>>3&268435452)|0;d=J[g>>2];c=1<>2]=c|d;h=J[a+4>>2];c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{e:{j=J[a+36>>2]+(c>>>3&536870908)|0;i=J[j>>2];e=1<>2]+(c<<2)>>2];g:{if((g|0)==-1){break g}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}g=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2];if((g|0)!=-1){break f}}J[j>>2]=e|i;mb(k,c,d);h=J[a+4>>2];break e}J[j>>2]=e|i;mb(k,c,d);h=J[a+4>>2];b=g+1|0;if((((b>>>0)%3|0?b:g-2|0)|0)==-1){break e}b=-1;h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1|J[J[h>>2]+(c>>>3&536870908)>>2]>>>c&1){break h}b=J[J[J[h+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];e=c>>>5|0;j=J[f+(e<<2)>>2];break d}i:{j:{if((d|0)==-1){break j}c=-1;b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if(!((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1)){c=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((d>>>0)%3|0){f=d-1|0;break l}f=d+2|0;b=-1;if((f|0)==-1){break k}}b=-1;if(J[J[h>>2]+(f>>>3&536870908)>>2]>>>f&1){break k}b=J[J[J[h+64>>2]+12>>2]+(f<<2)>>2]}g=(b|0)==-1;i=g?-1:(b>>>0)/3|0;if((c|0)!=-1){f=J[a+24>>2];d=(c>>>0)/3|0;e=d>>>5|0;j=J[f+(e<<2)>>2];d=1<>2];e=i>>>5|0;j=J[f+(e<<2)>>2];if(!(d&j)){break d}}f=J[a+52>>2]-4|0;J[a+52>>2]=f;break b}if(g){b=c;break d}if(J[(i>>>3&536870908)+f>>2]>>>i&1){b=c;break d}h=J[a+52>>2];J[h-4>>2]=b;if(J[a+56>>2]!=(h|0)){J[h>>2]=c;f=h+4|0;break c}m:{i=J[a+48>>2];e=h-i|0;g=e>>2;d=g+1|0;if(d>>>0<1073741824){b=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(e){if(e>>>0>=1073741824){break m}d=oa(e<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;f=b+4|0;if((h|0)!=(i|0)){while(1){b=b-4|0;h=h-4|0;J[b>>2]=J[h>>2];if((h|0)!=(i|0)){continue}break}}J[a+56>>2]=d+(e<<2);J[a+52>>2]=f;J[a+48>>2]=b;if(!i){break b}na(i);f=J[a+52>>2];break b}qa();B()}xa();B()}J[(e<<2)+f>>2]=d|j;c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}J[a+52>>2]=f}if(J[a+48>>2]!=(f|0)){continue}break}}return 1}function bg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=J[a+8>>2];d=J[a+4>>2];if((h-d|0)/136>>>0>=b>>>0){a:{if(!b){break a}c=d;f=b&7;if(f){while(1){Ra(c);c=c+136|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}d=P(b,136)+d|0;if((b-1&536870911)>>>0<7){break a}while(1){Ra(c);Ra(c+136|0);Ra(c+272|0);Ra(c+408|0);Ra(c+544|0);Ra(c+680|0);Ra(c+816|0);Ra(c+952|0);c=c+1088|0;if((c|0)!=(d|0)){continue}break}}J[a+4>>2]=d;return}b:{c:{d:{c=J[a>>2];f=(d-c|0)/136|0;g=f+b|0;if(g>>>0<31580642){d=(h-c|0)/136|0;c=d<<1;g=d>>>0>=15790320?31580641:c>>>0>g>>>0?c:g;if(g){if(g>>>0>=31580642){break d}i=oa(P(g,136))}d=P(f,136)+i|0;c=d;f=b&7;if(f){while(1){Ra(c);c=c+136|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}h=P(b,136)+d|0;if((b-1&536870911)>>>0>=7){while(1){Ra(c);Ra(c+136|0);Ra(c+272|0);Ra(c+408|0);Ra(c+544|0);Ra(c+680|0);Ra(c+816|0);Ra(c+952|0);c=c+1088|0;if((h|0)!=(c|0)){continue}break}}f=P(g,136)+i|0;c=J[a+4>>2];e=J[a>>2];if((c|0)==(e|0)){break c}while(1){d=d-136|0;c=c-136|0;J[d>>2]=J[c>>2];J[d+4>>2]=J[c+4>>2];J[d+8>>2]=J[c+8>>2];J[d+12>>2]=J[c+12>>2];J[c+12>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;J[d+16>>2]=J[c+16>>2];J[d+20>>2]=J[c+20>>2];J[d+24>>2]=J[c+24>>2];J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;b=K[c+28|0];J[d+40>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;H[d+28|0]=b;J[d+32>>2]=J[c+32>>2];J[d+36>>2]=J[c+36>>2];J[d+40>>2]=J[c+40>>2];J[c+40>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[d+52>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+44>>2]=J[c+44>>2];J[d+48>>2]=J[c+48>>2];J[d+52>>2]=J[c+52>>2];J[c+52>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;b=d- -64|0;J[b>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+56>>2]=J[c+56>>2];J[d+60>>2]=J[c+60>>2];i=b;b=c- -64|0;J[i>>2]=J[b>>2];J[b>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[d+68>>2]=J[c+68>>2];b=J[c+72>>2];J[d+84>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+72>>2]=b;J[d+76>>2]=J[c+76>>2];J[d+80>>2]=J[c+80>>2];J[d+84>>2]=J[c+84>>2];J[c+84>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[d+96>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+88>>2]=J[c+88>>2];J[d+92>>2]=J[c+92>>2];J[d+96>>2]=J[c+96>>2];J[c+96>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;b=K[c+100|0];J[d+112>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0;H[d+100|0]=b;J[d+104>>2]=J[c+104>>2];J[d+108>>2]=J[c+108>>2];J[d+112>>2]=J[c+112>>2];J[c+112>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;J[d+124>>2]=0;J[d+116>>2]=0;J[d+120>>2]=0;J[d+116>>2]=J[c+116>>2];J[d+120>>2]=J[c+120>>2];J[d+124>>2]=J[c+124>>2];J[c+124>>2]=0;J[c+116>>2]=0;J[c+120>>2]=0;J[d+128>>2]=J[c+128>>2];J[d+132>>2]=J[c+132>>2];if((c|0)!=(e|0)){continue}break}J[a+8>>2]=f;e=J[a+4>>2];J[a+4>>2]=h;c=J[a>>2];J[a>>2]=d;if((c|0)==(e|0)){break b}while(1){a=e-136|0;b=J[a+116>>2];if(b){J[e-16>>2]=b;na(b)}b=J[e-32>>2];if(b){J[e-28>>2]=b;na(b)}pc(e-132|0);e=a;if((a|0)!=(c|0)){continue}break}break b}qa();B()}xa();B()}J[a+8>>2]=f;J[a+4>>2]=h;J[a>>2]=d}if(c){na(c)}}function Pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=ba+-64|0;ba=e;a:{b:{c:{d:{if(!K[a+288|0]){break d}c=1;h=da[J[J[a>>2]+40>>2]](a)|0;if((J[h+12>>2]-J[h+8>>2]|0)<=0){break d}kc(J[J[(da[J[J[a>>2]+40>>2]](a)|0)+8>>2]>>2],b);break c}c=b<<2;f=J[c+J[J[(da[J[J[a>>2]+40>>2]](a)|0)+56>>2]+84>>2]>>2];i=J[c+J[J[(da[J[J[a>>2]+40>>2]](a)|0)+4>>2]+8>>2]>>2];h=-1;c=J[a+176>>2];d=J[a+172>>2];e:{if((c|0)==(d|0)){break e}c=(c-d|0)/136|0;g=c>>>0<=1?1:c;c=0;while(1){if(J[d+P(c,136)>>2]==(b|0)){h=c;break e}c=c+1|0;if((g|0)!=(c|0)){continue}break}}f:{g:{h:{i:{if(!K[a+288|0]){c=J[i+56>>2];if(!(!f|!c)){if(!K[(d+P(h,136)|0)+28|0]|(f|0)!=1){break i}break h}if(c){break h}}c=a+40|0;break g}d=d+P(h,136)|0;c=J[d+56>>2];f=J[d+60>>2];J[e>>2]=-1;wb(d+116|0,f-c>>2,e);c=oa(80);f=J[a+8>>2];J[c+12>>2]=0;J[c+16>>2]=0;J[c>>2]=11984;J[c+4>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+76>>2]=0;i=d+104|0;J[c+72>>2]=i;J[c+68>>2]=f;J[c- -64>>2]=0;g=c+56|0;J[g>>2]=0;J[g+4>>2]=0;J[c+8>>2]=10876;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;j=e+24|0;J[j>>2]=0;J[j+4>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+56>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e>>2]=10876;l=d+4|0;J[e+4>>2]=l;d=J[d+68>>2];k=J[d>>2];d=J[d+4>>2];H[e+63|0]=0;k=(d-k>>2>>>0)/3|0;d=e+63|0;Na(j,k,d);j=J[e+4>>2];k=J[j+56>>2];j=J[j+52>>2];H[e+63|0]=0;Na(e+36|0,k-j>>2,d);J[e+20>>2]=c;J[e+16>>2]=f;J[e+12>>2]=i;J[e+8>>2]=l;J[c+76>>2]=a+72;Kc(c+8|0,e);Rb(g,J[e+48>>2],J[e+52>>2]);J[e>>2]=10876;d=J[e+48>>2];if(d){J[e+52>>2]=d;na(d)}J[e>>2]=11128;d=J[e+36>>2];if(d){na(d)}d=J[e+24>>2];if(d){na(d)}d=0;break f}c=J[a+12>>2];f=J[c+28>>2];c=J[c+24>>2];J[e>>2]=-1;g=d;d=P(h,136);g=g+d|0;wb(g+116|0,f-c>>2,e);H[(d+J[a+172>>2]|0)+100|0]=0;c=g+104|0}j:{k:{if(cb(J[(da[J[J[a>>2]+40>>2]](a)|0)+48>>2])|J[i+56>>2]){break k}if(K[a+288|0]){d=J[a+8>>2];if((J[d+12>>2]-J[d+8>>2]|0)>4){break k}}d=1;c=mg(a,c);break j}d=0;c=lg(a,c)}if(c){break f}c=0;break c}J[((h|0)==-1?a+68|0:(J[a+172>>2]+P(h,136)|0)+132|0)>>2]=d;i=pe(oa(76),c,b);b=J[a+188>>2];l:{if((b|0)!=J[a+192>>2]){J[b>>2]=h;J[a+188>>2]=b+4;break l}c=b;b=J[a+184>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=oa(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=h;c=ta(f,b,c);J[a+192>>2]=c+(d<<2);J[a+188>>2]=g+4;J[a+184>>2]=c;if(!b){break l}na(b)}a=da[J[J[a>>2]+40>>2]](a)|0;J[e>>2]=i;b=J[a+12>>2];m:{if(b>>>0>2]){J[e>>2]=0;J[b>>2]=i;J[a+12>>2]=b+4;break m}Ic(a+8|0,e)}a=J[e>>2];J[e>>2]=0;if(a){da[J[J[a>>2]+4>>2]](a)}c=1}ba=e- -64|0;return c|0}qa();B()}xa();B()}function Kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=ba+-64|0;ba=e;a:{b:{c:{d:{if(!K[a+352|0]){break d}c=1;h=da[J[J[a>>2]+40>>2]](a)|0;if((J[h+12>>2]-J[h+8>>2]|0)<=0){break d}kc(J[J[(da[J[J[a>>2]+40>>2]](a)|0)+8>>2]>>2],b);break c}c=b<<2;f=J[c+J[J[(da[J[J[a>>2]+40>>2]](a)|0)+56>>2]+84>>2]>>2];i=J[c+J[J[(da[J[J[a>>2]+40>>2]](a)|0)+4>>2]+8>>2]>>2];h=-1;c=J[a+176>>2];d=J[a+172>>2];e:{if((c|0)==(d|0)){break e}c=(c-d|0)/136|0;g=c>>>0<=1?1:c;c=0;while(1){if(J[d+P(c,136)>>2]==(b|0)){h=c;break e}c=c+1|0;if((g|0)!=(c|0)){continue}break}}f:{g:{h:{i:{if(!K[a+352|0]){c=J[i+56>>2];if(!(!f|!c)){if(!K[(d+P(h,136)|0)+28|0]|(f|0)!=1){break i}break h}if(c){break h}}c=a+40|0;break g}d=d+P(h,136)|0;c=J[d+56>>2];f=J[d+60>>2];J[e>>2]=-1;wb(d+116|0,f-c>>2,e);c=oa(80);f=J[a+8>>2];J[c+12>>2]=0;J[c+16>>2]=0;J[c>>2]=11984;J[c+4>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+76>>2]=0;i=d+104|0;J[c+72>>2]=i;J[c+68>>2]=f;J[c- -64>>2]=0;g=c+56|0;J[g>>2]=0;J[g+4>>2]=0;J[c+8>>2]=10876;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;j=e+24|0;J[j>>2]=0;J[j+4>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+56>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e>>2]=10876;l=d+4|0;J[e+4>>2]=l;d=J[d+68>>2];k=J[d>>2];d=J[d+4>>2];H[e+63|0]=0;k=(d-k>>2>>>0)/3|0;d=e+63|0;Na(j,k,d);j=J[e+4>>2];k=J[j+56>>2];j=J[j+52>>2];H[e+63|0]=0;Na(e+36|0,k-j>>2,d);J[e+20>>2]=c;J[e+16>>2]=f;J[e+12>>2]=i;J[e+8>>2]=l;J[c+76>>2]=a+72;Kc(c+8|0,e);Rb(g,J[e+48>>2],J[e+52>>2]);J[e>>2]=10876;d=J[e+48>>2];if(d){J[e+52>>2]=d;na(d)}J[e>>2]=11128;d=J[e+36>>2];if(d){na(d)}d=J[e+24>>2];if(d){na(d)}d=0;break f}c=J[a+12>>2];f=J[c+28>>2];c=J[c+24>>2];J[e>>2]=-1;g=d;d=P(h,136);g=g+d|0;wb(g+116|0,f-c>>2,e);H[(d+J[a+172>>2]|0)+100|0]=0;c=g+104|0}j:{k:{if(cb(J[(da[J[J[a>>2]+40>>2]](a)|0)+48>>2])|J[i+56>>2]){break k}if(K[a+352|0]){d=J[a+8>>2];if((J[d+12>>2]-J[d+8>>2]|0)>4){break k}}d=1;c=mg(a,c);break j}d=0;c=lg(a,c)}if(c){break f}c=0;break c}J[((h|0)==-1?a+68|0:(J[a+172>>2]+P(h,136)|0)+132|0)>>2]=d;i=pe(oa(76),c,b);b=J[a+188>>2];l:{if((b|0)!=J[a+192>>2]){J[b>>2]=h;J[a+188>>2]=b+4;break l}c=b;b=J[a+184>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=oa(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=h;c=ta(f,b,c);J[a+192>>2]=c+(d<<2);J[a+188>>2]=g+4;J[a+184>>2]=c;if(!b){break l}na(b)}a=da[J[J[a>>2]+40>>2]](a)|0;J[e>>2]=i;b=J[a+12>>2];m:{if(b>>>0>2]){J[e>>2]=0;J[b>>2]=i;J[a+12>>2]=b+4;break m}Ic(a+8|0,e)}a=J[e>>2];J[e>>2]=0;if(a){da[J[J[a>>2]+4>>2]](a)}c=1}ba=e- -64|0;return c|0}qa();B()}xa();B()}function oc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=ba-16|0;ba=j;J[a+124>>2]=J[a+124>>2]+1;h=-1;d=J[a+120>>2];c=-1;a:{if((d|0)==-1){break a}c=d+1|0;h=(c>>>0)%3|0?c:d-2|0;c=d-1|0;if((d>>>0)%3|0){break a}c=d+2|0}e=J[a+104>>2];f=J[a+92>>2];g=f+(h<<2)|0;k=e+(J[g>>2]<<2)|0;i=J[k>>2];b:{c:{switch(b|0){case 0:case 1:J[k>>2]=i-1;d=(J[(c<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;if((b|0)!=1){break b}g=0;d:{if((c|0)==-1){d=0;break d}d=0;c=J[J[J[a+88>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break d}while(1){e:{e=J[a+64>>2];if(da[J[J[e>>2]+36>>2]](e,(c>>>0)/3|0)|0){break e}d=d+1|0;e=c+1|0;c=(e>>>0)%3|0?e:c-2|0;if((c|0)==-1){break e}c=J[J[J[a+88>>2]+12>>2]+(c<<2)>>2];if((c|0)!=-1){continue}}break}e=J[a+104>>2];f=J[a+92>>2]}J[(J[(J[a+120>>2]<<2)+f>>2]<<2)+e>>2]=d+1;f:{if((h|0)==-1){break f}c=J[J[J[a+88>>2]+12>>2]+(h<<2)>>2];if((c|0)==-1){break f}e=J[a+108>>2]-e>>2;while(1){f=J[a+64>>2];d=(c>>>0)/3|0;if(da[J[J[f>>2]+36>>2]](f,d)|0){break f}f=c+1|0;J[J[a+92>>2]+(((f>>>0)%3|0?f:c-2|0)<<2)>>2]=e;g=g+1|0;f=J[a+88>>2];g:{if((P(d,3)|0)!=(c|0)){c=c-1|0;break g}c=c+2|0;if((c|0)==-1){break f}}c=J[J[f+12>>2]+(c<<2)>>2];if((c|0)!=-1){continue}break}}J[j+12>>2]=g+1;h:{c=J[a+108>>2];f=J[a+112>>2];if(c>>>0>>0){J[c>>2]=J[j+12>>2];J[a+108>>2]=c+4;break h}i:{d=c;c=J[a+104>>2];d=d-c|0;h=d>>2;e=h+1|0;if(e>>>0<1073741824){f=f-c|0;g=f>>>1|0;e=f>>>0>=2147483644?1073741823:e>>>0>>0?g:e;if(e){if(e>>>0>=1073741824){break i}f=oa(e<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=J[j+12>>2];g=e<<2;e=ta(f,c,d);J[a+112>>2]=g+e;J[a+108>>2]=h+4;J[a+104>>2]=e;if(c){na(c)}break h}qa();B()}xa();B()}break b;case 5:d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-2;break b;case 3:d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-1;break b;case 7:break c;default:break b}}d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-2}j:{k:{c=J[a+116>>2];l:{if((c|0)==-1){break l}h=J[(c<<2)+11184>>2];c=J[a+132>>2];d=(c|0)>(i|0)?i:c;c=J[a+128>>2];c=J[a+136>>2]+P((c|0)<=(i|0)?d-c|0:0,12)|0;e=J[c+4>>2];d=J[c+8>>2];if(e>>>0>>0){J[e>>2]=h;J[c+4>>2]=e+4;break l}f=e;e=J[c>>2];i=f-e|0;g=i>>2;f=g+1|0;if(f>>>0>=1073741824){break k}d=d-e|0;k=d>>>1|0;f=d>>>0>=2147483644?1073741823:f>>>0>>0?k:f;if(f){if(f>>>0>=1073741824){break j}d=oa(f<<2)}else{d=0}g=d+(g<<2)|0;J[g>>2]=h;d=ta(d,e,i);J[c>>2]=d;J[c+4>>2]=g+4;J[c+8>>2]=d+(f<<2);if(!e){break l}na(e)}J[a+116>>2]=b;ba=j+16|0;return}qa();B()}xa();B()}function Vf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){f=J[a+48>>2];J[a+52>>2]=f;a:{if((f|0)!=J[a+56>>2]){J[f>>2]=b;J[a+52>>2]=f+4;break a}d=oa(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!f){break a}na(f)}e=-1;d=J[a+4>>2];c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;if((i|0)!=-1){e=J[J[d>>2]+(i<<2)>>2]}b:{h=b-P(g,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}j=J[J[d>>2]+(c<<2)>>2];if((j|0)==-1){return 0}c=J[a+36>>2];f=c+(e>>>3&536870908)|0;g=J[f>>2];d=1<>2]=d|g;mb(a+8|0,e,i);c=J[a+36>>2]}g=(j>>>3&536870908)+c|0;d=J[g>>2];c=1<>2]=c|d;mb(a+8|0,j,(h?-1:2)+b|0)}c=J[a+52>>2];if((c|0)==J[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=J[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;f=J[a+24>>2]+(d>>>3&268435452)|0;g=J[f>>2];d=1<>2]=d|g;while(1){i=J[a+4>>2];e=J[J[i>>2]+(b<<2)>>2];if((e|0)==-1){return 0}e:{f:{h=J[a+36>>2]+(e>>>3&536870908)|0;f=J[h>>2];g=1<>2]+(e<<2)>>2];h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break h}d=J[J[i+12>>2]+(c<<2)>>2];if((d|0)!=-1){break g}}J[h>>2]=f|g;mb(j,e,b);break f}J[h>>2]=f|g;mb(j,e,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}c=b-2|0;d=b+1|0;b=-1;c=(d>>>0)%3|0?d:c;if((c|0)!=-1){b=J[J[J[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];f=c>>>5|0;i=J[e+(f<<2)>>2];break e}c=-1;g=J[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=J[J[g+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=J[J[g+12>>2]+(e<<2)>>2]}g=(b|0)==-1;h=g?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=J[a+24>>2];d=(c>>>0)/3|0;f=d>>>5|0;i=J[e+(f<<2)>>2];d=1<>2];f=h>>>5|0;i=J[e+(f<<2)>>2];if(!(d&i)){break e}}c=J[a+52>>2]-4|0;J[a+52>>2]=c;break c}if(g){b=c;break e}if(J[(h>>>3&536870908)+e>>2]>>>h&1){b=c;break e}e=J[a+52>>2];J[e-4>>2]=b;if(J[a+56>>2]!=(e|0)){J[e>>2]=c;c=e+4|0;break d}l:{h=J[a+48>>2];f=e-h|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){b=f>>>1|0;f=f>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(f){if(f>>>0>=1073741824){break l}d=oa(f<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;c=b+4|0;if((e|0)!=(h|0)){while(1){b=b-4|0;e=e-4|0;J[b>>2]=J[e>>2];if((e|0)!=(h|0)){continue}break}}J[a+56>>2]=d+(f<<2);J[a+52>>2]=c;J[a+48>>2]=b;if(!h){break c}na(h);c=J[a+52>>2];break c}qa();B()}xa();B()}J[(f<<2)+e>>2]=d|i;if((b|0)!=-1){continue}break}return 0}J[a+52>>2]=c}if(J[a+48>>2]!=(c|0)){continue}break}}return 1}function Lg(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,n=0;d=a+4|0;if((d|0)!=(b|0)){ic(d,J[b>>2],b+4|0);f=J[b+12>>2];k=b+16|0;d=0;h=a+16|0;a:{if(!J[h+8>>2]){break a}e=J[h>>2];j=h+4|0;J[h>>2]=j;J[J[h+4>>2]+8>>2]=0;J[h+4>>2]=0;J[h+8>>2]=0;c=J[e+4>>2];g=c?c:e;if(!g){nb(h,g);break a}e=J[g+8>>2];b:{if(!e){break b}c=J[e>>2];if((g|0)==(c|0)){J[e>>2]=0;d=e;c=J[e+4>>2];if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}c=J[d+4>>2];if(c){continue}break}break b}J[e+4>>2]=0;d=e;if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}c=J[d+4>>2];if(c){continue}break}}c:{if((f|0)==(k|0)){i=g;break c}c=f;while(1){i=d;J[g+16>>2]=J[c+16>>2];if((c|0)!=(g|0)){ic(g+20|0,J[c+20>>2],c+24|0)}f=j;d=f;e=J[d>>2];d:{if(!e){break d}l=J[g+16>>2];while(1){f=e;if((l|0)>2]){d=f;e=J[d>>2];if(e){continue}break d}e=J[f+4>>2];if(e){continue}break}d=f+4|0}J[g+8>>2]=f;J[g>>2]=0;J[g+4>>2]=0;J[d>>2]=g;f=J[J[h>>2]>>2];if(f){J[h>>2]=f;g=J[d>>2]}sb(J[h+4>>2],g);J[h+8>>2]=J[h+8>>2]+1;d=0;e:{if(!i){break e}e=J[i+8>>2];if(!e){break e}f=J[e>>2];if((i|0)==(f|0)){J[e>>2]=0;d=e;f=J[e+4>>2];if(!f){break e}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}break e}J[e+4>>2]=0;d=e;if(!f){break e}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}}e=J[c+4>>2];f:{if(e){while(1){f=e;e=J[e>>2];if(e){continue}break f}}while(1){f=J[c+8>>2];e=J[f>>2]!=(c|0);c=f;if(e){continue}break}}if(!i){break c}g=i;c=f;if((k|0)!=(c|0)){continue}break}}nb(h,i);if(!d){break a}while(1){c=J[d+8>>2];if(c){d=c;continue}break}nb(h,d)}if((f|0)!=(k|0)){while(1){n=ba-16|0;ba=n;i=oa(32);g=f+16|0;d=J[g>>2];m=i+24|0;J[m>>2]=0;J[m+4>>2]=0;J[i+16>>2]=d;l=i+20|0;J[l>>2]=m;e=h+4|0;c=J[g+4>>2];j=g+8|0;if((c|0)!=(j|0)){while(1){d=c+16|0;Pg(n+8|0,l,m,d,d);g=J[c+4>>2];g:{if(g){while(1){d=g;g=J[d>>2];if(g){continue}break g}}while(1){d=J[c+8>>2];g=J[d>>2]!=(c|0);c=d;if(g){continue}break}}c=d;if((j|0)!=(c|0)){continue}break}}c=e;d=J[c>>2];h:{if(!d){break h}g=J[i+16>>2];while(1){e=d;if((g|0)>2]){c=e;d=J[c>>2];if(d){continue}break h}d=J[e+4>>2];if(d){continue}break}c=e+4|0}J[i+8>>2]=e;J[i>>2]=0;J[i+4>>2]=0;J[c>>2]=i;d=i;e=J[J[h>>2]>>2];if(e){J[h>>2]=e;d=J[c>>2]}sb(J[h+4>>2],d);J[h+8>>2]=J[h+8>>2]+1;ba=n+16|0;e=J[f+4>>2];i:{if(e){while(1){c=e;e=J[c>>2];if(e){continue}break i}}while(1){c=J[f+8>>2];d=J[c>>2]!=(f|0);f=c;if(d){continue}break}}f=c;if((c|0)!=(k|0)){continue}break}}ic(a+28|0,J[b+24>>2],b+28|0)}}function tf(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,n=0;f=ba+-64|0;ba=f;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;J[f+48>>2]=1065353216;c=J[a+80>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;h=oa(e);J[f+16>>2]=h;c=e+h|0;J[f+24>>2]=c;pa(h,0,e);J[f+20>>2]=c;while(1){d=J[J[b>>2]>>2];j=J[b+48>>2];e=Gl(J[b+40>>2],J[b+44>>2],i,0);c=e;e=e+j|0;c=d+e|0;n=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+28>>2]=n;b:{c:{l=J[f+36>>2];d:{if(!l){break d}d=J[f+32>>2];j=n^318;k=Jl(l)>>>0>1;e=j&l-1;e:{if(!k){break e}c=j;e=c;if(c>>>0>>0){break e}e=(j>>>0)%(l>>>0)|0}c=J[d+(e<<2)>>2];if(!c){break d}d=J[c>>2];if(!d){break d}if(!k){k=l-1|0;while(1){c=J[d+4>>2];f:{if((c|0)!=(j|0)){if((e|0)==(c&k)){break f}break d}if((n|0)==J[d+8>>2]){break c}}d=J[d>>2];if(d){continue}break}break d}while(1){c=J[d+4>>2];g:{if((c|0)!=(j|0)){if(c>>>0>=l>>>0){c=(c>>>0)%(l>>>0)|0}if((c|0)==(e|0)){break g}break d}if((n|0)==J[d+8>>2]){break c}}d=J[d>>2];if(d){continue}break}}J[f+12>>2]=m;J[f+8>>2]=n;c=f+8|0;pf(f+56|0,f+32|0,c,c);c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,m)|0,f+28|0,c);h=J[f+16>>2];J[h+(i<<2)>>2]=m;m=m+1|0;break b}J[(i<<2)+h>>2]=J[d+12>>2]}i=i+1|0;g=i?g:g+1|0;d=J[a+80>>2];if(!g&i>>>0>>0){continue}break}if((d|0)!=(m|0)){h:{if(!K[a+84|0]){b=J[a+72>>2];e=J[a+68>>2];if((b|0)==(e|0)){break h}b=b-e>>2;b=b>>>0<=1?1:b;c=b&3;k=0;d=0;if(b-1>>>0>=3){g=b&-4;j=0;while(1){i=d<<2;b=i+e|0;J[b>>2]=J[(J[b>>2]<<2)+h>>2];b=e+(i|4)|0;J[b>>2]=J[(J[b>>2]<<2)+h>>2];b=e+(i|8)|0;J[b>>2]=J[(J[b>>2]<<2)+h>>2];b=e+(i|12)|0;J[b>>2]=J[(J[b>>2]<<2)+h>>2];d=d+4|0;j=j+4|0;if((g|0)!=(j|0)){continue}break}}if(!c){break h}while(1){b=e+(d<<2)|0;J[b>>2]=J[(J[b>>2]<<2)+h>>2];d=d+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break h}H[a+84|0]=0;c=a+68|0;b=J[a+68>>2];g=J[a+72>>2]-b>>2;i:{if(g>>>0>>0){Ma(c,d-g|0,2176);d=J[a+80>>2];break i}if(d>>>0>=g>>>0){break i}J[a+72>>2]=b+(d<<2)}if(!d){break h}e=J[c>>2];k=0;b=0;if(d>>>0>=4){c=d&-4;j=0;while(1){i=b<<2;J[i+e>>2]=J[h+i>>2];g=i|4;J[g+e>>2]=J[h+g>>2];g=i|8;J[g+e>>2]=J[h+g>>2];g=i|12;J[g+e>>2]=J[h+g>>2];b=b+4|0;j=j+4|0;if((c|0)!=(j|0)){continue}break}}c=d&3;if(!c){break h}while(1){g=b<<2;J[g+e>>2]=J[h+g>>2];b=b+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}}J[a+80>>2]=m}na(h)}d=J[f+40>>2];if(d){while(1){a=J[d>>2];na(d);d=a;if(d){continue}break}}a=J[f+32>>2];J[f+32>>2]=0;if(a){na(a)}ba=f- -64|0;return m}qa();B()}function ml(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=ba-16|0;ba=m;f=J[a+4>>2];a:{b:{if(f){if(da[J[J[a>>2]+52>>2]](a,b,J[J[f+4>>2]+80>>2])|0){break b}break a}if(!(da[J[J[a>>2]+52>>2]](a,b,0)|0)){break a}}n=1;if(!K[a+28|0]){break a}d=J[a+32>>2];i=J[a+8>>2];c=J[i+80>>2];f=0;J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;c:{d:{e:{if(c){if(c>>>0>=1073741824){break e}c=c<<2;f=oa(c);pa(f,0,c)}e=J[b+4>>2];c=J[b>>2];f:{if((e|0)==(c|0)){break f}b=e-c>>2;if(K[i+84|0]){e=b>>>0<=1?1:b;h=e&3;b=0;if(e-1>>>0>=3){j=e&-4;e=0;while(1){J[(J[c+(b<<2)>>2]<<2)+f>>2]=b;k=b|1;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;k=b|2;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;k=b|3;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;b=b+4|0;e=e+4|0;if((j|0)!=(e|0)){continue}break}}if(!h){break f}while(1){J[(J[c+(b<<2)>>2]<<2)+f>>2]=b;b=b+1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}break f}g=b>>>0<=1?1:b;j=g&3;h=J[i+68>>2];e=0;b=0;if(g-1>>>0>=3){k=g&-4;g=0;while(1){J[(J[h+(J[c+(b<<2)>>2]<<2)>>2]<<2)+f>>2]=b;l=b|1;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;l=b|2;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;l=b|3;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;b=b+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}}if(!j){break f}while(1){J[(J[h+(J[c+(b<<2)>>2]<<2)>>2]<<2)+f>>2]=b;b=b+1|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}b=J[a+4>>2];g:{if(!K[d+84|0]){break g}c=J[J[b+4>>2]+80>>2];H[d+84|0]=0;g=J[d+68>>2];e=J[d+72>>2]-g>>2;if(e>>>0>>0){Ma(d+68|0,c-e|0,2736);b=J[a+4>>2];break g}if(c>>>0>=e>>>0){break g}J[d+72>>2]=g+(c<<2)}h=J[J[b+4>>2]+80>>2];if(!h){break d}c=J[d+68>>2];if(K[i+84|0]){a=0;b=0;if(h>>>0>=4){g=h&-4;e=0;while(1){d=b<<2;J[d+c>>2]=J[f+d>>2];i=d|4;J[i+c>>2]=J[f+i>>2];i=d|8;J[i+c>>2]=J[f+i>>2];d=d|12;J[d+c>>2]=J[f+d>>2];b=b+4|0;e=e+4|0;if((g|0)!=(e|0)){continue}break}}e=h&3;if(!e){break c}while(1){d=b<<2;J[d+c>>2]=J[f+d>>2];b=b+1|0;a=a+1|0;if((e|0)!=(a|0)){continue}break}break c}a=J[i+68>>2];e=0;b=0;if(h>>>0>=4){i=h&-4;g=0;while(1){d=b<<2;J[d+c>>2]=J[(J[a+d>>2]<<2)+f>>2];j=d|4;J[j+c>>2]=J[(J[a+j>>2]<<2)+f>>2];j=d|8;J[j+c>>2]=J[(J[a+j>>2]<<2)+f>>2];d=d|12;J[d+c>>2]=J[(J[a+d>>2]<<2)+f>>2];b=b+4|0;g=g+4|0;if((i|0)!=(g|0)){continue}break}}d=h&3;if(!d){break c}while(1){g=b<<2;J[g+c>>2]=J[(J[a+g>>2]<<2)+f>>2];b=b+1|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}break c}qa();B()}if(!f){break a}}na(f)}ba=m+16|0;return n|0}function Og(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{b:{c:{d:{e:{f:{i=a+4|0;g:{if((i|0)==(b|0)){break g}f=K[b+27|0];g=f<<24>>24<0;h=K[e+11|0];j=h<<24>>24;k=(j|0)<0;f=g?J[b+20>>2]:f;h=k?J[e+4>>2]:h;l=f>>>0>>0;m=l?f:h;if(m){k=k?J[e>>2]:e;g=g?J[b+16>>2]:b+16|0;n=Ba(k,g,m);if(!n){if(f>>>0>h>>>0){break g}break f}if((n|0)>=0){break f}break g}if(f>>>0<=h>>>0){break e}}d=J[b>>2];h:{f=b;i:{if((f|0)==J[a>>2]){break i}j:{if(!d){a=b;while(1){f=J[a+8>>2];h=J[f>>2]==(a|0);a=f;if(h){continue}break}break j}a=d;while(1){f=a;a=J[f+4>>2];if(a){continue}break}}a=K[e+11|0];k=a<<24>>24;h=(k|0)<0;j=K[f+27|0];g=j<<24>>24<0;k:{a=h?J[e+4>>2]:a;j=g?J[f+20>>2]:j;l=a>>>0>>0?a:j;if(l){h=Ba(g?J[f+16>>2]:f+16|0,h?J[e>>2]:e,l);if(h){break k}}if(a>>>0>j>>>0){break i}break h}if((h|0)>=0){break h}}if(!d){J[c>>2]=b;return b}J[c>>2]=f;return f+4|0}d=J[i>>2];if(!d){J[c>>2]=i;return i}e=(k|0)<0?J[e>>2]:e;b=i;while(1){f=d;d=K[f+27|0];i=d<<24>>24<0;d=i?J[f+20>>2]:d;h=d>>>0>>0;l:{m:{n:{o:{g=h?d:a;p:{if(g){i=i?J[f+16>>2]:f+16|0;j=Ba(e,i,g);if(!j){if(a>>>0>>0){break p}break o}if((j|0)>=0){break o}break p}if(a>>>0>=d>>>0){break n}}b=f;d=J[f>>2];if(d){continue}break b}d=Ba(i,e,g);if(d){break m}}if(h){break l}break b}if((d|0)>=0){break b}}b=f+4|0;d=J[f+4>>2];if(d){continue}break}break b}a=Ba(g,k,m);if(a){break d}}if(l){break c}break a}if((a|0)>=0){break a}}d=J[b+4>>2];q:{if(!d){a=b;while(1){f=J[a+8>>2];g=J[f>>2]!=(a|0);a=f;if(g){continue}break}break q}a=d;while(1){f=a;a=J[f>>2];if(a){continue}break}}r:{s:{if((f|0)==(i|0)){break s}g=K[f+27|0];a=g<<24>>24<0;t:{g=a?J[f+20>>2]:g;k=h>>>0>g>>>0?g:h;if(k){a=Ba((j|0)<0?J[e>>2]:e,a?J[f+16>>2]:f+16|0,k);if(a){break t}}if(h>>>0>>0){break s}break r}if((a|0)>=0){break r}}if(!d){J[c>>2]=b;return b+4|0}J[c>>2]=f;return f}a=J[i>>2];if(!a){J[c>>2]=i;return i}d=(j|0)<0?J[e>>2]:e;b=i;while(1){f=a;a=K[f+27|0];e=a<<24>>24<0;a=e?J[f+20>>2]:a;i=a>>>0>>0;u:{v:{w:{x:{g=i?a:h;y:{if(g){e=e?J[f+16>>2]:f+16|0;j=Ba(d,e,g);if(!j){if(a>>>0>h>>>0){break y}break x}if((j|0)>=0){break x}break y}if(a>>>0<=h>>>0){break w}}b=f;a=J[f>>2];if(a){continue}break b}a=Ba(e,d,g);if(a){break v}}if(i){break u}break b}if((a|0)>=0){break b}}b=f+4|0;a=J[f+4>>2];if(a){continue}break}}J[c>>2]=f;return b}J[c>>2]=b;J[d>>2]=b;return d}function Dc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{d=b;g=J[b>>2];if(g){c=J[b+4>>2];if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}break}}g=J[d+4>>2];if(g){break b}g=0;e=1;break a}J[g+8>>2]=J[d+8>>2];e=0}f=J[d+8>>2];c=J[f>>2];c:{if((d|0)==(c|0)){J[f>>2]=g;if((a|0)==(d|0)){c=0;a=g;break c}c=J[f+4>>2];break c}J[f+4>>2]=g}h=!K[d+12|0];if((b|0)!=(d|0)){f=J[b+8>>2];J[d+8>>2]=f;J[f+((J[J[b+8>>2]>>2]!=(b|0))<<2)>>2]=d;f=J[b>>2];J[d>>2]=f;J[f+8>>2]=d;f=J[b+4>>2];J[d+4>>2]=f;if(f){J[f+8>>2]=d}H[d+12|0]=K[b+12|0];a=(a|0)==(b|0)?d:a}if(!(h|!a)){if(e){while(1){b=K[c+12|0];d:{e=J[c+8>>2];if(J[e>>2]!=(c|0)){if(!b){H[c+12|0]=1;H[e+12|0]=0;d=J[e+4>>2];b=J[d>>2];J[e+4>>2]=b;if(b){J[b+8>>2]=e}J[d+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=d;J[d>>2]=e;J[e+8>>2]=d;b=J[c>>2];a=(b|0)==(a|0)?c:a;c=J[b+4>>2]}e:{f:{d=J[c>>2];g:{if(!(K[d+12|0]?0:d)){b=J[c+4>>2];if(K[b+12|0]?0:b){break g}H[c+12|0]=0;c=J[c+8>>2];h:{if((c|0)==(a|0)){c=a;break h}if(K[c+12|0]){break d}}H[c+12|0]=1;return}b=J[c+4>>2];if(!b){break f}}if(K[b+12|0]){break f}d=c;break e}H[d+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;b=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[b+12|0]=1;b=J[c+4>>2];a=J[b>>2];J[c+4>>2]=a;if(a){J[a+8>>2]=c}J[b+8>>2]=J[c+8>>2];a=J[c+8>>2];J[(((c|0)!=J[a>>2])<<2)+a>>2]=b;J[b>>2]=c;J[c+8>>2]=b;return}if(!b){H[c+12|0]=1;H[e+12|0]=0;b=J[c+4>>2];J[e>>2]=b;if(b){J[b+8>>2]=e}J[c+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=c;J[c+4>>2]=e;J[e+8>>2]=c;a=(a|0)==(e|0)?c:a;c=J[e>>2]}b=J[c>>2];i:{if(!(!b|K[b+12|0])){d=c;break i}d=J[c+4>>2];if(!(K[d+12|0]?0:d)){H[c+12|0]=0;c=J[c+8>>2];if((a|0)!=(c|0)?K[c+12|0]:0){break d}H[c+12|0]=1;return}if(b){if(!K[b+12|0]){d=c;break i}d=J[c+4>>2]}H[d+12|0]=1;H[c+12|0]=0;a=J[d>>2];J[c+4>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d>>2]=c;J[c+8>>2]=d;b=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[b+12|0]=1;b=J[c>>2];a=J[b+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[b+8>>2]=J[c+8>>2];a=J[c+8>>2];J[(((c|0)!=J[a>>2])<<2)+a>>2]=b;J[b+4>>2]=c;J[c+8>>2]=b;return}b=J[c+8>>2];c=J[((J[b>>2]==(c|0))<<2)+b>>2];continue}}H[g+12|0]=1}}function wc(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;h=ba-32|0;ba=h;a:{b:{if(J[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=oa(b<<2);J[h+24>>2]=b;J[h+20>>2]=0;J[h+16>>2]=c;b=J[a>>2];J[h+12>>2]=0;J[h+8>>2]=b;c=J[a+4>>2];J[h+4>>2]=c&31;J[h>>2]=b+(c>>>3&536870908);e=ba-32|0;ba=e;i=J[h+4>>2];g=J[h+12>>2];j=J[h>>2];d=J[h+8>>2];b=(i-g|0)+(j-d<<3)|0;f=J[h+20>>2];c=b+f|0;J[h+20>>2]=c;if(!((c-1^f-1)>>>0<32?f:0)){J[J[h+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=J[h+16>>2]+(f>>>3&536870908)|0;f=f&31;c:{if((f|0)==(g|0)){if((b|0)<=0){break c}if(g){i=32-g|0;f=(b|0)<(i|0)?b:i;i=-1<>>i-f;J[c>>2]=J[c>>2]&(i^-1)|i&J[d>>2];d=d+4|0;c=(g+f>>>3&536870908)+c|0;b=b-f|0}g=(b|0)/32|0;if(b+31>>>0>=63){ta(c,d,g<<2)}b=b-(g<<5)|0;if((b|0)<=0){break c}f=c;c=g<<2;g=f+c|0;b=-1>>>32-b|0;J[g>>2]=J[g>>2]&(b^-1)|b&J[c+d>>2];break c}J[e+28>>2]=g;J[e+24>>2]=d;J[e+20>>2]=i;J[e+16>>2]=j;J[e+12>>2]=f;J[e+8>>2]=c;b=J[e+28>>2];c=J[e+24>>2];g=(J[e+20>>2]-b|0)+(J[e+16>>2]-c<<3)|0;d:{if((g|0)<=0){b=J[e+12>>2];d=J[e+8>>2];break d}e:{if(!b){b=J[e+12>>2];break e}d=J[e+12>>2];j=32-d|0;k=32-b|0;f=(g|0)<(k|0)?g:k;i=f>>>0>j>>>0?j:f;l=J[e+8>>2];m=J[l>>2]&(-1<>>j-i^-1);j=J[c>>2]&(-1<>>k-f);J[l>>2]=m|(b>>>0>>0?j<>>b-d|0);c=d+i|0;b=c&31;J[e+12>>2]=b;d=l+(c>>>3&536870908)|0;J[e+8>>2]=d;c=f-i|0;if((c|0)>0){J[d>>2]=J[d>>2]&(-1>>>32-c^-1)|j>>>i+J[e+28>>2];J[e+12>>2]=c;b=c}g=g-f|0;c=J[e+24>>2]+4|0;J[e+24>>2]=c}i=-1<=32){j=i^-1;while(1){d=J[e+8>>2];c=J[c>>2];J[d>>2]=j&J[d>>2]|c<>2]=d+4;J[d+4>>2]=i&J[d+4>>2]|c>>>f;c=J[e+24>>2]+4|0;J[e+24>>2]=c;d=g>>>0>63;g=g-32|0;if(d){continue}break}}d=J[e+8>>2];if((g|0)<=0){break d}j=f;f=(g|0)>(f|0)?f:g;j=J[d>>2]&(i&-1>>>j-f^-1);i=J[c>>2]&-1>>>32-g;J[d>>2]=j|i<>2]=c;d=(b>>>3&536870908)+d|0;J[e+8>>2]=d;b=g-f|0;if((b|0)<=0){b=c;break d}J[d>>2]=J[d>>2]&(-1>>>32-b^-1)|i>>>f;J[e+12>>2]=b}J[e+4>>2]=b;J[e>>2]=d}ba=e+32|0;b=J[a>>2];J[a>>2]=J[h+16>>2];J[h+16>>2]=b;c=J[a+4>>2];J[a+4>>2]=J[h+20>>2];J[h+20>>2]=c;c=J[a+8>>2];J[a+8>>2]=J[h+24>>2];J[h+24>>2]=c;if(!b){break b}na(b)}ba=h+32|0;return}qa();B()}function Xj(a){a=a|0;var 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,q=0,r=0;g=ba-16|0;ba=g;b=J[a+64>>2];a:{if(!b){break a}i=da[J[J[b>>2]+32>>2]](b)|0;if(!i){break a}n=(J[i+28>>2]-J[i+24>>2]>>2)-J[i+44>>2]|0;b=J[a+56>>2];d=J[b+8>>2];b:{if((J[b+12>>2]-d|0)<5){break b}J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;c:{d:{while(1){e:{f:{if(!J[J[(c<<2)+d>>2]+56>>2]){break f}j=da[J[J[a>>2]+56>>2]](a,c)|0;if(!j){break f}if(J[g+8>>2]!=(f|0)){J[f>>2]=j;f=f+4|0;J[g+4>>2]=f;break f}b=J[g>>2];h=f-b|0;f=h>>2;d=f+1|0;if(d>>>0>=1073741824){break e}e=h>>>1|0;d=h>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break d}e=oa(d<<2)}else{e=0}f=e+(f<<2)|0;J[f>>2]=j;h=ta(e,b,h);J[g+8>>2]=h+(d<<2);f=f+4|0;J[g+4>>2]=f;J[g>>2]=h;if(!b){break f}na(b)}m=J[a+56>>2];d=J[m+8>>2];c=c+1|0;if((c|0)>2]-d>>2){continue}break c}break}qa();B()}xa();B()}j=J[g>>2];o=J[i+24>>2];b=J[i+28>>2];if((o|0)!=(b|0)){b=b-o>>2;q=b>>>0<=1?1:b;b=f-j>>2;r=b>>>0<=1?1:b;while(1){e=J[(p<<2)+o>>2];if((e|0)!=-1){g:{if((e|0)<0){c=(e>>>0)%3|0;b=-1;break g}b=(e>>>0)/3|0;c=e-P(b,3)|0;b=J[(J[m+96>>2]+P(b,12)|0)+(c<<2)>>2]}h:{i:{if(c){c=e-1|0;break i}c=e+2|0;if((c|0)!=-1){break i}l=0;break h}l=0;c=J[J[i+12>>2]+(c<<2)>>2];if((c|0)==-1){break h}j:{if((c>>>0)%3|0){d=c-1|0;break j}d=c+2|0;if((d|0)==-1){break h}}h=e;while(1){c=(d|0)<0?-1:J[(J[m+96>>2]+P((d>>>0)/3|0,12)|0)+((d>>>0)%3<<2)>>2];k:{if((b|0)==(c|0)){c=0;if((f|0)==(j|0)){c=b;break k}l:{while(1){k=J[J[(c<<2)+j>>2]+28>>2];if(J[k+(d<<2)>>2]!=J[k+(h<<2)>>2]){break l}c=c+1|0;if((r|0)!=(c|0)){continue}break}c=b;break k}c=b}l=l+1|0}if((d|0)==(e|0)|(d|0)==-1){break h}m:{if((d>>>0)%3|0){b=d-1|0;break m}b=d+2|0;if((b|0)==-1){break h}}k=J[J[i+12>>2]+(b<<2)>>2];if((k|0)==-1){break h}b=c;h=d;c=k+((k>>>0)%3|0?-1:2)|0;d=c;if((c|0)!=-1){continue}break}}c=1;b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;n:{if((b|0)==-1){break n}b=J[J[i+12>>2]+(b<<2)>>2];if((b|0)==-1){break n}c=b+1|0;c=(((c>>>0)%3|0?c:b-2|0)|0)==-1}n=(l+n|0)-((c^-1)&(l|0)!=0)|0}p=p+1|0;if((q|0)!=(p|0)){continue}break}}if(!j){break b}na(j)}J[a+52>>2]=n}ba=g+16|0}function Ze(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=ba-128|0;ba=j;a:{b:{c:{if(!Hb(f,g,h,i,0,0,0,0)){break c}l=i&65535;n=i>>>16&32767;d:{e:{if((n|0)!=32767){k=4;if(n){break e}k=f|h|(g|l)?3:2;break d}k=!(f|h|(g|l))}}s=e>>>16|0;o=s&32767;if((o|0)==32767){break c}if(k){break b}}Ea(j+16|0,b,c,d,e,f,g,h,i);b=J[j+16>>2];d=J[j+20>>2];e=J[j+24>>2];c=J[j+28>>2];Ne(j,b,d,e,c,b,d,e,c);d=J[j+8>>2];e=J[j+12>>2];h=J[j>>2];i=J[j+4>>2];break a}k=d;p=e&2147483647;n=h;m=i&2147483647;if((Hb(b,c,k,p,f,g,h,m)|0)<=0){if(Hb(b,c,k,p,f,g,n,m)){h=b;i=c;break a}Ea(j+112|0,b,c,d,e,0,0,0,0);d=J[j+120>>2];e=J[j+124>>2];h=J[j+112>>2];i=J[j+116>>2];break a}q=i>>>16&32767;if(o){i=c;h=b}else{Ea(j+96|0,b,c,k,p,0,0,0,1081540608);k=J[j+104>>2];h=J[j+108>>2];p=h;o=(h>>>16|0)-120|0;i=J[j+100>>2];h=J[j+96>>2]}if(!q){Ea(j+80|0,f,g,n,m,0,0,0,1081540608);n=J[j+88>>2];f=J[j+92>>2];m=f;q=(f>>>16|0)-120|0;g=J[j+84>>2];f=J[j+80>>2]}r=n;t=m&65535|65536;p=p&65535|65536;if((o|0)>(q|0)){while(1){m=k-r|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;n=m-l|0;l=(p-((k>>>0>>0)+t|0)|0)-(l>>>0>m>>>0)|0;f:{if((l|0)>0|(l|0)>=0){k=h;h=h-f|0;i=i-((f>>>0>k>>>0)+g|0)|0;if(!(h|n|(i|l))){Ea(j+32|0,b,c,d,e,0,0,0,0);d=J[j+40>>2];e=J[j+44>>2];h=J[j+32>>2];i=J[j+36>>2];break a}l=l<<1|n>>>31;k=n<<1|i>>>31;break f}l=p<<1|k>>>31;k=k<<1|i>>>31}p=l;l=i<<1|h>>>31;h=h<<1;i=l;o=o-1|0;if((o|0)>(q|0)){continue}break}o=q}m=k-r|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;n=m-l|0;l=(p-((k>>>0>>0)+t|0)|0)-(l>>>0>m>>>0)|0;m=l;g:{if((l|0)<0){n=k;m=p;break g}k=h;h=h-f|0;i=i-((f>>>0>k>>>0)+g|0)|0;if(h|n|(i|m)){break g}Ea(j+48|0,b,c,d,e,0,0,0,0);d=J[j+56>>2];e=J[j+60>>2];h=J[j+48>>2];i=J[j+52>>2];break a}if((m|0)==65535|m>>>0<65535){while(1){b=i>>>31|0;o=o-1|0;p=i<<1|h>>>31;h=h<<1;i=p;c=b;b=m<<1|n>>>31;n=c|n<<1;m=b;if(b>>>0<65536){continue}break}}b=s&32768;if((o|0)<=0){Ea(j- -64|0,h,i,n,m&65535|(b|o+120)<<16,0,0,0,1065811968);d=J[j+72>>2];e=J[j+76>>2];h=J[j+64>>2];i=J[j+68>>2];break a}d=n;e=m&65535|(b|o)<<16}J[a>>2]=h;J[a+4>>2]=i;J[a+8>>2]=d;J[a+12>>2]=e;ba=j+128|0}function Ji(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;f=ba+-64|0;ba=f;a:{b:{c:{d:{e:{f:{if(!b){break f}e=rb(c);if(e>>>0>=2147483632){break e}g:{h:{if(e>>>0>=11){a=(e|15)+1|0;g=oa(a);J[f+56>>2]=a|-2147483648;J[f+48>>2]=g;a=e+g|0;break h}H[f+59|0]=e;g=f+48|0;a=e+g|0;if(!e){break g}}ua(g,c,e)}H[a|0]=0;e=rb(d);if(e>>>0>=2147483632){break d}i:{j:{if(e>>>0>=11){a=(e|15)+1|0;g=oa(a);J[f+40>>2]=a|-2147483648;J[f+32>>2]=g;a=e+g|0;break j}H[f+43|0]=e;g=f+32|0;a=e+g|0;if(!e){break i}}ua(g,d,e)}H[a|0]=0;e=rb(c);if(e>>>0>=2147483632){break c}k:{l:{if(e>>>0>=11){a=(e|15)+1|0;g=oa(a);J[f+24>>2]=a|-2147483648;J[f+16>>2]=g;J[f+20>>2]=e;a=e+g|0;break l}H[f+27|0]=e;g=f+16|0;a=e+g|0;if(!e){break k}}ua(g,c,e)}H[a|0]=0;c=rb(d);if(c>>>0>=2147483632){break b}m:{n:{if(c>>>0>=11){e=(c|15)+1|0;a=oa(e);J[f+8>>2]=e|-2147483648;J[f>>2]=a;J[f+4>>2]=c;g=a+c|0;break n}H[f+11|0]=c;g=c+f|0;a=f;if(!c){break m}}ua(a,d,c)}H[g|0]=0;e=ba-48|0;ba=e;d=ob(b,f+16|0);if((d|0)!=(b+4|0)){a=J[d+4>>2];o:{if(!a){a=d;while(1){c=J[a+8>>2];g=J[c>>2]!=(a|0);a=c;if(g){continue}break}break o}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((d|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;Dc(J[b+4>>2],d);a=J[d+28>>2];if(a){J[d+32>>2]=a;na(a)}if(H[d+27|0]<0){na(J[d+16>>2])}na(d)}g=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;c=K[f+11|0];d=c<<24>>24;p:{q:{h=J[f+4>>2];a=(d|0)<0?h:c;if(a){if((a|0)<0){break q}c=a;g=oa(a);a=pa(g,0,a);c=c+a|0;J[e+8>>2]=c;J[e+4>>2]=c;J[e>>2]=a;h=J[f+4>>2];c=K[f+11|0];d=c}a=d<<24>>24<0;ua(g,a?J[f>>2]:f,a?h:c);break p}qa();B()}r:{if(H[f+27|0]>=0){J[e+24>>2]=J[f+24>>2];a=J[f+20>>2];J[e+16>>2]=J[f+16>>2];J[e+20>>2]=a;break r}Ga(e+16|0,J[f+16>>2],J[f+20>>2])}Ob(e+28|0,e);a=e+16|0;Cc(e+40|0,b,a,a);a=J[e+28>>2];if(a){J[e+32>>2]=a;na(a)}if(H[e+27|0]<0){na(J[e+16>>2])}a=J[e>>2];if(a){J[e+4>>2]=a;na(a)}ba=e+48|0;if(H[f+11|0]<0){na(J[f>>2])}if(H[f+27|0]<0){na(J[f+16>>2])}if(H[f+43|0]<0){na(J[f+32>>2])}if(H[f+59|0]>=0){break f}na(J[f+48>>2])}ba=f- -64|0;a=(b|0)!=0;break a}gb();B()}gb();B()}gb();B()}gb();B()}return a|0}function nf(a,b){var c=0,d=0,e=0,f=0;f=ba-16|0;ba=f;e=oa(32);J[f>>2]=e;J[f+4>>2]=30;J[f+8>>2]=-2147483616;c=K[1240]|K[1241]<<8|(K[1242]<<16|K[1243]<<24);d=K[1236]|K[1237]<<8|(K[1238]<<16|K[1239]<<24);H[e+22|0]=d;H[e+23|0]=d>>>8;H[e+24|0]=d>>>16;H[e+25|0]=d>>>24;H[e+26|0]=c;H[e+27|0]=c>>>8;H[e+28|0]=c>>>16;H[e+29|0]=c>>>24;c=K[1234]|K[1235]<<8|(K[1236]<<16|K[1237]<<24);d=K[1230]|K[1231]<<8|(K[1232]<<16|K[1233]<<24);H[e+16|0]=d;H[e+17|0]=d>>>8;H[e+18|0]=d>>>16;H[e+19|0]=d>>>24;H[e+20|0]=c;H[e+21|0]=c>>>8;H[e+22|0]=c>>>16;H[e+23|0]=c>>>24;c=K[1226]|K[1227]<<8|(K[1228]<<16|K[1229]<<24);d=K[1222]|K[1223]<<8|(K[1224]<<16|K[1225]<<24);H[e+8|0]=d;H[e+9|0]=d>>>8;H[e+10|0]=d>>>16;H[e+11|0]=d>>>24;H[e+12|0]=c;H[e+13|0]=c>>>8;H[e+14|0]=c>>>16;H[e+15|0]=c>>>24;c=K[1218]|K[1219]<<8|(K[1220]<<16|K[1221]<<24);d=K[1214]|K[1215]<<8|(K[1216]<<16|K[1217]<<24);H[e|0]=d;H[e+1|0]=d>>>8;H[e+2|0]=d>>>16;H[e+3|0]=d>>>24;H[e+4|0]=c;H[e+5|0]=c>>>8;H[e+6|0]=c>>>16;H[e+7|0]=c>>>24;H[e+30|0]=0;e=a+4|0;vb(e,f,b);if(H[f+11|0]<0){na(J[f>>2])}a=oa(32);J[f>>2]=a;J[f+4>>2]=29;J[f+8>>2]=-2147483616;c=K[1308]|K[1309]<<8|(K[1310]<<16|K[1311]<<24);d=K[1304]|K[1305]<<8|(K[1306]<<16|K[1307]<<24);H[a+21|0]=d;H[a+22|0]=d>>>8;H[a+23|0]=d>>>16;H[a+24|0]=d>>>24;H[a+25|0]=c;H[a+26|0]=c>>>8;H[a+27|0]=c>>>16;H[a+28|0]=c>>>24;c=K[1303]|K[1304]<<8|(K[1305]<<16|K[1306]<<24);d=K[1299]|K[1300]<<8|(K[1301]<<16|K[1302]<<24);H[a+16|0]=d;H[a+17|0]=d>>>8;H[a+18|0]=d>>>16;H[a+19|0]=d>>>24;H[a+20|0]=c;H[a+21|0]=c>>>8;H[a+22|0]=c>>>16;H[a+23|0]=c>>>24;c=K[1295]|K[1296]<<8|(K[1297]<<16|K[1298]<<24);d=K[1291]|K[1292]<<8|(K[1293]<<16|K[1294]<<24);H[a+8|0]=d;H[a+9|0]=d>>>8;H[a+10|0]=d>>>16;H[a+11|0]=d>>>24;H[a+12|0]=c;H[a+13|0]=c>>>8;H[a+14|0]=c>>>16;H[a+15|0]=c>>>24;c=K[1287]|K[1288]<<8|(K[1289]<<16|K[1290]<<24);d=K[1283]|K[1284]<<8|(K[1285]<<16|K[1286]<<24);H[a|0]=d;H[a+1|0]=d>>>8;H[a+2|0]=d>>>16;H[a+3|0]=d>>>24;H[a+4|0]=c;H[a+5|0]=c>>>8;H[a+6|0]=c>>>16;H[a+7|0]=c>>>24;H[a+29|0]=0;vb(e,f,b);if(H[f+11|0]<0){na(J[f>>2])}ba=f+16|0}function sd(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,n=0;j=ba-32|0;ba=j;J[a+4>>2]=0;J[a+8>>2]=0;c=a+16|0;J[c>>2]=0;J[c+4>>2]=0;i=a+4|0;J[a>>2]=i;J[a+12>>2]=c;f=J[b>>2];k=b+4|0;if((f|0)!=(k|0)){while(1){g=ba-16|0;ba=g;c=f+16|0;h=Og(a,i,g+12|0,g+8|0,c);d=J[h>>2];if(d){c=0}else{d=oa(40);e=d+16|0;a:{if(H[c+11|0]>=0){l=J[c+4>>2];J[e>>2]=J[c>>2];J[e+4>>2]=l;J[e+8>>2]=J[c+8>>2];break a}Ga(e,J[c>>2],J[c+4>>2])}Ob(d+28|0,c+12|0);J[d+8>>2]=J[g+12>>2];J[d>>2]=0;J[d+4>>2]=0;J[h>>2]=d;c=d;e=J[J[a>>2]>>2];if(e){J[a>>2]=e;c=J[h>>2]}sb(J[a+4>>2],c);J[a+8>>2]=J[a+8>>2]+1;c=1}H[j+28|0]=c;J[j+24>>2]=d;ba=g+16|0;c=J[f+4>>2];b:{if(c){while(1){f=c;c=J[c>>2];if(c){continue}break b}}while(1){c=f;f=J[f+8>>2];if((c|0)!=J[f>>2]){continue}break}}if((f|0)!=(k|0)){continue}break}}f=J[b+12>>2];l=b+16|0;if((f|0)!=(l|0)){g=a+12|0;while(1){m=oa(24);sd(m,J[f+28>>2]);b=f+16|0;J[j+16>>2]=b;c:{d:{c=J[g+4>>2];e:{if(!c){d=g+4|0;b=d;break e}d=K[b+11|0];e=d<<24>>24<0;h=e?J[b>>2]:b;e=e?J[b+4>>2]:d;while(1){b=c;i=K[c+27|0];d=i<<24>>24<0;c=d?J[c+20>>2]:i;i=c>>>0>>0;f:{g:{h:{i:{k=i?c:e;j:{if(k){d=d?J[b+16>>2]:b+16|0;n=Ba(h,d,k);if(!n){if(c>>>0>e>>>0){break j}break i}if((n|0)>=0){break i}break j}if(c>>>0<=e>>>0){break h}}d=b;c=J[b>>2];if(c){continue}break e}c=Ba(d,h,k);if(c){break g}}if(i){break f}break d}if((c|0)>=0){break d}}c=J[b+4>>2];if(c){continue}break}d=b+4|0}c=oa(32);h=c+16|0;e=J[j+16>>2];k:{if(H[e+11|0]>=0){i=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=i;J[h+8>>2]=J[e+8>>2];break k}Ga(h,J[e>>2],J[e+4>>2])}J[c+8>>2]=b;J[c>>2]=0;J[c+4>>2]=0;J[c+28>>2]=0;J[d>>2]=c;b=c;e=J[J[g>>2]>>2];if(e){J[g>>2]=e;b=J[d>>2]}sb(J[g+4>>2],b);J[g+8>>2]=J[g+8>>2]+1;b=1;break c}c=b;b=0}H[j+28|0]=b;J[j+24>>2]=c;c=J[j+24>>2];b=J[c+28>>2];J[c+28>>2]=m;if(b){lb(b+12|0,J[b+16>>2]);kb(b,J[b+4>>2]);na(b)}c=J[f+4>>2];l:{if(c){while(1){f=c;c=J[c>>2];if(c){continue}break l}}while(1){b=f;f=J[f+8>>2];if((b|0)!=J[f>>2]){continue}break}}if((f|0)!=(l|0)){continue}break}}ba=j+32|0;return a}function Ok(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;J[a+8>>2]=e;m=a+32|0;g=J[m>>2];f=J[a+36>>2]-g>>2;a:{if(f>>>0>>0){Fa(m,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=g+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){i=g;break c}f=1;i=d-1|0;q=i&1;d:{if((d|0)==2){i=g;break d}o=i&-2;i=g;while(1){j=(f<<2)+b|0;k=J[j+4>>2];j=J[j>>2];l=(j|0)<(i|0);i=l?j:i;p=(i|0)>(k|0);i=p?k:i;g=l?g:(g|0)<(j|0)?j:g;g=p?g:(g|0)<(k|0)?k:g;f=f+2|0;h=h+2|0;if((o|0)!=(h|0)){continue}break}}if(!q){break c}f=J[(f<<2)+b>>2];h=(f|0)<(i|0);i=h?f:i;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=i;f=g-i|0;g=(g>>31)-((i>>31)+(g>>>0>>0)|0)|0;if(!g&f>>>0>2147483646|g){break b}f=f+1|0;J[a+20>>2]=f;g=f>>>1|0;J[a+24>>2]=g;J[a+28>>2]=0-g;if(f&1){break b}J[a+24>>2]=g-1}k=d-e|0;g=J[a+8>>2];if(!((k|0)<=0|(g|0)<=0)){p=0-e<<2;while(1){if((g|0)>0){d=k<<2;q=d+c|0;o=b+d|0;h=o+p|0;d=J[m>>2];i=0;while(1){f=d;if((g|0)>0){f=J[m>>2];g=0;while(1){j=g<<2;l=J[j+h>>2];n=J[a+16>>2];e:{if((l|0)>(n|0)){J[f+j>>2]=n;break e}j=f+j|0;n=J[a+12>>2];if((n|0)>(l|0)){J[j>>2]=n;break e}J[j>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}h=i<<2;g=h+q|0;h=J[h+o>>2]-J[f+h>>2]|0;J[g>>2]=h;f:{if((h|0)>2]){h=h+J[a+20>>2]|0}else{if((h|0)<=J[a+24>>2]){break f}h=h-J[a+20>>2]|0}J[g>>2]=h}h=f;g=J[a+8>>2];i=i+1|0;if((g|0)>(i|0)){continue}break}}k=k-e|0;if((k|0)>0){continue}break}}i=0;d=e>>>0>1073741823?-1:e<<2;d=pa(oa(d),0,d);if((g|0)>0){e=J[a+32>>2];h=d;while(1){f=e;if((g|0)>0){f=J[m>>2];g=0;while(1){k=g<<2;j=J[k+h>>2];l=J[a+16>>2];g:{if((j|0)>(l|0)){J[f+k>>2]=l;break g}k=f+k|0;l=J[a+12>>2];if((l|0)>(j|0)){J[k>>2]=l;break g}J[k>>2]=j}g=g+1|0;if((g|0)>2]){continue}break}}h=i<<2;g=h+c|0;h=J[b+h>>2]-J[f+h>>2]|0;J[g>>2]=h;h:{if((h|0)>2]){h=h+J[a+20>>2]|0}else{if((h|0)<=J[a+24>>2]){break h}h=h-J[a+20>>2]|0}J[g>>2]=h}h=f;g=J[a+8>>2];i=i+1|0;if((g|0)>(i|0)){continue}break}}na(d);return 1}function Qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=ba-16|0;ba=f;J[a+4>>2]=b;J[a+8>>2]=J[b+56>>2];J[a+188>>2]=J[a+184>>2];e=J[b+48>>2];c=oa(32);H[c+19|0]=0;b=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[c+15|0]=b;H[c+16|0]=b>>>8;H[c+17|0]=b>>>16;H[c+18|0]=b>>>24;b=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;H[c+12|0]=b;H[c+13|0]=b>>>8;H[c+14|0]=b>>>16;H[c+15|0]=b>>>24;b=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=b;H[c+5|0]=b>>>8;H[c+6|0]=b>>>16;H[c+7|0]=b>>>24;a:{b:{b=J[e+4>>2];if(b){while(1){d=K[b+27|0];e=d<<24>>24<0;d=e?J[b+20>>2]:d;h=d>>>0<19;c:{d:{e:{f:{g:{h:{g=h?d:19;if(g){e=e?J[b+16>>2]:b+16|0;i=Ba(c,e,g);if(i){break h}if(d>>>0<=19){break g}break c}if(d>>>0<=19){break f}break c}if((i|0)<0){break c}}d=Ba(e,c,g);if(d){break e}}if(h){break d}break b}if((d|0)>=0){break b}}b=b+4|0}b=J[b>>2];if(b){continue}break}}na(c);if((cb(J[J[a+4>>2]+48>>2])|0)>=6){H[a+288|0]=1;break a}H[a+288|0]=0;break a}na(c);e=J[J[a+4>>2]+48>>2];b=oa(32);J[f>>2]=b;J[f+4>>2]=19;J[f+8>>2]=-2147483616;c=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;j=a,k=Pb(e,f,0),H[j+288|0]=k;if(H[f+11|0]>=0){break a}na(J[f>>2])}ba=f+16|0;return 1}function Lj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=ba-16|0;ba=f;J[a+4>>2]=b;J[a+8>>2]=J[b+56>>2];J[a+188>>2]=J[a+184>>2];e=J[b+48>>2];c=oa(32);H[c+19|0]=0;b=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[c+15|0]=b;H[c+16|0]=b>>>8;H[c+17|0]=b>>>16;H[c+18|0]=b>>>24;b=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;H[c+12|0]=b;H[c+13|0]=b>>>8;H[c+14|0]=b>>>16;H[c+15|0]=b>>>24;b=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=b;H[c+5|0]=b>>>8;H[c+6|0]=b>>>16;H[c+7|0]=b>>>24;a:{b:{b=J[e+4>>2];if(b){while(1){d=K[b+27|0];e=d<<24>>24<0;d=e?J[b+20>>2]:d;h=d>>>0<19;c:{d:{e:{f:{g:{h:{g=h?d:19;if(g){e=e?J[b+16>>2]:b+16|0;i=Ba(c,e,g);if(i){break h}if(d>>>0<=19){break g}break c}if(d>>>0<=19){break f}break c}if((i|0)<0){break c}}d=Ba(e,c,g);if(d){break e}}if(h){break d}break b}if((d|0)>=0){break b}}b=b+4|0}b=J[b>>2];if(b){continue}break}}na(c);if((cb(J[J[a+4>>2]+48>>2])|0)>=6){H[a+352|0]=1;break a}H[a+352|0]=0;break a}na(c);e=J[J[a+4>>2]+48>>2];b=oa(32);J[f>>2]=b;J[f+4>>2]=19;J[f+8>>2]=-2147483616;c=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;j=a,k=Pb(e,f,0),H[j+352|0]=k;if(H[f+11|0]>=0){break a}na(J[f>>2])}ba=f+16|0;return 1}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=ba-32|0;ba=c;d=a- -64|0;Aa(J[d>>2],b);if(J[d>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+64>>2];if((d|0)>0){while(1){f=d-1|0;Ca(c,J[J[a+60>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d>>>0>1;d=f;if(e){continue}break}}ya(c,b);wa(c)}Aa(J[a+76>>2],b);if(J[a+76>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+76>>2];if((d|0)>=2){while(1){f=d-2|0;Ca(c,J[J[a+72>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-1|0;Ca(c,J[J[a+72>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>3;d=f;if(e){continue}break}}ya(c,b);wa(c)}Aa(J[a+88>>2],b);if(J[a+88>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+88>>2];if((d|0)>=3){while(1){f=d-3|0;Ca(c,J[J[a+84>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-2|0;Ca(c,J[J[a+84>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;Ca(c,J[J[a+84>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>5;d=f;if(e){continue}break}}ya(c,b);wa(c)}Aa(J[a+100>>2],b);if(J[a+100>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+100>>2];if((d|0)>=4){while(1){f=d-4|0;Ca(c,J[J[a+96>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-3|0;Ca(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-2|0;Ca(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;Ca(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>7;d=f;if(e){continue}break}}ya(c,b);wa(c)}J[c>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}f=c+4|0;sa(b,J[b+4>>2],c,f);d=J[b+20>>2];e=J[b+16>>2];J[c>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c,f)}ba=c+32|0;return 1}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=ba-32|0;ba=c;Aa(J[a+48>>2],b);if(J[a+48>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+48>>2];if((d|0)>0){while(1){f=d-1|0;Ca(c,J[J[a+44>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d>>>0>1;d=f;if(e){continue}break}}ya(c,b);wa(c)}Aa(J[a+60>>2],b);if(J[a+60>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+60>>2];if((d|0)>=2){while(1){f=d-2|0;Ca(c,J[J[a+56>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-1|0;Ca(c,J[J[a+56>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>3;d=f;if(e){continue}break}}ya(c,b);wa(c)}Aa(J[a+72>>2],b);if(J[a+72>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+72>>2];if((d|0)>=3){while(1){f=d-3|0;Ca(c,J[J[a+68>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-2|0;Ca(c,J[J[a+68>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;Ca(c,J[J[a+68>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>5;d=f;if(e){continue}break}}ya(c,b);wa(c)}Aa(J[a+84>>2],b);if(J[a+84>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+84>>2];if((d|0)>=4){while(1){f=d-4|0;Ca(c,J[J[a+80>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-3|0;Ca(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-2|0;Ca(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;Ca(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>7;d=f;if(e){continue}break}}ya(c,b);wa(c)}J[c>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}f=c+4|0;sa(b,J[b+4>>2],c,f);d=J[b+20>>2];e=J[b+16>>2];J[c>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c,f)}ba=c+32|0;return 1}function vk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=ba-32|0;ba=d;o=e<<2;f=e>>>0>1073741823?-1:o;l=pa(oa(f),0,f);f=J[a+40>>2];f=J[f+4>>2]-J[f>>2]|0;if((f|0)>=5){q=J[a+36>>2];p=J[a+32>>2];r=e&-2;s=e&1;t=a+8|0;f=f>>>2|0;while(1){j=J[a+40>>2];g=J[j>>2];a:{b:{h=J[j+4>>2]-g>>2;j=f-1|0;if(h>>>0>j>>>0){u=P(e,j);g=J[g+(j<<2)>>2];if((g|0)==-1){break b}g=J[J[p+12>>2]+(g<<2)>>2];if((g|0)==-1){break b}k=J[q>>2];h=J[p>>2];m=J[k+(J[h+(g<<2)>>2]<<2)>>2];i=g+1|0;i=(i>>>0)%3|0?i:g-2|0;if((i|0)!=-1){i=J[h+(i<<2)>>2]}else{i=-1}c:{d:{if((g>>>0)%3|0){g=g-1|0;break d}g=g+2|0;n=-1;if((g|0)==-1){break c}}n=J[h+(g<<2)>>2]}if((j|0)<=(m|0)){break b}g=J[(i<<2)+k>>2];if((g|0)>=(j|0)){break b}h=J[k+(n<<2)>>2];if((h|0)>=(j|0)){break b}e:{if((e|0)<=0){break e}h=P(e,h);k=P(e,g);m=P(e,m);g=0;n=0;if((e|0)!=1){while(1){J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2];i=g|1;J[(i<<2)+l>>2]=(J[(h+i<<2)+b>>2]+J[(i+k<<2)+b>>2]|0)-J[(i+m<<2)+b>>2];g=g+2|0;n=n+2|0;if((r|0)!=(n|0)){continue}break}}if(!s){break e}J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2]}g=J[l>>2];h=J[l+4>>2];break a}ra();B()}h=(P(f-2|0,e)<<2)+b|0;g=J[h>>2];h=J[h+4>>2]}k=u<<2;m=k+b|0;i=J[m+4>>2];J[d+16>>2]=J[m>>2];J[d+20>>2]=i;J[d+8>>2]=g;J[d+12>>2]=h;Ya(d+24|0,t,d+16|0,d+8|0);g=c+k|0;J[g>>2]=J[d+24>>2];J[g+4>>2]=J[d+28>>2];g=(f|0)>2;f=j;if(g){continue}break}}if((e|0)>0){pa(l,0,o)}e=J[l>>2];f=J[l+4>>2];g=J[b+4>>2];J[d+16>>2]=J[b>>2];J[d+20>>2]=g;J[d+8>>2]=e;J[d+12>>2]=f;Ya(d+24|0,a+8|0,d+16|0,d+8|0);J[c>>2]=J[d+24>>2];J[c+4>>2]=J[d+28>>2];na(l);ba=d+32|0;return 1}function eg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=J[a>>2];n=b-k|0;h=(n&-4)+k|0;i=d-c|0;if((i|0)<=0){return}a:{l=i>>2;g=J[a+8>>2];j=J[a+4>>2];if((l|0)<=g-j>>2){f=j-h|0;g=f>>2;if((g|0)>=(l|0)){b=j;g=d;break a}b=j;g=(g<<2)+c|0;if((g|0)!=(d|0)){e=g;while(1){J[b>>2]=J[e>>2];b=b+4|0;e=e+4|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=b;if((f|0)>0){break a}return}b:{f=l+(j-k>>2)|0;if(f>>>0<1073741824){e=g-k|0;g=e>>>1|0;m=e>>>0>=2147483644?1073741823:f>>>0>>0?g:f;if(m){if(m>>>0>=1073741824){break b}g=oa(m<<2)}else{g=0}e=g+(n&-4)|0;f=e;if((c|0)!=(d|0)){f=ua(e,c,i&-4)+(l<<2)|0}c:{if((b|0)==(k|0)){break c}i=n-4|0;d=(i>>>2|0)+1&3;d:{if(!d){b=h;break d}c=0;b=h;while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];c=c+1|0;if((d|0)!=(c|0)){continue}break}}if(i>>>0<12){break c}while(1){J[e-4>>2]=J[b-4>>2];J[e-8>>2]=J[b-8>>2];J[e-12>>2]=J[b-12>>2];e=e-16|0;b=b-16|0;J[e>>2]=J[b>>2];if((b|0)!=(k|0)){continue}break}}if((h|0)!=(j|0)){while(1){J[f>>2]=J[h>>2];f=f+4|0;h=h+4|0;if((j|0)!=(h|0)){continue}break}}J[a+8>>2]=(m<<2)+g;J[a+4>>2]=f;J[a>>2]=e;if(k){na(k)}return}qa();B()}xa();B()}d=l<<2;i=d+h|0;f=b;e=b-d|0;if(j>>>0>e>>>0){d=e;while(1){J[f>>2]=J[d>>2];f=f+4|0;d=d+4|0;if(j>>>0>d>>>0){continue}break}}J[a+4>>2]=f;e:{if((b|0)==(i|0)){break e}d=(b-i|0)-4|0;a=(d>>>2|0)+1&3;if(a){f=0;while(1){b=b-4|0;e=e-4|0;J[b>>2]=J[e>>2];f=f+1|0;if((a|0)!=(f|0)){continue}break}}if(d>>>0<12){break e}while(1){J[b-4>>2]=J[e-4>>2];J[b-8>>2]=J[e-8>>2];J[b-12>>2]=J[e-12>>2];b=b-16|0;e=e-16|0;J[b>>2]=J[e>>2];if((e|0)!=(h|0)){continue}break}}if((c|0)==(g|0)){return}b=h;while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((g|0)!=(c|0)){continue}break}}function ff(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=ba-16|0;ba=k;J[k+8>>2]=c;h=J[a+12>>2];d=J[a+8>>2];g=h-d>>2;a:{if((g|0)>(b|0)){break a}e=b+1|0;if(e>>>0>g>>>0){l=e-g|0;f=J[a+16>>2];d=J[a+12>>2];if(l>>>0<=f-d>>2>>>0){if(l){e=d;d=l<<2;d=pa(e,0,d)+d|0}J[a+12>>2]=d;break a}b:{c:{d:{m=J[a+8>>2];g=d-m>>2;i=g+l|0;if(i>>>0<1073741824){e=f-m|0;f=e>>>1|0;e=e>>>0>=2147483644?1073741823:f>>>0>i>>>0?f:i;if(e){if(e>>>0>=1073741824){break d}j=oa(e<<2)}h=(g<<2)+j|0;f=l<<2;i=pa(h,0,f);g=f+i|0;e=(e<<2)+j|0;if((d|0)==(m|0)){break c}while(1){d=d-4|0;f=J[d>>2];J[d>>2]=0;h=h-4|0;J[h>>2]=f;if((d|0)!=(m|0)){continue}break}J[a+16>>2]=e;e=J[a+12>>2];J[a+12>>2]=g;d=J[a+8>>2];J[a+8>>2]=h;if((d|0)==(e|0)){break b}while(1){e=e-4|0;f=J[e>>2];J[e>>2]=0;if(f){Ka(f)}if((d|0)!=(e|0)){continue}break}break b}qa();B()}xa();B()}J[a+16>>2]=e;J[a+12>>2]=g;J[a+8>>2]=i}if(d){na(d)}break a}if(e>>>0>=g>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(h|0)){while(1){h=h-4|0;c=J[h>>2];J[h>>2]=0;if(c){Ka(c)}if((d|0)!=(h|0)){continue}break}c=J[k+8>>2]}J[a+12>>2]=d}e:{f:{d=J[c+56>>2];g:{if((d|0)>4){break g}j=P(d,12)+a|0;d=J[j+24>>2];if((d|0)!=J[j+28>>2]){J[d>>2]=b;J[j+24>>2]=d+4;break g}i=J[j+20>>2];g=d-i|0;f=g>>2;e=f+1|0;if(e>>>0>=1073741824){break f}d=g>>>1|0;e=g>>>0>=2147483644?1073741823:d>>>0>e>>>0?d:e;if(e){if(e>>>0>=1073741824){break e}d=oa(e<<2)}else{d=0}f=d+(f<<2)|0;J[f>>2]=b;d=ta(d,i,g);J[j+20>>2]=d;J[j+24>>2]=f+4;J[j+28>>2]=d+(e<<2);if(!i){break g}na(i)}J[c+60>>2]=b;a=J[a+8>>2];J[k+8>>2]=0;a=a+(b<<2)|0;b=J[a>>2];J[a>>2]=c;if(b){Ka(b)}a=J[k+8>>2];J[k+8>>2]=0;if(a){Ka(a)}ba=k+16|0;return}qa();B()}xa();B()}function pf(a,b,c,d){var e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=Q(0);j=J[c>>2];g=j^318;a:{b:{f=J[b+4>>2];if(!f){break b}h=Jl(f);c:{if(h>>>0>=2){e=g;if(e>>>0>=f>>>0){e=(g>>>0)%(f>>>0)|0}c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}if(h>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}h=J[c+4>>2];if((h|0)!=(g|0)){if(f>>>0<=h>>>0){h=(h>>>0)%(f>>>0)|0}if((e|0)!=(h|0)){break b}}if(J[c+8>>2]!=(j|0)){continue}break}b=0;break a}e=f-1&g;c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}}h=f-1|0;while(1){c=J[c>>2];if(!c){break b}k=J[c+4>>2];if((k|0)!=(g|0)&(h&k)!=(e|0)){break b}if(J[c+8>>2]!=(j|0)){continue}break}b=0;break a}c=oa(16);J[c+8>>2]=J[d>>2];d=J[d+4>>2];J[c+4>>2]=g;J[c+12>>2]=d;J[c>>2]=0;i=Q(J[b+12>>2]+1>>>0);l=N[b+16>>2];d:{if(i>Q(l*Q(f>>>0))?0:f){break d}d=2;h=(f-1&f)!=0|f>>>0<3|f<<1;i=Q(W(Q(i/l)));e:{if(i=Q(0)){e=~~i>>>0;break e}e=0}e=e>>>0>>0?h:e;f:{if((e|0)==1){break f}if(!(e&e-1)){d=e;break f}d=Ha(e);f=J[b+4>>2]}g:{if(d>>>0<=f>>>0){if(d>>>0>=f>>>0){break g}h=f>>>0<3;i=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(i=Q(0)){e=~~i>>>0;break h}e=0}i:{j:{if(h){break j}if(Jl(f)>>>0>1){break j}e=e>>>0<2?e:1<<32-S(e-1|0);break i}e=Ha(e)}d=d>>>0>e>>>0?d:e;if(f>>>0<=d>>>0){break g}}db(b,d)}f=J[b+4>>2];d=f-1|0;if(!(d&f)){e=d&g;break d}if(f>>>0>g>>>0){e=g;break d}e=(g>>>0)%(f>>>0)|0}g=J[b>>2]+(e<<2)|0;d=J[g>>2];k:{l:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[g>>2]=d;d=J[c>>2];if(!d){break k}d=J[d+4>>2];g=f-1|0;m:{if(!(g&f)){d=d&g;break m}if(d>>>0>>0){break m}d=(d>>>0)%(f>>>0)|0}d=J[b>>2]+(d<<2)|0;break l}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function al(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;J[a+8>>2]=e;J[a- -64>>2]=f;o=a+32|0;f=J[o>>2];g=J[a+36>>2]-f>>2;a:{if(g>>>0>>0){Fa(o,e-g|0);break a}if(e>>>0>=g>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}f=J[b>>2];c:{if((d|0)<2){d=f;break c}h=1;g=d-1|0;n=g&1;d:{if((d|0)==2){d=f;break d}q=g&-2;g=0;d=f;while(1){j=(h<<2)+b|0;k=J[j+4>>2];l=J[j>>2];i=(l|0)<(d|0);d=i?l:d;j=(d|0)>(k|0);d=j?k:d;f=i?f:(f|0)<(l|0)?l:f;f=j?f:(f|0)<(k|0)?k:f;h=h+2|0;g=g+2|0;if((q|0)!=(g|0)){continue}break}}if(!n){break c}h=J[(h<<2)+b>>2];g=(h|0)<(d|0);d=g?h:d;f=g?f:(f|0)<(h|0)?h:f}J[a+16>>2]=f;J[a+12>>2]=d;g=f-d|0;f=(f>>31)-((d>>31)+(d>>>0>f>>>0)|0)|0;d=g;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}r=1;e:{d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)>=4){t=a+60|0;q=a+68|0;n=d>>>2|0;while(1){d=J[a+56>>2];f=J[d>>2];i=n-1|0;if(i>>>0>=J[d+4>>2]-f>>2>>>0){break e}r=ph(t,J[f+(i<<2)>>2],b,i);if(!r){return 0}f=J[a+8>>2];if((f|0)>0){d=P(e,i)<<2;k=d+c|0;l=b+d|0;j=J[o>>2];p=0;g=q;while(1){h=j;if((f|0)>0){h=J[o>>2];f=0;while(1){m=f<<2;s=J[m+g>>2];d=J[a+16>>2];f:{if((s|0)>(d|0)){J[h+m>>2]=d;break f}m=h+m|0;d=J[a+12>>2];if((d|0)>(s|0)){J[m>>2]=d;break f}J[m>>2]=s}f=f+1|0;if((f|0)>2]){continue}break}}f=p<<2;d=f+k|0;f=J[f+l>>2]-J[f+h>>2]|0;J[d>>2]=f;g:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break g}f=f-J[a+20>>2]|0}J[d>>2]=f}g=h;f=J[a+8>>2];p=p+1|0;if((f|0)>(p|0)){continue}break}}d=(n|0)>1;n=i;if(d){continue}break}}return r|0}ra();B()}function Sk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;J[a+8>>2]=e;J[a- -64>>2]=f;o=a+32|0;f=J[o>>2];g=J[a+36>>2]-f>>2;a:{if(g>>>0>>0){Fa(o,e-g|0);break a}if(e>>>0>=g>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}f=J[b>>2];c:{if((d|0)<2){d=f;break c}h=1;g=d-1|0;n=g&1;d:{if((d|0)==2){d=f;break d}q=g&-2;g=0;d=f;while(1){j=(h<<2)+b|0;k=J[j+4>>2];l=J[j>>2];i=(l|0)<(d|0);d=i?l:d;j=(d|0)>(k|0);d=j?k:d;f=i?f:(f|0)<(l|0)?l:f;f=j?f:(f|0)<(k|0)?k:f;h=h+2|0;g=g+2|0;if((q|0)!=(g|0)){continue}break}}if(!n){break c}h=J[(h<<2)+b>>2];g=(h|0)<(d|0);d=g?h:d;f=g?f:(f|0)<(h|0)?h:f}J[a+16>>2]=f;J[a+12>>2]=d;g=f-d|0;f=(f>>31)-((d>>31)+(d>>>0>f>>>0)|0)|0;d=g;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}r=1;e:{d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)>=4){t=a+60|0;q=a+68|0;n=d>>>2|0;while(1){d=J[a+56>>2];f=J[d>>2];i=n-1|0;if(i>>>0>=J[d+4>>2]-f>>2>>>0){break e}r=kh(t,J[f+(i<<2)>>2],b,i);if(!r){return 0}f=J[a+8>>2];if((f|0)>0){d=P(e,i)<<2;k=d+c|0;l=b+d|0;j=J[o>>2];p=0;g=q;while(1){h=j;if((f|0)>0){h=J[o>>2];f=0;while(1){m=f<<2;s=J[m+g>>2];d=J[a+16>>2];f:{if((s|0)>(d|0)){J[h+m>>2]=d;break f}m=h+m|0;d=J[a+12>>2];if((d|0)>(s|0)){J[m>>2]=d;break f}J[m>>2]=s}f=f+1|0;if((f|0)>2]){continue}break}}f=p<<2;d=f+k|0;f=J[f+l>>2]-J[f+h>>2]|0;J[d>>2]=f;g:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break g}f=f-J[a+20>>2]|0}J[d>>2]=f}g=h;f=J[a+8>>2];p=p+1|0;if((f|0)>(p|0)){continue}break}}d=(n|0)>1;n=i;if(d){continue}break}}return r|0}ra();B()}function ag(a,b,c,d){var e=0,f=0,g=0,h=0,i=Q(0),j=0,k=Q(0);h=J[c>>2];a:{b:{e=J[b+4>>2];if(!e){break b}g=Jl(e);c:{if(g>>>0>=2){f=h;if(f>>>0>=e>>>0){f=(h>>>0)%(e>>>0)|0}c=J[J[b>>2]+(f<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}g=J[c+4>>2];if((g|0)!=(h|0)){if(e>>>0<=g>>>0){g=(g>>>0)%(e>>>0)|0}if((f|0)!=(g|0)){break b}}if(J[c+8>>2]!=(h|0)){continue}break}b=0;break a}f=e-1&h;c=J[J[b>>2]+(f<<2)>>2];if(!c){break b}}g=e-1|0;while(1){c=J[c>>2];if(!c){break b}j=J[c+4>>2];if((j|0)!=(h|0)&(g&j)!=(f|0)){break b}if(J[c+8>>2]!=(h|0)){continue}break}b=0;break a}c=oa(16);d=J[J[d>>2]>>2];J[c+12>>2]=0;J[c+8>>2]=d;J[c+4>>2]=h;J[c>>2]=0;k=Q(J[b+12>>2]+1>>>0);i=N[b+16>>2];d:{if(k>Q(i*Q(e>>>0))?0:e){break d}f=2;g=(e-1&e)!=0|e>>>0<3|e<<1;i=Q(W(Q(k/i)));e:{if(i=Q(0)){d=~~i>>>0;break e}d=0}d=d>>>0>>0?g:d;f:{if((d|0)==1){break f}if(!(d&d-1)){f=d;break f}f=Ha(d);e=J[b+4>>2]}g:{if(e>>>0>=f>>>0){if(e>>>0<=f>>>0){break g}g=e>>>0<3;i=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(i=Q(0)){d=~~i>>>0;break h}d=0}i:{j:{if(g){break j}if(Jl(e)>>>0>1){break j}d=d>>>0<2?d:1<<32-S(d-1|0);break i}d=Ha(d)}f=d>>>0>>0?f:d;if(f>>>0>=e>>>0){break g}}db(b,f)}e=J[b+4>>2];d=e-1|0;if(!(d&e)){f=d&h;break d}if(e>>>0>h>>>0){f=h;break d}f=(h>>>0)%(e>>>0)|0}f=J[b>>2]+(f<<2)|0;d=J[f>>2];k:{l:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[f>>2]=d;d=J[c>>2];if(!d){break k}d=J[d+4>>2];f=e-1|0;m:{if(!(f&e)){d=d&f;break m}if(d>>>0>>0){break m}d=(d>>>0)%(e>>>0)|0}d=J[b>>2]+(d<<2)|0;break l}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function Hk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=ba-32|0;ba=d;p=e<<2;f=e>>>0>1073741823?-1:p;l=pa(oa(f),0,f);f=J[a+40>>2];f=J[f+4>>2]-J[f>>2]|0;if((f|0)>=5){q=J[a+36>>2];n=J[a+32>>2];r=e&-2;s=e&1;t=a+8|0;f=f>>>2|0;while(1){j=J[a+40>>2];g=J[j>>2];a:{b:{h=J[j+4>>2]-g>>2;j=f-1|0;if(h>>>0>j>>>0){u=P(e,j);g=J[g+(j<<2)>>2];if((g|0)==-1|J[J[n>>2]+(g>>>3&536870908)>>2]>>>g&1){break b}g=J[J[J[n+64>>2]+12>>2]+(g<<2)>>2];if((g|0)==-1){break b}k=J[q>>2];h=J[n+28>>2];m=J[k+(J[h+(g<<2)>>2]<<2)>>2];if((m|0)>=(j|0)){break b}i=g+1|0;i=J[k+(J[h+(((i>>>0)%3|0?i:g-2|0)<<2)>>2]<<2)>>2];if((i|0)>=(j|0)){break b}g=J[k+(J[h+(g+((g>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((g|0)>=(j|0)){break b}c:{if((e|0)<=0){break c}h=P(e,g);k=P(e,i);m=P(e,m);g=0;o=0;if((e|0)!=1){while(1){J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2];i=g|1;J[(i<<2)+l>>2]=(J[(h+i<<2)+b>>2]+J[(i+k<<2)+b>>2]|0)-J[(i+m<<2)+b>>2];g=g+2|0;o=o+2|0;if((r|0)!=(o|0)){continue}break}}if(!s){break c}J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2]}g=J[l>>2];h=J[l+4>>2];break a}ra();B()}h=(P(f-2|0,e)<<2)+b|0;g=J[h>>2];h=J[h+4>>2]}k=u<<2;m=k+b|0;i=J[m+4>>2];J[d+16>>2]=J[m>>2];J[d+20>>2]=i;J[d+8>>2]=g;J[d+12>>2]=h;Ya(d+24|0,t,d+16|0,d+8|0);g=c+k|0;J[g>>2]=J[d+24>>2];J[g+4>>2]=J[d+28>>2];g=(f|0)>2;f=j;if(g){continue}break}}if((e|0)>0){pa(l,0,p)}e=J[l>>2];f=J[l+4>>2];g=J[b+4>>2];J[d+16>>2]=J[b>>2];J[d+20>>2]=g;J[d+8>>2]=e;J[d+12>>2]=f;Ya(d+24|0,a+8|0,d+16|0,d+8|0);J[c>>2]=J[d+24>>2];J[c+4>>2]=J[d+28>>2];na(l);ba=d+32|0;return 1}function ya(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,n=0,o=0,p=0,q=0;g=ba-32|0;ba=g;e=J[a>>2];d=J[e>>2];c=J[e+4>>2];k=+(d>>>0)+ +(c>>>0)*4294967296;c=J[e+12>>2]+c|0;i=d;d=J[e+8>>2];e=i+d|0;c=e>>>0>>0?c+1|0:c;i=e;e=!(c|e);k=k/(+((e?1:i)>>>0)+ +((e?0:c)>>>0)*4294967296)*256+.5;a:{if(k<4294967296&k>=0){c=~~k>>>0;break a}c=0}c=c>>>0>=255?255:c;l=!c+c|0;H[g+23|0]=l;j=J[a+16>>2];p=J[a+12>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;b:{c:{c=(j-p<<1)- -64|0;if(c){if((c|0)<0){break c}h=oa(c);pa(h,0,c)}c=J[a+28>>2]-1|0;if((c|0)<0){d=4096;break b}m=0-l|0;q=m&255;i=J[a+24>>2];d=4096;while(1){n=i&1<>>0<=d>>>0){H[f+h|0]=d;f=f+1|0;d=d>>>8|0}o=(e<<3)+12784|0;Gl(J[o>>2],0,d,0);d=((n?0:q)+d|0)+P(256-e|0,ca+d>>>J[o+4>>2]|0)|0;c=c-1|0;if((c|0)>=0){continue}break}break b}qa();B()}if((j|0)!=(p|0)){m=0-l|0;q=m&255;while(1){j=j-4|0;i=J[j>>2];c=31;while(1){e=c;n=i&1<>>0<=d>>>0){H[f+h|0]=d;f=f+1|0;d=d>>>8|0}o=(c<<3)+12784|0;Gl(J[o>>2],0,d,0);d=((n?0:q)+d|0)+P(256-c|0,ca+d>>>J[o+4>>2]|0)|0;c=e-1|0;if(e){continue}break}if((j|0)!=(p|0)){continue}break}}c=d-4096|0;d:{if(c>>>0<=63){H[f+h|0]=d;f=f+1|0;break d}if(c>>>0<=16383){c=f+h|0;H[c|0]=d;H[c+1|0]=d+12288>>>8;f=f+2|0;break d}if(c>>>0>4194303){break d}c=f+h|0;H[c|0]=d;e=d+8384512|0;H[c+2|0]=e>>>16;H[c+1|0]=e>>>8;f=f+3|0}c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],g+23|0,g+24|0)}Aa(f,b);c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],h,f+h|0)}J[g+24>>2]=0;J[g+28>>2]=0;ie(a,g+24|0);J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=J[a+12>>2];if(h){na(h)}ba=g+32|0}function he(a){var b=0,c=0,d=0,e=0;d=ba-16|0;ba=d;J[a+4>>2]=0;J[a+8>>2]=0;c=a+16|0;b=c;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;b=a+28|0;J[b>>2]=0;J[b+4>>2]=0;J[a+12>>2]=c;J[a+24>>2]=b;b=oa(32);J[d>>2]=b;J[d+4>>2]=20;J[d+8>>2]=-2147483616;c=K[1359]|K[1360]<<8|(K[1361]<<16|K[1362]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1355]|K[1356]<<8|(K[1357]<<16|K[1358]<<24);e=K[1351]|K[1352]<<8|(K[1353]<<16|K[1354]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1347]|K[1348]<<8|(K[1349]<<16|K[1350]<<24);e=K[1343]|K[1344]<<8|(K[1345]<<16|K[1346]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+20|0]=0;e=a+24|0;vb(e,d,1);if(H[d+11|0]<0){na(J[d>>2])}a=oa(32);J[d>>2]=a;J[d+4>>2]=22;J[d+8>>2]=-2147483616;b=K[1338]|K[1339]<<8|(K[1340]<<16|K[1341]<<24);c=K[1334]|K[1335]<<8|(K[1336]<<16|K[1337]<<24);H[a+14|0]=c;H[a+15|0]=c>>>8;H[a+16|0]=c>>>16;H[a+17|0]=c>>>24;H[a+18|0]=b;H[a+19|0]=b>>>8;H[a+20|0]=b>>>16;H[a+21|0]=b>>>24;b=K[1332]|K[1333]<<8|(K[1334]<<16|K[1335]<<24);c=K[1328]|K[1329]<<8|(K[1330]<<16|K[1331]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1324]|K[1325]<<8|(K[1326]<<16|K[1327]<<24);c=K[1320]|K[1321]<<8|(K[1322]<<16|K[1323]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+22|0]=0;vb(e,d,1);if(H[d+11|0]<0){na(J[d>>2])}ba=d+16|0}function of(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=J[a+8>>2];e=J[a+4>>2];if((f-e|0)/12>>>0>=b>>>0){a:{if(!b){break a}d=e;g=P(b,12)-12|0;h=((g>>>0)/12|0)+1&3;if(h){while(1){f=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=f;J[d+8>>2]=J[c+8>>2];d=d+12|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}e=P(b,12)+e|0;if(g>>>0<36){break a}while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];J[d+20>>2]=J[c+8>>2];b=J[c+4>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=b;J[d+32>>2]=J[c+8>>2];b=J[c+4>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=b;b=J[c+4>>2];J[d+36>>2]=J[c>>2];J[d+40>>2]=b;J[d+44>>2]=J[c+8>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{d=J[a>>2];h=(e-d|0)/12|0;g=h+b|0;if(g>>>0<357913942){f=(f-d|0)/12|0;d=f<<1;k=f>>>0>=178956970?357913941:d>>>0>g>>>0?d:g;if(k){if(k>>>0>=357913942){break b}l=oa(P(k,12))}i=P(h,12)+l|0;d=i;g=P(b,12);h=g-12|0;f=((h>>>0)/12|0)+1&3;if(f){while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];d=d+12|0;j=j+1|0;if((f|0)!=(j|0)){continue}break}}f=g+i|0;if(h>>>0>=36){while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];J[d+20>>2]=J[c+8>>2];b=J[c+4>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=b;J[d+32>>2]=J[c+8>>2];b=J[c+4>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=b;b=J[c+4>>2];J[d+36>>2]=J[c>>2];J[d+40>>2]=b;J[d+44>>2]=J[c+8>>2];d=d+48|0;if((f|0)!=(d|0)){continue}break}}c=J[a>>2];if((c|0)!=(e|0)){while(1){e=e-12|0;b=J[e+4>>2];i=i-12|0;d=i;J[d>>2]=J[e>>2];J[d+4>>2]=b;J[d+8>>2]=J[e+8>>2];if((c|0)!=(e|0)){continue}break}e=J[a>>2]}J[a+8>>2]=P(k,12)+l;J[a+4>>2]=f;J[a>>2]=i;if(e){na(e)}return}qa();B()}xa();B()}function mg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=ba-112|0;ba=c;d=oa(120);i=J[a+8>>2];J[d+12>>2]=0;J[d+16>>2]=0;J[d>>2]=11224;J[d+4>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+8>>2]=11436;e=d- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[d+72>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;J[d+88>>2]=0;J[d+116>>2]=0;J[d+112>>2]=b;J[d+108>>2]=i;J[d+104>>2]=0;J[d+96>>2]=0;J[d+100>>2]=0;g=J[a+12>>2];J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;f=c+32|0;e=f;J[e>>2]=0;J[e+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;e=c- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+104>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+8>>2]=11436;J[c+96>>2]=0;J[c+100>>2]=0;J[c+12>>2]=g;h=J[g>>2];e=J[g+4>>2];H[c+111|0]=0;j=f;f=c+111|0;Na(j,(e-h>>2>>>0)/3|0,f);e=J[c+12>>2];h=J[e+28>>2];e=J[e+24>>2];H[c+111|0]=0;Na(c+44|0,h-e>>2,f);J[c+28>>2]=d;J[c+24>>2]=i;J[c+20>>2]=b;J[c+16>>2]=g;J[d+116>>2]=a+72;a=d+8|0;b=c+8|0;Kc(a,b);a:{if((a|0)==(b|0)){J[d+92>>2]=J[b+84>>2];break a}Rb(d+56|0,J[b+48>>2],J[b+52>>2]);Rb(d+68|0,J[b+60>>2],J[b- -64>>2]);Rb(d+80|0,J[b+72>>2],J[b+76>>2]);J[d+92>>2]=J[b+84>>2];bb(d+96|0,J[b+88>>2],J[b+92>>2])}J[c+8>>2]=11436;a=J[c+96>>2];if(a){J[c+100>>2]=a;na(a)}a=J[c+80>>2];if(a){J[c+84>>2]=a;na(a)}a=J[c+68>>2];if(a){J[c+72>>2]=a;na(a)}a=J[c+56>>2];if(a){J[c+60>>2]=a;na(a)}J[c+8>>2]=11672;a=J[c+44>>2];if(a){na(a)}a=J[c+32>>2];if(a){na(a)}ba=c+112|0;return d}function vb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=ba-48|0;ba=g;f=ba-32|0;ba=f;h=f+21|0;d=h;l=f+32|0;e=l;if(!((d|0)==(e|0)|(c|0)>=0)){H[d|0]=45;d=d+1|0;c=0-c|0}i=e-d|0;a:{if((i|0)<=9){j=P(32-S(c|1)|0,1233)>>12;k=61;if((i|0)<((M[(j<<2)+18192>>2]<=c>>>0)+j|0)){break a}}b:{if(c>>>0<=999999){if(c>>>0<=9999){if(c>>>0<=99){if(c>>>0<=9){H[d|0]=c+48;e=d+1|0;break b}e=Fb(d,c);break b}if(c>>>0<=999){e=(c>>>0)/100|0;H[d|0]=e+48;e=Fb(d+1|0,c-P(e,100)|0);break b}e=fd(d,c);break b}if(c>>>0<=99999){e=(c>>>0)/1e4|0;H[d|0]=e+48;e=fd(d+1|0,c-P(e,1e4)|0);break b}e=ed(d,c);break b}if(c>>>0<=99999999){if(c>>>0<=9999999){e=(c>>>0)/1e6|0;H[d|0]=e+48;e=ed(d+1|0,c-P(e,1e6)|0);break b}e=dd(d,c);break b}if(c>>>0<=999999999){e=(c>>>0)/1e8|0;H[d|0]=e+48;e=dd(d+1|0,c-P(e,1e8)|0);break b}e=d;d=(c>>>0)/1e8|0;e=dd(Fb(e,d),c-P(d,1e8)|0)}k=0}J[f+12>>2]=k;J[f+8>>2]=e;j=ba-16|0;ba=j;e=ba-16|0;ba=e;c=g+8|0;c:{i=J[f+8>>2];f=i-h|0;if(f>>>0<=2147483631){d:{if(f>>>0<11){H[c+11|0]=f|K[c+11|0]&128;H[c+11|0]=K[c+11|0]&127;d=c;break d}k=e+8|0;if(f>>>0>=11){m=f+16&-16;d=m-1|0;d=(d|0)==11?m:d}else{d=10}Ac(k,d+1|0);d=J[e+8>>2];J[c>>2]=d;J[c+8>>2]=J[c+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[c+8>>2]=J[c+8>>2]|-2147483648;J[c+4>>2]=f}while(1){if((h|0)!=(i|0)){H[d|0]=K[h|0];d=d+1|0;h=h+1|0;continue}break}H[e+7|0]=0;H[d|0]=K[e+7|0];ba=e+16|0;break c}gb();B()}ba=j+16|0;ba=l;J[g+32>>2]=b;ge(g+40|0,a,b,g+32|0);a=J[g+40>>2];if(H[a+39|0]<0){na(J[a+28>>2])}b=J[g+12>>2];J[a+28>>2]=J[g+8>>2];J[a+32>>2]=b;J[a+36>>2]=J[g+16>>2];ba=g+48|0}function df(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=Q(0);a:{b:{c:{d:{d=2;e:{if((b|0)==1){break e}d=b;if(!(b-1&b)){break e}d=Ha(b)}b=J[a+4>>2];if(d>>>0<=b>>>0){if(b>>>0<=d>>>0){break a}e=b>>>0<3;i=Q(W(Q(Q(M[a+12>>2])/N[a+20>>2])));f:{if(i=Q(0)){c=~~i>>>0;break f}c=0}g:{h:{if(e){break h}if(Jl(b)>>>0>1){break h}c=c>>>0<2?c:1<<32-S(c-1|0);break g}c=Ha(c)}d=c>>>0>>0?d:c;if(b>>>0<=d>>>0){break a}if(!d){break d}}if(d>>>0>=1073741824){break c}c=oa(d<<2);b=J[a>>2];J[a>>2]=c;if(b){na(b)}J[a+4>>2]=d;e=0;b=0;if(d-1>>>0>=3){g=d&-4;while(1){c=b<<2;J[c+J[a>>2]>>2]=0;J[J[a>>2]+(c|4)>>2]=0;J[J[a>>2]+(c|8)>>2]=0;J[J[a>>2]+(c|12)>>2]=0;b=b+4|0;f=f+4|0;if((g|0)!=(f|0)){continue}break}}c=d&3;if(c){while(1){J[J[a>>2]+(b<<2)>>2]=0;b=b+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}b=J[a+8>>2];if(!b){break a}c=a+8|0;f=J[b+4>>2];e=d-1|0;if(!(e&d)){break b}f=d>>>0<=f>>>0?(f>>>0)%(d>>>0)|0:f;J[J[a>>2]+(f<<2)>>2]=c;while(1){c=J[b>>2];if(!c){break a}e=J[c+4>>2];if(e>>>0>=d>>>0){e=(e>>>0)%(d>>>0)|0}if((e|0)==(f|0)){b=c;continue}g=e<<2;h=g+J[a>>2]|0;if(J[h>>2]){J[b>>2]=J[c>>2];J[c>>2]=J[J[g+J[a>>2]>>2]>>2];J[J[g+J[a>>2]>>2]>>2]=c}else{J[h>>2]=b;b=c;f=e}continue}}b=J[a>>2];J[a>>2]=0;if(b){na(b)}J[a+4>>2]=0;break a}xa();B()}f=e&f;J[J[a>>2]+(f<<2)>>2]=c;while(1){c=J[b>>2];if(!c){break a}d=e&J[c+4>>2];if((d|0)==(f|0)){b=c;continue}g=d<<2;h=g+J[a>>2]|0;if(J[h>>2]){J[b>>2]=J[c>>2];J[c>>2]=J[J[g+J[a>>2]>>2]>>2];J[J[g+J[a>>2]>>2]>>2]=c}else{J[h>>2]=b;b=c;f=d}continue}}}function Be(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=ba-32|0;ba=h;e=a+4|0;a=ob(a,b);a:{if((e|0)==(a|0)){break a}b:{if(H[a+39|0]>=0){J[h+24>>2]=J[a+36>>2];b=J[a+32>>2];J[h+16>>2]=J[a+28>>2];J[h+20>>2]=b;break b}Ga(h+16|0,J[a+28>>2],J[a+32>>2])}b=K[h+27|0];a=b<<24>>24;if(!(!((a|0)<0?J[h+20>>2]:b)|(c|0)<=0)){b=0;a=(a|0)<0?J[h+16>>2]:h+16|0;while(1){c:{l=ba-16|0;ba=l;Xe(l,a,h+12|0,0);j=J[l>>2];k=J[l+4>>2];i=ba-32|0;ba=i;n=J[l+12>>2];g=n&2147483647;e=g-1065418752|0;m=g-1082064896|0;f=J[l+8>>2];d:{if((e|0)==(m|0)&f>>>0>>0|e>>>0>>0){g=(n&33554431)<<7|f>>>25;e=0;m=e;f=f&33554431;if(!(!e&(f|0)==16777216?!(j|k):!e&f>>>0<16777216)){e=g+1073741825|0;break d}e=g+1073741824|0;if(f^16777216|j|(k|m)){break d}e=(g&1)+e|0;break d}if(!(!f&(g|0)==2147418112?!(j|k):g>>>0<2147418112)){e=((n&33554431)<<7|f>>>25)&4194303|2143289344;break d}e=2139095040;if(g>>>0>1082064895){break d}e=0;g=g>>>16|0;if(g>>>0<16145){break d}e=n&65535|65536;Pa(i+16|0,j,k,f,e,g-16129|0);Gb(i,j,k,f,e,16257-g|0);f=J[i+8>>2];e=(J[i+12>>2]&33554431)<<7|f>>>25;g=J[i>>2]|(J[i+16>>2]|J[i+24>>2]|(J[i+20>>2]|J[i+28>>2]))!=0;k=J[i+4>>2];j=0;f=f&33554431;if(!(!j&(f|0)==16777216?!(g|k):!j&f>>>0<16777216)){e=e+1|0;break d}if(f^16777216|g|(j|k)){break d}e=(e&1)+e|0}ba=i+32|0;ba=l+16|0;m=a;a=J[h+12>>2];if((m|0)==(a|0)){break c}J[(b<<2)+d>>2]=n&-2147483648|e;b=b+1|0;if((c|0)!=(b|0)){continue}}break}a=K[h+27|0]}if(a<<24>>24>=0){break a}na(J[h+16>>2])}ba=h+32|0}function ah(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=J[b+48>>2];d=ba-32|0;ba=d;J[d+28>>2]=a;a=0;a:{if((cb(f)|0)>9){break a}if((da[J[J[b>>2]+8>>2]](b)|0)!=1){break a}a=oa(32);J[d+16>>2]=a;J[d+20>>2]=17;J[d+24>>2]=-2147483616;H[a+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);c=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=e;H[a+13|0]=e>>>8;H[a+14|0]=e>>>16;H[a+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);c=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=e;H[a+5|0]=e>>>8;H[a+6|0]=e>>>16;H[a+7|0]=e>>>24;H[a+17|0]=0;a=jb(f,d+28|0,d+16|0,-1);if(H[d+27|0]<0){na(J[d+16>>2])}c=J[b+4>>2];e=J[J[c+8>>2]+(J[d+28>>2]<<2)>>2];b:{if((a|0)==-1|J[e+56>>2]!=3|K[e+24|0]!=2){break b}c=rd(c);if(!c){break b}c=J[c+28>>2];if(!(2558>>>c&c>>>0<12)){h=d,i=Nb(J[b+4>>2],0),J[h+12>>2]=i;c=Pc(d+16|0,1245);g=jb(f,d+12|0,c,-1);if(H[c+11|0]<0){na(J[c>>2])}if((a+(g<<1)|0)>63|g-1>>>0>20){break b}}a=5;if((cb(f)|0)<4){break a}}a=J[e+56>>2];e=cb(f);if((a|0)==1){c:{if((e|0)>3){break c}h=d,i=Nb(J[b+4>>2],0),J[h+12>>2]=i;a=rd(J[b+4>>2]);if(!a){break c}a=J[a+28>>2];if(2558>>>a&a>>>0<12){a=6;break a}a=Pc(d+16|0,1245);b=jb(f,d+12|0,a,-1);if(H[a+11|0]<0){na(J[a>>2])}a=6;if((b|0)>0){break a}}a=0;break a}a=0;if((e|0)>7){break a}a=1;if((cb(f)|0)>1){break a}a=M[J[b+4>>2]+80>>2]<40?1:4}ba=d+32|0;return a}function hc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Hg(a,i,c,h,e);f=b;b=e+j|0;Hg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}hc(a,i,c,h,e,f);hc(i,b,c,g,e,f);de(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function gc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Gg(a,i,c,h,e);f=b;b=e+j|0;Gg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}gc(a,i,c,h,e,f);gc(i,b,c,g,e,f);ce(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function fc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Fg(a,i,c,h,e);f=b;b=e+j|0;Fg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}fc(a,i,c,h,e,f);fc(i,b,c,g,e,f);be(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function ec(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Eg(a,i,c,h,e);f=b;b=e+j|0;Eg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}ec(a,i,c,h,e,f);ec(i,b,c,g,e,f);ae(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function dc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Dg(a,i,c,h,e);f=b;b=e+j|0;Dg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}dc(a,i,c,h,e,f);dc(i,b,c,g,e,f);$d(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function cc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Cg(a,i,c,h,e);f=b;b=e+j|0;Cg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}cc(a,i,c,h,e,f);cc(i,b,c,g,e,f);_d(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function bc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Bg(a,i,c,h,e);f=b;b=e+j|0;Bg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}bc(a,i,c,h,e,f);bc(i,b,c,g,e,f);Zd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function ac(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Ag(a,i,c,h,e);f=b;b=e+j|0;Ag(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}ac(a,i,c,h,e,f);ac(i,b,c,g,e,f);Yd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function _b(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){yg(a,i,c,h,e);f=b;b=e+j|0;yg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}_b(a,i,c,h,e,f);_b(i,b,c,g,e,f);Wd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Zb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){xg(a,i,c,h,e);f=b;b=e+j|0;xg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Zb(a,i,c,h,e,f);Zb(i,b,c,g,e,f);Vd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Yb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){vg(a,i,c,h,e);f=b;b=e+j|0;vg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Yb(a,i,c,h,e,f);Yb(i,b,c,g,e,f);Ud(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Xb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){ug(a,i,c,h,e);f=b;b=e+j|0;ug(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Xb(a,i,c,h,e,f);Xb(i,b,c,g,e,f);Td(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Wb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){tg(a,i,c,h,e);f=b;b=e+j|0;tg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Wb(a,i,c,h,e,f);Wb(i,b,c,g,e,f);Sd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Vb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){sg(a,i,c,h,e);f=b;b=e+j|0;sg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Vb(a,i,c,h,e,f);Vb(i,b,c,g,e,f);Rd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Ub(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){rg(a,i,c,h,e);f=b;b=e+j|0;rg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Ub(a,i,c,h,e,f);Ub(i,b,c,g,e,f);Qd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Tb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){qg(a,i,c,h,e);f=b;b=e+j|0;qg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Tb(a,i,c,h,e,f);Tb(i,b,c,g,e,f);Pd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Sb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){pg(a,i,c,h,e);f=b;b=e+j|0;pg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Sb(a,i,c,h,e,f);Sb(i,b,c,g,e,f);Od(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function $b(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){zg(a,i,c,h,e);f=b;b=e+j|0;zg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}$b(a,i,c,h,e,f);$b(i,b,c,g,e,f);Xd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Hi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=ba-32|0;ba=a;a:{b:{c:{d:{if(!b){break d}f=rb(c);if(f>>>0>=2147483632){break c}e:{f:{if(f>>>0>=11){g=(f|15)+1|0;h=oa(g);J[a+24>>2]=g|-2147483648;J[a+16>>2]=h;J[a+20>>2]=f;g=f+h|0;break f}H[a+27|0]=f;h=a+16|0;g=f+h|0;if(!f){break e}}ua(h,c,f)}H[g|0]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;if(e){if((e|0)<0){break b}c=e<<2;e=oa(c);J[a>>2]=e;f=c+e|0;J[a+8>>2]=f;ua(e,d,c);J[a+4>>2]=f}f=ba-48|0;ba=f;e=ob(b,a+16|0);if((e|0)!=(b+4|0)){c=J[e+4>>2];g:{if(!c){c=e;while(1){d=J[c+8>>2];g=J[d>>2]!=(c|0);c=d;if(g){continue}break}break g}while(1){d=c;c=J[c>>2];if(c){continue}break}}if((e|0)==J[b>>2]){J[b>>2]=d}J[b+8>>2]=J[b+8>>2]-1;Dc(J[b+4>>2],e);c=J[e+28>>2];if(c){J[e+32>>2]=c;na(c)}if(H[e+27|0]<0){na(J[e+16>>2])}na(e)}J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;c=J[a+4>>2];d=J[a>>2];e=c-d|0;g=0;h:{i:{if((c|0)!=(d|0)){if((e|0)<0){break i}g=oa(e);c=pa(g,0,e);h=c+e|0;J[f+8>>2]=h;J[f+4>>2]=h;J[f>>2]=c;c=d}ua(g,c,e);j:{if(H[a+27|0]>=0){J[f+24>>2]=J[a+24>>2];c=J[a+20>>2];J[f+16>>2]=J[a+16>>2];J[f+20>>2]=c;break j}Ga(f+16|0,J[a+16>>2],J[a+20>>2])}Ob(f+28|0,f);c=f+16|0;Cc(f+40|0,b,c,c);c=J[f+28>>2];if(c){J[f+32>>2]=c;na(c)}if(H[f+27|0]<0){na(J[f+16>>2])}c=J[f>>2];if(c){J[f+4>>2]=c;na(c)}ba=f+48|0;break h}qa();B()}c=J[a>>2];if(c){J[a+4>>2]=c;na(c)}if(H[a+27|0]>=0){break d}na(J[a+16>>2])}ba=a+32|0;a=(b|0)!=0;break a}gb();B()}qa();B()}return a|0}function gd(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;d=ba-16|0;ba=d;g=ba-16|0;ba=g;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;ba=g+16|0;md(d,K[d+11|0]>>>7|0?(J[d+8>>2]&2147483647)-1|0:10);i=ba-16|0;ba=i;l=+b;if(K[d+11|0]>>>7|0){g=J[d+4>>2]}else{g=K[d+11|0]&127}while(1){a:{if(K[d+11|0]>>>7|0){e=J[d>>2]}else{e=d}O[i>>3]=l;k=ba-16|0;ba=k;J[k+12>>2]=i;c=ba-160|0;ba=c;f=g+1|0;h=f?e:c+158|0;J[c+144>>2]=h;e=-1;j=f-1|0;J[c+148>>2]=f>>>0>=j>>>0?j:0;c=pa(c,0,144);J[c+76>>2]=-1;J[c+36>>2]=371;J[c+80>>2]=-1;J[c+44>>2]=c+159;J[c+84>>2]=c+144;b:{if((f|0)<0){J[4804]=61;break b}H[h|0]=0;h=0;f=ba-208|0;ba=f;J[f+204>>2]=i;e=f+160|0;pa(e,0,40);J[f+200>>2]=J[f+204>>2];c:{if((Ue(0,f+200|0,f+80|0,e)|0)<0){e=-1;break c}m=J[c+76>>2]>=0;j=J[c>>2];if(J[c+72>>2]<=0){J[c>>2]=j&-33}d:{e:{f:{if(!J[c+48>>2]){J[c+48>>2]=80;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;h=J[c+44>>2];J[c+44>>2]=f;break f}if(J[c+16>>2]){break e}}e=-1;if(We(c)){break d}}e=Ue(c,f+200|0,f+80|0,f+160|0)}if(h){da[J[c+36>>2]](c,0,0)|0;J[c+48>>2]=0;J[c+44>>2]=h;J[c+28>>2]=0;h=J[c+20>>2];J[c+16>>2]=0;J[c+20>>2]=0;e=h?e:-1}h=J[c>>2];J[c>>2]=h|j&32;e=h&32?-1:e;if(!m){break c}}ba=f+208|0}ba=c+160|0;ba=k+16|0;g:{if((e|0)>=0){if(e>>>0<=g>>>0){break a}g=e;break g}g=g<<1|1}md(d,g);continue}break}md(d,e);g=J[d+4>>2];J[a>>2]=J[d>>2];J[a+4>>2]=g;J[a+8>>2]=J[d+8>>2];J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;ba=i+16|0;if(K[d+11|0]>>>7|0){na(J[d>>2])}ba=d+16|0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=ba-16|0;ba=c;b=J[J[a+4>>2]+(b<<2)>>2];J[c+12>>2]=b;a=J[a+28>>2];e=J[J[J[a+4>>2]+8>>2]+(b<<2)>>2];b=J[e+28>>2];a:{if(b-1>>>0>=6){b:{if((b|0)!=9){break b}f=J[a+48>>2];a=oa(32);J[c>>2]=a;J[c+4>>2]=17;J[c+8>>2]=-2147483616;H[a+16|0]=K[1261];b=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);d=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[a+8|0]=d;H[a+9|0]=d>>>8;H[a+10|0]=d>>>16;H[a+11|0]=d>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);d=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[a|0]=d;H[a+1|0]=d>>>8;H[a+2|0]=d>>>16;H[a+3|0]=d>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+17|0]=0;a=jb(f,c+12|0,c,-1);if(H[c+11|0]<0){na(J[c>>2])}if((a|0)<=0){break b}if(J[e+56>>2]==1){a=oa(48);J[a>>2]=0;J[a+4>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;a=ne(a);J[a+40>>2]=1032;J[a>>2]=6308;J[a+44>>2]=-1;break a}a=ne(oa(64));J[a+40>>2]=2032;J[a>>2]=9988;J[a+48>>2]=0;J[a+52>>2]=0;J[a+44>>2]=-1;J[a+56>>2]=0;J[a+60>>2]=0;break a}a=oa(36);J[a+32>>2]=0;J[a+12>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=2392;H[a+21|0]=0;H[a+22|0]=0;H[a+23|0]=0;H[a+24|0]=0;H[a+25|0]=0;H[a+26|0]=0;H[a+27|0]=0;H[a+28|0]=0;break a}a=ne(oa(40))}ba=c+16|0;return a|0}function tl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=J[a+8>>2]-J[a+4>>2]>>2;b=J[a+40>>2];d=J[a+36>>2];c=b-d>>2;a:{if(e>>>0>c>>>0){g=e-c|0;d=J[a+44>>2];b=J[a+40>>2];if(g>>>0<=d-b>>2>>>0){if(g){i=b;b=g<<2;b=pa(i,0,b)+b|0}J[a+40>>2]=b;break a}b:{c:{d:{j=J[a+36>>2];e=b-j>>2;f=e+g|0;if(f>>>0<1073741824){c=d-j|0;d=c>>>1|0;c=c>>>0>=2147483644?1073741823:d>>>0>f>>>0?d:f;if(c){if(c>>>0>=1073741824){break d}i=oa(c<<2)}h=(e<<2)+i|0;d=g<<2;f=pa(h,0,d);e=d+f|0;c=(c<<2)+i|0;if((b|0)==(j|0)){break c}while(1){b=b-4|0;d=J[b>>2];J[b>>2]=0;h=h-4|0;J[h>>2]=d;if((b|0)!=(j|0)){continue}break}J[a+44>>2]=c;c=J[a+40>>2];J[a+40>>2]=e;b=J[a+36>>2];J[a+36>>2]=h;if((b|0)==(c|0)){break b}while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){da[J[J[d>>2]+4>>2]](d)}if((b|0)!=(c|0)){continue}break}break b}qa();B()}xa();B()}J[a+44>>2]=c;J[a+40>>2]=e;J[a+36>>2]=f}if(b){na(b)}break a}if(c>>>0<=e>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(b|0)){while(1){b=b-4|0;c=J[b>>2];J[b>>2]=0;if(c){da[J[J[c>>2]+4>>2]](c)}if((b|0)!=(d|0)){continue}break}}J[a+40>>2]=d}if(J[a+8>>2]==J[a+4>>2]){return 1}b=0;while(1){e=da[J[J[a>>2]+56>>2]](a,b)|0;c=b<<2;d=c+J[a+36>>2]|0;f=J[d>>2];J[d>>2]=e;if(f){da[J[J[f>>2]+4>>2]](f)}c=J[c+J[a+36>>2]>>2];d=(c|0)!=0;if(c){if(!(!(J[J[a+48>>2]+(b>>>3&536870908)>>2]>>>b&1)|M[a+52>>2]<=b>>>0)){H[c+28|0]=1}b=b+1|0;if(b>>>0>2]-J[a+4>>2]>>2>>>0){continue}}break}return d|0}function Xf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;J[a>>2]=10584;c=a+200|0;d=J[c+136>>2];if(d){b=d;e=J[c+140>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=J[b>>2];if(f){J[e-8>>2]=f;na(f)}e=b;if((b|0)!=(d|0)){continue}break}b=J[c+136>>2]}J[c+140>>2]=d;na(b)}b=J[c+104>>2];if(b){J[c+108>>2]=b;na(b)}b=J[c+92>>2];if(b){J[c+96>>2]=b;na(b)}d=J[c+80>>2];J[c+80>>2]=0;if(d){e=d-4|0;b=J[e>>2];if(b){b=d+(b<<5)|0;while(1){b=wa(b-32|0);if((d|0)!=(b|0)){continue}break}}na(e)}b=J[c+68>>2];if(b){J[c+72>>2]=b;na(b)}b=J[c+44>>2];J[c+44>>2]=0;if(b){na(b)}b=J[c+32>>2];if(b){J[c+36>>2]=b;na(b)}wa(c);b=J[a+184>>2];if(b){J[a+188>>2]=b;na(b)}d=J[a+172>>2];if(d){b=J[a+176>>2];e=d;if((b|0)!=(d|0)){while(1){e=b-136|0;f=J[e+116>>2];if(f){J[b-16>>2]=f;na(f)}f=J[b-32>>2];if(f){J[b-28>>2]=f;na(f)}pc(b-132|0);b=e;if((d|0)!=(b|0)){continue}break}e=J[a+172>>2]}J[a+176>>2]=d;na(e)}b=J[a+152>>2];if(b){J[a+156>>2]=b;na(b)}b=J[a+140>>2];if(b){na(b)}b=J[a+128>>2];if(b){while(1){e=J[b>>2];na(b);b=e;if(b){continue}break}}b=J[a+120>>2];J[a+120>>2]=0;if(b){na(b)}b=J[a+108>>2];if(b){J[a+112>>2]=b;na(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+84>>2];if(b){na(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;na(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;na(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;na(b)}b=J[a+28>>2];if(b){na(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}b=J[a+12>>2];J[a+12>>2]=0;if(b){qc(b)}return a|0}function Vd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Vd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Vd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0} -function de(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}de(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}de(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function ce(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}ce(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}ce(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function be(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}be(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}be(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function ae(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}ae(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}ae(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function _d(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}_d(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}_d(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Zd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Zd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Zd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Yd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Yd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Yd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Xd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Xd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Xd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Wd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Wd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Wd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Ud(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Ud(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Ud(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Td(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Td(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Td(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Sd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Sd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Sd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Rd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Rd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Rd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Qd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Qd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Qd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Pd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Pd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Pd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Od(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Od(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Od(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function $d(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}$d(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}$d(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Jg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=ba-16|0;ba=m;f=J[b+28>>2];g=J[b+24>>2];J[a+8>>2]=g;J[a+12>>2]=f;f=J[b+20>>2];J[a>>2]=J[b+16>>2];J[a+4>>2]=f;f=J[b+36>>2];J[a+16>>2]=J[b+32>>2];J[a+20>>2]=f;J[a+8>>2]=d+g;a:{b:{if((d|0)>0){j=J[b>>2];f=J[a+12>>2];n=J[a+16>>2];o=O[a>>3];while(1){i=J[b+4>>2]-j>>2;g=J[(h<<2)+c>>2];c:{if(i>>>0>g>>>0){break c}J[m+12>>2]=0;k=g+1|0;if(k>>>0>i>>>0){jc(b,k-i|0,m+12|0);j=J[b>>2];break c}if(i>>>0<=k>>>0){break c}J[b+4>>2]=(k<<2)+j}k=(g<<2)+j|0;i=J[k>>2];d:{if((i|0)>=2){l=+(i|0);l=va(l)*l;break d}l=0;if(i){break d}n=n+1|0;J[a+16>>2]=n;if(f>>>0>=g>>>0){break d}J[a+12>>2]=g;f=g}g=i+1|0;J[k>>2]=g;p=+(g|0);o=va(p)*p-l+o;O[a>>3]=o;h=h+1|0;if((h|0)!=(d|0)){continue}break}if(e){break b}if((d|0)<=0){break a}a=J[b>>2];j=0;h=0;if(d>>>0>=4){g=d&-4;e=0;while(1){b=h<<2;f=a+(J[b+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;f=a+(J[(b|4)+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;f=a+(J[(b|8)+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;b=a+(J[(b|12)+c>>2]<<2)|0;J[b>>2]=J[b>>2]-1;h=h+4|0;e=e+4|0;if((g|0)!=(e|0)){continue}break}}b=d&3;if(!b){break a}while(1){d=a+(J[(h<<2)+c>>2]<<2)|0;J[d>>2]=J[d>>2]-1;h=h+1|0;j=j+1|0;if((b|0)!=(j|0)){continue}break}break a}if(!e){break a}}c=J[a+4>>2];J[b+16>>2]=J[a>>2];J[b+20>>2]=c;J[b+32>>2]=J[a+16>>2];c=J[a+12>>2];J[b+24>>2]=J[a+8>>2];J[b+28>>2]=c}ba=m+16|0}function Ya(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=J[b+16>>2];f=J[c+4>>2]-e|0;J[c>>2]=0|J[c>>2]-e;J[c+4>>2]=f;f=J[d+4>>2]-e|0;e=J[d>>2]-e|0;J[d>>2]=g|e;J[d+4>>2]=f;i=J[b+16>>2];g=f>>31;h=(g^f)-g|0;g=e>>31;if(i>>>0>>0){j=J[c+4>>2];k=J[c>>2];a:{b:{if((k|0)>=0){h=1;g=1;if((j|0)>=0){break a}e=1;h=-1;g=-1;if(k){break b}break a}e=-1;h=-1;g=-1;if((j|0)<=0){break a}}h=(j|0)<=0?-1:1;g=e}f=1;e=-1;l=k<<1;k=P(g,i);l=l-k|0;g=(P(g,h)|0)>=0;h=P(h,i);J[c+4>>2]=((g?0-l|0:l)+h|0)/2;h=(j<<1)-h|0;J[c>>2]=(k+(g?0-h|0:h)|0)/2;g=J[d+4>>2];h=J[d>>2];c:{d:{if((h|0)>=0){e=1;if((g|0)>=0){break c}if(h){break d}f=-1;e=-1;break c}f=-1;if((g|0)<=0){break c}}f=(g|0)<=0?-1:1}i=h<<1;h=J[b+16>>2];j=P(h,e);i=i-j|0;e=(P(f,e)|0)>=0;h=P(f,h);f=((e?0-i|0:i)+h|0)/2|0;J[d+4>>2]=f;g=(g<<1)-h|0;e=(j+(e?0-g|0:g)|0)/2|0;J[d>>2]=e}e:{f:{g:{h:{i:{j:{if(e){if((e|0)>=0){break j}if((f|0)>0){break h}break e}if(f){break i}f=0;e=0;break e}if((f|0)<0){break g}f=0-J[c+4>>2]|0;J[c>>2]=0-J[c>>2];J[c+4>>2]=f;e=0-J[d>>2]|0;f=0-J[d+4>>2]|0;break f}if((f|0)<=0){break g}}f=J[c>>2];J[c>>2]=0-J[c+4>>2];J[c+4>>2]=f;e=0-J[d+4>>2]|0;f=J[d>>2];break f}f=0-J[c>>2]|0;J[c>>2]=J[c+4>>2];J[c+4>>2]=f;e=J[d+4>>2];f=0-J[d>>2]|0}J[d>>2]=e;J[d+4>>2]=f}d=J[c>>2];b=J[b+4>>2];c=J[c+4>>2]-f|0;J[a+4>>2]=(b&c>>31)+c;c=a;a=d-e|0;J[c>>2]=(b&a>>31)+a}function dg(a,b){var c=0,d=0,e=0,f=0,g=0;e=-1;c=(b|0)==-1;d=-1;a:{if(c){break a}d=b+1|0;e=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}f=c?-1:(b>>>0)/3|0;g=J[a+28>>2]+(f>>>3&536870908)|0;J[g>>2]=J[g>>2]|1<>2]+12>>2]+(b<<2)>>2];if((c|0)==-1){break b}c=(c>>>0)/3|0;if(J[J[a+28>>2]+(c>>>3&268435452)>>2]>>>c&1){break b}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break b}f=1<>>5<<2;b=0;while(1){Ca(J[a+280>>2]+(b<<5)|0,(f&J[g+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}c:{if((e|0)==-1){break c}b=J[J[J[a+12>>2]+12>>2]+(e<<2)>>2];if((b|0)==-1){break c}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break c}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break c}f=1<>>5<<2;b=0;while(1){Ca(J[a+280>>2]+(b<<5)|0,(f&J[e+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}d:{if((d|0)==-1){break d}b=J[J[J[a+12>>2]+12>>2]+(d<<2)>>2];if((b|0)==-1){break d}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break d}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break d}e=1<>>5<<2;b=0;while(1){Ca(J[a+280>>2]+(b<<5)|0,(e&J[d+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}}function xf(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;a=0;a:{if(!d|(!b|(c|0)<0)){break a}f=J[b+8>>2];if(J[b+12>>2]-f>>2<=(c|0)){break a}if(!J[b+4>>2]){a=oa(36);J[a+4>>2]=0;J[a+8>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;e=a+16|0;J[e>>2]=0;J[e+4>>2]=0;J[a>>2]=a+4;J[a+32>>2]=0;J[a+12>>2]=e;J[b+4>>2]=a}a=J[J[f+(c<<2)>>2]+60>>2];d=sd(oa(28),d);J[d+24>>2]=a;a=J[b+4>>2];c=ba-16|0;ba=c;J[c+8>>2]=d;b:{if(!d){break b}b=J[a+28>>2];c:{if(b>>>0>2]){J[c+8>>2]=0;J[b>>2]=d;J[a+28>>2]=b+4;break c}b=0;d:{e:{f:{e=J[a+24>>2];f=J[a+28>>2]-e>>2;d=f+1|0;if(d>>>0<1073741824){e=J[a+32>>2]-e|0;g=e>>>1|0;e=e>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(e){if(e>>>0>=1073741824){break f}b=oa(e<<2)}g=J[c+8>>2];J[c+8>>2]=0;d=(f<<2)+b|0;J[d>>2]=g;e=(e<<2)+b|0;f=d+4|0;b=J[a+28>>2];g=J[a+24>>2];if((b|0)==(g|0)){break e}while(1){b=b-4|0;h=J[b>>2];J[b>>2]=0;d=d-4|0;J[d>>2]=h;if((b|0)!=(g|0)){continue}break}J[a+32>>2]=e;e=J[a+28>>2];J[a+28>>2]=f;b=J[a+24>>2];J[a+24>>2]=d;if((b|0)==(e|0)){break d}while(1){e=e-4|0;a=J[e>>2];J[e>>2]=0;if(a){lb(a+12|0,J[a+16>>2]);kb(a,J[a+4>>2]);na(a)}if((b|0)!=(e|0)){continue}break}break d}qa();B()}xa();B()}J[a+32>>2]=e;J[a+28>>2]=f;J[a+24>>2]=d}if(b){na(b)}}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break b}lb(a+12|0,J[a+16>>2]);kb(a,J[a+4>>2]);na(a)}ba=c+16|0;a=1}return a|0}function ol(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+16>>2];a:{if(J[a+20>>2]-e>>2<=(b|0)){break a}h=J[e+(b<<2)>>2];if((h|0)<0){break a}if(M[a+52>>2]<=h>>>0){b:{b=ba-16|0;ba=b;c:{f=J[a+52>>2];c=h+1|0;d:{if(f>>>0>>0){e=c-f|0;g=J[a+56>>2];d=g<<5;e:{if(!(e>>>0>d>>>0|f>>>0>d-e>>>0)){J[a+52>>2]=c;d=f&31;c=J[a+48>>2]+(f>>>3&536870908)|0;break e}J[b+8>>2]=0;J[b>>2]=0;J[b+4>>2]=0;if((c|0)<0){break c}if(d>>>0<=1073741822){d=g<<6;c=c+31&-32;c=c>>>0>>0?d:c}else{c=2147483647}wc(b,c);d=J[a+52>>2];J[b+4>>2]=d+e;f=J[a+48>>2];c=J[b>>2];f:{if((d|0)<=0){d=0;break f}g=d>>>5|0;if(d>>>0>=32){ta(c,f,g<<2)}g=g<<2;c=g+c|0;d=d&31;if(d){i=-1>>>32-d|0;J[c>>2]=J[c>>2]&(i^-1)|J[f+g>>2]&i}f=J[a+48>>2]}J[a+48>>2]=J[b>>2];J[b>>2]=f;g=J[a+52>>2];J[a+52>>2]=J[b+4>>2];J[b+4>>2]=g;g=J[a+56>>2];J[a+56>>2]=J[b+8>>2];J[b+8>>2]=g;if(!f){break e}na(f)}if(!e){break d}if(d){f=32-d|0;g=e>>>0>f>>>0?f:e;J[c>>2]=J[c>>2]&(-1<>>f-g^-1);e=e-g|0;c=c+4|0}d=e>>>5|0;if(e>>>0>=32){pa(c,0,d<<2)}if((e&-32)==(e|0)){break d}c=(d<<2)+c|0;J[c>>2]=J[c>>2]&(-1>>>32-(e&31)^-1);break d}J[a+52>>2]=c}ba=b+16|0;break b}qa();B()}}c=1;b=J[a+48>>2]+(h>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];a=J[a+36>>2];if(b-a>>2>>>0<=h>>>0){break a}H[J[a+(h<<2)>>2]+28|0]=1}return c|0}function Va(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,n=0,o=0,p=0;g=ba-16|0;ba=g;Aa(J[a+12>>2],b);a:{if(!J[a+12>>2]){break a}n=g+15|0;o=g+16|0;while(1){b:{c:{e=J[a>>2];j=J[e+(h<<3)>>2];c=j>>>0<64;if(!c){d=1;if(j>>>0<16384){break c}d=2;if(j>>>0<=4194303){break c}break a}d=0;if(j){break c}while(1){d:{if(J[(e+(d+h<<3)|0)+8>>2]){c=d;break d}c=d+1|0;if(J[(e+(h+c<<3)|0)+8>>2]){break d}c=d+2|0;if(J[(e+(h+c<<3)|0)+8>>2]){break d}c=63;d=d+3|0;if((d|0)!=63){continue}}break}H[g+15|0]=c<<2|3;d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){sa(b,J[b+4>>2],g+15|0,o)}h=c+h|0;break b}H[g+14|0]=j<<2|d;e=J[b+20>>2];if(!J[b+16>>2]&(e|0)<=0|(e|0)<0){sa(b,J[b+4>>2],g+14|0,n)}if(c){break b}c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break b}p=d>>>0<=1?1:d;d=0;while(1){d=d+1|0;e:{c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break e}m=j>>>(d<<3)-2|0;f=J[b+8>>2];e=J[b+4>>2];if((f-e|0)>0){H[e|0]=m;J[b+4>>2]=e+1;break e}k=J[b>>2];c=e-k|0;i=c+1|0;if((i|0)>=0){f=f-k|0;l=f<<1;f=f>>>0>=1073741823?2147483647:i>>>0>>0?l:i;if(f){i=oa(f)}else{i=0}l=i+c|0;H[l|0]=m;c=ta(i,k,c);e=ta(l+1|0,e,0);J[b+8>>2]=c+f;J[b+4>>2]=e;J[b>>2]=c;if(!k){break e}na(k);break e}qa();B()}if((d|0)!=(p|0)){continue}break}}h=h+1|0;if(h>>>0>2]){continue}break}}ba=g+16|0}function Ye(a){var b=0,c=0,d=0,e=0,f=0;a:{b:{c:{d:{e:{b=J[a+4>>2];f:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break f}b=La(a)}switch(b-43|0){case 0:case 2:break e;default:break d}}f=(b|0)==45;b=J[a+4>>2];g:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break g}b=La(a)}e=b-58|0;if(e>>>0>4294967285){break c}if(J[a+116>>2]<0){break b}J[a+4>>2]=J[a+4>>2]-1;break b}e=b-58|0}if(e>>>0<4294967286){break b}e=b-48|0;if(e>>>0<10){while(1){d=(P(d,10)+b|0)-48|0;c=(d|0)<214748364;b=J[a+4>>2];h:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break h}b=La(a)}e=b-48|0;if(c&e>>>0<=9){continue}break}c=d>>31}i:{if(e>>>0>=10){break i}while(1){d=Gl(d,c,10,0);b=d+b|0;c=ca;c=b>>>0>>0?c+1|0:c;d=b-48|0;c=c-(b>>>0<48)|0;b=J[a+4>>2];j:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break j}b=La(a)}e=b-48|0;if(e>>>0>9){break i}if(d>>>0<2061584302&(c|0)<=21474836|(c|0)<21474836){continue}break}}if(e>>>0<10){while(1){b=J[a+4>>2];k:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break k}b=La(a)}if(b-48>>>0<10){continue}break}}b=J[a+116>>2];if((b|0)>0|(b|0)>=0){J[a+4>>2]=J[a+4>>2]-1}a=d;d=f?0-a|0:a;c=f?0-(((a|0)!=0)+c|0)|0:c;break a}c=-2147483648;if(J[a+116>>2]<0){break a}J[a+4>>2]=J[a+4>>2]-1;ca=-2147483648;return 0}ca=c;return d}function Gi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0,g=0,h=0,i=0;g=ba-16|0;ba=g;a:{b:{c:{if(!b){break c}e=rb(c);if(e>>>0>=2147483632){break b}d:{e:{if(e>>>0>=11){f=(e|15)+1|0;a=oa(f);J[g+8>>2]=f|-2147483648;J[g>>2]=a;J[g+4>>2]=e;f=a+e|0;break e}H[g+11|0]=e;f=e+g|0;a=g;if(!e){break d}}ua(a,c,e)}H[f|0]=0;h=ba-16|0;ba=h;O[h+8>>3]=d;f=ba-48|0;ba=f;e=ob(b,g);if((e|0)!=(b+4|0)){a=J[e+4>>2];f:{if(!a){a=e;while(1){c=J[a+8>>2];i=J[c>>2]!=(a|0);a=c;if(i){continue}break}break f}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((e|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;Dc(J[b+4>>2],e);a=J[e+28>>2];if(a){J[e+32>>2]=a;na(a)}if(H[e+27|0]<0){na(J[e+16>>2])}na(e)}a=oa(8);J[f>>2]=a;c=a+8|0;J[f+8>>2]=c;J[f+4>>2]=c;c=J[h+12>>2];e=J[h+8>>2];H[a|0]=e;H[a+1|0]=e>>>8;H[a+2|0]=e>>>16;H[a+3|0]=e>>>24;H[a+4|0]=c;H[a+5|0]=c>>>8;H[a+6|0]=c>>>16;H[a+7|0]=c>>>24;g:{if(H[g+11|0]>=0){J[f+24>>2]=J[g+8>>2];a=J[g+4>>2];J[f+16>>2]=J[g>>2];J[f+20>>2]=a;break g}Ga(f+16|0,J[g>>2],J[g+4>>2])}Ob(f+28|0,f);a=f+16|0;Cc(f+40|0,b,a,a);a=J[f+28>>2];if(a){J[f+32>>2]=a;na(a)}if(H[f+27|0]<0){na(J[f+16>>2])}a=J[f>>2];if(a){J[f+4>>2]=a;na(a)}ba=f+48|0;ba=h+16|0;if(H[g+11|0]>=0){break c}na(J[g>>2])}ba=g+16|0;a=(b|0)!=0;break a}gb();B()}return a|0}function ze(a,b){var c=0,d=0,e=0,f=0,g=0;e=ba-16|0;ba=e;J[a+8>>2]=b;J[a>>2]=0;c=a+12|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+60>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;c=a- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;g=a+140|0;a:{b:{if(b){if(b>>>0<1073741824){break b}qa();B()}J[a+116>>2]=0;J[a+120>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;c=1;break a}c=b<<2;d=oa(c);J[a+104>>2]=d;f=c+d|0;J[a+112>>2]=f;pa(d,0,c);J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+108>>2]=f;d=oa(c);J[a+116>>2]=d;f=c+d|0;J[a+124>>2]=f;pa(d,0,c);J[a+136>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=f;d=oa(c);J[a+128>>2]=d;f=c+d|0;J[a+136>>2]=f;pa(d,0,c);J[a+132>>2]=f;d=oa(c);J[e>>2]=d;f=c+d|0;J[e+8>>2]=f;pa(d,0,c);J[e+4>>2]=f;c=b<<5|1}Jb(g,c,e);d=J[e>>2];if(d){J[e+4>>2]=d;na(d)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;d=oa(b);J[e>>2]=d;f=b+d|0;J[e+8>>2]=f;pa(d,0,b);J[e+4>>2]=f}Jb(a+152|0,c,e);b=J[e>>2];if(b){J[e+4>>2]=b;na(b)}ba=e+16|0;return a}function kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=ba-16|0;ba=f;da[J[J[b>>2]+64>>2]](a,b);if(!J[a>>2]){if(H[a+15|0]<0){na(J[a+4>>2])}g=J[b+48>>2];c=oa(32);J[f>>2]=c;J[f+4>>2]=29;J[f+8>>2]=-2147483616;d=K[1308]|K[1309]<<8|(K[1310]<<16|K[1311]<<24);e=K[1304]|K[1305]<<8|(K[1306]<<16|K[1307]<<24);H[c+21|0]=e;H[c+22|0]=e>>>8;H[c+23|0]=e>>>16;H[c+24|0]=e>>>24;H[c+25|0]=d;H[c+26|0]=d>>>8;H[c+27|0]=d>>>16;H[c+28|0]=d>>>24;d=K[1303]|K[1304]<<8|(K[1305]<<16|K[1306]<<24);e=K[1299]|K[1300]<<8|(K[1301]<<16|K[1302]<<24);H[c+16|0]=e;H[c+17|0]=e>>>8;H[c+18|0]=e>>>16;H[c+19|0]=e>>>24;H[c+20|0]=d;H[c+21|0]=d>>>8;H[c+22|0]=d>>>16;H[c+23|0]=d>>>24;d=K[1295]|K[1296]<<8|(K[1297]<<16|K[1298]<<24);e=K[1291]|K[1292]<<8|(K[1293]<<16|K[1294]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1287]|K[1288]<<8|(K[1289]<<16|K[1290]<<24);e=K[1283]|K[1284]<<8|(K[1285]<<16|K[1286]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+29|0]=0;c=Pb(g,f,0);if(H[f+11|0]<0){na(J[f>>2])}if(c){da[J[J[b>>2]+68>>2]](b)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}ba=f+16|0}function db(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{c:{d:{if(b){if(b>>>0>=1073741824){break d}d=oa(b<<2);c=J[a>>2];J[a>>2]=d;if(c){na(c)}J[a+4>>2]=b;c=0;if(b>>>0>=4){d=b&-4;while(1){g=c<<2;J[g+J[a>>2]>>2]=0;J[J[a>>2]+(g|4)>>2]=0;J[J[a>>2]+(g|8)>>2]=0;J[J[a>>2]+(g|12)>>2]=0;c=c+4|0;e=e+4|0;if((d|0)!=(e|0)){continue}break}}d=b&3;if(d){while(1){J[J[a>>2]+(c<<2)>>2]=0;c=c+1|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}}d=J[a+8>>2];if(!d){break a}c=a+8|0;f=J[d+4>>2];e=Jl(b);if(e>>>0<2){break c}f=b>>>0<=f>>>0?(f>>>0)%(b>>>0)|0:f;J[J[a>>2]+(f<<2)>>2]=c;c=J[d>>2];if(!c){break a}if(e>>>0<=1){break b}while(1){e=J[c+4>>2];if(e>>>0>=b>>>0){e=(e>>>0)%(b>>>0)|0}e:{if((f|0)==(e|0)){d=c;break e}h=e<<2;g=h+J[a>>2]|0;if(!J[g>>2]){J[g>>2]=d;d=c;f=e;break e}J[d>>2]=J[c>>2];J[c>>2]=J[J[h+J[a>>2]>>2]>>2];J[J[h+J[a>>2]>>2]>>2]=c}c=J[d>>2];if(c){continue}break}break a}b=J[a>>2];J[a>>2]=0;if(b){na(b)}J[a+4>>2]=0;break a}xa();B()}f=b-1&f;J[J[a>>2]+(f<<2)>>2]=c;c=J[d>>2];if(!c){break a}}g=b-1|0;while(1){b=g&J[c+4>>2];f:{if((b|0)==(f|0)){d=c;break f}h=b<<2;e=h+J[a>>2]|0;if(J[e>>2]){J[d>>2]=J[c>>2];J[c>>2]=J[J[h+J[a>>2]>>2]>>2];J[J[h+J[a>>2]>>2]>>2]=c;break f}J[e>>2]=d;d=c;f=b}c=J[d>>2];if(c){continue}break}}}function cb(a){var b=0,c=0,d=0,e=0,f=0;e=ba-16|0;ba=e;b=oa(16);J[e>>2]=b;J[e+4>>2]=14;J[e+8>>2]=-2147483632;c=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);d=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[b+6|0]=d;H[b+7|0]=d>>>8;H[b+8|0]=d>>>16;H[b+9|0]=d>>>24;H[b+10|0]=c;H[b+11|0]=c>>>8;H[b+12|0]=c>>>16;H[b+13|0]=c>>>24;c=K[1596]|K[1597]<<8|(K[1598]<<16|K[1599]<<24);d=K[1592]|K[1593]<<8|(K[1594]<<16|K[1595]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+14|0]=0;f=Bb(a,e,-1);if(H[e+11|0]<0){na(J[e>>2])}b=oa(16);J[e>>2]=b;J[e+4>>2]=14;J[e+8>>2]=-2147483632;c=K[1617]|K[1618]<<8|(K[1619]<<16|K[1620]<<24);d=K[1613]|K[1614]<<8|(K[1615]<<16|K[1616]<<24);H[b+6|0]=d;H[b+7|0]=d>>>8;H[b+8|0]=d>>>16;H[b+9|0]=d>>>24;H[b+10|0]=c;H[b+11|0]=c>>>8;H[b+12|0]=c>>>16;H[b+13|0]=c>>>24;c=K[1611]|K[1612]<<8|(K[1613]<<16|K[1614]<<24);d=K[1607]|K[1608]<<8|(K[1609]<<16|K[1610]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+14|0]=0;a=Bb(a,e,-1);if(H[e+11|0]<0){na(J[e>>2])}ba=e+16|0;a=(a|0)<(f|0)?f:a;return(a|0)==-1?5:a}function di(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;ff(a,b,c);c=J[a+84>>2];d=J[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=J[a+92>>2];c=J[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;e=d&7;if(e){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}J[a+88>>2]=c;break b}d:{b=c;c=J[a+84>>2];i=b-c|0;g=i>>2;b=g+d|0;if(b>>>0<1073741824){e=e-c|0;h=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>>0?h:b;if(e){if(e>>>0>=1073741824){break d}j=oa(e<<2)}g=(g<<2)+j|0;b=g;h=d&7;if(h){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=g+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((f|0)!=(b|0)){continue}break}}b=ta(j,c,i);J[a+88>>2]=f;J[a+84>>2]=b;J[a+92>>2]=b+(e<<2);if(c){na(c)}break b}qa();B()}xa();B()}return}if(b>>>0>=d>>>0){break a}J[a+88>>2]=c+(b<<2)}}function ie(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{c=J[a+8>>2];e=J[a>>2];if(c-e>>3>>>0>=2){f=J[a+4>>2];h=f-e>>3;d=h>>>0>=2?2:h;b:{if(!d){break b}c=e;g=d;i=d&7;if(i){while(1){k=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=k;g=g-1|0;c=c+8|0;j=j+1|0;if((j|0)!=(i|0)){continue}break}}if(d>>>0<8){break b}while(1){d=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=d;d=J[b+4>>2];J[c+8>>2]=J[b>>2];J[c+12>>2]=d;d=J[b+4>>2];J[c+16>>2]=J[b>>2];J[c+20>>2]=d;d=J[b+4>>2];J[c+24>>2]=J[b>>2];J[c+28>>2]=d;d=J[b+4>>2];J[c+32>>2]=J[b>>2];J[c+36>>2]=d;d=J[b+4>>2];J[c+40>>2]=J[b>>2];J[c+44>>2]=d;d=J[b+4>>2];J[c+48>>2]=J[b>>2];J[c+52>>2]=d;d=J[b+4>>2];J[c+56>>2]=J[b>>2];J[c+60>>2]=d;c=c- -64|0;g=g-8|0;if(g){continue}break}}if(h>>>0<2){c=(2-h<<3)+f|0;while(1){e=J[b+4>>2];J[f>>2]=J[b>>2];J[f+4>>2]=e;f=f+8|0;if((c|0)!=(f|0)){continue}break}J[a+4>>2]=c;return}break a}if(e){J[a+4>>2]=e;na(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;c=0}e=c>>>2|0;e=c>>>0>=2147483640?536870911:e>>>0<=2?2:e;if(e>>>0<536870912){c=e<<3;e=oa(c);J[a>>2]=e;J[a+8>>2]=c+e;d=J[b>>2];g=J[b+4>>2];c=e;b=0;while(1){J[c>>2]=d;J[c+4>>2]=g;c=c+8|0;b=b+1|0;if((b|0)!=2){continue}break}break a}qa();B()}J[a+4>>2]=e+16}function we(a,b){var c=0,d=0,e=0,f=0,g=0;d=ba-16|0;ba=d;J[a+8>>2]=b;J[a>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+28>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+48>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+68>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+88>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;g=a+128|0;a:{b:{if(b){if(b>>>0<1073741824){break b}qa();B()}J[a+104>>2]=0;J[a+108>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;e=1;break a}e=b<<2;c=oa(e);J[a+92>>2]=c;f=c+e|0;J[a+100>>2]=f;pa(c,0,e);J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+96>>2]=f;c=oa(e);J[a+104>>2]=c;f=c+e|0;J[a+112>>2]=f;pa(c,0,e);J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+108>>2]=f;c=oa(e);J[a+116>>2]=c;f=c+e|0;J[a+124>>2]=f;pa(c,0,e);J[a+120>>2]=f;c=oa(e);J[d>>2]=c;f=c+e|0;J[d+8>>2]=f;pa(c,0,e);J[d+4>>2]=f;e=b<<5|1}Jb(g,e,d);c=J[d>>2];if(c){J[d+4>>2]=c;na(c)}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if(b){b=b<<2;c=oa(b);J[d>>2]=c;f=b+c|0;J[d+8>>2]=f;pa(c,0,b);J[d+4>>2]=f}Jb(a+140|0,e,d);b=J[d>>2];if(b){J[d+4>>2]=b;na(b)}ba=d+16|0;return a}function Ii(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;f=ba-16|0;ba=f;a:{b:{c:{if(!b){break c}e=rb(c);if(e>>>0>=2147483632){break b}d:{e:{if(e>>>0>=11){g=(e|15)+1|0;a=oa(g);J[f+8>>2]=g|-2147483648;J[f>>2]=a;J[f+4>>2]=e;g=a+e|0;break e}H[f+11|0]=e;g=e+f|0;a=f;if(!e){break d}}ua(a,c,e)}H[g|0]=0;g=ba-16|0;ba=g;J[g+12>>2]=d;e=ba-48|0;ba=e;d=ob(b,f);if((d|0)!=(b+4|0)){a=J[d+4>>2];f:{if(!a){a=d;while(1){c=J[a+8>>2];h=J[c>>2]!=(a|0);a=c;if(h){continue}break}break f}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((d|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;Dc(J[b+4>>2],d);a=J[d+28>>2];if(a){J[d+32>>2]=a;na(a)}if(H[d+27|0]<0){na(J[d+16>>2])}na(d)}a=oa(4);J[e>>2]=a;c=a+4|0;J[e+8>>2]=c;J[e+4>>2]=c;c=J[g+12>>2];H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;g:{if(H[f+11|0]>=0){J[e+24>>2]=J[f+8>>2];a=J[f+4>>2];J[e+16>>2]=J[f>>2];J[e+20>>2]=a;break g}Ga(e+16|0,J[f>>2],J[f+4>>2])}Ob(e+28|0,e);a=e+16|0;Cc(e+40|0,b,a,a);a=J[e+28>>2];if(a){J[e+32>>2]=a;na(a)}if(H[e+27|0]<0){na(J[e+16>>2])}a=J[e>>2];if(a){J[e+4>>2]=a;na(a)}ba=e+48|0;ba=g+16|0;if(H[f+11|0]>=0){break c}na(J[f>>2])}ba=f+16|0;a=(b|0)!=0;break a}gb();B()}return a|0}function wb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a>>2];if(d-e>>2>>>0>=b>>>0){f=J[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){J[d>>2]=J[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){J[f>>2]=J[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}J[a+4>>2]=b;return}J[a+4>>2]=e+(b<<2);return}if(e){J[a+4>>2]=e;na(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=oa(d);J[a>>2]=e;J[a+8>>2]=d+e;c=J[c>>2];d=e;g=b&7;if(g){while(1){J[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d+28>>2]=c;J[d+24>>2]=c;J[d+20>>2]=c;J[d+16>>2]=c;J[d+12>>2]=c;J[d+8>>2]=c;J[d+4>>2]=c;J[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}qa();B()}function Ma(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){J[d>>2]=J[c>>2];d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];f=e-i>>2;h=f+b|0;if(h>>>0<1073741824){j=d-i|0;d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break b}k=oa(h<<2)}f=(f<<2)+k|0;d=f;j=b&7;if(j){while(1){J[d>>2]=J[c>>2];d=d+4|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}g=(b<<2)+f|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((g|0)!=(d|0)){continue}break}}if((e|0)!=(i|0)){while(1){f=f-4|0;e=e-4|0;J[f>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[a+8>>2]=(h<<2)+k;J[a+4>>2]=g;J[a>>2]=f;if(i){na(i)}return}qa();B()}xa();B()}function jg(a){var 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;a:{b=J[a+12>>2];c=J[b+4>>2];b=J[b>>2];if((c|0)!=(b|0)){b=c-b>>2;j=b>>>0<=1?1:b;k=a+140|0;while(1){b:{if(Fc(J[a+12>>2],(e>>>0)/3|0)){break b}b=J[a+12>>2];if(J[J[b+12>>2]+(e<<2)>>2]!=-1){break b}f=J[a+152>>2];d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;if((d|0)!=-1){b=J[J[b>>2]+(d<<2)>>2]}else{b=-1}c=b<<2;if(J[f+c>>2]!=-1){break b}g=-1;h=J[a+144>>2];b=h;d=J[a+148>>2];if((b|0)==d<<5){if((h+1|0)<0){break a}if(h>>>0<=1073741822){b=d<<6;d=(h&-32)+32|0;b=b>>>0>d>>>0?b:d}else{b=2147483647}wc(k,b);f=J[a+152>>2];g=J[c+f>>2];b=J[a+144>>2]}J[a+144>>2]=b+1;d=J[a+140>>2]+(b>>>3&536870908)|0;i=J[d>>2];m=d,n=Kl(b)&i,J[m>>2]=n;if((g|0)!=-1){break b}c=c+f|0;i=J[a+12>>2];b=e;while(1){d=b;J[c>>2]=h;b=-1;g=-1;c:{if((d|0)==-1){break c}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break c}l=J[i+12>>2];while(1){d=J[(c<<2)+l>>2];if((d|0)!=-1){c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)!=-1){continue}break c}break}b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){g=J[J[i>>2]+(b<<2)>>2]}b=c}c=(g<<2)+f|0;if(J[c>>2]==-1){continue}break}}e=e+1|0;if((j|0)!=(e|0)){continue}break}}return 1}qa();B()}function mb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=(c>>>0)/3|0;j=J[(J[J[a+8>>2]+96>>2]+P(f,12)|0)+(c-P(f,3)<<2)>>2];a:{h=J[J[a+12>>2]+4>>2];e=J[h+4>>2];if((e|0)!=J[h+8>>2]){J[e>>2]=j;J[h+4>>2]=e+4;break a}b:{i=J[h>>2];f=e-i|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){k=g<<2;g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break b}f=oa(g<<2)}else{f=0}d=k+f|0;J[d>>2]=j;j=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=j;J[h>>2]=d;if(i){na(i)}break a}qa();B()}xa();B()}c:{d:{h=J[a+4>>2];e=J[h+4>>2];e:{if((e|0)!=J[h+8>>2]){J[e>>2]=c;J[h+4>>2]=e+4;break e}i=J[h>>2];f=e-i|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break d}g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break c}f=oa(g<<2)}else{f=0}d=f+(j<<2)|0;J[d>>2]=c;c=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=c;J[h>>2]=d;if(!i){break e}na(i)}a=J[a+4>>2];J[J[a+12>>2]+(b<<2)>>2]=J[a+24>>2];J[a+24>>2]=J[a+24>>2]+1;return}qa();B()}xa();B()}function _g(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=ba-16|0;ba=i;J[a+4>>2]=0;J[a+8>>2]=0;d=a+16|0;J[d>>2]=0;J[d+4>>2]=0;J[a>>2]=a+4;g=a+28|0;J[g>>2]=0;J[g+4>>2]=0;J[a+12>>2]=d;J[a+24>>2]=g;if((b+4|0)!=(a|0)){ic(a,J[b+4>>2],b+8|0)}d=a+24|0;if((d|0)!=(b+28|0)){ic(d,J[b+28>>2],b+32|0)}J[i+12>>2]=0;h=J[c+12>>2];f=J[c+8>>2];a:{if((h-f|0)<=0){break a}g=b+20|0;if(!J[g>>2]){break a}while(1){b=J[g>>2];b:{if(!b){break b}j=J[J[(e<<2)+f>>2]+56>>2];d=g;while(1){k=(j|0)>J[b+16>>2];d=k?d:b;b=J[(k?b+4|0:b)>>2];if(b){continue}break}if((d|0)==(g|0)|(j|0)>2]){break b}h=d+20|0;e=ba-48|0;ba=e;j=J[i+12>>2];d=a+16|0;f=J[d>>2];c:{d:{if(!f){break d}b=d;while(1){k=(j|0)>J[f+16>>2];b=k?b:f;f=J[(k?f+4|0:f)>>2];if(f){continue}break}if((b|0)==(d|0)){break d}if((j|0)>=J[b+16>>2]){break c}}J[e+28>>2]=0;J[e+32>>2]=0;f=e+24|0;J[e+24>>2]=f|4;b=e+16|0;J[b>>2]=0;J[b+4>>2]=0;J[e+8>>2]=j;J[e+12>>2]=b;d=e+8|0;Oc(e+40|0,a+12|0,d,d);b=J[e+40>>2];Da(d|4,J[e+16>>2]);Da(f,J[e+28>>2])}b=b+20|0;if((b|0)!=(h|0)){ic(b,J[h>>2],h+4|0)}ba=e+48|0;f=J[c+8>>2];h=J[c+12>>2];e=J[i+12>>2]}e=e+1|0;J[i+12>>2]=e;if(h-f>>2>(e|0)){continue}break}}ba=i+16|0}function Xg(a,b,c){var d=0,e=0,f=0,g=0;f=ba-16|0;ba=f;d=oa(16);J[f>>2]=d;J[f+4>>2]=14;J[f+8>>2]=-2147483632;g=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);e=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[d+6|0]=e;H[d+7|0]=e>>>8;H[d+8|0]=e>>>16;H[d+9|0]=e>>>24;H[d+10|0]=g;H[d+11|0]=g>>>8;H[d+12|0]=g>>>16;H[d+13|0]=g>>>24;g=K[1596]|K[1597]<<8|(K[1598]<<16|K[1599]<<24);e=K[1592]|K[1593]<<8|(K[1594]<<16|K[1595]<<24);H[d|0]=e;H[d+1|0]=e>>>8;H[d+2|0]=e>>>16;H[d+3|0]=e>>>24;H[d+4|0]=g;H[d+5|0]=g>>>8;H[d+6|0]=g>>>16;H[d+7|0]=g>>>24;H[d+14|0]=0;d=a+4|0;vb(d,f,b);if(H[f+11|0]<0){na(J[f>>2])}a=oa(16);J[f>>2]=a;J[f+4>>2]=14;J[f+8>>2]=-2147483632;e=K[1617]|K[1618]<<8|(K[1619]<<16|K[1620]<<24);b=K[1613]|K[1614]<<8|(K[1615]<<16|K[1616]<<24);H[a+6|0]=b;H[a+7|0]=b>>>8;H[a+8|0]=b>>>16;H[a+9|0]=b>>>24;H[a+10|0]=e;H[a+11|0]=e>>>8;H[a+12|0]=e>>>16;H[a+13|0]=e>>>24;e=K[1611]|K[1612]<<8|(K[1613]<<16|K[1614]<<24);b=K[1607]|K[1608]<<8|(K[1609]<<16|K[1610]<<24);H[a|0]=b;H[a+1|0]=b>>>8;H[a+2|0]=b>>>16;H[a+3|0]=b>>>24;H[a+4|0]=e;H[a+5|0]=e>>>8;H[a+6|0]=e>>>16;H[a+7|0]=e>>>24;H[a+14|0]=0;vb(d,f,c);if(H[f+11|0]<0){na(J[f>>2])}ba=f+16|0}function sa(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=d-c|0;if((h|0)<=0){return}a:{e=J[a+8>>2];i=J[a+4>>2];if((e-i|0)>=(h|0)){j=i-b|0;if((j|0)>=(h|0)){f=i;g=d;break a}f=i;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){H[f|0]=K[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=f;if((j|0)>0){break a}return}k=J[a>>2];g=(i-k|0)+h|0;if((g|0)>=0){j=b-k|0;f=e-k|0;e=f<<1;f=f>>>0>=1073741823?2147483647:e>>>0>g>>>0?e:g;if(f){e=oa(f)}else{e=0}g=j+e|0;if((c|0)!=(d|0)){g=ua(g,c,h)+h|0}d=ta(e,k,j);c=i-b|0;b=ta(g,b,c);J[a+8>>2]=e+f;J[a+4>>2]=b+c;J[a>>2]=d;if(k){na(k)}return}qa();B()}e=f;d=e-h|0;if(i>>>0>d>>>0){while(1){H[e|0]=K[d|0];e=e+1|0;d=d+1|0;if(i>>>0>d>>>0){continue}break}}J[a+4>>2]=e;a=b+h|0;if((a|0)!=(f|0)){a=f-a|0;ta(f-a|0,b,a)}if((c|0)==(g|0)){return}f=(c^-1)+g|0;a=g-c&7;b:{if(!a){e=b;break b}d=0;e=b;while(1){H[e|0]=K[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((a|0)!=(d|0)){continue}break}}if(f>>>0<7){return}while(1){H[e|0]=K[c|0];H[e+1|0]=K[c+1|0];H[e+2|0]=K[c+2|0];H[e+3|0]=K[c+3|0];H[e+4|0]=K[c+4|0];H[e+5|0]=K[c+5|0];H[e+6|0]=K[c+6|0];H[e+7|0]=K[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function La(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=J[a+112>>2];e=J[a+116>>2];h=(b|e)!=0;c=b;d=J[a+4>>2];g=J[a+44>>2];b=d-g|0;i=b;f=b+J[a+120>>2]|0;b=J[a+124>>2]+(b>>31)|0;a:{b=f>>>0>>0?b+1|0:b;if(!((c>>>0<=f>>>0&(b|0)>=(e|0)|(b|0)>(e|0))&h)){e=ba-16|0;ba=e;d=-1;c=J[a+72>>2];J[a+72>>2]=c-1|c;if(J[a+20>>2]!=J[a+28>>2]){da[J[a+36>>2]](a,0,0)|0}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;c=J[a>>2];b:{if(c&4){J[a>>2]=c|32;c=-1;break b}g=J[a+44>>2]+J[a+48>>2]|0;J[a+8>>2]=g;J[a+4>>2]=g;c=c<<27>>31}c:{if(c){break c}if((da[J[a+32>>2]](a,e+15|0,1)|0)!=1){break c}d=K[e+15|0]}ba=e+16|0;e=d;if((d|0)>=0){break a}g=J[a+44>>2];d=J[a+4>>2]}J[a+112>>2]=-1;J[a+116>>2]=-1;J[a+104>>2]=d;e=g-d|0;d=e+f|0;b=(e>>31)+b|0;J[a+120>>2]=d;J[a+124>>2]=d>>>0>>0?b+1|0:b;return-1}d=f+1|0;b=d?b:b+1|0;h=J[a+4>>2];g=J[a+8>>2];c=J[a+116>>2];i=c;f=J[a+112>>2];d:{if(!(c|f)){break d}c=f-d|0;f=i-(b+(d>>>0>f>>>0)|0)|0;j=g-h|0;i=j>>31;if((f|0)>=(i|0)&c>>>0>=j>>>0|(f|0)>(i|0)){break d}g=c+h|0}J[a+104>>2]=g;f=J[a+44>>2];c=f-h|0;d=c+d|0;b=(c>>31)+b|0;J[a+120>>2]=d;J[a+124>>2]=d>>>0>>0?b+1|0:b;if(f>>>0>=h>>>0){H[h-1|0]=e}return e}function yc(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{b:{f=a+16|0;d=J[f>>2];if(!d){break b}g=J[b>>2];b=f;while(1){e=(g|0)>J[d+16>>2];b=e?b:d;d=J[(e?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(f|0)|(g|0)>2]){break b}d=J[b+24>>2];if(!d){break a}a=K[c+11|0];b=a<<24>>24<0;f=b?J[c>>2]:c;a=b?J[c+4>>2]:a;while(1){b=K[d+27|0];c=b<<24>>24<0;b=c?J[d+20>>2]:b;g=b>>>0>>0;c:{d:{e:{f:{g:{h:{e=g?b:a;if(e){c=c?J[d+16>>2]:d+16|0;h=Ba(f,c,e);if(h){break h}if(a>>>0>=b>>>0){break g}break c}if(a>>>0>=b>>>0){break f}break c}if((h|0)<0){break c}}b=Ba(c,f,e);if(b){break e}}if(g){break d}return 1}if((b|0)<0){break d}return 1}d=d+4|0}d=J[d>>2];if(d){continue}break}break a}d=J[a+4>>2];if(!d){break a}a=K[c+11|0];b=a<<24>>24<0;f=b?J[c>>2]:c;a=b?J[c+4>>2]:a;while(1){b=K[d+27|0];c=b<<24>>24<0;b=c?J[d+20>>2]:b;g=b>>>0>>0;i:{j:{k:{l:{m:{n:{e=g?b:a;if(e){c=c?J[d+16>>2]:d+16|0;h=Ba(f,c,e);if(h){break n}if(a>>>0>=b>>>0){break m}break i}if(a>>>0>=b>>>0){break l}break i}if((h|0)<0){break i}}b=Ba(c,f,e);if(b){break k}}if(g){break j}return 1}if((b|0)<0){break j}return 1}d=d+4|0}d=J[d>>2];if(d){continue}break}}return 0}function ua(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){aa(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=J[b+36>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=J[b+44>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=J[b+52>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=J[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){J[c>>2]=J[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){H[c|0]=K[b|0];H[c+1|0]=K[b+1|0];H[c+2|0]=K[b+2|0];H[c+3|0]=K[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function Yf(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=10532;c=J[a+280>>2];J[a+280>>2]=0;if(c){d=c-4|0;b=J[d>>2];if(b){b=c+(b<<5)|0;while(1){b=wa(b-32|0);if((c|0)!=(b|0)){continue}break}}na(d)}b=J[a+268>>2];if(b){J[a+272>>2]=b;na(b)}b=J[a+244>>2];J[a+244>>2]=0;if(b){na(b)}b=J[a+232>>2];if(b){J[a+236>>2]=b;na(b)}wa(a+200|0);b=J[a+184>>2];if(b){J[a+188>>2]=b;na(b)}c=J[a+172>>2];if(c){d=c;b=J[a+176>>2];if((c|0)!=(b|0)){while(1){d=b-136|0;e=J[d+116>>2];if(e){J[b-16>>2]=e;na(e)}e=J[b-32>>2];if(e){J[b-28>>2]=e;na(e)}pc(b-132|0);b=d;if((c|0)!=(b|0)){continue}break}d=J[a+172>>2]}J[a+176>>2]=c;na(d)}b=J[a+152>>2];if(b){J[a+156>>2]=b;na(b)}b=J[a+140>>2];if(b){na(b)}b=J[a+128>>2];if(b){while(1){c=J[b>>2];na(b);b=c;if(b){continue}break}}b=J[a+120>>2];J[a+120>>2]=0;if(b){na(b)}b=J[a+108>>2];if(b){J[a+112>>2]=b;na(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+84>>2];if(b){na(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;na(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;na(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;na(b)}b=J[a+28>>2];if(b){na(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}b=J[a+12>>2];J[a+12>>2]=0;if(b){qc(b)}return a|0}function Zg(a,b,c){var d=0,e=Q(0),f=0,g=0,h=Q(0),i=0,j=Q(0),k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(J[a+4>>2]!=-1|c-1>>>0>29)){J[a+4>>2]=c;f=K[b+24|0];J[a+20>>2]=0;c=0;if(f){c=f<<2;d=oa(c);c=pa(d,0,c)+c|0}i=J[a+8>>2];if(i){J[a+12>>2]=i;na(i)}J[a+8>>2]=d;J[a+16>>2]=c;J[a+12>>2]=c;c=f<<2;k=oa(c);o=oa(c);c=J[b+40>>2];r=J[b+44>>2];p=c;i=J[b+48>>2];l=J[b>>2];m=ua(d,i+J[l>>2]|0,c);n=ua(k,i+J[l>>2]|0,c);b=J[b+80>>2];if(!(!f|b>>>0<2)){k=b;d=1;c=0;while(1){b=J[l>>2];g=Gl(d,c,p,r)+i|0;s=ua(o,b+g|0,p);b=0;while(1){g=b<<2;q=g+m|0;h=N[g+s>>2];if(N[q>>2]>h){N[q>>2]=h}g=g+n|0;if(h>N[g>>2]){N[g>>2]=h}b=b+1|0;if((f|0)!=(b|0)){continue}break}d=d+1|0;c=d?c:c+1|0;if((d|0)!=(k|0)|c){continue}break}}h=N[a+20>>2];a:{b:{if(!f){d=1;break b}b=0;e=N[m>>2];if(e!=e){d=0;break a}if(Q(R(e))==Q(Infinity)){d=0;break a}d=0;while(1){j=N[n+(b<<2)>>2];if(j!=j|Q(R(j))==Q(Infinity)){break a}e=Q(j-e);if(e>h){N[a+20>>2]=e;h=e}b=b+1|0;d=f>>>0<=b>>>0;if((b|0)==(f|0)){break b}e=N[m+(b<<2)>>2];if(e!=e){break a}if(Q(R(e))!=Q(Infinity)){continue}break}break a}if(h!=Q(0)){break a}J[a+20>>2]=1065353216}na(o);na(n)}return d&1}function Hc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=-1;a:{if((b|0)==-1){h=J[a+12>>2];d=1;g=-1;break a}h=J[a+12>>2];b:{c:{if((b>>>0)%3|0){e=b-1|0;break c}e=b+2|0;if((e|0)!=-1){break c}d=1;break b}g=J[h+12>>2];while(1){f=e;d=J[g+(e<<2)>>2];if((d|0)!=-1){f=-1;e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)!=-1){continue}}break}d=(d|0)!=-1;g=-1;if((b|0)==-1){break a}}g=J[J[h>>2]+(b<<2)>>2]}b=0;if(c){b=J[a+84>>2]+(g>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2]+(g<<2)>>2];e=J[a+140>>2]+(c>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<>>0)%3|0){e=f-1|0;break e}e=f+2|0;c=-1;if((e|0)==-1){break d}}c=J[J[h>>2]+(e<<2)>>2]}if((g|0)!=(c|0)){i=J[a+84>>2];while(1){a=f;f=(c>>>3&536870908)+i|0;J[f>>2]=J[f>>2]|1<>>0)%3|0?d:a-2|0;if((d|0)==-1){break f}e=J[h+12>>2];while(1){a=J[e+(d<<2)>>2];if((a|0)!=-1){d=a+1|0;d=(d>>>0)%3|0?d:a-2|0;if((d|0)!=-1){continue}break f}break}g:{if((d>>>0)%3|0){e=d-1|0;break g}e=d+2|0;if((e|0)!=-1){break g}f=-3;break f}c=J[J[h>>2]+(e<<2)>>2];f=d}b=b+1|0;if((c|0)!=(g|0)){continue}break}}}function Qb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;a:{b:{g=J[a+124>>2];c:{if(!g){break c}e=J[a+120>>2];i=Jl(g);h=g-1&d;d:{if(i>>>0<=1){break d}h=d;if(d>>>0>>0){break d}h=(d>>>0)%(g>>>0)|0}e=J[e+(h<<2)>>2];if(!e){break c}f=J[e>>2];if(!f){break c}e:{if(i>>>0<=1){e=g-1|0;while(1){g=J[f+4>>2];f:{if((g|0)!=(d|0)){if((h|0)==(e&g)){break f}break c}if(J[f+8>>2]==(d|0)){break e}}f=J[f>>2];if(f){continue}break}break c}while(1){e=J[f+4>>2];g:{if((e|0)!=(d|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((e|0)==(h|0)){break g}break c}if(J[f+8>>2]==(d|0)){break e}}f=J[f>>2];if(f){continue}break}break c}f=J[f+12>>2];if((f|0)==-1){break c}g=c&1;c=J[a+112>>2];if((c|0)!=J[a+116>>2]){H[c+8|0]=g;J[c+4>>2]=b;J[c>>2]=f;J[a+112>>2]=c+12;return}d=J[a+108>>2];i=c-d|0;c=(i|0)/12|0;e=c+1|0;if(e>>>0>=357913942){break b}h=c<<1;e=c>>>0>=178956970?357913941:e>>>0>>0?h:e;if(e){if(e>>>0>=357913942){break a}h=oa(P(e,12))}else{h=0}c=h+P(c,12)|0;H[c+8|0]=g;J[c+4>>2]=b;J[c>>2]=f;b=ta(c+P((i|0)/-12|0,12)|0,d,i);J[a+116>>2]=h+P(e,12);J[a+112>>2]=c+12;J[a+108>>2]=b;if(!d){break c}na(d)}return}qa();B()}xa();B()}function jc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;f=b&7;if(f){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];j=e-i|0;f=j>>2;g=f+b|0;if(g>>>0<1073741824){d=d-i|0;e=d>>>1|0;g=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break b}k=oa(g<<2)}f=(f<<2)+k|0;d=f;e=b&7;if(e){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}e=f+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}b=ta(k,i,j);J[a+4>>2]=e;J[a>>2]=b;J[a+8>>2]=b+(g<<2);if(i){na(i)}return}qa();B()}xa();B()}function cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=J[c>>2];m=J[c+4>>2];a:{if((f|0)==(m|0)){h=J[a+12>>2];b=J[a+8>>2];i=h-b|0;c=0;break a}o=J[b>>2];h=J[a+12>>2];b=J[a+8>>2];i=h-b|0;if((i|0)<=0){c=0;while(1){e=J[(J[f>>2]<<2)+o>>2];c=c>>>0>e>>>0?c:e+1|0;f=f+4|0;if((m|0)!=(f|0)){continue}break}break a}c=i>>>2|0;c=c>>>0<=1?1:c;q=c&1073741822;r=c&1;c=0;s=i>>>0<8;while(1){e=J[f>>2];k=e<<2;l=J[o+k>>2];if(l>>>0>=c>>>0){c=0;j=0;if(!s){while(1){p=c<<2;d=J[p+b>>2];g=J[d+68>>2];d=K[d+84|0]?e:J[g+k>>2];n=g;g=l<<2;J[n+g>>2]=d;n=g;d=J[(p|4)+b>>2];g=J[d+68>>2];J[n+g>>2]=K[d+84|0]?e:J[g+k>>2];c=c+2|0;j=j+2|0;if((q|0)!=(j|0)){continue}break}}if(r){c=J[(c<<2)+b>>2];d=J[c+68>>2];j=d+(l<<2)|0;if(!K[c+84|0]){e=J[d+k>>2]}J[j>>2]=e}c=l+1|0}f=f+4|0;if((m|0)!=(f|0)){continue}break}}d=0;if((i|0)>0){while(1){b=J[(d<<2)+b>>2];H[b+84|0]=0;f=J[b+68>>2];e=J[b+72>>2]-f>>2;b:{if(e>>>0>>0){Ma(b+68|0,c-e|0,15024);h=J[a+12>>2];break b}if(c>>>0>=e>>>0){break b}J[b+72>>2]=f+(c<<2)}d=d+1|0;b=J[a+8>>2];if((d|0)>2){continue}break}}}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;J[a+4>>2]=b;d=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=d;a:{if((da[J[J[a>>2]+32>>2]](a)|0)==1&J[J[a+8>>2]+28>>2]-1>>>0>5){break a}f=J[b+48>>2];d=ba-16|0;ba=d;J[d+12>>2]=c;b=oa(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1529];c=K[1525]|K[1526]<<8|(K[1527]<<16|K[1528]<<24);e=K[1521]|K[1522]<<8|(K[1523]<<16|K[1524]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1517]|K[1518]<<8|(K[1519]<<16|K[1520]<<24);e=K[1513]|K[1514]<<8|(K[1515]<<16|K[1516]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;b=jb(f,d+12|0,d,-1);if(H[d+11|0]<0){na(J[d>>2])}ba=d+16|0;c=da[J[J[a>>2]+48>>2]](a,(b|0)==-1?-1:b>>>0>6?-2:b)|0;b=J[a+36>>2];J[a+36>>2]=c;e=1;if(b){da[J[J[b>>2]+4>>2]](b);c=J[a+36>>2]}if(!c){break a}if(da[J[J[a>>2]+36>>2]](a,c)|0){break a}b=J[a+36>>2];J[a+36>>2]=0;if(!b){break a}da[J[J[b>>2]+4>>2]](b)}return e|0}function md(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(K[a+11|0]>>>7|0){e=J[a+4>>2]}else{e=K[a+11|0]&127}if(e>>>0>>0){h=ba-16|0;ba=h;g=b-e|0;if(g){f=K[a+11|0]>>>7|0?(J[a+8>>2]&2147483647)-1|0:10;if(K[a+11|0]>>>7|0){b=J[a+4>>2]}else{b=K[a+11|0]&127}i=b+g|0;if(f-b>>>0>>0){b:{d=ba-16|0;ba=d;c=i-f|0;if(c>>>0<=2147483631-f>>>0){if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}if(f>>>0<1073741799){J[d+12>>2]=f<<1;J[d>>2]=c+f;c=ba-16|0;ba=c;ba=c+16|0;c=d+12|0;c=J[(M[d>>2]>2]?c:d)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}Ac(d,c);c=J[d>>2];if(b){Ab(c,e,b)}if((f|0)!=10){na(e)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[d+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;ba=d+16|0;break b}gb();B()}}if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}b=e+b|0;d=ba-16|0;ba=d;H[d+15|0]=0;while(1){if(g){H[b|0]=K[d+15|0];g=g-1|0;b=b+1|0;continue}break}ba=d+16|0;ld(a,i);H[h+15|0]=0;H[e+i|0]=K[h+15|0]}ba=h+16|0;break a}if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}d=ba-16|0;ba=d;ld(a,b);H[d+15|0]=0;H[b+e|0]=K[d+15|0];ba=d+16|0}}function kf(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=ba-16|0;ba=f;a:{d=rd(a);b:{if(!d){a=0;break b}e=J[a+100>>2];g=J[a+96>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=e-g|0;c=(b|0)/12|0;c:{if((e|0)==(g|0)){break c}if(c>>>0>=357913942){break a}e=oa(b);J[f>>2]=e;J[f+8>>2]=e+P(c,12);a=0;h=e;e=b-12|0;b=(e-((e>>>0)%12|0)|0)+12|0;e=pa(h,0,b);J[f+4>>2]=b+e;if(K[d+84|0]){d=c>>>0<=1?1:c;i=d&1;if(c>>>0>=2){j=d&-2;c=0;while(1){b=P(a,12);d=b+g|0;h=J[d>>2];k=J[d+4>>2];b=b+e|0;J[b+8>>2]=J[d+8>>2];J[b>>2]=h;J[b+4>>2]=k;b=P(a|1,12);d=b+g|0;h=J[d>>2];k=J[d+4>>2];b=b+e|0;J[b+8>>2]=J[d+8>>2];J[b>>2]=h;J[b+4>>2]=k;a=a+2|0;c=c+2|0;if((j|0)!=(c|0)){continue}break}}if(!i){break c}c=P(a,12);a=c+g|0;g=J[a+4>>2];d=J[a>>2];c=c+e|0;J[c+8>>2]=J[a+8>>2];J[c>>2]=d;J[c+4>>2]=g;break c}i=c>>>0<=1?1:c;a=J[d+68>>2];c=0;while(1){b=P(c,12);d=b+g|0;j=J[a+(J[d>>2]<<2)>>2];h=J[a+(J[d+4>>2]<<2)>>2];b=b+e|0;J[b+8>>2]=J[a+(J[d+8>>2]<<2)>>2];J[b+4>>2]=h;J[b>>2]=j;c=c+1|0;if((i|0)!=(c|0)){continue}break}}a=mf(f);c=J[f>>2];if(!c){break b}J[f+4>>2]=c;na(c)}ba=f+16|0;return a}qa();B()}function Kd(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;a:{if(J[a+64>>2]){break a}c=oa(32);J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;d=J[a+64>>2];J[a+64>>2]=c;if(!d){break a}c=J[d>>2];if(c){J[d+4>>2]=c;na(c)}na(d)}d=J[a+64>>2];c=J[a+28>>2]-1|0;if(c>>>0<=10){i=J[(c<<2)+14832>>2]}else{i=-1}c=P(i,K[a+24|0]);i=c;k=c>>31;c=Gl(c,k,b,0);b:{if((ca|0)<0){break b}c:{f=J[d+4>>2];e=J[d>>2];g=f-e|0;d:{if(c>>>0>g>>>0){j=c-g|0;h=J[d+8>>2];if(j>>>0<=h-f>>>0){l=d,m=pa(f,0,j)+j|0,J[l+4>>2]=m;break d}if((c|0)<0){break c}f=h-e|0;h=f<<1;f=f>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=oa(f);pa(h+g|0,0,j);g=ta(h,e,g);J[d+8>>2]=g+f;J[d+4>>2]=c+g;J[d>>2]=g;if(!e){break d}na(e);break d}if(c>>>0>=g>>>0){break d}J[d+4>>2]=c+e}c=J[d+28>>2];e=J[d+24>>2]+1|0;c=e?c:c+1|0;J[d+24>>2]=e;J[d+28>>2]=c;e=1;break b}qa();B()}if(e){c=J[a+64>>2];J[a>>2]=c;d=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=d;d=J[c+24>>2];c=J[c+28>>2];J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=i;J[a+44>>2]=k;J[a+16>>2]=d;J[a+20>>2]=c;J[a+80>>2]=b}}function va(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;A(+a);d=v(1)|0;b=v(0)|0;c=d>>>16|0;f=d-1072604335|0;if((f|0)==135337|f>>>0<135337){if(!b&(d|0)==1072693248){return 0}g=O[1879];a=a+-1;A(+a);b=v(1)|0;v(0)|0;x(0,0);x(1,b|0);h=+z();i=g*h;e=a*a;j=e*(a*O[1888]+O[1887]);k=i+j;l=e*e;return k+(l*(l*(e*(a*O[1896]+O[1895])+(a*O[1894]+O[1893]))+(e*(a*O[1892]+O[1891])+(a*O[1890]+O[1889])))+((a-h)*g+a*O[1880]+(j+(i-k))))}a:{if(c-32752>>>0<=4294934559){if(!(d&2147483647|b)){b=ba-16|0;O[b+8>>3]=-1;return O[b+8>>3]/0}if(!b&(d|0)==2146435072){break a}if(!(!(c&32768)&(c&32752)!=32752)){a=a-a;return a/a}A(+(a*4503599627370496));d=v(1)|0;b=v(0)|0;d=d-54525952|0}c=d-1072037888|0;f=c;c=(c>>>14&63)<<4;g=O[c+15184>>3]+ +(f>>20);h=O[1879];a=O[c+15176>>3];x(0,b-0|0);x(1,d-((f&-1048576)+(b>>>0>>0)|0)|0);a=a*(+z()-O[c+16200>>3]-O[c+16208>>3]);A(+a);b=v(1)|0;v(0)|0;x(0,0);x(1,b|0);i=+z();j=h*i;k=g+j;e=a*a;a=k+(e*(e*e*(a*O[1886]+O[1885])+(e*(a*O[1884]+O[1883])+(a*O[1882]+O[1881])))+((a-i)*h+O[1880]*a+(j+(g-k))))}return a}function Ib(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=32-b|0;c=c<>2];f=32-d|0;c:{if((f|0)>=(b|0)){b=b+d|0;J[a+16>>2]=b;f=J[a+12>>2]|c>>>d;J[a+12>>2]=f;if((b|0)!=32){break c}b=J[a+4>>2];d:{if((b|0)!=J[a+8>>2]){J[b>>2]=f;J[a+4>>2]=b+4;break d}c=b;b=J[a>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break a}e=oa(d<<2)}else{e=0}g=e+(g<<2)|0;J[g>>2]=f;c=ta(e,b,c);J[a+8>>2]=c+(d<<2);J[a+4>>2]=g+4;J[a>>2]=c;if(!b){break d}na(b)}J[a+12>>2]=0;J[a+16>>2]=0;return}b=b-f|0;J[a+16>>2]=b;g=c>>>e|0;f=J[a+12>>2]|g>>>b;J[a+12>>2]=f;b=J[a+4>>2];e:{if((b|0)!=J[a+8>>2]){J[b>>2]=f;J[a+4>>2]=b+4;break e}c=b;b=J[a>>2];c=c-b|0;h=c>>2;d=h+1|0;if(d>>>0>=1073741824){break b}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break a}e=oa(d<<2)}else{e=0}h=e+(h<<2)|0;J[h>>2]=f;c=ta(e,b,c);J[a+8>>2]=c+(d<<2);J[a+4>>2]=h+4;J[a>>2]=c;if(!b){break e}na(b)}J[a+12>>2]=g<<32-J[a+16>>2]}return}qa();B()}xa();B()}function sb(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);H[b+12|0]=c;a:{if(c){break a}while(1){d=J[b+8>>2];if(K[d+12|0]){break a}b:{c=J[d+8>>2];e=J[c>>2];if((e|0)==(d|0)){e=J[c+4>>2];if(!(!e|K[e+12|0])){break b}c:{if(J[d>>2]==(b|0)){b=d;break c}b=J[d+4>>2];a=J[b>>2];J[d+4>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b>>2]=d;J[d+8>>2]=b;c=J[b+8>>2];d=J[c>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;return}if(!(K[e+12|0]|!e)){break b}d:{if(J[d>>2]!=(b|0)){b=d;break d}a=J[b+4>>2];J[d>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b+4>>2]=d;J[d+8>>2]=b;c=J[b+8>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[c+4>>2];b=J[a>>2];J[c+4>>2]=b;if(b){J[b+8>>2]=c}J[a+8>>2]=J[c+8>>2];b=J[c+8>>2];J[((J[b>>2]!=(c|0))<<2)+b>>2]=a;J[a>>2]=c;J[c+8>>2]=a;break a}H[d+12|0]=1;H[c+12|0]=(a|0)==(c|0);H[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function Il(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!c){break k}if(!d){break j}e=S(d)-S(b)|0;if(e>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}ca=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}if(!d|d-1&d){break g}a=b>>>Fl(d)|0;ca=0;break a}if(!(c-1&c)){break f}h=(S(c)+33|0)-S(b)|0;g=0-h|0;break d}h=e+1|0;g=63-e|0;break d}ca=0;a=(b>>>0)/(d>>>0)|0;break a}e=S(d)-S(b)|0;if(e>>>0<31){break e}break c}if((c|0)==1){break b}d=Fl(c);c=d&31;if((d&63)>>>0>=32){a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}ca=e;break a}h=e+1|0;g=63-e|0}e=h&63;f=e&31;if(e>>>0>=32){e=0;i=b>>>f|0}else{e=b>>>f|0;i=((1<>>f}g=g&63;f=g&31;if(g>>>0>=32){b=a<>>32-f|b<>>31;e=i<<1|b>>>31;f=m-(j+(e>>>0>g>>>0)|0)>>31;k=c&f;i=e-k|0;e=j-((d&f)+(e>>>0>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=f&1;h=h-1|0;if(h){continue}break}}ca=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}ca=b}return a}function Kg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=ba-16|0;ba=j;J[j+8>>2]=0;J[j>>2]=0;J[j+4>>2]=0;a:{b:{e=c+1|0;if(e){if(e>>>0>=1073741824){break b}h=oa(e<<2);pa(h,0,(c<<2)+4|0)}c:{if((b|0)<=0){break c}e=0;if(b>>>0>=4){k=b&-4;while(1){f=e<<2;i=(J[f+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;i=(J[(f|4)+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;i=(J[(f|8)+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;f=(J[(f|12)+a>>2]<<2)+h|0;J[f>>2]=J[f>>2]+1;e=e+4|0;l=l+4|0;if((k|0)!=(l|0)){continue}break}}f=b&3;if(!f){break c}while(1){k=(J[(e<<2)+a>>2]<<2)+h|0;J[k>>2]=J[k>>2]+1;e=e+1|0;m=m+1|0;if((f|0)!=(m|0)){continue}break}}e=0;if((c|0)<0){a=0;break a}o=+(b|0);a=0;while(1){b=J[(e<<2)+h>>2];if((b|0)>0){n=+(b|0);g=n*va(n/o)+g;a=a+1|0}b=(c|0)==(e|0);e=e+1|0;if(!b){continue}break}break a}qa();B()}if(d){J[d>>2]=a}if(h){na(h)}g=-g;d:{if(R(g)<0x8000000000000000){b=R(g)>=1?~~(g>0?T(V(g*2.3283064365386963e-10),4294967295):W((g-+(~~g>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~g>>>0;break d}b=-2147483648;a=0}ba=j+16|0;ca=b;return a}function zg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;$b(a,h,c,g,e,g);d=d-g|0;$b(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function yg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;_b(a,h,c,g,e,g);d=d-g|0;_b(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function xg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Zb(a,h,c,g,e,g);d=d-g|0;Zb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function vg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Yb(a,h,c,g,e,g);d=d-g|0;Yb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function ug(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Xb(a,h,c,g,e,g);d=d-g|0;Xb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function tg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Wb(a,h,c,g,e,g);d=d-g|0;Wb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function sg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Vb(a,h,c,g,e,g);d=d-g|0;Vb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function rg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Ub(a,h,c,g,e,g);d=d-g|0;Ub(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function qg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Tb(a,h,c,g,e,g);d=d-g|0;Tb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function pg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Sb(a,h,c,g,e,g);d=d-g|0;Sb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Hg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;hc(a,h,c,g,e,g);d=d-g|0;hc(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Gg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;gc(a,h,c,g,e,g);d=d-g|0;gc(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Fg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;fc(a,h,c,g,e,g);d=d-g|0;fc(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Eg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;ec(a,h,c,g,e,g);d=d-g|0;ec(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Dg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;dc(a,h,c,g,e,g);d=d-g|0;dc(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Cg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;cc(a,h,c,g,e,g);d=d-g|0;cc(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Bg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;bc(a,h,c,g,e,g);d=d-g|0;bc(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Ag(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;ac(a,h,c,g,e,g);d=d-g|0;ac(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function yj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=ba-16|0;ba=g;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=oa(c);f=c+(f<<2)|0;h=c+(b-d&-4)|0;c=h;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=h;J[e>>2]=c;if(!d){break b}na(d)}b=J[a+12>>2];c=J[b+28>>2];b=J[b+24>>2];J[g+12>>2]=0;b=c-b>>2;d=a+96|0;e=J[d>>2];c=J[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){jc(d,b-c|0,g+12|0);break c}if(b>>>0>=c>>>0){break c}J[a+100>>2]=e+(b<<2)}e=a+8|0;b=J[a+116>>2];d:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){c=1;break d}b=0;while(1){c=Wf(e,J[(b<<2)+d>>2]);if(!c){break d}f=J[a+116>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break d}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){c=Wf(e,P(b,3));if(!c){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}ba=g+16|0;return c|0}qa();B()}function Yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=J[b+88>>2];if(!(!c|J[c>>2]!=1)){e=J[c+8>>2];J[a+4>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);f=a+8|0;d=K[b+24|0];h=J[a+8>>2];g=J[a+12>>2]-h>>2;a:{if(d>>>0>g>>>0){Fa(f,d-g|0);d=K[b+24|0];e=J[c+8>>2];break a}if(d>>>0>=g>>>0){break a}J[a+12>>2]=h+(d<<2)}b:{if(!d){b=4;break b}h=d&3;f=J[f>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){g=d<<2;c=b+e|0;J[g+f>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+(g|4)>>2]=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+(g|8)>>2]=K[c+8|0]|K[c+9|0]<<8|(K[c+10|0]<<16|K[c+11|0]<<24);J[f+(g|12)>>2]=K[c+12|0]|K[c+13|0]<<8|(K[c+14|0]<<16|K[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+e|0;J[f+(d<<2)>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}d=a;a=b+e|0;J[d+20>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);d=1}return d|0}function Me(a,b,c,d){var e=0,f=0,g=0,h=0;g=ba-32|0;ba=g;e=d&2147483647;h=e;f=e-1006698496|0;e=e-1140785152|0;a:{if((f|0)==(e|0)&0|e>>>0>f>>>0){e=c<<4|b>>>28;c=d<<4|c>>>28;b=b&268435455;if((b|0)==134217728&(a|0)!=0|b>>>0>134217728){f=c+1073741824|0;e=e+1|0;f=e?f:f+1|0;break a}f=c+1073741824|0;if(a|(b|0)!=134217728){break a}a=e&1;e=a+e|0;f=a>>>0>e>>>0?f+1|0:f;break a}if(!(!c&(h|0)==2147418112?!(a|b):h>>>0<2147418112)){a=d<<4|c>>>28;e=c<<4|b>>>28;f=a&524287|2146959360;break a}e=0;f=2146435072;if(h>>>0>1140785151){break a}f=0;h=h>>>16|0;if(h>>>0<15249){break a}e=d&65535|65536;Pa(g+16|0,a,b,c,e,h-15233|0);Gb(g,a,b,c,e,15361-h|0);b=J[g+8>>2];e=b<<4;b=J[g+12>>2]<<4|b>>>28;c=J[g>>2];f=J[g+4>>2];h=f;e=f>>>28|e;f=b;a=h&268435455;b=c|(J[g+16>>2]|J[g+24>>2]|(J[g+20>>2]|J[g+28>>2]))!=0;if((a|0)==134217728&(b|0)!=0|a>>>0>134217728){e=e+1|0;f=e?f:f+1|0;break a}if(b|(a|0)!=134217728){break a}a=e;e=e+(e&1)|0;f=a>>>0>e>>>0?f+1|0:f}ba=g+32|0;x(0,e|0);x(1,d&-2147483648|f);return+z()}function mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=J[a+12>>2];c=J[a+68>>2];d=J[c+80>>2];H[b+84|0]=0;n=b+68|0;i=J[b+68>>2];e=J[b+72>>2]-i>>2;a:{if(e>>>0>>0){Ma(n,d-e|0,11424);c=J[a+68>>2];d=J[c+80>>2];break a}if(d>>>0>=e>>>0){break a}J[b+72>>2]=i+(d<<2)}b=J[c+100>>2];e=J[c+96>>2];i=(b-e|0)/12|0;m=1;b:{if((b|0)==(e|0)){break b}k=J[k+28>>2];f=J[k>>2];if((f|0)==-1){return 0}o=i>>>0<=1?1:i;c=e;b=0;m=0;while(1){g=J[c>>2];if(g>>>0>=d>>>0){break b}j=J[J[a+72>>2]+12>>2];h=J[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=J[n>>2];J[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=J[g+4>>2];if((h|0)==-1){break b}l=J[c+4>>2];if(l>>>0>=d>>>0){break b}h=J[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}J[f+(l<<2)>>2]=h;g=J[g+8>>2];if((g|0)==-1){break b}c=J[c+8>>2];if(c>>>0>=d>>>0){break b}j=J[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}J[f+(c<<2)>>2]=j;b=b+1|0;m=i>>>0<=b>>>0;if((b|0)==(o|0)){break b}c=e+P(b,12)|0;l=P(b,3);f=J[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return m|0}function wg(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,l=0,m=0;h=J[d+80>>2];e=ba-48|0;ba=e;a=J[a+4>>2];m=a-2|0;a:{if(m>>>0>28){break a}j=J[J[d>>2]>>2]+J[d+48>>2]|0;J[e+16>>2]=a;a=-1<>2]=a^-1;a=-2-a|0;J[e+24>>2]=a;J[e+32>>2]=(a|0)/2;N[e+28>>2]=Q(2)/Q(a|0);f=J[c>>2];if((f|0)!=J[c+4>>2]){a=0;d=0;while(1){g=J[(d<<2)+f>>2];h=e+36|0;k=J[J[b>>2]>>2];l=J[b+48>>2];f=J[b+40>>2];i=J[b+44>>2];if(!K[b+84|0]){g=J[J[b+68>>2]+(g<<2)>>2]}g=Gl(f,i,g,0);i=g;g=g+l|0;ua(h,g+k|0,f);Tf(e+16|0,h,e+12|0,e+8|0);f=a<<2;J[f+j>>2]=J[e+12>>2];J[(f|4)+j>>2]=J[e+8>>2];a=a+2|0;d=d+1|0;f=J[c>>2];if(d>>>0>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){k=e+36|0;l=J[J[b>>2]>>2];i=J[b+48>>2];c=J[b+40>>2];f=Gl(c,J[b+44>>2],K[b+84|0]?a:J[J[b+68>>2]+(a<<2)>>2],0);g=f;f=f+i|0;ua(k,f+l|0,c);Tf(e+16|0,k,e+12|0,e+8|0);c=d<<2;J[c+j>>2]=J[e+12>>2];J[(c|4)+j>>2]=J[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}ba=e+48|0;return m>>>0<29|0} -function xk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=ba-16|0;ba=k;if(J[c+28>>2]==9){d=J[a+4>>2];h=K[c+24|0];e=h<<2;f=oa(e);l=k+8|0;J[l>>2]=1065353216;i=N[a+20>>2];d=-1<0){N[l>>2]=i/Q(d|0)}o=(d|0)>0;a:{if(!o){break a}j=J[c+80>>2];if(!j){break a}if(h){p=J[J[b>>2]>>2]+J[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=J[a+8>>2];i=N[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;N[g+f>>2]=Q(i*Q(J[q>>2]))+N[g+m>>2];g=g|4;N[g+f>>2]=Q(i*Q(J[q+4>>2]))+N[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;N[d+f>>2]=Q(i*Q(J[(b<<2)+p>>2]))+N[d+m>>2];b=b+1|0}ua(J[J[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){ua(J[J[c+64>>2]>>2]+b|0,f,e);b=b+e|0;ua(b+J[J[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}ua(J[J[c+64>>2]>>2]+b|0,f,e)}na(f)}ba=k+16|0;return o|0}function zj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+108>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0>>0){Ma(m,e-f|0,11424);d=J[a+108>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+112>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+68>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0>>0){Ma(m,e-f|0,11424);d=J[a+68>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+72>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function lg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=ba+-64|0;ba=c;d=oa(80);i=J[a+8>>2];J[d+12>>2]=0;J[d+16>>2]=0;J[d>>2]=11692;J[d+4>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+76>>2]=0;J[d+72>>2]=b;J[d+68>>2]=i;J[d- -64>>2]=0;j=d+56|0;e=j;J[e>>2]=0;J[e+4>>2]=0;J[d+8>>2]=11856;e=J[a+12>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;f=c+24|0;J[f>>2]=0;J[f+4>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c>>2]=11856;J[c+4>>2]=e;g=J[e>>2];h=J[e+4>>2];H[c+63|0]=0;k=f;f=c+63|0;Na(k,(h-g>>2>>>0)/3|0,f);g=J[c+4>>2];h=J[g+28>>2];g=J[g+24>>2];H[c+63|0]=0;Na(c+36|0,h-g>>2,f);J[c+20>>2]=d;J[c+16>>2]=i;J[c+12>>2]=b;J[c+8>>2]=e;J[d+76>>2]=a+72;Kc(d+8|0,c);Rb(j,J[c+48>>2],J[c+52>>2]);J[c>>2]=11856;a=J[c+48>>2];if(a){J[c+52>>2]=a;na(a)}J[c>>2]=11672;a=J[c+36>>2];if(a){na(a)}a=J[c+24>>2];if(a){na(a)}ba=c- -64|0;return d}function Sa(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0;a:{b:{if((e|0)<=(f|0)){if((a|0)==(b|0)){break b}f=g;e=a;while(1){J[f>>2]=J[e>>2];f=f+4|0;e=e+4|0;if((e|0)!=(b|0)){continue}break}if((f|0)==(g|0)){break b}d=J[d>>2];while(1){if((b|0)==(c|0)){ta(a,g,f-g|0);return}c:{e=J[d>>2];h=J[d+4>>2]-e>>3;i=J[b>>2];if(h>>>0<=i>>>0){break c}j=h;h=J[g>>2];if(j>>>0<=h>>>0){break c}j=h;k=i;i=J[e+(i<<3)>>2];e=J[e+(h<<3)>>2];h=i>>>0>=e>>>0;J[a>>2]=h?j:k;b=((e>>>0>i>>>0)<<2)+b|0;a=a+4|0;g=(h<<2)+g|0;if((g|0)!=(f|0)){continue}break b}break}ra();B()}if((b|0)==(c|0)){break b}f=g;e=b;while(1){J[f>>2]=J[e>>2];f=f+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}if((f|0)==(g|0)){break b}while(1){if((a|0)==(b|0)){a=f-g|0;ta(c-a|0,g,a);return}i=J[d>>2];e=J[i>>2];h=J[i+4>>2]-e>>3;k=f-4|0;i=J[k>>2];if(h>>>0<=i>>>0){break a}j=h;l=b-4|0;h=J[l>>2];if(j>>>0<=h>>>0){break a}c=c-4|0;e=M[e+(i<<3)>>2]>2];J[c>>2]=e?h:i;b=e?l:b;f=e?f:k;if((g|0)!=(f|0)){continue}break}}return}ra();B()}function _c(a){var b=0,c=0,d=0,e=0;c=J[a+1176>>2];if(c){d=c;b=J[a+1180>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;na(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+1176>>2]}J[a+1180>>2]=c;na(d)}c=J[a+1164>>2];if(c){d=c;b=J[a+1168>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;na(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+1164>>2]}J[a+1168>>2]=c;na(d)}b=J[a+1152>>2];if(b){J[a+1156>>2]=b;na(b)}b=J[a+1140>>2];if(b){J[a+1144>>2]=b;na(b)}b=J[a+1128>>2];if(b){J[a+1132>>2]=b;na(b)}tb(a+1108|0);tb(a+1088|0);tb(a+1068|0);wa(a+1036|0);a=a+12|0;wa(a+992|0);wa(a+960|0);wa(a+928|0);wa(a+896|0);wa(a+864|0);wa(a+832|0);wa(a+800|0);wa(a+768|0);wa(a+736|0);wa(a+704|0);wa(a+672|0);wa(a+640|0);wa(a+608|0);wa(a+576|0);wa(a+544|0);wa(a+512|0);wa(a+480|0);wa(a+448|0);wa(a+416|0);wa(a+384|0);wa(a+352|0);wa(a+320|0);wa(a+288|0);wa(a+256|0);wa(a+224|0);wa(a+192|0);wa(a+160|0);wa(a+128|0);wa(a+96|0);wa(a- -64|0);wa(a+32|0);wa(a)}function Ed(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=ba-32|0;ba=d;a:{b=J[a+16>>2];c=J[a+20>>2];if(!!b&(c|0)>=0|(c|0)>0){e=J[J[a+12>>2]+4>>2]+7|0;f=e>>>0<7?1:f;c=f>>>3|0;f=f<<29|e>>>3;if(K[a+24|0]){e=J[a+4>>2];J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;xb(f,c,d);c=e-b|0;e=c-8|0;b=J[d+4>>2]-J[d>>2]|0;ta(e+b|0,c,f);ua(e,J[d>>2],b);c=8-b|0;b=J[a+20>>2];e=c;c=c+J[a+16>>2]|0;b=e>>>0>c>>>0?b+1|0:b;J[a+16>>2]=c;J[a+20>>2]=b;b=J[d+12>>2];J[d+12>>2]=0;if(b){na(b)}b=J[d>>2];if(b){J[d+4>>2]=b;na(b)}b=J[a+16>>2]}b=f-b|0;g=J[a+4>>2];f=J[a>>2];e=g-f|0;c=b+e|0;b:{if(c>>>0>e>>>0){h=J[a+8>>2];if(h-g>>>0>=b>>>0){i=a,j=pa(g,0,b)+b|0,J[i+4>>2]=j;break b}if((c|0)<0){break a}g=h-f|0;h=g<<1;g=g>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=oa(g);pa(h+e|0,0,b);b=ta(h,f,e);J[a+8>>2]=b+g;J[a+4>>2]=b+c;J[a>>2]=b;if(!f){break b}na(f);break b}if(c>>>0>=e>>>0){break b}J[a+4>>2]=c+f}J[a+16>>2]=0;J[a+20>>2]=0}ba=d+32|0;return}qa();B()}function cj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=J[a+4>>2];b=J[b+12>>2]-J[b+8>>2]|0;a:{if((b|0)>3){b=0;while(1){if(da[J[J[a>>2]+36>>2]](a,b)|0){b=b+1|0;c=J[a+4>>2];c=J[c+12>>2]-J[c+8>>2]>>2;if((b|0)<(c|0)){continue}break a}break}return 0}c=b>>2}b=a+20|0;d=J[a+20>>2];e=J[a+24>>2]-d>>2;b:{if(e>>>0>>0){Fa(b,c-e|0);break b}if(c>>>0>=e>>>0){break b}J[a+24>>2]=d+(c<<2)}f=J[a+8>>2];a=J[a+12>>2];if((f|0)==(a|0)){return 1}a=a-f>>2;j=a>>>0<=1?1:a;e=J[b>>2];b=0;while(1){a=J[(b<<2)+f>>2];d=J[a+8>>2];c=J[a+4>>2];c:{if((d|0)==(c|0)){break c}a=d-c>>2;d=a>>>0<=1?1:a;i=d&3;g=0;a=0;if(d-1>>>0>=3){k=d&-4;h=0;while(1){d=a<<2;J[e+(J[d+c>>2]<<2)>>2]=b;J[e+(J[c+(d|4)>>2]<<2)>>2]=b;J[e+(J[c+(d|8)>>2]<<2)>>2]=b;J[e+(J[c+(d|12)>>2]<<2)>>2]=b;a=a+4|0;h=h+4|0;if((k|0)!=(h|0)){continue}break}}if(!i){break c}while(1){J[e+(J[c+(a<<2)>>2]<<2)>>2]=b;a=a+1|0;g=g+1|0;if((g|0)!=(i|0)){continue}break}}b=b+1|0;if((j|0)!=(b|0)){continue}break}return 1}function dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=J[a+12>>2];i=J[a+8>>2];d=e-i>>2;b=K[b+24|0];a:{if(d>>>0>>0){Fa(a+8|0,b-d|0);i=J[a+8>>2];e=J[a+12>>2];break a}if(b>>>0>=d>>>0){break a}e=(b<<2)+i|0;J[a+12>>2]=e}b=0;f=J[c+8>>2];h=J[c+12>>2];j=J[c+20>>2];e=e-i|0;d=J[c+16>>2];g=e+d|0;j=e>>>0>g>>>0?j+1|0:j;b:{if(f>>>0>>0&(h|0)<=(j|0)|(h|0)<(j|0)){break b}ua(i,d+J[c>>2]|0,e);d=J[c+20>>2];g=e;e=e+J[c+16>>2]|0;d=g>>>0>e>>>0?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;f=J[c+8>>2];h=J[c+12>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;if(f>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break b}d=e+J[c>>2]|0;J[a+20>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[c+20>>2];g=d;f=d;e=J[c+16>>2];d=e+4|0;f=d>>>0<4?f+1|0:f;J[c+16>>2]=d;J[c+20>>2]=f;h=J[c+12>>2];if((f|0)>=(h|0)&d>>>0>=M[c+8>>2]|(f|0)>(h|0)){break b}f=K[d+J[c>>2]|0];d=g;e=e+5|0;d=e>>>0<5?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;if(f-1>>>0>29){break b}J[a+4>>2]=f;b=1}return b|0}function qe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{f=J[a+4>>2];b:{if((f|0)!=J[a>>2]){c=f;break b}g=J[a+8>>2];c=J[a+12>>2];if(g>>>0>>0){e=((c-g>>2)+1|0)/2<<2;c=e+g|0;if((f|0)!=(g|0)){d=g-f|0;c=c-d|0;ta(c,f,d);f=J[a+8>>2]}J[a+4>>2]=c;J[a+8>>2]=e+f;break b}d=(c|0)==(f|0)?1:c-f>>1;if(d>>>0>=1073741824){break a}c=d<<2;i=oa(c);k=i+c|0;c=(d+3&-4)+i|0;h=c;c:{if((f|0)==(g|0)){break c}g=g-f|0;l=g&-4;e=c;d=f;j=g-4|0;g=(j>>>2|0)+1&7;if(g){h=0;while(1){J[e>>2]=J[d>>2];d=d+4|0;e=e+4|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}h=c+l|0;if(j>>>0<28){break c}while(1){J[e>>2]=J[d>>2];J[e+4>>2]=J[d+4>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=J[d+12>>2];J[e+16>>2]=J[d+16>>2];J[e+20>>2]=J[d+20>>2];J[e+24>>2]=J[d+24>>2];J[e+28>>2]=J[d+28>>2];d=d+32|0;e=e+32|0;if((h|0)!=(e|0)){continue}break}}J[a+12>>2]=k;J[a+8>>2]=h;J[a+4>>2]=c;J[a>>2]=i;if(!f){break b}na(f);c=J[a+4>>2]}J[c-4>>2]=J[b>>2];J[a+4>>2]=J[a+4>>2]-4;return}xa();B()}function vd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c-b|0;e=J[a+8>>2];d=J[a>>2];if(f>>>0<=e-d>>>0){h=J[a+4>>2]-d|0;e=h+b|0;g=f>>>0>h>>>0?e:c;a:{if((g|0)==(b|0)){break a}k=(b^-1)+g|0;i=g-b&7;if(i){while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;j=j+1|0;if((j|0)!=(i|0)){continue}break}}if(k>>>0<7){break a}while(1){H[d|0]=K[b|0];H[d+1|0]=K[b+1|0];H[d+2|0]=K[b+2|0];H[d+3|0]=K[b+3|0];H[d+4|0]=K[b+4|0];H[d+5|0]=K[b+5|0];H[d+6|0]=K[b+6|0];H[d+7|0]=K[b+7|0];d=d+8|0;b=b+8|0;if((g|0)!=(b|0)){continue}break}}if(f>>>0>h>>>0){b=J[a+4>>2];if((c|0)!=(g|0)){while(1){H[b|0]=K[e|0];b=b+1|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}J[a+4>>2]=b;return}J[a+4>>2]=d;return}if(d){J[a+4>>2]=d;na(d);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=0}b:{if((f|0)<0){break b}d=e<<1;e=e>>>0>=1073741823?2147483647:d>>>0>f>>>0?d:f;if((e|0)<0){break b}d=oa(e);J[a+4>>2]=d;J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){d=ua(d,b,f)+f|0}J[a+4>>2]=d;return}qa();B()}function Tf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+N[b>>2];k=+N[b+4>>2];l=+N[b+8>>2];g=R(j)+R(k)+R(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=J[a+16>>2];l=+(h|0);g=V(j*l+.5);b:{if(R(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=V(k*l+.5);c:{if(R(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=J[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=J[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}J[c>>2]=a;J[d>>2]=b}function ge(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{e=J[b+4>>2];c:{if(!e){f=b+4|0;c=f;break c}f=K[c+11|0];g=f<<24>>24<0;i=g?J[c>>2]:c;g=g?J[c+4>>2]:f;while(1){c=e;h=K[e+27|0];f=h<<24>>24<0;e=f?J[e+20>>2]:h;h=e>>>0>>0;d:{e:{f:{g:{j=h?e:g;h:{if(j){f=f?J[c+16>>2]:c+16|0;k=Ba(i,f,j);if(!k){if(e>>>0>g>>>0){break h}break g}if((k|0)>=0){break g}break h}if(e>>>0<=g>>>0){break f}}f=c;e=J[c>>2];if(e){continue}break c}e=Ba(f,i,j);if(e){break e}}if(h){break d}break b}if((e|0)>=0){break b}}e=J[c+4>>2];if(e){continue}break}f=c+4|0}e=oa(40);g=e+16|0;d=J[d>>2];i:{if(H[d+11|0]>=0){i=J[d+4>>2];J[g>>2]=J[d>>2];J[g+4>>2]=i;J[g+8>>2]=J[d+8>>2];break i}Ga(g,J[d>>2],J[d+4>>2])}J[e+8>>2]=c;J[e>>2]=0;J[e+4>>2]=0;J[e+36>>2]=0;J[e+28>>2]=0;J[e+32>>2]=0;J[f>>2]=e;c=e;d=J[J[b>>2]>>2];if(d){J[b>>2]=d;c=J[f>>2]}sb(J[b+4>>2],c);J[b+8>>2]=J[b+8>>2]+1;b=1;break a}e=c;b=0}H[a+4|0]=b;J[a>>2]=e}function rc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=ba-32|0;ba=d;h=J[b>>2]+J[a+40>>2]|0;e=J[a+32>>2];c=e-4194304|0;a:{if(c>>>0<=63){H[J[a+24>>2]+J[a+28>>2]|0]=e;g=J[a+28>>2]+1|0;break a}if(c>>>0<=16383){c=J[a+24>>2]+J[a+28>>2]|0;H[c+1|0]=e+16384>>>8;H[c|0]=e;g=J[a+28>>2]+2|0;break a}if(c>>>0<=4194303){c=J[a+24>>2]+J[a+28>>2]|0;H[c+2|0]=e+4194304>>>16;H[c+1|0]=e>>>8;H[c|0]=e;g=J[a+28>>2]+3|0;break a}if(c>>>0<=1073741823){f=J[a+24>>2]+J[a+28>>2]|0;c=e-1077936128|0;H[f+3|0]=c>>>24;H[f+2|0]=c>>>16;H[f+1|0]=e>>>8;H[f|0]=e;g=J[a+28>>2]+4|0;break a}g=J[a+28>>2]}f=g;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=f>>31;xb(f,c,d);e=J[d+4>>2]-J[d>>2]|0;ta(e+h|0,h,f);ua(h,J[d>>2],e);h=J[a+40>>2];a=J[a+44>>2];f=e+f|0;c=a+(g>>>0>f>>>0?c+1|0:c)|0;a=f+h|0;Ia(b,a);a=J[d+12>>2];J[d+12>>2]=0;if(a){na(a)}a=J[d>>2];if(a){J[d+4>>2]=a;na(a)}ba=d+32|0}function yb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=ba-32|0;ba=d;h=J[b>>2]+J[a+40>>2]|0;f=J[a+32>>2];c=f-16384|0;a:{if(c>>>0<=63){H[J[a+24>>2]+J[a+28>>2]|0]=f;g=J[a+28>>2]+1|0;break a}if(c>>>0<=16383){c=J[a+24>>2]+J[a+28>>2]|0;H[c|0]=f;H[c+1|0]=f>>>8;g=J[a+28>>2]+2|0;break a}if(c>>>0<=4194303){e=J[a+24>>2]+J[a+28>>2]|0;c=f+8372224|0;H[e+2|0]=c>>>16;H[e+1|0]=c>>>8;H[e|0]=f;g=J[a+28>>2]+3|0;break a}if(c>>>0<=1073741823){e=J[a+24>>2]+J[a+28>>2]|0;c=f-1073758208|0;H[e+3|0]=c>>>24;H[e+2|0]=c>>>16;H[e+1|0]=c>>>8;H[e|0]=f;g=J[a+28>>2]+4|0;break a}g=J[a+28>>2]}e=g;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=e>>31;xb(e,c,d);f=J[d+4>>2]-J[d>>2]|0;ta(f+h|0,h,e);ua(h,J[d>>2],f);h=J[a+40>>2];a=J[a+44>>2];e=e+f|0;c=a+(g>>>0>e>>>0?c+1|0:c)|0;a=e+h|0;Ia(b,a);a=J[d+12>>2];J[d+12>>2]=0;if(a){na(a)}a=J[d>>2];if(a){J[d+4>>2]=a;na(a)}ba=d+32|0}function hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0;a:{if(J[c+28>>2]!=9|K[c+24|0]!=3){break a}a=J[a+4>>2];if(a-2>>>0>28){break a}o=1;j=J[c+80>>2];if(!j){break a}k=Q(Q(2)/Q((1<>2]>>2]+J[c+48>>2]|0;a=J[J[b>>2]>>2]+J[b+48>>2]|0;b=0;while(1){g=Q(0);l=Q(0);m=Q(0);e=Q(Q(Q(J[a>>2])*k)+Q(-1));f=Q(Q(Q(J[a+4>>2])*k)+Q(-1));i=Q(Q(Q(1)-Q(R(e)))-Q(R(f)));h=Q(U(Q(-i),Q(0)));n=Q(-h);f=Q(f+(f>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;d=(C(l),v(2));H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;d=(C(g),v(2));H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=ba-16|0;ba=c;b=J[J[a+184>>2]+(b<<2)>>2];H[c+15|0]=b;e=J[J[a+4>>2]+44>>2];d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){sa(e,J[e+4>>2],c+15|0,c+16|0);b=K[c+15|0]}a:{b:{c:{if(b<<24>>24<0){e=J[a+68>>2];break c}b=J[J[a+172>>2]+P(b&255,136)>>2];d=da[J[J[a>>2]+40>>2]](a)|0;f=J[a+172>>2]+P(H[c+15|0],136)|0;e=J[f+132>>2];d:{switch(J[J[J[d+56>>2]+84>>2]+(b<<2)>>2]){case 0:break c;case 1:break d;default:break b}}if(!K[f+28|0]){break b}}b=J[J[a+4>>2]+44>>2];H[c+14|0]=0;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+14|0,c+15|0);break a}b=J[J[a+4>>2]+44>>2];H[c+13|0]=1;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+13|0,c+14|0)}a=J[J[a+4>>2]+44>>2];H[c+12|0]=e;b=J[a+20>>2];if(!J[a+16>>2]&(b|0)<=0|(b|0)<0){sa(a,J[a+4>>2],c+12|0,c+13|0)}ba=c+16|0;return 1}function Cc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{e=J[b+4>>2];c:{if(!e){f=b+4|0;c=f;break c}f=K[c+11|0];g=f<<24>>24<0;h=g?J[c>>2]:c;g=g?J[c+4>>2]:f;while(1){c=e;e=K[e+27|0];f=e<<24>>24<0;e=f?J[c+20>>2]:e;j=e>>>0>>0;d:{e:{f:{g:{i=j?e:g;h:{if(i){f=f?J[c+16>>2]:c+16|0;k=Ba(h,f,i);if(!k){if(e>>>0>g>>>0){break h}break g}if((k|0)>=0){break g}break h}if(e>>>0<=g>>>0){break f}}f=c;e=J[c>>2];if(e){continue}break c}e=Ba(f,h,i);if(e){break e}}if(j){break d}break b}if((e|0)>=0){break b}}e=J[c+4>>2];if(e){continue}break}f=c+4|0}e=oa(40);J[e+24>>2]=J[d+8>>2];g=J[d+4>>2];h=J[d>>2];J[e+16>>2]=h;J[e+20>>2]=g;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;Ob(e+28|0,d+12|0);J[e+8>>2]=c;J[e>>2]=0;J[e+4>>2]=0;J[f>>2]=e;c=e;d=J[J[b>>2]>>2];if(d){J[b>>2]=d;c=J[f>>2]}sb(J[b+4>>2],c);J[b+8>>2]=J[b+8>>2]+1;b=1;break a}e=c;b=0}H[a+4|0]=b;J[a>>2]=e}function Dl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=1;a:{b:{c:{if((da[J[J[b>>2]+20>>2]](b)|0)<=0){break c}while(1){e=Nb(J[J[a+4>>2]+4>>2],da[J[J[b>>2]+24>>2]](b,i)|0);j=(e|0)!=-1;if((e|0)==-1){break c}c=J[a+20>>2];d:{if((c|0)!=J[a+24>>2]){J[c>>2]=e;J[a+20>>2]=c+4;break d}f=c;c=J[a+16>>2];d=f-c|0;h=d>>2;g=h+1|0;if(g>>>0>=1073741824){break b}f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(g){if(g>>>0>=1073741824){break a}f=oa(g<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=e;d=ta(f,c,d);J[a+24>>2]=d+(g<<2);J[a+20>>2]=h+4;J[a+16>>2]=d;if(!c){break d}na(c)}c=J[a+4>>2];e:{if((e|0)<0){break e}d=J[c+4>>2];if(J[d+12>>2]-J[d+8>>2]>>2<=(e|0)){break e}c=J[J[c+8>>2]+(J[J[c+20>>2]+(e<<2)>>2]<<2)>>2];da[J[J[c>>2]+32>>2]](c,e)|0}i=i+1|0;if((da[J[J[b>>2]+20>>2]](b)|0)>(i|0)){continue}break}}return j|0}qa();B()}xa();B()}function Ta(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==(c|0)){J[a+4>>2]=d;J[a>>2]=d;return}if((c|0)==(d|0)){J[a+4>>2]=c;J[a>>2]=b;return}a:{if((b+4|0)==(c|0)){f=J[b>>2];e=b;b=d-c|0;c=ta(e,c,b)+b|0;J[c>>2]=f;break a}if((c+4|0)==(d|0)){f=d-4|0;e=J[f>>2];c=d;if((b|0)!=(f|0)){f=f-b|0;c=d-f|0;ta(c,b,f)}J[b>>2]=e;break a}g=c-b>>2;h=d-c>>2;if((g|0)==(h|0)){e=c;while(1){f=J[b>>2];J[b>>2]=J[e>>2];J[e>>2]=f;b=b+4|0;if((c|0)==(b|0)){break a}e=e+4|0;if((e|0)!=(d|0)){continue}break}break a}e=h;f=g;while(1){c=f;f=e;e=(c|0)%(e|0)|0;if(e){continue}break}if(f){e=(f<<2)+b|0;while(1){e=e-4|0;j=g<<2;c=e+j|0;k=J[e>>2];f=e;while(1){i=f;f=c;J[i>>2]=J[c>>2];i=c+j|0;c=d-c>>2;c=(c|0)>(g|0)?i:(g-c<<2)+b|0;if((e|0)!=(c|0)){continue}break}J[f>>2]=k;if((b|0)!=(e|0)){continue}break}}c=(h<<2)+b|0}J[a+4>>2]=d;J[a>>2]=c}function Kc(a,b){var c=0,d=0;c=J[b+8>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=c;J[a+20>>2]=J[b+20>>2];c=J[b+16>>2];J[a+12>>2]=J[b+12>>2];J[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=J[b+28>>2];if(c){d=J[a+24>>2];if(J[a+32>>2]<<5>>>0>>0){if(d){na(d);J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;c=J[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=oa(c<<2);J[a+32>>2]=c;J[a+28>>2]=0;J[a+24>>2]=d;c=J[b+28>>2]}ta(d,J[b+24>>2],(c-1>>>3&536870908)+4|0);c=J[b+28>>2]}else{c=0}J[a+28>>2]=c;c=J[b+40>>2];if(c){d=J[a+36>>2];if(J[a+44>>2]<<5>>>0>>0){if(d){na(d);J[a+44>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;c=J[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=oa(c<<2);J[a+44>>2]=c;J[a+40>>2]=0;J[a+36>>2]=d;c=J[b+40>>2]}ta(d,J[b+36>>2],(c-1>>>3&536870908)+4|0);b=J[b+40>>2]}else{b=0}J[a+40>>2]=b}return}qa();B()}qa();B()}function jf(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=ba-16|0;ba=f;d=J[a+100>>2];e=J[a+96>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=d-e|0;g=(b|0)/12|0;a:{b:{if((d|0)==(e|0)){break b}if(g>>>0>=357913942){break a}d=oa(b);J[f>>2]=d;J[f+8>>2]=d+P(g,12);a=0;c=d;d=b-12|0;b=(d-((d>>>0)%12|0)|0)+12|0;d=pa(c,0,b);J[f+4>>2]=b+d;b=g>>>0<=1?1:g;j=b&1;if(g>>>0>=2){k=b&-2;g=0;while(1){c=P(a,12);b=c+e|0;h=J[b>>2];i=J[b+4>>2];c=d+c|0;J[c+8>>2]=J[b+8>>2];J[c>>2]=h;J[c+4>>2]=i;c=P(a|1,12);b=c+e|0;h=J[b>>2];i=J[b+4>>2];c=d+c|0;J[c+8>>2]=J[b+8>>2];J[c>>2]=h;J[c+4>>2]=i;a=a+2|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}}if(!j){break b}c=e;e=P(a,12);a=c+e|0;g=J[a+4>>2];b=J[a>>2];e=d+e|0;J[e+8>>2]=J[a+8>>2];J[e>>2]=b;J[e+4>>2]=g}e=mf(f);a=J[f>>2];if(a){J[f+4>>2]=a;na(a)}ba=f+16|0;return e}qa();B()}function cg(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+112>>2];b=J[a+108>>2];c=(d-b|0)/12|0;Aa(c,J[J[a+4>>2]+44>>2]);if((b|0)!=(d|0)){f=c>>>0<=1?1:c;d=0;while(1){b=J[a+108>>2]+P(d,12)|0;Aa(J[b+4>>2]-g|0,J[J[a+4>>2]+44>>2]);Aa(J[b+4>>2]-J[b>>2]|0,J[J[a+4>>2]+44>>2]);g=J[b+4>>2];d=d+1|0;if((f|0)!=(d|0)){continue}break}d=0;Fd(J[J[a+4>>2]+44>>2],c,0,0);b=J[J[a+4>>2]+44>>2];e=!!J[b+16>>2];b=J[b+20>>2];if(e&(b|0)>=0|(b|0)>0){f=c>>>0<=1?1:c;while(1){c=J[J[a+4>>2]+44>>2];b=J[c+20>>2];if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){g=K[(J[a+108>>2]+P(d,12)|0)+8|0];c=J[c+12>>2];e=J[c+4>>2];b=e>>>3|0;h=b+J[c>>2]|0;i=K[h|0];e=e&7;j=h,k=Kl(e)&i,H[j|0]=k;b=b+J[c>>2]|0;H[b|0]=K[b|0]|(g&1)<>2]=J[c+4>>2]+1}d=d+1|0;if((f|0)!=(d|0)){continue}break}}Ed(J[J[a+4>>2]+44>>2])}return 1}function lj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+56>>2]-J[b+52>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=oa(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}na(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Uf(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=J[J[a+12>>2]+64>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Uf(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}qa();B()}function qj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=oa(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}na(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Vf(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Vf(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}qa();B()}function Nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=ba-16|0;ba=d;J[d+12>>2]=c;a:{if(!me(a,b,c)|K[J[a+8>>2]+24|0]!=3){break a}f=J[b+48>>2];b=oa(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1261];c=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);e=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);e=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;b=jb(f,d+12|0,d,-1);if(H[d+11|0]<0){na(J[d>>2])}if((b|0)<=0){break a}J[a+44>>2]=b;g=1}ba=d+16|0;return g|0}function Oc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=ba-16|0;ba=i;e=J[b+4>>2];a:{b:{if(!e){h=b+4|0;g=h;break b}f=J[c>>2];while(1){g=e;c=J[e+16>>2];if((c|0)>(f|0)){h=g;e=J[g>>2];if(e){continue}break b}if((c|0)>=(f|0)){f=g;b=0;break a}e=J[g+4>>2];if(e){continue}break}h=g+4|0}f=oa(32);c=J[d>>2];j=f+24|0;e=j;J[e>>2]=0;J[e+4>>2]=0;J[f+16>>2]=c;k=f+20|0;J[k>>2]=e;e=J[d+4>>2];d=d+8|0;if((e|0)!=(d|0)){while(1){c=e+16|0;Pg(i+8|0,k,j,c,c);c=J[e+4>>2];c:{if(c){while(1){e=c;c=J[e>>2];if(c){continue}break c}}while(1){c=e;e=J[e+8>>2];if((c|0)!=J[e>>2]){continue}break}}if((d|0)!=(e|0)){continue}break}}J[f+8>>2]=g;J[f>>2]=0;J[f+4>>2]=0;J[h>>2]=f;e=f;c=J[J[b>>2]>>2];if(c){J[b>>2]=c;e=J[h>>2]}sb(J[b+4>>2],e);J[b+8>>2]=J[b+8>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=f;ba=i+16|0}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=ba-16|0;ba=c;Aa(J[a+8>>2]-J[a+4>>2]>>2,b);e=J[a+4>>2];if((e|0)!=J[a+8>>2]){h=c+13|0;i=c+14|0;j=c+15|0;k=c+16|0;while(1){e=J[J[J[a+32>>2]+8>>2]+(J[(g<<2)+e>>2]<<2)>>2];H[c+15|0]=J[e+56>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+15|0,k);d=J[b+20>>2];f=J[b+16>>2];H[c+14|0]=J[e+28>>2];if(!!f&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+14|0,j);d=J[b+20>>2];f=J[b+16>>2];H[c+13|0]=K[e+24|0];if(!!f&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+13|0,i);d=J[b+20>>2];f=J[b+16>>2];H[c+12|0]=K[e+32|0];if(!!f&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+12|0,h)}Aa(J[e+60>>2],b);g=g+1|0;e=J[a+4>>2];if(g>>>0>2]-e>>2>>>0){continue}break}}ba=c+16|0;return 1}function eb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=ba-16|0;ba=g;a:{b:{c=J[a+4>>2];c:{if((c|0)!=J[a+8>>2]){J[c>>2]=J[a+12>>2];c=c+4|0;J[a+4>>2]=c;break c}e=J[a>>2];c=c-e|0;h=c>>2;d=h+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=oa(d<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=J[a+12>>2];i=d<<2;d=ta(f,e,c);J[a+8>>2]=i+d;c=h+4|0;J[a+4>>2]=c;J[a>>2]=d;if(!e){break c}na(e);c=J[a+4>>2]}f=c;c=J[a>>2];J[g+12>>2]=f-c;e=J[b+20>>2];d:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break d}sa(b,J[b+4>>2],g+12|0,g+16|0);c=J[a>>2];e=J[b+20>>2];if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break d}sa(b,J[b+4>>2],c,J[g+12>>2]+c|0);c=J[a>>2]}J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=c;ba=g+16|0;return}qa();B()}xa();B()}function ta(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return ua(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}H[d|0]=K[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;H[d|0]=K[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;J[c+a>>2]=J[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;H[c+a|0]=K[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){J[d>>2]=J[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function gg(a,b,c){var d=0,e=0,f=0,g=0;a:{b=P(b,3);if((b|0)==-1){break a}b:{e=J[a+12>>2];f=J[e+12>>2];d=b<<2;c:{if(J[f+d>>2]==-1){break c}a=J[a+152>>2];e=J[e>>2];if(J[a+(J[e+d>>2]<<2)>>2]!=-1){break b}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break a}d=b<<2;if(J[d+f>>2]==-1){break c}if(J[a+(J[d+e>>2]<<2)>>2]!=-1){break b}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break a}d=b<<2;if(J[d+f>>2]==-1){break c}if(J[a+(J[d+e>>2]<<2)>>2]!=-1){break b}g=1;a=b+1|0;b=(a>>>0)%3|0?a:b-2|0}J[c>>2]=b;return g}while(1){d:{a=b;e:{if((b>>>0)%3|0){b=a-1|0;break e}b=a+2|0;if((b|0)==-1){break d}}b=J[(b<<2)+f>>2];if((b|0)==-1){break d}b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)!=-1){continue}}break}J[c>>2]=a+((a>>>0)%3|0?-1:2);return 0}J[c>>2]=-1;return 0}function Se(a,b,c){a:{switch(b-9|0){case 0:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];return;case 6:b=J[c>>2];J[c>>2]=b+4;b=I[b>>1];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 7:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=L[b>>1];J[a+4>>2]=0;return;case 8:b=J[c>>2];J[c>>2]=b+4;b=H[b|0];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 9:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=K[b|0];J[a+4>>2]=0;return;case 16:b=J[c>>2]+7&-8;J[c>>2]=b+8;O[a>>3]=O[b>>3];return;case 17:Qe(a,c);default:return;case 1:case 4:case 14:b=J[c>>2];J[c>>2]=b+4;b=J[b>>2];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];J[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=J[c>>2]+7&-8;J[c>>2]=b+8;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c}function _e(a,b,c,d,e,f){var g=0;g=ba-80|0;ba=g;a:{if((f|0)>=16384){Ea(g+32|0,b,c,d,e,0,0,0,2147352576);d=J[g+40>>2];e=J[g+44>>2];b=J[g+32>>2];c=J[g+36>>2];if(f>>>0<32767){f=f-16383|0;break a}Ea(g+16|0,b,c,d,e,0,0,0,2147352576);f=((f|0)>=49149?49149:f)-32766|0;d=J[g+24>>2];e=J[g+28>>2];b=J[g+16>>2];c=J[g+20>>2];break a}if((f|0)>-16383){break a}Ea(g- -64|0,b,c,d,e,0,0,0,7471104);d=J[g+72>>2];e=J[g+76>>2];b=J[g+64>>2];c=J[g+68>>2];if(f>>>0>4294934644){f=f+16269|0;break a}Ea(g+48|0,b,c,d,e,0,0,0,7471104);f=((f|0)<=-48920?-48920:f)+32538|0;d=J[g+56>>2];e=J[g+60>>2];b=J[g+48>>2];c=J[g+52>>2]}Ea(g,b,c,d,e,0,0,0,f+16383<<16);b=J[g+12>>2];J[a+8>>2]=J[g+8>>2];J[a+12>>2]=b;b=J[g+4>>2];J[a>>2]=J[g>>2];J[a+4>>2]=b;ba=g+80|0}function bd(a,b,c){var d=0,e=0,f=0;d=ba+-64|0;ba=d;f=J[a>>2];e=J[f-4>>2];f=J[f-8>>2];J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;H[d+55|0]=0;H[d+56|0]=0;H[d+57|0]=0;H[d+58|0]=0;H[d+59|0]=0;H[d+60|0]=0;H[d+61|0]=0;H[d+62|0]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+20>>2]=0;J[d+16>>2]=b;J[d+12>>2]=a;J[d+8>>2]=c;a=a+f|0;b=0;a:{if(pb(e,c,0)){J[d+56>>2]=1;da[J[J[e>>2]+20>>2]](e,d+8|0,a,a,1,0);b=J[d+32>>2]==1?a:0;break a}da[J[J[e>>2]+24>>2]](e,d+8|0,a,1,0);b:{switch(J[d+44>>2]){case 0:b=J[d+48>>2]==1?J[d+36>>2]==1?J[d+40>>2]==1?J[d+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(J[d+32>>2]!=1){if(J[d+48>>2]|J[d+36>>2]!=1|J[d+40>>2]!=1){break a}}b=J[d+24>>2]}ba=d- -64|0;return b}function Ca(a,b){var c=0,d=0,e=0,f=0;c=J[a>>2];a:{if(b){b=J[c+12>>2];d=J[c+8>>2]+1|0;b=d?b:b+1|0;J[c+8>>2]=d;J[c+12>>2]=b;b=J[a+28>>2];J[a+24>>2]=J[a+24>>2]|1<>2];d=J[c>>2]+1|0;b=d?b:b+1|0;J[c>>2]=d;J[c+4>>2]=b;b=J[a+28>>2]}b=b+1|0;J[a+28>>2]=b;b:{c:{if((b|0)==32){b=J[a+16>>2];d:{if((b|0)!=J[a+20>>2]){J[b>>2]=J[a+24>>2];J[a+16>>2]=b+4;break d}e=b;b=J[a+12>>2];c=e-b|0;f=c>>2;d=f+1|0;if(d>>>0>=1073741824){break c}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break b}e=oa(d<<2)}else{e=0}f=e+(f<<2)|0;J[f>>2]=J[a+24>>2];c=ta(e,b,c);J[a+20>>2]=c+(d<<2);J[a+16>>2]=f+4;J[a+12>>2]=c;if(!b){break d}na(b)}J[a+24>>2]=0;J[a+28>>2]=0}return}qa();B()}xa();B()}function pa(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}H[a|0]=b;d=a+c|0;H[d-1|0]=b;if(c>>>0<3){break a}H[a+2|0]=b;H[a+1|0]=b;H[d-3|0]=b;H[d-2|0]=b;if(c>>>0<7){break a}H[a+3|0]=b;H[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=P(b&255,16843009);J[e>>2]=b;d=c-d&-4;c=d+e|0;J[c-4>>2]=b;if(d>>>0<9){break a}J[e+8>>2]=b;J[e+4>>2]=b;J[c-8>>2]=b;J[c-12>>2]=b;if(d>>>0<25){break a}J[e+24>>2]=b;J[e+20>>2]=b;J[e+16>>2]=b;J[e+12>>2]=b;J[c-16>>2]=b;J[c-20>>2]=b;J[c-24>>2]=b;J[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=Gl(b,0,1,1);f=ca;b=e+g|0;while(1){J[b+24>>2]=d;J[b+28>>2]=f;J[b+16>>2]=d;J[b+20>>2]=f;J[b+8>>2]=d;J[b+12>>2]=f;J[b>>2]=d;J[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function De(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{g=a+16|0;f=J[g>>2];b:{if(!f){break b}i=J[b>>2];b=g;while(1){h=(i|0)>J[f+16>>2];b=h?b:f;f=J[(h?f+4|0:f)>>2];if(f){continue}break}if((b|0)==(g|0)|(i|0)>2]){break b}f=J[b+24>>2];if(!f){break b}m=b+20|0;b=K[c+11|0];g=b<<24>>24<0;i=g?J[c>>2]:c;b=g?J[c+4>>2]:b;while(1){g=K[f+27|0];h=g<<24>>24<0;g=h?J[f+20>>2]:g;k=g>>>0>>0;c:{d:{e:{f:{g:{h:{j=k?g:b;if(j){h=h?J[f+16>>2]:f+16|0;l=Ba(i,h,j);if(l){break h}if(b>>>0>=g>>>0){break g}break c}if(b>>>0>=g>>>0){break f}break c}if((l|0)<0){break c}}g=Ba(h,i,j);if(g){break e}}if(k){break d}break a}if((g|0)<0){break d}break a}f=f+4|0}f=J[f>>2];if(f){continue}break}}Be(a,c,d,e);return}Be(m,c,d,e)}function jb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+16|0;e=J[f>>2];a:{if(!e){break a}g=J[b>>2];b=f;while(1){h=(g|0)>J[e+16>>2];b=h?b:e;e=J[(h?e+4|0:e)>>2];if(e){continue}break}if((b|0)==(f|0)|(g|0)>2]){break a}e=J[b+24>>2];if(!e){break a}g=b+20|0;b=K[c+11|0];f=b<<24>>24<0;h=f?J[c>>2]:c;b=f?J[c+4>>2]:b;while(1){f=K[e+27|0];i=f<<24>>24<0;f=i?J[e+20>>2]:f;k=f>>>0>>0;b:{c:{d:{e:{f:{g:{j=k?f:b;if(j){i=i?J[e+16>>2]:e+16|0;l=Ba(h,i,j);if(l){break g}if(b>>>0>=f>>>0){break f}break b}if(b>>>0>=f>>>0){break e}break b}if((l|0)<0){break b}}f=Ba(i,h,j);if(f){break d}}if(k){break c}return Bb(g,c,d)}if((f|0)<0){break c}return Bb(g,c,d)}e=e+4|0}e=J[e>>2];if(e){continue}break}}return Bb(a,c,d)}function Fd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{e=J[a+20>>2];b:{if(!((!J[a+16>>2]&(e|0)<=0|(e|0)<0)&(!!b&(c|0)>=0|(c|0)>0))){break b}H[a+24|0]=d;e=b+7|0;c=e>>>0<7?c+1|0:c;e=(c&7)<<29|e>>>3;J[a+16>>2]=e;J[a+20>>2]=c>>>3;f=J[a+4>>2];h=J[a>>2];c=f-h|0;b=c+8|0;d=d?b:c;b=d+e|0;c:{if(b>>>0>c>>>0){e=b-c|0;g=J[a+8>>2];if(e>>>0<=g-f>>>0){i=a,j=pa(f,0,e)+e|0,J[i+4>>2]=j;break c}if((b|0)<0){break a}f=g-h|0;g=f<<1;f=f>>>0>=1073741823?2147483647:b>>>0>>0?g:b;g=oa(f);pa(g+c|0,0,e);c=ta(g,h,c);J[a+8>>2]=c+f;J[a+4>>2]=b+c;J[a>>2]=c;if(!h){break c}na(h);break c}if(b>>>0>=c>>>0){break c}J[a+4>>2]=b+h}c=J[a>>2];b=oa(8);J[b+4>>2]=0;J[b>>2]=c+d;c=J[a+12>>2];J[a+12>>2]=b;if(!c){break b}na(c)}return}qa();B()}function Ce(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+16|0;d=J[e>>2];a:{if(!d){break a}f=J[b>>2];b=e;while(1){g=(f|0)>J[d+16>>2];b=g?b:d;d=J[(g?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(e|0)|(f|0)>2]){break a}d=J[b+24>>2];if(!d){break a}f=b+20|0;b=K[c+11|0];e=b<<24>>24<0;g=e?J[c>>2]:c;b=e?J[c+4>>2]:b;while(1){e=K[d+27|0];h=e<<24>>24<0;e=h?J[d+20>>2]:e;j=e>>>0>>0;b:{c:{d:{e:{f:{g:{i=j?e:b;if(i){h=h?J[d+16>>2]:d+16|0;k=Ba(g,h,i);if(k){break g}if(b>>>0>=e>>>0){break f}break b}if(b>>>0>=e>>>0){break e}break b}if((k|0)<0){break b}}e=Ba(h,g,i);if(e){break d}}if(j){break c}return Dd(f,c)}if((e|0)<0){break c}return Dd(f,c)}d=d+4|0}d=J[d>>2];if(d){continue}break}}return Dd(a,c)}function td(a,b,c){var d=0,e=0,f=0,g=0;Aa(J[c+8>>2],b);e=J[c>>2];g=c+4|0;if((e|0)!=(g|0)){while(1){if(!hf(b,e+16|0)){return}d=J[e+32>>2]-J[e+28>>2]|0;Aa(d,b);f=J[b+20>>2];if(!J[b+16>>2]&(f|0)<=0|(f|0)<0){f=J[e+28>>2];sa(b,J[b+4>>2],f,d+f|0)}f=J[e+4>>2];a:{if(f){while(1){d=f;f=J[d>>2];if(f){continue}break a}}while(1){d=J[e+8>>2];f=J[d>>2]!=(e|0);e=d;if(f){continue}break}}e=d;if((d|0)!=(g|0)){continue}break}}Aa(J[c+20>>2],b);d=J[c+12>>2];c=c+16|0;if((d|0)==(c|0)){return}while(1){if(!hf(b,d+16|0)){return}td(a,b,J[d+28>>2]);f=d;e=J[d+4>>2];b:{if(e){while(1){d=e;e=J[d>>2];if(e){continue}break b}}while(1){d=J[f+8>>2];e=J[d>>2]!=(f|0);f=d;if(e){continue}break}}if((c|0)!=(d|0)){continue}break}}function jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=J[b+4>>2]-J[b>>2]>>2;f=J[a+8>>2];i=K[f+24|0];d=i;g=ba+-64|0;ba=g;e=Lc(g);h=P(d,J[3712]);Nd(e,J[J[a+8>>2]+56>>2],0,d,5,h,h>>31);e=ig(oa(96),e);Kd(e,j);d=J[a+32>>2];J[a+32>>2]=e;if(d){Ka(d)}a:{if(!c){break a}d=J[a+32>>2];H[d+84|0]=0;h=J[d+68>>2];e=J[d+72>>2]-h>>2;if(e>>>0>>0){Ma(d+68|0,c-e|0,2736);break a}if(c>>>0>=e>>>0){break a}J[d+72>>2]=h+(c<<2)}ba=g- -64|0;c=J[b>>2];d=J[b+4>>2];if((c|0)==(d|0)){return 1}a=J[a+32>>2];g=J[J[a>>2]>>2]+J[a+48>>2]|0;b=0;while(1){a=J[c>>2];if(!K[f+84|0]){a=J[J[f+68>>2]+(a<<2)>>2]}a=$c(f,a,H[f+24|0],g+(b<<2)|0);if(a){b=b+i|0;c=c+4|0;if((d|0)!=(c|0)){continue}}break}return a|0}function Rb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;h=f>>2;d=J[a+8>>2];e=J[a>>2];if(h>>>0<=d-e>>2>>>0){d=J[a+4>>2];g=d-e|0;f=g+b|0;i=g>>2;g=i>>>0>>0?f:c;if((g|0)!=(b|0)){while(1){J[e>>2]=J[b>>2];e=e+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}if(h>>>0>i>>>0){if((c|0)!=(g|0)){while(1){J[d>>2]=J[f>>2];d=d+4|0;f=f+4|0;if((f|0)!=(c|0)){continue}break}}J[a+4>>2]=d;return}J[a+4>>2]=e;return}if(e){J[a+4>>2]=e;na(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(d>>>0>=1073741824){break a}e=d<<2;d=oa(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=ua(d,c,b)+b|0}J[a+4>>2]=d;return}qa();B()}function Na(a,b,c){var d=0,e=0,f=0;e=ba-16|0;ba=e;J[a+4>>2]=0;a:{b:{if(!b){break b}f=J[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){J[a+4>>2]=b;break c}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if((b|0)<0){break a}if(d>>>0<=1073741822){f=f<<6;d=b+31&-32;d=d>>>0>>0?f:d}else{d=2147483647}wc(e,d);f=J[a>>2];J[a>>2]=J[e>>2];J[e>>2]=f;d=J[a+4>>2];J[a+4>>2]=b;J[e+4>>2]=d;d=J[a+8>>2];J[a+8>>2]=J[e+8>>2];J[e+8>>2]=d;if(!f){break c}na(f)}d=b>>>5|0;a=J[a>>2];if(K[c|0]){if(b>>>0>=32){pa(a,255,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]|-1>>>32-(b&31);break b}if(b>>>0>=32){pa(a,0,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}ba=e+16|0;return}qa();B()}function kc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;h=ba-16|0;ba=h;a:{b:{c=J[a+8>>2];c:{if((c|0)!=J[a+12>>2]){J[c>>2]=b;J[a+8>>2]=c+4;break c}f=c;c=J[a+4>>2];e=f-c|0;g=e>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=oa(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=b;e=ta(f,c,e);J[a+12>>2]=e+(d<<2);J[a+8>>2]=g+4;J[a+4>>2]=e;if(!c){break c}na(c)}c=J[a+16>>2];e=J[a+20>>2]-c>>2;d:{if((e|0)>(b|0)){break d}J[h+12>>2]=-1;d=b+1|0;if(d>>>0>e>>>0){jc(a+16|0,d-e|0,h+12|0);c=J[a+16>>2];break d}if(d>>>0>=e>>>0){break d}J[a+20>>2]=(d<<2)+c}J[(b<<2)+c>>2]=(J[a+8>>2]-J[a+4>>2]>>2)-1;ba=h+16|0;return}qa();B()}xa();B()}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=ba-48|0;ba=d;J[d+40>>2]=J[a- -64>>2];c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],d+40|0,d+44|0)}c=d+8|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);if(J[d+40>>2]>0){f=1;while(1){g=f;f=J[J[a+60>>2]+(e>>>3&536870908)>>2]>>>e|0;Ca(c,(g^f^-1)&1);f=f&1;e=e+1|0;if((e|0)>2]){continue}break}}ya(c,b);J[d+44>>2]=J[a+12>>2];e=J[b+20>>2];a:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break a}f=d+48|0;sa(b,J[b+4>>2],d+44|0,f);e=J[b+20>>2];g=J[b+16>>2];J[d+44>>2]=J[a+24>>2];if(!!g&(e|0)>=0|(e|0)>0){break a}sa(b,J[b+4>>2],d+44|0,f)}wa(c);ba=d+48|0;return 1}function qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=ba-48|0;ba=d;J[d+40>>2]=J[a+80>>2];c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],d+40|0,d+44|0)}c=d+8|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);if(J[d+40>>2]>0){f=1;while(1){g=f;f=J[J[a+76>>2]+(e>>>3&536870908)>>2]>>>e|0;Ca(c,(g^f^-1)&1);f=f&1;e=e+1|0;if((e|0)>2]){continue}break}}ya(c,b);J[d+44>>2]=J[a+12>>2];e=J[b+20>>2];a:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break a}f=d+48|0;sa(b,J[b+4>>2],d+44|0,f);e=J[b+20>>2];g=J[b+16>>2];J[d+44>>2]=J[a+16>>2];if(!!g&(e|0)>=0|(e|0)>0){break a}sa(b,J[b+4>>2],d+44|0,f)}wa(c);ba=d+48|0;return 1}function Ic(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{e=J[a>>2];f=J[a+4>>2]-e>>2;c=f+1|0;if(c>>>0<1073741824){e=J[a+8>>2]-e|0;g=e>>>1|0;c=e>>>0>=2147483644?1073741823:c>>>0>>0?g:c;if(c){if(c>>>0>=1073741824){break c}d=oa(c<<2)}e=J[b>>2];J[b>>2]=0;b=(f<<2)+d|0;J[b>>2]=e;c=(c<<2)+d|0;e=b+4|0;d=J[a+4>>2];f=J[a>>2];if((d|0)==(f|0)){break b}while(1){d=d-4|0;g=J[d>>2];J[d>>2]=0;b=b-4|0;J[b>>2]=g;if((d|0)!=(f|0)){continue}break}J[a+8>>2]=c;c=J[a+4>>2];J[a+4>>2]=e;d=J[a>>2];J[a>>2]=b;if((c|0)==(d|0)){break a}while(1){c=c-4|0;a=J[c>>2];J[c>>2]=0;if(a){da[J[J[a>>2]+4>>2]](a)}if((c|0)!=(d|0)){continue}break}break a}qa();B()}xa();B()}J[a+8>>2]=c;J[a+4>>2]=e;J[a>>2]=b}if(d){na(d)}}function kd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0;i=ba-16|0;ba=i;if((b^-1)+2147483631>>>0>=c>>>0){if(K[a+11|0]>>>7|0){k=J[a>>2]}else{k=a}if(b>>>0<1073741799){J[i+12>>2]=b<<1;J[i>>2]=b+c;c=ba-16|0;ba=c;ba=c+16|0;c=i+12|0;c=J[(M[i>>2]>2]?c:i)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}Ac(i,c);c=J[i>>2];if(e){Ab(c,k,e)}if(g){Ab(c+e|0,h,g)}j=e+f|0;h=d-j|0;if((d|0)!=(j|0)){Ab((c+e|0)+g|0,(e+k|0)+f|0,h)}if((b|0)!=10){na(k)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[i+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;b=a;a=h+(e+g|0)|0;J[b+4>>2]=a;H[i+12|0]=0;H[a+c|0]=K[i+12|0];ba=i+16|0;return}gb();B()}function Kk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;J[b>>2]=1;f=b+8|0;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){Gc(f,d+4|0);c=J[f>>2]}c=c+d|0;d=J[a+4>>2];H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=J[a+8>>2];if((c|0)!=J[a+12>>2]){d=0;while(1){g=(d<<2)+c|0;c=J[b+8>>2];e=J[b+12>>2]-c|0;if(e>>>0<=4294967291){Gc(f,e+4|0);c=J[f>>2]}c=c+e|0;e=J[g>>2];H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;d=d+1|0;c=J[a+8>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}c=J[b+12>>2];b=J[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){Gc(f,c+4|0);b=J[f>>2]}b=b+c|0;a=J[a+20>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function bb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;g=f>>2;d=J[a+8>>2];e=J[a>>2];if(g>>>0<=d-e>>2>>>0){f=J[a+4>>2]-e|0;d=f+b|0;h=f>>2;f=h>>>0>>0?d:c;i=f-b|0;if((b|0)!=(f|0)){ta(e,b,i)}if(g>>>0>h>>>0){b=J[a+4>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}}J[a+4>>2]=b;return}J[a+4>>2]=e+i;return}if(e){J[a+4>>2]=e;na(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(d>>>0>=1073741824){break a}e=d<<2;d=oa(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=ua(d,c,b)+b|0}J[a+4>>2]=d;return}qa();B()}function Wg(a,b,c){var d=0,e=0,f=0;d=ba-16|0;ba=d;J[d+12>>2]=b;b=oa(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);f=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=e;H[b+13|0]=e>>>8;H[b+14|0]=e>>>16;H[b+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);f=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=e;H[b+5|0]=e>>>8;H[b+6|0]=e>>>16;H[b+7|0]=e>>>24;H[b+17|0]=0;Vg(a+4|0,d+12|0,d,c);if(H[d+11|0]<0){na(J[d>>2])}ba=d+16|0}function Ua(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{if((a|0)==(b|0)){break b}J[c>>2]=J[a>>2];e=a+4|0;if((e|0)==(b|0)){break b}a=J[d>>2];g=J[a>>2];i=J[a+4>>2]-g>>3;a=c;while(1){d=J[e>>2];if(d>>>0>=i>>>0){break a}f=J[a>>2];if(f>>>0>=i>>>0){break a}j=a+4|0;c:{if(M[(d<<3)+g>>2]>2]){J[a+4>>2]=f;h=c;d:{if((a|0)==(c|0)){break d}while(1){k=J[e>>2];if(k>>>0>=i>>>0){break a}f=a-4|0;d=J[f>>2];if(d>>>0>=i>>>0){break a}h=a;if(M[(k<<3)+g>>2]>=M[(d<<3)+g>>2]){break d}J[a>>2]=d;a=f;if((c|0)!=(a|0)){continue}break}h=c}J[h>>2]=J[e>>2];break c}J[j>>2]=d}a=j;e=e+4|0;if((e|0)!=(b|0)){continue}break}}return}ra();B()}function lk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=ba-32|0;ba=f;d=d-e|0;if((d|0)>0){i=a+8|0;k=0-e<<2;while(1){j=d<<2;g=j+b|0;h=g+k|0;l=J[h>>2];h=J[h+4>>2];m=J[g+4>>2];J[f+16>>2]=J[g>>2];J[f+20>>2]=m;J[f+8>>2]=l;J[f+12>>2]=h;Ya(f+24|0,i,f+16|0,f+8|0);g=c+j|0;J[g>>2]=J[f+24>>2];J[g+4>>2]=J[f+28>>2];d=d-e|0;if((d|0)>0){continue}break}}d=e>>>0>1073741823?-1:e<<2;d=pa(oa(d),0,d);e=J[d>>2];g=J[d+4>>2];i=J[b+4>>2];J[f+16>>2]=J[b>>2];J[f+20>>2]=i;J[f+8>>2]=e;J[f+12>>2]=g;Ya(f+24|0,a+8|0,f+16|0,f+8|0);J[c>>2]=J[f+24>>2];J[c+4>>2]=J[f+28>>2];na(d);ba=f+32|0;return 1}function pk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=ba-32|0;ba=g;J[a+48>>2]=f;i=1;a:{d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;b:{if((d|0)<4){break b}l=a+44|0;m=a+8|0;f=d>>>2|0;while(1){d=J[a+40>>2];i=J[d>>2];h=J[d+4>>2]-i>>2;d=f-1|0;if(h>>>0<=d>>>0){break a}i=kh(l,J[i+(d<<2)>>2],b,d);if(!i){break b}h=J[a+52>>2];n=J[a+56>>2];j=P(d,e)<<2;k=j+b|0;o=J[k+4>>2];J[g+16>>2]=J[k>>2];J[g+20>>2]=o;J[g+8>>2]=h;J[g+12>>2]=n;Ya(g+24|0,m,g+16|0,g+8|0);h=c+j|0;J[h>>2]=J[g+24>>2];J[h+4>>2]=J[g+28>>2];h=f>>>0>1;f=d;if(h){continue}break}}ba=g+32|0;return i|0}ra();B()}function Bk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=ba-32|0;ba=g;J[a+48>>2]=f;i=1;a:{d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;b:{if((d|0)<4){break b}l=a+44|0;m=a+8|0;f=d>>>2|0;while(1){d=J[a+40>>2];i=J[d>>2];h=J[d+4>>2]-i>>2;d=f-1|0;if(h>>>0<=d>>>0){break a}i=ph(l,J[i+(d<<2)>>2],b,d);if(!i){break b}h=J[a+52>>2];n=J[a+56>>2];j=P(d,e)<<2;k=j+b|0;o=J[k+4>>2];J[g+16>>2]=J[k>>2];J[g+20>>2]=o;J[g+8>>2]=h;J[g+12>>2]=n;Ya(g+24|0,m,g+16|0,g+8|0);h=c+j|0;J[h>>2]=J[g+24>>2];J[h+4>>2]=J[g+28>>2];h=f>>>0>1;f=d;if(h){continue}break}}ba=g+32|0;return i|0}ra();B()}function gi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;cf(a,b,c);e=J[a+96>>2];a=J[a+100>>2];a:{if((e|0)==(a|0)){break a}d=(a-e|0)/12|0;f=d>>>0<=1?1:d;g=f&1;a=J[b>>2];c=0;if(d>>>0>=2){f=f&-2;d=0;while(1){b=P(c,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2];b=P(c|1,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2];c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!g){break a}b=P(c,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2]}}function Sg(a,b){var c=0,d=0,e=0,f=0;f=ba-16|0;ba=f;c=oa(16);J[f>>2]=c;J[f+4>>2]=15;J[f+8>>2]=-2147483632;d=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);e=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[c+7|0]=e;H[c+8|0]=e>>>8;H[c+9|0]=e>>>16;H[c+10|0]=e>>>24;H[c+11|0]=d;H[c+12|0]=d>>>8;H[c+13|0]=d>>>16;H[c+14|0]=d>>>24;d=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);e=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+15|0]=0;vb(a+4|0,f,b);if(H[f+11|0]<0){na(J[f>>2])}ba=f+16|0}function Fi(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,l=0;a=ba-16|0;ba=a;a:{if(!b){break a}J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;h=b+96|0;g=J[b+96>>2];e=(J[b+100>>2]-g|0)/12|0;b:{if(e>>>0>>0){of(h,c-e|0,a);break b}if(c>>>0>>0){J[b+100>>2]=g+P(c,12)}if(!c){break a}}g=J[h>>2];e=0;while(1){i=P(e,12);f=i+d|0;j=J[f>>2];k=J[f+8>>2];l=J[f+4>>2];f=(J[b+100>>2]-g|0)/12|0;c:{if(f>>>0>e>>>0){e=e+1|0;break c}J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=e+1|0;of(h,e-f|0,a);g=J[h>>2]}f=g+i|0;J[f+8>>2]=k;J[f+4>>2]=l;J[f>>2]=j;if((c|0)!=(e|0)){continue}break}}ba=a+16|0;return(b|0)!=0|0}function Hb(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0;i=1;j=d&2147483647;l=j;k=(j|0)==2147418112;a:{if(k&!c?a|b:k&(c|0)!=0|j>>>0>2147418112){break a}j=h&2147483647;k=(j|0)==2147418112;if(k&!g?e|f:k&(g|0)!=0|j>>>0>2147418112){break a}if(!(a|e|(c|g)|(b|f|(j|l)))){return 0}i=d&h;if((i|0)>0|(i|0)>=0){i=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>>0|b>>>0>>0:c>>>0>>0&(d|0)<=(h|0)|(d|0)<(h|0)){break a}return(a^e|c^g|(b^f|d^h))!=0}i=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>e>>>0|b>>>0>f>>>0:c>>>0>g>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}i=(a^e|c^g|(b^f|d^h))!=0}return i}function Jb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{b:{if(b){if(b>>>0>=357913942){break b}b=P(b,12);d=oa(b);J[a+4>>2]=d;J[a>>2]=d;e=b+d|0;J[a+8>>2]=e;f=J[c+4>>2];g=J[c>>2];c:{if((f|0)==(g|0)){b=b-12|0;pa(d,0,(b-((b>>>0)%12|0)|0)+12|0);break c}h=f-g|0;if((h|0)<0){break a}i=h&-4;while(1){J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;b=oa(h);J[d>>2]=b;J[d+8>>2]=b+i;c=g;while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}J[d+4>>2]=b;d=d+12|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e}return}qa();B()}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;qa();B()}function tc(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=c-b|0;g=f>>2;e=J[a+8>>2];d=J[a>>2];if(g>>>0<=e-d>>2>>>0){e=J[a+4>>2]-d|0;f=e>>2;e=f>>>0>>0?b+e|0:c;h=e-b|0;if((b|0)!=(e|0)){ta(d,b,h)}if(f>>>0>>0){b=c-e|0;d=J[a+4>>2];if((c|0)!=(e|0)){ta(d,e,b)}J[a+4>>2]=b+d;return}J[a+4>>2]=d+h;return}if(d){J[a+4>>2]=d;na(d);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=0}a:{if((f|0)<0){break a}d=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>g>>>0?d:g;if(d>>>0>=1073741824){break a}e=d<<2;d=oa(e);J[a+4>>2]=d;J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){ua(d,b,f)}J[a+4>>2]=d+(g<<2);return}qa();B()}function ig(a,b){var c=0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+60>>2];J[a+56>>2]=J[b+56>>2];J[a+60>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+36>>2];J[a+32>>2]=J[b+32>>2];J[a+36>>2]=c;c=J[b+28>>2];J[a+24>>2]=J[b+24>>2];J[a+28>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;J[a+88>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a}function ob(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;a=J[a+4>>2];a:{b:{if(!a){break b}d=K[b+11|0];c=d<<24>>24<0;g=c?J[b>>2]:b;d=c?J[b+4>>2]:d;b=f;while(1){e=K[a+27|0];c=e<<24>>24<0;e=c?J[a+20>>2]:e;h=e>>>0>d>>>0;i=h?d:e;c:{if(i){c=Ba(c?J[a+16>>2]:a+16|0,g,i);if(c){break c}}c=d>>>0>e>>>0?-1:h}c=(c|0)<0;b=c?b:a;a=J[(c?a+4|0:a)>>2];if(a){continue}break}if((b|0)==(f|0)){break b}c=K[b+27|0];a=c<<24>>24<0;d:{c=a?J[b+20>>2]:c;e=c>>>0>>0?c:d;if(e){a=Ba(g,a?J[b+16>>2]:b+16|0,e);if(a){break d}}if(c>>>0>d>>>0){break b}break a}if((a|0)>=0){break a}}b=f}return b}function xe(a){var b=0,c=0,d=0,e=0;c=J[a+152>>2];if(c){d=c;b=J[a+156>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;na(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+152>>2]}J[a+156>>2]=c;na(d)}c=J[a+140>>2];if(c){d=c;b=J[a+144>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;na(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+140>>2]}J[a+144>>2]=c;na(d)}b=J[a+128>>2];if(b){J[a+132>>2]=b;na(b)}b=J[a+116>>2];if(b){J[a+120>>2]=b;na(b)}b=J[a+104>>2];if(b){J[a+108>>2]=b;na(b)}tb(a+84|0);tb(a- -64|0);tb(a+44|0);wa(a+12|0)}function Th(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(pb(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(pb(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;b:{if(J[b+44>>2]==4){break b}I[b+52>>1]=0;a=J[a+8>>2];da[J[J[a>>2]+20>>2]](a,b,c,c,1,e);if(K[b+53|0]){J[b+44>>2]=3;if(!K[b+52|0]){break b}break a}J[b+44>>2]=4}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}a=J[a+8>>2];da[J[J[a>>2]+24>>2]](a,b,c,d,e)}}function xc(a,b){var c=0,d=0,e=0,f=0;c=J[a+16>>2];if(b){J[a+12>>2]=J[a+12>>2]|-2147483648>>>c}b=c+1|0;J[a+16>>2]=b;a:{b:{if((b|0)==32){b=J[a+4>>2];c:{if((b|0)!=J[a+8>>2]){J[b>>2]=J[a+12>>2];J[a+4>>2]=b+4;break c}d=b;b=J[a>>2];c=d-b|0;f=c>>2;e=f+1|0;if(e>>>0>=1073741824){break b}d=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0>>0?d:e;if(e){if(e>>>0>=1073741824){break a}d=oa(e<<2)}else{d=0}f=d+(f<<2)|0;J[f>>2]=J[a+12>>2];c=ta(d,b,c);J[a+8>>2]=c+(e<<2);J[a+4>>2]=f+4;J[a>>2]=c;if(!b){break c}na(b)}J[a+12>>2]=0;J[a+16>>2]=0}return}qa();B()}xa();B()}function ue(a){var b=0,c=0,d=0,e=0;c=J[a+140>>2];if(c){d=c;b=J[a+144>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;na(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+140>>2]}J[a+144>>2]=c;na(d)}c=J[a+128>>2];if(c){d=c;b=J[a+132>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;na(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+128>>2]}J[a+132>>2]=c;na(d)}b=J[a+116>>2];if(b){J[a+120>>2]=b;na(b)}b=J[a+104>>2];if(b){J[a+108>>2]=b;na(b)}b=J[a+92>>2];if(b){J[a+96>>2]=b;na(b)}tb(a+72|0);tb(a+52|0);tb(a+32|0);tb(a+12|0)}function Pg(a,b,c,d,e){var f=0,g=0,h=0;f=ba-16|0;ba=f;g=Og(b,c,f+12|0,f+8|0,d);d=J[g>>2];if(d){b=0}else{d=oa(40);c=d+16|0;a:{if(H[e+11|0]>=0){h=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=h;J[c+8>>2]=J[e+8>>2];break a}Ga(c,J[e>>2],J[e+4>>2])}c=d+28|0;b:{if(H[e+23|0]>=0){e=e+12|0;h=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=h;J[c+8>>2]=J[e+8>>2];break b}Ga(c,J[e+12>>2],J[e+16>>2])}J[d+8>>2]=J[f+12>>2];J[d>>2]=0;J[d+4>>2]=0;J[g>>2]=d;e=d;c=J[J[b>>2]>>2];if(c){J[b>>2]=c;e=J[g>>2]}sb(J[b+4>>2],e);J[b+8>>2]=J[b+8>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=d;ba=f+16|0}function hg(a){var b=0,c=0,d=0,e=0;za(a);c=J[a+84>>2];a:{if((c|0)<=0){break a}b=c<<5;d=oa(c>>>0>134217727?-1:b|4);J[d>>2]=c;d=d+4|0;c=d+b|0;b=d;while(1){J[b>>2]=0;J[b+4>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;b=b+32|0;if((c|0)!=(b|0)){continue}break}e=J[a+80>>2];J[a+80>>2]=d;if(e){c=e-4|0;d=J[c>>2];if(d){b=(d<<5)+e|0;while(1){b=wa(b-32|0);if((e|0)!=(b|0)){continue}break}}na(c)}if(J[a+84>>2]<=0){break a}b=0;while(1){za(J[a+80>>2]+(b<<5)|0);b=b+1|0;if((b|0)>2]){continue}break}}}function qb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=ba-16|0;ba=f;A(+b);g=v(1)|0;d=v(0)|0;c=g&2147483647;e=c+-1048576|0;a:{if((e|0)==2145386495|e>>>0<2145386495){h=d<<28;e=c>>>4|0;c=(c&15)<<28|d>>>4;d=e+1006632960|0;break a}if((c|0)==2146435072|c>>>0>2146435072){h=d<<28;c=(g&15)<<28|d>>>4;d=g>>>4|2147418112;break a}if(!(c|d)){c=0;d=0;break a}e=c;c=c?S(c):S(d)+32|0;Pa(f,d,e,0,0,c+49|0);i=J[f>>2];h=J[f+4>>2];e=15372-c<<16;c=J[f+8>>2];d=e|J[f+12>>2]^65536}J[a>>2]=i;J[a+4>>2]=h;J[a+8>>2]=c;J[a+12>>2]=g&-2147483648|d;ba=f+16|0}function xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=ba-48|0;ba=f;a:{if(!b){a=0;break a}e=f+16|0;J[e>>2]=0;J[e+4>>2]=0;H[e+24|0]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;g=0;b:{if((Nb(b,0)|0)==-1){break b}if(c){g=0;if(!(da[J[J[b>>2]+16>>2]](b)|0)){break b}da[J[J[b>>2]+20>>2]](b)}$g(f,a,b,e);a=J[f>>2];if(H[f+15|0]<0){na(J[f+4>>2])}g=0;if(a){break b}vd(d,J[e>>2],J[e+4>>2]);g=J[e+4>>2]-J[e>>2]|0}a=g;b=J[e+12>>2];J[e+12>>2]=0;if(b){na(b)}b=J[e>>2];if(!b){break a}J[e+4>>2]=b;na(b)}ba=f+48|0;return a|0}function re(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2284;d=J[a+60>>2];if(d){b=d;c=J[a- -64>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){Ka(b)}if((c|0)!=(d|0)){continue}break}b=J[a+60>>2]}J[a+64>>2]=d;na(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}d=J[a+36>>2];if(d){b=d;c=J[a+40>>2];if((b|0)!=(c|0)){while(1){c=c-24|0;da[J[J[c>>2]>>2]](c)|0;if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;na(b)}J[a>>2]=2188;b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;na(b)}return a|0}function Ld(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=J[a+8>>2];d=J[a+4>>2];if(c-d>>2>>>0>=b>>>0){if(b){b=b<<2;d=pa(d,0,b)+b|0}J[a+4>>2]=d;return}a:{f=J[a>>2];g=d-f>>2;e=g+b|0;if(e>>>0<1073741824){c=c-f|0;h=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break a}i=oa(e<<2)}c=(g<<2)+i|0;b=b<<2;b=pa(c,0,b)+b|0;if((d|0)!=(f|0)){while(1){c=c-4|0;d=d-4|0;J[c>>2]=J[d>>2];if((d|0)!=(f|0)){continue}break}}J[a+8>>2]=(e<<2)+i;J[a+4>>2]=b;J[a>>2]=c;if(f){na(f)}return}qa();B()}xa();B()}function yi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=ba-48|0;ba=e;a:{if(!b){a=0;break a}d=e+16|0;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;f=0;b:{if((Nb(b,0)|0)==-1){break b}f=0;if(!(da[J[J[b>>2]+16>>2]](b)|0)){break b}da[J[J[b>>2]+20>>2]](b);Yg(e,a,b,d);a=J[e>>2];if(H[e+15|0]<0){na(J[e+4>>2])}f=0;if(a){break b}vd(c,J[d>>2],J[d+4>>2]);f=J[d+4>>2]-J[d>>2]|0}a=f;b=J[d+12>>2];J[d+12>>2]=0;if(b){na(b)}b=J[d>>2];if(!b){break a}J[d+4>>2]=b;na(b)}ba=e+48|0;return a|0}function Gb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;a:{if(f&64){c=f+-64|0;b=c&31;if((c&63)>>>0>=32){c=0;b=e>>>b|0}else{c=e>>>b|0;b=((1<>>b}d=0;e=0;break a}if(!f){break a}i=d;h=64-f|0;g=h&31;if((h&63)>>>0>=32){h=i<>>32-g|e<>>0>=32){g=0;b=c>>>b|0}else{g=c>>>b|0;b=((1<>>b}b=j|b;c=g|h;g=d;d=f&31;if((f&63)>>>0>=32){h=0;d=e>>>d|0}else{h=e>>>d|0;d=((1<>>d}e=h}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e}function hf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=ba-16|0;ba=c;e=K[b+11|0];e=e<<24>>24<0?J[b+4>>2]:e;a:{if(e>>>0>255){break a}if(!e){H[c+15|0]=0;b=J[a+20>>2];if(!!J[a+16>>2]&(b|0)>=0|(b|0)>0){break a}sa(a,J[a+4>>2],c+15|0,c+16|0);break a}H[c+14|0]=e;d=J[a+20>>2];if(!!J[a+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(a,J[a+4>>2],c+14|0,c+15|0);d=J[a+20>>2];if(!!J[a+16>>2]&(d|0)>=0|(d|0)>0){break a}g=a;h=J[a+4>>2];a=K[b+11|0];d=a<<24>>24<0;f=d?J[b>>2]:b;sa(g,h,f,(d?J[b+4>>2]:a)+f|0)}ba=c+16|0;return e>>>0<256}function Gc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=J[a+4>>2];e=J[a>>2];d=c-e|0;b:{if(d>>>0>>0){g=b-d|0;f=J[a+8>>2];if(g>>>0<=f-c>>>0){h=a,i=pa(c,0,g)+g|0,J[h+4>>2]=i;break b}if((b|0)<0){break a}c=f-e|0;f=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0>>0?f:b;f=oa(c);pa(f+d|0,0,g);d=ta(f,e,d);J[a+8>>2]=d+c;J[a+4>>2]=b+d;J[a>>2]=d;if(!e){break b}na(e);break b}if(b>>>0>=d>>>0){break b}J[a+4>>2]=b+e}b=J[a+28>>2];c=b;d=b+1|0;b=J[a+24>>2]+1|0;e=b?c:d;J[a+24>>2]=b;J[a+28>>2]=e;return}qa();B()}function oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=ba-48|0;ba=d;e=J[a+4>>2];a:{if(!e){break a}if(b){if(!(da[J[J[e>>2]+16>>2]](e)|0)){break a}b=J[a+4>>2];da[J[J[b>>2]+20>>2]](b)}b=d+16|0;J[b>>2]=0;J[b+4>>2]=0;H[b+24|0]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;fe(d,J[a>>2],b);a=J[d>>2];if(H[d+15|0]<0){na(J[d+4>>2])}if(!a){vd(c,J[b>>2],J[b+4>>2]);f=J[b+4>>2]-J[b>>2]|0}a=J[b+12>>2];J[b+12>>2]=0;if(a){na(a)}a=J[b>>2];if(!a){break a}J[b+4>>2]=a;na(a)}ba=d+48|0;return f|0}function Cl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=1;a:{if((da[J[J[b>>2]+20>>2]](b)|0)<=0){break a}while(1){e=0;d=Nb(J[J[a+4>>2]+4>>2],da[J[J[b>>2]+24>>2]](b,f)|0);if((d|0)==-1){break a}c=J[a+4>>2];g=0;b:{if((d|0)<0){break b}h=J[c+4>>2];if(J[h+12>>2]-J[h+8>>2]>>2<=(d|0)){break b}c=J[J[c+8>>2]+(J[J[c+20>>2]+(d<<2)>>2]<<2)>>2];g=da[J[J[c>>2]+36>>2]](c,d)|0}if(!(da[J[J[b>>2]+28>>2]](b,g)|0)){break a}e=1;f=f+1|0;if((da[J[J[b>>2]+20>>2]](b)|0)>(f|0)){continue}break}}return e|0}function Pa(a,b,c,d,e,f){var g=0,h=0,i=0;a:{if(f&64){d=b;e=f+-64|0;b=e&31;if((e&63)>>>0>=32){e=d<>>32-b|c<>>0>=32){h=g<>>32-d|e<>>0>=32){e=0;b=c>>>d|0}else{e=c>>>d|0;b=((1<>>d}d=i|b;e=e|h;b=f&31;if((f&63)>>>0>=32){h=g<>>32-b|c<>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e}function se(a,b){ya(a,b);ya(a+32|0,b);ya(a- -64|0,b);ya(a+96|0,b);ya(a+128|0,b);ya(a+160|0,b);ya(a+192|0,b);ya(a+224|0,b);ya(a+256|0,b);ya(a+288|0,b);ya(a+320|0,b);ya(a+352|0,b);ya(a+384|0,b);ya(a+416|0,b);ya(a+448|0,b);ya(a+480|0,b);ya(a+512|0,b);ya(a+544|0,b);ya(a+576|0,b);ya(a+608|0,b);ya(a+640|0,b);ya(a+672|0,b);ya(a+704|0,b);ya(a+736|0,b);ya(a+768|0,b);ya(a+800|0,b);ya(a+832|0,b);ya(a+864|0,b);ya(a+896|0,b);ya(a+928|0,b);ya(a+960|0,b);ya(a+992|0,b);ya(a+1024|0,b)}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=J[J[a+8>>2]+40>>2];h=oa((d|0)<0?-1:d);g=J[b>>2];i=J[b+4>>2];if((g|0)!=(i|0)){k=d+h|0;while(1){e=J[(j<<2)+g>>2];f=J[a+8>>2];if(!K[f+84|0]){e=J[J[f+68>>2]+(e<<2)>>2]}l=J[J[f>>2]>>2];d=J[f+40>>2];e=J[f+48>>2]+Gl(d,J[f+44>>2],e,0)|0;e=ua(h,e+l|0,d);d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){sa(c,J[c+4>>2],e,k);g=J[b>>2];i=J[b+4>>2]}j=j+1|0;if(j>>>0>2>>>0){continue}break}}na(h);return 1}function Pe(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!J[J[4843]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){H[a+1|0]=b&63|128;H[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){H[a+2|0]=b&63|128;H[a|0]=b>>>12|224;H[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){H[a+3|0]=b&63|128;H[a|0]=b>>>18|240;H[a+2|0]=b>>>6&63|128;H[a+1|0]=b>>>12&63|128;a=4;break a}}J[4804]=25;a=-1}else{a=1}break a}H[a|0]=b;a=1}return a}function Je(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=ba-16|0;ba=f;d=ba-32|0;ba=d;e=ba-16|0;ba=e;J[e+12>>2]=a;J[e+8>>2]=a+b;J[d+24>>2]=J[e+12>>2];J[d+28>>2]=J[e+8>>2];ba=e+16|0;b=ba-16|0;ba=b;h=J[d+28>>2];e=J[d+24>>2];g=h-e|0;if((e|0)!=(h|0)){ta(c,e,g)}J[b+12>>2]=e+g;J[b+8>>2]=c+g;J[d+16>>2]=J[b+12>>2];J[d+20>>2]=J[b+8>>2];ba=b+16|0;J[d+12>>2]=(J[d+16>>2]-a|0)+a;J[d+8>>2]=(J[d+20>>2]-c|0)+c;J[f+8>>2]=J[d+12>>2];J[f+12>>2]=J[d+8>>2];ba=d+32|0;ba=f+16|0;return J[f+12>>2]}function $i(a,b){a=a|0;b=b|0;var c=0,d=0;c=ba-16|0;ba=c;d=J[a+8>>2];a:{if((d|0)==J[a+12>>2]){b=bf(oa(76),b);J[b+36>>2]=0;J[b+40>>2]=0;J[b>>2]=2284;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+68>>2]=0;J[b+72>>2]=0;J[c+8>>2]=b;d=J[a+12>>2];b:{if(d>>>0>2]){J[c+8>>2]=0;J[d>>2]=b;J[a+12>>2]=d+4;break b}Ic(a+8|0,c+8|0)}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break a}da[J[J[a>>2]+4>>2]](a);break a}kc(J[d>>2],b)}ba=c+16|0;return 1}function Vg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=ba-48|0;ba=e;h=J[b>>2];f=a+16|0;b=J[f>>2];a:{b:{if(!b){break b}g=f;while(1){i=J[b+16>>2]<(h|0);g=i?g:b;b=J[(i?b+4|0:b)>>2];if(b){continue}break}if((g|0)==(f|0)){break b}if(J[g+16>>2]<=(h|0)){break a}}J[e+28>>2]=0;J[e+32>>2]=0;f=e+24|0;J[e+24>>2]=f|4;b=e+16|0;J[b>>2]=0;J[b+4>>2]=0;J[e+8>>2]=h;J[e+12>>2]=b;b=a+12|0;a=e+8|0;Oc(e+40|0,b,a,a);g=J[e+40>>2];Da(a|4,J[e+16>>2]);Da(f,J[e+28>>2])}vb(g+20|0,c,d);ba=e+48|0}function Ec(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=14964;b=J[a+68>>2];if(b){J[a+72>>2]=b;na(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}b=J[a+44>>2];if(b){J[a+48>>2]=b;na(b)}b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;na(b)}b=J[a+8>>2];if(b){d=b;c=J[a+12>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){Ka(d)}if((b|0)!=(c|0)){continue}break}d=J[a+8>>2]}J[a+12>>2]=b;na(d)}b=J[a+4>>2];J[a+4>>2]=0;if(b){qf(b)}return a|0}function zh(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2496;b=J[a+72>>2];J[a+72>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;na(b)}b=J[a+48>>2];if(b){na(b)}d=J[a+36>>2];if(d){c=J[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;na(b)}J[a>>2]=2188;b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;na(b)}return a|0}function Ra(a){J[a>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;H[a+28|0]=1;J[a+20>>2]=0;J[a+24>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+72>>2]=a+4;J[a+104>>2]=0;J[a+108>>2]=0;H[a+100|0]=1;J[a+112>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0}function Fa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=pa(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>2;d=h+b|0;if(d>>>0<1073741824){e=e-c|0;f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}i=oa(d<<2)}b=b<<2;e=pa((h<<2)+i|0,0,b);f=d<<2;d=ta(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){na(c)}return}qa();B()}xa();B()}function Wa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=pa(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){e=e-c|0;f=e>>>2|0;d=e>>>0>=2147483640?536870911:d>>>0>>0?f:d;if(d){if(d>>>0>=536870912){break a}i=oa(d<<3)}b=b<<3;e=pa((h<<3)+i|0,0,b);f=d<<3;d=ta(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){na(c)}return}qa();B()}xa();B()}function Oe(a,b,c,d,e){var f=0,g=0,h=0;h=-1;g=d&2147483647;f=(g|0)==2147418112;a:{if(f&!c?a|b:f&(c|0)!=0|g>>>0>2147418112){break a}f=e&2147483647;if(((f|0)==2147418112&0|f>>>0>2147418112)&(f|0)!=2147418112){break a}if(!(a|c|(f|g|b))){return 0}f=d&e;if((f|0)>0|(f|0)>=0){if(((c|0)!=0|(d|0)!=(e|0))&(d|0)<(e|0)){break a}return(a|c|(d^e|b))!=0}if(!c&(d|0)==(e|0)?a|b:(c|0)!=0&(d|0)>=(e|0)|(d|0)>(e|0)){break a}h=(a|c|(d^e|b))!=0}return h}function Xa(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0;i=Gl(b,c,h,i);h=ca;e=Gl(d,e,f,g);i=e+i|0;d=ca+h|0;h=e>>>0>i>>>0?d+1|0:d;j=g;e=0;k=c;d=0;c=Gl(g,e,c,d);g=c+i|0;i=ca+h|0;l=g;c=c>>>0>g>>>0?i+1|0:i;g=Gl(f,0,b,0);h=ca;i=0;d=Gl(f,i,k,d);h=h+d|0;f=ca+i|0;f=d>>>0>h>>>0?f+1|0:f;i=f+l|0;d=c;f=f>>>0>i>>>0?d+1|0:d;c=Gl(b,m,j,e)+h|0;e=ca;e=c>>>0>>0?e+1|0:e;h=e+i|0;i=f;J[a+8>>2]=h;J[a+12>>2]=e>>>0>h>>>0?i+1|0:i;J[a>>2]=g;J[a+4>>2]=c}function Ia(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=J[a+4>>2];f=J[a>>2];d=c-f|0;b:{if(d>>>0>>0){g=b-d|0;e=J[a+8>>2];if(g>>>0<=e-c>>>0){h=a,i=pa(c,0,g)+g|0,J[h+4>>2]=i;return}if((b|0)<0){break a}c=e-f|0;e=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0>>0?e:b;e=oa(c);pa(e+d|0,0,g);d=ta(e,f,d);J[a+8>>2]=d+c;J[a+4>>2]=b+d;J[a>>2]=d;if(!f){break b}na(f);return}if(b>>>0>=d>>>0){break b}J[a+4>>2]=b+f}return}qa();B()}function Tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=ba-16|0;ba=d;e=J[a+4>>2];a:{if((e|0)==-1){break a}c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}sa(b,J[b+4>>2],J[a+8>>2],J[a+12>>2]);c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}sa(b,J[b+4>>2],a+20|0,a+24|0);c=J[b+20>>2];f=J[b+16>>2];H[d+15|0]=J[a+4>>2];if(!!f&(c|0)>=0|(c|0)>0){break a}sa(b,J[b+4>>2],d+15|0,d+16|0)}ba=d+16|0;return(e|0)!=-1|0}function ej(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;a:{b=J[a+8>>2];b:{if((b|0)<0){break b}c=J[a+4>>2];e=J[c>>2];d=J[c+4>>2]-e>>2;c:{if(d>>>0>>0){Ld(c,b-d|0);f=J[a+8>>2];break c}f=b;if(b>>>0>=d>>>0){break c}J[c+4>>2]=e+(b<<2);f=b}d=f;if((d|0)<=0){break b}a=J[a+4>>2];c=J[a>>2];e=J[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(e|0)){break a}J[c+(a<<2)>>2]=a;a=a+1|0;if((d|0)!=(a|0)){continue}break}}return(b^-1)>>>31|0}ra();B()}function te(a){za(a);za(a+32|0);za(a- -64|0);za(a+96|0);za(a+128|0);za(a+160|0);za(a+192|0);za(a+224|0);za(a+256|0);za(a+288|0);za(a+320|0);za(a+352|0);za(a+384|0);za(a+416|0);za(a+448|0);za(a+480|0);za(a+512|0);za(a+544|0);za(a+576|0);za(a+608|0);za(a+640|0);za(a+672|0);za(a+704|0);za(a+736|0);za(a+768|0);za(a+800|0);za(a+832|0);za(a+864|0);za(a+896|0);za(a+928|0);za(a+960|0);za(a+992|0);za(a+1024|0)}function Ga(a,b,c){var d=0,e=0,f=0,g=0;e=ba-16|0;ba=e;a:{b:{if(c>>>0<11){d=a;H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;break b}if(c>>>0>2147483631){break a}g=e+8|0;if(c>>>0>=11){f=c+16&-16;d=f-1|0;d=(d|0)==11?f:d}else{d=10}Ac(g,d+1|0);d=J[e+8>>2];J[a>>2]=d;J[a+8>>2]=J[a+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;J[a+4>>2]=c}Ab(d,b,c+1|0);ba=e+16|0;return}gb();B()}function Yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ba-96|0;ba=e;f=Mg(e+40|0,c);_g(e,b,c);Lg(f,e);Da(e+24|0,J[e+28>>2]);nb(e+12|0,J[e+16>>2]);Da(e,J[e+4>>2]);fe(a,f,d);if(!J[a>>2]){if(H[a+15|0]<0){na(J[a+4>>2])}J[b+40>>2]=J[f+40>>2];J[b+44>>2]=J[f+44>>2];J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}J[f>>2]=10256;Da(f+28|0,J[f+32>>2]);nb(f+16|0,J[f+20>>2]);Da(f+4|0,J[f+8>>2]);ba=e+96|0}function mc(a,b){var c=0,d=0,e=0;c=J[a+4>>2];d=c+b|0;J[a+4>>2]=d;if(!((d-1^c-1)>>>0<32?c:0)){J[J[a>>2]+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0}a:{if(!b){break a}a=J[a>>2]+(c>>>3&536870908)|0;c=c&31;if(c){d=32-c|0;e=b>>>0>d>>>0?d:b;J[a>>2]=J[a>>2]&(-1<>>d-e^-1);b=b-e|0;a=a+4|0}c=b>>>5|0;if(b>>>0>=32){pa(a,0,c<<2)}if((b&-32)==(b|0)){break a}a=(c<<2)+a|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}}function Oa(a,b,c){var d=0,e=0,f=0;if(!(K[a|0]&32)){a:{d=b;b=a;a=J[b+16>>2];b:{if(!a){if(We(b)){break b}a=J[b+16>>2]}f=J[b+20>>2];if(a-f>>>0>>0){da[J[b+36>>2]](b,d,c)|0;break a}c:{if(J[b+80>>2]<0){break c}a=c;while(1){e=a;if(!a){break c}a=e-1|0;if(K[d+a|0]!=10){continue}break}if(da[J[b+36>>2]](b,d,e)>>>0>>0){break b}d=d+e|0;c=c-e|0;f=J[b+20>>2]}ua(f,d,c);J[b+20>>2]=J[b+20>>2]+c}}}}function Vj(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=10404;b=J[a+64>>2];J[a+64>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;na(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;na(b)}return a|0}function yl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=ba-16|0;ba=d;f=Le(a,b);a:{if(!f){break a}c=J[a+36>>2];if((c|0)==J[a+40>>2]){break a}g=d+16|0;while(1){c=J[(e<<2)+c>>2];h=d,i=da[J[J[c>>2]+32>>2]](c)|0,H[h+15|0]=i;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],d+15|0,g)}e=e+1|0;c=J[a+36>>2];if(e>>>0>2]-c>>2>>>0){continue}break}}ba=d+16|0;return f|0}function Uj(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=10404;b=J[a+64>>2];J[a+64>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;na(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;na(b)}na(a)}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+176>>2];d=J[a+172>>2];e=(c-d|0)/136|0;a:{if((c|0)==(d|0)){break a}c=0;b:{c:{d:{if(J[d>>2]==(b|0)){b=1}else{f=e>>>0<=1?1:e;while(1){c=c+1|0;if((f|0)==(c|0)){break d}if(J[P(c,136)+d>>2]!=(b|0)){continue}break}b=c>>>0>>0}if(b){break c}break a}if(c>>>0>>0){break b}break a}d=(P(c,136)+d|0)+104|0}return d|0}return a+40|0}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0;c=ba-16|0;ba=c;a:{if(!b){d=oa(76);b=oa(12);J[b+8>>2]=J[J[a+4>>2]+80>>2];J[b>>2]=12404;J[b+4>>2]=0;d=pe(d,b,0);J[c+8>>2]=d;b=J[a+12>>2];b:{if(b>>>0>2]){J[c+8>>2]=0;J[b>>2]=d;J[a+12>>2]=b+4;break b}Ic(a+8|0,c+8|0)}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break a}da[J[J[a>>2]+4>>2]](a);break a}kc(J[J[a+8>>2]>>2],b)}ba=c+16|0;return 1}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+36>>2];if((c|0)!=J[a+40>>2]){while(1){c=P(d,24)+c|0;da[J[J[c>>2]+28>>2]](c,b)|0;d=d+1|0;c=J[a+36>>2];if(d>>>0<(J[a+40>>2]-c|0)/24>>>0){continue}break}}c=J[a+48>>2];if((c|0)!=J[a+52>>2]){d=0;while(1){c=J[(d<<2)+c>>2];Aa((c|0)<0?(c^-1)<<1|1:c<<1,b);d=d+1|0;c=J[a+48>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}return 1}function ud(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=Jc(oa(96));Md(g,b,d<<24>>24,f,c);b=qd(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];ua(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,(P(d,h)<<2)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function rf(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=Jc(oa(96));Md(g,b,d<<24>>24,f,c);b=qd(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];ua(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,(P(d,h)<<1)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function sf(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=Jc(oa(96));Md(g,b,d<<24>>24,f,c);b=qd(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];ua(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,P(d,h)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function Sh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(pb(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(!pb(a,J[b>>2],e)){break a}if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+20>>2]=c;J[b+32>>2]=d;J[b+40>>2]=J[b+40>>2]+1;if(!(J[b+36>>2]!=1|J[b+24>>2]!=2)){H[b+54|0]=1}J[b+44>>2]=4}}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=ba+-64|0;ba=e;d=da[J[J[a>>2]+44>>2]](a,b)|0;a=da[J[J[a>>2]+40>>2]](a,b)|0;f=Lc(e);g=J[b+56>>2];h=d&255;i=a;a=a-1|0;if(a>>>0<=10){a=J[(a<<2)+14832>>2]}else{a=-1}d=P(a,d);Nd(f,g,0,h,i,d,d>>31);a=ig(oa(96),f);Kd(a,c);H[a+84|0]=1;J[a+72>>2]=J[a+68>>2];J[a+60>>2]=J[b+60>>2];ba=e- -64|0;return a|0}function Md(a,b,c,d,e){var f=0,g=0,h=0;f=oa(32);J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+24>>2]=0;J[f+28>>2]=0;g=J[a+64>>2];J[a+64>>2]=f;if(g){f=J[g>>2];if(f){J[g+4>>2]=f;na(f)}na(g);f=J[a+64>>2]}h=c&255;g=d-1|0;if(g>>>0<=10){g=J[(g<<2)+14832>>2]}else{g=-1}c=P(g,c);Nd(a,b,f,h,d,c,c>>31);Kd(a,e);H[a+84|0]=1;J[a+72>>2]=J[a+68>>2]}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=J[a+84>>2];f=J[e>>2];d=J[e+4>>2];h=J[a+28>>2];g=J[a+20>>2]-h|0;g=d>>>0>>0?d:g;if(g){ua(f,h,g);f=g+J[e>>2]|0;J[e>>2]=f;d=J[e+4>>2]-g|0;J[e+4>>2]=d}d=c>>>0>d>>>0?d:c;if(d){ua(f,b,d);f=d+J[e>>2]|0;J[e>>2]=f;J[e+4>>2]=J[e+4>>2]-d}H[f|0]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;return c|0}function xb(a,b,c){var d=0,e=0,f=0,g=0;d=ba-16|0;ba=d;H[d+15|0]=a&127;a:{if(!b&a>>>0>=128|b){H[d+15|0]=a|128;e=J[c+20>>2];if(!!J[c+16>>2]&(e|0)>=0|(e|0)>0){break a}sa(c,J[c+4>>2],d+15|0,d+16|0);f=xb((b&127)<<25|a>>>7,b>>>7|0,c);break a}a=J[c+20>>2];if(!!J[c+16>>2]&(a|0)>=0|(a|0)>0){break a}g=1;sa(c,J[c+4>>2],d+15|0,d+16|0)}ba=d+16|0;return g|f}function Fe(a,b,c,d){H[a+53|0]=1;a:{if(J[a+4>>2]!=(c|0)){break a}H[a+52|0]=1;c=J[a+16>>2];b:{if(!c){J[a+36>>2]=1;J[a+24>>2]=d;J[a+16>>2]=b;if((d|0)!=1){break a}if(J[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=J[a+24>>2];if((c|0)==2){J[a+24>>2]=d;c=d}if(J[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}J[a+36>>2]=J[a+36>>2]+1}H[a+54|0]=1}}function Fc(a,b){var c=0,d=0,e=0,f=0;d=1;a:{if((b|0)==-1){break a}b=P(b,3);if((b|0)==-1){break a}d=-1;e=J[a>>2];a=e+(b<<2)|0;c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)!=-1){d=J[(c<<2)+e>>2]}a=J[a>>2];f=(a|0)==(d|0);b:{c:{if((b>>>0)%3|0){b=b-1|0;break c}b=b+2|0;c=-1;if((b|0)==-1){break b}}c=J[(b<<2)+e>>2]}d=f|(c|0)==(a|0)|(d|0)==(c|0)}return d}function jd(a,b,c){var d=0,e=0,f=0;f=ba-16|0;ba=f;d=K[a+11|0]>>>7|0?(J[a+8>>2]&2147483647)-1|0:10;if(K[a+11|0]>>>7|0){e=J[a+4>>2]}else{e=K[a+11|0]&127}a:{if(d-e>>>0>=c>>>0){if(!c){break a}if(K[a+11|0]>>>7|0){d=J[a>>2]}else{d=a}Ab(d+e|0,b,c);b=a;a=c+e|0;ld(b,a);H[f+15|0]=0;H[a+d|0]=K[f+15|0];break a}kd(a,d,(c+e|0)-d|0,e,e,0,c,b)}ba=f+16|0}function Wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=ba+-64|0;ba=e;d=1;a:{if(pb(a,b,0)){break a}d=0;if(!b){break a}b=bd(b,18476,18524);d=0;if(!b){break a}d=e+8|0;pa(d|4,0,52);J[e+56>>2]=1;J[e+20>>2]=-1;J[e+16>>2]=a;J[e+8>>2]=b;da[J[J[b>>2]+28>>2]](b,d,J[c>>2],1);a=J[e+32>>2];if((a|0)==1){J[c>>2]=J[e+24>>2]}d=(a|0)==1}ba=e- -64|0;return d|0}function zl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;J[a+32>>2]=c;J[a+28>>2]=b;a:{if(!(da[J[J[a>>2]+52>>2]](a)|0)){break a}e=J[a+4>>2];if((e|0)==J[a+8>>2]){return 1}c=0;while(1){d=c<<2;f=J[d+J[a+36>>2]>>2];d=da[J[J[f>>2]+8>>2]](f,b,J[d+e>>2])|0;if(!d){break a}c=c+1|0;e=J[a+4>>2];if(c>>>0>2]-e>>2>>>0){continue}break}}return d|0}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ba-16|0;ba=d;J[a+4>>2]=b;b=J[b+64>>2];e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Na(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+56>>2];b=J[b+52>>2];H[d+14|0]=0;Na(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;ba=d+16|0}function Aa(a,b){var c=0,d=0,e=0;c=ba-16|0;ba=c;H[c+15|0]=a&127;a:{if(a>>>0>=128){H[c+15|0]=a|128;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){a=0;break a}sa(b,J[b+4>>2],c+15|0,c+16|0);a=Aa(a>>>7|0,b);break a}a=0;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}e=1;sa(b,J[b+4>>2],c+15|0,c+16|0)}ba=c+16|0;return a|e}function Wc(a,b){var c=0,d=0;a:{c=J[a+4>>2];d=J[a+8>>2];if((c|0)==d<<5){if((c+1|0)<0){break a}if(c>>>0<=1073741822){d=d<<6;c=(c&-32)+32|0;c=c>>>0>>0?d:c}else{c=2147483647}wc(a,c);c=J[a+4>>2]}J[a+4>>2]=c+1;d=1<>2]+(c>>>3&536870908)|0;if(K[b|0]){J[a>>2]=d|J[a>>2];return}J[a>>2]=J[a>>2]&(d^-1);return}qa();B()}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ba-16|0;ba=d;J[a+4>>2]=b;e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Na(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+28>>2];b=J[b+24>>2];H[d+14|0]=0;Na(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;ba=d+16|0}function Bc(a){var b=0,c=0,d=0,e=0;while(1){b=a;a=b+1|0;c=H[b|0];if((c|0)==32|c-9>>>0<5){continue}break}a:{b:{c:{c=H[b|0];switch(c-43|0){case 0:break b;case 2:break c;default:break a}}e=1}c=H[a|0];b=a}if(c-48>>>0<10){while(1){d=(P(d,10)-H[b|0]|0)+48|0;a=H[b+1|0];b=b+1|0;if(a-48>>>0<10){continue}break}}return e?d:0-d|0}function jj(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;na(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;na(b)}return a|0}function Gd(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;na(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;na(b)}na(a)}function mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ba-16|0;ba=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+8|0,c+12|0)}ya(a+112|0,b);ba=c+16|0;return 1}function pd(a){var b=0;b=1;a:{if((a|0)>=1024){b=898846567431158e293;if(a>>>0<2047){a=a-1023|0;break a}b=Infinity;a=((a|0)>=3069?3069:a)-2046|0;break a}if((a|0)>-1023){break a}b=2004168360008973e-307;if(a>>>0>4294965304){a=a+969|0;break a}b=0;a=((a|0)<=-2960?-2960:a)+1938|0}x(0,0);x(1,a+1023<<20);return b*+z()}function ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ba-16|0;ba=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+8|0,c+12|0)}ya(a+96|0,b);ba=c+16|0;return 1}function gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ba-16|0;ba=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+8|0,c+12|0)}ba=c+16|0;return 1}function Ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ba-16|0;ba=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+8|0,c+12|0)}ba=c+16|0;return 1}function Ba(a,b,c){var d=0,e=0;a:{b:{if(c>>>0>=4){if((a|b)&3){break b}while(1){if(J[a>>2]!=J[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}while(1){d=K[a|0];e=K[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function $a(a,b){var c=0,d=0,e=0,f=0;d=ba-16|0;ba=d;a:{if(!b){b=0;break a}c=b>>31;e=(c^b)-c|0;c=S(e);Pa(d,e,0,0,0,c+81|0);e=0+J[d+8>>2]|0;c=(J[d+12>>2]^65536)+(16414-c<<16)|0;c=e>>>0>>0?c+1|0:c;f=b&-2147483648|c;c=J[d+4>>2];b=J[d>>2]}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=e;J[a+12>>2]=f;ba=d+16|0}function Bj(a){a=a|0;var b=0;J[a+8>>2]=11436;J[a>>2]=11224;b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;na(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;na(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){na(b)}b=J[a+32>>2];if(b){na(b)}return a|0}function qf(a){var b=0,c=0,d=0;if(a){d=J[a+24>>2];if(d){b=d;c=J[a+28>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){lb(b+12|0,J[b+16>>2]);kb(b,J[b+4>>2]);na(b)}if((c|0)!=(d|0)){continue}break}b=J[a+24>>2]}J[a+28>>2]=d;na(b)}lb(a+12|0,J[a+16>>2]);kb(a,J[a+4>>2]);na(a)}}function uh(a){a=a|0;var b=0;J[a>>2]=3512;b=J[a+152>>2];if(b){J[a+156>>2]=b;na(b)}b=J[a+112>>2];if(b){J[a+116>>2]=b;na(b)}b=J[a+96>>2];if(b){na(b)}b=J[a+84>>2];if(b){na(b)}b=J[a+72>>2];if(b){na(b)}b=J[a+60>>2];if(b){na(b)}J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function lh(a){a=a|0;var b=0;J[a>>2]=5076;b=J[a+152>>2];if(b){J[a+156>>2]=b;na(b)}b=J[a+112>>2];if(b){J[a+116>>2]=b;na(b)}b=J[a+96>>2];if(b){na(b)}b=J[a+84>>2];if(b){na(b)}b=J[a+72>>2];if(b){na(b)}b=J[a+60>>2];if(b){na(b)}J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function Aj(a){a=a|0;var b=0;J[a+8>>2]=11436;J[a>>2]=11224;b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;na(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;na(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){na(b)}b=J[a+32>>2];if(b){na(b)}na(a)}function Gh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=J[c+8>>2];e=J[c+16>>2];g=J[c+12>>2];f=g;d=J[c+20>>2];if(h>>>0>e>>>0&(f|0)>=(d|0)|(d|0)<(f|0)){b=K[J[c>>2]+e|0];i=e+1|0;f=i?d:d+1|0;J[c+16>>2]=i;J[c+20>>2]=f;J[a+4>>2]=b}return e>>>0>>0&(d|0)<=(g|0)|(d|0)<(g|0)}function pb(a,b,c){var d=0;if(!c){return J[a+4>>2]==J[b+4>>2]}if((a|0)==(b|0)){return 1}d=J[a+4>>2];a=K[d|0];c=J[b+4>>2];b=K[c|0];a:{if(!a|(b|0)!=(a|0)){break a}while(1){b=K[c+1|0];a=K[d+1|0];if(!a){break a}c=c+1|0;d=d+1|0;if((a|0)==(b|0)){continue}break}}return(a|0)==(b|0)}function Cb(a){var b=0,c=0;c=J[a+8>>2];if((c|0)>=2){b=+(c|0);b=W(b*va(b)-O[a>>3]);if(R(b)<0x8000000000000000){ca=R(b)>=1?~~(b>0?T(V(b*2.3283064365386963e-10),4294967295):W((b-+(~~b>>>0>>>0))*2.3283064365386963e-10))>>>0:0;return~~b>>>0}a=-2147483648}else{a=0}ca=a;return 0}function Cj(a){a=a|0;var b=0;J[a>>2]=11436;b=J[a+88>>2];if(b){J[a+92>>2]=b;na(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;na(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;na(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}return a|0}function Ob(a,b){var c=0,d=0,e=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{c=J[b+4>>2];d=J[b>>2];b:{if((c|0)==(d|0)){a=c;break b}c=c-d|0;if((c|0)<0){break a}d=c;e=oa(c);c=pa(e,0,c);d=d+c|0;J[a+8>>2]=d;J[a+4>>2]=d;J[a>>2]=c;c=J[b>>2];a=J[b+4>>2]}ua(e,c,a-c|0);return}qa();B()}function xj(a){a=a|0;var b=0;J[a>>2]=11436;b=J[a+88>>2];if(b){J[a+92>>2]=b;na(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;na(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;na(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}na(a)}function ui(a){a=a|0;var b=0,c=0;b=oa(8);J[b+4>>2]=a;J[b>>2]=0;a:{b:{c:{if(!a){break c}c=bd(a,15016,14936);if(!c){break c}c=Mg(oa(56),c);a=J[b>>2];J[b>>2]=c;if(a){break b}break a}c=Ng(oa(56),a);a=J[b>>2];J[b>>2]=c;if(!a){break a}}da[J[J[a>>2]+4>>2]](a)}return b|0}function hk(a){a=a|0;var b=0;J[a+40>>2]=2032;J[a>>2]=9988;b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=2624;b=J[a+36>>2];J[a+36>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}J[a>>2]=2392;b=J[a+32>>2];J[a+32>>2]=0;if(b){Ka(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}return a|0}function $g(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ba-96|0;ba=e;f=Ng(e+40|0,c);_g(e,b,c);Lg(f,e);Da(e+24|0,J[e+28>>2]);nb(e+12|0,J[e+16>>2]);Da(e,J[e+4>>2]);fe(a,f,d);J[f>>2]=10256;Da(f+28|0,J[f+32>>2]);nb(f+16|0,J[f+20>>2]);Da(f+4|0,J[f+8>>2]);ba=e+96|0}function qc(a){var b=0;if(a){b=J[a+76>>2];if(b){J[a+80>>2]=b;na(b)}b=J[a- -64>>2];if(b){J[a+68>>2]=b;na(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;na(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}na(a)}}function Ke(a,b,c){var d=0,e=0,f=0,g=0;f=ba-16|0;ba=f;d=ba-16|0;ba=d;b=b-a>>2;while(1){if(b){J[d+12>>2]=a;e=b>>>1|0;J[d+12>>2]=J[d+12>>2]+(e<<2);g=(e^-1)+b|0;b=e;e=M[J[d+12>>2]>>2]>2];b=e?g:b;a=e?J[d+12>>2]+4|0:a;continue}break}ba=d+16|0;ba=f+16|0;return a}function pc(a){var b=0;b=J[a+84>>2];if(b){J[a+88>>2]=b;na(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;na(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;na(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;na(b)}b=J[a+28>>2];if(b){J[a+32>>2]=b;na(b)}b=J[a+12>>2];if(b){na(b)}a=J[a>>2];if(a){na(a)}}function Lb(a,b){var c=0,d=0,e=0,f=0;c=ba-16|0;ba=c;a:{if(!b){b=0;break a}d=b;b=S(b);Pa(c,d,0,0,0,b+81|0);d=0+J[c+8>>2]|0;b=(J[c+12>>2]^65536)+(16414-b<<16)|0;f=e>>>0>d>>>0?b+1|0:b;e=J[c+4>>2];b=J[c>>2]}J[a>>2]=b;J[a+4>>2]=e;J[a+8>>2]=d;J[a+12>>2]=f;ba=c+16|0}function gk(a){a=a|0;var b=0;J[a+40>>2]=2032;J[a>>2]=9988;b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=2624;b=J[a+36>>2];J[a+36>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}J[a>>2]=2392;b=J[a+32>>2];J[a+32>>2]=0;if(b){Ka(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}na(a)}function Mb(a,b,c){var d=0,e=0,f=0,g=0;if(b){while(1){c=c-1|0;e=a;a=Il(a,b,10,0);d=ca;f=c,g=e-Gl(a,d,10,0)|48,H[f|0]=g;e=b>>>0>9;b=d;if(e){continue}break}}if(a){while(1){c=c-1|0;b=(a>>>0)/10|0;H[c|0]=a-P(b,10)|48;d=a>>>0>9;a=b;if(d){continue}break}}return c}function xl(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+72>>2];a:{if(!c){break a}J[c+4>>2]=a+60;if(!(da[J[J[c>>2]+12>>2]](c)|0)){break a}if(!(da[J[J[a>>2]+40>>2]](a)|0)){break a}if(!(da[J[J[a>>2]+44>>2]](a,b)|0)){break a}d=da[J[J[a>>2]+48>>2]](a,b)|0}return d|0}function og(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+172>>2];a=J[a+176>>2];if((c|0)!=(a|0)){a=(a-c|0)/136|0;d=a>>>0<=1?1:a;a=0;while(1){if(J[P(a,136)+c>>2]==(b|0)){a=P(a,136)+c|0;return(K[a+100|0]?a+4|0:0)|0}a=a+1|0;if((d|0)!=(a|0)){continue}break}}return 0}function ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=ba-16|0;ba=e;d=a+40|0;c=Mc(d,J[a+8>>2],J[b+4>>2]-J[b>>2]>>2);d=je(d,J[a+8>>2],b,c);a:{if(d){b=J[a+32>>2];J[a+32>>2]=c;if(!b){break a}Ka(b);break a}J[e+8>>2]=0;if(!c){break a}Ka(c)}ba=e+16|0;return d|0}function Lk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=ba-16|0;ba=e;d=a+40|0;c=Mc(d,J[a+8>>2],J[b+4>>2]-J[b>>2]>>2);d=wg(d,J[a+8>>2],b,c);a:{if(d){b=J[a+32>>2];J[a+32>>2]=c;if(!b){break a}Ka(b);break a}J[e+8>>2]=0;if(!c){break a}Ka(c)}ba=e+16|0;return d|0}function rb(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!K[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=J[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(K[b|0]){continue}break}}return b-a|0}function Nd(a,b,c,d,e,f,g){var h=0;J[a>>2]=c;if(c){h=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=h;h=J[c+28>>2];J[a+16>>2]=J[c+24>>2];J[a+20>>2]=h}J[a+56>>2]=b;J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=f;J[a+44>>2]=g;H[a+32|0]=0;J[a+28>>2]=e;H[a+24|0]=d}function Ve(a,b){var c=0,d=0,e=0;A(+a);d=v(1)|0;e=v(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=Ve(a*0x10000000000000000,b);c=J[b>>2]+-64|0}J[b>>2]=c;return a}J[b>>2]=c-1022;x(0,e|0);x(1,d&-2146435073|1071644672);a=+z()}return a}function vl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+36>>2];if((c|0)==J[a+40>>2]){return 1}f=a+60|0;while(1){c=J[(d<<2)+c>>2];e=da[J[J[c>>2]+20>>2]](c,f,b)|0;if(e){d=d+1|0;c=J[a+36>>2];if(d>>>0>2]-c>>2>>>0){continue}}break}return e|0}function Pc(a,b){var c=0,d=0,e=0;c=rb(b);if(c>>>0<2147483632){a:{b:{if(c>>>0>=11){d=(c|15)+1|0;e=oa(d);J[a+8>>2]=d|-2147483648;J[a>>2]=e;J[a+4>>2]=c;d=c+e|0;break b}H[a+11|0]=c;d=a+c|0;e=a;if(!c){break a}}ta(e,b,c)}H[d|0]=0;return a}gb();B()}function ne(a){J[a+32>>2]=0;J[a+12>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=2392;H[a+21|0]=0;H[a+22|0]=0;H[a+23|0]=0;H[a+24|0]=0;H[a+25|0]=0;H[a+26|0]=0;H[a+27|0]=0;H[a+28|0]=0;J[a+36>>2]=0;J[a>>2]=2624;return a}function wl(a){a=a|0;var b=0,c=0,d=0,e=0;b=J[a+36>>2];if((b|0)==J[a+40>>2]){return 1}e=a+60|0;while(1){b=J[(c<<2)+b>>2];d=da[J[J[b>>2]+16>>2]](b,e)|0;if(d){c=c+1|0;b=J[a+36>>2];if(c>>>0>2]-b>>2>>>0){continue}}break}return d|0}function uk(a){a=a|0;var b=0;J[a>>2]=8640;b=J[a+136>>2];if(b){J[a+140>>2]=b;na(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+80>>2];if(b){na(b)}b=J[a+68>>2];if(b){na(b)}b=J[a+56>>2];if(b){na(b)}b=J[a+44>>2];if(b){na(b)}return a|0}function Of(a,b){a=a|0;b=b|0;var c=0,d=0;c=ba-16|0;ba=c;J[c+12>>2]=J[J[b+4>>2]+80>>2];b=J[b+44>>2];d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){sa(b,J[b+4>>2],c+12|0,c+16|0)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;ba=c+16|0}function Gk(a){a=a|0;var b=0;J[a>>2]=6992;b=J[a+136>>2];if(b){J[a+140>>2]=b;na(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+80>>2];if(b){na(b)}b=J[a+68>>2];if(b){na(b)}b=J[a+56>>2];if(b){na(b)}b=J[a+44>>2];if(b){na(b)}return a|0}function Ka(a){a=a|0;var b=0,c=0;if(a){b=J[a+88>>2];J[a+88>>2]=0;if(b){c=J[b+8>>2];if(c){J[b+12>>2]=c;na(c)}na(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;na(b)}b=J[a+64>>2];J[a+64>>2]=0;if(b){c=J[b>>2];if(c){J[b+4>>2]=c;na(c)}na(b)}na(a)}}function Te(a){var b=0,c=0,d=0;if(H[J[a>>2]]-48>>>0>=10){return 0}while(1){d=J[a>>2];c=-1;if(b>>>0<=214748364){c=H[d|0]-48|0;b=P(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}J[a>>2]=d+1;b=c;if(H[d+1|0]-48>>>0<10){continue}break}return b}function ul(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[a+36>>2];if((c|0)==J[a+40>>2]){return 1}while(1){c=J[(d<<2)+c>>2];e=da[J[J[c>>2]+24>>2]](c,b)|0;if(e){d=d+1|0;c=J[a+36>>2];if(d>>>0>2]-c>>2>>>0){continue}}break}return e|0}function tk(a){a=a|0;var b=0;J[a>>2]=8640;b=J[a+136>>2];if(b){J[a+140>>2]=b;na(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+80>>2];if(b){na(b)}b=J[a+68>>2];if(b){na(b)}b=J[a+56>>2];if(b){na(b)}b=J[a+44>>2];if(b){na(b)}na(a)}function Fk(a){a=a|0;var b=0;J[a>>2]=6992;b=J[a+136>>2];if(b){J[a+140>>2]=b;na(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+80>>2];if(b){na(b)}b=J[a+68>>2];if(b){na(b)}b=J[a+56>>2];if(b){na(b)}b=J[a+44>>2];if(b){na(b)}na(a)}function bj(a){a=a|0;var b=0,c=0,d=0;b=J[a+32>>2];d=J[a+36>>2];if((b|0)==(d|0)){return 1}while(1){c=J[J[a+8>>2]+(J[b>>2]<<2)>>2];c=da[J[J[c>>2]+20>>2]](c,J[a+44>>2])|0;if(c){b=b+4|0;if((d|0)!=(b|0)){continue}}break}return c|0}function Hl(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=Il(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;ca=(g^ca)-((a>>>0>>0)+g|0)|0;return b}function id(a,b,c){var d=0,e=0,f=0;e=ba-16|0;ba=e;d=J[a+8>>2]&2147483647;a:{if(d>>>0>c>>>0){d=J[a>>2];J[a+4>>2]=c;Ab(d,b,c);H[e+15|0]=0;H[c+d|0]=K[e+15|0];break a}f=a;a=J[a+4>>2];kd(f,d-1|0,(c-d|0)+1|0,a,0,a,c,b)}ba=e+16|0}function hd(a,b,c){var d=0,e=0;d=ba-16|0;ba=d;a:{if(c>>>0<=10){H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;Ab(a,b,c);H[d+15|0]=0;H[a+c|0]=K[d+15|0];break a}e=a;a=K[a+11|0]&127;kd(e,10,c-10|0,a,0,a,c,b)}ba=d+16|0}function Ge(a,b){a=a|0;b=b|0;var c=0,d=0;c=ba-16|0;ba=c;a=J[a+4>>2];a:{if((a|0)==-1){break a}H[c+15|0]=a;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+15|0,c+16|0)}ba=c+16|0;return(a|0)!=-1|0}function Gl(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=P(e,f);g=c&65535;h=a&65535;i=P(g,h);f=(i>>>16|0)+P(f,g)|0;e=(f&65535)+P(e,h)|0;ca=(P(b,c)+j|0)+P(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function He(a,b,c){var d=0;d=J[a+16>>2];if(!d){J[a+36>>2]=1;J[a+24>>2]=c;J[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(J[a+24>>2]!=2){break a}J[a+24>>2]=c;return}H[a+54|0]=1;J[a+24>>2]=2;J[a+36>>2]=J[a+36>>2]+1}}function yk(a,b){a=a|0;b=b|0;var c=0,d=0;J[b>>2]=2;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){Gc(b+8|0,d+4|0);c=J[b+8>>2]}b=c+d|0;a=J[a+4>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function Qa(a,b,c,d,e){var f=0;f=ba-256|0;ba=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;pa(f,b&255,c?d:256);if(!c){while(1){Oa(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}Oa(a,f,d)}ba=f+256|0}function Dd(a,b){var c=0,d=Q(0),e=0;b=ob(a,b);if((b|0)!=(a+4|0)){a=ba-16|0;ba=a;c=b+28|0;Xe(a,H[b+39|0]<0?J[c>>2]:c,0,1);e=Me(J[a>>2],J[a+4>>2],J[a+8>>2],J[a+12>>2]);ba=a+16|0;d=Q(e)}else{d=Q(1)}return d}function nl(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+16>>2];c=0;a:{if(J[a+20>>2]-d>>2<=(b|0)){break a}b=J[(b<<2)+d>>2];c=0;if((b|0)<0){break a}a=J[J[a+36>>2]+(b<<2)>>2];b=J[a+32>>2];c=b?b:J[a+8>>2]}return c|0}function ql(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+16>>2];c=0;a:{if(J[a+20>>2]-d>>2<=(b|0)){break a}b=J[(b<<2)+d>>2];c=0;if((b|0)<0){break a}a=J[J[a+36>>2]+(b<<2)>>2];c=J[a+20>>2]-J[a+16>>2]>>2}return c|0}function pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=-1;e=J[a+16>>2];a:{if(J[a+20>>2]-e>>2<=(b|0)){break a}b=J[(b<<2)+e>>2];if((b|0)<0){break a}d=J[J[J[J[a+36>>2]+(b<<2)>>2]+16>>2]+(c<<2)>>2]}return d|0}function xh(a){a=a|0;var b=0;J[a>>2]=2624;b=J[a+36>>2];J[a+36>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}J[a>>2]=2392;b=J[a+32>>2];J[a+32>>2]=0;if(b){Ka(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}return a|0}function wa(a){var b=0,c=0;c=ba-16|0;ba=c;J[c+8>>2]=0;J[c+12>>2]=0;ie(a,c+8|0);J[a+24>>2]=0;J[a+28>>2]=0;b=J[a+12>>2];J[a+16>>2]=b;if(b){na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}ba=c+16|0;return a}function Jc(a){a=Lc(a);J[a+64>>2]=0;J[a+68>>2]=0;J[a+88>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a}function wh(a){a=a|0;var b=0;J[a>>2]=2624;b=J[a+36>>2];J[a+36>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}J[a>>2]=2392;b=J[a+32>>2];J[a+32>>2]=0;if(b){Ka(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}na(a)}function nc(a){J[a+52>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=12468;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;return a}function We(a){var b=0;b=J[a+72>>2];J[a+72>>2]=b-1|b;b=J[a>>2];if(b&8){J[a>>2]=b|32;return-1}J[a+4>>2]=0;J[a+8>>2]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];return 0}function Lc(a){J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+28>>2]=9;H[a+24|0]=1;J[a+56>>2]=-1;J[a+60>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;return a}function od(a,b,c,d,e,f,g,h,i){var j=0;j=ba-16|0;ba=j;_a(j,b,c,d,e,f,g,h,i^-2147483648);d=J[j>>2];c=J[j+4>>2];b=J[j+12>>2];J[a+8>>2]=J[j+8>>2];J[a+12>>2]=b;J[a>>2]=d;J[a+4>>2]=c;ba=j+16|0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;a=0;a:{if(J[b+4>>2]|!b){break a}a=sd(oa(36),c);J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;c=J[b+4>>2];J[b+4>>2]=a;a=1;if(!c){break a}qf(c)}return a|0}function pe(a,b,c){a=bf(a,c);J[a+36>>2]=0;J[a+40>>2]=0;J[a>>2]=2496;J[a+72>>2]=b;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;return a}function ci(a,b){a=a|0;b=b|0;var c=0,d=0;ef(a,b);a:{if((b|0)<0){break a}d=J[a+88>>2];c=J[a+84>>2];if(d-c>>2<=(b|0)){break a}c=(b<<2)+c|0;b=c+4|0;ta(c,b,d-b|0);J[a+88>>2]=d-4}}function tj(a){a=a|0;var b=0;J[a+8>>2]=11856;J[a>>2]=11692;b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){na(b)}b=J[a+32>>2];if(b){na(b)}return a|0}function oj(a){a=a|0;var b=0;J[a+8>>2]=10876;J[a>>2]=11984;b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}J[a+8>>2]=11128;b=J[a+44>>2];if(b){na(b)}b=J[a+32>>2];if(b){na(b)}return a|0}function Kb(a){var b=0,c=0;b=J[4773];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>ea()<<16>>>0){if(!($(a|0)|0)){break a}}J[4773]=a;return b}J[4804]=48;return-1}function sj(a){a=a|0;var b=0;J[a+8>>2]=11856;J[a>>2]=11692;b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){na(b)}b=J[a+32>>2];if(b){na(b)}na(a)}function nj(a){a=a|0;var b=0;J[a+8>>2]=10876;J[a>>2]=11984;b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}J[a+8>>2]=11128;b=J[a+44>>2];if(b){na(b)}b=J[a+32>>2];if(b){na(b)}na(a)}function lb(a,b){if(b){lb(a,J[b>>2]);lb(a,J[b+4>>2]);a=J[b+28>>2];J[b+28>>2]=0;if(a){lb(a+12|0,J[a+16>>2]);kb(a,J[a+4>>2]);na(a)}if(H[b+27|0]<0){na(J[b+16>>2])}na(b)}}function Ie(a,b){var c=0,d=0,e=0,f=0;J[a>>2]=18812;J[a>>2]=18924;c=rb(b);d=oa(c+13|0);J[d+8>>2]=0;J[d+4>>2]=c;J[d>>2]=c;e=a,f=ua(d+12|0,b,c+1|0),J[e+4>>2]=f;return a}function Lh(a,b){a=a|0;b=b|0;var c=0;a:{if(!(da[J[J[a>>2]+40>>2]](a)|0)){break a}if(!(da[J[J[a>>2]+44>>2]](a,b)|0)){break a}c=da[J[J[a>>2]+48>>2]](a,b)|0}return c|0}function Wj(a){a=a|0;var b=0;a:{b=J[a+64>>2];if(!b){break a}b=da[J[J[b>>2]+32>>2]](b)|0;if(!b){break a}J[a+60>>2]=((J[b+4>>2]-J[b>>2]>>2>>>0)/3|0)-J[b+40>>2]}}function El(a,b){a=a|0;b=b|0;var c=0;b=J[b+88>>2];if(!(!b|J[b>>2]!=2)){c=a;a=J[b+8>>2];J[c+4>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);c=1}return c|0}function uj(a){a=a|0;var b=0;J[a>>2]=11856;b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}return a|0}function Nj(a){a=a|0;var b=0;J[a>>2]=10876;b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=11128;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}return a|0}function Kf(a,b){var c=0;a:{c=a+4|0;a=ob(a,b);if((c|0)==(a|0)){break a}b=a+28|0;a=Bc(H[a+39|0]<0?J[b>>2]:b);if((a|0)==-1){break a}return(a|0)!=0}return 0}function Pb(a,b,c){var d=0;d=a+4|0;a=ob(a,b);a:{if((d|0)==(a|0)){break a}b=a+28|0;a=Bc(H[a+39|0]<0?J[b>>2]:b);if((a|0)==-1){break a}c=(a|0)!=0}return c}function pj(a){a=a|0;var b=0;J[a>>2]=11856;b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}na(a)}function Gj(a){a=a|0;var b=0;J[a>>2]=10876;b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=11128;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}na(a)}function bf(a,b){J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2188;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;kc(a,b);return a}function Rh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(pb(a,J[b+8>>2],f)){Fe(b,c,d,e);return}a=J[a+8>>2];da[J[J[a>>2]+20>>2]](a,b,c,d,e,f)}function oh(a){a=a|0;var b=0;a:{if(!J[a- -64>>2]|!J[a+68>>2]|(!J[a+44>>2]|!J[a+48>>2])){break a}if(!J[a+52>>2]){break a}b=J[a+56>>2]!=0}return b|0}function eh(a){a=a|0;var b=0;a:{if(!J[a+48>>2]|!J[a+52>>2]|(!J[a+28>>2]|!J[a+32>>2])){break a}if(!J[a+36>>2]){break a}b=J[a+40>>2]!=0}return b|0}function rd(a){var b=0,c=0;b=J[a+20>>2];a:{if((J[a+24>>2]-b|0)<=0){break a}b=J[b>>2];if((b|0)==-1){break a}c=J[J[a+8>>2]+(b<<2)>>2]}return c}function Si(){var a=0;a=gf(oa(108));J[a+84>>2]=0;J[a+88>>2]=0;J[a>>2]=14892;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;return a|0}function Nb(a,b){var c=0;c=-1;a:{if((b|0)==-1|(b|0)>4){break a}b=P(b,12)+a|0;a=J[b+20>>2];if((J[b+24>>2]-a|0)<=0){break a}c=J[a>>2]}return c}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b;b=J[b>>2]+7&-8;J[c>>2]=b+16;d=a,e=Me(J[b>>2],J[b+4>>2],J[b+8>>2],J[b+12>>2]),O[d>>3]=e}function fi(a){a=a|0;var b=0;J[a>>2]=14892;b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;na(b)}return Ec(a)|0}function za(a){var b=0;b=ba-16|0;ba=b;J[b+8>>2]=0;J[b+12>>2]=0;ie(a,b+8|0);J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=J[a+12>>2];ba=b+16|0}function ei(a){a=a|0;var b=0;J[a>>2]=14892;b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;na(b)}na(Ec(a))}function kb(a,b){if(b){kb(a,J[b>>2]);kb(a,J[b+4>>2]);a=J[b+28>>2];if(a){J[b+32>>2]=a;na(a)}if(H[b+27|0]<0){na(J[b+16>>2])}na(b)}}function cl(a){a=a|0;var b=0;J[a>>2]=3760;b=J[a+76>>2];if(b){na(b)}J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function Uk(a){a=a|0;var b=0;J[a>>2]=5312;b=J[a+76>>2];if(b){na(b)}J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function Bl(a){a=a|0;var b=0;J[a>>2]=2392;b=J[a+32>>2];J[a+32>>2]=0;if(b){Ka(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}return a|0}function Yh(a){a=a|0;var b=0;J[a>>2]=2188;b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;na(b)}return a|0}function Uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(pb(a,J[b+8>>2],0)){He(b,c,d);return}a=J[a+8>>2];da[J[J[a>>2]+28>>2]](a,b,c,d)}function Pi(){var a=0,b=0;a=oa(24);J[a+4>>2]=0;J[a+8>>2]=0;b=a+16|0;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;J[a+12>>2]=b;return a|0}function bl(a){a=a|0;var b=0;J[a>>2]=3760;b=J[a+76>>2];if(b){na(b)}J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}na(a)}function Tk(a){a=a|0;var b=0;J[a>>2]=5312;b=J[a+76>>2];if(b){na(b)}J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}na(a)}function Al(a){a=a|0;var b=0;J[a>>2]=2392;b=J[a+32>>2];J[a+32>>2]=0;if(b){Ka(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}na(a)}function oa(a){var b=0;a=a?a:1;a:{while(1){b=nd(a);if(b){break a}b=J[4973];if(b){da[b|0]();continue}break}Z();B()}return b}function Da(a,b){if(b){Da(a,J[b>>2]);Da(a,J[b+4>>2]);if(H[b+39|0]<0){na(J[b+28>>2])}if(H[b+27|0]<0){na(J[b+16>>2])}na(b)}}function Ee(a){a=a|0;var b=0,c=0;J[a>>2]=18924;b=J[a+4>>2]-12|0;c=J[b+8>>2]-1|0;J[b+8>>2]=c;if((c|0)<0){na(b)}return a|0}function bh(a,b,c,d,e){var f=0;f=b-1|0;if(f>>>0<=29){J[a+4>>2]=b;tc(a+8|0,c,(d<<2)+c|0);N[a+20>>2]=e}return f>>>0<30}function Rk(a){a=a|0;var b=0;J[a>>2]=5536;wa(a+112|0);J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function Ng(a,b){J[a>>2]=10256;he(a+4|0);J[a+52>>2]=0;J[a+48>>2]=b;J[a>>2]=10352;J[a+40>>2]=0;J[a+44>>2]=0;return a}function Mg(a,b){J[a>>2]=10256;he(a+4|0);J[a+52>>2]=b;J[a+48>>2]=b;J[a>>2]=10352;J[a+40>>2]=0;J[a+44>>2]=0;return a}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;J[a+4>>2]=b;b=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=b;return 1}function $k(a){a=a|0;var b=0;J[a>>2]=3996;wa(a+112|0);J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function $e(a,b,c,d,e,f,g,h,i){J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e&65535|(i>>>16&32768|e>>>16&32767)<<16}function sh(a){a=a|0;var b=0;if(!(!J[a+60>>2]|!J[a+44>>2]|(!J[a+48>>2]|!J[a+52>>2]))){b=J[a+56>>2]!=0}return b|0}function hh(a){a=a|0;var b=0;if(!(!J[a+44>>2]|!J[a+28>>2]|(!J[a+32>>2]|!J[a+36>>2]))){b=J[a+40>>2]!=0}return b|0}function vi(a){a=a|0;if(a){J[a>>2]=10332;Da(a+28|0,J[a+32>>2]);sc(a+16|0,J[a+20>>2]);Da(a+4|0,J[a+8>>2]);na(a)}}function _k(a){a=a|0;var b=0;J[a>>2]=3996;wa(a+112|0);J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}na(a)}function Qk(a){a=a|0;var b=0;J[a>>2]=5536;wa(a+112|0);J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}na(a)}function Lf(a,b){var c=0;c=a+4|0;a=ob(a,b);if((c|0)==(a|0)){return-1}b=a+28|0;return Bc(H[a+39|0]<0?J[b>>2]:b)}function Eb(a,b){var c=0,d=0;if(!(!a|!b|(a|0)==(b|0))){c=+(b>>>0)/+(a>>>0);d=1-c;c=-(c*va(c)+d*va(d))}return c}function fk(a){a=a|0;J[a>>2]=10256;Da(a+28|0,J[a+32>>2]);nb(a+16|0,J[a+20>>2]);Da(a+4|0,J[a+8>>2]);return a|0}function ek(a){a=a|0;J[a>>2]=10332;Da(a+28|0,J[a+32>>2]);sc(a+16|0,J[a+20>>2]);Da(a+4|0,J[a+8>>2]);return a|0}function Bb(a,b,c){var d=0;d=a+4|0;a=ob(a,b);if((d|0)!=(a|0)){b=a+28|0;c=Bc(H[a+39|0]<0?J[b>>2]:b)}return c}function ld(a,b){if(K[a+11|0]>>>7|0){J[a+4>>2]=b;return}H[a+11|0]=K[a+11|0]&128|b;H[a+11|0]=K[a+11|0]&127}function Ei(){var a=0;a=oa(48);J[a>>2]=10332;he(a+4|0);J[a>>2]=10116;J[a+40>>2]=0;J[a+44>>2]=0;return a|0}function Rg(a){a=a|0;J[a>>2]=10332;Da(a+28|0,J[a+32>>2]);sc(a+16|0,J[a+20>>2]);Da(a+4|0,J[a+8>>2]);na(a)}function Qg(a){a=a|0;J[a>>2]=10256;Da(a+28|0,J[a+32>>2]);nb(a+16|0,J[a+20>>2]);Da(a+4|0,J[a+8>>2]);na(a)}function wj(a){a=a|0;var b=0;J[a>>2]=11672;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}return a|0}function Fj(a){a=a|0;var b=0;J[a>>2]=11128;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}return a|0}function qd(a,b){da[J[J[a>>2]+8>>2]](a,J[a+12>>2]-J[a+8>>2]>>2,b);return(J[a+12>>2]-J[a+8>>2]>>2)-1|0}function Yc(a){a=a|0;var b=0;if(!(!J[a+52>>2]|(!J[a+44>>2]|!J[a+48>>2]))){b=J[a+56>>2]!=0}return b|0}function Qc(a){a=a|0;var b=0;if(!(!J[a+36>>2]|(!J[a+28>>2]|!J[a+32>>2]))){b=J[a+40>>2]!=0}return b|0}function vj(a){a=a|0;var b=0;J[a>>2]=11672;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}na(a)}function Ej(a){a=a|0;var b=0;J[a>>2]=11128;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}na(a)}function nh(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a- -64>>2]=b;c=1}return c|0}function rh(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+60>>2]=b;c=1}return c|0}function gh(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+44>>2]=b;c=1}return c|0}function dh(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+48>>2]=b;c=1}return c|0}function Qh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(pb(a,J[b+8>>2],f)){Fe(b,c,d,e)}}function xa(){var a=0;a=cd(4);J[a>>2]=18812;J[a>>2]=18772;J[a>>2]=18792;_(a|0,18904,14);B()}function li(a){a=a|0;var b=0;if(a){b=J[a>>2];J[a>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}na(a)}}function hl(a){a=a|0;var b=0;J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function ck(a){a=a|0;var b=0;J[a>>2]=2032;b=J[a+8>>2];if(b){J[a+12>>2]=b;na(b)}return a|0}function tb(a){var b=0;J[a+12>>2]=0;J[a+16>>2]=0;b=a;a=J[a>>2];J[b+4>>2]=a;if(a){na(a)}}function gj(a){a=a|0;var b=0;b=a;a=J[a+56>>2];J[b+60>>2]=(J[a+100>>2]-J[a+96>>2]|0)/12}function zf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return rf(b,c,d,e,f,4)|0}function zd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ud(b,c,d,e,f,5)|0}function yf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ud(b,c,d,e,f,6)|0}function le(a){a=a|0;var b=0;J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}na(a)}function Cf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return sf(b,c,d,e,f,1)|0}function Bf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return sf(b,c,d,e,f,2)|0}function Af(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return rf(b,c,d,e,f,3)|0}function Ad(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ud(b,c,d,e,f,9)|0}function bk(a){a=a|0;var b=0;J[a>>2]=2032;b=J[a+8>>2];if(b){J[a+12>>2]=b;na(b)}na(a)}function ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);Ug(J[a>>2],b,c,d,e,f)}function sc(a,b){if(b){sc(a,J[b>>2]);sc(a,J[b+4>>2]);Da(b+20|0,J[b+24>>2]);na(b)}}function nb(a,b){if(b){nb(a,J[b>>2]);nb(a,J[b+4>>2]);Da(b+20|0,J[b+24>>2]);na(b)}}function Yj(a,b){a=a|0;b=b|0;var c=0;c=a;a=J[b+64>>2];da[J[J[a>>2]+28>>2]](c,a)}function rk(a){a=a|0;var b=0;J[a>>2]=8900;b=J[a+60>>2];if(b){na(b)}return a|0} -function Vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(pb(a,J[b+8>>2],0)){He(b,c,d)}}function Jl(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Dk(a){a=a|0;var b=0;J[a>>2]=7264;b=J[a+60>>2];if(b){na(b)}return a|0}function Bi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);Ug(a,b,c,d,e,f)}function fd(a,b){var c=0;c=a;a=(b>>>0)/100|0;return Fb(Fb(c,a),b-P(a,100)|0)}function ed(a,b){var c=0;c=a;a=(b>>>0)/1e4|0;return fd(Fb(c,a),b-P(a,1e4)|0)}function dd(a,b){var c=0;c=a;a=(b>>>0)/1e6|0;return ed(Fb(c,a),b-P(a,1e6)|0)}function _j(a,b){a=a|0;b=b|0;a=J[a+64>>2];return da[J[J[a>>2]+20>>2]](a,b)|0}function _f(a,b){a=a|0;b=b|0;return J[J[a+28>>2]+(b>>>3&536870908)>>2]>>>b&1}function Zj(a,b){a=a|0;b=b|0;a=J[a+64>>2];return da[J[J[a>>2]+24>>2]](a,b)|0}function Sj(a,b){a=a|0;b=b|0;a=J[a+64>>2];return da[J[J[a>>2]+12>>2]](a,b)|0}function Rj(a,b){a=a|0;b=b|0;a=J[a+64>>2];return da[J[J[a>>2]+16>>2]](a,b)|0}function aj(a,b){a=a|0;b=b|0;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}function Ni(){var a=0;a=oa(12);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;return a|0}function Kl(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} -function Ki(a){a=a|0;var b=0;if(a){b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}na(a)}}function Ch(a,b,c){a=a|0;b=b|0;c=c|0;return da[J[J[a>>2]+44>>2]](a,b,c)|0}function qk(a){a=a|0;var b=0;J[a>>2]=8900;b=J[a+60>>2];if(b){na(b)}na(a)}function Ck(a){a=a|0;var b=0;J[a>>2]=7264;b=J[a+60>>2];if(b){na(b)}na(a)}function ra(){var a=0;a=Ie(cd(8),1313);J[a>>2]=19024;_(a|0,19056,1);B()}function fj(a,b){a=a|0;b=b|0;H[b+84|0]=1;J[b+72>>2]=J[b+68>>2];return 1}function _h(a,b,c){a=a|0;b=b|0;c=c|0;J[a+32>>2]=c;J[a+28>>2]=b;return 1}function Sf(a){a=nc(a);J[a+56>>2]=0;J[a+60>>2]=0;J[a>>2]=12164;return a}function Sc(a,b){a=a|0;b=b|0;if(b>>>0<=1){J[a+28>>2]=b}return b>>>0<2|0}function Oi(a){a=a|0;if(a){lb(a+12|0,J[a+16>>2]);kb(a,J[a+4>>2]);na(a)}}function Ph(a){a=a|0;if(!a){return 0}return(bd(a,18476,18620)|0)!=0|0}function Tj(a){a=a|0;a=J[a+64>>2];return da[J[J[a>>2]+32>>2]](a)|0}function Dh(a,b){a=a|0;b=b|0;J[a+12>>2]=-1;J[a+8>>2]=b;return 1}function ke(a){a=Ie(cd(8),a);J[a>>2]=18972;_(a|0,19004,1);B()}function Ri(a){a=a|0;return(J[a+100>>2]-J[a+96>>2]|0)/12|0}function ok(a){a=a|0;J[a>>2]=9148;wa(a+96|0);return a|0}function Ak(a){a=a|0;J[a>>2]=7524;wa(a+96|0);return a|0}function Ac(a,b){var c=0;c=oa(b);J[a+4>>2]=b;J[a>>2]=c}function si(a,b,c){a=a|0;b=b|0;c=c|0;Wg(J[a>>2],b,c)}function qi(a,b,c){a=a|0;b=b|0;c=c|0;Xg(J[a>>2],b,c)}function gf(a){J[a>>2]=14964;pa(a+4|0,0,80);return a}function hj(a){a=a|0;J[a+52>>2]=J[J[a+56>>2]+80>>2]}function Gf(a){a=a|0;return J[a+12>>2]-J[a+8>>2]>>2}function Fl(a){if(a){return 31-S(a-1^a)|0}return 32}function zk(a){a=a|0;J[a>>2]=7524;wa(a+96|0);na(a)}function nk(a){a=a|0;J[a>>2]=9148;wa(a+96|0);na(a)}function jk(a,b){a=a|0;b=b|0;return Tg(a+40|0,b)|0}function Nf(a){a=a|0;J[a+52>>2]=J[J[a+4>>2]+80>>2]}function Mk(a,b){a=a|0;b=b|0;return Ge(a+40|0,b)|0}function Mi(a,b){a=a|0;b=b|0;return H[J[a>>2]+b|0]}function Ff(a){a=a|0;if(a){da[J[J[a>>2]+4>>2]](a)}}function Li(a){a=a|0;return J[a+4>>2]-J[a>>2]|0}function Fb(a,b){return Je((b<<1)+18240|0,2,a)}function Ci(a,b,c){a=a|0;b=b|0;c=c|0;Wg(a,b,c)}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;Xg(a,b,c)}function ak(a,b){a=a|0;b=b|0;return K[b+24|0]}function Kh(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function ni(a){a=a|0;return J[J[a>>2]+40>>2]}function mi(a){a=a|0;return J[J[a>>2]+44>>2]}function ti(a,b){a=a|0;b=b|0;Sg(J[a>>2],b)}function pi(a,b){a=a|0;b=b|0;nf(J[a>>2],b)}function Qi(a,b){a=a|0;b=b|0;J[a+80>>2]=b}function wi(a){a=a|0;return J[a+44>>2]}function uc(a){a=a|0;return J[a+28>>2]}function Yi(a){a=a|0;return J[a+56>>2]}function Vi(a){a=a|0;return J[a+48>>2]}function Ui(a){a=a|0;return J[a+60>>2]}function If(a){a=a|0;return J[a+40>>2]}function Cd(a){a=a|0;return J[a+80>>2]}function Ah(){J[4843]=19252;J[4825]=42}function $f(a){a=a|0;return J[a+12>>2]}function zc(a,b){a=a|0;b=b|0;return 1}function yh(a,b){a=a|0;b=b|0;return 6}function vh(a,b){a=a|0;b=b|0;return-1}function vc(a){a=a|0;return J[a+4>>2]}function il(a,b){a=a|0;b=b|0;return 2}function cd(a){return nd(a+80|0)+80|0}function Za(a,b){a=a|0;b=b|0;return 0}function Xi(a){a=a|0;return H[a+24|0]}function Wi(a){a=a|0;return K[a+32|0]}function zi(a,b){a=a|0;b=b|0;nf(a,b)}function Di(a,b){a=a|0;b=b|0;Sg(a,b)}function Nc(a,b,c,d){Jg(a,b,c,d,1)}function Db(a,b,c,d){Jg(a,b,c,d,0)}function lc(a){a=a|0;if(a){na(a)}}function _i(){return Lc(oa(64))|0}function Zi(){return Jc(oa(96))|0}function Ti(){return gf(oa(84))|0}function ad(a){a=a|0;Ee(a);na(a)}function Oh(a){a=a|0;return 1364}function Nh(a){a=a|0;return 1622}function Mh(a){a=a|0;return 1472}function ub(a){a=a|0;return a|0}function rl(a){a=a|0;na(zh(a))}function el(a){a=a|0;na(uh(a))}function Wk(a){a=a|0;na(lh(a))}function Ij(a){a=a|0;na(Yf(a))}function Hj(a){a=a|0;na(Xf(a))}function Fh(a){a=a|0;na(re(a))}function $h(a){a=a|0;na(Ec(a))}function oe(a){a=a|0;return 2}function jh(a){a=a|0;return 3}function ib(a){a=a|0;return 0}function Xc(a){a=a|0;return 4}function Vc(a){a=a|0;return 5}function Uc(a){a=a|0;return 6}function Ja(a){a=a|0;return 1}function Bd(){return oa(1)|0}function Ab(a,b,c){Je(b,c,a)}function qa(){ke(1313);B()}function gb(){ke(1493);B()}function ab(a){a=a|0;na(a)}function zb(a){a=a|0;B()}function xd(){return 0}function wd(){return 1}function uf(){return-1}function ki(){return 2}function ji(){return 3}function ii(){return 4}function Xh(){Z();B()}function af(a){a=a|0} +function ee(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0;C=ba-48|0;ba=C;a:{b:{if((b|0)<0){break b}if(!b){h=1;break b}J[C+40>>2]=0;J[C+32>>2]=0;J[C+36>>2]=0;c:{d:{if(b>>>0<1073741824){g=b<<2;n=oa(g);J[C+36>>2]=n;J[C+32>>2]=n;j=g+n|0;u=(c|0)<=1?1:c;c=u-1|0;v=c&-4;l=c&3;r=u-2>>>0>2;F=n;g=n;e:{f:{g:{while(1){h=J[(s<<2)+a>>2];h:{if(u>>>0<2){break h}m=0;c=1;if(r){while(1){q=(c+s<<2)+a|0;k=J[q>>2];h=h>>>0>k>>>0?h:k;k=J[q+4>>2];h=h>>>0>k>>>0?h:k;k=J[q+8>>2];h=h>>>0>k>>>0?h:k;q=J[q+12>>2];h=h>>>0>q>>>0?h:q;c=c+4|0;m=m+4|0;if((v|0)!=(m|0)){continue}break}}k=0;if(!l){break h}while(1){m=J[(c+s<<2)+a>>2];h=h>>>0>m>>>0?h:m;c=c+1|0;k=k+1|0;if((l|0)!=(k|0)){continue}break}}c=h?(S(h)^31)+1|0:1;i:{if(g>>>0>>0){J[g>>2]=c;g=g+4|0;J[C+36>>2]=g;break i}m=g-F|0;q=m>>2;g=q+1|0;if(g>>>0>=1073741824){break g}j=j-F|0;k=j>>>1|0;j=j>>>0>=2147483644?1073741823:g>>>0>>0?k:g;if(j){if(j>>>0>=1073741824){break f}n=oa(j<<2)}else{n=0}g=n+(q<<2)|0;J[g>>2]=c;c=ta(n,F,m);g=g+4|0;J[C+36>>2]=g;j=c+(j<<2)|0;if(F){na(F)}F=c}p=h>>>0>p>>>0?h:p;s=s+u|0;if((s|0)<(b|0)){continue}break}J[C+40>>2]=j;J[C+32>>2]=n;c=0;J[C+24>>2]=0;J[C+16>>2]=0;J[C+20>>2]=0;j:{if((g|0)==(F|0)){k=0;break j}c=g-F|0;if((c|0)<0){break e}k=oa(c);J[C+16>>2]=k;J[C+24>>2]=(c&-4)+k;c=F;h=k;while(1){J[h>>2]=J[c>>2];h=h+4|0;c=c+4|0;if((g|0)!=(c|0)){continue}break}J[C+20>>2]=h;c=h-k>>2;if((h|0)==(k|0)){break j}g=c>>>0<=1?1:c;q=g&3;s=0;k:{if(g-1>>>0<3){h=0;break k}n=g&-4;h=0;m=0;while(1){g=f;f=h<<2;l=J[f+k>>2];g=g+l|0;j=i;j=g>>>0>>0?j+1|0:j;l=J[(f|4)+k>>2];i=l+g|0;g=j;g=l>>>0>i>>>0?g+1|0:g;j=J[(f|8)+k>>2];i=j+i|0;g=j>>>0>i>>>0?g+1|0:g;l=i;i=J[(f|12)+k>>2];f=l+i|0;i=f>>>0>>0?g+1|0:g;h=h+4|0;m=m+4|0;if((n|0)!=(m|0)){continue}break}}if(!q){break j}while(1){j=J[(h<<2)+k>>2];f=j+f|0;g=i;i=f>>>0>>0?g+1|0:g;h=h+1|0;s=s+1|0;if((q|0)!=(s|0)){continue}break}}c=Lg(k,c,32,C);v=ca;r=J[C>>2];if(k){J[C+20>>2]=k;na(k)}m=Lg(a,b,p,C);s=ca;k=J[C>>2];G=(p-k|0)/64|0;if(d){g=oa(32);H[g+22|0]=0;h=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);j=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[g+14|0]=j;H[g+15|0]=j>>>8;H[g+16|0]=j>>>16;H[g+17|0]=j>>>24;H[g+18|0]=h;H[g+19|0]=h>>>8;H[g+20|0]=h>>>16;H[g+21|0]=h>>>24;h=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);j=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[g+8|0]=j;H[g+9|0]=j>>>8;H[g+10|0]=j>>>16;H[g+11|0]=j>>>24;H[g+12|0]=h;H[g+13|0]=h>>>8;H[g+14|0]=h>>>16;H[g+15|0]=h>>>24;h=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);j=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[g|0]=j;H[g+1|0]=j>>>8;H[g+2|0]=j>>>16;H[g+3|0]=j>>>24;H[g+4|0]=h;H[g+5|0]=h>>>8;H[g+6|0]=h>>>16;H[g+7|0]=h>>>24;h=J[d+4>>2];if(h){while(1){j=K[h+27|0];q=j<<24>>24<0;j=q?J[h+20>>2]:j;n=j>>>0<22;l:{m:{n:{o:{p:{q:{l=n?j:22;if(l){q=q?J[h+16>>2]:h+16|0;t=Ba(g,q,l);if(t){break q}if(j>>>0<=22){break p}break l}if(j>>>0<=22){break o}break l}if((t|0)<0){break l}}j=Ba(q,g,l);if(j){break n}}if(n){break m}break d}if((j|0)>=0){break d}}h=h+4|0}h=J[h>>2];if(h){continue}break}}na(g)}if((S(p>>>0<=1?1:p)^30)>>>0<18){g=c;c=Hl(f,i,u,0);f=g+c|0;g=ca+v|0;g=c>>>0>f>>>0?g+1|0:g;c=r<<3;q=c>>31<<1|c>>>31;i=f;f=c<<1;c=i+f|0;j=g+q|0;j=c>>>0>>0?j+1|0:j;f=c;c=k+G<<3;i=c;h=c>>31;c=m;g=k<<3;m=g;c=c+g|0;g=(g>>31)+s|0;h=(c>>>0>>0?g+1|0:g)+h|0;g=c;c=c+i|0;h=g>>>0>c>>>0?h+1|0:h;c=(h|0)<=(j|0)&c>>>0<=f>>>0|(h|0)<(j|0)}else{c=0}break c}J[C+40>>2]=j;J[C+32>>2]=n;break a}J[C+32>>2]=n;xa();B()}break a}break a}na(g);c=oa(32);J[C>>2]=c;J[C+4>>2]=22;J[C+8>>2]=-2147483616;f=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);i=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[c+14|0]=i;H[c+15|0]=i>>>8;H[c+16|0]=i>>>16;H[c+17|0]=i>>>24;H[c+18|0]=f;H[c+19|0]=f>>>8;H[c+20|0]=f>>>16;H[c+21|0]=f>>>24;f=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);i=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);i=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+22|0]=0;c=Mf(d,C);if(H[C+11|0]>=0){break c}na(J[C>>2])}H[C|0]=c;f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){sa(e,J[e+4>>2],C,C+1|0)}h=0;r:{s:{switch(c|0){case 0:p=0;k=ba-336|0;ba=k;pa(k+80|0,0,256);d=J[C+36>>2];c=J[C+32>>2];t:{if((d|0)==(c|0)){break t}d=d-c>>2;d=d>>>0<=1?1:d;i=d&3;if(d-1>>>0>=3){n=d&-4;while(1){f=k+80|0;d=p<<2;g=f+(J[d+c>>2]<<3)|0;j=g;m=J[g>>2];g=J[g+4>>2];m=m+1|0;g=m?g:g+1|0;J[j>>2]=m;J[j+4>>2]=g;g=f+(J[c+(d|4)>>2]<<3)|0;j=J[g>>2];q=J[g+4>>2];j=j+1|0;q=j?q:q+1|0;J[g>>2]=j;J[g+4>>2]=q;g=f+(J[c+(d|8)>>2]<<3)|0;j=J[g>>2];m=J[g+4>>2];j=j+1|0;m=j?m:m+1|0;J[g>>2]=j;J[g+4>>2]=m;d=f+(J[c+(d|12)>>2]<<3)|0;f=J[d>>2];g=J[d+4>>2];f=f+1|0;g=f?g:g+1|0;J[d>>2]=f;J[d+4>>2]=g;p=p+4|0;h=h+4|0;if((n|0)!=(h|0)){continue}break}}if(!i){break t}h=0;while(1){d=(k+80|0)+(J[c+(p<<2)>>2]<<3)|0;f=J[d>>2];q=J[d+4>>2];f=f+1|0;q=f?q:q+1|0;J[d>>2]=f;J[d+4>>2]=q;p=p+1|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}l=k+48|0;J[l>>2]=0;J[l+4>>2]=0;H[l+24|0]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+8>>2]=0;J[l+12>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;Jg(k,k+80|0,32,e);d=J[k+16>>2];f=J[k+20>>2];c=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=c;J[k+44>>2]=0;q=f<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?q+1|0:q;d=c+((m&7)<<29|d>>>3)|0;g=m>>>3|0;g=c>>>0>d>>>0?g+1|0:g;c=d+8|0;Ia(e,c);c=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=16384;J[k+24>>2]=c+J[k+40>>2];Fd(l,b<<5,b>>31<<5|b>>>27,0);b=b-u|0;if((b|0)>=0){j=(u|0)<=0;c=b;while(1){p=J[k+32>>2];n=J[C+32>>2];f=J[k>>2]+(J[n+((c|0)/(u|0)<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(p>>>0>=i>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=p;p=J[k+32>>2]>>>8|0;J[k+32>>2]=p;if(i>>>0<=p>>>0){continue}break}n=J[C+32>>2]}g=J[f+4>>2];f=(p>>>0)/(d>>>0)|0;J[k+32>>2]=g+((f<<12)+(p-P(d,f)|0)|0);m=b-c|0;g=(m|0)/(u|0)|0;u:{if(j){break u}d=J[l+20>>2];i=d;f=J[l+16>>2];if(!f&(d|0)<=0|(d|0)<0){break u}g=J[(g<<2)+n>>2];n=0;while(1){if(!(!f&(i|0)<=0|(i|0)<0|(g|0)<=0)){f=J[(n+m<<2)+a>>2];d=J[l+12>>2];F=J[d+4>>2];h=0;while(1){i=F>>>3|0;q=i+J[d>>2]|0;v=K[q|0];D=q;q=F&7;I=D,L=Ll(q)&v,H[I|0]=L;i=i+J[d>>2]|0;H[i|0]=K[i|0]|(f>>>h&1)<>2]+1|0;J[d+4>>2]=F;h=h+1|0;if((g|0)!=(h|0)){continue}break}}n=n+1|0;if((u|0)==(n|0)){break u}f=J[l+16>>2];i=J[l+20>>2];continue}}c=c-u|0;if((c|0)>=0){continue}break}}yb(k,e);Ed(l);a=J[e+20>>2];if(!J[e+16>>2]&(a|0)<=0|(a|0)<0){sa(e,J[e+4>>2],J[l>>2],J[l+4>>2])}a=J[k>>2];if(a){J[k+4>>2]=a;na(a)}a=J[l+12>>2];J[l+12>>2]=0;if(a){na(a)}a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}ba=k+336|0;h=1;F=J[C+32>>2];break r;case 1:break s;default:break r}}G=ba-32|0;ba=G;n=1;v:{if((k|0)>0){c=S(k);if((c^30)>>>0>17){break v}n=32-c|0}w:{if(!d){break w}c=oa(48);H[c+33|0]=0;H[c+32|0]=K[1470];f=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);i=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[c+24|0]=i;H[c+25|0]=i>>>8;H[c+26|0]=i>>>16;H[c+27|0]=i>>>24;H[c+28|0]=f;H[c+29|0]=f>>>8;H[c+30|0]=f>>>16;H[c+31|0]=f>>>24;f=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);i=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[c+16|0]=i;H[c+17|0]=i>>>8;H[c+18|0]=i>>>16;H[c+19|0]=i>>>24;H[c+20|0]=f;H[c+21|0]=f>>>8;H[c+22|0]=f>>>16;H[c+23|0]=f>>>24;f=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);i=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);i=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;x:{h=J[d+4>>2];if(h){while(1){f=K[h+27|0];i=f<<24>>24<0;f=i?J[h+20>>2]:f;g=f>>>0<33;y:{z:{A:{B:{C:{D:{j=g?f:33;if(j){i=i?J[h+16>>2]:h+16|0;m=Ba(c,i,j);if(m){break D}if(f>>>0<=33){break C}break y}if(f>>>0<=33){break B}break y}if((m|0)<0){break y}}f=Ba(i,c,j);if(f){break A}}if(g){break z}break x}if((f|0)>=0){break x}}h=h+4|0}h=J[h>>2];if(h){continue}break}}na(c);break w}na(c);c=oa(48);J[G+16>>2]=c;J[G+20>>2]=33;J[G+24>>2]=-2147483600;H[c+32|0]=K[1470];f=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);i=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[c+24|0]=i;H[c+25|0]=i>>>8;H[c+26|0]=i>>>16;H[c+27|0]=i>>>24;H[c+28|0]=f;H[c+29|0]=f>>>8;H[c+30|0]=f>>>16;H[c+31|0]=f>>>24;f=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);i=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[c+16|0]=i;H[c+17|0]=i>>>8;H[c+18|0]=i>>>16;H[c+19|0]=i>>>24;H[c+20|0]=f;H[c+21|0]=f>>>8;H[c+22|0]=f>>>16;H[c+23|0]=f>>>24;f=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);i=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);i=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+33|0]=0;c=Mf(d,G+16|0);if(H[G+27|0]<0){na(J[G+16>>2])}if((c|0)<=3){n=n-2|0;break w}if(c>>>0<=5){n=n-1|0;break w}if(c>>>0>=10){n=n+2|0;break w}n=(c>>>0>7)+n|0}c=(n|0)<=1?1:n;c=(c|0)>=18?18:c;H[G+15|0]=c;d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){sa(e,J[e+4>>2],G+15|0,G+16|0)}h=0;E:{switch(c-1|0){case 0:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;F:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}G:{if((b|0)<=0){break G}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];q=J[c+4>>2];d=d+1|0;q=d?q:q+1|0;J[c>>2]=d;J[c+4>>2]=q;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break G}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;H:{if((a|0)<=0){break H}A=a&3;I:{if(a>>>0<4){a=0;break I}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;g=i+D|0;f=f+x|0;q=(f>>>0>>0?g+1|0:g)+m|0;g=f;f=f+p|0;g=(g>>>0>f>>>0?q+1|0:q)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break H}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;J:{if(a>>>0>>0){Wa(l,g-a|0);break J}if(a>>>0<=g>>>0){break J}J[l+4>>2]=e+(g<<3)}k=0;K:{L:{M:{N:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;O:{if(o<4294967296&o>=0){e=~~o>>>0;break O}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break N}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;P:{if(!g){break P}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break P}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Q:{R:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break R}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}gc(s,p,t+24|0,e,0,0);break Q}gc(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break M}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){S:{T:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));U:{if(R(w)<2147483648){i=~~w;break U}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break T}k=4096;break S}if((d|0)!=(e|0)){break S}a=1;break M}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break M}a=0;if(k>>>0<4097){break M}while(1)continue}if((d|0)<0){break K}break L}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break K}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break K}a=0;o=0;V:{if((d|0)<0){break V}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break V}a=a<<3;d=J[a+f>>2];if(!d){break V}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);W:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break W}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;g=d>>>0<39?g+1|0:g;d=a+((g&7)<<29|d>>>3)|0;h=g>>>3|0;j=a>>>0>d>>>0?h+1|0:h;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break F}h=1;break v;case 1:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;X:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}Y:{if((b|0)<=0){break Y}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Y}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;Z:{if((a|0)<=0){break Z}A=a&3;_:{if(a>>>0<4){a=0;break _}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=h;h=g;j=i+D|0;f=f+x|0;g=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+p|0;q=(g>>>0>f>>>0?h+1|0:h)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?q+1|0:q;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Z}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;g=g+i|0;f=e+f|0;i=f>>>0>>0?g+1|0:g;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;$:{if(a>>>0>>0){Wa(l,g-a|0);break $}if(a>>>0<=g>>>0){break $}J[l+4>>2]=e+(g<<3)}k=0;aa:{ba:{ca:{da:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;ea:{if(o<4294967296&o>=0){e=~~o>>>0;break ea}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break da}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;fa:{if(!g){break fa}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break fa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ga:{ha:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break ha}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}fc(s,p,t+24|0,e,0,0);break ga}fc(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break ca}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){ia:{ja:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));ka:{if(R(w)<2147483648){i=~~w;break ka}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break ja}k=4096;break ia}if((d|0)!=(e|0)){break ia}a=1;break ca}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break ca}a=0;if(k>>>0<4097){break ca}while(1)continue}if((d|0)<0){break aa}break ba}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break aa}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break aa}a=0;o=0;la:{if((d|0)<0){break la}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break la}a=a<<3;d=J[a+f>>2];if(!d){break la}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);ma:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break ma}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;h=e<<1|d>>>31;d=(d<<1)+39|0;j=h;j=d>>>0<39?j+1|0:j;d=a+((j&7)<<29|d>>>3)|0;q=j>>>3|0;m=a>>>0>d>>>0?q+1|0:q;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break X}h=1;break v;case 2:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;na:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}oa:{if((b|0)<=0){break oa}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|4)>>2]<<3)+n|0;h=J[d>>2];j=J[d+4>>2];h=h+1|0;j=h?j:j+1|0;J[d>>2]=h;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];h=J[c+4>>2];d=d+1|0;h=d?h:h+1|0;J[c>>2]=d;J[c+4>>2]=h;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break oa}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;pa:{if((a|0)<=0){break pa}x=a&3;qa:{if(a>>>0<4){a=0;break qa}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;h=m;m=i+E|0;f=f+p|0;h=(f>>>0

>>0?m+1|0:m)+h|0;m=f;f=g+f|0;q=(m>>>0>f>>>0?h+1|0:h)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?q+1|0:q)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break pa}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0>>0?j+1|0:j;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ra:{if(a>>>0>>0){Wa(l,g-a|0);break ra}if(a>>>0<=g>>>0){break ra}J[l+4>>2]=e+(g<<3)}k=0;sa:{ta:{ua:{va:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;wa:{if(o<4294967296&o>=0){e=~~o>>>0;break wa}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break va}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;xa:{if(!g){break xa}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break xa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ya:{za:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break za}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}ec(s,p,t+24|0,e,0,0);break ya}ec(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break ua}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Aa:{Ba:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Ca:{if(R(w)<2147483648){i=~~w;break Ca}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Ba}k=4096;break Aa}if((d|0)!=(e|0)){break Aa}a=1;break ua}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break ua}a=0;if(k>>>0<4097){break ua}while(1)continue}if((d|0)<0){break sa}break ta}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break sa}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break sa}a=0;o=0;Da:{if((d|0)<0){break Da}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Da}a=a<<3;d=J[a+f>>2];if(!d){break Da}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);Ea:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Ea}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;q=e<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?q+1|0:q;d=a+((m&7)<<29|d>>>3)|0;g=m>>>3|0;g=a>>>0>d>>>0?g+1|0:g;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break na}h=1;break v;case 3:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Fa:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}Ga:{if((b|0)<=0){break Ga}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];q=J[c+4>>2];d=d+1|0;q=d?q:q+1|0;J[c>>2]=d;J[c+4>>2]=q;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ga}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;Ha:{if((a|0)<=0){break Ha}A=a&3;Ia:{if(a>>>0<4){a=0;break Ia}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;g=i+D|0;f=f+x|0;q=(f>>>0>>0?g+1|0:g)+m|0;g=f;f=f+p|0;g=(g>>>0>f>>>0?q+1|0:q)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Ha}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Ja:{if(a>>>0>>0){Wa(l,g-a|0);break Ja}if(a>>>0<=g>>>0){break Ja}J[l+4>>2]=e+(g<<3)}k=0;Ka:{La:{Ma:{Na:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;Oa:{if(o<4294967296&o>=0){e=~~o>>>0;break Oa}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break Na}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Pa:{if(!g){break Pa}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Pa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Qa:{Ra:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break Ra}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}dc(s,p,t+24|0,e,0,0);break Qa}dc(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break Ma}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Sa:{Ta:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Ua:{if(R(w)<2147483648){i=~~w;break Ua}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Ta}k=4096;break Sa}if((d|0)!=(e|0)){break Sa}a=1;break Ma}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Ma}a=0;if(k>>>0<4097){break Ma}while(1)continue}if((d|0)<0){break Ka}break La}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break Ka}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break Ka}a=0;o=0;Va:{if((d|0)<0){break Va}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Va}a=a<<3;d=J[a+f>>2];if(!d){break Va}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);Wa:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Wa}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;g=d>>>0<39?g+1|0:g;d=a+((g&7)<<29|d>>>3)|0;h=g>>>3|0;j=a>>>0>d>>>0?h+1|0:h;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break Fa}h=1;break v;case 4:c=0;k=0;n=0;r=0;i=ba+-64|0;ba=i;J[i+56>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;Xa:{d=p+1|0;if(d){if(d>>>0>=536870912){break a}d=d<<3;c=oa(d);J[i+48>>2]=c;k=pa(c,0,(p<<3)+8|0)+d|0}Ya:{if((b|0)<=0){break Ya}p=0;if(b>>>0>=4){h=b&-4;while(1){d=p<<2;f=(J[d+a>>2]<<3)+c|0;j=J[f>>2];g=J[f+4>>2];j=j+1|0;g=j?g:g+1|0;J[f>>2]=j;J[f+4>>2]=g;f=(J[(d|4)+a>>2]<<3)+c|0;j=J[f>>2];g=J[f+4>>2];j=j+1|0;g=j?g:g+1|0;J[f>>2]=j;J[f+4>>2]=g;f=(J[(d|8)+a>>2]<<3)+c|0;g=J[f>>2];j=J[f+4>>2];g=g+1|0;j=g?j:j+1|0;J[f>>2]=g;J[f+4>>2]=j;d=(J[(d|12)+a>>2]<<3)+c|0;f=J[d>>2];g=J[d+4>>2];f=f+1|0;g=f?g:g+1|0;J[d>>2]=f;J[d+4>>2]=g;p=p+4|0;n=n+4|0;if((h|0)!=(n|0)){continue}break}}f=b&3;if(!f){break Ya}while(1){d=(J[(p<<2)+a>>2]<<3)+c|0;h=J[d>>2];g=J[d+4>>2];h=h+1|0;g=h?g:g+1|0;J[d>>2]=h;J[d+4>>2]=g;p=p+1|0;r=r+1|0;if((f|0)!=(r|0)){continue}break}}J[i+8>>2]=0;J[i+12>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i>>2]=0;J[i+4>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;Jg(i,c,k-c>>3,e);d=J[i+16>>2];f=J[i+20>>2];c=J[e+4>>2]-J[e>>2]|0;J[i+40>>2]=c;J[i+44>>2]=0;g=f<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=c+((j&7)<<29|d>>>3)|0;g=j>>>3|0;q=c>>>0>d>>>0?g+1|0:g;c=d+8|0;Ia(e,c);c=J[e>>2];J[i+28>>2]=0;J[i+32>>2]=16384;J[i+24>>2]=c+J[i+40>>2];if((b|0)>0){p=16384;while(1){c=b-1|0;f=J[i>>2]+(J[(c<<2)+a>>2]<<3)|0;d=J[f>>2];g=d<<10;if(g>>>0<=p>>>0){while(1){h=J[i+28>>2];J[i+28>>2]=h+1;H[h+J[i+24>>2]|0]=p;p=J[i+32>>2]>>>8|0;J[i+32>>2]=p;if(g>>>0<=p>>>0){continue}break}}g=J[f+4>>2];f=(p>>>0)/(d>>>0)|0;p=g+((f<<12)+(p-P(d,f)|0)|0)|0;J[i+32>>2]=p;d=(b|0)>1;b=c;if(d){continue}break}}yb(i,e);a=J[i>>2];if(a){J[i+4>>2]=a;na(a)}a=J[i+48>>2];if(a){na(a)}ba=i- -64|0;break Xa}h=1;break v;case 5:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Za:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}_a:{if((b|0)<=0){break _a}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break _a}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;$a:{if((a|0)<=0){break $a}A=a&3;ab:{if(a>>>0<4){a=0;break ab}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;q=i+D|0;f=f+x|0;g=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break $a}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0>>0?j+1|0:j;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;bb:{if(a>>>0>>0){Wa(l,g-a|0);break bb}if(a>>>0<=g>>>0){break bb}J[l+4>>2]=e+(g<<3)}k=0;cb:{db:{eb:{fb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;gb:{if(o<4294967296&o>=0){e=~~o>>>0;break gb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break fb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;hb:{if(!g){break hb}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break hb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ib:{jb:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break jb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}cc(s,p,t+24|0,e,0,0);break ib}cc(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break eb}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){kb:{lb:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));mb:{if(R(w)<2147483648){i=~~w;break mb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break lb}k=4096;break kb}if((d|0)!=(e|0)){break kb}a=1;break eb}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break eb}a=0;if(k>>>0<4097){break eb}while(1)continue}if((d|0)<0){break cb}break db}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break cb}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break cb}a=0;o=0;nb:{if((d|0)<0){break nb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break nb}a=a<<3;d=J[a+f>>2];if(!d){break nb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);ob:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break ob}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;h=q>>>3|0;m=a>>>0>d>>>0?h+1|0:h;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break Za}h=1;break v;case 6:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;pb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}qb:{if((b|0)<=0){break qb}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break qb}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;rb:{if((a|0)<=0){break rb}x=a&3;sb:{if(a>>>0<4){a=0;break sb}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;h=g;g=m;m=i+E|0;f=f+p|0;g=(f>>>0

>>0?m+1|0:m)+g|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?h+1|0:h)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break rb}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0>>0?q+1|0:q;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;tb:{if(a>>>0>>0){Wa(l,g-a|0);break tb}if(a>>>0<=g>>>0){break tb}J[l+4>>2]=e+(g<<3)}k=0;ub:{vb:{wb:{xb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;yb:{if(o<4294967296&o>=0){e=~~o>>>0;break yb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break xb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;zb:{if(!g){break zb}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break zb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Ab:{Bb:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break Bb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}bc(s,p,t+24|0,e,0,0);break Ab}bc(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break wb}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Cb:{Db:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Eb:{if(R(w)<2147483648){i=~~w;break Eb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Db}k=4096;break Cb}if((d|0)!=(e|0)){break Cb}a=1;break wb}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break wb}a=0;if(k>>>0<4097){break wb}while(1)continue}if((d|0)<0){break ub}break vb}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break ub}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break ub}a=0;o=0;Fb:{if((d|0)<0){break Fb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Fb}a=a<<3;d=J[a+f>>2];if(!d){break Fb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);Gb:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Gb}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;h=e<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?h+1|0:h;g=m>>>3|0;d=a+((m&7)<<29|d>>>3)|0;j=d>>>0>>0?g+1|0:g;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break pb}h=1;break v;case 7:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Hb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}Ib:{if((b|0)<=0){break Ib}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|4)>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];j=J[d+4>>2];h=h+1|0;j=h?j:j+1|0;J[d>>2]=h;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];h=J[c+4>>2];d=d+1|0;h=d?h:h+1|0;J[c>>2]=d;J[c+4>>2]=h;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ib}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;Jb:{if((a|0)<=0){break Jb}A=a&3;Kb:{if(a>>>0<4){a=0;break Kb}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=h;j=i+D|0;f=f+x|0;h=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?h+1|0:h)+q|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+v|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Jb}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Lb:{if(a>>>0>>0){Wa(l,g-a|0);break Lb}if(a>>>0<=g>>>0){break Lb}J[l+4>>2]=e+(g<<3)}k=0;Mb:{Nb:{Ob:{Pb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;Qb:{if(o<4294967296&o>=0){e=~~o>>>0;break Qb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break Pb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Rb:{if(!g){break Rb}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Rb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Sb:{Tb:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break Tb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}ac(s,p,t+24|0,e,0,0);break Sb}ac(s,p,t+24|0,e,f,a);na(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break Ob}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Ub:{Vb:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Wb:{if(R(w)<2147483648){i=~~w;break Wb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Vb}k=4096;break Ub}if((d|0)!=(e|0)){break Ub}a=1;break Ob}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Ob}a=0;if(k>>>0<4097){break Ob}while(1)continue}if((d|0)<0){break Mb}break Nb}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break Mb}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break Mb}a=0;o=0;Xb:{if((d|0)<0){break Xb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Xb}a=a<<3;d=J[a+f>>2];if(!d){break Xb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*.000244140625)+o}o=W(-o);Yb:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Yb}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;g=j>>>3|0;q=a>>>0>d>>>0?g+1|0:g;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}yb(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break Hb}h=1;break v;case 8:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=ba+-64|0;ba=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;Zb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=oa(a);J[k+48>>2]=r;n=pa(r,0,(p<<3)+8|0)+a|0}_b:{if((b|0)<=0){break _b}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break _b}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=ba-32|0;ba=t;a=n-r>>3;$b:{if((a|0)<=0){break $b}A=a&3;ac:{if(a>>>0<4){a=0;break ac}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;v=g;q=i+D|0;f=f+x|0;g=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=f+v|0;g=(m>>>0>f>>>0?g+1|0:g)+u|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break $b}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;j=g+i|0;f=d+f|0;i=f>>>0>>0?j+1|0:j;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;bc:{if(a>>>0>>0){Wa(k,g-a|0);break bc}if(a>>>0<=g>>>0){break bc}J[k+4>>2]=d+(g<<3)}n=0;cc:{dc:{ec:{fc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*8192+.5;gc:{if(o<4294967296&o>=0){d=~~o>>>0;break gc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==8192){break fc}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;hc:{if(!g){break hc}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;d=0;f=pa(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break hc}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;ic:{jc:{if((a|0)>=513){a=d;while(1){f=oa(a<<2);if(f){break jc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}$b(s,p,t+24|0,d,0,0);break ic}$b(s,p,t+24|0,d,f,a);na(f)}if((n|0)<8192){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)- -8192;a=0;break ec}if((c|0)>0){h=J[k>>2];p=n+-8192|0;while(1){o=8192/+(n|0);d=c;while(1){kc:{lc:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));mc:{if(R(w)<2147483648){i=~~w;break mc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=8192){break lc}n=8192;break kc}if((c|0)!=(d|0)){break kc}a=1;break ec}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break ec}a=0;if(n>>>0<8193){break ec}while(1)continue}if((c|0)<0){break cc}break dc}d=J[t+8>>2];if(d){na(d)}if((c|0)<0|a){break cc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=8192){break cc}a=0;o=0;nc:{if((c|0)<0){break nc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.0001220703125)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*.0001220703125)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break nc}a=a<<3;c=J[a+f>>2];if(!c){break nc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(c>>>0)*.0001220703125)+o}o=W(-o);oc:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break oc}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;Va(k,e)}ba=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;h=q>>>3|0;m=a>>>0>c>>>0?h+1|0:h;a=c+8|0;Ia(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=32768;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=32768;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<13)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=ba-32|0;ba=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-32768|0;pc:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break pc}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+49152>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break pc}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;f=b+8355840|0;H[d+2|0]=f>>>16;H[d+1|0]=f>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break pc}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1073774592|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=f>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break pc}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;xb(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ta(d+c|0,c,b);ua(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;Ia(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}ba=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;na(a)}a=J[k+48>>2];if(a){na(a)}ba=k- -64|0;break Zb}h=1;break v;case 9:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=ba+-64|0;ba=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;qc:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=oa(a);J[k+48>>2]=r;n=pa(r,0,(p<<3)+8|0)+a|0}rc:{if((b|0)<=0){break rc}a=0;if(b>>>0>=4){j=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=J[g>>2];m=J[g+4>>2];h=h+1|0;m=h?m:m+1|0;J[g>>2]=h;J[g+4>>2]=m;g=(J[l+(c|4)>>2]<<3)+r|0;m=J[g>>2];h=J[g+4>>2];m=m+1|0;h=m?h:h+1|0;J[g>>2]=m;J[g+4>>2]=h;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}d=b&3;if(!d){break rc}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;v=ba-32|0;ba=v;a=n-r>>3;sc:{if((a|0)<=0){break sc}x=a&3;tc:{if(a>>>0<4){a=0;break tc}A=a&-4;a=0;while(1){g=(a<<3)+r|0;t=J[g>>2];m=J[g+4>>2];E=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;D=(u<<3)+r|0;h=J[D>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|t?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[D+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;q=i+E|0;f=f+t|0;m=(f>>>0>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+u|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+n|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;d=d+4|0;if((A|0)!=(d|0)){continue}break}}if(!x){break sc}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;h=g+i|0;f=d+f|0;i=f>>>0>>0?h+1|0:h;p=p+1|0;if((x|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;uc:{if(a>>>0>>0){Wa(k,g-a|0);break uc}if(a>>>0<=g>>>0){break uc}J[k+4>>2]=d+(g<<3)}n=0;vc:{wc:{xc:{yc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*32768+.5;zc:{if(o<4294967296&o>=0){d=~~o>>>0;break zc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==32768){break yc}}J[v+16>>2]=0;J[v+8>>2]=0;J[v+12>>2]=0;p=0;Ac:{if(!g){break Ac}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[v+8>>2]=s;d=0;f=pa(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Ac}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[v+24>>2]=k;a=p-s|0;d=a>>2;Bc:{Cc:{if((a|0)>=513){a=d;while(1){f=oa(a<<2);if(f){break Cc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}_b(s,p,v+24|0,d,0,0);break Bc}_b(s,p,v+24|0,d,f,a);na(f)}if((n|0)<32768){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+32768;a=0;break xc}if((c|0)>0){h=J[k>>2];p=n-32768|0;while(1){o=32768/+(n|0);d=c;while(1){Dc:{Ec:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Fc:{if(R(w)<2147483648){i=~~w;break Fc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=32768){break Ec}n=32768;break Dc}if((c|0)!=(d|0)){break Dc}a=1;break xc}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break xc}a=0;if(n>>>0<32769){break xc}while(1)continue}if((c|0)<0){break vc}break wc}d=J[v+8>>2];if(d){na(d)}if((c|0)<0|a){break vc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=32768){break vc}a=0;o=0;Gc:{if((c|0)<0){break Gc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*30517578125e-15)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*30517578125e-15)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Gc}a=a<<3;c=J[a+f>>2];if(!c){break Gc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(c>>>0)*30517578125e-15)+o}o=W(-o);Hc:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Hc}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;Va(k,e)}ba=v+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;g=q>>>3|0;j=a>>>0>c>>>0?g+1|0:g;a=c+8|0;Ia(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=131072;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=131072;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<15)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=ba-32|0;ba=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-131072|0;Ic:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break Ic}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break Ic}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+8257536>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break Ic}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1073872896|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break Ic}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;xb(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ta(d+c|0,c,b);ua(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;Ia(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}ba=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;na(a)}a=J[k+48>>2];if(a){na(a)}ba=k- -64|0;break qc}h=1;break v;case 10:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=ba+-64|0;ba=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;Jc:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=oa(a);J[k+48>>2]=r;n=pa(r,0,(p<<3)+8|0)+a|0}Kc:{if((b|0)<=0){break Kc}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|4)>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break Kc}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=ba-32|0;ba=t;a=n-r>>3;Lc:{if((a|0)<=0){break Lc}A=a&3;Mc:{if(a>>>0<4){a=0;break Mc}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=j;v=q;q=i+D|0;f=f+x|0;j=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?j+1|0:j)+v|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+u|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break Lc}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;g=g+i|0;f=d+f|0;i=f>>>0>>0?g+1|0:g;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;Nc:{if(a>>>0>>0){Wa(k,g-a|0);break Nc}if(a>>>0<=g>>>0){break Nc}J[k+4>>2]=d+(g<<3)}n=0;Oc:{Pc:{Qc:{Rc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*65536+.5;Sc:{if(o<4294967296&o>=0){d=~~o>>>0;break Sc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==65536){break Rc}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Tc:{if(!g){break Tc}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;d=0;f=pa(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Tc}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;Uc:{Vc:{if((a|0)>=513){a=d;while(1){f=oa(a<<2);if(f){break Vc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Zb(s,p,t+24|0,d,0,0);break Uc}Zb(s,p,t+24|0,d,f,a);na(f)}if((n|0)<65536){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+65536;a=0;break Qc}if((c|0)>0){h=J[k>>2];p=n-65536|0;while(1){o=65536/+(n|0);d=c;while(1){Wc:{Xc:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Yc:{if(R(w)<2147483648){i=~~w;break Yc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=65536){break Xc}n=65536;break Wc}if((c|0)!=(d|0)){break Wc}a=1;break Qc}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break Qc}a=0;if(n>>>0<65537){break Qc}while(1)continue}if((c|0)<0){break Oc}break Pc}d=J[t+8>>2];if(d){na(d)}if((c|0)<0|a){break Oc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=65536){break Oc}a=0;o=0;Zc:{if((c|0)<0){break Zc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*152587890625e-16)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*152587890625e-16)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Zc}a=a<<3;c=J[a+f>>2];if(!c){break Zc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(c>>>0)*152587890625e-16)+o}o=W(-o);_c:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break _c}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;Va(k,e)}ba=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;m=q>>>3|0;h=a>>>0>c>>>0?m+1|0:m;a=c+8|0;Ia(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=262144;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=262144;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<16)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=ba-32|0;ba=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-262144|0;$c:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break $c}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break $c}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+8126464>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break $c}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1074003968|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break $c}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;xb(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ta(d+c|0,c,b);ua(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;Ia(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}ba=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;na(a)}a=J[k+48>>2];if(a){na(a)}ba=k- -64|0;break Jc}h=1;break v;case 11:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=ba+-64|0;ba=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;ad:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=oa(a);J[k+48>>2]=r;n=pa(r,0,(p<<3)+8|0)+a|0}bd:{if((b|0)<=0){break bd}a=0;if(b>>>0>=4){j=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;m=J[g>>2];h=J[g+4>>2];m=m+1|0;h=m?h:h+1|0;J[g>>2]=m;J[g+4>>2]=h;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];m=J[g+4>>2];h=h+1|0;m=h?m:m+1|0;J[g>>2]=h;J[g+4>>2]=m;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}d=b&3;if(!d){break bd}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=ba-32|0;ba=t;a=n-r>>3;cd:{if((a|0)<=0){break cd}A=a&3;dd:{if(a>>>0<4){a=0;break dd}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=j;j=h;v=q;q=i+D|0;f=f+x|0;h=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?h+1|0:h)+v|0;m=f;f=f+j|0;j=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+u|0;i=g>>>0>f>>>0?j+1|0:j;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break cd}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;m=g+i|0;f=d+f|0;i=f>>>0>>0?m+1|0:m;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;ed:{if(a>>>0>>0){Wa(k,g-a|0);break ed}if(a>>>0<=g>>>0){break ed}J[k+4>>2]=d+(g<<3)}n=0;fd:{gd:{hd:{id:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*262144+.5;jd:{if(o<4294967296&o>=0){d=~~o>>>0;break jd}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==262144){break id}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;kd:{if(!g){break kd}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;d=0;f=pa(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break kd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;ld:{md:{if((a|0)>=513){a=d;while(1){f=oa(a<<2);if(f){break md}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Yb(s,p,t+24|0,d,0,0);break ld}Yb(s,p,t+24|0,d,f,a);na(f)}if((n|0)<262144){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+262144;a=0;break hd}if((c|0)>0){h=J[k>>2];p=n-262144|0;while(1){o=262144/+(n|0);d=c;while(1){nd:{od:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));pd:{if(R(w)<2147483648){i=~~w;break pd}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=262144){break od}n=262144;break nd}if((c|0)!=(d|0)){break nd}a=1;break hd}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break hd}a=0;if(n>>>0<262145){break hd}while(1)continue}if((c|0)<0){break fd}break gd}d=J[t+8>>2];if(d){na(d)}if((c|0)<0|a){break fd}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=262144){break fd}a=0;o=0;qd:{if((c|0)<0){break qd}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*3814697265625e-18)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*3814697265625e-18)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break qd}a=a<<3;c=J[a+f>>2];if(!c){break qd}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(c>>>0)*3814697265625e-18)+o}o=W(-o);rd:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break rd}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;Va(k,e)}ba=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;j=q>>>3|0;g=a>>>0>c>>>0?j+1|0:j;a=c+8|0;Ia(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=1048576;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=1048576;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<18)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=ba-32|0;ba=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b+-1048576|0;sd:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break sd}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break sd}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+7340032>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break sd}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1074790400|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break sd}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;xb(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ta(d+c|0,c,b);ua(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;Ia(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}ba=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;na(a)}a=J[k+48>>2];if(a){na(a)}ba=k- -64|0;break ad}h=1;break v;case 12:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=ba+-64|0;ba=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;td:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=oa(a);J[k+48>>2]=r;n=pa(r,0,(p<<3)+8|0)+a|0}ud:{if((b|0)<=0){break ud}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break ud}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=ba-32|0;ba=t;a=n-r>>3;vd:{if((a|0)<=0){break vd}A=a&3;wd:{if(a>>>0<4){a=0;break wd}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;v=g;q=i+D|0;f=f+x|0;g=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=f+v|0;g=(m>>>0>f>>>0?g+1|0:g)+u|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break vd}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;j=g+i|0;f=d+f|0;i=f>>>0>>0?j+1|0:j;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;xd:{if(a>>>0>>0){Wa(k,g-a|0);break xd}if(a>>>0<=g>>>0){break xd}J[k+4>>2]=d+(g<<3)}n=0;yd:{zd:{Ad:{Bd:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*524288+.5;Cd:{if(o<4294967296&o>=0){d=~~o>>>0;break Cd}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==524288){break Bd}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Dd:{if(!g){break Dd}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;d=0;f=pa(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Dd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;Ed:{Fd:{if((a|0)>=513){a=d;while(1){f=oa(a<<2);if(f){break Fd}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Xb(s,p,t+24|0,d,0,0);break Ed}Xb(s,p,t+24|0,d,f,a);na(f)}if((n|0)<524288){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+524288;a=0;break Ad}if((c|0)>0){h=J[k>>2];p=n-524288|0;while(1){o=524288/+(n|0);d=c;while(1){Gd:{Hd:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Id:{if(R(w)<2147483648){i=~~w;break Id}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=524288){break Hd}n=524288;break Gd}if((c|0)!=(d|0)){break Gd}a=1;break Ad}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break Ad}a=0;if(n>>>0<524289){break Ad}while(1)continue}if((c|0)<0){break yd}break zd}d=J[t+8>>2];if(d){na(d)}if((c|0)<0|a){break yd}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=524288){break yd}a=0;o=0;Jd:{if((c|0)<0){break Jd}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*19073486328125e-19)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*19073486328125e-19)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Jd}a=a<<3;c=J[a+f>>2];if(!c){break Jd}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(c>>>0)*19073486328125e-19)+o}o=W(-o);Kd:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Kd}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;Va(k,e)}ba=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;h=q>>>3|0;m=a>>>0>c>>>0?h+1|0:h;a=c+8|0;Ia(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=2097152;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=2097152;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<19)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=ba-32|0;ba=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-2097152|0;Ld:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break Ld}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break Ld}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+6291456>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break Ld}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1075838976|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break Ld}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;xb(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ta(d+c|0,c,b);ua(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;Ia(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}ba=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;na(a)}a=J[k+48>>2];if(a){na(a)}ba=k- -64|0;break td}h=1;break v;case 13:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Md:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}Nd:{if((b|0)<=0){break Nd}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];q=J[d+4>>2];h=h+1|0;q=h?q:q+1|0;J[d>>2]=h;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];m=J[c+4>>2];d=d+1|0;m=d?m:m+1|0;J[c>>2]=d;J[c+4>>2]=m;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Nd}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;Od:{if((a|0)<=0){break Od}x=a&3;Pd:{if(a>>>0<4){a=0;break Pd}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;q=i+E|0;f=f+p|0;m=(f>>>0

>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+v|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break Od}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;h=g+i|0;f=e+f|0;i=f>>>0>>0?h+1|0:h;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Qd:{if(a>>>0>>0){Wa(l,g-a|0);break Qd}if(a>>>0<=g>>>0){break Qd}J[l+4>>2]=e+(g<<3)}k=0;Rd:{Sd:{Td:{Ud:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;Vd:{if(o<4294967296&o>=0){e=~~o>>>0;break Vd}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ud}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Wd:{if(!g){break Wd}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Wd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Xd:{Yd:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break Yd}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Wb(s,p,t+24|0,e,0,0);break Xd}Wb(s,p,t+24|0,e,f,a);na(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Td}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){Zd:{_d:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));$d:{if(R(w)<2147483648){i=~~w;break $d}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break _d}k=1048576;break Zd}if((d|0)!=(e|0)){break Zd}a=1;break Td}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Td}a=0;if(k>>>0<1048577){break Td}while(1)continue}if((d|0)<0){break Rd}break Sd}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break Rd}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break Rd}a=0;o=0;ae:{if((d|0)<0){break ae}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break ae}a=a<<3;d=J[a+f>>2];if(!d){break ae}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);be:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break be}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;g=q>>>3|0;j=a>>>0>d>>>0?g+1|0:g;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}rc(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break Md}h=1;break v;case 14:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;ce:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}de:{if((b|0)<=0){break de}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break de}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;ee:{if((a|0)<=0){break ee}A=a&3;fe:{if(a>>>0<4){a=0;break fe}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=g;j=i+D|0;f=f+x|0;g=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+q|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break ee}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0>>0?q+1|0:q;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ge:{if(a>>>0>>0){Wa(l,g-a|0);break ge}if(a>>>0<=g>>>0){break ge}J[l+4>>2]=e+(g<<3)}k=0;he:{ie:{je:{ke:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;le:{if(o<4294967296&o>=0){e=~~o>>>0;break le}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break ke}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;me:{if(!g){break me}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break me}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ne:{oe:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break oe}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Vb(s,p,t+24|0,e,0,0);break ne}Vb(s,p,t+24|0,e,f,a);na(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break je}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){pe:{qe:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));re:{if(R(w)<2147483648){i=~~w;break re}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break qe}k=1048576;break pe}if((d|0)!=(e|0)){break pe}a=1;break je}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break je}a=0;if(k>>>0<1048577){break je}while(1)continue}if((d|0)<0){break he}break ie}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break he}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break he}a=0;o=0;se:{if((d|0)<0){break se}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break se}a=a<<3;d=J[a+f>>2];if(!d){break se}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);te:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break te}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;m=j>>>3|0;h=a>>>0>d>>>0?m+1|0:m;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}rc(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break ce}h=1;break v;case 15:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;ue:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}ve:{if((b|0)<=0){break ve}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];g=J[d+4>>2];h=h+1|0;g=h?g:g+1|0;J[d>>2]=h;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];h=J[d+4>>2];g=g+1|0;h=g?h:h+1|0;J[d>>2]=g;J[d+4>>2]=h;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((m|0)!=(r|0)){continue}break}}d=b&3;if(!d){break ve}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;we:{if((a|0)<=0){break we}A=a&3;xe:{if(a>>>0<4){a=0;break xe}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;p=g;h=i+D|0;f=f+x|0;g=(f>>>0>>0?h+1|0:h)+m|0;m=f;f=f+p|0;m=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?m+1|0:m)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break we}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0>>0?j+1|0:j;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ye:{if(a>>>0>>0){Wa(l,g-a|0);break ye}if(a>>>0<=g>>>0){break ye}J[l+4>>2]=e+(g<<3)}k=0;ze:{Ae:{Be:{Ce:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;De:{if(o<4294967296&o>=0){e=~~o>>>0;break De}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ce}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Ee:{if(!g){break Ee}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Ee}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Fe:{Ge:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break Ge}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Ub(s,p,t+24|0,e,0,0);break Fe}Ub(s,p,t+24|0,e,f,a);na(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Be}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){He:{Ie:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Je:{if(R(w)<2147483648){i=~~w;break Je}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break Ie}k=1048576;break He}if((d|0)!=(e|0)){break He}a=1;break Be}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Be}a=0;if(k>>>0<1048577){break Be}while(1)continue}if((d|0)<0){break ze}break Ae}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break ze}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break ze}a=0;o=0;Ke:{if((d|0)<0){break Ke}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Ke}a=a<<3;d=J[a+f>>2];if(!d){break Ke}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);Le:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Le}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;m=e<<1|d>>>31;d=(d<<1)+39|0;h=m;h=d>>>0<39?h+1|0:h;g=h>>>3|0;d=a+((h&7)<<29|d>>>3)|0;q=d>>>0>>0?g+1|0:g;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}rc(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break ue}h=1;break v;case 16:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Me:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}Ne:{if((b|0)<=0){break Ne}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];q=J[d+4>>2];h=h+1|0;q=h?q:q+1|0;J[d>>2]=h;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];m=J[c+4>>2];d=d+1|0;m=d?m:m+1|0;J[c>>2]=d;J[c+4>>2]=m;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ne}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;Oe:{if((a|0)<=0){break Oe}x=a&3;Pe:{if(a>>>0<4){a=0;break Pe}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;q=i+E|0;f=f+p|0;m=(f>>>0

>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+v|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break Oe}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;h=g+i|0;f=e+f|0;i=f>>>0>>0?h+1|0:h;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Qe:{if(a>>>0>>0){Wa(l,g-a|0);break Qe}if(a>>>0<=g>>>0){break Qe}J[l+4>>2]=e+(g<<3)}k=0;Re:{Se:{Te:{Ue:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;Ve:{if(o<4294967296&o>=0){e=~~o>>>0;break Ve}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ue}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;We:{if(!g){break We}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break We}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Xe:{Ye:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break Ye}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Tb(s,p,t+24|0,e,0,0);break Xe}Tb(s,p,t+24|0,e,f,a);na(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Te}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){Ze:{_e:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));$e:{if(R(w)<2147483648){i=~~w;break $e}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break _e}k=1048576;break Ze}if((d|0)!=(e|0)){break Ze}a=1;break Te}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Te}a=0;if(k>>>0<1048577){break Te}while(1)continue}if((d|0)<0){break Re}break Se}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break Re}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break Re}a=0;o=0;af:{if((d|0)<0){break af}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break af}a=a<<3;d=J[a+f>>2];if(!d){break af}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);bf:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break bf}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;g=q>>>3|0;j=a>>>0>d>>>0?g+1|0:g;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}rc(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break Me}h=1;break v;case 17:break E;default:break v}}u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=ba+-64|0;ba=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;cf:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=oa(a);J[l+48>>2]=n;k=pa(n,0,(p<<3)+8|0)+a|0}df:{if((b|0)<=0){break df}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break df}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=ba-32|0;ba=t;a=k-n>>3;ef:{if((a|0)<=0){break ef}A=a&3;ff:{if(a>>>0<4){a=0;break ff}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=g;j=i+D|0;f=f+x|0;g=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+q|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break ef}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0>>0?q+1|0:q;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;gf:{if(a>>>0>>0){Wa(l,g-a|0);break gf}if(a>>>0<=g>>>0){break gf}J[l+4>>2]=e+(g<<3)}k=0;hf:{jf:{kf:{lf:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;mf:{if(o<4294967296&o>=0){e=~~o>>>0;break mf}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break lf}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;nf:{if(!g){break nf}if(g>>>0>=1073741824){break a}i=g<<2;s=oa(i);J[t+8>>2]=s;e=0;f=pa(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break nf}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;of:{pf:{if((a|0)>=513){a=e;while(1){f=oa(a<<2);if(f){break pf}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Sb(s,p,t+24|0,e,0,0);break of}Sb(s,p,t+24|0,e,f,a);na(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break kf}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){qf:{rf:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));sf:{if(R(w)<2147483648){i=~~w;break sf}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break rf}k=1048576;break qf}if((d|0)!=(e|0)){break qf}a=1;break kf}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break kf}a=0;if(k>>>0<1048577){break kf}while(1)continue}if((d|0)<0){break hf}break jf}e=J[t+8>>2];if(e){na(e)}if((d|0)<0|a){break hf}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break hf}a=0;o=0;tf:{if((d|0)<0){break tf}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*va(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break tf}a=a<<3;d=J[a+f>>2];if(!d){break tf}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*va(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);uf:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break uf}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;Va(l,c)}ba=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;m=j>>>3|0;h=a>>>0>d>>>0?m+1|0:m;a=d+8|0;Ia(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}rc(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;na(a)}a=J[l+48>>2];if(a){na(a)}ba=l- -64|0;break cf}h=1}ba=G+32|0}if(!F){break b}J[C+36>>2]=F;na(F)}ba=C+48|0;return h}qa();B()}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=Q(0),x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,T=0,U=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;d=ba-1680|0;ba=d;c=10-cb(J[J[a+28>>2]+48>>2])|0;c=(c|0)>=6?6:c;f=J[a+72>>2];H[d+1679|0]=(c&255)==6?(f|0)>15?5:c:c;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],d+1679|0,d+1680|0);f=J[a+72>>2]}y=J[J[J[a+28>>2]+4>>2]+80>>2];J[d+1668>>2]=0;J[d+1660>>2]=0;J[d+1664>>2]=0;J[d+1648>>2]=y;J[d+1652>>2]=f;J[d+1656>>2]=f<<2;a:{b:{c:{d:{g=P(f,y);if(g){if(g>>>0>=1073741824){break d}c=g<<2;h=oa(c);J[d+1660>>2]=h;k=c+h|0;J[d+1668>>2]=k;pa(h,0,c);J[d+1664>>2]=k}J[d+1672>>2]=h;k=J[a+4>>2];if((k|0)!=J[a+8>>2]){while(1){e=J[J[J[J[a+28>>2]+4>>2]+8>>2]+(J[(i<<2)+k>>2]<<2)>>2];c=J[e+28>>2];if(c-1>>>0>=6){if((c|0)!=9){break a}e=J[J[a+60>>2]+(p<<2)>>2];if(!e){break a}p=p+1|0;c=J[e+28>>2]}e:{f:{g:{switch(c-1|0){case 5:if(!y){break e}k=0;while(1){f=(J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],k)<<2)|0;h=J[J[e>>2]>>2];g=J[e+48>>2];c=Hl(J[e+40>>2],J[e+44>>2],K[e+84|0]?k:J[J[e+68>>2]+(k<<2)>>2],0);j=c;c=c+g|0;ua(f,c+h|0,K[e+24|0]<<2);k=k+1|0;if((y|0)!=(k|0)){continue}break};break e;case 0:case 2:case 4:c=K[e+24|0];h:{if(!c){g=0;h=0;break h}h=0;c=c<<2;g=oa(c);pa(g,0,c);c=K[e+24|0];if(!c){break h}c=c<<2;h=oa(c);pa(h,0,c)}if(y){f=0;while(1){$c(e,K[e+84|0]?f:J[J[e+68>>2]+(f<<2)>>2],H[e+24|0],g);j=K[e+24|0];i:{if(!j){break i}l=J[a+48>>2];k=0;if((j|0)!=1){n=j&254;c=0;while(1){r=k<<2;J[r+h>>2]=J[g+r>>2]-J[l+(k+q<<2)>>2];r=k|1;v=r<<2;J[v+h>>2]=J[g+v>>2]-J[l+(q+r<<2)>>2];k=k+2|0;c=c+2|0;if((n|0)!=(c|0)){continue}break}}if(!(j&1)){break i}c=k<<2;J[c+h>>2]=J[c+g>>2]-J[l+(k+q<<2)>>2]}ua((J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],f)<<2)|0,h,j<<2);f=f+1|0;if((y|0)!=(f|0)){continue}break}}c=K[e+24|0];if(h){na(h)}q=c+q|0;if(g){break f}break e;default:break g}}c=K[e+24|0];j:{if(!c){g=0;break j}c=c<<2;g=oa(c);pa(g,0,c)}if(y){k=0;while(1){c=K[e+84|0]?k:J[J[e+68>>2]+(k<<2)>>2];j=K[e+24|0];l=0;k:{if(!g){break k}l:{m:{switch(J[e+28>>2]-1|0){case 0:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Hl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=H[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 1:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Hl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=K[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 2:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Hl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=I[f>>1];f=f+2|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 3:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Hl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=L[f>>1];f=f+2|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 4:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Hl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=J[f>>2];f=f+4|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 5:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Hl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=J[f>>2];f=f+4|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 6:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Hl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;n=J[h+4>>2];while(1){if(f>>>0>=n>>>0){break k}c=J[f>>2];if(J[f+4>>2]){break k}J[(l<<2)+g>>2]=c;f=f+8|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 7:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Hl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;n=J[h+4>>2];while(1){if(f>>>0>=n>>>0){break k}c=J[f>>2];if(J[f+4>>2]){break k}J[(l<<2)+g>>2]=c;f=f+8|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 8:n:{o:{h=K[e+24|0];if(!(h>>>0>>0?h:j)){break o}f=J[e>>2];h=J[f>>2];l=J[e+48>>2];c=Hl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+l|0;l=c+h|0;n=J[f+4>>2];f=n-h|0;if(!K[e+32|0]){if((c|0)>=(f|0)){break n}f=0;while(1){w=N[l>>2];if(w>=Q(4294967296)|w=Q(0)){c=~~w>>>0}else{c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break o}l=l+4|0;if(n>>>0>l>>>0){continue}break}break n}if((c|0)>=(f|0)){break n}f=0;while(1){w=N[l>>2];if(w>=Q(4294967296)|wQ(1)){break n}m=(f<<2)+g|0;t=V(+w*4294967295+.5);p:{if(t<4294967296&t>=0){c=~~t>>>0;break p}c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break o}l=l+4|0;if(n>>>0>l>>>0){continue}break}break n}if(h>>>0>=j>>>0){break n}pa((h<<2)+g|0,0,j-h<<2)}break k;case 9:q:{r:{h=K[e+24|0];if(!(h>>>0>>0?h:j)){break r}f=J[e>>2];h=J[f>>2];l=J[e+48>>2];c=Hl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+l|0;l=c+h|0;n=J[f+4>>2];f=n-h|0;if(!K[e+32|0]){if((c|0)>=(f|0)){break q}f=0;while(1){t=O[l>>3];if(t>=4294967295|t<0|(R(t)==Infinity|t!=t)){break q}m=(f<<2)+g|0;if(t<4294967296&t>=0){c=~~t>>>0}else{c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break r}l=l+8|0;if(n>>>0>l>>>0){continue}break}break q}if((c|0)>=(f|0)){break q}f=0;while(1){t=O[l>>3];if(t>=4294967295|t<0|(R(t)==Infinity|t!=t)){break q}if(t>1){break q}m=(f<<2)+g|0;t=V(t*4294967295+.5);s:{if(t<4294967296&t>=0){c=~~t>>>0;break s}c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break r}l=l+8|0;if(n>>>0>l>>>0){continue}break}break q}if(h>>>0>=j>>>0){break q}pa((h<<2)+g|0,0,j-h<<2)}break k;case 10:break m;default:break k}}h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=Hl(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=K[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}if(h>>>0>=j>>>0){break k}pa((h<<2)+g|0,0,j-h<<2);break k}if(h>>>0>=j>>>0){break k}pa((h<<2)+g|0,0,j-h<<2)}ua((J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],k)<<2)|0,g,K[e+24|0]<<2);k=k+1|0;if((y|0)!=(k|0)){continue}break}}if(!g){break e}}na(g)}o=K[e+24|0]+o|0;i=i+1|0;k=J[a+4>>2];if(i>>>0>2]-k>>2>>>0){continue}break}f=J[a+72>>2];g=P(y,f);h=J[d+1672>>2]}k=0;if((g|0)<=0){break b}c=g&1;if((g|0)==1){g=0;break c}e=g&-2;g=0;a=0;while(1){j=g<<2;l=J[j+h>>2];if(l){l=S(l);k=(l^31)<(k|0)?k:32-l|0}j=J[(j|4)+h>>2];if(j){j=S(j);k=(j^31)<(k|0)?k:32-j|0}g=g+2|0;a=a+2|0;if((e|0)!=(a|0)){continue}break}break c}qa();B()}if(!c){break b}a=J[(g<<2)+h>>2];if(!a){break b}a=S(a);k=(a^31)<(k|0)?k:32-a|0}t:{u:{switch(K[d+1679|0]){case 6:p=Zc(d+456|0,f);a=J[d+1652>>2];J[d+448>>2]=a;J[d+432>>2]=a;J[d+32>>2]=a;J[d+16>>2]=a;J[d+440>>2]=0;J[d+424>>2]=J[d+1648>>2];a=d+1648|0;J[d+444>>2]=a;c=J[d+444>>2];J[d+24>>2]=J[d+440>>2];J[d+28>>2]=c;J[d+428>>2]=a;J[d+420>>2]=k;a=J[d+428>>2];J[d+8>>2]=J[d+424>>2];J[d+12>>2]=a;n=ba-32|0;ba=n;J[p>>2]=J[d+420>>2];a=J[d+8>>2]-J[d+24>>2]|0;J[p+4>>2]=a;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){a=p+4|0;sa(b,J[b+4>>2],p,a);c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],a,p+8|0)}a=J[a>>2]}if(a){W=p+12|0;te(W);X=p+1068|0;a=X;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];Y=p+1088|0;a=Y;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];Z=p+1108|0;a=Z;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];J[n+24>>2]=J[d+32>>2];a=J[d+28>>2];J[n+16>>2]=J[d+24>>2];J[n+20>>2]=a;J[n+8>>2]=J[d+16>>2];a=J[d+12>>2];J[n>>2]=J[d+8>>2];J[n+4>>2]=a;c=0;g=0;i=ba+-64|0;ba=i;e=J[p+8>>2];J[i+48>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;v:{w:{if(e){if(e>>>0>=1073741824){break w}a=e<<2;c=oa(a);J[i+40>>2]=c;g=a+c|0;J[i+48>>2]=g;pa(c,0,a);J[i+44>>2]=g}a=J[p+1164>>2];k=J[a>>2];if(k){J[a+4>>2]=k;na(k);e=J[p+8>>2];g=J[i+44>>2];c=J[i+40>>2]}J[a+4>>2]=g;J[a>>2]=c;J[a+8>>2]=J[i+48>>2];c=0;J[i+48>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;a=0;x:{if(e){if(e>>>0>=1073741824){break x}k=e<<2;a=oa(k);J[i+40>>2]=a;c=a+k|0;J[i+48>>2]=c;pa(a,0,k);J[i+44>>2]=c}k=J[p+1176>>2];f=J[k>>2];if(f){J[k+4>>2]=f;na(f);c=J[i+44>>2];a=J[i+40>>2]}J[k+4>>2]=c;J[k>>2]=a;J[k+8>>2]=J[i+48>>2];h=J[n+20>>2];l=J[n+24>>2];f=J[n+4>>2];y=J[n+8>>2];c=J[n>>2];k=J[n+16>>2];J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;fb(i+40|0);a=J[i+56>>2]+J[i+60>>2]|0;e=(a>>>0)/113|0;a=J[J[i+44>>2]+(e<<2)>>2]+P(a-P(e,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=c-k;J[a+24>>2]=0;J[a+16>>2]=f;J[a+20>>2]=y;J[a+12>>2]=c;J[a+4>>2]=h;J[a+8>>2]=l;J[a>>2]=k;e=J[i+60>>2]+1|0;J[i+60>>2]=e;if(e){a=l;aa=a&-4;_=a&3;ca=p+1068|0;$=p+12|0;da=p+1108|0;ea=a>>>0<4;while(1){a=J[i+44>>2];g=J[i+56>>2];o=e-1|0;c=g+o|0;k=(c>>>0)/113|0;c=J[a+(k<<2)>>2]+P(c-P(k,113)|0,36)|0;T=J[c+32>>2];j=J[c+12>>2];k=J[c>>2];J[i+60>>2]=o;c=J[i+48>>2];if((((a|0)!=(c|0)?P(c-a>>2,113)-1|0:0)-(e+g|0)|0)+1>>>0>=226){na(J[c-4>>2]);J[i+48>>2]=J[i+48>>2]-4}J[n+16>>2]=k;J[n>>2]=j;a=J[p+1164>>2];c=J[p+1176>>2];J[i+32>>2]=J[n+24>>2];e=J[n+20>>2];J[i+24>>2]=J[n+16>>2];J[i+28>>2]=e;J[i+16>>2]=J[n+8>>2];e=J[n+4>>2];J[i+8>>2]=J[n>>2];J[i+12>>2]=e;U=P(T,12);v=a+U|0;q=v;D=c+U|0;a=D;e=0;g=J[p+8>>2];y:{z:{A:{B:{s=J[i+8>>2];o=J[i+24>>2];u=s-o|0;if(u>>>0>=64){if(!g){break z}E=J[p+1140>>2];F=J[a>>2];G=J[p+1128>>2];if((o|0)!=(s|0)){break B}g=0;while(1){a=g<<2;c=a+G|0;J[c>>2]=0;q=a+E|0;e=J[p>>2];a=J[a+F>>2];J[q>>2]=e-a;if((a|0)!=(e|0)){q=c;a=J[c>>2];c=u-a|0;J[q>>2]=a>>>0>>0?c:a}c=J[p+8>>2];g=g+1|0;if(c>>>0>g>>>0){continue}break}break A}if(g>>>0<2){break y}o=g-1|0;q=o&3;c=J[a>>2];a=0;C:{if(g-2>>>0<3){g=1;break C}r=o&-4;g=1;o=0;while(1){s=g+3|0;u=g+2|0;x=g+1|0;e=M[c+(e<<2)>>2]>M[c+(g<<2)>>2]?g:e;e=M[c+(e<<2)>>2]>M[c+(x<<2)>>2]?x:e;e=M[c+(e<<2)>>2]>M[c+(u<<2)>>2]?u:e;e=M[c+(e<<2)>>2]>M[c+(s<<2)>>2]?s:e;g=g+4|0;o=o+4|0;if((r|0)!=(o|0)){continue}break}}if(!q){break y}while(1){e=M[c+(e<<2)>>2]>M[c+(g<<2)>>2]?g:e;g=g+1|0;a=a+1|0;if((q|0)!=(a|0)){continue}break}break y}z=J[i+28>>2];C=J[q>>2];fa=u&1;q=o+1|0;ga=(q|0)!=(s|0);m=J[i+32>>2];ha=P(m,o)<<2;while(1){a=e<<2;r=a+G|0;J[r>>2]=0;c=J[p>>2];g=J[a+F>>2];x=c-g|0;J[a+E>>2]=x;if((c|0)!=(g|0)){x=J[a+C>>2]+(1<>2]|0;c=J[r>>2];if(fa){c=(x>>>0>M[A+ha>>2])+c|0;J[r>>2]=c;a=q}else{a=o}g=a;if(ga){while(1){a=(x>>>0>M[A+(P(g,m)<<2)>>2])+c|0;J[r>>2]=a;c=a+(x>>>0>M[A+(P(m,g+1|0)<<2)>>2])|0;J[r>>2]=c;g=g+2|0;if((s|0)!=(g|0)){continue}break}}a=u-c|0;J[r>>2]=a>>>0>c>>>0?a:c}c=J[p+8>>2];e=e+1|0;if(c>>>0>e>>>0){continue}break}}if(!c){e=0;break z}u=c&1;q=J[p+1128>>2];r=J[p+1140>>2];D:{if((c|0)==1){g=0;c=0;e=0;break D}x=c&-2;g=0;c=0;e=0;o=0;while(1){a=g<<2;E:{if(!J[a+r>>2]){a=c;break E}s=J[a+q>>2];a=c>>>0>s>>>0?c:s;e=c>>>0>>0?g:e}A=g|1;c=A<<2;F:{if(!J[c+r>>2]){c=a;break F}s=J[c+q>>2];c=a>>>0>s>>>0?a:s;e=a>>>0>>0?A:e}g=g+2|0;o=o+2|0;if((x|0)!=(o|0)){continue}break}}if(!u){break z}a=g<<2;if(!J[a+r>>2]){break z}e=M[a+q>>2]>c>>>0?g:e}Ib(p+1088|0,4,e)}c=J[p>>2];q=e<<2;g=J[q+J[D>>2]>>2];G:{H:{if((c|0)==(g|0)){break H}I:{J:{x=j-k|0;if(x>>>0<=2){g=J[p+1152>>2];J[g>>2]=e;c=1;a=J[p+8>>2];if(a>>>0>1){break J}break I}a=J[p+1164>>2];F=T+1|0;A=P(F,12);o=a+A|0;if((o|0)!=(v|0)){bb(o,J[v>>2],J[v+4>>2]);a=J[p+1164>>2]}a=q+J[a+A>>2]|0;r=J[a>>2]+(1<>2]=r;a=k;K:{if((j|0)==(a|0)){break K}G=J[h+24>>2];D=G+q|0;a=j;c=k;if(!l){if(r>>>0>M[D>>2]){break K}while(1){a=a-1|0;if((c|0)==(a|0)){a=c;break K}if(r>>>0<=M[(q+J[f+24>>2]|0)+(P(a,y)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(a|0)){continue}break}break K}while(1){g=P(c,l)<<2;if(r>>>0>M[g+D>>2]){c=c+1|0;if((c|0)!=(a|0)){continue}break K}while(1){a=a-1|0;if((c|0)==(a|0)){a=c;break K}v=J[f+24>>2]+(P(a,y)<<2)|0;if(r>>>0<=M[v+q>>2]){continue}break}s=g+G|0;E=0;g=0;o=0;if(!ea){while(1){u=g<<2;m=u+s|0;z=J[m>>2];C=m;m=v+u|0;J[C>>2]=J[m>>2];J[m>>2]=z;m=u|4;z=m+s|0;C=J[z>>2];m=v+m|0;J[z>>2]=J[m>>2];J[m>>2]=C;m=u|8;z=m+s|0;C=J[z>>2];m=v+m|0;J[z>>2]=J[m>>2];J[m>>2]=C;u=u|12;m=u+s|0;z=J[m>>2];u=v+u|0;J[m>>2]=J[u>>2];J[u>>2]=z;g=g+4|0;o=o+4|0;if((aa|0)!=(o|0)){continue}break}}if(_){while(1){o=g<<2;u=o+s|0;m=J[u>>2];o=o+v|0;J[u>>2]=J[o>>2];J[o>>2]=m;g=g+1|0;E=E+1|0;if((_|0)!=(E|0)){continue}break}}c=c+1|0;if((c|0)!=(a|0)){continue}break}}o=a-k|0;r=j-a|0;if((o|0)!=(r|0)){xc(da,o>>>0>>0)}c=S(x);v=c^31;g=x>>>1|0;L:{if(o>>>0>>0){if(!v){break L}s=g-o|0;c=1<<30-c;g=0;while(1){Ca((g<<5)+$|0,(c&s)!=0);c=c>>>1|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}break L}if(!v){break L}s=g-r|0;c=1<<30-c;g=0;while(1){Ca((g<<5)+$|0,(c&s)!=0);c=c>>>1|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}m=q;c=J[p+1176>>2];g=c+U|0;q=J[g>>2];v=m+q|0;J[v>>2]=J[v>>2]+1;bb(c+A|0,q,J[g+4>>2]);if((a|0)!=(k|0)){g=J[i+60>>2]+J[i+56>>2]|0;q=J[i+48>>2];c=J[i+44>>2];if((g|0)==(((c|0)!=(q|0)?P(q-c>>2,113)-1|0:0)|0)){fb(i+40|0);g=J[i+56>>2]+J[i+60>>2]|0;q=J[i+44>>2]}else{q=c}c=(g>>>0)/113|0;c=J[q+(c<<2)>>2]+P(g-P(c,113)|0,36)|0;J[c+32>>2]=T;J[c+28>>2]=o;J[c+24>>2]=e;J[c+16>>2]=h;J[c+12>>2]=a;J[c+4>>2]=h;J[c+8>>2]=l;J[c>>2]=k;J[c+20>>2]=l;J[i+60>>2]=J[i+60>>2]+1}if((a|0)==(j|0)){break H}g=J[i+60>>2]+J[i+56>>2]|0;k=J[i+48>>2];c=J[i+44>>2];if((g|0)==(((c|0)!=(k|0)?P(k-c>>2,113)-1|0:0)|0)){fb(i+40|0);g=J[i+56>>2]+J[i+60>>2]|0;q=J[i+44>>2]}else{q=c}c=(g>>>0)/113|0;c=J[q+(c<<2)>>2]+P(g-P(c,113)|0,36)|0;J[c+32>>2]=F;J[c+28>>2]=r;J[c+24>>2]=e;J[c+16>>2]=f;J[c+20>>2]=y;J[c+12>>2]=j;J[c+4>>2]=h;J[c>>2]=a;J[c+8>>2]=l;e=J[i+60>>2]+1|0;J[i+60>>2]=e;break G}while(1){e=(a-1|0)!=(e|0)?e+1|0:0;J[g+(c<<2)>>2]=e;a=J[p+8>>2];c=c+1|0;if(a>>>0>c>>>0){continue}break}}g=0;c=a;if((j|0)==(k|0)){break H}while(1){M:{if(!c){c=0;break M}j=J[h+24>>2]+(P(J[h+4>>2],g+k|0)<<2)|0;e=0;while(1){c=J[p>>2];o=J[J[p+1152>>2]+(e<<2)>>2]<<2;q=J[o+J[D>>2]>>2];if((c|0)!=(q|0)){Ib(ca,c-q|0,J[j+o>>2]);a=J[p+8>>2]}c=a;e=e+1|0;if(c>>>0>e>>>0){continue}break}}g=g+1|0;if((x|0)!=(g|0)){continue}break}}e=J[i+60>>2]}if(e){continue}break}}J[i+60>>2]=0;f=J[i+48>>2];e=J[i+44>>2];a=f-e|0;if(a>>>0>=9){while(1){na(J[e>>2]);e=J[i+44>>2]+4|0;J[i+44>>2]=e;f=J[i+48>>2];a=f-e|0;if(a>>>0>8){continue}break}}c=56;N:{switch((a>>>2|0)-1|0){case 1:c=113;case 0:J[i+56>>2]=c;break;default:break N}}O:{if((e|0)==(f|0)){break O}while(1){na(J[e>>2]);e=e+4|0;if((f|0)!=(e|0)){continue}break}a=J[i+48>>2];c=J[i+44>>2];if((a|0)==(c|0)){break O}J[i+48>>2]=a+((c-a|0)+3&-4)}a=J[i+40>>2];if(a){na(a)}ba=i- -64|0;break v}qa();B()}qa();B()}se(W,b);eb(X,b);eb(Y,b);eb(Z,b)}ba=n+32|0;_c(p);break t;case 5:c=Zc(d+456|0,f);a=J[d+1652>>2];J[d+416>>2]=a;J[d+400>>2]=a;J[d- -64>>2]=a;J[d+48>>2]=a;J[d+408>>2]=0;J[d+392>>2]=J[d+1648>>2];a=d+1648|0;J[d+412>>2]=a;f=J[d+412>>2];J[d+56>>2]=J[d+408>>2];J[d+60>>2]=f;J[d+396>>2]=a;J[d+420>>2]=k;a=J[d+396>>2];J[d+40>>2]=J[d+392>>2];J[d+44>>2]=a;a=Ae(c,d+56|0,d+40|0,d+420|0,b);_c(c);if(a){break t}break a;case 4:c=Zc(d+456|0,f);a=J[d+1652>>2];J[d+384>>2]=a;J[d+368>>2]=a;J[d+96>>2]=a;J[d+80>>2]=a;J[d+376>>2]=0;J[d+360>>2]=J[d+1648>>2];a=d+1648|0;J[d+380>>2]=a;f=J[d+380>>2];J[d+88>>2]=J[d+376>>2];J[d+92>>2]=f;J[d+364>>2]=a;J[d+420>>2]=k;a=J[d+364>>2];J[d+72>>2]=J[d+360>>2];J[d+76>>2]=a;a=Ae(c,d+88|0,d+72|0,d+420|0,b);_c(c);if(a){break t}break a;case 3:c=ze(d+456|0,f);a=J[d+1652>>2];J[d+352>>2]=a;J[d+336>>2]=a;J[d+128>>2]=a;J[d+112>>2]=a;J[d+344>>2]=0;J[d+328>>2]=J[d+1648>>2];a=d+1648|0;J[d+348>>2]=a;f=J[d+348>>2];J[d+120>>2]=J[d+344>>2];J[d+124>>2]=f;J[d+332>>2]=a;J[d+420>>2]=k;a=J[d+332>>2];J[d+104>>2]=J[d+328>>2];J[d+108>>2]=a;a=ye(c,d+120|0,d+104|0,d+420|0,b);xe(c);if(a){break t}break a;case 2:c=ze(d+456|0,f);a=J[d+1652>>2];J[d+320>>2]=a;J[d+304>>2]=a;J[d+160>>2]=a;J[d+144>>2]=a;J[d+312>>2]=0;J[d+296>>2]=J[d+1648>>2];a=d+1648|0;J[d+316>>2]=a;f=J[d+316>>2];J[d+152>>2]=J[d+312>>2];J[d+156>>2]=f;J[d+300>>2]=a;J[d+420>>2]=k;a=J[d+300>>2];J[d+136>>2]=J[d+296>>2];J[d+140>>2]=a;a=ye(c,d+152|0,d+136|0,d+420|0,b);xe(c);if(a){break t}break a;case 1:c=we(d+456|0,f);a=J[d+1652>>2];J[d+288>>2]=a;J[d+272>>2]=a;J[d+192>>2]=a;J[d+176>>2]=a;J[d+280>>2]=0;J[d+264>>2]=J[d+1648>>2];a=d+1648|0;J[d+284>>2]=a;f=J[d+284>>2];J[d+184>>2]=J[d+280>>2];J[d+188>>2]=f;J[d+268>>2]=a;J[d+420>>2]=k;a=J[d+268>>2];J[d+168>>2]=J[d+264>>2];J[d+172>>2]=a;a=ve(c,d+184|0,d+168|0,d+420|0,b);ue(c);if(a){break t}break a;case 0:break u;default:break a}}c=we(d+456|0,f);a=J[d+1652>>2];J[d+256>>2]=a;J[d+240>>2]=a;J[d+224>>2]=a;J[d+208>>2]=a;J[d+248>>2]=0;J[d+232>>2]=J[d+1648>>2];a=d+1648|0;J[d+252>>2]=a;f=J[d+252>>2];J[d+216>>2]=J[d+248>>2];J[d+220>>2]=f;J[d+236>>2]=a;J[d+420>>2]=k;a=J[d+236>>2];J[d+200>>2]=J[d+232>>2];J[d+204>>2]=a;a=ve(c,d+216|0,d+200|0,d+420|0,b);ue(c);if(!a){break a}}s=1}a=J[d+1660>>2];if(a){J[d+1664>>2]=a;na(a)}ba=d+1680|0;return s|0}function Xe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0;w=ba-160|0;ba=w;J[w+60>>2]=b;J[w+20>>2]=b;J[w+24>>2]=-1;h=w+16|0;J[h+112>>2]=0;J[h+116>>2]=0;n=J[h+44>>2]-J[h+4>>2]|0;J[h+120>>2]=n;J[h+124>>2]=n>>31;J[h+104>>2]=J[h+8>>2];s=ba-48|0;ba=s;if(d>>>0<=2){a:{d=d<<2;D=J[d+17292>>2];E=J[d+17280>>2];while(1){d=J[h+4>>2];b:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break b}d=La(h)}if((d|0)==32|d-9>>>0<5){continue}break}n=1;c:{d:{switch(d-43|0){case 0:case 2:break d;default:break c}}n=(d|0)==45?-1:1;d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break c}d=La(h)}e:{f:{while(1){if(H[g+1154|0]==(d|32)){g:{if(g>>>0>6){break g}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break g}d=La(h)}g=g+1|0;if((g|0)!=8){continue}break f}break}if((g|0)!=3){if((g|0)==8){break f}if(g>>>0<4){break e}if((g|0)==8){break f}}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(g>>>0<4){break f}d=(d|0)<0;while(1){if(!d){J[h+4>>2]=J[h+4>>2]-1}g=g-1|0;if(g>>>0>3){continue}break}}m=ba-16|0;ba=m;r=(C(Q(Q(n|0)*Q(Infinity))),v(2));d=r&2147483647;h:{if(d-8388608>>>0<=2130706431){l=(d>>>7|0)+1065353216|0;j=d<<25;break h}l=r>>>7|2147418112;j=r<<25;if(d>>>0>=2139095040){break h}l=0;j=0;if(!d){break h}g=d;d=S(d);Pa(m,g,0,0,0,d+81|0);i=J[m>>2];k=J[m+4>>2];l=J[m+12>>2]^65536|16265-d<<16;j=J[m+8>>2]}J[s>>2]=i;J[s+4>>2]=k;J[s+8>>2]=j;J[s+12>>2]=r&-2147483648|l;ba=m+16|0;i=J[s+8>>2];k=J[s+12>>2];j=J[s>>2];m=J[s+4>>2];break a}i:{j:{k:{if(g){break k}g=0;while(1){if(H[g+1434|0]!=(d|32)){break k}l:{if(g>>>0>1){break l}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break l}d=La(h)}g=g+1|0;if((g|0)!=3){continue}break}break j}m:{switch(g|0){case 0:n:{if((d|0)!=48){break n}g=J[h+4>>2];o:{if((g|0)!=J[h+104>>2]){J[h+4>>2]=g+1;g=K[g|0];break o}g=La(h)}if((g&-33)==88){f=ba-432|0;ba=f;d=J[h+4>>2];p:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0];break p}g=La(h)}q:{r:{while(1){if((g|0)!=48){s:{if((g|0)!=46){break q}d=J[h+4>>2];if((d|0)==J[h+104>>2]){break s}J[h+4>>2]=d+1;g=K[d|0];break r}}else{d=J[h+4>>2];if((d|0)!=J[h+104>>2]){x=1;J[h+4>>2]=d+1;g=K[d|0]}else{x=1;g=La(h)}continue}break}g=La(h)}e=1;if((g|0)!=48){break q}while(1){d=r;r=d-1|0;t=t-!d|0;d=J[h+4>>2];t:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0];break t}g=La(h)}if((g|0)==48){continue}break}x=1}m=1073676288;while(1){u:{d=g|32;v:{w:{F=g-48|0;if(F>>>0<10){break w}if((g|0)!=46&d-97>>>0>=6){break u}if((g|0)!=46){break w}if(e){break u}e=1;r=i;t=k;break v}d=(g|0)>57?d-87|0:F;x:{if((k|0)<=0&i>>>0<=7|(k|0)<0){p=d+(p<<4)|0;break x}if(!k&i>>>0<=28){$a(f+48|0,d);Ea(f+32|0,A,B,j,m,0,0,0,1073414144);A=J[f+32>>2];B=J[f+36>>2];j=J[f+40>>2];m=J[f+44>>2];Ea(f+16|0,J[f+48>>2],J[f+52>>2],J[f+56>>2],J[f+60>>2],A,B,j,m);_a(f,J[f+16>>2],J[f+20>>2],J[f+24>>2],J[f+28>>2],l,o,y,z);y=J[f+8>>2];z=J[f+12>>2];l=J[f>>2];o=J[f+4>>2];break x}if(G|!d){break x}Ea(f+80|0,A,B,j,m,0,0,0,1073610752);_a(f- -64|0,J[f+80>>2],J[f+84>>2],J[f+88>>2],J[f+92>>2],l,o,y,z);y=J[f+72>>2];z=J[f+76>>2];G=1;l=J[f+64>>2];o=J[f+68>>2]}i=i+1|0;k=i?k:k+1|0;x=1}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0]}else{g=La(h)}continue}break}y:{if(!x){d=J[h+116>>2];if((d|0)>0|(d|0)>=0){z:{d=J[h+4>>2];J[h+4>>2]=d-1;J[h+4>>2]=d-2;if(!e){break z}J[h+4>>2]=d-3}}qb(f+96|0,+(n|0)*0);l=J[f+96>>2];o=J[f+100>>2];i=J[f+108>>2];d=J[f+104>>2];break y}if((k|0)<=0&i>>>0<=7|(k|0)<0){j=i;m=k;while(1){p=p<<4;j=j+1|0;m=j?m:m+1|0;if((j|0)!=8|m){continue}break}}A:{B:{C:{if((g&-33)==80){j=Ye(h);d=ca;m=d;if(j|(d|0)!=-2147483648){break A}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){break C}break B}j=0;m=0;if(J[h+116>>2]<0){break A}}J[h+4>>2]=J[h+4>>2]-1}j=0;m=0}if(!p){qb(f+112|0,+(n|0)*0);l=J[f+112>>2];o=J[f+116>>2];i=J[f+124>>2];d=J[f+120>>2];break y}d=e?r:i;k=(e?t:k)<<2|d>>>30;d=j+(d<<2)|0;g=k+m|0;g=d>>>0>>0?g+1|0:g;i=d-32|0;k=g-(d>>>0<32)|0;d=k;if(i>>>0>0-D>>>0&(d|0)>=0|(d|0)>0){J[4804]=68;$a(f+160|0,n);Ea(f+144|0,J[f+160>>2],J[f+164>>2],J[f+168>>2],J[f+172>>2],-1,-1,-1,2147418111);Ea(f+128|0,J[f+144>>2],J[f+148>>2],J[f+152>>2],J[f+156>>2],-1,-1,-1,2147418111);l=J[f+128>>2];o=J[f+132>>2];i=J[f+140>>2];d=J[f+136>>2];break y}d=D-226|0;j=d>>31;if((k|0)>=(j|0)&d>>>0<=i>>>0|(j|0)<(k|0)){if((p|0)>=0){while(1){_a(f+416|0,l,o,y,z,0,0,0,-1073807360);d=Oe(l,o,y,z,1073610752);j=(d|0)>=0;d=j;_a(f+400|0,l,o,y,z,d?J[f+416>>2]:l,d?J[f+420>>2]:o,d?J[f+424>>2]:y,d?J[f+428>>2]:z);d=i;i=d-1|0;k=k-!d|0;y=J[f+408>>2];z=J[f+412>>2];l=J[f+400>>2];o=J[f+404>>2];p=j|p<<1;if((p|0)>=0){continue}break}}g=k-((D>>31)+(i>>>0>>0)|0)|0;d=(i-D|0)+32|0;g=d>>>0<32?g+1|0:g;j=d>>>0>>0&(g|0)<=0|(g|0)<0?(d|0)>0?d:0:E;D:{if((j|0)>=113){$a(f+384|0,n);r=J[f+392>>2];t=J[f+396>>2];A=J[f+384>>2];B=J[f+388>>2];g=0;d=0;break D}qb(f+352|0,pd(144-j|0));$a(f+336|0,n);A=J[f+336>>2];B=J[f+340>>2];r=J[f+344>>2];t=J[f+348>>2];$e(f+368|0,J[f+352>>2],J[f+356>>2],J[f+360>>2],J[f+364>>2],A,B,r,t);q=J[f+376>>2];u=J[f+380>>2];g=J[f+372>>2];d=J[f+368>>2]}k=!(p&1)&((Hb(l,o,y,z,0,0,0,0)|0)!=0&(j|0)<32);Lb(f+320|0,k+p|0);Ea(f+304|0,A,B,r,t,J[f+320>>2],J[f+324>>2],J[f+328>>2],J[f+332>>2]);j=d;_a(f+272|0,J[f+304>>2],J[f+308>>2],J[f+312>>2],J[f+316>>2],d,g,q,u);d=k;Ea(f+288|0,A,B,r,t,d?0:l,d?0:o,d?0:y,d?0:z);_a(f+256|0,J[f+288>>2],J[f+292>>2],J[f+296>>2],J[f+300>>2],J[f+272>>2],J[f+276>>2],J[f+280>>2],J[f+284>>2]);od(f+240|0,J[f+256>>2],J[f+260>>2],J[f+264>>2],J[f+268>>2],j,g,q,u);d=J[f+240>>2];l=J[f+244>>2];j=J[f+248>>2];r=J[f+252>>2];if(!Hb(d,l,j,r,0,0,0,0)){J[4804]=68}_e(f+224|0,d,l,j,r,i);l=J[f+224>>2];o=J[f+228>>2];i=J[f+236>>2];d=J[f+232>>2];break y}J[4804]=68;$a(f+208|0,n);Ea(f+192|0,J[f+208>>2],J[f+212>>2],J[f+216>>2],J[f+220>>2],0,0,0,65536);Ea(f+176|0,J[f+192>>2],J[f+196>>2],J[f+200>>2],J[f+204>>2],0,0,0,65536);l=J[f+176>>2];o=J[f+180>>2];i=J[f+188>>2];d=J[f+184>>2]}J[s+16>>2]=l;J[s+20>>2]=o;J[s+24>>2]=d;J[s+28>>2]=i;ba=f+432|0;i=J[s+24>>2];k=J[s+28>>2];j=J[s+16>>2];m=J[s+20>>2];break a}if(J[h+116>>2]<0){break n}J[h+4>>2]=J[h+4>>2]-1}g=h;f=n;h=0;e=ba-8976|0;ba=e;G=0-D|0;F=G-E|0;E:{F:{while(1){if((d|0)!=48){G:{if((d|0)!=46){break E}d=J[g+4>>2];if((d|0)==J[g+104>>2]){break G}J[g+4>>2]=d+1;d=K[d|0];break F}}else{d=J[g+4>>2];if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0]}else{d=La(g)}h=1;continue}break}d=La(g)}q=1;if((d|0)!=48){break E}while(1){d=i;i=d-1|0;k=k-!d|0;d=J[g+4>>2];H:{if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0];break H}d=La(g)}if((d|0)==48){continue}break}h=1}J[e+784>>2]=0;I:{J:{n=(d|0)==46;l=d-48|0;K:{L:{if(n|l>>>0<=9){while(1){M:{if(n&1){if(!q){i=j;k=m;q=1;break M}n=!h;break L}j=j+1|0;m=j?m:m+1|0;if((p|0)<=2044){x=(d|0)==48?x:j;n=(e+784|0)+(p<<2)|0;if(u){l=(P(J[n>>2],10)+d|0)-48|0}J[n>>2]=l;h=1;l=u+1|0;d=(l|0)==9;u=d?0:l;p=d+p|0;break M}if((d|0)==48){break M}J[e+8960>>2]=J[e+8960>>2]|1;x=18396}d=J[g+4>>2];N:{if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0];break N}d=La(g)}n=(d|0)==46;l=d-48|0;if(n|l>>>0<10){continue}break}}i=q?i:j;k=q?k:m;if(!(!h|(d&-33)!=69)){l=Ye(g);d=ca;o=d;O:{if(l|(d|0)!=-2147483648){break O}l=0;o=0;if(J[g+116>>2]<0){break O}J[g+4>>2]=J[g+4>>2]-1}k=k+o|0;i=i+l|0;k=i>>>0>>0?k+1|0:k;break J}n=!h;if((d|0)<0){break K}}if(J[g+116>>2]<0){break K}J[g+4>>2]=J[g+4>>2]-1}if(!n){break J}J[4804]=28;j=0;m=0;J[g+112>>2]=0;J[g+116>>2]=0;d=J[g+44>>2]-J[g+4>>2]|0;J[g+120>>2]=d;J[g+124>>2]=d>>31;J[g+104>>2]=J[g+8>>2];i=0;d=0;break I}d=J[e+784>>2];if(!d){qb(e,+(f|0)*0);j=J[e>>2];m=J[e+4>>2];i=J[e+12>>2];d=J[e+8>>2];break I}if(!(j>>>0>9&(m|0)>=0|(m|0)>0|((i|0)!=(j|0)|(k|0)!=(m|0))|(d>>>E|0?(E|0)<=30:0))){$a(e+48|0,f);Lb(e+32|0,d);Ea(e+16|0,J[e+48>>2],J[e+52>>2],J[e+56>>2],J[e+60>>2],J[e+32>>2],J[e+36>>2],J[e+40>>2],J[e+44>>2]);j=J[e+16>>2];m=J[e+20>>2];i=J[e+28>>2];d=J[e+24>>2];break I}if(i>>>0>G>>>1>>>0&(k|0)>=0|(k|0)>0){J[4804]=68;$a(e+96|0,f);Ea(e+80|0,J[e+96>>2],J[e+100>>2],J[e+104>>2],J[e+108>>2],-1,-1,-1,2147418111);Ea(e- -64|0,J[e+80>>2],J[e+84>>2],J[e+88>>2],J[e+92>>2],-1,-1,-1,2147418111);j=J[e+64>>2];m=J[e+68>>2];i=J[e+76>>2];d=J[e+72>>2];break I}d=D-226|0;g=i>>>0>>0;d=d>>31;if(g&(k|0)<=(d|0)|(d|0)>(k|0)){J[4804]=68;$a(e+144|0,f);Ea(e+128|0,J[e+144>>2],J[e+148>>2],J[e+152>>2],J[e+156>>2],0,0,0,65536);Ea(e+112|0,J[e+128>>2],J[e+132>>2],J[e+136>>2],J[e+140>>2],0,0,0,65536);j=J[e+112>>2];m=J[e+116>>2];i=J[e+124>>2];d=J[e+120>>2];break I}if(u){if((u|0)<=8){d=(e+784|0)+(p<<2)|0;g=J[d>>2];while(1){g=P(g,10);u=u+1|0;if((u|0)!=9){continue}break}J[d>>2]=g}p=p+1|0}P:{q=i;if((x|0)>(i|0)|(x|0)>=9|(i|0)>17){break P}if((q|0)==9){$a(e+192|0,f);Lb(e+176|0,J[e+784>>2]);Ea(e+160|0,J[e+192>>2],J[e+196>>2],J[e+200>>2],J[e+204>>2],J[e+176>>2],J[e+180>>2],J[e+184>>2],J[e+188>>2]);j=J[e+160>>2];m=J[e+164>>2];i=J[e+172>>2];d=J[e+168>>2];break I}if((q|0)<=8){$a(e+272|0,f);Lb(e+256|0,J[e+784>>2]);Ea(e+240|0,J[e+272>>2],J[e+276>>2],J[e+280>>2],J[e+284>>2],J[e+256>>2],J[e+260>>2],J[e+264>>2],J[e+268>>2]);$a(e+224|0,J[(0-q<<2)+17280>>2]);Ne(e+208|0,J[e+240>>2],J[e+244>>2],J[e+248>>2],J[e+252>>2],J[e+224>>2],J[e+228>>2],J[e+232>>2],J[e+236>>2]);j=J[e+208>>2];m=J[e+212>>2];i=J[e+220>>2];d=J[e+216>>2];break I}d=(P(q,-3)+E|0)+27|0;i=J[e+784>>2];if(i>>>d|0?(d|0)<=30:0){break P}$a(e+352|0,f);Lb(e+336|0,i);Ea(e+320|0,J[e+352>>2],J[e+356>>2],J[e+360>>2],J[e+364>>2],J[e+336>>2],J[e+340>>2],J[e+344>>2],J[e+348>>2]);$a(e+304|0,J[(q<<2)+17208>>2]);Ea(e+288|0,J[e+320>>2],J[e+324>>2],J[e+328>>2],J[e+332>>2],J[e+304>>2],J[e+308>>2],J[e+312>>2],J[e+316>>2]);j=J[e+288>>2];m=J[e+292>>2];i=J[e+300>>2];d=J[e+296>>2];break I}while(1){d=p;p=d-1|0;if(!J[(e+784|0)+(p<<2)>>2]){continue}break}u=0;i=(q|0)%9|0;Q:{if(!i){n=0;break Q}n=0;i=(q|0)<0?i+9|0:i;R:{if(!d){d=0;break R}j=J[(0-i<<2)+17280>>2];k=1e9/(j|0)|0;l=0;g=0;while(1){m=(e+784|0)+(g<<2)|0;h=J[m>>2];p=(h>>>0)/(j>>>0)|0;l=p+l|0;J[m>>2]=l;l=!l&(g|0)==(n|0);n=l?n+1&2047:n;q=l?q-9|0:q;l=P(k,h-P(j,p)|0);g=g+1|0;if((g|0)!=(d|0)){continue}break}if(!l){break R}J[(e+784|0)+(d<<2)>>2]=l;d=d+1|0}q=(q-i|0)+9|0}while(1){x=(e+784|0)+(n<<2)|0;S:{while(1){if(((q|0)!=36|M[x>>2]>=10384593)&(q|0)>=36){break S}p=d+2047|0;l=0;h=d;while(1){d=h;o=p&2047;h=(e+784|0)+(o<<2)|0;i=J[h>>2];m=i>>>3|0;j=i<<29;i=j+l|0;g=m;k=i>>>0>>0?g+1|0:g;if(!k&i>>>0<1000000001){l=0}else{l=Jl(i,k,1e9,0);i=i-Hl(l,ca,1e9,0)|0}J[h>>2]=i;h=(o|0)!=(d-1&2047)?d:(n|0)==(o|0)?d:i?d:o;p=o-1|0;if((n|0)!=(o|0)){continue}break}u=u-29|0;if(!l){continue}break}n=n-1&2047;if((n|0)==(h|0)){i=e+784|0;d=i+((h+2046&2047)<<2)|0;g=d;k=J[d>>2];d=h-1&2047;J[g>>2]=k|J[i+(d<<2)>>2]}q=q+9|0;J[(e+784|0)+(n<<2)>>2]=l;continue}break}T:{U:while(1){i=d+1&2047;l=(e+784|0)+((d-1&2047)<<2)|0;while(1){j=(q|0)>45?9:1;V:{while(1){h=n;g=0;W:{while(1){X:{k=g+h&2047;if((k|0)==(d|0)){break X}k=J[(e+784|0)+(k<<2)>>2];m=J[(g<<2)+17232>>2];if(k>>>0>>0){break X}if(k>>>0>m>>>0){break W}g=g+1|0;if((g|0)!=4){continue}}break}if((q|0)!=36){break W}i=0;k=0;g=0;j=0;m=0;while(1){l=g+h&2047;if((l|0)==(d|0)){d=d+1&2047;J[(e+(d<<2)|0)+780>>2]=0}Lb(e+768|0,J[(e+784|0)+(l<<2)>>2]);Ea(e+752|0,i,k,j,m,0,0,1342177280,1075633366);_a(e+736|0,J[e+752>>2],J[e+756>>2],J[e+760>>2],J[e+764>>2],J[e+768>>2],J[e+772>>2],J[e+776>>2],J[e+780>>2]);j=J[e+744>>2];m=J[e+748>>2];i=J[e+736>>2];k=J[e+740>>2];g=g+1|0;if((g|0)!=4){continue}break}$a(e+720|0,f);Ea(e+704|0,i,k,j,m,J[e+720>>2],J[e+724>>2],J[e+728>>2],J[e+732>>2]);j=J[e+712>>2];m=J[e+716>>2];i=0;k=0;l=J[e+704>>2];o=J[e+708>>2];x=u+113|0;n=x-D|0;q=(n|0)<(E|0);g=q?(n|0)>0?n:0:E;if((g|0)<=112){break V}break T}u=j+u|0;n=d;if((d|0)==(h|0)){continue}break}m=1e9>>>j|0;p=-1<>2];k=k+(o>>>j|0)|0;J[g>>2]=k;k=!k&(h|0)==(n|0);n=k?n+1&2047:n;q=k?q-9|0:q;g=P(m,o&p);h=h+1&2047;if((h|0)!=(d|0)){continue}break}if(!g){continue}if((i|0)!=(n|0)){J[(e+784|0)+(d<<2)>>2]=g;d=i;continue U}J[l>>2]=J[l>>2]|1;continue}break}break}qb(e+656|0,pd(225-g|0));$e(e+688|0,J[e+656>>2],J[e+660>>2],J[e+664>>2],J[e+668>>2],l,o,j,m);y=J[e+696>>2];z=J[e+700>>2];A=J[e+688>>2];B=J[e+692>>2];qb(e+640|0,pd(113-g|0));Ze(e+672|0,l,o,j,m,J[e+640>>2],J[e+644>>2],J[e+648>>2],J[e+652>>2]);i=J[e+672>>2];k=J[e+676>>2];r=J[e+680>>2];t=J[e+684>>2];od(e+624|0,l,o,j,m,i,k,r,t);_a(e+608|0,A,B,y,z,J[e+624>>2],J[e+628>>2],J[e+632>>2],J[e+636>>2]);j=J[e+616>>2];m=J[e+620>>2];l=J[e+608>>2];o=J[e+612>>2]}p=h+4&2047;Y:{if((p|0)==(d|0)){break Y}p=J[(e+784|0)+(p<<2)>>2];Z:{if(p>>>0<=499999999){if(!p&(h+5&2047)==(d|0)){break Z}qb(e+496|0,+(f|0)*.25);_a(e+480|0,i,k,r,t,J[e+496>>2],J[e+500>>2],J[e+504>>2],J[e+508>>2]);r=J[e+488>>2];t=J[e+492>>2];i=J[e+480>>2];k=J[e+484>>2];break Z}if((p|0)!=5e8){qb(e+592|0,+(f|0)*.75);_a(e+576|0,i,k,r,t,J[e+592>>2],J[e+596>>2],J[e+600>>2],J[e+604>>2]);r=J[e+584>>2];t=J[e+588>>2];i=J[e+576>>2];k=J[e+580>>2];break Z}I=+(f|0);if((h+5&2047)==(d|0)){qb(e+528|0,I*.5);_a(e+512|0,i,k,r,t,J[e+528>>2],J[e+532>>2],J[e+536>>2],J[e+540>>2]);r=J[e+520>>2];t=J[e+524>>2];i=J[e+512>>2];k=J[e+516>>2];break Z}qb(e+560|0,I*.75);_a(e+544|0,i,k,r,t,J[e+560>>2],J[e+564>>2],J[e+568>>2],J[e+572>>2]);r=J[e+552>>2];t=J[e+556>>2];i=J[e+544>>2];k=J[e+548>>2]}if((g|0)>111){break Y}Ze(e+464|0,i,k,r,t,0,0,0,1073676288);if(Hb(J[e+464>>2],J[e+468>>2],J[e+472>>2],J[e+476>>2],0,0,0,0)){break Y}_a(e+448|0,i,k,r,t,0,0,0,1073676288);r=J[e+456>>2];t=J[e+460>>2];i=J[e+448>>2];k=J[e+452>>2]}_a(e+432|0,l,o,j,m,i,k,r,t);od(e+416|0,J[e+432>>2],J[e+436>>2],J[e+440>>2],J[e+444>>2],A,B,y,z);j=J[e+424>>2];m=J[e+428>>2];l=J[e+416>>2];o=J[e+420>>2];_:{if((F-2|0)>=(x&2147483647)){break _}J[e+408>>2]=j;J[e+412>>2]=m&2147483647;J[e+400>>2]=l;J[e+404>>2]=o;Ea(e+384|0,l,o,j,m,0,0,0,1073610752);d=Oe(J[e+400>>2],J[e+404>>2],J[e+408>>2],J[e+412>>2],1081081856);d=(d|0)>=0;j=d?J[e+392>>2]:j;m=d?J[e+396>>2]:m;l=d?J[e+384>>2]:l;o=d?J[e+388>>2]:o;u=d+u|0;if(!((Hb(i,k,r,t,0,0,0,0)|0)!=0&(d?q&(g|0)!=(n|0):q))&(u+110|0)<=(F|0)){break _}J[4804]=68}_e(e+368|0,l,o,j,m,u);j=J[e+368>>2];m=J[e+372>>2];i=J[e+380>>2];d=J[e+376>>2]}J[s+40>>2]=d;J[s+44>>2]=i;J[s+32>>2]=j;J[s+36>>2]=m;ba=e+8976|0;i=J[s+40>>2];k=J[s+44>>2];j=J[s+32>>2];m=J[s+36>>2];break a;case 3:break j;default:break m}}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}J[4804]=28;break i}$:{d=J[h+4>>2];aa:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break aa}d=La(h)}if((d|0)==40){g=1;break $}k=2147450880;if(J[h+116>>2]<0){break a}J[h+4>>2]=J[h+4>>2]-1;break a}while(1){ba:{d=J[h+4>>2];ca:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break ca}d=La(h)}if(!(d-48>>>0<10|d-65>>>0<26|(d|0)==95)){if(d-97>>>0>=26){break ba}}g=g+1|0;continue}break}k=2147450880;if((d|0)==41){break a}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(!g){break a}while(1){g=g-1|0;if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(g){continue}break}break a}J[h+112>>2]=0;J[h+116>>2]=0;d=J[h+44>>2]-J[h+4>>2]|0;J[h+120>>2]=d;J[h+124>>2]=d>>31;J[h+104>>2]=J[h+8>>2]}}J[w>>2]=j;J[w+4>>2]=m;J[w+8>>2]=i;J[w+12>>2]=k;ba=s+48|0;d=J[w+8>>2];j=J[w+12>>2];i=J[w>>2];l=J[w+4>>2];if(c){J[c>>2]=((J[w+20>>2]+J[w+136>>2]|0)-J[w+60>>2]|0)+b}J[a+8>>2]=d;J[a+12>>2]=j;J[a>>2]=i;J[a+4>>2]=l;ba=w+160|0}function Kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=ba-32|0;ba=l;d=J[b+8>>2];a:{b:{if(K[b+352|0]){d=jf(d);f=J[b+12>>2];J[b+12>>2]=d;if(f){break b}break a}d=kf(d);f=J[b+12>>2];J[b+12>>2]=d;if(!f){break a}}qc(f)}c:{d=J[b+12>>2];d:{if(!(J[d+40>>2]!=((J[d+4>>2]-J[d>>2]>>2>>>0)/3|0)?d:0)){b=oa(32);H[b+29|0]=0;d=K[1828]|K[1829]<<8|(K[1830]<<16|K[1831]<<24);c=K[1824]|K[1825]<<8|(K[1826]<<16|K[1827]<<24);H[b+21|0]=c;H[b+22|0]=c>>>8;H[b+23|0]=c>>>16;H[b+24|0]=c>>>24;H[b+25|0]=d;H[b+26|0]=d>>>8;H[b+27|0]=d>>>16;H[b+28|0]=d>>>24;d=K[1823]|K[1824]<<8|(K[1825]<<16|K[1826]<<24);c=K[1819]|K[1820]<<8|(K[1821]<<16|K[1822]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;H[b+20|0]=d;H[b+21|0]=d>>>8;H[b+22|0]=d>>>16;H[b+23|0]=d>>>24;d=K[1815]|K[1816]<<8|(K[1817]<<16|K[1818]<<24);c=K[1811]|K[1812]<<8|(K[1813]<<16|K[1814]<<24);H[b+8|0]=c;H[b+9|0]=c>>>8;H[b+10|0]=c>>>16;H[b+11|0]=c>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1807]|K[1808]<<8|(K[1809]<<16|K[1810]<<24);c=K[1803]|K[1804]<<8|(K[1805]<<16|K[1806]<<24);H[b|0]=c;H[b+1|0]=c>>>8;H[b+2|0]=c>>>16;H[b+3|0]=c>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;J[a>>2]=-1;Ga(a+4|0,b,29);na(b);break d}j=b+200|0;d=j;J[d+128>>2]=2;J[d+132>>2]=7;J[d+64>>2]=b;c=da[J[J[b>>2]+32>>2]](b)|0;J[d+88>>2]=c;c=J[c+28>>2]-J[c+24>>2]>>2;e=J[d+108>>2];h=J[d+104>>2];d=e-h>>2;e:{if(c>>>0>d>>>0){Fa(j+104|0,c-d|0);h=J[j+104>>2];e=J[j+108>>2];break e}if(c>>>0>=d>>>0){break e}e=(c<<2)+h|0;J[j+108>>2]=e}if((e|0)!=(h|0)){h=0;while(1){n=J[j+104>>2];q=n+(h<<2)|0;d=J[j+88>>2];f=-1;f:{if((h|0)==-1){break f}f=0;c=J[J[d+24>>2]+(h<<2)>>2];if((c|0)==-1){break f}k=J[d+12>>2];g=1;d=c;while(1){f=f+1|0;e=g;g:{if(e&255){g=0;i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;if((d|0)==-1){d=c;break g}i=J[k+(d<<2)>>2];if((i|0)==-1){d=c;break g}d=c;p=i+1|0;i=(p>>>0)%3|0?p:i-2|0;if((i|0)==-1){break g}g=e;d=i;if((c|0)!=(d|0)){break g}break f}h:{if((d>>>0)%3|0){d=d-1|0;break h}d=d+2|0;if((d|0)==-1){break f}}d=J[k+(d<<2)>>2];if((d|0)==-1){break f}d=(d>>>0)%3|0?d-1|0:d+2|0;g=0}if((d|0)!=-1){continue}break}}J[q>>2]=f;h=h+1|0;if(h>>>0>2]-n>>2>>>0){continue}break}}c=j+92|0;h=J[j+88>>2];e=J[h>>2];d=J[h+4>>2]-e>>2;f=J[j+92>>2];g=J[j+96>>2]-f>>2;i:{if(d>>>0>g>>>0){Ld(c,d-g|0);h=J[j+88>>2];e=J[h>>2];break i}if(d>>>0>=g>>>0){break i}J[j+96>>2]=f+(d<<2)}d=J[h+4>>2];j:{if((d|0)==(e|0)){break j}d=d-e>>2;g=d>>>0<=1?1:d;i=g&3;d=J[c>>2];h=0;if(g-1>>>0>=3){g=g&-4;f=0;while(1){c=h<<2;J[c+d>>2]=J[c+e>>2];k=c|4;J[k+d>>2]=J[e+k>>2];k=c|8;J[k+d>>2]=J[e+k>>2];c=c|12;J[c+d>>2]=J[c+e>>2];h=h+4|0;f=f+4|0;if((g|0)!=(f|0)){continue}break}}if(!i){break j}while(1){c=h<<2;J[c+d>>2]=J[c+e>>2];h=h+1|0;m=m+1|0;if((i|0)!=(m|0)){continue}break}}c=(J[j+132>>2]-J[j+128>>2]|0)+1|0;e=J[j+140>>2];d=J[j+136>>2];g=(e-d|0)/12|0;k:{if(c>>>0>g>>>0){h=0;c=c-g|0;f=J[j+144>>2];d=J[j+140>>2];if(c>>>0<=(f-d|0)/12>>>0){if(c){e=d;d=P(c,12)-12|0;d=(d-((d>>>0)%12|0)|0)+12|0;d=pa(e,0,d)+d|0}J[j+140>>2]=d;break k}l:{m:{n:{e=J[j+136>>2];i=(d-e|0)/12|0;g=i+c|0;if(g>>>0<357913942){f=(f-e|0)/12|0;m=f<<1;f=f>>>0>=178956970?357913941:g>>>0>>0?m:g;if(f){if(f>>>0>=357913942){break n}h=oa(P(f,12))}g=P(i,12)+h|0;c=P(c,12)-12|0;i=(c-((c>>>0)%12|0)|0)+12|0;c=pa(g,0,i);i=c+i|0;f=P(f,12)+h|0;if((d|0)==(e|0)){break m}while(1){g=g-12|0;d=d-12|0;J[g>>2]=J[d>>2];J[g+4>>2]=J[d+4>>2];J[g+8>>2]=J[d+8>>2];J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if((d|0)!=(e|0)){continue}break}J[j+144>>2]=f;e=J[j+140>>2];J[j+140>>2]=i;d=J[j+136>>2];J[j+136>>2]=g;if((d|0)==(e|0)){break l}while(1){c=e-12|0;g=J[c>>2];if(g){J[e-8>>2]=g;na(g)}e=c;if((c|0)!=(d|0)){continue}break}break l}break c}xa();B()}J[j+144>>2]=f;J[j+140>>2]=i;J[j+136>>2]=c}if(d){na(d)}break k}if(c>>>0>>0){c=d+P(c,12)|0;if((c|0)!=(e|0)){while(1){d=e-12|0;g=J[d>>2];if(g){J[e-8>>2]=g;na(g)}e=d;if((d|0)!=(c|0)){continue}break}}J[j+140>>2]=c}}d=J[b+12>>2];Aa((J[d+28>>2]-J[d+24>>2]>>2)-J[d+44>>2]|0,J[J[b+4>>2]+44>>2]);d=J[b+12>>2];Aa(((J[d+4>>2]-J[d>>2]>>2>>>0)/3|0)-J[d+40>>2]|0,J[J[b+4>>2]+44>>2]);d=J[b+8>>2];c=J[d+100>>2];d=J[d+96>>2];H[l+16|0]=0;m=b+28|0;c=(c-d|0)/12|0;d=l+16|0;Na(m,c,d);c=J[b+12>>2];e=J[c+28>>2];c=J[c+24>>2];J[l+16>>2]=-1;wb(b+52|0,e-c>>2,d);d=J[b+40>>2];J[b+44>>2]=d;g=J[b+12>>2];c=J[g+4>>2]-J[g>>2]>>2;c=c-((c>>>0)%3|0)|0;o:{if(c>>>0<=J[b+48>>2]-d>>2>>>0){break o}if(c>>>0>=1073741824){break c}e=c<<2;c=oa(e);J[b+44>>2]=c;J[b+40>>2]=c;J[b+48>>2]=c+e;if(!d){break o}na(d);g=J[b+12>>2]}d=J[g+28>>2];c=J[g+24>>2];H[l+16|0]=0;Na(b+84|0,d-c>>2,l+16|0);J[b+164>>2]=-1;J[b+168>>2]=0;J[b+100>>2]=J[b+96>>2];J[b+112>>2]=J[b+108>>2];if(J[b+132>>2]){g=J[b+128>>2];if(g){while(1){d=J[g>>2];na(g);g=d;if(d){continue}break}}g=0;J[b+128>>2]=0;d=J[b+124>>2];p:{if(!d){break p}if(d>>>0>=4){f=d&-4;e=0;while(1){c=g<<2;J[c+J[b+120>>2]>>2]=0;J[J[b+120>>2]+(c|4)>>2]=0;J[J[b+120>>2]+(c|8)>>2]=0;J[J[b+120>>2]+(c|12)>>2]=0;g=g+4|0;e=e+4|0;if((f|0)!=(e|0)){continue}break}}d=d&3;if(!d){break p}f=0;while(1){J[J[b+120>>2]+(g<<2)>>2]=0;g=g+1|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}}J[b+132>>2]=0}J[b+144>>2]=0;d=J[b+12>>2];c=J[d+28>>2];d=J[d+24>>2];J[l+16>>2]=-1;wb(b+152|0,c-d>>2,l+16|0);d=J[b+72>>2];J[b+76>>2]=d;q=b+72|0;c=J[b+12>>2];c=J[c+4>>2]-J[c>>2]|0;e=(c>>2>>>0)/3|0;q:{if(e>>>0<=J[b+80>>2]-d>>2>>>0){break q}if((c|0)<0){break c}e=e<<2;c=oa(e);J[b+76>>2]=c;J[b+72>>2]=c;J[b+80>>2]=c+e;if(!d){break q}na(d)}J[b- -64>>2]=0;if(!kg(b)){b=oa(32);H[b+29|0]=0;d=K[1768]|K[1769]<<8|(K[1770]<<16|K[1771]<<24);c=K[1764]|K[1765]<<8|(K[1766]<<16|K[1767]<<24);H[b+21|0]=c;H[b+22|0]=c>>>8;H[b+23|0]=c>>>16;H[b+24|0]=c>>>24;H[b+25|0]=d;H[b+26|0]=d>>>8;H[b+27|0]=d>>>16;H[b+28|0]=d>>>24;d=K[1763]|K[1764]<<8|(K[1765]<<16|K[1766]<<24);c=K[1759]|K[1760]<<8|(K[1761]<<16|K[1762]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;H[b+20|0]=d;H[b+21|0]=d>>>8;H[b+22|0]=d>>>16;H[b+23|0]=d>>>24;d=K[1755]|K[1756]<<8|(K[1757]<<16|K[1758]<<24);c=K[1751]|K[1752]<<8|(K[1753]<<16|K[1754]<<24);H[b+8|0]=c;H[b+9|0]=c>>>8;H[b+10|0]=c>>>16;H[b+11|0]=c>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1747]|K[1748]<<8|(K[1749]<<16|K[1750]<<24);c=K[1743]|K[1744]<<8|(K[1745]<<16|K[1746]<<24);H[b|0]=c;H[b+1|0]=c>>>8;H[b+2|0]=c>>>16;H[b+3|0]=c>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;J[a>>2]=-1;Ga(a+4|0,b,29);na(b);break d}g=0;c=b;r:{if(K[b+352|0]){break r}b=J[c+8>>2];e=J[b+12>>2]-J[b+8>>2]|0;f=e>>2;b=f-1|0;d=J[c+176>>2];h=J[c+172>>2];i=(d-h|0)/136|0;s:{if(b>>>0>i>>>0){cg(c+172|0,b-i|0);break s}if(b>>>0>=i>>>0){break s}i=h+P(b,136)|0;if((i|0)!=(d|0)){while(1){b=d-136|0;h=J[b+116>>2];if(h){J[d-16>>2]=h;na(h)}h=J[d-32>>2];if(h){J[d-28>>2]=h;na(h)}pc(d-132|0);d=b;if((b|0)!=(i|0)){continue}break}}J[c+176>>2]=i}if((e|0)==4|(e|0)<=0){break r}i=(f|0)<=1?1:f;d=0;t:{while(1){h=J[J[J[c+8>>2]+8>>2]+(d<<2)>>2];if(J[h+56>>2]){k=P(g,136);b=k+J[c+172>>2]|0;J[b>>2]=d;e=J[b+104>>2];J[b+108>>2]=e;f=J[c+12>>2];f=J[f+4>>2]-J[f>>2]|0;n=f>>2;u:{if(n>>>0<=J[b+112>>2]-e>>2>>>0){break u}if((f|0)<0){break t}f=oa(f);J[b+108>>2]=f;J[b+104>>2]=f;J[b+112>>2]=f+(n<<2);if(!e){break u}na(e)}b=k+J[c+172>>2]|0;J[b+128>>2]=0;lf(b+4|0,J[c+8>>2],J[c+12>>2],h);g=g+1|0}d=d+1|0;if((i|0)!=(d|0)){continue}break}break r}break c}b=(J[c+176>>2]-J[c+172>>2]|0)/136|0;H[l+31|0]=b;d=J[J[c+4>>2]+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){sa(d,J[d+4>>2],l+31|0,l+32|0);b=K[l+31|0]}J[c+284>>2]=b&255;b=J[c+12>>2];g=J[b>>2];b=J[b+4>>2];ig(j);e=0;J[l+24>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;d=0;v:{w:{x:{b=b-g|0;if((b|0)>0){b=b>>>2|0;p=b>>>0<=1?1:b;g=0;while(1){b=(g>>>0)/3|0;s=b>>>5<<2;t=1<>2]>>2]&t){break y}if(Fc(J[c+12>>2],b)){break y}J[l+8>>2]=0;b=hg(c,b,l+8|0);Ca(j,b);i=J[l+8>>2];if(b){h=-1;f=-1;k=-1;z:{if((i|0)==-1){break z}n=J[J[c+12>>2]>>2];b=n+(i<<2)|0;h=i+1|0;h=(h>>>0)%3|0?h:i-2|0;if((h|0)!=-1){f=J[n+(h<<2)>>2]}h=J[b>>2];A:{if((i>>>0)%3|0){b=i-1|0;break A}b=i+2|0;k=-1;if((b|0)==-1){break z}}k=J[n+(b<<2)>>2]}b=J[c+84>>2];n=b+(h>>>3&536870908)|0;J[n>>2]=J[n>>2]|1<>>3&536870908)|0;J[h>>2]=J[h>>2]|1<>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];h=J[c+104>>2];B:{if(b>>>0>>0){J[b>>2]=1;J[c+100>>2]=b+4;break B}k=b;b=J[c+96>>2];k=k-b|0;n=k>>2;f=n+1|0;if(f>>>0>=1073741824){break c}r=n<<2;h=h-b|0;n=h>>>1|0;f=h>>>0>=2147483644?1073741823:f>>>0>>0?n:f;if(f){if(f>>>0>=1073741824){break x}h=oa(f<<2)}else{h=0}n=r+h|0;J[n>>2]=1;r=f<<2;f=ta(h,b,k);J[c+104>>2]=r+f;J[c+100>>2]=n+4;J[c+96>>2]=f;if(!b){break B}na(b)}b=s+J[m>>2]|0;J[b>>2]=t|J[b>>2];h=-1;if((i|0)!=-1){b=i+1|0;h=(b>>>0)%3|0?b:i-2|0}C:{if(e>>>0>>0){J[e>>2]=h;e=e+4|0;J[l+20>>2]=e;break C}f=e-d>>2;b=f+1|0;if(b>>>0>=1073741824){break c}k=o-d|0;o=k>>>1|0;b=k>>>0>=2147483644?1073741823:b>>>0>>0?o:b;if(b){if(b>>>0>=1073741824){break x}k=oa(b<<2)}else{k=0}f=k+(f<<2)|0;J[f>>2]=h;o=k+(b<<2)|0;b=f+4|0;if((d|0)!=(e|0)){while(1){f=f-4|0;e=e-4|0;J[f>>2]=J[e>>2];if((d|0)!=(e|0)){continue}break}}J[l+24>>2]=o;J[l+20>>2]=b;J[l+16>>2]=f;if(d){na(d)}d=f;e=b}if((i|0)==-1){break y}b=i+1|0;b=(b>>>0)%3|0?b:i-2|0;if((b|0)==-1){break y}b=J[J[J[c+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break y}f=(b>>>0)/3|0;if(J[J[m>>2]+(f>>>3&268435452)>>2]>>>f&1){break y}if(_f(c,b)){break y}break w}if((i|0)!=-1){b=i+1|0;b=(b>>>0)%3|0?b:i-2|0}else{b=-1}Hc(c,b,1);if(!_f(c,J[l+8>>2])){break w}}g=g+1|0;if((p|0)!=(g|0)){continue}break}}g=J[c+72>>2];b=J[c+76>>2];D:{if((g|0)==(b|0)){break D}f=b-4|0;if(g>>>0>=f>>>0){break D}while(1){i=J[g>>2];J[g>>2]=J[f>>2];J[f>>2]=i;f=f-4|0;g=g+4|0;if(f>>>0>g>>>0){continue}break}}fg(q,b,d,e);E:{if(J[c+172>>2]==J[c+176>>2]){break E}b=J[c+8>>2];e=J[b+100>>2];b=J[b+96>>2];H[l+8|0]=0;Na(m,(e-b|0)/12|0,l+8|0);g=J[c+72>>2];b=J[c+76>>2];if((g|0)==(b|0)){break E}while(1){eg(c,J[g>>2]);g=g+4|0;if((b|0)!=(g|0)){continue}break}}m=0;g=0;b=j+32|0;ya(j,b);if(!(!J[j+80>>2]|J[j+84>>2]<=0)){while(1){ya(J[j+80>>2]+(m<<5)|0,b);m=m+1|0;if((m|0)>2]){continue}break}}m=J[j+136>>2];if((m|0)!=J[j+140>>2]){while(1){e=P(g,12);f=e+m|0;Aa(J[f+4>>2]-J[f>>2]>>2,b);m=J[j+136>>2];e=e+m|0;f=J[e+4>>2];e=J[e>>2];if((f|0)!=(e|0)){ee(e,f-e>>2,1,0,b);m=J[j+136>>2]}g=g+1|0;if(g>>>0<(J[j+140>>2]-m|0)/12>>>0){continue}break}}Aa(J[c+324>>2],J[J[c+4>>2]+44>>2]);Aa(J[c+168>>2],J[J[c+4>>2]+44>>2]);if(!dg(c)){b=oa(32);H[b+28|0]=0;c=K[1909]|K[1910]<<8|(K[1911]<<16|K[1912]<<24);H[b+24|0]=c;H[b+25|0]=c>>>8;H[b+26|0]=c>>>16;H[b+27|0]=c>>>24;c=K[1905]|K[1906]<<8|(K[1907]<<16|K[1908]<<24);e=K[1901]|K[1902]<<8|(K[1903]<<16|K[1904]<<24);H[b+16|0]=e;H[b+17|0]=e>>>8;H[b+18|0]=e>>>16;H[b+19|0]=e>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1897]|K[1898]<<8|(K[1899]<<16|K[1900]<<24);e=K[1893]|K[1894]<<8|(K[1895]<<16|K[1896]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1889]|K[1890]<<8|(K[1891]<<16|K[1892]<<24);e=K[1885]|K[1886]<<8|(K[1887]<<16|K[1888]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,28);na(b);break v}b=J[J[c+4>>2]+44>>2];e=J[b+20>>2];if(!J[b+16>>2]&(e|0)<=0|(e|0)<0){sa(b,J[b+4>>2],J[c+232>>2],J[c+236>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break v}xa();B()}b=oa(48);H[b+32|0]=0;c=K[1703]|K[1704]<<8|(K[1705]<<16|K[1706]<<24);e=K[1699]|K[1700]<<8|(K[1701]<<16|K[1702]<<24);H[b+24|0]=e;H[b+25|0]=e>>>8;H[b+26|0]=e>>>16;H[b+27|0]=e>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1695]|K[1696]<<8|(K[1697]<<16|K[1698]<<24);e=K[1691]|K[1692]<<8|(K[1693]<<16|K[1694]<<24);H[b+16|0]=e;H[b+17|0]=e>>>8;H[b+18|0]=e>>>16;H[b+19|0]=e>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1687]|K[1688]<<8|(K[1689]<<16|K[1690]<<24);e=K[1683]|K[1684]<<8|(K[1685]<<16|K[1686]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1679]|K[1680]<<8|(K[1681]<<16|K[1682]<<24);e=K[1675]|K[1676]<<8|(K[1677]<<16|K[1678]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,32);na(b)}if(!d){break d}na(d)}ba=l+32|0;return}qa();B()}function el(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,da=0,ea=0,fa=0;i=ba-224|0;ba=i;J[a+8>>2]=e;C=a+32|0;h=J[C>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0>>0){Fa(C,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){d=g;break c}h=1;f=d-1|0;s=f&1;d:{if((d|0)==2){d=g;break d}y=f&-2;d=g;while(1){j=(h<<2)+b|0;f=J[j+4>>2];j=J[j>>2];l=(j|0)<(d|0);d=l?j:d;t=(d|0)>(f|0);d=t?f:d;j=l?g:(g|0)<(j|0)?j:g;g=t?j:(f|0)>(j|0)?f:j;h=h+2|0;k=k+2|0;if((y|0)!=(k|0)){continue}break}}if(!s){break c}f=J[(h<<2)+b>>2];h=(f|0)<(d|0);d=h?f:d;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=d;f=g-d|0;d=(g>>31)-((d>>31)+(d>>>0>g>>>0)|0)|0;if(!d&f>>>0>2147483646|d){break b}d=f+1|0;J[a+20>>2]=d;f=d>>>1|0;J[a+24>>2]=f;J[a+28>>2]=0-f;if(d&1){break b}J[a+24>>2]=f-1}Z=J[a+52>>2];z=J[a+48>>2];J[i+184>>2]=0;J[i+188>>2]=0;J[i+176>>2]=0;J[i+180>>2]=0;J[i+168>>2]=0;J[i+172>>2]=0;J[i+160>>2]=0;J[i+164>>2]=0;J[i+152>>2]=0;J[i+156>>2]=0;J[i+144>>2]=0;J[i+148>>2]=0;e:{if(!e){g=0;d=0;break e}Fa(i+144|0,e);g=J[i+156>>2];d=J[i+160>>2]}d=d-g>>2;f:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break f}J[i+160>>2]=(e<<2)+g;break f}Fa(i+144|12,e-d|0)}f=J[i+168>>2];d=J[i+172>>2]-f>>2;g:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break g}J[i+172>>2]=f+(e<<2);break g}Fa(i+168|0,e-d|0)}h:{i:{f=J[i+180>>2];d=J[i+184>>2]-f>>2;j:{k:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[i+184>>2]=f+(e<<2)}J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0;if(e){break k}d=1;break j}Fa(i+180|0,e-d|0);J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0}if(e>>>0>=1073741824){break i}d=e<<2;f=oa(d);J[i+128>>2]=f;h=d+f|0;J[i+136>>2]=h;pa(f,0,d);J[i+132>>2]=h;d=0}A=a+152|0;h=J[a+152>>2];f=J[a+156>>2]-h>>2;l:{m:{if(f>>>0>>0){Fa(A,e-f|0);J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;d=i- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;break m}if(e>>>0>>0){J[a+156>>2]=h+(e<<2)}J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;f=i- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;s=0;if(d){break l}}d=e<<2;q=oa(d);s=pa(q,0,d)+d|0}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break h}L=e&-2;M=e&1;_=e&-4;S=e&3;N=e-1|0;U=e<<2;O=a+112|0;y=d>>>2|0;Q=s-q|0;D=Q>>2;X=(Q-4&-4)+4|0;$=i+36|0;aa=i+24|0;while(1){f=J[a+56>>2];d=J[f>>2];n:{o:{t=y-1|0;if(t>>>0>2]-d>>2>>>0){f=0;j=0;k=J[d+(t<<2)>>2];p:{if((k|0)==-1){break p}o=1;d=k+2|0;j=(k>>>0)%3|0;u=j?k-1|0:d;E=1<>2];G=l+(u>>>3&536870908)|0;h=0;I=(j|0)!=0|(d|0)!=-1;d=k;while(1){q:{if(J[l+(d>>>3&536870908)>>2]>>>d&1){break q}j=J[J[J[z+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break q}n=J[Z>>2];g=J[z+28>>2];m=J[n+(J[g+(j<<2)>>2]<<2)>>2];if((m|0)>=(t|0)){break q}p=j+1|0;p=J[n+(J[g+(((p>>>0)%3|0?p:j-2|0)<<2)>>2]<<2)>>2];if((p|0)>=(t|0)){break q}g=J[n+(J[g+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((g|0)>=(t|0)){break q}r:{if(!e){break r}j=J[(i+144|0)+P(h,12)>>2];n=P(e,g);p=P(e,p);x=P(e,m);g=0;m=0;if(N){while(1){J[j+(g<<2)>>2]=(J[(g+n<<2)+b>>2]+J[(g+p<<2)+b>>2]|0)-J[(g+x<<2)+b>>2];w=g|1;J[j+(w<<2)>>2]=(J[(n+w<<2)+b>>2]+J[(p+w<<2)+b>>2]|0)-J[(x+w<<2)+b>>2];g=g+2|0;m=m+2|0;if((L|0)!=(m|0)){continue}break}}if(!M){break r}J[j+(g<<2)>>2]=(J[(g+n<<2)+b>>2]+J[(g+p<<2)+b>>2]|0)-J[(g+x<<2)+b>>2]}j=4;h=h+1|0;if((h|0)==4){break p}}s:{if(o&1){g=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:g;if((j|0)==-1|J[l+(j>>>3&536870908)>>2]>>>j&1){break s}j=J[J[J[z+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break s}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break s}t:{if((d>>>0)%3|0){g=d-1|0;break t}g=d+2|0;d=-1;if((g|0)==-1){break s}}d=-1;if(J[l+(g>>>3&536870908)>>2]>>>g&1){break s}j=J[J[J[z+64>>2]+12>>2]+(g<<2)>>2];if((j|0)==-1){break s}if((j>>>0)%3|0){d=j-1|0;break s}d=j+2|0}if((d|0)==(k|0)){j=h;break p}if((d|0)==-1&o){if(!I){j=h;break p}if(E&J[G>>2]){j=h;break p}d=J[J[J[z+64>>2]+12>>2]+(u<<2)>>2];if((d|0)==-1){j=h;break p}o=0;d=(d>>>0)%3|0?d-1|0:d+2|0}j=h;if((d|0)!=-1){continue}break}}H[i+16|0]=0;J[i+8>>2]=0;J[i+12>>2]=0;J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;I=P(e,t)<<2;x=I+b|0;k=(P(y-2|0,e)<<2)+b|0;l=J[A>>2];d=0;if(e){while(1){g=f<<2;h=J[g+k>>2]-J[g+x>>2]|0;J[g+q>>2]=h;J[g+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=d;d=h>>31;d=g+((d^h)-d|0)|0;f=f+1|0;if((f|0)!=(e|0)){continue}break}}f=i+200|0;Db(f,O,l,e);l=Cb(f);h=J[f+12>>2];f=J[f+16>>2];h=(((h-f|0)+1|0)/64|0)+f<<3;n=f<<3;f=h+n|0;h=(h>>31)+(n>>31)|0;g=ca+(f>>>0>>0?h+1|0:h)|0;h=f;f=f+l|0;h=h>>>0>f>>>0?g+1|0:g;E=(j|0)<=0;if(!E){o=(j<<3)-8|0;g=o+(i+48|0)|0;n=g;l=J[g>>2];g=J[g+4>>2];l=j+l|0;g=l>>>0>>0?g+1|0:g;J[n>>2]=l;J[n+4>>2]=g;v=W(Eb(l,J[o+(i+80|0)>>2])*(+(l>>>0)+ +(g|0)*4294967296));u:{if(R(v)<0x8000000000000000){l=R(v)>=1?~~(v>0?T(V(v*2.3283064365386963e-10),4294967295):W((v-+(~~v>>>0>>>0))*2.3283064365386963e-10))>>>0:0;g=~~v>>>0;break u}l=-2147483648;g=0}f=f+g|0;h=f}J[i+20>>2]=0;H[i+16|0]=0;J[i+8>>2]=f;J[i+12>>2]=d;tc(aa,k,k+U|0);bb($,q,s);v:{w:{x:{if(E){break x}n=(i+124|0)+j|0;l=n-1|0;Y=j<<3;d=Y-8|0;G=d+(i+48|0)|0;da=d+(i+80|0)|0;o=1;w=0;while(1){d=i+124|0;pa(d,1,j);w=w+1|0;pa(d,0,w);y:{z:while(1){if(e){pa(J[i+128>>2],0,U)}m=0;d=J[i+128>>2];u=0;while(1){if(!K[(i+124|0)+m|0]){A:{if(!e){break A}f=J[(i+144|0)+P(m,12)>>2];h=0;g=0;k=0;if(e>>>0>3){while(1){p=g<<2;r=p+d|0;J[r>>2]=J[r>>2]+J[f+p>>2];r=p|4;F=r+d|0;J[F>>2]=J[F>>2]+J[f+r>>2];r=p|8;F=r+d|0;J[F>>2]=J[F>>2]+J[f+r>>2];p=p|12;r=p+d|0;J[r>>2]=J[r>>2]+J[f+p>>2];g=g+4|0;k=k+4|0;if((_|0)!=(k|0)){continue}break}}if(!S){break A}while(1){k=g<<2;p=k+d|0;J[p>>2]=J[p>>2]+J[f+k>>2];g=g+1|0;h=h+1|0;if((S|0)!=(h|0)){continue}break}}u=1<>2];B:{C:{D:{if(e){g=0;d=0;if(N){break D}break C}k=J[A>>2];h=0;break B}while(1){h=g<<2;k=h+f|0;J[k>>2]=J[k>>2]/(o|0);h=(h|4)+f|0;J[h>>2]=J[h>>2]/(o|0);g=g+2|0;d=d+2|0;if((L|0)!=(d|0)){continue}break}}if(M){d=(g<<2)+f|0;J[d>>2]=J[d>>2]/(o|0)}k=J[A>>2];f=J[i+128>>2];d=0;h=0;if(!e){break B}while(1){m=d<<2;g=J[m+f>>2]-J[m+x>>2]|0;J[m+q>>2]=g;J[k+m>>2]=(g|0)<0?(g^-1)<<1|1:g<<1;m=h;h=g>>31;h=m+((h^g)-h|0)|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=i+200|0;Db(d,O,k,e);k=Cb(d);g=J[d+12>>2];d=J[d+16>>2];g=(((g-d|0)+1|0)/64|0)+d<<3;m=d<<3;d=g+m|0;d=d+k|0;k=J[G+4>>2];g=J[G>>2];v=W(Eb(g,J[da>>2]+o|0)*(+(g>>>0)+ +(k|0)*4294967296));E:{if(R(v)<0x8000000000000000){g=~~v>>>0;break E}g=0}d=g+d|0;g=J[i+8>>2];if(!((d|0)>=(g|0)&((d|0)>(g|0)|(h|0)>=J[i+12>>2]))){J[i+20>>2]=o;H[i+16|0]=u;J[i+8>>2]=d;J[i+12>>2]=h;k=J[i+132>>2];m=k-f|0;g=m>>2;d=J[i+32>>2];h=J[i+24>>2];F:{if(g>>>0<=d-h>>2>>>0){m=J[i+28>>2]-h|0;d=m+f|0;u=m>>2;m=u>>>0>>0?d:k;p=m-f|0;if((f|0)!=(m|0)){ta(h,f,p)}if(g>>>0>u>>>0){g=J[i+28>>2];if((k|0)==(m|0)){break F}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((k|0)!=(d|0)){continue}break}break F}g=h+p|0;break F}if(h){J[i+28>>2]=h;na(h);J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;d=0}if((m|0)<0){break w}h=d>>>1|0;d=d>>>0>=2147483644?1073741823:g>>>0>>0?h:g;if(d>>>0>=1073741824){break w}d=d<<2;g=oa(d);J[i+24>>2]=g;J[i+32>>2]=d+g;if((f|0)==(k|0)){break F}d=(m-4&-4)+4|0;g=ua(g,f,d)+d|0}J[i+28>>2]=g;d=J[i+44>>2];f=J[i+36>>2];G:{if(d-f>>2>>>0>=D>>>0){h=J[i+40>>2]-f|0;d=h+q|0;k=h>>2;h=k>>>0>>0?d:s;g=h-q|0;if((h|0)!=(q|0)){ta(f,q,g)}if(k>>>0>>0){g=J[i+40>>2];if((h|0)==(s|0)){break G}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((s|0)!=(d|0)){continue}break}break G}g=f+g|0;break G}if(f){J[i+40>>2]=f;na(f);J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;d=0}if((Q|0)<0){break v}f=d>>>1|0;d=d>>>0>=2147483644?1073741823:f>>>0>D>>>0?f:D;if(d>>>0>=1073741824){break v}d=d<<2;g=oa(d);J[i+36>>2]=g;J[i+44>>2]=d+g;if((q|0)==(s|0)){break G}g=ua(g,q,X)+X|0}J[i+40>>2]=g}if((l|0)==(i+124|0)){break y}g=K[l|0];d=-1;while(1){k=g&255;f=d-1|0;h=f+n|0;g=K[h|0];if(k>>>0>g>>>0){f=n;while(1){f=f-1|0;k=K[f|0];if(k>>>0<=g>>>0){continue}break}H[h|0]=k;H[f|0]=g;if((d|0)==-1){continue z}g=d+n|0;d=l;while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}continue z}d=f;if((h|0)!=(i+124|0)){continue}break}break}f=i+124|0;g=f;d=l;if(f>>>0>=d>>>0){break y}while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}}o=o+1|0;if((j|0)!=(w|0)){continue}break}if((j|0)<=0){break x}h=J[i+20>>2];g=h;d=i+Y|0;f=g+J[d+72>>2]|0;h=J[d+76>>2]+(g>>31)|0;J[d+72>>2]=f;J[d+76>>2]=f>>>0>>0?h+1|0:h}if(!e){break n}d=J[A>>2];g=0;f=J[i+36>>2];k=0;if(!N){break o}while(1){l=g<<2;h=J[l+f>>2];J[d+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;l=l|4;h=J[l+f>>2];J[d+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=g+2|0;k=k+2|0;if((L|0)!=(k|0)){continue}break}break o}qa();B()}qa();B()}ra();B()}if(!M){break n}h=g<<2;f=J[h+f>>2];J[d+h>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}Nc(i+200|0,O,J[A>>2],e);H:{if(E){break H}g=P(j,12)+a|0;d=0;while(1){I:{k=J[g+56>>2];l=k<<5;f=J[g+52>>2];J:{if(!(K[i+16|0]>>>d&1)){h=f;K:{if((f|0)!=(l|0)){break K}if((f+1|0)<0){break I}L:{if(f>>>0<=1073741822){k=k<<6;l=(f&-32)+32|0;l=k>>>0>l>>>0?k:l;h=f;if(f>>>0>=l>>>0){break K}if((l|0)>=0){break L}break I}l=2147483647;h=-1;if(f>>>0>=2147483647){break K}}l=(l-1>>>5|0)+1|0;h=oa(l<<2);k=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;M:{N:{if(!f){break N}n=f>>>5|0;if(f>>>0>=32){ta(h,k,n<<2)}o=f&31;if(!o){break N}n=n<<2;m=n+h|0;o=-1>>>32-o|0;J[m>>2]=J[m>>2]&(o^-1)|o&J[k+n>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;break M}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;h=f;if(!k){break K}}na(k);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0<=1073741822){k=k<<6;l=(f&-32)+32|0;l=k>>>0>l>>>0?k:l;h=f;if(f>>>0>=l>>>0){break O}if((l|0)<0){break I}break P}l=2147483647;h=-1;if(f>>>0>=2147483647){break O}}l=(l-1>>>5|0)+1|0;h=oa(l<<2);k=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;Q:{R:{if(!f){break R}n=f>>>5|0;if(f>>>0>=32){ta(h,k,n<<2)}o=f&31;if(!o){break R}n=n<<2;m=n+h|0;o=-1>>>32-o|0;J[m>>2]=J[m>>2]&(o^-1)|o&J[k+n>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;break Q}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;h=f;if(!k){break O}}na(k);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;k=J[f>>2];ea=f,fa=Ll(h)&k,J[ea>>2]=fa}d=d+1|0;if((j|0)!=(d|0)){continue}break H}break}qa();B()}g=J[a+8>>2];if((g|0)>0){n=c+I|0;d=J[C>>2];l=0;k=J[i+24>>2];while(1){h=d;if((g|0)>0){h=J[C>>2];g=0;while(1){f=g<<2;j=J[f+k>>2];o=J[a+16>>2];S:{if((j|0)>(o|0)){J[f+h>>2]=o;break S}f=f+h|0;o=J[a+12>>2];if((o|0)>(j|0)){J[f>>2]=o;break S}J[f>>2]=j}g=g+1|0;if((g|0)>2]){continue}break}}j=l<<2;f=j+n|0;j=J[j+x>>2]-J[h+j>>2]|0;J[f>>2]=j;T:{if((j|0)>2]){g=j+J[a+20>>2]|0}else{if((j|0)<=J[a+24>>2]){break T}g=j-J[a+20>>2]|0}J[f>>2]=g}k=h;g=J[a+8>>2];l=l+1|0;if((g|0)>(l|0)){continue}break}}d=J[i+36>>2];if(d){J[i+40>>2]=d;na(d)}d=J[i+24>>2];if(d){J[i+28>>2]=d;na(d)}d=(y|0)>2;y=t;if(d){continue}break}break h}qa();B()}if((e|0)>0){pa(J[i+144>>2],0,e<<2)}g=J[a+8>>2];if((g|0)>0){d=J[a+32>>2];l=0;k=J[i+144>>2];while(1){h=d;if((g|0)>0){h=J[C>>2];g=0;while(1){e=g<<2;f=J[e+k>>2];j=J[a+16>>2];U:{if((f|0)>(j|0)){J[e+h>>2]=j;break U}e=e+h|0;j=J[a+12>>2];if((j|0)>(f|0)){J[e>>2]=j;break U}J[e>>2]=f}g=g+1|0;if((g|0)>2]){continue}break}}f=l<<2;e=f+c|0;f=J[b+f>>2]-J[f+h>>2]|0;J[e>>2]=f;V:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break V}f=f-J[a+20>>2]|0}J[e>>2]=f}k=h;g=J[a+8>>2];l=l+1|0;if((g|0)>(l|0)){continue}break}}if(q){na(q)}a=J[i+128>>2];if(a){J[i+132>>2]=a;na(a)}a=J[i+180>>2];if(a){J[i+184>>2]=a;na(a)}a=J[i+168>>2];if(a){J[i+172>>2]=a;na(a)}a=J[i+156>>2];if(a){J[i+160>>2]=a;na(a)}a=J[i+144>>2];if(a){J[i+148>>2]=a;na(a)}ba=i+224|0;return 1}function Wk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,da=0,ea=0,fa=0;i=ba-224|0;ba=i;J[a+8>>2]=e;z=a+32|0;h=J[z>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0>>0){Fa(z,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){d=g;break c}h=1;f=d-1|0;w=f&1;d:{if((d|0)==2){d=g;break d}u=f&-2;d=g;while(1){j=(h<<2)+b|0;f=J[j+4>>2];j=J[j>>2];l=(j|0)<(d|0);d=l?j:d;m=(d|0)>(f|0);d=m?f:d;j=l?g:(g|0)<(j|0)?j:g;g=m?j:(f|0)>(j|0)?f:j;h=h+2|0;k=k+2|0;if((u|0)!=(k|0)){continue}break}}if(!w){break c}f=J[(h<<2)+b>>2];h=(f|0)<(d|0);d=h?f:d;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=d;f=g-d|0;d=(g>>31)-((d>>31)+(d>>>0>g>>>0)|0)|0;if(!d&f>>>0>2147483646|d){break b}d=f+1|0;J[a+20>>2]=d;f=d>>>1|0;J[a+24>>2]=f;J[a+28>>2]=0-f;if(d&1){break b}J[a+24>>2]=f-1}Z=J[a+52>>2];N=J[a+48>>2];J[i+184>>2]=0;J[i+188>>2]=0;J[i+176>>2]=0;J[i+180>>2]=0;J[i+168>>2]=0;J[i+172>>2]=0;J[i+160>>2]=0;J[i+164>>2]=0;J[i+152>>2]=0;J[i+156>>2]=0;J[i+144>>2]=0;J[i+148>>2]=0;e:{if(!e){g=0;d=0;break e}Fa(i+144|0,e);g=J[i+156>>2];d=J[i+160>>2]}d=d-g>>2;f:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break f}J[i+160>>2]=(e<<2)+g;break f}Fa(i+144|12,e-d|0)}f=J[i+168>>2];d=J[i+172>>2]-f>>2;g:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break g}J[i+172>>2]=f+(e<<2);break g}Fa(i+168|0,e-d|0)}h:{i:{f=J[i+180>>2];d=J[i+184>>2]-f>>2;j:{k:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[i+184>>2]=f+(e<<2)}J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0;if(e){break k}d=1;break j}Fa(i+180|0,e-d|0);J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0}if(e>>>0>=1073741824){break i}d=e<<2;f=oa(d);J[i+128>>2]=f;h=d+f|0;J[i+136>>2]=h;pa(f,0,d);J[i+132>>2]=h;d=0}x=a+152|0;h=J[a+152>>2];f=J[a+156>>2]-h>>2;l:{m:{if(f>>>0>>0){Fa(x,e-f|0);J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;d=i- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;break m}if(e>>>0>>0){J[a+156>>2]=h+(e<<2)}J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;f=i- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;u=0;if(d){break l}}d=e<<2;r=oa(d);u=pa(r,0,d)+d|0}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break h}F=e&-2;G=e&1;_=e&-4;O=e&3;I=e-1|0;Q=e<<2;L=a+112|0;E=d>>>2|0;M=u-r|0;A=M>>2;S=(M-4&-4)+4|0;$=i+36|0;aa=i+24|0;while(1){f=J[a+56>>2];d=J[f>>2];n:{o:{w=E-1|0;if(w>>>0>2]-d>>2>>>0){f=0;l=0;d=J[d+(w<<2)>>2];p:{if((d|0)==-1){break p}m=J[N+12>>2];h=d+2|0;l=(d>>>0)%3|0;y=m+((l?d-1|0:h)<<2)|0;j=0;C=(l|0)!=0|(h|0)!=-1;q=1;h=d;while(1){l=J[m+(h<<2)>>2];q:{if((l|0)==-1){break q}k=-1;p=J[Z>>2];n=J[N>>2];g=p+(J[n+(l<<2)>>2]<<2)|0;o=l+1|0;o=(o>>>0)%3|0?o:l-2|0;if((o|0)!=-1){k=J[n+(o<<2)>>2]}o=J[g>>2];r:{s:{if((l>>>0)%3|0){g=l-1|0;break s}g=l+2|0;s=-1;if((g|0)==-1){break r}}s=J[n+(g<<2)>>2]}if((o|0)>=(w|0)){break q}g=J[p+(k<<2)>>2];if((g|0)>=(w|0)){break q}k=J[p+(s<<2)>>2];if((k|0)>=(w|0)){break q}l=J[(i+144|0)+P(j,12)>>2];t:{if(!e){break t}k=P(e,k);n=P(e,g);o=P(e,o);g=0;p=0;if(I){while(1){J[l+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+n<<2)+b>>2]|0)-J[(g+o<<2)+b>>2];s=g|1;J[l+(s<<2)>>2]=(J[(k+s<<2)+b>>2]+J[(n+s<<2)+b>>2]|0)-J[(o+s<<2)+b>>2];g=g+2|0;p=p+2|0;if((F|0)!=(p|0)){continue}break}}if(!G){break t}J[l+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+n<<2)+b>>2]|0)-J[(g+o<<2)+b>>2]}l=4;j=j+1|0;if((j|0)==4){break p}}u:{if(q&1){g=h+1|0;h=(g>>>0)%3|0?g:h-2|0;l=-1;if((h|0)==-1){break u}h=J[m+(h<<2)>>2];l=-1;if((h|0)==-1){break u}l=h+1|0;l=(l>>>0)%3|0?l:h-2|0;break u}v:{if((h>>>0)%3|0){g=h-1|0;break v}g=h+2|0;l=-1;if((g|0)==-1){break u}}h=J[m+(g<<2)>>2];l=-1;if((h|0)==-1){break u}l=h-1|0;if((h>>>0)%3|0){break u}l=h+2|0}h=l;if((d|0)==(h|0)){l=j;break p}if((h|0)==-1&q){if(!C){l=j;break p}h=J[y>>2];if((h|0)==-1){l=j;break p}q=0;h=(h>>>0)%3|0?h-1|0:h+2|0}l=j;if((h|0)!=-1){continue}break}}H[i+16|0]=0;J[i+8>>2]=0;J[i+12>>2]=0;J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;U=P(e,w)<<2;s=U+b|0;k=(P(E-2|0,e)<<2)+b|0;g=J[x>>2];d=0;if(e){while(1){j=f<<2;h=J[j+k>>2]-J[j+s>>2]|0;J[j+r>>2]=h;J[g+j>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;j=d;d=h>>31;d=j+((d^h)-d|0)|0;f=f+1|0;if((f|0)!=(e|0)){continue}break}}f=i+200|0;Db(f,L,g,e);j=Cb(f);h=J[f+12>>2];f=J[f+16>>2];h=(((h-f|0)+1|0)/64|0)+f<<3;m=f<<3;f=h+m|0;h=(h>>31)+(m>>31)|0;g=ca+(f>>>0>>0?h+1|0:h)|0;h=f;f=f+j|0;h=h>>>0>f>>>0?g+1|0:g;C=(l|0)<=0;if(!C){n=(l<<3)-8|0;j=n+(i+48|0)|0;m=j;g=J[j>>2];j=J[j+4>>2];g=g+l|0;j=g>>>0>>0?j+1|0:j;J[m>>2]=g;J[m+4>>2]=j;v=W(Eb(g,J[n+(i+80|0)>>2])*(+(g>>>0)+ +(j|0)*4294967296));w:{if(R(v)<0x8000000000000000){g=R(v)>=1?~~(v>0?T(V(v*2.3283064365386963e-10),4294967295):W((v-+(~~v>>>0>>>0))*2.3283064365386963e-10))>>>0:0;j=~~v>>>0;break w}g=-2147483648;j=0}f=f+j|0;h=f}J[i+20>>2]=0;H[i+16|0]=0;J[i+8>>2]=f;J[i+12>>2]=d;tc(aa,k,k+Q|0);bb($,r,u);x:{y:{z:{if(C){break z}n=(i+124|0)+l|0;m=n-1|0;X=l<<3;d=X-8|0;Y=d+(i+48|0)|0;da=d+(i+80|0)|0;q=1;y=0;while(1){d=i+124|0;pa(d,1,l);y=y+1|0;pa(d,0,y);A:{B:while(1){if(e){pa(J[i+128>>2],0,Q)}p=0;d=J[i+128>>2];j=0;while(1){if(!K[(i+124|0)+p|0]){C:{if(!e){break C}f=J[(i+144|0)+P(p,12)>>2];h=0;g=0;k=0;if(e>>>0>3){while(1){o=g<<2;t=o+d|0;J[t>>2]=J[t>>2]+J[f+o>>2];t=o|4;D=t+d|0;J[D>>2]=J[D>>2]+J[f+t>>2];t=o|8;D=t+d|0;J[D>>2]=J[D>>2]+J[f+t>>2];o=o|12;t=o+d|0;J[t>>2]=J[t>>2]+J[f+o>>2];g=g+4|0;k=k+4|0;if((_|0)!=(k|0)){continue}break}}if(!O){break C}while(1){k=g<<2;o=k+d|0;J[o>>2]=J[o>>2]+J[f+k>>2];g=g+1|0;h=h+1|0;if((O|0)!=(h|0)){continue}break}}j=1<>2];D:{E:{F:{if(e){g=0;d=0;if(I){break F}break E}k=J[x>>2];h=0;break D}while(1){h=g<<2;k=h+f|0;J[k>>2]=J[k>>2]/(q|0);h=(h|4)+f|0;J[h>>2]=J[h>>2]/(q|0);g=g+2|0;d=d+2|0;if((F|0)!=(d|0)){continue}break}}if(G){d=(g<<2)+f|0;J[d>>2]=J[d>>2]/(q|0)}k=J[x>>2];f=J[i+128>>2];d=0;h=0;if(!e){break D}while(1){p=d<<2;g=J[p+f>>2]-J[p+s>>2]|0;J[p+r>>2]=g;J[k+p>>2]=(g|0)<0?(g^-1)<<1|1:g<<1;o=h;h=g>>31;h=o+((h^g)-h|0)|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=i+200|0;Db(d,L,k,e);k=Cb(d);g=J[d+12>>2];d=J[d+16>>2];g=(((g-d|0)+1|0)/64|0)+d<<3;p=d<<3;d=g+p|0;d=d+k|0;k=J[Y+4>>2];g=J[Y>>2];v=W(Eb(g,J[da>>2]+q|0)*(+(g>>>0)+ +(k|0)*4294967296));G:{if(R(v)<0x8000000000000000){g=~~v>>>0;break G}g=0}d=g+d|0;g=J[i+8>>2];if(!((d|0)>=(g|0)&((d|0)>(g|0)|(h|0)>=J[i+12>>2]))){J[i+20>>2]=q;H[i+16|0]=j;J[i+8>>2]=d;J[i+12>>2]=h;j=J[i+132>>2];k=j-f|0;g=k>>2;d=J[i+32>>2];h=J[i+24>>2];H:{if(g>>>0<=d-h>>2>>>0){k=J[i+28>>2]-h|0;d=k+f|0;o=k>>2;k=o>>>0>>0?d:j;p=k-f|0;if((f|0)!=(k|0)){ta(h,f,p)}if(g>>>0>o>>>0){g=J[i+28>>2];if((j|0)==(k|0)){break H}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}break H}g=h+p|0;break H}if(h){J[i+28>>2]=h;na(h);J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;d=0}if((k|0)<0){break y}h=d>>>1|0;d=d>>>0>=2147483644?1073741823:g>>>0>>0?h:g;if(d>>>0>=1073741824){break y}d=d<<2;g=oa(d);J[i+24>>2]=g;J[i+32>>2]=d+g;if((f|0)==(j|0)){break H}d=(k-4&-4)+4|0;g=ua(g,f,d)+d|0}J[i+28>>2]=g;d=J[i+44>>2];f=J[i+36>>2];I:{if(d-f>>2>>>0>=A>>>0){h=J[i+40>>2]-f|0;d=h+r|0;g=h>>2;h=g>>>0>>0?d:u;j=h-r|0;if((h|0)!=(r|0)){ta(f,r,j)}if(g>>>0>>0){g=J[i+40>>2];if((h|0)==(u|0)){break I}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((u|0)!=(d|0)){continue}break}break I}g=f+j|0;break I}if(f){J[i+40>>2]=f;na(f);J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;d=0}if((M|0)<0){break x}f=d>>>1|0;d=d>>>0>=2147483644?1073741823:f>>>0>A>>>0?f:A;if(d>>>0>=1073741824){break x}d=d<<2;g=oa(d);J[i+36>>2]=g;J[i+44>>2]=d+g;if((r|0)==(u|0)){break I}g=ua(g,r,S)+S|0}J[i+40>>2]=g}if((m|0)==(i+124|0)){break A}g=K[m|0];d=-1;while(1){j=g&255;f=d-1|0;h=f+n|0;g=K[h|0];if(j>>>0>g>>>0){f=n;while(1){f=f-1|0;j=K[f|0];if(j>>>0<=g>>>0){continue}break}H[h|0]=j;H[f|0]=g;if((d|0)==-1){continue B}g=d+n|0;d=m;while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}continue B}d=f;if((h|0)!=(i+124|0)){continue}break}break}f=i+124|0;g=f;d=m;if(f>>>0>=d>>>0){break A}while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}}q=q+1|0;if((l|0)!=(y|0)){continue}break}if((l|0)<=0){break z}h=J[i+20>>2];j=h;d=i+X|0;f=h+J[d+72>>2]|0;h=J[d+76>>2]+(h>>31)|0;J[d+72>>2]=f;J[d+76>>2]=f>>>0>>0?h+1|0:h}if(!e){break n}d=J[x>>2];g=0;f=J[i+36>>2];k=0;if(!I){break o}while(1){j=g<<2;h=J[j+f>>2];J[d+j>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;j=j|4;h=J[j+f>>2];J[d+j>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=g+2|0;k=k+2|0;if((F|0)!=(k|0)){continue}break}break o}qa();B()}qa();B()}ra();B()}if(!G){break n}h=g<<2;f=J[h+f>>2];J[d+h>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}Nc(i+200|0,L,J[x>>2],e);J:{if(C){break J}g=P(l,12)+a|0;d=0;while(1){K:{j=J[g+56>>2];k=j<<5;f=J[g+52>>2];L:{if(!(K[i+16|0]>>>d&1)){h=f;M:{if((f|0)!=(k|0)){break M}if((f+1|0)<0){break K}N:{if(f>>>0<=1073741822){j=j<<6;k=(f&-32)+32|0;j=j>>>0>k>>>0?j:k;h=f;if(f>>>0>=j>>>0){break M}if((j|0)>=0){break N}break K}j=2147483647;h=-1;if(f>>>0>=2147483647){break M}}k=(j-1>>>5|0)+1|0;h=oa(k<<2);j=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;O:{P:{if(!f){break P}m=f>>>5|0;if(f>>>0>=32){ta(h,j,m<<2)}n=f&31;if(!n){break P}m=m<<2;q=m+h|0;n=-1>>>32-n|0;J[q>>2]=J[q>>2]&(n^-1)|n&J[j+m>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;break O}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;h=f;if(!j){break M}}na(j);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0<=1073741822){j=j<<6;k=(f&-32)+32|0;j=j>>>0>k>>>0?j:k;h=f;if(f>>>0>=j>>>0){break Q}if((j|0)<0){break K}break R}j=2147483647;h=-1;if(f>>>0>=2147483647){break Q}}k=(j-1>>>5|0)+1|0;h=oa(k<<2);j=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;S:{T:{if(!f){break T}m=f>>>5|0;if(f>>>0>=32){ta(h,j,m<<2)}n=f&31;if(!n){break T}m=m<<2;q=m+h|0;n=-1>>>32-n|0;J[q>>2]=J[q>>2]&(n^-1)|n&J[j+m>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;break S}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;h=f;if(!j){break Q}}na(j);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;j=J[f>>2];ea=f,fa=Ll(h)&j,J[ea>>2]=fa}d=d+1|0;if((l|0)!=(d|0)){continue}break J}break}qa();B()}g=J[a+8>>2];if((g|0)>0){m=c+U|0;d=J[z>>2];j=0;k=J[i+24>>2];while(1){h=d;if((g|0)>0){h=J[z>>2];g=0;while(1){f=g<<2;l=J[f+k>>2];n=J[a+16>>2];U:{if((l|0)>(n|0)){J[f+h>>2]=n;break U}f=f+h|0;n=J[a+12>>2];if((n|0)>(l|0)){J[f>>2]=n;break U}J[f>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}l=j<<2;f=l+m|0;l=J[l+s>>2]-J[h+l>>2]|0;J[f>>2]=l;V:{if((l|0)>2]){g=l+J[a+20>>2]|0}else{if((l|0)<=J[a+24>>2]){break V}g=l-J[a+20>>2]|0}J[f>>2]=g}k=h;g=J[a+8>>2];j=j+1|0;if((g|0)>(j|0)){continue}break}}d=J[i+36>>2];if(d){J[i+40>>2]=d;na(d)}d=J[i+24>>2];if(d){J[i+28>>2]=d;na(d)}d=(E|0)>2;E=w;if(d){continue}break}break h}qa();B()}if((e|0)>0){pa(J[i+144>>2],0,e<<2)}g=J[a+8>>2];if((g|0)>0){d=J[a+32>>2];j=0;k=J[i+144>>2];while(1){h=d;if((g|0)>0){h=J[z>>2];g=0;while(1){e=g<<2;f=J[e+k>>2];l=J[a+16>>2];W:{if((f|0)>(l|0)){J[e+h>>2]=l;break W}e=e+h|0;l=J[a+12>>2];if((l|0)>(f|0)){J[e>>2]=l;break W}J[e>>2]=f}g=g+1|0;if((g|0)>2]){continue}break}}f=j<<2;e=f+c|0;f=J[b+f>>2]-J[f+h>>2]|0;J[e>>2]=f;X:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break X}f=f-J[a+20>>2]|0}J[e>>2]=f}k=h;g=J[a+8>>2];j=j+1|0;if((g|0)>(j|0)){continue}break}}if(r){na(r)}a=J[i+128>>2];if(a){J[i+132>>2]=a;na(a)}a=J[i+180>>2];if(a){J[i+184>>2]=a;na(a)}a=J[i+168>>2];if(a){J[i+172>>2]=a;na(a)}a=J[i+156>>2];if(a){J[i+160>>2]=a;na(a)}a=J[i+144>>2];if(a){J[i+148>>2]=a;na(a)}ba=i+224|0;return 1}function Fk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,da=0,ea=0,fa=0;g=ba-240|0;ba=g;Z=J[a+36>>2];C=J[a+32>>2];J[g+184>>2]=0;J[g+188>>2]=0;J[g+176>>2]=0;J[g+180>>2]=0;J[g+168>>2]=0;J[g+172>>2]=0;J[g+160>>2]=0;J[g+164>>2]=0;J[g+152>>2]=0;J[g+156>>2]=0;J[g+144>>2]=0;J[g+148>>2]=0;if(e){Fa(g+144|0,e);i=J[g+156>>2];d=J[g+160>>2]}else{d=0}d=d-i>>2;a:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break a}J[g+160>>2]=(e<<2)+i;break a}Fa(g+144|12,e-d|0)}d=J[g+168>>2];f=J[g+172>>2]-d>>2;b:{if(f>>>0>=e>>>0){if(e>>>0>=f>>>0){break b}J[g+172>>2]=d+(e<<2);break b}Fa(g+168|0,e-f|0)}c:{d:{d=J[g+180>>2];f=J[g+184>>2]-d>>2;e:{f:{if(f>>>0>=e>>>0){if(e>>>0>>0){J[g+184>>2]=d+(e<<2)}J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;if(e){break f}d=1;break e}Fa(g+180|0,e-f|0);J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0}if(e>>>0>=1073741824){break d}j=e<<2;f=oa(j);J[g+128>>2]=f;d=f+j|0;J[g+136>>2]=d;pa(f,0,j);J[g+132>>2]=d;d=0}D=a+136|0;f=J[a+136>>2];j=J[a+140>>2]-f>>2;g:{h:{if(j>>>0>>0){Fa(D,e-j|0);J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;d=g- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;break h}if(e>>>0>>0){J[a+140>>2]=f+(e<<2)}J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;f=g- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;f=0;if(d){break g}}d=e<<2;t=oa(d);f=pa(t,0,d)+d|0}d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break c}M=e&-2;N=e&1;_=e&-4;U=e&3;O=e-1|0;X=e<<2;$=a+8|0;Q=a+96|0;G=d>>>2|0;E=f;S=f-t|0;F=S>>2;Y=(S-4&-4)+4|0;aa=g+36|0;da=g+24|0;while(1){d=J[a+40>>2];f=J[d>>2];i:{j:{z=G-1|0;if(z>>>0>2]-f>>2>>>0){d=0;j=0;l=J[f+(z<<2)>>2];k:{if((l|0)==-1){break k}u=1;h=l+2|0;j=(l>>>0)%3|0;A=j?l-1|0:h;r=1<>2];q=s+(A>>>3&536870908)|0;f=0;n=(j|0)!=0|(h|0)!=-1;h=l;while(1){l:{if(J[s+(h>>>3&536870908)>>2]>>>h&1){break l}o=J[J[J[C+64>>2]+12>>2]+(h<<2)>>2];if((o|0)==-1){break l}w=J[Z>>2];x=J[C+28>>2];k=J[w+(J[x+(o<<2)>>2]<<2)>>2];if((k|0)>=(z|0)){break l}j=o+1|0;m=J[w+(J[x+(((j>>>0)%3|0?j:o-2|0)<<2)>>2]<<2)>>2];if((m|0)>=(z|0)){break l}j=J[w+(J[x+(o+((o>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((j|0)>=(z|0)){break l}m:{if(!e){break m}o=J[(g+144|0)+P(f,12)>>2];x=P(e,j);w=P(e,m);m=P(e,k);i=0;p=0;if(O){while(1){J[o+(i<<2)>>2]=(J[(i+x<<2)+b>>2]+J[(i+w<<2)+b>>2]|0)-J[(i+m<<2)+b>>2];j=i|1;J[o+(j<<2)>>2]=(J[(j+x<<2)+b>>2]+J[(j+w<<2)+b>>2]|0)-J[(j+m<<2)+b>>2];i=i+2|0;p=p+2|0;if((M|0)!=(p|0)){continue}break}}if(!N){break m}J[o+(i<<2)>>2]=(J[(i+x<<2)+b>>2]+J[(i+w<<2)+b>>2]|0)-J[(i+m<<2)+b>>2]}j=4;f=f+1|0;if((f|0)==4){break k}}n:{if(u&1){j=h-2|0;m=h+1|0;h=-1;j=(m>>>0)%3|0?m:j;if((j|0)==-1|J[s+(j>>>3&536870908)>>2]>>>j&1){break n}m=J[J[J[C+64>>2]+12>>2]+(j<<2)>>2];if((m|0)==-1){break n}j=m+1|0;h=(j>>>0)%3|0?j:m-2|0;break n}o:{if((h>>>0)%3|0){i=h-1|0;break o}i=h+2|0;h=-1;if((i|0)==-1){break n}}h=-1;if(J[s+(i>>>3&536870908)>>2]>>>i&1){break n}j=J[J[J[C+64>>2]+12>>2]+(i<<2)>>2];if((j|0)==-1){break n}if((j>>>0)%3|0){h=j-1|0;break n}h=j+2|0}if((h|0)==(l|0)){j=f;break k}if((h|0)==-1&u){if(!n){j=f;break k}if(r&J[q>>2]){j=f;break k}j=J[J[J[C+64>>2]+12>>2]+(A<<2)>>2];if((j|0)==-1){j=f;break k}u=0;h=(j>>>0)%3|0?j-1|0:j+2|0}j=f;if((h|0)!=-1){continue}break}}H[g+16|0]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;J[g+28>>2]=0;J[g+32>>2]=0;J[g+20>>2]=0;J[g+24>>2]=0;w=P(e,z)<<2;I=w+b|0;q=(P(G-2|0,e)<<2)+b|0;l=J[D>>2];h=0;if(e){while(1){f=d<<2;m=J[f+q>>2]-J[f+I>>2]|0;J[f+t>>2]=m;J[f+l>>2]=(m|0)<0?(m^-1)<<1|1:m<<1;f=m>>31;h=((f^m)-f|0)+h|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=g+200|0;Db(d,Q,l,e);m=Cb(d);f=J[d+12>>2];d=J[d+16>>2];f=(((f-d|0)+1|0)/64|0)+d<<3;d=d<<3;n=f+d|0;f=(f>>31)+(d>>31)|0;k=ca+(d>>>0>n>>>0?f+1|0:f)|0;f=m+n|0;d=f>>>0>>0?k+1|0:k;A=(j|0)<=0;if(!A){k=(j<<3)-8|0;l=k+(g+48|0)|0;n=l;m=J[l>>2];l=J[l+4>>2];m=j+m|0;l=m>>>0>>0?l+1|0:l;J[n>>2]=m;J[n+4>>2]=l;y=W(Eb(m,J[k+(g+80|0)>>2])*(+(m>>>0)+ +(l|0)*4294967296));p:{if(R(y)<0x8000000000000000){m=~~y>>>0;l=R(y)>=1?~~(y>0?T(V(y*2.3283064365386963e-10),4294967295):W((y-+(~~y>>>0>>>0))*2.3283064365386963e-10))>>>0:0;break p}m=0;l=-2147483648}f=f+m|0;d=f}J[g+20>>2]=0;H[g+16|0]=0;J[g+8>>2]=f;J[g+12>>2]=h;tc(da,q,q+X|0);bb(aa,t,E);q:{r:{s:{if(A){break s}m=(g+124|0)+j|0;l=m-1|0;r=j<<3;d=r-8|0;x=d+(g+48|0)|0;q=d+(g+80|0)|0;u=1;L=0;while(1){d=g+124|0;pa(d,1,j);L=L+1|0;pa(d,0,L);t:{u:while(1){if(e){pa(J[g+128>>2],0,X)}p=0;o=J[g+128>>2];s=0;while(1){if(!K[(g+124|0)+p|0]){v:{if(!e){break v}n=J[(g+144|0)+P(p,12)>>2];f=0;i=0;v=0;if(e>>>0>3){while(1){k=i<<2;d=k+o|0;J[d>>2]=J[d>>2]+J[k+n>>2];h=k|4;d=h+o|0;J[d>>2]=J[d>>2]+J[h+n>>2];h=k|8;d=h+o|0;J[d>>2]=J[d>>2]+J[h+n>>2];h=k|12;d=h+o|0;J[d>>2]=J[d>>2]+J[h+n>>2];i=i+4|0;v=v+4|0;if((_|0)!=(v|0)){continue}break}}if(!U){break v}while(1){h=i<<2;d=h+o|0;J[d>>2]=J[d>>2]+J[h+n>>2];i=i+1|0;f=f+1|0;if((U|0)!=(f|0)){continue}break}}s=1<>2];w:{x:{y:{if(e){i=0;h=0;if(O){break y}break x}v=J[D>>2];f=0;break w}while(1){k=i<<2;f=k+d|0;J[f>>2]=J[f>>2]/(u|0);f=(k|4)+d|0;J[f>>2]=J[f>>2]/(u|0);i=i+2|0;h=h+2|0;if((M|0)!=(h|0)){continue}break}}if(N){d=(i<<2)+d|0;J[d>>2]=J[d>>2]/(u|0)}v=J[D>>2];d=J[g+128>>2];h=0;f=0;if(!e){break w}while(1){k=h<<2;n=J[k+d>>2]-J[k+I>>2]|0;J[k+t>>2]=n;J[k+v>>2]=(n|0)<0?(n^-1)<<1|1:n<<1;i=f;f=n>>31;f=i+((f^n)-f|0)|0;h=h+1|0;if((h|0)!=(e|0)){continue}break}}h=g+200|0;Db(h,Q,v,e);n=Cb(h);i=J[h+12>>2];h=J[h+16>>2];k=(((i-h|0)+1|0)/64|0)+h<<3;h=h<<3;o=k+h|0;h=n+o|0;k=J[x+4>>2];n=J[x>>2];y=W(Eb(n,J[q>>2]+u|0)*(+(n>>>0)+ +(k|0)*4294967296));z:{if(R(y)<0x8000000000000000){i=~~y>>>0;break z}i=0}k=i+h|0;h=J[g+8>>2];if(!((k|0)>=(h|0)&((h|0)<(k|0)|(f|0)>=J[g+12>>2]))){J[g+20>>2]=u;H[g+16|0]=s;J[g+8>>2]=k;J[g+12>>2]=f;s=J[g+132>>2];k=s-d|0;o=k>>2;h=J[g+32>>2];p=J[g+24>>2];A:{if(o>>>0<=h-p>>2>>>0){f=J[g+28>>2]-p|0;h=f+d|0;f=f>>2;n=f>>>0>>0?h:s;k=n-d|0;if((d|0)!=(n|0)){ta(p,d,k)}if(f>>>0>>0){i=J[g+28>>2];if((n|0)==(s|0)){break A}while(1){J[i>>2]=J[h>>2];i=i+4|0;h=h+4|0;if((s|0)!=(h|0)){continue}break}break A}i=k+p|0;break A}if(p){J[g+28>>2]=p;na(p);J[g+32>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;h=0}if((k|0)<0){break r}f=h>>>1|0;f=h>>>0>=2147483644?1073741823:f>>>0>o>>>0?f:o;if(f>>>0>=1073741824){break r}f=f<<2;i=oa(f);J[g+24>>2]=i;J[g+32>>2]=f+i;if((d|0)==(s|0)){break A}f=d;d=(k-4&-4)+4|0;i=ua(i,f,d)+d|0}J[g+28>>2]=i;h=J[g+44>>2];n=J[g+36>>2];B:{if(h-n>>2>>>0>=F>>>0){d=J[g+40>>2]-n|0;h=d+t|0;d=d>>2;k=d>>>0>>0?h:E;f=k-t|0;if((k|0)!=(t|0)){ta(n,t,f)}if(d>>>0>>0){i=J[g+40>>2];if((k|0)==(E|0)){break B}while(1){J[i>>2]=J[h>>2];i=i+4|0;h=h+4|0;if((E|0)!=(h|0)){continue}break}break B}i=f+n|0;break B}if(n){J[g+40>>2]=n;na(n);J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;h=0}if((S|0)<0){break q}d=h>>>1|0;d=h>>>0>=2147483644?1073741823:d>>>0>F>>>0?d:F;if(d>>>0>=1073741824){break q}d=d<<2;i=oa(d);J[g+36>>2]=i;J[g+44>>2]=d+i;if((t|0)==(E|0)){break B}i=ua(i,t,Y)+Y|0}J[g+40>>2]=i}if((l|0)==(g+124|0)){break t}i=K[l|0];h=-1;while(1){f=i&255;d=h-1|0;k=d+m|0;i=K[k|0];if(f>>>0>i>>>0){d=m;while(1){d=d-1|0;f=K[d|0];if(f>>>0<=i>>>0){continue}break}H[k|0]=f;H[d|0]=i;if((h|0)==-1){continue u}i=h+m|0;h=l;while(1){d=K[i|0];H[i|0]=K[h|0];H[h|0]=d;i=i+1|0;h=h-1|0;if(i>>>0>>0){continue}break}continue u}h=d;if((k|0)!=(g+124|0)){continue}break}break}d=g+124|0;i=d;h=l;if(d>>>0>=h>>>0){break t}while(1){d=K[i|0];H[i|0]=K[h|0];H[h|0]=d;i=i+1|0;h=h-1|0;if(i>>>0>>0){continue}break}}u=u+1|0;if((j|0)!=(L|0)){continue}break}if((j|0)<=0){break s}d=J[g+20>>2];f=d;l=g+r|0;h=d+J[l+72>>2]|0;d=J[l+76>>2]+(d>>31)|0;J[l+72>>2]=h;J[l+76>>2]=f>>>0>h>>>0?d+1|0:d}if(!e){break i}l=J[D>>2];i=0;h=J[g+36>>2];v=0;if(!O){break j}while(1){d=i<<2;f=J[d+h>>2];J[d+l>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;d=d|4;f=J[d+h>>2];J[d+l>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;i=i+2|0;v=v+2|0;if((M|0)!=(v|0)){continue}break}break j}qa();B()}qa();B()}ra();B()}if(!N){break i}d=i<<2;f=J[d+h>>2];J[d+l>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}Nc(g+200|0,Q,J[D>>2],e);C:{if(A){break C}l=P(j,12)+a|0;h=0;while(1){D:{k=J[l+40>>2];m=k<<5;d=J[l+36>>2];E:{if(!(K[g+16|0]>>>h&1)){f=d;F:{if((d|0)!=(m|0)){break F}if((d+1|0)<0){break D}G:{if(d>>>0<=1073741822){k=k<<6;m=(d&-32)+32|0;i=k>>>0>m>>>0?k:m;f=d;if(d>>>0>=i>>>0){break F}if((i|0)>=0){break G}break D}i=2147483647;f=-1;if(d>>>0>=2147483647){break F}}n=(i-1>>>5|0)+1|0;r=oa(n<<2);q=J[l+32>>2];J[r+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;H:{I:{if(!d){break I}f=d>>>5|0;if(d>>>0>=32){ta(r,q,f<<2)}k=d&31;if(!k){break I}m=f<<2;f=m+r|0;i=f;o=J[f>>2];f=-1>>>32-k|0;J[i>>2]=o&(f^-1)|f&J[m+q>>2];J[l+32>>2]=r;J[l+36>>2]=d;J[l+40>>2]=n;break H}J[l+32>>2]=r;J[l+36>>2]=d;J[l+40>>2]=n;f=d;if(!q){break F}}na(q);f=J[l+36>>2]}J[l+36>>2]=f+1;d=J[l+32>>2]+(f>>>3&536870908)|0;J[d>>2]=J[d>>2]|1<>>0<=1073741822){k=k<<6;m=(d&-32)+32|0;i=k>>>0>m>>>0?k:m;f=d;if(d>>>0>=i>>>0){break J}if((i|0)<0){break D}break K}i=2147483647;f=-1;if(d>>>0>=2147483647){break J}}n=(i-1>>>5|0)+1|0;r=oa(n<<2);q=J[l+32>>2];J[r+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;L:{M:{if(!d){break M}f=d>>>5|0;if(d>>>0>=32){ta(r,q,f<<2)}k=d&31;if(!k){break M}m=f<<2;f=m+r|0;i=f;o=J[f>>2];f=-1>>>32-k|0;J[i>>2]=o&(f^-1)|f&J[m+q>>2];J[l+32>>2]=r;J[l+36>>2]=d;J[l+40>>2]=n;break L}J[l+32>>2]=r;J[l+36>>2]=d;J[l+40>>2]=n;f=d;if(!q){break J}}na(q);f=J[l+36>>2]}J[l+36>>2]=f+1;m=J[l+32>>2]+(f>>>3&536870908)|0;d=J[m>>2];ea=m,fa=Ll(f)&d,J[ea>>2]=fa}h=h+1|0;if((j|0)!=(h|0)){continue}break C}break}qa();B()}d=J[g+24>>2];j=J[d>>2];f=J[d+4>>2];d=J[I+4>>2];J[g+232>>2]=J[I>>2];J[g+236>>2]=d;J[g+224>>2]=j;J[g+228>>2]=f;Ya(g+200|0,$,g+232|0,g+224|0);d=c+w|0;J[d>>2]=J[g+200>>2];J[d+4>>2]=J[g+204>>2];d=J[g+36>>2];if(d){J[g+40>>2]=d;na(d)}d=J[g+24>>2];if(d){J[g+28>>2]=d;na(d)}d=(G|0)>2;G=z;if(d){continue}break}break c}qa();B()}d=J[g+144>>2];if((e|0)>0){pa(d,0,e<<2)}f=J[d>>2];e=J[d+4>>2];d=J[b+4>>2];J[g+200>>2]=J[b>>2];J[g+204>>2]=d;J[g+232>>2]=f;J[g+236>>2]=e;Ya(g+8|0,a+8|0,g+200|0,g+232|0);J[c>>2]=J[g+8>>2];J[c+4>>2]=J[g+12>>2];if(t){na(t)}a=J[g+128>>2];if(a){J[g+132>>2]=a;na(a)}a=J[g+180>>2];if(a){J[g+184>>2]=a;na(a)}a=J[g+168>>2];if(a){J[g+172>>2]=a;na(a)}a=J[g+156>>2];if(a){J[g+160>>2]=a;na(a)}a=J[g+144>>2];if(a){J[g+148>>2]=a;na(a)}ba=g+240|0;return 1}function tk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,da=0,ea=0,fa=0;g=ba-240|0;ba=g;Y=J[a+36>>2];M=J[a+32>>2];J[g+184>>2]=0;J[g+188>>2]=0;J[g+176>>2]=0;J[g+180>>2]=0;J[g+168>>2]=0;J[g+172>>2]=0;J[g+160>>2]=0;J[g+164>>2]=0;J[g+152>>2]=0;J[g+156>>2]=0;J[g+144>>2]=0;J[g+148>>2]=0;if(e){Fa(g+144|0,e);h=J[g+156>>2];d=J[g+160>>2]}else{d=0}d=d-h>>2;a:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break a}J[g+160>>2]=(e<<2)+h;break a}Fa(g+144|12,e-d|0)}f=J[g+168>>2];d=J[g+172>>2]-f>>2;b:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break b}J[g+172>>2]=f+(e<<2);break b}Fa(g+168|0,e-d|0)}c:{d:{f=J[g+180>>2];d=J[g+184>>2]-f>>2;e:{f:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[g+184>>2]=f+(e<<2)}J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;if(e){break f}d=1;break e}Fa(g+180|0,e-d|0);J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0}if(e>>>0>=1073741824){break d}d=e<<2;f=oa(d);J[g+128>>2]=f;i=d+f|0;J[g+136>>2]=i;pa(f,0,d);J[g+132>>2]=i;d=0}x=a+136|0;i=J[a+136>>2];f=J[a+140>>2]-i>>2;g:{h:{if(f>>>0>>0){Fa(x,e-f|0);J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;d=g- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;break h}if(e>>>0>>0){J[a+140>>2]=i+(e<<2)}J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;f=g- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;v=0;if(d){break g}}d=e<<2;r=oa(d);v=pa(r,0,d)+d|0}d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break c}E=e&-2;F=e&1;Z=e&-4;N=e&3;G=e-1|0;O=e<<2;_=a+8|0;I=a+96|0;D=d>>>2|0;L=v-r|0;z=L>>2;Q=(L-4&-4)+4|0;$=g+36|0;aa=g+24|0;while(1){d=J[a+40>>2];f=J[d>>2];i:{j:{w=D-1|0;if(w>>>0>2]-f>>2>>>0){d=0;k=0;l=J[f+(w<<2)>>2];k:{if((l|0)==-1){break k}j=J[M+12>>2];i=l+2|0;k=(l>>>0)%3|0;y=j+((k?l-1|0:i)<<2)|0;f=0;A=(k|0)!=0|(i|0)!=-1;p=1;i=l;while(1){k=J[j+(i<<2)>>2];l:{if((k|0)==-1){break l}m=J[Y>>2];n=J[M>>2];s=J[m+(J[n+(k<<2)>>2]<<2)>>2];h=k+1|0;h=(h>>>0)%3|0?h:k-2|0;if((h|0)!=-1){o=J[n+(h<<2)>>2]}else{o=-1}m:{n:{if((k>>>0)%3|0){h=k-1|0;break n}h=k+2|0;q=-1;if((h|0)==-1){break m}}q=J[n+(h<<2)>>2]}if((s|0)>=(w|0)){break l}h=J[(o<<2)+m>>2];if((h|0)>=(w|0)){break l}n=J[m+(q<<2)>>2];if((n|0)>=(w|0)){break l}k=J[(g+144|0)+P(f,12)>>2];o:{if(!e){break o}n=P(e,n);o=P(e,h);s=P(e,s);h=0;m=0;if(G){while(1){J[k+(h<<2)>>2]=(J[(h+n<<2)+b>>2]+J[(h+o<<2)+b>>2]|0)-J[(h+s<<2)+b>>2];q=h|1;J[k+(q<<2)>>2]=(J[(n+q<<2)+b>>2]+J[(o+q<<2)+b>>2]|0)-J[(q+s<<2)+b>>2];h=h+2|0;m=m+2|0;if((E|0)!=(m|0)){continue}break}}if(!F){break o}J[k+(h<<2)>>2]=(J[(h+n<<2)+b>>2]+J[(h+o<<2)+b>>2]|0)-J[(h+s<<2)+b>>2]}k=4;f=f+1|0;if((f|0)==4){break k}}p:{if(p&1){h=i+1|0;i=(h>>>0)%3|0?h:i-2|0;k=-1;if((i|0)==-1){break p}i=J[j+(i<<2)>>2];k=-1;if((i|0)==-1){break p}k=i+1|0;k=(k>>>0)%3|0?k:i-2|0;break p}q:{if((i>>>0)%3|0){h=i-1|0;break q}h=i+2|0;k=-1;if((h|0)==-1){break p}}i=J[j+(h<<2)>>2];k=-1;if((i|0)==-1){break p}k=i-1|0;if((i>>>0)%3|0){break p}k=i+2|0}i=k;if((l|0)==(i|0)){k=f;break k}if((i|0)==-1&p){if(!A){k=f;break k}i=J[y>>2];if((i|0)==-1){k=f;break k}p=0;i=(i>>>0)%3|0?i-1|0:i+2|0}k=f;if((i|0)!=-1){continue}break}}H[g+16|0]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;J[g+28>>2]=0;J[g+32>>2]=0;J[g+20>>2]=0;J[g+24>>2]=0;S=P(e,w)<<2;s=S+b|0;l=(P(D-2|0,e)<<2)+b|0;j=J[x>>2];h=0;if(e){while(1){i=d<<2;f=J[i+l>>2]-J[i+s>>2]|0;J[i+r>>2]=f;J[i+j>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;i=f;f=f>>31;h=((i^f)-f|0)+h|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=g+200|0;Db(d,I,j,e);f=Cb(d);i=J[d+12>>2];d=J[d+16>>2];i=(((i-d|0)+1|0)/64|0)+d<<3;n=d<<3;d=i+n|0;i=(i>>31)+(n>>31)|0;j=ca+(d>>>0>>0?i+1|0:i)|0;i=d;d=d+f|0;f=i>>>0>d>>>0?j+1|0:j;A=(k|0)<=0;if(!A){p=(k<<3)-8|0;i=p+(g+48|0)|0;n=i;j=J[i>>2];i=J[i+4>>2];j=j+k|0;i=j>>>0>>0?i+1|0:i;J[n>>2]=j;J[n+4>>2]=i;u=W(Eb(j,J[p+(g+80|0)>>2])*(+(j>>>0)+ +(i|0)*4294967296));r:{if(R(u)<0x8000000000000000){j=R(u)>=1?~~(u>0?T(V(u*2.3283064365386963e-10),4294967295):W((u-+(~~u>>>0>>>0))*2.3283064365386963e-10))>>>0:0;i=~~u>>>0;break r}j=-2147483648;i=0}d=d+i|0;f=d}J[g+20>>2]=0;H[g+16|0]=0;J[g+8>>2]=d;J[g+12>>2]=h;tc(aa,l,l+O|0);bb($,r,v);s:{t:{u:{if(A){break u}n=(g+124|0)+k|0;l=n-1|0;U=k<<3;d=U-8|0;X=d+(g+48|0)|0;da=d+(g+80|0)|0;p=1;y=0;while(1){d=g+124|0;pa(d,1,k);y=y+1|0;pa(d,0,y);v:{w:while(1){if(e){pa(J[g+128>>2],0,O)}m=0;d=J[g+128>>2];f=0;while(1){if(!K[(g+124|0)+m|0]){x:{if(!e){break x}o=J[(g+144|0)+P(m,12)>>2];i=0;h=0;j=0;if(e>>>0>3){while(1){q=h<<2;t=q+d|0;J[t>>2]=J[t>>2]+J[o+q>>2];t=q|4;C=t+d|0;J[C>>2]=J[C>>2]+J[o+t>>2];t=q|8;C=t+d|0;J[C>>2]=J[C>>2]+J[o+t>>2];q=q|12;t=q+d|0;J[t>>2]=J[t>>2]+J[o+q>>2];h=h+4|0;j=j+4|0;if((Z|0)!=(j|0)){continue}break}}if(!N){break x}while(1){j=h<<2;q=j+d|0;J[q>>2]=J[q>>2]+J[j+o>>2];h=h+1|0;i=i+1|0;if((N|0)!=(i|0)){continue}break}}f=1<>2];y:{z:{A:{if(e){h=0;i=0;if(G){break A}break z}j=J[x>>2];i=0;break y}while(1){j=h<<2;m=j+d|0;J[m>>2]=J[m>>2]/(p|0);j=(j|4)+d|0;J[j>>2]=J[j>>2]/(p|0);h=h+2|0;i=i+2|0;if((E|0)!=(i|0)){continue}break}}if(F){d=(h<<2)+d|0;J[d>>2]=J[d>>2]/(p|0)}j=J[x>>2];d=J[g+128>>2];h=0;i=0;if(!e){break y}while(1){o=h<<2;m=J[o+d>>2]-J[o+s>>2]|0;J[o+r>>2]=m;J[j+o>>2]=(m|0)<0?(m^-1)<<1|1:m<<1;o=i;i=m>>31;i=o+((i^m)-i|0)|0;h=h+1|0;if((h|0)!=(e|0)){continue}break}}h=g+200|0;Db(h,I,j,e);m=Cb(h);o=J[h+12>>2];h=J[h+16>>2];j=(((o-h|0)+1|0)/64|0)+h<<3;o=h<<3;h=j+o|0;h=h+m|0;m=J[X+4>>2];j=J[X>>2];u=W(Eb(j,J[da>>2]+p|0)*(+(j>>>0)+ +(m|0)*4294967296));B:{if(R(u)<0x8000000000000000){o=~~u>>>0;break B}o=0}h=o+h|0;j=J[g+8>>2];if(!((h|0)>=(j|0)&((h|0)>(j|0)|(i|0)>=J[g+12>>2]))){J[g+20>>2]=p;H[g+16|0]=f;J[g+8>>2]=h;J[g+12>>2]=i;j=J[g+132>>2];m=j-d|0;h=m>>2;i=J[g+32>>2];f=J[g+24>>2];C:{if(h>>>0<=i-f>>2>>>0){m=J[g+28>>2]-f|0;i=m+d|0;q=m>>2;m=q>>>0>>0?i:j;o=m-d|0;if((d|0)!=(m|0)){ta(f,d,o)}if(h>>>0>q>>>0){h=J[g+28>>2];if((j|0)==(m|0)){break C}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((j|0)!=(i|0)){continue}break}break C}h=f+o|0;break C}if(f){J[g+28>>2]=f;na(f);J[g+32>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;i=0}if((m|0)<0){break t}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:f>>>0>h>>>0?f:h;if(f>>>0>=1073741824){break t}f=f<<2;h=oa(f);J[g+24>>2]=h;J[g+32>>2]=f+h;if((d|0)==(j|0)){break C}f=d;d=(m-4&-4)+4|0;h=ua(h,f,d)+d|0}J[g+28>>2]=h;i=J[g+44>>2];d=J[g+36>>2];D:{if(i-d>>2>>>0>=z>>>0){f=J[g+40>>2]-d|0;i=f+r|0;j=f>>2;f=j>>>0>>0?i:v;h=f-r|0;if((f|0)!=(r|0)){ta(d,r,h)}if(j>>>0>>0){h=J[g+40>>2];if((f|0)==(v|0)){break D}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((v|0)!=(i|0)){continue}break}break D}h=d+h|0;break D}if(d){J[g+40>>2]=d;na(d);J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;i=0}if((L|0)<0){break s}d=i>>>1|0;d=i>>>0>=2147483644?1073741823:d>>>0>z>>>0?d:z;if(d>>>0>=1073741824){break s}d=d<<2;h=oa(d);J[g+36>>2]=h;J[g+44>>2]=d+h;if((r|0)==(v|0)){break D}h=ua(h,r,Q)+Q|0}J[g+40>>2]=h}if((l|0)==(g+124|0)){break v}h=K[l|0];i=-1;while(1){j=h&255;d=i-1|0;f=d+n|0;h=K[f|0];if(j>>>0>h>>>0){d=n;while(1){d=d-1|0;j=K[d|0];if(j>>>0<=h>>>0){continue}break}H[f|0]=j;H[d|0]=h;if((i|0)==-1){continue w}h=i+n|0;i=l;while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0>>0){continue}break}continue w}i=d;if((f|0)!=(g+124|0)){continue}break}break}d=g+124|0;h=d;i=l;if(d>>>0>=i>>>0){break v}while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0>>0){continue}break}}p=p+1|0;if((k|0)!=(y|0)){continue}break}if((k|0)<=0){break u}f=J[g+20>>2];l=f;d=g+U|0;i=f+J[d+72>>2]|0;f=J[d+76>>2]+(f>>31)|0;J[d+72>>2]=i;J[d+76>>2]=i>>>0>>0?f+1|0:f}if(!e){break i}d=J[x>>2];h=0;f=J[g+36>>2];j=0;if(!G){break j}while(1){l=h<<2;i=J[l+f>>2];J[d+l>>2]=(i|0)<0?(i^-1)<<1|1:i<<1;l=l|4;i=J[l+f>>2];J[d+l>>2]=(i|0)<0?(i^-1)<<1|1:i<<1;h=h+2|0;j=j+2|0;if((E|0)!=(j|0)){continue}break}break j}qa();B()}qa();B()}ra();B()}if(!F){break i}i=h<<2;f=J[i+f>>2];J[d+i>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}Nc(g+200|0,I,J[x>>2],e);E:{if(A){break E}l=P(k,12)+a|0;i=0;while(1){F:{h=J[l+40>>2];j=h<<5;d=J[l+36>>2];G:{if(!(K[g+16|0]>>>i&1)){f=d;H:{if((d|0)!=(j|0)){break H}if((d+1|0)<0){break F}I:{if(d>>>0<=1073741822){h=h<<6;j=(d&-32)+32|0;h=h>>>0>j>>>0?h:j;f=d;if(d>>>0>=h>>>0){break H}if((h|0)>=0){break I}break F}h=2147483647;f=-1;if(d>>>0>=2147483647){break H}}j=(h-1>>>5|0)+1|0;f=oa(j<<2);h=J[l+32>>2];J[f+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;J:{K:{if(!d){break K}n=d>>>5|0;if(d>>>0>=32){ta(f,h,n<<2)}p=d&31;if(!p){break K}n=n<<2;m=n+f|0;p=-1>>>32-p|0;J[m>>2]=J[m>>2]&(p^-1)|p&J[h+n>>2];J[l+32>>2]=f;J[l+36>>2]=d;J[l+40>>2]=j;break J}J[l+32>>2]=f;J[l+36>>2]=d;J[l+40>>2]=j;f=d;if(!h){break H}}na(h);f=J[l+36>>2]}J[l+36>>2]=f+1;d=J[l+32>>2]+(f>>>3&536870908)|0;J[d>>2]=J[d>>2]|1<>>0<=1073741822){h=h<<6;j=(d&-32)+32|0;h=h>>>0>j>>>0?h:j;f=d;if(d>>>0>=h>>>0){break L}if((h|0)<0){break F}break M}h=2147483647;f=-1;if(d>>>0>=2147483647){break L}}j=(h-1>>>5|0)+1|0;f=oa(j<<2);h=J[l+32>>2];J[f+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;N:{O:{if(!d){break O}n=d>>>5|0;if(d>>>0>=32){ta(f,h,n<<2)}p=d&31;if(!p){break O}n=n<<2;m=n+f|0;p=-1>>>32-p|0;J[m>>2]=J[m>>2]&(p^-1)|p&J[h+n>>2];J[l+32>>2]=f;J[l+36>>2]=d;J[l+40>>2]=j;break N}J[l+32>>2]=f;J[l+36>>2]=d;J[l+40>>2]=j;f=d;if(!h){break L}}na(h);f=J[l+36>>2]}J[l+36>>2]=f+1;d=J[l+32>>2]+(f>>>3&536870908)|0;h=J[d>>2];ea=d,fa=Ll(f)&h,J[ea>>2]=fa}i=i+1|0;if((k|0)!=(i|0)){continue}break E}break}qa();B()}d=J[g+24>>2];f=J[d>>2];d=J[d+4>>2];i=J[s+4>>2];J[g+232>>2]=J[s>>2];J[g+236>>2]=i;J[g+224>>2]=f;J[g+228>>2]=d;Ya(g+200|0,_,g+232|0,g+224|0);d=c+S|0;J[d>>2]=J[g+200>>2];J[d+4>>2]=J[g+204>>2];d=J[g+36>>2];if(d){J[g+40>>2]=d;na(d)}d=J[g+24>>2];if(d){J[g+28>>2]=d;na(d)}d=(D|0)>2;D=w;if(d){continue}break}break c}qa();B()}d=J[g+144>>2];if((e|0)>0){pa(d,0,e<<2)}e=J[d>>2];d=J[d+4>>2];f=J[b+4>>2];J[g+200>>2]=J[b>>2];J[g+204>>2]=f;J[g+232>>2]=e;J[g+236>>2]=d;Ya(g+8|0,a+8|0,g+200|0,g+232|0);J[c>>2]=J[g+8>>2];J[c+4>>2]=J[g+12>>2];if(r){na(r)}a=J[g+128>>2];if(a){J[g+132>>2]=a;na(a)}a=J[g+180>>2];if(a){J[g+184>>2]=a;na(a)}a=J[g+168>>2];if(a){J[g+172>>2]=a;na(a)}a=J[g+156>>2];if(a){J[g+160>>2]=a;na(a)}a=J[g+144>>2];if(a){J[g+148>>2]=a;na(a)}ba=g+240|0;return 1}function Nj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=ba-32|0;ba=i;c=J[b+8>>2];a:{b:{if(K[b+288|0]){c=jf(c);e=J[b+12>>2];J[b+12>>2]=c;if(e){break b}break a}c=kf(c);e=J[b+12>>2];J[b+12>>2]=c;if(!e){break a}}qc(e)}c=J[b+12>>2];c:{if(!(J[c+40>>2]!=((J[c+4>>2]-J[c>>2]>>2>>>0)/3|0)?c:0)){b=oa(32);H[b+29|0]=0;c=K[1828]|K[1829]<<8|(K[1830]<<16|K[1831]<<24);d=K[1824]|K[1825]<<8|(K[1826]<<16|K[1827]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1823]|K[1824]<<8|(K[1825]<<16|K[1826]<<24);d=K[1819]|K[1820]<<8|(K[1821]<<16|K[1822]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1815]|K[1816]<<8|(K[1817]<<16|K[1818]<<24);d=K[1811]|K[1812]<<8|(K[1813]<<16|K[1814]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1807]|K[1808]<<8|(K[1809]<<16|K[1810]<<24);d=K[1803]|K[1804]<<8|(K[1805]<<16|K[1806]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,29);na(b);break c}J[b+264>>2]=b;Aa((J[c+28>>2]-J[c+24>>2]>>2)-J[c+44>>2]|0,J[J[b+4>>2]+44>>2]);c=J[b+12>>2];Aa(((J[c+4>>2]-J[c>>2]>>2>>>0)/3|0)-J[c+40>>2]|0,J[J[b+4>>2]+44>>2]);c=J[b+8>>2];d=J[c+100>>2];c=J[c+96>>2];H[i+16|0]=0;o=b+28|0;j=(d-c|0)/12|0;c=i+16|0;Na(o,j,c);d=J[b+12>>2];e=J[d+28>>2];d=J[d+24>>2];J[i+16>>2]=-1;wb(b+52|0,e-d>>2,c);c=J[b+40>>2];J[b+44>>2]=c;d:{e:{f:{g:{h:{i:{j:{d=J[b+12>>2];e=J[d+4>>2]-J[d>>2]>>2;e=e-((e>>>0)%3|0)|0;k:{if(e>>>0<=J[b+48>>2]-c>>2>>>0){break k}if(e>>>0>=1073741824){break j}g=e<<2;e=oa(g);J[b+44>>2]=e;J[b+40>>2]=e;J[b+48>>2]=e+g;if(!c){break k}na(c);d=J[b+12>>2]}c=J[d+28>>2];d=J[d+24>>2];H[i+16|0]=0;Na(b+84|0,c-d>>2,i+16|0);J[b+164>>2]=-1;J[b+168>>2]=0;J[b+100>>2]=J[b+96>>2];J[b+112>>2]=J[b+108>>2];if(J[b+132>>2]){d=J[b+128>>2];if(d){while(1){c=J[d>>2];na(d);d=c;if(c){continue}break}}d=0;J[b+128>>2]=0;c=J[b+124>>2];l:{if(!c){break l}if(c>>>0>=4){k=c&-4;g=0;while(1){e=d<<2;J[e+J[b+120>>2]>>2]=0;J[J[b+120>>2]+(e|4)>>2]=0;J[J[b+120>>2]+(e|8)>>2]=0;J[J[b+120>>2]+(e|12)>>2]=0;d=d+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}}c=c&3;if(!c){break l}e=0;while(1){J[J[b+120>>2]+(d<<2)>>2]=0;d=d+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}J[b+132>>2]=0}J[b+144>>2]=0;c=J[b+12>>2];d=J[c+28>>2];c=J[c+24>>2];J[i+16>>2]=-1;wb(b+152|0,d-c>>2,i+16|0);c=J[b+72>>2];J[b+76>>2]=c;s=b+72|0;d=J[b+12>>2];d=J[d+4>>2]-J[d>>2]|0;e=(d>>2>>>0)/3|0;m:{if(e>>>0<=J[b+80>>2]-c>>2>>>0){break m}if((d|0)<0){break i}e=e<<2;d=oa(e);J[b+76>>2]=d;J[b+72>>2]=d;J[b+80>>2]=d+e;if(!c){break m}na(c)}J[b- -64>>2]=0;if(!kg(b)){b=oa(32);H[b+29|0]=0;c=K[1768]|K[1769]<<8|(K[1770]<<16|K[1771]<<24);d=K[1764]|K[1765]<<8|(K[1766]<<16|K[1767]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1763]|K[1764]<<8|(K[1765]<<16|K[1766]<<24);d=K[1759]|K[1760]<<8|(K[1761]<<16|K[1762]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1755]|K[1756]<<8|(K[1757]<<16|K[1758]<<24);d=K[1751]|K[1752]<<8|(K[1753]<<16|K[1754]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1747]|K[1748]<<8|(K[1749]<<16|K[1750]<<24);d=K[1743]|K[1744]<<8|(K[1745]<<16|K[1746]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,29);na(b);break c}c=b;n:{if(K[b+288|0]){break n}b=J[c+8>>2];e=J[b+12>>2]-J[b+8>>2]|0;g=e>>2;d=g-1|0;b=J[c+176>>2];f=J[c+172>>2];k=(b-f|0)/136|0;o:{if(d>>>0>k>>>0){cg(c+172|0,d-k|0);break o}if(d>>>0>=k>>>0){break o}k=f+P(d,136)|0;if((k|0)!=(b|0)){while(1){d=b-136|0;f=J[d+116>>2];if(f){J[b-16>>2]=f;na(f)}f=J[b-32>>2];if(f){J[b-28>>2]=f;na(f)}pc(b-132|0);b=d;if((k|0)!=(b|0)){continue}break}}J[c+176>>2]=k}if((e|0)==4|(e|0)<=0){break n}k=(g|0)<=1?1:g;b=0;p:{while(1){f=J[J[J[c+8>>2]+8>>2]+(b<<2)>>2];if(J[f+56>>2]){h=P(n,136);d=h+J[c+172>>2]|0;J[d>>2]=b;e=J[d+104>>2];J[d+108>>2]=e;g=J[c+12>>2];g=J[g+4>>2]-J[g>>2]|0;j=g>>2;q:{if(j>>>0<=J[d+112>>2]-e>>2>>>0){break q}if((g|0)<0){break p}g=oa(g);J[d+108>>2]=g;J[d+104>>2]=g;J[d+112>>2]=g+(j<<2);if(!e){break q}na(e)}d=h+J[c+172>>2]|0;J[d+128>>2]=0;lf(d+4|0,J[c+8>>2],J[c+12>>2],f);n=n+1|0}b=b+1|0;if((k|0)!=(b|0)){continue}break}break n}qa();B()}b=(J[c+176>>2]-J[c+172>>2]|0)/136|0;H[i+31|0]=b;d=J[J[c+4>>2]+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){sa(d,J[d+4>>2],i+31|0,i+32|0);b=K[i+31|0]}J[c+284>>2]=b&255;b=J[c+12>>2];d=J[b>>2];b=J[b+4>>2];n=c+200|0;ig(n);g=0;J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;k=0;b=b-d|0;if((b|0)>0){b=b>>>2|0;t=b>>>0<=1?1:b;d=0;while(1){b=(d>>>0)/3|0;p=b>>>5<<2;r=1<>2]+p>>2]){break r}if(Fc(J[c+12>>2],b)){break r}J[i+8>>2]=0;b=hg(c,b,i+8|0);Ca(n,b);f=J[i+8>>2];if(b){h=-1;e=-1;j=-1;s:{if((f|0)==-1){break s}l=J[J[c+12>>2]>>2];b=l+(f<<2)|0;h=f+1|0;h=(h>>>0)%3|0?h:f-2|0;if((h|0)!=-1){e=J[l+(h<<2)>>2]}h=J[b>>2];t:{if((f>>>0)%3|0){b=f-1|0;break t}b=f+2|0;j=-1;if((b|0)==-1){break s}}j=J[l+(b<<2)>>2]}b=J[c+84>>2];l=b+(h>>>3&536870908)|0;J[l>>2]=J[l>>2]|1<>>3&536870908)|0;J[h>>2]=J[h>>2]|1<>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];h=J[c+104>>2];u:{if(b>>>0>>0){J[b>>2]=1;J[c+100>>2]=b+4;break u}j=b;b=J[c+96>>2];j=j-b|0;l=j>>2;e=l+1|0;if(e>>>0>=1073741824){break h}q=l<<2;h=h-b|0;l=h>>>1|0;e=h>>>0>=2147483644?1073741823:e>>>0>>0?l:e;if(e){if(e>>>0>=1073741824){break g}h=oa(e<<2)}else{h=0}l=q+h|0;J[l>>2]=1;q=e<<2;e=ta(h,b,j);J[c+104>>2]=q+e;J[c+100>>2]=l+4;J[c+96>>2]=e;if(!b){break u}na(b)}b=J[o>>2]+p|0;J[b>>2]=J[b>>2]|r;h=-1;if((f|0)!=-1){b=f+1|0;h=(b>>>0)%3|0?b:f-2|0}v:{if(g>>>0>>0){J[g>>2]=h;g=g+4|0;J[i+20>>2]=g;break v}e=g-k>>2;b=e+1|0;if(b>>>0>=1073741824){break f}j=m-k|0;m=j>>>1|0;b=j>>>0>=2147483644?1073741823:b>>>0>>0?m:b;if(b){if(b>>>0>=1073741824){break g}j=oa(b<<2)}else{j=0}e=j+(e<<2)|0;J[e>>2]=h;m=j+(b<<2)|0;b=e+4|0;if((g|0)!=(k|0)){while(1){e=e-4|0;g=g-4|0;J[e>>2]=J[g>>2];if((g|0)!=(k|0)){continue}break}}J[i+24>>2]=m;J[i+20>>2]=b;J[i+16>>2]=e;if(k){na(k)}k=e;g=b}if((f|0)==-1){break r}b=f+1|0;b=(b>>>0)%3|0?b:f-2|0;if((b|0)==-1){break r}b=J[J[J[c+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break r}e=(b>>>0)/3|0;if(J[J[o>>2]+(e>>>3&268435452)>>2]>>>e&1){break r}if(gg(c,b)){break r}break e}if((f|0)!=-1){b=f+1|0;b=(b>>>0)%3|0?b:f-2|0}else{b=-1}Hc(c,b,1);if(!gg(c,J[i+8>>2])){break e}}d=d+1|0;if((t|0)!=(d|0)){continue}break}}d=J[c+72>>2];b=J[c+76>>2];w:{if((d|0)==(b|0)){break w}e=b-4|0;if(e>>>0<=d>>>0){break w}while(1){f=J[d>>2];J[d>>2]=J[e>>2];J[e>>2]=f;d=d+4|0;e=e-4|0;if(d>>>0>>0){continue}break}}fg(s,b,k,g);x:{if(J[c+172>>2]==J[c+176>>2]){break x}b=J[c+8>>2];d=J[b+100>>2];b=J[b+96>>2];H[i+8|0]=0;Na(o,(d-b|0)/12|0,i+8|0);d=J[c+72>>2];b=J[c+76>>2];if((d|0)==(b|0)){break x}while(1){eg(c,J[d>>2]);d=d+4|0;if((b|0)!=(d|0)){continue}break}}e=n;h=e+32|0;b=J[e+64>>2];b=J[(da[J[J[b>>2]+40>>2]](b)|0)+56>>2];Fd(h,P((J[b+100>>2]-J[b+96>>2]|0)/12|0,3),0,1);b=J[e+72>>2]-J[e+68>>2]|0;y:{if((b|0)<=0){break y}d=J[e+52>>2];if(!J[e+48>>2]&(d|0)<=0|(d|0)<0){break y}b=b>>>2|0;while(1){g=b;b=b-1|0;d=J[e+52>>2];z:{if(!J[e+48>>2]&(d|0)<=0|(d|0)<0){break z}o=J[J[e+68>>2]+(b<<2)>>2];if(!(171>>>o&1)){break z}j=J[(o<<2)+11152>>2];f=J[e+44>>2];d=J[f+4>>2];n=0;while(1){m=d>>>3|0;p=m+J[f>>2]|0;l=K[p|0];d=d&7;u=p,v=Ll(d)&l,H[u|0]=v;m=m+J[f>>2]|0;H[m|0]=K[m|0]|(o>>>n&1)<>2]+1|0;J[f+4>>2]=d;n=n+1|0;if((j|0)!=(n|0)){continue}break}}if((g|0)>1){continue}break}}Ed(h);b=c+232|0;ya(e,b);if(!(!J[c+280>>2]|J[c+284>>2]<=0)){d=0;while(1){ya(J[c+280>>2]+(d<<5)|0,b);d=d+1|0;if((d|0)>2]){continue}break}}Aa(J[c+272>>2]-J[c+268>>2]>>2,J[J[c+4>>2]+44>>2]);Aa(J[c+168>>2],J[J[c+4>>2]+44>>2]);if(!dg(c)){b=oa(32);H[b+28|0]=0;c=K[1909]|K[1910]<<8|(K[1911]<<16|K[1912]<<24);H[b+24|0]=c;H[b+25|0]=c>>>8;H[b+26|0]=c>>>16;H[b+27|0]=c>>>24;c=K[1905]|K[1906]<<8|(K[1907]<<16|K[1908]<<24);d=K[1901]|K[1902]<<8|(K[1903]<<16|K[1904]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1897]|K[1898]<<8|(K[1899]<<16|K[1900]<<24);d=K[1893]|K[1894]<<8|(K[1895]<<16|K[1896]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1889]|K[1890]<<8|(K[1891]<<16|K[1892]<<24);d=K[1885]|K[1886]<<8|(K[1887]<<16|K[1888]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,28);na(b);break d}b=J[J[c+4>>2]+44>>2];d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){sa(b,J[b+4>>2],J[c+232>>2],J[c+236>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break d}qa();B()}qa();B()}qa();B()}xa();B()}qa();B()}b=oa(48);H[b+32|0]=0;c=K[1703]|K[1704]<<8|(K[1705]<<16|K[1706]<<24);d=K[1699]|K[1700]<<8|(K[1701]<<16|K[1702]<<24);H[b+24|0]=d;H[b+25|0]=d>>>8;H[b+26|0]=d>>>16;H[b+27|0]=d>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1695]|K[1696]<<8|(K[1697]<<16|K[1698]<<24);d=K[1691]|K[1692]<<8|(K[1693]<<16|K[1694]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1687]|K[1688]<<8|(K[1689]<<16|K[1690]<<24);d=K[1683]|K[1684]<<8|(K[1685]<<16|K[1686]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1679]|K[1680]<<8|(K[1681]<<16|K[1682]<<24);d=K[1675]|K[1676]<<8|(K[1677]<<16|K[1678]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,32);na(b)}if(!k){break c}na(k)}ba=i+32|0}function lf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=ba-16|0;ba=f;a:{b:{if(c){J[a+88>>2]=0;J[a+92>>2]=0;e=J[a+84>>2];J[a+84>>2]=0;if(e){na(e)}J[a+76>>2]=0;J[a+80>>2]=0;e=J[a+72>>2];J[a+72>>2]=0;if(e){na(e)}e=J[c>>2];g=J[c+4>>2];H[f+15|0]=0;Na(a,g-e>>2,f+15|0);e=J[c+28>>2];g=J[c+24>>2];H[f+14|0]=0;Na(a+12|0,e-g>>2,f+14|0);wb(a+28|0,J[c+4>>2]-J[c>>2]>>2,14948);g=J[c+28>>2]-J[c+24>>2]|0;h=g>>2;j=J[a+52>>2];c:{if(h>>>0<=J[a+60>>2]-j>>2>>>0){break c}if((g|0)<0){break a}e=J[a+56>>2];g=oa(g);h=g+(h<<2)|0;i=g+(e-j&-4)|0;g=i;if((e|0)!=(j|0)){while(1){g=g-4|0;e=e-4|0;J[g>>2]=J[e>>2];if((e|0)!=(j|0)){continue}break}}J[a+60>>2]=h;J[a+56>>2]=i;J[a+52>>2]=g;if(!j){break c}na(j)}g=J[c+28>>2]-J[c+24>>2]|0;h=g>>2;j=J[a+40>>2];d:{if(h>>>0<=J[a+48>>2]-j>>2>>>0){break d}if((g|0)<0){break a}e=J[a+44>>2];g=oa(g);h=g+(h<<2)|0;i=g+(e-j&-4)|0;g=i;if((e|0)!=(j|0)){while(1){g=g-4|0;e=e-4|0;J[g>>2]=J[e>>2];if((e|0)!=(j|0)){continue}break}}J[a+48>>2]=h;J[a+44>>2]=i;J[a+40>>2]=g;if(!j){break d}na(j)}H[a+24|0]=1;J[a+64>>2]=c}ba=f+16|0;c=(c|0)!=0;break b}if(c){J[a+88>>2]=0;J[a+92>>2]=0;c=J[a+84>>2];J[a+84>>2]=0;if(c){na(c)}J[a+76>>2]=0;J[a+80>>2]=0;c=J[a+72>>2];J[a+72>>2]=0;if(c){na(c)}h=J[a+64>>2];if(J[h+4>>2]!=J[h>>2]){c=0;while(1){m=(c>>>0)/3|0;f=Fc(h,m);h=J[a+64>>2];e:{if(f){break e}j=J[J[h+12>>2]+(c<<2)>>2];f:{g:{if((j|0)==-1){f=J[a>>2]+(c>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0)%3|0?f:c-2|0;if((f|0)!=-1){e=J[J[h>>2]+(f<<2)>>2]}f=J[a+12>>2];g=f+(e>>>3&536870908)|0;J[g>>2]=J[g>>2]|1<>>0)%3|0){e=c-1|0;break g}g=-1;e=c+2|0;if((e|0)!=-1){break g}break f}if(c>>>0>j>>>0){break e}e=-1;k=K[d+84|0];g=-1;l=c+1|0;n=c-2|0;i=(l>>>0)%3|0?l:n;if((i|0)>=0){f=(i>>>0)/3|0;g=J[(J[b+96>>2]+P(f,12)|0)+(i-P(f,3)<<2)>>2]}f=j+((j>>>0)%3|0?-1:2)|0;if((f|0)>=0){e=(f>>>0)/3|0;e=J[(J[b+96>>2]+P(e,12)|0)+(f-P(e,3)<<2)>>2]}if(!k){o=J[d+68>>2];e=J[o+(e<<2)>>2];g=J[(g<<2)+o>>2]}if((e|0)==(g|0)){e=-1;g=-1;if((i|0)!=-1){g=i+1|0;g=(g>>>0)%3|0?g:i-2|0}h:{if((f|0)==-1){break h}if((f>>>0)%3|0){e=f-1|0;break h}e=f+2|0}f=-1;i=-1;if((g|0)>=0){i=(g>>>0)/3|0;i=J[(J[b+96>>2]+P(i,12)|0)+(g-P(i,3)<<2)>>2]}if((e|0)>=0){f=(e>>>0)/3|0;f=J[(J[b+96>>2]+P(f,12)|0)+(e-P(f,3)<<2)>>2]}if(!k){e=J[d+68>>2];f=J[e+(f<<2)>>2];i=J[e+(i<<2)>>2]}if((f|0)==(i|0)){break e}}H[a+24|0]=0;f=J[a>>2];e=f+(c>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0)%3|0?l:n;if((f|0)!=-1){i=J[J[h>>2]+(f<<2)>>2]}f=J[a+12>>2];e=f+(i>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<>2]+(e<<2)>>2]}e=(g>>>3&536870908)+f|0;J[e>>2]=J[e>>2]|1<>>0)%3|0?e:j-2|0;if((e|0)!=-1){g=J[J[h>>2]+(e<<2)>>2]}e=(g>>>3&536870908)+f|0;J[e>>2]=J[e>>2]|1<>>0)%3|0){e=j-1|0;break g}g=-1;e=j+2|0;if((e|0)==-1){break f}}g=J[J[h>>2]+(e<<2)>>2]}f=(g>>>3&536870908)+f|0;J[f>>2]=J[f>>2]|1<>>0>2]-J[h>>2]>>2>>>0){continue}break}}if(!(!b|!d)){h=b;j=d;b=0;l=0;e=a;J[e+56>>2]=J[e+52>>2];J[e+44>>2]=J[e+40>>2];k:{d=J[e+64>>2];f=J[d+24>>2];if((f|0)==J[d+28>>2]){break k}l:{m:{while(1){a=b;b=J[(l<<2)+f>>2];n:{if((b|0)==-1){b=a;break n}if((b|0)<0){c=-1}else{c=(b>>>0)/3|0;c=J[(J[h+96>>2]+P(c,12)|0)+(b-P(c,3)<<2)>>2]}c=K[j+84|0]?c:J[J[j+68>>2]+(c<<2)>>2];d=J[e+56>>2];g=J[e+60>>2];o:{if(d>>>0>>0){J[d>>2]=c;J[e+56>>2]=d+4;break o}i=J[e+52>>2];m=d-i>>2;f=m+1|0;if(f>>>0>=1073741824){break a}g=g-i|0;k=g>>>1|0;k=g>>>0>=2147483644?1073741823:f>>>0>>0?k:f;if(k){if(k>>>0>=1073741824){break m}g=oa(k<<2)}else{g=0}f=g+(m<<2)|0;J[f>>2]=c;c=f+4|0;if((d|0)!=(i|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(i|0)){continue}break}}J[e+60>>2]=g+(k<<2);J[e+56>>2]=c;J[e+52>>2]=f;if(!i){break o}na(i)}p:{q:{if(!(J[J[e+12>>2]+(l>>>3&536870908)>>2]>>>l&1)){break q}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)==-1|J[J[e>>2]+(c>>>3&536870908)>>2]>>>c&1){break q}c=J[J[J[e+64>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break q}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0;if((d|0)==-1){break q}g=J[e+64>>2];i=J[e>>2];while(1){c=d;d=-1;f=c+1|0;f=(f>>>0)%3|0?f:c-2|0;r:{if((f|0)==-1|J[i+(f>>>3&536870908)>>2]>>>f&1){break r}f=J[J[g+12>>2]+(f<<2)>>2];if((f|0)==-1){break r}d=f+1|0;d=(d>>>0)%3|0?d:f-2|0}if((b|0)!=(d|0)){if((d|0)==-1){break p}continue}break}break k}c=b}J[J[e+28>>2]+(c<<2)>>2]=a;d=J[e+44>>2];s:{if((d|0)!=J[e+48>>2]){J[d>>2]=c;J[e+44>>2]=d+4;break s}g=J[e+40>>2];b=d-g|0;k=b>>2;f=k+1|0;if(f>>>0>=1073741824){break l}i=b>>>1|0;i=b>>>0>=2147483644?1073741823:f>>>0>>0?i:f;if(i){if(i>>>0>=1073741824){break m}b=oa(i<<2)}else{b=0}f=b+(k<<2)|0;J[f>>2]=c;k=f+4|0;if((d|0)!=(g|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+48>>2]=b+(i<<2);J[e+44>>2]=k;J[e+40>>2]=f;if(!g){break s}na(g)}b=a+1|0;d=J[e+64>>2];if((c|0)==-1){break n}t:{if((c>>>0)%3|0){f=c-1|0;break t}f=c+2|0;if((f|0)==-1){break n}}f=J[J[d+12>>2]+(f<<2)>>2];if((f|0)==-1){break n}i=f+((f>>>0)%3|0?-1:2)|0;if((i|0)==-1|(c|0)==(i|0)){break n}while(1){d=i+1|0;d=(d>>>0)%3|0?d:i-2|0;if(J[J[e>>2]+(d>>>3&536870908)>>2]>>>d&1){g=(i|0)<0?-1:J[(J[h+96>>2]+P((i>>>0)/3|0,12)|0)+((i>>>0)%3<<2)>>2];g=K[j+84|0]?g:J[J[j+68>>2]+(g<<2)>>2];d=J[e+56>>2];f=J[e+60>>2];u:{if(d>>>0>>0){J[d>>2]=g;J[e+56>>2]=d+4;break u}k=J[e+52>>2];n=d-k>>2;a=n+1|0;if(a>>>0>=1073741824){break a}f=f-k|0;m=f>>>1|0;m=f>>>0>=2147483644?1073741823:a>>>0>>0?m:a;if(m){if(m>>>0>=1073741824){break m}a=oa(m<<2)}else{a=0}f=a+(n<<2)|0;J[f>>2]=g;g=f+4|0;if((d|0)!=(k|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(k|0)){continue}break}}J[e+60>>2]=a+(m<<2);J[e+56>>2]=g;J[e+52>>2]=f;if(!k){break u}na(k)}g=b+1|0;d=J[e+44>>2];v:{if((d|0)!=J[e+48>>2]){J[d>>2]=i;J[e+44>>2]=d+4;break v}k=J[e+40>>2];a=d-k|0;n=a>>2;f=n+1|0;if(f>>>0>=1073741824){break l}m=a>>>1|0;m=a>>>0>=2147483644?1073741823:f>>>0>>0?m:f;if(m){if(m>>>0>=1073741824){break m}a=oa(m<<2)}else{a=0}f=a+(n<<2)|0;J[f>>2]=i;n=f+4|0;if((d|0)!=(k|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(k|0)){continue}break}}J[e+48>>2]=a+(m<<2);J[e+44>>2]=n;J[e+40>>2]=f;if(!k){break v}na(k)}a=b;b=g}J[J[e+28>>2]+(i<<2)>>2]=a;d=J[e+64>>2];w:{if((i>>>0)%3|0){f=i-1|0;break w}f=i+2|0;if((f|0)==-1){break n}}f=J[J[d+12>>2]+(f<<2)>>2];if((f|0)==-1){break n}i=f+((f>>>0)%3|0?-1:2)|0;if((i|0)==-1){break n}if((c|0)!=(i|0)){continue}break}}l=l+1|0;f=J[d+24>>2];if(l>>>0>2]-f>>2>>>0){continue}break}break k}xa();B()}break a}return}b=0;f=0;e=a;J[e+56>>2]=J[e+52>>2];J[e+44>>2]=J[e+40>>2];x:{d=J[e+64>>2];h=J[d+24>>2];if((h|0)==J[d+28>>2]){break x}y:{z:{while(1){a=b;b=J[(f<<2)+h>>2];A:{if((b|0)==-1){b=a;break A}d=J[e+56>>2];B:{if((d|0)!=J[e+60>>2]){J[d>>2]=a;J[e+56>>2]=d+4;break B}g=J[e+52>>2];c=d-g|0;h=c>>2;j=h+1|0;if(j>>>0>=1073741824){break a}i=c>>>1|0;j=c>>>0>=2147483644?1073741823:i>>>0>j>>>0?i:j;if(j){if(j>>>0>=1073741824){break z}c=oa(j<<2)}else{c=0}h=c+(h<<2)|0;J[h>>2]=a;i=h+4|0;if((d|0)!=(g|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+60>>2]=c+(j<<2);J[e+56>>2]=i;J[e+52>>2]=h;if(!g){break B}na(g)}C:{D:{if(!(J[J[e+12>>2]+(f>>>3&536870908)>>2]>>>f&1)){break D}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)==-1|J[J[e>>2]+(c>>>3&536870908)>>2]>>>c&1){break D}c=J[J[J[e+64>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break D}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0;if((d|0)==-1){break D}j=J[e+64>>2];h=J[e>>2];while(1){c=d;d=-1;g=c+1|0;g=(g>>>0)%3|0?g:c-2|0;E:{if((g|0)==-1|J[h+(g>>>3&536870908)>>2]>>>g&1){break E}g=J[J[j+12>>2]+(g<<2)>>2];if((g|0)==-1){break E}d=g+1|0;d=(d>>>0)%3|0?d:g-2|0}if((b|0)!=(d|0)){if((d|0)==-1){break C}continue}break}break x}c=b}J[J[e+28>>2]+(c<<2)>>2]=a;d=J[e+44>>2];F:{if((d|0)!=J[e+48>>2]){J[d>>2]=c;J[e+44>>2]=d+4;break F}g=J[e+40>>2];b=d-g|0;h=b>>2;j=h+1|0;if(j>>>0>=1073741824){break y}i=b>>>1|0;j=b>>>0>=2147483644?1073741823:i>>>0>j>>>0?i:j;if(j){if(j>>>0>=1073741824){break z}b=oa(j<<2)}else{b=0}h=b+(h<<2)|0;J[h>>2]=c;i=h+4|0;if((d|0)!=(g|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+48>>2]=b+(j<<2);J[e+44>>2]=i;J[e+40>>2]=h;if(!g){break F}na(g)}b=a+1|0;d=J[e+64>>2];if((c|0)==-1){break A}G:{if((c>>>0)%3|0){h=c-1|0;break G}h=c+2|0;if((h|0)==-1){break A}}g=J[J[d+12>>2]+(h<<2)>>2];if((g|0)==-1){break A}g=g+((g>>>0)%3|0?-1:2)|0;if((g|0)==-1|(c|0)==(g|0)){break A}while(1){d=g+1|0;d=(d>>>0)%3|0?d:g-2|0;if(J[J[e>>2]+(d>>>3&536870908)>>2]>>>d&1){d=J[e+56>>2];H:{if((d|0)!=J[e+60>>2]){J[d>>2]=b;J[e+56>>2]=d+4;break H}j=J[e+52>>2];a=d-j|0;l=a>>2;h=l+1|0;if(h>>>0>=1073741824){break a}i=a>>>1|0;i=a>>>0>=2147483644?1073741823:i>>>0>h>>>0?i:h;if(i){if(i>>>0>=1073741824){break z}a=oa(i<<2)}else{a=0}h=a+(l<<2)|0;J[h>>2]=b;l=h+4|0;if((d|0)!=(j|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(j|0)){continue}break}}J[e+60>>2]=a+(i<<2);J[e+56>>2]=l;J[e+52>>2]=h;if(!j){break H}na(j)}j=b+1|0;d=J[e+44>>2];I:{if((d|0)!=J[e+48>>2]){J[d>>2]=g;J[e+44>>2]=d+4;break I}i=J[e+40>>2];a=d-i|0;k=a>>2;h=k+1|0;if(h>>>0>=1073741824){break y}l=a>>>1|0;l=a>>>0>=2147483644?1073741823:h>>>0>>0?l:h;if(l){if(l>>>0>=1073741824){break z}a=oa(l<<2)}else{a=0}h=a+(k<<2)|0;J[h>>2]=g;k=h+4|0;if((d|0)!=(i|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(i|0)){continue}break}}J[e+48>>2]=a+(l<<2);J[e+44>>2]=k;J[e+40>>2]=h;if(!i){break I}na(i)}a=b;b=j}J[J[e+28>>2]+(g<<2)>>2]=a;d=J[e+64>>2];J:{if((g>>>0)%3|0){h=g-1|0;break J}h=g+2|0;if((h|0)==-1){break A}}g=J[J[d+12>>2]+(h<<2)>>2];if((g|0)==-1){break A}g=g+((g>>>0)%3|0?-1:2)|0;if((g|0)==-1){break A}if((c|0)!=(g|0)){continue}break}}f=f+1|0;h=J[d+24>>2];if(f>>>0>2]-h>>2>>>0){continue}break}break x}xa();B()}break a}}return}qa();B()}function mf(a){var 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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;z=ba-16|0;ba=z;b=oa(88);J[b>>2]=0;J[b+4>>2]=0;J[b+56>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;c=b- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+60>>2]=b;c=a;w=ba-16|0;ba=w;J[b+80>>2]=0;J[b+84>>2]=0;d=J[b+76>>2];a=b;J[b+76>>2]=0;if(d){na(d)}J[a+68>>2]=0;J[a+72>>2]=0;b=a- -64|0;d=J[b>>2];J[b>>2]=0;if(d){na(d)}f=J[c+4>>2];d=J[c>>2];b=(f-d|0)/12|0;l=P(b,3);i=J[a>>2];e=J[a+4>>2]-i>>2;a:{if(l>>>0>e>>>0){Ld(a,l-e|0);f=J[c+4>>2];d=J[c>>2];b=(f-d|0)/12|0;break a}if(e>>>0<=l>>>0){break a}J[a+4>>2]=i+(l<<2)}b:{if((d|0)==(f|0)){break b}f=b>>>0<=1?1:b;e=f&1;g=J[a>>2];c=0;if(b>>>0>=2){i=f&-2;b=0;while(1){j=P(c,12);f=j+g|0;l=d+j|0;J[f>>2]=J[l>>2];J[g+(j|4)>>2]=J[l+4>>2];J[f+8>>2]=J[l+8>>2];f=P(c|1,12);l=f+g|0;f=d+f|0;J[l>>2]=J[f>>2];J[l+4>>2]=J[f+4>>2];J[l+8>>2]=J[f+8>>2];c=c+2|0;b=b+2|0;if((i|0)!=(b|0)){continue}break}}if(!e){break b}c=P(c,12);b=c+g|0;c=c+d|0;J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2]}J[w+12>>2]=-1;c=0;f=0;g=0;o=ba-32|0;ba=o;c:{s=w+12|0;d:{if(!s){break d}b=J[a+4>>2];j=J[a>>2];e=b-j|0;m=e>>2;d=J[a+12>>2];i=J[a+16>>2]-d>>2;e:{if(m>>>0>i>>>0){Ma(a+12|0,m-i|0,14880);b=J[a+4>>2];j=J[a>>2];e=b-j|0;m=e>>2;break e}if(i>>>0<=m>>>0){break e}J[a+16>>2]=d+(m<<2)}J[o+24>>2]=0;J[o+16>>2]=0;J[o+20>>2]=0;d=(b|0)==(j|0);if(!d){if((e|0)<0){break c}f=oa(e);J[o+20>>2]=f;J[o+16>>2]=f;J[o+24>>2]=(m<<2)+f}f:{g:{h:{i:{j:{if(e){while(1){d=J[(c<<2)+j>>2];e=J[o+20>>2]-f>>2;k:{if(d>>>0>>0){break k}J[o>>2]=0;i=d+1|0;if(i>>>0>e>>>0){jc(o+16|0,i-e|0,o);j=J[a>>2];b=J[a+4>>2];f=J[o+16>>2];break k}if(e>>>0<=i>>>0){break k}J[o+20>>2]=(i<<2)+f}d=(d<<2)+f|0;J[d>>2]=J[d>>2]+1;c=c+1|0;e=b-j|0;m=e>>2;if(c>>>0>>0){continue}break}break j}e=0;if(!d){break i}break h}if((b|0)==(j|0)){e=0;break h}if(e>>>0>=2147483645){break g}}e=oa(e<<1);pa(e,255,m<<3)}J[o+8>>2]=0;J[o>>2]=0;J[o+4>>2]=0;c=J[o+20>>2];b=c-f|0;y=b>>2;l:{m:{if((c|0)==(f|0)){break m}if((b|0)<0){break l}v=oa(b);J[o>>2]=v;J[o+8>>2]=(y<<2)+v;q=pa(v,0,b);J[o+4>>2]=q+b;b=y>>>0<=1?1:y;l=b&3;c=0;if(b-1>>>0>=3){i=b&-4;while(1){p=g<<2;J[p+q>>2]=c;b=p|4;c=J[f+p>>2]+c|0;J[b+q>>2]=c;d=p|8;c=c+J[b+f>>2]|0;J[d+q>>2]=c;b=p|12;c=c+J[d+f>>2]|0;J[b+q>>2]=c;c=c+J[b+f>>2]|0;g=g+4|0;h=h+4|0;if((i|0)!=(h|0)){continue}break}}if(!l){break m}while(1){b=g<<2;J[b+q>>2]=c;g=g+1|0;c=J[b+f>>2]+c|0;r=r+1|0;if((l|0)!=(r|0)){continue}break}}if(!m){break f}u=J[a+40>>2];k=J[a+12>>2];l=0;while(1){q=l<<2;d=q+j|0;r=-1;b=l+1|0;c=(b>>>0)%3|0?b:l-2|0;if((c|0)!=-1){r=J[(c<<2)+j>>2]}p=J[d>>2];n:{o:{if(!((l>>>0)%3|0)){h=-1;c=l+2|0;if((c|0)!=-1){h=J[(c<<2)+j>>2]}if(!((p|0)==(r|0)|(h|0)==(p|0))&(h|0)!=(r|0)){break o}u=u+1|0;J[a+40>>2]=u;b=l+3|0;break n}h=J[d-4>>2]}c=h<<2;t=J[c+f>>2];p:{q:{if((t|0)<=0){break q}c=J[c+v>>2];g=0;while(1){i=(c<<3)+e|0;d=J[i>>2];if((d|0)==-1){break q}r:{if((d|0)!=(r|0)){break r}n=J[i+4>>2];if((n|0)!=-1){d=J[(n<<2)+j>>2]}else{d=-1}if((d|0)==(p|0)){break r}while(1){s:{d=c;g=g+1|0;if((t|0)<=(g|0)){break s}c=d+1|0;p=(c<<3)+e|0;x=J[p>>2];i=(d<<3)+e|0;J[i+4>>2]=J[p+4>>2];J[i>>2]=x;if((x|0)!=-1){continue}}break}J[(d<<3)+e>>2]=-1;if((n|0)==-1){break q}J[k+q>>2]=n;J[k+(n<<2)>>2]=l;break p}c=c+1|0;g=g+1|0;if((t|0)!=(g|0)){continue}break}}c=r<<2;d=J[c+f>>2];if((d|0)<=0){break p}c=J[c+v>>2];g=0;while(1){i=(c<<3)+e|0;if(J[i>>2]==-1){J[i>>2]=h;J[i+4>>2]=l;break p}c=c+1|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}}}l=b;if(l>>>0>>0){continue}break}break f}break c}ke(1313);B()}J[s>>2]=y;if(v){na(v)}if(e){na(e)}c=J[o+16>>2];if(!c){break d}J[o+20>>2]=c;na(c)}ba=o+32|0;x=(s|0)!=0;if(x){n=ba-32|0;ba=n;c=J[a>>2];g=J[a+4>>2];J[n+24>>2]=0;J[n+16>>2]=0;J[n+20>>2]=0;if((c|0)==(g|0)){b=g}else{c=g-c|0;if((c|0)<0){break c}d=c>>2;b=(d-1>>>5|0)+1|0;c=oa(b<<2);J[n+24>>2]=b;J[n+20>>2]=0;J[n+16>>2]=c;mc(n+16|0,d);g=J[a>>2];b=J[a+4>>2]}J[n+8>>2]=0;J[n>>2]=0;while(1){t:{k=0;m=0;if((b|0)==(g|0)){break t}while(1){e=J[n+16>>2];u:{if(J[e+(m>>>3&536870908)>>2]>>>m&1){break u}b=J[n>>2];J[n+4>>2]=b;f=J[a+12>>2];c=m;while(1){v:{d=c+1|0;i=c;c=(d>>>0)%3|0?d:c-2|0;if((c|0)==-1){break v}d=J[f+(c<<2)>>2];if((d|0)==-1){break v}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((m|0)==(c|0)|(c|0)==-1){break v}if(!(J[e+(c>>>3&536870908)>>2]>>>c&1)){continue}}break}j=i;w:{x:{y:{while(1){c=J[n+16>>2]+(j>>>3&536870908)|0;J[c>>2]=J[c>>2]|1<>>0)%3|0?c:j-2|0;g=J[a>>2];q=(j>>>0)%3|0;d=(q?-1:2)+j|0;l=J[n>>2];p=(l|0)==(b|0);z:{if(p){break z}t=J[(e<<2)+g>>2];s=J[a+12>>2];c=l;if((d|0)!=-1){f=s+(d<<2)|0;while(1){A:{if((t|0)!=J[c>>2]){break A}u=J[f>>2];h=J[c+4>>2];if((u|0)==(h|0)){break A}f=d;b=-1;c=-1;if((h|0)==-1){break w}break x}c=c+8|0;if((b|0)!=(c|0)){continue}break}break z}while(1){if((t|0)==J[c>>2]){u=-1;f=-1;h=J[c+4>>2];if((h|0)!=-1){break x}}c=c+8|0;if((b|0)!=(c|0)){continue}break}}g=J[(d<<2)+g>>2];B:{if(J[n+8>>2]!=(b|0)){J[b>>2]=g;J[b+4>>2]=e;b=b+8|0;J[n+4>>2]=b;break B}h=b-l|0;d=h>>3;f=d+1|0;if(f>>>0>=536870912){break c}c=h>>>2|0;h=h>>>0>=2147483640?536870911:c>>>0>f>>>0?c:f;if(h){if(h>>>0>=536870912){break y}f=oa(h<<3)}else{f=0}c=f+(d<<3)|0;J[c>>2]=g;J[c+4>>2]=e;d=c+8|0;if(!p){while(1){b=b-8|0;e=J[b+4>>2];c=c-8|0;J[c>>2]=J[b>>2];J[c+4>>2]=e;if((b|0)!=(l|0)){continue}break}b=J[n>>2]}J[n+8>>2]=f+(h<<3);J[n+4>>2]=d;J[n>>2]=c;if(b){na(b)}b=d}C:{D:{if(q){c=j-1|0;break D}c=j+2|0;if((c|0)==-1){break C}}c=J[J[a+12>>2]+(c<<2)>>2];if((c|0)==-1){break C}j=c+((c>>>0)%3|0?-1:2)|0;if((i|0)==(j|0)){break C}if((j|0)!=-1){continue}}break}g=J[a>>2];break u}xa();B()}b=J[s+(h<<2)>>2];d=f;c=h}if((u|0)!=-1){J[s+(u<<2)>>2]=-1}if((b|0)!=-1){J[s+(b<<2)>>2]=-1}J[s+(d<<2)>>2]=-1;J[s+(c<<2)>>2]=-1;k=1}m=m+1|0;b=J[a+4>>2];if(m>>>0>2>>>0){continue}break}if(k){continue}}break}c=J[n>>2];if(c){na(c)}c=J[n+16>>2];if(c){na(c)}ba=n+32|0;l=0;k=ba-32|0;ba=k;f=J[w+12>>2];J[a+36>>2]=f;t=a+24|0;c=J[a+24>>2];b=J[a+28>>2]-c>>2;E:{F:{if(b>>>0>>0){Ma(t,f-b|0,14880);J[k+24>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;break F}if(b>>>0>f>>>0){J[a+28>>2]=c+(f<<2)}J[k+24>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;if(!f){break E}}if((f|0)<0){break c}b=(f-1>>>5|0)+1|0;c=oa(b<<2);J[k+24>>2]=b;J[k+20>>2]=0;J[k+16>>2]=c;mc(k+16|0,f)}c=J[a>>2];d=J[a+4>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;G:{if((c|0)==(d|0)){c=d}else{c=d-c|0;if((c|0)<0){break c}d=c>>2;b=(d-1>>>5|0)+1|0;c=oa(b<<2);J[k+8>>2]=b;J[k+4>>2]=0;J[k>>2]=c;mc(k,d);d=J[a>>2];c=J[a+4>>2]}if(c-d>>>0<12){break G}H:{while(1){q=P(l,3);e=(q<<2)+d|0;h=J[e>>2];b=-1;i=q+1|0;if((i|0)!=-1){b=J[(i<<2)+d>>2]}I:{if((b|0)==(h|0)){break I}i=J[e+8>>2];if((i|0)==(h|0)|(b|0)==(i|0)){break I}r=0;m=J[k>>2];while(1){i=q+r|0;if(!(J[(i>>>3&536870908)+m>>2]>>>i&1)){c=J[(i<<2)+d>>2];b=1<>2];d=c>>>5|0;m=J[e+(d<<2)>>2];p=b&m;if(p){b=J[a+28>>2];J:{if((b|0)!=J[a+32>>2]){J[b>>2]=-1;J[a+28>>2]=b+4;break J}g=J[t>>2];j=b-g|0;e=j>>2;h=e+1|0;if(h>>>0>=1073741824){break c}d=j>>>1|0;j=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(j){if(j>>>0>=1073741824){break H}d=oa(j<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=-1;h=e+4|0;if((b|0)!=(g|0)){while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];if((b|0)!=(g|0)){continue}break}}J[a+32>>2]=d+(j<<2);J[a+28>>2]=h;J[a+24>>2]=e;if(!g){break J}na(g)}b=J[a+52>>2];K:{if((b|0)!=J[a+56>>2]){J[b>>2]=c;J[a+52>>2]=b+4;break K}g=J[a+48>>2];j=b-g|0;e=j>>2;h=e+1|0;if(h>>>0>=1073741824){break c}d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break H}d=oa(h<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=c;c=e+4|0;if((b|0)!=(g|0)){while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];if((b|0)!=(g|0)){continue}break}}J[a+56>>2]=d+(h<<2);J[a+52>>2]=c;J[a+48>>2]=e;if(!g){break K}na(g)}b=J[k+20>>2];c=J[k+24>>2];if((b|0)==c<<5){if((b+1|0)<0){break c}e=k+16|0;if(b>>>0<=1073741822){d=c<<6;c=(b&-32)+32|0;c=c>>>0>>0?d:c}else{c=2147483647}wc(e,c);b=J[k+20>>2]}J[k+20>>2]=b+1;e=J[k+16>>2];d=e+(b>>>3&536870908)|0;c=J[d>>2];A=d,C=Ll(b)&c,J[A>>2]=C;b=1<>>5|0;m=J[(d<<2)+e>>2];c=f;f=c+1|0}J[(d<<2)+e>>2]=b|m;j=J[a+24>>2]+(c<<2)|0;g=J[a+12>>2];d=J[a>>2];m=J[k>>2];b=i;L:{M:{N:{while(1){if((b|0)==-1){break N}e=(b>>>3&536870908)+m|0;J[e>>2]=J[e>>2]|1<>2]=b;if(p){J[(b<<2)+d>>2]=c}h=b+1|0;b=(h>>>0)%3|0?h:b-2|0;e=-1;O:{if((b|0)==-1){break O}h=J[g+(b<<2)>>2];e=-1;if((h|0)==-1){break O}b=h+1|0;e=(b>>>0)%3|0?b:h-2|0}b=e;if((i|0)!=(b|0)){continue}break}if((i|0)!=-1){break L}b=1;break M}if((i>>>0)%3|0){b=i-1|0;break M}b=i+2|0;if((b|0)==-1){break L}}b=J[g+(b<<2)>>2];if((b|0)==-1){break L}P:{if((b>>>0)%3|0){b=b-1|0;break P}b=b+2|0;if((b|0)==-1){break L}}e=J[a+12>>2];d=J[a>>2];while(1){i=(b>>>3&536870908)+m|0;J[i>>2]=J[i>>2]|1<>2]=c}Q:{if((b>>>0)%3|0){b=b-1|0;break Q}b=b+2|0;if((b|0)==-1){break L}}b=J[e+(b<<2)>>2];if((b|0)==-1){break L}b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)!=-1){continue}break}}}r=r+1|0;if((r|0)!=3){continue}break}d=J[a>>2];c=J[a+4>>2]}l=l+1|0;if(l>>>0<(c-d>>2>>>0)/3>>>0){continue}break}break G}xa();B()}b=0;J[a+44>>2]=0;c=J[k+16>>2];d=J[k+20>>2];if(d){i=d&31;f=(d>>>3&536870908)+c|0;e=c;m=0;while(1){if(!(J[e>>2]>>>b&1)){m=m+1|0;J[a+44>>2]=m}d=(b|0)==31;b=d?0:b+1|0;e=(d<<2)+e|0;if((f|0)!=(e|0)|(b|0)!=(i|0)){continue}break}}b=J[k>>2];if(b){na(b);c=J[k+16>>2]}if(c){na(c)}ba=k+32|0}ba=w+16|0;if(!x){J[z+8>>2]=0;qc(a);a=0}ba=z+16|0;return a}qa();B()}function nd(a){a=a|0;var 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;l=ba-16|0;ba=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(a>>>0<=244){g=J[4849];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+19436|0;d=J[a+19444>>2];a=J[d+8>>2];j:{if((b|0)==(a|0)){m=19396,n=Ll(c)&g,J[m>>2]=n;break j}J[a+12>>2]=b;J[b+8>>2]=a}a=d+8|0;b=c<<3;J[d+4>>2]=b|3;b=b+d|0;J[b+4>>2]=J[b+4>>2]|1;break a}k=J[4851];if(k>>>0>=h>>>0){break i}if(b){a=2<>2];a=J[e+8>>2];k:{if((b|0)==(a|0)){g=Ll(d)&g;J[4849]=g;break k}J[a+12>>2]=b;J[b+8>>2]=a}J[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;J[c+4>>2]=d|1;J[a+e>>2]=d;if(k){b=(k&-8)+19436|0;f=J[4854];a=1<<(k>>>3);l:{if(!(a&g)){J[4849]=a|g;a=b;break l}a=J[b+8>>2]}J[b+8>>2]=f;J[a+12>>2]=f;J[f+12>>2]=b;J[f+8>>2]=a}a=e+8|0;J[4854]=c;J[4851]=d;break a}j=J[4850];if(!j){break i}c=J[(Gl(0-j&j)<<2)+19700>>2];f=(J[c+4>>2]&-8)-h|0;b=c;while(1){m:{a=J[b+16>>2];if(!a){a=J[b+20>>2];if(!a){break m}}b=(J[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=J[c+24>>2];d=J[c+12>>2];if((d|0)!=(c|0)){a=J[c+8>>2];J[a+12>>2]=d;J[d+8>>2]=a;break b}b=c+20|0;a=J[b>>2];if(!a){a=J[c+16>>2];if(!a){break h}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=J[b>>2];if(a){continue}b=d+16|0;a=J[d+16>>2];if(a){continue}break}J[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break i}a=a+11|0;h=a&-8;j=J[4850];if(!j){break i}f=0-h|0;g=0;n:{if(h>>>0<256){break n}g=31;if(h>>>0>16777215){break n}a=S(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=J[(g<<2)+19700>>2];o:{p:{q:{if(!b){a=0;break q}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){r:{e=(J[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break r}d=b;f=e;if(e){break r}f=0;a=b;break p}e=J[b+20>>2];b=J[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break o}}while(1){b=(J[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=J[a+16>>2];if(b){a=b}else{a=J[a+20>>2]}if(a){continue}break}}if(!d|J[4851]-h>>>0<=f>>>0){break i}g=J[d+24>>2];c=J[d+12>>2];if((d|0)!=(c|0)){a=J[d+8>>2];J[a+12>>2]=c;J[c+8>>2]=a;break c}b=d+20|0;a=J[b>>2];if(!a){a=J[d+16>>2];if(!a){break g}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=J[b>>2];if(a){continue}b=c+16|0;a=J[c+16>>2];if(a){continue}break}J[e>>2]=0;break c}a=J[4851];if(a>>>0>=h>>>0){d=J[4854];b=a-h|0;s:{if(b>>>0>=16){c=d+h|0;J[c+4>>2]=b|1;J[a+d>>2]=b;J[d+4>>2]=h|3;break s}J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;c=0;b=0}J[4851]=b;J[4854]=c;a=d+8|0;break a}i=J[4852];if(i>>>0>h>>>0){b=i-h|0;J[4852]=b;c=J[4855];a=c+h|0;J[4855]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(J[4967]){c=J[4969]}else{J[4970]=-1;J[4971]=-1;J[4968]=4096;J[4969]=4096;J[4967]=l+12&-16^1431655768;J[4972]=0;J[4960]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=J[4959];if(d){c=J[4957];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}t:{if(!(K[19840]&4)){u:{v:{w:{x:{d=J[4855];if(d){a=19844;while(1){c=J[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break x}a=J[a+8>>2];if(a){continue}break}}c=Kb(0);if((c|0)==-1){break u}g=b;d=J[4968];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break u}d=J[4959];if(d){a=J[4957];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break u}}a=Kb(g);if((c|0)!=(a|0)){break w}break t}g=f&e-i;c=Kb(g);if((c|0)==(J[a>>2]+J[a+4>>2]|0)){break v}a=c}if((a|0)==-1){break u}if(h+48>>>0<=g>>>0){c=a;break t}c=J[4969];c=c+(j-g|0)&0-c;if((Kb(c)|0)==-1){break u}g=c+g|0;c=a;break t}if((c|0)!=-1){break t}}J[4960]=J[4960]|4}c=Kb(b);a=Kb(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}g=a-c|0;if(g>>>0<=h+40>>>0){break d}}a=J[4957]+g|0;J[4957]=a;if(a>>>0>M[4958]){J[4958]=a}y:{e=J[4855];if(e){a=19844;while(1){d=J[a>>2];b=J[a+4>>2];if((d+b|0)==(c|0)){break y}a=J[a+8>>2];if(a){continue}break}break f}a=J[4853];if(!(a>>>0<=c>>>0?a:0)){J[4853]=c}a=0;J[4962]=g;J[4961]=c;J[4857]=-1;J[4858]=J[4967];J[4964]=0;while(1){d=a<<3;b=d+19436|0;J[d+19444>>2]=b;J[d+19448>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4852]=b;a=a+c|0;J[4855]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4856]=J[4971];break e}if(K[a+12|0]&8|d>>>0>e>>>0|c>>>0<=e>>>0){break f}J[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;J[4855]=c;b=J[4852]+g|0;a=b-a|0;J[4852]=a;J[c+4>>2]=a|1;J[(b+e|0)+4>>2]=40;J[4856]=J[4971];break e}d=0;break b}c=0;break c}if(M[4853]>c>>>0){J[4853]=c}b=c+g|0;a=19844;z:{A:{B:{C:{D:{E:{while(1){if((b|0)!=J[a>>2]){a=J[a+8>>2];if(a){continue}break E}break}if(!(K[a+12|0]&8)){break D}}a=19844;while(1){b=J[a>>2];if(b>>>0<=e>>>0){f=b+J[a+4>>2]|0;if(f>>>0>e>>>0){break C}}a=J[a+8>>2];continue}}J[a>>2]=c;J[a+4>>2]=J[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;J[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){J[4855]=i;a=J[4852]+a|0;J[4852]=a;J[i+4>>2]=a|1;break A}if(J[4854]==(g|0)){J[4854]=i;a=J[4851]+a|0;J[4851]=a;J[i+4>>2]=a|1;J[a+i>>2]=a;break A}f=J[g+4>>2];if((f&3)==1){e=f&-8;F:{if(f>>>0<=255){d=J[g+8>>2];b=f>>>3|0;c=J[g+12>>2];if((c|0)==(d|0)){m=19396,n=J[4849]&Ll(b),J[m>>2]=n;break F}J[d+12>>2]=c;J[c+8>>2]=d;break F}h=J[g+24>>2];c=J[g+12>>2];G:{if((g|0)!=(c|0)){b=J[g+8>>2];J[b+12>>2]=c;J[c+8>>2]=b;break G}H:{f=g+20|0;b=J[f>>2];if(b){break H}f=g+16|0;b=J[f>>2];if(b){break H}c=0;break G}while(1){d=f;c=b;f=c+20|0;b=J[f>>2];if(b){continue}f=c+16|0;b=J[c+16>>2];if(b){continue}break}J[d>>2]=0}if(!h){break F}d=J[g+28>>2];b=(d<<2)+19700|0;I:{if(J[b>>2]==(g|0)){J[b>>2]=c;if(c){break I}m=19400,n=J[4850]&Ll(d),J[m>>2]=n;break F}J[h+(J[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break F}}J[c+24>>2]=h;b=J[g+16>>2];if(b){J[c+16>>2]=b;J[b+24>>2]=c}b=J[g+20>>2];if(!b){break F}J[c+20>>2]=b;J[b+24>>2]=c}g=e+g|0;f=J[g+4>>2];a=a+e|0}J[g+4>>2]=f&-2;J[i+4>>2]=a|1;J[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+19436|0;c=J[4849];a=1<<(a>>>3);J:{if(!(c&a)){J[4849]=a|c;a=b;break J}a=J[b+8>>2]}J[b+8>>2]=i;J[a+12>>2]=i;J[i+12>>2]=b;J[i+8>>2]=a;break A}f=31;if(a>>>0<=16777215){b=S(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}J[i+28>>2]=f;J[i+16>>2]=0;J[i+20>>2]=0;b=(f<<2)+19700|0;d=J[4850];c=1<>2]=i;break K}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=J[b>>2];while(1){b=c;if((J[c+4>>2]&-8)==(a|0)){break B}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=J[d+16>>2];if(c){continue}break}J[d+16>>2]=i}J[i+24>>2]=b;J[i+12>>2]=i;J[i+8>>2]=i;break A}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4852]=b;a=a+c|0;J[4855]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4856]=J[4971];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;J[d+4>>2]=27;a=J[4964];J[d+16>>2]=J[4963];J[d+20>>2]=a;a=J[4962];J[d+8>>2]=J[4961];J[d+12>>2]=a;J[4963]=d+8;J[4962]=g;J[4961]=c;J[4964]=0;a=d+24|0;while(1){J[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break e}J[d+4>>2]=J[d+4>>2]&-2;f=d-e|0;J[e+4>>2]=f|1;J[d>>2]=f;if(f>>>0<=255){b=(f&-8)+19436|0;c=J[4849];a=1<<(f>>>3);L:{if(!(c&a)){J[4849]=a|c;a=b;break L}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break e}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+19700|0;d=J[4850];c=1<>2]=e;break M}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=J[b>>2];while(1){b=d;if((f|0)==(J[b+4>>2]&-8)){break z}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=J[c+16>>2];if(d){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break e}a=J[b+8>>2];J[a+12>>2]=i;J[b+8>>2]=i;J[i+24>>2]=0;J[i+12>>2]=b;J[i+8>>2]=a}a=j+8|0;break a}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=J[4852];if(a>>>0<=h>>>0){break d}b=a-h|0;J[4852]=b;c=J[4855];a=c+h|0;J[4855]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[4804]=48;a=0;break a}N:{if(!g){break N}b=J[d+28>>2];a=(b<<2)+19700|0;O:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break O}j=Ll(b)&j;J[4850]=j;break N}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break N}}J[c+24>>2]=g;a=J[d+16>>2];if(a){J[c+16>>2]=a;J[a+24>>2]=c}a=J[d+20>>2];if(!a){break N}J[c+20>>2]=a;J[a+24>>2]=c}P:{if(f>>>0<=15){a=f+h|0;J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;break P}J[d+4>>2]=h|3;e=d+h|0;J[e+4>>2]=f|1;J[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+19436|0;c=J[4849];a=1<<(f>>>3);Q:{if(!(c&a)){J[4849]=a|c;a=b;break Q}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break P}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+19700|0;R:{c=1<>2]=e;break S}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=J[b>>2];while(1){b=h;if((J[b+4>>2]&-8)==(f|0)){break R}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=J[c+16>>2];if(h){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break P}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=d+8|0;break a}T:{if(!i){break T}b=J[c+28>>2];a=(b<<2)+19700|0;U:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break U}m=19400,n=Ll(b)&j,J[m>>2]=n;break T}J[i+(J[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break T}}J[d+24>>2]=i;a=J[c+16>>2];if(a){J[d+16>>2]=a;J[a+24>>2]=d}a=J[c+20>>2];if(!a){break T}J[d+20>>2]=a;J[a+24>>2]=d}V:{if(f>>>0<=15){a=f+h|0;J[c+4>>2]=a|3;a=a+c|0;J[a+4>>2]=J[a+4>>2]|1;break V}J[c+4>>2]=h|3;d=c+h|0;J[d+4>>2]=f|1;J[d+f>>2]=f;if(k){b=(k&-8)+19436|0;e=J[4854];a=1<<(k>>>3);W:{if(!(a&g)){J[4849]=a|g;a=b;break W}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a}J[4854]=d;J[4851]=f}a=c+8|0}ba=l+16|0;return a|0}function Kh(a){a=a|0;var 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=Q(0);e=ba+-64|0;ba=e;c=J[a+4>>2];i=J[a+8>>2];a:{if((c|0)==(i|0)){J[a+72>>2]=0;b=1;break a}d=i-c>>2;m=d>>>0<=1?1:d;j=m&3;h=J[J[a+28>>2]+4>>2];d=J[h+8>>2];if(m-1>>>0>=3){m=m&-4;while(1){l=g;g=b<<2;g=(((l+K[J[d+(J[g+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|4)+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|8)+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|12)+c>>2]<<2)>>2]+24|0]|0;b=b+4|0;k=k+4|0;if((m|0)!=(k|0)){continue}break}}if(j){while(1){g=K[J[d+(J[(b<<2)+c>>2]<<2)>>2]+24|0]+g|0;b=b+1|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}o=J[h+80>>2];J[a+72>>2]=g;if((c|0)==(i|0)){b=1;break a}m=0;while(1){b=J[(m<<2)+c>>2];J[e+60>>2]=b;b:{c:{d:{e:{f:{c=J[a+28>>2];i=J[J[J[c+4>>2]+8>>2]+(b<<2)>>2];switch(J[i+28>>2]-1|0){case 0:case 2:case 4:break e;case 8:break f;default:break b}}J[e+36>>2]=-1;J[e+32>>2]=2032;J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;g=J[c+48>>2];b=oa(32);J[e+16>>2]=b;J[e+20>>2]=17;J[e+24>>2]=-2147483616;H[b+16|0]=K[1261];c=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);d=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);d=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;g=jb(g,e+60|0,e+16|0,-1);if(H[e+27|0]<0){na(J[e+16>>2])}g:{if((g|0)<=0){break g}j=J[J[a+28>>2]+48>>2];b=oa(32);J[e+16>>2]=b;J[e+20>>2]=19;J[e+24>>2]=-2147483616;d=0;c=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);f=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);f=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;h:{if(!yc(j,e+60|0,e+16|0)){break h}f=J[J[a+28>>2]+48>>2];b=oa(32);J[e>>2]=b;J[e+4>>2]=18;J[e+8>>2]=-2147483616;c=K[1547]|K[1548]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);d=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);d=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;d=yc(f,e+60|0,e);if(H[e+11|0]>=0){break h}na(J[e>>2])}if(H[e+27|0]<0){na(J[e+16>>2])}i:{if(d){b=K[i+24|0];j:{if(!b){d=0;break j}b=b<<2;d=oa(b);pa(d,0,b)}j=J[J[a+28>>2]+48>>2];b=oa(32);J[e+16>>2]=b;J[e+20>>2]=19;J[e+24>>2]=-2147483616;c=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);f=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);f=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;De(j,e+60|0,e+16|0,K[i+24|0],d);if(H[e+27|0]<0){na(J[e+16>>2])}j=J[J[a+28>>2]+48>>2];b=oa(32);J[e+16>>2]=b;J[e+20>>2]=18;J[e+24>>2]=-2147483616;c=K[1547]|K[1548]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);f=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);f=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;p=Ce(j,e+60|0,e+16|0);if(H[e+27|0]<0){na(J[e+16>>2])}ch(e+32|0,g,d,K[i+24|0],p);if(!d){break i}na(d);break i}if(!_g(e+32|0,i,g)){break g}}d=J[a+40>>2];k:{if((d|0)!=J[a+44>>2]){J[d>>2]=2032;b=J[e+36>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[d+4>>2]=b;b=J[e+44>>2];c=J[e+40>>2];if((b|0)!=(c|0)){b=b-c|0;if((b|0)<0){break d}c=oa(b);J[d+12>>2]=c;J[d+8>>2]=c;J[d+16>>2]=(b&-4)+c;b=J[e+40>>2];g=J[e+44>>2];if((b|0)!=(g|0)){while(1){N[c>>2]=N[b>>2];c=c+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}J[d+12>>2]=c}N[d+20>>2]=N[e+52>>2];J[a+40>>2]=d+24;break k}f=0;l:{m:{n:{o:{b=J[a+40>>2];j=J[a+36>>2];d=(b-j|0)/24|0;c=d+1|0;if(c>>>0<178956971){g=(J[a+44>>2]-j|0)/24|0;h=g<<1;h=g>>>0>=89478485?178956970:c>>>0>>0?h:c;if(h){if(h>>>0>=178956971){break o}f=oa(P(h,24))}c=P(d,24)+f|0;J[c>>2]=2032;d=J[e+36>>2];J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+4>>2]=d;g=J[e+40>>2];k=J[e+44>>2];if((g|0)!=(k|0)){l=k-g|0;if((l|0)<0){break n}d=oa(l);J[c+8>>2]=d;J[c+16>>2]=(l&-4)+d;while(1){N[d>>2]=N[g>>2];d=d+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}J[c+12>>2]=d}d=P(h,24)+f|0;N[c+20>>2]=N[e+52>>2];g=c+24|0;if((b|0)==(j|0)){break m}while(1){c=c-24|0;J[c>>2]=2032;b=b-24|0;J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[b+16>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;N[c+20>>2]=N[b+20>>2];if((b|0)!=(j|0)){continue}break}J[a+44>>2]=d;d=J[a+40>>2];J[a+40>>2]=g;b=J[a+36>>2];J[a+36>>2]=c;if((b|0)==(d|0)){break l}while(1){d=d-24|0;da[J[J[d>>2]>>2]](d)|0;if((b|0)!=(d|0)){continue}break}break l}qa();B()}xa();B()}qa();B()}J[a+44>>2]=d;J[a+40>>2]=g;J[a+36>>2]=c}if(b){na(b)}}b=e+32|0;c=Mc(b,i,o);J[e>>2]=c;J[e+24>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;je(b,i,e+16|0,c);b=J[e+16>>2];if(b){J[e+20>>2]=b;na(b)}b=J[a+64>>2];p:{if(b>>>0>2]){c=J[e>>2];J[e>>2]=0;J[b>>2]=c;J[a+64>>2]=b+4;break p}c=0;q:{r:{s:{d=J[a+60>>2];g=J[a+64>>2]-d>>2;b=g+1|0;if(b>>>0<1073741824){d=J[a+68>>2]-d|0;i=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?i:b;if(d){if(d>>>0>=1073741824){break s}c=oa(d<<2)}i=J[e>>2];J[e>>2]=0;b=(g<<2)+c|0;J[b>>2]=i;d=(d<<2)+c|0;g=b+4|0;c=J[a+64>>2];i=J[a+60>>2];if((c|0)==(i|0)){break r}while(1){c=c-4|0;f=J[c>>2];J[c>>2]=0;b=b-4|0;J[b>>2]=f;if((c|0)!=(i|0)){continue}break}J[a+68>>2]=d;d=J[a+64>>2];J[a+64>>2]=g;c=J[a+60>>2];J[a+60>>2]=b;if((c|0)==(d|0)){break q}while(1){d=d-4|0;b=J[d>>2];J[d>>2]=0;if(b){Ka(b)}if((c|0)!=(d|0)){continue}break}break q}qa();B()}xa();B()}J[a+68>>2]=d;J[a+64>>2]=g;J[a+60>>2]=b}if(c){na(c)}}b=J[e>>2];J[e>>2]=0;if(b){Ka(b)}J[e+32>>2]=2032;b=J[e+40>>2];if(!b){break b}J[e+44>>2]=b;na(b);break b}J[e+32>>2]=2032;a=J[e+40>>2];if(a){J[e+44>>2]=a;na(a)}b=0;break a}j=0;t:{u:{g=K[i+24|0];v:{if(!g){d=0;break v}b=0;f=g<<2;d=oa(f);c=d;h=g&7;if(h){while(1){J[c>>2]=2147483647;c=c+4|0;b=b+1|0;if((h|0)!=(b|0)){continue}break}}if((g-1&1073741823)>>>0>=7){b=d+f|0;while(1){J[c+24>>2]=2147483647;J[c+28>>2]=2147483647;J[c+16>>2]=2147483647;J[c+20>>2]=2147483647;J[c+8>>2]=2147483647;J[c+12>>2]=2147483647;J[c>>2]=2147483647;J[c+4>>2]=2147483647;c=c+32|0;if((b|0)!=(c|0)){continue}break}}b=K[i+24|0];if(b){break u}}g=0;b=0;break t}b=b<<2;g=oa(b);pa(g,0,b);b=K[i+24|0]}if(!J[i+80>>2]){break c}while(1){$c(i,j,b<<24>>24,g);b=K[i+24|0];w:{if(!b){break w}c=0;if((b|0)!=1){l=b&254;f=0;while(1){h=c<<2;k=h+d|0;n=J[g+h>>2];if((n|0)>2]){J[k>>2]=n}h=h|4;k=h+d|0;h=J[g+h>>2];if(J[k>>2]>(h|0)){J[k>>2]=h}c=c+2|0;f=f+2|0;if((l|0)!=(f|0)){continue}break}}if(!(b&1)){break w}c=c<<2;f=c+d|0;c=J[c+g>>2];if(J[f>>2]<=(c|0)){break w}J[f>>2]=c}j=j+1|0;if(j>>>0>2]){continue}break}break c}qa();B()}c=0;x:{if(!b){break x}y:{while(1){z:{k=(c<<2)+d|0;b=J[a+52>>2];A:{if((b|0)!=J[a+56>>2]){J[b>>2]=J[k>>2];J[a+52>>2]=b+4;break A}h=b;b=J[a+48>>2];f=h-b|0;l=f>>2;j=l+1|0;if(j>>>0>=1073741824){break z}h=f>>>1|0;j=f>>>0>=2147483644?1073741823:j>>>0>>0?h:j;if(j){if(j>>>0>=1073741824){break y}h=oa(j<<2)}else{h=0}l=h+(l<<2)|0;J[l>>2]=J[k>>2];f=ta(h,b,f);J[a+56>>2]=f+(j<<2);J[a+52>>2]=l+4;J[a+48>>2]=f;if(!b){break A}na(b)}c=c+1|0;if(c>>>0>2];if(m>>>0>2]-c>>2>>>0){continue}break}}ba=e- -64|0;return b|0}function ml(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=ba-48|0;ba=i;h=J[a+4>>2];e=J[a+12>>2];J[i+40>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;l=J[J[J[h+4>>2]+8>>2]+(e<<2)>>2];d=i+8|0;if((b|0)==-1){b=bh(e,h)}a:{if((b|0)==-2){break a}if((da[J[J[h>>2]+8>>2]](h)|0)==1){j=ba-32|0;ba=j;k=J[J[J[h+4>>2]+8>>2]+(e<<2)>>2];b:{c:{d:{if((da[J[J[h>>2]+8>>2]](h)|0)!=1|b-1>>>0>5){break d}f=da[J[J[h>>2]+52>>2]](h)|0;g=da[J[J[h>>2]+60>>2]](h,e)|0;if(!f|!g){break d}c=da[J[J[h>>2]+56>>2]](h,e)|0;if(c){a=J[h+56>>2];J[j+20>>2]=c;J[j+16>>2]=a;J[j+28>>2]=g;J[j+24>>2]=g+12;e=j+16|0;a=0;e:{f:{switch(b-1|0){case 0:b=oa(60);J[b+4>>2]=k;J[b>>2]=3456;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=oa(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b>>2]=2748;a=b;break e;case 3:b=oa(168);J[b+4>>2]=k;J[b>>2]=3456;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=oa(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=3512;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;J[a+160>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;break e;case 4:b=oa(104);J[b+4>>2]=k;J[b>>2]=3456;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=oa(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b+84>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b>>2]=3760;a=J[e+4>>2];J[b+88>>2]=J[e>>2];J[b+92>>2]=a;a=J[e+12>>2];J[b+96>>2]=J[e+8>>2];J[b+100>>2]=a;a=b;break e;case 5:break f;default:break e}}a=oa(144);J[a+4>>2]=k;J[a>>2]=3456;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;g:{h:{c=J[d+28>>2];b=J[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break h}b=oa(c);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(c&-4)+b;c=J[d+24>>2];f=J[d+28>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=3400;b=J[e+4>>2];J[a+44>>2]=J[e>>2];J[a+48>>2]=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=4624;J[a>>2]=3996;b=J[e+4>>2];J[a+72>>2]=J[e>>2];J[a+76>>2]=b;b=J[e+12>>2];J[a+80>>2]=J[e+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=4232;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;break g}qa();B()}break e}c=a;break d}a=J[h+56>>2];J[j+20>>2]=f;J[j+16>>2]=a;J[j+28>>2]=g;J[j+24>>2]=g+12;e=j+16|0;a=0;i:{j:{switch(b-1|0){case 0:b=oa(60);J[b+4>>2]=k;J[b>>2]=3456;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=oa(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b>>2]=4652;a=b;break i;case 3:b=oa(168);J[b+4>>2]=k;J[b>>2]=3456;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=oa(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=5076;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;J[a+160>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;break i;case 4:b=oa(104);J[b+4>>2]=k;J[b>>2]=3456;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=oa(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b+84>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b>>2]=5312;a=J[e+4>>2];J[b+88>>2]=J[e>>2];J[b+92>>2]=a;a=J[e+12>>2];J[b+96>>2]=J[e+8>>2];J[b+100>>2]=a;a=b;break i;case 5:break j;default:break i}}a=oa(144);J[a+4>>2]=k;J[a>>2]=3456;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;k:{l:{c=J[d+28>>2];b=J[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break l}b=oa(c);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(c&-4)+b;c=J[d+24>>2];f=J[d+28>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=5020;b=J[e+4>>2];J[a+44>>2]=J[e>>2];J[a+48>>2]=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=6120;J[a>>2]=5536;b=J[e+4>>2];J[a+72>>2]=J[e>>2];J[a+76>>2]=b;b=J[e+12>>2];J[a+80>>2]=J[e+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=5756;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;break k}qa();B()}break i}c=a}ba=j+32|0;break b}qa();B()}if(c){break a}}c=oa(44);J[c+4>>2]=l;J[c>>2]=3456;a=J[d+4>>2];J[c+8>>2]=J[d>>2];J[c+12>>2]=a;a=J[d+12>>2];J[c+16>>2]=J[d+8>>2];J[c+20>>2]=a;a=J[d+20>>2];J[c+24>>2]=J[d+16>>2];J[c+28>>2]=a;J[c+40>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;m:{a=J[d+24>>2];l=J[d+28>>2];if((a|0)!=(l|0)){f=l-a|0;if((f|0)<0){break m}b=oa(f);J[c+32>>2]=b;J[c+40>>2]=(f&-4)+b;while(1){J[b>>2]=J[a>>2];b=b+4|0;a=a+4|0;if((l|0)!=(a|0)){continue}break}J[c+36>>2]=b}J[c>>2]=6148;break a}qa();B()}a=J[i+32>>2];if(a){J[i+36>>2]=a;na(a)}ba=i+48|0;return c|0}function Ne(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,N=0,O=0,P=0;k=ba-336|0;ba=k;n=h;p=i&65535;o=d;m=e&65535;u=(e^i)&-2147483648;s=i>>>16&32767;q=e>>>16&32767;a:{b:{if(s-32767>>>0>4294934529&q-32767>>>0>=4294934530){break b}j=e&2147483647;if(!(!d&(j|0)==2147418112?!(b|c):j>>>0<2147418112)){r=d;u=e|32768;break a}e=i&2147483647;if(!(!h&(e|0)==2147418112?!(f|g):e>>>0<2147418112)){r=h;u=i|32768;b=f;c=g;break a}if(!(b|d|(j^2147418112|c))){if(!(f|h|(e^2147418112|g))){b=0;c=0;u=2147450880;break a}u=u|2147418112;b=0;c=0;break a}if(!(f|h|(e^2147418112|g))){b=0;c=0;break a}if(!(b|d|(c|j))){b=!(f|h|(e|g));r=b?0:r;u=b?2147450880:u;b=0;c=0;break a}if(!(f|h|(e|g))){u=u|2147418112;b=0;c=0;break a}if((j|0)==65535|j>>>0<65535){d=!(m|o);i=d;j=d?b:o;d=d<<6;h=d;i=S(i?c:m);d=d+((i|0)==32?S(j)+32|0:i)|0;Pa(k+320|0,b,c,o,m,d-15|0);v=16-d|0;o=J[k+328>>2];m=J[k+332>>2];c=J[k+324>>2];b=J[k+320>>2]}if(e>>>0>65535){break b}d=!(n|p);h=d;i=d?f:n;d=d<<6;e=d;h=S(h?g:p);d=d+((h|0)==32?S(i)+32|0:h)|0;Pa(k+304|0,f,g,n,p,d-15|0);v=(d+v|0)-16|0;n=J[k+312>>2];p=J[k+316>>2];f=J[k+304>>2];g=J[k+308>>2]}e=p|65536;A=e;B=n;d=n;j=e<<15|d>>>17;e=d<<15|g>>>17;d=e;i=0-d|0;h=j;j=1963258675-(j+((d|0)!=0)|0)|0;Xa(k+288|0,d,h,0,0,i,j,0,0);d=J[k+296>>2];Xa(k+272|0,0-d|0,0-(J[k+300>>2]+((d|0)!=0)|0)|0,0,0,i,j,0,0);d=J[k+280>>2];i=d<<1|J[k+276>>2]>>>31;d=J[k+284>>2]<<1|d>>>31;Xa(k+256|0,i,d,0,0,e,h,0,0);j=J[k+264>>2];Xa(k+240|0,i,d,0,0,0-j|0,0-(J[k+268>>2]+((j|0)!=0)|0)|0,0,0);i=J[k+248>>2];j=i<<1|J[k+244>>2]>>>31;d=J[k+252>>2]<<1|i>>>31;Xa(k+224|0,j,d,0,0,e,h,0,0);i=J[k+232>>2];Xa(k+208|0,j,d,0,0,0-i|0,0-(J[k+236>>2]+((i|0)!=0)|0)|0,0,0);d=J[k+216>>2];i=d<<1|J[k+212>>2]>>>31;d=J[k+220>>2]<<1|d>>>31;Xa(k+192|0,i,d,0,0,e,h,0,0);j=J[k+200>>2];Xa(k+176|0,i,d,0,0,0-j|0,0-(J[k+204>>2]+((j|0)!=0)|0)|0,0,0);i=e;e=J[k+184>>2];d=h;n=e<<1|J[k+180>>2]>>>31;h=n-1|0;e=(J[k+188>>2]<<1|e>>>31)-!n|0;Xa(k+160|0,i,d,0,0,h,e,0,0);d=h;Xa(k+144|0,f<<15,g<<15|f>>>17,0,0,d,e,0,0);t=k+112|0;y=J[k+168>>2];h=J[k+172>>2];n=J[k+160>>2];i=J[k+152>>2];l=n+i|0;p=J[k+164>>2];j=p+J[k+156>>2]|0;j=i>>>0>l>>>0?j+1|0:j;i=j;j=(p|0)==(j|0)&l>>>0>>0|j>>>0

>>0;p=j+y|0;j=j>>>0>p>>>0?h+1|0:h;n=!i&l>>>0>1|(i|0)!=0;h=n+p|0;j=n>>>0>h>>>0?j+1|0:j;Xa(t,d,e,0,0,0-h|0,0-(((h|0)!=0)+j|0)|0,0,0);Xa(k+128|0,1-l|0,0-((l>>>0>1)+i|0)|0,0,0,d,e,0,0);H=(q-s|0)+v|0;e=J[k+116>>2];t=e;d=J[k+112>>2];j=e<<1|d>>>31;n=d<<1;q=j;d=j;h=J[k+140>>2];z=h;e=J[k+136>>2];j=h<<1|e>>>31;i=e<<1|J[k+132>>2]>>>31;h=i+n|0;d=d+j|0;d=h>>>0>>0?d+1|0:d;e=d;d=d-(h>>>0<13927)|0;x=d;y=d;l=0;j=m|65536;I=j;K=o;d=o;j=j<<1|d>>>31;N=d<<1;O=j;D=j;d=Hl(x,l,j,0);j=ca;E=d;w=j;v=b<<1;d=c<<1|b>>>31;s=d;j=0;p=j;i=h-13927|0;x=(e|0)==(x|0)&i>>>0>>0|e>>>0>x>>>0;e=(e|0)==(q|0)&h>>>0>>0|e>>>0>>0;d=J[k+120>>2];h=J[k+124>>2]<<1|d>>>31;d=d<<1|t>>>31;j=h;l=z>>>31|0;d=l+d|0;j=d>>>0>>0?j+1|0:j;h=d;d=d+e|0;l=h>>>0>d>>>0?j+1|0:j;e=d;d=d+x|0;l=e>>>0>d>>>0?l+1|0:l;e=d-1|0;x=l-!d|0;q=0;j=Hl(s,p,x,q);d=j+E|0;h=ca+w|0;h=d>>>0>>0?h+1|0:h;t=(w|0)==(h|0)&d>>>0>>0|h>>>0>>0;j=0;z=e;L=c>>>31|0;C=L|o<<1;w=0;e=Hl(e,j,C,w);o=e+d|0;j=ca+h|0;l=0;j=e>>>0>o>>>0?j+1|0:j;n=j;d=(j|0)==(h|0)&d>>>0>o>>>0|h>>>0>j>>>0;e=d;d=d+t|0;l=e>>>0>d>>>0?1:l;e=Hl(D,p,x,q);d=e+d|0;j=ca+l|0;t=d;d=d>>>0>>0?j+1|0:j;e=Hl(D,p,z,w);m=ca;h=e;e=Hl(C,w,x,q);l=h+e|0;j=ca+m|0;j=e>>>0>l>>>0?j+1|0:j;e=j;j=(m|0)==(j|0)&h>>>0>l>>>0|j>>>0>>0;m=t+e|0;d=d+j|0;d=m>>>0>>0?d+1|0:d;t=m;m=d;e=0;d=e+o|0;j=l+n|0;j=d>>>0>>0?j+1|0:j;e=j;h=(j|0)==(n|0)&d>>>0>>0|j>>>0>>0;j=m;l=h;h=h+t|0;j=l>>>0>h>>>0?j+1|0:j;F=h;l=j;t=d;m=d;o=e;E=i;d=Hl(i,0,C,w);h=ca;e=d;i=Hl(y,r,s,r);d=d+i|0;j=ca+h|0;j=d>>>0>>0?j+1|0:j;i=(h|0)==(j|0)&d>>>0>>0|h>>>0>j>>>0;h=j;G=v&-2;e=Hl(z,w,G,0);n=e+d|0;j=ca+j|0;j=e>>>0>n>>>0?j+1|0:j;e=j;d=(j|0)==(h|0)&d>>>0>n>>>0|h>>>0>j>>>0;h=0;i=d+i|0;d=(i>>>0>>0?1:h)+o|0;j=l;m=i+m|0;d=m>>>0>>0?d+1|0:d;i=d;d=(d|0)==(o|0)&m>>>0>>0|d>>>0>>0;h=d;d=d+F|0;j=h>>>0>d>>>0?j+1|0:j;P=d;t=j;d=Hl(D,p,E,r);F=ca;D=d;h=Hl(x,q,G,r);d=d+h|0;j=ca+F|0;o=d;p=Hl(y,r,C,w);l=d+p|0;h=d>>>0>>0?j+1|0:j;d=h+ca|0;d=l>>>0

>>0?d+1|0:d;q=l;j=Hl(s,r,z,w);p=l+j|0;l=ca+d|0;l=j>>>0>p>>>0?l+1|0:l;z=0;C=(d|0)==(l|0)&p>>>0>>0|d>>>0>l>>>0;j=(h|0)==(F|0)&o>>>0>>0|h>>>0>>0;d=(d|0)==(h|0)&o>>>0>q>>>0|d>>>0>>0;d=d+j|0;d=d+C|0;h=l;q=h+m|0;j=(d|z)+i|0;j=h>>>0>q>>>0?j+1|0:j;o=j;d=(i|0)==(j|0)&m>>>0>q>>>0|i>>>0>j>>>0;j=t;h=d;d=d+P|0;j=h>>>0>d>>>0?j+1|0:j;z=d;i=j;d=Hl(y,r,G,r);y=ca;m=d;h=Hl(s,r,E,r);d=d+h|0;j=ca+y|0;j=d>>>0>>0?j+1|0:j;t=0;h=(j|0)==(y|0)&d>>>0>>0|j>>>0>>0;m=j;d=j+n|0;j=(h|t)+e|0;j=d>>>0>>0?j+1|0:j;h=j;m=(e|0)==(j|0)&d>>>0>>0|e>>>0>j>>>0;j=p;p=0;n=p+d|0;l=h+j|0;j=0;l=n>>>0

>>0?l+1|0:l;d=(h|0)==(l|0)&d>>>0>n>>>0|h>>>0>l>>>0;e=d;d=d+m|0;j=(e>>>0>d>>>0?1:j)+o|0;l=i;e=d;d=d+q|0;j=e>>>0>d>>>0?j+1|0:j;e=j;h=(o|0)==(j|0)&d>>>0>>0|j>>>0>>0;i=h;h=h+z|0;l=i>>>0>h>>>0?l+1|0:l;i=l;c:{if((l|0)==131071|l>>>0<131071){K=N|L;I=w|O;Xa(k+80|0,d,e,h,i,f,g,B,A);l=J[k+84>>2];p=l;j=b<<17;n=0;m=J[k+88>>2];c=n-m|0;b=J[k+80>>2];l=(l|b)!=0;o=c-l|0;m=(j-(J[k+92>>2]+(m>>>0>n>>>0)|0)|0)-(c>>>0>>0)|0;n=0-b|0;p=0-(((b|0)!=0)+p|0)|0;b=H+16382|0;break c}d=(e&1)<<31|d>>>1;e=h<<31|e>>>1;h=(i&1)<<31|h>>>1;i=i>>>1|0;Xa(k+96|0,d,e,h,i,f,g,B,A);o=J[k+100>>2];s=o;v=J[k+104>>2];n=0-v|0;l=J[k+96>>2];m=(o|l)!=0;o=n-m|0;m=((b<<16)-(J[k+108>>2]+(p>>>0>>0)|0)|0)-(m>>>0>n>>>0)|0;n=0-l|0;p=0-(((l|0)!=0)+s|0)|0;v=b;s=c;b=H+16383|0}if((b|0)>=32767){u=u|2147418112;b=0;c=0;break a}d:{if((b|0)>0){l=m<<1|o>>>31;o=o<<1|p>>>31;m=l;v=h;s=i&65535|b<<16;l=p<<1|n>>>31;i=n<<1;break d}if((b|0)<=-113){b=0;c=0;break a}Gb(k- -64|0,d,e,h,i,1-b|0);Pa(k+48|0,v,s,K,I,b+112|0);d=J[k+64>>2];e=J[k+68>>2];v=J[k+72>>2];s=J[k+76>>2];Xa(k+32|0,f,g,B,A,d,e,v,s);b=J[k+40>>2];c=J[k+56>>2];l=J[k+36>>2];o=b<<1|l>>>31;n=c-o|0;m=J[k+60>>2]-((J[k+44>>2]<<1|b>>>31)+(c>>>0>>0)|0)|0;b=J[k+32>>2];h=l<<1|b>>>31;j=b<<1;i=J[k+52>>2];c=J[k+48>>2];b=(h|0)==(i|0)&j>>>0>c>>>0|h>>>0>i>>>0;o=n-b|0;m=m-(b>>>0>n>>>0)|0;l=i-((c>>>0>>0)+h|0)|0;i=c-j|0}b=i;Xa(k+16|0,f,g,B,A,3,0,0,0);Xa(k,f,g,B,A,5,0,0,0);c=0;h=l+c|0;j=d&1;b=b+j|0;h=i>>>0>b>>>0?h+1|0:h;i=b;g=(g|0)==(h|0)&b>>>0>f>>>0|g>>>0>>0;l=m;b=(c|0)==(h|0)&b>>>0>>0|c>>>0>h>>>0;f=b+o|0;l=b>>>0>f>>>0?l+1|0:l;j=e;b=(l|0)==(A|0);b=b&(f|0)==(B|0)?g:b&f>>>0>B>>>0|l>>>0>A>>>0;c=b;b=b+d|0;j=c>>>0>b>>>0?j+1|0:j;c=j;d=(e|0)==(j|0)&b>>>0>>0|e>>>0>j>>>0;j=s;e=d;d=d+v|0;j=e>>>0>d>>>0?j+1|0:j;g=d;e=J[k+20>>2];m=(e|0)==(h|0)&M[k+16>>2]>>0|e>>>0>>0;e=J[k+28>>2];d=J[k+24>>2];e=j>>>0<2147418112&((d|0)==(f|0)&(e|0)==(l|0)?m:(e|0)==(l|0)&d>>>0>>0|e>>>0>>0);d=c;m=e;e=b+e|0;d=m>>>0>e>>>0?d+1|0:d;b=(c|0)==(d|0)&b>>>0>e>>>0|c>>>0>d>>>0;c=b;b=b+g|0;j=c>>>0>b>>>0?j+1|0:j;g=b;c=J[k+4>>2];h=(c|0)==(h|0)&M[k>>2]>>0|c>>>0>>0;c=J[k+12>>2];b=J[k+8>>2];b=j>>>0<2147418112&((b|0)==(f|0)&(c|0)==(l|0)?h:(c|0)==(l|0)&b>>>0>>0|c>>>0>>0);c=b;b=b+e|0;l=c>>>0>b>>>0?d+1|0:d;c=l;e=(d|0)==(l|0)&b>>>0>>0|d>>>0>l>>>0;d=j;f=e;e=e+g|0;d=f>>>0>e>>>0?d+1|0:d;r=e|r;u=d|u}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=r;J[a+12>>2]=u;ba=k+336|0}function ye(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,N=0,O=0,Q=0;s=ba-32|0;ba=s;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;t=J[e+20>>2];if(!J[e+16>>2]&(t|0)<=0|(t|0)<0){d=a+4|0;sa(e,J[e+4>>2],a,d);t=J[e+20>>2];if(!J[e+16>>2]&(t|0)<=0|(t|0)<0){sa(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){F=a+12|0;za(F);G=a+44|0;d=G;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];H=a- -64|0;d=H;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];I=a+84|0;d=I;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[s+24>>2]=J[b+8>>2];d=J[b+4>>2];J[s+16>>2]=J[b>>2];J[s+20>>2]=d;J[s+8>>2]=J[c+8>>2];b=J[c+4>>2];J[s>>2]=J[c>>2];J[s+4>>2]=b;c=0;b=0;f=ba-32|0;ba=f;o=a;i=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(i){if(i>>>0>=1073741824){break b}a=i<<2;c=oa(a);J[f+8>>2]=c;b=a+c|0;J[f+16>>2]=b;pa(c,0,a);J[f+12>>2]=b}a=J[o+140>>2];d=J[a>>2];if(d){J[a+4>>2]=d;na(d);i=J[o+8>>2];c=J[f+8>>2];b=J[f+12>>2]}J[a+4>>2]=b;J[a>>2]=c;J[a+8>>2]=J[f+16>>2];c=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b=0;c:{if(i){if(i>>>0>=1073741824){break c}a=i<<2;b=oa(a);J[f+8>>2]=b;c=a+b|0;J[f+16>>2]=c;pa(b,0,a);J[f+12>>2]=c}a=J[o+152>>2];d=J[a>>2];if(d){J[a+4>>2]=d;na(d);c=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=c;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];t=J[s+20>>2];z=J[s+24>>2];d=J[s+4>>2];C=J[s+8>>2];b=J[s>>2];c=J[s+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;fb(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;v=(a>>>0)/113|0;a=J[J[f+12>>2]+(v<<2)>>2]+P(a-P(v,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=C;J[a+12>>2]=b;J[a+4>>2]=t;J[a+8>>2]=z;J[a>>2]=c;i=J[f+28>>2]+1|0;J[f+28>>2]=i;if(i){a=z;L=a&-4;K=a&3;N=o+44|0;m=o+12|0;O=o+84|0;Q=a>>>0<4;while(1){b=J[f+12>>2];h=J[f+24>>2];g=i-1|0;a=h+g|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;E=J[a+32>>2];c=J[a+24>>2];v=J[a+12>>2];a=J[a>>2];J[f+28>>2]=g;g=J[f+16>>2];if((((b|0)!=(g|0)?P(g-b>>2,113)-1|0:0)-(h+i|0)|0)+1>>>0>=226){na(J[g-4>>2]);J[f+16>>2]=J[f+16>>2]-4}g=J[o>>2];i=(c|0)!=(J[o+8>>2]-1|0)?c+1|0:0;q=i<<2;D=P(E,12);h=D+J[o+152>>2]|0;c=J[q+J[h>>2]>>2];d:{e:{if((g|0)==(c|0)){break e}f:{g:{j=v-a|0;if(j>>>0<=2){g=J[o+128>>2];J[g>>2]=i;c=1;b=J[o+8>>2];if(b>>>0>1){break g}break f}h=J[o+140>>2];b=h+D|0;n=h;h=D+12|0;bb(n+h|0,J[b>>2],J[b+4>>2]);b=J[h+J[o+140>>2]>>2]+q|0;g=J[b>>2]+(1<>2]=g;b=a;h:{if((a|0)==(v|0)){break h}y=J[t+24>>2];n=y+q|0;b=v;c=a;if(!z){if(g>>>0>M[n>>2]){break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}if(g>>>0<=M[(J[d+24>>2]+q|0)+(P(b,C)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(b|0)){continue}break}break h}while(1){h=P(c,z)<<2;if(g>>>0>M[h+n>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}r=J[d+24>>2]+(P(b,C)<<2)|0;if(g>>>0<=M[r+q>>2]){continue}break}w=h+y|0;u=0;h=0;p=0;if(!Q){while(1){k=h<<2;l=k+w|0;x=J[l>>2];A=l;l=k+r|0;J[A>>2]=J[l>>2];J[l>>2]=x;l=k|4;x=l+w|0;A=J[x>>2];l=l+r|0;J[x>>2]=J[l>>2];J[l>>2]=A;l=k|8;x=l+w|0;A=J[x>>2];l=l+r|0;J[x>>2]=J[l>>2];J[l>>2]=A;k=k|12;l=k+w|0;x=J[l>>2];k=k+r|0;J[l>>2]=J[k>>2];J[k>>2]=x;h=h+4|0;p=p+4|0;if((L|0)!=(p|0)){continue}break}}if(K){while(1){k=h<<2;p=k+w|0;l=J[p>>2];k=k+r|0;J[p>>2]=J[k>>2];J[k>>2]=l;h=h+1|0;u=u+1|0;if((K|0)!=(u|0)){continue}break}}c=c+1|0;if((c|0)!=(b|0)){continue}break}}r=b-a|0;w=v-b|0;if((r|0)!=(w|0)){xc(O,r>>>0>>0)}c=J[m>>2];n=J[c+8>>2];g=J[c+12>>2];h=(j>>>1|0)-(r>>>0>>0?r:w)|0;h=h<<24|(h&65280)<<8|(h>>>8&65280|h>>>24);h=h>>>4&252645135|(h&252645135)<<4;h=h>>>2&858993459|(h&858993459)<<2;l=h>>>1&1431655765|(h&1431655765)<<1;h=S(j)^31;p=32-h|0;k=l>>>p|0;j=Kl(k);n=j+n|0;g=j>>>0>n>>>0?g+1|0:g;J[c+8>>2]=n;J[c+12>>2]=g;g=h-j|0;n=g;j=g+J[c>>2]|0;g=J[c+4>>2]+(g>>31)|0;J[c>>2]=j;J[c+4>>2]=j>>>0>>0?g+1|0:g;i:{j:{k:{l:{c=J[m+28>>2];u=32-c|0;m:{if((u|0)>=(h|0)){g=c+h|0;J[m+28>>2]=g;n=J[m+24>>2]&(-1>>>p<>2]=n;if((g|0)!=32){break i}c=J[m+16>>2];if((c|0)!=J[m+20>>2]){J[c>>2]=n;J[m+16>>2]=c+4;h=0;c=0;break m}g=c;c=J[m+12>>2];k=g-c|0;u=k>>2;j=u+1|0;if(j>>>0>=1073741824){break l}h=0;g=0;p=k>>>1|0;j=k>>>0>=2147483644?1073741823:j>>>0

>>0?p:j;if(j){if(j>>>0>=1073741824){break k}g=oa(j<<2)}u=(u<<2)+g|0;J[u>>2]=n;g=ta(g,c,k);J[m+20>>2]=g+(j<<2);J[m+16>>2]=u+4;J[m+12>>2]=g;if(!c){c=0;break m}na(c);c=0;break m}p=J[m+24>>2]&(-1<>2]=p;c=J[m+16>>2];n:{if((c|0)!=J[m+20>>2]){J[c>>2]=p;J[m+16>>2]=c+4;break n}g=c;c=J[m+12>>2];g=g-c|0;y=g>>2;j=y+1|0;if(j>>>0>=1073741824){break j}n=g>>>1|0;j=g>>>0>=2147483644?1073741823:j>>>0>>0?n:j;if(j){if(j>>>0>=1073741824){break k}n=oa(j<<2)}else{n=0}y=n+(y<<2)|0;J[y>>2]=p;g=ta(n,c,g);J[m+20>>2]=g+(j<<2);J[m+16>>2]=y+4;J[m+12>>2]=g;if(!c){break n}na(c)}c=h-u|0;h=-1>>>32-c&k>>>u}J[m+28>>2]=c;J[m+24>>2]=h;break i}qa();B()}xa();B()}qa();B()}c=J[o+152>>2];g=c+D|0;h=J[g>>2];q=h+q|0;J[q>>2]=J[q>>2]+1;q=E+1|0;bb(c+P(q,12)|0,h,J[g+4>>2]);if((a|0)!=(b|0)){h=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];g=J[f+12>>2];if((h|0)==(((c|0)!=(g|0)?P(c-g>>2,113)-1|0:0)|0)){fb(f+8|0);h=J[f+24>>2]+J[f+28>>2]|0;g=J[f+12>>2]}c=(h>>>0)/113|0;c=J[g+(c<<2)>>2]+P(h-P(c,113)|0,36)|0;J[c+32>>2]=E;J[c+28>>2]=r;J[c+24>>2]=i;J[c+16>>2]=t;J[c+12>>2]=b;J[c+4>>2]=t;J[c+8>>2]=z;J[c>>2]=a;J[c+20>>2]=z;J[f+28>>2]=J[f+28>>2]+1}if((b|0)==(v|0)){break e}g=J[f+28>>2]+J[f+24>>2]|0;a=J[f+16>>2];c=J[f+12>>2];if((g|0)==(((a|0)!=(c|0)?P(a-c>>2,113)-1|0:0)|0)){fb(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}a=(g>>>0)/113|0;a=J[c+(a<<2)>>2]+P(g-P(a,113)|0,36)|0;J[a+32>>2]=q;J[a+28>>2]=w;J[a+24>>2]=i;J[a+16>>2]=d;J[a+20>>2]=C;J[a+12>>2]=v;J[a+4>>2]=t;J[a>>2]=b;J[a+8>>2]=z;i=J[f+28>>2]+1|0;J[f+28>>2]=i;break d}while(1){i=(b-1|0)!=(i|0)?i+1|0:0;J[g+(c<<2)>>2]=i;b=J[o+8>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}if(!b|(a|0)==(v|0)){break e}g=0;c=1;while(1){i=0;o:{if(!c){c=0;break o}v=J[t+24>>2]+(P(J[t+4>>2],a+g|0)<<2)|0;while(1){c=J[o>>2];q=J[J[o+128>>2]+(i<<2)>>2]<<2;r=J[q+J[h>>2]>>2];if((c|0)!=(r|0)){Ib(N,c-r|0,J[v+q>>2]);b=J[o+8>>2]}c=b;i=i+1|0;if(c>>>0>i>>>0){continue}break}}g=g+1|0;if((j|0)!=(g|0)){continue}break}}i=J[f+28>>2]}if(i){continue}break}}J[f+28>>2]=0;a=J[f+16>>2];i=J[f+12>>2];b=a-i|0;if(b>>>0>=9){while(1){na(J[i>>2]);i=J[f+12>>2]+4|0;J[f+12>>2]=i;a=J[f+16>>2];b=a-i|0;if(b>>>0>8){continue}break}}c=56;p:{switch((b>>>2|0)-1|0){case 1:c=113;case 0:J[f+24>>2]=c;break;default:break p}}q:{if((a|0)==(i|0)){break q}while(1){na(J[i>>2]);i=i+4|0;if((i|0)!=(a|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break q}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){na(a)}ba=f+32|0;break a}qa();B()}qa();B()}ya(F,e);eb(G,e);eb(H,e);eb(I,e)}ba=s+32|0;return 1}function Re(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,B=0,C=0;m=ba-560|0;ba=m;J[m+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<0){s=1;y=1173;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){s=1;y=1176;break a}s=e&1;y=s?1179:1174;z=!s}b:{if((g&2146435072)==2146435072){g=s+3|0;Qa(a,32,c,g,e&-65537);Oa(a,y,s);d=f&32;Oa(a,b!=b?d?1434:1643:d?1506:1647,3);Qa(a,32,c,g,e^8192);n=(c|0)<(g|0)?g:c;break b}u=m+16|0;c:{d:{e:{b=Ve(b,m+44|0);b=b+b;if(b!=0){g=J[m+44>>2];J[m+44>>2]=g-1;w=f|32;if((w|0)!=97){break e}break c}w=f|32;if((w|0)==97){break c}k=J[m+44>>2];l=(d|0)<0?6:d;break d}k=g-29|0;J[m+44>>2]=k;b=b*268435456;l=(d|0)<0?6:d}q=(m+48|0)+((k|0)>=0?288:0)|0;h=q;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}J[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((k|0)<=0){d=k;g=h;i=q;break f}i=q;d=k;while(1){o=(d|0)>=29?29:d;g=h-4|0;g:{if(i>>>0>g>>>0){break g}d=0;while(1){j=J[g>>2];x=d;d=o&31;if((o&63)>>>0>=32){n=j<>>32-d;d=j<>>0>x>>>0?j+1|0:j,1e9,0);B=g,C=x-Hl(d,ca,1e9,0)|0,J[B>>2]=C;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!d){break g}i=i-4|0;J[i>>2]=d}while(1){g=h;if(i>>>0>>0){h=g-4|0;if(!J[h>>2]){continue}}break}d=J[m+44>>2]-o|0;J[m+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){t=((l+25>>>0)/9|0)+1|0;p=(w|0)==102;while(1){d=0-d|0;n=(d|0)>=9?9:d;h:{if(g>>>0<=i>>>0){h=J[i>>2];break h}o=1e9>>>n|0;j=-1<>2];J[h>>2]=x+(d>>>n|0);d=P(o,d&j);h=h+4|0;if(h>>>0>>0){continue}break}h=J[i>>2];if(!d){break h}J[g>>2]=d;g=g+4|0}d=n+J[m+44>>2]|0;J[m+44>>2]=d;i=(!h<<2)+i|0;h=p?q:i;g=g-h>>2>(t|0)?h+(t<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=i>>>0){break i}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break i}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=(l-((w|0)!=102?d:0)|0)-((w|0)==103&(l|0)!=0)|0;if((h|0)<(P(g-q>>2,9)-9|0)){o=h+9216|0;j=(o|0)/9|0;k=((((k|0)<0?4:292)+m|0)+(j<<2)|0)-4048|0;h=10;n=o-P(j,9)|0;if((n|0)<=7){while(1){h=P(h,10);n=n+1|0;if((n|0)!=8){continue}break}}o=J[k>>2];t=(o>>>0)/(h>>>0)|0;p=o-P(h,t)|0;j=k+4|0;j:{if(!p&(j|0)==(g|0)){break j}k:{if(!(t&1)){b=9007199254740992;if(!(H[k-4|0]&1)|((h|0)!=1e9|i>>>0>=k>>>0)){break k}}b=9007199254740994}r=(g|0)==(j|0)?1:1.5;j=h>>>1|0;r=j>>>0>p>>>0?.5:(j|0)==(p|0)?r:1.5;if(!(K[y|0]!=45|z)){r=-r;b=-b}j=o-p|0;J[k>>2]=j;if(b+r==b){break j}d=h+j|0;J[k>>2]=d;if(d>>>0>=1e9){while(1){J[k>>2]=0;k=k-4|0;if(k>>>0>>0){i=i-4|0;J[i>>2]=0}d=J[k>>2]+1|0;J[k>>2]=d;if(d>>>0>999999999){continue}break}}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break j}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=k+4|0;g=g>>>0>h>>>0?h:g}while(1){j=g;o=g>>>0<=i>>>0;if(!o){g=j-4|0;if(!J[g>>2]){continue}}break}l:{if((w|0)!=103){k=e&8;break l}h=l?l:1;g=(h|0)>(d|0)&(d|0)>-5;l=(g?d^-1:-1)+h|0;f=(g?-1:-2)+f|0;k=e&8;if(k){break l}g=-9;m:{if(o){break m}k=J[j-4>>2];if(!k){break m}n=10;g=0;if((k>>>0)%10|0){break m}while(1){h=g;g=g+1|0;n=P(n,10);if(!((k>>>0)%(n>>>0)|0)){continue}break}g=h^-1}h=P(j-q>>2,9);if((f&-33)==70){k=0;g=(g+h|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g;break l}k=0;g=((d+h|0)+g|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g}n=-1;o=k|l;if(((o?2147483645:2147483646)|0)<(l|0)){break b}p=(((o|0)!=0)+l|0)+1|0;h=f&-33;n:{if((h|0)==70){if((p^2147483647)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=Mb((g^d)-g|0,0,u);if((u-g|0)<=1){while(1){g=g-1|0;H[g|0]=48;if((u-g|0)<2){continue}break}}t=g-2|0;H[t|0]=f;H[g-1|0]=(d|0)<0?45:43;g=u-t|0;if((g|0)>(p^2147483647)){break b}}d=g+p|0;if((d|0)>(s^2147483647)){break b}p=d+s|0;Qa(a,32,c,p,e);Oa(a,y,s);Qa(a,48,c,p,e^65536);o:{p:{q:{if((h|0)==70){f=m+16|0;d=f|8;k=f|9;h=i>>>0>q>>>0?q:i;i=h;while(1){g=Mb(J[i>>2],0,k);r:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break r}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break r}if((g|0)!=(k|0)){break r}H[m+24|0]=48;g=d}Oa(a,g,k-g|0);i=i+4|0;if(q>>>0>=i>>>0){continue}break}if(o){Oa(a,1981,1)}if((l|0)<=0|i>>>0>=j>>>0){break q}while(1){g=Mb(J[i>>2],0,k);if(g>>>0>m+16>>>0){while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}}Oa(a,g,(l|0)>=9?9:l);g=l-9|0;i=i+4|0;if(j>>>0<=i>>>0){break p}d=(l|0)>9;l=g;if(d){continue}break}break p}s:{if((l|0)<0){break s}q=i>>>0>>0?j:i+4|0;f=m+16|0;d=f|8;j=f|9;h=i;while(1){g=Mb(J[h>>2],0,j);if((j|0)==(g|0)){H[m+24|0]=48;g=d}t:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break t}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break t}Oa(a,g,1);g=g+1|0;if(!(k|l)){break t}Oa(a,1981,1)}f=j-g|0;Oa(a,g,(f|0)>(l|0)?l:f);l=l-f|0;h=h+4|0;if(q>>>0<=h>>>0){break s}if((l|0)>=0){continue}break}}Qa(a,48,l+18|0,18,0);Oa(a,t,u-t|0);break o}g=l}Qa(a,48,g+9|0,9,0)}Qa(a,32,c,p,e^8192);n=(c|0)<(p|0)?p:c;break b}k=(f<<26>>31&9)+y|0;u:{if(d>>>0>11){break u}g=12-d|0;r=16;while(1){r=r*16;g=g-1|0;if(g){continue}break}if(K[k|0]==45){b=-(r+(-b-r));break u}b=b+r-r}g=J[m+44>>2];h=g>>31;g=Mb((g^h)-h|0,0,u);if((u|0)==(g|0)){H[m+15|0]=48;g=m+15|0}q=s|2;i=f&32;h=J[m+44>>2];l=g-2|0;H[l|0]=f+15;H[g-1|0]=(h|0)<0?45:43;g=e&8;h=m+16|0;while(1){f=h;if(R(b)<2147483648){j=~~b}else{j=-2147483648}H[h|0]=i|K[j+17776|0];b=(b-+(j|0))*16;h=f+1|0;if(!(!((d|0)>0|g)&b==0|(h-(m+16|0)|0)!=1)){H[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}n=-1;g=u-l|0;f=g+q|0;if((2147483645-f|0)<(d|0)){break b}v:{w:{if(!d){break w}i=h-(m+16|0)|0;if((i-2|0)>=(d|0)){break w}d=d+2|0;break v}i=h-(m+16|0)|0;d=i}f=d+f|0;Qa(a,32,c,f,e);Oa(a,k,q);Qa(a,48,c,f,e^65536);Oa(a,m+16|0,i);Qa(a,48,d-i|0,0,0);Oa(a,l,g);Qa(a,32,c,f,e^8192);n=(c|0)<(f|0)?f:c}ba=m+560|0;return n|0}function Ae(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,N=0,O=0,Q=0;o=ba-32|0;ba=o;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){d=a+4|0;sa(e,J[e+4>>2],a,d);p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){sa(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){C=a+12|0;te(C);D=a+1068|0;d=D;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];E=a+1088|0;d=E;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];F=a+1108|0;d=F;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[o+24>>2]=J[b+8>>2];d=J[b+4>>2];J[o+16>>2]=J[b>>2];J[o+20>>2]=d;J[o+8>>2]=J[c+8>>2];b=J[c+4>>2];J[o>>2]=J[c>>2];J[o+4>>2]=b;b=0;f=ba-32|0;ba=f;l=a;h=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(h){if(h>>>0>=1073741824){break b}a=h<<2;b=oa(a);J[f+8>>2]=b;g=a+b|0;J[f+16>>2]=g;pa(b,0,a);J[f+12>>2]=g}a=J[l+1164>>2];c=J[a>>2];if(c){J[a+4>>2]=c;na(c);h=J[l+8>>2];g=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=g;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];b=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a=0;c:{if(h){if(h>>>0>=1073741824){break c}c=h<<2;a=oa(c);J[f+8>>2]=a;b=a+c|0;J[f+16>>2]=b;pa(a,0,c);J[f+12>>2]=b}c=J[l+1176>>2];d=J[c>>2];if(d){J[c+4>>2]=d;na(d);b=J[f+12>>2];a=J[f+8>>2]}J[c+4>>2]=b;J[c>>2]=a;J[c+8>>2]=J[f+16>>2];p=J[o+20>>2];u=J[o+24>>2];d=J[o+4>>2];x=J[o+8>>2];b=J[o>>2];c=J[o+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;fb(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;r=(a>>>0)/113|0;a=J[J[f+12>>2]+(r<<2)>>2]+P(a-P(r,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=x;J[a+12>>2]=b;J[a+4>>2]=p;J[a+8>>2]=u;J[a>>2]=c;h=J[f+28>>2]+1|0;J[f+28>>2]=h;if(h){a=u;L=a&-4;G=a&3;N=l+1068|0;H=l+12|0;O=l+1108|0;Q=a>>>0<4;while(1){b=J[f+12>>2];m=J[f+24>>2];j=h-1|0;a=m+j|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;z=J[a+32>>2];g=J[a+24>>2];r=J[a+12>>2];c=J[a>>2];J[f+28>>2]=j;a=J[f+16>>2];if((((a|0)!=(b|0)?P(a-b>>2,113)-1|0:0)-(h+m|0)|0)+1>>>0>=226){na(J[a-4>>2]);J[f+16>>2]=J[f+16>>2]-4}b=J[l>>2];h=(g|0)!=(J[l+8>>2]-1|0)?g+1|0:0;m=h<<2;y=P(z,12);j=y+J[l+1176>>2]|0;g=J[m+J[j>>2]>>2];d:{e:{if((b|0)==(g|0)){break e}f:{g:{t=r-c|0;if(t>>>0<=2){g=J[l+1152>>2];J[g>>2]=h;b=1;a=J[l+8>>2];if(a>>>0>1){break g}break f}j=J[l+1164>>2];a=j+y|0;i=j;j=y+12|0;bb(i+j|0,J[a>>2],J[a+4>>2]);a=m+J[j+J[l+1164>>2]>>2]|0;j=J[a>>2]+(1<>2]=j;a=c;h:{if((r|0)==(a|0)){break h}I=J[p+24>>2];K=m+I|0;a=r;b=c;if(!u){if(j>>>0>M[K>>2]){break h}while(1){a=a-1|0;if((b|0)==(a|0)){a=b;break h}if(j>>>0<=M[(m+J[d+24>>2]|0)+(P(a,x)<<2)>>2]){continue}b=b+1|0;if((b|0)!=(a|0)){continue}break}break h}while(1){g=P(b,u)<<2;if(j>>>0>M[g+K>>2]){b=b+1|0;if((b|0)!=(a|0)){continue}break h}while(1){a=a-1|0;if((b|0)==(a|0)){a=b;break h}n=J[d+24>>2]+(P(a,x)<<2)|0;if(j>>>0<=M[n+m>>2]){continue}break}q=g+I|0;A=0;g=0;v=0;if(!Q){while(1){k=g<<2;i=k+q|0;s=J[i>>2];w=i;i=k+n|0;J[w>>2]=J[i>>2];J[i>>2]=s;i=k|4;s=i+q|0;w=J[s>>2];i=i+n|0;J[s>>2]=J[i>>2];J[i>>2]=w;i=k|8;s=i+q|0;w=J[s>>2];i=i+n|0;J[s>>2]=J[i>>2];J[i>>2]=w;k=k|12;i=k+q|0;s=J[i>>2];k=k+n|0;J[i>>2]=J[k>>2];J[k>>2]=s;g=g+4|0;v=v+4|0;if((L|0)!=(v|0)){continue}break}}if(G){while(1){k=g<<2;v=k+q|0;i=J[v>>2];k=k+n|0;J[v>>2]=J[k>>2];J[k>>2]=i;g=g+1|0;A=A+1|0;if((A|0)!=(G|0)){continue}break}}b=b+1|0;if((b|0)!=(a|0)){continue}break}}j=a-c|0;n=r-a|0;if((j|0)!=(n|0)){xc(O,j>>>0>>0)}k=z+1|0;b=S(t);q=b^31;g=t>>>1|0;i:{if(j>>>0>>0){if(!q){break i}t=g-j|0;b=1<<30-b;g=0;while(1){Ca((g<<5)+H|0,(b&t)!=0);b=b>>>1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}break i}if(!q){break i}t=g-n|0;b=1<<30-b;g=0;while(1){Ca((g<<5)+H|0,(b&t)!=0);b=b>>>1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}}i=m;b=J[l+1176>>2];g=b+y|0;m=J[g>>2];q=i+m|0;J[q>>2]=J[q>>2]+1;bb(b+P(k,12)|0,m,J[g+4>>2]);if((a|0)!=(c|0)){g=J[f+28>>2]+J[f+24>>2]|0;m=J[f+16>>2];b=J[f+12>>2];if((g|0)==(((b|0)!=(m|0)?P(m-b>>2,113)-1|0:0)|0)){fb(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;i=J[f+12>>2]}else{i=b}b=(g>>>0)/113|0;b=J[i+(b<<2)>>2]+P(g-P(b,113)|0,36)|0;J[b+32>>2]=z;J[b+28>>2]=j;J[b+24>>2]=h;J[b+16>>2]=p;J[b+12>>2]=a;J[b+4>>2]=p;J[b+8>>2]=u;J[b>>2]=c;J[b+20>>2]=u;J[f+28>>2]=J[f+28>>2]+1}if((a|0)==(r|0)){break e}g=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];b=J[f+12>>2];if((g|0)==(((b|0)!=(c|0)?P(c-b>>2,113)-1|0:0)|0)){fb(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}else{c=b}b=(g>>>0)/113|0;b=J[c+(b<<2)>>2]+P(g-P(b,113)|0,36)|0;J[b+32>>2]=k;J[b+28>>2]=n;J[b+24>>2]=h;J[b+16>>2]=d;J[b+20>>2]=x;J[b+12>>2]=r;J[b+4>>2]=p;J[b>>2]=a;J[b+8>>2]=u;h=J[f+28>>2]+1|0;J[f+28>>2]=h;break d}while(1){h=(a-1|0)!=(h|0)?h+1|0:0;J[g+(b<<2)>>2]=h;a=J[l+8>>2];b=b+1|0;if(a>>>0>b>>>0){continue}break}}g=0;b=a;if((c|0)==(r|0)){break e}while(1){j:{if(!b){b=0;break j}r=J[p+24>>2]+(P(J[p+4>>2],c+g|0)<<2)|0;h=0;while(1){b=J[l>>2];m=J[J[l+1152>>2]+(h<<2)>>2]<<2;n=J[m+J[j>>2]>>2];if((b|0)!=(n|0)){Ib(N,b-n|0,J[m+r>>2]);a=J[l+8>>2]}b=a;h=h+1|0;if(h>>>0>>0){continue}break}}g=g+1|0;if((t|0)!=(g|0)){continue}break}}h=J[f+28>>2]}if(h){continue}break}}J[f+28>>2]=0;c=J[f+16>>2];h=J[f+12>>2];a=c-h|0;if(a>>>0>=9){while(1){na(J[h>>2]);h=J[f+12>>2]+4|0;J[f+12>>2]=h;c=J[f+16>>2];a=c-h|0;if(a>>>0>8){continue}break}}b=56;k:{switch((a>>>2|0)-1|0){case 1:b=113;case 0:J[f+24>>2]=b;break;default:break k}}l:{if((c|0)==(h|0)){break l}while(1){na(J[h>>2]);h=h+4|0;if((h|0)!=(c|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break l}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){na(a)}ba=f+32|0;break a}qa();B()}qa();B()}se(C,e);eb(D,e);eb(E,e);eb(F,e)}ba=o+32|0;return 1}function Ue(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;l=1510;g=ba-80|0;ba=g;J[g+76>>2]=1510;w=g+55|0;r=g+56|0;a:{b:{c:{d:{e:while(1){h=l;if((n^2147483647)<(e|0)){break d}n=e+n|0;f:{g:{h:{e=h;f=K[e|0];if(f){while(1){i:{f=f&255;j:{if(!f){l=e;break j}if((f|0)!=37){break i}f=e;while(1){if(K[f+1|0]!=37){l=f;break j}e=e+1|0;k=K[f+2|0];l=f+2|0;f=l;if((k|0)==37){continue}break}}e=e-h|0;v=n^2147483647;if((e|0)>(v|0)){break d}if(a){Oa(a,h,e)}if(e){continue e}J[g+76>>2]=l;e=l+1|0;o=-1;if(!(K[l+2|0]!=36|H[l+1|0]-48>>>0>=10)){o=H[l+1|0]-48|0;s=1;e=l+3|0}J[g+76>>2]=e;m=0;f=H[e|0];l=f-32|0;k:{if(l>>>0>31){i=e;break k}i=e;l=1<>2]=i;m=m|l;f=H[e+1|0];l=f-32|0;if(l>>>0>=32){break k}e=i;l=1<>>0>=10)){J[((H[i+1|0]<<2)+d|0)-192>>2]=10;f=i+3|0;s=1;e=J[((H[i+1|0]<<3)+c|0)-384>>2];break m}if(s){break h}f=i+1|0;if(!a){J[g+76>>2]=f;s=0;p=0;break l}e=J[b>>2];J[b>>2]=e+4;s=0;e=J[e>>2]}J[g+76>>2]=f;p=e;if((e|0)>=0){break l}p=0-p|0;m=m|8192;break l}p=Te(g+76|0);if((p|0)<0){break d}f=J[g+76>>2]}e=0;j=-1;n:{if(K[f|0]!=46){l=f;f=0;break n}if(K[f+1|0]==42){o:{if(!(K[f+3|0]!=36|H[f+2|0]-48>>>0>=10)){J[((H[f+2|0]<<2)+d|0)-192>>2]=10;l=f+4|0;j=J[((H[f+2|0]<<3)+c|0)-384>>2];break o}if(s){break h}l=f+2|0;j=0;if(!a){break o}f=J[b>>2];J[b>>2]=f+4;j=J[f>>2]}J[g+76>>2]=l;f=(j^-1)>>>31|0;break n}J[g+76>>2]=f+1;j=Te(g+76|0);l=J[g+76>>2];f=1}t=f;while(1){q=e;i=28;k=l;e=H[k|0];if(e-123>>>0<4294967238){break c}l=k+1|0;e=K[(e+P(q,58)|0)+17247|0];if(e-1>>>0<8){continue}break}J[g+76>>2]=l;p:{q:{if((e|0)!=27){if(!e){break c}if((o|0)>=0){J[(o<<2)+d>>2]=e;f=(o<<3)+c|0;e=J[f+4>>2];J[g+64>>2]=J[f>>2];J[g+68>>2]=e;break q}if(!a){break f}Se(g- -64|0,e,b);break p}if((o|0)>=0){break c}}e=0;if(!a){continue e}}f=m&-65537;m=m&8192?f:m;o=0;u=1163;i=r;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{e=H[k|0];e=q?(e&15)==3?e&-33:e:e;switch(e-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(e-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((e|0)==83){break w}break g}f=J[g+64>>2];k=J[g+68>>2];e=1163;break z}e=0;I:{switch(q&255){case 0:J[J[g+64>>2]>>2]=n;continue e;case 1:J[J[g+64>>2]>>2]=n;continue e;case 2:h=J[g+64>>2];J[h>>2]=n;J[h+4>>2]=n>>31;continue e;case 3:I[J[g+64>>2]>>1]=n;continue e;case 4:H[J[g+64>>2]]=n;continue e;case 6:J[J[g+64>>2]>>2]=n;continue e;case 7:break I;default:continue e}}h=J[g+64>>2];J[h>>2]=n;J[h+4>>2]=n>>31;continue e}j=j>>>0<=8?8:j;m=m|8;e=120}h=r;f=J[g+64>>2];k=J[g+68>>2];if(f|k){x=e&32;while(1){h=h-1|0;H[h|0]=x|K[(f&15)+17776|0];y=!k&f>>>0>15|(k|0)!=0;q=k;k=k>>>4|0;f=(q&15)<<28|f>>>4;if(y){continue}break}}if(!(J[g+64>>2]|J[g+68>>2])|!(m&8)){break y}u=(e>>>4|0)+1163|0;o=2;break y}e=r;h=J[g+68>>2];k=h;f=J[g+64>>2];if(h|f){while(1){e=e-1|0;H[e|0]=f&7|48;q=!k&f>>>0>7|(k|0)!=0;h=k;k=h>>>3|0;f=(h&7)<<29|f>>>3;if(q){continue}break}}h=e;if(!(m&8)){break y}e=r-h|0;j=(e|0)<(j|0)?j:e+1|0;break y}f=J[g+64>>2];e=J[g+68>>2];k=e;if((e|0)<0){h=0-(k+((f|0)!=0)|0)|0;k=h;f=0-f|0;J[g+64>>2]=f;J[g+68>>2]=h;o=1;e=1163;break z}if(m&2048){o=1;e=1164;break z}o=m&1;e=o?1165:1163}u=e;h=Mb(f,k,r)}if((j|0)<0?t:0){break d}m=t?m&-65537:m;e=J[g+64>>2];f=J[g+68>>2];if(!(j|(e|f)!=0)){h=r;j=0;break g}e=!(e|f)+(r-h|0)|0;j=(e|0)<(j|0)?j:e;break g}q=j>>>0>=2147483647?2147483647:j;i=q;m=(i|0)!=0;e=J[g+64>>2];h=e?e:1983;e=h;J:{K:{L:{M:{if(!(e&3)|!i){break M}while(1){if(!K[e|0]){break L}i=i-1|0;m=(i|0)!=0;e=e+1|0;if(!(e&3)){break M}if(i){continue}break}}if(!m){break K}if(!(!K[e|0]|i>>>0<4)){while(1){k=J[e>>2];if((k^-1)&k-16843009&-2139062144){break L}e=e+4|0;i=i-4|0;if(i>>>0>3){continue}break}}if(!i){break K}}while(1){if(!K[e|0]){break J}e=e+1|0;i=i-1|0;if(i){continue}break}}e=0}e=e?e-h|0:q;i=e+h|0;if((j|0)>=0){m=f;j=e;break g}m=f;j=e;if(K[i|0]){break d}break g}if(j){f=J[g+64>>2];break u}e=0;Qa(a,32,p,0,m);break t}J[g+12>>2]=0;J[g+8>>2]=J[g+64>>2];f=g+8|0;J[g+64>>2]=f;j=-1}e=0;N:{while(1){h=J[f>>2];if(!h){break N}k=Pe(g+4|0,h);h=(k|0)<0;if(!(h|k>>>0>j-e>>>0)){f=f+4|0;e=e+k|0;if(j>>>0>e>>>0){continue}break N}break}if(h){break b}}i=61;if((e|0)<0){break c}Qa(a,32,p,e,m);if(!e){e=0;break t}i=0;f=J[g+64>>2];while(1){h=J[f>>2];if(!h){break t}h=Pe(g+4|0,h);i=h+i|0;if(i>>>0>e>>>0){break t}Oa(a,g+4|0,h);f=f+4|0;if(e>>>0>i>>>0){continue}break}}Qa(a,32,p,e,m^8192);e=(e|0)<(p|0)?p:e;continue e}if((j|0)<0?t:0){break d}i=61;e=Re(a,O[g+64>>3],p,j,m,e);if((e|0)>=0){continue e}break c}H[g+55|0]=J[g+64>>2];j=1;h=w;m=f;break g}f=K[e+1|0];e=e+1|0;continue}}if(a){break a}if(!s){break f}e=1;while(1){a=J[(e<<2)+d>>2];if(a){Se((e<<3)+c|0,a,b);n=1;e=e+1|0;if((e|0)!=10){continue}break a}break}n=1;if(e>>>0>=10){break a}while(1){if(J[(e<<2)+d>>2]){break h}e=e+1|0;if((e|0)!=10){continue}break}break a}i=28;break c}k=i-h|0;f=(j|0)>(k|0)?j:k;if((f|0)>(o^2147483647)){break d}i=61;j=f+o|0;e=(j|0)<(p|0)?p:j;if((v|0)<(e|0)){break c}Qa(a,32,e,j,m);Oa(a,u,o);Qa(a,48,e,j,m^65536);Qa(a,48,f,k,0);Oa(a,h,k);Qa(a,32,e,j,m^8192);continue}break}n=0;break a}i=61}J[4804]=i}n=-1}ba=g+80|0;return n}function Qf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=ba-16|0;ba=g;J[b+44>>2]=d;J[b+48>>2]=c;d=J[b+12>>2];f=J[b+8>>2];if((d|0)!=(f|0)){while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){da[J[J[e>>2]+4>>2]](e)}if((d|0)!=(f|0)){continue}break}}J[b+12>>2]=f;J[b+24>>2]=J[b+20>>2];J[b+36>>2]=J[b+32>>2];a:{if(!J[b+4>>2]){b=oa(32);H[b+23|0]=0;c=K[1670]|K[1671]<<8|(K[1672]<<16|K[1673]<<24);d=K[1666]|K[1667]<<8|(K[1668]<<16|K[1669]<<24);H[b+15|0]=d;H[b+16|0]=d>>>8;H[b+17|0]=d>>>16;H[b+18|0]=d>>>24;H[b+19|0]=c;H[b+20|0]=c>>>8;H[b+21|0]=c>>>16;H[b+22|0]=c>>>24;c=K[1663]|K[1664]<<8|(K[1665]<<16|K[1666]<<24);d=K[1659]|K[1660]<<8|(K[1661]<<16|K[1662]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1655]|K[1656]<<8|(K[1657]<<16|K[1658]<<24);d=K[1651]|K[1652]<<8|(K[1653]<<16|K[1654]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,23);na(b);break a}d=ba-16|0;ba=d;e=J[b+44>>2];f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){sa(e,J[e+4>>2],1637,1642)}e=da[J[J[b>>2]+8>>2]](b)|0;H[d+15|0]=e;H[d+14|0]=2;H[d+13|0]=e&255?2:3;e=J[b+44>>2];f=J[e+20>>2];b:{if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}sa(e,J[e+4>>2],d+14|0,d+15|0);e=J[b+44>>2];f=J[e+20>>2];if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}sa(e,J[e+4>>2],d+13|0,d+14|0);e=J[b+44>>2];f=J[e+20>>2];if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}sa(e,J[e+4>>2],d+15|0,d+16|0);e=J[b+44>>2]}j=d,k=da[J[J[b>>2]+12>>2]](b)|0,H[j+12|0]=k;f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){sa(e,J[e+4>>2],d+12|0,d+13|0)}I[d+10>>1]=(J[J[b+4>>2]+4>>2]!=0)<<15;e=J[b+44>>2];f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){sa(e,J[e+4>>2],d+10|0,d+12|0)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;ba=d+16|0;if(J[a>>2]){break a}if(H[a+15|0]<0){na(J[a+4>>2])}d=J[J[b+4>>2]+4>>2];c:{if(!d){J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break c}e=J[b+44>>2];if(d){Aa(J[d+28>>2]-J[d+24>>2]>>2,e);f=J[d+24>>2];i=J[d+28>>2];if((f|0)!=(i|0)){while(1){h=J[f>>2];if(h){Aa(J[h+24>>2],e);td(g,e,h)}f=f+4|0;if((i|0)!=(f|0)){continue}break}}td(g,e,d)}if(d){J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break c}d=oa(32);H[d+26|0]=0;e=K[1882]|K[1883]<<8;H[d+24|0]=e;H[d+25|0]=e>>>8;e=K[1878]|K[1879]<<8|(K[1880]<<16|K[1881]<<24);f=K[1874]|K[1875]<<8|(K[1876]<<16|K[1877]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=e;H[d+21|0]=e>>>8;H[d+22|0]=e>>>16;H[d+23|0]=e>>>24;e=K[1870]|K[1871]<<8|(K[1872]<<16|K[1873]<<24);f=K[1866]|K[1867]<<8|(K[1868]<<16|K[1869]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1862]|K[1863]<<8|(K[1864]<<16|K[1865]<<24);f=K[1858]|K[1859]<<8|(K[1860]<<16|K[1861]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;J[a>>2]=-1;Ga(a+4|0,d,26);na(d);if(J[a>>2]){break a}if(H[a+15|0]>=0){break c}na(J[a+4>>2])}if(!(da[J[J[b>>2]+16>>2]](b)|0)){b=oa(32);H[b+29|0]=0;c=K[1798]|K[1799]<<8|(K[1800]<<16|K[1801]<<24);d=K[1794]|K[1795]<<8|(K[1796]<<16|K[1797]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1793]|K[1794]<<8|(K[1795]<<16|K[1796]<<24);d=K[1789]|K[1790]<<8|(K[1791]<<16|K[1792]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1785]|K[1786]<<8|(K[1787]<<16|K[1788]<<24);d=K[1781]|K[1782]<<8|(K[1783]<<16|K[1784]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1777]|K[1778]<<8|(K[1779]<<16|K[1780]<<24);d=K[1773]|K[1774]<<8|(K[1775]<<16|K[1776]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,29);na(b);break a}if(!(da[J[J[b>>2]+20>>2]](b)|0)){b=oa(32);H[b+31|0]=0;c=K[1941]|K[1942]<<8|(K[1943]<<16|K[1944]<<24);d=K[1937]|K[1938]<<8|(K[1939]<<16|K[1940]<<24);H[b+23|0]=d;H[b+24|0]=d>>>8;H[b+25|0]=d>>>16;H[b+26|0]=d>>>24;H[b+27|0]=c;H[b+28|0]=c>>>8;H[b+29|0]=c>>>16;H[b+30|0]=c>>>24;c=K[1934]|K[1935]<<8|(K[1936]<<16|K[1937]<<24);d=K[1930]|K[1931]<<8|(K[1932]<<16|K[1933]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1926]|K[1927]<<8|(K[1928]<<16|K[1929]<<24);d=K[1922]|K[1923]<<8|(K[1924]<<16|K[1925]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1918]|K[1919]<<8|(K[1920]<<16|K[1921]<<24);d=K[1914]|K[1915]<<8|(K[1916]<<16|K[1917]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,31);na(b);break a}da[J[J[b>>2]+24>>2]](a,b);if(J[a>>2]){break a}if(H[a+15|0]<0){na(J[a+4>>2])}if(!(da[J[J[b>>2]+28>>2]](b)|0)){b=Pc(g,1708);J[a>>2]=-1;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break a}Ga(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break a}na(J[b>>2]);break a}d=c;c=Pc(g,1214);d=Pb(d,c,0);if(H[c+11|0]<0){na(J[c>>2])}if(d){da[J[J[b>>2]+48>>2]](b)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}ba=g+16|0}function ve(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,N=0,O=0,Q=0;o=ba-32|0;ba=o;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){d=a+4|0;sa(e,J[e+4>>2],a,d);p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){sa(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){C=a+12|0;d=C;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];D=a+32|0;d=D;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];E=a+52|0;d=E;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];F=a+72|0;d=F;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[o+24>>2]=J[b+8>>2];d=J[b+4>>2];J[o+16>>2]=J[b>>2];J[o+20>>2]=d;J[o+8>>2]=J[c+8>>2];b=J[c+4>>2];J[o>>2]=J[c>>2];J[o+4>>2]=b;c=0;b=0;f=ba-32|0;ba=f;l=a;g=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(g){if(g>>>0>=1073741824){break b}a=g<<2;c=oa(a);J[f+8>>2]=c;b=a+c|0;J[f+16>>2]=b;pa(c,0,a);J[f+12>>2]=b}a=J[l+128>>2];d=J[a>>2];if(d){J[a+4>>2]=d;na(d);g=J[l+8>>2];c=J[f+8>>2];b=J[f+12>>2]}J[a+4>>2]=b;J[a>>2]=c;J[a+8>>2]=J[f+16>>2];c=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b=0;c:{if(g){if(g>>>0>=1073741824){break c}a=g<<2;b=oa(a);J[f+8>>2]=b;c=a+b|0;J[f+16>>2]=c;pa(b,0,a);J[f+12>>2]=c}a=J[l+140>>2];d=J[a>>2];if(d){J[a+4>>2]=d;na(d);c=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=c;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];p=J[o+20>>2];t=J[o+24>>2];d=J[o+4>>2];w=J[o+8>>2];b=J[o>>2];c=J[o+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;fb(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;q=(a>>>0)/113|0;a=J[J[f+12>>2]+(q<<2)>>2]+P(a-P(q,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=w;J[a+12>>2]=b;J[a+4>>2]=p;J[a+8>>2]=t;J[a>>2]=c;g=J[f+28>>2]+1|0;J[f+28>>2]=g;if(g){a=t;K=a&-4;G=a&3;L=l+32|0;N=l+12|0;O=l+72|0;Q=a>>>0<4;while(1){b=J[f+12>>2];i=J[f+24>>2];h=g-1|0;a=i+h|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;z=J[a+32>>2];c=J[a+24>>2];q=J[a+12>>2];a=J[a>>2];J[f+28>>2]=h;h=J[f+16>>2];if((((b|0)!=(h|0)?P(h-b>>2,113)-1|0:0)-(g+i|0)|0)+1>>>0>=226){na(J[h-4>>2]);J[f+16>>2]=J[f+16>>2]-4}i=J[l>>2];g=(c|0)!=(J[l+8>>2]-1|0)?c+1|0:0;h=g<<2;x=P(z,12);k=x+J[l+140>>2]|0;c=J[h+J[k>>2]>>2];d:{e:{if((i|0)==(c|0)){break e}f:{g:{y=q-a|0;if(y>>>0<=2){h=J[l+116>>2];J[h>>2]=g;c=1;b=J[l+8>>2];if(b>>>0>1){break g}break f}k=J[l+128>>2];b=k+x|0;j=k;k=x+12|0;bb(j+k|0,J[b>>2],J[b+4>>2]);b=h+J[k+J[l+128>>2]>>2]|0;k=J[b>>2]+(1<>2]=k;b=a;h:{if((a|0)==(q|0)){break h}H=J[p+24>>2];I=h+H|0;b=q;c=a;if(!t){if(k>>>0>M[I>>2]){break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}if(k>>>0<=M[(h+J[d+24>>2]|0)+(P(b,w)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(b|0)){continue}break}break h}while(1){i=P(c,t)<<2;if(k>>>0>M[i+I>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}n=J[d+24>>2]+(P(b,w)<<2)|0;if(k>>>0<=M[n+h>>2]){continue}break}r=i+H|0;A=0;i=0;u=0;if(!Q){while(1){m=i<<2;j=m+r|0;s=J[j>>2];v=j;j=n+m|0;J[v>>2]=J[j>>2];J[j>>2]=s;j=m|4;s=j+r|0;v=J[s>>2];j=j+n|0;J[s>>2]=J[j>>2];J[j>>2]=v;j=m|8;s=j+r|0;v=J[s>>2];j=j+n|0;J[s>>2]=J[j>>2];J[j>>2]=v;m=m|12;j=m+r|0;s=J[j>>2];m=n+m|0;J[j>>2]=J[m>>2];J[m>>2]=s;i=i+4|0;u=u+4|0;if((K|0)!=(u|0)){continue}break}}if(G){while(1){m=i<<2;u=m+r|0;j=J[u>>2];m=n+m|0;J[u>>2]=J[m>>2];J[m>>2]=j;i=i+1|0;A=A+1|0;if((A|0)!=(G|0)){continue}break}}c=c+1|0;if((c|0)!=(b|0)){continue}break}}k=b-a|0;n=q-b|0;if((k|0)!=(n|0)){xc(O,k>>>0>>0)}Ib(N,S(y)^31,(y>>>1|0)-(k>>>0>>0?k:n)|0);j=h;c=J[l+140>>2];h=c+x|0;i=J[h>>2];r=j+i|0;J[r>>2]=J[r>>2]+1;r=z+1|0;bb(c+P(r,12)|0,i,J[h+4>>2]);if((a|0)!=(b|0)){i=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];h=J[f+12>>2];if((i|0)==(((c|0)!=(h|0)?P(c-h>>2,113)-1|0:0)|0)){fb(f+8|0);i=J[f+24>>2]+J[f+28>>2]|0;h=J[f+12>>2]}c=(i>>>0)/113|0;c=J[h+(c<<2)>>2]+P(i-P(c,113)|0,36)|0;J[c+32>>2]=z;J[c+28>>2]=k;J[c+24>>2]=g;J[c+16>>2]=p;J[c+12>>2]=b;J[c+4>>2]=p;J[c+8>>2]=t;J[c>>2]=a;J[c+20>>2]=t;J[f+28>>2]=J[f+28>>2]+1}if((b|0)==(q|0)){break e}h=J[f+28>>2]+J[f+24>>2]|0;a=J[f+16>>2];c=J[f+12>>2];if((h|0)==(((a|0)!=(c|0)?P(a-c>>2,113)-1|0:0)|0)){fb(f+8|0);h=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}a=(h>>>0)/113|0;a=J[c+(a<<2)>>2]+P(h-P(a,113)|0,36)|0;J[a+32>>2]=r;J[a+28>>2]=n;J[a+24>>2]=g;J[a+16>>2]=d;J[a+20>>2]=w;J[a+12>>2]=q;J[a+4>>2]=p;J[a>>2]=b;J[a+8>>2]=t;g=J[f+28>>2]+1|0;J[f+28>>2]=g;break d}while(1){g=(b-1|0)!=(g|0)?g+1|0:0;J[h+(c<<2)>>2]=g;b=J[l+8>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}if(!b|(a|0)==(q|0)){break e}h=0;c=1;while(1){g=0;i:{if(!c){c=0;break i}q=J[p+24>>2]+(P(J[p+4>>2],a+h|0)<<2)|0;while(1){c=J[l>>2];i=J[J[l+116>>2]+(g<<2)>>2]<<2;n=J[i+J[k>>2]>>2];if((c|0)!=(n|0)){Ib(L,c-n|0,J[i+q>>2]);b=J[l+8>>2]}c=b;g=g+1|0;if(c>>>0>g>>>0){continue}break}}h=h+1|0;if((y|0)!=(h|0)){continue}break}}g=J[f+28>>2]}if(g){continue}break}}J[f+28>>2]=0;a=J[f+16>>2];g=J[f+12>>2];b=a-g|0;if(b>>>0>=9){while(1){na(J[g>>2]);g=J[f+12>>2]+4|0;J[f+12>>2]=g;a=J[f+16>>2];b=a-g|0;if(b>>>0>8){continue}break}}c=56;j:{switch((b>>>2|0)-1|0){case 1:c=113;case 0:J[f+24>>2]=c;break;default:break j}}k:{if((a|0)==(g|0)){break k}while(1){na(J[g>>2]);g=g+4|0;if((g|0)!=(a|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break k}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){na(a)}ba=f+32|0;break a}qa();B()}qa();B()}eb(C,e);eb(D,e);eb(E,e);eb(F,e)}ba=o+32|0;return 1}function gg(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,n=0,o=0,p=0,q=0,r=0;l=ba-32|0;ba=l;d=J[a+16>>2];J[a+20>>2]=d;a:{b:{c:{d:{e:{f:{g:{h:{if((d|0)!=J[a+24>>2]){J[d>>2]=b;b=d+4|0;J[a+20>>2]=b;e=d;break h}e=oa(4);J[e>>2]=b;b=e+4|0;J[a+24>>2]=b;J[a+20>>2]=b;J[a+16>>2]=e;if(d){break g}}d=J[a+8>>2];d=J[d+100>>2]-J[d+96>>2]|0;break f}na(d);b=J[a+20>>2];e=J[a+16>>2];if((b|0)==(e|0)){break e}d=J[a+8>>2];d=J[d+100>>2]-J[d+96>>2]|0}if((d|0)>0){q=a+120|0;d=(d|0)/12|0;r=(d|0)<=1?1:d;while(1){i:{j:{e=b-4|0;b=J[e>>2];if((b|0)==-1){break j}d=(b>>>0)/3|0;if(J[J[a+28>>2]+(d>>>3&268435452)>>2]>>>d&1){break j}m=0;while(1){J[a+164>>2]=J[a+164>>2]+1;e=b;g=(b>>>0)/3|0;f=(b|0)==-1;n=f?-1:g;b=J[a+28>>2]+(n>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];k:{if((b|0)!=J[a+80>>2]){J[b>>2]=e;J[a+76>>2]=b+4;break k}i=J[a+72>>2];j=b-i|0;c=j>>2;k=c+1|0;if(k>>>0>1073741823){break d}d=j>>>1|0;k=j>>>0>=2147483644?1073741823:d>>>0>k>>>0?d:k;if(k){if(k>>>0>1073741823){break a}d=oa(k<<2)}else{d=0}h=d+(c<<2)|0;J[h>>2]=e;c=h+4|0;if((b|0)!=(i|0)){while(1){h=h-4|0;b=b-4|0;J[h>>2]=J[b>>2];if((b|0)!=(i|0)){continue}break}}J[a+80>>2]=d+(k<<2);J[a+76>>2]=c;J[a+72>>2]=h;if(!i){break k}na(i)}b=-1;h=J[a+12>>2];b=(e|0)!=-1?J[J[h>>2]+(e<<2)>>2]:b;k=b<<2;p=J[k+J[a+152>>2]>>2];l:{m:{c=J[a+84>>2]+(b>>>3&536870908)|0;d=J[c>>2];b=1<>2]=b|d;if((p|0)==-1){break m}}n:{if(f){break n}b=-1;d=e+1|0;f=(d>>>0)%3|0?d:e-2|0;if((f|0)!=-1){b=J[J[h+12>>2]+(f<<2)>>2]}i=e-P(g,3)|0;o:{p:{if(i){c=e-1|0;break p}c=e+2|0;d=-1;if((c|0)==-1){break o}}d=J[J[h+12>>2]+(c<<2)>>2]}o=(d|0)==-1;j=o?-1:(d>>>0)/3|0;q:{if((f|0)==-1){break q}g=J[h+12>>2];c=J[g+(f<<2)>>2];if((c|0)==-1){break q}f=J[a+28>>2];c=(c>>>0)/3|0;if(J[f+(c>>>3&268435452)>>2]>>>c&1){break q}r:{s:{if(i){h=e-1|0;break s}h=e+2|0;if((h|0)==-1){break r}}c=J[(h<<2)+g>>2];if((c|0)==-1){break r}c=(c>>>0)/3|0;if(J[f+(c>>>3&268435452)>>2]>>>c&1){break r}c=J[a+272>>2];t:{if((c|0)!=J[a+276>>2]){J[c>>2]=1;J[a+272>>2]=c+4;break t}i=J[a+268>>2];j=c-i|0;f=j>>2;g=f+1|0;if(g>>>0>1073741823){break c}c=j>>>1|0;g=j>>>0>=2147483644?1073741823:c>>>0>g>>>0?c:g;if(g){if(g>>>0>1073741823){break a}c=oa(g<<2)}else{c=0}f=c+(f<<2)|0;J[f>>2]=1;c=ta(c,i,j);J[a+276>>2]=c+(g<<2);J[a+272>>2]=f+4;J[a+268>>2]=c;if(!i){break t}na(i)}J[a+168>>2]=J[a+168>>2]+1;u:{if((p|0)==-1){break u}c=J[J[a+152>>2]+k>>2];if(J[J[a+140>>2]+(c>>>3&536870908)>>2]>>>c&1){break u}Hc(a,e,0)}c=J[a+164>>2];J[l+4>>2]=n;e=l+4|0;J[l+16>>2]=e;bg(l+24|0,q,e,l+16|0);J[J[l+24>>2]+12>>2]=c;h=J[a+20>>2];J[h-4>>2]=d;if(J[a+24>>2]!=(h|0)){J[h>>2]=b;J[a+20>>2]=h+4;break i}g=J[a+16>>2];f=h-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break b}d=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?d:c;if(c){if(c>>>0>1073741823){break a}d=oa(c<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=b;b=e+4|0;if((g|0)!=(h|0)){while(1){e=e-4|0;h=h-4|0;J[e>>2]=J[h>>2];if((g|0)!=(h|0)){continue}break}}J[a+24>>2]=d+(c<<2);J[a+20>>2]=b;J[a+16>>2]=e;if(!g){break i}na(g);break i}if(!o){Qb(a,J[a+164>>2],0,j)}d=J[a+272>>2];if((d|0)!=J[a+276>>2]){J[d>>2]=3;J[a+272>>2]=d+4;break l}g=J[a+268>>2];f=d-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break c}d=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?d:c;if(c){if(c>>>0>1073741823){break a}d=oa(c<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=3;d=ta(d,g,f);J[a+276>>2]=d+(c<<2);J[a+272>>2]=e+4;J[a+268>>2]=d;if(!g){break l}na(g);break l}c=(b|0)==-1;if(!c){Qb(a,J[a+164>>2],1,c?-1:(b>>>0)/3|0)}v:{w:{if(i){b=e-1|0;break w}b=e+2|0;if((b|0)==-1){break v}}b=J[J[J[a+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break v}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break v}b=J[a+272>>2];if((b|0)!=J[a+276>>2]){J[b>>2]=5;J[a+272>>2]=b+4;b=d;break l}g=J[a+268>>2];f=b-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break c}b=f>>>1|0;c=f>>>0>=2147483644?1073741823:b>>>0>c>>>0?b:c;if(c){if(c>>>0>1073741823){break a}b=oa(c<<2)}else{b=0}e=b+(e<<2)|0;J[e>>2]=5;b=ta(b,g,f);J[a+276>>2]=b+(c<<2);J[a+272>>2]=e+4;J[a+268>>2]=b;if(!g){b=d;break l}na(g);b=d;break l}if(o){break n}Qb(a,J[a+164>>2],0,j)}b=J[a+272>>2];x:{if((b|0)!=J[a+276>>2]){J[b>>2]=7;J[a+272>>2]=b+4;break x}f=J[a+268>>2];c=b-f|0;d=c>>2;e=d+1|0;if(e>>>0>1073741823){break c}b=c>>>1|0;e=c>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(e){if(e>>>0>1073741823){break a}b=oa(e<<2)}else{b=0}d=b+(d<<2)|0;J[d>>2]=7;b=ta(b,f,c);J[a+276>>2]=b+(e<<2);J[a+272>>2]=d+4;J[a+268>>2]=b;if(!f){break x}na(f)}J[a+20>>2]=J[a+20>>2]-4;break i}b=J[a+272>>2];y:{if((b|0)!=J[a+276>>2]){J[b>>2]=0;J[a+272>>2]=b+4;break y}g=J[a+268>>2];f=b-g|0;d=f>>2;c=d+1|0;if(c>>>0>1073741823){break c}b=f>>>1|0;c=f>>>0>=2147483644?1073741823:b>>>0>c>>>0?b:c;if(c){if(c>>>0>1073741823){break a}b=oa(c<<2)}else{b=0}d=b+(d<<2)|0;J[d>>2]=0;b=ta(b,g,f);J[a+276>>2]=b+(c<<2);J[a+272>>2]=d+4;J[a+268>>2]=b;if(!g){break y}na(g)}b=-1;if((e|0)==-1){break l}d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;if((d|0)==-1){break l}b=J[J[J[a+12>>2]+12>>2]+(d<<2)>>2]}m=m+1|0;if((r|0)!=(m|0)){continue}break}break i}J[a+20>>2]=e}b=J[a+20>>2];if((b|0)!=J[a+16>>2]){continue}break}break e}f=J[a+28>>2];while(1){d=b-4|0;c=J[d>>2];z:{if((c|0)!=-1){c=(c>>>0)/3|0;if(!(J[f+(c>>>3&268435452)>>2]>>>c&1)){break z}}J[a+20>>2]=d;b=d}if((b|0)!=(e|0)){continue}break}}ba=l+32|0;return 1}qa();B()}qa();B()}qa();B()}xa();B()}function $c(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=I[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=J[b>>2];if((e|0)<0){break b}J[(g<<2)+d>>2]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=J[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=J[b+4>>2];e=J[b>>2];if(e- -2147483648>>>0<2147483648?h+1|0:h){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>2147483647|k){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|m>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|mQ(1)){break d}e=(b<<2)+d|0;l=V(+m*2147483647+.5);f:{if(R(l)<2147483648){i=~~l;break f}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}pa((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|l!=l){break g}o=R(l);if(o==Infinity){break g}e=(b<<2)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|(R(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<2)+d|0;l=V(l*2147483647+.5);i:{if(R(l)<2147483648){i=~~l;break i}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}pa((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}pa((e<<2)+d|0,0,(c&255)-e<<2)}return j}pa((e<<2)+d|0,0,(c&255)-e<<2);return 1}function fe(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=J[b+48>>2];if(!g){b=oa(32);H[b+23|0]=0;c=K[1670]|K[1671]<<8|(K[1672]<<16|K[1673]<<24);e=K[1666]|K[1667]<<8|(K[1668]<<16|K[1669]<<24);H[b+15|0]=e;H[b+16|0]=e>>>8;H[b+17|0]=e>>>16;H[b+18|0]=e>>>24;H[b+19|0]=c;H[b+20|0]=c>>>8;H[b+21|0]=c>>>16;H[b+22|0]=c>>>24;c=K[1663]|K[1664]<<8|(K[1665]<<16|K[1666]<<24);e=K[1659]|K[1660]<<8|(K[1661]<<16|K[1662]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1655]|K[1656]<<8|(K[1657]<<16|K[1658]<<24);e=K[1651]|K[1652]<<8|(K[1653]<<16|K[1654]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,23);na(b);return}h=J[b+52>>2];if(!h){e=ba-32|0;ba=e;d=oa(16);J[e+16>>2]=d;J[e+20>>2]=15;J[e+24>>2]=-2147483632;f=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);h=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[d+7|0]=h;H[d+8|0]=h>>>8;H[d+9|0]=h>>>16;H[d+10|0]=h>>>24;H[d+11|0]=f;H[d+12|0]=f>>>8;H[d+13|0]=f>>>16;H[d+14|0]=f>>>24;f=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);h=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[d|0]=h;H[d+1|0]=h>>>8;H[d+2|0]=h>>>16;H[d+3|0]=h>>>24;H[d+4|0]=f;H[d+5|0]=f>>>8;H[d+6|0]=f>>>16;H[d+7|0]=f>>>24;H[d+15|0]=0;h=b+4|0;j=Bb(h,e+16|0,-1);if(H[e+27|0]<0){na(J[e+16>>2])}a:{b:{c:{d:{e:{switch(j+1|0){case 1:d=oa(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=nc(d);J[d>>2]=12672;break c;case 0:break e;default:break d}}if((cb(h)|0)!=10){break d}d=oa(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=nc(d);J[d>>2]=12672;break c}J[e+12>>2]=0;f:{i=J[g+12>>2];f=J[g+8>>2];if((i-f|0)>0){d=0;while(1){k=J[J[(d<<2)+f>>2]+28>>2];if(k-1>>>0>=6){if((k|0)!=9){break f}d=oa(32);J[e+16>>2]=d;J[e+20>>2]=17;J[e+24>>2]=-2147483616;H[d+16|0]=K[1261];f=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);i=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[d+8|0]=i;H[d+9|0]=i>>>8;H[d+10|0]=i>>>16;H[d+11|0]=i>>>24;H[d+12|0]=f;H[d+13|0]=f>>>8;H[d+14|0]=f>>>16;H[d+15|0]=f>>>24;f=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);i=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[d|0]=i;H[d+1|0]=i>>>8;H[d+2|0]=i>>>16;H[d+3|0]=i>>>24;H[d+4|0]=f;H[d+5|0]=f>>>8;H[d+6|0]=f>>>16;H[d+7|0]=f>>>24;H[d+17|0]=0;d=jb(h,e+12|0,e+16|0,-1);if(H[e+27|0]<0){na(J[e+16>>2])}if((d|0)<=0){break f}f=J[g+8>>2];i=J[g+12>>2];d=J[e+12>>2]}d=d+1|0;J[e+12>>2]=d;if(i-f>>2>(d|0)){continue}break}}d=oa(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=nc(d);J[d>>2]=12564;break c}if((j|0)==1){break b}d=oa(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=nc(d);J[d>>2]=12672}J[d+4>>2]=g;Qf(a,d,h,c);if(!J[a>>2]){if(H[a+15|0]<0){na(J[a+4>>2])}c=J[d+52>>2];J[b+44>>2]=0;J[b+40>>2]=c;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}da[J[J[d>>2]+4>>2]](d);break a}b=oa(32);H[b+24|0]=0;c=K[1853]|K[1854]<<8|(K[1855]<<16|K[1856]<<24);d=K[1849]|K[1850]<<8|(K[1851]<<16|K[1852]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1845]|K[1846]<<8|(K[1847]<<16|K[1848]<<24);d=K[1841]|K[1842]<<8|(K[1843]<<16|K[1844]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1837]|K[1838]<<8|(K[1839]<<16|K[1840]<<24);d=K[1833]|K[1834]<<8|(K[1835]<<16|K[1836]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Ga(a+4|0,b,24);na(b)}ba=e+32|0;return}d=ba-16|0;ba=d;e=oa(16);J[d>>2]=e;J[d+4>>2]=15;J[d+8>>2]=-2147483632;g=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);f=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[e+7|0]=f;H[e+8|0]=f>>>8;H[e+9|0]=f>>>16;H[e+10|0]=f>>>24;H[e+11|0]=g;H[e+12|0]=g>>>8;H[e+13|0]=g>>>16;H[e+14|0]=g>>>24;g=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);f=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[e|0]=f;H[e+1|0]=f>>>8;H[e+2|0]=f>>>16;H[e+3|0]=f>>>24;H[e+4|0]=g;H[e+5|0]=g>>>8;H[e+6|0]=g>>>16;H[e+7|0]=g>>>24;H[e+15|0]=0;g=b+4|0;e=Bb(g,d,-1);if(H[d+11|0]<0){na(J[d>>2])}g:{h:{i:{switch(e+1|0){case 0:if((cb(g)|0)==10){break h}break;case 2:break i;default:break h}}e=Tf(oa(68));J[e+64>>2]=0;J[e>>2]=10404;break g}e=Tf(oa(64));J[e>>2]=12280}J[e+56>>2]=h;J[e+4>>2]=h;Qf(a,e,g,c);if(!J[a>>2]){if(H[a+15|0]<0){na(J[a+4>>2])}J[b+40>>2]=J[e+52>>2];J[b+44>>2]=J[e+60>>2];J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}da[J[J[e>>2]+4>>2]](e);ba=d+16|0}function ci(a){a=a|0;var 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,q=0,r=0,s=0,t=Q(0),u=0,v=0,w=0,x=0,y=Q(0),z=0,A=0;c=ba+-64|0;ba=c;f=J[a+80>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+56>>2]=a;J[c+48>>2]=a;J[c+32>>2]=0;J[c+36>>2]=0;J[c+52>>2]=1065353216;df(c+32|0,f);f=J[a+80>>2];J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;a:{b:{c:{d:{if(!f){break d}if(f>>>0>=1073741824){break a}f=f<<2;s=oa(f);J[c+16>>2]=s;b=f+s|0;J[c+24>>2]=b;pa(s,0,f);J[c+20>>2]=b;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;z=c+40|0;f=0;while(1){e=0;b=J[c+48>>2];m=J[b+8>>2];n=J[b+12>>2]-m|0;v=(n|0)<=0;e:{if(v){break e}b=n>>>2|0;b=b>>>0<=1?1:b;i=b&1;h=0;if(n>>>0>=8){g=b&1073741822;b=0;while(1){j=h<<2;d=J[j+m>>2];if(K[d+84|0]){d=f}else{d=J[J[d+68>>2]+(f<<2)>>2]}h=h+2|0;l=d<<3^e<<2;e=J[m+(j|4)>>2];if(K[e+84|0]){d=f}else{d=J[J[e+68>>2]+(f<<2)>>2]}e=l^d<<2;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(!i){break e}b=J[m+(h<<2)>>2];if(K[b+84|0]){b=f}else{b=J[J[b+68>>2]+(f<<2)>>2]}e=b<<2^e<<1}f:{g:{j=J[c+36>>2];if(!j){break g}g=J[c+32>>2];i=Kl(j)>>>0>1;b=j-1&e;h:{if(!i){break h}b=e;if(b>>>0>>0){break h}b=(e>>>0)%(j>>>0)|0}d=b;b=J[g+(d<<2)>>2];if(!b){break g}k=J[b>>2];if(!k){break g}p=J[c+56>>2];i:{j:{if(!i){w=j-1|0;while(1){b=J[k+4>>2];k:{if((b|0)!=(e|0)){if((d|0)==(b&w)){break k}break g}x=J[p+8>>2];b=J[p+12>>2]-x|0;if((b|0)<4){break i}i=J[k+8>>2];o=b>>2;A=(o|0)<=1?1:o;l=0;h=0;while(1){b=f;g=J[x+(h<<2)>>2];if(K[g+84|0]){g=i}else{g=J[g+68>>2];b=J[g+(f<<2)>>2];g=J[g+(i<<2)>>2]}if((b|0)==(g|0)){h=h+1|0;l=(o|0)<=(h|0);if((h|0)!=(A|0)){continue}}break}if(l){break j}}k=J[k>>2];if(k){continue}break}break g}while(1){b=J[k+4>>2];l:{if((b|0)!=(e|0)){if(b>>>0>=j>>>0){b=(b>>>0)%(j>>>0)|0}if((b|0)==(d|0)){break l}break g}w=J[p+8>>2];b=J[p+12>>2]-w|0;if((b|0)<4){break i}i=J[k+8>>2];o=b>>2;x=(o|0)<=1?1:o;l=0;h=0;while(1){b=f;g=J[w+(h<<2)>>2];if(K[g+84|0]){g=i}else{g=J[g+68>>2];b=J[g+(f<<2)>>2];g=J[g+(i<<2)>>2]}if((b|0)==(g|0)){h=h+1|0;l=(o|0)<=(h|0);if((h|0)!=(x|0)){continue}}break}if(l){break j}}k=J[k>>2];if(k){continue}break}break g}if(!k){break g}}J[(f<<2)+s>>2]=J[k+12>>2];break f}m:{if(v){e=0;break m}b=n>>>2|0;b=b>>>0<=1?1:b;i=b&1;e=0;h=0;if(n>>>0>=8){g=b&1073741822;b=0;while(1){l=h<<2;d=J[l+m>>2];if(K[d+84|0]){d=f}else{d=J[J[d+68>>2]+(f<<2)>>2]}h=h+2|0;n=d<<3^e<<2;e=J[m+(l|4)>>2];if(K[e+84|0]){d=f}else{d=J[J[e+68>>2]+(f<<2)>>2]}e=n^d<<2;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(!i){break m}b=J[m+(h<<2)>>2];if(K[b+84|0]){b=f}else{b=J[J[b+68>>2]+(f<<2)>>2]}e=b<<2^e<<1}n:{o:{if(!j){break o}m=j-1|0;if(m&j){k=e>>>0>=j>>>0?(e>>>0)%(j>>>0)|0:e;g=J[J[c+32>>2]+(k<<2)>>2];if(!g){break o}m=J[c+56>>2];while(1){g=J[g>>2];if(!g){break o}b=J[g+4>>2];if((b|0)!=(e|0)){if(b>>>0>=j>>>0){b=(b>>>0)%(j>>>0)|0}if((b|0)!=(k|0)){break o}}p=J[m+8>>2];b=J[m+12>>2]-p|0;if((b|0)<4){break n}d=J[g+8>>2];n=b>>2;o=(n|0)<=1?1:n;l=0;h=0;while(1){b=f;i=J[p+(h<<2)>>2];if(K[i+84|0]){i=d}else{i=J[i+68>>2];b=J[i+(f<<2)>>2];i=J[i+(d<<2)>>2]}if((b|0)==(i|0)){h=h+1|0;l=(n|0)<=(h|0);if((h|0)!=(o|0)){continue}}break}if(!l){continue}break}break n}k=e&m;g=J[J[c+32>>2]+(k<<2)>>2];if(!g){break o}n=J[c+56>>2];while(1){g=J[g>>2];if(!g){break o}b=J[g+4>>2];if((b|0)!=(e|0)&(b&m)!=(k|0)){break o}o=J[n+8>>2];b=J[n+12>>2]-o|0;if((b|0)<4){break n}d=J[g+8>>2];p=b>>2;v=(p|0)<=1?1:p;l=0;h=0;while(1){b=f;i=J[o+(h<<2)>>2];if(K[i+84|0]){i=d}else{i=J[i+68>>2];b=J[i+(f<<2)>>2];i=J[i+(d<<2)>>2]}if((b|0)==(i|0)){h=h+1|0;l=(p|0)<=(h|0);if((h|0)!=(v|0)){continue}}break}if(!l){continue}break}break n}d=oa(16);J[d+8>>2]=f;J[d+4>>2]=e;J[d>>2]=0;J[d+12>>2]=u;y=Q(J[c+44>>2]+1>>>0);t=N[c+52>>2];p:{if(y>Q(t*Q(j>>>0))?0:j){break p}g=c+32|0;i=(j-1&j)!=0|j>>>0<3|j<<1;t=Q(W(Q(y/t)));q:{if(t=Q(0)){b=~~t>>>0;break q}b=0}df(g,b>>>0>>0?i:b);j=J[c+36>>2];b=j-1|0;if(!(b&j)){k=b&e;break p}if(e>>>0>>0){k=e;break p}k=(e>>>0)%(j>>>0)|0}e=J[c+32>>2]+(k<<2)|0;b=J[e>>2];r:{s:{if(!b){J[d>>2]=J[c+40>>2];J[c+40>>2]=d;J[e>>2]=z;b=J[d>>2];if(!b){break r}b=J[b+4>>2];e=j-1|0;t:{if(!(e&j)){b=b&e;break t}if(b>>>0>>0){break t}b=(b>>>0)%(j>>>0)|0}b=J[c+32>>2]+(b<<2)|0;break s}J[d>>2]=J[b>>2]}J[b>>2]=d}J[c+44>>2]=J[c+44>>2]+1;q=J[c+8>>2];r=J[c+4>>2];s=J[c+16>>2]}J[(f<<2)+s>>2]=u;u=u+1|0;if((q|0)!=(r|0)){J[r>>2]=f;r=r+4|0;J[c+4>>2]=r;break f}e=J[c>>2];b=q-e|0;i=b>>2;d=i+1|0;if(d>>>0>=1073741824){break c}g=b>>>1|0;d=b>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(d){if(d>>>0>=1073741824){break b}b=oa(d<<2)}else{b=0}h=b+(i<<2)|0;J[h>>2]=f;r=h+4|0;if((e|0)!=(q|0)){while(1){h=h-4|0;q=q-4|0;J[h>>2]=J[q>>2];if((e|0)!=(q|0)){continue}break}}q=b+(d<<2)|0;J[c+8>>2]=q;J[c+4>>2]=r;J[c>>2]=h;if(e){na(e)}}f=f+1|0;b=J[a+80>>2];if(f>>>0>>0){continue}break}if((b|0)!=(u|0)){da[J[J[a>>2]+24>>2]](a,c+16|0,c);J[a+80>>2]=u}a=J[c>>2];if(!a){break d}J[c+4>>2]=a;na(a)}a=J[c+16>>2];if(a){J[c+20>>2]=a;na(a)}f=J[c+40>>2];if(f){while(1){a=J[f>>2];na(f);f=a;if(f){continue}break}}a=J[c+32>>2];J[c+32>>2]=0;if(a){na(a)}ba=c- -64|0;return}qa();B()}xa();B()}qa();B()}function hb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0,n=Q(0),o=0;a:{if(!d){break a}b:{c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=H[b|0];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=I[b>>1];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=L[b>>1];J[e+4>>2]=0;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=J[b>>2];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=0;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=J[b+4>>2];e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=J[b>>2];i=J[b+4>>2];if((i|0)<0){break a}j=(g<<3)+d|0;J[j>>2]=e;J[j+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=K[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break d}if(K[a+32|0]){break a}e=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=N[g>>2];if(k>=Q(0x8000000000000000)|k=Q(1)?~~(k>Q(0)?Q(T(Q(V(Q(k*Q(2.3283064365386963e-10)))),Q(4294967296))):Q(W(Q(Q(k-Q(~~k>>>0>>>0))*Q(2.3283064365386963e-10)))))>>>0:0;m=~~k>>>0;break e}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=K[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break f}if(K[a+32|0]){break a}e=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){l=O[g>>3];if(l>=0x8000000000000000|l<-0x8000000000000000|l!=l){break a}o=R(l);if(o==Infinity){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){j=R(l)>=1?~~(l>0?T(V(l*2.3283064365386963e-10),4294967295):W((l-+(~~l>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~l>>>0;break g}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=Hl(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}pa(d,0,a<<3)}}function ak(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=ba-16|0;ba=e;f=J[a+48>>2];b=oa(32);J[e>>2]=b;J[e+4>>2]=20;J[e+8>>2]=-2147483616;c=K[1359]|K[1360]<<8|(K[1361]<<16|K[1362]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1355]|K[1356]<<8|(K[1357]<<16|K[1358]<<24);d=K[1351]|K[1352]<<8|(K[1353]<<16|K[1354]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1347]|K[1348]<<8|(K[1349]<<16|K[1350]<<24);d=K[1343]|K[1344]<<8|(K[1345]<<16|K[1346]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+20|0]=0;f=Lf(f+24|0,e);if(H[e+11|0]<0){na(J[e>>2])}g=J[a+48>>2];b=oa(32);J[e>>2]=b;J[e+4>>2]=22;J[e+8>>2]=-2147483616;c=K[1338]|K[1339]<<8|(K[1340]<<16|K[1341]<<24);d=K[1334]|K[1335]<<8|(K[1336]<<16|K[1337]<<24);H[b+14|0]=d;H[b+15|0]=d>>>8;H[b+16|0]=d>>>16;H[b+17|0]=d>>>24;H[b+18|0]=c;H[b+19|0]=c>>>8;H[b+20|0]=c>>>16;H[b+21|0]=c>>>24;c=K[1332]|K[1333]<<8|(K[1334]<<16|K[1335]<<24);d=K[1328]|K[1329]<<8|(K[1330]<<16|K[1331]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1324]|K[1325]<<8|(K[1326]<<16|K[1327]<<24);d=K[1320]|K[1321]<<8|(K[1322]<<16|K[1323]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+22|0]=0;g=Lf(g+24|0,e);if(H[e+11|0]<0){na(J[e>>2])}b=J[a+64>>2];J[a+64>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}b=J[a+56>>2];h=J[b+100>>2];i=J[a+48>>2];j=J[b+96>>2];b=oa(32);J[e>>2]=b;J[e+4>>2]=18;J[e+8>>2]=-2147483616;c=K[1566]|K[1567]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1562]|K[1563]<<8|(K[1564]<<16|K[1565]<<24);d=K[1558]|K[1559]<<8|(K[1560]<<16|K[1561]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1554]|K[1555]<<8|(K[1556]<<16|K[1557]<<24);d=K[1550]|K[1551]<<8|(K[1552]<<16|K[1553]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;b=Bb(i,e,-1);if(H[e+11|0]<0){na(J[e>>2])}c=(h-j|0)/12|0;a:{b:{c:{d:{e:{f:{g:{h:{switch(b+1|0){case 1:break f;case 3:break g;case 0:break h;default:break c}}if(!f){break g}if(c>>>0<1e3|(cb(J[a+48>>2])|0)>4|g^1){break e}}b=J[a+44>>2];H[e|0]=2;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],e,e+1|0)}b=oa(360);J[b+4>>2]=0;J[b+8>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b>>2]=10584;J[b+12>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+88>>2]=0;J[b+92>>2]=0;J[b+96>>2]=0;J[b+100>>2]=0;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=1065353216;J[b+156>>2]=0;J[b+160>>2]=0;J[b+148>>2]=0;J[b+152>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+164>>2]=-1;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;c=b+200|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=b+232|0;J[c>>2]=0;J[c+4>>2]=0;H[c+24|0]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[b+304>>2]=0;J[b+308>>2]=0;J[b+296>>2]=0;J[b+300>>2]=0;J[b+288>>2]=0;J[b+292>>2]=0;J[b+280>>2]=0;J[b+284>>2]=0;J[b+272>>2]=0;J[b+276>>2]=0;J[b+264>>2]=0;J[b+268>>2]=0;H[b+352|0]=0;J[b+344>>2]=0;J[b+336>>2]=0;J[b+340>>2]=0;J[b+328>>2]=2;J[b+332>>2]=7;J[b+320>>2]=-1;J[b+324>>2]=0;J[b+312>>2]=0;J[b+316>>2]=-1;break d}if(!f){break c}}b=J[a+44>>2];H[e|0]=0;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],e,e+1|0)}b=oa(296);J[b+4>>2]=0;J[b+8>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b>>2]=10532;J[b+12>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+88>>2]=0;J[b+92>>2]=0;J[b+96>>2]=0;J[b+100>>2]=0;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=1065353216;J[b+156>>2]=0;J[b+160>>2]=0;J[b+148>>2]=0;J[b+152>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+164>>2]=-1;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;c=b+200|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=b+232|0;J[c>>2]=0;J[c+4>>2]=0;H[c+24|0]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;H[b+288|0]=0;J[b+280>>2]=0;J[b+284>>2]=0;J[b+272>>2]=0;J[b+276>>2]=0;J[b+264>>2]=0;J[b+268>>2]=0}c=J[a+64>>2];J[a+64>>2]=b;if(!c){break b}da[J[J[c>>2]+4>>2]](c)}b=J[a+64>>2];if(b){break b}a=0;break a}a=da[J[J[b>>2]+8>>2]](b,a)|0}ba=e+16|0;return a|0}function qh(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;i=ba-80|0;ba=i;f=-1;h=-1;a:{if((b|0)==-1){break a}h=b+1|0;f=(h>>>0)%3|0?h:b-2|0;h=b-1|0;if((b>>>0)%3|0){break a}h=b+2|0}e=J[a+36>>2];b=J[e>>2];b:{c:{d:{e:{f:{g:{e=J[e+4>>2]-b>>2;g=f<<2;f=J[J[a+32>>2]+28>>2];g=J[g+f>>2];if(e>>>0<=g>>>0){break g}h=J[f+(h<<2)>>2];if(h>>>0>=e>>>0){break g}h:{j=J[b+(h<<2)>>2];g=J[b+(g<<2)>>2];if((j|0)>=(d|0)|(g|0)>=(d|0)){break h}b=(j<<3)+c|0;z=J[b+4>>2];f=(g<<3)+c|0;h=J[f+4>>2];f=J[f>>2];C=J[b>>2];if(!((f|0)!=(C|0)|(h|0)!=(z|0))){J[a+8>>2]=f;J[a+12>>2]=h;break c}b=J[J[a+4>>2]+(d<<2)>>2];J[i+72>>2]=0;J[i+76>>2]=0;e=i- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}hb(e,b,H[e+24|0],i+56|0);b=J[J[a+4>>2]+(g<<2)>>2];J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}hb(e,b,H[e+24|0],i+32|0);b=J[J[a+4>>2]+(j<<2)>>2];J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}hb(e,b,H[e+24|0],i+8|0);b=J[i+16>>2];p=J[i+40>>2];u=b-p|0;N=J[i+44>>2];b=J[i+20>>2]-(N+(b>>>0

>>0)|0)|0;I=b;e=Hl(u,b,u,b);j=ca;b=J[i+8>>2];x=J[i+32>>2];D=b-x|0;O=J[i+36>>2];b=J[i+12>>2]-(O+(b>>>0>>0)|0)|0;L=b;k=e;e=Hl(D,b,D,b);b=k+e|0;k=ca+j|0;k=b>>>0>>0?k+1|0:k;e=J[i+24>>2];E=J[i+48>>2];F=e-E|0;P=J[i+52>>2];e=J[i+28>>2]-(P+(e>>>0>>0)|0)|0;M=e;m=b;b=Hl(F,e,F,e);o=m+b|0;e=ca+k|0;q=b>>>0>o>>>0?e+1|0:e;if(!(q|o)){break h}b=0;v=Jl(-1,2147483647,o,q);e=f;f=e>>31;G=f;r=e;e=f>>31;g=e;l=r^e;e=l-e|0;f=(f^g)-((g>>>0>l>>>0)+g|0)|0;g=f;f=h>>31;Q=f;s=h;h=f>>31;l=s^h;n=l-h|0;k=f>>31;h=(k^f)-((h>>>0>l>>>0)+k|0)|0;f=(h|0)==(g|0)&e>>>0>n>>>0|g>>>0>h>>>0;e=f?e:n;j=ca;h=f?g:h;if((j|0)==(h|0)&e>>>0>v>>>0|h>>>0>j>>>0){break b}j=J[i+64>>2];R=J[i+68>>2];h=Hl(j-p|0,R-((j>>>0

>>0)+N|0)|0,u,I);f=ca;l=J[i+56>>2];S=J[i+60>>2];e=Hl(l-x|0,S-((l>>>0>>0)+O|0)|0,D,L);h=e+h|0;g=ca+f|0;g=e>>>0>h>>>0?g+1|0:g;f=h;n=J[i+72>>2];T=J[i+76>>2];h=Hl(n-E|0,T-((n>>>0>>0)+P|0)|0,F,M);t=f+h|0;f=ca+g|0;f=h>>>0>t>>>0?f+1|0:f;v=f;e=f>>31;k=e^t;h=k-e|0;k=(e^f)-((e>>>0>k>>>0)+e|0)|0;f=C;C=f-r|0;f=(f>>31)-((f>>>0>>0)+G|0)|0;U=f;A=f>>31;m=A^C;g=m-A|0;e=f>>31;f=(e^f)-((m>>>0>>0)+e|0)|0;m=f;A=z-s|0;f=(z>>31)-((s>>>0>z>>>0)+Q|0)|0;z=f;e=g;W=e;w=f>>31;y=w^A;V=y-w|0;g=f>>31;f=(g^f)-((w>>>0>y>>>0)+g|0)|0;e=(m|0)==(f|0)&e>>>0>V>>>0|f>>>0>>0;f=Jl(-1,2147483647,e?W:V,e?m:f);e=ca;if((e|0)==(k|0)&f>>>0>>0|e>>>0>>0){break b}f=h;h=k;e=L>>31;g=e;m=e^D;e=m-e|0;g=(g^L)-((g>>>0>m>>>0)+g|0)|0;k=I>>31;w=k^u;y=w-k|0;k=(k^I)-((k>>>0>w>>>0)+k|0)|0;m=(g|0)==(k|0)&e>>>0>y>>>0|g>>>0>k>>>0;e=m?e:y;g=m?g:k;k=M>>31;m=e;w=k^F;y=w-k|0;k=(k^M)-((k>>>0>w>>>0)+k|0)|0;e=(g|0)==(k|0)&e>>>0>y>>>0|g>>>0>k>>>0;e=Jl(-1,2147483647,e?m:y,e?g:k);g=ca;if((g|0)==(h|0)&e>>>0>>0|g>>>0>>0){break b}b=Hl(t,v,A,z);h=ca;f=Hl(o,q,s,Q);s=f+b|0;b=ca+h|0;k=f>>>0>s>>>0?b+1|0:b;b=Hl(t,v,C,U);h=ca;f=b;b=Hl(r,G,o,q);r=f+b|0;e=ca+h|0;G=b>>>0>r>>>0?e+1|0:e;h=1;b=0;g=Il(Hl(t,v,u,I),ca,o,q);e=g+p|0;f=ca+N|0;f=e>>>0>>0?f+1|0:f;g=j-e|0;f=R-((e>>>0>j>>>0)+f|0)|0;j=Hl(g,f,g,f);p=ca;e=Il(Hl(t,v,D,L),ca,o,q);f=e+x|0;g=ca+O|0;g=e>>>0>f>>>0?g+1|0:g;e=l-f|0;f=S-((f>>>0>l>>>0)+g|0)|0;g=Hl(e,f,e,f);f=g+j|0;e=ca+p|0;e=f>>>0>>0?e+1|0:e;l=f;j=Il(Hl(t,v,F,M),ca,o,q);g=j+E|0;f=ca+P|0;f=g>>>0>>0?f+1|0:f;j=n-g|0;f=T-((g>>>0>n>>>0)+f|0)|0;j=Hl(j,f,j,f);f=j+l|0;g=ca+e|0;f=Hl(f,f>>>0>>0?g+1|0:g,o,q);e=ca;j=e;if(!e&f>>>0<=1){break f}l=f;while(1){g=b<<1|h>>>31;h=h<<1;b=g;n=!e&l>>>0>7|(e|0)!=0;l=(e&3)<<30|l>>>2;e=e>>>2|0;if(n){continue}break}break e}if((d|0)>(g|0)){b=g<<1}else{if((d|0)<=0){J[a+8>>2]=0;J[a+12>>2]=0;break c}b=(d<<1)-2|0}b=(b<<2)+c|0;J[a+8>>2]=J[b>>2];J[a+12>>2]=J[b+4>>2];break c}ra();B()}b=j;h=f;if(f-1|0){break d}}while(1){e=Jl(f,j,h,b);b=b+ca|0;g=h;h=e+h|0;b=g>>>0>h>>>0?b+1|0:b;h=(b&1)<<31|h>>>1;b=b>>>1|0;e=Hl(h,b,h,b);g=ca;if((j|0)==(g|0)&e>>>0>f>>>0|g>>>0>j>>>0){continue}break}}t=a+16|0;j=(d<<3)+c|0;d=J[j+4>>2];g=Hl(h,b,C,U);p=ca;c=Il(s-g|0,k-(p+(g>>>0>s>>>0)|0)|0,o,q);f=d-c|0;e=d>>31;l=e-(ca+(c>>>0>d>>>0)|0)|0;n=Hl(f,l,f,l);u=ca;j=J[j>>2];f=j>>31;v=f;l=Hl(h,b,A,z);x=ca;b=G+x|0;h=l+r|0;b=h>>>0>>0?b+1|0:b;m=n;h=Il(h,b,o,q);b=j-h|0;f=f-(ca+(h>>>0>j>>>0)|0)|0;n=Hl(b,f,b,f);b=m+n|0;f=ca+u|0;u=b;n=b>>>0>>0?f+1|0:f;f=e;e=k+p|0;b=g+s|0;e=b>>>0>>0?e+1|0:e;b=Il(b,e,o,q);e=d-b|0;d=f-(ca+(b>>>0>d>>>0)|0)|0;e=Hl(e,d,e,d);p=ca;d=Il(r-l|0,G-((l>>>0>r>>>0)+x|0)|0,o,q);f=j-d|0;g=v-(ca+(d>>>0>j>>>0)|0)|0;j=Hl(f,g,f,g);g=j+e|0;f=ca+p|0;f=g>>>0>>0?f+1|0:f;i:{if((f|0)==(n|0)&g>>>0>u>>>0|f>>>0>n>>>0){H[i+7|0]=1;Wc(t,i+7|0);break i}H[i+7|0]=0;Wc(t,i+7|0);c=b;h=d}J[a+8>>2]=h;J[a+12>>2]=c}b=1}ba=i+80|0;return b}function lh(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;i=ba-80|0;ba=i;h=-1;a:{if((b|0)==-1){break a}f=J[a+32>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){h=J[J[f>>2]+(e<<2)>>2]}e=((b>>>0)%3|0?-1:2)+b|0;b=-1;b=(e|0)!=-1?J[J[f>>2]+(e<<2)>>2]:b;e=J[a+36>>2];f=J[e>>2];e=J[e+4>>2]-f>>2;if(e>>>0<=h>>>0|b>>>0>=e>>>0){break a}b:{c:{d:{e:{f:{g:{j=J[f+(b<<2)>>2];g=J[f+(h<<2)>>2];if((j|0)>=(d|0)|(g|0)>=(d|0)){break g}b=(j<<3)+c|0;z=J[b+4>>2];f=(g<<3)+c|0;h=J[f+4>>2];f=J[f>>2];C=J[b>>2];if(!((f|0)!=(C|0)|(h|0)!=(z|0))){J[a+8>>2]=f;J[a+12>>2]=h;break c}b=J[J[a+4>>2]+(d<<2)>>2];J[i+72>>2]=0;J[i+76>>2]=0;e=i- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}hb(e,b,H[e+24|0],i+56|0);b=J[J[a+4>>2]+(g<<2)>>2];J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}hb(e,b,H[e+24|0],i+32|0);b=J[J[a+4>>2]+(j<<2)>>2];J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}hb(e,b,H[e+24|0],i+8|0);b=J[i+16>>2];p=J[i+40>>2];u=b-p|0;N=J[i+44>>2];b=J[i+20>>2]-(N+(b>>>0

>>0)|0)|0;I=b;e=Hl(u,b,u,b);j=ca;b=J[i+8>>2];x=J[i+32>>2];D=b-x|0;O=J[i+36>>2];b=J[i+12>>2]-(O+(b>>>0>>0)|0)|0;L=b;k=e;e=Hl(D,b,D,b);b=k+e|0;k=ca+j|0;k=b>>>0>>0?k+1|0:k;e=J[i+24>>2];E=J[i+48>>2];F=e-E|0;P=J[i+52>>2];e=J[i+28>>2]-(P+(e>>>0>>0)|0)|0;M=e;m=b;b=Hl(F,e,F,e);o=m+b|0;e=ca+k|0;q=b>>>0>o>>>0?e+1|0:e;if(!(q|o)){break g}b=0;v=Jl(-1,2147483647,o,q);e=f;f=e>>31;G=f;r=e;e=f>>31;g=e;l=r^e;e=l-e|0;f=(f^g)-((g>>>0>l>>>0)+g|0)|0;g=f;f=h>>31;Q=f;s=h;h=f>>31;l=s^h;n=l-h|0;k=f>>31;h=(k^f)-((h>>>0>l>>>0)+k|0)|0;f=(h|0)==(g|0)&e>>>0>n>>>0|g>>>0>h>>>0;e=f?e:n;j=ca;h=f?g:h;if((j|0)==(h|0)&e>>>0>v>>>0|h>>>0>j>>>0){break b}j=J[i+64>>2];R=J[i+68>>2];h=Hl(j-p|0,R-((j>>>0

>>0)+N|0)|0,u,I);f=ca;l=J[i+56>>2];S=J[i+60>>2];e=Hl(l-x|0,S-((l>>>0>>0)+O|0)|0,D,L);h=e+h|0;g=ca+f|0;g=e>>>0>h>>>0?g+1|0:g;f=h;n=J[i+72>>2];T=J[i+76>>2];h=Hl(n-E|0,T-((n>>>0>>0)+P|0)|0,F,M);t=f+h|0;f=ca+g|0;f=h>>>0>t>>>0?f+1|0:f;v=f;e=f>>31;k=e^t;h=k-e|0;k=(e^f)-((e>>>0>k>>>0)+e|0)|0;f=C;C=f-r|0;f=(f>>31)-((f>>>0>>0)+G|0)|0;U=f;A=f>>31;m=A^C;g=m-A|0;e=f>>31;f=(e^f)-((m>>>0>>0)+e|0)|0;m=f;A=z-s|0;f=(z>>31)-((s>>>0>z>>>0)+Q|0)|0;z=f;e=g;W=e;w=f>>31;y=w^A;V=y-w|0;g=f>>31;f=(g^f)-((w>>>0>y>>>0)+g|0)|0;e=(m|0)==(f|0)&e>>>0>V>>>0|f>>>0>>0;f=Jl(-1,2147483647,e?W:V,e?m:f);e=ca;if((e|0)==(k|0)&f>>>0>>0|e>>>0>>0){break b}f=h;h=k;e=L>>31;g=e;m=e^D;e=m-e|0;g=(g^L)-((g>>>0>m>>>0)+g|0)|0;k=I>>31;w=k^u;y=w-k|0;k=(k^I)-((k>>>0>w>>>0)+k|0)|0;m=(g|0)==(k|0)&e>>>0>y>>>0|g>>>0>k>>>0;e=m?e:y;g=m?g:k;k=M>>31;m=e;w=k^F;y=w-k|0;k=(k^M)-((k>>>0>w>>>0)+k|0)|0;e=(g|0)==(k|0)&e>>>0>y>>>0|g>>>0>k>>>0;e=Jl(-1,2147483647,e?m:y,e?g:k);g=ca;if((g|0)==(h|0)&e>>>0>>0|g>>>0>>0){break b}b=Hl(t,v,A,z);h=ca;f=Hl(o,q,s,Q);s=f+b|0;b=ca+h|0;k=f>>>0>s>>>0?b+1|0:b;b=Hl(t,v,C,U);h=ca;f=b;b=Hl(r,G,o,q);r=f+b|0;e=ca+h|0;G=b>>>0>r>>>0?e+1|0:e;h=1;b=0;g=Il(Hl(t,v,u,I),ca,o,q);e=g+p|0;f=ca+N|0;f=e>>>0>>0?f+1|0:f;g=j-e|0;f=R-((e>>>0>j>>>0)+f|0)|0;j=Hl(g,f,g,f);p=ca;e=Il(Hl(t,v,D,L),ca,o,q);f=e+x|0;g=ca+O|0;g=e>>>0>f>>>0?g+1|0:g;e=l-f|0;f=S-((f>>>0>l>>>0)+g|0)|0;g=Hl(e,f,e,f);f=g+j|0;e=ca+p|0;e=f>>>0>>0?e+1|0:e;l=f;j=Il(Hl(t,v,F,M),ca,o,q);g=j+E|0;f=ca+P|0;f=g>>>0>>0?f+1|0:f;j=n-g|0;f=T-((g>>>0>n>>>0)+f|0)|0;j=Hl(j,f,j,f);f=j+l|0;g=ca+e|0;f=Hl(f,f>>>0>>0?g+1|0:g,o,q);e=ca;j=e;if(!e&f>>>0<=1){break f}l=f;while(1){g=b<<1|h>>>31;h=h<<1;b=g;n=!e&l>>>0>7|(e|0)!=0;l=(e&3)<<30|l>>>2;e=e>>>2|0;if(n){continue}break}break e}if((d|0)>(g|0)){b=g<<1}else{if((d|0)<=0){J[a+8>>2]=0;J[a+12>>2]=0;break c}b=(d<<1)-2|0}b=(b<<2)+c|0;J[a+8>>2]=J[b>>2];J[a+12>>2]=J[b+4>>2];break c}b=j;h=f;if(f-1|0){break d}}while(1){e=Jl(f,j,h,b);b=b+ca|0;g=h;h=e+h|0;b=g>>>0>h>>>0?b+1|0:b;h=(b&1)<<31|h>>>1;b=b>>>1|0;e=Hl(h,b,h,b);g=ca;if((j|0)==(g|0)&e>>>0>f>>>0|g>>>0>j>>>0){continue}break}}t=a+16|0;j=(d<<3)+c|0;d=J[j+4>>2];g=Hl(h,b,C,U);p=ca;c=Il(s-g|0,k-(p+(g>>>0>s>>>0)|0)|0,o,q);f=d-c|0;e=d>>31;l=e-(ca+(c>>>0>d>>>0)|0)|0;n=Hl(f,l,f,l);u=ca;j=J[j>>2];f=j>>31;v=f;l=Hl(h,b,A,z);x=ca;b=G+x|0;h=l+r|0;b=h>>>0>>0?b+1|0:b;m=n;h=Il(h,b,o,q);b=j-h|0;f=f-(ca+(h>>>0>j>>>0)|0)|0;n=Hl(b,f,b,f);b=m+n|0;f=ca+u|0;u=b;n=b>>>0>>0?f+1|0:f;f=e;e=k+p|0;b=g+s|0;e=b>>>0>>0?e+1|0:e;b=Il(b,e,o,q);e=d-b|0;d=f-(ca+(b>>>0>d>>>0)|0)|0;e=Hl(e,d,e,d);p=ca;d=Il(r-l|0,G-((l>>>0>r>>>0)+x|0)|0,o,q);f=j-d|0;g=v-(ca+(d>>>0>j>>>0)|0)|0;j=Hl(f,g,f,g);g=j+e|0;f=ca+p|0;f=g>>>0>>0?f+1|0:f;h:{if((f|0)==(n|0)&g>>>0>u>>>0|f>>>0>n>>>0){H[i+7|0]=1;Wc(t,i+7|0);break h}H[i+7|0]=0;Wc(t,i+7|0);c=b;h=d}J[a+8>>2]=h;J[a+12>>2]=c}b=1}ba=i+80|0;return b}ra();B()}function Zc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=ba-16|0;ba=e;J[a+8>>2]=b;J[a>>2]=0;d=a+12|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=d+32|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+96|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+128|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+160|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+192|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+224|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+256|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+288|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+320|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+352|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+384|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+416|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+448|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+480|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+512|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+544|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+576|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+608|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+640|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+672|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+704|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+736|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+768|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+800|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+832|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+864|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+896|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+928|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+960|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;d=d+992|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1036|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1068|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1088|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1108|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[a+1136>>2]=0;J[a+1128>>2]=0;J[a+1132>>2]=0;h=a+1164|0;a:{b:{if(b){if(b>>>0<1073741824){break b}qa();B()}J[a+1140>>2]=0;J[a+1144>>2]=0;d=a+1156|0;J[d>>2]=0;J[d+4>>2]=0;d=a+1148|0;J[d>>2]=0;J[d+4>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;d=1;break a}d=b<<2;c=oa(d);J[a+1128>>2]=c;f=c+d|0;J[a+1136>>2]=f;pa(c,0,d);g=a+1148|0;J[g>>2]=0;J[a+1140>>2]=0;J[a+1144>>2]=0;J[a+1132>>2]=f;c=oa(d);J[a+1140>>2]=c;f=c+d|0;J[g>>2]=f;pa(c,0,d);g=a+1160|0;J[g>>2]=0;J[a+1152>>2]=0;J[a+1156>>2]=0;J[a+1144>>2]=f;c=oa(d);J[a+1152>>2]=c;f=c+d|0;J[g>>2]=f;pa(c,0,d);J[a+1156>>2]=f;c=oa(d);J[e>>2]=c;f=c+d|0;J[e+8>>2]=f;pa(c,0,d);J[e+4>>2]=f;d=b<<5|1}Jb(h,d,e);c=J[e>>2];if(c){J[e+4>>2]=c;na(c)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;c=oa(b);J[e>>2]=c;f=b+c|0;J[e+8>>2]=f;pa(c,0,b);J[e+4>>2]=f}Jb(a+1176|0,d,e);b=J[e>>2];if(b){J[e+4>>2]=b;na(b)}ba=e+16|0;return a}function Xf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{if(J[a+92>>2]==J[a+88>>2]){break e}c=J[a+52>>2];f:{if((c|0)!=J[a+56>>2]){J[c>>2]=b;J[a+52>>2]=c+4;break f}h=J[a+48>>2];g=c-h|0;d=g>>2;f=d+1|0;if(f>>>0>=1073741824){break a}e=g>>>1|0;g=g>>>0>=2147483644?1073741823:f>>>0>>0?e:f;if(g){if(g>>>0>=1073741824){break d}e=oa(g<<2)}else{e=0}f=e+(d<<2)|0;J[f>>2]=b;d=f+4|0;if((c|0)!=(h|0)){while(1){f=f-4|0;c=c-4|0;J[f>>2]=J[c>>2];if((c|0)!=(h|0)){continue}break}}J[a+56>>2]=e+(g<<2);J[a+52>>2]=d;J[a+48>>2]=f;if(!h){break f}na(h)}J[a+84>>2]=0;c=-1;e=-1;g:{if((b|0)==-1){break g}d=J[a+4>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){c=J[J[d>>2]+(e<<2)>>2]}h:{if((b>>>0)%3|0){l=b-1|0;break h}l=b+2|0;e=-1;if((l|0)==-1){break g}}e=J[J[d>>2]+(l<<2)>>2]}i=e>>>3&536870908;d=J[a+36>>2];h=d+(c>>>3&536870908)|0;g=J[h>>2];f=1<>2]=f|g;f=a+8|0;if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}else{d=-1}mb(f,c,d);d=J[a+36>>2]}f=d+i|0;d=J[f>>2];c=1<>2]=c|d;d=a+8|0;c=-1;i:{if((b|0)==-1){break i}c=b-1|0;if((b>>>0)%3|0){break i}c=b+2|0}mb(d,e,c)}c=-1;c=(b|0)!=-1?J[J[J[a+4>>2]>>2]+(b<<2)>>2]:c;f=J[a+36>>2]+(c>>>3&536870908)|0;d=J[f>>2];e=1<>2]=d|e;mb(a+8|0,c,b)}d=J[a+84>>2];if((d|0)>2){break e}while(1){e=P(d,12)+a|0;b=J[e+52>>2];if((b|0)==J[e+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}b=b-4|0;c=J[b>>2];J[e+52>>2]=b;J[a+84>>2]=d;if((c|0)==-1){break e}f=J[a+24>>2];b=(c>>>0)/3|0;j:{if(J[f+(b>>>3&268435452)>>2]>>>b&1){break j}k:{while(1){k=(c>>>0)/3|0;b=(k>>>3&268435452)+f|0;J[b>>2]=J[b>>2]|1<>2]>>2]+(c<<2)>>2]:d;f=J[a+36>>2]+(d>>>3&536870908)|0;e=J[f>>2];b=1<>2]=b|e;i=J[(J[J[a+16>>2]+96>>2]+P(k,12)|0)+((c>>>0)%3<<2)>>2];l=J[J[a+20>>2]+4>>2];f=J[l+4>>2];t:{if((f|0)!=J[l+8>>2]){J[f>>2]=i;J[l+4>>2]=f+4;break t}j=J[l>>2];h=f-j|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break s}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=oa(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=i;g=b+4|0;if((f|0)!=(j|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(j|0)){continue}break}}J[l+8>>2]=e+(h<<2);J[l+4>>2]=g;J[l>>2]=b;if(!j){break t}na(j)}j=J[a+12>>2];f=J[j+4>>2];u:{if((f|0)!=J[j+8>>2]){J[f>>2]=c;J[j+4>>2]=f+4;break u}i=J[j>>2];h=f-i|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break r}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=oa(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=c;g=b+4|0;if((f|0)!=(i|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(i|0)){continue}break}}J[j+8>>2]=e+(h<<2);J[j+4>>2]=g;J[j>>2]=b;if(!i){break u}na(i)}b=J[a+12>>2];J[J[b+12>>2]+(d<<2)>>2]=J[b+24>>2];J[b+24>>2]=J[b+24>>2]+1}if((c|0)==-1){break k}g=J[a+4>>2];f=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){f=J[J[g+12>>2]+(b<<2)>>2]}v:{w:{if((P(k,3)|0)!=(c|0)){d=c-1|0;break w}d=c+2|0;c=-1;if((d|0)==-1){break v}}c=J[J[g+12>>2]+(d<<2)>>2]}d=(c|0)==-1;e=(c>>>0)/3|0;if((f|0)!=-1){b=(f>>>0)/3|0;b=J[J[a+24>>2]+(b>>>3&268435452)>>2]&1<>2]+(b>>>3&536870908)>>2]>>>b&1){break x}k=0;b=J[J[g>>2]+(c<<2)>>2];if(!(J[J[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=J[a+88>>2]+(b<<2)|0;e=J[b>>2];J[b>>2]=e+1;k=(e|0)<=0?2:1}if(J[a+84>>2]>=(k|0)&l){break m}j=P(k,12)+a|0;b=J[j+52>>2];y:{if((b|0)!=J[j+56>>2]){J[b>>2]=c;J[j+52>>2]=b+4;break y}i=J[j+48>>2];h=b-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break c}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=oa(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=c;c=d+4|0;if((b|0)!=(i|0)){while(1){d=d-4|0;b=b-4|0;J[d>>2]=J[b>>2];if((b|0)!=(i|0)){continue}break}}J[j+48>>2]=d;J[j+52>>2]=c;J[j+56>>2]=e+(g<<2);if(!i){break y}na(i)}if(J[a+84>>2]<=(k|0)){break x}J[a+84>>2]=k}if(l){break k}c=-1;if((f|0)==-1){break n}}c=J[J[J[a+4>>2]>>2]+(f<<2)>>2]}b=0;if(!(J[J[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){b=J[a+88>>2]+(c<<2)|0;c=J[b>>2];J[b>>2]=c+1;b=(c|0)<=0?2:1}if(J[a+84>>2]<(b|0)){break l}c=f}f=J[a+24>>2];continue}break}k=P(b,12)+a|0;c=J[k+52>>2];z:{if((c|0)!=J[k+56>>2]){J[c>>2]=f;J[k+52>>2]=c+4;break z}i=J[k+48>>2];h=c-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break b}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=oa(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=f;f=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[k+48>>2]=d;J[k+52>>2]=f;J[k+56>>2]=e+(g<<2);if(!i){break z}na(i)}d=J[a+84>>2];if((d|0)<=(b|0)){break j}J[a+84>>2]=b;d=b;break j}d=J[a+84>>2]}if((d|0)<3){continue}break}}return 1}xa();B()}qa();B()}qa();B()}qa();B()}function Ha(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=ba-16|0;ba=e;J[e+12>>2]=a;a:{if(a>>>0<=211){d=J[Ke(17792,17984,e+12|0)>>2];break a}if(a>>>0>=4294967292){Z();B()}f=(a>>>0)/210|0;d=P(f,210);J[e+8>>2]=a-d;g=Ke(17984,18176,e+8|0)-17984>>2;while(1){d=J[(g<<2)+17984>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0>>0){break a}if((P(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((P(b,c)|0)!=(d|0)){continue}break}break b}b=J[(a<<2)+17792>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((P(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=P(f,210);continue}}ba=e+16|0;return d}function Hd(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,n=0,o=0,p=Q(0),q=0,r=0,s=0,t=0,u=Q(0);f=ba-112|0;ba=f;J[f+88>>2]=0;J[f+92>>2]=0;J[f+80>>2]=0;J[f+84>>2]=0;J[f+96>>2]=1065353216;c=J[a+80>>2];J[f+40>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}h=c<<2;l=oa(h);J[f+32>>2]=l;c=h+l|0;J[f+40>>2]=c;pa(l,0,h);J[f+36>>2]=c;while(1){d=J[J[b>>2]>>2];h=J[b+48>>2];c=Hl(J[b+40>>2],J[b+44>>2],o,0);j=c;c=c+h|0;e=c+d|0;c=K[e+12|0]|K[e+13|0]<<8|(K[e+14|0]<<16|K[e+15|0]<<24);J[f+72>>2]=K[e+8|0]|K[e+9|0]<<8|(K[e+10|0]<<16|K[e+11|0]<<24);J[f+76>>2]=c;c=K[e+4|0]|K[e+5|0]<<8|(K[e+6|0]<<16|K[e+7|0]<<24);J[f+64>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+68>>2]=c;k=K[e+12|0]|K[e+13|0]<<8|(K[e+14|0]<<16|K[e+15|0]<<24);h=K[e+8|0]|K[e+9|0]<<8|(K[e+10|0]<<16|K[e+11|0]<<24);J[f+56>>2]=h;J[f+60>>2]=k;d=K[e+4|0]|K[e+5|0]<<8|(K[e+6|0]<<16|K[e+7|0]<<24);c=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+48>>2]=c;J[f+52>>2]=d;J[f+16>>2]=h;J[f+20>>2]=k;J[f+8>>2]=c;J[f+12>>2]=d;J[f+24>>2]=q;c=0;m=f+8|0;h=J[m+12>>2]^(J[m+8>>2]^(J[m+4>>2]^(J[m>>2]^318)+239)+239)+239;b:{c:{n=f+80|0;j=J[n+4>>2];if(!j){break c}d=Kl(j);d:{if(d>>>0>=2){c=h;if(c>>>0>=j>>>0){c=(h>>>0)%(j>>>0)|0}i=J[J[n>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}k=J[m+12>>2];r=J[m+8>>2];s=J[m+4>>2];e=J[m>>2];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(h|0)){if(d>>>0>=j>>>0){d=(d>>>0)%(j>>>0)|0}if((c|0)!=(d|0)){break c}}d=J[i+8>>2];e:{if((d|0)!=(e|0)){d=(d|0)==(e|0);break e}d=J[i+12>>2];if((d|0)!=(s|0)){d=(d|0)==(s|0);break e}d=J[i+16>>2];if((d|0)!=(r|0)){d=(d|0)==(r|0);break e}d=(k|0)==J[i+20>>2]}if(!d){continue}break}c=0;break b}c=h&j-1;i=J[J[n>>2]+(c<<2)>>2];if(!i){break c}}e=j-1|0;k=J[m+12>>2];t=J[m+8>>2];r=J[m+4>>2];s=J[m>>2];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(h|0)&(d&e)!=(c|0)){break c}d=J[i+8>>2];f:{if((d|0)!=(s|0)){d=(d|0)==(s|0);break f}d=J[i+12>>2];if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=J[i+16>>2];if((d|0)!=(t|0)){d=(d|0)==(t|0);break f}d=(k|0)==J[i+20>>2]}if(!d){continue}break}c=0;break b}i=oa(28);d=J[m+12>>2];J[i+16>>2]=J[m+8>>2];J[i+20>>2]=d;d=J[m+4>>2];J[i+8>>2]=J[m>>2];J[i+12>>2]=d;d=J[m+16>>2];J[i>>2]=0;J[i+4>>2]=h;J[i+24>>2]=d;p=Q(J[n+12>>2]+1>>>0);u=N[n+16>>2];g:{if(p>Q(u*Q(j>>>0))?0:j){break g}c=2;d=(j-1&j)!=0|j>>>0<3|j<<1;p=Q(W(Q(p/u)));h:{if(p=Q(0)){k=~~p>>>0;break h}k=0}d=d>>>0>k>>>0?d:k;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=Ha(d);j=J[n+4>>2]}j:{if(c>>>0<=j>>>0){if(c>>>0>=j>>>0){break j}k=j>>>0<3;p=Q(W(Q(Q(M[n+12>>2])/N[n+16>>2])));k:{if(p=Q(0)){d=~~p>>>0;break k}d=0}l:{m:{if(k){break m}if(Kl(j)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(j>>>0<=c>>>0){break j}}db(n,c)}j=J[n+4>>2];c=j-1|0;if(!(c&j)){c=c&h;break g}if(h>>>0>>0){c=h;break g}c=(h>>>0)%(j>>>0)|0}h=J[n>>2]+(c<<2)|0;c=J[h>>2];n:{o:{if(!c){c=n+8|0;J[i>>2]=J[c>>2];J[n+8>>2]=i;J[h>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];h=j-1|0;p:{if(!(h&j)){c=c&h;break p}if(c>>>0>>0){break p}c=(c>>>0)%(j>>>0)|0}c=J[n>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[n+12>>2]=J[n+12>>2]+1;c=1}H[f+108|0]=c;J[f+104>>2]=i;q:{if(!K[f+108|0]){J[(o<<2)+l>>2]=J[J[f+104>>2]+24>>2];break q}c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,q)|0,f- -64|0,c);l=J[f+32>>2];J[l+(o<<2)>>2]=q;q=q+1|0}o=o+1|0;g=o?g:g+1|0;e=J[a+80>>2];if(!g&o>>>0>>0){continue}break}if((e|0)!=(q|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];e=J[a+68>>2];if((b|0)==(e|0)){break r}b=b-e>>2;g=b>>>0<=1?1:b;h=g&3;c=0;b=0;if(g-1>>>0>=3){o=g&-4;k=0;while(1){d=b<<2;g=d+e|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];g=e+(d|4)|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];g=e+(d|8)|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];g=e+(d|12)|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];b=b+4|0;k=k+4|0;if((o|0)!=(k|0)){continue}break}}if(!h){break r}while(1){g=e+(b<<2)|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];b=b+1|0;c=c+1|0;if((h|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;g=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){Ma(g,e-c|0,2176);e=J[a+80>>2];break s}if(c>>>0<=e>>>0){break s}J[a+72>>2]=b+(e<<2)}if(!e){break r}d=J[g>>2];c=0;b=0;if(e>>>0>=4){o=e&-4;k=0;while(1){h=b<<2;J[h+d>>2]=J[h+l>>2];g=h|4;J[g+d>>2]=J[g+l>>2];g=h|8;J[g+d>>2]=J[g+l>>2];g=h|12;J[g+d>>2]=J[g+l>>2];b=b+4|0;k=k+4|0;if((o|0)!=(k|0)){continue}break}}o=e&3;if(!o){break r}while(1){g=b<<2;J[g+d>>2]=J[g+l>>2];b=b+1|0;c=c+1|0;if((o|0)!=(c|0)){continue}break}}J[a+80>>2]=q}na(l)}b=J[f+88>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[f+80>>2];J[f+80>>2]=0;if(a){na(a)}ba=f+112|0;return q}qa();B()}function ll(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=ba-32|0;ba=h;a:{b:{if(!J[J[a+8>>2]+80>>2]){e=1;break b}H[h+31|0]=254;d=J[a+36>>2];if(d){if(!(da[J[J[a>>2]+40>>2]](a,d)|0)){break b}d=J[a+36>>2];n=h,o=da[J[J[d>>2]+8>>2]](d)|0,H[n+31|0]=o}d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){sa(c,J[c+4>>2],h+31|0,h+32|0)}d=J[a+36>>2];c:{if(!d){break c}n=h,o=da[J[J[d>>2]+36>>2]](d)|0,H[n+16|0]=o;d=J[c+20>>2];if(!!J[c+16>>2]&(d|0)>=0|(d|0)>0){break c}sa(c,J[c+4>>2],h+16|0,h+17|0)}d=J[a+32>>2];e=J[d+48>>2];f=J[J[d>>2]>>2];g=J[d+80>>2];k=K[d+24|0];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;g=P(g,k);if(g){if(g>>>0>=1073741824){break a}d=g<<2;i=oa(d);pa(i,0,d)}d=e+f|0;f=J[a+36>>2];d:{e:{f:{if(!f){break f}e=0;if(!(da[J[J[f>>2]+44>>2]](f,d,i,g,k,J[b>>2])|0)){break d}e=J[a+36>>2];if(!e){break f}if(da[J[J[e>>2]+32>>2]](e)|0){break e}d=J[a+36>>2]?i:d}e=0;f=0;g:{if((g|0)<=0){break g}if((g|0)!=1){m=g&-2;while(1){l=e<<2;j=J[l+d>>2];J[i+l>>2]=(j|0)<0?(j^-1)<<1|1:j<<1;l=l|4;j=J[l+d>>2];J[i+l>>2]=(j|0)<0?(j^-1)<<1|1:j<<1;e=e+2|0;f=f+2|0;if((m|0)!=(f|0)){continue}break}}if(!(g&1)){break g}e=e<<2;d=J[e+d>>2];J[e+i>>2]=(d|0)<0?(d^-1)<<1|1:d<<1}}h:{i:{j:{k:{d=J[a+4>>2];if(!d){break k}j=J[d+48>>2];d=oa(48);J[h>>2]=d;J[h+4>>2]=34;J[h+8>>2]=-2147483600;e=K[1411]|K[1412]<<8;H[d+32|0]=e;H[d+33|0]=e>>>8;e=K[1407]|K[1408]<<8|(K[1409]<<16|K[1410]<<24);f=K[1403]|K[1404]<<8|(K[1405]<<16|K[1406]<<24);H[d+24|0]=f;H[d+25|0]=f>>>8;H[d+26|0]=f>>>16;H[d+27|0]=f>>>24;H[d+28|0]=e;H[d+29|0]=e>>>8;H[d+30|0]=e>>>16;H[d+31|0]=e>>>24;e=K[1399]|K[1400]<<8|(K[1401]<<16|K[1402]<<24);f=K[1395]|K[1396]<<8|(K[1397]<<16|K[1398]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=e;H[d+21|0]=e>>>8;H[d+22|0]=e>>>16;H[d+23|0]=e>>>24;e=K[1391]|K[1392]<<8|(K[1393]<<16|K[1394]<<24);f=K[1387]|K[1388]<<8|(K[1389]<<16|K[1390]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1383]|K[1384]<<8|(K[1385]<<16|K[1386]<<24);f=K[1379]|K[1380]<<8|(K[1381]<<16|K[1382]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;H[d+34|0]=0;d=Pb(j,h,1);if(H[h+11|0]<0){na(J[h>>2])}if(d){break k}if(!g){break j}d=0;e=0;b=0;if(g>>>0>=4){j=g&-4;f=0;while(1){k=e<<2;b=J[(k|12)+i>>2]|(J[(k|8)+i>>2]|(J[(k|4)+i>>2]|(J[i+k>>2]|b)));e=e+4|0;f=f+4|0;if((j|0)!=(f|0)){continue}break}}f=g&3;if(f){while(1){b=J[(e<<2)+i>>2]|b;e=e+1|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}if(!b){break j}d=4-(S(b)>>>3|0)|0;break i}H[h|0]=1;d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){sa(c,J[c+4>>2],h,h+1|0)}J[h>>2]=h|4;J[h+4>>2]=0;J[h+8>>2]=0;d=J[a+4>>2];if(d){j=10-cb(J[d+48>>2])|0;e=ba-16|0;ba=e;l:{if(j>>>0>10){break l}d=oa(48);J[e>>2]=d;J[e+4>>2]=33;J[e+8>>2]=-2147483600;H[d+32|0]=K[1470];g=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);f=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[d+24|0]=f;H[d+25|0]=f>>>8;H[d+26|0]=f>>>16;H[d+27|0]=f>>>24;H[d+28|0]=g;H[d+29|0]=g>>>8;H[d+30|0]=g>>>16;H[d+31|0]=g>>>24;g=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);f=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=g;H[d+21|0]=g>>>8;H[d+22|0]=g>>>16;H[d+23|0]=g>>>24;g=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);f=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=g;H[d+13|0]=g>>>8;H[d+14|0]=g>>>16;H[d+15|0]=g>>>24;g=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);f=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=g;H[d+5|0]=g>>>8;H[d+6|0]=g>>>16;H[d+7|0]=g>>>24;H[d+33|0]=0;vb(h,e,j);if(H[e+11|0]>=0){break l}na(J[e>>2])}ba=e+16|0}b=ee(i,P(k,J[b+4>>2]-J[b>>2]>>2),k,h,c);Da(h,J[h+4>>2]);e=0;if(b){break h}break d}d=1}H[h|0]=0;b=J[c+20>>2];m:{if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){break m}e=h+1|0;sa(c,J[c+4>>2],h,e);f=J[c+16>>2];b=J[c+20>>2];H[h|0]=d;if(!!f&(b|0)>=0|(b|0)>0){break m}sa(c,J[c+4>>2],h,e)}n:{if((d|0)!=J[3712]){if(!g){break h}e=J[c+20>>2];f=e;b=J[c+16>>2];if(!!b&(e|0)>=0|(e|0)>0){break h}e=0;break n}b=J[c+20>>2];if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){break h}sa(c,J[c+4>>2],i,(g<<2)+i|0);break h}while(1){if(!b&(f|0)<=0|(f|0)<0){b=(e<<2)+i|0;sa(c,J[c+4>>2],b,b+d|0)}e=e+1|0;if((g|0)==(e|0)){break h}b=J[c+16>>2];f=J[c+20>>2];continue}}e=1;a=J[a+36>>2];if(!a){break d}da[J[J[a>>2]+40>>2]](a,c)|0}if(!i){break b}na(i)}ba=h+32|0;return e|0}qa();B()}function Ea(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=ba-96|0;ba=k;u=i&65535;o=(e^i)&-2147483648;q=e&65535;z=q;Q=i>>>16&32767;R=e>>>16&32767;a:{b:{if(Q-32767>>>0>4294934529&R-32767>>>0>=4294934530){break b}s=e&2147483647;r=s;j=d;if(!(!d&(r|0)==2147418112?!(b|c):r>>>0<2147418112)){m=d;o=e|32768;break a}s=i&2147483647;p=s;e=h;if(!(!e&(p|0)==2147418112?!(f|g):p>>>0<2147418112)){m=h;o=i|32768;b=f;c=g;break a}if(!(b|j|(r^2147418112|c))){if(!(e|f|(g|p))){o=2147450880;b=0;c=0;break a}o=o|2147418112;b=0;c=0;break a}if(!(e|f|(p^2147418112|g))){e=b|j;d=c|r;b=0;c=0;if(!(d|e)){o=2147450880;break a}o=o|2147418112;break a}if(!(b|j|(c|r))){b=0;c=0;break a}if(!(e|f|(g|p))){b=0;c=0;break a}if((r|0)==65535|r>>>0<65535){j=!(d|q);i=j?b:d;s=j<<6;e=S(i)+32|0;i=S(j?c:q);i=s+((i|0)==32?e:i)|0;Pa(k+80|0,b,c,d,q,i-15|0);t=16-i|0;d=J[k+88>>2];z=J[k+92>>2];c=J[k+84>>2];b=J[k+80>>2]}if(p>>>0>65535){break b}i=!(h|u);e=i?f:h;q=i<<6;j=S(e)+32|0;e=S(i?g:u);e=q+((e|0)==32?j:e)|0;Pa(k- -64|0,f,g,h,u,e-15|0);t=(t-e|0)+16|0;h=J[k+72>>2];u=J[k+76>>2];f=J[k+64>>2];g=J[k+68>>2]}e=f;f=g<<15|f>>>17;i=e<<15;e=0;v=i&-32768;K=c;s=Hl(v,e,c,0);e=ca;y=e;L=f;r=b;b=Hl(f,0,b,0);i=b+s|0;f=ca+e|0;c=b>>>0>i>>>0?f+1|0:f;j=0;b=Hl(r,l,v,l);p=j+b|0;f=i;e=f+ca|0;e=b>>>0>p>>>0?e+1|0:e;q=e;M=(f|0)==(e|0)&j>>>0>p>>>0|e>>>0>>0;N=d;w=Hl(v,l,d,0);O=ca;b=Hl(K,l,L,l);x=b+w|0;j=ca+O|0;j=b>>>0>x>>>0?j+1|0:j;b=u<<15|h>>>17;A=h<<15|g>>>17;d=Hl(A,0,r,l);B=d+x|0;f=ca+j|0;f=d>>>0>B>>>0?f+1|0:f;C=f;d=(c|0)==(y|0)&i>>>0>>0|c>>>0>>0;D=c+B|0;f=d+f|0;f=c>>>0>D>>>0?f+1|0:f;u=f;g=D;c=f;E=z|65536;z=Hl(v,l,E,n);P=ca;d=Hl(N,m,L,l);F=d+z|0;e=ca+P|0;e=d>>>0>F>>>0?e+1|0:e;i=e;G=b|-2147483648;b=Hl(G,0,r,l);H=b+F|0;f=ca+e|0;f=b>>>0>H>>>0?f+1|0:f;b=Hl(A,m,K,l);y=b+H|0;I=f;f=f+ca|0;s=b>>>0>y>>>0?f+1|0:f;b=0;r=b+g|0;e=c+y|0;v=b>>>0>r>>>0?e+1|0:e;f=v;b=r+M|0;c=b>>>0>>0?f+1|0:f;t=((R+Q|0)+t|0)-16383|0;d=Hl(G,m,K,l);h=ca;e=Hl(E,m,L,l);g=e+d|0;f=ca+h|0;f=e>>>0>g>>>0?f+1|0:f;n=(h|0)==(f|0)&d>>>0>g>>>0|f>>>0>>0;h=f;e=Hl(A,m,N,m);d=e+g|0;f=ca+f|0;f=d>>>0>>0?f+1|0:f;e=f;g=(f|0)==(h|0)&d>>>0>>0|f>>>0>>0;f=0;h=g;g=g+n|0;f=h>>>0>g>>>0?1:f;h=g;g=Hl(G,m,E,m);h=h+g|0;f=ca+f|0;M=h;g=g>>>0>h>>>0?f+1|0:f;h=d;l=e;e=(j|0)==(O|0)&w>>>0>x>>>0|j>>>0>>0;f=0;j=(j|0)==(C|0)&x>>>0>B>>>0|j>>>0>C>>>0;n=j;j=e+j|0;e=(n>>>0>j>>>0?1:f)+l|0;f=g;d=d+j|0;e=d>>>0>>0?e+1|0:e;n=e;w=d;d=(e|0)==(l|0)&d>>>0>>0|e>>>0>>0;e=d;d=d+M|0;f=e>>>0>d>>>0?f+1|0:f;j=d;g=f;e=Hl(A,m,E,m);l=ca;d=Hl(G,m,N,m);h=d+e|0;f=ca+l|0;f=d>>>0>h>>>0?f+1|0:f;d=f;f=(l|0)==(f|0)&e>>>0>h>>>0|f>>>0>>0;x=d+j|0;e=f+g|0;e=d>>>0>x>>>0?e+1|0:e;l=x;g=e;e=0;d=e+w|0;f=h+n|0;f=d>>>0>>0?f+1|0:f;e=f;h=(n|0)==(f|0)&d>>>0>>0|f>>>0>>0;f=g;g=h+l|0;f=g>>>0>>0?f+1|0:f;w=g;g=f;h=d;j=e;e=(s|0)==(I|0)&y>>>0>>0|s>>>0>>0;d=(i|0)==(P|0)&z>>>0>F>>>0|i>>>0

>>0;i=(i|0)==(I|0)&F>>>0>H>>>0|i>>>0>I>>>0;d=d+i|0;d=d+e|0;n=s;i=n+h|0;e=d+j|0;f=g;d=i;e=d>>>0>>0?e+1|0:e;h=(e|0)==(j|0)&h>>>0>d>>>0|e>>>0>>0;g=h+w|0;f=h>>>0>g>>>0?f+1|0:f;j=g;g=f;h=d;f=0;i=e;n=(u|0)==(v|0)&r>>>0>>0|u>>>0>v>>>0;l=n;n=n+((u|0)==(C|0)&B>>>0>D>>>0|u>>>0>>0)|0;e=e+(l>>>0>n>>>0?1:f)|0;f=g;d=d+n|0;e=d>>>0>>0?e+1|0:e;h=(e|0)==(i|0)&d>>>0>>0|e>>>0>>0;g=h;h=h+j|0;f=g>>>0>h>>>0?f+1|0:f;i=f;c:{if(f&65536){t=t+1|0;break c}j=q>>>31|0;g=0;f=i<<1|h>>>31;h=h<<1|e>>>31;i=f;f=e<<1|d>>>31;d=d<<1|c>>>31;e=f;f=q<<1|p>>>31;p=p<<1;q=f;f=c<<1|b>>>31;b=b<<1|j;c=f|g}if((t|0)>=32767){o=o|2147418112;b=0;c=0;break a}d:{if((t|0)<=0){g=1-t|0;if(g>>>0<=127){f=t+127|0;Pa(k+48|0,p,q,b,c,f);Pa(k+32|0,d,e,h,i,f);Gb(k+16|0,p,q,b,c,g);Gb(k,d,e,h,i,g);p=J[k+32>>2]|J[k+16>>2]|(J[k+48>>2]|J[k+56>>2]|(J[k+52>>2]|J[k+60>>2]))!=0;q=J[k+36>>2]|J[k+20>>2];b=J[k+40>>2]|J[k+24>>2];c=J[k+44>>2]|J[k+28>>2];d=J[k>>2];e=J[k+4>>2];g=J[k+8>>2];f=J[k+12>>2];break d}b=0;c=0;break a}g=h;f=i&65535|t<<16}m=g|m;o=f|o;if(!(!b&(c|0)==-2147483648?!(p|q):(c|0)>0|(c|0)>=0)){b=d+1|0;c=b?e:e+1|0;d=(e|0)==(c|0)&b>>>0>>0|c>>>0>>0;e=o;m=d+m|0;o=m>>>0>>0?e+1|0:e;break a}if(b|p|(c^-2147483648|q)){b=d;c=e;break a}j=o;f=e;b=d&1;c=b;b=b+d|0;c=c>>>0>b>>>0?f+1|0:f;d=(f|0)==(c|0)&b>>>0>>0|c>>>0>>0;m=d+m|0;o=d>>>0>m>>>0?j+1|0:j}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=m;J[a+12>>2]=o;ba=k+96|0}function ej(a){a=a|0;var 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,q=0,r=0;o=ba-16|0;ba=o;a:{if(!(da[J[J[a>>2]+32>>2]](a)|0)){break a}e=J[a+44>>2];c=J[a+12>>2];b=J[a+8>>2];H[o+15|0]=c-b>>>2;d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){sa(e,J[e+4>>2],o+15|0,o+16|0);c=J[a+12>>2];b=J[a+8>>2]}if((b|0)!=(c|0)){while(1){e=J[b>>2];if(!(da[J[J[e>>2]+8>>2]](e,a,J[a+4>>2])|0)){break a}b=b+4|0;if((c|0)!=(b|0)){continue}break}}f=ba-48|0;ba=f;e=a;q=a+32|0;g=J[a+12>>2];a=J[a+8>>2];d=g-a|0;c=d>>2;h=J[e+32>>2];b=J[e+36>>2]-h>>2;b:{if(c>>>0>b>>>0){Fa(q,c-b|0);g=J[e+12>>2];a=J[e+8>>2];d=g-a|0;c=d>>2;break b}if(b>>>0<=c>>>0){break b}J[e+36>>2]=h+(c<<2)}J[f+40>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;b=a;c:{d:{if((a|0)!=(g|0)){if((d|0)<0){break d}a=(c-1>>>5|0)+1|0;b=oa(a<<2);J[f+40>>2]=a;J[f+36>>2]=0;J[f+32>>2]=b;mc(f+32|0,c);b=J[e+12>>2];a=J[e+8>>2]}e:{while(1){f:{c=b-a>>2;if(k>>>0>>0){g=(a|0)!=(b|0);m=0;b=a;d=0;if(!g){break f}while(1){i=J[f+32>>2];n=d>>>5<<2;h=J[i+n>>2];p=1<>2];c=J[g+4>>2];if((c|0)!=J[g+8>>2]){while(1){a=0;c=J[(b<<2)+c>>2];h:{if((da[J[J[g>>2]+24>>2]](g,c)|0)<=0){break h}while(1){i:{g=J[l+J[e+8>>2]>>2];g=da[J[J[g>>2]+28>>2]](g,c,a)|0;if((g|0)==(d|0)){break i}g=J[J[e+20>>2]+(g<<2)>>2];if(J[J[f+32>>2]+(g>>>3&536870908)>>2]>>>g&1){break i}j=0;break h}g=J[l+J[e+8>>2]>>2];a=a+1|0;if((da[J[J[g>>2]+24>>2]](g,c)|0)>(a|0)){continue}break}}a=J[e+8>>2];g=J[l+a>>2];c=J[g+4>>2];b=b+1|0;if(b>>>0>2]-c>>2>>>0){continue}break}if(!j){break g}i=J[f+32>>2];h=J[n+i>>2]}J[J[q>>2]+(k<<2)>>2]=d;J[i+n>>2]=h|p;m=1;k=k+1|0}b=J[e+12>>2];c=b-a>>2;d=d+1|0;if(c>>>0>d>>>0){continue}break}break f}m=0;J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;d=J[e+4>>2];c=J[d+12>>2];d=J[d+8>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;j:{k:{l:{if((c|0)!=(d|0)){a=c-d|0;if((a|0)<0){break l}a=a>>2;b=(a-1>>>5|0)+1|0;c=oa(b<<2);J[f+8>>2]=b;J[f+4>>2]=0;J[f>>2]=c;mc(f,a);b=J[e+12>>2];a=J[e+8>>2]}m:{if((a|0)==(b|0)){b=1;break m}while(1){g=J[J[q>>2]+(m<<2)>>2]<<2;b=J[g+a>>2];b=J[b+8>>2]-J[b+4>>2]|0;n:{if((b|0)<8){break n}c=b>>2;b=J[f+16>>2];a=J[f+20>>2]-b>>2;o:{if(c>>>0>a>>>0){Fa(f+16|0,c-a|0);break o}if(a>>>0<=c>>>0){break o}J[f+20>>2]=b+(c<<2)}i=(c|0)<=1?1:c;h=0;p:{while(1){if((c|0)<=(h|0)){break p}b=0;d=J[f>>2];j=0;while(1){p=1<>>5<<2;q:{if(p&J[n+d>>2]){break q}a=0;d=J[g+J[e+8>>2]>>2];k=J[J[d+4>>2]+(b<<2)>>2];if((da[J[J[d>>2]+24>>2]](d,k)|0)>0){while(1){d=J[g+J[e+8>>2]>>2];l=da[J[J[d>>2]+28>>2]](d,k,a)|0;d=J[f>>2];if(!(J[d+(l>>>3&536870908)>>2]>>>l&1)){break q}d=J[g+J[e+8>>2]>>2];a=a+1|0;if((da[J[J[d>>2]+24>>2]](d,k)|0)>(a|0)){continue}break}}J[J[f+16>>2]+(h<<2)>>2]=b;d=J[f>>2];a=n+d|0;J[a>>2]=p|J[a>>2];j=1;h=h+1|0}b=b+1|0;if((i|0)!=(b|0)){continue}break}if((c|0)<=(h|0)|j){continue}break}b=0;break m}a=J[e+8>>2];b=J[g+a>>2];d=J[b+4>>2];J[b+8>>2]=d;J[b+20>>2]=J[b+16>>2];g=J[f+16>>2];l=J[f+20>>2];if((g|0)==(l|0)){break n}k=b+16|0;c=d;while(1){a=J[g>>2];r:{if(J[b+12>>2]!=(c|0)){J[c>>2]=a;J[b+8>>2]=c+4;break r}c=c-d|0;i=c>>2;h=i+1|0;if(h>>>0>=1073741824){break k}j=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?j:h;if(h){if(h>>>0>=1073741824){break j}j=oa(h<<2)}else{j=0}i=j+(i<<2)|0;J[i>>2]=a;c=ta(j,d,c);J[b+12>>2]=c+(h<<2);J[b+8>>2]=i+4;J[b+4>>2]=c;if(!d){break r}na(d)}c=J[b+16>>2];d=J[b+20>>2]-c>>2;s:{if((d|0)>(a|0)){break s}J[f+44>>2]=-1;h=a+1|0;if(h>>>0>d>>>0){jc(k,h-d|0,f+44|0);c=J[k>>2];break s}if(d>>>0<=h>>>0){break s}J[b+20>>2]=(h<<2)+c}a=(a<<2)+c|0;c=J[b+8>>2];d=J[b+4>>2];J[a>>2]=(c-d>>2)-1;g=g+4|0;if((l|0)!=(g|0)){continue}break}a=J[e+8>>2]}b=1;m=m+1|0;if(m>>>0>2]-a>>2>>>0){continue}break}}a=J[f>>2];if(a){na(a)}a=J[f+16>>2];if(!a){break e}J[f+20>>2]=a;na(a);break e}qa();B()}qa();B()}xa();B()}if(m&1|c>>>0<=k>>>0){continue}break}b=0}a=J[f+32>>2];if(a){na(a)}ba=f+48|0;break c}qa();B()}if(!b){break a}b=J[e+32>>2];a=J[e+36>>2];t:{if((b|0)==(a|0)){break t}while(1){if(!(da[J[J[e>>2]+40>>2]](e,J[b>>2])|0)){break a}b=b+4|0;if((a|0)!=(b|0)){continue}break}b=J[e+32>>2];a=J[e+36>>2];if((b|0)==(a|0)){break t}while(1){c=J[J[e+8>>2]+(J[b>>2]<<2)>>2];if(!(da[J[J[c>>2]+12>>2]](c,J[e+44>>2])|0)){break a}b=b+4|0;if((a|0)!=(b|0)){continue}break}}r=da[J[J[e>>2]+44>>2]](e)|0}ba=o+16|0;return r|0}function Id(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);f=ba-96|0;ba=f;J[f+72>>2]=0;J[f+76>>2]=0;J[f+64>>2]=0;J[f+68>>2]=0;J[f+80>>2]=1065353216;c=J[a+80>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;k=oa(e);J[f+16>>2]=k;c=e+k|0;J[f+24>>2]=c;pa(k,0,e);J[f+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=Hl(J[b+40>>2],J[b+44>>2],n,0);h=c;c=c+e|0;e=c+d|0;J[f+56>>2]=K[e+8|0]|K[e+9|0]<<8|(K[e+10|0]<<16|K[e+11|0]<<24);c=K[e+4|0]|K[e+5|0]<<8|(K[e+6|0]<<16|K[e+7|0]<<24);J[f+48>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+52>>2]=c;c=K[e+8|0]|K[e+9|0]<<8|(K[e+10|0]<<16|K[e+11|0]<<24);J[f+40>>2]=c;d=K[e+4|0]|K[e+5|0]<<8|(K[e+6|0]<<16|K[e+7|0]<<24);e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+32>>2]=e;J[f+36>>2]=d;J[f+8>>2]=c;J[f>>2]=e;J[f+4>>2]=d;J[f+12>>2]=p;c=0;e=J[f+8>>2]^(J[f+4>>2]^(J[f>>2]^318)+239)+239;b:{c:{m=f- -64|0;h=J[m+4>>2];if(!h){break c}d=Kl(h);d:{if(d>>>0>=2){c=e;if(e>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}l=J[f+8>>2];q=J[f+4>>2];j=J[f>>2];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break c}}d=J[i+8>>2];e:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=J[i+12>>2];if((d|0)!=(q|0)){d=(d|0)==(q|0);break e}d=(l|0)==J[i+16>>2]}if(!d){continue}break}c=0;break b}c=e&h-1;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=h-1|0;l=J[f+8>>2];r=J[f+4>>2];q=J[f>>2];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break c}d=J[i+8>>2];f:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break f}d=J[i+12>>2];if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=(l|0)==J[i+16>>2]}if(!d){continue}break}c=0;break b}i=oa(24);J[i+16>>2]=J[f+8>>2];d=J[f+4>>2];J[i+8>>2]=J[f>>2];J[i+12>>2]=d;d=J[f+12>>2];J[i>>2]=0;J[i+4>>2]=e;J[i+20>>2]=d;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(h>>>0))?0:h){break g}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));h:{if(o=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=Ha(d);h=J[m+4>>2]}j:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break j}l=h>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(Kl(h)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(h>>>0<=c>>>0){break j}}db(m,c)}h=J[m+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break g}if(e>>>0>>0){c=e;break g}c=(e>>>0)%(h>>>0)|0}e=J[m>>2]+(c<<2)|0;c=J[e>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[e>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];e=h-1|0;p:{if(!(e&h)){c=c&e;break p}if(c>>>0>>0){break p}c=(c>>>0)%(h>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[f+92|0]=c;J[f+88>>2]=i;q:{if(!K[f+92|0]){J[(n<<2)+k>>2]=J[J[f+88>>2]+20>>2];break q}c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,p)|0,f+48|0,c);k=J[f+16>>2];J[k+(n<<2)>>2]=p;p=p+1|0}n=n+1|0;g=n?g:g+1|0;j=J[a+80>>2];if(!g&n>>>0>>0){continue}break}if((j|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;g=b>>>0<=1?1:b;e=g&3;c=0;b=0;if(g-1>>>0>=3){n=g&-4;l=0;while(1){d=b<<2;g=d+j|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];g=j+(d|4)|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];g=j+(d|8)|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];g=j+(d|12)|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!e){break r}while(1){g=j+(b<<2)|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;g=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){Ma(g,j-c|0,2176);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[g>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];g=e|4;J[g+d>>2]=J[g+k>>2];g=e|8;J[g+d>>2]=J[g+k>>2];g=e|12;J[g+d>>2]=J[g+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){g=b<<2;J[g+d>>2]=J[g+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=p}na(k)}b=J[f+72>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[f+64>>2];J[f+64>>2]=0;if(a){na(a)}ba=f+96|0;return p}qa();B()}function jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=ba-16|0;ba=j;c=J[b+56>>2];f=J[c+100>>2];e=J[c+96>>2];d=(f-e|0)/12|0;Aa(d,J[b+44>>2]);Aa(J[J[b+56>>2]+80>>2],J[b+44>>2]);k=J[b+48>>2];c=oa(32);J[j>>2]=c;J[j+4>>2]=21;J[j+8>>2]=-2147483616;g=K[1149]|K[1150]<<8|(K[1151]<<16|K[1152]<<24);i=K[1145]|K[1146]<<8|(K[1147]<<16|K[1148]<<24);H[c+13|0]=i;H[c+14|0]=i>>>8;H[c+15|0]=i>>>16;H[c+16|0]=i>>>24;H[c+17|0]=g;H[c+18|0]=g>>>8;H[c+19|0]=g>>>16;H[c+20|0]=g>>>24;g=K[1144]|K[1145]<<8|(K[1146]<<16|K[1147]<<24);i=K[1140]|K[1141]<<8|(K[1142]<<16|K[1143]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=g;H[c+13|0]=g>>>8;H[c+14|0]=g>>>16;H[c+15|0]=g>>>24;g=K[1136]|K[1137]<<8|(K[1138]<<16|K[1139]<<24);i=K[1132]|K[1133]<<8|(K[1134]<<16|K[1135]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=g;H[c+5|0]=g>>>8;H[c+6|0]=g>>>16;H[c+7|0]=g>>>24;H[c+21|0]=0;g=Pb(k,j,0);if(H[j+11|0]<0){na(J[j>>2])}c=J[b+44>>2];a:{if(g){H[j|0]=0;d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){sa(c,J[c+4>>2],j,j+1|0)}e=0;c=0;g=ba-16|0;ba=g;J[g>>2]=0;J[g+4>>2]=0;d=J[b+56>>2];f=J[d+100>>2];d=J[d+96>>2];if((f|0)!=(d|0)){c=(f-d|0)/12|0;p=c>>>0<=1?1:c;c=0;d=J[g>>2];b:{c:{while(1){d:{i=J[J[b+56>>2]+96>>2]+P(n,12)|0;l=J[i>>2];f=l-m|0;k=f>>31;k=(f^k)-k<<1|f>>>31;e:{if((e|0)!=(h|0)){J[e>>2]=k;e=e+4|0;J[g+4>>2]=e;break e}f=e-c|0;m=f>>2;h=m+1|0;if(h>>>0>=1073741824){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>=1073741824){break c}d=oa(h<<2)}else{d=0}e=d+(m<<2)|0;J[e>>2]=k;f=ta(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){na(c)}c=f}o=J[i+4>>2];f=o-l|0;k=f>>31;k=(f^k)-k<<1|f>>>31;f:{if((e|0)!=(h|0)){J[e>>2]=k;e=e+4|0;J[g+4>>2]=e;break f}f=e-c|0;l=f>>2;h=l+1|0;if(h>>>0>1073741823){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>1073741823){break c}d=oa(h<<2)}else{d=0}e=d+(l<<2)|0;J[e>>2]=k;f=ta(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){na(c)}c=f}m=J[i+8>>2];f=m-o|0;i=f>>31;i=(f^i)-i<<1|f>>>31;g:{if((e|0)!=(h|0)){J[e>>2]=i;e=e+4|0;J[g+4>>2]=e;break g}f=e-c|0;k=f>>2;h=k+1|0;if(h>>>0>1073741823){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>1073741823){break c}d=oa(h<<2)}else{d=0}e=d+(k<<2)|0;J[e>>2]=i;f=ta(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){na(c)}c=f}n=n+1|0;if((p|0)!=(n|0)){continue}break b}break}J[g+8>>2]=e;J[g>>2]=d;qa();B()}J[g>>2]=d;xa();B()}J[g>>2]=d}ee(c,e-c>>2,1,0,J[b+44>>2]);if(c){na(c)}ba=g+16|0;break a}H[j|0]=1;g=J[c+20>>2];if(!J[c+16>>2]&(g|0)<=0|(g|0)<0){sa(c,J[c+4>>2],j,j+1|0)}c=J[J[b+56>>2]+80>>2];if(c>>>0<=255){if((f|0)==(e|0)){break a}h=d>>>0<=1?1:d;f=j+1|0;c=0;while(1){d=J[b+44>>2];e=J[J[b+56>>2]+96>>2]+P(c,12)|0;H[j|0]=J[e>>2];g=J[d+20>>2];h:{if(!!J[d+16>>2]&(g|0)>=0|(g|0)>0){break h}sa(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];H[j|0]=J[e+4>>2];if(!!i&(g|0)>=0|(g|0)>0){break h}sa(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];H[j|0]=J[e+8>>2];if(!!i&(g|0)>=0|(g|0)>0){break h}sa(d,J[d+4>>2],j,f)}c=c+1|0;if((h|0)!=(c|0)){continue}break}break a}if(c>>>0<=65535){if((f|0)==(e|0)){break a}h=d>>>0<=1?1:d;f=j+2|0;c=0;while(1){d=J[b+44>>2];e=J[J[b+56>>2]+96>>2]+P(c,12)|0;I[j>>1]=J[e>>2];g=J[d+20>>2];i:{if(!!J[d+16>>2]&(g|0)>=0|(g|0)>0){break i}sa(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];I[j>>1]=J[e+4>>2];if(!!i&(g|0)>=0|(g|0)>0){break i}sa(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];I[j>>1]=J[e+8>>2];if(!!i&(g|0)>=0|(g|0)>0){break i}sa(d,J[d+4>>2],j,f)}c=c+1|0;if((h|0)!=(c|0)){continue}break}break a}if(c>>>0>=2097152){if((f|0)==(e|0)){break a}c=J[b+44>>2];f=!!J[c+16>>2];c=J[c+20>>2];if(f&(c|0)>=0|(c|0)>0){break a}f=d>>>0<=1?1:d;c=0;while(1){d=J[b+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){e=d;g=J[d+4>>2];d=J[J[b+56>>2]+96>>2]+P(c,12)|0;sa(e,g,d,d+12|0)}c=c+1|0;if((f|0)!=(c|0)){continue}break}break a}if((f|0)==(e|0)){break a}f=d>>>0<=1?1:d;c=0;while(1){d=J[J[b+56>>2]+96>>2]+P(c,12)|0;Aa(J[d>>2],J[b+44>>2]);Aa(J[d+4>>2],J[b+44>>2]);Aa(J[d+8>>2],J[b+44>>2]);c=c+1|0;if((f|0)!=(c|0)){continue}break}}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;ba=j+16|0}function vf(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,n=0,o=Q(0),p=0,q=0,r=0,s=0,t=0,u=0,v=Q(0);i=ba-80|0;ba=i;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+64>>2]=1065353216;c=J[a+80>>2];J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=oa(f);J[i+24>>2]=k;c=f+k|0;J[i+32>>2]=c;pa(k,0,f);J[i+28>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=Hl(J[b+40>>2],J[b+44>>2],n,0);g=c;c=c+f|0;c=c+d|0;f=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);c=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[i+40>>2]=f;J[i+44>>2]=c;J[i+16>>2]=p;J[i+8>>2]=f;J[i+12>>2]=c;c=0;m=i+8|0;f=L[m+6>>1]^(L[m+4>>1]^(L[m+2>>1]^(L[m>>1]^318)+239)+239)+239;b:{c:{l=i+48|0;g=J[l+4>>2];if(!g){break c}d=Kl(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}h=J[J[l>>2]+(c<<2)>>2];if(!h){break c}if(d>>>0<2){break d}q=L[m>>1];r=L[m+2>>1];t=L[m+4>>1];j=L[m+6>>1];while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=L[h+8>>1];e:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break e}d=L[h+10>>1];if((d|0)!=(r|0)){d=(d|0)==(r|0);break e}d=L[h+12>>1];if((d|0)!=(t|0)){d=(d|0)==(t|0);break e}d=(j|0)==L[h+14>>1]}if(!d){continue}break}c=0;break b}c=f&g-1;h=J[J[l>>2]+(c<<2)>>2];if(!h){break c}}t=g-1|0;u=L[m>>1];q=L[m+2>>1];r=L[m+4>>1];j=L[m+6>>1];while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(f|0)&(d&t)!=(c|0)){break c}d=L[h+8>>1];f:{if((d|0)!=(u|0)){d=(d|0)==(u|0);break f}d=L[h+10>>1];if((d|0)!=(q|0)){d=(d|0)==(q|0);break f}d=L[h+12>>1];if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=(j|0)==L[h+14>>1]}if(!d){continue}break}c=0;break b}h=oa(20);d=J[m+4>>2];J[h+8>>2]=J[m>>2];J[h+12>>2]=d;d=J[m+8>>2];J[h+4>>2]=f;J[h+16>>2]=d;J[h>>2]=0;o=Q(J[l+12>>2]+1>>>0);v=N[l+16>>2];g:{if(o>Q(v*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;o=Q(W(Q(o/v)));h:{if(o=Q(0)){j=~~o>>>0;break h}j=0}d=d>>>0>j>>>0?d:j;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=Ha(d);g=J[l+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}j=g>>>0<3;o=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));k:{if(o=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(j){break m}if(Kl(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}db(l,c)}g=J[l+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[l>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=l+8|0;J[h>>2]=J[c>>2];J[l+8>>2]=h;J[f>>2]=c;c=J[h>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[l>>2]+(c<<2)|0;break o}J[h>>2]=J[c>>2]}J[c>>2]=h}J[l+12>>2]=J[l+12>>2]+1;c=1}H[i+76|0]=c;J[i+72>>2]=h;q:{if(!K[i+76|0]){J[(n<<2)+k>>2]=J[J[i+72>>2]+16>>2];break q}c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,p)|0,i+40|0,c);k=J[i+24>>2];J[k+(n<<2)>>2]=p;p=p+1|0}n=n+1|0;e=n?e:e+1|0;j=J[a+80>>2];if(!e&n>>>0>>0){continue}break}if((j|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){n=e&-4;while(1){d=b<<2;e=d+j|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;s=s+4|0;if((n|0)!=(s|0)){continue}break}}if(!f){break r}while(1){e=j+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){Ma(e,j-c|0,2176);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[e>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;s=s+4|0;if((n|0)!=(s|0)){continue}break}}n=j&3;if(!n){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=p}na(k)}b=J[i+56>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[i+48>>2];J[i+48>>2]=0;if(a){na(a)}ba=i+80|0;return p}qa();B()}function wf(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);e=ba-80|0;ba=e;J[e+56>>2]=0;J[e+60>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e+64>>2]=1065353216;c=J[a+80>>2];J[e+24>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}g=c<<2;k=oa(g);J[e+16>>2]=k;c=g+k|0;J[e+24>>2]=c;pa(k,0,g);J[e+20>>2]=c;while(1){d=J[J[b>>2]>>2];g=J[b+48>>2];c=Hl(J[b+40>>2],J[b+44>>2],n,0);h=c;c=c+g|0;c=c+d|0;I[e+44>>1]=K[c+4|0]|K[c+5|0]<<8;J[e+40>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);g=K[c+4|0]|K[c+5|0]<<8;I[e+36>>1]=g;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[e+32>>2]=c;I[e+4>>1]=g;J[e>>2]=c;J[e+8>>2]=p;c=0;g=L[e+4>>1]^(L[e+2>>1]^(L[e>>1]^318)+239)+239;b:{c:{m=e+48|0;h=J[m+4>>2];if(!h){break c}d=Kl(h);d:{if(d>>>0>=2){c=g;if(c>>>0>=h>>>0){c=(g>>>0)%(h>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}q=L[e>>1];j=L[e+2>>1];l=L[e+4>>1];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(g|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break c}}d=L[i+8>>1];e:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break e}d=L[i+10>>1];if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==L[i+12>>1]}if(!d){continue}break}c=0;break b}c=g&h+262143;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=h-1|0;r=L[e>>1];q=L[e+2>>1];l=L[e+4>>1];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(g|0)&(d&j)!=(c|0)){break c}d=L[i+8>>1];f:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=L[i+10>>1];if((d|0)!=(q|0)){d=(d|0)==(q|0);break f}d=(l|0)==L[i+12>>1]}if(!d){continue}break}c=0;break b}i=oa(20);I[i+12>>1]=L[e+4>>1];J[i+8>>2]=J[e>>2];d=J[e+8>>2];J[i>>2]=0;J[i+4>>2]=g;J[i+16>>2]=d;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(h>>>0))?0:h){break g}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));h:{if(o=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=Ha(d);h=J[m+4>>2]}j:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break j}l=h>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(Kl(h)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(h>>>0<=c>>>0){break j}}db(m,c)}h=J[m+4>>2];c=h-1|0;if(!(c&h)){c=c&g;break g}if(g>>>0>>0){c=g;break g}c=(g>>>0)%(h>>>0)|0}g=J[m>>2]+(c<<2)|0;c=J[g>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[g>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];g=h-1|0;p:{if(!(g&h)){c=c&g;break p}if(c>>>0>>0){break p}c=(c>>>0)%(h>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[e+76|0]=c;J[e+72>>2]=i;q:{if(!K[e+76|0]){J[(n<<2)+k>>2]=J[J[e+72>>2]+16>>2];break q}c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,p)|0,e+40|0,c);k=J[e+16>>2];J[k+(n<<2)>>2]=p;p=p+1|0}n=n+1|0;f=n?f:f+1|0;j=J[a+80>>2];if(!f&n>>>0>>0){continue}break}if((j|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;f=b>>>0<=1?1:b;g=f&3;c=0;b=0;if(f-1>>>0>=3){n=f&-4;l=0;while(1){d=b<<2;f=d+j|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|4)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|8)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|12)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!g){break r}while(1){f=j+(b<<2)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;f=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){Ma(f,j-c|0,2176);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[f>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){g=b<<2;J[g+d>>2]=J[g+k>>2];f=g|4;J[f+d>>2]=J[f+k>>2];f=g|8;J[f+d>>2]=J[f+k>>2];f=g|12;J[f+d>>2]=J[f+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=p}na(k)}b=J[e+56>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[e+48>>2];J[e+48>>2]=0;if(a){na(a)}ba=e+80|0;return p}qa();B()}function If(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,n=0,o=0,p=Q(0),q=0,r=0,s=0,t=0,u=Q(0);i=ba+-64|0;ba=i;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;J[i+48>>2]=1065353216;c=J[a+80>>2];J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=oa(f);J[i+16>>2]=k;c=f+k|0;J[i+24>>2]=c;pa(k,0,f);J[i+20>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=Hl(J[b+40>>2],J[b+44>>2],o,0);g=c;c=c+f|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[i+28>>2]=c;J[i+12>>2]=q;J[i+8>>2]=c;c=0;n=i+8|0;f=K[n+3|0]^(K[n+2|0]^(K[n+1|0]^(K[n|0]^318)+239)+239)+239;b:{c:{m=i+32|0;g=J[m+4>>2];if(!g){break c}d=Kl(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}h=J[J[m>>2]+(c<<2)>>2];if(!h){break c}if(d>>>0<2){break d}r=K[n|0];s=K[n+1|0];j=K[n+2|0];l=K[n+3|0];while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=K[h+8|0];e:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break e}d=K[h+9|0];if((d|0)!=(s|0)){d=(d|0)==(s|0);break e}d=K[h+10|0];if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==K[h+11|0]}if(!d){continue}break}c=0;break b}c=f&g-1;h=J[J[m>>2]+(c<<2)>>2];if(!h){break c}}j=g-1|0;t=K[n|0];r=K[n+1|0];s=K[n+2|0];l=K[n+3|0];while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(f|0)&(d&j)!=(c|0)){break c}d=K[h+8|0];f:{if((d|0)!=(t|0)){d=(d|0)==(t|0);break f}d=K[h+9|0];if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=K[h+10|0];if((d|0)!=(s|0)){d=(d|0)==(s|0);break f}d=(l|0)==K[h+11|0]}if(!d){continue}break}c=0;break b}h=oa(16);J[h+8>>2]=J[n>>2];d=J[n+4>>2];J[h+4>>2]=f;J[h+12>>2]=d;J[h>>2]=0;p=Q(J[m+12>>2]+1>>>0);u=N[m+16>>2];g:{if(p>Q(u*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;p=Q(W(Q(p/u)));h:{if(p=Q(0)){l=~~p>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=Ha(d);g=J[m+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}l=g>>>0<3;p=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(p=Q(0)){d=~~p>>>0;break k}d=0}l:{m:{if(l){break m}if(Kl(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}db(m,c)}g=J[m+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[m>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=m+8|0;J[h>>2]=J[c>>2];J[m+8>>2]=h;J[f>>2]=c;c=J[h>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[h>>2]=J[c>>2]}J[c>>2]=h}J[m+12>>2]=J[m+12>>2]+1;c=1}H[i+60|0]=c;J[i+56>>2]=h;q:{if(!K[i+60|0]){J[(o<<2)+k>>2]=J[J[i+56>>2]+12>>2];break q}c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,q)|0,i+28|0,c);k=J[i+16>>2];J[k+(o<<2)>>2]=q;q=q+1|0}o=o+1|0;e=o?e:e+1|0;j=J[a+80>>2];if(!e&o>>>0>>0){continue}break}if((j|0)!=(q|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){o=e&-4;l=0;while(1){d=b<<2;e=d+j|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((o|0)!=(l|0)){continue}break}}if(!f){break r}while(1){e=j+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){Ma(e,j-c|0,2176);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[e>>2];c=0;b=0;if(j>>>0>=4){o=j&-4;l=0;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;l=l+4|0;if((o|0)!=(l|0)){continue}break}}o=j&3;if(!o){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((o|0)!=(c|0)){continue}break}}J[a+80>>2]=q}na(k)}b=J[i+40>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[i+32>>2];J[i+32>>2]=0;if(a){na(a)}ba=i- -64|0;return q}qa();B()}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=ba-96|0;ba=e;f=J[a+16>>2];H[e+92|0]=1;J[e+88>>2]=b;J[e+84>>2]=b;J[e+80>>2]=f;j=J[a+20>>2];d=J[j>>2];a:{b:{f=J[J[f+28>>2]+(b<<2)>>2];if(f>>>0>2]-d>>2>>>0){d=J[J[a+8>>2]+(J[d+(f<<2)>>2]<<2)>>2];f=J[a+4>>2];if(!K[f+84|0]){d=J[J[f+68>>2]+(d<<2)>>2]}J[e+72>>2]=0;J[e+76>>2]=0;j=e- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[e+56>>2]=0;J[e+60>>2]=0;hb(f,d,H[f+24|0],e+56|0);if((b|0)!=-1){f=b+1|0;j=(f>>>0)%3|0?f:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;while(1){d=j;f=m;c:{if(!J[a+28>>2]){break c}f=b+1|0;d=(f>>>0)%3|0?f:b-2|0;f=b-1|0;if((b>>>0)%3|0){break c}f=b+2|0}n=J[a+20>>2];b=J[n>>2];d=J[J[J[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=J[n+4>>2]-b>>2>>>0){break b}d=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;hb(b,d,H[b+24|0],e+32|0);d=J[a+20>>2];b=J[d>>2];f=J[J[J[a+16>>2]+28>>2]+(f<<2)>>2];if(f>>>0>=J[d+4>>2]-b>>2>>>0){break a}d=J[J[a+8>>2]+(J[b+(f<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;hb(b,d,H[b+24|0],e+8|0);g=J[e+8>>2];b=J[e+56>>2];d=g-b|0;p=J[e+60>>2];t=J[e+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=J[e+40>>2];f=J[e+64>>2];n=h-f|0;u=J[e+68>>2];x=J[e+44>>2]-(u+(f>>>0>h>>>0)|0)|0;g=Hl(d,t,n,x);v=o-g|0;w=i-(ca+(g>>>0>o>>>0)|0)|0;i=v;h=J[e+16>>2];g=h-f|0;u=J[e+20>>2]-((f>>>0>h>>>0)+u|0)|0;k=J[e+32>>2];h=k-b|0;v=J[e+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=Hl(g,u,h,v);o=i+b|0;i=ca+w|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=d;p=t;k=J[e+48>>2];f=J[e+72>>2];d=k-f|0;t=J[e+76>>2];w=J[e+52>>2]-(t+(f>>>0>k>>>0)|0)|0;l=Hl(l,p,d,w);k=b+l|0;b=ca+q|0;b=k>>>0>>0?b+1|0:b;l=J[e+24>>2];p=l-f|0;f=J[e+28>>2]-((f>>>0>l>>>0)+t|0)|0;q=Hl(p,f,h,v);l=k-q|0;q=b-(ca+(k>>>0>>0)|0)|0;b=Hl(g,u,d,w);d=r-b|0;b=s-(ca+(b>>>0>r>>>0)|0)|0;s=Hl(p,f,n,x);r=s+d|0;b=ca+b|0;s=r>>>0>>0?b+1|0:b;b=J[e+88>>2];f=J[e+80>>2];d:{if(K[e+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}J[e+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[e+88>>2]=b;if((b|0)!=-1){break e}}b=J[e+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}H[e+92|0]=0;J[e+88>>2]=d;break d}if((b|0)!=J[e+84>>2]){break d}J[e+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}J[e+88>>2]=d}b=J[e+88>>2];if((b|0)!=-1){continue}break}}b=s>>31;f=b^r;d=f-b|0;b=(b^s)-((b>>>0>f>>>0)+b|0)|0;m=-1;f=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;m:{n:{if(!J[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break m}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;f=a;g=i;a=g>>31;d=a;m=d^o;a=m-d|0;i=a;d=(d^g)-((d>>>0>m>>>0)+d|0)|0;a=a+f|0;d=d^2147483647;i=(d|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>d>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break o}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=i;d=i>>31;h=d^o;i=h-d|0;j=(d^k)-((d>>>0>h>>>0)+d|0)|0;g=j^2147483647;d=a;a=i;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break o}b=b+j|0;m=a+d|0;b=m>>>0>>0?b+1|0:b;f=b;if(!b&m>>>0<536870913){break m}}b=f>>>29|0;a=(f&536870911)<<3|m>>>29}o=Il(o,n,a,b);l=Il(l,q,a,b);r=Il(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;ba=e+96|0;return}ra();B()}ra();B()}ra();B()}function Kf(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);e=ba+-64|0;ba=e;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+48>>2]=1065353216;c=J[a+80>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}g=c<<2;k=oa(g);J[e+8>>2]=k;c=g+k|0;J[e+16>>2]=c;pa(k,0,g);J[e+12>>2]=c;while(1){d=J[J[b>>2]>>2];g=J[b+48>>2];c=Hl(J[b+40>>2],J[b+44>>2],n,0);h=c;c=c+g|0;c=c+d|0;H[e+30|0]=K[c+2|0];I[e+28>>1]=K[c|0]|K[c+1|0]<<8;g=K[c+2|0];H[e+26|0]=g;c=K[c|0]|K[c+1|0]<<8;I[e+24>>1]=c;H[e+2|0]=g;I[e>>1]=c;J[e+4>>2]=p;c=0;g=K[e+2|0]^(K[e+1|0]^(K[e|0]^318)+239)+239;b:{c:{m=e+32|0;h=J[m+4>>2];if(!h){break c}d=Kl(h);d:{if(d>>>0>=2){c=g;if(c>>>0>=h>>>0){c=(g>>>0)%(h>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}q=K[e|0];j=K[e+1|0];l=K[e+2|0];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(g|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break c}}d=K[i+8|0];e:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break e}d=K[i+9|0];if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==K[i+10|0]}if(!d){continue}break}c=0;break b}c=g&h-1;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=h-1|0;r=K[e|0];q=K[e+1|0];l=K[e+2|0];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(g|0)&(d&j)!=(c|0)){break c}d=K[i+8|0];f:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=K[i+9|0];if((d|0)!=(q|0)){d=(d|0)==(q|0);break f}d=(l|0)==K[i+10|0]}if(!d){continue}break}c=0;break b}i=oa(16);H[i+10|0]=K[e+2|0];I[i+8>>1]=L[e>>1];d=J[e+4>>2];J[i>>2]=0;J[i+4>>2]=g;J[i+12>>2]=d;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(h>>>0))?0:h){break g}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));h:{if(o=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=Ha(d);h=J[m+4>>2]}j:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break j}l=h>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(Kl(h)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(h>>>0<=c>>>0){break j}}db(m,c)}h=J[m+4>>2];c=h-1|0;if(!(c&h)){c=c&g;break g}if(g>>>0>>0){c=g;break g}c=(g>>>0)%(h>>>0)|0}g=J[m>>2]+(c<<2)|0;c=J[g>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[g>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];g=h-1|0;p:{if(!(g&h)){c=c&g;break p}if(c>>>0>>0){break p}c=(c>>>0)%(h>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[e+60|0]=c;J[e+56>>2]=i;q:{if(!K[e+60|0]){J[(n<<2)+k>>2]=J[J[e+56>>2]+12>>2];break q}c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,p)|0,e+28|0,c);k=J[e+8>>2];J[k+(n<<2)>>2]=p;p=p+1|0}n=n+1|0;f=n?f:f+1|0;j=J[a+80>>2];if(!f&n>>>0>>0){continue}break}if((j|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;f=b>>>0<=1?1:b;g=f&3;c=0;b=0;if(f-1>>>0>=3){n=f&-4;l=0;while(1){d=b<<2;f=d+j|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|4)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|8)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|12)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!g){break r}while(1){f=j+(b<<2)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;f=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){Ma(f,j-c|0,2176);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[f>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){g=b<<2;J[g+d>>2]=J[g+k>>2];f=g|4;J[f+d>>2]=J[f+k>>2];f=g|8;J[f+d>>2]=J[f+k>>2];f=g|12;J[f+d>>2]=J[f+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=p}na(k)}b=J[e+40>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[e+32>>2];J[e+32>>2]=0;if(a){na(a)}ba=e- -64|0;return p}qa();B()}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=ba-96|0;ba=f;d=J[a+16>>2];H[f+92|0]=1;J[f+88>>2]=b;J[f+84>>2]=b;J[f+80>>2]=d;a:{if((b|0)==-1){break a}j=J[a+20>>2];e=J[j>>2];d=J[J[d>>2]+(b<<2)>>2];if(d>>>0>=J[j+4>>2]-e>>2>>>0){break a}e=J[J[a+8>>2]+(J[e+(d<<2)>>2]<<2)>>2];d=J[a+4>>2];if(!K[d+84|0]){e=J[J[d+68>>2]+(e<<2)>>2]}J[f+72>>2]=0;J[f+76>>2]=0;j=f- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[f+56>>2]=0;J[f+60>>2]=0;hb(d,e,H[d+24|0],f+56|0);d=b+1|0;j=(d>>>0)%3|0?d:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){e=j;d=m;d:{if(!J[a+28>>2]){break d}d=b+1|0;e=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break d}d=b+2|0}if((e|0)==-1){break b}n=J[a+20>>2];b=J[n>>2];e=J[J[J[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=J[n+4>>2]-b>>2>>>0){break b}e=J[J[a+8>>2]+(J[b+(e<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){e=J[J[b+68>>2]+(e<<2)>>2]}J[f+48>>2]=0;J[f+52>>2]=0;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;hb(b,e,H[b+24|0],f+32|0);if((d|0)==-1){break c}e=J[a+20>>2];b=J[e>>2];d=J[J[J[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=J[e+4>>2]-b>>2>>>0){break c}e=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){e=J[J[b+68>>2]+(e<<2)>>2]}J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;hb(b,e,H[b+24|0],f+8|0);g=J[f+8>>2];b=J[f+56>>2];e=g-b|0;p=J[f+60>>2];t=J[f+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=J[f+40>>2];d=J[f+64>>2];n=h-d|0;u=J[f+68>>2];x=J[f+44>>2]-(u+(d>>>0>h>>>0)|0)|0;g=Hl(e,t,n,x);v=o-g|0;w=i-(ca+(g>>>0>o>>>0)|0)|0;i=v;h=J[f+16>>2];g=h-d|0;u=J[f+20>>2]-((d>>>0>h>>>0)+u|0)|0;k=J[f+32>>2];h=k-b|0;v=J[f+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=Hl(g,u,h,v);o=i+b|0;i=ca+w|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=e;p=t;k=J[f+48>>2];d=J[f+72>>2];e=k-d|0;t=J[f+76>>2];w=J[f+52>>2]-(t+(d>>>0>k>>>0)|0)|0;l=Hl(l,p,e,w);k=b+l|0;b=ca+q|0;b=k>>>0>>0?b+1|0:b;l=J[f+24>>2];p=l-d|0;d=J[f+28>>2]-((d>>>0>l>>>0)+t|0)|0;q=Hl(p,d,h,v);l=k-q|0;q=b-(ca+(k>>>0>>0)|0)|0;b=Hl(g,u,e,w);e=r-b|0;b=s-(ca+(b>>>0>r>>>0)|0)|0;s=Hl(p,d,n,x);r=s+e|0;b=ca+b|0;s=r>>>0>>0?b+1|0:b;b=J[f+88>>2];e=J[f+80>>2];e:{if(K[f+92|0]){f:{g:{h:{i:{if((b|0)==-1){break i}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break i}b=J[J[e+12>>2]+(b<<2)>>2];if((b|0)!=-1){break h}}J[f+88>>2]=-1;break g}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[f+88>>2]=b;if((b|0)!=-1){break f}}b=J[f+84>>2];d=-1;j:{if((b|0)==-1){break j}k:{if((b>>>0)%3|0){b=b-1|0;break k}b=b+2|0;d=-1;if((b|0)==-1){break j}}b=J[J[e+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break j}d=b-1|0;if((b>>>0)%3|0){break j}d=b+2|0}H[f+92|0]=0;J[f+88>>2]=d;break e}if((b|0)!=J[f+84>>2]){break e}J[f+88>>2]=-1;break e}d=-1;l:{if((b|0)==-1){break l}m:{if((b>>>0)%3|0){b=b-1|0;break m}b=b+2|0;d=-1;if((b|0)==-1){break l}}b=J[J[e+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break l}d=b-1|0;if((b>>>0)%3|0){break l}d=b+2|0}J[f+88>>2]=d}b=J[f+88>>2];if((b|0)!=-1){continue}break}b=s>>31;d=b^r;e=d-b|0;b=(b^s)-((b>>>0>d>>>0)+b|0)|0;m=-1;d=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;n:{o:{if(!J[a+28>>2]){if((b|0)==(g|0)&e>>>0>k>>>0|b>>>0>g>>>0){break n}b=b+h|0;a=e+j|0;b=a>>>0>>0?b+1|0:b;d=a;g=i;a=g>>31;e=a;m=e^o;a=m-e|0;i=a;e=(e^g)-((e>>>0>m>>>0)+e|0)|0;a=a+d|0;e=e^2147483647;i=(e|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>e>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break n}b=0;a=a>>>29|0;break o}p:{if((b|0)==(g|0)&e>>>0>k>>>0|b>>>0>g>>>0){break p}b=b+h|0;a=e+j|0;b=a>>>0>>0?b+1|0:b;k=i;e=i>>31;h=e^o;i=h-e|0;j=(e^k)-((e>>>0>h>>>0)+e|0)|0;g=j^2147483647;e=a;a=i;if((g|0)==(b|0)&e>>>0>(a^-1)>>>0|b>>>0>g>>>0){break p}b=b+j|0;m=a+e|0;b=m>>>0>>0?b+1|0:b;d=b;if(!b&m>>>0<536870913){break n}}b=d>>>29|0;a=(d&536870911)<<3|m>>>29}o=Il(o,n,a,b);l=Il(l,q,a,b);r=Il(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;ba=f+96|0;return}ra();B()}ra();B()}ra();B()}function Jd(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,n=Q(0),o=0,p=0,q=0,r=0,s=0,t=Q(0);h=ba-80|0;ba=h;J[h+56>>2]=0;J[h+60>>2]=0;J[h+48>>2]=0;J[h+52>>2]=0;J[h+64>>2]=1065353216;c=J[a+80>>2];J[h+32>>2]=0;J[h+24>>2]=0;J[h+28>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=oa(f);J[h+24>>2]=k;c=f+k|0;J[h+32>>2]=c;pa(k,0,f);J[h+28>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=Hl(J[b+40>>2],J[b+44>>2],m,0);g=c;c=c+f|0;c=c+d|0;f=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);c=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[h+40>>2]=f;J[h+44>>2]=c;J[h+16>>2]=p;J[h+8>>2]=f;J[h+12>>2]=c;c=0;o=h+8|0;f=J[o+4>>2]^(J[o>>2]^318)+239;b:{c:{l=h+48|0;g=J[l+4>>2];if(!g){break c}d=Kl(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}j=J[J[l>>2]+(c<<2)>>2];if(!j){break c}if(d>>>0<2){break d}i=J[o+4>>2];r=J[o>>2];while(1){j=J[j>>2];if(!j){break c}d=J[j+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=J[j+8>>2];e:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break e}d=(i|0)==J[j+12>>2]}if(!d){continue}break}c=0;break b}c=f&g-1;j=J[J[l>>2]+(c<<2)>>2];if(!j){break c}}r=g-1|0;i=J[o+4>>2];s=J[o>>2];while(1){j=J[j>>2];if(!j){break c}d=J[j+4>>2];if((d|0)!=(f|0)&(d&r)!=(c|0)){break c}d=J[j+8>>2];f:{if((d|0)!=(s|0)){d=(d|0)==(s|0);break f}d=(i|0)==J[j+12>>2]}if(!d){continue}break}c=0;break b}j=oa(20);d=J[o+4>>2];J[j+8>>2]=J[o>>2];J[j+12>>2]=d;d=J[o+8>>2];J[j+4>>2]=f;J[j+16>>2]=d;J[j>>2]=0;n=Q(J[l+12>>2]+1>>>0);t=N[l+16>>2];g:{if(n>Q(t*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;n=Q(W(Q(n/t)));h:{if(n=Q(0)){i=~~n>>>0;break h}i=0}d=d>>>0>i>>>0?d:i;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=Ha(d);g=J[l+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}i=g>>>0<3;n=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));k:{if(n=Q(0)){d=~~n>>>0;break k}d=0}l:{m:{if(i){break m}if(Kl(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}db(l,c)}g=J[l+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[l>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=l+8|0;J[j>>2]=J[c>>2];J[l+8>>2]=j;J[f>>2]=c;c=J[j>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[l>>2]+(c<<2)|0;break o}J[j>>2]=J[c>>2]}J[c>>2]=j}J[l+12>>2]=J[l+12>>2]+1;c=1}H[h+76|0]=c;J[h+72>>2]=j;q:{if(!K[h+76|0]){J[(m<<2)+k>>2]=J[J[h+72>>2]+16>>2];break q}c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,p)|0,h+40|0,c);k=J[h+24>>2];J[k+(m<<2)>>2]=p;p=p+1|0}m=m+1|0;e=m?e:e+1|0;i=J[a+80>>2];if(!e&m>>>0>>0){continue}break}if((i|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];i=J[a+68>>2];if((b|0)==(i|0)){break r}b=b-i>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){m=e&-4;while(1){d=b<<2;e=d+i|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=i+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=i+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=i+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;q=q+4|0;if((m|0)!=(q|0)){continue}break}}if(!f){break r}while(1){e=i+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){Ma(e,i-c|0,2176);i=J[a+80>>2];break s}if(c>>>0<=i>>>0){break s}J[a+72>>2]=b+(i<<2)}if(!i){break r}d=J[e>>2];c=0;b=0;if(i>>>0>=4){m=i&-4;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;q=q+4|0;if((m|0)!=(q|0)){continue}break}}m=i&3;if(!m){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((m|0)!=(c|0)){continue}break}}J[a+80>>2]=p}na(k)}b=J[h+56>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[h+48>>2];J[h+48>>2]=0;if(a){na(a)}ba=h+80|0;return p}qa();B()}function fb(a){var 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;f=ba-32|0;ba=f;a:{b=J[a+16>>2];b:{if(b>>>0>=113){J[a+16>>2]=b-113;b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];c:{if((b|0)!=J[a+12>>2]){d=b;break c}k=J[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=ta(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break c}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=oa(e);l=e+h|0;e=h+(d&-4)|0;d=e;d:{if((b|0)==(c|0)){break d}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;e:{if(!g){b=e;break e}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break d}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break c}na(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}c=J[a+8>>2];b=J[a+4>>2];l=c-b|0;h=l>>2;g=J[a+12>>2];d=J[a>>2];e=g-d|0;if(h>>>0>2>>>0){if((c|0)!=(g|0)){n=f,o=oa(4068),J[n+8>>2]=o;d=a;f:{g:{b=J[a+8>>2];h:{if((b|0)!=J[a+12>>2]){e=b;break h}c=J[d+4>>2];h=J[d>>2];if(c>>>0>h>>>0){g=((c-h>>2)+1|0)/-2<<2;a=b-c|0;e=ta(g+c|0,c,a)+a|0;J[d+8>>2]=e;J[d+4>>2]=g+J[d+4>>2];break h}e=(b|0)==(h|0)?1:b-h>>1;if(e>>>0>=1073741824){break g}a=e<<2;j=oa(a);l=a+j|0;a=j+(e&-4)|0;e=a;i:{if((b|0)==(c|0)){break i}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;j:{if(!g){b=a;break j}e=0;b=a;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}}e=a+m|0;if(i>>>0<28){break i}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((e|0)!=(b|0)){continue}break}}J[d+12>>2]=l;J[d+8>>2]=e;J[d+4>>2]=a;J[d>>2]=j;if(!h){break h}na(h);e=J[d+8>>2]}J[e>>2]=J[f+8>>2];J[d+8>>2]=J[d+8>>2]+4;break f}xa();B()}break b}n=f,o=oa(4068),J[n+8>>2]=o;qe(a,f+8|0);b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];k:{if((b|0)!=J[a+12>>2]){d=b;break k}k=J[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=ta(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break k}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=oa(e);l=e+h|0;e=h+(d&-4)|0;d=e;l:{if((b|0)==(c|0)){break l}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;m:{if(!g){b=e;break m}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break l}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break k}na(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}J[f+24>>2]=a+12;m=(d|0)==(g|0)?1:e>>1;if(m>>>0>=1073741824){break a}e=m<<2;g=oa(e);J[f+8>>2]=g;j=e+g|0;J[f+20>>2]=j;d=(h<<2)+g|0;J[f+12>>2]=d;i=oa(4068);n:{if((h|0)!=(m|0)){break n}if((l|0)>0){d=((h+1|0)/-2<<2)+d|0;J[f+12>>2]=d;break n}d=(b|0)==(c|0)?1:l>>1;if(d>>>0>=1073741824){break a}b=d<<2;e=oa(b);J[f+8>>2]=e;j=b+e|0;J[f+20>>2]=j;d=e+(d&-4)|0;J[f+12>>2]=d;na(g);b=J[a+4>>2];c=J[a+8>>2];g=e}J[d>>2]=i;i=d+4|0;J[f+16>>2]=i;e=b;if((b|0)!=(c|0)){while(1){c=c-4|0;qe(f+8|0,c);if(J[a+4>>2]!=(c|0)){continue}break}j=J[f+20>>2];i=J[f+16>>2];d=J[f+12>>2];g=J[f+8>>2];e=c;b=J[a+8>>2]}c=J[a>>2];J[a>>2]=g;J[f+8>>2]=c;J[a+4>>2]=d;J[f+12>>2]=e;J[a+8>>2]=i;J[f+16>>2]=b;d=J[a+12>>2];J[a+12>>2]=j;J[f+20>>2]=d;if((b|0)!=(e|0)){J[f+16>>2]=((e-b|0)+3&-4)+b}if(!c){break b}na(c)}ba=f+32|0;return}xa();B()}function _k(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=ba-48|0;ba=k;J[a+68>>2]=f;o=a+112|0;za(o);d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[k+40>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+60|0;d=d>>>2|0;q=d>>>0<=1?1:d;r=c+4|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Tc(p,J[d+(n<<2)>>2],k+32|0);f=J[k+36>>2];d=f>>31;g=J[k+32>>2];e=g>>31;i=(d^f)-d+((e^g)-e)|0;h=J[k+40>>2];d=h>>31;e=(d^h)-d|0;d=0;m=e;e=e+i|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+108>>2];i=j;break b}j=J[a+108>>2];i=j>>31;f=Il(Hl(j,i,f,f>>31),ca,e,d);l=f>>31;i=Il(Hl(j,i,g,g>>31),ca,e,d);d=i>>31;d=(f^l)-l+((d^i)-d)|0;h=(h|0)<0?d-j|0:j-d|0}c:{if((i|0)>=0){e=f+j|0;l=h+j|0;break c}d:{if((f|0)<0){d=h>>31;e=(d^h)-d|0;break d}d=h>>31;e=J[a+100>>2]+(d-(d^h)|0)|0}if((h|0)<0){d=f>>31;l=(d^f)-d|0;break c}d=f>>31;l=J[a+100>>2]+(d-(d^f)|0)|0}d=J[a+100>>2];m=d;g=d;e:{if(!(e|l)){break e}if(!((d|0)!=(l|0)|e)){m=l;g=l;break e}if(!((d|0)!=(e|0)|l)){m=e;g=e;break e}if(!((j|0)>=(l|0)|e)){m=(j<<1)-l|0;g=0;break e}if(!((d|0)!=(e|0)|(j|0)<=(l|0))){m=(j<<1)-l|0;g=e;break e}if(!((d|0)!=(l|0)|(e|0)>=(j|0))){m=l;g=(j<<1)-e|0;break e}if(l){m=l;g=e;break e}m=0;g=e;if((e|0)<=(j|0)){break e}g=(j<<1)-e|0}J[k+28>>2]=m;J[k+24>>2]=g;J[k+40>>2]=0-h;J[k+36>>2]=0-f;J[k+32>>2]=0-i;f:{if((i|0)<=0){i=j-h|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;i=(h|0)>0?e:d-e|0;e=h>>31;e=(e^h)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|i)){i=d;break g}if(!((d|0)!=(i|0)|e)){i=d;break g}f=(d|0)!=(e|0);if(!(i|f)){i=d;break g}if(!((i|0)<=(j|0)|e)){i=(j<<1)-i|0;d=0;break g}if(!((i|0)>=(j|0)|f)){i=(j<<1)-i|0;break g}if(!((d|0)!=(i|0)|(e|0)>=(j|0))){i=d;d=(j<<1)-e|0;break g}if(i){d=e;break g}i=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}J[k+20>>2]=i;J[k+16>>2]=d;h=J[a+8>>2];h:{if((h|0)<=0){break h}l=(n<<3)+b|0;i=J[a+32>>2];e=0;g=k+24|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];i:{if((m|0)>(h|0)){J[d+j>>2]=h;break i}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break i}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}}f=e<<2;d=f+(k+8|0)|0;g=J[f+l>>2]-J[f+j>>2]|0;J[d>>2]=g;f=d;d=J[a+28>>2];j:{if((g|0)<(d|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break j}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}if((h|0)<=0){break h}i=J[a+32>>2];e=0;g=k+16|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];k:{if((m|0)>(h|0)){J[d+j>>2]=h;break k}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break k}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}d=J[a+28>>2]}g=e<<2;f=g+k|0;g=J[g+l>>2]-J[j+g>>2]|0;J[f>>2]=g;l:{if((d|0)>(g|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break l}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}}f=J[k+8>>2];e=J[a+108>>2];m:{if((f|0)>(e|0)){f=f-J[a+96>>2]|0;break m}if((0-e|0)<=(f|0)){break m}f=J[a+96>>2]+f|0}J[k+8>>2]=f;h=J[k+12>>2];n:{if((e|0)<(h|0)){h=h-J[a+96>>2]|0;break n}if((0-e|0)<=(h|0)){break n}h=J[a+96>>2]+h|0}J[k+12>>2]=h;d=J[k>>2];o:{if((e|0)<(d|0)){d=d-J[a+96>>2]|0;break o}if((0-e|0)<=(d|0)){break o}d=J[a+96>>2]+d|0}g=n<<1;J[k>>2]=d;i=J[k+4>>2];p:{if((e|0)<(i|0)){i=i-J[a+96>>2]|0;break p}if((0-e|0)<=(i|0)){break p}i=J[a+96>>2]+i|0}J[k+4>>2]=i;e=h>>31;e=(e^h)-e|0;l=f>>31;l=(l^f)-l|0;m=l>>>0>(e^2147483647)>>>0?2147483647:e+l|0;e=i>>31;e=(e^i)-e|0;l=d>>31;l=(l^d)-l|0;e=m>>>0>=(l>>>0>(e^2147483647)>>>0?2147483647:e+l|0)>>>0;Ca(o,e);g=g<<2;d=e?d:f;J[g+c>>2]=(J[a+96>>2]&d>>31)+d;d=e?i:h;J[g+r>>2]=(J[a+96>>2]&d>>31)+d;n=n+1|0;if((q|0)!=(n|0)){continue}break}}ba=k+48|0;return 1}ra();B()}function Qk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=ba-48|0;ba=k;J[a+68>>2]=f;o=a+112|0;za(o);d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[k+40>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+60|0;d=d>>>2|0;q=d>>>0<=1?1:d;r=c+4|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Rc(p,J[d+(n<<2)>>2],k+32|0);f=J[k+36>>2];d=f>>31;g=J[k+32>>2];e=g>>31;i=(d^f)-d+((e^g)-e)|0;h=J[k+40>>2];d=h>>31;e=(d^h)-d|0;d=0;m=e;e=e+i|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+108>>2];i=j;break b}j=J[a+108>>2];i=j>>31;f=Il(Hl(j,i,f,f>>31),ca,e,d);l=f>>31;i=Il(Hl(j,i,g,g>>31),ca,e,d);d=i>>31;d=(f^l)-l+((d^i)-d)|0;h=(h|0)<0?d-j|0:j-d|0}c:{if((i|0)>=0){e=f+j|0;l=h+j|0;break c}d:{if((f|0)<0){d=h>>31;e=(d^h)-d|0;break d}d=h>>31;e=J[a+100>>2]+(d-(d^h)|0)|0}if((h|0)<0){d=f>>31;l=(d^f)-d|0;break c}d=f>>31;l=J[a+100>>2]+(d-(d^f)|0)|0}d=J[a+100>>2];m=d;g=d;e:{if(!(e|l)){break e}if(!((d|0)!=(l|0)|e)){m=l;g=l;break e}if(!((d|0)!=(e|0)|l)){m=e;g=e;break e}if(!((j|0)>=(l|0)|e)){m=(j<<1)-l|0;g=0;break e}if(!((d|0)!=(e|0)|(j|0)<=(l|0))){m=(j<<1)-l|0;g=e;break e}if(!((d|0)!=(l|0)|(e|0)>=(j|0))){m=l;g=(j<<1)-e|0;break e}if(l){m=l;g=e;break e}m=0;g=e;if((e|0)<=(j|0)){break e}g=(j<<1)-e|0}J[k+28>>2]=m;J[k+24>>2]=g;J[k+40>>2]=0-h;J[k+36>>2]=0-f;J[k+32>>2]=0-i;f:{if((i|0)<=0){i=j-h|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;i=(h|0)>0?e:d-e|0;e=h>>31;e=(e^h)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|i)){i=d;break g}if(!((d|0)!=(i|0)|e)){i=d;break g}f=(d|0)!=(e|0);if(!(i|f)){i=d;break g}if(!((i|0)<=(j|0)|e)){i=(j<<1)-i|0;d=0;break g}if(!((i|0)>=(j|0)|f)){i=(j<<1)-i|0;break g}if(!((d|0)!=(i|0)|(e|0)>=(j|0))){i=d;d=(j<<1)-e|0;break g}if(i){d=e;break g}i=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}J[k+20>>2]=i;J[k+16>>2]=d;h=J[a+8>>2];h:{if((h|0)<=0){break h}l=(n<<3)+b|0;i=J[a+32>>2];e=0;g=k+24|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];i:{if((m|0)>(h|0)){J[d+j>>2]=h;break i}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break i}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}}f=e<<2;d=f+(k+8|0)|0;g=J[f+l>>2]-J[f+j>>2]|0;J[d>>2]=g;f=d;d=J[a+28>>2];j:{if((g|0)<(d|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break j}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}if((h|0)<=0){break h}i=J[a+32>>2];e=0;g=k+16|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];k:{if((m|0)>(h|0)){J[d+j>>2]=h;break k}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break k}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}d=J[a+28>>2]}g=e<<2;f=g+k|0;g=J[g+l>>2]-J[j+g>>2]|0;J[f>>2]=g;l:{if((d|0)>(g|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break l}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}}f=J[k+8>>2];e=J[a+108>>2];m:{if((f|0)>(e|0)){f=f-J[a+96>>2]|0;break m}if((0-e|0)<=(f|0)){break m}f=J[a+96>>2]+f|0}J[k+8>>2]=f;h=J[k+12>>2];n:{if((e|0)<(h|0)){h=h-J[a+96>>2]|0;break n}if((0-e|0)<=(h|0)){break n}h=J[a+96>>2]+h|0}J[k+12>>2]=h;d=J[k>>2];o:{if((e|0)<(d|0)){d=d-J[a+96>>2]|0;break o}if((0-e|0)<=(d|0)){break o}d=J[a+96>>2]+d|0}g=n<<1;J[k>>2]=d;i=J[k+4>>2];p:{if((e|0)<(i|0)){i=i-J[a+96>>2]|0;break p}if((0-e|0)<=(i|0)){break p}i=J[a+96>>2]+i|0}J[k+4>>2]=i;e=h>>31;e=(e^h)-e|0;l=f>>31;l=(l^f)-l|0;m=l>>>0>(e^2147483647)>>>0?2147483647:e+l|0;e=i>>31;e=(e^i)-e|0;l=d>>31;l=(l^d)-l|0;e=m>>>0>=(l>>>0>(e^2147483647)>>>0?2147483647:e+l|0)>>>0;Ca(o,e);g=g<<2;d=e?d:f;J[g+c>>2]=(J[a+96>>2]&d>>31)+d;d=e?i:h;J[g+r>>2]=(J[a+96>>2]&d>>31)+d;n=n+1|0;if((q|0)!=(n|0)){continue}break}}ba=k+48|0;return 1}ra();B()}function Ef(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);h=ba+-64|0;ba=h;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+48>>2]=1065353216;c=J[a+80>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=oa(f);J[h+16>>2]=k;c=f+k|0;J[h+24>>2]=c;pa(k,0,f);J[h+20>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=Hl(J[b+40>>2],J[b+44>>2],n,0);g=c;c=c+f|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[h+28>>2]=c;J[h+12>>2]=q;J[h+8>>2]=c;c=0;p=h+8|0;f=L[p+2>>1]^(L[p>>1]^318)+239;b:{c:{m=h+32|0;g=J[m+4>>2];if(!g){break c}d=Kl(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}j=L[p>>1];l=L[p+2>>1];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=L[i+8>>1];e:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==L[i+10>>1]}if(!d){continue}break}c=0;break b}c=f&g+131071;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=g-1|0;r=L[p>>1];l=L[p+2>>1];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(f|0)&(d&j)!=(c|0)){break c}d=L[i+8>>1];f:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=(l|0)==L[i+10>>1]}if(!d){continue}break}c=0;break b}i=oa(16);J[i+8>>2]=J[p>>2];d=J[p+4>>2];J[i+4>>2]=f;J[i+12>>2]=d;J[i>>2]=0;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;o=Q(W(Q(o/s)));h:{if(o=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=Ha(d);g=J[m+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}l=g>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(Kl(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}db(m,c)}g=J[m+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[m>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[f>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[h+60|0]=c;J[h+56>>2]=i;q:{if(!K[h+60|0]){J[(n<<2)+k>>2]=J[J[h+56>>2]+12>>2];break q}c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,q)|0,h+28|0,c);k=J[h+16>>2];J[k+(n<<2)>>2]=q;q=q+1|0}n=n+1|0;e=n?e:e+1|0;j=J[a+80>>2];if(!e&n>>>0>>0){continue}break}if((j|0)!=(q|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){n=e&-4;l=0;while(1){d=b<<2;e=d+j|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!f){break r}while(1){e=j+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){Ma(e,j-c|0,2176);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[e>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=q}na(k)}b=J[h+40>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[h+32>>2];J[h+32>>2]=0;if(a){na(a)}ba=h- -64|0;return q}qa();B()}function Jg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;p=ba-32|0;ba=p;a:{if((c|0)<=0){break a}t=c&3;b:{if(c>>>0<4){c=0;break b}z=c&-4;c=0;while(1){g=(c<<3)+b|0;s=J[g>>2];u=J[g+4>>2];v=c|1;g=(v<<3)+b|0;i=J[g>>2];w=c|2;h=(w<<3)+b|0;m=J[h>>2];x=c|3;j=(x<<3)+b|0;y=J[j>>2];g=J[g+4>>2];h=J[h+4>>2];j=J[j+4>>2];n=j|y?x:h|m?w:g|i?v:s|u?c:n;f=f+u|0;e=e+s|0;f=(e>>>0>>0?f+1|0:f)+g|0;g=e;e=e+i|0;f=(g>>>0>e>>>0?f+1|0:f)+h|0;g=e;e=e+m|0;f=(g>>>0>e>>>0?f+1|0:f)+j|0;g=e;e=e+y|0;f=g>>>0>e>>>0?f+1|0:f;c=c+4|0;l=l+4|0;if((z|0)!=(l|0)){continue}break}}if(!t){break a}while(1){g=(c<<3)+b|0;i=J[g>>2];g=J[g+4>>2];n=i|g?c:n;c=c+1|0;f=f+g|0;e=e+i|0;f=e>>>0>>0?f+1|0:f;o=o+1|0;if((t|0)!=(o|0)){continue}break}}m=n+1|0;J[a+12>>2]=m;c=J[a>>2];g=J[a+4>>2]-c>>3;c:{if(g>>>0>>0){Wa(a,m-g|0);break c}if(g>>>0<=m>>>0){break c}J[a+4>>2]=c+(m<<3)}j=0;d:{e:{f:{g:{h:{if((n|0)>=0){k=+(e>>>0)+ +(f>>>0)*4294967296;i=J[a>>2];c=0;while(1){f=c<<3;e=f+b|0;h=J[e>>2];e=J[e+4>>2];g=(h|e)!=0;l=f+i|0;r=(+(h>>>0)+ +(e>>>0)*4294967296)/k*4096+.5;i:{if(r<4294967296&r>=0){e=~~r>>>0;break i}e=0}e=e?e:g?1:e;J[l>>2]=e;j=e+j|0;e=(c|0)==(n|0);c=c+1|0;if(!e){continue}break}if((j|0)==4096){break h}}J[p+16>>2]=0;J[p+8>>2]=0;J[p+12>>2]=0;i=0;j:{if(!m){break j}if(m>>>0>=1073741824){break g}g=m<<2;q=oa(g);J[p+8>>2]=q;l=0;h=pa(q,0,g);c=0;if(n>>>0>=7){f=m&-8;while(1){J[h+(c<<2)>>2]=c;e=c|1;J[h+(e<<2)>>2]=e;e=c|2;J[h+(e<<2)>>2]=e;e=c|3;J[h+(e<<2)>>2]=e;e=c|4;J[h+(e<<2)>>2]=e;e=c|5;J[h+(e<<2)>>2]=e;e=c|6;J[h+(e<<2)>>2]=e;e=c|7;J[h+(e<<2)>>2]=e;c=c+8|0;i=i+8|0;if((f|0)!=(i|0)){continue}break}}i=h+g|0;e=m&7;if(!e){break j}while(1){J[h+(c<<2)>>2]=c;c=c+1|0;l=l+1|0;if((e|0)!=(l|0)){continue}break}}J[p+24>>2]=a;c=i-q|0;e=c>>2;k:{l:{if((c|0)>=513){c=e;while(1){f=oa(c<<2);if(f){break l}f=c>>>0>1;c=c>>>1|0;if(f){continue}break}}hc(q,i,p+24|0,e,0,0);break k}hc(q,i,p+24|0,e,f,c);na(f)}if((j|0)<4096){c=J[a>>2]+(J[i-4>>2]<<3)|0;J[c>>2]=(J[c>>2]-j|0)+4096;c=0;break f}if((n|0)>0){f=J[a>>2];o=j-4096|0;while(1){r=4096/+(j|0);l=n;while(1){m:{n:{e=f+(J[(l<<2)+q>>2]<<3)|0;c=J[e>>2];if(c>>>0>=2){h=e;i=c;k=V(r*+(c>>>0));o:{if(R(k)<2147483648){g=~~k;break o}g=-2147483648}e=(c|0)==(g|0)?1:c-g|0;c=(c|0)>(e|0)?e:c-1|0;c=(c|0)<(o|0)?c:o;J[h>>2]=i-c;o=o-c|0;j=j-c|0;if((j|0)!=4096){break n}j=4096;break m}if((n|0)!=(l|0)){break m}c=1;break f}c=(l|0)>1;l=l-1|0;if(c){continue}}break}c=0;if((o|0)>0){continue}break}break f}c=0;if(j>>>0<4097){break f}while(1)continue}if((n|0)<0){break d}break e}qa();B()}e=J[p+8>>2];if(e){na(e)}if((n|0)<0|c){break d}}h=J[a>>2];j=0;o=0;c=0;if(n>>>0>=3){g=m&-4;q=0;while(1){i=o<<3;f=i+h|0;J[f+4>>2]=c;e=h+(i|8)|0;c=J[f>>2]+c|0;J[e+4>>2]=c;f=h+(i|16)|0;c=c+J[e>>2]|0;J[f+4>>2]=c;e=h+(i|24)|0;c=c+J[f>>2]|0;J[e+4>>2]=c;c=c+J[e>>2]|0;o=o+4|0;q=q+4|0;if((g|0)!=(q|0)){continue}break}}f=m&3;if(f){while(1){e=h+(o<<3)|0;J[e+4>>2]=c;o=o+1|0;c=J[e>>2]+c|0;j=j+1|0;if((f|0)!=(j|0)){continue}break}}if((c|0)!=4096){break d}c=0;k=0;p:{if((n|0)<0){break p}h=J[a>>2];if(n){i=m&-2;l=0;while(1){e=c<<3;g=J[e+h>>2];if(g){f=b+e|0;k=(+M[f>>2]+ +M[f+4>>2]*4294967296)*va(+(g>>>0)*.000244140625)+k}e=(c|1)<<3;g=J[e+h>>2];if(g){f=b+e|0;k=(+M[f>>2]+ +M[f+4>>2]*4294967296)*va(+(g>>>0)*.000244140625)+k}c=c+2|0;l=l+2|0;if((i|0)!=(l|0)){continue}break}}if(!(m&1)){break p}c=c<<3;e=J[c+h>>2];if(!e){break p}c=b+c|0;k=(+M[c>>2]+ +M[c+4>>2]*4294967296)*va(+(e>>>0)*.000244140625)+k}k=W(-k);q:{if(k<0x10000000000000000&k>=0){c=~~k>>>0;b=R(k)>=1?~~(k>0?T(V(k*2.3283064365386963e-10),4294967295):W((k-+(~~k>>>0>>>0))*2.3283064365386963e-10))>>>0:0;break q}c=0;b=0}J[a+16>>2]=c;J[a+20>>2]=b;Va(a,d)}ba=p+32|0}function Kk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=ba-48|0;ba=b;g=J[J[a+4>>2]+48>>2];J[b+8>>2]=J[a+12>>2];c=oa(32);J[b+24>>2]=c;J[b+28>>2]=17;J[b+32>>2]=-2147483616;H[c+16|0]=K[1261];f=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);e=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);e=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+17|0]=0;c=jb(g,b+8|0,b+24|0,-1);if(H[b+35|0]<0){na(J[b+24>>2])}J[b+32>>2]=-1;J[b+36>>2]=1065353216;J[b+24>>2]=-1;J[b+28>>2]=-1;J[b+40>>2]=-1;c=-1<>>0>28){break a}J[b+24>>2]=c+1;c=-2<>2]=c^-1;c=c^-2;J[b+32>>2]=c;J[b+40>>2]=c>>1;N[b+36>>2]=Q(2)/Q(c|0)}g=bh(J[a+12>>2],J[a+4>>2]);h=J[J[a+4>>2]+48>>2];J[b+20>>2]=J[a+12>>2];c=oa(32);J[b+8>>2]=c;J[b+12>>2]=17;J[b+16>>2]=-2147483616;H[c+16|0]=K[1529];f=K[1525]|K[1526]<<8|(K[1527]<<16|K[1528]<<24);e=K[1521]|K[1522]<<8|(K[1523]<<16|K[1524]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1517]|K[1518]<<8|(K[1519]<<16|K[1520]<<24);e=K[1513]|K[1514]<<8|(K[1515]<<16|K[1516]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+17|0]=0;c=jb(h,b+20|0,b+8|0,g);if(H[b+19|0]<0){na(J[b+8>>2])}b:{c:{d:{switch(c|0){case 6:e=J[a+4>>2];h=J[a+12>>2];a=J[J[J[e+4>>2]+8>>2]+(h<<2)>>2];if((da[J[J[e>>2]+8>>2]](e)|0)!=1){break c}c=b+24|0;f=ba-32|0;ba=f;i=J[J[J[e+4>>2]+8>>2]+(h<<2)>>2];e:{if((da[J[J[e>>2]+8>>2]](e)|0)!=1){break e}j=da[J[J[e>>2]+52>>2]](e)|0;g=da[J[J[e>>2]+60>>2]](e,h)|0;if(!j|!g){break e}d=da[J[J[e>>2]+56>>2]](e,h)|0;if(d){e=J[e+56>>2];J[f+20>>2]=d;J[f+16>>2]=e;J[f+28>>2]=g;J[f+24>>2]=g+12;d=oa(128);J[d+4>>2]=i;e=J[c+4>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=e;e=J[c+12>>2];J[d+16>>2]=J[c+8>>2];J[d+20>>2]=e;J[d+24>>2]=J[c+16>>2];c=J[f+20>>2];J[d+28>>2]=J[f+16>>2];J[d+32>>2]=c;c=J[f+28>>2];J[d+36>>2]=J[f+24>>2];J[d+40>>2]=c;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=7524;c=J[f+20>>2];J[d+56>>2]=J[f+16>>2];J[d+60>>2]=c;e=J[f+28>>2];c=d- -64|0;J[c>>2]=J[f+24>>2];J[c+4>>2]=e;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=7784;J[d+96>>2]=0;J[d+100>>2]=0;J[d+120>>2]=0;J[d+124>>2]=0;J[d+112>>2]=0;J[d+116>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0;break e}d=J[e+56>>2];J[f+20>>2]=j;J[f+16>>2]=d;J[f+28>>2]=g;J[f+24>>2]=g+12;d=oa(128);J[d+4>>2]=i;e=J[c+4>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=e;e=J[c+12>>2];J[d+16>>2]=J[c+8>>2];J[d+20>>2]=e;J[d+24>>2]=J[c+16>>2];c=J[f+20>>2];J[d+28>>2]=J[f+16>>2];J[d+32>>2]=c;c=J[f+28>>2];J[d+36>>2]=J[f+24>>2];J[d+40>>2]=c;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=9148;c=J[f+20>>2];J[d+56>>2]=J[f+16>>2];J[d+60>>2]=c;e=J[f+28>>2];c=d- -64|0;J[c>>2]=J[f+24>>2];J[c+4>>2]=e;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=9392;J[d+96>>2]=0;J[d+100>>2]=0;J[d+120>>2]=0;J[d+124>>2]=0;J[d+112>>2]=0;J[d+116>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0}ba=f+32|0;if(!d){break c}break b;case 0:break d;default:break b}}c=J[a+4>>2];a=J[J[J[c+4>>2]+8>>2]+(J[a+12>>2]<<2)>>2];if((da[J[J[c>>2]+8>>2]](c)|0)!=1){break c}da[J[J[c>>2]+8>>2]](c)|0}d=oa(28);J[d+4>>2]=a;a=J[b+28>>2];J[d+8>>2]=J[b+24>>2];J[d+12>>2]=a;a=J[b+36>>2];J[d+16>>2]=J[b+32>>2];J[d+20>>2]=a;J[d+24>>2]=J[b+40>>2];J[d>>2]=9804}ba=b+48|0;return d|0}function Nf(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);h=ba+-64|0;ba=h;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+48>>2]=1065353216;c=J[a+80>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=oa(f);J[h+16>>2]=k;c=f+k|0;J[h+24>>2]=c;pa(k,0,f);J[h+20>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=Hl(J[b+40>>2],J[b+44>>2],n,0);g=c;c=c+f|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8;I[h+30>>1]=c;J[h+12>>2]=q;I[h+8>>1]=c;c=0;p=h+8|0;f=K[p+1|0]^(K[p|0]^318)+239;b:{c:{m=h+32|0;g=J[m+4>>2];if(!g){break c}d=Kl(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}j=K[p|0];l=K[p+1|0];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=K[i+8|0];e:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==K[i+9|0]}if(!d){continue}break}c=0;break b}c=f&g+1023;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=g-1|0;r=K[p|0];l=K[p+1|0];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(f|0)&(d&j)!=(c|0)){break c}d=K[i+8|0];f:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=(l|0)==K[i+9|0]}if(!d){continue}break}c=0;break b}i=oa(16);I[i+8>>1]=L[p>>1];d=J[p+4>>2];J[i+4>>2]=f;J[i+12>>2]=d;J[i>>2]=0;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;o=Q(W(Q(o/s)));h:{if(o=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=Ha(d);g=J[m+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}l=g>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(Kl(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}db(m,c)}g=J[m+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[m>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[f>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[h+60|0]=c;J[h+56>>2]=i;q:{if(!K[h+60|0]){J[(n<<2)+k>>2]=J[J[h+56>>2]+12>>2];break q}c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,q)|0,h+30|0,c);k=J[h+16>>2];J[k+(n<<2)>>2]=q;q=q+1|0}n=n+1|0;e=n?e:e+1|0;j=J[a+80>>2];if(!e&n>>>0>>0){continue}break}if((j|0)!=(q|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){n=e&-4;l=0;while(1){d=b<<2;e=d+j|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!f){break r}while(1){e=j+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){Ma(e,j-c|0,2176);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[e>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=q}na(k)}b=J[h+40>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[h+32>>2];J[h+32>>2]=0;if(a){na(a)}ba=h- -64|0;return q}qa();B()}function Vg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0;h=ba-16|0;ba=h;J[h+12>>2]=b;b=oa(32);J[h>>2]=b;J[h+4>>2]=17;J[h+8>>2]=-2147483616;H[b+16|0]=K[1261];g=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);i=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=i;H[b+9|0]=i>>>8;H[b+10|0]=i>>>16;H[b+11|0]=i>>>24;H[b+12|0]=g;H[b+13|0]=g>>>8;H[b+14|0]=g>>>16;H[b+15|0]=g>>>24;g=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);i=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=i;H[b+1|0]=i>>>8;H[b+2|0]=i>>>16;H[b+3|0]=i>>>24;H[b+4|0]=g;H[b+5|0]=g>>>8;H[b+6|0]=g>>>16;H[b+7|0]=g>>>24;H[b+17|0]=0;i=a+4|0;Wg(i,h+12|0,h,c);if(H[h+11|0]<0){na(J[h>>2])}a=oa(32);J[h>>2]=a;J[h+4>>2]=19;J[h+8>>2]=-2147483616;b=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[a+15|0]=b;H[a+16|0]=b>>>8;H[a+17|0]=b>>>16;H[a+18|0]=b>>>24;b=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);c=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);c=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+19|0]=0;g=ba-48|0;ba=g;j=J[h+12>>2];a=i+16|0;c=J[a>>2];a:{b:{if(!c){break b}b=a;while(1){k=(j|0)>J[c+16>>2];b=k?b:c;c=J[(k?c+4|0:c)>>2];if(c){continue}break}if((a|0)==(b|0)){break b}if((j|0)>=J[b+16>>2]){break a}}J[g+28>>2]=0;J[g+32>>2]=0;c=g+24|0;J[g+24>>2]=c|4;a=g+16|0;J[a>>2]=0;J[a+4>>2]=0;J[g+8>>2]=j;J[g+12>>2]=a;a=g+8|0;Oc(g+40|0,i+12|0,a,a);b=J[g+40>>2];Da(a|4,J[g+16>>2]);Da(c,J[g+28>>2])}b=b+20|0;a=ba-48|0;ba=a;J[a+24>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;c:{if((d|0)<=0){break c}gd(a,N[e>>2]);c=K[a+11|0];j=c<<24>>24<0;jd(a+16|0,j?J[a>>2]:a,j?J[a+4>>2]:c);if(H[a+11|0]<0){na(J[a>>2])}c=1;if((d|0)==1){break c}while(1){j=a+16|0;jd(j,2020,rb(2020));gd(a,N[(c<<2)+e>>2]);l=j;j=K[a+11|0];k=j<<24>>24<0;jd(l,k?J[a>>2]:a,k?J[a+4>>2]:j);if(H[a+11|0]<0){na(J[a>>2])}c=c+1|0;if((d|0)!=(c|0)){continue}break}}J[a+40>>2]=h;ge(a,b,h,a+40|0);d=J[a>>2];b=d+28|0;d:{if((b|0)==(a+16|0)){break d}e=K[a+27|0];c=e<<24>>24;if(H[d+39|0]>=0){if((c|0)>=0){c=J[a+20>>2];J[b>>2]=J[a+16>>2];J[b+4>>2]=c;J[b+8>>2]=J[a+24>>2];break d}hd(b,J[a+16>>2],J[a+20>>2]);break d}d=b;b=(c|0)<0;id(d,b?J[a+16>>2]:a+16|0,b?J[a+20>>2]:e)}if(H[a+27|0]<0){na(J[a+16>>2])}ba=a+48|0;ba=g+48|0;if(H[h+11|0]<0){na(J[h>>2])}a=oa(32);J[h>>2]=a;J[h+4>>2]=18;J[h+8>>2]=-2147483616;b=K[1547]|K[1548]<<8;H[a+16|0]=b;H[a+17|0]=b>>>8;b=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);c=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);c=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+18|0]=0;b=ba-48|0;ba=b;c=J[h+12>>2];a=i+16|0;e=J[a>>2];e:{f:{if(!e){break f}d=a;while(1){g=(c|0)>J[e+16>>2];d=g?d:e;e=J[(g?e+4|0:e)>>2];if(e){continue}break}if((a|0)==(d|0)){break f}if((c|0)>=J[d+16>>2]){break e}}J[b+28>>2]=0;J[b+32>>2]=0;e=b+24|0;J[b+24>>2]=e|4;a=b+16|0;J[a>>2]=0;J[a+4>>2]=0;J[b+8>>2]=c;J[b+12>>2]=a;a=b+8|0;Oc(b+40|0,i+12|0,a,a);d=J[b+40>>2];Da(a|4,J[b+16>>2]);Da(e,J[b+28>>2])}a=ba-48|0;ba=a;gd(a+8|0,f);J[a+32>>2]=h;ge(a+40|0,d+20|0,h,a+32|0);c=J[a+40>>2];if(H[c+39|0]<0){na(J[c+28>>2])}d=J[a+12>>2];J[c+28>>2]=J[a+8>>2];J[c+32>>2]=d;J[c+36>>2]=J[a+16>>2];ba=a+48|0;ba=b+48|0;if(H[h+11|0]<0){na(J[h>>2])}ba=h+16|0}function lk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0);f=ba-32|0;ba=f;J[f+28>>2]=c;a:{if(!me(a,b,c)){break a}i=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];if(J[i+28>>2]!=9){break a}g=J[b+48>>2];c=oa(32);J[f+16>>2]=c;J[f+20>>2]=17;J[f+24>>2]=-2147483616;H[c+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);h=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[c+8|0]=h;H[c+9|0]=h>>>8;H[c+10|0]=h>>>16;H[c+11|0]=h>>>24;H[c+12|0]=e;H[c+13|0]=e>>>8;H[c+14|0]=e>>>16;H[c+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);h=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[c|0]=h;H[c+1|0]=h>>>8;H[c+2|0]=h>>>16;H[c+3|0]=h>>>24;H[c+4|0]=e;H[c+5|0]=e>>>8;H[c+6|0]=e>>>16;H[c+7|0]=e>>>24;H[c+17|0]=0;h=jb(g,f+28|0,f+16|0,-1);if(H[f+27|0]<0){na(J[f+16>>2])}if((h|0)<=0){break a}j=J[b+48>>2];c=oa(32);J[f+16>>2]=c;J[f+20>>2]=19;J[f+24>>2]=-2147483616;e=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[c+15|0]=e;H[c+16|0]=e>>>8;H[c+17|0]=e>>>16;H[c+18|0]=e>>>24;e=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);g=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[c+8|0]=g;H[c+9|0]=g>>>8;H[c+10|0]=g>>>16;H[c+11|0]=g>>>24;H[c+12|0]=e;H[c+13|0]=e>>>8;H[c+14|0]=e>>>16;H[c+15|0]=e>>>24;e=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);g=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[c|0]=g;H[c+1|0]=g>>>8;H[c+2|0]=g>>>16;H[c+3|0]=g>>>24;H[c+4|0]=e;H[c+5|0]=e>>>8;H[c+6|0]=e>>>16;H[c+7|0]=e>>>24;H[c+19|0]=0;b:{if(!yc(j,f+28|0,f+16|0)){break b}g=J[b+48>>2];c=oa(32);J[f>>2]=c;J[f+4>>2]=18;J[f+8>>2]=-2147483616;d=K[1547]|K[1548]<<8;H[c+16|0]=d;H[c+17|0]=d>>>8;d=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);e=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);e=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+18|0]=0;d=yc(g,f+28|0,f);if(H[f+11|0]>=0){break b}na(J[f>>2])}if(H[f+27|0]<0){na(J[f+16>>2])}c:{if(d){c=0;d=K[i+24|0];if(d){d=d<<2;c=oa(d);pa(c,0,d)}j=J[b+48>>2];d=oa(32);J[f+16>>2]=d;J[f+20>>2]=19;J[f+24>>2]=-2147483616;e=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[d+15|0]=e;H[d+16|0]=e>>>8;H[d+17|0]=e>>>16;H[d+18|0]=e>>>24;e=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);g=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[d+8|0]=g;H[d+9|0]=g>>>8;H[d+10|0]=g>>>16;H[d+11|0]=g>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);g=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[d|0]=g;H[d+1|0]=g>>>8;H[d+2|0]=g>>>16;H[d+3|0]=g>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;H[d+19|0]=0;De(j,f+28|0,f+16|0,K[i+24|0],c);if(H[f+27|0]<0){na(J[f+16>>2])}g=J[b+48>>2];b=oa(32);J[f+16>>2]=b;J[f+20>>2]=18;J[f+24>>2]=-2147483616;d=K[1547]|K[1548]<<8;H[b+16|0]=d;H[b+17|0]=d>>>8;d=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);e=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);e=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;H[b+18|0]=0;k=Ce(g,f+28|0,f+16|0);if(H[f+27|0]<0){na(J[f+16>>2])}a=ch(a+40|0,h,c,K[i+24|0],k);if(c){na(c)}d=0;if(a){break c}break a}d=0;if(!_g(a+40|0,i,h)){break a}}d=1}ba=f+32|0;return d|0}function _f(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,n=0,o=0,p=0,q=0,r=0,s=0;k=ba-32|0;ba=k;c=J[a+16>>2];J[a+20>>2]=c;a:{b:{c:{d:{e:{f:{g:{if((c|0)!=J[a+24>>2]){J[c>>2]=b;b=c+4|0;J[a+20>>2]=b;d=c;break g}d=oa(4);J[d>>2]=b;b=d+4|0;J[a+24>>2]=b;J[a+20>>2]=b;J[a+16>>2]=d;if(c){break f}}c=J[a+8>>2];c=J[c+100>>2]-J[c+96>>2]|0;break e}na(c);b=J[a+20>>2];d=J[a+16>>2];if((b|0)==(d|0)){break d}c=J[a+8>>2];c=J[c+100>>2]-J[c+96>>2]|0}if((c|0)>0){r=a+120|0;m=a+200|0;c=(c|0)/12|0;s=(c|0)<=1?1:c;while(1){h:{i:{d=b-4|0;b=J[d>>2];if((b|0)==-1){break i}c=(b>>>0)/3|0;if(J[J[a+28>>2]+(c>>>3&268435452)>>2]>>>c&1){break i}n=0;while(1){J[a+164>>2]=J[a+164>>2]+1;e=b;h=(b>>>0)/3|0;g=(b|0)==-1;o=g?-1:h;b=J[a+28>>2]+(o>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];j:{if((b|0)!=J[a+80>>2]){J[b>>2]=e;J[a+76>>2]=b+4;break j}j=J[a+72>>2];l=b-j|0;d=l>>2;i=d+1|0;if(i>>>0>1073741823){break c}c=l>>>1|0;i=l>>>0>=2147483644?1073741823:c>>>0>i>>>0?c:i;if(i){if(i>>>0>1073741823){break a}c=oa(i<<2)}else{c=0}f=c+(d<<2)|0;J[f>>2]=e;d=f+4|0;if((b|0)!=(j|0)){while(1){f=f-4|0;b=b-4|0;J[f>>2]=J[b>>2];if((b|0)!=(j|0)){continue}break}}J[a+80>>2]=c+(i<<2);J[a+76>>2]=d;J[a+72>>2]=f;if(!j){break j}na(j)}J[a+320>>2]=e;b=-1;f=J[a+12>>2];b=(e|0)!=-1?J[J[f>>2]+(e<<2)>>2]:b;i=b<<2;q=J[i+J[a+152>>2]>>2];k:{l:{d=J[a+84>>2]+(b>>>3&536870908)|0;c=J[d>>2];b=1<>2]=b|c;if((q|0)==-1){break l}}m:{if(g){break m}b=-1;c=e+1|0;g=(c>>>0)%3|0?c:e-2|0;if((g|0)!=-1){b=J[J[f+12>>2]+(g<<2)>>2]}j=e-P(h,3)|0;n:{o:{if(j){d=e-1|0;break o}d=e+2|0;c=-1;if((d|0)==-1){break n}}c=J[J[f+12>>2]+(d<<2)>>2]}p=(c|0)==-1;l=p?-1:(c>>>0)/3|0;p:{if((g|0)==-1){break p}h=J[f+12>>2];d=J[h+(g<<2)>>2];if((d|0)==-1){break p}g=J[a+28>>2];d=(d>>>0)/3|0;if(J[g+(d>>>3&268435452)>>2]>>>d&1){break p}q:{r:{if(j){f=e-1|0;break r}f=e+2|0;if((f|0)==-1){break q}}d=J[(f<<2)+h>>2];if((d|0)==-1){break q}d=(d>>>0)/3|0;if(J[g+(d>>>3&268435452)>>2]>>>d&1){break q}oc(m,1);J[a+168>>2]=J[a+168>>2]+1;s:{if((q|0)==-1){break s}d=J[J[a+152>>2]+i>>2];if(J[J[a+140>>2]+(d>>>3&536870908)>>2]>>>d&1){break s}Hc(a,e,0)}e=J[a+164>>2];J[k+4>>2]=o;d=k+4|0;J[k+16>>2]=d;bg(k+24|0,r,d,k+16|0);J[J[k+24>>2]+12>>2]=e;f=J[a+20>>2];J[f-4>>2]=c;if(J[a+24>>2]!=(f|0)){J[f>>2]=b;J[a+20>>2]=f+4;break h}h=J[a+16>>2];g=f-h|0;d=g>>2;e=d+1|0;if(e>>>0>1073741823){break b}c=g>>>1|0;e=g>>>0>=2147483644?1073741823:c>>>0>e>>>0?c:e;if(e){if(e>>>0>1073741823){break a}c=oa(e<<2)}else{c=0}d=c+(d<<2)|0;J[d>>2]=b;b=d+4|0;if((f|0)!=(h|0)){while(1){d=d-4|0;f=f-4|0;J[d>>2]=J[f>>2];if((f|0)!=(h|0)){continue}break}}J[a+24>>2]=c+(e<<2);J[a+20>>2]=b;J[a+16>>2]=d;if(!h){break h}na(h);break h}if(!p){Qb(a,J[a+164>>2],0,l)}oc(m,3);break k}d=(b|0)==-1;if(!d){Qb(a,J[a+164>>2],1,d?-1:(b>>>0)/3|0)}t:{u:{if(j){b=e-1|0;break u}b=e+2|0;if((b|0)==-1){break t}}b=J[J[J[a+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break t}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break t}oc(m,5);b=c;break k}if(p){break m}Qb(a,J[a+164>>2],0,l)}oc(m,7);J[a+20>>2]=J[a+20>>2]-4;break h}oc(m,0);b=-1;if((e|0)==-1){break k}c=e+1|0;c=(c>>>0)%3|0?c:e-2|0;if((c|0)==-1){break k}b=J[J[J[a+12>>2]+12>>2]+(c<<2)>>2]}n=n+1|0;if((s|0)!=(n|0)){continue}break}break h}J[a+20>>2]=d}b=J[a+20>>2];if((b|0)!=J[a+16>>2]){continue}break}break d}g=J[a+28>>2];while(1){c=b-4|0;e=J[c>>2];v:{if((e|0)!=-1){e=(e>>>0)/3|0;if(!(J[g+(e>>>3&268435452)>>2]>>>e&1)){break v}}J[a+20>>2]=c;b=c}if((b|0)!=(d|0)){continue}break}}ba=k+32|0;return 1}qa();B()}qa();B()}xa();B()}function Ff(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,n=0,o=Q(0),p=0,q=0,r=Q(0);g=ba+-64|0;ba=g;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+48>>2]=1065353216;c=J[a+80>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;j=oa(e);J[g+16>>2]=j;c=e+j|0;J[g+24>>2]=c;pa(j,0,e);J[g+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=Hl(J[b+40>>2],J[b+44>>2],m,0);f=c;c=c+e|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8;I[g+30>>1]=c;J[g+12>>2]=p;I[g+8>>1]=c;c=0;q=g+8|0;n=L[q>>1];e=n^318;b:{c:{k=g+32|0;f=J[k+4>>2];if(!f){break c}d=Kl(f);d:{if(d>>>0>=2){c=e;if(f>>>0<=c>>>0){c=(e>>>0)%(f>>>0)|0}h=J[J[k>>2]+(c<<2)>>2];if(!h){break c}if(d>>>0<=1){break d}while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(e|0)){if(d>>>0>=f>>>0){d=(d>>>0)%(f>>>0)|0}if((c|0)!=(d|0)){break c}}if(L[h+8>>1]!=(n|0)){continue}break}c=0;break b}c=e&f-1;h=J[J[k>>2]+(c<<2)>>2];if(!h){break c}}l=f-1|0;while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((e|0)!=(d|0)&(d&l)!=(c|0)){break c}if(L[h+8>>1]!=(n|0)){continue}break}c=0;break b}h=oa(16);I[h+8>>1]=L[q>>1];d=J[q+4>>2];J[h+4>>2]=e;J[h+12>>2]=d;J[h>>2]=0;o=Q(J[k+12>>2]+1>>>0);r=N[k+16>>2];e:{if(o>Q(r*Q(f>>>0))?0:f){break e}c=2;d=(f-1&f)!=0|f>>>0<3|f<<1;o=Q(W(Q(o/r)));f:{if(o=Q(0)){l=~~o>>>0;break f}l=0}d=d>>>0>l>>>0?d:l;g:{if((d|0)==1){break g}if(!(d&d-1)){c=d;break g}c=Ha(d);f=J[k+4>>2]}h:{if(c>>>0<=f>>>0){if(c>>>0>=f>>>0){break h}l=f>>>0<3;o=Q(W(Q(Q(M[k+12>>2])/N[k+16>>2])));i:{if(o=Q(0)){d=~~o>>>0;break i}d=0}j:{k:{if(l){break k}if(Kl(f)>>>0>1){break k}d=d>>>0<2?d:1<<32-S(d-1|0);break j}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(f>>>0<=c>>>0){break h}}db(k,c)}f=J[k+4>>2];c=f-1|0;if(!(c&f)){c=c&e;break e}if(e>>>0>>0){c=e;break e}c=(e>>>0)%(f>>>0)|0}e=J[k>>2]+(c<<2)|0;c=J[e>>2];l:{m:{if(!c){c=k+8|0;J[h>>2]=J[c>>2];J[k+8>>2]=h;J[e>>2]=c;c=J[h>>2];if(!c){break l}c=J[c+4>>2];e=f-1|0;n:{if(!(e&f)){c=c&e;break n}if(c>>>0>>0){break n}c=(c>>>0)%(f>>>0)|0}c=J[k>>2]+(c<<2)|0;break m}J[h>>2]=J[c>>2]}J[c>>2]=h}J[k+12>>2]=J[k+12>>2]+1;c=1}H[g+60|0]=c;J[g+56>>2]=h;o:{if(!K[g+60|0]){J[(m<<2)+j>>2]=J[J[g+56>>2]+12>>2];break o}c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,p)|0,g+30|0,c);j=J[g+16>>2];J[j+(m<<2)>>2]=p;p=p+1|0}m=m+1|0;i=m?i:i+1|0;c=J[a+80>>2];if(!i&m>>>0>>0){continue}break}if((c|0)!=(p|0)){p:{if(!K[a+84|0]){b=J[a+72>>2];d=J[a+68>>2];if((b|0)==(d|0)){break p}b=b-d>>2;c=b>>>0<=1?1:b;m=c&3;n=0;b=0;if(c-1>>>0>=3){i=c&-4;l=0;while(1){e=b<<2;c=e+d|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|4)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|8)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|12)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];b=b+4|0;l=l+4|0;if((i|0)!=(l|0)){continue}break}}if(!m){break p}while(1){c=d+(b<<2)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];b=b+1|0;n=n+1|0;if((m|0)!=(n|0)){continue}break}break p}H[a+84|0]=0;m=a+68|0;b=J[a+68>>2];i=J[a+72>>2]-b>>2;q:{if(i>>>0>>0){Ma(m,c-i|0,2176);c=J[a+80>>2];break q}if(c>>>0>=i>>>0){break q}J[a+72>>2]=b+(c<<2)}if(!c){break p}d=J[m>>2];n=0;b=0;if(c>>>0>=4){m=c&-4;l=0;while(1){e=b<<2;J[e+d>>2]=J[e+j>>2];i=e|4;J[i+d>>2]=J[j+i>>2];i=e|8;J[i+d>>2]=J[j+i>>2];i=e|12;J[i+d>>2]=J[j+i>>2];b=b+4|0;l=l+4|0;if((m|0)!=(l|0)){continue}break}}i=c&3;if(!i){break p}while(1){c=b<<2;J[c+d>>2]=J[c+j>>2];b=b+1|0;n=n+1|0;if((i|0)!=(n|0)){continue}break}}J[a+80>>2]=p}na(j)}b=J[g+40>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[g+32>>2];J[g+32>>2]=0;if(a){na(a)}ba=g- -64|0;return p}qa();B()}function Yk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;J[a+8>>2]=e;q=a+32|0;f=J[q>>2];h=J[a+36>>2]-f>>2;a:{if(h>>>0>>0){Fa(q,e-h|0);break a}if(e>>>0>=h>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){h=g;break c}f=1;h=d-1|0;l=h&1;d:{if((d|0)==2){h=g;break d}o=h&-2;d=0;h=g;while(1){i=(f<<2)+b|0;p=J[i+4>>2];k=J[i>>2];j=(k|0)<(h|0);h=j?k:h;i=(h|0)>(p|0);h=i?p:h;g=j?g:(g|0)<(k|0)?k:g;g=i?g:(g|0)<(p|0)?p:g;f=f+2|0;d=d+2|0;if((o|0)!=(d|0)){continue}break}}if(!l){break c}f=J[(f<<2)+b>>2];d=(f|0)<(h|0);h=d?f:h;g=d?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=h;f=(g>>31)-((h>>31)+(g>>>0>>0)|0)|0;d=g-h|0;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}s=e<<2;d=e>>>0>1073741823?-1:s;h=pa(oa(d),0,d);d=J[a+56>>2];t=J[d>>2];d=J[d+4>>2]-t|0;if((d|0)>=5){w=J[a+52>>2];u=J[a+48>>2];x=e&-2;y=e&1;v=d>>2;l=v;while(1){o=l;e:{f:{l=l-1|0;if(v>>>0>l>>>0){p=P(e,l);d=J[(l<<2)+t>>2];if((d|0)==-1){break f}g=J[J[u+12>>2]+(d<<2)>>2];if((g|0)==-1){break f}j=J[w>>2];k=J[u>>2];i=J[j+(J[k+(g<<2)>>2]<<2)>>2];d=g+1|0;d=(d>>>0)%3|0?d:g-2|0;if((d|0)!=-1){f=J[k+(d<<2)>>2]}else{f=-1}g:{h:{if((g>>>0)%3|0){g=g-1|0;break h}g=g+2|0;d=-1;if((g|0)==-1){break g}}d=J[k+(g<<2)>>2]}if((i|0)>=(l|0)){break f}f=J[(f<<2)+j>>2];if((f|0)>=(l|0)){break f}d=J[j+(d<<2)>>2];if((d|0)>=(l|0)){break f}i:{if((e|0)<=0){break i}k=P(d,e);j=P(e,f);i=P(e,i);g=0;d=0;if((e|0)!=1){while(1){J[h+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+j<<2)+b>>2]|0)-J[(g+i<<2)+b>>2];f=g|1;J[h+(f<<2)>>2]=(J[(f+k<<2)+b>>2]+J[(f+j<<2)+b>>2]|0)-J[(f+i<<2)+b>>2];g=g+2|0;d=d+2|0;if((x|0)!=(d|0)){continue}break}}if(!y){break i}J[h+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+j<<2)+b>>2]|0)-J[(g+i<<2)+b>>2]}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;p=d+c|0;k=b+d|0;i=J[q>>2];m=0;d=h;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];j:{if((r|0)>(j|0)){J[f+n>>2]=j;break j}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break j}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=m<<2;d=g+p|0;g=J[g+k>>2]-J[f+g>>2]|0;J[d>>2]=g;k:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break k}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}break e}ra();B()}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;p=d+c|0;k=b+d|0;d=(P(o-2|0,e)<<2)+b|0;i=J[q>>2];m=0;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];l:{if((r|0)>(j|0)){J[f+n>>2]=j;break l}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break l}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=m<<2;d=g+p|0;g=J[g+k>>2]-J[f+g>>2]|0;J[d>>2]=g;m:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break m}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}}if((o|0)>2){continue}break}}if((e|0)>0){pa(h,0,s)}g=J[a+8>>2];if((g|0)>0){e=J[a+32>>2];m=0;d=h;while(1){f=e;if((g|0)>0){f=J[q>>2];g=0;while(1){o=g<<2;l=J[o+d>>2];i=J[a+16>>2];n:{if((l|0)>(i|0)){J[f+o>>2]=i;break n}o=f+o|0;i=J[a+12>>2];if((i|0)>(l|0)){J[o>>2]=i;break n}J[o>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}g=m<<2;d=g+c|0;g=J[b+g>>2]-J[f+g>>2]|0;J[d>>2]=g;o:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break o}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}}na(h);return 1}function Rf(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,n=0,o=Q(0),p=0,q=0,r=Q(0);g=ba+-64|0;ba=g;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+48>>2]=1065353216;c=J[a+80>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;j=oa(e);J[g+16>>2]=j;c=e+j|0;J[g+24>>2]=c;pa(j,0,e);J[g+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=Hl(J[b+40>>2],J[b+44>>2],m,0);f=c;c=c+e|0;c=K[c+d|0];H[g+31|0]=c;J[g+12>>2]=p;H[g+8|0]=c;c=0;q=g+8|0;n=K[q|0];e=n^318;b:{c:{k=g+32|0;f=J[k+4>>2];if(!f){break c}d=Kl(f);d:{if(d>>>0>=2){c=e;if(f>>>0<=c>>>0){c=(e>>>0)%(f>>>0)|0}h=J[J[k>>2]+(c<<2)>>2];if(!h){break c}if(d>>>0<=1){break d}while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(e|0)){if(d>>>0>=f>>>0){d=(d>>>0)%(f>>>0)|0}if((c|0)!=(d|0)){break c}}if(K[h+8|0]!=(n|0)){continue}break}c=0;break b}c=e&f-1;h=J[J[k>>2]+(c<<2)>>2];if(!h){break c}}l=f-1|0;while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((e|0)!=(d|0)&(d&l)!=(c|0)){break c}if(K[h+8|0]!=(n|0)){continue}break}c=0;break b}h=oa(16);H[h+8|0]=K[q|0];d=J[q+4>>2];J[h+4>>2]=e;J[h+12>>2]=d;J[h>>2]=0;o=Q(J[k+12>>2]+1>>>0);r=N[k+16>>2];e:{if(o>Q(r*Q(f>>>0))?0:f){break e}c=2;d=(f-1&f)!=0|f>>>0<3|f<<1;o=Q(W(Q(o/r)));f:{if(o=Q(0)){l=~~o>>>0;break f}l=0}d=d>>>0>l>>>0?d:l;g:{if((d|0)==1){break g}if(!(d&d-1)){c=d;break g}c=Ha(d);f=J[k+4>>2]}h:{if(c>>>0<=f>>>0){if(c>>>0>=f>>>0){break h}l=f>>>0<3;o=Q(W(Q(Q(M[k+12>>2])/N[k+16>>2])));i:{if(o=Q(0)){d=~~o>>>0;break i}d=0}j:{k:{if(l){break k}if(Kl(f)>>>0>1){break k}d=d>>>0<2?d:1<<32-S(d-1|0);break j}d=Ha(d)}c=c>>>0>d>>>0?c:d;if(f>>>0<=c>>>0){break h}}db(k,c)}f=J[k+4>>2];c=f-1|0;if(!(c&f)){c=c&e;break e}if(e>>>0>>0){c=e;break e}c=(e>>>0)%(f>>>0)|0}e=J[k>>2]+(c<<2)|0;c=J[e>>2];l:{m:{if(!c){c=k+8|0;J[h>>2]=J[c>>2];J[k+8>>2]=h;J[e>>2]=c;c=J[h>>2];if(!c){break l}c=J[c+4>>2];e=f-1|0;n:{if(!(e&f)){c=c&e;break n}if(c>>>0>>0){break n}c=(c>>>0)%(f>>>0)|0}c=J[k>>2]+(c<<2)|0;break m}J[h>>2]=J[c>>2]}J[c>>2]=h}J[k+12>>2]=J[k+12>>2]+1;c=1}H[g+60|0]=c;J[g+56>>2]=h;o:{if(!K[g+60|0]){J[(m<<2)+j>>2]=J[J[g+56>>2]+12>>2];break o}c=J[a+40>>2];ua(J[J[a>>2]>>2]+P(c,p)|0,g+31|0,c);j=J[g+16>>2];J[j+(m<<2)>>2]=p;p=p+1|0}m=m+1|0;i=m?i:i+1|0;c=J[a+80>>2];if(!i&m>>>0>>0){continue}break}if((c|0)!=(p|0)){p:{if(!K[a+84|0]){b=J[a+72>>2];d=J[a+68>>2];if((b|0)==(d|0)){break p}b=b-d>>2;c=b>>>0<=1?1:b;m=c&3;n=0;b=0;if(c-1>>>0>=3){i=c&-4;l=0;while(1){e=b<<2;c=e+d|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|4)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|8)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|12)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];b=b+4|0;l=l+4|0;if((i|0)!=(l|0)){continue}break}}if(!m){break p}while(1){c=d+(b<<2)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];b=b+1|0;n=n+1|0;if((m|0)!=(n|0)){continue}break}break p}H[a+84|0]=0;m=a+68|0;b=J[a+68>>2];i=J[a+72>>2]-b>>2;q:{if(i>>>0>>0){Ma(m,c-i|0,2176);c=J[a+80>>2];break q}if(c>>>0>=i>>>0){break q}J[a+72>>2]=b+(c<<2)}if(!c){break p}d=J[m>>2];n=0;b=0;if(c>>>0>=4){m=c&-4;l=0;while(1){e=b<<2;J[e+d>>2]=J[e+j>>2];i=e|4;J[i+d>>2]=J[j+i>>2];i=e|8;J[i+d>>2]=J[j+i>>2];i=e|12;J[i+d>>2]=J[j+i>>2];b=b+4|0;l=l+4|0;if((m|0)!=(l|0)){continue}break}}i=c&3;if(!i){break p}while(1){c=b<<2;J[c+d>>2]=J[c+j>>2];b=b+1|0;n=n+1|0;if((i|0)!=(n|0)){continue}break}}J[a+80>>2]=p}na(j)}b=J[g+40>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[g+32>>2];J[g+32>>2]=0;if(a){na(a)}ba=g- -64|0;return p}qa();B()}function gl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;J[a+8>>2]=e;q=a+32|0;f=J[q>>2];h=J[a+36>>2]-f>>2;a:{if(h>>>0>>0){Fa(q,e-h|0);break a}if(e>>>0>=h>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){h=g;break c}f=1;h=d-1|0;l=h&1;d:{if((d|0)==2){h=g;break d}o=h&-2;d=0;h=g;while(1){i=(f<<2)+b|0;m=J[i+4>>2];p=J[i>>2];j=(p|0)<(h|0);h=j?p:h;i=(h|0)>(m|0);h=i?m:h;g=j?g:(g|0)<(p|0)?p:g;g=i?g:(g|0)<(m|0)?m:g;f=f+2|0;d=d+2|0;if((o|0)!=(d|0)){continue}break}}if(!l){break c}f=J[(f<<2)+b>>2];d=(f|0)<(h|0);h=d?f:h;g=d?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=h;f=(g>>31)-((h>>31)+(g>>>0>>0)|0)|0;d=g-h|0;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}t=e<<2;d=e>>>0>1073741823?-1:t;h=pa(oa(d),0,d);d=J[a+56>>2];u=J[d>>2];d=J[d+4>>2]-u|0;if((d|0)>=5){w=J[a+52>>2];s=J[a+48>>2];x=e&-2;y=e&1;v=d>>2;l=v;while(1){o=l;e:{f:{l=l-1|0;if(v>>>0>l>>>0){p=P(e,l);d=J[(l<<2)+u>>2];if((d|0)==-1|J[J[s>>2]+(d>>>3&536870908)>>2]>>>d&1){break f}m=J[J[J[s+64>>2]+12>>2]+(d<<2)>>2];if((m|0)==-1){break f}i=J[w>>2];j=J[s+28>>2];g=J[i+(J[j+(m<<2)>>2]<<2)>>2];if((g|0)>=(l|0)){break f}d=m+1|0;f=J[i+(J[j+(((d>>>0)%3|0?d:m-2|0)<<2)>>2]<<2)>>2];if((f|0)>=(l|0)){break f}d=J[i+(J[j+(m+((m>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((d|0)>=(l|0)){break f}g:{if((e|0)<=0){break g}j=P(d,e);i=P(e,f);f=P(e,g);g=0;k=0;if((e|0)!=1){while(1){J[h+(g<<2)>>2]=(J[(g+j<<2)+b>>2]+J[(g+i<<2)+b>>2]|0)-J[(f+g<<2)+b>>2];d=g|1;J[h+(d<<2)>>2]=(J[(d+j<<2)+b>>2]+J[(d+i<<2)+b>>2]|0)-J[(d+f<<2)+b>>2];g=g+2|0;k=k+2|0;if((x|0)!=(k|0)){continue}break}}if(!y){break g}J[h+(g<<2)>>2]=(J[(g+j<<2)+b>>2]+J[(g+i<<2)+b>>2]|0)-J[(f+g<<2)+b>>2]}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;m=d+c|0;p=b+d|0;i=J[q>>2];k=0;d=h;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];h:{if((r|0)>(j|0)){J[f+n>>2]=j;break h}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break h}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=k<<2;d=g+m|0;g=J[g+p>>2]-J[f+g>>2]|0;J[d>>2]=g;i:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break i}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}break e}ra();B()}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;m=d+c|0;p=b+d|0;d=(P(o-2|0,e)<<2)+b|0;i=J[q>>2];k=0;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];j:{if((r|0)>(j|0)){J[f+n>>2]=j;break j}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break j}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=k<<2;d=g+m|0;g=J[g+p>>2]-J[f+g>>2]|0;J[d>>2]=g;k:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break k}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}}if((o|0)>2){continue}break}}if((e|0)>0){pa(h,0,t)}g=J[a+8>>2];if((g|0)>0){e=J[a+32>>2];k=0;d=h;while(1){f=e;if((g|0)>0){f=J[q>>2];g=0;while(1){o=g<<2;l=J[o+d>>2];i=J[a+16>>2];l:{if((l|0)>(i|0)){J[f+o>>2]=i;break l}o=f+o|0;i=J[a+12>>2];if((i|0)>(l|0)){J[o>>2]=i;break l}J[o>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}g=k<<2;d=g+c|0;g=J[b+g>>2]-J[f+g>>2]|0;J[d>>2]=g;m:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break m}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}}na(h);return 1}function je(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Q(0),p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(J[c>>2]==J[c+4>>2]){m=J[d+80>>2];u=ba-16|0;ba=u;g=J[a+4>>2];k=K[b+24|0];h=J[d+48>>2];n=J[J[d>>2]>>2];c=u+8|0;J[c>>2]=1065353216;d=c;N[c>>2]=Q(-1<>2];c=oa(k<<2);a:{if(!m|!k){break a}p=h+n|0;o=N[d>>2];n=J[a+8>>2];v=J[b>>2];d=J[b+48>>2];g=J[b+40>>2];w=J[b+44>>2];if(!K[b+84|0]){f=J[b+68>>2];s=k&254;t=k&1;a=0;while(1){b=J[v>>2];l=Hl(g,w,J[f+(i<<2)>>2],0)+d|0;h=ua(c,b+l|0,g);b=0;q=0;if((k|0)!=1){while(1){l=p+(a<<2)|0;j=b<<2;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));b:{if(Q(R(e))>2]=r;j=j|4;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));c:{if(Q(R(e))>2]=j;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){l=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+h>>2]-N[b+n>>2]))+Q(.5))));d:{if(Q(R(e))>2]=b;a=a+1|0}i=i+1|0;if((m|0)!=(i|0)){continue}break}break a}s=k&254;t=k&1;a=0;while(1){b=J[v>>2];h=Hl(g,w,i,l)+d|0;j=ua(c,b+h|0,g);b=0;q=0;if((k|0)!=1){while(1){h=p+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));e:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));f:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){h=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+j>>2]-N[b+n>>2]))+Q(.5))));g:{if(Q(R(e))>2]=b;a=a+1|0}b=l;i=i+1|0;b=i?b:b+1|0;l=b;if((i|0)!=(m|0)|b){continue}break}}na(c);ba=u+16|0;return 1}j=ba-16|0;ba=j;m=J[a+4>>2];i=K[b+24|0];g=J[d+48>>2];h=J[J[d>>2]>>2];d=j+8|0;J[d>>2]=1065353216;l=d;N[d>>2]=Q(-1<>2];d=oa(i<<2);m=J[c+4>>2];q=J[c>>2];h:{if(!i|(m|0)==(q|0)){break h}n=h+g|0;c=m-q>>2;u=c>>>0<=1?1:c;o=N[l>>2];h=J[a+8>>2];v=J[b>>2];l=J[b+48>>2];m=J[b+40>>2];w=J[b+44>>2];if(K[b+84|0]){s=i&254;t=i&1;a=0;c=0;while(1){b=J[v>>2];g=Hl(m,w,J[q+(c<<2)>>2],0)+l|0;p=ua(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));i:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));j:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(t){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));k:{if(Q(R(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}break h}s=J[b+68>>2];t=i&254;x=i&1;a=0;c=0;while(1){b=J[v>>2];g=Hl(m,w,J[s+(J[q+(c<<2)>>2]<<2)>>2],0)+l|0;p=ua(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));l:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));m:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(x){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));n:{if(Q(R(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}}na(d);ba=j+16|0;return 1}function bi(a){a=a|0;var 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=Q(0);c=1;a:{if(!J[a+80>>2]){break a}f=J[a+8>>2];if((J[a+12>>2]-f|0)<4){break a}while(1){b=J[(n<<2)+f>>2];k=0;l=0;j=0;c=0;f=0;e=-1;b:{c:{d:{e:{switch(J[b+28>>2]-1|0){case 8:f:{switch(K[b+24|0]-1|0){case 0:e=ba+-64|0;ba=e;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+48>>2]=1065353216;g=J[b+80>>2];J[e+24>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;g:{h:{if(g){if(g>>>0>=1073741824){break h}d=g<<2;g=oa(d);J[e+16>>2]=g;h=d+g|0;J[e+24>>2]=h;pa(g,0,d);J[e+20>>2]=h;while(1){d=J[J[b>>2]>>2];h=J[b+48>>2];m=Hl(J[b+40>>2],J[b+44>>2],c,0);h=h+m|0;d=d+h|0;o=(x(2,K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24)),D());N[e+28>>2]=o;J[e+12>>2]=k;N[e+8>>2]=o;d=e+8|0;qf(e+56|0,e+32|0,d,d);i:{if(!K[e+60|0]){J[(c<<2)+g>>2]=J[J[e+56>>2]+12>>2];break i}g=J[b+40>>2];ua(J[J[b>>2]>>2]+P(g,k)|0,e+28|0,g);g=J[e+16>>2];J[g+(c<<2)>>2]=k;k=k+1|0}c=c+1|0;f=c?f:f+1|0;d=J[b+80>>2];if(!f&c>>>0>>0){continue}break}if((d|0)!=(k|0)){j:{if(!K[b+84|0]){c=J[b+72>>2];f=J[b+68>>2];if((c|0)==(f|0)){break j}c=c-f>>2;d=c>>>0<=1?1:c;h=d&3;c=0;if(d-1>>>0>=3){m=d&-4;while(1){d=c<<2;i=d+f|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];i=f+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];i=f+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];d=f+(d|12)|0;J[d>>2]=J[(J[d>>2]<<2)+g>>2];c=c+4|0;j=j+4|0;if((m|0)!=(j|0)){continue}break}}if(!h){break j}while(1){d=f+(c<<2)|0;J[d>>2]=J[(J[d>>2]<<2)+g>>2];c=c+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}break j}H[b+84|0]=0;c=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;k:{if(f>>>0>>0){Ma(c,d-f|0,2176);d=J[b+80>>2];break k}if(d>>>0>=f>>>0){break k}J[b+72>>2]=h+(d<<2)}if(!d){break j}f=J[c>>2];c=0;if(d>>>0>=4){m=d&-4;while(1){h=c<<2;J[h+f>>2]=J[g+h>>2];i=h|4;J[i+f>>2]=J[g+i>>2];i=h|8;J[i+f>>2]=J[g+i>>2];h=h|12;J[h+f>>2]=J[g+h>>2];c=c+4|0;j=j+4|0;if((m|0)!=(j|0)){continue}break}}d=d&3;if(!d){break j}while(1){j=c<<2;J[j+f>>2]=J[g+j>>2];c=c+1|0;l=l+1|0;if((d|0)!=(l|0)){continue}break}}J[b+80>>2]=k}na(g)}c=J[e+40>>2];if(c){while(1){f=J[c>>2];na(c);c=f;if(c){continue}break}}c=J[e+32>>2];J[e+32>>2]=0;if(c){na(c)}ba=e- -64|0;c=k;break g}qa();B()}break d;case 1:c=Jd(b,b);break d;case 2:c=Id(b,b);break d;case 3:break f;default:break c}}c=Hd(b,b);break d;case 0:l:{switch(K[b+24|0]-1|0){case 0:c=Rf(b,b);break d;case 1:c=Nf(b,b);break d;case 2:c=Kf(b,b);break d;case 3:break l;default:break c}}c=If(b,b);break d;case 1:case 10:m:{switch(K[b+24|0]-1|0){case 0:c=Rf(b,b);break d;case 1:c=Nf(b,b);break d;case 2:c=Kf(b,b);break d;case 3:break m;default:break c}}c=If(b,b);break d;case 3:n:{switch(K[b+24|0]-1|0){case 0:c=Ff(b,b);break d;case 1:c=Ef(b,b);break d;case 2:c=wf(b,b);break d;case 3:break n;default:break c}}c=vf(b,b);break d;case 2:o:{switch(K[b+24|0]-1|0){case 0:c=Ff(b,b);break d;case 1:c=Ef(b,b);break d;case 2:c=wf(b,b);break d;case 3:break o;default:break c}}c=vf(b,b);break d;case 5:p:{switch(K[b+24|0]-1|0){case 0:c=uf(b,b);break d;case 1:c=Jd(b,b);break d;case 2:c=Id(b,b);break d;case 3:break p;default:break c}}c=Hd(b,b);break d;case 4:break e;default:break b}}q:{switch(K[b+24|0]-1|0){case 0:c=uf(b,b);break d;case 1:c=Jd(b,b);break d;case 2:c=Id(b,b);break d;case 3:break q;default:break c}}c=Hd(b,b)}e=c;if(e){break b}}e=-1}c=(e|0)!=0;if(!e){break a}n=n+1|0;f=J[a+8>>2];if((n|0)>2]-f>>2){continue}break}}return c|0}function ic(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=ba-16|0;ba=k;a:{if(!J[a+8>>2]){break a}e=J[a>>2];J[a>>2]=a+4;J[J[a+4>>2]+8>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;f=J[e+4>>2];e=f?f:e;if(!e){Da(a,e);break a}h=J[e+8>>2];b:{if(!h){break b}f=J[h>>2];if((f|0)==(e|0)){J[h>>2]=0;d=h;f=J[d+4>>2];if(!f){break b}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}break b}J[h+4>>2]=0;d=h;if(!f){break b}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}}c:{if((b|0)==(c|0)){h=e;break c}f=b;while(1){h=d;J[k+12>>2]=e+28;J[k+8>>2]=e+16;b=f+16|0;d=J[k+8>>2];d:{if((b|0)==(d|0)){break d}i=K[b+11|0];g=i<<24>>24;if(H[d+11|0]>=0){if((g|0)>=0){g=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=g;J[d+8>>2]=J[b+8>>2];break d}hd(d,J[b>>2],J[b+4>>2]);break d}l=d;d=(g|0)<0;id(l,d?J[b>>2]:b,d?J[b+4>>2]:i)}d=J[k+12>>2];g=b+12|0;if((d|0)!=(g|0)){e:{j=K[b+23|0];i=j<<24>>24;if(H[d+11|0]>=0){if((i|0)>=0){b=J[g+4>>2];J[d>>2]=J[g>>2];J[d+4>>2]=b;J[d+8>>2]=J[g+8>>2];break e}hd(d,J[b+12>>2],J[b+16>>2]);break e}l=d;d=(i|0)<0;id(l,d?J[b+12>>2]:g,d?J[b+16>>2]:j)}}g=J[a+4>>2];f:{if(!g){b=a+4|0;d=b;break f}b=K[e+27|0];d=b<<24>>24<0;j=d?J[e+16>>2]:e+16|0;i=d?J[e+20>>2]:b;while(1){b=g;g=K[b+27|0];d=g<<24>>24<0;g:{h:{i:{g=d?J[b+20>>2]:g;l=g>>>0>>0?g:i;if(l){d=Ba(j,d?J[b+16>>2]:b+16|0,l);if(d){break i}}if(g>>>0>i>>>0){break h}break g}if((d|0)>=0){break g}}d=b;g=J[b>>2];if(g){continue}break f}g=J[b+4>>2];if(g){continue}break}d=b+4|0}J[e+8>>2]=b;J[e>>2]=0;J[e+4>>2]=0;J[d>>2]=e;b=e;e=J[J[a>>2]>>2];if(e){J[a>>2]=e;b=J[d>>2]}sb(J[a+4>>2],b);J[a+8>>2]=J[a+8>>2]+1;d=0;j:{if(!h){break j}e=J[h+8>>2];if(!e){break j}b=J[e>>2];if((h|0)==(b|0)){J[e>>2]=0;d=e;b=J[d+4>>2];if(!b){break j}while(1){d=b;b=J[b>>2];if(b){continue}b=J[d+4>>2];if(b){continue}break}break j}J[e+4>>2]=0;d=e;if(!b){break j}while(1){d=b;b=J[b>>2];if(b){continue}b=J[d+4>>2];if(b){continue}break}}e=J[f+4>>2];k:{if(e){while(1){b=e;e=J[b>>2];if(e){continue}break k}}while(1){b=J[f+8>>2];e=J[b>>2]!=(f|0);f=b;if(e){continue}break}}if(!h){break c}f=b;e=h;if((b|0)!=(c|0)){continue}break}}Da(a,h);if(!d){break a}while(1){e=J[d+8>>2];if(e){d=e;continue}break}Da(a,d)}if((b|0)!=(c|0)){while(1){f=oa(40);g=f+16|0;l:{if(H[b+27|0]>=0){d=J[b+20>>2];J[g>>2]=J[b+16>>2];J[g+4>>2]=d;J[g+8>>2]=J[b+24>>2];break l}Ga(g,J[b+16>>2],J[b+20>>2])}d=a+4|0;e=f+28|0;m:{if(H[b+39|0]>=0){h=J[b+32>>2];J[e>>2]=J[b+28>>2];J[e+4>>2]=h;J[e+8>>2]=J[b+36>>2];break m}Ga(e,J[b+28>>2],J[b+32>>2])}e=d;h=J[d>>2];n:{if(!h){break n}e=K[f+27|0];d=e<<24>>24<0;i=d?J[f+20>>2]:e;g=d?J[f+16>>2]:g;while(1){d=h;h=K[d+27|0];e=h<<24>>24<0;o:{p:{q:{h=e?J[d+20>>2]:h;j=h>>>0>>0?h:i;if(j){e=Ba(g,e?J[d+16>>2]:d+16|0,j);if(e){break q}}if(h>>>0>i>>>0){break p}break o}if((e|0)>=0){break o}}e=d;h=J[d>>2];if(h){continue}break n}h=J[d+4>>2];if(h){continue}break}e=d+4|0}J[f+8>>2]=d;J[f>>2]=0;J[f+4>>2]=0;J[e>>2]=f;d=f;f=J[J[a>>2]>>2];if(f){J[a>>2]=f;d=J[e>>2]}sb(J[a+4>>2],d);J[a+8>>2]=J[a+8>>2]+1;f=J[b+4>>2];r:{if(f){while(1){e=f;f=J[e>>2];if(f){continue}break r}}while(1){e=J[b+8>>2];d=J[e>>2]!=(b|0);b=e;if(d){continue}break}}b=e;if((c|0)!=(b|0)){continue}break}}ba=k+16|0}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if((b|0)<0){break a}c=J[a+12>>2];d=J[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=J[d>>2];i=J[e+60>>2];f=J[e+56>>2];e=d+4|0;if((e|0)!=(c|0)){while(1){h=J[e>>2];J[e>>2]=0;g=J[d>>2];J[d>>2]=h;if(g){Ka(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=J[a+12>>2]}if((c|0)!=(d|0)){while(1){c=c-4|0;e=J[c>>2];J[c>>2]=0;if(e){Ka(e)}if((c|0)!=(d|0)){continue}break}}J[a+12>>2]=d;g=J[a+4>>2];b:{if(!g|(i|0)<0){break b}c=J[g+24>>2];d=J[g+28>>2];if((c|0)==(d|0)){break b}while(1){if((i|0)==J[J[c>>2]+24>>2]){d=c+4|0;i=J[g+28>>2];if((d|0)!=(i|0)){while(1){h=J[d>>2];J[d>>2]=0;e=J[c>>2];J[c>>2]=h;if(e){lb(e+12|0,J[e+16>>2]);kb(e,J[e+4>>2]);na(e)}c=c+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}d=J[g+28>>2]}if((c|0)!=(d|0)){while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){lb(e+12|0,J[e+16>>2]);kb(e,J[e+4>>2]);na(e)}if((c|0)!=(d|0)){continue}break}}J[g+28>>2]=c;break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}c:{if((f|0)>4){break c}d:{e=P(f,12)+a|0;c=J[e+20>>2];d=J[e+24>>2];if((c|0)==(d|0)){break d}while(1){if(J[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c;c=c+4|0;ta(f,c,d-c|0);J[e+24>>2]=d-4}c=J[a+24>>2];d=J[a+20>>2];e:{if((c|0)==(d|0)){break e}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break e}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break e}J[c>>2]=d-1}c=J[a+36>>2];d=J[a+32>>2];f:{if((c|0)==(d|0)){break f}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break f}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break f}J[c>>2]=d-1}c=J[a+48>>2];d=J[a+44>>2];g:{if((c|0)==(d|0)){break g}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break g}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break g}J[c>>2]=d-1}c=J[a+60>>2];d=J[a+56>>2];h:{if((c|0)==(d|0)){break h}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break h}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break h}J[c>>2]=d-1}c=J[a+72>>2];a=J[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;g=e&1;c=0;if(d>>>0>=8){d=e&-2;e=0;while(1){i=c<<2;f=i+a|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}i=a+(i|4)|0;f=J[i>>2];if((f|0)>(b|0)){J[i>>2]=f-1}c=c+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!g){break a}f=b;a=a+(c<<2)|0;b=J[a>>2];if((f|0)>=(b|0)){break a}J[a>>2]=b-1}}function _a(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=ba-112|0;ba=j;k=i&2147483647;a:{b:{l=e&2147483647;m=!(b|c);if(!(d|l?l-2147418112>>>0<2147549184:m)){o=k-2147418112|0;if(!h&(o|0)==-2147418112?f|g:(o|0)==-2147418112&(h|0)!=0|o>>>0>2147549184){break b}}if(!(!d&(l|0)==2147418112?m:l>>>0<2147418112)){h=d;i=e|32768;f=b;g=c;break a}if(!(!h&(k|0)==2147418112?!(f|g):k>>>0<2147418112)){i=i|32768;break a}if(!(b|d|(l^2147418112|c))){n=d;d=!(b^f|d^h|(c^g|e^i^-2147483648));h=d?0:n;i=d?2147450880:e;f=d?0:b;g=d?0:c;break a}if(!(f|h|(k^2147418112|g))){break a}if(!(b|d|(c|l))){if(f|h|(g|k)){break a}f=b&f;g=c&g;h=d&h;i=e&i;break a}if(f|h|(g|k)){break b}f=b;g=c;h=d;i=e;break a}n=(k|0)==(l|0);r=n&(d|0)==(h|0)?(c|0)==(g|0)&b>>>0>>0|c>>>0>>0:n&d>>>0>>0|k>>>0>l>>>0;m=r;l=m?f:b;o=m?g:c;n=m?i:e;s=n;m=m?h:d;q=n&65535;d=r?d:h;e=r?e:i;t=e;n=e>>>16&32767;p=s>>>16&32767;if(!p){e=!(m|q);i=e;k=e?l:m;e=e<<6;h=e;i=S(i?o:q);e=e+((i|0)==32?S(k)+32|0:i)|0;Pa(j+96|0,l,o,m,q,e-15|0);m=J[j+104>>2];q=J[j+108>>2];o=J[j+100>>2];p=16-e|0;l=J[j+96>>2]}f=r?b:f;g=r?c:g;h=d;i=t&65535;if(!n){b=!(h|i);e=b;k=b?f:h;b=b<<6;c=b;e=S(e?g:i);b=b+((e|0)==32?S(k)+32|0:e)|0;Pa(j+80|0,f,g,h,i,b-15|0);n=16-b|0;h=J[j+88>>2];i=J[j+92>>2];g=J[j+84>>2];f=J[j+80>>2]}c=i<<3|h>>>29;b=h<<3|g>>>29;c=c|524288;h=m<<3|o>>>29;i=q<<3|m>>>29;r=s^t;e=g<<3|f>>>29;d=f<<3;c:{if((n|0)==(p|0)){break c}f=p-n|0;if(f>>>0>127){b=0;c=0;e=0;d=1;break c}Pa(j- -64|0,d,e,b,c,128-f|0);Gb(j+48|0,d,e,b,c,f);b=J[j+56>>2];c=J[j+60>>2];e=J[j+52>>2];d=J[j+48>>2]|(J[j+64>>2]|J[j+72>>2]|(J[j+68>>2]|J[j+76>>2]))!=0}m=d;k=e;n=h;q=i|524288;e=o<<3|l>>>29;o=l<<3;l=e;d:{if((r|0)<0){f=0;g=0;h=0;i=0;if(!(m^o|b^n|(k^l|c^q))){break a}d=o-m|0;e=l-((m>>>0>o>>>0)+k|0)|0;f=n-b|0;g=(k|0)==(l|0)&m>>>0>o>>>0|k>>>0>l>>>0;h=f-g|0;b=(q-((b>>>0>n>>>0)+c|0)|0)-(f>>>0>>0)|0;i=b;if(b>>>0>524287){break d}b=!(h|i);f=b;g=b?d:h;b=b<<6;c=b;f=S(f?e:i);b=b+((f|0)==32?S(g)+32|0:f)|0;b=b-12|0;Pa(j+32|0,d,e,h,i,b);p=p-b|0;h=J[j+40>>2];i=J[j+44>>2];d=J[j+32>>2];e=J[j+36>>2];break d}e=k+l|0;d=m+o|0;e=d>>>0>>0?e+1|0:e;f=(k|0)==(e|0)&d>>>0>>0|e>>>0>>0;k=c+q|0;b=b+n|0;k=b>>>0>>0?k+1|0:k;h=b+f|0;i=h>>>0>>0?k+1|0:k;if(!(i&1048576)){break d}d=m&1|((e&1)<<31|d>>>1);e=h<<31|e>>>1;p=p+1|0;h=(i&1)<<31|h>>>1;i=i>>>1|0}c=0;l=s&-2147483648;if((p|0)>=32767){h=c;i=l|2147418112;f=0;g=0;break a}n=0;e:{if((p|0)>0){n=p;break e}Pa(j+16|0,d,e,h,i,p+127|0);Gb(j,d,e,h,i,1-p|0);d=J[j>>2]|(J[j+16>>2]|J[j+24>>2]|(J[j+20>>2]|J[j+28>>2]))!=0;e=J[j+4>>2];h=J[j+8>>2];i=J[j+12>>2]}o=d&7;d=(e&7)<<29|d>>>3;f=(o>>>0>4)+d|0;b=h<<29|e>>>3;g=d>>>0>f>>>0?b+1|0:b;d=(b|0)==(g|0)&d>>>0>f>>>0|b>>>0>g>>>0;b=c|((i&7)<<29|h>>>3);h=d+b|0;i=l|(i>>>3&65535|n<<16);i=b>>>0>h>>>0?i+1|0:i;f:{if((o|0)==4){b=0;k=g+b|0;d=f;c=f&1;f=f+c|0;g=d>>>0>f>>>0?k+1|0:k;b=(b|0)==(g|0)&c>>>0>f>>>0|b>>>0>g>>>0;h=b+h|0;i=b>>>0>h>>>0?i+1|0:i;break f}if(!o){break a}}}J[a>>2]=f;J[a+4>>2]=g;J[a+8>>2]=h;J[a+12>>2]=i;ba=j+112|0}function na(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=J[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=J[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=J[d+8>>2];b=b>>>3|0;c=J[d+12>>2];if((c|0)==(e|0)){i=19396,j=J[4849]&Ll(b),J[i>>2]=j;break b}J[e+12>>2]=c;J[c+8>>2]=e;break b}h=J[d+24>>2];b=J[d+12>>2];c:{if((d|0)!=(b|0)){c=J[d+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break c}d:{e=d+20|0;c=J[e>>2];if(c){break d}e=d+16|0;c=J[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break b}e=J[d+28>>2];c=(e<<2)+19700|0;e:{if(J[c>>2]==(d|0)){J[c>>2]=b;if(b){break e}i=19400,j=J[4850]&Ll(e),J[i>>2]=j;break b}J[h+(J[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}J[b+24>>2]=h;c=J[d+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[d+20>>2];if(!c){break b}J[b+20>>2]=c;J[c+24>>2]=b;break b}b=J[f+4>>2];if((b&3)!=3){break b}J[4851]=a;J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=J[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(J[4855]==(f|0)){J[4855]=d;a=J[4852]+a|0;J[4852]=a;J[d+4>>2]=a|1;if(J[4854]!=(d|0)){break a}J[4851]=0;J[4854]=0;return}if(J[4854]==(f|0)){J[4854]=d;a=J[4851]+a|0;J[4851]=a;J[d+4>>2]=a|1;J[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=J[f+8>>2];b=b>>>3|0;c=J[f+12>>2];if((c|0)==(e|0)){i=19396,j=J[4849]&Ll(b),J[i>>2]=j;break g}J[e+12>>2]=c;J[c+8>>2]=e;break g}h=J[f+24>>2];b=J[f+12>>2];h:{if((f|0)!=(b|0)){c=J[f+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break h}i:{e=f+20|0;c=J[e>>2];if(c){break i}e=f+16|0;c=J[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break g}e=J[f+28>>2];c=(e<<2)+19700|0;j:{if(J[c>>2]==(f|0)){J[c>>2]=b;if(b){break j}i=19400,j=J[4850]&Ll(e),J[i>>2]=j;break g}J[h+(J[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}J[b+24>>2]=h;c=J[f+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[f+20>>2];if(!c){break g}J[b+20>>2]=c;J[c+24>>2]=b}J[d+4>>2]=a|1;J[a+d>>2]=a;if(J[4854]!=(d|0)){break f}J[4851]=a;return}J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+19436|0;c=J[4849];a=1<<(a>>>3);k:{if(!(c&a)){J[4849]=a|c;a=b;break k}a=J[b+8>>2]}J[b+8>>2]=d;J[a+12>>2]=d;J[d+12>>2]=b;J[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=S(a>>>8|0);e=((a>>>38-b&1)-(b<<1)|0)+62|0}J[d+28>>2]=e;J[d+16>>2]=0;J[d+20>>2]=0;g=(e<<2)+19700|0;l:{m:{c=J[4850];b=1<>2]=d;J[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=J[g>>2];while(1){c=b;if((J[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=J[g+16>>2];if(b){continue}break}J[g+16>>2]=d;J[d+24>>2]=c}J[d+12>>2]=d;J[d+8>>2]=d;break l}a=J[c+8>>2];J[a+12>>2]=d;J[c+8>>2]=d;J[d+24>>2]=0;J[d+12>>2]=c;J[d+8>>2]=a}a=J[4857]-1|0;J[4857]=a?a:-1}}function xk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=ba-48|0;ba=k;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;o=a+96|0;za(o);d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+8|0;q=a+44|0;d=d>>>2|0;r=d>>>0<=1?1:d;s=c+4|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Tc(q,J[d+(n<<2)>>2],k+8|0);f=J[k+12>>2];d=f>>31;i=J[k+8>>2];e=i>>31;g=(d^f)-d+((e^i)-e)|0;l=J[k+16>>2];d=l>>31;e=(d^l)-d|0;d=0;m=e;e=e+g|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+92>>2];g=j;break b}j=J[a+92>>2];g=j>>31;f=Il(Hl(j,g,f,f>>31),ca,e,d);h=f>>31;g=Il(Hl(j,g,i,i>>31),ca,e,d);d=g>>31;d=(f^h)-h+((d^g)-d)|0;l=(l|0)<0?d-j|0:j-d|0}c:{if((g|0)>=0){i=f+j|0;h=j+l|0;break c}d:{if((f|0)<0){d=l>>31;i=(d^l)-d|0;break d}d=l>>31;i=J[a+84>>2]+(d-(d^l)|0)|0}if((l|0)<0){d=f>>31;h=(d^f)-d|0;break c}d=f>>31;h=J[a+84>>2]+(d-(d^f)|0)|0}d=J[a+84>>2];m=d;e=d;e:{if(!(h|i)){break e}if(!((d|0)!=(h|0)|i)){m=h;e=h;break e}if(!((d|0)!=(i|0)|h)){m=i;e=i;break e}if(!((h|0)<=(j|0)|i)){m=(j<<1)-h|0;e=0;break e}if(!((d|0)!=(i|0)|(h|0)>=(j|0))){m=(j<<1)-h|0;e=i;break e}if(!((d|0)!=(h|0)|(j|0)<=(i|0))){m=h;e=(j<<1)-i|0;break e}if(h){m=h;e=i;break e}m=0;e=i;if((e|0)<=(j|0)){break e}e=(j<<1)-i|0}i=e;J[k+16>>2]=0-l;J[k+12>>2]=0-f;J[k+8>>2]=0-g;f:{if((g|0)<=0){g=j-l|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;g=(l|0)>0?e:d-e|0;e=l>>31;e=(e^l)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|g)){g=d;break g}if(!((d|0)!=(g|0)|e)){g=d;break g}f=(d|0)!=(e|0);if(!(g|f)){g=d;break g}if(!((g|0)<=(j|0)|e)){g=(j<<1)-g|0;d=0;break g}if(!((g|0)>=(j|0)|f)){g=(j<<1)-g|0;break g}if(!((d|0)!=(g|0)|(e|0)>=(j|0))){g=d;d=(j<<1)-e|0;break g}if(g){d=e;break g}g=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}e=(n<<3)+b|0;f=J[e>>2];h=J[e+4>>2];J[k+28>>2]=m;J[k+24>>2]=i;J[k+32>>2]=f;J[k+36>>2]=h;i=k+40|0;h=k+32|0;m=k+24|0;Ya(i,p,h,m);f=J[k+44>>2];l=J[k+40>>2];j=J[e>>2];e=J[e+4>>2];J[k+28>>2]=g;J[k+24>>2]=d;J[k+32>>2]=j;J[k+36>>2]=e;Ya(i,p,h,m);d=J[k+44>>2];g=J[k+40>>2];e=J[a+92>>2];h:{if((e|0)<(l|0)){l=l-J[a+80>>2]|0;break h}if((0-e|0)<=(l|0)){break h}l=J[a+80>>2]+l|0}i:{if((e|0)<(f|0)){f=f-J[a+80>>2]|0;break i}if((0-e|0)<=(f|0)){break i}f=J[a+80>>2]+f|0}j:{if((e|0)<(g|0)){g=g-J[a+80>>2]|0;break j}if((0-e|0)<=(g|0)){break j}g=J[a+80>>2]+g|0}i=n<<1;k:{if((d|0)>(e|0)){d=d-J[a+80>>2]|0;break k}if((0-e|0)<=(d|0)){break k}d=J[a+80>>2]+d|0}e=f>>31;e=(e^f)-e|0;h=l>>31;h=(h^l)-h|0;m=h>>>0>(e^2147483647)>>>0?2147483647:e+h|0;e=d>>31;e=(e^d)-e|0;h=g>>31;h=(h^g)-h|0;e=m>>>0>=(h>>>0>(e^2147483647)>>>0?2147483647:e+h|0)>>>0;Ca(o,e);i=i<<2;g=e?g:l;J[i+c>>2]=(J[a+80>>2]&g>>31)+g;d=e?d:f;J[i+s>>2]=(J[a+80>>2]&d>>31)+d;n=n+1|0;if((r|0)!=(n|0)){continue}break}}ba=k+48|0;return 1}ra();B()}function nk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=ba-48|0;ba=k;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;o=a+96|0;za(o);d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+8|0;q=a+44|0;d=d>>>2|0;r=d>>>0<=1?1:d;s=c+4|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Rc(q,J[d+(n<<2)>>2],k+8|0);f=J[k+12>>2];d=f>>31;i=J[k+8>>2];e=i>>31;g=(d^f)-d+((e^i)-e)|0;l=J[k+16>>2];d=l>>31;e=(d^l)-d|0;d=0;m=e;e=e+g|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+92>>2];g=j;break b}j=J[a+92>>2];g=j>>31;f=Il(Hl(j,g,f,f>>31),ca,e,d);h=f>>31;g=Il(Hl(j,g,i,i>>31),ca,e,d);d=g>>31;d=(f^h)-h+((d^g)-d)|0;l=(l|0)<0?d-j|0:j-d|0}c:{if((g|0)>=0){i=f+j|0;h=j+l|0;break c}d:{if((f|0)<0){d=l>>31;i=(d^l)-d|0;break d}d=l>>31;i=J[a+84>>2]+(d-(d^l)|0)|0}if((l|0)<0){d=f>>31;h=(d^f)-d|0;break c}d=f>>31;h=J[a+84>>2]+(d-(d^f)|0)|0}d=J[a+84>>2];m=d;e=d;e:{if(!(h|i)){break e}if(!((d|0)!=(h|0)|i)){m=h;e=h;break e}if(!((d|0)!=(i|0)|h)){m=i;e=i;break e}if(!((h|0)<=(j|0)|i)){m=(j<<1)-h|0;e=0;break e}if(!((d|0)!=(i|0)|(h|0)>=(j|0))){m=(j<<1)-h|0;e=i;break e}if(!((d|0)!=(h|0)|(j|0)<=(i|0))){m=h;e=(j<<1)-i|0;break e}if(h){m=h;e=i;break e}m=0;e=i;if((e|0)<=(j|0)){break e}e=(j<<1)-i|0}i=e;J[k+16>>2]=0-l;J[k+12>>2]=0-f;J[k+8>>2]=0-g;f:{if((g|0)<=0){g=j-l|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;g=(l|0)>0?e:d-e|0;e=l>>31;e=(e^l)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|g)){g=d;break g}if(!((d|0)!=(g|0)|e)){g=d;break g}f=(d|0)!=(e|0);if(!(g|f)){g=d;break g}if(!((g|0)<=(j|0)|e)){g=(j<<1)-g|0;d=0;break g}if(!((g|0)>=(j|0)|f)){g=(j<<1)-g|0;break g}if(!((d|0)!=(g|0)|(e|0)>=(j|0))){g=d;d=(j<<1)-e|0;break g}if(g){d=e;break g}g=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}e=(n<<3)+b|0;f=J[e>>2];h=J[e+4>>2];J[k+28>>2]=m;J[k+24>>2]=i;J[k+32>>2]=f;J[k+36>>2]=h;i=k+40|0;h=k+32|0;m=k+24|0;Ya(i,p,h,m);f=J[k+44>>2];l=J[k+40>>2];j=J[e>>2];e=J[e+4>>2];J[k+28>>2]=g;J[k+24>>2]=d;J[k+32>>2]=j;J[k+36>>2]=e;Ya(i,p,h,m);d=J[k+44>>2];g=J[k+40>>2];e=J[a+92>>2];h:{if((e|0)<(l|0)){l=l-J[a+80>>2]|0;break h}if((0-e|0)<=(l|0)){break h}l=J[a+80>>2]+l|0}i:{if((e|0)<(f|0)){f=f-J[a+80>>2]|0;break i}if((0-e|0)<=(f|0)){break i}f=J[a+80>>2]+f|0}j:{if((e|0)<(g|0)){g=g-J[a+80>>2]|0;break j}if((0-e|0)<=(g|0)){break j}g=J[a+80>>2]+g|0}i=n<<1;k:{if((d|0)>(e|0)){d=d-J[a+80>>2]|0;break k}if((0-e|0)<=(d|0)){break k}d=J[a+80>>2]+d|0}e=f>>31;e=(e^f)-e|0;h=l>>31;h=(h^l)-h|0;m=h>>>0>(e^2147483647)>>>0?2147483647:e+h|0;e=d>>31;e=(e^d)-e|0;h=g>>31;h=(h^g)-h|0;e=m>>>0>=(h>>>0>(e^2147483647)>>>0?2147483647:e+h|0)>>>0;Ca(o,e);i=i<<2;g=e?g:l;J[i+c>>2]=(J[a+80>>2]&g>>31)+g;d=e?d:f;J[i+s>>2]=(J[a+80>>2]&d>>31)+d;n=n+1|0;if((r|0)!=(n|0)){continue}break}}ba=k+48|0;return 1}ra();B()}function Vf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){e=J[a+48>>2];J[a+52>>2]=e;a:{if((e|0)!=J[a+56>>2]){J[e>>2]=b;J[a+52>>2]=e+4;break a}d=oa(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!e){break a}na(e)}c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;c=J[J[a+4>>2]+28>>2];k=J[(i<<2)+c>>2];if((k|0)==-1){return 0}e=(b-P(g,3)|0?-1:2)+b|0;j=J[c+(e<<2)>>2];if((j|0)==-1){return 0}b=J[a+36>>2];g=b+(k>>>3&536870908)|0;d=J[g>>2];c=1<>2]=c|d;mb(a+8|0,k,i);b=J[a+36>>2]}d=(j>>>3&536870908)+b|0;c=J[d>>2];b=1<>2]=b|c;mb(a+8|0,j,e)}f=J[a+52>>2];if((f|0)==J[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{f=f-4|0;b=J[f>>2];if((b|0)==-1){break c}c=(b>>>0)/3|0;g=J[a+24>>2]+(c>>>3&268435452)|0;d=J[g>>2];c=1<>2]=c|d;h=J[a+4>>2];c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{e:{j=J[a+36>>2]+(c>>>3&536870908)|0;i=J[j>>2];e=1<>2]+(c<<2)>>2];g:{if((g|0)==-1){break g}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}g=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2];if((g|0)!=-1){break f}}J[j>>2]=e|i;mb(k,c,d);h=J[a+4>>2];break e}J[j>>2]=e|i;mb(k,c,d);h=J[a+4>>2];b=g+1|0;if((((b>>>0)%3|0?b:g-2|0)|0)==-1){break e}b=-1;h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1|J[J[h>>2]+(c>>>3&536870908)>>2]>>>c&1){break h}b=J[J[J[h+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];e=c>>>5|0;j=J[f+(e<<2)>>2];break d}i:{j:{if((d|0)==-1){break j}c=-1;b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if(!((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1)){c=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((d>>>0)%3|0){f=d-1|0;break l}f=d+2|0;b=-1;if((f|0)==-1){break k}}b=-1;if(J[J[h>>2]+(f>>>3&536870908)>>2]>>>f&1){break k}b=J[J[J[h+64>>2]+12>>2]+(f<<2)>>2]}g=(b|0)==-1;i=g?-1:(b>>>0)/3|0;if((c|0)!=-1){f=J[a+24>>2];d=(c>>>0)/3|0;e=d>>>5|0;j=J[f+(e<<2)>>2];d=1<>2];e=i>>>5|0;j=J[f+(e<<2)>>2];if(!(d&j)){break d}}f=J[a+52>>2]-4|0;J[a+52>>2]=f;break b}if(g){b=c;break d}if(J[(i>>>3&536870908)+f>>2]>>>i&1){b=c;break d}h=J[a+52>>2];J[h-4>>2]=b;if(J[a+56>>2]!=(h|0)){J[h>>2]=c;f=h+4|0;break c}m:{i=J[a+48>>2];e=h-i|0;g=e>>2;d=g+1|0;if(d>>>0<1073741824){b=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(e){if(e>>>0>=1073741824){break m}d=oa(e<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;f=b+4|0;if((h|0)!=(i|0)){while(1){b=b-4|0;h=h-4|0;J[b>>2]=J[h>>2];if((h|0)!=(i|0)){continue}break}}J[a+56>>2]=d+(e<<2);J[a+52>>2]=f;J[a+48>>2]=b;if(!i){break b}na(i);f=J[a+52>>2];break b}qa();B()}xa();B()}J[(e<<2)+f>>2]=d|j;c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}J[a+52>>2]=f}if(J[a+48>>2]!=(f|0)){continue}break}}return 1}function cg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=J[a+8>>2];d=J[a+4>>2];if((h-d|0)/136>>>0>=b>>>0){a:{if(!b){break a}c=d;f=b&7;if(f){while(1){Ra(c);c=c+136|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}d=P(b,136)+d|0;if((b-1&536870911)>>>0<7){break a}while(1){Ra(c);Ra(c+136|0);Ra(c+272|0);Ra(c+408|0);Ra(c+544|0);Ra(c+680|0);Ra(c+816|0);Ra(c+952|0);c=c+1088|0;if((c|0)!=(d|0)){continue}break}}J[a+4>>2]=d;return}b:{c:{d:{c=J[a>>2];f=(d-c|0)/136|0;g=f+b|0;if(g>>>0<31580642){d=(h-c|0)/136|0;c=d<<1;g=d>>>0>=15790320?31580641:c>>>0>g>>>0?c:g;if(g){if(g>>>0>=31580642){break d}i=oa(P(g,136))}d=P(f,136)+i|0;c=d;f=b&7;if(f){while(1){Ra(c);c=c+136|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}h=P(b,136)+d|0;if((b-1&536870911)>>>0>=7){while(1){Ra(c);Ra(c+136|0);Ra(c+272|0);Ra(c+408|0);Ra(c+544|0);Ra(c+680|0);Ra(c+816|0);Ra(c+952|0);c=c+1088|0;if((h|0)!=(c|0)){continue}break}}f=P(g,136)+i|0;c=J[a+4>>2];e=J[a>>2];if((c|0)==(e|0)){break c}while(1){d=d-136|0;c=c-136|0;J[d>>2]=J[c>>2];J[d+4>>2]=J[c+4>>2];J[d+8>>2]=J[c+8>>2];J[d+12>>2]=J[c+12>>2];J[c+12>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;J[d+16>>2]=J[c+16>>2];J[d+20>>2]=J[c+20>>2];J[d+24>>2]=J[c+24>>2];J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;b=K[c+28|0];J[d+40>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;H[d+28|0]=b;J[d+32>>2]=J[c+32>>2];J[d+36>>2]=J[c+36>>2];J[d+40>>2]=J[c+40>>2];J[c+40>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[d+52>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+44>>2]=J[c+44>>2];J[d+48>>2]=J[c+48>>2];J[d+52>>2]=J[c+52>>2];J[c+52>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;b=d- -64|0;J[b>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+56>>2]=J[c+56>>2];J[d+60>>2]=J[c+60>>2];i=b;b=c- -64|0;J[i>>2]=J[b>>2];J[b>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[d+68>>2]=J[c+68>>2];b=J[c+72>>2];J[d+84>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+72>>2]=b;J[d+76>>2]=J[c+76>>2];J[d+80>>2]=J[c+80>>2];J[d+84>>2]=J[c+84>>2];J[c+84>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[d+96>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+88>>2]=J[c+88>>2];J[d+92>>2]=J[c+92>>2];J[d+96>>2]=J[c+96>>2];J[c+96>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;b=K[c+100|0];J[d+112>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0;H[d+100|0]=b;J[d+104>>2]=J[c+104>>2];J[d+108>>2]=J[c+108>>2];J[d+112>>2]=J[c+112>>2];J[c+112>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;J[d+124>>2]=0;J[d+116>>2]=0;J[d+120>>2]=0;J[d+116>>2]=J[c+116>>2];J[d+120>>2]=J[c+120>>2];J[d+124>>2]=J[c+124>>2];J[c+124>>2]=0;J[c+116>>2]=0;J[c+120>>2]=0;J[d+128>>2]=J[c+128>>2];J[d+132>>2]=J[c+132>>2];if((c|0)!=(e|0)){continue}break}J[a+8>>2]=f;e=J[a+4>>2];J[a+4>>2]=h;c=J[a>>2];J[a>>2]=d;if((c|0)==(e|0)){break b}while(1){a=e-136|0;b=J[a+116>>2];if(b){J[e-16>>2]=b;na(b)}b=J[e-32>>2];if(b){J[e-28>>2]=b;na(b)}pc(e-132|0);e=a;if((a|0)!=(c|0)){continue}break}break b}qa();B()}xa();B()}J[a+8>>2]=f;J[a+4>>2]=h;J[a>>2]=d}if(c){na(c)}}function Qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=ba+-64|0;ba=e;a:{b:{c:{d:{if(!K[a+288|0]){break d}c=1;h=da[J[J[a>>2]+40>>2]](a)|0;if((J[h+12>>2]-J[h+8>>2]|0)<=0){break d}kc(J[J[(da[J[J[a>>2]+40>>2]](a)|0)+8>>2]>>2],b);break c}c=b<<2;f=J[c+J[J[(da[J[J[a>>2]+40>>2]](a)|0)+56>>2]+84>>2]>>2];i=J[c+J[J[(da[J[J[a>>2]+40>>2]](a)|0)+4>>2]+8>>2]>>2];h=-1;c=J[a+176>>2];d=J[a+172>>2];e:{if((c|0)==(d|0)){break e}c=(c-d|0)/136|0;g=c>>>0<=1?1:c;c=0;while(1){if(J[d+P(c,136)>>2]==(b|0)){h=c;break e}c=c+1|0;if((g|0)!=(c|0)){continue}break}}f:{g:{h:{i:{if(!K[a+288|0]){c=J[i+56>>2];if(!(!f|!c)){if(!K[(d+P(h,136)|0)+28|0]|(f|0)!=1){break i}break h}if(c){break h}}c=a+40|0;break g}d=d+P(h,136)|0;c=J[d+56>>2];f=J[d+60>>2];J[e>>2]=-1;wb(d+116|0,f-c>>2,e);c=oa(80);f=J[a+8>>2];J[c+12>>2]=0;J[c+16>>2]=0;J[c>>2]=11984;J[c+4>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+76>>2]=0;i=d+104|0;J[c+72>>2]=i;J[c+68>>2]=f;J[c- -64>>2]=0;g=c+56|0;J[g>>2]=0;J[g+4>>2]=0;J[c+8>>2]=10876;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;j=e+24|0;J[j>>2]=0;J[j+4>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+56>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e>>2]=10876;l=d+4|0;J[e+4>>2]=l;d=J[d+68>>2];k=J[d>>2];d=J[d+4>>2];H[e+63|0]=0;k=(d-k>>2>>>0)/3|0;d=e+63|0;Na(j,k,d);j=J[e+4>>2];k=J[j+56>>2];j=J[j+52>>2];H[e+63|0]=0;Na(e+36|0,k-j>>2,d);J[e+20>>2]=c;J[e+16>>2]=f;J[e+12>>2]=i;J[e+8>>2]=l;J[c+76>>2]=a+72;Kc(c+8|0,e);Rb(g,J[e+48>>2],J[e+52>>2]);J[e>>2]=10876;d=J[e+48>>2];if(d){J[e+52>>2]=d;na(d)}J[e>>2]=11128;d=J[e+36>>2];if(d){na(d)}d=J[e+24>>2];if(d){na(d)}d=0;break f}c=J[a+12>>2];f=J[c+28>>2];c=J[c+24>>2];J[e>>2]=-1;g=d;d=P(h,136);g=g+d|0;wb(g+116|0,f-c>>2,e);H[(d+J[a+172>>2]|0)+100|0]=0;c=g+104|0}j:{k:{if(cb(J[(da[J[J[a>>2]+40>>2]](a)|0)+48>>2])|J[i+56>>2]){break k}if(K[a+288|0]){d=J[a+8>>2];if((J[d+12>>2]-J[d+8>>2]|0)>4){break k}}d=1;c=ng(a,c);break j}d=0;c=mg(a,c)}if(c){break f}c=0;break c}J[((h|0)==-1?a+68|0:(J[a+172>>2]+P(h,136)|0)+132|0)>>2]=d;i=pe(oa(76),c,b);b=J[a+188>>2];l:{if((b|0)!=J[a+192>>2]){J[b>>2]=h;J[a+188>>2]=b+4;break l}c=b;b=J[a+184>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=oa(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=h;c=ta(f,b,c);J[a+192>>2]=c+(d<<2);J[a+188>>2]=g+4;J[a+184>>2]=c;if(!b){break l}na(b)}a=da[J[J[a>>2]+40>>2]](a)|0;J[e>>2]=i;b=J[a+12>>2];m:{if(b>>>0>2]){J[e>>2]=0;J[b>>2]=i;J[a+12>>2]=b+4;break m}Ic(a+8|0,e)}a=J[e>>2];J[e>>2]=0;if(a){da[J[J[a>>2]+4>>2]](a)}c=1}ba=e- -64|0;return c|0}qa();B()}xa();B()}function Lj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=ba+-64|0;ba=e;a:{b:{c:{d:{if(!K[a+352|0]){break d}c=1;h=da[J[J[a>>2]+40>>2]](a)|0;if((J[h+12>>2]-J[h+8>>2]|0)<=0){break d}kc(J[J[(da[J[J[a>>2]+40>>2]](a)|0)+8>>2]>>2],b);break c}c=b<<2;f=J[c+J[J[(da[J[J[a>>2]+40>>2]](a)|0)+56>>2]+84>>2]>>2];i=J[c+J[J[(da[J[J[a>>2]+40>>2]](a)|0)+4>>2]+8>>2]>>2];h=-1;c=J[a+176>>2];d=J[a+172>>2];e:{if((c|0)==(d|0)){break e}c=(c-d|0)/136|0;g=c>>>0<=1?1:c;c=0;while(1){if(J[d+P(c,136)>>2]==(b|0)){h=c;break e}c=c+1|0;if((g|0)!=(c|0)){continue}break}}f:{g:{h:{i:{if(!K[a+352|0]){c=J[i+56>>2];if(!(!f|!c)){if(!K[(d+P(h,136)|0)+28|0]|(f|0)!=1){break i}break h}if(c){break h}}c=a+40|0;break g}d=d+P(h,136)|0;c=J[d+56>>2];f=J[d+60>>2];J[e>>2]=-1;wb(d+116|0,f-c>>2,e);c=oa(80);f=J[a+8>>2];J[c+12>>2]=0;J[c+16>>2]=0;J[c>>2]=11984;J[c+4>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+76>>2]=0;i=d+104|0;J[c+72>>2]=i;J[c+68>>2]=f;J[c- -64>>2]=0;g=c+56|0;J[g>>2]=0;J[g+4>>2]=0;J[c+8>>2]=10876;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;j=e+24|0;J[j>>2]=0;J[j+4>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+56>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e>>2]=10876;l=d+4|0;J[e+4>>2]=l;d=J[d+68>>2];k=J[d>>2];d=J[d+4>>2];H[e+63|0]=0;k=(d-k>>2>>>0)/3|0;d=e+63|0;Na(j,k,d);j=J[e+4>>2];k=J[j+56>>2];j=J[j+52>>2];H[e+63|0]=0;Na(e+36|0,k-j>>2,d);J[e+20>>2]=c;J[e+16>>2]=f;J[e+12>>2]=i;J[e+8>>2]=l;J[c+76>>2]=a+72;Kc(c+8|0,e);Rb(g,J[e+48>>2],J[e+52>>2]);J[e>>2]=10876;d=J[e+48>>2];if(d){J[e+52>>2]=d;na(d)}J[e>>2]=11128;d=J[e+36>>2];if(d){na(d)}d=J[e+24>>2];if(d){na(d)}d=0;break f}c=J[a+12>>2];f=J[c+28>>2];c=J[c+24>>2];J[e>>2]=-1;g=d;d=P(h,136);g=g+d|0;wb(g+116|0,f-c>>2,e);H[(d+J[a+172>>2]|0)+100|0]=0;c=g+104|0}j:{k:{if(cb(J[(da[J[J[a>>2]+40>>2]](a)|0)+48>>2])|J[i+56>>2]){break k}if(K[a+352|0]){d=J[a+8>>2];if((J[d+12>>2]-J[d+8>>2]|0)>4){break k}}d=1;c=ng(a,c);break j}d=0;c=mg(a,c)}if(c){break f}c=0;break c}J[((h|0)==-1?a+68|0:(J[a+172>>2]+P(h,136)|0)+132|0)>>2]=d;i=pe(oa(76),c,b);b=J[a+188>>2];l:{if((b|0)!=J[a+192>>2]){J[b>>2]=h;J[a+188>>2]=b+4;break l}c=b;b=J[a+184>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=oa(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=h;c=ta(f,b,c);J[a+192>>2]=c+(d<<2);J[a+188>>2]=g+4;J[a+184>>2]=c;if(!b){break l}na(b)}a=da[J[J[a>>2]+40>>2]](a)|0;J[e>>2]=i;b=J[a+12>>2];m:{if(b>>>0>2]){J[e>>2]=0;J[b>>2]=i;J[a+12>>2]=b+4;break m}Ic(a+8|0,e)}a=J[e>>2];J[e>>2]=0;if(a){da[J[J[a>>2]+4>>2]](a)}c=1}ba=e- -64|0;return c|0}qa();B()}xa();B()}function oc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=ba-16|0;ba=j;J[a+124>>2]=J[a+124>>2]+1;h=-1;d=J[a+120>>2];c=-1;a:{if((d|0)==-1){break a}c=d+1|0;h=(c>>>0)%3|0?c:d-2|0;c=d-1|0;if((d>>>0)%3|0){break a}c=d+2|0}e=J[a+104>>2];f=J[a+92>>2];g=f+(h<<2)|0;k=e+(J[g>>2]<<2)|0;i=J[k>>2];b:{c:{switch(b|0){case 0:case 1:J[k>>2]=i-1;d=(J[(c<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;if((b|0)!=1){break b}g=0;d:{if((c|0)==-1){d=0;break d}d=0;c=J[J[J[a+88>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break d}while(1){e:{e=J[a+64>>2];if(da[J[J[e>>2]+36>>2]](e,(c>>>0)/3|0)|0){break e}d=d+1|0;e=c+1|0;c=(e>>>0)%3|0?e:c-2|0;if((c|0)==-1){break e}c=J[J[J[a+88>>2]+12>>2]+(c<<2)>>2];if((c|0)!=-1){continue}}break}e=J[a+104>>2];f=J[a+92>>2]}J[(J[(J[a+120>>2]<<2)+f>>2]<<2)+e>>2]=d+1;f:{if((h|0)==-1){break f}c=J[J[J[a+88>>2]+12>>2]+(h<<2)>>2];if((c|0)==-1){break f}e=J[a+108>>2]-e>>2;while(1){f=J[a+64>>2];d=(c>>>0)/3|0;if(da[J[J[f>>2]+36>>2]](f,d)|0){break f}f=c+1|0;J[J[a+92>>2]+(((f>>>0)%3|0?f:c-2|0)<<2)>>2]=e;g=g+1|0;f=J[a+88>>2];g:{if((P(d,3)|0)!=(c|0)){c=c-1|0;break g}c=c+2|0;if((c|0)==-1){break f}}c=J[J[f+12>>2]+(c<<2)>>2];if((c|0)!=-1){continue}break}}J[j+12>>2]=g+1;h:{c=J[a+108>>2];f=J[a+112>>2];if(c>>>0>>0){J[c>>2]=J[j+12>>2];J[a+108>>2]=c+4;break h}i:{d=c;c=J[a+104>>2];d=d-c|0;h=d>>2;e=h+1|0;if(e>>>0<1073741824){f=f-c|0;g=f>>>1|0;e=f>>>0>=2147483644?1073741823:e>>>0>>0?g:e;if(e){if(e>>>0>=1073741824){break i}f=oa(e<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=J[j+12>>2];g=e<<2;e=ta(f,c,d);J[a+112>>2]=g+e;J[a+108>>2]=h+4;J[a+104>>2]=e;if(c){na(c)}break h}qa();B()}xa();B()}break b;case 5:d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-2;break b;case 3:d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-1;break b;case 7:break c;default:break b}}d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-2}j:{k:{c=J[a+116>>2];l:{if((c|0)==-1){break l}h=J[(c<<2)+11184>>2];c=J[a+132>>2];d=(c|0)>(i|0)?i:c;c=J[a+128>>2];c=J[a+136>>2]+P((c|0)<=(i|0)?d-c|0:0,12)|0;e=J[c+4>>2];d=J[c+8>>2];if(e>>>0>>0){J[e>>2]=h;J[c+4>>2]=e+4;break l}f=e;e=J[c>>2];i=f-e|0;g=i>>2;f=g+1|0;if(f>>>0>=1073741824){break k}d=d-e|0;k=d>>>1|0;f=d>>>0>=2147483644?1073741823:f>>>0>>0?k:f;if(f){if(f>>>0>=1073741824){break j}d=oa(f<<2)}else{d=0}g=d+(g<<2)|0;J[g>>2]=h;d=ta(d,e,i);J[c>>2]=d;J[c+4>>2]=g+4;J[c+8>>2]=d+(f<<2);if(!e){break l}na(e)}J[a+116>>2]=b;ba=j+16|0;return}qa();B()}xa();B()}function Wf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){f=J[a+48>>2];J[a+52>>2]=f;a:{if((f|0)!=J[a+56>>2]){J[f>>2]=b;J[a+52>>2]=f+4;break a}d=oa(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!f){break a}na(f)}e=-1;d=J[a+4>>2];c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;if((i|0)!=-1){e=J[J[d>>2]+(i<<2)>>2]}b:{h=b-P(g,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}j=J[J[d>>2]+(c<<2)>>2];if((j|0)==-1){return 0}c=J[a+36>>2];f=c+(e>>>3&536870908)|0;g=J[f>>2];d=1<>2]=d|g;mb(a+8|0,e,i);c=J[a+36>>2]}g=(j>>>3&536870908)+c|0;d=J[g>>2];c=1<>2]=c|d;mb(a+8|0,j,(h?-1:2)+b|0)}c=J[a+52>>2];if((c|0)==J[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=J[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;f=J[a+24>>2]+(d>>>3&268435452)|0;g=J[f>>2];d=1<>2]=d|g;while(1){i=J[a+4>>2];e=J[J[i>>2]+(b<<2)>>2];if((e|0)==-1){return 0}e:{f:{h=J[a+36>>2]+(e>>>3&536870908)|0;f=J[h>>2];g=1<>2]+(e<<2)>>2];h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break h}d=J[J[i+12>>2]+(c<<2)>>2];if((d|0)!=-1){break g}}J[h>>2]=f|g;mb(j,e,b);break f}J[h>>2]=f|g;mb(j,e,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}c=b-2|0;d=b+1|0;b=-1;c=(d>>>0)%3|0?d:c;if((c|0)!=-1){b=J[J[J[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];f=c>>>5|0;i=J[e+(f<<2)>>2];break e}c=-1;g=J[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=J[J[g+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=J[J[g+12>>2]+(e<<2)>>2]}g=(b|0)==-1;h=g?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=J[a+24>>2];d=(c>>>0)/3|0;f=d>>>5|0;i=J[e+(f<<2)>>2];d=1<>2];f=h>>>5|0;i=J[e+(f<<2)>>2];if(!(d&i)){break e}}c=J[a+52>>2]-4|0;J[a+52>>2]=c;break c}if(g){b=c;break e}if(J[(h>>>3&536870908)+e>>2]>>>h&1){b=c;break e}e=J[a+52>>2];J[e-4>>2]=b;if(J[a+56>>2]!=(e|0)){J[e>>2]=c;c=e+4|0;break d}l:{h=J[a+48>>2];f=e-h|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){b=f>>>1|0;f=f>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(f){if(f>>>0>=1073741824){break l}d=oa(f<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;c=b+4|0;if((e|0)!=(h|0)){while(1){b=b-4|0;e=e-4|0;J[b>>2]=J[e>>2];if((e|0)!=(h|0)){continue}break}}J[a+56>>2]=d+(f<<2);J[a+52>>2]=c;J[a+48>>2]=b;if(!h){break c}na(h);c=J[a+52>>2];break c}qa();B()}xa();B()}J[(f<<2)+e>>2]=d|i;if((b|0)!=-1){continue}break}return 0}J[a+52>>2]=c}if(J[a+48>>2]!=(c|0)){continue}break}}return 1}function Mg(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,n=0;d=a+4|0;if((d|0)!=(b|0)){ic(d,J[b>>2],b+4|0);f=J[b+12>>2];k=b+16|0;d=0;h=a+16|0;a:{if(!J[h+8>>2]){break a}e=J[h>>2];j=h+4|0;J[h>>2]=j;J[J[h+4>>2]+8>>2]=0;J[h+4>>2]=0;J[h+8>>2]=0;c=J[e+4>>2];g=c?c:e;if(!g){nb(h,g);break a}e=J[g+8>>2];b:{if(!e){break b}c=J[e>>2];if((g|0)==(c|0)){J[e>>2]=0;d=e;c=J[e+4>>2];if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}c=J[d+4>>2];if(c){continue}break}break b}J[e+4>>2]=0;d=e;if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}c=J[d+4>>2];if(c){continue}break}}c:{if((f|0)==(k|0)){i=g;break c}c=f;while(1){i=d;J[g+16>>2]=J[c+16>>2];if((c|0)!=(g|0)){ic(g+20|0,J[c+20>>2],c+24|0)}f=j;d=f;e=J[d>>2];d:{if(!e){break d}l=J[g+16>>2];while(1){f=e;if((l|0)>2]){d=f;e=J[d>>2];if(e){continue}break d}e=J[f+4>>2];if(e){continue}break}d=f+4|0}J[g+8>>2]=f;J[g>>2]=0;J[g+4>>2]=0;J[d>>2]=g;f=J[J[h>>2]>>2];if(f){J[h>>2]=f;g=J[d>>2]}sb(J[h+4>>2],g);J[h+8>>2]=J[h+8>>2]+1;d=0;e:{if(!i){break e}e=J[i+8>>2];if(!e){break e}f=J[e>>2];if((i|0)==(f|0)){J[e>>2]=0;d=e;f=J[e+4>>2];if(!f){break e}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}break e}J[e+4>>2]=0;d=e;if(!f){break e}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}}e=J[c+4>>2];f:{if(e){while(1){f=e;e=J[e>>2];if(e){continue}break f}}while(1){f=J[c+8>>2];e=J[f>>2]!=(c|0);c=f;if(e){continue}break}}if(!i){break c}g=i;c=f;if((k|0)!=(c|0)){continue}break}}nb(h,i);if(!d){break a}while(1){c=J[d+8>>2];if(c){d=c;continue}break}nb(h,d)}if((f|0)!=(k|0)){while(1){n=ba-16|0;ba=n;i=oa(32);g=f+16|0;d=J[g>>2];m=i+24|0;J[m>>2]=0;J[m+4>>2]=0;J[i+16>>2]=d;l=i+20|0;J[l>>2]=m;e=h+4|0;c=J[g+4>>2];j=g+8|0;if((c|0)!=(j|0)){while(1){d=c+16|0;Qg(n+8|0,l,m,d,d);g=J[c+4>>2];g:{if(g){while(1){d=g;g=J[d>>2];if(g){continue}break g}}while(1){d=J[c+8>>2];g=J[d>>2]!=(c|0);c=d;if(g){continue}break}}c=d;if((j|0)!=(c|0)){continue}break}}c=e;d=J[c>>2];h:{if(!d){break h}g=J[i+16>>2];while(1){e=d;if((g|0)>2]){c=e;d=J[c>>2];if(d){continue}break h}d=J[e+4>>2];if(d){continue}break}c=e+4|0}J[i+8>>2]=e;J[i>>2]=0;J[i+4>>2]=0;J[c>>2]=i;d=i;e=J[J[h>>2]>>2];if(e){J[h>>2]=e;d=J[c>>2]}sb(J[h+4>>2],d);J[h+8>>2]=J[h+8>>2]+1;ba=n+16|0;e=J[f+4>>2];i:{if(e){while(1){c=e;e=J[c>>2];if(e){continue}break i}}while(1){c=J[f+8>>2];d=J[c>>2]!=(f|0);f=c;if(d){continue}break}}f=c;if((c|0)!=(k|0)){continue}break}}ic(a+28|0,J[b+24>>2],b+28|0)}}function nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=ba-16|0;ba=m;f=J[a+4>>2];a:{b:{if(f){if(da[J[J[a>>2]+52>>2]](a,b,J[J[f+4>>2]+80>>2])|0){break b}break a}if(!(da[J[J[a>>2]+52>>2]](a,b,0)|0)){break a}}n=1;if(!K[a+28|0]){break a}d=J[a+32>>2];i=J[a+8>>2];c=J[i+80>>2];f=0;J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;c:{d:{e:{if(c){if(c>>>0>=1073741824){break e}c=c<<2;f=oa(c);pa(f,0,c)}e=J[b+4>>2];c=J[b>>2];f:{if((e|0)==(c|0)){break f}b=e-c>>2;if(K[i+84|0]){e=b>>>0<=1?1:b;h=e&3;b=0;if(e-1>>>0>=3){j=e&-4;e=0;while(1){J[(J[c+(b<<2)>>2]<<2)+f>>2]=b;k=b|1;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;k=b|2;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;k=b|3;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;b=b+4|0;e=e+4|0;if((j|0)!=(e|0)){continue}break}}if(!h){break f}while(1){J[(J[c+(b<<2)>>2]<<2)+f>>2]=b;b=b+1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}break f}g=b>>>0<=1?1:b;j=g&3;h=J[i+68>>2];e=0;b=0;if(g-1>>>0>=3){k=g&-4;g=0;while(1){J[(J[h+(J[c+(b<<2)>>2]<<2)>>2]<<2)+f>>2]=b;l=b|1;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;l=b|2;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;l=b|3;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;b=b+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}}if(!j){break f}while(1){J[(J[h+(J[c+(b<<2)>>2]<<2)>>2]<<2)+f>>2]=b;b=b+1|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}b=J[a+4>>2];g:{if(!K[d+84|0]){break g}c=J[J[b+4>>2]+80>>2];H[d+84|0]=0;g=J[d+68>>2];e=J[d+72>>2]-g>>2;if(e>>>0>>0){Ma(d+68|0,c-e|0,2736);b=J[a+4>>2];break g}if(c>>>0>=e>>>0){break g}J[d+72>>2]=g+(c<<2)}h=J[J[b+4>>2]+80>>2];if(!h){break d}c=J[d+68>>2];if(K[i+84|0]){a=0;b=0;if(h>>>0>=4){g=h&-4;e=0;while(1){d=b<<2;J[d+c>>2]=J[f+d>>2];i=d|4;J[i+c>>2]=J[f+i>>2];i=d|8;J[i+c>>2]=J[f+i>>2];d=d|12;J[d+c>>2]=J[f+d>>2];b=b+4|0;e=e+4|0;if((g|0)!=(e|0)){continue}break}}e=h&3;if(!e){break c}while(1){d=b<<2;J[d+c>>2]=J[f+d>>2];b=b+1|0;a=a+1|0;if((e|0)!=(a|0)){continue}break}break c}a=J[i+68>>2];e=0;b=0;if(h>>>0>=4){i=h&-4;g=0;while(1){d=b<<2;J[d+c>>2]=J[(J[a+d>>2]<<2)+f>>2];j=d|4;J[j+c>>2]=J[(J[a+j>>2]<<2)+f>>2];j=d|8;J[j+c>>2]=J[(J[a+j>>2]<<2)+f>>2];d=d|12;J[d+c>>2]=J[(J[a+d>>2]<<2)+f>>2];b=b+4|0;g=g+4|0;if((i|0)!=(g|0)){continue}break}}d=h&3;if(!d){break c}while(1){g=b<<2;J[g+c>>2]=J[(J[a+g>>2]<<2)+f>>2];b=b+1|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}break c}qa();B()}if(!f){break a}}na(f)}ba=m+16|0;return n|0}function Pg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{b:{c:{d:{e:{f:{i=a+4|0;g:{if((i|0)==(b|0)){break g}f=K[b+27|0];g=f<<24>>24<0;h=K[e+11|0];j=h<<24>>24;k=(j|0)<0;f=g?J[b+20>>2]:f;h=k?J[e+4>>2]:h;l=f>>>0>>0;m=l?f:h;if(m){k=k?J[e>>2]:e;g=g?J[b+16>>2]:b+16|0;n=Ba(k,g,m);if(!n){if(f>>>0>h>>>0){break g}break f}if((n|0)>=0){break f}break g}if(f>>>0<=h>>>0){break e}}d=J[b>>2];h:{f=b;i:{if((f|0)==J[a>>2]){break i}j:{if(!d){a=b;while(1){f=J[a+8>>2];h=J[f>>2]==(a|0);a=f;if(h){continue}break}break j}a=d;while(1){f=a;a=J[f+4>>2];if(a){continue}break}}a=K[e+11|0];k=a<<24>>24;h=(k|0)<0;j=K[f+27|0];g=j<<24>>24<0;k:{a=h?J[e+4>>2]:a;j=g?J[f+20>>2]:j;l=a>>>0>>0?a:j;if(l){h=Ba(g?J[f+16>>2]:f+16|0,h?J[e>>2]:e,l);if(h){break k}}if(a>>>0>j>>>0){break i}break h}if((h|0)>=0){break h}}if(!d){J[c>>2]=b;return b}J[c>>2]=f;return f+4|0}d=J[i>>2];if(!d){J[c>>2]=i;return i}e=(k|0)<0?J[e>>2]:e;b=i;while(1){f=d;d=K[f+27|0];i=d<<24>>24<0;d=i?J[f+20>>2]:d;h=d>>>0>>0;l:{m:{n:{o:{g=h?d:a;p:{if(g){i=i?J[f+16>>2]:f+16|0;j=Ba(e,i,g);if(!j){if(a>>>0>>0){break p}break o}if((j|0)>=0){break o}break p}if(a>>>0>=d>>>0){break n}}b=f;d=J[f>>2];if(d){continue}break b}d=Ba(i,e,g);if(d){break m}}if(h){break l}break b}if((d|0)>=0){break b}}b=f+4|0;d=J[f+4>>2];if(d){continue}break}break b}a=Ba(g,k,m);if(a){break d}}if(l){break c}break a}if((a|0)>=0){break a}}d=J[b+4>>2];q:{if(!d){a=b;while(1){f=J[a+8>>2];g=J[f>>2]!=(a|0);a=f;if(g){continue}break}break q}a=d;while(1){f=a;a=J[f>>2];if(a){continue}break}}r:{s:{if((f|0)==(i|0)){break s}g=K[f+27|0];a=g<<24>>24<0;t:{g=a?J[f+20>>2]:g;k=h>>>0>g>>>0?g:h;if(k){a=Ba((j|0)<0?J[e>>2]:e,a?J[f+16>>2]:f+16|0,k);if(a){break t}}if(h>>>0>>0){break s}break r}if((a|0)>=0){break r}}if(!d){J[c>>2]=b;return b+4|0}J[c>>2]=f;return f}a=J[i>>2];if(!a){J[c>>2]=i;return i}d=(j|0)<0?J[e>>2]:e;b=i;while(1){f=a;a=K[f+27|0];e=a<<24>>24<0;a=e?J[f+20>>2]:a;i=a>>>0>>0;u:{v:{w:{x:{g=i?a:h;y:{if(g){e=e?J[f+16>>2]:f+16|0;j=Ba(d,e,g);if(!j){if(a>>>0>h>>>0){break y}break x}if((j|0)>=0){break x}break y}if(a>>>0<=h>>>0){break w}}b=f;a=J[f>>2];if(a){continue}break b}a=Ba(e,d,g);if(a){break v}}if(i){break u}break b}if((a|0)>=0){break b}}b=f+4|0;a=J[f+4>>2];if(a){continue}break}}J[c>>2]=f;return b}J[c>>2]=b;J[d>>2]=b;return d}function Dc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{d=b;g=J[b>>2];if(g){c=J[b+4>>2];if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}break}}g=J[d+4>>2];if(g){break b}g=0;e=1;break a}J[g+8>>2]=J[d+8>>2];e=0}f=J[d+8>>2];c=J[f>>2];c:{if((d|0)==(c|0)){J[f>>2]=g;if((a|0)==(d|0)){c=0;a=g;break c}c=J[f+4>>2];break c}J[f+4>>2]=g}h=!K[d+12|0];if((b|0)!=(d|0)){f=J[b+8>>2];J[d+8>>2]=f;J[f+((J[J[b+8>>2]>>2]!=(b|0))<<2)>>2]=d;f=J[b>>2];J[d>>2]=f;J[f+8>>2]=d;f=J[b+4>>2];J[d+4>>2]=f;if(f){J[f+8>>2]=d}H[d+12|0]=K[b+12|0];a=(a|0)==(b|0)?d:a}if(!(h|!a)){if(e){while(1){b=K[c+12|0];d:{e=J[c+8>>2];if(J[e>>2]!=(c|0)){if(!b){H[c+12|0]=1;H[e+12|0]=0;d=J[e+4>>2];b=J[d>>2];J[e+4>>2]=b;if(b){J[b+8>>2]=e}J[d+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=d;J[d>>2]=e;J[e+8>>2]=d;b=J[c>>2];a=(b|0)==(a|0)?c:a;c=J[b+4>>2]}e:{f:{d=J[c>>2];g:{if(!(K[d+12|0]?0:d)){b=J[c+4>>2];if(K[b+12|0]?0:b){break g}H[c+12|0]=0;c=J[c+8>>2];h:{if((c|0)==(a|0)){c=a;break h}if(K[c+12|0]){break d}}H[c+12|0]=1;return}b=J[c+4>>2];if(!b){break f}}if(K[b+12|0]){break f}d=c;break e}H[d+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;b=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[b+12|0]=1;b=J[c+4>>2];a=J[b>>2];J[c+4>>2]=a;if(a){J[a+8>>2]=c}J[b+8>>2]=J[c+8>>2];a=J[c+8>>2];J[(((c|0)!=J[a>>2])<<2)+a>>2]=b;J[b>>2]=c;J[c+8>>2]=b;return}if(!b){H[c+12|0]=1;H[e+12|0]=0;b=J[c+4>>2];J[e>>2]=b;if(b){J[b+8>>2]=e}J[c+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=c;J[c+4>>2]=e;J[e+8>>2]=c;a=(a|0)==(e|0)?c:a;c=J[e>>2]}b=J[c>>2];i:{if(!(!b|K[b+12|0])){d=c;break i}d=J[c+4>>2];if(!(K[d+12|0]?0:d)){H[c+12|0]=0;c=J[c+8>>2];if((a|0)!=(c|0)?K[c+12|0]:0){break d}H[c+12|0]=1;return}if(b){if(!K[b+12|0]){d=c;break i}d=J[c+4>>2]}H[d+12|0]=1;H[c+12|0]=0;a=J[d>>2];J[c+4>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d>>2]=c;J[c+8>>2]=d;b=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[b+12|0]=1;b=J[c>>2];a=J[b+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[b+8>>2]=J[c+8>>2];a=J[c+8>>2];J[(((c|0)!=J[a>>2])<<2)+a>>2]=b;J[b+4>>2]=c;J[c+8>>2]=b;return}b=J[c+8>>2];c=J[((J[b>>2]==(c|0))<<2)+b>>2];continue}}H[g+12|0]=1}}function wc(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;h=ba-32|0;ba=h;a:{b:{if(J[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=oa(b<<2);J[h+24>>2]=b;J[h+20>>2]=0;J[h+16>>2]=c;b=J[a>>2];J[h+12>>2]=0;J[h+8>>2]=b;c=J[a+4>>2];J[h+4>>2]=c&31;J[h>>2]=b+(c>>>3&536870908);e=ba-32|0;ba=e;i=J[h+4>>2];g=J[h+12>>2];j=J[h>>2];d=J[h+8>>2];b=(i-g|0)+(j-d<<3)|0;f=J[h+20>>2];c=b+f|0;J[h+20>>2]=c;if(!((c-1^f-1)>>>0<32?f:0)){J[J[h+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=J[h+16>>2]+(f>>>3&536870908)|0;f=f&31;c:{if((f|0)==(g|0)){if((b|0)<=0){break c}if(g){i=32-g|0;f=(b|0)<(i|0)?b:i;i=-1<>>i-f;J[c>>2]=J[c>>2]&(i^-1)|i&J[d>>2];d=d+4|0;c=(g+f>>>3&536870908)+c|0;b=b-f|0}g=(b|0)/32|0;if(b+31>>>0>=63){ta(c,d,g<<2)}b=b-(g<<5)|0;if((b|0)<=0){break c}f=c;c=g<<2;g=f+c|0;b=-1>>>32-b|0;J[g>>2]=J[g>>2]&(b^-1)|b&J[c+d>>2];break c}J[e+28>>2]=g;J[e+24>>2]=d;J[e+20>>2]=i;J[e+16>>2]=j;J[e+12>>2]=f;J[e+8>>2]=c;b=J[e+28>>2];c=J[e+24>>2];g=(J[e+20>>2]-b|0)+(J[e+16>>2]-c<<3)|0;d:{if((g|0)<=0){b=J[e+12>>2];d=J[e+8>>2];break d}e:{if(!b){b=J[e+12>>2];break e}d=J[e+12>>2];j=32-d|0;k=32-b|0;f=(g|0)<(k|0)?g:k;i=f>>>0>j>>>0?j:f;l=J[e+8>>2];m=J[l>>2]&(-1<>>j-i^-1);j=J[c>>2]&(-1<>>k-f);J[l>>2]=m|(b>>>0>>0?j<>>b-d|0);c=d+i|0;b=c&31;J[e+12>>2]=b;d=l+(c>>>3&536870908)|0;J[e+8>>2]=d;c=f-i|0;if((c|0)>0){J[d>>2]=J[d>>2]&(-1>>>32-c^-1)|j>>>i+J[e+28>>2];J[e+12>>2]=c;b=c}g=g-f|0;c=J[e+24>>2]+4|0;J[e+24>>2]=c}i=-1<=32){j=i^-1;while(1){d=J[e+8>>2];c=J[c>>2];J[d>>2]=j&J[d>>2]|c<>2]=d+4;J[d+4>>2]=i&J[d+4>>2]|c>>>f;c=J[e+24>>2]+4|0;J[e+24>>2]=c;d=g>>>0>63;g=g-32|0;if(d){continue}break}}d=J[e+8>>2];if((g|0)<=0){break d}j=f;f=(g|0)>(f|0)?f:g;j=J[d>>2]&(i&-1>>>j-f^-1);i=J[c>>2]&-1>>>32-g;J[d>>2]=j|i<>2]=c;d=(b>>>3&536870908)+d|0;J[e+8>>2]=d;b=g-f|0;if((b|0)<=0){b=c;break d}J[d>>2]=J[d>>2]&(-1>>>32-b^-1)|i>>>f;J[e+12>>2]=b}J[e+4>>2]=b;J[e>>2]=d}ba=e+32|0;b=J[a>>2];J[a>>2]=J[h+16>>2];J[h+16>>2]=b;c=J[a+4>>2];J[a+4>>2]=J[h+20>>2];J[h+20>>2]=c;c=J[a+8>>2];J[a+8>>2]=J[h+24>>2];J[h+24>>2]=c;if(!b){break b}na(b)}ba=h+32|0;return}qa();B()}function Yj(a){a=a|0;var 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,q=0,r=0;g=ba-16|0;ba=g;b=J[a+64>>2];a:{if(!b){break a}i=da[J[J[b>>2]+32>>2]](b)|0;if(!i){break a}n=(J[i+28>>2]-J[i+24>>2]>>2)-J[i+44>>2]|0;b=J[a+56>>2];d=J[b+8>>2];b:{if((J[b+12>>2]-d|0)<5){break b}J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;c:{d:{while(1){e:{f:{if(!J[J[(c<<2)+d>>2]+56>>2]){break f}j=da[J[J[a>>2]+56>>2]](a,c)|0;if(!j){break f}if(J[g+8>>2]!=(f|0)){J[f>>2]=j;f=f+4|0;J[g+4>>2]=f;break f}b=J[g>>2];h=f-b|0;f=h>>2;d=f+1|0;if(d>>>0>=1073741824){break e}e=h>>>1|0;d=h>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break d}e=oa(d<<2)}else{e=0}f=e+(f<<2)|0;J[f>>2]=j;h=ta(e,b,h);J[g+8>>2]=h+(d<<2);f=f+4|0;J[g+4>>2]=f;J[g>>2]=h;if(!b){break f}na(b)}m=J[a+56>>2];d=J[m+8>>2];c=c+1|0;if((c|0)>2]-d>>2){continue}break c}break}qa();B()}xa();B()}j=J[g>>2];o=J[i+24>>2];b=J[i+28>>2];if((o|0)!=(b|0)){b=b-o>>2;q=b>>>0<=1?1:b;b=f-j>>2;r=b>>>0<=1?1:b;while(1){e=J[(p<<2)+o>>2];if((e|0)!=-1){g:{if((e|0)<0){c=(e>>>0)%3|0;b=-1;break g}b=(e>>>0)/3|0;c=e-P(b,3)|0;b=J[(J[m+96>>2]+P(b,12)|0)+(c<<2)>>2]}h:{i:{if(c){c=e-1|0;break i}c=e+2|0;if((c|0)!=-1){break i}l=0;break h}l=0;c=J[J[i+12>>2]+(c<<2)>>2];if((c|0)==-1){break h}j:{if((c>>>0)%3|0){d=c-1|0;break j}d=c+2|0;if((d|0)==-1){break h}}h=e;while(1){c=(d|0)<0?-1:J[(J[m+96>>2]+P((d>>>0)/3|0,12)|0)+((d>>>0)%3<<2)>>2];k:{if((b|0)==(c|0)){c=0;if((f|0)==(j|0)){c=b;break k}l:{while(1){k=J[J[(c<<2)+j>>2]+28>>2];if(J[k+(d<<2)>>2]!=J[k+(h<<2)>>2]){break l}c=c+1|0;if((r|0)!=(c|0)){continue}break}c=b;break k}c=b}l=l+1|0}if((d|0)==(e|0)|(d|0)==-1){break h}m:{if((d>>>0)%3|0){b=d-1|0;break m}b=d+2|0;if((b|0)==-1){break h}}k=J[J[i+12>>2]+(b<<2)>>2];if((k|0)==-1){break h}b=c;h=d;c=k+((k>>>0)%3|0?-1:2)|0;d=c;if((c|0)!=-1){continue}break}}c=1;b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;n:{if((b|0)==-1){break n}b=J[J[i+12>>2]+(b<<2)>>2];if((b|0)==-1){break n}c=b+1|0;c=(((c>>>0)%3|0?c:b-2|0)|0)==-1}n=(l+n|0)-((c^-1)&(l|0)!=0)|0}p=p+1|0;if((q|0)!=(p|0)){continue}break}}if(!j){break b}na(j)}J[a+52>>2]=n}ba=g+16|0}function Ze(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=ba-128|0;ba=j;a:{b:{c:{if(!Hb(f,g,h,i,0,0,0,0)){break c}l=i&65535;n=i>>>16&32767;d:{e:{if((n|0)!=32767){k=4;if(n){break e}k=f|h|(g|l)?3:2;break d}k=!(f|h|(g|l))}}s=e>>>16|0;o=s&32767;if((o|0)==32767){break c}if(k){break b}}Ea(j+16|0,b,c,d,e,f,g,h,i);b=J[j+16>>2];d=J[j+20>>2];e=J[j+24>>2];c=J[j+28>>2];Ne(j,b,d,e,c,b,d,e,c);d=J[j+8>>2];e=J[j+12>>2];h=J[j>>2];i=J[j+4>>2];break a}k=d;p=e&2147483647;n=h;m=i&2147483647;if((Hb(b,c,k,p,f,g,h,m)|0)<=0){if(Hb(b,c,k,p,f,g,n,m)){h=b;i=c;break a}Ea(j+112|0,b,c,d,e,0,0,0,0);d=J[j+120>>2];e=J[j+124>>2];h=J[j+112>>2];i=J[j+116>>2];break a}q=i>>>16&32767;if(o){i=c;h=b}else{Ea(j+96|0,b,c,k,p,0,0,0,1081540608);k=J[j+104>>2];h=J[j+108>>2];p=h;o=(h>>>16|0)-120|0;i=J[j+100>>2];h=J[j+96>>2]}if(!q){Ea(j+80|0,f,g,n,m,0,0,0,1081540608);n=J[j+88>>2];f=J[j+92>>2];m=f;q=(f>>>16|0)-120|0;g=J[j+84>>2];f=J[j+80>>2]}r=n;t=m&65535|65536;p=p&65535|65536;if((o|0)>(q|0)){while(1){m=k-r|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;n=m-l|0;l=(p-((k>>>0>>0)+t|0)|0)-(l>>>0>m>>>0)|0;f:{if((l|0)>0|(l|0)>=0){k=h;h=h-f|0;i=i-((f>>>0>k>>>0)+g|0)|0;if(!(h|n|(i|l))){Ea(j+32|0,b,c,d,e,0,0,0,0);d=J[j+40>>2];e=J[j+44>>2];h=J[j+32>>2];i=J[j+36>>2];break a}l=l<<1|n>>>31;k=n<<1|i>>>31;break f}l=p<<1|k>>>31;k=k<<1|i>>>31}p=l;l=i<<1|h>>>31;h=h<<1;i=l;o=o-1|0;if((o|0)>(q|0)){continue}break}o=q}m=k-r|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;n=m-l|0;l=(p-((k>>>0>>0)+t|0)|0)-(l>>>0>m>>>0)|0;m=l;g:{if((l|0)<0){n=k;m=p;break g}k=h;h=h-f|0;i=i-((f>>>0>k>>>0)+g|0)|0;if(h|n|(i|m)){break g}Ea(j+48|0,b,c,d,e,0,0,0,0);d=J[j+56>>2];e=J[j+60>>2];h=J[j+48>>2];i=J[j+52>>2];break a}if((m|0)==65535|m>>>0<65535){while(1){b=i>>>31|0;o=o-1|0;p=i<<1|h>>>31;h=h<<1;i=p;c=b;b=m<<1|n>>>31;n=c|n<<1;m=b;if(b>>>0<65536){continue}break}}b=s&32768;if((o|0)<=0){Ea(j- -64|0,h,i,n,m&65535|(b|o+120)<<16,0,0,0,1065811968);d=J[j+72>>2];e=J[j+76>>2];h=J[j+64>>2];i=J[j+68>>2];break a}d=n;e=m&65535|(b|o)<<16}J[a>>2]=h;J[a+4>>2]=i;J[a+8>>2]=d;J[a+12>>2]=e;ba=j+128|0}function Ki(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;f=ba+-64|0;ba=f;a:{b:{c:{d:{e:{f:{if(!b){break f}e=rb(c);if(e>>>0>=2147483632){break e}g:{h:{if(e>>>0>=11){a=(e|15)+1|0;g=oa(a);J[f+56>>2]=a|-2147483648;J[f+48>>2]=g;a=e+g|0;break h}H[f+59|0]=e;g=f+48|0;a=e+g|0;if(!e){break g}}ua(g,c,e)}H[a|0]=0;e=rb(d);if(e>>>0>=2147483632){break d}i:{j:{if(e>>>0>=11){a=(e|15)+1|0;g=oa(a);J[f+40>>2]=a|-2147483648;J[f+32>>2]=g;a=e+g|0;break j}H[f+43|0]=e;g=f+32|0;a=e+g|0;if(!e){break i}}ua(g,d,e)}H[a|0]=0;e=rb(c);if(e>>>0>=2147483632){break c}k:{l:{if(e>>>0>=11){a=(e|15)+1|0;g=oa(a);J[f+24>>2]=a|-2147483648;J[f+16>>2]=g;J[f+20>>2]=e;a=e+g|0;break l}H[f+27|0]=e;g=f+16|0;a=e+g|0;if(!e){break k}}ua(g,c,e)}H[a|0]=0;c=rb(d);if(c>>>0>=2147483632){break b}m:{n:{if(c>>>0>=11){e=(c|15)+1|0;a=oa(e);J[f+8>>2]=e|-2147483648;J[f>>2]=a;J[f+4>>2]=c;g=a+c|0;break n}H[f+11|0]=c;g=c+f|0;a=f;if(!c){break m}}ua(a,d,c)}H[g|0]=0;e=ba-48|0;ba=e;d=ob(b,f+16|0);if((d|0)!=(b+4|0)){a=J[d+4>>2];o:{if(!a){a=d;while(1){c=J[a+8>>2];g=J[c>>2]!=(a|0);a=c;if(g){continue}break}break o}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((d|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;Dc(J[b+4>>2],d);a=J[d+28>>2];if(a){J[d+32>>2]=a;na(a)}if(H[d+27|0]<0){na(J[d+16>>2])}na(d)}g=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;c=K[f+11|0];d=c<<24>>24;p:{q:{h=J[f+4>>2];a=(d|0)<0?h:c;if(a){if((a|0)<0){break q}c=a;g=oa(a);a=pa(g,0,a);c=c+a|0;J[e+8>>2]=c;J[e+4>>2]=c;J[e>>2]=a;h=J[f+4>>2];c=K[f+11|0];d=c}a=d<<24>>24<0;ua(g,a?J[f>>2]:f,a?h:c);break p}qa();B()}r:{if(H[f+27|0]>=0){J[e+24>>2]=J[f+24>>2];a=J[f+20>>2];J[e+16>>2]=J[f+16>>2];J[e+20>>2]=a;break r}Ga(e+16|0,J[f+16>>2],J[f+20>>2])}Ob(e+28|0,e);a=e+16|0;Cc(e+40|0,b,a,a);a=J[e+28>>2];if(a){J[e+32>>2]=a;na(a)}if(H[e+27|0]<0){na(J[e+16>>2])}a=J[e>>2];if(a){J[e+4>>2]=a;na(a)}ba=e+48|0;if(H[f+11|0]<0){na(J[f>>2])}if(H[f+27|0]<0){na(J[f+16>>2])}if(H[f+43|0]<0){na(J[f+32>>2])}if(H[f+59|0]>=0){break f}na(J[f+48>>2])}ba=f- -64|0;a=(b|0)!=0;break a}gb();B()}gb();B()}gb();B()}gb();B()}return a|0}function nf(a,b){var c=0,d=0,e=0,f=0;f=ba-16|0;ba=f;e=oa(32);J[f>>2]=e;J[f+4>>2]=30;J[f+8>>2]=-2147483616;c=K[1240]|K[1241]<<8|(K[1242]<<16|K[1243]<<24);d=K[1236]|K[1237]<<8|(K[1238]<<16|K[1239]<<24);H[e+22|0]=d;H[e+23|0]=d>>>8;H[e+24|0]=d>>>16;H[e+25|0]=d>>>24;H[e+26|0]=c;H[e+27|0]=c>>>8;H[e+28|0]=c>>>16;H[e+29|0]=c>>>24;c=K[1234]|K[1235]<<8|(K[1236]<<16|K[1237]<<24);d=K[1230]|K[1231]<<8|(K[1232]<<16|K[1233]<<24);H[e+16|0]=d;H[e+17|0]=d>>>8;H[e+18|0]=d>>>16;H[e+19|0]=d>>>24;H[e+20|0]=c;H[e+21|0]=c>>>8;H[e+22|0]=c>>>16;H[e+23|0]=c>>>24;c=K[1226]|K[1227]<<8|(K[1228]<<16|K[1229]<<24);d=K[1222]|K[1223]<<8|(K[1224]<<16|K[1225]<<24);H[e+8|0]=d;H[e+9|0]=d>>>8;H[e+10|0]=d>>>16;H[e+11|0]=d>>>24;H[e+12|0]=c;H[e+13|0]=c>>>8;H[e+14|0]=c>>>16;H[e+15|0]=c>>>24;c=K[1218]|K[1219]<<8|(K[1220]<<16|K[1221]<<24);d=K[1214]|K[1215]<<8|(K[1216]<<16|K[1217]<<24);H[e|0]=d;H[e+1|0]=d>>>8;H[e+2|0]=d>>>16;H[e+3|0]=d>>>24;H[e+4|0]=c;H[e+5|0]=c>>>8;H[e+6|0]=c>>>16;H[e+7|0]=c>>>24;H[e+30|0]=0;e=a+4|0;vb(e,f,b);if(H[f+11|0]<0){na(J[f>>2])}a=oa(32);J[f>>2]=a;J[f+4>>2]=29;J[f+8>>2]=-2147483616;c=K[1308]|K[1309]<<8|(K[1310]<<16|K[1311]<<24);d=K[1304]|K[1305]<<8|(K[1306]<<16|K[1307]<<24);H[a+21|0]=d;H[a+22|0]=d>>>8;H[a+23|0]=d>>>16;H[a+24|0]=d>>>24;H[a+25|0]=c;H[a+26|0]=c>>>8;H[a+27|0]=c>>>16;H[a+28|0]=c>>>24;c=K[1303]|K[1304]<<8|(K[1305]<<16|K[1306]<<24);d=K[1299]|K[1300]<<8|(K[1301]<<16|K[1302]<<24);H[a+16|0]=d;H[a+17|0]=d>>>8;H[a+18|0]=d>>>16;H[a+19|0]=d>>>24;H[a+20|0]=c;H[a+21|0]=c>>>8;H[a+22|0]=c>>>16;H[a+23|0]=c>>>24;c=K[1295]|K[1296]<<8|(K[1297]<<16|K[1298]<<24);d=K[1291]|K[1292]<<8|(K[1293]<<16|K[1294]<<24);H[a+8|0]=d;H[a+9|0]=d>>>8;H[a+10|0]=d>>>16;H[a+11|0]=d>>>24;H[a+12|0]=c;H[a+13|0]=c>>>8;H[a+14|0]=c>>>16;H[a+15|0]=c>>>24;c=K[1287]|K[1288]<<8|(K[1289]<<16|K[1290]<<24);d=K[1283]|K[1284]<<8|(K[1285]<<16|K[1286]<<24);H[a|0]=d;H[a+1|0]=d>>>8;H[a+2|0]=d>>>16;H[a+3|0]=d>>>24;H[a+4|0]=c;H[a+5|0]=c>>>8;H[a+6|0]=c>>>16;H[a+7|0]=c>>>24;H[a+29|0]=0;vb(e,f,b);if(H[f+11|0]<0){na(J[f>>2])}ba=f+16|0}function sd(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,n=0;j=ba-32|0;ba=j;J[a+4>>2]=0;J[a+8>>2]=0;c=a+16|0;J[c>>2]=0;J[c+4>>2]=0;i=a+4|0;J[a>>2]=i;J[a+12>>2]=c;f=J[b>>2];k=b+4|0;if((f|0)!=(k|0)){while(1){g=ba-16|0;ba=g;c=f+16|0;h=Pg(a,i,g+12|0,g+8|0,c);d=J[h>>2];if(d){c=0}else{d=oa(40);e=d+16|0;a:{if(H[c+11|0]>=0){l=J[c+4>>2];J[e>>2]=J[c>>2];J[e+4>>2]=l;J[e+8>>2]=J[c+8>>2];break a}Ga(e,J[c>>2],J[c+4>>2])}Ob(d+28|0,c+12|0);J[d+8>>2]=J[g+12>>2];J[d>>2]=0;J[d+4>>2]=0;J[h>>2]=d;c=d;e=J[J[a>>2]>>2];if(e){J[a>>2]=e;c=J[h>>2]}sb(J[a+4>>2],c);J[a+8>>2]=J[a+8>>2]+1;c=1}H[j+28|0]=c;J[j+24>>2]=d;ba=g+16|0;c=J[f+4>>2];b:{if(c){while(1){f=c;c=J[c>>2];if(c){continue}break b}}while(1){c=f;f=J[f+8>>2];if((c|0)!=J[f>>2]){continue}break}}if((f|0)!=(k|0)){continue}break}}f=J[b+12>>2];l=b+16|0;if((f|0)!=(l|0)){g=a+12|0;while(1){m=oa(24);sd(m,J[f+28>>2]);b=f+16|0;J[j+16>>2]=b;c:{d:{c=J[g+4>>2];e:{if(!c){d=g+4|0;b=d;break e}d=K[b+11|0];e=d<<24>>24<0;h=e?J[b>>2]:b;e=e?J[b+4>>2]:d;while(1){b=c;i=K[c+27|0];d=i<<24>>24<0;c=d?J[c+20>>2]:i;i=c>>>0>>0;f:{g:{h:{i:{k=i?c:e;j:{if(k){d=d?J[b+16>>2]:b+16|0;n=Ba(h,d,k);if(!n){if(c>>>0>e>>>0){break j}break i}if((n|0)>=0){break i}break j}if(c>>>0<=e>>>0){break h}}d=b;c=J[b>>2];if(c){continue}break e}c=Ba(d,h,k);if(c){break g}}if(i){break f}break d}if((c|0)>=0){break d}}c=J[b+4>>2];if(c){continue}break}d=b+4|0}c=oa(32);h=c+16|0;e=J[j+16>>2];k:{if(H[e+11|0]>=0){i=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=i;J[h+8>>2]=J[e+8>>2];break k}Ga(h,J[e>>2],J[e+4>>2])}J[c+8>>2]=b;J[c>>2]=0;J[c+4>>2]=0;J[c+28>>2]=0;J[d>>2]=c;b=c;e=J[J[g>>2]>>2];if(e){J[g>>2]=e;b=J[d>>2]}sb(J[g+4>>2],b);J[g+8>>2]=J[g+8>>2]+1;b=1;break c}c=b;b=0}H[j+28|0]=b;J[j+24>>2]=c;c=J[j+24>>2];b=J[c+28>>2];J[c+28>>2]=m;if(b){lb(b+12|0,J[b+16>>2]);kb(b,J[b+4>>2]);na(b)}c=J[f+4>>2];l:{if(c){while(1){f=c;c=J[c>>2];if(c){continue}break l}}while(1){b=f;f=J[f+8>>2];if((b|0)!=J[f>>2]){continue}break}}if((f|0)!=(l|0)){continue}break}}ba=j+32|0;return a}function Pk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;J[a+8>>2]=e;m=a+32|0;g=J[m>>2];f=J[a+36>>2]-g>>2;a:{if(f>>>0>>0){Fa(m,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=g+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){i=g;break c}f=1;i=d-1|0;q=i&1;d:{if((d|0)==2){i=g;break d}o=i&-2;i=g;while(1){j=(f<<2)+b|0;k=J[j+4>>2];j=J[j>>2];l=(j|0)<(i|0);i=l?j:i;p=(i|0)>(k|0);i=p?k:i;g=l?g:(g|0)<(j|0)?j:g;g=p?g:(g|0)<(k|0)?k:g;f=f+2|0;h=h+2|0;if((o|0)!=(h|0)){continue}break}}if(!q){break c}f=J[(f<<2)+b>>2];h=(f|0)<(i|0);i=h?f:i;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=i;f=g-i|0;g=(g>>31)-((i>>31)+(g>>>0>>0)|0)|0;if(!g&f>>>0>2147483646|g){break b}f=f+1|0;J[a+20>>2]=f;g=f>>>1|0;J[a+24>>2]=g;J[a+28>>2]=0-g;if(f&1){break b}J[a+24>>2]=g-1}k=d-e|0;g=J[a+8>>2];if(!((k|0)<=0|(g|0)<=0)){p=0-e<<2;while(1){if((g|0)>0){d=k<<2;q=d+c|0;o=b+d|0;h=o+p|0;d=J[m>>2];i=0;while(1){f=d;if((g|0)>0){f=J[m>>2];g=0;while(1){j=g<<2;l=J[j+h>>2];n=J[a+16>>2];e:{if((l|0)>(n|0)){J[f+j>>2]=n;break e}j=f+j|0;n=J[a+12>>2];if((n|0)>(l|0)){J[j>>2]=n;break e}J[j>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}h=i<<2;g=h+q|0;h=J[h+o>>2]-J[f+h>>2]|0;J[g>>2]=h;f:{if((h|0)>2]){h=h+J[a+20>>2]|0}else{if((h|0)<=J[a+24>>2]){break f}h=h-J[a+20>>2]|0}J[g>>2]=h}h=f;g=J[a+8>>2];i=i+1|0;if((g|0)>(i|0)){continue}break}}k=k-e|0;if((k|0)>0){continue}break}}i=0;d=e>>>0>1073741823?-1:e<<2;d=pa(oa(d),0,d);if((g|0)>0){e=J[a+32>>2];h=d;while(1){f=e;if((g|0)>0){f=J[m>>2];g=0;while(1){k=g<<2;j=J[k+h>>2];l=J[a+16>>2];g:{if((j|0)>(l|0)){J[f+k>>2]=l;break g}k=f+k|0;l=J[a+12>>2];if((l|0)>(j|0)){J[k>>2]=l;break g}J[k>>2]=j}g=g+1|0;if((g|0)>2]){continue}break}}h=i<<2;g=h+c|0;h=J[b+h>>2]-J[f+h>>2]|0;J[g>>2]=h;h:{if((h|0)>2]){h=h+J[a+20>>2]|0}else{if((h|0)<=J[a+24>>2]){break h}h=h-J[a+20>>2]|0}J[g>>2]=h}h=f;g=J[a+8>>2];i=i+1|0;if((g|0)>(i|0)){continue}break}}na(d);return 1}function uf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=ba+-64|0;ba=d;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+48>>2]=1065353216;e=J[a+80>>2];J[d+24>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;a:{if(e){if(e>>>0>=1073741824){break a}c=e<<2;e=oa(c);J[d+16>>2]=e;g=c+e|0;J[d+24>>2]=g;pa(e,0,c);J[d+20>>2]=g;while(1){c=J[J[b>>2]>>2];g=J[b+48>>2];h=Hl(J[b+40>>2],J[b+44>>2],f,0);g=g+h|0;c=c+g|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[d+28>>2]=c;J[d+12>>2]=k;J[d+8>>2]=c;c=d+8|0;qf(d+56|0,d+32|0,c,c);b:{if(!K[d+60|0]){J[(f<<2)+e>>2]=J[J[d+56>>2]+12>>2];break b}e=J[a+40>>2];ua(J[J[a>>2]>>2]+P(e,k)|0,d+28|0,e);e=J[d+16>>2];J[e+(f<<2)>>2]=k;k=k+1|0}f=f+1|0;i=f?i:i+1|0;c=J[a+80>>2];if(!i&f>>>0>>0){continue}break}if((c|0)!=(k|0)){c:{if(!K[a+84|0]){b=J[a+72>>2];f=J[a+68>>2];if((b|0)==(f|0)){break c}b=b-f>>2;c=b>>>0<=1?1:b;h=c&3;i=0;b=0;if(c-1>>>0>=3){l=c&-4;g=0;while(1){c=b<<2;j=c+f|0;J[j>>2]=J[(J[j>>2]<<2)+e>>2];j=f+(c|4)|0;J[j>>2]=J[(J[j>>2]<<2)+e>>2];j=f+(c|8)|0;J[j>>2]=J[(J[j>>2]<<2)+e>>2];c=f+(c|12)|0;J[c>>2]=J[(J[c>>2]<<2)+e>>2];b=b+4|0;g=g+4|0;if((l|0)!=(g|0)){continue}break}}if(!h){break c}while(1){c=f+(b<<2)|0;J[c>>2]=J[(J[c>>2]<<2)+e>>2];b=b+1|0;i=i+1|0;if((h|0)!=(i|0)){continue}break}break c}H[a+84|0]=0;b=a+68|0;i=J[a+68>>2];f=J[a+72>>2]-i>>2;d:{if(f>>>0>>0){Ma(b,c-f|0,2176);c=J[a+80>>2];break d}if(c>>>0>=f>>>0){break d}J[a+72>>2]=i+(c<<2)}if(!c){break c}f=J[b>>2];i=0;b=0;if(c>>>0>=4){l=c&-4;g=0;while(1){h=b<<2;J[h+f>>2]=J[e+h>>2];j=h|4;J[j+f>>2]=J[e+j>>2];j=h|8;J[j+f>>2]=J[e+j>>2];h=h|12;J[h+f>>2]=J[e+h>>2];b=b+4|0;g=g+4|0;if((l|0)!=(g|0)){continue}break}}c=c&3;if(!c){break c}while(1){g=b<<2;J[g+f>>2]=J[e+g>>2];b=b+1|0;i=i+1|0;if((c|0)!=(i|0)){continue}break}}J[a+80>>2]=k}na(e)}b=J[d+40>>2];if(b){while(1){a=J[b>>2];na(b);b=a;if(b){continue}break}}a=J[d+32>>2];J[d+32>>2]=0;if(a){na(a)}ba=d- -64|0;return k}qa();B()}function Rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=ba-16|0;ba=f;J[a+4>>2]=b;J[a+8>>2]=J[b+56>>2];J[a+188>>2]=J[a+184>>2];e=J[b+48>>2];c=oa(32);H[c+19|0]=0;b=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[c+15|0]=b;H[c+16|0]=b>>>8;H[c+17|0]=b>>>16;H[c+18|0]=b>>>24;b=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;H[c+12|0]=b;H[c+13|0]=b>>>8;H[c+14|0]=b>>>16;H[c+15|0]=b>>>24;b=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=b;H[c+5|0]=b>>>8;H[c+6|0]=b>>>16;H[c+7|0]=b>>>24;a:{b:{b=J[e+4>>2];if(b){while(1){d=K[b+27|0];e=d<<24>>24<0;d=e?J[b+20>>2]:d;h=d>>>0<19;c:{d:{e:{f:{g:{h:{g=h?d:19;if(g){e=e?J[b+16>>2]:b+16|0;i=Ba(c,e,g);if(i){break h}if(d>>>0<=19){break g}break c}if(d>>>0<=19){break f}break c}if((i|0)<0){break c}}d=Ba(e,c,g);if(d){break e}}if(h){break d}break b}if((d|0)>=0){break b}}b=b+4|0}b=J[b>>2];if(b){continue}break}}na(c);if((cb(J[J[a+4>>2]+48>>2])|0)>=6){H[a+288|0]=1;break a}H[a+288|0]=0;break a}na(c);e=J[J[a+4>>2]+48>>2];b=oa(32);J[f>>2]=b;J[f+4>>2]=19;J[f+8>>2]=-2147483616;c=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;j=a,k=Pb(e,f,0),H[j+288|0]=k;if(H[f+11|0]>=0){break a}na(J[f>>2])}ba=f+16|0;return 1}function Mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=ba-16|0;ba=f;J[a+4>>2]=b;J[a+8>>2]=J[b+56>>2];J[a+188>>2]=J[a+184>>2];e=J[b+48>>2];c=oa(32);H[c+19|0]=0;b=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[c+15|0]=b;H[c+16|0]=b>>>8;H[c+17|0]=b>>>16;H[c+18|0]=b>>>24;b=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;H[c+12|0]=b;H[c+13|0]=b>>>8;H[c+14|0]=b>>>16;H[c+15|0]=b>>>24;b=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=b;H[c+5|0]=b>>>8;H[c+6|0]=b>>>16;H[c+7|0]=b>>>24;a:{b:{b=J[e+4>>2];if(b){while(1){d=K[b+27|0];e=d<<24>>24<0;d=e?J[b+20>>2]:d;h=d>>>0<19;c:{d:{e:{f:{g:{h:{g=h?d:19;if(g){e=e?J[b+16>>2]:b+16|0;i=Ba(c,e,g);if(i){break h}if(d>>>0<=19){break g}break c}if(d>>>0<=19){break f}break c}if((i|0)<0){break c}}d=Ba(e,c,g);if(d){break e}}if(h){break d}break b}if((d|0)>=0){break b}}b=b+4|0}b=J[b>>2];if(b){continue}break}}na(c);if((cb(J[J[a+4>>2]+48>>2])|0)>=6){H[a+352|0]=1;break a}H[a+352|0]=0;break a}na(c);e=J[J[a+4>>2]+48>>2];b=oa(32);J[f>>2]=b;J[f+4>>2]=19;J[f+8>>2]=-2147483616;c=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;j=a,k=Pb(e,f,0),H[j+352|0]=k;if(H[f+11|0]>=0){break a}na(J[f>>2])}ba=f+16|0;return 1}function uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=ba-32|0;ba=c;d=a- -64|0;Aa(J[d>>2],b);if(J[d>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+64>>2];if((d|0)>0){while(1){f=d-1|0;Ca(c,J[J[a+60>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d>>>0>1;d=f;if(e){continue}break}}ya(c,b);wa(c)}Aa(J[a+76>>2],b);if(J[a+76>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+76>>2];if((d|0)>=2){while(1){f=d-2|0;Ca(c,J[J[a+72>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-1|0;Ca(c,J[J[a+72>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>3;d=f;if(e){continue}break}}ya(c,b);wa(c)}Aa(J[a+88>>2],b);if(J[a+88>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+88>>2];if((d|0)>=3){while(1){f=d-3|0;Ca(c,J[J[a+84>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-2|0;Ca(c,J[J[a+84>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;Ca(c,J[J[a+84>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>5;d=f;if(e){continue}break}}ya(c,b);wa(c)}Aa(J[a+100>>2],b);if(J[a+100>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+100>>2];if((d|0)>=4){while(1){f=d-4|0;Ca(c,J[J[a+96>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-3|0;Ca(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-2|0;Ca(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;Ca(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>7;d=f;if(e){continue}break}}ya(c,b);wa(c)}J[c>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}f=c+4|0;sa(b,J[b+4>>2],c,f);d=J[b+20>>2];e=J[b+16>>2];J[c>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c,f)}ba=c+32|0;return 1}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=ba-32|0;ba=c;Aa(J[a+48>>2],b);if(J[a+48>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+48>>2];if((d|0)>0){while(1){f=d-1|0;Ca(c,J[J[a+44>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d>>>0>1;d=f;if(e){continue}break}}ya(c,b);wa(c)}Aa(J[a+60>>2],b);if(J[a+60>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+60>>2];if((d|0)>=2){while(1){f=d-2|0;Ca(c,J[J[a+56>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-1|0;Ca(c,J[J[a+56>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>3;d=f;if(e){continue}break}}ya(c,b);wa(c)}Aa(J[a+72>>2],b);if(J[a+72>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+72>>2];if((d|0)>=3){while(1){f=d-3|0;Ca(c,J[J[a+68>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-2|0;Ca(c,J[J[a+68>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;Ca(c,J[J[a+68>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>5;d=f;if(e){continue}break}}ya(c,b);wa(c)}Aa(J[a+84>>2],b);if(J[a+84>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);d=J[a+84>>2];if((d|0)>=4){while(1){f=d-4|0;Ca(c,J[J[a+80>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-3|0;Ca(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-2|0;Ca(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;Ca(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>7;d=f;if(e){continue}break}}ya(c,b);wa(c)}J[c>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}f=c+4|0;sa(b,J[b+4>>2],c,f);d=J[b+20>>2];e=J[b+16>>2];J[c>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c,f)}ba=c+32|0;return 1}function wk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=ba-32|0;ba=d;o=e<<2;f=e>>>0>1073741823?-1:o;l=pa(oa(f),0,f);f=J[a+40>>2];f=J[f+4>>2]-J[f>>2]|0;if((f|0)>=5){q=J[a+36>>2];p=J[a+32>>2];r=e&-2;s=e&1;t=a+8|0;f=f>>>2|0;while(1){j=J[a+40>>2];g=J[j>>2];a:{b:{h=J[j+4>>2]-g>>2;j=f-1|0;if(h>>>0>j>>>0){u=P(e,j);g=J[g+(j<<2)>>2];if((g|0)==-1){break b}g=J[J[p+12>>2]+(g<<2)>>2];if((g|0)==-1){break b}k=J[q>>2];h=J[p>>2];m=J[k+(J[h+(g<<2)>>2]<<2)>>2];i=g+1|0;i=(i>>>0)%3|0?i:g-2|0;if((i|0)!=-1){i=J[h+(i<<2)>>2]}else{i=-1}c:{d:{if((g>>>0)%3|0){g=g-1|0;break d}g=g+2|0;n=-1;if((g|0)==-1){break c}}n=J[h+(g<<2)>>2]}if((j|0)<=(m|0)){break b}g=J[(i<<2)+k>>2];if((g|0)>=(j|0)){break b}h=J[k+(n<<2)>>2];if((h|0)>=(j|0)){break b}e:{if((e|0)<=0){break e}h=P(e,h);k=P(e,g);m=P(e,m);g=0;n=0;if((e|0)!=1){while(1){J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2];i=g|1;J[(i<<2)+l>>2]=(J[(h+i<<2)+b>>2]+J[(i+k<<2)+b>>2]|0)-J[(i+m<<2)+b>>2];g=g+2|0;n=n+2|0;if((r|0)!=(n|0)){continue}break}}if(!s){break e}J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2]}g=J[l>>2];h=J[l+4>>2];break a}ra();B()}h=(P(f-2|0,e)<<2)+b|0;g=J[h>>2];h=J[h+4>>2]}k=u<<2;m=k+b|0;i=J[m+4>>2];J[d+16>>2]=J[m>>2];J[d+20>>2]=i;J[d+8>>2]=g;J[d+12>>2]=h;Ya(d+24|0,t,d+16|0,d+8|0);g=c+k|0;J[g>>2]=J[d+24>>2];J[g+4>>2]=J[d+28>>2];g=(f|0)>2;f=j;if(g){continue}break}}if((e|0)>0){pa(l,0,o)}e=J[l>>2];f=J[l+4>>2];g=J[b+4>>2];J[d+16>>2]=J[b>>2];J[d+20>>2]=g;J[d+8>>2]=e;J[d+12>>2]=f;Ya(d+24|0,a+8|0,d+16|0,d+8|0);J[c>>2]=J[d+24>>2];J[c+4>>2]=J[d+28>>2];na(l);ba=d+32|0;return 1}function fg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=J[a>>2];n=b-k|0;h=(n&-4)+k|0;i=d-c|0;if((i|0)<=0){return}a:{l=i>>2;g=J[a+8>>2];j=J[a+4>>2];if((l|0)<=g-j>>2){f=j-h|0;g=f>>2;if((g|0)>=(l|0)){b=j;g=d;break a}b=j;g=(g<<2)+c|0;if((g|0)!=(d|0)){e=g;while(1){J[b>>2]=J[e>>2];b=b+4|0;e=e+4|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=b;if((f|0)>0){break a}return}b:{f=l+(j-k>>2)|0;if(f>>>0<1073741824){e=g-k|0;g=e>>>1|0;m=e>>>0>=2147483644?1073741823:f>>>0>>0?g:f;if(m){if(m>>>0>=1073741824){break b}g=oa(m<<2)}else{g=0}e=g+(n&-4)|0;f=e;if((c|0)!=(d|0)){f=ua(e,c,i&-4)+(l<<2)|0}c:{if((b|0)==(k|0)){break c}i=n-4|0;d=(i>>>2|0)+1&3;d:{if(!d){b=h;break d}c=0;b=h;while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];c=c+1|0;if((d|0)!=(c|0)){continue}break}}if(i>>>0<12){break c}while(1){J[e-4>>2]=J[b-4>>2];J[e-8>>2]=J[b-8>>2];J[e-12>>2]=J[b-12>>2];e=e-16|0;b=b-16|0;J[e>>2]=J[b>>2];if((b|0)!=(k|0)){continue}break}}if((h|0)!=(j|0)){while(1){J[f>>2]=J[h>>2];f=f+4|0;h=h+4|0;if((j|0)!=(h|0)){continue}break}}J[a+8>>2]=(m<<2)+g;J[a+4>>2]=f;J[a>>2]=e;if(k){na(k)}return}qa();B()}xa();B()}d=l<<2;i=d+h|0;f=b;e=b-d|0;if(j>>>0>e>>>0){d=e;while(1){J[f>>2]=J[d>>2];f=f+4|0;d=d+4|0;if(j>>>0>d>>>0){continue}break}}J[a+4>>2]=f;e:{if((b|0)==(i|0)){break e}d=(b-i|0)-4|0;a=(d>>>2|0)+1&3;if(a){f=0;while(1){b=b-4|0;e=e-4|0;J[b>>2]=J[e>>2];f=f+1|0;if((a|0)!=(f|0)){continue}break}}if(d>>>0<12){break e}while(1){J[b-4>>2]=J[e-4>>2];J[b-8>>2]=J[e-8>>2];J[b-12>>2]=J[e-12>>2];b=b-16|0;e=e-16|0;J[b>>2]=J[e>>2];if((e|0)!=(h|0)){continue}break}}if((c|0)==(g|0)){return}b=h;while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((g|0)!=(c|0)){continue}break}}function ff(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=ba-16|0;ba=k;J[k+8>>2]=c;h=J[a+12>>2];d=J[a+8>>2];g=h-d>>2;a:{if((g|0)>(b|0)){break a}e=b+1|0;if(e>>>0>g>>>0){l=e-g|0;f=J[a+16>>2];d=J[a+12>>2];if(l>>>0<=f-d>>2>>>0){if(l){e=d;d=l<<2;d=pa(e,0,d)+d|0}J[a+12>>2]=d;break a}b:{c:{d:{m=J[a+8>>2];g=d-m>>2;i=g+l|0;if(i>>>0<1073741824){e=f-m|0;f=e>>>1|0;e=e>>>0>=2147483644?1073741823:f>>>0>i>>>0?f:i;if(e){if(e>>>0>=1073741824){break d}j=oa(e<<2)}h=(g<<2)+j|0;f=l<<2;i=pa(h,0,f);g=f+i|0;e=(e<<2)+j|0;if((d|0)==(m|0)){break c}while(1){d=d-4|0;f=J[d>>2];J[d>>2]=0;h=h-4|0;J[h>>2]=f;if((d|0)!=(m|0)){continue}break}J[a+16>>2]=e;e=J[a+12>>2];J[a+12>>2]=g;d=J[a+8>>2];J[a+8>>2]=h;if((d|0)==(e|0)){break b}while(1){e=e-4|0;f=J[e>>2];J[e>>2]=0;if(f){Ka(f)}if((d|0)!=(e|0)){continue}break}break b}qa();B()}xa();B()}J[a+16>>2]=e;J[a+12>>2]=g;J[a+8>>2]=i}if(d){na(d)}break a}if(e>>>0>=g>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(h|0)){while(1){h=h-4|0;c=J[h>>2];J[h>>2]=0;if(c){Ka(c)}if((d|0)!=(h|0)){continue}break}c=J[k+8>>2]}J[a+12>>2]=d}e:{f:{d=J[c+56>>2];g:{if((d|0)>4){break g}j=P(d,12)+a|0;d=J[j+24>>2];if((d|0)!=J[j+28>>2]){J[d>>2]=b;J[j+24>>2]=d+4;break g}i=J[j+20>>2];g=d-i|0;f=g>>2;e=f+1|0;if(e>>>0>=1073741824){break f}d=g>>>1|0;e=g>>>0>=2147483644?1073741823:d>>>0>e>>>0?d:e;if(e){if(e>>>0>=1073741824){break e}d=oa(e<<2)}else{d=0}f=d+(f<<2)|0;J[f>>2]=b;d=ta(d,i,g);J[j+20>>2]=d;J[j+24>>2]=f+4;J[j+28>>2]=d+(e<<2);if(!i){break g}na(i)}J[c+60>>2]=b;a=J[a+8>>2];J[k+8>>2]=0;a=a+(b<<2)|0;b=J[a>>2];J[a>>2]=c;if(b){Ka(b)}a=J[k+8>>2];J[k+8>>2]=0;if(a){Ka(a)}ba=k+16|0;return}qa();B()}xa();B()}function qf(a,b,c,d){var e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=Q(0);j=J[c>>2];g=j^318;a:{b:{f=J[b+4>>2];if(!f){break b}h=Kl(f);c:{if(h>>>0>=2){e=g;if(e>>>0>=f>>>0){e=(g>>>0)%(f>>>0)|0}c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}if(h>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}h=J[c+4>>2];if((h|0)!=(g|0)){if(f>>>0<=h>>>0){h=(h>>>0)%(f>>>0)|0}if((e|0)!=(h|0)){break b}}if(J[c+8>>2]!=(j|0)){continue}break}b=0;break a}e=f-1&g;c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}}h=f-1|0;while(1){c=J[c>>2];if(!c){break b}k=J[c+4>>2];if((k|0)!=(g|0)&(h&k)!=(e|0)){break b}if(J[c+8>>2]!=(j|0)){continue}break}b=0;break a}c=oa(16);J[c+8>>2]=J[d>>2];d=J[d+4>>2];J[c+4>>2]=g;J[c+12>>2]=d;J[c>>2]=0;i=Q(J[b+12>>2]+1>>>0);l=N[b+16>>2];d:{if(i>Q(l*Q(f>>>0))?0:f){break d}d=2;h=(f-1&f)!=0|f>>>0<3|f<<1;i=Q(W(Q(i/l)));e:{if(i=Q(0)){e=~~i>>>0;break e}e=0}e=e>>>0>>0?h:e;f:{if((e|0)==1){break f}if(!(e&e-1)){d=e;break f}d=Ha(e);f=J[b+4>>2]}g:{if(d>>>0<=f>>>0){if(d>>>0>=f>>>0){break g}h=f>>>0<3;i=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(i=Q(0)){e=~~i>>>0;break h}e=0}i:{j:{if(h){break j}if(Kl(f)>>>0>1){break j}e=e>>>0<2?e:1<<32-S(e-1|0);break i}e=Ha(e)}d=d>>>0>e>>>0?d:e;if(f>>>0<=d>>>0){break g}}db(b,d)}f=J[b+4>>2];d=f-1|0;if(!(d&f)){e=d&g;break d}if(f>>>0>g>>>0){e=g;break d}e=(g>>>0)%(f>>>0)|0}g=J[b>>2]+(e<<2)|0;d=J[g>>2];k:{l:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[g>>2]=d;d=J[c>>2];if(!d){break k}d=J[d+4>>2];g=f-1|0;m:{if(!(g&f)){d=d&g;break m}if(d>>>0>>0){break m}d=(d>>>0)%(f>>>0)|0}d=J[b>>2]+(d<<2)|0;break l}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function bl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;J[a+8>>2]=e;J[a- -64>>2]=f;o=a+32|0;f=J[o>>2];g=J[a+36>>2]-f>>2;a:{if(g>>>0>>0){Fa(o,e-g|0);break a}if(e>>>0>=g>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}f=J[b>>2];c:{if((d|0)<2){d=f;break c}h=1;g=d-1|0;n=g&1;d:{if((d|0)==2){d=f;break d}q=g&-2;g=0;d=f;while(1){j=(h<<2)+b|0;k=J[j+4>>2];l=J[j>>2];i=(l|0)<(d|0);d=i?l:d;j=(d|0)>(k|0);d=j?k:d;f=i?f:(f|0)<(l|0)?l:f;f=j?f:(f|0)<(k|0)?k:f;h=h+2|0;g=g+2|0;if((q|0)!=(g|0)){continue}break}}if(!n){break c}h=J[(h<<2)+b>>2];g=(h|0)<(d|0);d=g?h:d;f=g?f:(f|0)<(h|0)?h:f}J[a+16>>2]=f;J[a+12>>2]=d;g=f-d|0;f=(f>>31)-((d>>31)+(d>>>0>f>>>0)|0)|0;d=g;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}r=1;e:{d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)>=4){t=a+60|0;q=a+68|0;n=d>>>2|0;while(1){d=J[a+56>>2];f=J[d>>2];i=n-1|0;if(i>>>0>=J[d+4>>2]-f>>2>>>0){break e}r=qh(t,J[f+(i<<2)>>2],b,i);if(!r){return 0}f=J[a+8>>2];if((f|0)>0){d=P(e,i)<<2;k=d+c|0;l=b+d|0;j=J[o>>2];p=0;g=q;while(1){h=j;if((f|0)>0){h=J[o>>2];f=0;while(1){m=f<<2;s=J[m+g>>2];d=J[a+16>>2];f:{if((s|0)>(d|0)){J[h+m>>2]=d;break f}m=h+m|0;d=J[a+12>>2];if((d|0)>(s|0)){J[m>>2]=d;break f}J[m>>2]=s}f=f+1|0;if((f|0)>2]){continue}break}}f=p<<2;d=f+k|0;f=J[f+l>>2]-J[f+h>>2]|0;J[d>>2]=f;g:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break g}f=f-J[a+20>>2]|0}J[d>>2]=f}g=h;f=J[a+8>>2];p=p+1|0;if((f|0)>(p|0)){continue}break}}d=(n|0)>1;n=i;if(d){continue}break}}return r|0}ra();B()}function Tk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;J[a+8>>2]=e;J[a- -64>>2]=f;o=a+32|0;f=J[o>>2];g=J[a+36>>2]-f>>2;a:{if(g>>>0>>0){Fa(o,e-g|0);break a}if(e>>>0>=g>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}f=J[b>>2];c:{if((d|0)<2){d=f;break c}h=1;g=d-1|0;n=g&1;d:{if((d|0)==2){d=f;break d}q=g&-2;g=0;d=f;while(1){j=(h<<2)+b|0;k=J[j+4>>2];l=J[j>>2];i=(l|0)<(d|0);d=i?l:d;j=(d|0)>(k|0);d=j?k:d;f=i?f:(f|0)<(l|0)?l:f;f=j?f:(f|0)<(k|0)?k:f;h=h+2|0;g=g+2|0;if((q|0)!=(g|0)){continue}break}}if(!n){break c}h=J[(h<<2)+b>>2];g=(h|0)<(d|0);d=g?h:d;f=g?f:(f|0)<(h|0)?h:f}J[a+16>>2]=f;J[a+12>>2]=d;g=f-d|0;f=(f>>31)-((d>>31)+(d>>>0>f>>>0)|0)|0;d=g;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}r=1;e:{d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)>=4){t=a+60|0;q=a+68|0;n=d>>>2|0;while(1){d=J[a+56>>2];f=J[d>>2];i=n-1|0;if(i>>>0>=J[d+4>>2]-f>>2>>>0){break e}r=lh(t,J[f+(i<<2)>>2],b,i);if(!r){return 0}f=J[a+8>>2];if((f|0)>0){d=P(e,i)<<2;k=d+c|0;l=b+d|0;j=J[o>>2];p=0;g=q;while(1){h=j;if((f|0)>0){h=J[o>>2];f=0;while(1){m=f<<2;s=J[m+g>>2];d=J[a+16>>2];f:{if((s|0)>(d|0)){J[h+m>>2]=d;break f}m=h+m|0;d=J[a+12>>2];if((d|0)>(s|0)){J[m>>2]=d;break f}J[m>>2]=s}f=f+1|0;if((f|0)>2]){continue}break}}f=p<<2;d=f+k|0;f=J[f+l>>2]-J[f+h>>2]|0;J[d>>2]=f;g:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break g}f=f-J[a+20>>2]|0}J[d>>2]=f}g=h;f=J[a+8>>2];p=p+1|0;if((f|0)>(p|0)){continue}break}}d=(n|0)>1;n=i;if(d){continue}break}}return r|0}ra();B()}function bg(a,b,c,d){var e=0,f=0,g=0,h=0,i=Q(0),j=0,k=Q(0);h=J[c>>2];a:{b:{e=J[b+4>>2];if(!e){break b}g=Kl(e);c:{if(g>>>0>=2){f=h;if(f>>>0>=e>>>0){f=(h>>>0)%(e>>>0)|0}c=J[J[b>>2]+(f<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}g=J[c+4>>2];if((g|0)!=(h|0)){if(e>>>0<=g>>>0){g=(g>>>0)%(e>>>0)|0}if((f|0)!=(g|0)){break b}}if(J[c+8>>2]!=(h|0)){continue}break}b=0;break a}f=e-1&h;c=J[J[b>>2]+(f<<2)>>2];if(!c){break b}}g=e-1|0;while(1){c=J[c>>2];if(!c){break b}j=J[c+4>>2];if((j|0)!=(h|0)&(g&j)!=(f|0)){break b}if(J[c+8>>2]!=(h|0)){continue}break}b=0;break a}c=oa(16);d=J[J[d>>2]>>2];J[c+12>>2]=0;J[c+8>>2]=d;J[c+4>>2]=h;J[c>>2]=0;k=Q(J[b+12>>2]+1>>>0);i=N[b+16>>2];d:{if(k>Q(i*Q(e>>>0))?0:e){break d}f=2;g=(e-1&e)!=0|e>>>0<3|e<<1;i=Q(W(Q(k/i)));e:{if(i=Q(0)){d=~~i>>>0;break e}d=0}d=d>>>0>>0?g:d;f:{if((d|0)==1){break f}if(!(d&d-1)){f=d;break f}f=Ha(d);e=J[b+4>>2]}g:{if(e>>>0>=f>>>0){if(e>>>0<=f>>>0){break g}g=e>>>0<3;i=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(i=Q(0)){d=~~i>>>0;break h}d=0}i:{j:{if(g){break j}if(Kl(e)>>>0>1){break j}d=d>>>0<2?d:1<<32-S(d-1|0);break i}d=Ha(d)}f=d>>>0>>0?f:d;if(f>>>0>=e>>>0){break g}}db(b,f)}e=J[b+4>>2];d=e-1|0;if(!(d&e)){f=d&h;break d}if(e>>>0>h>>>0){f=h;break d}f=(h>>>0)%(e>>>0)|0}f=J[b>>2]+(f<<2)|0;d=J[f>>2];k:{l:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[f>>2]=d;d=J[c>>2];if(!d){break k}d=J[d+4>>2];f=e-1|0;m:{if(!(f&e)){d=d&f;break m}if(d>>>0>>0){break m}d=(d>>>0)%(e>>>0)|0}d=J[b>>2]+(d<<2)|0;break l}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function Ik(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=ba-32|0;ba=d;p=e<<2;f=e>>>0>1073741823?-1:p;l=pa(oa(f),0,f);f=J[a+40>>2];f=J[f+4>>2]-J[f>>2]|0;if((f|0)>=5){q=J[a+36>>2];n=J[a+32>>2];r=e&-2;s=e&1;t=a+8|0;f=f>>>2|0;while(1){j=J[a+40>>2];g=J[j>>2];a:{b:{h=J[j+4>>2]-g>>2;j=f-1|0;if(h>>>0>j>>>0){u=P(e,j);g=J[g+(j<<2)>>2];if((g|0)==-1|J[J[n>>2]+(g>>>3&536870908)>>2]>>>g&1){break b}g=J[J[J[n+64>>2]+12>>2]+(g<<2)>>2];if((g|0)==-1){break b}k=J[q>>2];h=J[n+28>>2];m=J[k+(J[h+(g<<2)>>2]<<2)>>2];if((m|0)>=(j|0)){break b}i=g+1|0;i=J[k+(J[h+(((i>>>0)%3|0?i:g-2|0)<<2)>>2]<<2)>>2];if((i|0)>=(j|0)){break b}g=J[k+(J[h+(g+((g>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((g|0)>=(j|0)){break b}c:{if((e|0)<=0){break c}h=P(e,g);k=P(e,i);m=P(e,m);g=0;o=0;if((e|0)!=1){while(1){J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2];i=g|1;J[(i<<2)+l>>2]=(J[(h+i<<2)+b>>2]+J[(i+k<<2)+b>>2]|0)-J[(i+m<<2)+b>>2];g=g+2|0;o=o+2|0;if((r|0)!=(o|0)){continue}break}}if(!s){break c}J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2]}g=J[l>>2];h=J[l+4>>2];break a}ra();B()}h=(P(f-2|0,e)<<2)+b|0;g=J[h>>2];h=J[h+4>>2]}k=u<<2;m=k+b|0;i=J[m+4>>2];J[d+16>>2]=J[m>>2];J[d+20>>2]=i;J[d+8>>2]=g;J[d+12>>2]=h;Ya(d+24|0,t,d+16|0,d+8|0);g=c+k|0;J[g>>2]=J[d+24>>2];J[g+4>>2]=J[d+28>>2];g=(f|0)>2;f=j;if(g){continue}break}}if((e|0)>0){pa(l,0,p)}e=J[l>>2];f=J[l+4>>2];g=J[b+4>>2];J[d+16>>2]=J[b>>2];J[d+20>>2]=g;J[d+8>>2]=e;J[d+12>>2]=f;Ya(d+24|0,a+8|0,d+16|0,d+8|0);J[c>>2]=J[d+24>>2];J[c+4>>2]=J[d+28>>2];na(l);ba=d+32|0;return 1}function ya(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,n=0,o=0,p=0,q=0;g=ba-32|0;ba=g;e=J[a>>2];d=J[e>>2];c=J[e+4>>2];k=+(d>>>0)+ +(c>>>0)*4294967296;c=J[e+12>>2]+c|0;i=d;d=J[e+8>>2];e=i+d|0;c=e>>>0>>0?c+1|0:c;i=e;e=!(c|e);k=k/(+((e?1:i)>>>0)+ +((e?0:c)>>>0)*4294967296)*256+.5;a:{if(k<4294967296&k>=0){c=~~k>>>0;break a}c=0}c=c>>>0>=255?255:c;l=!c+c|0;H[g+23|0]=l;j=J[a+16>>2];p=J[a+12>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;b:{c:{c=(j-p<<1)- -64|0;if(c){if((c|0)<0){break c}h=oa(c);pa(h,0,c)}c=J[a+28>>2]-1|0;if((c|0)<0){d=4096;break b}m=0-l|0;q=m&255;i=J[a+24>>2];d=4096;while(1){n=i&1<>>0<=d>>>0){H[f+h|0]=d;f=f+1|0;d=d>>>8|0}o=(e<<3)+12784|0;Hl(J[o>>2],0,d,0);d=((n?0:q)+d|0)+P(256-e|0,ca+d>>>J[o+4>>2]|0)|0;c=c-1|0;if((c|0)>=0){continue}break}break b}qa();B()}if((j|0)!=(p|0)){m=0-l|0;q=m&255;while(1){j=j-4|0;i=J[j>>2];c=31;while(1){e=c;n=i&1<>>0<=d>>>0){H[f+h|0]=d;f=f+1|0;d=d>>>8|0}o=(c<<3)+12784|0;Hl(J[o>>2],0,d,0);d=((n?0:q)+d|0)+P(256-c|0,ca+d>>>J[o+4>>2]|0)|0;c=e-1|0;if(e){continue}break}if((j|0)!=(p|0)){continue}break}}c=d-4096|0;d:{if(c>>>0<=63){H[f+h|0]=d;f=f+1|0;break d}if(c>>>0<=16383){c=f+h|0;H[c|0]=d;H[c+1|0]=d+12288>>>8;f=f+2|0;break d}if(c>>>0>4194303){break d}c=f+h|0;H[c|0]=d;e=d+8384512|0;H[c+2|0]=e>>>16;H[c+1|0]=e>>>8;f=f+3|0}c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],g+23|0,g+24|0)}Aa(f,b);c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],h,f+h|0)}J[g+24>>2]=0;J[g+28>>2]=0;ie(a,g+24|0);J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=J[a+12>>2];if(h){na(h)}ba=g+32|0}function he(a){var b=0,c=0,d=0,e=0;d=ba-16|0;ba=d;J[a+4>>2]=0;J[a+8>>2]=0;c=a+16|0;b=c;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;b=a+28|0;J[b>>2]=0;J[b+4>>2]=0;J[a+12>>2]=c;J[a+24>>2]=b;b=oa(32);J[d>>2]=b;J[d+4>>2]=20;J[d+8>>2]=-2147483616;c=K[1359]|K[1360]<<8|(K[1361]<<16|K[1362]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1355]|K[1356]<<8|(K[1357]<<16|K[1358]<<24);e=K[1351]|K[1352]<<8|(K[1353]<<16|K[1354]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1347]|K[1348]<<8|(K[1349]<<16|K[1350]<<24);e=K[1343]|K[1344]<<8|(K[1345]<<16|K[1346]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+20|0]=0;e=a+24|0;vb(e,d,1);if(H[d+11|0]<0){na(J[d>>2])}a=oa(32);J[d>>2]=a;J[d+4>>2]=22;J[d+8>>2]=-2147483616;b=K[1338]|K[1339]<<8|(K[1340]<<16|K[1341]<<24);c=K[1334]|K[1335]<<8|(K[1336]<<16|K[1337]<<24);H[a+14|0]=c;H[a+15|0]=c>>>8;H[a+16|0]=c>>>16;H[a+17|0]=c>>>24;H[a+18|0]=b;H[a+19|0]=b>>>8;H[a+20|0]=b>>>16;H[a+21|0]=b>>>24;b=K[1332]|K[1333]<<8|(K[1334]<<16|K[1335]<<24);c=K[1328]|K[1329]<<8|(K[1330]<<16|K[1331]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1324]|K[1325]<<8|(K[1326]<<16|K[1327]<<24);c=K[1320]|K[1321]<<8|(K[1322]<<16|K[1323]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+22|0]=0;vb(e,d,1);if(H[d+11|0]<0){na(J[d>>2])}ba=d+16|0}function of(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=J[a+8>>2];e=J[a+4>>2];if((f-e|0)/12>>>0>=b>>>0){a:{if(!b){break a}d=e;g=P(b,12)-12|0;h=((g>>>0)/12|0)+1&3;if(h){while(1){f=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=f;J[d+8>>2]=J[c+8>>2];d=d+12|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}e=P(b,12)+e|0;if(g>>>0<36){break a}while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];J[d+20>>2]=J[c+8>>2];b=J[c+4>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=b;J[d+32>>2]=J[c+8>>2];b=J[c+4>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=b;b=J[c+4>>2];J[d+36>>2]=J[c>>2];J[d+40>>2]=b;J[d+44>>2]=J[c+8>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{d=J[a>>2];h=(e-d|0)/12|0;g=h+b|0;if(g>>>0<357913942){f=(f-d|0)/12|0;d=f<<1;k=f>>>0>=178956970?357913941:d>>>0>g>>>0?d:g;if(k){if(k>>>0>=357913942){break b}l=oa(P(k,12))}i=P(h,12)+l|0;d=i;g=P(b,12);h=g-12|0;f=((h>>>0)/12|0)+1&3;if(f){while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];d=d+12|0;j=j+1|0;if((f|0)!=(j|0)){continue}break}}f=g+i|0;if(h>>>0>=36){while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];J[d+20>>2]=J[c+8>>2];b=J[c+4>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=b;J[d+32>>2]=J[c+8>>2];b=J[c+4>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=b;b=J[c+4>>2];J[d+36>>2]=J[c>>2];J[d+40>>2]=b;J[d+44>>2]=J[c+8>>2];d=d+48|0;if((f|0)!=(d|0)){continue}break}}c=J[a>>2];if((c|0)!=(e|0)){while(1){e=e-12|0;b=J[e+4>>2];i=i-12|0;d=i;J[d>>2]=J[e>>2];J[d+4>>2]=b;J[d+8>>2]=J[e+8>>2];if((c|0)!=(e|0)){continue}break}e=J[a>>2]}J[a+8>>2]=P(k,12)+l;J[a+4>>2]=f;J[a>>2]=i;if(e){na(e)}return}qa();B()}xa();B()}function ng(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=ba-112|0;ba=c;d=oa(120);i=J[a+8>>2];J[d+12>>2]=0;J[d+16>>2]=0;J[d>>2]=11224;J[d+4>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+8>>2]=11436;e=d- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[d+72>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;J[d+88>>2]=0;J[d+116>>2]=0;J[d+112>>2]=b;J[d+108>>2]=i;J[d+104>>2]=0;J[d+96>>2]=0;J[d+100>>2]=0;g=J[a+12>>2];J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;f=c+32|0;e=f;J[e>>2]=0;J[e+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;e=c- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+104>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+8>>2]=11436;J[c+96>>2]=0;J[c+100>>2]=0;J[c+12>>2]=g;h=J[g>>2];e=J[g+4>>2];H[c+111|0]=0;j=f;f=c+111|0;Na(j,(e-h>>2>>>0)/3|0,f);e=J[c+12>>2];h=J[e+28>>2];e=J[e+24>>2];H[c+111|0]=0;Na(c+44|0,h-e>>2,f);J[c+28>>2]=d;J[c+24>>2]=i;J[c+20>>2]=b;J[c+16>>2]=g;J[d+116>>2]=a+72;a=d+8|0;b=c+8|0;Kc(a,b);a:{if((a|0)==(b|0)){J[d+92>>2]=J[b+84>>2];break a}Rb(d+56|0,J[b+48>>2],J[b+52>>2]);Rb(d+68|0,J[b+60>>2],J[b- -64>>2]);Rb(d+80|0,J[b+72>>2],J[b+76>>2]);J[d+92>>2]=J[b+84>>2];bb(d+96|0,J[b+88>>2],J[b+92>>2])}J[c+8>>2]=11436;a=J[c+96>>2];if(a){J[c+100>>2]=a;na(a)}a=J[c+80>>2];if(a){J[c+84>>2]=a;na(a)}a=J[c+68>>2];if(a){J[c+72>>2]=a;na(a)}a=J[c+56>>2];if(a){J[c+60>>2]=a;na(a)}J[c+8>>2]=11672;a=J[c+44>>2];if(a){na(a)}a=J[c+32>>2];if(a){na(a)}ba=c+112|0;return d}function vb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=ba-48|0;ba=g;f=ba-32|0;ba=f;h=f+21|0;d=h;l=f+32|0;e=l;if(!((d|0)==(e|0)|(c|0)>=0)){H[d|0]=45;d=d+1|0;c=0-c|0}i=e-d|0;a:{if((i|0)<=9){j=P(32-S(c|1)|0,1233)>>12;k=61;if((i|0)<((M[(j<<2)+18192>>2]<=c>>>0)+j|0)){break a}}b:{if(c>>>0<=999999){if(c>>>0<=9999){if(c>>>0<=99){if(c>>>0<=9){H[d|0]=c+48;e=d+1|0;break b}e=Fb(d,c);break b}if(c>>>0<=999){e=(c>>>0)/100|0;H[d|0]=e+48;e=Fb(d+1|0,c-P(e,100)|0);break b}e=fd(d,c);break b}if(c>>>0<=99999){e=(c>>>0)/1e4|0;H[d|0]=e+48;e=fd(d+1|0,c-P(e,1e4)|0);break b}e=ed(d,c);break b}if(c>>>0<=99999999){if(c>>>0<=9999999){e=(c>>>0)/1e6|0;H[d|0]=e+48;e=ed(d+1|0,c-P(e,1e6)|0);break b}e=dd(d,c);break b}if(c>>>0<=999999999){e=(c>>>0)/1e8|0;H[d|0]=e+48;e=dd(d+1|0,c-P(e,1e8)|0);break b}e=d;d=(c>>>0)/1e8|0;e=dd(Fb(e,d),c-P(d,1e8)|0)}k=0}J[f+12>>2]=k;J[f+8>>2]=e;j=ba-16|0;ba=j;e=ba-16|0;ba=e;c=g+8|0;c:{i=J[f+8>>2];f=i-h|0;if(f>>>0<=2147483631){d:{if(f>>>0<11){H[c+11|0]=f|K[c+11|0]&128;H[c+11|0]=K[c+11|0]&127;d=c;break d}k=e+8|0;if(f>>>0>=11){m=f+16&-16;d=m-1|0;d=(d|0)==11?m:d}else{d=10}Ac(k,d+1|0);d=J[e+8>>2];J[c>>2]=d;J[c+8>>2]=J[c+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[c+8>>2]=J[c+8>>2]|-2147483648;J[c+4>>2]=f}while(1){if((h|0)!=(i|0)){H[d|0]=K[h|0];d=d+1|0;h=h+1|0;continue}break}H[e+7|0]=0;H[d|0]=K[e+7|0];ba=e+16|0;break c}gb();B()}ba=j+16|0;ba=l;J[g+32>>2]=b;ge(g+40|0,a,b,g+32|0);a=J[g+40>>2];if(H[a+39|0]<0){na(J[a+28>>2])}b=J[g+12>>2];J[a+28>>2]=J[g+8>>2];J[a+32>>2]=b;J[a+36>>2]=J[g+16>>2];ba=g+48|0}function df(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=Q(0);a:{b:{c:{d:{d=2;e:{if((b|0)==1){break e}d=b;if(!(b-1&b)){break e}d=Ha(b)}b=J[a+4>>2];if(d>>>0<=b>>>0){if(b>>>0<=d>>>0){break a}e=b>>>0<3;i=Q(W(Q(Q(M[a+12>>2])/N[a+20>>2])));f:{if(i=Q(0)){c=~~i>>>0;break f}c=0}g:{h:{if(e){break h}if(Kl(b)>>>0>1){break h}c=c>>>0<2?c:1<<32-S(c-1|0);break g}c=Ha(c)}d=c>>>0>>0?d:c;if(b>>>0<=d>>>0){break a}if(!d){break d}}if(d>>>0>=1073741824){break c}c=oa(d<<2);b=J[a>>2];J[a>>2]=c;if(b){na(b)}J[a+4>>2]=d;e=0;b=0;if(d-1>>>0>=3){g=d&-4;while(1){c=b<<2;J[c+J[a>>2]>>2]=0;J[J[a>>2]+(c|4)>>2]=0;J[J[a>>2]+(c|8)>>2]=0;J[J[a>>2]+(c|12)>>2]=0;b=b+4|0;f=f+4|0;if((g|0)!=(f|0)){continue}break}}c=d&3;if(c){while(1){J[J[a>>2]+(b<<2)>>2]=0;b=b+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}b=J[a+8>>2];if(!b){break a}c=a+8|0;f=J[b+4>>2];e=d-1|0;if(!(e&d)){break b}f=d>>>0<=f>>>0?(f>>>0)%(d>>>0)|0:f;J[J[a>>2]+(f<<2)>>2]=c;while(1){c=J[b>>2];if(!c){break a}e=J[c+4>>2];if(e>>>0>=d>>>0){e=(e>>>0)%(d>>>0)|0}if((e|0)==(f|0)){b=c;continue}g=e<<2;h=g+J[a>>2]|0;if(J[h>>2]){J[b>>2]=J[c>>2];J[c>>2]=J[J[g+J[a>>2]>>2]>>2];J[J[g+J[a>>2]>>2]>>2]=c}else{J[h>>2]=b;b=c;f=e}continue}}b=J[a>>2];J[a>>2]=0;if(b){na(b)}J[a+4>>2]=0;break a}xa();B()}f=e&f;J[J[a>>2]+(f<<2)>>2]=c;while(1){c=J[b>>2];if(!c){break a}d=e&J[c+4>>2];if((d|0)==(f|0)){b=c;continue}g=d<<2;h=g+J[a>>2]|0;if(J[h>>2]){J[b>>2]=J[c>>2];J[c>>2]=J[J[g+J[a>>2]>>2]>>2];J[J[g+J[a>>2]>>2]>>2]=c}else{J[h>>2]=b;b=c;f=d}continue}}}function Be(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=ba-32|0;ba=h;e=a+4|0;a=ob(a,b);a:{if((e|0)==(a|0)){break a}b:{if(H[a+39|0]>=0){J[h+24>>2]=J[a+36>>2];b=J[a+32>>2];J[h+16>>2]=J[a+28>>2];J[h+20>>2]=b;break b}Ga(h+16|0,J[a+28>>2],J[a+32>>2])}b=K[h+27|0];a=b<<24>>24;if(!(!((a|0)<0?J[h+20>>2]:b)|(c|0)<=0)){b=0;a=(a|0)<0?J[h+16>>2]:h+16|0;while(1){c:{l=ba-16|0;ba=l;Xe(l,a,h+12|0,0);j=J[l>>2];k=J[l+4>>2];i=ba-32|0;ba=i;n=J[l+12>>2];g=n&2147483647;e=g-1065418752|0;m=g-1082064896|0;f=J[l+8>>2];d:{if((e|0)==(m|0)&f>>>0>>0|e>>>0>>0){g=(n&33554431)<<7|f>>>25;e=0;m=e;f=f&33554431;if(!(!e&(f|0)==16777216?!(j|k):!e&f>>>0<16777216)){e=g+1073741825|0;break d}e=g+1073741824|0;if(f^16777216|j|(k|m)){break d}e=(g&1)+e|0;break d}if(!(!f&(g|0)==2147418112?!(j|k):g>>>0<2147418112)){e=((n&33554431)<<7|f>>>25)&4194303|2143289344;break d}e=2139095040;if(g>>>0>1082064895){break d}e=0;g=g>>>16|0;if(g>>>0<16145){break d}e=n&65535|65536;Pa(i+16|0,j,k,f,e,g-16129|0);Gb(i,j,k,f,e,16257-g|0);f=J[i+8>>2];e=(J[i+12>>2]&33554431)<<7|f>>>25;g=J[i>>2]|(J[i+16>>2]|J[i+24>>2]|(J[i+20>>2]|J[i+28>>2]))!=0;k=J[i+4>>2];j=0;f=f&33554431;if(!(!j&(f|0)==16777216?!(g|k):!j&f>>>0<16777216)){e=e+1|0;break d}if(f^16777216|g|(j|k)){break d}e=(e&1)+e|0}ba=i+32|0;ba=l+16|0;m=a;a=J[h+12>>2];if((m|0)==(a|0)){break c}J[(b<<2)+d>>2]=n&-2147483648|e;b=b+1|0;if((c|0)!=(b|0)){continue}}break}a=K[h+27|0]}if(a<<24>>24>=0){break a}na(J[h+16>>2])}ba=h+32|0}function bh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=J[b+48>>2];d=ba-32|0;ba=d;J[d+28>>2]=a;a=0;a:{if((cb(f)|0)>9){break a}if((da[J[J[b>>2]+8>>2]](b)|0)!=1){break a}a=oa(32);J[d+16>>2]=a;J[d+20>>2]=17;J[d+24>>2]=-2147483616;H[a+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);c=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=e;H[a+13|0]=e>>>8;H[a+14|0]=e>>>16;H[a+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);c=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=e;H[a+5|0]=e>>>8;H[a+6|0]=e>>>16;H[a+7|0]=e>>>24;H[a+17|0]=0;a=jb(f,d+28|0,d+16|0,-1);if(H[d+27|0]<0){na(J[d+16>>2])}c=J[b+4>>2];e=J[J[c+8>>2]+(J[d+28>>2]<<2)>>2];b:{if((a|0)==-1|J[e+56>>2]!=3|K[e+24|0]!=2){break b}c=rd(c);if(!c){break b}c=J[c+28>>2];if(!(2558>>>c&c>>>0<12)){h=d,i=Nb(J[b+4>>2],0),J[h+12>>2]=i;c=Pc(d+16|0,1245);g=jb(f,d+12|0,c,-1);if(H[c+11|0]<0){na(J[c>>2])}if((a+(g<<1)|0)>63|g-1>>>0>20){break b}}a=5;if((cb(f)|0)<4){break a}}a=J[e+56>>2];e=cb(f);if((a|0)==1){c:{if((e|0)>3){break c}h=d,i=Nb(J[b+4>>2],0),J[h+12>>2]=i;a=rd(J[b+4>>2]);if(!a){break c}a=J[a+28>>2];if(2558>>>a&a>>>0<12){a=6;break a}a=Pc(d+16|0,1245);b=jb(f,d+12|0,a,-1);if(H[a+11|0]<0){na(J[a>>2])}a=6;if((b|0)>0){break a}}a=0;break a}a=0;if((e|0)>7){break a}a=1;if((cb(f)|0)>1){break a}a=M[J[b+4>>2]+80>>2]<40?1:4}ba=d+32|0;return a}function hc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Ig(a,i,c,h,e);f=b;b=e+j|0;Ig(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}hc(a,i,c,h,e,f);hc(i,b,c,g,e,f);de(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function gc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Hg(a,i,c,h,e);f=b;b=e+j|0;Hg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}gc(a,i,c,h,e,f);gc(i,b,c,g,e,f);ce(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function fc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Gg(a,i,c,h,e);f=b;b=e+j|0;Gg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}fc(a,i,c,h,e,f);fc(i,b,c,g,e,f);be(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function ec(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Fg(a,i,c,h,e);f=b;b=e+j|0;Fg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}ec(a,i,c,h,e,f);ec(i,b,c,g,e,f);ae(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function dc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Eg(a,i,c,h,e);f=b;b=e+j|0;Eg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}dc(a,i,c,h,e,f);dc(i,b,c,g,e,f);$d(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function cc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Dg(a,i,c,h,e);f=b;b=e+j|0;Dg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}cc(a,i,c,h,e,f);cc(i,b,c,g,e,f);_d(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function bc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Cg(a,i,c,h,e);f=b;b=e+j|0;Cg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}bc(a,i,c,h,e,f);bc(i,b,c,g,e,f);Zd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function ac(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Bg(a,i,c,h,e);f=b;b=e+j|0;Bg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}ac(a,i,c,h,e,f);ac(i,b,c,g,e,f);Yd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function _b(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){zg(a,i,c,h,e);f=b;b=e+j|0;zg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}_b(a,i,c,h,e,f);_b(i,b,c,g,e,f);Wd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Zb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){yg(a,i,c,h,e);f=b;b=e+j|0;yg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Zb(a,i,c,h,e,f);Zb(i,b,c,g,e,f);Vd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Yb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){wg(a,i,c,h,e);f=b;b=e+j|0;wg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Yb(a,i,c,h,e,f);Yb(i,b,c,g,e,f);Ud(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Xb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){vg(a,i,c,h,e);f=b;b=e+j|0;vg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Xb(a,i,c,h,e,f);Xb(i,b,c,g,e,f);Td(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Wb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){ug(a,i,c,h,e);f=b;b=e+j|0;ug(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Wb(a,i,c,h,e,f);Wb(i,b,c,g,e,f);Sd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Vb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){tg(a,i,c,h,e);f=b;b=e+j|0;tg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Vb(a,i,c,h,e,f);Vb(i,b,c,g,e,f);Rd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Ub(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){sg(a,i,c,h,e);f=b;b=e+j|0;sg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Ub(a,i,c,h,e,f);Ub(i,b,c,g,e,f);Qd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Tb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){rg(a,i,c,h,e);f=b;b=e+j|0;rg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Tb(a,i,c,h,e,f);Tb(i,b,c,g,e,f);Pd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Sb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){qg(a,i,c,h,e);f=b;b=e+j|0;qg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Sb(a,i,c,h,e,f);Sb(i,b,c,g,e,f);Od(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function $b(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}ra();B()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}ra();B()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Ag(a,i,c,h,e);f=b;b=e+j|0;Ag(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}$b(a,i,c,h,e,f);$b(i,b,c,g,e,f);Xd(a,i,b,c,h,g,e,f);return}ra();B()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Ii(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=ba-32|0;ba=a;a:{b:{c:{d:{if(!b){break d}f=rb(c);if(f>>>0>=2147483632){break c}e:{f:{if(f>>>0>=11){g=(f|15)+1|0;h=oa(g);J[a+24>>2]=g|-2147483648;J[a+16>>2]=h;J[a+20>>2]=f;g=f+h|0;break f}H[a+27|0]=f;h=a+16|0;g=f+h|0;if(!f){break e}}ua(h,c,f)}H[g|0]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;if(e){if((e|0)<0){break b}c=e<<2;e=oa(c);J[a>>2]=e;f=c+e|0;J[a+8>>2]=f;ua(e,d,c);J[a+4>>2]=f}f=ba-48|0;ba=f;e=ob(b,a+16|0);if((e|0)!=(b+4|0)){c=J[e+4>>2];g:{if(!c){c=e;while(1){d=J[c+8>>2];g=J[d>>2]!=(c|0);c=d;if(g){continue}break}break g}while(1){d=c;c=J[c>>2];if(c){continue}break}}if((e|0)==J[b>>2]){J[b>>2]=d}J[b+8>>2]=J[b+8>>2]-1;Dc(J[b+4>>2],e);c=J[e+28>>2];if(c){J[e+32>>2]=c;na(c)}if(H[e+27|0]<0){na(J[e+16>>2])}na(e)}J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;c=J[a+4>>2];d=J[a>>2];e=c-d|0;g=0;h:{i:{if((c|0)!=(d|0)){if((e|0)<0){break i}g=oa(e);c=pa(g,0,e);h=c+e|0;J[f+8>>2]=h;J[f+4>>2]=h;J[f>>2]=c;c=d}ua(g,c,e);j:{if(H[a+27|0]>=0){J[f+24>>2]=J[a+24>>2];c=J[a+20>>2];J[f+16>>2]=J[a+16>>2];J[f+20>>2]=c;break j}Ga(f+16|0,J[a+16>>2],J[a+20>>2])}Ob(f+28|0,f);c=f+16|0;Cc(f+40|0,b,c,c);c=J[f+28>>2];if(c){J[f+32>>2]=c;na(c)}if(H[f+27|0]<0){na(J[f+16>>2])}c=J[f>>2];if(c){J[f+4>>2]=c;na(c)}ba=f+48|0;break h}qa();B()}c=J[a>>2];if(c){J[a+4>>2]=c;na(c)}if(H[a+27|0]>=0){break d}na(J[a+16>>2])}ba=a+32|0;a=(b|0)!=0;break a}gb();B()}qa();B()}return a|0}function gd(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;d=ba-16|0;ba=d;g=ba-16|0;ba=g;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;ba=g+16|0;md(d,K[d+11|0]>>>7|0?(J[d+8>>2]&2147483647)-1|0:10);i=ba-16|0;ba=i;l=+b;if(K[d+11|0]>>>7|0){g=J[d+4>>2]}else{g=K[d+11|0]&127}while(1){a:{if(K[d+11|0]>>>7|0){e=J[d>>2]}else{e=d}O[i>>3]=l;k=ba-16|0;ba=k;J[k+12>>2]=i;c=ba-160|0;ba=c;f=g+1|0;h=f?e:c+158|0;J[c+144>>2]=h;e=-1;j=f-1|0;J[c+148>>2]=f>>>0>=j>>>0?j:0;c=pa(c,0,144);J[c+76>>2]=-1;J[c+36>>2]=371;J[c+80>>2]=-1;J[c+44>>2]=c+159;J[c+84>>2]=c+144;b:{if((f|0)<0){J[4804]=61;break b}H[h|0]=0;h=0;f=ba-208|0;ba=f;J[f+204>>2]=i;e=f+160|0;pa(e,0,40);J[f+200>>2]=J[f+204>>2];c:{if((Ue(0,f+200|0,f+80|0,e)|0)<0){e=-1;break c}m=J[c+76>>2]>=0;j=J[c>>2];if(J[c+72>>2]<=0){J[c>>2]=j&-33}d:{e:{f:{if(!J[c+48>>2]){J[c+48>>2]=80;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;h=J[c+44>>2];J[c+44>>2]=f;break f}if(J[c+16>>2]){break e}}e=-1;if(We(c)){break d}}e=Ue(c,f+200|0,f+80|0,f+160|0)}if(h){da[J[c+36>>2]](c,0,0)|0;J[c+48>>2]=0;J[c+44>>2]=h;J[c+28>>2]=0;h=J[c+20>>2];J[c+16>>2]=0;J[c+20>>2]=0;e=h?e:-1}h=J[c>>2];J[c>>2]=h|j&32;e=h&32?-1:e;if(!m){break c}}ba=f+208|0}ba=c+160|0;ba=k+16|0;g:{if((e|0)>=0){if(e>>>0<=g>>>0){break a}g=e;break g}g=g<<1|1}md(d,g);continue}break}md(d,e);g=J[d+4>>2];J[a>>2]=J[d>>2];J[a+4>>2]=g;J[a+8>>2]=J[d+8>>2];J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;ba=i+16|0;if(K[d+11|0]>>>7|0){na(J[d>>2])}ba=d+16|0}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=ba-16|0;ba=c;b=J[J[a+4>>2]+(b<<2)>>2];J[c+12>>2]=b;a=J[a+28>>2];e=J[J[J[a+4>>2]+8>>2]+(b<<2)>>2];b=J[e+28>>2];a:{if(b-1>>>0>=6){b:{if((b|0)!=9){break b}f=J[a+48>>2];a=oa(32);J[c>>2]=a;J[c+4>>2]=17;J[c+8>>2]=-2147483616;H[a+16|0]=K[1261];b=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);d=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[a+8|0]=d;H[a+9|0]=d>>>8;H[a+10|0]=d>>>16;H[a+11|0]=d>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);d=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[a|0]=d;H[a+1|0]=d>>>8;H[a+2|0]=d>>>16;H[a+3|0]=d>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+17|0]=0;a=jb(f,c+12|0,c,-1);if(H[c+11|0]<0){na(J[c>>2])}if((a|0)<=0){break b}if(J[e+56>>2]==1){a=oa(48);J[a>>2]=0;J[a+4>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;a=ne(a);J[a+40>>2]=1032;J[a>>2]=6308;J[a+44>>2]=-1;break a}a=ne(oa(64));J[a+40>>2]=2032;J[a>>2]=9988;J[a+48>>2]=0;J[a+52>>2]=0;J[a+44>>2]=-1;J[a+56>>2]=0;J[a+60>>2]=0;break a}a=oa(36);J[a+32>>2]=0;J[a+12>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=2392;H[a+21|0]=0;H[a+22|0]=0;H[a+23|0]=0;H[a+24|0]=0;H[a+25|0]=0;H[a+26|0]=0;H[a+27|0]=0;H[a+28|0]=0;break a}a=ne(oa(40))}ba=c+16|0;return a|0}function ul(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=J[a+8>>2]-J[a+4>>2]>>2;b=J[a+40>>2];d=J[a+36>>2];c=b-d>>2;a:{if(e>>>0>c>>>0){g=e-c|0;d=J[a+44>>2];b=J[a+40>>2];if(g>>>0<=d-b>>2>>>0){if(g){i=b;b=g<<2;b=pa(i,0,b)+b|0}J[a+40>>2]=b;break a}b:{c:{d:{j=J[a+36>>2];e=b-j>>2;f=e+g|0;if(f>>>0<1073741824){c=d-j|0;d=c>>>1|0;c=c>>>0>=2147483644?1073741823:d>>>0>f>>>0?d:f;if(c){if(c>>>0>=1073741824){break d}i=oa(c<<2)}h=(e<<2)+i|0;d=g<<2;f=pa(h,0,d);e=d+f|0;c=(c<<2)+i|0;if((b|0)==(j|0)){break c}while(1){b=b-4|0;d=J[b>>2];J[b>>2]=0;h=h-4|0;J[h>>2]=d;if((b|0)!=(j|0)){continue}break}J[a+44>>2]=c;c=J[a+40>>2];J[a+40>>2]=e;b=J[a+36>>2];J[a+36>>2]=h;if((b|0)==(c|0)){break b}while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){da[J[J[d>>2]+4>>2]](d)}if((b|0)!=(c|0)){continue}break}break b}qa();B()}xa();B()}J[a+44>>2]=c;J[a+40>>2]=e;J[a+36>>2]=f}if(b){na(b)}break a}if(c>>>0<=e>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(b|0)){while(1){b=b-4|0;c=J[b>>2];J[b>>2]=0;if(c){da[J[J[c>>2]+4>>2]](c)}if((b|0)!=(d|0)){continue}break}}J[a+40>>2]=d}if(J[a+8>>2]==J[a+4>>2]){return 1}b=0;while(1){e=da[J[J[a>>2]+56>>2]](a,b)|0;c=b<<2;d=c+J[a+36>>2]|0;f=J[d>>2];J[d>>2]=e;if(f){da[J[J[f>>2]+4>>2]](f)}c=J[c+J[a+36>>2]>>2];d=(c|0)!=0;if(c){if(!(!(J[J[a+48>>2]+(b>>>3&536870908)>>2]>>>b&1)|M[a+52>>2]<=b>>>0)){H[c+28|0]=1}b=b+1|0;if(b>>>0>2]-J[a+4>>2]>>2>>>0){continue}}break}return d|0}function Yf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;J[a>>2]=10584;c=a+200|0;d=J[c+136>>2];if(d){b=d;e=J[c+140>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=J[b>>2];if(f){J[e-8>>2]=f;na(f)}e=b;if((b|0)!=(d|0)){continue}break}b=J[c+136>>2]}J[c+140>>2]=d;na(b)}b=J[c+104>>2];if(b){J[c+108>>2]=b;na(b)}b=J[c+92>>2];if(b){J[c+96>>2]=b;na(b)}d=J[c+80>>2];J[c+80>>2]=0;if(d){e=d-4|0;b=J[e>>2];if(b){b=d+(b<<5)|0;while(1){b=wa(b-32|0);if((d|0)!=(b|0)){continue}break}}na(e)}b=J[c+68>>2];if(b){J[c+72>>2]=b;na(b)}b=J[c+44>>2];J[c+44>>2]=0;if(b){na(b)}b=J[c+32>>2];if(b){J[c+36>>2]=b;na(b)}wa(c);b=J[a+184>>2];if(b){J[a+188>>2]=b;na(b)}d=J[a+172>>2];if(d){b=J[a+176>>2];e=d;if((b|0)!=(d|0)){while(1){e=b-136|0;f=J[e+116>>2];if(f){J[b-16>>2]=f;na(f)}f=J[b-32>>2];if(f){J[b-28>>2]=f;na(f)}pc(b-132|0);b=e;if((d|0)!=(b|0)){continue}break}e=J[a+172>>2]}J[a+176>>2]=d;na(e)}b=J[a+152>>2];if(b){J[a+156>>2]=b;na(b)}b=J[a+140>>2];if(b){na(b)}b=J[a+128>>2];if(b){while(1){e=J[b>>2];na(b);b=e;if(b){continue}break}}b=J[a+120>>2];J[a+120>>2]=0;if(b){na(b)}b=J[a+108>>2];if(b){J[a+112>>2]=b;na(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+84>>2];if(b){na(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;na(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;na(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;na(b)}b=J[a+28>>2];if(b){na(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}b=J[a+12>>2];J[a+12>>2]=0;if(b){qc(b)}return a|0}function Xd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Xd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Xd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0} +function de(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}de(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}de(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function ce(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}ce(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}ce(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function be(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}be(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}be(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function ae(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}ae(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}ae(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function _d(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}_d(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}_d(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Zd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Zd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Zd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Yd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Yd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Yd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Wd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Wd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Wd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Vd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Vd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Vd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Ud(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Ud(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Ud(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Td(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Td(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Td(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Sd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Sd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Sd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Rd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Rd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Rd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Qd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Qd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Qd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Pd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Pd(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Pd(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Od(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Od(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}Od(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function $d(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=ba-16|0;ba=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}Ta(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}$d(a,j,b,d,l,n,g,h);a=b;b=i;break b}}ra();B()}$d(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}Sa(a,b,c,d,e,f,g)}ba=s+16|0}function Kg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=ba-16|0;ba=m;f=J[b+28>>2];g=J[b+24>>2];J[a+8>>2]=g;J[a+12>>2]=f;f=J[b+20>>2];J[a>>2]=J[b+16>>2];J[a+4>>2]=f;f=J[b+36>>2];J[a+16>>2]=J[b+32>>2];J[a+20>>2]=f;J[a+8>>2]=d+g;a:{b:{if((d|0)>0){j=J[b>>2];f=J[a+12>>2];n=J[a+16>>2];o=O[a>>3];while(1){i=J[b+4>>2]-j>>2;g=J[(h<<2)+c>>2];c:{if(i>>>0>g>>>0){break c}J[m+12>>2]=0;k=g+1|0;if(k>>>0>i>>>0){jc(b,k-i|0,m+12|0);j=J[b>>2];break c}if(i>>>0<=k>>>0){break c}J[b+4>>2]=(k<<2)+j}k=(g<<2)+j|0;i=J[k>>2];d:{if((i|0)>=2){l=+(i|0);l=va(l)*l;break d}l=0;if(i){break d}n=n+1|0;J[a+16>>2]=n;if(f>>>0>=g>>>0){break d}J[a+12>>2]=g;f=g}g=i+1|0;J[k>>2]=g;p=+(g|0);o=va(p)*p-l+o;O[a>>3]=o;h=h+1|0;if((h|0)!=(d|0)){continue}break}if(e){break b}if((d|0)<=0){break a}a=J[b>>2];j=0;h=0;if(d>>>0>=4){g=d&-4;e=0;while(1){b=h<<2;f=a+(J[b+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;f=a+(J[(b|4)+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;f=a+(J[(b|8)+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;b=a+(J[(b|12)+c>>2]<<2)|0;J[b>>2]=J[b>>2]-1;h=h+4|0;e=e+4|0;if((g|0)!=(e|0)){continue}break}}b=d&3;if(!b){break a}while(1){d=a+(J[(h<<2)+c>>2]<<2)|0;J[d>>2]=J[d>>2]-1;h=h+1|0;j=j+1|0;if((b|0)!=(j|0)){continue}break}break a}if(!e){break a}}c=J[a+4>>2];J[b+16>>2]=J[a>>2];J[b+20>>2]=c;J[b+32>>2]=J[a+16>>2];c=J[a+12>>2];J[b+24>>2]=J[a+8>>2];J[b+28>>2]=c}ba=m+16|0}function Ya(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=J[b+16>>2];f=J[c+4>>2]-e|0;J[c>>2]=0|J[c>>2]-e;J[c+4>>2]=f;f=J[d+4>>2]-e|0;e=J[d>>2]-e|0;J[d>>2]=g|e;J[d+4>>2]=f;i=J[b+16>>2];g=f>>31;h=(g^f)-g|0;g=e>>31;if(i>>>0>>0){j=J[c+4>>2];k=J[c>>2];a:{b:{if((k|0)>=0){h=1;g=1;if((j|0)>=0){break a}e=1;h=-1;g=-1;if(k){break b}break a}e=-1;h=-1;g=-1;if((j|0)<=0){break a}}h=(j|0)<=0?-1:1;g=e}f=1;e=-1;l=k<<1;k=P(g,i);l=l-k|0;g=(P(g,h)|0)>=0;h=P(h,i);J[c+4>>2]=((g?0-l|0:l)+h|0)/2;h=(j<<1)-h|0;J[c>>2]=(k+(g?0-h|0:h)|0)/2;g=J[d+4>>2];h=J[d>>2];c:{d:{if((h|0)>=0){e=1;if((g|0)>=0){break c}if(h){break d}f=-1;e=-1;break c}f=-1;if((g|0)<=0){break c}}f=(g|0)<=0?-1:1}i=h<<1;h=J[b+16>>2];j=P(h,e);i=i-j|0;e=(P(f,e)|0)>=0;h=P(f,h);f=((e?0-i|0:i)+h|0)/2|0;J[d+4>>2]=f;g=(g<<1)-h|0;e=(j+(e?0-g|0:g)|0)/2|0;J[d>>2]=e}e:{f:{g:{h:{i:{j:{if(e){if((e|0)>=0){break j}if((f|0)>0){break h}break e}if(f){break i}f=0;e=0;break e}if((f|0)<0){break g}f=0-J[c+4>>2]|0;J[c>>2]=0-J[c>>2];J[c+4>>2]=f;e=0-J[d>>2]|0;f=0-J[d+4>>2]|0;break f}if((f|0)<=0){break g}}f=J[c>>2];J[c>>2]=0-J[c+4>>2];J[c+4>>2]=f;e=0-J[d+4>>2]|0;f=J[d>>2];break f}f=0-J[c>>2]|0;J[c>>2]=J[c+4>>2];J[c+4>>2]=f;e=J[d+4>>2];f=0-J[d>>2]|0}J[d>>2]=e;J[d+4>>2]=f}d=J[c>>2];b=J[b+4>>2];c=J[c+4>>2]-f|0;J[a+4>>2]=(b&c>>31)+c;c=a;a=d-e|0;J[c>>2]=(b&a>>31)+a}function eg(a,b){var c=0,d=0,e=0,f=0,g=0;e=-1;c=(b|0)==-1;d=-1;a:{if(c){break a}d=b+1|0;e=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}f=c?-1:(b>>>0)/3|0;g=J[a+28>>2]+(f>>>3&536870908)|0;J[g>>2]=J[g>>2]|1<>2]+12>>2]+(b<<2)>>2];if((c|0)==-1){break b}c=(c>>>0)/3|0;if(J[J[a+28>>2]+(c>>>3&268435452)>>2]>>>c&1){break b}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break b}f=1<>>5<<2;b=0;while(1){Ca(J[a+280>>2]+(b<<5)|0,(f&J[g+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}c:{if((e|0)==-1){break c}b=J[J[J[a+12>>2]+12>>2]+(e<<2)>>2];if((b|0)==-1){break c}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break c}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break c}f=1<>>5<<2;b=0;while(1){Ca(J[a+280>>2]+(b<<5)|0,(f&J[e+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}d:{if((d|0)==-1){break d}b=J[J[J[a+12>>2]+12>>2]+(d<<2)>>2];if((b|0)==-1){break d}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break d}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break d}e=1<>>5<<2;b=0;while(1){Ca(J[a+280>>2]+(b<<5)|0,(e&J[d+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}}function yf(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;a=0;a:{if(!d|(!b|(c|0)<0)){break a}f=J[b+8>>2];if(J[b+12>>2]-f>>2<=(c|0)){break a}if(!J[b+4>>2]){a=oa(36);J[a+4>>2]=0;J[a+8>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;e=a+16|0;J[e>>2]=0;J[e+4>>2]=0;J[a>>2]=a+4;J[a+32>>2]=0;J[a+12>>2]=e;J[b+4>>2]=a}a=J[J[f+(c<<2)>>2]+60>>2];d=sd(oa(28),d);J[d+24>>2]=a;a=J[b+4>>2];c=ba-16|0;ba=c;J[c+8>>2]=d;b:{if(!d){break b}b=J[a+28>>2];c:{if(b>>>0>2]){J[c+8>>2]=0;J[b>>2]=d;J[a+28>>2]=b+4;break c}b=0;d:{e:{f:{e=J[a+24>>2];f=J[a+28>>2]-e>>2;d=f+1|0;if(d>>>0<1073741824){e=J[a+32>>2]-e|0;g=e>>>1|0;e=e>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(e){if(e>>>0>=1073741824){break f}b=oa(e<<2)}g=J[c+8>>2];J[c+8>>2]=0;d=(f<<2)+b|0;J[d>>2]=g;e=(e<<2)+b|0;f=d+4|0;b=J[a+28>>2];g=J[a+24>>2];if((b|0)==(g|0)){break e}while(1){b=b-4|0;h=J[b>>2];J[b>>2]=0;d=d-4|0;J[d>>2]=h;if((b|0)!=(g|0)){continue}break}J[a+32>>2]=e;e=J[a+28>>2];J[a+28>>2]=f;b=J[a+24>>2];J[a+24>>2]=d;if((b|0)==(e|0)){break d}while(1){e=e-4|0;a=J[e>>2];J[e>>2]=0;if(a){lb(a+12|0,J[a+16>>2]);kb(a,J[a+4>>2]);na(a)}if((b|0)!=(e|0)){continue}break}break d}qa();B()}xa();B()}J[a+32>>2]=e;J[a+28>>2]=f;J[a+24>>2]=d}if(b){na(b)}}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break b}lb(a+12|0,J[a+16>>2]);kb(a,J[a+4>>2]);na(a)}ba=c+16|0;a=1}return a|0}function pl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+16>>2];a:{if(J[a+20>>2]-e>>2<=(b|0)){break a}h=J[e+(b<<2)>>2];if((h|0)<0){break a}if(M[a+52>>2]<=h>>>0){b:{b=ba-16|0;ba=b;c:{f=J[a+52>>2];c=h+1|0;d:{if(f>>>0>>0){e=c-f|0;g=J[a+56>>2];d=g<<5;e:{if(!(e>>>0>d>>>0|f>>>0>d-e>>>0)){J[a+52>>2]=c;d=f&31;c=J[a+48>>2]+(f>>>3&536870908)|0;break e}J[b+8>>2]=0;J[b>>2]=0;J[b+4>>2]=0;if((c|0)<0){break c}if(d>>>0<=1073741822){d=g<<6;c=c+31&-32;c=c>>>0>>0?d:c}else{c=2147483647}wc(b,c);d=J[a+52>>2];J[b+4>>2]=d+e;f=J[a+48>>2];c=J[b>>2];f:{if((d|0)<=0){d=0;break f}g=d>>>5|0;if(d>>>0>=32){ta(c,f,g<<2)}g=g<<2;c=g+c|0;d=d&31;if(d){i=-1>>>32-d|0;J[c>>2]=J[c>>2]&(i^-1)|J[f+g>>2]&i}f=J[a+48>>2]}J[a+48>>2]=J[b>>2];J[b>>2]=f;g=J[a+52>>2];J[a+52>>2]=J[b+4>>2];J[b+4>>2]=g;g=J[a+56>>2];J[a+56>>2]=J[b+8>>2];J[b+8>>2]=g;if(!f){break e}na(f)}if(!e){break d}if(d){f=32-d|0;g=e>>>0>f>>>0?f:e;J[c>>2]=J[c>>2]&(-1<>>f-g^-1);e=e-g|0;c=c+4|0}d=e>>>5|0;if(e>>>0>=32){pa(c,0,d<<2)}if((e&-32)==(e|0)){break d}c=(d<<2)+c|0;J[c>>2]=J[c>>2]&(-1>>>32-(e&31)^-1);break d}J[a+52>>2]=c}ba=b+16|0;break b}qa();B()}}c=1;b=J[a+48>>2]+(h>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];a=J[a+36>>2];if(b-a>>2>>>0<=h>>>0){break a}H[J[a+(h<<2)>>2]+28|0]=1}return c|0}function Va(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,n=0,o=0,p=0;g=ba-16|0;ba=g;Aa(J[a+12>>2],b);a:{if(!J[a+12>>2]){break a}n=g+15|0;o=g+16|0;while(1){b:{c:{e=J[a>>2];j=J[e+(h<<3)>>2];c=j>>>0<64;if(!c){d=1;if(j>>>0<16384){break c}d=2;if(j>>>0<=4194303){break c}break a}d=0;if(j){break c}while(1){d:{if(J[(e+(d+h<<3)|0)+8>>2]){c=d;break d}c=d+1|0;if(J[(e+(h+c<<3)|0)+8>>2]){break d}c=d+2|0;if(J[(e+(h+c<<3)|0)+8>>2]){break d}c=63;d=d+3|0;if((d|0)!=63){continue}}break}H[g+15|0]=c<<2|3;d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){sa(b,J[b+4>>2],g+15|0,o)}h=c+h|0;break b}H[g+14|0]=j<<2|d;e=J[b+20>>2];if(!J[b+16>>2]&(e|0)<=0|(e|0)<0){sa(b,J[b+4>>2],g+14|0,n)}if(c){break b}c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break b}p=d>>>0<=1?1:d;d=0;while(1){d=d+1|0;e:{c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break e}m=j>>>(d<<3)-2|0;f=J[b+8>>2];e=J[b+4>>2];if((f-e|0)>0){H[e|0]=m;J[b+4>>2]=e+1;break e}k=J[b>>2];c=e-k|0;i=c+1|0;if((i|0)>=0){f=f-k|0;l=f<<1;f=f>>>0>=1073741823?2147483647:i>>>0>>0?l:i;if(f){i=oa(f)}else{i=0}l=i+c|0;H[l|0]=m;c=ta(i,k,c);e=ta(l+1|0,e,0);J[b+8>>2]=c+f;J[b+4>>2]=e;J[b>>2]=c;if(!k){break e}na(k);break e}qa();B()}if((d|0)!=(p|0)){continue}break}}h=h+1|0;if(h>>>0>2]){continue}break}}ba=g+16|0}function Ye(a){var b=0,c=0,d=0,e=0,f=0;a:{b:{c:{d:{e:{b=J[a+4>>2];f:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break f}b=La(a)}switch(b-43|0){case 0:case 2:break e;default:break d}}f=(b|0)==45;b=J[a+4>>2];g:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break g}b=La(a)}e=b-58|0;if(e>>>0>4294967285){break c}if(J[a+116>>2]<0){break b}J[a+4>>2]=J[a+4>>2]-1;break b}e=b-58|0}if(e>>>0<4294967286){break b}e=b-48|0;if(e>>>0<10){while(1){d=(P(d,10)+b|0)-48|0;c=(d|0)<214748364;b=J[a+4>>2];h:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break h}b=La(a)}e=b-48|0;if(c&e>>>0<=9){continue}break}c=d>>31}i:{if(e>>>0>=10){break i}while(1){d=Hl(d,c,10,0);b=d+b|0;c=ca;c=b>>>0>>0?c+1|0:c;d=b-48|0;c=c-(b>>>0<48)|0;b=J[a+4>>2];j:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break j}b=La(a)}e=b-48|0;if(e>>>0>9){break i}if(d>>>0<2061584302&(c|0)<=21474836|(c|0)<21474836){continue}break}}if(e>>>0<10){while(1){b=J[a+4>>2];k:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break k}b=La(a)}if(b-48>>>0<10){continue}break}}b=J[a+116>>2];if((b|0)>0|(b|0)>=0){J[a+4>>2]=J[a+4>>2]-1}a=d;d=f?0-a|0:a;c=f?0-(((a|0)!=0)+c|0)|0:c;break a}c=-2147483648;if(J[a+116>>2]<0){break a}J[a+4>>2]=J[a+4>>2]-1;ca=-2147483648;return 0}ca=c;return d}function Hi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0,g=0,h=0,i=0;g=ba-16|0;ba=g;a:{b:{c:{if(!b){break c}e=rb(c);if(e>>>0>=2147483632){break b}d:{e:{if(e>>>0>=11){f=(e|15)+1|0;a=oa(f);J[g+8>>2]=f|-2147483648;J[g>>2]=a;J[g+4>>2]=e;f=a+e|0;break e}H[g+11|0]=e;f=e+g|0;a=g;if(!e){break d}}ua(a,c,e)}H[f|0]=0;h=ba-16|0;ba=h;O[h+8>>3]=d;f=ba-48|0;ba=f;e=ob(b,g);if((e|0)!=(b+4|0)){a=J[e+4>>2];f:{if(!a){a=e;while(1){c=J[a+8>>2];i=J[c>>2]!=(a|0);a=c;if(i){continue}break}break f}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((e|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;Dc(J[b+4>>2],e);a=J[e+28>>2];if(a){J[e+32>>2]=a;na(a)}if(H[e+27|0]<0){na(J[e+16>>2])}na(e)}a=oa(8);J[f>>2]=a;c=a+8|0;J[f+8>>2]=c;J[f+4>>2]=c;c=J[h+12>>2];e=J[h+8>>2];H[a|0]=e;H[a+1|0]=e>>>8;H[a+2|0]=e>>>16;H[a+3|0]=e>>>24;H[a+4|0]=c;H[a+5|0]=c>>>8;H[a+6|0]=c>>>16;H[a+7|0]=c>>>24;g:{if(H[g+11|0]>=0){J[f+24>>2]=J[g+8>>2];a=J[g+4>>2];J[f+16>>2]=J[g>>2];J[f+20>>2]=a;break g}Ga(f+16|0,J[g>>2],J[g+4>>2])}Ob(f+28|0,f);a=f+16|0;Cc(f+40|0,b,a,a);a=J[f+28>>2];if(a){J[f+32>>2]=a;na(a)}if(H[f+27|0]<0){na(J[f+16>>2])}a=J[f>>2];if(a){J[f+4>>2]=a;na(a)}ba=f+48|0;ba=h+16|0;if(H[g+11|0]>=0){break c}na(J[g>>2])}ba=g+16|0;a=(b|0)!=0;break a}gb();B()}return a|0}function ze(a,b){var c=0,d=0,e=0,f=0,g=0;e=ba-16|0;ba=e;J[a+8>>2]=b;J[a>>2]=0;c=a+12|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+60>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;c=a- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;g=a+140|0;a:{b:{if(b){if(b>>>0<1073741824){break b}qa();B()}J[a+116>>2]=0;J[a+120>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;c=1;break a}c=b<<2;d=oa(c);J[a+104>>2]=d;f=c+d|0;J[a+112>>2]=f;pa(d,0,c);J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+108>>2]=f;d=oa(c);J[a+116>>2]=d;f=c+d|0;J[a+124>>2]=f;pa(d,0,c);J[a+136>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=f;d=oa(c);J[a+128>>2]=d;f=c+d|0;J[a+136>>2]=f;pa(d,0,c);J[a+132>>2]=f;d=oa(c);J[e>>2]=d;f=c+d|0;J[e+8>>2]=f;pa(d,0,c);J[e+4>>2]=f;c=b<<5|1}Jb(g,c,e);d=J[e>>2];if(d){J[e+4>>2]=d;na(d)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;d=oa(b);J[e>>2]=d;f=b+d|0;J[e+8>>2]=f;pa(d,0,b);J[e+4>>2]=f}Jb(a+152|0,c,e);b=J[e>>2];if(b){J[e+4>>2]=b;na(b)}ba=e+16|0;return a}function lj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=ba-16|0;ba=f;da[J[J[b>>2]+64>>2]](a,b);if(!J[a>>2]){if(H[a+15|0]<0){na(J[a+4>>2])}g=J[b+48>>2];c=oa(32);J[f>>2]=c;J[f+4>>2]=29;J[f+8>>2]=-2147483616;d=K[1308]|K[1309]<<8|(K[1310]<<16|K[1311]<<24);e=K[1304]|K[1305]<<8|(K[1306]<<16|K[1307]<<24);H[c+21|0]=e;H[c+22|0]=e>>>8;H[c+23|0]=e>>>16;H[c+24|0]=e>>>24;H[c+25|0]=d;H[c+26|0]=d>>>8;H[c+27|0]=d>>>16;H[c+28|0]=d>>>24;d=K[1303]|K[1304]<<8|(K[1305]<<16|K[1306]<<24);e=K[1299]|K[1300]<<8|(K[1301]<<16|K[1302]<<24);H[c+16|0]=e;H[c+17|0]=e>>>8;H[c+18|0]=e>>>16;H[c+19|0]=e>>>24;H[c+20|0]=d;H[c+21|0]=d>>>8;H[c+22|0]=d>>>16;H[c+23|0]=d>>>24;d=K[1295]|K[1296]<<8|(K[1297]<<16|K[1298]<<24);e=K[1291]|K[1292]<<8|(K[1293]<<16|K[1294]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1287]|K[1288]<<8|(K[1289]<<16|K[1290]<<24);e=K[1283]|K[1284]<<8|(K[1285]<<16|K[1286]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+29|0]=0;c=Pb(g,f,0);if(H[f+11|0]<0){na(J[f>>2])}if(c){da[J[J[b>>2]+68>>2]](b)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}ba=f+16|0}function db(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{c:{d:{if(b){if(b>>>0>=1073741824){break d}d=oa(b<<2);c=J[a>>2];J[a>>2]=d;if(c){na(c)}J[a+4>>2]=b;c=0;if(b>>>0>=4){d=b&-4;while(1){g=c<<2;J[g+J[a>>2]>>2]=0;J[J[a>>2]+(g|4)>>2]=0;J[J[a>>2]+(g|8)>>2]=0;J[J[a>>2]+(g|12)>>2]=0;c=c+4|0;e=e+4|0;if((d|0)!=(e|0)){continue}break}}d=b&3;if(d){while(1){J[J[a>>2]+(c<<2)>>2]=0;c=c+1|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}}d=J[a+8>>2];if(!d){break a}c=a+8|0;f=J[d+4>>2];e=Kl(b);if(e>>>0<2){break c}f=b>>>0<=f>>>0?(f>>>0)%(b>>>0)|0:f;J[J[a>>2]+(f<<2)>>2]=c;c=J[d>>2];if(!c){break a}if(e>>>0<=1){break b}while(1){e=J[c+4>>2];if(e>>>0>=b>>>0){e=(e>>>0)%(b>>>0)|0}e:{if((f|0)==(e|0)){d=c;break e}h=e<<2;g=h+J[a>>2]|0;if(!J[g>>2]){J[g>>2]=d;d=c;f=e;break e}J[d>>2]=J[c>>2];J[c>>2]=J[J[h+J[a>>2]>>2]>>2];J[J[h+J[a>>2]>>2]>>2]=c}c=J[d>>2];if(c){continue}break}break a}b=J[a>>2];J[a>>2]=0;if(b){na(b)}J[a+4>>2]=0;break a}xa();B()}f=b-1&f;J[J[a>>2]+(f<<2)>>2]=c;c=J[d>>2];if(!c){break a}}g=b-1|0;while(1){b=g&J[c+4>>2];f:{if((b|0)==(f|0)){d=c;break f}h=b<<2;e=h+J[a>>2]|0;if(J[e>>2]){J[d>>2]=J[c>>2];J[c>>2]=J[J[h+J[a>>2]>>2]>>2];J[J[h+J[a>>2]>>2]>>2]=c;break f}J[e>>2]=d;d=c;f=b}c=J[d>>2];if(c){continue}break}}}function cb(a){var b=0,c=0,d=0,e=0,f=0;e=ba-16|0;ba=e;b=oa(16);J[e>>2]=b;J[e+4>>2]=14;J[e+8>>2]=-2147483632;c=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);d=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[b+6|0]=d;H[b+7|0]=d>>>8;H[b+8|0]=d>>>16;H[b+9|0]=d>>>24;H[b+10|0]=c;H[b+11|0]=c>>>8;H[b+12|0]=c>>>16;H[b+13|0]=c>>>24;c=K[1596]|K[1597]<<8|(K[1598]<<16|K[1599]<<24);d=K[1592]|K[1593]<<8|(K[1594]<<16|K[1595]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+14|0]=0;f=Bb(a,e,-1);if(H[e+11|0]<0){na(J[e>>2])}b=oa(16);J[e>>2]=b;J[e+4>>2]=14;J[e+8>>2]=-2147483632;c=K[1617]|K[1618]<<8|(K[1619]<<16|K[1620]<<24);d=K[1613]|K[1614]<<8|(K[1615]<<16|K[1616]<<24);H[b+6|0]=d;H[b+7|0]=d>>>8;H[b+8|0]=d>>>16;H[b+9|0]=d>>>24;H[b+10|0]=c;H[b+11|0]=c>>>8;H[b+12|0]=c>>>16;H[b+13|0]=c>>>24;c=K[1611]|K[1612]<<8|(K[1613]<<16|K[1614]<<24);d=K[1607]|K[1608]<<8|(K[1609]<<16|K[1610]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+14|0]=0;a=Bb(a,e,-1);if(H[e+11|0]<0){na(J[e>>2])}ba=e+16|0;a=(a|0)<(f|0)?f:a;return(a|0)==-1?5:a}function ei(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;ff(a,b,c);c=J[a+84>>2];d=J[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=J[a+92>>2];c=J[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;e=d&7;if(e){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}J[a+88>>2]=c;break b}d:{b=c;c=J[a+84>>2];i=b-c|0;g=i>>2;b=g+d|0;if(b>>>0<1073741824){e=e-c|0;h=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>>0?h:b;if(e){if(e>>>0>=1073741824){break d}j=oa(e<<2)}g=(g<<2)+j|0;b=g;h=d&7;if(h){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=g+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((f|0)!=(b|0)){continue}break}}b=ta(j,c,i);J[a+88>>2]=f;J[a+84>>2]=b;J[a+92>>2]=b+(e<<2);if(c){na(c)}break b}qa();B()}xa();B()}return}if(b>>>0>=d>>>0){break a}J[a+88>>2]=c+(b<<2)}}function ie(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{c=J[a+8>>2];e=J[a>>2];if(c-e>>3>>>0>=2){f=J[a+4>>2];h=f-e>>3;d=h>>>0>=2?2:h;b:{if(!d){break b}c=e;g=d;i=d&7;if(i){while(1){k=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=k;g=g-1|0;c=c+8|0;j=j+1|0;if((j|0)!=(i|0)){continue}break}}if(d>>>0<8){break b}while(1){d=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=d;d=J[b+4>>2];J[c+8>>2]=J[b>>2];J[c+12>>2]=d;d=J[b+4>>2];J[c+16>>2]=J[b>>2];J[c+20>>2]=d;d=J[b+4>>2];J[c+24>>2]=J[b>>2];J[c+28>>2]=d;d=J[b+4>>2];J[c+32>>2]=J[b>>2];J[c+36>>2]=d;d=J[b+4>>2];J[c+40>>2]=J[b>>2];J[c+44>>2]=d;d=J[b+4>>2];J[c+48>>2]=J[b>>2];J[c+52>>2]=d;d=J[b+4>>2];J[c+56>>2]=J[b>>2];J[c+60>>2]=d;c=c- -64|0;g=g-8|0;if(g){continue}break}}if(h>>>0<2){c=(2-h<<3)+f|0;while(1){e=J[b+4>>2];J[f>>2]=J[b>>2];J[f+4>>2]=e;f=f+8|0;if((c|0)!=(f|0)){continue}break}J[a+4>>2]=c;return}break a}if(e){J[a+4>>2]=e;na(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;c=0}e=c>>>2|0;e=c>>>0>=2147483640?536870911:e>>>0<=2?2:e;if(e>>>0<536870912){c=e<<3;e=oa(c);J[a>>2]=e;J[a+8>>2]=c+e;d=J[b>>2];g=J[b+4>>2];c=e;b=0;while(1){J[c>>2]=d;J[c+4>>2]=g;c=c+8|0;b=b+1|0;if((b|0)!=2){continue}break}break a}qa();B()}J[a+4>>2]=e+16}function we(a,b){var c=0,d=0,e=0,f=0,g=0;d=ba-16|0;ba=d;J[a+8>>2]=b;J[a>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+28>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+48>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+68>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+88>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;g=a+128|0;a:{b:{if(b){if(b>>>0<1073741824){break b}qa();B()}J[a+104>>2]=0;J[a+108>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;e=1;break a}e=b<<2;c=oa(e);J[a+92>>2]=c;f=c+e|0;J[a+100>>2]=f;pa(c,0,e);J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+96>>2]=f;c=oa(e);J[a+104>>2]=c;f=c+e|0;J[a+112>>2]=f;pa(c,0,e);J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+108>>2]=f;c=oa(e);J[a+116>>2]=c;f=c+e|0;J[a+124>>2]=f;pa(c,0,e);J[a+120>>2]=f;c=oa(e);J[d>>2]=c;f=c+e|0;J[d+8>>2]=f;pa(c,0,e);J[d+4>>2]=f;e=b<<5|1}Jb(g,e,d);c=J[d>>2];if(c){J[d+4>>2]=c;na(c)}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if(b){b=b<<2;c=oa(b);J[d>>2]=c;f=b+c|0;J[d+8>>2]=f;pa(c,0,b);J[d+4>>2]=f}Jb(a+140|0,e,d);b=J[d>>2];if(b){J[d+4>>2]=b;na(b)}ba=d+16|0;return a}function Ji(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;f=ba-16|0;ba=f;a:{b:{c:{if(!b){break c}e=rb(c);if(e>>>0>=2147483632){break b}d:{e:{if(e>>>0>=11){g=(e|15)+1|0;a=oa(g);J[f+8>>2]=g|-2147483648;J[f>>2]=a;J[f+4>>2]=e;g=a+e|0;break e}H[f+11|0]=e;g=e+f|0;a=f;if(!e){break d}}ua(a,c,e)}H[g|0]=0;g=ba-16|0;ba=g;J[g+12>>2]=d;e=ba-48|0;ba=e;d=ob(b,f);if((d|0)!=(b+4|0)){a=J[d+4>>2];f:{if(!a){a=d;while(1){c=J[a+8>>2];h=J[c>>2]!=(a|0);a=c;if(h){continue}break}break f}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((d|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;Dc(J[b+4>>2],d);a=J[d+28>>2];if(a){J[d+32>>2]=a;na(a)}if(H[d+27|0]<0){na(J[d+16>>2])}na(d)}a=oa(4);J[e>>2]=a;c=a+4|0;J[e+8>>2]=c;J[e+4>>2]=c;c=J[g+12>>2];H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;g:{if(H[f+11|0]>=0){J[e+24>>2]=J[f+8>>2];a=J[f+4>>2];J[e+16>>2]=J[f>>2];J[e+20>>2]=a;break g}Ga(e+16|0,J[f>>2],J[f+4>>2])}Ob(e+28|0,e);a=e+16|0;Cc(e+40|0,b,a,a);a=J[e+28>>2];if(a){J[e+32>>2]=a;na(a)}if(H[e+27|0]<0){na(J[e+16>>2])}a=J[e>>2];if(a){J[e+4>>2]=a;na(a)}ba=e+48|0;ba=g+16|0;if(H[f+11|0]>=0){break c}na(J[f>>2])}ba=f+16|0;a=(b|0)!=0;break a}gb();B()}return a|0}function wb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a>>2];if(d-e>>2>>>0>=b>>>0){f=J[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){J[d>>2]=J[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){J[f>>2]=J[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}J[a+4>>2]=b;return}J[a+4>>2]=e+(b<<2);return}if(e){J[a+4>>2]=e;na(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=oa(d);J[a>>2]=e;J[a+8>>2]=d+e;c=J[c>>2];d=e;g=b&7;if(g){while(1){J[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d+28>>2]=c;J[d+24>>2]=c;J[d+20>>2]=c;J[d+16>>2]=c;J[d+12>>2]=c;J[d+8>>2]=c;J[d+4>>2]=c;J[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}qa();B()}function Ma(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){J[d>>2]=J[c>>2];d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];f=e-i>>2;h=f+b|0;if(h>>>0<1073741824){j=d-i|0;d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break b}k=oa(h<<2)}f=(f<<2)+k|0;d=f;j=b&7;if(j){while(1){J[d>>2]=J[c>>2];d=d+4|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}g=(b<<2)+f|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((g|0)!=(d|0)){continue}break}}if((e|0)!=(i|0)){while(1){f=f-4|0;e=e-4|0;J[f>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[a+8>>2]=(h<<2)+k;J[a+4>>2]=g;J[a>>2]=f;if(i){na(i)}return}qa();B()}xa();B()}function kg(a){var 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;a:{b=J[a+12>>2];c=J[b+4>>2];b=J[b>>2];if((c|0)!=(b|0)){b=c-b>>2;j=b>>>0<=1?1:b;k=a+140|0;while(1){b:{if(Fc(J[a+12>>2],(e>>>0)/3|0)){break b}b=J[a+12>>2];if(J[J[b+12>>2]+(e<<2)>>2]!=-1){break b}f=J[a+152>>2];d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;if((d|0)!=-1){b=J[J[b>>2]+(d<<2)>>2]}else{b=-1}c=b<<2;if(J[f+c>>2]!=-1){break b}g=-1;h=J[a+144>>2];b=h;d=J[a+148>>2];if((b|0)==d<<5){if((h+1|0)<0){break a}if(h>>>0<=1073741822){b=d<<6;d=(h&-32)+32|0;b=b>>>0>d>>>0?b:d}else{b=2147483647}wc(k,b);f=J[a+152>>2];g=J[c+f>>2];b=J[a+144>>2]}J[a+144>>2]=b+1;d=J[a+140>>2]+(b>>>3&536870908)|0;i=J[d>>2];m=d,n=Ll(b)&i,J[m>>2]=n;if((g|0)!=-1){break b}c=c+f|0;i=J[a+12>>2];b=e;while(1){d=b;J[c>>2]=h;b=-1;g=-1;c:{if((d|0)==-1){break c}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break c}l=J[i+12>>2];while(1){d=J[(c<<2)+l>>2];if((d|0)!=-1){c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)!=-1){continue}break c}break}b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){g=J[J[i>>2]+(b<<2)>>2]}b=c}c=(g<<2)+f|0;if(J[c>>2]==-1){continue}break}}e=e+1|0;if((j|0)!=(e|0)){continue}break}}return 1}qa();B()}function mb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=(c>>>0)/3|0;j=J[(J[J[a+8>>2]+96>>2]+P(f,12)|0)+(c-P(f,3)<<2)>>2];a:{h=J[J[a+12>>2]+4>>2];e=J[h+4>>2];if((e|0)!=J[h+8>>2]){J[e>>2]=j;J[h+4>>2]=e+4;break a}b:{i=J[h>>2];f=e-i|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){k=g<<2;g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break b}f=oa(g<<2)}else{f=0}d=k+f|0;J[d>>2]=j;j=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=j;J[h>>2]=d;if(i){na(i)}break a}qa();B()}xa();B()}c:{d:{h=J[a+4>>2];e=J[h+4>>2];e:{if((e|0)!=J[h+8>>2]){J[e>>2]=c;J[h+4>>2]=e+4;break e}i=J[h>>2];f=e-i|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break d}g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break c}f=oa(g<<2)}else{f=0}d=f+(j<<2)|0;J[d>>2]=c;c=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=c;J[h>>2]=d;if(!i){break e}na(i)}a=J[a+4>>2];J[J[a+12>>2]+(b<<2)>>2]=J[a+24>>2];J[a+24>>2]=J[a+24>>2]+1;return}qa();B()}xa();B()}function $g(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=ba-16|0;ba=i;J[a+4>>2]=0;J[a+8>>2]=0;d=a+16|0;J[d>>2]=0;J[d+4>>2]=0;J[a>>2]=a+4;g=a+28|0;J[g>>2]=0;J[g+4>>2]=0;J[a+12>>2]=d;J[a+24>>2]=g;if((b+4|0)!=(a|0)){ic(a,J[b+4>>2],b+8|0)}d=a+24|0;if((d|0)!=(b+28|0)){ic(d,J[b+28>>2],b+32|0)}J[i+12>>2]=0;h=J[c+12>>2];f=J[c+8>>2];a:{if((h-f|0)<=0){break a}g=b+20|0;if(!J[g>>2]){break a}while(1){b=J[g>>2];b:{if(!b){break b}j=J[J[(e<<2)+f>>2]+56>>2];d=g;while(1){k=(j|0)>J[b+16>>2];d=k?d:b;b=J[(k?b+4|0:b)>>2];if(b){continue}break}if((d|0)==(g|0)|(j|0)>2]){break b}h=d+20|0;e=ba-48|0;ba=e;j=J[i+12>>2];d=a+16|0;f=J[d>>2];c:{d:{if(!f){break d}b=d;while(1){k=(j|0)>J[f+16>>2];b=k?b:f;f=J[(k?f+4|0:f)>>2];if(f){continue}break}if((b|0)==(d|0)){break d}if((j|0)>=J[b+16>>2]){break c}}J[e+28>>2]=0;J[e+32>>2]=0;f=e+24|0;J[e+24>>2]=f|4;b=e+16|0;J[b>>2]=0;J[b+4>>2]=0;J[e+8>>2]=j;J[e+12>>2]=b;d=e+8|0;Oc(e+40|0,a+12|0,d,d);b=J[e+40>>2];Da(d|4,J[e+16>>2]);Da(f,J[e+28>>2])}b=b+20|0;if((b|0)!=(h|0)){ic(b,J[h>>2],h+4|0)}ba=e+48|0;f=J[c+8>>2];h=J[c+12>>2];e=J[i+12>>2]}e=e+1|0;J[i+12>>2]=e;if(h-f>>2>(e|0)){continue}break}}ba=i+16|0}function Yg(a,b,c){var d=0,e=0,f=0,g=0;f=ba-16|0;ba=f;d=oa(16);J[f>>2]=d;J[f+4>>2]=14;J[f+8>>2]=-2147483632;g=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);e=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[d+6|0]=e;H[d+7|0]=e>>>8;H[d+8|0]=e>>>16;H[d+9|0]=e>>>24;H[d+10|0]=g;H[d+11|0]=g>>>8;H[d+12|0]=g>>>16;H[d+13|0]=g>>>24;g=K[1596]|K[1597]<<8|(K[1598]<<16|K[1599]<<24);e=K[1592]|K[1593]<<8|(K[1594]<<16|K[1595]<<24);H[d|0]=e;H[d+1|0]=e>>>8;H[d+2|0]=e>>>16;H[d+3|0]=e>>>24;H[d+4|0]=g;H[d+5|0]=g>>>8;H[d+6|0]=g>>>16;H[d+7|0]=g>>>24;H[d+14|0]=0;d=a+4|0;vb(d,f,b);if(H[f+11|0]<0){na(J[f>>2])}a=oa(16);J[f>>2]=a;J[f+4>>2]=14;J[f+8>>2]=-2147483632;e=K[1617]|K[1618]<<8|(K[1619]<<16|K[1620]<<24);b=K[1613]|K[1614]<<8|(K[1615]<<16|K[1616]<<24);H[a+6|0]=b;H[a+7|0]=b>>>8;H[a+8|0]=b>>>16;H[a+9|0]=b>>>24;H[a+10|0]=e;H[a+11|0]=e>>>8;H[a+12|0]=e>>>16;H[a+13|0]=e>>>24;e=K[1611]|K[1612]<<8|(K[1613]<<16|K[1614]<<24);b=K[1607]|K[1608]<<8|(K[1609]<<16|K[1610]<<24);H[a|0]=b;H[a+1|0]=b>>>8;H[a+2|0]=b>>>16;H[a+3|0]=b>>>24;H[a+4|0]=e;H[a+5|0]=e>>>8;H[a+6|0]=e>>>16;H[a+7|0]=e>>>24;H[a+14|0]=0;vb(d,f,c);if(H[f+11|0]<0){na(J[f>>2])}ba=f+16|0}function sa(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=d-c|0;if((h|0)<=0){return}a:{e=J[a+8>>2];i=J[a+4>>2];if((e-i|0)>=(h|0)){j=i-b|0;if((j|0)>=(h|0)){f=i;g=d;break a}f=i;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){H[f|0]=K[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=f;if((j|0)>0){break a}return}k=J[a>>2];g=(i-k|0)+h|0;if((g|0)>=0){j=b-k|0;f=e-k|0;e=f<<1;f=f>>>0>=1073741823?2147483647:e>>>0>g>>>0?e:g;if(f){e=oa(f)}else{e=0}g=j+e|0;if((c|0)!=(d|0)){g=ua(g,c,h)+h|0}d=ta(e,k,j);c=i-b|0;b=ta(g,b,c);J[a+8>>2]=e+f;J[a+4>>2]=b+c;J[a>>2]=d;if(k){na(k)}return}qa();B()}e=f;d=e-h|0;if(i>>>0>d>>>0){while(1){H[e|0]=K[d|0];e=e+1|0;d=d+1|0;if(i>>>0>d>>>0){continue}break}}J[a+4>>2]=e;a=b+h|0;if((a|0)!=(f|0)){a=f-a|0;ta(f-a|0,b,a)}if((c|0)==(g|0)){return}f=(c^-1)+g|0;a=g-c&7;b:{if(!a){e=b;break b}d=0;e=b;while(1){H[e|0]=K[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((a|0)!=(d|0)){continue}break}}if(f>>>0<7){return}while(1){H[e|0]=K[c|0];H[e+1|0]=K[c+1|0];H[e+2|0]=K[c+2|0];H[e+3|0]=K[c+3|0];H[e+4|0]=K[c+4|0];H[e+5|0]=K[c+5|0];H[e+6|0]=K[c+6|0];H[e+7|0]=K[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function La(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=J[a+112>>2];e=J[a+116>>2];h=(b|e)!=0;c=b;d=J[a+4>>2];g=J[a+44>>2];b=d-g|0;i=b;f=b+J[a+120>>2]|0;b=J[a+124>>2]+(b>>31)|0;a:{b=f>>>0>>0?b+1|0:b;if(!((c>>>0<=f>>>0&(b|0)>=(e|0)|(b|0)>(e|0))&h)){e=ba-16|0;ba=e;d=-1;c=J[a+72>>2];J[a+72>>2]=c-1|c;if(J[a+20>>2]!=J[a+28>>2]){da[J[a+36>>2]](a,0,0)|0}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;c=J[a>>2];b:{if(c&4){J[a>>2]=c|32;c=-1;break b}g=J[a+44>>2]+J[a+48>>2]|0;J[a+8>>2]=g;J[a+4>>2]=g;c=c<<27>>31}c:{if(c){break c}if((da[J[a+32>>2]](a,e+15|0,1)|0)!=1){break c}d=K[e+15|0]}ba=e+16|0;e=d;if((d|0)>=0){break a}g=J[a+44>>2];d=J[a+4>>2]}J[a+112>>2]=-1;J[a+116>>2]=-1;J[a+104>>2]=d;e=g-d|0;d=e+f|0;b=(e>>31)+b|0;J[a+120>>2]=d;J[a+124>>2]=d>>>0>>0?b+1|0:b;return-1}d=f+1|0;b=d?b:b+1|0;h=J[a+4>>2];g=J[a+8>>2];c=J[a+116>>2];i=c;f=J[a+112>>2];d:{if(!(c|f)){break d}c=f-d|0;f=i-(b+(d>>>0>f>>>0)|0)|0;j=g-h|0;i=j>>31;if((f|0)>=(i|0)&c>>>0>=j>>>0|(f|0)>(i|0)){break d}g=c+h|0}J[a+104>>2]=g;f=J[a+44>>2];c=f-h|0;d=c+d|0;b=(c>>31)+b|0;J[a+120>>2]=d;J[a+124>>2]=d>>>0>>0?b+1|0:b;if(f>>>0>=h>>>0){H[h-1|0]=e}return e}function yc(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{b:{f=a+16|0;d=J[f>>2];if(!d){break b}g=J[b>>2];b=f;while(1){e=(g|0)>J[d+16>>2];b=e?b:d;d=J[(e?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(f|0)|(g|0)>2]){break b}d=J[b+24>>2];if(!d){break a}a=K[c+11|0];b=a<<24>>24<0;f=b?J[c>>2]:c;a=b?J[c+4>>2]:a;while(1){b=K[d+27|0];c=b<<24>>24<0;b=c?J[d+20>>2]:b;g=b>>>0>>0;c:{d:{e:{f:{g:{h:{e=g?b:a;if(e){c=c?J[d+16>>2]:d+16|0;h=Ba(f,c,e);if(h){break h}if(a>>>0>=b>>>0){break g}break c}if(a>>>0>=b>>>0){break f}break c}if((h|0)<0){break c}}b=Ba(c,f,e);if(b){break e}}if(g){break d}return 1}if((b|0)<0){break d}return 1}d=d+4|0}d=J[d>>2];if(d){continue}break}break a}d=J[a+4>>2];if(!d){break a}a=K[c+11|0];b=a<<24>>24<0;f=b?J[c>>2]:c;a=b?J[c+4>>2]:a;while(1){b=K[d+27|0];c=b<<24>>24<0;b=c?J[d+20>>2]:b;g=b>>>0>>0;i:{j:{k:{l:{m:{n:{e=g?b:a;if(e){c=c?J[d+16>>2]:d+16|0;h=Ba(f,c,e);if(h){break n}if(a>>>0>=b>>>0){break m}break i}if(a>>>0>=b>>>0){break l}break i}if((h|0)<0){break i}}b=Ba(c,f,e);if(b){break k}}if(g){break j}return 1}if((b|0)<0){break j}return 1}d=d+4|0}d=J[d>>2];if(d){continue}break}}return 0}function ua(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){aa(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=J[b+36>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=J[b+44>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=J[b+52>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=J[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){J[c>>2]=J[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){H[c|0]=K[b|0];H[c+1|0]=K[b+1|0];H[c+2|0]=K[b+2|0];H[c+3|0]=K[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function Zf(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=10532;c=J[a+280>>2];J[a+280>>2]=0;if(c){d=c-4|0;b=J[d>>2];if(b){b=c+(b<<5)|0;while(1){b=wa(b-32|0);if((c|0)!=(b|0)){continue}break}}na(d)}b=J[a+268>>2];if(b){J[a+272>>2]=b;na(b)}b=J[a+244>>2];J[a+244>>2]=0;if(b){na(b)}b=J[a+232>>2];if(b){J[a+236>>2]=b;na(b)}wa(a+200|0);b=J[a+184>>2];if(b){J[a+188>>2]=b;na(b)}c=J[a+172>>2];if(c){d=c;b=J[a+176>>2];if((c|0)!=(b|0)){while(1){d=b-136|0;e=J[d+116>>2];if(e){J[b-16>>2]=e;na(e)}e=J[b-32>>2];if(e){J[b-28>>2]=e;na(e)}pc(b-132|0);b=d;if((c|0)!=(b|0)){continue}break}d=J[a+172>>2]}J[a+176>>2]=c;na(d)}b=J[a+152>>2];if(b){J[a+156>>2]=b;na(b)}b=J[a+140>>2];if(b){na(b)}b=J[a+128>>2];if(b){while(1){c=J[b>>2];na(b);b=c;if(b){continue}break}}b=J[a+120>>2];J[a+120>>2]=0;if(b){na(b)}b=J[a+108>>2];if(b){J[a+112>>2]=b;na(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+84>>2];if(b){na(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;na(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;na(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;na(b)}b=J[a+28>>2];if(b){na(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}b=J[a+12>>2];J[a+12>>2]=0;if(b){qc(b)}return a|0}function Hc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=-1;a:{if((b|0)==-1){h=J[a+12>>2];d=1;g=-1;break a}h=J[a+12>>2];b:{c:{if((b>>>0)%3|0){e=b-1|0;break c}e=b+2|0;if((e|0)!=-1){break c}d=1;break b}g=J[h+12>>2];while(1){f=e;d=J[g+(e<<2)>>2];if((d|0)!=-1){f=-1;e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)!=-1){continue}}break}d=(d|0)!=-1;g=-1;if((b|0)==-1){break a}}g=J[J[h>>2]+(b<<2)>>2]}b=0;if(c){b=J[a+84>>2]+(g>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2]+(g<<2)>>2];e=J[a+140>>2]+(c>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<>>0)%3|0){e=f-1|0;break e}e=f+2|0;c=-1;if((e|0)==-1){break d}}c=J[J[h>>2]+(e<<2)>>2]}if((g|0)!=(c|0)){i=J[a+84>>2];while(1){a=f;f=(c>>>3&536870908)+i|0;J[f>>2]=J[f>>2]|1<>>0)%3|0?d:a-2|0;if((d|0)==-1){break f}e=J[h+12>>2];while(1){a=J[e+(d<<2)>>2];if((a|0)!=-1){d=a+1|0;d=(d>>>0)%3|0?d:a-2|0;if((d|0)!=-1){continue}break f}break}g:{if((d>>>0)%3|0){e=d-1|0;break g}e=d+2|0;if((e|0)!=-1){break g}f=-3;break f}c=J[J[h>>2]+(e<<2)>>2];f=d}b=b+1|0;if((c|0)!=(g|0)){continue}break}}}function Qb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;a:{b:{g=J[a+124>>2];c:{if(!g){break c}e=J[a+120>>2];i=Kl(g);h=g-1&d;d:{if(i>>>0<=1){break d}h=d;if(d>>>0>>0){break d}h=(d>>>0)%(g>>>0)|0}e=J[e+(h<<2)>>2];if(!e){break c}f=J[e>>2];if(!f){break c}e:{if(i>>>0<=1){e=g-1|0;while(1){g=J[f+4>>2];f:{if((g|0)!=(d|0)){if((h|0)==(e&g)){break f}break c}if(J[f+8>>2]==(d|0)){break e}}f=J[f>>2];if(f){continue}break}break c}while(1){e=J[f+4>>2];g:{if((e|0)!=(d|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((e|0)==(h|0)){break g}break c}if(J[f+8>>2]==(d|0)){break e}}f=J[f>>2];if(f){continue}break}break c}f=J[f+12>>2];if((f|0)==-1){break c}g=c&1;c=J[a+112>>2];if((c|0)!=J[a+116>>2]){H[c+8|0]=g;J[c+4>>2]=b;J[c>>2]=f;J[a+112>>2]=c+12;return}d=J[a+108>>2];i=c-d|0;c=(i|0)/12|0;e=c+1|0;if(e>>>0>=357913942){break b}h=c<<1;e=c>>>0>=178956970?357913941:e>>>0>>0?h:e;if(e){if(e>>>0>=357913942){break a}h=oa(P(e,12))}else{h=0}c=h+P(c,12)|0;H[c+8|0]=g;J[c+4>>2]=b;J[c>>2]=f;b=ta(c+P((i|0)/-12|0,12)|0,d,i);J[a+116>>2]=h+P(e,12);J[a+112>>2]=c+12;J[a+108>>2]=b;if(!d){break c}na(d)}return}qa();B()}xa();B()}function jc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;f=b&7;if(f){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];j=e-i|0;f=j>>2;g=f+b|0;if(g>>>0<1073741824){d=d-i|0;e=d>>>1|0;g=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break b}k=oa(g<<2)}f=(f<<2)+k|0;d=f;e=b&7;if(e){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}e=f+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}b=ta(k,i,j);J[a+4>>2]=e;J[a>>2]=b;J[a+8>>2]=b+(g<<2);if(i){na(i)}return}qa();B()}xa();B()}function cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=J[c>>2];m=J[c+4>>2];a:{if((f|0)==(m|0)){h=J[a+12>>2];b=J[a+8>>2];i=h-b|0;c=0;break a}o=J[b>>2];h=J[a+12>>2];b=J[a+8>>2];i=h-b|0;if((i|0)<=0){c=0;while(1){e=J[(J[f>>2]<<2)+o>>2];c=c>>>0>e>>>0?c:e+1|0;f=f+4|0;if((m|0)!=(f|0)){continue}break}break a}c=i>>>2|0;c=c>>>0<=1?1:c;q=c&1073741822;r=c&1;c=0;s=i>>>0<8;while(1){e=J[f>>2];k=e<<2;l=J[o+k>>2];if(l>>>0>=c>>>0){c=0;j=0;if(!s){while(1){p=c<<2;d=J[p+b>>2];g=J[d+68>>2];d=K[d+84|0]?e:J[g+k>>2];n=g;g=l<<2;J[n+g>>2]=d;n=g;d=J[(p|4)+b>>2];g=J[d+68>>2];J[n+g>>2]=K[d+84|0]?e:J[g+k>>2];c=c+2|0;j=j+2|0;if((q|0)!=(j|0)){continue}break}}if(r){c=J[(c<<2)+b>>2];d=J[c+68>>2];j=d+(l<<2)|0;if(!K[c+84|0]){e=J[d+k>>2]}J[j>>2]=e}c=l+1|0}f=f+4|0;if((m|0)!=(f|0)){continue}break}}d=0;if((i|0)>0){while(1){b=J[(d<<2)+b>>2];H[b+84|0]=0;f=J[b+68>>2];e=J[b+72>>2]-f>>2;b:{if(e>>>0>>0){Ma(b+68|0,c-e|0,15024);h=J[a+12>>2];break b}if(c>>>0>=e>>>0){break b}J[b+72>>2]=f+(c<<2)}d=d+1|0;b=J[a+8>>2];if((d|0)>2){continue}break}}}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;J[a+4>>2]=b;d=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=d;a:{if((da[J[J[a>>2]+32>>2]](a)|0)==1&J[J[a+8>>2]+28>>2]-1>>>0>5){break a}f=J[b+48>>2];d=ba-16|0;ba=d;J[d+12>>2]=c;b=oa(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1529];c=K[1525]|K[1526]<<8|(K[1527]<<16|K[1528]<<24);e=K[1521]|K[1522]<<8|(K[1523]<<16|K[1524]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1517]|K[1518]<<8|(K[1519]<<16|K[1520]<<24);e=K[1513]|K[1514]<<8|(K[1515]<<16|K[1516]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;b=jb(f,d+12|0,d,-1);if(H[d+11|0]<0){na(J[d>>2])}ba=d+16|0;c=da[J[J[a>>2]+48>>2]](a,(b|0)==-1?-1:b>>>0>6?-2:b)|0;b=J[a+36>>2];J[a+36>>2]=c;e=1;if(b){da[J[J[b>>2]+4>>2]](b);c=J[a+36>>2]}if(!c){break a}if(da[J[J[a>>2]+36>>2]](a,c)|0){break a}b=J[a+36>>2];J[a+36>>2]=0;if(!b){break a}da[J[J[b>>2]+4>>2]](b)}return e|0}function md(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(K[a+11|0]>>>7|0){e=J[a+4>>2]}else{e=K[a+11|0]&127}if(e>>>0>>0){h=ba-16|0;ba=h;g=b-e|0;if(g){f=K[a+11|0]>>>7|0?(J[a+8>>2]&2147483647)-1|0:10;if(K[a+11|0]>>>7|0){b=J[a+4>>2]}else{b=K[a+11|0]&127}i=b+g|0;if(f-b>>>0>>0){b:{d=ba-16|0;ba=d;c=i-f|0;if(c>>>0<=2147483631-f>>>0){if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}if(f>>>0<1073741799){J[d+12>>2]=f<<1;J[d>>2]=c+f;c=ba-16|0;ba=c;ba=c+16|0;c=d+12|0;c=J[(M[d>>2]>2]?c:d)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}Ac(d,c);c=J[d>>2];if(b){Ab(c,e,b)}if((f|0)!=10){na(e)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[d+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;ba=d+16|0;break b}gb();B()}}if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}b=e+b|0;d=ba-16|0;ba=d;H[d+15|0]=0;while(1){if(g){H[b|0]=K[d+15|0];g=g-1|0;b=b+1|0;continue}break}ba=d+16|0;ld(a,i);H[h+15|0]=0;H[e+i|0]=K[h+15|0]}ba=h+16|0;break a}if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}d=ba-16|0;ba=d;ld(a,b);H[d+15|0]=0;H[b+e|0]=K[d+15|0];ba=d+16|0}}function kf(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=ba-16|0;ba=f;a:{d=rd(a);b:{if(!d){a=0;break b}e=J[a+100>>2];g=J[a+96>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=e-g|0;c=(b|0)/12|0;c:{if((e|0)==(g|0)){break c}if(c>>>0>=357913942){break a}e=oa(b);J[f>>2]=e;J[f+8>>2]=e+P(c,12);a=0;h=e;e=b-12|0;b=(e-((e>>>0)%12|0)|0)+12|0;e=pa(h,0,b);J[f+4>>2]=b+e;if(K[d+84|0]){d=c>>>0<=1?1:c;i=d&1;if(c>>>0>=2){j=d&-2;c=0;while(1){b=P(a,12);d=b+g|0;h=J[d>>2];k=J[d+4>>2];b=b+e|0;J[b+8>>2]=J[d+8>>2];J[b>>2]=h;J[b+4>>2]=k;b=P(a|1,12);d=b+g|0;h=J[d>>2];k=J[d+4>>2];b=b+e|0;J[b+8>>2]=J[d+8>>2];J[b>>2]=h;J[b+4>>2]=k;a=a+2|0;c=c+2|0;if((j|0)!=(c|0)){continue}break}}if(!i){break c}c=P(a,12);a=c+g|0;g=J[a+4>>2];d=J[a>>2];c=c+e|0;J[c+8>>2]=J[a+8>>2];J[c>>2]=d;J[c+4>>2]=g;break c}i=c>>>0<=1?1:c;a=J[d+68>>2];c=0;while(1){b=P(c,12);d=b+g|0;j=J[a+(J[d>>2]<<2)>>2];h=J[a+(J[d+4>>2]<<2)>>2];b=b+e|0;J[b+8>>2]=J[a+(J[d+8>>2]<<2)>>2];J[b+4>>2]=h;J[b>>2]=j;c=c+1|0;if((i|0)!=(c|0)){continue}break}}a=mf(f);c=J[f>>2];if(!c){break b}J[f+4>>2]=c;na(c)}ba=f+16|0;return a}qa();B()}function Kd(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;a:{if(J[a+64>>2]){break a}c=oa(32);J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;d=J[a+64>>2];J[a+64>>2]=c;if(!d){break a}c=J[d>>2];if(c){J[d+4>>2]=c;na(c)}na(d)}d=J[a+64>>2];c=J[a+28>>2]-1|0;if(c>>>0<=10){i=J[(c<<2)+14832>>2]}else{i=-1}c=P(i,K[a+24|0]);i=c;k=c>>31;c=Hl(c,k,b,0);b:{if((ca|0)<0){break b}c:{f=J[d+4>>2];e=J[d>>2];g=f-e|0;d:{if(c>>>0>g>>>0){j=c-g|0;h=J[d+8>>2];if(j>>>0<=h-f>>>0){l=d,m=pa(f,0,j)+j|0,J[l+4>>2]=m;break d}if((c|0)<0){break c}f=h-e|0;h=f<<1;f=f>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=oa(f);pa(h+g|0,0,j);g=ta(h,e,g);J[d+8>>2]=g+f;J[d+4>>2]=c+g;J[d>>2]=g;if(!e){break d}na(e);break d}if(c>>>0>=g>>>0){break d}J[d+4>>2]=c+e}c=J[d+28>>2];e=J[d+24>>2]+1|0;c=e?c:c+1|0;J[d+24>>2]=e;J[d+28>>2]=c;e=1;break b}qa();B()}if(e){c=J[a+64>>2];J[a>>2]=c;d=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=d;d=J[c+24>>2];c=J[c+28>>2];J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=i;J[a+44>>2]=k;J[a+16>>2]=d;J[a+20>>2]=c;J[a+80>>2]=b}}function _g(a,b,c){var d=0,e=Q(0),f=0,g=Q(0),h=0,i=0,j=Q(0),k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!(J[a+4>>2]!=-1|c-1>>>0>29)){J[a+4>>2]=c;h=K[b+24|0];c=0;J[a+20>>2]=0;if(h){d=h<<2;c=oa(d);f=pa(c,0,d)+d|0}d=J[a+8>>2];if(d){J[a+12>>2]=d;na(d)}J[a+8>>2]=c;J[a+16>>2]=f;J[a+12>>2]=f;d=h<<2;k=oa(d);o=oa(d);d=J[b+40>>2];s=J[b+44>>2];p=d;l=J[b+48>>2];m=J[b>>2];ua(c,l+J[m>>2]|0,d);n=ua(k,l+J[m>>2]|0,d);b=J[b+80>>2];a:{if(!(!h|b>>>0<2)){k=b;d=1;c=0;while(1){b=J[m>>2];f=Hl(d,c,p,s)+l|0;t=ua(o,b+f|0,p);u=J[a+8>>2];f=0;b=0;while(1){i=b<<2;q=t+i|0;e=N[q>>2];if(e!=e){break a}r=i+u|0;if(N[r>>2]>e){N[r>>2]=e;e=N[q>>2]}i=i+n|0;if(N[i>>2]>2]=e}b=b+1|0;if((h|0)!=(b|0)){continue}break}d=d+1|0;c=d?c:c+1|0;if((d|0)!=(k|0)|c){continue}break}}e=N[a+20>>2];if(h){c=J[a+8>>2];f=0;b=0;while(1){d=b<<2;g=N[d+c>>2];if(g!=g|Q(R(g))==Q(Infinity)){break a}j=N[d+n>>2];if(j!=j|Q(R(j))==Q(Infinity)){break a}g=Q(j-g);if(g>e){N[a+20>>2]=g;e=g}b=b+1|0;if((h|0)!=(b|0)){continue}break}}f=1;if(e!=Q(0)){break a}J[a+20>>2]=1065353216}na(o);na(n)}return f}function va(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;A(+a);d=v(1)|0;b=v(0)|0;c=d>>>16|0;f=d-1072604335|0;if((f|0)==135337|f>>>0<135337){if(!b&(d|0)==1072693248){return 0}g=O[1879];a=a+-1;A(+a);b=v(1)|0;v(0)|0;x(0,0);x(1,b|0);h=+z();i=g*h;e=a*a;j=e*(a*O[1888]+O[1887]);k=i+j;l=e*e;return k+(l*(l*(e*(a*O[1896]+O[1895])+(a*O[1894]+O[1893]))+(e*(a*O[1892]+O[1891])+(a*O[1890]+O[1889])))+((a-h)*g+a*O[1880]+(j+(i-k))))}a:{if(c-32752>>>0<=4294934559){if(!(d&2147483647|b)){b=ba-16|0;O[b+8>>3]=-1;return O[b+8>>3]/0}if(!b&(d|0)==2146435072){break a}if(!(!(c&32768)&(c&32752)!=32752)){a=a-a;return a/a}A(+(a*4503599627370496));d=v(1)|0;b=v(0)|0;d=d-54525952|0}c=d-1072037888|0;f=c;c=(c>>>14&63)<<4;g=O[c+15184>>3]+ +(f>>20);h=O[1879];a=O[c+15176>>3];x(0,b-0|0);x(1,d-((f&-1048576)+(b>>>0>>0)|0)|0);a=a*(+z()-O[c+16200>>3]-O[c+16208>>3]);A(+a);b=v(1)|0;v(0)|0;x(0,0);x(1,b|0);i=+z();j=h*i;k=g+j;e=a*a;a=k+(e*(e*e*(a*O[1886]+O[1885])+(e*(a*O[1884]+O[1883])+(a*O[1882]+O[1881])))+((a-i)*h+O[1880]*a+(j+(g-k))))}return a}function Ib(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=32-b|0;c=c<>2];f=32-d|0;c:{if((f|0)>=(b|0)){b=b+d|0;J[a+16>>2]=b;f=J[a+12>>2]|c>>>d;J[a+12>>2]=f;if((b|0)!=32){break c}b=J[a+4>>2];d:{if((b|0)!=J[a+8>>2]){J[b>>2]=f;J[a+4>>2]=b+4;break d}c=b;b=J[a>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break a}e=oa(d<<2)}else{e=0}g=e+(g<<2)|0;J[g>>2]=f;c=ta(e,b,c);J[a+8>>2]=c+(d<<2);J[a+4>>2]=g+4;J[a>>2]=c;if(!b){break d}na(b)}J[a+12>>2]=0;J[a+16>>2]=0;return}b=b-f|0;J[a+16>>2]=b;g=c>>>e|0;f=J[a+12>>2]|g>>>b;J[a+12>>2]=f;b=J[a+4>>2];e:{if((b|0)!=J[a+8>>2]){J[b>>2]=f;J[a+4>>2]=b+4;break e}c=b;b=J[a>>2];c=c-b|0;h=c>>2;d=h+1|0;if(d>>>0>=1073741824){break b}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break a}e=oa(d<<2)}else{e=0}h=e+(h<<2)|0;J[h>>2]=f;c=ta(e,b,c);J[a+8>>2]=c+(d<<2);J[a+4>>2]=h+4;J[a>>2]=c;if(!b){break e}na(b)}J[a+12>>2]=g<<32-J[a+16>>2]}return}qa();B()}xa();B()}function sb(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);H[b+12|0]=c;a:{if(c){break a}while(1){d=J[b+8>>2];if(K[d+12|0]){break a}b:{c=J[d+8>>2];e=J[c>>2];if((e|0)==(d|0)){e=J[c+4>>2];if(!(!e|K[e+12|0])){break b}c:{if(J[d>>2]==(b|0)){b=d;break c}b=J[d+4>>2];a=J[b>>2];J[d+4>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b>>2]=d;J[d+8>>2]=b;c=J[b+8>>2];d=J[c>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;return}if(!(K[e+12|0]|!e)){break b}d:{if(J[d>>2]!=(b|0)){b=d;break d}a=J[b+4>>2];J[d>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b+4>>2]=d;J[d+8>>2]=b;c=J[b+8>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[c+4>>2];b=J[a>>2];J[c+4>>2]=b;if(b){J[b+8>>2]=c}J[a+8>>2]=J[c+8>>2];b=J[c+8>>2];J[((J[b>>2]!=(c|0))<<2)+b>>2]=a;J[a>>2]=c;J[c+8>>2]=a;break a}H[d+12|0]=1;H[c+12|0]=(a|0)==(c|0);H[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function Jl(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!c){break k}if(!d){break j}e=S(d)-S(b)|0;if(e>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}ca=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}if(!d|d-1&d){break g}a=b>>>Gl(d)|0;ca=0;break a}if(!(c-1&c)){break f}h=(S(c)+33|0)-S(b)|0;g=0-h|0;break d}h=e+1|0;g=63-e|0;break d}ca=0;a=(b>>>0)/(d>>>0)|0;break a}e=S(d)-S(b)|0;if(e>>>0<31){break e}break c}if((c|0)==1){break b}d=Gl(c);c=d&31;if((d&63)>>>0>=32){a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}ca=e;break a}h=e+1|0;g=63-e|0}e=h&63;f=e&31;if(e>>>0>=32){e=0;i=b>>>f|0}else{e=b>>>f|0;i=((1<>>f}g=g&63;f=g&31;if(g>>>0>=32){b=a<>>32-f|b<>>31;e=i<<1|b>>>31;f=m-(j+(e>>>0>g>>>0)|0)>>31;k=c&f;i=e-k|0;e=j-((d&f)+(e>>>0>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=f&1;h=h-1|0;if(h){continue}break}}ca=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}ca=b}return a}function Lg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=ba-16|0;ba=j;J[j+8>>2]=0;J[j>>2]=0;J[j+4>>2]=0;a:{b:{e=c+1|0;if(e){if(e>>>0>=1073741824){break b}h=oa(e<<2);pa(h,0,(c<<2)+4|0)}c:{if((b|0)<=0){break c}e=0;if(b>>>0>=4){k=b&-4;while(1){f=e<<2;i=(J[f+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;i=(J[(f|4)+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;i=(J[(f|8)+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;f=(J[(f|12)+a>>2]<<2)+h|0;J[f>>2]=J[f>>2]+1;e=e+4|0;l=l+4|0;if((k|0)!=(l|0)){continue}break}}f=b&3;if(!f){break c}while(1){k=(J[(e<<2)+a>>2]<<2)+h|0;J[k>>2]=J[k>>2]+1;e=e+1|0;m=m+1|0;if((f|0)!=(m|0)){continue}break}}e=0;if((c|0)<0){a=0;break a}o=+(b|0);a=0;while(1){b=J[(e<<2)+h>>2];if((b|0)>0){n=+(b|0);g=n*va(n/o)+g;a=a+1|0}b=(c|0)==(e|0);e=e+1|0;if(!b){continue}break}break a}qa();B()}if(d){J[d>>2]=a}if(h){na(h)}g=-g;d:{if(R(g)<0x8000000000000000){b=R(g)>=1?~~(g>0?T(V(g*2.3283064365386963e-10),4294967295):W((g-+(~~g>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~g>>>0;break d}b=-2147483648;a=0}ba=j+16|0;ca=b;return a}function Ig(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;hc(a,h,c,g,e,g);d=d-g|0;hc(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}} +function zg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;_b(a,h,c,g,e,g);d=d-g|0;_b(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function yg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Zb(a,h,c,g,e,g);d=d-g|0;Zb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function wg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Yb(a,h,c,g,e,g);d=d-g|0;Yb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function vg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Xb(a,h,c,g,e,g);d=d-g|0;Xb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function ug(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Wb(a,h,c,g,e,g);d=d-g|0;Wb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function tg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Vb(a,h,c,g,e,g);d=d-g|0;Vb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function sg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Ub(a,h,c,g,e,g);d=d-g|0;Ub(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function rg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Tb(a,h,c,g,e,g);d=d-g|0;Tb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function qg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Sb(a,h,c,g,e,g);d=d-g|0;Sb(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Hg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;gc(a,h,c,g,e,g);d=d-g|0;gc(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Gg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;fc(a,h,c,g,e,g);d=d-g|0;fc(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Fg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;ec(a,h,c,g,e,g);d=d-g|0;ec(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Eg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;dc(a,h,c,g,e,g);d=d-g|0;dc(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Dg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;cc(a,h,c,g,e,g);d=d-g|0;cc(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Cg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;bc(a,h,c,g,e,g);d=d-g|0;bc(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Bg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;ac(a,h,c,g,e,g);d=d-g|0;ac(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Ag(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){Ua(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;$b(a,h,c,g,e,g);d=d-g|0;$b(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}ra();B()}ra();B()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function zj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=ba-16|0;ba=g;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=oa(c);f=c+(f<<2)|0;h=c+(b-d&-4)|0;c=h;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=h;J[e>>2]=c;if(!d){break b}na(d)}b=J[a+12>>2];c=J[b+28>>2];b=J[b+24>>2];J[g+12>>2]=0;b=c-b>>2;d=a+96|0;e=J[d>>2];c=J[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){jc(d,b-c|0,g+12|0);break c}if(b>>>0>=c>>>0){break c}J[a+100>>2]=e+(b<<2)}e=a+8|0;b=J[a+116>>2];d:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){c=1;break d}b=0;while(1){c=Xf(e,J[(b<<2)+d>>2]);if(!c){break d}f=J[a+116>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break d}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){c=Xf(e,P(b,3));if(!c){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}ba=g+16|0;return c|0}qa();B()}function Zk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=J[b+88>>2];if(!(!c|J[c>>2]!=1)){e=J[c+8>>2];J[a+4>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);f=a+8|0;d=K[b+24|0];h=J[a+8>>2];g=J[a+12>>2]-h>>2;a:{if(d>>>0>g>>>0){Fa(f,d-g|0);d=K[b+24|0];e=J[c+8>>2];break a}if(d>>>0>=g>>>0){break a}J[a+12>>2]=h+(d<<2)}b:{if(!d){b=4;break b}h=d&3;f=J[f>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){g=d<<2;c=b+e|0;J[g+f>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+(g|4)>>2]=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+(g|8)>>2]=K[c+8|0]|K[c+9|0]<<8|(K[c+10|0]<<16|K[c+11|0]<<24);J[f+(g|12)>>2]=K[c+12|0]|K[c+13|0]<<8|(K[c+14|0]<<16|K[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+e|0;J[f+(d<<2)>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}d=a;a=b+e|0;J[d+20>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);d=1}return d|0}function Le(a,b,c,d){var e=0,f=0,g=0,h=0;g=ba-32|0;ba=g;e=d&2147483647;h=e;f=e-1006698496|0;e=e-1140785152|0;a:{if((f|0)==(e|0)&0|e>>>0>f>>>0){e=c<<4|b>>>28;c=d<<4|c>>>28;b=b&268435455;if((b|0)==134217728&(a|0)!=0|b>>>0>134217728){f=c+1073741824|0;e=e+1|0;f=e?f:f+1|0;break a}f=c+1073741824|0;if(a|(b|0)!=134217728){break a}a=e&1;e=a+e|0;f=a>>>0>e>>>0?f+1|0:f;break a}if(!(!c&(h|0)==2147418112?!(a|b):h>>>0<2147418112)){a=d<<4|c>>>28;e=c<<4|b>>>28;f=a&524287|2146959360;break a}e=0;f=2146435072;if(h>>>0>1140785151){break a}f=0;h=h>>>16|0;if(h>>>0<15249){break a}e=d&65535|65536;Pa(g+16|0,a,b,c,e,h-15233|0);Gb(g,a,b,c,e,15361-h|0);b=J[g+8>>2];e=b<<4;b=J[g+12>>2]<<4|b>>>28;c=J[g>>2];f=J[g+4>>2];h=f;e=f>>>28|e;f=b;a=h&268435455;b=c|(J[g+16>>2]|J[g+24>>2]|(J[g+20>>2]|J[g+28>>2]))!=0;if((a|0)==134217728&(b|0)!=0|a>>>0>134217728){e=e+1|0;f=e?f:f+1|0;break a}if(b|(a|0)!=134217728){break a}a=e;e=e+(e&1)|0;f=a>>>0>e>>>0?f+1|0:f}ba=g+32|0;x(0,e|0);x(1,d&-2147483648|f);return+z()}function nj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=J[a+12>>2];c=J[a+68>>2];d=J[c+80>>2];H[b+84|0]=0;n=b+68|0;i=J[b+68>>2];e=J[b+72>>2]-i>>2;a:{if(e>>>0>>0){Ma(n,d-e|0,11424);c=J[a+68>>2];d=J[c+80>>2];break a}if(d>>>0>=e>>>0){break a}J[b+72>>2]=i+(d<<2)}b=J[c+100>>2];e=J[c+96>>2];i=(b-e|0)/12|0;m=1;b:{if((b|0)==(e|0)){break b}k=J[k+28>>2];f=J[k>>2];if((f|0)==-1){return 0}o=i>>>0<=1?1:i;c=e;b=0;m=0;while(1){g=J[c>>2];if(g>>>0>=d>>>0){break b}j=J[J[a+72>>2]+12>>2];h=J[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=J[n>>2];J[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=J[g+4>>2];if((h|0)==-1){break b}l=J[c+4>>2];if(l>>>0>=d>>>0){break b}h=J[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}J[f+(l<<2)>>2]=h;g=J[g+8>>2];if((g|0)==-1){break b}c=J[c+8>>2];if(c>>>0>=d>>>0){break b}j=J[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}J[f+(c<<2)>>2]=j;b=b+1|0;m=i>>>0<=b>>>0;if((b|0)==(o|0)){break b}c=e+P(b,12)|0;l=P(b,3);f=J[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return m|0}function xg(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,l=0,m=0;h=J[d+80>>2];e=ba-48|0;ba=e;a=J[a+4>>2];m=a-2|0;a:{if(m>>>0>28){break a}j=J[J[d>>2]>>2]+J[d+48>>2]|0;J[e+16>>2]=a;a=-1<>2]=a^-1;a=-2-a|0;J[e+24>>2]=a;J[e+32>>2]=(a|0)/2;N[e+28>>2]=Q(2)/Q(a|0);f=J[c>>2];if((f|0)!=J[c+4>>2]){a=0;d=0;while(1){g=J[(d<<2)+f>>2];h=e+36|0;k=J[J[b>>2]>>2];l=J[b+48>>2];f=J[b+40>>2];i=J[b+44>>2];if(!K[b+84|0]){g=J[J[b+68>>2]+(g<<2)>>2]}g=Hl(f,i,g,0);i=g;g=g+l|0;ua(h,g+k|0,f);Uf(e+16|0,h,e+12|0,e+8|0);f=a<<2;J[f+j>>2]=J[e+12>>2];J[(f|4)+j>>2]=J[e+8>>2];a=a+2|0;d=d+1|0;f=J[c>>2];if(d>>>0>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){k=e+36|0;l=J[J[b>>2]>>2];i=J[b+48>>2];c=J[b+40>>2];f=Hl(c,J[b+44>>2],K[b+84|0]?a:J[J[b+68>>2]+(a<<2)>>2],0);g=f;f=f+i|0;ua(k,f+l|0,c);Uf(e+16|0,k,e+12|0,e+8|0);c=d<<2;J[c+j>>2]=J[e+12>>2];J[(c|4)+j>>2]=J[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}ba=e+48|0;return m>>>0<29|0}function yk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=ba-16|0;ba=k;if(J[c+28>>2]==9){d=J[a+4>>2];h=K[c+24|0];e=h<<2;f=oa(e);l=k+8|0;J[l>>2]=1065353216;i=N[a+20>>2];d=-1<0){N[l>>2]=i/Q(d|0)}o=(d|0)>0;a:{if(!o){break a}j=J[c+80>>2];if(!j){break a}if(h){p=J[J[b>>2]>>2]+J[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=J[a+8>>2];i=N[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;N[g+f>>2]=Q(i*Q(J[q>>2]))+N[g+m>>2];g=g|4;N[g+f>>2]=Q(i*Q(J[q+4>>2]))+N[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;N[d+f>>2]=Q(i*Q(J[(b<<2)+p>>2]))+N[d+m>>2];b=b+1|0}ua(J[J[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){ua(J[J[c+64>>2]>>2]+b|0,f,e);b=b+e|0;ua(b+J[J[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}ua(J[J[c+64>>2]>>2]+b|0,f,e)}na(f)}ba=k+16|0;return o|0}function Aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+108>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0>>0){Ma(m,e-f|0,11424);d=J[a+108>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+112>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function sj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+68>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0>>0){Ma(m,e-f|0,11424);d=J[a+68>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+72>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function mg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=ba+-64|0;ba=c;d=oa(80);i=J[a+8>>2];J[d+12>>2]=0;J[d+16>>2]=0;J[d>>2]=11692;J[d+4>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+76>>2]=0;J[d+72>>2]=b;J[d+68>>2]=i;J[d- -64>>2]=0;j=d+56|0;e=j;J[e>>2]=0;J[e+4>>2]=0;J[d+8>>2]=11856;e=J[a+12>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;f=c+24|0;J[f>>2]=0;J[f+4>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c>>2]=11856;J[c+4>>2]=e;g=J[e>>2];h=J[e+4>>2];H[c+63|0]=0;k=f;f=c+63|0;Na(k,(h-g>>2>>>0)/3|0,f);g=J[c+4>>2];h=J[g+28>>2];g=J[g+24>>2];H[c+63|0]=0;Na(c+36|0,h-g>>2,f);J[c+20>>2]=d;J[c+16>>2]=i;J[c+12>>2]=b;J[c+8>>2]=e;J[d+76>>2]=a+72;Kc(d+8|0,c);Rb(j,J[c+48>>2],J[c+52>>2]);J[c>>2]=11856;a=J[c+48>>2];if(a){J[c+52>>2]=a;na(a)}J[c>>2]=11672;a=J[c+36>>2];if(a){na(a)}a=J[c+24>>2];if(a){na(a)}ba=c- -64|0;return d}function Sa(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0;a:{b:{if((e|0)<=(f|0)){if((a|0)==(b|0)){break b}f=g;e=a;while(1){J[f>>2]=J[e>>2];f=f+4|0;e=e+4|0;if((e|0)!=(b|0)){continue}break}if((f|0)==(g|0)){break b}d=J[d>>2];while(1){if((b|0)==(c|0)){ta(a,g,f-g|0);return}c:{e=J[d>>2];h=J[d+4>>2]-e>>3;i=J[b>>2];if(h>>>0<=i>>>0){break c}j=h;h=J[g>>2];if(j>>>0<=h>>>0){break c}j=h;k=i;i=J[e+(i<<3)>>2];e=J[e+(h<<3)>>2];h=i>>>0>=e>>>0;J[a>>2]=h?j:k;b=((e>>>0>i>>>0)<<2)+b|0;a=a+4|0;g=(h<<2)+g|0;if((g|0)!=(f|0)){continue}break b}break}ra();B()}if((b|0)==(c|0)){break b}f=g;e=b;while(1){J[f>>2]=J[e>>2];f=f+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}if((f|0)==(g|0)){break b}while(1){if((a|0)==(b|0)){a=f-g|0;ta(c-a|0,g,a);return}i=J[d>>2];e=J[i>>2];h=J[i+4>>2]-e>>3;k=f-4|0;i=J[k>>2];if(h>>>0<=i>>>0){break a}j=h;l=b-4|0;h=J[l>>2];if(j>>>0<=h>>>0){break a}c=c-4|0;e=M[e+(i<<3)>>2]>2];J[c>>2]=e?h:i;b=e?l:b;f=e?f:k;if((g|0)!=(f|0)){continue}break}}return}ra();B()}function _c(a){var b=0,c=0,d=0,e=0;c=J[a+1176>>2];if(c){d=c;b=J[a+1180>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;na(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+1176>>2]}J[a+1180>>2]=c;na(d)}c=J[a+1164>>2];if(c){d=c;b=J[a+1168>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;na(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+1164>>2]}J[a+1168>>2]=c;na(d)}b=J[a+1152>>2];if(b){J[a+1156>>2]=b;na(b)}b=J[a+1140>>2];if(b){J[a+1144>>2]=b;na(b)}b=J[a+1128>>2];if(b){J[a+1132>>2]=b;na(b)}tb(a+1108|0);tb(a+1088|0);tb(a+1068|0);wa(a+1036|0);a=a+12|0;wa(a+992|0);wa(a+960|0);wa(a+928|0);wa(a+896|0);wa(a+864|0);wa(a+832|0);wa(a+800|0);wa(a+768|0);wa(a+736|0);wa(a+704|0);wa(a+672|0);wa(a+640|0);wa(a+608|0);wa(a+576|0);wa(a+544|0);wa(a+512|0);wa(a+480|0);wa(a+448|0);wa(a+416|0);wa(a+384|0);wa(a+352|0);wa(a+320|0);wa(a+288|0);wa(a+256|0);wa(a+224|0);wa(a+192|0);wa(a+160|0);wa(a+128|0);wa(a+96|0);wa(a- -64|0);wa(a+32|0);wa(a)}function Ed(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=ba-32|0;ba=d;a:{b=J[a+16>>2];c=J[a+20>>2];if(!!b&(c|0)>=0|(c|0)>0){e=J[J[a+12>>2]+4>>2]+7|0;f=e>>>0<7?1:f;c=f>>>3|0;f=f<<29|e>>>3;if(K[a+24|0]){e=J[a+4>>2];J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;xb(f,c,d);c=e-b|0;e=c-8|0;b=J[d+4>>2]-J[d>>2]|0;ta(e+b|0,c,f);ua(e,J[d>>2],b);c=8-b|0;b=J[a+20>>2];e=c;c=c+J[a+16>>2]|0;b=e>>>0>c>>>0?b+1|0:b;J[a+16>>2]=c;J[a+20>>2]=b;b=J[d+12>>2];J[d+12>>2]=0;if(b){na(b)}b=J[d>>2];if(b){J[d+4>>2]=b;na(b)}b=J[a+16>>2]}b=f-b|0;g=J[a+4>>2];f=J[a>>2];e=g-f|0;c=b+e|0;b:{if(c>>>0>e>>>0){h=J[a+8>>2];if(h-g>>>0>=b>>>0){i=a,j=pa(g,0,b)+b|0,J[i+4>>2]=j;break b}if((c|0)<0){break a}g=h-f|0;h=g<<1;g=g>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=oa(g);pa(h+e|0,0,b);b=ta(h,f,e);J[a+8>>2]=b+g;J[a+4>>2]=b+c;J[a>>2]=b;if(!f){break b}na(f);break b}if(c>>>0>=e>>>0){break b}J[a+4>>2]=c+f}J[a+16>>2]=0;J[a+20>>2]=0}ba=d+32|0;return}qa();B()}function dj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=J[a+4>>2];b=J[b+12>>2]-J[b+8>>2]|0;a:{if((b|0)>3){b=0;while(1){if(da[J[J[a>>2]+36>>2]](a,b)|0){b=b+1|0;c=J[a+4>>2];c=J[c+12>>2]-J[c+8>>2]>>2;if((b|0)<(c|0)){continue}break a}break}return 0}c=b>>2}b=a+20|0;d=J[a+20>>2];e=J[a+24>>2]-d>>2;b:{if(e>>>0>>0){Fa(b,c-e|0);break b}if(c>>>0>=e>>>0){break b}J[a+24>>2]=d+(c<<2)}f=J[a+8>>2];a=J[a+12>>2];if((f|0)==(a|0)){return 1}a=a-f>>2;j=a>>>0<=1?1:a;e=J[b>>2];b=0;while(1){a=J[(b<<2)+f>>2];d=J[a+8>>2];c=J[a+4>>2];c:{if((d|0)==(c|0)){break c}a=d-c>>2;d=a>>>0<=1?1:a;i=d&3;g=0;a=0;if(d-1>>>0>=3){k=d&-4;h=0;while(1){d=a<<2;J[e+(J[d+c>>2]<<2)>>2]=b;J[e+(J[c+(d|4)>>2]<<2)>>2]=b;J[e+(J[c+(d|8)>>2]<<2)>>2]=b;J[e+(J[c+(d|12)>>2]<<2)>>2]=b;a=a+4|0;h=h+4|0;if((k|0)!=(h|0)){continue}break}}if(!i){break c}while(1){J[e+(J[c+(a<<2)>>2]<<2)>>2]=b;a=a+1|0;g=g+1|0;if((g|0)!=(i|0)){continue}break}}b=b+1|0;if((j|0)!=(b|0)){continue}break}return 1}function ek(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=J[a+12>>2];i=J[a+8>>2];d=e-i>>2;b=K[b+24|0];a:{if(d>>>0>>0){Fa(a+8|0,b-d|0);i=J[a+8>>2];e=J[a+12>>2];break a}if(b>>>0>=d>>>0){break a}e=(b<<2)+i|0;J[a+12>>2]=e}b=0;f=J[c+8>>2];h=J[c+12>>2];j=J[c+20>>2];e=e-i|0;d=J[c+16>>2];g=e+d|0;j=e>>>0>g>>>0?j+1|0:j;b:{if(f>>>0>>0&(h|0)<=(j|0)|(h|0)<(j|0)){break b}ua(i,d+J[c>>2]|0,e);d=J[c+20>>2];g=e;e=e+J[c+16>>2]|0;d=g>>>0>e>>>0?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;f=J[c+8>>2];h=J[c+12>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;if(f>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break b}d=e+J[c>>2]|0;J[a+20>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[c+20>>2];g=d;f=d;e=J[c+16>>2];d=e+4|0;f=d>>>0<4?f+1|0:f;J[c+16>>2]=d;J[c+20>>2]=f;h=J[c+12>>2];if((f|0)>=(h|0)&d>>>0>=M[c+8>>2]|(f|0)>(h|0)){break b}f=K[d+J[c>>2]|0];d=g;e=e+5|0;d=e>>>0<5?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;if(f-1>>>0>29){break b}J[a+4>>2]=f;b=1}return b|0}function qe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{f=J[a+4>>2];b:{if((f|0)!=J[a>>2]){c=f;break b}g=J[a+8>>2];c=J[a+12>>2];if(g>>>0>>0){e=((c-g>>2)+1|0)/2<<2;c=e+g|0;if((f|0)!=(g|0)){d=g-f|0;c=c-d|0;ta(c,f,d);f=J[a+8>>2]}J[a+4>>2]=c;J[a+8>>2]=e+f;break b}d=(c|0)==(f|0)?1:c-f>>1;if(d>>>0>=1073741824){break a}c=d<<2;i=oa(c);k=i+c|0;c=(d+3&-4)+i|0;h=c;c:{if((f|0)==(g|0)){break c}g=g-f|0;l=g&-4;e=c;d=f;j=g-4|0;g=(j>>>2|0)+1&7;if(g){h=0;while(1){J[e>>2]=J[d>>2];d=d+4|0;e=e+4|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}h=c+l|0;if(j>>>0<28){break c}while(1){J[e>>2]=J[d>>2];J[e+4>>2]=J[d+4>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=J[d+12>>2];J[e+16>>2]=J[d+16>>2];J[e+20>>2]=J[d+20>>2];J[e+24>>2]=J[d+24>>2];J[e+28>>2]=J[d+28>>2];d=d+32|0;e=e+32|0;if((h|0)!=(e|0)){continue}break}}J[a+12>>2]=k;J[a+8>>2]=h;J[a+4>>2]=c;J[a>>2]=i;if(!f){break b}na(f);c=J[a+4>>2]}J[c-4>>2]=J[b>>2];J[a+4>>2]=J[a+4>>2]-4;return}xa();B()}function vd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c-b|0;e=J[a+8>>2];d=J[a>>2];if(f>>>0<=e-d>>>0){h=J[a+4>>2]-d|0;e=h+b|0;g=f>>>0>h>>>0?e:c;a:{if((g|0)==(b|0)){break a}k=(b^-1)+g|0;i=g-b&7;if(i){while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;j=j+1|0;if((j|0)!=(i|0)){continue}break}}if(k>>>0<7){break a}while(1){H[d|0]=K[b|0];H[d+1|0]=K[b+1|0];H[d+2|0]=K[b+2|0];H[d+3|0]=K[b+3|0];H[d+4|0]=K[b+4|0];H[d+5|0]=K[b+5|0];H[d+6|0]=K[b+6|0];H[d+7|0]=K[b+7|0];d=d+8|0;b=b+8|0;if((g|0)!=(b|0)){continue}break}}if(f>>>0>h>>>0){b=J[a+4>>2];if((c|0)!=(g|0)){while(1){H[b|0]=K[e|0];b=b+1|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}J[a+4>>2]=b;return}J[a+4>>2]=d;return}if(d){J[a+4>>2]=d;na(d);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=0}b:{if((f|0)<0){break b}d=e<<1;e=e>>>0>=1073741823?2147483647:d>>>0>f>>>0?d:f;if((e|0)<0){break b}d=oa(e);J[a+4>>2]=d;J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){d=ua(d,b,f)+f|0}J[a+4>>2]=d;return}qa();B()}function Uf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+N[b>>2];k=+N[b+4>>2];l=+N[b+8>>2];g=R(j)+R(k)+R(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=J[a+16>>2];l=+(h|0);g=V(j*l+.5);b:{if(R(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=V(k*l+.5);c:{if(R(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=J[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=J[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}J[c>>2]=a;J[d>>2]=b}function ge(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{e=J[b+4>>2];c:{if(!e){f=b+4|0;c=f;break c}f=K[c+11|0];g=f<<24>>24<0;i=g?J[c>>2]:c;g=g?J[c+4>>2]:f;while(1){c=e;h=K[e+27|0];f=h<<24>>24<0;e=f?J[e+20>>2]:h;h=e>>>0>>0;d:{e:{f:{g:{j=h?e:g;h:{if(j){f=f?J[c+16>>2]:c+16|0;k=Ba(i,f,j);if(!k){if(e>>>0>g>>>0){break h}break g}if((k|0)>=0){break g}break h}if(e>>>0<=g>>>0){break f}}f=c;e=J[c>>2];if(e){continue}break c}e=Ba(f,i,j);if(e){break e}}if(h){break d}break b}if((e|0)>=0){break b}}e=J[c+4>>2];if(e){continue}break}f=c+4|0}e=oa(40);g=e+16|0;d=J[d>>2];i:{if(H[d+11|0]>=0){i=J[d+4>>2];J[g>>2]=J[d>>2];J[g+4>>2]=i;J[g+8>>2]=J[d+8>>2];break i}Ga(g,J[d>>2],J[d+4>>2])}J[e+8>>2]=c;J[e>>2]=0;J[e+4>>2]=0;J[e+36>>2]=0;J[e+28>>2]=0;J[e+32>>2]=0;J[f>>2]=e;c=e;d=J[J[b>>2]>>2];if(d){J[b>>2]=d;c=J[f>>2]}sb(J[b+4>>2],c);J[b+8>>2]=J[b+8>>2]+1;b=1;break a}e=c;b=0}H[a+4|0]=b;J[a>>2]=e}function rc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=ba-32|0;ba=d;h=J[b>>2]+J[a+40>>2]|0;e=J[a+32>>2];c=e-4194304|0;a:{if(c>>>0<=63){H[J[a+24>>2]+J[a+28>>2]|0]=e;g=J[a+28>>2]+1|0;break a}if(c>>>0<=16383){c=J[a+24>>2]+J[a+28>>2]|0;H[c+1|0]=e+16384>>>8;H[c|0]=e;g=J[a+28>>2]+2|0;break a}if(c>>>0<=4194303){c=J[a+24>>2]+J[a+28>>2]|0;H[c+2|0]=e+4194304>>>16;H[c+1|0]=e>>>8;H[c|0]=e;g=J[a+28>>2]+3|0;break a}if(c>>>0<=1073741823){f=J[a+24>>2]+J[a+28>>2]|0;c=e-1077936128|0;H[f+3|0]=c>>>24;H[f+2|0]=c>>>16;H[f+1|0]=e>>>8;H[f|0]=e;g=J[a+28>>2]+4|0;break a}g=J[a+28>>2]}f=g;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=f>>31;xb(f,c,d);e=J[d+4>>2]-J[d>>2]|0;ta(e+h|0,h,f);ua(h,J[d>>2],e);h=J[a+40>>2];a=J[a+44>>2];f=e+f|0;c=a+(g>>>0>f>>>0?c+1|0:c)|0;a=f+h|0;Ia(b,a);a=J[d+12>>2];J[d+12>>2]=0;if(a){na(a)}a=J[d>>2];if(a){J[d+4>>2]=a;na(a)}ba=d+32|0}function yb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=ba-32|0;ba=d;h=J[b>>2]+J[a+40>>2]|0;f=J[a+32>>2];c=f-16384|0;a:{if(c>>>0<=63){H[J[a+24>>2]+J[a+28>>2]|0]=f;g=J[a+28>>2]+1|0;break a}if(c>>>0<=16383){c=J[a+24>>2]+J[a+28>>2]|0;H[c|0]=f;H[c+1|0]=f>>>8;g=J[a+28>>2]+2|0;break a}if(c>>>0<=4194303){e=J[a+24>>2]+J[a+28>>2]|0;c=f+8372224|0;H[e+2|0]=c>>>16;H[e+1|0]=c>>>8;H[e|0]=f;g=J[a+28>>2]+3|0;break a}if(c>>>0<=1073741823){e=J[a+24>>2]+J[a+28>>2]|0;c=f-1073758208|0;H[e+3|0]=c>>>24;H[e+2|0]=c>>>16;H[e+1|0]=c>>>8;H[e|0]=f;g=J[a+28>>2]+4|0;break a}g=J[a+28>>2]}e=g;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=e>>31;xb(e,c,d);f=J[d+4>>2]-J[d>>2]|0;ta(f+h|0,h,e);ua(h,J[d>>2],f);h=J[a+40>>2];a=J[a+44>>2];e=e+f|0;c=a+(g>>>0>e>>>0?c+1|0:c)|0;a=e+h|0;Ia(b,a);a=J[d+12>>2];J[d+12>>2]=0;if(a){na(a)}a=J[d>>2];if(a){J[d+4>>2]=a;na(a)}ba=d+32|0}function ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0;a:{if(J[c+28>>2]!=9|K[c+24|0]!=3){break a}a=J[a+4>>2];if(a-2>>>0>28){break a}o=1;j=J[c+80>>2];if(!j){break a}k=Q(Q(2)/Q((1<>2]>>2]+J[c+48>>2]|0;a=J[J[b>>2]>>2]+J[b+48>>2]|0;b=0;while(1){g=Q(0);l=Q(0);m=Q(0);e=Q(Q(Q(J[a>>2])*k)+Q(-1));f=Q(Q(Q(J[a+4>>2])*k)+Q(-1));i=Q(Q(Q(1)-Q(R(e)))-Q(R(f)));h=Q(U(Q(-i),Q(0)));n=Q(-h);f=Q(f+(f>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;d=(C(l),v(2));H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;d=(C(g),v(2));H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=ba-16|0;ba=c;b=J[J[a+184>>2]+(b<<2)>>2];H[c+15|0]=b;e=J[J[a+4>>2]+44>>2];d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){sa(e,J[e+4>>2],c+15|0,c+16|0);b=K[c+15|0]}a:{b:{c:{if(b<<24>>24<0){e=J[a+68>>2];break c}b=J[J[a+172>>2]+P(b&255,136)>>2];d=da[J[J[a>>2]+40>>2]](a)|0;f=J[a+172>>2]+P(H[c+15|0],136)|0;e=J[f+132>>2];d:{switch(J[J[J[d+56>>2]+84>>2]+(b<<2)>>2]){case 0:break c;case 1:break d;default:break b}}if(!K[f+28|0]){break b}}b=J[J[a+4>>2]+44>>2];H[c+14|0]=0;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+14|0,c+15|0);break a}b=J[J[a+4>>2]+44>>2];H[c+13|0]=1;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+13|0,c+14|0)}a=J[J[a+4>>2]+44>>2];H[c+12|0]=e;b=J[a+20>>2];if(!J[a+16>>2]&(b|0)<=0|(b|0)<0){sa(a,J[a+4>>2],c+12|0,c+13|0)}ba=c+16|0;return 1}function Cc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{e=J[b+4>>2];c:{if(!e){f=b+4|0;c=f;break c}f=K[c+11|0];g=f<<24>>24<0;h=g?J[c>>2]:c;g=g?J[c+4>>2]:f;while(1){c=e;e=K[e+27|0];f=e<<24>>24<0;e=f?J[c+20>>2]:e;j=e>>>0>>0;d:{e:{f:{g:{i=j?e:g;h:{if(i){f=f?J[c+16>>2]:c+16|0;k=Ba(h,f,i);if(!k){if(e>>>0>g>>>0){break h}break g}if((k|0)>=0){break g}break h}if(e>>>0<=g>>>0){break f}}f=c;e=J[c>>2];if(e){continue}break c}e=Ba(f,h,i);if(e){break e}}if(j){break d}break b}if((e|0)>=0){break b}}e=J[c+4>>2];if(e){continue}break}f=c+4|0}e=oa(40);J[e+24>>2]=J[d+8>>2];g=J[d+4>>2];h=J[d>>2];J[e+16>>2]=h;J[e+20>>2]=g;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;Ob(e+28|0,d+12|0);J[e+8>>2]=c;J[e>>2]=0;J[e+4>>2]=0;J[f>>2]=e;c=e;d=J[J[b>>2]>>2];if(d){J[b>>2]=d;c=J[f>>2]}sb(J[b+4>>2],c);J[b+8>>2]=J[b+8>>2]+1;b=1;break a}e=c;b=0}H[a+4|0]=b;J[a>>2]=e}function El(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=1;a:{b:{c:{if((da[J[J[b>>2]+20>>2]](b)|0)<=0){break c}while(1){e=Nb(J[J[a+4>>2]+4>>2],da[J[J[b>>2]+24>>2]](b,i)|0);j=(e|0)!=-1;if((e|0)==-1){break c}c=J[a+20>>2];d:{if((c|0)!=J[a+24>>2]){J[c>>2]=e;J[a+20>>2]=c+4;break d}f=c;c=J[a+16>>2];d=f-c|0;h=d>>2;g=h+1|0;if(g>>>0>=1073741824){break b}f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(g){if(g>>>0>=1073741824){break a}f=oa(g<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=e;d=ta(f,c,d);J[a+24>>2]=d+(g<<2);J[a+20>>2]=h+4;J[a+16>>2]=d;if(!c){break d}na(c)}c=J[a+4>>2];e:{if((e|0)<0){break e}d=J[c+4>>2];if(J[d+12>>2]-J[d+8>>2]>>2<=(e|0)){break e}c=J[J[c+8>>2]+(J[J[c+20>>2]+(e<<2)>>2]<<2)>>2];da[J[J[c>>2]+32>>2]](c,e)|0}i=i+1|0;if((da[J[J[b>>2]+20>>2]](b)|0)>(i|0)){continue}break}}return j|0}qa();B()}xa();B()}function Ta(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==(c|0)){J[a+4>>2]=d;J[a>>2]=d;return}if((c|0)==(d|0)){J[a+4>>2]=c;J[a>>2]=b;return}a:{if((b+4|0)==(c|0)){f=J[b>>2];e=b;b=d-c|0;c=ta(e,c,b)+b|0;J[c>>2]=f;break a}if((c+4|0)==(d|0)){f=d-4|0;e=J[f>>2];c=d;if((b|0)!=(f|0)){f=f-b|0;c=d-f|0;ta(c,b,f)}J[b>>2]=e;break a}g=c-b>>2;h=d-c>>2;if((g|0)==(h|0)){e=c;while(1){f=J[b>>2];J[b>>2]=J[e>>2];J[e>>2]=f;b=b+4|0;if((c|0)==(b|0)){break a}e=e+4|0;if((e|0)!=(d|0)){continue}break}break a}e=h;f=g;while(1){c=f;f=e;e=(c|0)%(e|0)|0;if(e){continue}break}if(f){e=(f<<2)+b|0;while(1){e=e-4|0;j=g<<2;c=e+j|0;k=J[e>>2];f=e;while(1){i=f;f=c;J[i>>2]=J[c>>2];i=c+j|0;c=d-c>>2;c=(c|0)>(g|0)?i:(g-c<<2)+b|0;if((e|0)!=(c|0)){continue}break}J[f>>2]=k;if((b|0)!=(e|0)){continue}break}}c=(h<<2)+b|0}J[a+4>>2]=d;J[a>>2]=c}function Kc(a,b){var c=0,d=0;c=J[b+8>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=c;J[a+20>>2]=J[b+20>>2];c=J[b+16>>2];J[a+12>>2]=J[b+12>>2];J[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=J[b+28>>2];if(c){d=J[a+24>>2];if(J[a+32>>2]<<5>>>0>>0){if(d){na(d);J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;c=J[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=oa(c<<2);J[a+32>>2]=c;J[a+28>>2]=0;J[a+24>>2]=d;c=J[b+28>>2]}ta(d,J[b+24>>2],(c-1>>>3&536870908)+4|0);c=J[b+28>>2]}else{c=0}J[a+28>>2]=c;c=J[b+40>>2];if(c){d=J[a+36>>2];if(J[a+44>>2]<<5>>>0>>0){if(d){na(d);J[a+44>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;c=J[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=oa(c<<2);J[a+44>>2]=c;J[a+40>>2]=0;J[a+36>>2]=d;c=J[b+40>>2]}ta(d,J[b+36>>2],(c-1>>>3&536870908)+4|0);b=J[b+40>>2]}else{b=0}J[a+40>>2]=b}return}qa();B()}qa();B()}function jf(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=ba-16|0;ba=f;d=J[a+100>>2];e=J[a+96>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=d-e|0;g=(b|0)/12|0;a:{b:{if((d|0)==(e|0)){break b}if(g>>>0>=357913942){break a}d=oa(b);J[f>>2]=d;J[f+8>>2]=d+P(g,12);a=0;c=d;d=b-12|0;b=(d-((d>>>0)%12|0)|0)+12|0;d=pa(c,0,b);J[f+4>>2]=b+d;b=g>>>0<=1?1:g;j=b&1;if(g>>>0>=2){k=b&-2;g=0;while(1){c=P(a,12);b=c+e|0;h=J[b>>2];i=J[b+4>>2];c=d+c|0;J[c+8>>2]=J[b+8>>2];J[c>>2]=h;J[c+4>>2]=i;c=P(a|1,12);b=c+e|0;h=J[b>>2];i=J[b+4>>2];c=d+c|0;J[c+8>>2]=J[b+8>>2];J[c>>2]=h;J[c+4>>2]=i;a=a+2|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}}if(!j){break b}c=e;e=P(a,12);a=c+e|0;g=J[a+4>>2];b=J[a>>2];e=d+e|0;J[e+8>>2]=J[a+8>>2];J[e>>2]=b;J[e+4>>2]=g}e=mf(f);a=J[f>>2];if(a){J[f+4>>2]=a;na(a)}ba=f+16|0;return e}qa();B()}function dg(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+112>>2];b=J[a+108>>2];c=(d-b|0)/12|0;Aa(c,J[J[a+4>>2]+44>>2]);if((b|0)!=(d|0)){f=c>>>0<=1?1:c;d=0;while(1){b=J[a+108>>2]+P(d,12)|0;Aa(J[b+4>>2]-g|0,J[J[a+4>>2]+44>>2]);Aa(J[b+4>>2]-J[b>>2]|0,J[J[a+4>>2]+44>>2]);g=J[b+4>>2];d=d+1|0;if((f|0)!=(d|0)){continue}break}d=0;Fd(J[J[a+4>>2]+44>>2],c,0,0);b=J[J[a+4>>2]+44>>2];e=!!J[b+16>>2];b=J[b+20>>2];if(e&(b|0)>=0|(b|0)>0){f=c>>>0<=1?1:c;while(1){c=J[J[a+4>>2]+44>>2];b=J[c+20>>2];if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){g=K[(J[a+108>>2]+P(d,12)|0)+8|0];c=J[c+12>>2];e=J[c+4>>2];b=e>>>3|0;h=b+J[c>>2]|0;i=K[h|0];e=e&7;j=h,k=Ll(e)&i,H[j|0]=k;b=b+J[c>>2]|0;H[b|0]=K[b|0]|(g&1)<>2]=J[c+4>>2]+1}d=d+1|0;if((f|0)!=(d|0)){continue}break}}Ed(J[J[a+4>>2]+44>>2])}return 1}function mj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+56>>2]-J[b+52>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=oa(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}na(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Vf(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=J[J[a+12>>2]+64>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Vf(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}qa();B()}function rj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=oa(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}na(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Wf(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Wf(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}qa();B()}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=ba-16|0;ba=d;J[d+12>>2]=c;a:{if(!me(a,b,c)|K[J[a+8>>2]+24|0]!=3){break a}f=J[b+48>>2];b=oa(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1261];c=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);e=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);e=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;b=jb(f,d+12|0,d,-1);if(H[d+11|0]<0){na(J[d>>2])}if((b|0)<=0){break a}J[a+44>>2]=b;g=1}ba=d+16|0;return g|0}function Oc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=ba-16|0;ba=i;e=J[b+4>>2];a:{b:{if(!e){h=b+4|0;g=h;break b}f=J[c>>2];while(1){g=e;c=J[e+16>>2];if((c|0)>(f|0)){h=g;e=J[g>>2];if(e){continue}break b}if((c|0)>=(f|0)){f=g;b=0;break a}e=J[g+4>>2];if(e){continue}break}h=g+4|0}f=oa(32);c=J[d>>2];j=f+24|0;e=j;J[e>>2]=0;J[e+4>>2]=0;J[f+16>>2]=c;k=f+20|0;J[k>>2]=e;e=J[d+4>>2];d=d+8|0;if((e|0)!=(d|0)){while(1){c=e+16|0;Qg(i+8|0,k,j,c,c);c=J[e+4>>2];c:{if(c){while(1){e=c;c=J[e>>2];if(c){continue}break c}}while(1){c=e;e=J[e+8>>2];if((c|0)!=J[e>>2]){continue}break}}if((d|0)!=(e|0)){continue}break}}J[f+8>>2]=g;J[f>>2]=0;J[f+4>>2]=0;J[h>>2]=f;e=f;c=J[J[b>>2]>>2];if(c){J[b>>2]=c;e=J[h>>2]}sb(J[b+4>>2],e);J[b+8>>2]=J[b+8>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=f;ba=i+16|0}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=ba-16|0;ba=c;Aa(J[a+8>>2]-J[a+4>>2]>>2,b);e=J[a+4>>2];if((e|0)!=J[a+8>>2]){h=c+13|0;i=c+14|0;j=c+15|0;k=c+16|0;while(1){e=J[J[J[a+32>>2]+8>>2]+(J[(g<<2)+e>>2]<<2)>>2];H[c+15|0]=J[e+56>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+15|0,k);d=J[b+20>>2];f=J[b+16>>2];H[c+14|0]=J[e+28>>2];if(!!f&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+14|0,j);d=J[b+20>>2];f=J[b+16>>2];H[c+13|0]=K[e+24|0];if(!!f&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+13|0,i);d=J[b+20>>2];f=J[b+16>>2];H[c+12|0]=K[e+32|0];if(!!f&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+12|0,h)}Aa(J[e+60>>2],b);g=g+1|0;e=J[a+4>>2];if(g>>>0>2]-e>>2>>>0){continue}break}}ba=c+16|0;return 1}function eb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=ba-16|0;ba=g;a:{b:{c=J[a+4>>2];c:{if((c|0)!=J[a+8>>2]){J[c>>2]=J[a+12>>2];c=c+4|0;J[a+4>>2]=c;break c}e=J[a>>2];c=c-e|0;h=c>>2;d=h+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=oa(d<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=J[a+12>>2];i=d<<2;d=ta(f,e,c);J[a+8>>2]=i+d;c=h+4|0;J[a+4>>2]=c;J[a>>2]=d;if(!e){break c}na(e);c=J[a+4>>2]}f=c;c=J[a>>2];J[g+12>>2]=f-c;e=J[b+20>>2];d:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break d}sa(b,J[b+4>>2],g+12|0,g+16|0);c=J[a>>2];e=J[b+20>>2];if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break d}sa(b,J[b+4>>2],c,J[g+12>>2]+c|0);c=J[a>>2]}J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=c;ba=g+16|0;return}qa();B()}xa();B()}function ta(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return ua(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}H[d|0]=K[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;H[d|0]=K[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;J[c+a>>2]=J[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;H[c+a|0]=K[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){J[d>>2]=J[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function hg(a,b,c){var d=0,e=0,f=0,g=0;a:{b=P(b,3);if((b|0)==-1){break a}b:{e=J[a+12>>2];f=J[e+12>>2];d=b<<2;c:{if(J[f+d>>2]==-1){break c}a=J[a+152>>2];e=J[e>>2];if(J[a+(J[e+d>>2]<<2)>>2]!=-1){break b}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break a}d=b<<2;if(J[d+f>>2]==-1){break c}if(J[a+(J[d+e>>2]<<2)>>2]!=-1){break b}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break a}d=b<<2;if(J[d+f>>2]==-1){break c}if(J[a+(J[d+e>>2]<<2)>>2]!=-1){break b}g=1;a=b+1|0;b=(a>>>0)%3|0?a:b-2|0}J[c>>2]=b;return g}while(1){d:{a=b;e:{if((b>>>0)%3|0){b=a-1|0;break e}b=a+2|0;if((b|0)==-1){break d}}b=J[(b<<2)+f>>2];if((b|0)==-1){break d}b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)!=-1){continue}}break}J[c>>2]=a+((a>>>0)%3|0?-1:2);return 0}J[c>>2]=-1;return 0}function Se(a,b,c){a:{switch(b-9|0){case 0:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];return;case 6:b=J[c>>2];J[c>>2]=b+4;b=I[b>>1];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 7:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=L[b>>1];J[a+4>>2]=0;return;case 8:b=J[c>>2];J[c>>2]=b+4;b=H[b|0];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 9:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=K[b|0];J[a+4>>2]=0;return;case 16:b=J[c>>2]+7&-8;J[c>>2]=b+8;O[a>>3]=O[b>>3];return;case 17:Qe(a,c);default:return;case 1:case 4:case 14:b=J[c>>2];J[c>>2]=b+4;b=J[b>>2];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];J[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=J[c>>2]+7&-8;J[c>>2]=b+8;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c}function _e(a,b,c,d,e,f){var g=0;g=ba-80|0;ba=g;a:{if((f|0)>=16384){Ea(g+32|0,b,c,d,e,0,0,0,2147352576);d=J[g+40>>2];e=J[g+44>>2];b=J[g+32>>2];c=J[g+36>>2];if(f>>>0<32767){f=f-16383|0;break a}Ea(g+16|0,b,c,d,e,0,0,0,2147352576);f=((f|0)>=49149?49149:f)-32766|0;d=J[g+24>>2];e=J[g+28>>2];b=J[g+16>>2];c=J[g+20>>2];break a}if((f|0)>-16383){break a}Ea(g- -64|0,b,c,d,e,0,0,0,7471104);d=J[g+72>>2];e=J[g+76>>2];b=J[g+64>>2];c=J[g+68>>2];if(f>>>0>4294934644){f=f+16269|0;break a}Ea(g+48|0,b,c,d,e,0,0,0,7471104);f=((f|0)<=-48920?-48920:f)+32538|0;d=J[g+56>>2];e=J[g+60>>2];b=J[g+48>>2];c=J[g+52>>2]}Ea(g,b,c,d,e,0,0,0,f+16383<<16);b=J[g+12>>2];J[a+8>>2]=J[g+8>>2];J[a+12>>2]=b;b=J[g+4>>2];J[a>>2]=J[g>>2];J[a+4>>2]=b;ba=g+80|0}function bd(a,b,c){var d=0,e=0,f=0;d=ba+-64|0;ba=d;f=J[a>>2];e=J[f-4>>2];f=J[f-8>>2];J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;H[d+55|0]=0;H[d+56|0]=0;H[d+57|0]=0;H[d+58|0]=0;H[d+59|0]=0;H[d+60|0]=0;H[d+61|0]=0;H[d+62|0]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+20>>2]=0;J[d+16>>2]=b;J[d+12>>2]=a;J[d+8>>2]=c;a=a+f|0;b=0;a:{if(pb(e,c,0)){J[d+56>>2]=1;da[J[J[e>>2]+20>>2]](e,d+8|0,a,a,1,0);b=J[d+32>>2]==1?a:0;break a}da[J[J[e>>2]+24>>2]](e,d+8|0,a,1,0);b:{switch(J[d+44>>2]){case 0:b=J[d+48>>2]==1?J[d+36>>2]==1?J[d+40>>2]==1?J[d+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(J[d+32>>2]!=1){if(J[d+48>>2]|J[d+36>>2]!=1|J[d+40>>2]!=1){break a}}b=J[d+24>>2]}ba=d- -64|0;return b}function Ca(a,b){var c=0,d=0,e=0,f=0;c=J[a>>2];a:{if(b){b=J[c+12>>2];d=J[c+8>>2]+1|0;b=d?b:b+1|0;J[c+8>>2]=d;J[c+12>>2]=b;b=J[a+28>>2];J[a+24>>2]=J[a+24>>2]|1<>2];d=J[c>>2]+1|0;b=d?b:b+1|0;J[c>>2]=d;J[c+4>>2]=b;b=J[a+28>>2]}b=b+1|0;J[a+28>>2]=b;b:{c:{if((b|0)==32){b=J[a+16>>2];d:{if((b|0)!=J[a+20>>2]){J[b>>2]=J[a+24>>2];J[a+16>>2]=b+4;break d}e=b;b=J[a+12>>2];c=e-b|0;f=c>>2;d=f+1|0;if(d>>>0>=1073741824){break c}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break b}e=oa(d<<2)}else{e=0}f=e+(f<<2)|0;J[f>>2]=J[a+24>>2];c=ta(e,b,c);J[a+20>>2]=c+(d<<2);J[a+16>>2]=f+4;J[a+12>>2]=c;if(!b){break d}na(b)}J[a+24>>2]=0;J[a+28>>2]=0}return}qa();B()}xa();B()}function pa(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}H[a|0]=b;d=a+c|0;H[d-1|0]=b;if(c>>>0<3){break a}H[a+2|0]=b;H[a+1|0]=b;H[d-3|0]=b;H[d-2|0]=b;if(c>>>0<7){break a}H[a+3|0]=b;H[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=P(b&255,16843009);J[e>>2]=b;d=c-d&-4;c=d+e|0;J[c-4>>2]=b;if(d>>>0<9){break a}J[e+8>>2]=b;J[e+4>>2]=b;J[c-8>>2]=b;J[c-12>>2]=b;if(d>>>0<25){break a}J[e+24>>2]=b;J[e+20>>2]=b;J[e+16>>2]=b;J[e+12>>2]=b;J[c-16>>2]=b;J[c-20>>2]=b;J[c-24>>2]=b;J[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=Hl(b,0,1,1);f=ca;b=e+g|0;while(1){J[b+24>>2]=d;J[b+28>>2]=f;J[b+16>>2]=d;J[b+20>>2]=f;J[b+8>>2]=d;J[b+12>>2]=f;J[b>>2]=d;J[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function De(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{g=a+16|0;f=J[g>>2];b:{if(!f){break b}i=J[b>>2];b=g;while(1){h=(i|0)>J[f+16>>2];b=h?b:f;f=J[(h?f+4|0:f)>>2];if(f){continue}break}if((b|0)==(g|0)|(i|0)>2]){break b}f=J[b+24>>2];if(!f){break b}m=b+20|0;b=K[c+11|0];g=b<<24>>24<0;i=g?J[c>>2]:c;b=g?J[c+4>>2]:b;while(1){g=K[f+27|0];h=g<<24>>24<0;g=h?J[f+20>>2]:g;k=g>>>0>>0;c:{d:{e:{f:{g:{h:{j=k?g:b;if(j){h=h?J[f+16>>2]:f+16|0;l=Ba(i,h,j);if(l){break h}if(b>>>0>=g>>>0){break g}break c}if(b>>>0>=g>>>0){break f}break c}if((l|0)<0){break c}}g=Ba(h,i,j);if(g){break e}}if(k){break d}break a}if((g|0)<0){break d}break a}f=f+4|0}f=J[f>>2];if(f){continue}break}}Be(a,c,d,e);return}Be(m,c,d,e)}function jb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+16|0;e=J[f>>2];a:{if(!e){break a}g=J[b>>2];b=f;while(1){h=(g|0)>J[e+16>>2];b=h?b:e;e=J[(h?e+4|0:e)>>2];if(e){continue}break}if((b|0)==(f|0)|(g|0)>2]){break a}e=J[b+24>>2];if(!e){break a}g=b+20|0;b=K[c+11|0];f=b<<24>>24<0;h=f?J[c>>2]:c;b=f?J[c+4>>2]:b;while(1){f=K[e+27|0];i=f<<24>>24<0;f=i?J[e+20>>2]:f;k=f>>>0>>0;b:{c:{d:{e:{f:{g:{j=k?f:b;if(j){i=i?J[e+16>>2]:e+16|0;l=Ba(h,i,j);if(l){break g}if(b>>>0>=f>>>0){break f}break b}if(b>>>0>=f>>>0){break e}break b}if((l|0)<0){break b}}f=Ba(i,h,j);if(f){break d}}if(k){break c}return Bb(g,c,d)}if((f|0)<0){break c}return Bb(g,c,d)}e=e+4|0}e=J[e>>2];if(e){continue}break}}return Bb(a,c,d)}function Fd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{e=J[a+20>>2];b:{if(!((!J[a+16>>2]&(e|0)<=0|(e|0)<0)&(!!b&(c|0)>=0|(c|0)>0))){break b}H[a+24|0]=d;e=b+7|0;c=e>>>0<7?c+1|0:c;e=(c&7)<<29|e>>>3;J[a+16>>2]=e;J[a+20>>2]=c>>>3;f=J[a+4>>2];h=J[a>>2];c=f-h|0;b=c+8|0;d=d?b:c;b=d+e|0;c:{if(b>>>0>c>>>0){e=b-c|0;g=J[a+8>>2];if(e>>>0<=g-f>>>0){i=a,j=pa(f,0,e)+e|0,J[i+4>>2]=j;break c}if((b|0)<0){break a}f=g-h|0;g=f<<1;f=f>>>0>=1073741823?2147483647:b>>>0>>0?g:b;g=oa(f);pa(g+c|0,0,e);c=ta(g,h,c);J[a+8>>2]=c+f;J[a+4>>2]=b+c;J[a>>2]=c;if(!h){break c}na(h);break c}if(b>>>0>=c>>>0){break c}J[a+4>>2]=b+h}c=J[a>>2];b=oa(8);J[b+4>>2]=0;J[b>>2]=c+d;c=J[a+12>>2];J[a+12>>2]=b;if(!c){break b}na(c)}return}qa();B()}function Ce(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+16|0;d=J[e>>2];a:{if(!d){break a}f=J[b>>2];b=e;while(1){g=(f|0)>J[d+16>>2];b=g?b:d;d=J[(g?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(e|0)|(f|0)>2]){break a}d=J[b+24>>2];if(!d){break a}f=b+20|0;b=K[c+11|0];e=b<<24>>24<0;g=e?J[c>>2]:c;b=e?J[c+4>>2]:b;while(1){e=K[d+27|0];h=e<<24>>24<0;e=h?J[d+20>>2]:e;j=e>>>0>>0;b:{c:{d:{e:{f:{g:{i=j?e:b;if(i){h=h?J[d+16>>2]:d+16|0;k=Ba(g,h,i);if(k){break g}if(b>>>0>=e>>>0){break f}break b}if(b>>>0>=e>>>0){break e}break b}if((k|0)<0){break b}}e=Ba(h,g,i);if(e){break d}}if(j){break c}return Dd(f,c)}if((e|0)<0){break c}return Dd(f,c)}d=d+4|0}d=J[d>>2];if(d){continue}break}}return Dd(a,c)}function td(a,b,c){var d=0,e=0,f=0,g=0;Aa(J[c+8>>2],b);e=J[c>>2];g=c+4|0;if((e|0)!=(g|0)){while(1){if(!hf(b,e+16|0)){return}d=J[e+32>>2]-J[e+28>>2]|0;Aa(d,b);f=J[b+20>>2];if(!J[b+16>>2]&(f|0)<=0|(f|0)<0){f=J[e+28>>2];sa(b,J[b+4>>2],f,d+f|0)}f=J[e+4>>2];a:{if(f){while(1){d=f;f=J[d>>2];if(f){continue}break a}}while(1){d=J[e+8>>2];f=J[d>>2]!=(e|0);e=d;if(f){continue}break}}e=d;if((d|0)!=(g|0)){continue}break}}Aa(J[c+20>>2],b);d=J[c+12>>2];c=c+16|0;if((d|0)==(c|0)){return}while(1){if(!hf(b,d+16|0)){return}td(a,b,J[d+28>>2]);f=d;e=J[d+4>>2];b:{if(e){while(1){d=e;e=J[d>>2];if(e){continue}break b}}while(1){d=J[f+8>>2];e=J[d>>2]!=(f|0);f=d;if(e){continue}break}}if((c|0)!=(d|0)){continue}break}}function kl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=J[b+4>>2]-J[b>>2]>>2;f=J[a+8>>2];i=K[f+24|0];d=i;g=ba+-64|0;ba=g;e=Lc(g);h=P(d,J[3712]);Nd(e,J[J[a+8>>2]+56>>2],0,d,5,h,h>>31);e=jg(oa(96),e);Kd(e,j);d=J[a+32>>2];J[a+32>>2]=e;if(d){Ka(d)}a:{if(!c){break a}d=J[a+32>>2];H[d+84|0]=0;h=J[d+68>>2];e=J[d+72>>2]-h>>2;if(e>>>0>>0){Ma(d+68|0,c-e|0,2736);break a}if(c>>>0>=e>>>0){break a}J[d+72>>2]=h+(c<<2)}ba=g- -64|0;c=J[b>>2];d=J[b+4>>2];if((c|0)==(d|0)){return 1}a=J[a+32>>2];g=J[J[a>>2]>>2]+J[a+48>>2]|0;b=0;while(1){a=J[c>>2];if(!K[f+84|0]){a=J[J[f+68>>2]+(a<<2)>>2]}a=$c(f,a,H[f+24|0],g+(b<<2)|0);if(a){b=b+i|0;c=c+4|0;if((d|0)!=(c|0)){continue}}break}return a|0}function Rb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;h=f>>2;d=J[a+8>>2];e=J[a>>2];if(h>>>0<=d-e>>2>>>0){d=J[a+4>>2];g=d-e|0;f=g+b|0;i=g>>2;g=i>>>0>>0?f:c;if((g|0)!=(b|0)){while(1){J[e>>2]=J[b>>2];e=e+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}if(h>>>0>i>>>0){if((c|0)!=(g|0)){while(1){J[d>>2]=J[f>>2];d=d+4|0;f=f+4|0;if((f|0)!=(c|0)){continue}break}}J[a+4>>2]=d;return}J[a+4>>2]=e;return}if(e){J[a+4>>2]=e;na(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(d>>>0>=1073741824){break a}e=d<<2;d=oa(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=ua(d,c,b)+b|0}J[a+4>>2]=d;return}qa();B()}function Na(a,b,c){var d=0,e=0,f=0;e=ba-16|0;ba=e;J[a+4>>2]=0;a:{b:{if(!b){break b}f=J[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){J[a+4>>2]=b;break c}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if((b|0)<0){break a}if(d>>>0<=1073741822){f=f<<6;d=b+31&-32;d=d>>>0>>0?f:d}else{d=2147483647}wc(e,d);f=J[a>>2];J[a>>2]=J[e>>2];J[e>>2]=f;d=J[a+4>>2];J[a+4>>2]=b;J[e+4>>2]=d;d=J[a+8>>2];J[a+8>>2]=J[e+8>>2];J[e+8>>2]=d;if(!f){break c}na(f)}d=b>>>5|0;a=J[a>>2];if(K[c|0]){if(b>>>0>=32){pa(a,255,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]|-1>>>32-(b&31);break b}if(b>>>0>=32){pa(a,0,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}ba=e+16|0;return}qa();B()}function kc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;h=ba-16|0;ba=h;a:{b:{c=J[a+8>>2];c:{if((c|0)!=J[a+12>>2]){J[c>>2]=b;J[a+8>>2]=c+4;break c}f=c;c=J[a+4>>2];e=f-c|0;g=e>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=oa(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=b;e=ta(f,c,e);J[a+12>>2]=e+(d<<2);J[a+8>>2]=g+4;J[a+4>>2]=e;if(!c){break c}na(c)}c=J[a+16>>2];e=J[a+20>>2]-c>>2;d:{if((e|0)>(b|0)){break d}J[h+12>>2]=-1;d=b+1|0;if(d>>>0>e>>>0){jc(a+16|0,d-e|0,h+12|0);c=J[a+16>>2];break d}if(d>>>0>=e>>>0){break d}J[a+20>>2]=(d<<2)+c}J[(b<<2)+c>>2]=(J[a+8>>2]-J[a+4>>2]>>2)-1;ba=h+16|0;return}qa();B()}xa();B()}function gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=ba-48|0;ba=d;J[d+40>>2]=J[a- -64>>2];c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],d+40|0,d+44|0)}c=d+8|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);if(J[d+40>>2]>0){f=1;while(1){g=f;f=J[J[a+60>>2]+(e>>>3&536870908)>>2]>>>e|0;Ca(c,(g^f^-1)&1);f=f&1;e=e+1|0;if((e|0)>2]){continue}break}}ya(c,b);J[d+44>>2]=J[a+12>>2];e=J[b+20>>2];a:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break a}f=d+48|0;sa(b,J[b+4>>2],d+44|0,f);e=J[b+20>>2];g=J[b+16>>2];J[d+44>>2]=J[a+24>>2];if(!!g&(e|0)>=0|(e|0)>0){break a}sa(b,J[b+4>>2],d+44|0,f)}wa(c);ba=d+48|0;return 1}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=ba-48|0;ba=d;J[d+40>>2]=J[a+80>>2];c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],d+40|0,d+44|0)}c=d+8|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;za(c);if(J[d+40>>2]>0){f=1;while(1){g=f;f=J[J[a+76>>2]+(e>>>3&536870908)>>2]>>>e|0;Ca(c,(g^f^-1)&1);f=f&1;e=e+1|0;if((e|0)>2]){continue}break}}ya(c,b);J[d+44>>2]=J[a+12>>2];e=J[b+20>>2];a:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break a}f=d+48|0;sa(b,J[b+4>>2],d+44|0,f);e=J[b+20>>2];g=J[b+16>>2];J[d+44>>2]=J[a+16>>2];if(!!g&(e|0)>=0|(e|0)>0){break a}sa(b,J[b+4>>2],d+44|0,f)}wa(c);ba=d+48|0;return 1}function Ic(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{e=J[a>>2];f=J[a+4>>2]-e>>2;c=f+1|0;if(c>>>0<1073741824){e=J[a+8>>2]-e|0;g=e>>>1|0;c=e>>>0>=2147483644?1073741823:c>>>0>>0?g:c;if(c){if(c>>>0>=1073741824){break c}d=oa(c<<2)}e=J[b>>2];J[b>>2]=0;b=(f<<2)+d|0;J[b>>2]=e;c=(c<<2)+d|0;e=b+4|0;d=J[a+4>>2];f=J[a>>2];if((d|0)==(f|0)){break b}while(1){d=d-4|0;g=J[d>>2];J[d>>2]=0;b=b-4|0;J[b>>2]=g;if((d|0)!=(f|0)){continue}break}J[a+8>>2]=c;c=J[a+4>>2];J[a+4>>2]=e;d=J[a>>2];J[a>>2]=b;if((c|0)==(d|0)){break a}while(1){c=c-4|0;a=J[c>>2];J[c>>2]=0;if(a){da[J[J[a>>2]+4>>2]](a)}if((c|0)!=(d|0)){continue}break}break a}qa();B()}xa();B()}J[a+8>>2]=c;J[a+4>>2]=e;J[a>>2]=b}if(d){na(d)}}function kd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0;i=ba-16|0;ba=i;if((b^-1)+2147483631>>>0>=c>>>0){if(K[a+11|0]>>>7|0){k=J[a>>2]}else{k=a}if(b>>>0<1073741799){J[i+12>>2]=b<<1;J[i>>2]=b+c;c=ba-16|0;ba=c;ba=c+16|0;c=i+12|0;c=J[(M[i>>2]>2]?c:i)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}Ac(i,c);c=J[i>>2];if(e){Ab(c,k,e)}if(g){Ab(c+e|0,h,g)}j=e+f|0;h=d-j|0;if((d|0)!=(j|0)){Ab((c+e|0)+g|0,(e+k|0)+f|0,h)}if((b|0)!=10){na(k)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[i+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;b=a;a=h+(e+g|0)|0;J[b+4>>2]=a;H[i+12|0]=0;H[a+c|0]=K[i+12|0];ba=i+16|0;return}gb();B()}function Lk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;J[b>>2]=1;f=b+8|0;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){Gc(f,d+4|0);c=J[f>>2]}c=c+d|0;d=J[a+4>>2];H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=J[a+8>>2];if((c|0)!=J[a+12>>2]){d=0;while(1){g=(d<<2)+c|0;c=J[b+8>>2];e=J[b+12>>2]-c|0;if(e>>>0<=4294967291){Gc(f,e+4|0);c=J[f>>2]}c=c+e|0;e=J[g>>2];H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;d=d+1|0;c=J[a+8>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}c=J[b+12>>2];b=J[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){Gc(f,c+4|0);b=J[f>>2]}b=b+c|0;a=J[a+20>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function bb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;g=f>>2;d=J[a+8>>2];e=J[a>>2];if(g>>>0<=d-e>>2>>>0){f=J[a+4>>2]-e|0;d=f+b|0;h=f>>2;f=h>>>0>>0?d:c;i=f-b|0;if((b|0)!=(f|0)){ta(e,b,i)}if(g>>>0>h>>>0){b=J[a+4>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}}J[a+4>>2]=b;return}J[a+4>>2]=e+i;return}if(e){J[a+4>>2]=e;na(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(d>>>0>=1073741824){break a}e=d<<2;d=oa(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=ua(d,c,b)+b|0}J[a+4>>2]=d;return}qa();B()}function Xg(a,b,c){var d=0,e=0,f=0;d=ba-16|0;ba=d;J[d+12>>2]=b;b=oa(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);f=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=e;H[b+13|0]=e>>>8;H[b+14|0]=e>>>16;H[b+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);f=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=e;H[b+5|0]=e>>>8;H[b+6|0]=e>>>16;H[b+7|0]=e>>>24;H[b+17|0]=0;Wg(a+4|0,d+12|0,d,c);if(H[d+11|0]<0){na(J[d>>2])}ba=d+16|0}function Ua(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{if((a|0)==(b|0)){break b}J[c>>2]=J[a>>2];e=a+4|0;if((e|0)==(b|0)){break b}a=J[d>>2];g=J[a>>2];i=J[a+4>>2]-g>>3;a=c;while(1){d=J[e>>2];if(d>>>0>=i>>>0){break a}f=J[a>>2];if(f>>>0>=i>>>0){break a}j=a+4|0;c:{if(M[(d<<3)+g>>2]>2]){J[a+4>>2]=f;h=c;d:{if((a|0)==(c|0)){break d}while(1){k=J[e>>2];if(k>>>0>=i>>>0){break a}f=a-4|0;d=J[f>>2];if(d>>>0>=i>>>0){break a}h=a;if(M[(k<<3)+g>>2]>=M[(d<<3)+g>>2]){break d}J[a>>2]=d;a=f;if((c|0)!=(a|0)){continue}break}h=c}J[h>>2]=J[e>>2];break c}J[j>>2]=d}a=j;e=e+4|0;if((e|0)!=(b|0)){continue}break}}return}ra();B()}function mk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=ba-32|0;ba=f;d=d-e|0;if((d|0)>0){i=a+8|0;k=0-e<<2;while(1){j=d<<2;g=j+b|0;h=g+k|0;l=J[h>>2];h=J[h+4>>2];m=J[g+4>>2];J[f+16>>2]=J[g>>2];J[f+20>>2]=m;J[f+8>>2]=l;J[f+12>>2]=h;Ya(f+24|0,i,f+16|0,f+8|0);g=c+j|0;J[g>>2]=J[f+24>>2];J[g+4>>2]=J[f+28>>2];d=d-e|0;if((d|0)>0){continue}break}}d=e>>>0>1073741823?-1:e<<2;d=pa(oa(d),0,d);e=J[d>>2];g=J[d+4>>2];i=J[b+4>>2];J[f+16>>2]=J[b>>2];J[f+20>>2]=i;J[f+8>>2]=e;J[f+12>>2]=g;Ya(f+24|0,a+8|0,f+16|0,f+8|0);J[c>>2]=J[f+24>>2];J[c+4>>2]=J[f+28>>2];na(d);ba=f+32|0;return 1}function qk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=ba-32|0;ba=g;J[a+48>>2]=f;i=1;a:{d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;b:{if((d|0)<4){break b}l=a+44|0;m=a+8|0;f=d>>>2|0;while(1){d=J[a+40>>2];i=J[d>>2];h=J[d+4>>2]-i>>2;d=f-1|0;if(h>>>0<=d>>>0){break a}i=lh(l,J[i+(d<<2)>>2],b,d);if(!i){break b}h=J[a+52>>2];n=J[a+56>>2];j=P(d,e)<<2;k=j+b|0;o=J[k+4>>2];J[g+16>>2]=J[k>>2];J[g+20>>2]=o;J[g+8>>2]=h;J[g+12>>2]=n;Ya(g+24|0,m,g+16|0,g+8|0);h=c+j|0;J[h>>2]=J[g+24>>2];J[h+4>>2]=J[g+28>>2];h=f>>>0>1;f=d;if(h){continue}break}}ba=g+32|0;return i|0}ra();B()}function Ck(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=ba-32|0;ba=g;J[a+48>>2]=f;i=1;a:{d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;b:{if((d|0)<4){break b}l=a+44|0;m=a+8|0;f=d>>>2|0;while(1){d=J[a+40>>2];i=J[d>>2];h=J[d+4>>2]-i>>2;d=f-1|0;if(h>>>0<=d>>>0){break a}i=qh(l,J[i+(d<<2)>>2],b,d);if(!i){break b}h=J[a+52>>2];n=J[a+56>>2];j=P(d,e)<<2;k=j+b|0;o=J[k+4>>2];J[g+16>>2]=J[k>>2];J[g+20>>2]=o;J[g+8>>2]=h;J[g+12>>2]=n;Ya(g+24|0,m,g+16|0,g+8|0);h=c+j|0;J[h>>2]=J[g+24>>2];J[h+4>>2]=J[g+28>>2];h=f>>>0>1;f=d;if(h){continue}break}}ba=g+32|0;return i|0}ra();B()}function hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;cf(a,b,c);e=J[a+96>>2];a=J[a+100>>2];a:{if((e|0)==(a|0)){break a}d=(a-e|0)/12|0;f=d>>>0<=1?1:d;g=f&1;a=J[b>>2];c=0;if(d>>>0>=2){f=f&-2;d=0;while(1){b=P(c,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2];b=P(c|1,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2];c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!g){break a}b=P(c,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2]}}function Tg(a,b){var c=0,d=0,e=0,f=0;f=ba-16|0;ba=f;c=oa(16);J[f>>2]=c;J[f+4>>2]=15;J[f+8>>2]=-2147483632;d=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);e=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[c+7|0]=e;H[c+8|0]=e>>>8;H[c+9|0]=e>>>16;H[c+10|0]=e>>>24;H[c+11|0]=d;H[c+12|0]=d>>>8;H[c+13|0]=d>>>16;H[c+14|0]=d>>>24;d=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);e=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+15|0]=0;vb(a+4|0,f,b);if(H[f+11|0]<0){na(J[f>>2])}ba=f+16|0}function Gi(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,l=0;a=ba-16|0;ba=a;a:{if(!b){break a}J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;h=b+96|0;g=J[b+96>>2];e=(J[b+100>>2]-g|0)/12|0;b:{if(e>>>0>>0){of(h,c-e|0,a);break b}if(c>>>0>>0){J[b+100>>2]=g+P(c,12)}if(!c){break a}}g=J[h>>2];e=0;while(1){i=P(e,12);f=i+d|0;j=J[f>>2];k=J[f+8>>2];l=J[f+4>>2];f=(J[b+100>>2]-g|0)/12|0;c:{if(f>>>0>e>>>0){e=e+1|0;break c}J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=e+1|0;of(h,e-f|0,a);g=J[h>>2]}f=g+i|0;J[f+8>>2]=k;J[f+4>>2]=l;J[f>>2]=j;if((c|0)!=(e|0)){continue}break}}ba=a+16|0;return(b|0)!=0|0}function Hb(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0;i=1;j=d&2147483647;l=j;k=(j|0)==2147418112;a:{if(k&!c?a|b:k&(c|0)!=0|j>>>0>2147418112){break a}j=h&2147483647;k=(j|0)==2147418112;if(k&!g?e|f:k&(g|0)!=0|j>>>0>2147418112){break a}if(!(a|e|(c|g)|(b|f|(j|l)))){return 0}i=d&h;if((i|0)>0|(i|0)>=0){i=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>>0|b>>>0>>0:c>>>0>>0&(d|0)<=(h|0)|(d|0)<(h|0)){break a}return(a^e|c^g|(b^f|d^h))!=0}i=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>e>>>0|b>>>0>f>>>0:c>>>0>g>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}i=(a^e|c^g|(b^f|d^h))!=0}return i}function Jb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{b:{if(b){if(b>>>0>=357913942){break b}b=P(b,12);d=oa(b);J[a+4>>2]=d;J[a>>2]=d;e=b+d|0;J[a+8>>2]=e;f=J[c+4>>2];g=J[c>>2];c:{if((f|0)==(g|0)){b=b-12|0;pa(d,0,(b-((b>>>0)%12|0)|0)+12|0);break c}h=f-g|0;if((h|0)<0){break a}i=h&-4;while(1){J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;b=oa(h);J[d>>2]=b;J[d+8>>2]=b+i;c=g;while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}J[d+4>>2]=b;d=d+12|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e}return}qa();B()}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;qa();B()}function tc(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=c-b|0;g=f>>2;e=J[a+8>>2];d=J[a>>2];if(g>>>0<=e-d>>2>>>0){e=J[a+4>>2]-d|0;f=e>>2;e=f>>>0>>0?b+e|0:c;h=e-b|0;if((b|0)!=(e|0)){ta(d,b,h)}if(f>>>0>>0){b=c-e|0;d=J[a+4>>2];if((c|0)!=(e|0)){ta(d,e,b)}J[a+4>>2]=b+d;return}J[a+4>>2]=d+h;return}if(d){J[a+4>>2]=d;na(d);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=0}a:{if((f|0)<0){break a}d=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>g>>>0?d:g;if(d>>>0>=1073741824){break a}e=d<<2;d=oa(e);J[a+4>>2]=d;J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){ua(d,b,f)}J[a+4>>2]=d+(g<<2);return}qa();B()}function jg(a,b){var c=0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+60>>2];J[a+56>>2]=J[b+56>>2];J[a+60>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+36>>2];J[a+32>>2]=J[b+32>>2];J[a+36>>2]=c;c=J[b+28>>2];J[a+24>>2]=J[b+24>>2];J[a+28>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;J[a+88>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a}function ob(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;a=J[a+4>>2];a:{b:{if(!a){break b}d=K[b+11|0];c=d<<24>>24<0;g=c?J[b>>2]:b;d=c?J[b+4>>2]:d;b=f;while(1){e=K[a+27|0];c=e<<24>>24<0;e=c?J[a+20>>2]:e;h=e>>>0>d>>>0;i=h?d:e;c:{if(i){c=Ba(c?J[a+16>>2]:a+16|0,g,i);if(c){break c}}c=d>>>0>e>>>0?-1:h}c=(c|0)<0;b=c?b:a;a=J[(c?a+4|0:a)>>2];if(a){continue}break}if((b|0)==(f|0)){break b}c=K[b+27|0];a=c<<24>>24<0;d:{c=a?J[b+20>>2]:c;e=c>>>0>>0?c:d;if(e){a=Ba(g,a?J[b+16>>2]:b+16|0,e);if(a){break d}}if(c>>>0>d>>>0){break b}break a}if((a|0)>=0){break a}}b=f}return b}function xe(a){var b=0,c=0,d=0,e=0;c=J[a+152>>2];if(c){d=c;b=J[a+156>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;na(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+152>>2]}J[a+156>>2]=c;na(d)}c=J[a+140>>2];if(c){d=c;b=J[a+144>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;na(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+140>>2]}J[a+144>>2]=c;na(d)}b=J[a+128>>2];if(b){J[a+132>>2]=b;na(b)}b=J[a+116>>2];if(b){J[a+120>>2]=b;na(b)}b=J[a+104>>2];if(b){J[a+108>>2]=b;na(b)}tb(a+84|0);tb(a- -64|0);tb(a+44|0);wa(a+12|0)}function Uh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(pb(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(pb(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;b:{if(J[b+44>>2]==4){break b}I[b+52>>1]=0;a=J[a+8>>2];da[J[J[a>>2]+20>>2]](a,b,c,c,1,e);if(K[b+53|0]){J[b+44>>2]=3;if(!K[b+52|0]){break b}break a}J[b+44>>2]=4}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}a=J[a+8>>2];da[J[J[a>>2]+24>>2]](a,b,c,d,e)}}function xc(a,b){var c=0,d=0,e=0,f=0;c=J[a+16>>2];if(b){J[a+12>>2]=J[a+12>>2]|-2147483648>>>c}b=c+1|0;J[a+16>>2]=b;a:{b:{if((b|0)==32){b=J[a+4>>2];c:{if((b|0)!=J[a+8>>2]){J[b>>2]=J[a+12>>2];J[a+4>>2]=b+4;break c}d=b;b=J[a>>2];c=d-b|0;f=c>>2;e=f+1|0;if(e>>>0>=1073741824){break b}d=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0>>0?d:e;if(e){if(e>>>0>=1073741824){break a}d=oa(e<<2)}else{d=0}f=d+(f<<2)|0;J[f>>2]=J[a+12>>2];c=ta(d,b,c);J[a+8>>2]=c+(e<<2);J[a+4>>2]=f+4;J[a>>2]=c;if(!b){break c}na(b)}J[a+12>>2]=0;J[a+16>>2]=0}return}qa();B()}xa();B()}function ue(a){var b=0,c=0,d=0,e=0;c=J[a+140>>2];if(c){d=c;b=J[a+144>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;na(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+140>>2]}J[a+144>>2]=c;na(d)}c=J[a+128>>2];if(c){d=c;b=J[a+132>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;na(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+128>>2]}J[a+132>>2]=c;na(d)}b=J[a+116>>2];if(b){J[a+120>>2]=b;na(b)}b=J[a+104>>2];if(b){J[a+108>>2]=b;na(b)}b=J[a+92>>2];if(b){J[a+96>>2]=b;na(b)}tb(a+72|0);tb(a+52|0);tb(a+32|0);tb(a+12|0)}function Qg(a,b,c,d,e){var f=0,g=0,h=0;f=ba-16|0;ba=f;g=Pg(b,c,f+12|0,f+8|0,d);d=J[g>>2];if(d){b=0}else{d=oa(40);c=d+16|0;a:{if(H[e+11|0]>=0){h=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=h;J[c+8>>2]=J[e+8>>2];break a}Ga(c,J[e>>2],J[e+4>>2])}c=d+28|0;b:{if(H[e+23|0]>=0){e=e+12|0;h=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=h;J[c+8>>2]=J[e+8>>2];break b}Ga(c,J[e+12>>2],J[e+16>>2])}J[d+8>>2]=J[f+12>>2];J[d>>2]=0;J[d+4>>2]=0;J[g>>2]=d;e=d;c=J[J[b>>2]>>2];if(c){J[b>>2]=c;e=J[g>>2]}sb(J[b+4>>2],e);J[b+8>>2]=J[b+8>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=d;ba=f+16|0}function ig(a){var b=0,c=0,d=0,e=0;za(a);c=J[a+84>>2];a:{if((c|0)<=0){break a}b=c<<5;d=oa(c>>>0>134217727?-1:b|4);J[d>>2]=c;d=d+4|0;c=d+b|0;b=d;while(1){J[b>>2]=0;J[b+4>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;b=b+32|0;if((c|0)!=(b|0)){continue}break}e=J[a+80>>2];J[a+80>>2]=d;if(e){c=e-4|0;d=J[c>>2];if(d){b=(d<<5)+e|0;while(1){b=wa(b-32|0);if((e|0)!=(b|0)){continue}break}}na(c)}if(J[a+84>>2]<=0){break a}b=0;while(1){za(J[a+80>>2]+(b<<5)|0);b=b+1|0;if((b|0)>2]){continue}break}}}function qb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=ba-16|0;ba=f;A(+b);g=v(1)|0;d=v(0)|0;c=g&2147483647;e=c+-1048576|0;a:{if((e|0)==2145386495|e>>>0<2145386495){h=d<<28;e=c>>>4|0;c=(c&15)<<28|d>>>4;d=e+1006632960|0;break a}if((c|0)==2146435072|c>>>0>2146435072){h=d<<28;c=(g&15)<<28|d>>>4;d=g>>>4|2147418112;break a}if(!(c|d)){c=0;d=0;break a}e=c;c=c?S(c):S(d)+32|0;Pa(f,d,e,0,0,c+49|0);i=J[f>>2];h=J[f+4>>2];e=15372-c<<16;c=J[f+8>>2];d=e|J[f+12>>2]^65536}J[a>>2]=i;J[a+4>>2]=h;J[a+8>>2]=c;J[a+12>>2]=g&-2147483648|d;ba=f+16|0}function yi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=ba-48|0;ba=f;a:{if(!b){a=0;break a}e=f+16|0;J[e>>2]=0;J[e+4>>2]=0;H[e+24|0]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;g=0;b:{if((Nb(b,0)|0)==-1){break b}if(c){g=0;if(!(da[J[J[b>>2]+16>>2]](b)|0)){break b}da[J[J[b>>2]+20>>2]](b)}ah(f,a,b,e);a=J[f>>2];if(H[f+15|0]<0){na(J[f+4>>2])}g=0;if(a){break b}vd(d,J[e>>2],J[e+4>>2]);g=J[e+4>>2]-J[e>>2]|0}a=g;b=J[e+12>>2];J[e+12>>2]=0;if(b){na(b)}b=J[e>>2];if(!b){break a}J[e+4>>2]=b;na(b)}ba=f+48|0;return a|0}function re(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2284;d=J[a+60>>2];if(d){b=d;c=J[a- -64>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){Ka(b)}if((c|0)!=(d|0)){continue}break}b=J[a+60>>2]}J[a+64>>2]=d;na(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}d=J[a+36>>2];if(d){b=d;c=J[a+40>>2];if((b|0)!=(c|0)){while(1){c=c-24|0;da[J[J[c>>2]>>2]](c)|0;if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;na(b)}J[a>>2]=2188;b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;na(b)}return a|0}function Ld(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=J[a+8>>2];d=J[a+4>>2];if(c-d>>2>>>0>=b>>>0){if(b){b=b<<2;d=pa(d,0,b)+b|0}J[a+4>>2]=d;return}a:{f=J[a>>2];g=d-f>>2;e=g+b|0;if(e>>>0<1073741824){c=c-f|0;h=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break a}i=oa(e<<2)}c=(g<<2)+i|0;b=b<<2;b=pa(c,0,b)+b|0;if((d|0)!=(f|0)){while(1){c=c-4|0;d=d-4|0;J[c>>2]=J[d>>2];if((d|0)!=(f|0)){continue}break}}J[a+8>>2]=(e<<2)+i;J[a+4>>2]=b;J[a>>2]=c;if(f){na(f)}return}qa();B()}xa();B()}function zi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=ba-48|0;ba=e;a:{if(!b){a=0;break a}d=e+16|0;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;f=0;b:{if((Nb(b,0)|0)==-1){break b}f=0;if(!(da[J[J[b>>2]+16>>2]](b)|0)){break b}da[J[J[b>>2]+20>>2]](b);Zg(e,a,b,d);a=J[e>>2];if(H[e+15|0]<0){na(J[e+4>>2])}f=0;if(a){break b}vd(c,J[d>>2],J[d+4>>2]);f=J[d+4>>2]-J[d>>2]|0}a=f;b=J[d+12>>2];J[d+12>>2]=0;if(b){na(b)}b=J[d>>2];if(!b){break a}J[d+4>>2]=b;na(b)}ba=e+48|0;return a|0}function Gb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;a:{if(f&64){c=f+-64|0;b=c&31;if((c&63)>>>0>=32){c=0;b=e>>>b|0}else{c=e>>>b|0;b=((1<>>b}d=0;e=0;break a}if(!f){break a}i=d;h=64-f|0;g=h&31;if((h&63)>>>0>=32){h=i<>>32-g|e<>>0>=32){g=0;b=c>>>b|0}else{g=c>>>b|0;b=((1<>>b}b=j|b;c=g|h;g=d;d=f&31;if((f&63)>>>0>=32){h=0;d=e>>>d|0}else{h=e>>>d|0;d=((1<>>d}e=h}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e}function hf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=ba-16|0;ba=c;e=K[b+11|0];e=e<<24>>24<0?J[b+4>>2]:e;a:{if(e>>>0>255){break a}if(!e){H[c+15|0]=0;b=J[a+20>>2];if(!!J[a+16>>2]&(b|0)>=0|(b|0)>0){break a}sa(a,J[a+4>>2],c+15|0,c+16|0);break a}H[c+14|0]=e;d=J[a+20>>2];if(!!J[a+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(a,J[a+4>>2],c+14|0,c+15|0);d=J[a+20>>2];if(!!J[a+16>>2]&(d|0)>=0|(d|0)>0){break a}g=a;h=J[a+4>>2];a=K[b+11|0];d=a<<24>>24<0;f=d?J[b>>2]:b;sa(g,h,f,(d?J[b+4>>2]:a)+f|0)}ba=c+16|0;return e>>>0<256}function Gc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=J[a+4>>2];e=J[a>>2];d=c-e|0;b:{if(d>>>0>>0){g=b-d|0;f=J[a+8>>2];if(g>>>0<=f-c>>>0){h=a,i=pa(c,0,g)+g|0,J[h+4>>2]=i;break b}if((b|0)<0){break a}c=f-e|0;f=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0>>0?f:b;f=oa(c);pa(f+d|0,0,g);d=ta(f,e,d);J[a+8>>2]=d+c;J[a+4>>2]=b+d;J[a>>2]=d;if(!e){break b}na(e);break b}if(b>>>0>=d>>>0){break b}J[a+4>>2]=b+e}b=J[a+28>>2];c=b;d=b+1|0;b=J[a+24>>2]+1|0;e=b?c:d;J[a+24>>2]=b;J[a+28>>2]=e;return}qa();B()}function pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=ba-48|0;ba=d;e=J[a+4>>2];a:{if(!e){break a}if(b){if(!(da[J[J[e>>2]+16>>2]](e)|0)){break a}b=J[a+4>>2];da[J[J[b>>2]+20>>2]](b)}b=d+16|0;J[b>>2]=0;J[b+4>>2]=0;H[b+24|0]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;fe(d,J[a>>2],b);a=J[d>>2];if(H[d+15|0]<0){na(J[d+4>>2])}if(!a){vd(c,J[b>>2],J[b+4>>2]);f=J[b+4>>2]-J[b>>2]|0}a=J[b+12>>2];J[b+12>>2]=0;if(a){na(a)}a=J[b>>2];if(!a){break a}J[b+4>>2]=a;na(a)}ba=d+48|0;return f|0}function Dl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=1;a:{if((da[J[J[b>>2]+20>>2]](b)|0)<=0){break a}while(1){e=0;d=Nb(J[J[a+4>>2]+4>>2],da[J[J[b>>2]+24>>2]](b,f)|0);if((d|0)==-1){break a}c=J[a+4>>2];g=0;b:{if((d|0)<0){break b}h=J[c+4>>2];if(J[h+12>>2]-J[h+8>>2]>>2<=(d|0)){break b}c=J[J[c+8>>2]+(J[J[c+20>>2]+(d<<2)>>2]<<2)>>2];g=da[J[J[c>>2]+36>>2]](c,d)|0}if(!(da[J[J[b>>2]+28>>2]](b,g)|0)){break a}e=1;f=f+1|0;if((da[J[J[b>>2]+20>>2]](b)|0)>(f|0)){continue}break}}return e|0}function Pa(a,b,c,d,e,f){var g=0,h=0,i=0;a:{if(f&64){d=b;e=f+-64|0;b=e&31;if((e&63)>>>0>=32){e=d<>>32-b|c<>>0>=32){h=g<>>32-d|e<>>0>=32){e=0;b=c>>>d|0}else{e=c>>>d|0;b=((1<>>d}d=i|b;e=e|h;b=f&31;if((f&63)>>>0>=32){h=g<>>32-b|c<>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e}function se(a,b){ya(a,b);ya(a+32|0,b);ya(a- -64|0,b);ya(a+96|0,b);ya(a+128|0,b);ya(a+160|0,b);ya(a+192|0,b);ya(a+224|0,b);ya(a+256|0,b);ya(a+288|0,b);ya(a+320|0,b);ya(a+352|0,b);ya(a+384|0,b);ya(a+416|0,b);ya(a+448|0,b);ya(a+480|0,b);ya(a+512|0,b);ya(a+544|0,b);ya(a+576|0,b);ya(a+608|0,b);ya(a+640|0,b);ya(a+672|0,b);ya(a+704|0,b);ya(a+736|0,b);ya(a+768|0,b);ya(a+800|0,b);ya(a+832|0,b);ya(a+864|0,b);ya(a+896|0,b);ya(a+928|0,b);ya(a+960|0,b);ya(a+992|0,b);ya(a+1024|0,b)}function Ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=J[J[a+8>>2]+40>>2];h=oa((d|0)<0?-1:d);g=J[b>>2];i=J[b+4>>2];if((g|0)!=(i|0)){k=d+h|0;while(1){e=J[(j<<2)+g>>2];f=J[a+8>>2];if(!K[f+84|0]){e=J[J[f+68>>2]+(e<<2)>>2]}l=J[J[f>>2]>>2];d=J[f+40>>2];e=J[f+48>>2]+Hl(d,J[f+44>>2],e,0)|0;e=ua(h,e+l|0,d);d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){sa(c,J[c+4>>2],e,k);g=J[b>>2];i=J[b+4>>2]}j=j+1|0;if(j>>>0>2>>>0){continue}break}}na(h);return 1}function Pe(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!J[J[4843]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){H[a+1|0]=b&63|128;H[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){H[a+2|0]=b&63|128;H[a|0]=b>>>12|224;H[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){H[a+3|0]=b&63|128;H[a|0]=b>>>18|240;H[a+2|0]=b>>>6&63|128;H[a+1|0]=b>>>12&63|128;a=4;break a}}J[4804]=25;a=-1}else{a=1}break a}H[a|0]=b;a=1}return a}function Je(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=ba-16|0;ba=f;d=ba-32|0;ba=d;e=ba-16|0;ba=e;J[e+12>>2]=a;J[e+8>>2]=a+b;J[d+24>>2]=J[e+12>>2];J[d+28>>2]=J[e+8>>2];ba=e+16|0;b=ba-16|0;ba=b;h=J[d+28>>2];e=J[d+24>>2];g=h-e|0;if((e|0)!=(h|0)){ta(c,e,g)}J[b+12>>2]=e+g;J[b+8>>2]=c+g;J[d+16>>2]=J[b+12>>2];J[d+20>>2]=J[b+8>>2];ba=b+16|0;J[d+12>>2]=(J[d+16>>2]-a|0)+a;J[d+8>>2]=(J[d+20>>2]-c|0)+c;J[f+8>>2]=J[d+12>>2];J[f+12>>2]=J[d+8>>2];ba=d+32|0;ba=f+16|0;return J[f+12>>2]}function aj(a,b){a=a|0;b=b|0;var c=0,d=0;c=ba-16|0;ba=c;d=J[a+8>>2];a:{if((d|0)==J[a+12>>2]){b=bf(oa(76),b);J[b+36>>2]=0;J[b+40>>2]=0;J[b>>2]=2284;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+68>>2]=0;J[b+72>>2]=0;J[c+8>>2]=b;d=J[a+12>>2];b:{if(d>>>0>2]){J[c+8>>2]=0;J[d>>2]=b;J[a+12>>2]=d+4;break b}Ic(a+8|0,c+8|0)}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break a}da[J[J[a>>2]+4>>2]](a);break a}kc(J[d>>2],b)}ba=c+16|0;return 1}function Wg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=ba-48|0;ba=e;h=J[b>>2];f=a+16|0;b=J[f>>2];a:{b:{if(!b){break b}g=f;while(1){i=J[b+16>>2]<(h|0);g=i?g:b;b=J[(i?b+4|0:b)>>2];if(b){continue}break}if((g|0)==(f|0)){break b}if(J[g+16>>2]<=(h|0)){break a}}J[e+28>>2]=0;J[e+32>>2]=0;f=e+24|0;J[e+24>>2]=f|4;b=e+16|0;J[b>>2]=0;J[b+4>>2]=0;J[e+8>>2]=h;J[e+12>>2]=b;b=a+12|0;a=e+8|0;Oc(e+40|0,b,a,a);g=J[e+40>>2];Da(a|4,J[e+16>>2]);Da(f,J[e+28>>2])}vb(g+20|0,c,d);ba=e+48|0}function Ec(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=14964;b=J[a+68>>2];if(b){J[a+72>>2]=b;na(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}b=J[a+44>>2];if(b){J[a+48>>2]=b;na(b)}b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;na(b)}b=J[a+8>>2];if(b){d=b;c=J[a+12>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){Ka(d)}if((b|0)!=(c|0)){continue}break}d=J[a+8>>2]}J[a+12>>2]=b;na(d)}b=J[a+4>>2];J[a+4>>2]=0;if(b){pf(b)}return a|0}function Ah(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2496;b=J[a+72>>2];J[a+72>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;na(b)}b=J[a+48>>2];if(b){na(b)}d=J[a+36>>2];if(d){c=J[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;na(b)}J[a>>2]=2188;b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;na(b)}return a|0}function Ra(a){J[a>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;H[a+28|0]=1;J[a+20>>2]=0;J[a+24>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+72>>2]=a+4;J[a+104>>2]=0;J[a+108>>2]=0;H[a+100|0]=1;J[a+112>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0}function Fa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=pa(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>2;d=h+b|0;if(d>>>0<1073741824){e=e-c|0;f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}i=oa(d<<2)}b=b<<2;e=pa((h<<2)+i|0,0,b);f=d<<2;d=ta(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){na(c)}return}qa();B()}xa();B()}function Wa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=pa(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){e=e-c|0;f=e>>>2|0;d=e>>>0>=2147483640?536870911:d>>>0>>0?f:d;if(d){if(d>>>0>=536870912){break a}i=oa(d<<3)}b=b<<3;e=pa((h<<3)+i|0,0,b);f=d<<3;d=ta(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){na(c)}return}qa();B()}xa();B()}function Oe(a,b,c,d,e){var f=0,g=0,h=0;h=-1;g=d&2147483647;f=(g|0)==2147418112;a:{if(f&!c?a|b:f&(c|0)!=0|g>>>0>2147418112){break a}f=e&2147483647;if(((f|0)==2147418112&0|f>>>0>2147418112)&(f|0)!=2147418112){break a}if(!(a|c|(f|g|b))){return 0}f=d&e;if((f|0)>0|(f|0)>=0){if(((c|0)!=0|(d|0)!=(e|0))&(d|0)<(e|0)){break a}return(a|c|(d^e|b))!=0}if(!c&(d|0)==(e|0)?a|b:(c|0)!=0&(d|0)>=(e|0)|(d|0)>(e|0)){break a}h=(a|c|(d^e|b))!=0}return h}function Xa(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0;i=Hl(b,c,h,i);h=ca;e=Hl(d,e,f,g);i=e+i|0;d=ca+h|0;h=e>>>0>i>>>0?d+1|0:d;j=g;e=0;k=c;d=0;c=Hl(g,e,c,d);g=c+i|0;i=ca+h|0;l=g;c=c>>>0>g>>>0?i+1|0:i;g=Hl(f,0,b,0);h=ca;i=0;d=Hl(f,i,k,d);h=h+d|0;f=ca+i|0;f=d>>>0>h>>>0?f+1|0:f;i=f+l|0;d=c;f=f>>>0>i>>>0?d+1|0:d;c=Hl(b,m,j,e)+h|0;e=ca;e=c>>>0>>0?e+1|0:e;h=e+i|0;i=f;J[a+8>>2]=h;J[a+12>>2]=e>>>0>h>>>0?i+1|0:i;J[a>>2]=g;J[a+4>>2]=c}function Ia(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=J[a+4>>2];f=J[a>>2];d=c-f|0;b:{if(d>>>0>>0){g=b-d|0;e=J[a+8>>2];if(g>>>0<=e-c>>>0){h=a,i=pa(c,0,g)+g|0,J[h+4>>2]=i;return}if((b|0)<0){break a}c=e-f|0;e=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0>>0?e:b;e=oa(c);pa(e+d|0,0,g);d=ta(e,f,d);J[a+8>>2]=d+c;J[a+4>>2]=b+d;J[a>>2]=d;if(!f){break b}na(f);return}if(b>>>0>=d>>>0){break b}J[a+4>>2]=b+f}return}qa();B()}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=ba-16|0;ba=d;e=J[a+4>>2];a:{if((e|0)==-1){break a}c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}sa(b,J[b+4>>2],J[a+8>>2],J[a+12>>2]);c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}sa(b,J[b+4>>2],a+20|0,a+24|0);c=J[b+20>>2];f=J[b+16>>2];H[d+15|0]=J[a+4>>2];if(!!f&(c|0)>=0|(c|0)>0){break a}sa(b,J[b+4>>2],d+15|0,d+16|0)}ba=d+16|0;return(e|0)!=-1|0}function fj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;a:{b=J[a+8>>2];b:{if((b|0)<0){break b}c=J[a+4>>2];e=J[c>>2];d=J[c+4>>2]-e>>2;c:{if(d>>>0>>0){Ld(c,b-d|0);f=J[a+8>>2];break c}f=b;if(b>>>0>=d>>>0){break c}J[c+4>>2]=e+(b<<2);f=b}d=f;if((d|0)<=0){break b}a=J[a+4>>2];c=J[a>>2];e=J[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(e|0)){break a}J[c+(a<<2)>>2]=a;a=a+1|0;if((d|0)!=(a|0)){continue}break}}return(b^-1)>>>31|0}ra();B()}function te(a){za(a);za(a+32|0);za(a- -64|0);za(a+96|0);za(a+128|0);za(a+160|0);za(a+192|0);za(a+224|0);za(a+256|0);za(a+288|0);za(a+320|0);za(a+352|0);za(a+384|0);za(a+416|0);za(a+448|0);za(a+480|0);za(a+512|0);za(a+544|0);za(a+576|0);za(a+608|0);za(a+640|0);za(a+672|0);za(a+704|0);za(a+736|0);za(a+768|0);za(a+800|0);za(a+832|0);za(a+864|0);za(a+896|0);za(a+928|0);za(a+960|0);za(a+992|0);za(a+1024|0)}function Ga(a,b,c){var d=0,e=0,f=0,g=0;e=ba-16|0;ba=e;a:{b:{if(c>>>0<11){d=a;H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;break b}if(c>>>0>2147483631){break a}g=e+8|0;if(c>>>0>=11){f=c+16&-16;d=f-1|0;d=(d|0)==11?f:d}else{d=10}Ac(g,d+1|0);d=J[e+8>>2];J[a>>2]=d;J[a+8>>2]=J[a+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;J[a+4>>2]=c}Ab(d,b,c+1|0);ba=e+16|0;return}gb();B()}function Zg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ba-96|0;ba=e;f=Ng(e+40|0,c);$g(e,b,c);Mg(f,e);Da(e+24|0,J[e+28>>2]);nb(e+12|0,J[e+16>>2]);Da(e,J[e+4>>2]);fe(a,f,d);if(!J[a>>2]){if(H[a+15|0]<0){na(J[a+4>>2])}J[b+40>>2]=J[f+40>>2];J[b+44>>2]=J[f+44>>2];J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}J[f>>2]=10256;Da(f+28|0,J[f+32>>2]);nb(f+16|0,J[f+20>>2]);Da(f+4|0,J[f+8>>2]);ba=e+96|0}function mc(a,b){var c=0,d=0,e=0;c=J[a+4>>2];d=c+b|0;J[a+4>>2]=d;if(!((d-1^c-1)>>>0<32?c:0)){J[J[a>>2]+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0}a:{if(!b){break a}a=J[a>>2]+(c>>>3&536870908)|0;c=c&31;if(c){d=32-c|0;e=b>>>0>d>>>0?d:b;J[a>>2]=J[a>>2]&(-1<>>d-e^-1);b=b-e|0;a=a+4|0}c=b>>>5|0;if(b>>>0>=32){pa(a,0,c<<2)}if((b&-32)==(b|0)){break a}a=(c<<2)+a|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}}function Oa(a,b,c){var d=0,e=0,f=0;if(!(K[a|0]&32)){a:{d=b;b=a;a=J[b+16>>2];b:{if(!a){if(We(b)){break b}a=J[b+16>>2]}f=J[b+20>>2];if(a-f>>>0>>0){da[J[b+36>>2]](b,d,c)|0;break a}c:{if(J[b+80>>2]<0){break c}a=c;while(1){e=a;if(!a){break c}a=e-1|0;if(K[d+a|0]!=10){continue}break}if(da[J[b+36>>2]](b,d,e)>>>0>>0){break b}d=d+e|0;c=c-e|0;f=J[b+20>>2]}ua(f,d,c);J[b+20>>2]=J[b+20>>2]+c}}}}function Wj(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=10404;b=J[a+64>>2];J[a+64>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;na(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;na(b)}return a|0}function zl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=ba-16|0;ba=d;f=Me(a,b);a:{if(!f){break a}c=J[a+36>>2];if((c|0)==J[a+40>>2]){break a}g=d+16|0;while(1){c=J[(e<<2)+c>>2];h=d,i=da[J[J[c>>2]+32>>2]](c)|0,H[h+15|0]=i;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){sa(b,J[b+4>>2],d+15|0,g)}e=e+1|0;c=J[a+36>>2];if(e>>>0>2]-c>>2>>>0){continue}break}}ba=d+16|0;return f|0}function Vj(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=10404;b=J[a+64>>2];J[a+64>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;na(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;na(b)}na(a)}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+176>>2];d=J[a+172>>2];e=(c-d|0)/136|0;a:{if((c|0)==(d|0)){break a}c=0;b:{c:{d:{if(J[d>>2]==(b|0)){b=1}else{f=e>>>0<=1?1:e;while(1){c=c+1|0;if((f|0)==(c|0)){break d}if(J[P(c,136)+d>>2]!=(b|0)){continue}break}b=c>>>0>>0}if(b){break c}break a}if(c>>>0>>0){break b}break a}d=(P(c,136)+d|0)+104|0}return d|0}return a+40|0}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0;c=ba-16|0;ba=c;a:{if(!b){d=oa(76);b=oa(12);J[b+8>>2]=J[J[a+4>>2]+80>>2];J[b>>2]=12404;J[b+4>>2]=0;d=pe(d,b,0);J[c+8>>2]=d;b=J[a+12>>2];b:{if(b>>>0>2]){J[c+8>>2]=0;J[b>>2]=d;J[a+12>>2]=b+4;break b}Ic(a+8|0,c+8|0)}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break a}da[J[J[a>>2]+4>>2]](a);break a}kc(J[J[a+8>>2]>>2],b)}ba=c+16|0;return 1}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+36>>2];if((c|0)!=J[a+40>>2]){while(1){c=P(d,24)+c|0;da[J[J[c>>2]+28>>2]](c,b)|0;d=d+1|0;c=J[a+36>>2];if(d>>>0<(J[a+40>>2]-c|0)/24>>>0){continue}break}}c=J[a+48>>2];if((c|0)!=J[a+52>>2]){d=0;while(1){c=J[(d<<2)+c>>2];Aa((c|0)<0?(c^-1)<<1|1:c<<1,b);d=d+1|0;c=J[a+48>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}return 1}function ud(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=Jc(oa(96));Md(g,b,d<<24>>24,f,c);b=qd(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];ua(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,(P(d,h)<<2)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function rf(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=Jc(oa(96));Md(g,b,d<<24>>24,f,c);b=qd(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];ua(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,(P(d,h)<<1)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function sf(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=Jc(oa(96));Md(g,b,d<<24>>24,f,c);b=qd(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];ua(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,P(d,h)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function Th(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(pb(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(!pb(a,J[b>>2],e)){break a}if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+20>>2]=c;J[b+32>>2]=d;J[b+40>>2]=J[b+40>>2]+1;if(!(J[b+36>>2]!=1|J[b+24>>2]!=2)){H[b+54|0]=1}J[b+44>>2]=4}}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=ba+-64|0;ba=e;d=da[J[J[a>>2]+44>>2]](a,b)|0;a=da[J[J[a>>2]+40>>2]](a,b)|0;f=Lc(e);g=J[b+56>>2];h=d&255;i=a;a=a-1|0;if(a>>>0<=10){a=J[(a<<2)+14832>>2]}else{a=-1}d=P(a,d);Nd(f,g,0,h,i,d,d>>31);a=jg(oa(96),f);Kd(a,c);H[a+84|0]=1;J[a+72>>2]=J[a+68>>2];J[a+60>>2]=J[b+60>>2];ba=e- -64|0;return a|0}function Md(a,b,c,d,e){var f=0,g=0,h=0;f=oa(32);J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+24>>2]=0;J[f+28>>2]=0;g=J[a+64>>2];J[a+64>>2]=f;if(g){f=J[g>>2];if(f){J[g+4>>2]=f;na(f)}na(g);f=J[a+64>>2]}h=c&255;g=d-1|0;if(g>>>0<=10){g=J[(g<<2)+14832>>2]}else{g=-1}c=P(g,c);Nd(a,b,f,h,d,c,c>>31);Kd(a,e);H[a+84|0]=1;J[a+72>>2]=J[a+68>>2]}function _h(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=J[a+84>>2];f=J[e>>2];d=J[e+4>>2];h=J[a+28>>2];g=J[a+20>>2]-h|0;g=d>>>0>>0?d:g;if(g){ua(f,h,g);f=g+J[e>>2]|0;J[e>>2]=f;d=J[e+4>>2]-g|0;J[e+4>>2]=d}d=c>>>0>d>>>0?d:c;if(d){ua(f,b,d);f=d+J[e>>2]|0;J[e>>2]=f;J[e+4>>2]=J[e+4>>2]-d}H[f|0]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;return c|0}function xb(a,b,c){var d=0,e=0,f=0,g=0;d=ba-16|0;ba=d;H[d+15|0]=a&127;a:{if(!b&a>>>0>=128|b){H[d+15|0]=a|128;e=J[c+20>>2];if(!!J[c+16>>2]&(e|0)>=0|(e|0)>0){break a}sa(c,J[c+4>>2],d+15|0,d+16|0);f=xb((b&127)<<25|a>>>7,b>>>7|0,c);break a}a=J[c+20>>2];if(!!J[c+16>>2]&(a|0)>=0|(a|0)>0){break a}g=1;sa(c,J[c+4>>2],d+15|0,d+16|0)}ba=d+16|0;return g|f}function Fe(a,b,c,d){H[a+53|0]=1;a:{if(J[a+4>>2]!=(c|0)){break a}H[a+52|0]=1;c=J[a+16>>2];b:{if(!c){J[a+36>>2]=1;J[a+24>>2]=d;J[a+16>>2]=b;if((d|0)!=1){break a}if(J[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=J[a+24>>2];if((c|0)==2){J[a+24>>2]=d;c=d}if(J[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}J[a+36>>2]=J[a+36>>2]+1}H[a+54|0]=1}}function Fc(a,b){var c=0,d=0,e=0,f=0;d=1;a:{if((b|0)==-1){break a}b=P(b,3);if((b|0)==-1){break a}d=-1;e=J[a>>2];a=e+(b<<2)|0;c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)!=-1){d=J[(c<<2)+e>>2]}a=J[a>>2];f=(a|0)==(d|0);b:{c:{if((b>>>0)%3|0){b=b-1|0;break c}b=b+2|0;c=-1;if((b|0)==-1){break b}}c=J[(b<<2)+e>>2]}d=f|(c|0)==(a|0)|(d|0)==(c|0)}return d}function jd(a,b,c){var d=0,e=0,f=0;f=ba-16|0;ba=f;d=K[a+11|0]>>>7|0?(J[a+8>>2]&2147483647)-1|0:10;if(K[a+11|0]>>>7|0){e=J[a+4>>2]}else{e=K[a+11|0]&127}a:{if(d-e>>>0>=c>>>0){if(!c){break a}if(K[a+11|0]>>>7|0){d=J[a>>2]}else{d=a}Ab(d+e|0,b,c);b=a;a=c+e|0;ld(b,a);H[f+15|0]=0;H[a+d|0]=K[f+15|0];break a}kd(a,d,(c+e|0)-d|0,e,e,0,c,b)}ba=f+16|0}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=ba+-64|0;ba=e;d=1;a:{if(pb(a,b,0)){break a}d=0;if(!b){break a}b=bd(b,18476,18524);d=0;if(!b){break a}d=e+8|0;pa(d|4,0,52);J[e+56>>2]=1;J[e+20>>2]=-1;J[e+16>>2]=a;J[e+8>>2]=b;da[J[J[b>>2]+28>>2]](b,d,J[c>>2],1);a=J[e+32>>2];if((a|0)==1){J[c>>2]=J[e+24>>2]}d=(a|0)==1}ba=e- -64|0;return d|0}function Al(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;J[a+32>>2]=c;J[a+28>>2]=b;a:{if(!(da[J[J[a>>2]+52>>2]](a)|0)){break a}e=J[a+4>>2];if((e|0)==J[a+8>>2]){return 1}c=0;while(1){d=c<<2;f=J[d+J[a+36>>2]>>2];d=da[J[J[f>>2]+8>>2]](f,b,J[d+e>>2])|0;if(!d){break a}c=c+1|0;e=J[a+4>>2];if(c>>>0>2]-e>>2>>>0){continue}break}}return d|0}function Pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ba-16|0;ba=d;J[a+4>>2]=b;b=J[b+64>>2];e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Na(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+56>>2];b=J[b+52>>2];H[d+14|0]=0;Na(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;ba=d+16|0}function Aa(a,b){var c=0,d=0,e=0;c=ba-16|0;ba=c;H[c+15|0]=a&127;a:{if(a>>>0>=128){H[c+15|0]=a|128;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){a=0;break a}sa(b,J[b+4>>2],c+15|0,c+16|0);a=Aa(a>>>7|0,b);break a}a=0;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}e=1;sa(b,J[b+4>>2],c+15|0,c+16|0)}ba=c+16|0;return a|e}function Wc(a,b){var c=0,d=0;a:{c=J[a+4>>2];d=J[a+8>>2];if((c|0)==d<<5){if((c+1|0)<0){break a}if(c>>>0<=1073741822){d=d<<6;c=(c&-32)+32|0;c=c>>>0>>0?d:c}else{c=2147483647}wc(a,c);c=J[a+4>>2]}J[a+4>>2]=c+1;d=1<>2]+(c>>>3&536870908)|0;if(K[b|0]){J[a>>2]=d|J[a>>2];return}J[a>>2]=J[a>>2]&(d^-1);return}qa();B()}function Ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ba-16|0;ba=d;J[a+4>>2]=b;e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Na(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+28>>2];b=J[b+24>>2];H[d+14|0]=0;Na(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;ba=d+16|0}function Bc(a){var b=0,c=0,d=0,e=0;while(1){b=a;a=b+1|0;c=H[b|0];if((c|0)==32|c-9>>>0<5){continue}break}a:{b:{c:{c=H[b|0];switch(c-43|0){case 0:break b;case 2:break c;default:break a}}e=1}c=H[a|0];b=a}if(c-48>>>0<10){while(1){d=(P(d,10)-H[b|0]|0)+48|0;a=H[b+1|0];b=b+1|0;if(a-48>>>0<10){continue}break}}return e?d:0-d|0}function kj(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;na(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;na(b)}return a|0}function Gd(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;na(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;na(b)}na(a)}function nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ba-16|0;ba=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+8|0,c+12|0)}ya(a+112|0,b);ba=c+16|0;return 1}function pd(a){var b=0;b=1;a:{if((a|0)>=1024){b=898846567431158e293;if(a>>>0<2047){a=a-1023|0;break a}b=Infinity;a=((a|0)>=3069?3069:a)-2046|0;break a}if((a|0)>-1023){break a}b=2004168360008973e-307;if(a>>>0>4294965304){a=a+969|0;break a}b=0;a=((a|0)<=-2960?-2960:a)+1938|0}x(0,0);x(1,a+1023<<20);return b*+z()}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ba-16|0;ba=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+8|0,c+12|0)}ya(a+96|0,b);ba=c+16|0;return 1}function hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ba-16|0;ba=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+8|0,c+12|0)}ba=c+16|0;return 1}function Jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ba-16|0;ba=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+8|0,c+12|0)}ba=c+16|0;return 1}function Ba(a,b,c){var d=0,e=0;a:{b:{if(c>>>0>=4){if((a|b)&3){break b}while(1){if(J[a>>2]!=J[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}while(1){d=K[a|0];e=K[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function $a(a,b){var c=0,d=0,e=0,f=0;d=ba-16|0;ba=d;a:{if(!b){b=0;break a}c=b>>31;e=(c^b)-c|0;c=S(e);Pa(d,e,0,0,0,c+81|0);e=0+J[d+8>>2]|0;c=(J[d+12>>2]^65536)+(16414-c<<16)|0;c=e>>>0>>0?c+1|0:c;f=b&-2147483648|c;c=J[d+4>>2];b=J[d>>2]}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=e;J[a+12>>2]=f;ba=d+16|0}function Cj(a){a=a|0;var b=0;J[a+8>>2]=11436;J[a>>2]=11224;b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;na(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;na(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){na(b)}b=J[a+32>>2];if(b){na(b)}return a|0}function pf(a){var b=0,c=0,d=0;if(a){d=J[a+24>>2];if(d){b=d;c=J[a+28>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){lb(b+12|0,J[b+16>>2]);kb(b,J[b+4>>2]);na(b)}if((c|0)!=(d|0)){continue}break}b=J[a+24>>2]}J[a+28>>2]=d;na(b)}lb(a+12|0,J[a+16>>2]);kb(a,J[a+4>>2]);na(a)}}function vh(a){a=a|0;var b=0;J[a>>2]=3512;b=J[a+152>>2];if(b){J[a+156>>2]=b;na(b)}b=J[a+112>>2];if(b){J[a+116>>2]=b;na(b)}b=J[a+96>>2];if(b){na(b)}b=J[a+84>>2];if(b){na(b)}b=J[a+72>>2];if(b){na(b)}b=J[a+60>>2];if(b){na(b)}J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function mh(a){a=a|0;var b=0;J[a>>2]=5076;b=J[a+152>>2];if(b){J[a+156>>2]=b;na(b)}b=J[a+112>>2];if(b){J[a+116>>2]=b;na(b)}b=J[a+96>>2];if(b){na(b)}b=J[a+84>>2];if(b){na(b)}b=J[a+72>>2];if(b){na(b)}b=J[a+60>>2];if(b){na(b)}J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function Bj(a){a=a|0;var b=0;J[a+8>>2]=11436;J[a>>2]=11224;b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;na(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;na(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){na(b)}b=J[a+32>>2];if(b){na(b)}na(a)}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=J[c+8>>2];e=J[c+16>>2];g=J[c+12>>2];f=g;d=J[c+20>>2];if(h>>>0>e>>>0&(f|0)>=(d|0)|(d|0)<(f|0)){b=K[J[c>>2]+e|0];i=e+1|0;f=i?d:d+1|0;J[c+16>>2]=i;J[c+20>>2]=f;J[a+4>>2]=b}return e>>>0>>0&(d|0)<=(g|0)|(d|0)<(g|0)}function pb(a,b,c){var d=0;if(!c){return J[a+4>>2]==J[b+4>>2]}if((a|0)==(b|0)){return 1}d=J[a+4>>2];a=K[d|0];c=J[b+4>>2];b=K[c|0];a:{if(!a|(b|0)!=(a|0)){break a}while(1){b=K[c+1|0];a=K[d+1|0];if(!a){break a}c=c+1|0;d=d+1|0;if((a|0)==(b|0)){continue}break}}return(a|0)==(b|0)}function Cb(a){var b=0,c=0;c=J[a+8>>2];if((c|0)>=2){b=+(c|0);b=W(b*va(b)-O[a>>3]);if(R(b)<0x8000000000000000){ca=R(b)>=1?~~(b>0?T(V(b*2.3283064365386963e-10),4294967295):W((b-+(~~b>>>0>>>0))*2.3283064365386963e-10))>>>0:0;return~~b>>>0}a=-2147483648}else{a=0}ca=a;return 0}function Dj(a){a=a|0;var b=0;J[a>>2]=11436;b=J[a+88>>2];if(b){J[a+92>>2]=b;na(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;na(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;na(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}return a|0}function Ob(a,b){var c=0,d=0,e=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{c=J[b+4>>2];d=J[b>>2];b:{if((c|0)==(d|0)){a=c;break b}c=c-d|0;if((c|0)<0){break a}d=c;e=oa(c);c=pa(e,0,c);d=d+c|0;J[a+8>>2]=d;J[a+4>>2]=d;J[a>>2]=c;c=J[b>>2];a=J[b+4>>2]}ua(e,c,a-c|0);return}qa();B()}function yj(a){a=a|0;var b=0;J[a>>2]=11436;b=J[a+88>>2];if(b){J[a+92>>2]=b;na(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;na(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;na(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}na(a)}function vi(a){a=a|0;var b=0,c=0;b=oa(8);J[b+4>>2]=a;J[b>>2]=0;a:{b:{c:{if(!a){break c}c=bd(a,15016,14936);if(!c){break c}c=Ng(oa(56),c);a=J[b>>2];J[b>>2]=c;if(a){break b}break a}c=Og(oa(56),a);a=J[b>>2];J[b>>2]=c;if(!a){break a}}da[J[J[a>>2]+4>>2]](a)}return b|0}function ik(a){a=a|0;var b=0;J[a+40>>2]=2032;J[a>>2]=9988;b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=2624;b=J[a+36>>2];J[a+36>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}J[a>>2]=2392;b=J[a+32>>2];J[a+32>>2]=0;if(b){Ka(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}return a|0}function ah(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ba-96|0;ba=e;f=Og(e+40|0,c);$g(e,b,c);Mg(f,e);Da(e+24|0,J[e+28>>2]);nb(e+12|0,J[e+16>>2]);Da(e,J[e+4>>2]);fe(a,f,d);J[f>>2]=10256;Da(f+28|0,J[f+32>>2]);nb(f+16|0,J[f+20>>2]);Da(f+4|0,J[f+8>>2]);ba=e+96|0}function qc(a){var b=0;if(a){b=J[a+76>>2];if(b){J[a+80>>2]=b;na(b)}b=J[a- -64>>2];if(b){J[a+68>>2]=b;na(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;na(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}na(a)}}function Ke(a,b,c){var d=0,e=0,f=0,g=0;f=ba-16|0;ba=f;d=ba-16|0;ba=d;b=b-a>>2;while(1){if(b){J[d+12>>2]=a;e=b>>>1|0;J[d+12>>2]=J[d+12>>2]+(e<<2);g=(e^-1)+b|0;b=e;e=M[J[d+12>>2]>>2]>2];b=e?g:b;a=e?J[d+12>>2]+4|0:a;continue}break}ba=d+16|0;ba=f+16|0;return a}function pc(a){var b=0;b=J[a+84>>2];if(b){J[a+88>>2]=b;na(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;na(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;na(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;na(b)}b=J[a+28>>2];if(b){J[a+32>>2]=b;na(b)}b=J[a+12>>2];if(b){na(b)}a=J[a>>2];if(a){na(a)}}function Lb(a,b){var c=0,d=0,e=0,f=0;c=ba-16|0;ba=c;a:{if(!b){b=0;break a}d=b;b=S(b);Pa(c,d,0,0,0,b+81|0);d=0+J[c+8>>2]|0;b=(J[c+12>>2]^65536)+(16414-b<<16)|0;f=e>>>0>d>>>0?b+1|0:b;e=J[c+4>>2];b=J[c>>2]}J[a>>2]=b;J[a+4>>2]=e;J[a+8>>2]=d;J[a+12>>2]=f;ba=c+16|0}function hk(a){a=a|0;var b=0;J[a+40>>2]=2032;J[a>>2]=9988;b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=2624;b=J[a+36>>2];J[a+36>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}J[a>>2]=2392;b=J[a+32>>2];J[a+32>>2]=0;if(b){Ka(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}na(a)}function Mb(a,b,c){var d=0,e=0,f=0,g=0;if(b){while(1){c=c-1|0;e=a;a=Jl(a,b,10,0);d=ca;f=c,g=e-Hl(a,d,10,0)|48,H[f|0]=g;e=b>>>0>9;b=d;if(e){continue}break}}if(a){while(1){c=c-1|0;b=(a>>>0)/10|0;H[c|0]=a-P(b,10)|48;d=a>>>0>9;a=b;if(d){continue}break}}return c}function yl(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+72>>2];a:{if(!c){break a}J[c+4>>2]=a+60;if(!(da[J[J[c>>2]+12>>2]](c)|0)){break a}if(!(da[J[J[a>>2]+40>>2]](a)|0)){break a}if(!(da[J[J[a>>2]+44>>2]](a,b)|0)){break a}d=da[J[J[a>>2]+48>>2]](a,b)|0}return d|0}function pg(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+172>>2];a=J[a+176>>2];if((c|0)!=(a|0)){a=(a-c|0)/136|0;d=a>>>0<=1?1:a;a=0;while(1){if(J[P(a,136)+c>>2]==(b|0)){a=P(a,136)+c|0;return(K[a+100|0]?a+4|0:0)|0}a=a+1|0;if((d|0)!=(a|0)){continue}break}}return 0}function jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=ba-16|0;ba=e;d=a+40|0;c=Mc(d,J[a+8>>2],J[b+4>>2]-J[b>>2]>>2);d=je(d,J[a+8>>2],b,c);a:{if(d){b=J[a+32>>2];J[a+32>>2]=c;if(!b){break a}Ka(b);break a}J[e+8>>2]=0;if(!c){break a}Ka(c)}ba=e+16|0;return d|0}function Mk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=ba-16|0;ba=e;d=a+40|0;c=Mc(d,J[a+8>>2],J[b+4>>2]-J[b>>2]>>2);d=xg(d,J[a+8>>2],b,c);a:{if(d){b=J[a+32>>2];J[a+32>>2]=c;if(!b){break a}Ka(b);break a}J[e+8>>2]=0;if(!c){break a}Ka(c)}ba=e+16|0;return d|0}function rb(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!K[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=J[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(K[b|0]){continue}break}}return b-a|0}function Nd(a,b,c,d,e,f,g){var h=0;J[a>>2]=c;if(c){h=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=h;h=J[c+28>>2];J[a+16>>2]=J[c+24>>2];J[a+20>>2]=h}J[a+56>>2]=b;J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=f;J[a+44>>2]=g;H[a+32|0]=0;J[a+28>>2]=e;H[a+24|0]=d}function Ve(a,b){var c=0,d=0,e=0;A(+a);d=v(1)|0;e=v(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=Ve(a*0x10000000000000000,b);c=J[b>>2]+-64|0}J[b>>2]=c;return a}J[b>>2]=c-1022;x(0,e|0);x(1,d&-2146435073|1071644672);a=+z()}return a}function wl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+36>>2];if((c|0)==J[a+40>>2]){return 1}f=a+60|0;while(1){c=J[(d<<2)+c>>2];e=da[J[J[c>>2]+20>>2]](c,f,b)|0;if(e){d=d+1|0;c=J[a+36>>2];if(d>>>0>2]-c>>2>>>0){continue}}break}return e|0}function Pc(a,b){var c=0,d=0,e=0;c=rb(b);if(c>>>0<2147483632){a:{b:{if(c>>>0>=11){d=(c|15)+1|0;e=oa(d);J[a+8>>2]=d|-2147483648;J[a>>2]=e;J[a+4>>2]=c;d=c+e|0;break b}H[a+11|0]=c;d=a+c|0;e=a;if(!c){break a}}ta(e,b,c)}H[d|0]=0;return a}gb();B()}function ne(a){J[a+32>>2]=0;J[a+12>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=2392;H[a+21|0]=0;H[a+22|0]=0;H[a+23|0]=0;H[a+24|0]=0;H[a+25|0]=0;H[a+26|0]=0;H[a+27|0]=0;H[a+28|0]=0;J[a+36>>2]=0;J[a>>2]=2624;return a}function xl(a){a=a|0;var b=0,c=0,d=0,e=0;b=J[a+36>>2];if((b|0)==J[a+40>>2]){return 1}e=a+60|0;while(1){b=J[(c<<2)+b>>2];d=da[J[J[b>>2]+16>>2]](b,e)|0;if(d){c=c+1|0;b=J[a+36>>2];if(c>>>0>2]-b>>2>>>0){continue}}break}return d|0}function vk(a){a=a|0;var b=0;J[a>>2]=8640;b=J[a+136>>2];if(b){J[a+140>>2]=b;na(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+80>>2];if(b){na(b)}b=J[a+68>>2];if(b){na(b)}b=J[a+56>>2];if(b){na(b)}b=J[a+44>>2];if(b){na(b)}return a|0}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0;c=ba-16|0;ba=c;J[c+12>>2]=J[J[b+4>>2]+80>>2];b=J[b+44>>2];d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){sa(b,J[b+4>>2],c+12|0,c+16|0)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;ba=c+16|0}function Hk(a){a=a|0;var b=0;J[a>>2]=6992;b=J[a+136>>2];if(b){J[a+140>>2]=b;na(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+80>>2];if(b){na(b)}b=J[a+68>>2];if(b){na(b)}b=J[a+56>>2];if(b){na(b)}b=J[a+44>>2];if(b){na(b)}return a|0}function Ka(a){a=a|0;var b=0,c=0;if(a){b=J[a+88>>2];J[a+88>>2]=0;if(b){c=J[b+8>>2];if(c){J[b+12>>2]=c;na(c)}na(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;na(b)}b=J[a+64>>2];J[a+64>>2]=0;if(b){c=J[b>>2];if(c){J[b+4>>2]=c;na(c)}na(b)}na(a)}}function Te(a){var b=0,c=0,d=0;if(H[J[a>>2]]-48>>>0>=10){return 0}while(1){d=J[a>>2];c=-1;if(b>>>0<=214748364){c=H[d|0]-48|0;b=P(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}J[a>>2]=d+1;b=c;if(H[d+1|0]-48>>>0<10){continue}break}return b}function vl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[a+36>>2];if((c|0)==J[a+40>>2]){return 1}while(1){c=J[(d<<2)+c>>2];e=da[J[J[c>>2]+24>>2]](c,b)|0;if(e){d=d+1|0;c=J[a+36>>2];if(d>>>0>2]-c>>2>>>0){continue}}break}return e|0}function uk(a){a=a|0;var b=0;J[a>>2]=8640;b=J[a+136>>2];if(b){J[a+140>>2]=b;na(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+80>>2];if(b){na(b)}b=J[a+68>>2];if(b){na(b)}b=J[a+56>>2];if(b){na(b)}b=J[a+44>>2];if(b){na(b)}na(a)}function Gk(a){a=a|0;var b=0;J[a>>2]=6992;b=J[a+136>>2];if(b){J[a+140>>2]=b;na(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+80>>2];if(b){na(b)}b=J[a+68>>2];if(b){na(b)}b=J[a+56>>2];if(b){na(b)}b=J[a+44>>2];if(b){na(b)}na(a)}function cj(a){a=a|0;var b=0,c=0,d=0;b=J[a+32>>2];d=J[a+36>>2];if((b|0)==(d|0)){return 1}while(1){c=J[J[a+8>>2]+(J[b>>2]<<2)>>2];c=da[J[J[c>>2]+20>>2]](c,J[a+44>>2])|0;if(c){b=b+4|0;if((d|0)!=(b|0)){continue}}break}return c|0}function Il(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=Jl(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;ca=(g^ca)-((a>>>0>>0)+g|0)|0;return b}function id(a,b,c){var d=0,e=0,f=0;e=ba-16|0;ba=e;d=J[a+8>>2]&2147483647;a:{if(d>>>0>c>>>0){d=J[a>>2];J[a+4>>2]=c;Ab(d,b,c);H[e+15|0]=0;H[c+d|0]=K[e+15|0];break a}f=a;a=J[a+4>>2];kd(f,d-1|0,(c-d|0)+1|0,a,0,a,c,b)}ba=e+16|0}function Ge(a,b){a=a|0;b=b|0;var c=0,d=0;c=ba-16|0;ba=c;a=J[a+4>>2];a:{if((a|0)==-1){break a}H[c+15|0]=a;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}sa(b,J[b+4>>2],c+15|0,c+16|0)}ba=c+16|0;return(a|0)!=-1|0} +function hd(a,b,c){var d=0,e=0;d=ba-16|0;ba=d;a:{if(c>>>0<=10){H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;Ab(a,b,c);H[d+15|0]=0;H[a+c|0]=K[d+15|0];break a}e=a;a=K[a+11|0]&127;kd(e,10,c-10|0,a,0,a,c,b)}ba=d+16|0}function Hl(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=P(e,f);g=c&65535;h=a&65535;i=P(g,h);f=(i>>>16|0)+P(f,g)|0;e=(f&65535)+P(e,h)|0;ca=(P(b,c)+j|0)+P(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function He(a,b,c){var d=0;d=J[a+16>>2];if(!d){J[a+36>>2]=1;J[a+24>>2]=c;J[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(J[a+24>>2]!=2){break a}J[a+24>>2]=c;return}H[a+54|0]=1;J[a+24>>2]=2;J[a+36>>2]=J[a+36>>2]+1}}function zk(a,b){a=a|0;b=b|0;var c=0,d=0;J[b>>2]=2;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){Gc(b+8|0,d+4|0);c=J[b+8>>2]}b=c+d|0;a=J[a+4>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function Qa(a,b,c,d,e){var f=0;f=ba-256|0;ba=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;pa(f,b&255,c?d:256);if(!c){while(1){Oa(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}Oa(a,f,d)}ba=f+256|0}function Dd(a,b){var c=0,d=Q(0),e=0;b=ob(a,b);if((b|0)!=(a+4|0)){a=ba-16|0;ba=a;c=b+28|0;Xe(a,H[b+39|0]<0?J[c>>2]:c,0,1);e=Le(J[a>>2],J[a+4>>2],J[a+8>>2],J[a+12>>2]);ba=a+16|0;d=Q(e)}else{d=Q(1)}return d}function ol(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+16>>2];c=0;a:{if(J[a+20>>2]-d>>2<=(b|0)){break a}b=J[(b<<2)+d>>2];c=0;if((b|0)<0){break a}a=J[J[a+36>>2]+(b<<2)>>2];b=J[a+32>>2];c=b?b:J[a+8>>2]}return c|0}function rl(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+16>>2];c=0;a:{if(J[a+20>>2]-d>>2<=(b|0)){break a}b=J[(b<<2)+d>>2];c=0;if((b|0)<0){break a}a=J[J[a+36>>2]+(b<<2)>>2];c=J[a+20>>2]-J[a+16>>2]>>2}return c|0}function ql(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=-1;e=J[a+16>>2];a:{if(J[a+20>>2]-e>>2<=(b|0)){break a}b=J[(b<<2)+e>>2];if((b|0)<0){break a}d=J[J[J[J[a+36>>2]+(b<<2)>>2]+16>>2]+(c<<2)>>2]}return d|0}function yh(a){a=a|0;var b=0;J[a>>2]=2624;b=J[a+36>>2];J[a+36>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}J[a>>2]=2392;b=J[a+32>>2];J[a+32>>2]=0;if(b){Ka(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}return a|0}function wa(a){var b=0,c=0;c=ba-16|0;ba=c;J[c+8>>2]=0;J[c+12>>2]=0;ie(a,c+8|0);J[a+24>>2]=0;J[a+28>>2]=0;b=J[a+12>>2];J[a+16>>2]=b;if(b){na(b)}b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}ba=c+16|0;return a}function Jc(a){a=Lc(a);J[a+64>>2]=0;J[a+68>>2]=0;J[a+88>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a}function xh(a){a=a|0;var b=0;J[a>>2]=2624;b=J[a+36>>2];J[a+36>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}J[a>>2]=2392;b=J[a+32>>2];J[a+32>>2]=0;if(b){Ka(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}na(a)}function nc(a){J[a+52>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=12468;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;return a}function We(a){var b=0;b=J[a+72>>2];J[a+72>>2]=b-1|b;b=J[a>>2];if(b&8){J[a>>2]=b|32;return-1}J[a+4>>2]=0;J[a+8>>2]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];return 0}function Lc(a){J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+28>>2]=9;H[a+24|0]=1;J[a+56>>2]=-1;J[a+60>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;return a}function od(a,b,c,d,e,f,g,h,i){var j=0;j=ba-16|0;ba=j;_a(j,b,c,d,e,f,g,h,i^-2147483648);d=J[j>>2];c=J[j+4>>2];b=J[j+12>>2];J[a+8>>2]=J[j+8>>2];J[a+12>>2]=b;J[a>>2]=d;J[a+4>>2]=c;ba=j+16|0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;a=0;a:{if(J[b+4>>2]|!b){break a}a=sd(oa(36),c);J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;c=J[b+4>>2];J[b+4>>2]=a;a=1;if(!c){break a}pf(c)}return a|0}function pe(a,b,c){a=bf(a,c);J[a+36>>2]=0;J[a+40>>2]=0;J[a>>2]=2496;J[a+72>>2]=b;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;return a}function di(a,b){a=a|0;b=b|0;var c=0,d=0;ef(a,b);a:{if((b|0)<0){break a}d=J[a+88>>2];c=J[a+84>>2];if(d-c>>2<=(b|0)){break a}c=(b<<2)+c|0;b=c+4|0;ta(c,b,d-b|0);J[a+88>>2]=d-4}}function xf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=0;a:{if(!b|(c|0)<0){break a}e=J[b+12>>2];b=J[b+8>>2];if(e-b>>2<=(c|0)){break a}H[J[b+(c<<2)>>2]+32|0]=d;a=1}return a|0}function uj(a){a=a|0;var b=0;J[a+8>>2]=11856;J[a>>2]=11692;b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){na(b)}b=J[a+32>>2];if(b){na(b)}return a|0}function pj(a){a=a|0;var b=0;J[a+8>>2]=10876;J[a>>2]=11984;b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}J[a+8>>2]=11128;b=J[a+44>>2];if(b){na(b)}b=J[a+32>>2];if(b){na(b)}return a|0}function Kb(a){var b=0,c=0;b=J[4773];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>ea()<<16>>>0){if(!($(a|0)|0)){break a}}J[4773]=a;return b}J[4804]=48;return-1}function tj(a){a=a|0;var b=0;J[a+8>>2]=11856;J[a>>2]=11692;b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){na(b)}b=J[a+32>>2];if(b){na(b)}na(a)}function oj(a){a=a|0;var b=0;J[a+8>>2]=10876;J[a>>2]=11984;b=J[a+56>>2];if(b){J[a+60>>2]=b;na(b)}J[a+8>>2]=11128;b=J[a+44>>2];if(b){na(b)}b=J[a+32>>2];if(b){na(b)}na(a)}function lb(a,b){if(b){lb(a,J[b>>2]);lb(a,J[b+4>>2]);a=J[b+28>>2];J[b+28>>2]=0;if(a){lb(a+12|0,J[a+16>>2]);kb(a,J[a+4>>2]);na(a)}if(H[b+27|0]<0){na(J[b+16>>2])}na(b)}}function Ie(a,b){var c=0,d=0,e=0,f=0;J[a>>2]=18812;J[a>>2]=18924;c=rb(b);d=oa(c+13|0);J[d+8>>2]=0;J[d+4>>2]=c;J[d>>2]=c;e=a,f=ua(d+12|0,b,c+1|0),J[e+4>>2]=f;return a}function Nh(a,b){a=a|0;b=b|0;var c=0;a:{if(!(da[J[J[a>>2]+40>>2]](a)|0)){break a}if(!(da[J[J[a>>2]+44>>2]](a,b)|0)){break a}c=da[J[J[a>>2]+48>>2]](a,b)|0}return c|0}function Xj(a){a=a|0;var b=0;a:{b=J[a+64>>2];if(!b){break a}b=da[J[J[b>>2]+32>>2]](b)|0;if(!b){break a}J[a+60>>2]=((J[b+4>>2]-J[b>>2]>>2>>>0)/3|0)-J[b+40>>2]}}function Fl(a,b){a=a|0;b=b|0;var c=0;b=J[b+88>>2];if(!(!b|J[b>>2]!=2)){c=a;a=J[b+8>>2];J[c+4>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);c=1}return c|0}function vj(a){a=a|0;var b=0;J[a>>2]=11856;b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}return a|0}function Oj(a){a=a|0;var b=0;J[a>>2]=10876;b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=11128;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}return a|0}function Lf(a,b){var c=0;a:{c=a+4|0;a=ob(a,b);if((c|0)==(a|0)){break a}b=a+28|0;a=Bc(H[a+39|0]<0?J[b>>2]:b);if((a|0)==-1){break a}return(a|0)!=0}return 0}function Pb(a,b,c){var d=0;d=a+4|0;a=ob(a,b);a:{if((d|0)==(a|0)){break a}b=a+28|0;a=Bc(H[a+39|0]<0?J[b>>2]:b);if((a|0)==-1){break a}c=(a|0)!=0}return c}function qj(a){a=a|0;var b=0;J[a>>2]=11856;b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}na(a)}function Hj(a){a=a|0;var b=0;J[a>>2]=10876;b=J[a+48>>2];if(b){J[a+52>>2]=b;na(b)}J[a>>2]=11128;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}na(a)}function bf(a,b){J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2188;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;kc(a,b);return a}function Sh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(pb(a,J[b+8>>2],f)){Fe(b,c,d,e);return}a=J[a+8>>2];da[J[J[a>>2]+20>>2]](a,b,c,d,e,f)}function ph(a){a=a|0;var b=0;a:{if(!J[a- -64>>2]|!J[a+68>>2]|(!J[a+44>>2]|!J[a+48>>2])){break a}if(!J[a+52>>2]){break a}b=J[a+56>>2]!=0}return b|0}function fh(a){a=a|0;var b=0;a:{if(!J[a+48>>2]|!J[a+52>>2]|(!J[a+28>>2]|!J[a+32>>2])){break a}if(!J[a+36>>2]){break a}b=J[a+40>>2]!=0}return b|0}function rd(a){var b=0,c=0;b=J[a+20>>2];a:{if((J[a+24>>2]-b|0)<=0){break a}b=J[b>>2];if((b|0)==-1){break a}c=J[J[a+8>>2]+(b<<2)>>2]}return c}function Ti(){var a=0;a=gf(oa(108));J[a+84>>2]=0;J[a+88>>2]=0;J[a>>2]=14892;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;return a|0}function Nb(a,b){var c=0;c=-1;a:{if((b|0)==-1|(b|0)>4){break a}b=P(b,12)+a|0;a=J[b+20>>2];if((J[b+24>>2]-a|0)<=0){break a}c=J[a>>2]}return c}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b;b=J[b>>2]+7&-8;J[c>>2]=b+16;d=a,e=Le(J[b>>2],J[b+4>>2],J[b+8>>2],J[b+12>>2]),O[d>>3]=e}function gi(a){a=a|0;var b=0;J[a>>2]=14892;b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;na(b)}return Ec(a)|0}function za(a){var b=0;b=ba-16|0;ba=b;J[b+8>>2]=0;J[b+12>>2]=0;ie(a,b+8|0);J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=J[a+12>>2];ba=b+16|0}function fi(a){a=a|0;var b=0;J[a>>2]=14892;b=J[a+96>>2];if(b){J[a+100>>2]=b;na(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;na(b)}na(Ec(a))}function kb(a,b){if(b){kb(a,J[b>>2]);kb(a,J[b+4>>2]);a=J[b+28>>2];if(a){J[b+32>>2]=a;na(a)}if(H[b+27|0]<0){na(J[b+16>>2])}na(b)}}function dl(a){a=a|0;var b=0;J[a>>2]=3760;b=J[a+76>>2];if(b){na(b)}J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function Vk(a){a=a|0;var b=0;J[a>>2]=5312;b=J[a+76>>2];if(b){na(b)}J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function Cl(a){a=a|0;var b=0;J[a>>2]=2392;b=J[a+32>>2];J[a+32>>2]=0;if(b){Ka(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}return a|0}function Zh(a){a=a|0;var b=0;J[a>>2]=2188;b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;na(b)}return a|0}function Vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(pb(a,J[b+8>>2],0)){He(b,c,d);return}a=J[a+8>>2];da[J[J[a>>2]+28>>2]](a,b,c,d)}function Qi(){var a=0,b=0;a=oa(24);J[a+4>>2]=0;J[a+8>>2]=0;b=a+16|0;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;J[a+12>>2]=b;return a|0}function cl(a){a=a|0;var b=0;J[a>>2]=3760;b=J[a+76>>2];if(b){na(b)}J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}na(a)}function Uk(a){a=a|0;var b=0;J[a>>2]=5312;b=J[a+76>>2];if(b){na(b)}J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}na(a)}function Bl(a){a=a|0;var b=0;J[a>>2]=2392;b=J[a+32>>2];J[a+32>>2]=0;if(b){Ka(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;na(b)}na(a)}function oa(a){var b=0;a=a?a:1;a:{while(1){b=nd(a);if(b){break a}b=J[4973];if(b){da[b|0]();continue}break}Z();B()}return b}function Da(a,b){if(b){Da(a,J[b>>2]);Da(a,J[b+4>>2]);if(H[b+39|0]<0){na(J[b+28>>2])}if(H[b+27|0]<0){na(J[b+16>>2])}na(b)}}function Ee(a){a=a|0;var b=0,c=0;J[a>>2]=18924;b=J[a+4>>2]-12|0;c=J[b+8>>2]-1|0;J[b+8>>2]=c;if((c|0)<0){na(b)}return a|0}function ch(a,b,c,d,e){var f=0;f=b-1|0;if(f>>>0<=29){J[a+4>>2]=b;tc(a+8|0,c,(d<<2)+c|0);N[a+20>>2]=e}return f>>>0<30}function al(a){a=a|0;var b=0;J[a>>2]=3996;wa(a+112|0);J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function Sk(a){a=a|0;var b=0;J[a>>2]=5536;wa(a+112|0);J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function Og(a,b){J[a>>2]=10256;he(a+4|0);J[a+52>>2]=0;J[a+48>>2]=b;J[a>>2]=10352;J[a+40>>2]=0;J[a+44>>2]=0;return a}function Ng(a,b){J[a>>2]=10256;he(a+4|0);J[a+52>>2]=b;J[a+48>>2]=b;J[a>>2]=10352;J[a+40>>2]=0;J[a+44>>2]=0;return a}function Fh(a,b,c){a=a|0;b=b|0;c=c|0;J[a+4>>2]=b;b=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=b;return 1}function $e(a,b,c,d,e,f,g,h,i){J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e&65535|(i>>>16&32768|e>>>16&32767)<<16}function th(a){a=a|0;var b=0;if(!(!J[a+60>>2]|!J[a+44>>2]|(!J[a+48>>2]|!J[a+52>>2]))){b=J[a+56>>2]!=0}return b|0}function ih(a){a=a|0;var b=0;if(!(!J[a+44>>2]|!J[a+28>>2]|(!J[a+32>>2]|!J[a+36>>2]))){b=J[a+40>>2]!=0}return b|0}function wi(a){a=a|0;if(a){J[a>>2]=10332;Da(a+28|0,J[a+32>>2]);sc(a+16|0,J[a+20>>2]);Da(a+4|0,J[a+8>>2]);na(a)}}function Rk(a){a=a|0;var b=0;J[a>>2]=5536;wa(a+112|0);J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}na(a)}function Mf(a,b){var c=0;c=a+4|0;a=ob(a,b);if((c|0)==(a|0)){return-1}b=a+28|0;return Bc(H[a+39|0]<0?J[b>>2]:b)}function Eb(a,b){var c=0,d=0;if(!(!a|!b|(a|0)==(b|0))){c=+(b>>>0)/+(a>>>0);d=1-c;c=-(c*va(c)+d*va(d))}return c}function $k(a){a=a|0;var b=0;J[a>>2]=3996;wa(a+112|0);J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}na(a)}function gk(a){a=a|0;J[a>>2]=10256;Da(a+28|0,J[a+32>>2]);nb(a+16|0,J[a+20>>2]);Da(a+4|0,J[a+8>>2]);return a|0}function fk(a){a=a|0;J[a>>2]=10332;Da(a+28|0,J[a+32>>2]);sc(a+16|0,J[a+20>>2]);Da(a+4|0,J[a+8>>2]);return a|0}function Bb(a,b,c){var d=0;d=a+4|0;a=ob(a,b);if((d|0)!=(a|0)){b=a+28|0;c=Bc(H[a+39|0]<0?J[b>>2]:b)}return c}function ld(a,b){if(K[a+11|0]>>>7|0){J[a+4>>2]=b;return}H[a+11|0]=K[a+11|0]&128|b;H[a+11|0]=K[a+11|0]&127}function Fi(){var a=0;a=oa(48);J[a>>2]=10332;he(a+4|0);J[a>>2]=10116;J[a+40>>2]=0;J[a+44>>2]=0;return a|0}function Sg(a){a=a|0;J[a>>2]=10332;Da(a+28|0,J[a+32>>2]);sc(a+16|0,J[a+20>>2]);Da(a+4|0,J[a+8>>2]);na(a)}function Rg(a){a=a|0;J[a>>2]=10256;Da(a+28|0,J[a+32>>2]);nb(a+16|0,J[a+20>>2]);Da(a+4|0,J[a+8>>2]);na(a)}function xj(a){a=a|0;var b=0;J[a>>2]=11672;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}return a|0}function Gj(a){a=a|0;var b=0;J[a>>2]=11128;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}return a|0}function qd(a,b){da[J[J[a>>2]+8>>2]](a,J[a+12>>2]-J[a+8>>2]>>2,b);return(J[a+12>>2]-J[a+8>>2]>>2)-1|0}function Yc(a){a=a|0;var b=0;if(!(!J[a+52>>2]|(!J[a+44>>2]|!J[a+48>>2]))){b=J[a+56>>2]!=0}return b|0}function Qc(a){a=a|0;var b=0;if(!(!J[a+36>>2]|(!J[a+28>>2]|!J[a+32>>2]))){b=J[a+40>>2]!=0}return b|0}function wj(a){a=a|0;var b=0;J[a>>2]=11672;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}na(a)}function Fj(a){a=a|0;var b=0;J[a>>2]=11128;b=J[a+36>>2];if(b){na(b)}b=J[a+24>>2];if(b){na(b)}na(a)}function oh(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a- -64>>2]=b;c=1}return c|0}function sh(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+60>>2]=b;c=1}return c|0}function hh(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+44>>2]=b;c=1}return c|0}function eh(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+48>>2]=b;c=1}return c|0}function Rh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(pb(a,J[b+8>>2],f)){Fe(b,c,d,e)}}function xa(){var a=0;a=cd(4);J[a>>2]=18812;J[a>>2]=18772;J[a>>2]=18792;_(a|0,18904,14);B()}function mi(a){a=a|0;var b=0;if(a){b=J[a>>2];J[a>>2]=0;if(b){da[J[J[b>>2]+4>>2]](b)}na(a)}}function il(a){a=a|0;var b=0;J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}return a|0}function dk(a){a=a|0;var b=0;J[a>>2]=2032;b=J[a+8>>2];if(b){J[a+12>>2]=b;na(b)}return a|0}function tb(a){var b=0;J[a+12>>2]=0;J[a+16>>2]=0;b=a;a=J[a>>2];J[b+4>>2]=a;if(a){na(a)}}function hj(a){a=a|0;var b=0;b=a;a=J[a+56>>2];J[b+60>>2]=(J[a+100>>2]-J[a+96>>2]|0)/12}function zf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ud(b,c,d,e,f,6)|0}function zd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ud(b,c,d,e,f,5)|0}function le(a){a=a|0;var b=0;J[a>>2]=3456;b=J[a+32>>2];if(b){J[a+36>>2]=b;na(b)}na(a)}function Df(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return sf(b,c,d,e,f,1)|0}function Cf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return sf(b,c,d,e,f,2)|0}function Bf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return rf(b,c,d,e,f,3)|0}function Af(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return rf(b,c,d,e,f,4)|0}function Ad(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ud(b,c,d,e,f,9)|0}function ck(a){a=a|0;var b=0;J[a>>2]=2032;b=J[a+8>>2];if(b){J[a+12>>2]=b;na(b)}na(a)}function si(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);Vg(J[a>>2],b,c,d,e,f)}function sc(a,b){if(b){sc(a,J[b>>2]);sc(a,J[b+4>>2]);Da(b+20|0,J[b+24>>2]);na(b)}}function nb(a,b){if(b){nb(a,J[b>>2]);nb(a,J[b+4>>2]);Da(b+20|0,J[b+24>>2]);na(b)}}function Zj(a,b){a=a|0;b=b|0;var c=0;c=a;a=J[b+64>>2];da[J[J[a>>2]+28>>2]](c,a)}function Ek(a){a=a|0;var b=0;J[a>>2]=7264;b=J[a+60>>2];if(b){na(b)}return a|0} +function sk(a){a=a|0;var b=0;J[a>>2]=8900;b=J[a+60>>2];if(b){na(b)}return a|0}function Wh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(pb(a,J[b+8>>2],0)){He(b,c,d)}}function Kl(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Ci(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);Vg(a,b,c,d,e,f)}function fd(a,b){var c=0;c=a;a=(b>>>0)/100|0;return Fb(Fb(c,a),b-P(a,100)|0)}function ed(a,b){var c=0;c=a;a=(b>>>0)/1e4|0;return fd(Fb(c,a),b-P(a,1e4)|0)}function dd(a,b){var c=0;c=a;a=(b>>>0)/1e6|0;return ed(Fb(c,a),b-P(a,1e6)|0)}function _j(a,b){a=a|0;b=b|0;a=J[a+64>>2];return da[J[J[a>>2]+24>>2]](a,b)|0}function Tj(a,b){a=a|0;b=b|0;a=J[a+64>>2];return da[J[J[a>>2]+12>>2]](a,b)|0}function Sj(a,b){a=a|0;b=b|0;a=J[a+64>>2];return da[J[J[a>>2]+16>>2]](a,b)|0}function $j(a,b){a=a|0;b=b|0;a=J[a+64>>2];return da[J[J[a>>2]+20>>2]](a,b)|0}function $f(a,b){a=a|0;b=b|0;return J[J[a+28>>2]+(b>>>3&536870908)>>2]>>>b&1}function bj(a,b){a=a|0;b=b|0;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}function Oi(){var a=0;a=oa(12);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;return a|0}function Ll(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} +function Li(a){a=a|0;var b=0;if(a){b=J[a>>2];if(b){J[a+4>>2]=b;na(b)}na(a)}}function Dh(a,b,c){a=a|0;b=b|0;c=c|0;return da[J[J[a>>2]+44>>2]](a,b,c)|0}function rk(a){a=a|0;var b=0;J[a>>2]=8900;b=J[a+60>>2];if(b){na(b)}na(a)}function Dk(a){a=a|0;var b=0;J[a>>2]=7264;b=J[a+60>>2];if(b){na(b)}na(a)}function ra(){var a=0;a=Ie(cd(8),1313);J[a>>2]=19024;_(a|0,19056,1);B()}function gj(a,b){a=a|0;b=b|0;H[b+84|0]=1;J[b+72>>2]=J[b+68>>2];return 1}function Tf(a){a=nc(a);J[a+56>>2]=0;J[a+60>>2]=0;J[a>>2]=12164;return a}function Sc(a,b){a=a|0;b=b|0;if(b>>>0<=1){J[a+28>>2]=b}return b>>>0<2|0}function Pi(a){a=a|0;if(a){lb(a+12|0,J[a+16>>2]);kb(a,J[a+4>>2]);na(a)}}function $h(a,b,c){a=a|0;b=b|0;c=c|0;J[a+32>>2]=c;J[a+28>>2]=b;return 1}function Qh(a){a=a|0;if(!a){return 0}return(bd(a,18476,18620)|0)!=0|0}function Uj(a){a=a|0;a=J[a+64>>2];return da[J[J[a>>2]+32>>2]](a)|0}function Eh(a,b){a=a|0;b=b|0;J[a+12>>2]=-1;J[a+8>>2]=b;return 1}function ke(a){a=Ie(cd(8),a);J[a>>2]=18972;_(a|0,19004,1);B()}function Si(a){a=a|0;return(J[a+100>>2]-J[a+96>>2]|0)/12|0}function pk(a){a=a|0;J[a>>2]=9148;wa(a+96|0);return a|0}function Bk(a){a=a|0;J[a>>2]=7524;wa(a+96|0);return a|0}function Ac(a,b){var c=0;c=oa(b);J[a+4>>2]=b;J[a>>2]=c}function ti(a,b,c){a=a|0;b=b|0;c=c|0;Xg(J[a>>2],b,c)}function ri(a,b,c){a=a|0;b=b|0;c=c|0;Yg(J[a>>2],b,c)}function gf(a){J[a>>2]=14964;pa(a+4|0,0,80);return a}function ij(a){a=a|0;J[a+52>>2]=J[J[a+56>>2]+80>>2]}function Hf(a){a=a|0;return J[a+12>>2]-J[a+8>>2]>>2}function Gl(a){if(a){return 31-S(a-1^a)|0}return 32}function ok(a){a=a|0;J[a>>2]=9148;wa(a+96|0);na(a)}function kk(a,b){a=a|0;b=b|0;return Ug(a+40|0,b)|0}function Of(a){a=a|0;J[a+52>>2]=J[J[a+4>>2]+80>>2]}function Nk(a,b){a=a|0;b=b|0;return Ge(a+40|0,b)|0}function Ni(a,b){a=a|0;b=b|0;return H[J[a>>2]+b|0]}function Gf(a){a=a|0;if(a){da[J[J[a>>2]+4>>2]](a)}}function Ak(a){a=a|0;J[a>>2]=7524;wa(a+96|0);na(a)}function Mi(a){a=a|0;return J[a+4>>2]-J[a>>2]|0}function Fb(a,b){return Je((b<<1)+18240|0,2,a)}function Di(a,b,c){a=a|0;b=b|0;c=c|0;Xg(a,b,c)}function Bi(a,b,c){a=a|0;b=b|0;c=c|0;Yg(a,b,c)}function bk(a,b){a=a|0;b=b|0;return K[b+24|0]}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function oi(a){a=a|0;return J[J[a>>2]+40>>2]}function ni(a){a=a|0;return J[J[a>>2]+44>>2]}function ui(a,b){a=a|0;b=b|0;Tg(J[a>>2],b)}function qi(a,b){a=a|0;b=b|0;nf(J[a>>2],b)}function Ri(a,b){a=a|0;b=b|0;J[a+80>>2]=b}function xi(a){a=a|0;return J[a+44>>2]}function uc(a){a=a|0;return J[a+28>>2]}function ag(a){a=a|0;return J[a+12>>2]}function Zi(a){a=a|0;return J[a+56>>2]}function Wi(a){a=a|0;return J[a+48>>2]}function Vi(a){a=a|0;return J[a+60>>2]}function Jf(a){a=a|0;return J[a+40>>2]}function Cd(a){a=a|0;return J[a+80>>2]}function Bh(){J[4843]=19252;J[4825]=42}function zh(a,b){a=a|0;b=b|0;return 6}function zc(a,b){a=a|0;b=b|0;return 1}function wh(a,b){a=a|0;b=b|0;return-1}function vc(a){a=a|0;return J[a+4>>2]}function jl(a,b){a=a|0;b=b|0;return 2}function cd(a){return nd(a+80|0)+80|0}function Za(a,b){a=a|0;b=b|0;return 0}function Yi(a){a=a|0;return H[a+24|0]}function Xi(a){a=a|0;return K[a+32|0]}function Ei(a,b){a=a|0;b=b|0;Tg(a,b)}function Ai(a,b){a=a|0;b=b|0;nf(a,b)}function Nc(a,b,c,d){Kg(a,b,c,d,1)}function Db(a,b,c,d){Kg(a,b,c,d,0)}function lc(a){a=a|0;if(a){na(a)}}function _i(){return Jc(oa(96))|0}function Ui(){return gf(oa(84))|0}function $i(){return Lc(oa(64))|0}function ad(a){a=a|0;Ee(a);na(a)}function Ph(a){a=a|0;return 1364}function Oh(a){a=a|0;return 1622}function Mh(a){a=a|0;return 1472}function ub(a){a=a|0;return a|0}function sl(a){a=a|0;na(Ah(a))}function fl(a){a=a|0;na(vh(a))}function ai(a){a=a|0;na(Ec(a))}function Xk(a){a=a|0;na(mh(a))}function Jj(a){a=a|0;na(Zf(a))}function Ij(a){a=a|0;na(Yf(a))}function Gh(a){a=a|0;na(re(a))}function oe(a){a=a|0;return 2}function kh(a){a=a|0;return 3}function ib(a){a=a|0;return 0}function Xc(a){a=a|0;return 4}function Vc(a){a=a|0;return 5}function Uc(a){a=a|0;return 6}function Ja(a){a=a|0;return 1}function Bd(){return oa(1)|0}function Ab(a,b,c){Je(b,c,a)}function qa(){ke(1313);B()}function gb(){ke(1493);B()}function ab(a){a=a|0;na(a)}function zb(a){a=a|0;B()}function xd(){return 0}function wd(){return 1}function tf(){return-1}function li(){return 2}function ki(){return 3}function ji(){return 4}function Yh(){Z();B()}function af(a){a=a|0} // EMSCRIPTEN_END_FUNCS -e=K;p(q);var da=c([null,Ee,ub,ab,oe,El,yk,wg,hi,Ge,Gh,Mc,yh,il,ub,ck,bk,Ja,Yk,Kk,je,xk,Tg,dk,yh,ak,Yh,zb,_h,Le,Xh,Lh,Za,Kh,Za,Za,Ja,zc,re,Fh,oe,Jh,Hh,Ih,Bl,Al,Eh,Dh,zc,Ch,zc,ib,ib,Dl,Cl,Bh,zh,rl,zl,yl,ib,xl,ql,pl,ol,nl,wl,vl,ul,tl,sl,xh,wh,me,ml,Ja,kl,ll,jl,hl,le,Ja,vc,Yc,ib,vh,Za,ib,Ja,gl,fl,zb,zb,uh,el,Xc,Yc,th,dl,cl,bl,Vc,sh,Ja,Za,rh,qh,al,$k,_k,Uc,oh,Ja,Za,nh,mh,Zk,ub,ab,Sc,uc,Tc,zb,le,Ja,Yc,Xk,zb,lh,Wk,Xc,Yc,th,Vk,Uk,Tk,Vc,sh,Ja,Za,rh,qh,Sk,Rk,Qk,Uc,oh,Ja,Za,nh,mh,Pk,ub,ab,Sc,uc,Rc,zb,le,ib,Ja,Ok,xh,wh,Nk,Mk,Ja,jh,Jk,Lk,ub,ab,Ja,vc,Qc,ib,vh,Za,Ja,jh,Ik,Hk,Gk,Fk,Xc,Qc,ih,Ek,Dk,Ck,Vc,hh,Ja,Za,gh,fh,Bk,Ak,zk,Uc,eh,Ja,Za,dh,ch,wk,ub,ab,Sc,uc,Tc,ab,Ja,Qc,vk,uk,tk,Xc,Qc,ih,sk,rk,qk,Vc,hh,Ja,Za,gh,fh,pk,ok,nk,Uc,eh,Ja,Za,dh,ch,mk,ub,ab,Sc,uc,Rc,ab,ib,Ja,lk,hk,gk,kk,jk,Ja,oe,ik,ek,Rg,$g,Yg,fk,Qg,Rg,Qg,Vj,Uj,Ja,Ja,$j,Ja,kj,dj,cj,_j,Zj,bj,Xj,Tj,Sj,Rj,Yj,Wj,Yf,Ij,Qj,og,ng,Pj,kg,Mj,$f,_f,vc,Xf,Hj,Lj,og,ng,Kj,kg,Jj,$f,_f,vc,Nj,Gj,Oj,Fj,Ej,Bj,Aj,zj,yj,Cj,xj,Dj,wj,vj,tj,sj,rj,qj,uj,pj,oj,nj,mj,lj,jj,zb,Ja,zc,ib,Za,Za,Gd,ib,Rf,hj,ij,gj,ub,ab,fj,ej,zb,ib,aj,Gd,Ja,Of,$i,Nf,Gd,ib,Of,Rf,Nf,fi,ei,di,ci,ai,bi,gi,Ec,$h,ff,ef,cf,Re,Qe,Zh,ub,ab,af,af,Wh,Qh,Sh,Vh,ab,Rh,Th,Uh,ab,Nh,ab,Mh,ab,Oh,ad,vc,ad,ad]);function ea(){return G.byteLength/65536|0}function ja(ka){ka=ka|0;var fa=ea()|0;var ga=fa+ka|0;if(fa0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;assert(INITIAL_MEMORY>=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="draco_encoder.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["g"];addOnInit(Module["asm"]["f"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync().catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret},copy:function(array,view,offset){offset>>>=0;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offset>>>=1;break;case 4:offset>>>=2;break;case 8:offset>>>=3;break}for(var i=0;i0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;assert(INITIAL_MEMORY>=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="draco_encoder.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["g"];addOnInit(Module["asm"]["f"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync().catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret},copy:function(array,view,offset){offset>>>=0;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offset>>>=1;break;case 4:offset>>>=2;break;case 8:offset>>>=3;break}for(var i=0;i>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,f+100663296);var e=Math;d=Math.max(f,d);e=e.min.call(e,2147483648, +k("no native wasm support detected");var ba,na=!1,O,fa,ea,S,T,ha,ta=[],ka=[],sa=[],qa=!1,U=0,ma=null,aa=null;var K="draco_encoder.wasm";K.startsWith("data:application/octet-stream;base64,")||(K=m(K));var pc=0,qc={b:function(f,b,c){(new w(f)).init(b,c);pc++;throw f;},a:function(){k("")},d:function(f,b,c){fa.copyWithin(f,b,b+c)},c:function(f){var b=fa.length;f>>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,f+100663296);var e=Math;d=Math.max(f,d);e=e.min.call(e,2147483648, d+(65536-d%65536)%65536);a:{d=ba.buffer;try{ba.grow(e-d.byteLength+65535>>>16);r();var g=1;break a}catch(t){}g=void 0}if(g)return!0}return!1}};(function(){function f(e,g){a.asm=e.exports;ba=a.asm.e;r();ka.unshift(a.asm.f);U--;a.monitorRunDependencies&&a.monitorRunDependencies(U);0==U&&(null!==ma&&(clearInterval(ma),ma=null),aa&&(e=aa,aa=null,e()))}function b(e){f(e.instance)}function c(e){return h().then(function(g){return WebAssembly.instantiate(g,d)}).then(function(g){return g}).then(e,function(g){W("failed to asynchronously prepare wasm: "+ -g);k(g)})}var d={a:oc};U++;a.monitorRunDependencies&&a.monitorRunDependencies(U);if(a.instantiateWasm)try{return a.instantiateWasm(d,f)}catch(e){W("Module.instantiateWasm callback failed with error: "+e),ca(e)}(function(){return X||"function"!=typeof WebAssembly.instantiateStreaming||K.startsWith("data:application/octet-stream;base64,")||K.startsWith("file://")||Ia||"function"!=typeof fetch?c(b):fetch(K,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b, +g);k(g)})}var d={a:qc};U++;a.monitorRunDependencies&&a.monitorRunDependencies(U);if(a.instantiateWasm)try{return a.instantiateWasm(d,f)}catch(e){W("Module.instantiateWasm callback failed with error: "+e),ca(e)}(function(){return X||"function"!=typeof WebAssembly.instantiateStreaming||K.startsWith("data:application/octet-stream;base64,")||K.startsWith("file://")||Ia||"function"!=typeof fetch?c(b):fetch(K,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b, function(g){W("wasm streaming compile failed: "+g);W("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ca);return{}})();var La=a._emscripten_bind_VoidPtr___destroy___0=function(){return(La=a._emscripten_bind_VoidPtr___destroy___0=a.asm.h).apply(null,arguments)},ua=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(ua=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=a.asm.i).apply(null,arguments)},Ma=a._emscripten_bind_GeometryAttribute___destroy___0= function(){return(Ma=a._emscripten_bind_GeometryAttribute___destroy___0=a.asm.j).apply(null,arguments)},va=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(va=a._emscripten_bind_PointAttribute_PointAttribute_0=a.asm.k).apply(null,arguments)},Na=a._emscripten_bind_PointAttribute_size_0=function(){return(Na=a._emscripten_bind_PointAttribute_size_0=a.asm.l).apply(null,arguments)},Oa=a._emscripten_bind_PointAttribute_attribute_type_0=function(){return(Oa=a._emscripten_bind_PointAttribute_attribute_type_0= a.asm.m).apply(null,arguments)},Pa=a._emscripten_bind_PointAttribute_data_type_0=function(){return(Pa=a._emscripten_bind_PointAttribute_data_type_0=a.asm.n).apply(null,arguments)},Qa=a._emscripten_bind_PointAttribute_num_components_0=function(){return(Qa=a._emscripten_bind_PointAttribute_num_components_0=a.asm.o).apply(null,arguments)},Ra=a._emscripten_bind_PointAttribute_normalized_0=function(){return(Ra=a._emscripten_bind_PointAttribute_normalized_0=a.asm.p).apply(null,arguments)},Sa=a._emscripten_bind_PointAttribute_byte_stride_0= @@ -48,50 +48,51 @@ ib=a._emscripten_bind_MetadataBuilder_AddIntEntry_3=function(){return(ib=a._emsc function(){return(lb=a._emscripten_bind_MetadataBuilder___destroy___0=a.asm.P).apply(null,arguments)},Ba=a._emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=function(){return(Ba=a._emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=a.asm.Q).apply(null,arguments)},mb=a._emscripten_bind_PointCloudBuilder_AddFloatAttribute_5=function(){return(mb=a._emscripten_bind_PointCloudBuilder_AddFloatAttribute_5=a.asm.R).apply(null,arguments)},nb=a._emscripten_bind_PointCloudBuilder_AddInt8Attribute_5= function(){return(nb=a._emscripten_bind_PointCloudBuilder_AddInt8Attribute_5=a.asm.S).apply(null,arguments)},ob=a._emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=function(){return(ob=a._emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=a.asm.T).apply(null,arguments)},pb=a._emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=function(){return(pb=a._emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=a.asm.U).apply(null,arguments)},qb=a._emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5= function(){return(qb=a._emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5=a.asm.V).apply(null,arguments)},rb=a._emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=function(){return(rb=a._emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=a.asm.W).apply(null,arguments)},sb=a._emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=function(){return(sb=a._emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=a.asm.X).apply(null,arguments)},tb=a._emscripten_bind_PointCloudBuilder_AddMetadata_2= -function(){return(tb=a._emscripten_bind_PointCloudBuilder_AddMetadata_2=a.asm.Y).apply(null,arguments)},ub=a._emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=function(){return(ub=a._emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=a.asm.Z).apply(null,arguments)},vb=a._emscripten_bind_PointCloudBuilder___destroy___0=function(){return(vb=a._emscripten_bind_PointCloudBuilder___destroy___0=a.asm._).apply(null,arguments)},Ca=a._emscripten_bind_MeshBuilder_MeshBuilder_0=function(){return(Ca= -a._emscripten_bind_MeshBuilder_MeshBuilder_0=a.asm.$).apply(null,arguments)},wb=a._emscripten_bind_MeshBuilder_AddFacesToMesh_3=function(){return(wb=a._emscripten_bind_MeshBuilder_AddFacesToMesh_3=a.asm.aa).apply(null,arguments)},xb=a._emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=function(){return(xb=a._emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=a.asm.ba).apply(null,arguments)},yb=a._emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5=function(){return(yb=a._emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5= -a.asm.ca).apply(null,arguments)},zb=a._emscripten_bind_MeshBuilder_AddMetadataToMesh_2=function(){return(zb=a._emscripten_bind_MeshBuilder_AddMetadataToMesh_2=a.asm.da).apply(null,arguments)},Ab=a._emscripten_bind_MeshBuilder_AddFloatAttribute_5=function(){return(Ab=a._emscripten_bind_MeshBuilder_AddFloatAttribute_5=a.asm.ea).apply(null,arguments)},Bb=a._emscripten_bind_MeshBuilder_AddInt8Attribute_5=function(){return(Bb=a._emscripten_bind_MeshBuilder_AddInt8Attribute_5=a.asm.fa).apply(null,arguments)}, -Cb=a._emscripten_bind_MeshBuilder_AddUInt8Attribute_5=function(){return(Cb=a._emscripten_bind_MeshBuilder_AddUInt8Attribute_5=a.asm.ga).apply(null,arguments)},Db=a._emscripten_bind_MeshBuilder_AddInt16Attribute_5=function(){return(Db=a._emscripten_bind_MeshBuilder_AddInt16Attribute_5=a.asm.ha).apply(null,arguments)},Eb=a._emscripten_bind_MeshBuilder_AddUInt16Attribute_5=function(){return(Eb=a._emscripten_bind_MeshBuilder_AddUInt16Attribute_5=a.asm.ia).apply(null,arguments)},Fb=a._emscripten_bind_MeshBuilder_AddInt32Attribute_5= -function(){return(Fb=a._emscripten_bind_MeshBuilder_AddInt32Attribute_5=a.asm.ja).apply(null,arguments)},Gb=a._emscripten_bind_MeshBuilder_AddUInt32Attribute_5=function(){return(Gb=a._emscripten_bind_MeshBuilder_AddUInt32Attribute_5=a.asm.ka).apply(null,arguments)},Hb=a._emscripten_bind_MeshBuilder_AddMetadata_2=function(){return(Hb=a._emscripten_bind_MeshBuilder_AddMetadata_2=a.asm.la).apply(null,arguments)},Ib=a._emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=function(){return(Ib=a._emscripten_bind_MeshBuilder_SetMetadataForAttribute_3= -a.asm.ma).apply(null,arguments)},Jb=a._emscripten_bind_MeshBuilder___destroy___0=function(){return(Jb=a._emscripten_bind_MeshBuilder___destroy___0=a.asm.na).apply(null,arguments)},Da=a._emscripten_bind_Encoder_Encoder_0=function(){return(Da=a._emscripten_bind_Encoder_Encoder_0=a.asm.oa).apply(null,arguments)},Kb=a._emscripten_bind_Encoder_SetEncodingMethod_1=function(){return(Kb=a._emscripten_bind_Encoder_SetEncodingMethod_1=a.asm.pa).apply(null,arguments)},Lb=a._emscripten_bind_Encoder_SetAttributeQuantization_2= -function(){return(Lb=a._emscripten_bind_Encoder_SetAttributeQuantization_2=a.asm.qa).apply(null,arguments)},Mb=a._emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=function(){return(Mb=a._emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=a.asm.ra).apply(null,arguments)},Nb=a._emscripten_bind_Encoder_SetSpeedOptions_2=function(){return(Nb=a._emscripten_bind_Encoder_SetSpeedOptions_2=a.asm.sa).apply(null,arguments)},Ob=a._emscripten_bind_Encoder_SetTrackEncodedProperties_1=function(){return(Ob= -a._emscripten_bind_Encoder_SetTrackEncodedProperties_1=a.asm.ta).apply(null,arguments)},Pb=a._emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=function(){return(Pb=a._emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=a.asm.ua).apply(null,arguments)},Qb=a._emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=function(){return(Qb=a._emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=a.asm.va).apply(null,arguments)},Rb=a._emscripten_bind_Encoder_GetNumberOfEncodedPoints_0=function(){return(Rb= -a._emscripten_bind_Encoder_GetNumberOfEncodedPoints_0=a.asm.wa).apply(null,arguments)},Sb=a._emscripten_bind_Encoder_GetNumberOfEncodedFaces_0=function(){return(Sb=a._emscripten_bind_Encoder_GetNumberOfEncodedFaces_0=a.asm.xa).apply(null,arguments)},Tb=a._emscripten_bind_Encoder___destroy___0=function(){return(Tb=a._emscripten_bind_Encoder___destroy___0=a.asm.ya).apply(null,arguments)},Ea=a._emscripten_bind_ExpertEncoder_ExpertEncoder_1=function(){return(Ea=a._emscripten_bind_ExpertEncoder_ExpertEncoder_1= -a.asm.za).apply(null,arguments)},Ub=a._emscripten_bind_ExpertEncoder_SetEncodingMethod_1=function(){return(Ub=a._emscripten_bind_ExpertEncoder_SetEncodingMethod_1=a.asm.Aa).apply(null,arguments)},Vb=a._emscripten_bind_ExpertEncoder_SetAttributeQuantization_2=function(){return(Vb=a._emscripten_bind_ExpertEncoder_SetAttributeQuantization_2=a.asm.Ba).apply(null,arguments)},Wb=a._emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5=function(){return(Wb=a._emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5= -a.asm.Ca).apply(null,arguments)},Xb=a._emscripten_bind_ExpertEncoder_SetSpeedOptions_2=function(){return(Xb=a._emscripten_bind_ExpertEncoder_SetSpeedOptions_2=a.asm.Da).apply(null,arguments)},Yb=a._emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1=function(){return(Yb=a._emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1=a.asm.Ea).apply(null,arguments)},Zb=a._emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2=function(){return(Zb=a._emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2= -a.asm.Fa).apply(null,arguments)},$b=a._emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0=function(){return($b=a._emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0=a.asm.Ga).apply(null,arguments)},ac=a._emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0=function(){return(ac=a._emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0=a.asm.Ha).apply(null,arguments)},bc=a._emscripten_bind_ExpertEncoder___destroy___0=function(){return(bc=a._emscripten_bind_ExpertEncoder___destroy___0= -a.asm.Ia).apply(null,arguments)},cc=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(cc=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=a.asm.Ja).apply(null,arguments)},dc=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(dc=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=a.asm.Ka).apply(null,arguments)},ec=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(ec=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL= -a.asm.La).apply(null,arguments)},fc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(fc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=a.asm.Ma).apply(null,arguments)},gc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(gc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=a.asm.Na).apply(null,arguments)},hc=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(hc=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC= -a.asm.Oa).apply(null,arguments)},ic=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(ic=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=a.asm.Pa).apply(null,arguments)},jc=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(jc=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=a.asm.Qa).apply(null,arguments)},kc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(kc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH= -a.asm.Ra).apply(null,arguments)},lc=a._emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=function(){return(lc=a._emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=a.asm.Sa).apply(null,arguments)},mc=a._emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=function(){return(mc=a._emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=a.asm.Ta).apply(null,arguments)};a._malloc=function(){return(a._malloc=a.asm.Ua).apply(null,arguments)};a._free=function(){return(a._free= -a.asm.Va).apply(null,arguments)};var pa=function(){return(pa=a.asm.Wa).apply(null,arguments)};a.___start_em_js=19116;a.___stop_em_js=19214;var da;aa=function b(){da||B();da||(aa=b)};if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=n.size?(0>>=0;switch(c.BYTES_PER_ELEMENT){case 2:d>>>=1;break;case 4:d>>>=2;break;case 8:d>>>=3}for(var e=0;e=n.size?(0>>=0;switch(c.BYTES_PER_ELEMENT){case 2:d>>>=1;break;case 4:d>>>=2;break;case 8:d>>>=3}for(var e=0;eOpen a draco compressed file (.drc): // It is recommended to always pull your Draco JavaScript and WASM decoders // from this URL. Users will benefit from having the Draco decoder in cache // as more sites start using the static URL. - dracoLoader.setDecoderPath('https://www.gstatic.com/draco/versioned/decoders/1.5.6/'); + dracoLoader.setDecoderPath('https://www.gstatic.com/draco/versioned/decoders/1.5.7/'); var camera, cameraTarget, scene, renderer; diff --git a/javascript/npm/draco3d/README.md b/javascript/npm/draco3d/README.md index 2208720e..d5bbe863 100644 --- a/javascript/npm/draco3d/README.md +++ b/javascript/npm/draco3d/README.md @@ -6,7 +6,7 @@ News ======= -Check out the [README](https://github.com/google/draco/blob/1.5.6/README.md) +Check out the [README](https://github.com/google/draco/blob/1.5.7/README.md) file for news about this release. Description diff --git a/javascript/npm/draco3d/draco_decoder.wasm b/javascript/npm/draco3d/draco_decoder.wasm index e5a5e06e..4138f559 100644 Binary files a/javascript/npm/draco3d/draco_decoder.wasm and b/javascript/npm/draco3d/draco_decoder.wasm differ diff --git a/javascript/npm/draco3d/draco_encoder.wasm b/javascript/npm/draco3d/draco_encoder.wasm index 397c7de9..21a67193 100755 Binary files a/javascript/npm/draco3d/draco_encoder.wasm and b/javascript/npm/draco3d/draco_encoder.wasm differ diff --git a/javascript/npm/draco3d/draco_encoder_nodejs.js b/javascript/npm/draco3d/draco_encoder_nodejs.js index 64e98e99..8da3acc3 100644 --- a/javascript/npm/draco3d/draco_encoder_nodejs.js +++ b/javascript/npm/draco3d/draco_encoder_nodejs.js @@ -32,9 +32,9 @@ D(z)[this.ptr]=this}function G(){this.ptr=wa();D(G)[this.ptr]=this}function E(){ typeof window,Y="function"==typeof importScripts,Ia="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,L="";if(Ia){var Ja=require("fs"),la=require("path");L=Y?la.dirname(L)+"/":__dirname+"/";var Ka=function(f,b){f=f.startsWith("file://")?new URL(f):la.normalize(f);return Ja.readFileSync(f,b?void 0:"utf8")};var ia=function(f){f=Ka(f,!0);f.buffer||(f=new Uint8Array(f));return f};var ja=function(f,b,c){f=f.startsWith("file://")?new URL(f):la.normalize(f); Ja.readFile(f,function(d,e){d?c(d):b(e.buffer)})};1>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,f+100663296);var e=Math;d=Math.max(f,d);e=e.min.call(e,2147483648, +k("no native wasm support detected");var ba,na=!1,O,fa,ea,S,T,ha,ta=[],ka=[],sa=[],qa=!1,U=0,ma=null,aa=null;var K="draco_encoder.wasm";K.startsWith("data:application/octet-stream;base64,")||(K=m(K));var pc=0,qc={b:function(f,b,c){(new w(f)).init(b,c);pc++;throw f;},a:function(){k("")},d:function(f,b,c){fa.copyWithin(f,b,b+c)},c:function(f){var b=fa.length;f>>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,f+100663296);var e=Math;d=Math.max(f,d);e=e.min.call(e,2147483648, d+(65536-d%65536)%65536);a:{d=ba.buffer;try{ba.grow(e-d.byteLength+65535>>>16);r();var g=1;break a}catch(t){}g=void 0}if(g)return!0}return!1}};(function(){function f(e,g){a.asm=e.exports;ba=a.asm.e;r();ka.unshift(a.asm.f);U--;a.monitorRunDependencies&&a.monitorRunDependencies(U);0==U&&(null!==ma&&(clearInterval(ma),ma=null),aa&&(e=aa,aa=null,e()))}function b(e){f(e.instance)}function c(e){return h().then(function(g){return WebAssembly.instantiate(g,d)}).then(function(g){return g}).then(e,function(g){W("failed to asynchronously prepare wasm: "+ -g);k(g)})}var d={a:oc};U++;a.monitorRunDependencies&&a.monitorRunDependencies(U);if(a.instantiateWasm)try{return a.instantiateWasm(d,f)}catch(e){W("Module.instantiateWasm callback failed with error: "+e),ca(e)}(function(){return X||"function"!=typeof WebAssembly.instantiateStreaming||K.startsWith("data:application/octet-stream;base64,")||K.startsWith("file://")||Ia||"function"!=typeof fetch?c(b):fetch(K,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b, +g);k(g)})}var d={a:qc};U++;a.monitorRunDependencies&&a.monitorRunDependencies(U);if(a.instantiateWasm)try{return a.instantiateWasm(d,f)}catch(e){W("Module.instantiateWasm callback failed with error: "+e),ca(e)}(function(){return X||"function"!=typeof WebAssembly.instantiateStreaming||K.startsWith("data:application/octet-stream;base64,")||K.startsWith("file://")||Ia||"function"!=typeof fetch?c(b):fetch(K,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b, function(g){W("wasm streaming compile failed: "+g);W("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ca);return{}})();var La=a._emscripten_bind_VoidPtr___destroy___0=function(){return(La=a._emscripten_bind_VoidPtr___destroy___0=a.asm.h).apply(null,arguments)},ua=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(ua=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=a.asm.i).apply(null,arguments)},Ma=a._emscripten_bind_GeometryAttribute___destroy___0= function(){return(Ma=a._emscripten_bind_GeometryAttribute___destroy___0=a.asm.j).apply(null,arguments)},va=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(va=a._emscripten_bind_PointAttribute_PointAttribute_0=a.asm.k).apply(null,arguments)},Na=a._emscripten_bind_PointAttribute_size_0=function(){return(Na=a._emscripten_bind_PointAttribute_size_0=a.asm.l).apply(null,arguments)},Oa=a._emscripten_bind_PointAttribute_attribute_type_0=function(){return(Oa=a._emscripten_bind_PointAttribute_attribute_type_0= a.asm.m).apply(null,arguments)},Pa=a._emscripten_bind_PointAttribute_data_type_0=function(){return(Pa=a._emscripten_bind_PointAttribute_data_type_0=a.asm.n).apply(null,arguments)},Qa=a._emscripten_bind_PointAttribute_num_components_0=function(){return(Qa=a._emscripten_bind_PointAttribute_num_components_0=a.asm.o).apply(null,arguments)},Ra=a._emscripten_bind_PointAttribute_normalized_0=function(){return(Ra=a._emscripten_bind_PointAttribute_normalized_0=a.asm.p).apply(null,arguments)},Sa=a._emscripten_bind_PointAttribute_byte_stride_0= @@ -48,50 +48,51 @@ ib=a._emscripten_bind_MetadataBuilder_AddIntEntry_3=function(){return(ib=a._emsc function(){return(lb=a._emscripten_bind_MetadataBuilder___destroy___0=a.asm.P).apply(null,arguments)},Ba=a._emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=function(){return(Ba=a._emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=a.asm.Q).apply(null,arguments)},mb=a._emscripten_bind_PointCloudBuilder_AddFloatAttribute_5=function(){return(mb=a._emscripten_bind_PointCloudBuilder_AddFloatAttribute_5=a.asm.R).apply(null,arguments)},nb=a._emscripten_bind_PointCloudBuilder_AddInt8Attribute_5= function(){return(nb=a._emscripten_bind_PointCloudBuilder_AddInt8Attribute_5=a.asm.S).apply(null,arguments)},ob=a._emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=function(){return(ob=a._emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=a.asm.T).apply(null,arguments)},pb=a._emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=function(){return(pb=a._emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=a.asm.U).apply(null,arguments)},qb=a._emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5= function(){return(qb=a._emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5=a.asm.V).apply(null,arguments)},rb=a._emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=function(){return(rb=a._emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=a.asm.W).apply(null,arguments)},sb=a._emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=function(){return(sb=a._emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=a.asm.X).apply(null,arguments)},tb=a._emscripten_bind_PointCloudBuilder_AddMetadata_2= -function(){return(tb=a._emscripten_bind_PointCloudBuilder_AddMetadata_2=a.asm.Y).apply(null,arguments)},ub=a._emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=function(){return(ub=a._emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=a.asm.Z).apply(null,arguments)},vb=a._emscripten_bind_PointCloudBuilder___destroy___0=function(){return(vb=a._emscripten_bind_PointCloudBuilder___destroy___0=a.asm._).apply(null,arguments)},Ca=a._emscripten_bind_MeshBuilder_MeshBuilder_0=function(){return(Ca= -a._emscripten_bind_MeshBuilder_MeshBuilder_0=a.asm.$).apply(null,arguments)},wb=a._emscripten_bind_MeshBuilder_AddFacesToMesh_3=function(){return(wb=a._emscripten_bind_MeshBuilder_AddFacesToMesh_3=a.asm.aa).apply(null,arguments)},xb=a._emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=function(){return(xb=a._emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=a.asm.ba).apply(null,arguments)},yb=a._emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5=function(){return(yb=a._emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5= -a.asm.ca).apply(null,arguments)},zb=a._emscripten_bind_MeshBuilder_AddMetadataToMesh_2=function(){return(zb=a._emscripten_bind_MeshBuilder_AddMetadataToMesh_2=a.asm.da).apply(null,arguments)},Ab=a._emscripten_bind_MeshBuilder_AddFloatAttribute_5=function(){return(Ab=a._emscripten_bind_MeshBuilder_AddFloatAttribute_5=a.asm.ea).apply(null,arguments)},Bb=a._emscripten_bind_MeshBuilder_AddInt8Attribute_5=function(){return(Bb=a._emscripten_bind_MeshBuilder_AddInt8Attribute_5=a.asm.fa).apply(null,arguments)}, -Cb=a._emscripten_bind_MeshBuilder_AddUInt8Attribute_5=function(){return(Cb=a._emscripten_bind_MeshBuilder_AddUInt8Attribute_5=a.asm.ga).apply(null,arguments)},Db=a._emscripten_bind_MeshBuilder_AddInt16Attribute_5=function(){return(Db=a._emscripten_bind_MeshBuilder_AddInt16Attribute_5=a.asm.ha).apply(null,arguments)},Eb=a._emscripten_bind_MeshBuilder_AddUInt16Attribute_5=function(){return(Eb=a._emscripten_bind_MeshBuilder_AddUInt16Attribute_5=a.asm.ia).apply(null,arguments)},Fb=a._emscripten_bind_MeshBuilder_AddInt32Attribute_5= -function(){return(Fb=a._emscripten_bind_MeshBuilder_AddInt32Attribute_5=a.asm.ja).apply(null,arguments)},Gb=a._emscripten_bind_MeshBuilder_AddUInt32Attribute_5=function(){return(Gb=a._emscripten_bind_MeshBuilder_AddUInt32Attribute_5=a.asm.ka).apply(null,arguments)},Hb=a._emscripten_bind_MeshBuilder_AddMetadata_2=function(){return(Hb=a._emscripten_bind_MeshBuilder_AddMetadata_2=a.asm.la).apply(null,arguments)},Ib=a._emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=function(){return(Ib=a._emscripten_bind_MeshBuilder_SetMetadataForAttribute_3= -a.asm.ma).apply(null,arguments)},Jb=a._emscripten_bind_MeshBuilder___destroy___0=function(){return(Jb=a._emscripten_bind_MeshBuilder___destroy___0=a.asm.na).apply(null,arguments)},Da=a._emscripten_bind_Encoder_Encoder_0=function(){return(Da=a._emscripten_bind_Encoder_Encoder_0=a.asm.oa).apply(null,arguments)},Kb=a._emscripten_bind_Encoder_SetEncodingMethod_1=function(){return(Kb=a._emscripten_bind_Encoder_SetEncodingMethod_1=a.asm.pa).apply(null,arguments)},Lb=a._emscripten_bind_Encoder_SetAttributeQuantization_2= -function(){return(Lb=a._emscripten_bind_Encoder_SetAttributeQuantization_2=a.asm.qa).apply(null,arguments)},Mb=a._emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=function(){return(Mb=a._emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=a.asm.ra).apply(null,arguments)},Nb=a._emscripten_bind_Encoder_SetSpeedOptions_2=function(){return(Nb=a._emscripten_bind_Encoder_SetSpeedOptions_2=a.asm.sa).apply(null,arguments)},Ob=a._emscripten_bind_Encoder_SetTrackEncodedProperties_1=function(){return(Ob= -a._emscripten_bind_Encoder_SetTrackEncodedProperties_1=a.asm.ta).apply(null,arguments)},Pb=a._emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=function(){return(Pb=a._emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=a.asm.ua).apply(null,arguments)},Qb=a._emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=function(){return(Qb=a._emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=a.asm.va).apply(null,arguments)},Rb=a._emscripten_bind_Encoder_GetNumberOfEncodedPoints_0=function(){return(Rb= -a._emscripten_bind_Encoder_GetNumberOfEncodedPoints_0=a.asm.wa).apply(null,arguments)},Sb=a._emscripten_bind_Encoder_GetNumberOfEncodedFaces_0=function(){return(Sb=a._emscripten_bind_Encoder_GetNumberOfEncodedFaces_0=a.asm.xa).apply(null,arguments)},Tb=a._emscripten_bind_Encoder___destroy___0=function(){return(Tb=a._emscripten_bind_Encoder___destroy___0=a.asm.ya).apply(null,arguments)},Ea=a._emscripten_bind_ExpertEncoder_ExpertEncoder_1=function(){return(Ea=a._emscripten_bind_ExpertEncoder_ExpertEncoder_1= -a.asm.za).apply(null,arguments)},Ub=a._emscripten_bind_ExpertEncoder_SetEncodingMethod_1=function(){return(Ub=a._emscripten_bind_ExpertEncoder_SetEncodingMethod_1=a.asm.Aa).apply(null,arguments)},Vb=a._emscripten_bind_ExpertEncoder_SetAttributeQuantization_2=function(){return(Vb=a._emscripten_bind_ExpertEncoder_SetAttributeQuantization_2=a.asm.Ba).apply(null,arguments)},Wb=a._emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5=function(){return(Wb=a._emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5= -a.asm.Ca).apply(null,arguments)},Xb=a._emscripten_bind_ExpertEncoder_SetSpeedOptions_2=function(){return(Xb=a._emscripten_bind_ExpertEncoder_SetSpeedOptions_2=a.asm.Da).apply(null,arguments)},Yb=a._emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1=function(){return(Yb=a._emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1=a.asm.Ea).apply(null,arguments)},Zb=a._emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2=function(){return(Zb=a._emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2= -a.asm.Fa).apply(null,arguments)},$b=a._emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0=function(){return($b=a._emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0=a.asm.Ga).apply(null,arguments)},ac=a._emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0=function(){return(ac=a._emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0=a.asm.Ha).apply(null,arguments)},bc=a._emscripten_bind_ExpertEncoder___destroy___0=function(){return(bc=a._emscripten_bind_ExpertEncoder___destroy___0= -a.asm.Ia).apply(null,arguments)},cc=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(cc=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=a.asm.Ja).apply(null,arguments)},dc=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(dc=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=a.asm.Ka).apply(null,arguments)},ec=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(ec=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL= -a.asm.La).apply(null,arguments)},fc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(fc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=a.asm.Ma).apply(null,arguments)},gc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(gc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=a.asm.Na).apply(null,arguments)},hc=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(hc=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC= -a.asm.Oa).apply(null,arguments)},ic=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(ic=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=a.asm.Pa).apply(null,arguments)},jc=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(jc=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=a.asm.Qa).apply(null,arguments)},kc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(kc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH= -a.asm.Ra).apply(null,arguments)},lc=a._emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=function(){return(lc=a._emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=a.asm.Sa).apply(null,arguments)},mc=a._emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=function(){return(mc=a._emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=a.asm.Ta).apply(null,arguments)};a._malloc=function(){return(a._malloc=a.asm.Ua).apply(null,arguments)};a._free=function(){return(a._free= -a.asm.Va).apply(null,arguments)};var pa=function(){return(pa=a.asm.Wa).apply(null,arguments)};a.___start_em_js=19116;a.___stop_em_js=19214;var da;aa=function b(){da||B();da||(aa=b)};if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=n.size?(0>>=0;switch(c.BYTES_PER_ELEMENT){case 2:d>>>=1;break;case 4:d>>>=2;break;case 8:d>>>=3}for(var e=0;e=n.size?(0>>=0;switch(c.BYTES_PER_ELEMENT){case 2:d>>>=1;break;case 4:d>>>=2;break;case 8:d>>>=3}for(var e=0;e>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,f+100663296);var e=Math;d=Math.max(f,d);e=e.min.call(e,2147483648, +k("no native wasm support detected");var ba,na=!1,O,fa,ea,S,T,ha,ta=[],ka=[],sa=[],qa=!1,U=0,ma=null,aa=null;var K="draco_encoder.wasm";K.startsWith("data:application/octet-stream;base64,")||(K=m(K));var pc=0,qc={b:function(f,b,c){(new w(f)).init(b,c);pc++;throw f;},a:function(){k("")},d:function(f,b,c){fa.copyWithin(f,b,b+c)},c:function(f){var b=fa.length;f>>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,f+100663296);var e=Math;d=Math.max(f,d);e=e.min.call(e,2147483648, d+(65536-d%65536)%65536);a:{d=ba.buffer;try{ba.grow(e-d.byteLength+65535>>>16);r();var g=1;break a}catch(t){}g=void 0}if(g)return!0}return!1}};(function(){function f(e,g){a.asm=e.exports;ba=a.asm.e;r();ka.unshift(a.asm.f);U--;a.monitorRunDependencies&&a.monitorRunDependencies(U);0==U&&(null!==ma&&(clearInterval(ma),ma=null),aa&&(e=aa,aa=null,e()))}function b(e){f(e.instance)}function c(e){return h().then(function(g){return WebAssembly.instantiate(g,d)}).then(function(g){return g}).then(e,function(g){W("failed to asynchronously prepare wasm: "+ -g);k(g)})}var d={a:oc};U++;a.monitorRunDependencies&&a.monitorRunDependencies(U);if(a.instantiateWasm)try{return a.instantiateWasm(d,f)}catch(e){W("Module.instantiateWasm callback failed with error: "+e),ca(e)}(function(){return X||"function"!=typeof WebAssembly.instantiateStreaming||K.startsWith("data:application/octet-stream;base64,")||K.startsWith("file://")||Ia||"function"!=typeof fetch?c(b):fetch(K,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b, +g);k(g)})}var d={a:qc};U++;a.monitorRunDependencies&&a.monitorRunDependencies(U);if(a.instantiateWasm)try{return a.instantiateWasm(d,f)}catch(e){W("Module.instantiateWasm callback failed with error: "+e),ca(e)}(function(){return X||"function"!=typeof WebAssembly.instantiateStreaming||K.startsWith("data:application/octet-stream;base64,")||K.startsWith("file://")||Ia||"function"!=typeof fetch?c(b):fetch(K,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b, function(g){W("wasm streaming compile failed: "+g);W("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ca);return{}})();var La=a._emscripten_bind_VoidPtr___destroy___0=function(){return(La=a._emscripten_bind_VoidPtr___destroy___0=a.asm.h).apply(null,arguments)},ua=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(ua=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=a.asm.i).apply(null,arguments)},Ma=a._emscripten_bind_GeometryAttribute___destroy___0= function(){return(Ma=a._emscripten_bind_GeometryAttribute___destroy___0=a.asm.j).apply(null,arguments)},va=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(va=a._emscripten_bind_PointAttribute_PointAttribute_0=a.asm.k).apply(null,arguments)},Na=a._emscripten_bind_PointAttribute_size_0=function(){return(Na=a._emscripten_bind_PointAttribute_size_0=a.asm.l).apply(null,arguments)},Oa=a._emscripten_bind_PointAttribute_attribute_type_0=function(){return(Oa=a._emscripten_bind_PointAttribute_attribute_type_0= a.asm.m).apply(null,arguments)},Pa=a._emscripten_bind_PointAttribute_data_type_0=function(){return(Pa=a._emscripten_bind_PointAttribute_data_type_0=a.asm.n).apply(null,arguments)},Qa=a._emscripten_bind_PointAttribute_num_components_0=function(){return(Qa=a._emscripten_bind_PointAttribute_num_components_0=a.asm.o).apply(null,arguments)},Ra=a._emscripten_bind_PointAttribute_normalized_0=function(){return(Ra=a._emscripten_bind_PointAttribute_normalized_0=a.asm.p).apply(null,arguments)},Sa=a._emscripten_bind_PointAttribute_byte_stride_0= @@ -48,50 +48,51 @@ ib=a._emscripten_bind_MetadataBuilder_AddIntEntry_3=function(){return(ib=a._emsc function(){return(lb=a._emscripten_bind_MetadataBuilder___destroy___0=a.asm.P).apply(null,arguments)},Ba=a._emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=function(){return(Ba=a._emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=a.asm.Q).apply(null,arguments)},mb=a._emscripten_bind_PointCloudBuilder_AddFloatAttribute_5=function(){return(mb=a._emscripten_bind_PointCloudBuilder_AddFloatAttribute_5=a.asm.R).apply(null,arguments)},nb=a._emscripten_bind_PointCloudBuilder_AddInt8Attribute_5= function(){return(nb=a._emscripten_bind_PointCloudBuilder_AddInt8Attribute_5=a.asm.S).apply(null,arguments)},ob=a._emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=function(){return(ob=a._emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=a.asm.T).apply(null,arguments)},pb=a._emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=function(){return(pb=a._emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=a.asm.U).apply(null,arguments)},qb=a._emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5= function(){return(qb=a._emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5=a.asm.V).apply(null,arguments)},rb=a._emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=function(){return(rb=a._emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=a.asm.W).apply(null,arguments)},sb=a._emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=function(){return(sb=a._emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=a.asm.X).apply(null,arguments)},tb=a._emscripten_bind_PointCloudBuilder_AddMetadata_2= -function(){return(tb=a._emscripten_bind_PointCloudBuilder_AddMetadata_2=a.asm.Y).apply(null,arguments)},ub=a._emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=function(){return(ub=a._emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=a.asm.Z).apply(null,arguments)},vb=a._emscripten_bind_PointCloudBuilder___destroy___0=function(){return(vb=a._emscripten_bind_PointCloudBuilder___destroy___0=a.asm._).apply(null,arguments)},Ca=a._emscripten_bind_MeshBuilder_MeshBuilder_0=function(){return(Ca= -a._emscripten_bind_MeshBuilder_MeshBuilder_0=a.asm.$).apply(null,arguments)},wb=a._emscripten_bind_MeshBuilder_AddFacesToMesh_3=function(){return(wb=a._emscripten_bind_MeshBuilder_AddFacesToMesh_3=a.asm.aa).apply(null,arguments)},xb=a._emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=function(){return(xb=a._emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=a.asm.ba).apply(null,arguments)},yb=a._emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5=function(){return(yb=a._emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5= -a.asm.ca).apply(null,arguments)},zb=a._emscripten_bind_MeshBuilder_AddMetadataToMesh_2=function(){return(zb=a._emscripten_bind_MeshBuilder_AddMetadataToMesh_2=a.asm.da).apply(null,arguments)},Ab=a._emscripten_bind_MeshBuilder_AddFloatAttribute_5=function(){return(Ab=a._emscripten_bind_MeshBuilder_AddFloatAttribute_5=a.asm.ea).apply(null,arguments)},Bb=a._emscripten_bind_MeshBuilder_AddInt8Attribute_5=function(){return(Bb=a._emscripten_bind_MeshBuilder_AddInt8Attribute_5=a.asm.fa).apply(null,arguments)}, -Cb=a._emscripten_bind_MeshBuilder_AddUInt8Attribute_5=function(){return(Cb=a._emscripten_bind_MeshBuilder_AddUInt8Attribute_5=a.asm.ga).apply(null,arguments)},Db=a._emscripten_bind_MeshBuilder_AddInt16Attribute_5=function(){return(Db=a._emscripten_bind_MeshBuilder_AddInt16Attribute_5=a.asm.ha).apply(null,arguments)},Eb=a._emscripten_bind_MeshBuilder_AddUInt16Attribute_5=function(){return(Eb=a._emscripten_bind_MeshBuilder_AddUInt16Attribute_5=a.asm.ia).apply(null,arguments)},Fb=a._emscripten_bind_MeshBuilder_AddInt32Attribute_5= -function(){return(Fb=a._emscripten_bind_MeshBuilder_AddInt32Attribute_5=a.asm.ja).apply(null,arguments)},Gb=a._emscripten_bind_MeshBuilder_AddUInt32Attribute_5=function(){return(Gb=a._emscripten_bind_MeshBuilder_AddUInt32Attribute_5=a.asm.ka).apply(null,arguments)},Hb=a._emscripten_bind_MeshBuilder_AddMetadata_2=function(){return(Hb=a._emscripten_bind_MeshBuilder_AddMetadata_2=a.asm.la).apply(null,arguments)},Ib=a._emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=function(){return(Ib=a._emscripten_bind_MeshBuilder_SetMetadataForAttribute_3= -a.asm.ma).apply(null,arguments)},Jb=a._emscripten_bind_MeshBuilder___destroy___0=function(){return(Jb=a._emscripten_bind_MeshBuilder___destroy___0=a.asm.na).apply(null,arguments)},Da=a._emscripten_bind_Encoder_Encoder_0=function(){return(Da=a._emscripten_bind_Encoder_Encoder_0=a.asm.oa).apply(null,arguments)},Kb=a._emscripten_bind_Encoder_SetEncodingMethod_1=function(){return(Kb=a._emscripten_bind_Encoder_SetEncodingMethod_1=a.asm.pa).apply(null,arguments)},Lb=a._emscripten_bind_Encoder_SetAttributeQuantization_2= -function(){return(Lb=a._emscripten_bind_Encoder_SetAttributeQuantization_2=a.asm.qa).apply(null,arguments)},Mb=a._emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=function(){return(Mb=a._emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=a.asm.ra).apply(null,arguments)},Nb=a._emscripten_bind_Encoder_SetSpeedOptions_2=function(){return(Nb=a._emscripten_bind_Encoder_SetSpeedOptions_2=a.asm.sa).apply(null,arguments)},Ob=a._emscripten_bind_Encoder_SetTrackEncodedProperties_1=function(){return(Ob= -a._emscripten_bind_Encoder_SetTrackEncodedProperties_1=a.asm.ta).apply(null,arguments)},Pb=a._emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=function(){return(Pb=a._emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=a.asm.ua).apply(null,arguments)},Qb=a._emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=function(){return(Qb=a._emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=a.asm.va).apply(null,arguments)},Rb=a._emscripten_bind_Encoder_GetNumberOfEncodedPoints_0=function(){return(Rb= -a._emscripten_bind_Encoder_GetNumberOfEncodedPoints_0=a.asm.wa).apply(null,arguments)},Sb=a._emscripten_bind_Encoder_GetNumberOfEncodedFaces_0=function(){return(Sb=a._emscripten_bind_Encoder_GetNumberOfEncodedFaces_0=a.asm.xa).apply(null,arguments)},Tb=a._emscripten_bind_Encoder___destroy___0=function(){return(Tb=a._emscripten_bind_Encoder___destroy___0=a.asm.ya).apply(null,arguments)},Ea=a._emscripten_bind_ExpertEncoder_ExpertEncoder_1=function(){return(Ea=a._emscripten_bind_ExpertEncoder_ExpertEncoder_1= -a.asm.za).apply(null,arguments)},Ub=a._emscripten_bind_ExpertEncoder_SetEncodingMethod_1=function(){return(Ub=a._emscripten_bind_ExpertEncoder_SetEncodingMethod_1=a.asm.Aa).apply(null,arguments)},Vb=a._emscripten_bind_ExpertEncoder_SetAttributeQuantization_2=function(){return(Vb=a._emscripten_bind_ExpertEncoder_SetAttributeQuantization_2=a.asm.Ba).apply(null,arguments)},Wb=a._emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5=function(){return(Wb=a._emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5= -a.asm.Ca).apply(null,arguments)},Xb=a._emscripten_bind_ExpertEncoder_SetSpeedOptions_2=function(){return(Xb=a._emscripten_bind_ExpertEncoder_SetSpeedOptions_2=a.asm.Da).apply(null,arguments)},Yb=a._emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1=function(){return(Yb=a._emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1=a.asm.Ea).apply(null,arguments)},Zb=a._emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2=function(){return(Zb=a._emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2= -a.asm.Fa).apply(null,arguments)},$b=a._emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0=function(){return($b=a._emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0=a.asm.Ga).apply(null,arguments)},ac=a._emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0=function(){return(ac=a._emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0=a.asm.Ha).apply(null,arguments)},bc=a._emscripten_bind_ExpertEncoder___destroy___0=function(){return(bc=a._emscripten_bind_ExpertEncoder___destroy___0= -a.asm.Ia).apply(null,arguments)},cc=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(cc=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=a.asm.Ja).apply(null,arguments)},dc=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(dc=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=a.asm.Ka).apply(null,arguments)},ec=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(ec=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL= -a.asm.La).apply(null,arguments)},fc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(fc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=a.asm.Ma).apply(null,arguments)},gc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(gc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=a.asm.Na).apply(null,arguments)},hc=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(hc=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC= -a.asm.Oa).apply(null,arguments)},ic=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(ic=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=a.asm.Pa).apply(null,arguments)},jc=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(jc=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=a.asm.Qa).apply(null,arguments)},kc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(kc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH= -a.asm.Ra).apply(null,arguments)},lc=a._emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=function(){return(lc=a._emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=a.asm.Sa).apply(null,arguments)},mc=a._emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=function(){return(mc=a._emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=a.asm.Ta).apply(null,arguments)};a._malloc=function(){return(a._malloc=a.asm.Ua).apply(null,arguments)};a._free=function(){return(a._free= -a.asm.Va).apply(null,arguments)};var pa=function(){return(pa=a.asm.Wa).apply(null,arguments)};a.___start_em_js=19116;a.___stop_em_js=19214;var da;aa=function b(){da||B();da||(aa=b)};if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=n.size?(0>>=0;switch(c.BYTES_PER_ELEMENT){case 2:d>>>=1;break;case 4:d>>>=2;break;case 8:d>>>=3}for(var e=0;e=n.size?(0>>=0;switch(c.BYTES_PER_ELEMENT){case 2:d>>>=1;break;case 4:d>>>=2;break;case 8:d>>>=3}for(var e=0;e=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>2];s=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;a:{b:{c:{if(g>>>0>k>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break c}d=e+J[b>>2]|0;J[a>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[a>>2]>31){break c}s=J[b+8>>2];x=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(x|0)|(d|0)>(x|0)){break c}d=e+J[b>>2]|0;J[a+4>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;s=J[b+8>>2];x=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(x|0)|(d|0)>(x|0)){break c}d=e+J[b>>2]|0;J[a+12>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;d=J[a+20>>2];w=J[a+12>>2];if((w|0)!=(d|0)?d:0){break c}s=J[b+8>>2];x=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(x|0)|(d|0)>(x|0)){break c}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[a+16>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(e>>>0>=7){J[A>>2]=e;cj(1760,A);break c}J[A+664>>2]=c;d:{if(!w){break d}e:{k=J[c>>2];if(w>>>0<=(J[c+8>>2]-k|0)/12>>>0){break e}if(w>>>0<357913942){l=J[c+4>>2];d=P(w,12);e=Cj(d);g=d+e|0;e=e+P((l-k|0)/12|0,12)|0;d=e;if((k|0)!=(l|0)){while(1){d=d-12|0;l=l-12|0;J[d>>2]=J[l>>2];J[d+4>>2]=J[l+4>>2];J[d+8>>2]=J[l+8>>2];if((k|0)!=(l|0)){continue}break}}J[c+8>>2]=g;J[c+4>>2]=e;J[c>>2]=d;if(!k){break e}xj(k);break e}break b}f:{switch(J[a+16>>2]){case 0:i=tb(A+8|0,3);y=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;g:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break g}d=e+J[b>>2]|0;J[i>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[i>>2]>32){break g}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break g}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[i+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break g}J[i+8>>2]=0;if(!ge(i+16|0,b)){break g}if(!ge(i+36|0,b)){break g}if(!ge(i+56|0,b)){break g}if(!ge(i+76|0,b)){break g}z=J[i+4>>2];d=0;g=0;f=fa-32|0;fa=f;m=J[i+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;if(m){if(m>>>0>=1073741824){break b}b=m<<2;g=Cj(b);J[f+8>>2]=g;d=b+g|0;J[f+16>>2]=d;Xi(g,0,b);J[f+12>>2]=d}e=J[i+120>>2];b=J[e>>2];if(b){J[e+4>>2]=b;xj(b);m=J[i+12>>2];g=J[f+8>>2];d=J[f+12>>2]}J[e+4>>2]=d;J[e>>2]=g;J[e+8>>2]=J[f+16>>2];g=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;h:{if(m){if(m>>>0>=1073741824){break b}b=m<<2;v=Cj(b);J[f+8>>2]=v;g=b+v|0;J[f+16>>2]=g;Xi(v,0,b);J[f+12>>2]=g}d=J[i+132>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);v=J[f+8>>2];g=J[f+12>>2]}J[d+4>>2]=g;J[d>>2]=v;J[d+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);d=J[f+24>>2]+J[f+28>>2]|0;b=(d>>>0)/341|0;b=J[J[f+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=z;m=J[f+28>>2]+1|0;J[f+28>>2]=m;i:{if(!m){break i}x=i+96|0;while(1){n=J[f+12>>2];g=J[f+24>>2];e=m-1|0;d=g+e|0;b=(d>>>0)/341|0;b=J[n+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;o=J[b+8>>2];k=J[b+4>>2];t=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(g+m|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}b=0;if(t>>>0>z>>>0){break i}d=J[i+12>>2];m=(k|0)!=(d-1|0)?k+1|0:0;if(m>>>0>=d>>>0){break i}q=P(o,12);p=q+J[i+132>>2]|0;l=q+J[i+120>>2]|0;g=J[i>>2];r=m<<2;e=J[r+J[p>>2]>>2];j:{k:{if((g|0)==(e|0)){if(!t){break k}while(1){d=J[l>>2];w=J[d+8>>2];s=J[d+4>>2];n=J[d>>2];q=J[y>>2];m=J[q+4>>2];d=J[q+8>>2];l:{if(m>>>0>>0){J[m+8>>2]=w;J[m+4>>2]=s;J[m>>2]=n;J[q+4>>2]=m+12;break l}r=J[q>>2];g=(m-r|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(d-r|0)/12|0;d=e<<1;k=e>>>0>=178956970?357913941:d>>>0>k>>>0?d:k;if(k){if(k>>>0>=357913942){break a}d=Cj(P(k,12))}else{d=0}v=d+P(g,12)|0;J[v+8>>2]=w;J[v+4>>2]=s;J[v>>2]=n;e=v+12|0;if((m|0)!=(r|0)){while(1){v=v-12|0;m=m-12|0;J[v>>2]=J[m>>2];J[v+4>>2]=J[m+4>>2];J[v+8>>2]=J[m+8>>2];if((m|0)!=(r|0)){continue}break}}J[q+8>>2]=d+P(k,12);J[q+4>>2]=e;J[q>>2]=v;if(!r){break l}xj(r)}J[i+8>>2]=J[i+8>>2]+1;b=b+1|0;if((t|0)!=(b|0)){continue}break}break k}m:{n:{o:{p:{if(t>>>0<=2){d=J[i+108>>2];J[d>>2]=m;v=1;g=J[i+12>>2];if(g>>>0>1){break p}break m}if(M[i+8>>2]>M[i+4>>2]){break i}b=J[i+120>>2];s=o+1|0;w=P(s,12);d=b+w|0;if((d|0)!=(l|0)){Nb(d,J[l>>2],J[l+4>>2]);b=J[i+120>>2]}b=r+J[b+w>>2]|0;J[b>>2]=J[b>>2]+(1<>2];e=32-k|0;q:{if((n|0)<=(e|0)){e=J[i+28>>2];if((e|0)==J[i+20>>2]){break o}d=J[e>>2];b=k+n|0;J[i+32>>2]=b;v=d<>>32-n|0;if((b|0)!=32){break q}J[i+32>>2]=0;J[i+28>>2]=e+4;break q}g=J[i+28>>2];b=g+4|0;if((b|0)==J[i+20>>2]){break o}d=J[g>>2];J[i+28>>2]=b;b=n-e|0;J[i+32>>2]=b;v=J[g+4>>2]>>>32-b|d<>>32-n}d=t>>>1|0;if(v>>>0>d>>>0){break i}break n}while(1){m=(g-1|0)!=(m|0)?m+1|0:0;J[d+(v<<2)>>2]=m;g=J[i+12>>2];v=v+1|0;if(g>>>0>v>>>0){continue}break}break m}d=t>>>1|0;v=0}r:{s:{e=d-v|0;b=t-e|0;t:{if((b|0)==(e|0)){b=e;break t}n=J[i+88>>2];if((n|0)==J[i+80>>2]){break s}k=J[n>>2];g=J[i+92>>2];d=g+1|0;J[i+92>>2]=d;g=k&-2147483648>>>g;u:{if((d|0)==32){J[i+92>>2]=0;J[i+88>>2]=n+4;if(g){break u}break s}if(!g){break s}}}d=b;b=e;break r}d=e}n=J[i+132>>2];k=n+q|0;g=J[k>>2];e=g+r|0;J[e>>2]=J[e>>2]+1;Nb(n+w|0,g,J[k+4>>2]);if(b){g=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];v=J[f+12>>2];if((g|0)==(((e|0)!=(v|0)?P(e-v>>2,341)-1|0:0)|0)){Mb(f+8|0);v=J[f+12>>2];g=J[f+24>>2]+J[f+28>>2]|0}e=(g>>>0)/341|0;e=J[(e<<2)+v>>2]+P(g-P(e,341)|0,12)|0;J[e+8>>2]=o;J[e+4>>2]=m;J[e>>2]=b;J[f+28>>2]=J[f+28>>2]+1}if(!d){break k}g=J[f+28>>2]+J[f+24>>2]|0;b=J[f+16>>2];v=J[f+12>>2];if((g|0)==(((b|0)!=(v|0)?P(b-v>>2,341)-1|0:0)|0)){Mb(f+8|0);v=J[f+12>>2];g=J[f+24>>2]+J[f+28>>2]|0}b=(g>>>0)/341|0;b=J[(b<<2)+v>>2]+P(g-P(b,341)|0,12)|0;J[b+8>>2]=s;J[b+4>>2]=m;J[b>>2]=d;m=J[f+28>>2]+1|0;J[f+28>>2]=m;break j}if(!t){break k}while(1){if(J[i+12>>2]){o=J[i+40>>2];n=J[p>>2];v=J[i+96>>2];k=J[i+108>>2];m=0;while(1){q=k+(m<<2)|0;J[v+(J[q>>2]<<2)>>2]=0;g=J[i>>2];e=J[q>>2]<<2;d=J[e+n>>2];v:{if((g|0)==(d|0)){break v}r=e+v|0;u=g-d|0;w=J[i+52>>2];g=32-w|0;if((u|0)<=(g|0)){e=J[i+48>>2];if((e|0)==(o|0)){break i}J[r>>2]=J[e>>2]<>>32-u;d=u+J[i+52>>2]|0;J[i+52>>2]=d;if((d|0)!=32){break v}J[i+52>>2]=0;J[i+48>>2]=e+4;break v}s=J[i+48>>2];d=s+4|0;if((d|0)==(o|0)){break i}e=J[s>>2];J[i+48>>2]=d;d=u-g|0;J[i+52>>2]=d;J[r>>2]=J[s+4>>2]>>>32-d|e<>>32-u}e=J[q>>2]<<2;d=e+v|0;J[d>>2]=J[d>>2]|J[e+J[l>>2]>>2];m=m+1|0;if(m>>>0>2]){continue}break}}Ui(y,x);J[i+8>>2]=J[i+8>>2]+1;b=b+1|0;if((t|0)!=(b|0)){continue}break}}m=J[f+28>>2]}if(m){continue}break}}J[f+28>>2]=0;v=J[f+16>>2];m=J[f+12>>2];g=v-m|0;if(g>>>0>=9){while(1){xj(J[m>>2]);m=J[f+12>>2]+4|0;J[f+12>>2]=m;v=J[f+16>>2];g=v-m|0;if(g>>>0>8){continue}break}}b=170;w:{switch((g>>>2|0)-1|0){case 1:b=341;case 0:J[f+24>>2]=b;break;default:break w}}x:{if((m|0)==(v|0)){break x}while(1){xj(J[m>>2]);m=m+4|0;if((v|0)!=(m|0)){continue}break}d=J[f+16>>2];b=J[f+12>>2];if((d|0)==(b|0)){break x}J[f+16>>2]=d+((b-d|0)+3&-4)}b=J[f+8>>2];if(b){xj(b)}fa=f+32|0;break h}}sb(i);break d;case 1:i=tb(A+8|0,3);z=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;y:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break y}d=e+J[b>>2]|0;J[i>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[i>>2]>32){break y}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break y}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[i+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break y}J[i+8>>2]=0;if(!ge(i+16|0,b)){break y}if(!ge(i+36|0,b)){break y}if(!ge(i+56|0,b)){break y}if(!ge(i+76|0,b)){break y}p=J[i+4>>2];d=0;f=fa-32|0;fa=f;m=J[i+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;if(m){if(m>>>0>=1073741824){break b}b=m<<2;t=Cj(b);J[f+8>>2]=t;d=b+t|0;J[f+16>>2]=d;Xi(t,0,b);J[f+12>>2]=d}e=J[i+120>>2];b=J[e>>2];if(b){J[e+4>>2]=b;xj(b);m=J[i+12>>2];t=J[f+8>>2];d=J[f+12>>2]}J[e+4>>2]=d;J[e>>2]=t;J[e+8>>2]=J[f+16>>2];t=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;z:{if(m){if(m>>>0>=1073741824){break b}b=m<<2;o=Cj(b);J[f+8>>2]=o;t=b+o|0;J[f+16>>2]=t;Xi(o,0,b);J[f+12>>2]=t}d=J[i+132>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);t=J[f+12>>2];o=J[f+8>>2]}J[d+4>>2]=t;J[d>>2]=o;J[d+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);d=J[f+24>>2]+J[f+28>>2]|0;b=(d>>>0)/341|0;b=J[J[f+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=p;m=J[f+28>>2]+1|0;J[f+28>>2]=m;A:{if(!m){break A}s=i+96|0;while(1){k=J[f+12>>2];g=J[f+24>>2];e=m-1|0;d=g+e|0;b=(d>>>0)/341|0;b=J[k+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;q=J[b+8>>2];d=J[b+4>>2];l=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(k|0)?P(b-k>>2,341)-1|0:0)-(g+m|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}if(l>>>0>p>>>0){break A}b=J[i+12>>2];m=(d|0)!=(b-1|0)?d+1|0:0;if(m>>>0>=b>>>0){break A}b=J[i+120>>2];r=P(q,12);u=b+r|0;e=J[i>>2];w=m<<2;n=r+J[i+132>>2]|0;d=J[w+J[n>>2]>>2];B:{C:{if((e|0)==(d|0)){w=0;if(!l){break C}while(1){b=J[u>>2];x=J[b+8>>2];n=J[b+4>>2];k=J[b>>2];q=J[z>>2];m=J[q+4>>2];b=J[q+8>>2];D:{if(m>>>0>>0){J[m+8>>2]=x;J[m+4>>2]=n;J[m>>2]=k;J[q+4>>2]=m+12;break D}r=J[q>>2];e=(m-r|0)/12|0;g=e+1|0;if(g>>>0>=357913942){break b}d=(b-r|0)/12|0;b=d<<1;g=d>>>0>=178956970?357913941:b>>>0>g>>>0?b:g;if(g){if(g>>>0>=357913942){break a}b=Cj(P(g,12))}else{b=0}o=b+P(e,12)|0;J[o+8>>2]=x;J[o+4>>2]=n;J[o>>2]=k;d=o+12|0;if((m|0)!=(r|0)){while(1){o=o-12|0;m=m-12|0;J[o>>2]=J[m>>2];J[o+4>>2]=J[m+4>>2];J[o+8>>2]=J[m+8>>2];if((m|0)!=(r|0)){continue}break}}J[q+8>>2]=b+P(g,12);J[q+4>>2]=d;J[q>>2]=o;if(!r){break D}xj(r)}J[i+8>>2]=J[i+8>>2]+1;w=w+1|0;if((l|0)!=(w|0)){continue}break}break C}E:{F:{G:{H:{if(l>>>0<=2){b=J[i+108>>2];J[b>>2]=m;o=1;t=J[i+12>>2];if(t>>>0>1){break H}break E}if(M[i+8>>2]>M[i+4>>2]){break A}k=b;b=r+12|0;Nb(k+b|0,J[u>>2],J[u+4>>2]);b=w+J[b+J[i+120>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<>2];e=32-k|0;I:{if((n|0)<=(e|0)){e=J[i+28>>2];if((e|0)==J[i+20>>2]){break G}d=J[e>>2];b=k+n|0;J[i+32>>2]=b;d=d<>>32-n|0;if((b|0)!=32){break I}J[i+32>>2]=0;J[i+28>>2]=e+4;break I}g=J[i+28>>2];b=g+4|0;if((b|0)==J[i+20>>2]){break G}d=J[g>>2];J[i+28>>2]=b;b=n-e|0;J[i+32>>2]=b;d=J[g+4>>2]>>>32-b|d<>>32-n}o=l>>>1|0;if(o>>>0>>0){break A}break F}while(1){m=(t-1|0)!=(m|0)?m+1|0:0;J[b+(o<<2)>>2]=m;o=o+1|0;t=J[i+12>>2];if(o>>>0>>0){continue}break}break E}o=l>>>1|0;d=0}x=q+1|0;J:{K:{e=o-d|0;d=l-e|0;L:{if((d|0)==(e|0)){b=e;break L}n=J[i+88>>2];if((n|0)==J[i+80>>2]){break K}k=J[n>>2];g=J[i+92>>2];b=g+1|0;J[i+92>>2]=b;g=k&-2147483648>>>g;M:{if((b|0)==32){J[i+92>>2]=0;J[i+88>>2]=n+4;if(g){break M}break K}if(!g){break K}}b=d}d=e;break J}b=e}n=J[i+132>>2];k=n+r|0;g=J[k>>2];e=g+w|0;J[e>>2]=J[e>>2]+1;Nb(n+P(x,12)|0,g,J[k+4>>2]);if(d){t=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];o=J[f+12>>2];if((t|0)==(((e|0)!=(o|0)?P(e-o>>2,341)-1|0:0)|0)){Mb(f+8|0);t=J[f+24>>2]+J[f+28>>2]|0;o=J[f+12>>2]}e=(t>>>0)/341|0;e=J[o+(e<<2)>>2]+P(t-P(e,341)|0,12)|0;J[e+8>>2]=q;J[e+4>>2]=m;J[e>>2]=d;J[f+28>>2]=J[f+28>>2]+1}if(!b){break C}t=J[f+28>>2]+J[f+24>>2]|0;d=J[f+16>>2];o=J[f+12>>2];if((t|0)==(((d|0)!=(o|0)?P(d-o>>2,341)-1|0:0)|0)){Mb(f+8|0);t=J[f+24>>2]+J[f+28>>2]|0;o=J[f+12>>2]}d=(t>>>0)/341|0;d=J[o+(d<<2)>>2]+P(t-P(d,341)|0,12)|0;J[d+8>>2]=x;J[d+4>>2]=m;J[d>>2]=b;m=J[f+28>>2]+1|0;J[f+28>>2]=m;break B}t=0;if(!l){break C}while(1){if(J[i+12>>2]){o=J[i+40>>2];k=J[n>>2];y=J[i+96>>2];g=J[i+108>>2];m=0;while(1){q=g+(m<<2)|0;J[y+(J[q>>2]<<2)>>2]=0;e=J[i>>2];d=J[q>>2]<<2;b=J[d+k>>2];N:{if((e|0)==(b|0)){break N}r=d+y|0;v=e-b|0;w=J[i+52>>2];e=32-w|0;if((v|0)<=(e|0)){d=J[i+48>>2];if((d|0)==(o|0)){break A}J[r>>2]=J[d>>2]<>>32-v;b=v+J[i+52>>2]|0;J[i+52>>2]=b;if((b|0)!=32){break N}J[i+52>>2]=0;J[i+48>>2]=d+4;break N}x=J[i+48>>2];b=x+4|0;if((b|0)==(o|0)){break A}d=J[x>>2];J[i+48>>2]=b;b=v-e|0;J[i+52>>2]=b;J[r>>2]=J[x+4>>2]>>>32-b|d<>>32-v}d=J[q>>2]<<2;b=d+y|0;J[b>>2]=J[b>>2]|J[d+J[u>>2]>>2];m=m+1|0;if(m>>>0>2]){continue}break}}Ui(z,s);J[i+8>>2]=J[i+8>>2]+1;t=t+1|0;if((l|0)!=(t|0)){continue}break}}m=J[f+28>>2]}if(m){continue}break}}J[f+28>>2]=0;o=J[f+16>>2];m=J[f+12>>2];t=o-m|0;if(t>>>0>=9){while(1){xj(J[m>>2]);m=J[f+12>>2]+4|0;J[f+12>>2]=m;o=J[f+16>>2];t=o-m|0;if(t>>>0>8){continue}break}}b=170;O:{switch((t>>>2|0)-1|0){case 1:b=341;case 0:J[f+24>>2]=b;break;default:break O}}P:{if((m|0)==(o|0)){break P}while(1){xj(J[m>>2]);m=m+4|0;if((o|0)!=(m|0)){continue}break}d=J[f+16>>2];b=J[f+12>>2];if((d|0)==(b|0)){break P}J[f+16>>2]=d+((b-d|0)+3&-4)}b=J[f+8>>2];if(b){xj(b)}fa=f+32|0;break z}}sb(i);break d;case 2:f=xb(A+8|0,3);v=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Q:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Q}d=e+J[b>>2]|0;J[f>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[f>>2]>32){break Q}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Q}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[f+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break Q}J[f+8>>2]=0;if(!he(f+16|0,b)){break Q}if(!ge(f+32|0,b)){break Q}if(!ge(f+52|0,b)){break Q}if(!ge(f+72|0,b)){break Q}y=J[f+4>>2];g=0;b=0;h=fa-32|0;fa=h;j=J[f+12>>2];J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;if(j){if(j>>>0>=1073741824){break b}d=j<<2;g=Cj(d);J[h+8>>2]=g;b=d+g|0;J[h+16>>2]=b;Xi(g,0,d);J[h+12>>2]=b}e=J[f+116>>2];d=J[e>>2];if(d){J[e+4>>2]=d;xj(d);j=J[f+12>>2];g=J[h+8>>2];b=J[h+12>>2]}J[e+4>>2]=b;J[e>>2]=g;J[e+8>>2]=J[h+16>>2];g=0;J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;R:{if(j){if(j>>>0>=1073741824){break b}b=j<<2;u=Cj(b);J[h+8>>2]=u;g=b+u|0;J[h+16>>2]=g;Xi(u,0,b);J[h+12>>2]=g}d=J[f+128>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);u=J[h+8>>2];g=J[h+12>>2]}J[d+4>>2]=g;J[d>>2]=u;J[d+8>>2]=J[h+16>>2];J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Mb(h+8|0);d=J[h+24>>2]+J[h+28>>2]|0;b=(d>>>0)/341|0;b=J[J[h+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=y;j=J[h+28>>2]+1|0;J[h+28>>2]=j;S:{if(!j){break S}w=f+92|0;x=f+16|0;while(1){n=J[h+12>>2];g=J[h+24>>2];e=j-1|0;d=g+e|0;b=(d>>>0)/341|0;b=J[n+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;p=J[b+8>>2];k=J[b+4>>2];i=J[b>>2];J[h+28>>2]=e;b=J[h+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(g+j|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[h+16>>2]=J[h+16>>2]-4}d=0;if(i>>>0>y>>>0){break S}b=J[f+12>>2];j=(k|0)!=(b-1|0)?k+1|0:0;if(j>>>0>=b>>>0){break S}o=P(p,12);z=o+J[f+128>>2]|0;t=o+J[f+116>>2]|0;g=J[f>>2];q=j<<2;e=J[q+J[z>>2]>>2];T:{if((g|0)==(e|0)){if(!i){break T}while(1){b=J[t>>2];r=J[b+8>>2];s=J[b+4>>2];n=J[b>>2];o=J[v>>2];j=J[o+4>>2];b=J[o+8>>2];U:{if(j>>>0>>0){J[j+8>>2]=r;J[j+4>>2]=s;J[j>>2]=n;J[o+4>>2]=j+12;break U}q=J[o>>2];g=(j-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=Cj(P(k,12))}else{b=0}u=b+P(g,12)|0;J[u+8>>2]=r;J[u+4>>2]=s;J[u>>2]=n;e=u+12|0;if((j|0)!=(q|0)){while(1){u=u-12|0;j=j-12|0;J[u>>2]=J[j>>2];J[u+4>>2]=J[j+4>>2];J[u+8>>2]=J[j+8>>2];if((j|0)!=(q|0)){continue}break}}J[o+8>>2]=b+P(k,12);J[o+4>>2]=e;J[o>>2]=u;if(!q){break U}xj(q)}J[f+8>>2]=J[f+8>>2]+1;d=d+1|0;if((i|0)!=(d|0)){continue}break}break T}V:{W:{X:{Y:{if(i>>>0<=2){b=J[f+104>>2];J[b>>2]=j;u=1;g=J[f+12>>2];if(g>>>0>1){break Y}break V}if(M[f+8>>2]>M[f+4>>2]){break S}b=J[f+116>>2];s=p+1|0;r=P(s,12);d=b+r|0;if((d|0)!=(t|0)){Nb(d,J[t>>2],J[t+4>>2]);b=J[f+116>>2]}b=q+J[b+r>>2]|0;J[b>>2]=J[b>>2]+(1<>2]=0;ke(x,S(i)^31,h+4|0);d=i>>>1|0;b=J[h+4>>2];if(d>>>0>>0){break S}e=d-b|0;d=i-e|0;Z:{if((d|0)==(e|0)){b=e;break Z}n=J[f+84>>2];if((n|0)==J[f+76>>2]){break X}k=J[n>>2];g=J[f+88>>2];b=g+1|0;J[f+88>>2]=b;g=k&-2147483648>>>g;_:{if((b|0)==32){J[f+88>>2]=0;J[f+84>>2]=n+4;if(g){break _}break X}if(!g){break X}}b=d}d=e;break W}while(1){j=(g-1|0)!=(j|0)?j+1|0:0;J[b+(u<<2)>>2]=j;g=J[f+12>>2];u=u+1|0;if(g>>>0>u>>>0){continue}break}break V}b=e}n=J[f+128>>2];k=n+o|0;g=J[k>>2];e=g+q|0;J[e>>2]=J[e>>2]+1;Nb(n+r|0,g,J[k+4>>2]);if(d){g=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];u=J[h+12>>2];if((g|0)==(((e|0)!=(u|0)?P(e-u>>2,341)-1|0:0)|0)){Mb(h+8|0);u=J[h+12>>2];g=J[h+24>>2]+J[h+28>>2]|0}e=(g>>>0)/341|0;e=J[(e<<2)+u>>2]+P(g-P(e,341)|0,12)|0;J[e+8>>2]=p;J[e+4>>2]=j;J[e>>2]=d;J[h+28>>2]=J[h+28>>2]+1}if(!b){break T}g=J[h+28>>2]+J[h+24>>2]|0;d=J[h+16>>2];u=J[h+12>>2];if((g|0)==(((d|0)!=(u|0)?P(d-u>>2,341)-1|0:0)|0)){Mb(h+8|0);u=J[h+12>>2];g=J[h+24>>2]+J[h+28>>2]|0}d=(g>>>0)/341|0;d=J[(d<<2)+u>>2]+P(g-P(d,341)|0,12)|0;J[d+8>>2]=s;J[d+4>>2]=j;J[d>>2]=b;J[h+28>>2]=J[h+28>>2]+1;break T}if(!i){break T}while(1){if(J[f+12>>2]){p=J[f+36>>2];n=J[z>>2];u=J[f+92>>2];k=J[f+104>>2];j=0;while(1){o=k+(j<<2)|0;J[u+(J[o>>2]<<2)>>2]=0;g=J[f>>2];e=J[o>>2]<<2;b=J[e+n>>2];$:{if((g|0)==(b|0)){break $}q=e+u|0;l=g-b|0;r=J[f+48>>2];g=32-r|0;if((l|0)<=(g|0)){e=J[f+44>>2];if((e|0)==(p|0)){break S}J[q>>2]=J[e>>2]<>>32-l;b=l+J[f+48>>2]|0;J[f+48>>2]=b;if((b|0)!=32){break $}J[f+48>>2]=0;J[f+44>>2]=e+4;break $}s=J[f+44>>2];b=s+4|0;if((b|0)==(p|0)){break S}e=J[s>>2];J[f+44>>2]=b;b=l-g|0;J[f+48>>2]=b;J[q>>2]=J[s+4>>2]>>>32-b|e<>>32-l}e=J[o>>2]<<2;b=e+u|0;J[b>>2]=J[b>>2]|J[e+J[t>>2]>>2];j=j+1|0;if(j>>>0>2]){continue}break}}Ui(v,w);J[f+8>>2]=J[f+8>>2]+1;d=d+1|0;if((i|0)!=(d|0)){continue}break}}j=J[h+28>>2];if(j){continue}break}}J[h+28>>2]=0;u=J[h+16>>2];j=J[h+12>>2];g=u-j|0;if(g>>>0>=9){while(1){xj(J[j>>2]);j=J[h+12>>2]+4|0;J[h+12>>2]=j;u=J[h+16>>2];g=u-j|0;if(g>>>0>8){continue}break}}b=170;aa:{switch((g>>>2|0)-1|0){case 1:b=341;case 0:J[h+24>>2]=b;break;default:break aa}}ba:{if((j|0)==(u|0)){break ba}while(1){xj(J[j>>2]);j=j+4|0;if((u|0)!=(j|0)){continue}break}d=J[h+16>>2];b=J[h+12>>2];if((d|0)==(b|0)){break ba}J[h+16>>2]=d+((b-d|0)+3&-4)}b=J[h+8>>2];if(b){xj(b)}fa=h+32|0;break R}}wb(f);break d;case 3:i=xb(A+8|0,3);y=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;ca:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break ca}d=e+J[b>>2]|0;J[i>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[i>>2]>32){break ca}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break ca}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[i+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break ca}J[i+8>>2]=0;if(!he(i+16|0,b)){break ca}if(!ge(i+32|0,b)){break ca}if(!ge(i+52|0,b)){break ca}if(!ge(i+72|0,b)){break ca}z=J[i+4>>2];d=0;f=fa-32|0;fa=f;j=J[i+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;if(j){if(j>>>0>=1073741824){break b}b=j<<2;m=Cj(b);J[f+8>>2]=m;d=b+m|0;J[f+16>>2]=d;Xi(m,0,b);J[f+12>>2]=d}e=J[i+116>>2];b=J[e>>2];if(b){J[e+4>>2]=b;xj(b);j=J[i+12>>2];m=J[f+8>>2];d=J[f+12>>2]}J[e+4>>2]=d;J[e>>2]=m;J[e+8>>2]=J[f+16>>2];m=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;da:{if(j){if(j>>>0>=1073741824){break b}b=j<<2;p=Cj(b);J[f+8>>2]=p;m=b+p|0;J[f+16>>2]=m;Xi(p,0,b);J[f+12>>2]=m}d=J[i+128>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);m=J[f+12>>2];p=J[f+8>>2]}J[d+4>>2]=m;J[d>>2]=p;J[d+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);d=J[f+24>>2]+J[f+28>>2]|0;b=(d>>>0)/341|0;b=J[J[f+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=z;j=J[f+28>>2]+1|0;J[f+28>>2]=j;ea:{if(!j){break ea}x=i+92|0;s=i+16|0;while(1){k=J[f+12>>2];g=J[f+24>>2];e=j-1|0;d=g+e|0;b=(d>>>0)/341|0;b=J[k+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;o=J[b+8>>2];d=J[b+4>>2];t=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(k|0)?P(b-k>>2,341)-1|0:0)-(g+j|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}if(t>>>0>z>>>0){break ea}b=J[i+12>>2];j=(d|0)!=(b-1|0)?d+1|0:0;if(j>>>0>=b>>>0){break ea}b=J[i+116>>2];q=P(o,12);l=b+q|0;e=J[i>>2];r=j<<2;n=q+J[i+128>>2]|0;d=J[r+J[n>>2]>>2];fa:{if((e|0)==(d|0)){r=0;if(!t){break fa}while(1){b=J[l>>2];w=J[b+8>>2];n=J[b+4>>2];k=J[b>>2];o=J[y>>2];j=J[o+4>>2];b=J[o+8>>2];ga:{if(j>>>0>>0){J[j+8>>2]=w;J[j+4>>2]=n;J[j>>2]=k;J[o+4>>2]=j+12;break ga}q=J[o>>2];e=(j-q|0)/12|0;g=e+1|0;if(g>>>0>=357913942){break b}d=(b-q|0)/12|0;b=d<<1;g=d>>>0>=178956970?357913941:b>>>0>g>>>0?b:g;if(g){if(g>>>0>=357913942){break a}b=Cj(P(g,12))}else{b=0}p=b+P(e,12)|0;J[p+8>>2]=w;J[p+4>>2]=n;J[p>>2]=k;d=p+12|0;if((j|0)!=(q|0)){while(1){p=p-12|0;j=j-12|0;J[p>>2]=J[j>>2];J[p+4>>2]=J[j+4>>2];J[p+8>>2]=J[j+8>>2];if((j|0)!=(q|0)){continue}break}}J[o+8>>2]=b+P(g,12);J[o+4>>2]=d;J[o>>2]=p;if(!q){break ga}xj(q)}J[i+8>>2]=J[i+8>>2]+1;r=r+1|0;if((t|0)!=(r|0)){continue}break}break fa}ha:{ia:{ja:{ka:{if(t>>>0<=2){b=J[i+104>>2];J[b>>2]=j;p=1;m=J[i+12>>2];if(m>>>0>1){break ka}break ha}if(M[i+8>>2]>M[i+4>>2]){break ea}k=b;b=q+12|0;Nb(k+b|0,J[l>>2],J[l+4>>2]);b=r+J[b+J[i+116>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<>2]=0;ke(s,S(t)^31,f+4|0);d=t>>>1|0;b=J[f+4>>2];if(d>>>0>>0){break ea}w=o+1|0;e=d-b|0;d=t-e|0;la:{if((d|0)==(e|0)){b=e;break la}n=J[i+84>>2];if((n|0)==J[i+76>>2]){break ja}k=J[n>>2];g=J[i+88>>2];b=g+1|0;J[i+88>>2]=b;g=k&-2147483648>>>g;ma:{if((b|0)==32){J[i+88>>2]=0;J[i+84>>2]=n+4;if(g){break ma}break ja}if(!g){break ja}}b=d}d=e;break ia}while(1){j=(m-1|0)!=(j|0)?j+1|0:0;J[b+(p<<2)>>2]=j;m=J[i+12>>2];p=p+1|0;if(m>>>0>p>>>0){continue}break}break ha}b=e}n=J[i+128>>2];k=n+q|0;g=J[k>>2];e=g+r|0;J[e>>2]=J[e>>2]+1;Nb(n+P(w,12)|0,g,J[k+4>>2]);if(d){m=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];p=J[f+12>>2];if((m|0)==(((e|0)!=(p|0)?P(e-p>>2,341)-1|0:0)|0)){Mb(f+8|0);m=J[f+24>>2]+J[f+28>>2]|0;p=J[f+12>>2]}e=(m>>>0)/341|0;e=J[p+(e<<2)>>2]+P(m-P(e,341)|0,12)|0;J[e+8>>2]=o;J[e+4>>2]=j;J[e>>2]=d;J[f+28>>2]=J[f+28>>2]+1}if(!b){break fa}m=J[f+28>>2]+J[f+24>>2]|0;d=J[f+16>>2];p=J[f+12>>2];if((m|0)==(((d|0)!=(p|0)?P(d-p>>2,341)-1|0:0)|0)){Mb(f+8|0);m=J[f+24>>2]+J[f+28>>2]|0;p=J[f+12>>2]}d=(m>>>0)/341|0;d=J[p+(d<<2)>>2]+P(m-P(d,341)|0,12)|0;J[d+8>>2]=w;J[d+4>>2]=j;J[d>>2]=b;J[f+28>>2]=J[f+28>>2]+1;break fa}m=0;if(!t){break fa}while(1){if(J[i+12>>2]){p=J[i+36>>2];k=J[n>>2];v=J[i+92>>2];g=J[i+104>>2];j=0;while(1){o=g+(j<<2)|0;J[v+(J[o>>2]<<2)>>2]=0;e=J[i>>2];d=J[o>>2]<<2;b=J[d+k>>2];na:{if((e|0)==(b|0)){break na}q=d+v|0;u=e-b|0;r=J[i+48>>2];e=32-r|0;if((u|0)<=(e|0)){d=J[i+44>>2];if((d|0)==(p|0)){break ea}J[q>>2]=J[d>>2]<>>32-u;b=u+J[i+48>>2]|0;J[i+48>>2]=b;if((b|0)!=32){break na}J[i+48>>2]=0;J[i+44>>2]=d+4;break na}w=J[i+44>>2];b=w+4|0;if((b|0)==(p|0)){break ea}d=J[w>>2];J[i+44>>2]=b;b=u-e|0;J[i+48>>2]=b;J[q>>2]=J[w+4>>2]>>>32-b|d<>>32-u}d=J[o>>2]<<2;b=d+v|0;J[b>>2]=J[b>>2]|J[d+J[l>>2]>>2];j=j+1|0;if(j>>>0>2]){continue}break}}Ui(y,x);J[i+8>>2]=J[i+8>>2]+1;m=m+1|0;if((t|0)!=(m|0)){continue}break}}j=J[f+28>>2];if(j){continue}break}}J[f+28>>2]=0;p=J[f+16>>2];j=J[f+12>>2];m=p-j|0;if(m>>>0>=9){while(1){xj(J[j>>2]);j=J[f+12>>2]+4|0;J[f+12>>2]=j;p=J[f+16>>2];m=p-j|0;if(m>>>0>8){continue}break}}b=170;oa:{switch((m>>>2|0)-1|0){case 1:b=341;case 0:J[f+24>>2]=b;break;default:break oa}}pa:{if((j|0)==(p|0)){break pa}while(1){xj(J[j>>2]);j=j+4|0;if((p|0)!=(j|0)){continue}break}d=J[f+16>>2];b=J[f+12>>2];if((d|0)==(b|0)){break pa}J[f+16>>2]=d+((b-d|0)+3&-4)}b=J[f+8>>2];if(b){xj(b)}fa=f+32|0;break da}}wb(i);break d;case 4:f=Bb(A+8|0,3);v=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;qa:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break qa}d=e+J[b>>2]|0;J[f>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[f>>2]>32){break qa}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break qa}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[f+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break qa}J[f+8>>2]=0;if(!Pb(f+16|0,b)){break qa}if(!ge(f+544|0,b)){break qa}if(!ge(f+564|0,b)){break qa}if(!ge(f+584|0,b)){break qa}y=J[f+4>>2];l=0;b=0;h=fa-32|0;fa=h;d=J[f+12>>2];J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=Cj(e);J[h+8>>2]=l;b=e+l|0;J[h+16>>2]=b;Xi(l,0,e);J[h+12>>2]=b}g=J[f+628>>2];e=J[g>>2];if(e){J[g+4>>2]=e;xj(e);d=J[f+12>>2];l=J[h+8>>2];b=J[h+12>>2]}J[g+4>>2]=b;J[g>>2]=l;J[g+8>>2]=J[h+16>>2];l=0;J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;ra:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;j=Cj(b);J[h+8>>2]=j;l=b+j|0;J[h+16>>2]=l;Xi(j,0,b);J[h+12>>2]=l}d=J[f+640>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);j=J[h+8>>2];l=J[h+12>>2]}J[d+4>>2]=l;J[d>>2]=j;J[d+8>>2]=J[h+16>>2];J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Mb(h+8|0);d=J[h+24>>2]+J[h+28>>2]|0;b=(d>>>0)/341|0;b=J[J[h+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=y;d=J[h+28>>2]+1|0;J[h+28>>2]=d;sa:{if(!d){break sa}w=f+604|0;x=f+16|0;while(1){n=J[h+12>>2];k=J[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=J[n+(b<<2)>>2]+P(e-P(b,341)|0,12)|0;p=J[b+8>>2];e=J[b+4>>2];i=J[b>>2];J[h+28>>2]=g;b=J[h+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[h+16>>2]=J[h+16>>2]-4}if(i>>>0>y>>>0){break sa}b=J[f+12>>2];j=(e|0)!=(b-1|0)?e+1|0:0;if(j>>>0>=b>>>0){break sa}o=P(p,12);z=o+J[f+640>>2]|0;t=o+J[f+628>>2]|0;g=J[f>>2];q=j<<2;e=J[q+J[z>>2]>>2];ta:{ua:{if((g|0)==(e|0)){o=0;if(!i){break ua}while(1){b=J[t>>2];r=J[b+8>>2];s=J[b+4>>2];n=J[b>>2];p=J[v>>2];d=J[p+4>>2];b=J[p+8>>2];va:{if(d>>>0>>0){J[d+8>>2]=r;J[d+4>>2]=s;J[d>>2]=n;J[p+4>>2]=d+12;break va}q=J[p>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=Cj(P(k,12))}else{b=0}j=b+P(g,12)|0;J[j+8>>2]=r;J[j+4>>2]=s;J[j>>2]=n;e=j+12|0;if((d|0)!=(q|0)){while(1){j=j-12|0;d=d-12|0;J[j>>2]=J[d>>2];J[j+4>>2]=J[d+4>>2];J[j+8>>2]=J[d+8>>2];if((d|0)!=(q|0)){continue}break}}J[p+8>>2]=b+P(k,12);J[p+4>>2]=e;J[p>>2]=j;if(!q){break va}xj(q)}J[f+8>>2]=J[f+8>>2]+1;o=o+1|0;if((i|0)!=(o|0)){continue}break}break ua}wa:{xa:{ya:{if(i>>>0<=2){b=J[f+616>>2];J[b>>2]=j;d=1;l=J[f+12>>2];if(l>>>0>1){break ya}break wa}if(M[f+8>>2]>M[f+4>>2]){break sa}b=J[f+628>>2];s=p+1|0;r=P(s,12);d=b+r|0;if((d|0)!=(t|0)){Nb(d,J[t>>2],J[t+4>>2]);b=J[f+628>>2]}b=q+J[b+r>>2]|0;J[b>>2]=J[b>>2]+(1<>>1|0;break xa}while(1){l=je(x+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break xa}break sa}while(1){j=(l-1|0)!=(j|0)?j+1|0:0;J[b+(d<<2)>>2]=j;d=d+1|0;l=J[f+12>>2];if(d>>>0>>0){continue}break}break wa}za:{Aa:{e=d-l|0;d=i-e|0;Ba:{if((d|0)==(e|0)){b=e;break Ba}n=J[f+596>>2];if((n|0)==J[f+588>>2]){break Aa}k=J[n>>2];g=J[f+600>>2];b=g+1|0;J[f+600>>2]=b;g=k&-2147483648>>>g;Ca:{if((b|0)==32){J[f+600>>2]=0;J[f+596>>2]=n+4;if(g){break Ca}break Aa}if(!g){break Aa}}b=d}d=e;break za}b=e}n=J[f+640>>2];k=n+o|0;g=J[k>>2];e=g+q|0;J[e>>2]=J[e>>2]+1;Nb(n+r|0,g,J[k+4>>2]);if(d){g=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];l=J[h+12>>2];if((g|0)==(((e|0)!=(l|0)?P(e-l>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+12>>2];g=J[h+24>>2]+J[h+28>>2]|0}e=(g>>>0)/341|0;e=J[(e<<2)+l>>2]+P(g-P(e,341)|0,12)|0;J[e+8>>2]=p;J[e+4>>2]=j;J[e>>2]=d;J[h+28>>2]=J[h+28>>2]+1}if(!b){break ua}l=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];d=J[h+12>>2];if((l|0)==(((d|0)!=(e|0)?P(e-d>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+24>>2]+J[h+28>>2]|0;e=J[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=J[e+(d<<2)>>2]+P(l-P(d,341)|0,12)|0;J[d+8>>2]=s;J[d+4>>2]=j;J[d>>2]=b;d=J[h+28>>2]+1|0;J[h+28>>2]=d;break ta}j=0;if(!i){break ua}while(1){if(J[f+12>>2]){p=J[f+548>>2];n=J[z>>2];u=J[f+604>>2];k=J[f+616>>2];d=0;while(1){o=k+(d<<2)|0;J[u+(J[o>>2]<<2)>>2]=0;g=J[f>>2];e=J[o>>2]<<2;b=J[e+n>>2];Da:{if((g|0)==(b|0)){break Da}q=e+u|0;l=g-b|0;r=J[f+560>>2];g=32-r|0;if((l|0)<=(g|0)){e=J[f+556>>2];if((e|0)==(p|0)){break sa}J[q>>2]=J[e>>2]<>>32-l;b=l+J[f+560>>2]|0;J[f+560>>2]=b;if((b|0)!=32){break Da}J[f+560>>2]=0;J[f+556>>2]=e+4;break Da}s=J[f+556>>2];b=s+4|0;if((b|0)==(p|0)){break sa}e=J[s>>2];J[f+556>>2]=b;b=l-g|0;J[f+560>>2]=b;J[q>>2]=J[s+4>>2]>>>32-b|e<>>32-l}e=J[o>>2]<<2;b=e+u|0;J[b>>2]=J[b>>2]|J[e+J[t>>2]>>2];d=d+1|0;if(d>>>0>2]){continue}break}}Ui(v,w);J[f+8>>2]=J[f+8>>2]+1;j=j+1|0;if((i|0)!=(j|0)){continue}break}}d=J[h+28>>2]}if(d){continue}break}}J[h+28>>2]=0;j=J[h+16>>2];d=J[h+12>>2];l=j-d|0;if(l>>>0>=9){while(1){xj(J[d>>2]);d=J[h+12>>2]+4|0;J[h+12>>2]=d;j=J[h+16>>2];l=j-d|0;if(l>>>0>8){continue}break}}b=170;Ea:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:J[h+24>>2]=b;break;default:break Ea}}Fa:{if((d|0)==(j|0)){break Fa}while(1){xj(J[d>>2]);d=d+4|0;if((j|0)!=(d|0)){continue}break}d=J[h+16>>2];b=J[h+12>>2];if((d|0)==(b|0)){break Fa}J[h+16>>2]=d+((b-d|0)+3&-4)}b=J[h+8>>2];if(b){xj(b)}fa=h+32|0;break ra}}Ab(f);break d;case 5:f=Bb(A+8|0,3);v=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Ga:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Ga}d=e+J[b>>2]|0;J[f>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[f>>2]>32){break Ga}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Ga}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[f+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break Ga}J[f+8>>2]=0;if(!Pb(f+16|0,b)){break Ga}if(!ge(f+544|0,b)){break Ga}if(!ge(f+564|0,b)){break Ga}if(!ge(f+584|0,b)){break Ga}y=J[f+4>>2];l=0;b=0;h=fa-32|0;fa=h;d=J[f+12>>2];J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=Cj(e);J[h+8>>2]=l;b=e+l|0;J[h+16>>2]=b;Xi(l,0,e);J[h+12>>2]=b}g=J[f+628>>2];e=J[g>>2];if(e){J[g+4>>2]=e;xj(e);d=J[f+12>>2];l=J[h+8>>2];b=J[h+12>>2]}J[g+4>>2]=b;J[g>>2]=l;J[g+8>>2]=J[h+16>>2];l=0;J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Ha:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;p=Cj(b);J[h+8>>2]=p;l=b+p|0;J[h+16>>2]=l;Xi(p,0,b);J[h+12>>2]=l}d=J[f+640>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);l=J[h+12>>2];p=J[h+8>>2]}J[d+4>>2]=l;J[d>>2]=p;J[d+8>>2]=J[h+16>>2];J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Mb(h+8|0);d=J[h+24>>2]+J[h+28>>2]|0;b=(d>>>0)/341|0;b=J[J[h+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=y;d=J[h+28>>2]+1|0;J[h+28>>2]=d;Ia:{if(!d){break Ia}w=f+604|0;x=f+16|0;while(1){n=J[h+12>>2];k=J[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=J[n+(b<<2)>>2]+P(e-P(b,341)|0,12)|0;o=J[b+8>>2];e=J[b+4>>2];i=J[b>>2];J[h+28>>2]=g;b=J[h+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[h+16>>2]=J[h+16>>2]-4}if(i>>>0>y>>>0){break Ia}m=0;b=J[f+12>>2];p=(e|0)!=(b-1|0)?e+1|0:0;if(p>>>0>=b>>>0){break Ia}b=J[f+628>>2];q=P(o,12);t=b+q|0;e=J[f>>2];r=p<<2;s=q+J[f+640>>2]|0;d=J[r+J[s>>2]>>2];Ja:{Ka:{if((e|0)==(d|0)){if(!i){break Ka}while(1){b=J[t>>2];r=J[b+8>>2];s=J[b+4>>2];n=J[b>>2];o=J[v>>2];d=J[o+4>>2];b=J[o+8>>2];La:{if(d>>>0>>0){J[d+8>>2]=r;J[d+4>>2]=s;J[d>>2]=n;J[o+4>>2]=d+12;break La}q=J[o>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=Cj(P(k,12))}else{b=0}p=b+P(g,12)|0;J[p+8>>2]=r;J[p+4>>2]=s;J[p>>2]=n;e=p+12|0;if((d|0)!=(q|0)){while(1){p=p-12|0;d=d-12|0;J[p>>2]=J[d>>2];J[p+4>>2]=J[d+4>>2];J[p+8>>2]=J[d+8>>2];if((d|0)!=(q|0)){continue}break}}J[o+8>>2]=b+P(k,12);J[o+4>>2]=e;J[o>>2]=p;if(!q){break La}xj(q)}J[f+8>>2]=J[f+8>>2]+1;m=m+1|0;if((i|0)!=(m|0)){continue}break}break Ka}Ma:{Na:{Oa:{if(i>>>0<=2){b=J[f+616>>2];J[b>>2]=p;d=1;l=J[f+12>>2];if(l>>>0>1){break Oa}break Ma}if(M[f+8>>2]>M[f+4>>2]){break Ia}k=b;b=q+12|0;Nb(k+b|0,J[t>>2],J[t+4>>2]);b=r+J[b+J[f+628>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<>>1|0;break Na}while(1){l=je(x+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break Na}break Ia}while(1){p=(l-1|0)!=(p|0)?p+1|0:0;J[b+(d<<2)>>2]=p;d=d+1|0;l=J[f+12>>2];if(d>>>0>>0){continue}break}break Ma}s=o+1|0;Pa:{Qa:{e=d-l|0;d=i-e|0;Ra:{if((d|0)==(e|0)){b=e;break Ra}n=J[f+596>>2];if((n|0)==J[f+588>>2]){break Qa}k=J[n>>2];g=J[f+600>>2];b=g+1|0;J[f+600>>2]=b;g=k&-2147483648>>>g;Sa:{if((b|0)==32){J[f+600>>2]=0;J[f+596>>2]=n+4;if(g){break Sa}break Qa}if(!g){break Qa}}b=d}d=e;break Pa}b=e}n=J[f+640>>2];k=n+q|0;g=J[k>>2];e=g+r|0;J[e>>2]=J[e>>2]+1;Nb(n+P(s,12)|0,g,J[k+4>>2]);if(d){m=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];l=J[h+12>>2];if((m|0)==(((e|0)!=(l|0)?P(e-l>>2,341)-1|0:0)|0)){Mb(h+8|0);m=J[h+24>>2]+J[h+28>>2]|0;l=J[h+12>>2]}e=(m>>>0)/341|0;e=J[l+(e<<2)>>2]+P(m-P(e,341)|0,12)|0;J[e+8>>2]=o;J[e+4>>2]=p;J[e>>2]=d;J[h+28>>2]=J[h+28>>2]+1}if(!b){break Ka}l=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];d=J[h+12>>2];if((l|0)==(((d|0)!=(e|0)?P(e-d>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+24>>2]+J[h+28>>2]|0;e=J[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=J[e+(d<<2)>>2]+P(l-P(d,341)|0,12)|0;J[d+8>>2]=s;J[d+4>>2]=p;J[d>>2]=b;d=J[h+28>>2]+1|0;J[h+28>>2]=d;break Ja}if(!i){break Ka}while(1){if(J[f+12>>2]){z=J[f+548>>2];n=J[s>>2];u=J[f+604>>2];k=J[f+616>>2];d=0;while(1){p=k+(d<<2)|0;J[u+(J[p>>2]<<2)>>2]=0;g=J[f>>2];e=J[p>>2]<<2;b=J[e+n>>2];Ta:{if((g|0)==(b|0)){break Ta}o=e+u|0;l=g-b|0;q=J[f+560>>2];g=32-q|0;if((l|0)<=(g|0)){e=J[f+556>>2];if((e|0)==(z|0)){break Ia}J[o>>2]=J[e>>2]<>>32-l;b=l+J[f+560>>2]|0;J[f+560>>2]=b;if((b|0)!=32){break Ta}J[f+560>>2]=0;J[f+556>>2]=e+4;break Ta}r=J[f+556>>2];b=r+4|0;if((b|0)==(z|0)){break Ia}e=J[r>>2];J[f+556>>2]=b;b=l-g|0;J[f+560>>2]=b;J[o>>2]=J[r+4>>2]>>>32-b|e<>>32-l}e=J[p>>2]<<2;b=e+u|0;J[b>>2]=J[b>>2]|J[e+J[t>>2]>>2];d=d+1|0;if(d>>>0>2]){continue}break}}Ui(v,w);J[f+8>>2]=J[f+8>>2]+1;m=m+1|0;if((i|0)!=(m|0)){continue}break}}d=J[h+28>>2]}if(d){continue}break}}J[h+28>>2]=0;p=J[h+16>>2];d=J[h+12>>2];l=p-d|0;if(l>>>0>=9){while(1){xj(J[d>>2]);d=J[h+12>>2]+4|0;J[h+12>>2]=d;p=J[h+16>>2];l=p-d|0;if(l>>>0>8){continue}break}}b=170;Ua:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:J[h+24>>2]=b;break;default:break Ua}}Va:{if((d|0)==(p|0)){break Va}while(1){xj(J[d>>2]);d=d+4|0;if((p|0)!=(d|0)){continue}break}d=J[h+16>>2];b=J[h+12>>2];if((d|0)==(b|0)){break Va}J[h+16>>2]=d+((b-d|0)+3&-4)}b=J[h+8>>2];if(b){xj(b)}fa=h+32|0;break Ha}}Ab(f);break d;case 6:break f;default:break c}}f=Bb(A+8|0,3);v=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Wa:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Wa}d=e+J[b>>2]|0;J[f>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[f>>2]>32){break Wa}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Wa}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[f+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break Wa}J[f+8>>2]=0;if(!Pb(f+16|0,b)){break Wa}if(!ge(f+544|0,b)){break Wa}if(!ge(f+564|0,b)){break Wa}if(!ge(f+584|0,b)){break Wa}y=J[f+4>>2];l=0;b=0;h=fa-32|0;fa=h;d=J[f+12>>2];J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=Cj(e);J[h+8>>2]=l;b=e+l|0;J[h+16>>2]=b;Xi(l,0,e);J[h+12>>2]=b}g=J[f+628>>2];e=J[g>>2];if(e){J[g+4>>2]=e;xj(e);d=J[f+12>>2];l=J[h+8>>2];b=J[h+12>>2]}J[g+4>>2]=b;J[g>>2]=l;J[g+8>>2]=J[h+16>>2];l=0;J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Xa:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;j=Cj(b);J[h+8>>2]=j;l=b+j|0;J[h+16>>2]=l;Xi(j,0,b);J[h+12>>2]=l}d=J[f+640>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);j=J[h+8>>2];l=J[h+12>>2]}J[d+4>>2]=l;J[d>>2]=j;J[d+8>>2]=J[h+16>>2];J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Mb(h+8|0);d=J[h+24>>2]+J[h+28>>2]|0;b=(d>>>0)/341|0;b=J[J[h+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=y;d=J[h+28>>2]+1|0;J[h+28>>2]=d;Ya:{if(!d){break Ya}w=f+604|0;x=f+16|0;while(1){n=J[h+12>>2];k=J[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=J[n+(b<<2)>>2]+P(e-P(b,341)|0,12)|0;p=J[b+8>>2];i=J[b>>2];J[h+28>>2]=g;b=J[h+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[h+16>>2]=J[h+16>>2]-4}if(i>>>0>y>>>0){break Ya}b=J[f+628>>2];o=P(p,12);z=o+J[f+640>>2]|0;j=Si(f,i,z);if(j>>>0>=M[f+12>>2]){break Ya}t=b+o|0;g=J[f>>2];q=j<<2;e=J[q+J[z>>2]>>2];Za:{_a:{if((g|0)==(e|0)){o=0;if(!i){break _a}while(1){b=J[t>>2];r=J[b+8>>2];s=J[b+4>>2];n=J[b>>2];p=J[v>>2];d=J[p+4>>2];b=J[p+8>>2];$a:{if(d>>>0>>0){J[d+8>>2]=r;J[d+4>>2]=s;J[d>>2]=n;J[p+4>>2]=d+12;break $a}q=J[p>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=Cj(P(k,12))}else{b=0}j=b+P(g,12)|0;J[j+8>>2]=r;J[j+4>>2]=s;J[j>>2]=n;e=j+12|0;if((d|0)!=(q|0)){while(1){j=j-12|0;d=d-12|0;J[j>>2]=J[d>>2];J[j+4>>2]=J[d+4>>2];J[j+8>>2]=J[d+8>>2];if((d|0)!=(q|0)){continue}break}}J[p+8>>2]=b+P(k,12);J[p+4>>2]=e;J[p>>2]=j;if(!q){break $a}xj(q)}J[f+8>>2]=J[f+8>>2]+1;o=o+1|0;if((i|0)!=(o|0)){continue}break}break _a}ab:{bb:{cb:{if(i>>>0<=2){b=J[f+616>>2];J[b>>2]=j;d=1;l=J[f+12>>2];if(l>>>0>1){break cb}break ab}if(M[f+8>>2]>M[f+4>>2]){break Ya}b=J[f+628>>2];s=p+1|0;r=P(s,12);d=b+r|0;if((d|0)!=(t|0)){Nb(d,J[t>>2],J[t+4>>2]);b=J[f+628>>2]}b=q+J[b+r>>2]|0;J[b>>2]=J[b>>2]+(1<>>1|0;break bb}while(1){l=je(x+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break bb}break Ya}while(1){j=(l-1|0)!=(j|0)?j+1|0:0;J[b+(d<<2)>>2]=j;d=d+1|0;l=J[f+12>>2];if(d>>>0>>0){continue}break}break ab}db:{eb:{e=d-l|0;d=i-e|0;fb:{if((d|0)==(e|0)){b=e;break fb}n=J[f+596>>2];if((n|0)==J[f+588>>2]){break eb}k=J[n>>2];g=J[f+600>>2];b=g+1|0;J[f+600>>2]=b;g=k&-2147483648>>>g;gb:{if((b|0)==32){J[f+600>>2]=0;J[f+596>>2]=n+4;if(g){break gb}break eb}if(!g){break eb}}b=d}d=e;break db}b=e}n=J[f+640>>2];k=n+o|0;g=J[k>>2];e=g+q|0;J[e>>2]=J[e>>2]+1;Nb(n+r|0,g,J[k+4>>2]);if(d){g=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];l=J[h+12>>2];if((g|0)==(((e|0)!=(l|0)?P(e-l>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+12>>2];g=J[h+24>>2]+J[h+28>>2]|0}e=(g>>>0)/341|0;e=J[(e<<2)+l>>2]+P(g-P(e,341)|0,12)|0;J[e+8>>2]=p;J[e+4>>2]=j;J[e>>2]=d;J[h+28>>2]=J[h+28>>2]+1}if(!b){break _a}l=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];d=J[h+12>>2];if((l|0)==(((d|0)!=(e|0)?P(e-d>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+24>>2]+J[h+28>>2]|0;e=J[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=J[e+(d<<2)>>2]+P(l-P(d,341)|0,12)|0;J[d+8>>2]=s;J[d+4>>2]=j;J[d>>2]=b;d=J[h+28>>2]+1|0;J[h+28>>2]=d;break Za}j=0;if(!i){break _a}while(1){if(J[f+12>>2]){p=J[f+548>>2];n=J[z>>2];u=J[f+604>>2];k=J[f+616>>2];d=0;while(1){o=k+(d<<2)|0;J[u+(J[o>>2]<<2)>>2]=0;g=J[f>>2];e=J[o>>2]<<2;b=J[e+n>>2];hb:{if((g|0)==(b|0)){break hb}q=e+u|0;l=g-b|0;r=J[f+560>>2];g=32-r|0;if((l|0)<=(g|0)){e=J[f+556>>2];if((e|0)==(p|0)){break Ya}J[q>>2]=J[e>>2]<>>32-l;b=l+J[f+560>>2]|0;J[f+560>>2]=b;if((b|0)!=32){break hb}J[f+560>>2]=0;J[f+556>>2]=e+4;break hb}s=J[f+556>>2];b=s+4|0;if((b|0)==(p|0)){break Ya}e=J[s>>2];J[f+556>>2]=b;b=l-g|0;J[f+560>>2]=b;J[q>>2]=J[s+4>>2]>>>32-b|e<>>32-l}e=J[o>>2]<<2;b=e+u|0;J[b>>2]=J[b>>2]|J[e+J[t>>2]>>2];d=d+1|0;if(d>>>0>2]){continue}break}}Ui(v,w);J[f+8>>2]=J[f+8>>2]+1;j=j+1|0;if((i|0)!=(j|0)){continue}break}}d=J[h+28>>2]}if(d){continue}break}}J[h+28>>2]=0;j=J[h+16>>2];d=J[h+12>>2];l=j-d|0;if(l>>>0>=9){while(1){xj(J[d>>2]);d=J[h+12>>2]+4|0;J[h+12>>2]=d;j=J[h+16>>2];l=j-d|0;if(l>>>0>8){continue}break}}b=170;ib:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:J[h+24>>2]=b;break;default:break ib}}jb:{if((d|0)==(j|0)){break jb}while(1){xj(J[d>>2]);d=d+4|0;if((j|0)!=(d|0)){continue}break}d=J[h+16>>2];b=J[h+12>>2];if((d|0)==(b|0)){break jb}J[h+16>>2]=d+((b-d|0)+3&-4)}b=J[h+8>>2];if(b){xj(b)}fa=h+32|0;break Xa}}Ab(f)}n=J[a+12>>2]==((J[c+4>>2]-J[c>>2]|0)/12|0)}fa=A+672|0;return n}Ia();C()}Va();C()}function pe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!a){return 1}e=J[c+20>>2];g=J[c+12>>2];i=J[c+16>>2];a:{if((e|0)>=(g|0)&i>>>0>=M[c+8>>2]|(e|0)>(g|0)){break a}g=K[i+J[c>>2]|0];i=i+1|0;e=i?e:e+1|0;J[c+16>>2]=i;J[c+20>>2]=e;b:{switch(g|0){case 0:e=a;f=b;i=d;a=0;d=0;m=fa+-64|0;fa=m;J[m+56>>2]=0;J[m+48>>2]=0;J[m+52>>2]=0;J[m+40>>2]=0;J[m+44>>2]=0;J[m+32>>2]=0;J[m+36>>2]=0;J[m+24>>2]=0;J[m+28>>2]=0;J[m+16>>2]=0;J[m+20>>2]=0;J[m+8>>2]=0;J[m+12>>2]=0;c:{if(!qe(m+8|0,c)){break c}if(!re(m+8|0,c)|(J[m+20>>2]?0:e)){break c}rg(c,0,0);if(e){s=f<<2;t=J[m+36>>2];w=J[m+48>>2];x=J[m+24>>2];l=J[m+56>>2];j=J[m+52>>2];while(1){d:{if(l>>>0>16383){break d}while(1){if((j|0)<=0){break d}j=j-1|0;J[m+52>>2]=j;l=K[j+w|0]|l<<8;J[m+56>>2]=l;if(l>>>0<16384){continue}break}}a=l&4095;r=J[(a<<2)+x>>2];b=(r<<3)+t|0;l=(P(J[b>>2],l>>>12|0)+a|0)-J[b+4>>2]|0;J[m+56>>2]=l;if((f|0)>0){a=0;if(!K[c+36|0]|r>>>0>32){break c}g=d+f|0;e:{if(!r){Xi(i+(d<<2)|0,0,s);break e}y=r&-2;z=r&1;b=J[c+32>>2];h=J[c+28>>2];n=J[c+24>>2];while(1){k=0;a=b;o=0;q=0;if((r|0)!=1){while(1){p=n+(a>>>3|0)|0;f:{if(p>>>0>=h>>>0){p=0;break f}p=K[p|0];b=a+1|0;J[c+32>>2]=b;p=p>>>(a&7)&1;a=b}p=p<>>3|0)|0;if(u>>>0>>0){o=K[u|0];b=a+1|0;J[c+32>>2]=b;o=o>>>(a&7)&1;a=b}u=k|1;k=k+2|0;o=p|o<>>3|0)|0;if(p>>>0>>0){p=K[p|0];b=a+1|0;J[c+32>>2]=b;a=p>>>(a&7)&1}else{a=0}o=a<>2]=o;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=g}v=f+v|0;if(e>>>0>v>>>0){continue}break}}H[c+36|0]=0;b=J[c+20>>2];e=0;d=J[c+32>>2]+7|0;e=d>>>0<7?1:e;d=(e&7)<<29|d>>>3;a=d+J[c+16>>2]|0;e=(e>>>3|0)+b|0;J[c+16>>2]=a;J[c+20>>2]=a>>>0>>0?e+1|0:e;a=1}b=J[m+36>>2];if(b){J[m+40>>2]=b;xj(b)}b=J[m+24>>2];if(b){J[m+28>>2]=b;xj(b)}b=J[m+8>>2];if(b){J[m+12>>2]=b;xj(b)}fa=m- -64|0;return a;case 1:break b;default:break a}}b=0;e=J[c+20>>2];g=J[c+12>>2];i=J[c+16>>2];g:{if((e|0)>=(g|0)&i>>>0>=M[c+8>>2]|(e|0)>(g|0)){break g}g=K[i+J[c>>2]|0];i=i+1|0;e=i?e:e+1|0;J[c+16>>2]=i;J[c+20>>2]=e;h:{switch(g-1|0){case 8:g=a;r=d;i=fa+-64|0;fa=i;J[i+56>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;j=i+8|0;a=L[c+38>>1];i:{j:{if(!a){break j}k:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];e=J[c+20>>2];a=J[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break j}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[j+12>>2]=h;e=J[c+20>>2];f=J[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;break k}if(!te(1,j+12|0,c)){break j}f=J[c+16>>2];e=J[c+20>>2];h=J[j+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break j}b=J[j>>2];a=J[j+4>>2]-b>>2;l:{if(a>>>0>>0){La(j,h-a|0);h=J[j+12>>2];break l}if(a>>>0<=h>>>0){break l}J[j+4>>2]=b+(h<<2)}d=1;if(!h){break i}f=J[c+16>>2];e=J[c+20>>2];s=J[j>>2];m=J[c+8>>2];n=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=m>>>0|(e|0)>(n|0)){break i}d=J[c>>2];p=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=p>>>2|0;l=0;m:{n:{o:{p:{t=p&3;switch(t|0){case 0:break n;case 3:break p;default:break o}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break i}Xi(s+(b<<2)|0,0,(p&252)+4|0);b=a;break m}while(1){if((f|0)==(m|0)&(e|0)==(n|0)){break j}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}J[s+(b<<2)>>2]=a}b=b+1|0;h=J[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=J[j>>2];d=J[j+16>>2];b=J[j+20>>2]-d|0;q:{if(b>>>0<=32767){La(a,8192-(b>>>2|0)|0);break q}if((b|0)==32768){break q}J[j+20>>2]=d+32768}d=j+28|0;b=J[d>>2];f=J[j+32>>2]-b>>3;r:{if(f>>>0>>0){ue(d,h-f|0);b=J[d>>2];break r}if(f>>>0>h>>>0){J[j+32>>2]=(h<<3)+b}if(!h){break j}}m=J[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=J[e>>2];l=(f<<3)+b|0;a=d;J[l+4>>2]=a;J[l>>2]=j;e=J[e>>2];d=e+a|0;if(d>>>0>8192){break j}s:{if(a>>>0>=d>>>0){break s}l=0;j=e&7;if(j){while(1){J[m+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break s}while(1){e=m+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==8192}d=k}t:{if(!d|(J[i+20>>2]?0:g)){break t}d=0;m=fa-16|0;fa=m;u:{v:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break u}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break v}if(!ve(1,m+8|0,c)){break u}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[m+8>>2];k=J[m+12>>2]}j=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>j>>>0|b>>>0>>0){break u}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break u}b=J[c>>2]+f|0;J[i+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];w:{if(e>>>0<=63){J[i+52>>2]=c;a=K[f|0]&63;break w}x:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break u}a=a-2|0;J[i+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break w;case 1:if(a>>>0<3){break u}a=a-3|0;J[i+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break w;default:break x}}a=a-4|0;J[i+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[i+56>>2]=a+32768;d=a>>>0<8355840}fa=m+16|0;if(!d){break t}if(!g){o=1;break t}b=J[i+52>>2];a=J[i+56>>2];c=J[i+36>>2];d=J[i+48>>2];f=J[i+24>>2];while(1){y:{if(a>>>0>32767){break y}while(1){if((b|0)<=0){break y}b=b-1|0;J[i+52>>2]=b;a=K[b+d|0]|a<<8;J[i+56>>2]=a;if(a>>>0<32768){continue}break}}e=a&8191;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>13|0)+e|0)-J[k+4>>2]|0;J[i+56>>2]=a;J[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((g|0)!=(q|0)){continue}break}}a=J[i+36>>2];if(a){J[i+40>>2]=a;xj(a)}a=J[i+24>>2];if(a){J[i+28>>2]=a;xj(a)}a=J[i+8>>2];if(a){J[i+12>>2]=a;xj(a)}fa=i- -64|0;b=o;break g;case 9:m=a;r=d;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;j=g+8|0;a=L[c+38>>1];z:{A:{if(!a){break A}B:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];e=J[c+20>>2];a=J[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break A}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[j+12>>2]=h;e=J[c+20>>2];f=J[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;break B}if(!te(1,j+12|0,c)){break A}f=J[c+16>>2];e=J[c+20>>2];h=J[j+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break A}b=J[j>>2];a=J[j+4>>2]-b>>2;C:{if(a>>>0>>0){La(j,h-a|0);h=J[j+12>>2];break C}if(a>>>0<=h>>>0){break C}J[j+4>>2]=b+(h<<2)}d=1;if(!h){break z}f=J[c+16>>2];e=J[c+20>>2];s=J[j>>2];i=J[c+8>>2];n=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break z}d=J[c>>2];p=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=p>>>2|0;l=0;D:{E:{F:{G:{t=p&3;switch(t|0){case 0:break E;case 3:break G;default:break F}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break z}Xi(s+(b<<2)|0,0,(p&252)+4|0);b=a;break D}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break A}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}J[s+(b<<2)>>2]=a}b=b+1|0;h=J[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=J[j>>2];d=J[j+16>>2];b=J[j+20>>2]-d|0;H:{if(b>>>0<=131071){La(a,32768-(b>>>2|0)|0);break H}if((b|0)==131072){break H}J[j+20>>2]=d+131072}d=j+28|0;b=J[d>>2];f=J[j+32>>2]-b>>3;I:{if(f>>>0>>0){ue(d,h-f|0);b=J[d>>2];break I}if(f>>>0>h>>>0){J[j+32>>2]=(h<<3)+b}if(!h){break A}}i=J[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=J[e>>2];l=(f<<3)+b|0;a=d;J[l+4>>2]=a;J[l>>2]=j;e=J[e>>2];d=e+a|0;if(d>>>0>32768){break A}J:{if(a>>>0>=d>>>0){break J}l=0;j=e&7;if(j){while(1){J[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break J}while(1){e=i+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==32768}d=k}K:{if(!d|(J[g+20>>2]?0:m)){break K}d=0;j=fa-16|0;fa=j;L:{M:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break L}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break M}if(!ve(1,j+8|0,c)){break L}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[j+8>>2];k=J[j+12>>2]}i=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>i>>>0|b>>>0>>0){break L}i=e+k|0;b=a+f|0;i=b>>>0>>0?i+1|0:i;J[c+16>>2]=b;J[c+20>>2]=i;if((a|0)<=0){break L}b=J[c>>2]+f|0;J[g+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];N:{if(e>>>0<=63){J[g+52>>2]=c;a=K[f|0]&63;break N}O:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break L}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break N;case 1:if(a>>>0<3){break L}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break N;default:break O}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[g+56>>2]=a+131072;d=a>>>0<33423360}fa=j+16|0;if(!d){break K}if(!m){o=1;break K}b=J[g+52>>2];a=J[g+56>>2];c=J[g+36>>2];d=J[g+48>>2];f=J[g+24>>2];while(1){P:{if(a>>>0>131071){break P}while(1){if((b|0)<=0){break P}b=b-1|0;J[g+52>>2]=b;a=K[b+d|0]|a<<8;J[g+56>>2]=a;if(a>>>0<131072){continue}break}}e=a&32767;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>15|0)+e|0)-J[k+4>>2]|0;J[g+56>>2]=a;J[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;b=o;break g;case 10:m=a;j=d;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;n=g+8|0;a=L[c+38>>1];Q:{R:{if(!a){break R}S:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];e=J[c+20>>2];a=J[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break R}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[n+12>>2]=h;e=J[c+20>>2];f=J[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;break S}if(!te(1,n+12|0,c)){break R}f=J[c+16>>2];e=J[c+20>>2];h=J[n+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break R}b=J[n>>2];a=J[n+4>>2]-b>>2;T:{if(a>>>0>>0){La(n,h-a|0);h=J[n+12>>2];break T}if(a>>>0<=h>>>0){break T}J[n+4>>2]=b+(h<<2)}d=1;if(!h){break Q}f=J[c+16>>2];e=J[c+20>>2];t=J[n>>2];r=J[c+8>>2];p=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(p|0)&f>>>0>=r>>>0|(e|0)>(p|0)){break Q}d=J[c>>2];s=K[d+f|0];f=f+1|0;i=f?e:e+1|0;J[c+16>>2]=f;e=i;J[c+20>>2]=e;a=s>>>2|0;l=0;U:{V:{W:{X:{i=s&3;switch(i|0){case 0:break V;case 3:break X;default:break W}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break Q}Xi(t+(b<<2)|0,0,(s&252)+4|0);b=a;break U}while(1){if((f|0)==(r|0)&(e|0)==(p|0)){break R}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((i|0)!=(l|0)){continue}break}}J[t+(b<<2)>>2]=a}b=b+1|0;h=J[n+12>>2];if(b>>>0>>0){continue}break}a=n+16|0;r=J[n>>2];d=J[n+16>>2];b=J[n+20>>2]-d|0;Y:{if(b>>>0<=262143){La(a,65536-(b>>>2|0)|0);break Y}if((b|0)==262144){break Y}J[n+20>>2]=d+262144}d=n+28|0;b=J[d>>2];f=J[n+32>>2]-b>>3;Z:{if(f>>>0>>0){ue(d,h-f|0);b=J[d>>2];break Z}if(f>>>0>h>>>0){J[n+32>>2]=(h<<3)+b}if(!h){break R}}i=J[a>>2];f=0;d=0;while(1){e=r+(f<<2)|0;l=J[e>>2];n=(f<<3)+b|0;a=d;J[n+4>>2]=a;J[n>>2]=l;e=J[e>>2];d=e+a|0;if(d>>>0>65536){break R}_:{if(a>>>0>=d>>>0){break _}l=0;n=e&7;if(n){while(1){J[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((n|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break _}while(1){e=i+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==65536}d=k}$:{if(!d|(J[g+20>>2]?0:m)){break $}d=0;i=fa-16|0;fa=i;aa:{ba:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break aa}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break ba}if(!ve(1,i+8|0,c)){break aa}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[i+8>>2];k=J[i+12>>2]}r=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>r>>>0|b>>>0>>0){break aa}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break aa}b=J[c>>2]+f|0;J[g+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];ca:{if(e>>>0<=63){J[g+52>>2]=c;a=K[f|0]&63;break ca}da:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break aa}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break ca;case 1:if(a>>>0<3){break aa}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break ca;default:break da}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[g+56>>2]=a+262144;d=a>>>0<66846720}fa=i+16|0;if(!d){break $}if(!m){o=1;break $}b=J[g+52>>2];a=J[g+56>>2];c=J[g+36>>2];d=J[g+48>>2];f=J[g+24>>2];while(1){ea:{if(a>>>0>262143){break ea}while(1){if((b|0)<=0){break ea}b=b-1|0;J[g+52>>2]=b;a=K[b+d|0]|a<<8;J[g+56>>2]=a;if(a>>>0<262144){continue}break}}e=a&65535;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>16|0)+e|0)-J[k+4>>2]|0;J[g+56>>2]=a;J[j+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;b=o;break g;case 11:m=a;r=d;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;j=g+8|0;a=L[c+38>>1];fa:{ga:{if(!a){break ga}ha:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];e=J[c+20>>2];a=J[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break ga}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[j+12>>2]=h;i=J[c+20>>2];f=J[c+16>>2]+4|0;i=f>>>0<4?i+1|0:i;J[c+16>>2]=f;e=i;J[c+20>>2]=e;break ha}if(!te(1,j+12|0,c)){break ga}f=J[c+16>>2];e=J[c+20>>2];h=J[j+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break ga}b=J[j>>2];a=J[j+4>>2]-b>>2;ia:{if(a>>>0>>0){La(j,h-a|0);h=J[j+12>>2];break ia}if(a>>>0<=h>>>0){break ia}J[j+4>>2]=b+(h<<2)}d=1;if(!h){break fa}f=J[c+16>>2];e=J[c+20>>2];s=J[j>>2];i=J[c+8>>2];n=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break fa}d=J[c>>2];p=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=p>>>2|0;l=0;ja:{ka:{la:{ma:{t=p&3;switch(t|0){case 0:break ka;case 3:break ma;default:break la}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break fa}Xi(s+(b<<2)|0,0,(p&252)+4|0);b=a;break ja}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break ga}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}J[s+(b<<2)>>2]=a}b=b+1|0;h=J[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=J[j>>2];d=J[j+16>>2];b=J[j+20>>2]-d|0;na:{if(b>>>0<=1048575){La(a,262144-(b>>>2|0)|0);break na}if((b|0)==1048576){break na}J[j+20>>2]=d- -1048576}d=j+28|0;b=J[d>>2];f=J[j+32>>2]-b>>3;oa:{if(f>>>0>>0){ue(d,h-f|0);b=J[d>>2];break oa}if(f>>>0>h>>>0){J[j+32>>2]=(h<<3)+b}if(!h){break ga}}i=J[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=J[e>>2];l=(f<<3)+b|0;a=d;J[l+4>>2]=a;J[l>>2]=j;e=J[e>>2];d=e+a|0;if(d>>>0>262144){break ga}pa:{if(a>>>0>=d>>>0){break pa}l=0;j=e&7;if(j){while(1){J[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break pa}while(1){e=i+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==262144}d=k}qa:{if(!d|(J[g+20>>2]?0:m)){break qa}d=0;j=fa-16|0;fa=j;ra:{sa:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;i=J[c+20>>2];k=J[c+16>>2];f=k+8|0;i=f>>>0<8?i+1|0:i;e=i;if(b>>>0>>0&(e|0)>=(a|0)|(a|0)<(e|0)){break ra}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break sa}if(!ve(1,j+8|0,c)){break ra}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[j+8>>2];k=J[j+12>>2]}i=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>i>>>0|b>>>0>>0){break ra}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break ra}b=J[c>>2]+f|0;J[g+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];ta:{if(e>>>0<=63){J[g+52>>2]=c;a=K[f|0]&63;break ta}ua:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break ra}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break ta;case 1:if(a>>>0<3){break ra}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break ta;default:break ua}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[g+56>>2]=a- -1048576;d=a>>>0<267386880}fa=j+16|0;if(!d){break qa}if(!m){o=1;break qa}b=J[g+52>>2];a=J[g+56>>2];c=J[g+36>>2];d=J[g+48>>2];f=J[g+24>>2];while(1){va:{if(a>>>0>1048575){break va}while(1){if((b|0)<=0){break va}b=b-1|0;J[g+52>>2]=b;a=K[b+d|0]|a<<8;J[g+56>>2]=a;if(a>>>0<1048576){continue}break}}e=a&262143;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>18|0)+e|0)-J[k+4>>2]|0;J[g+56>>2]=a;J[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;b=o;break g;case 12:m=a;r=d;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;j=g+8|0;a=L[c+38>>1];wa:{xa:{if(!a){break xa}ya:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];i=J[c+20>>2];a=J[c+16>>2];f=a+4|0;i=f>>>0<4?i+1|0:i;if(d>>>0>>0&(b|0)<=(i|0)|(b|0)<(i|0)){break xa}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[j+12>>2]=h;e=J[c+20>>2];f=J[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;break ya}if(!te(1,j+12|0,c)){break xa}f=J[c+16>>2];e=J[c+20>>2];h=J[j+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break xa}b=J[j>>2];a=J[j+4>>2]-b>>2;za:{if(a>>>0>>0){La(j,h-a|0);h=J[j+12>>2];break za}if(a>>>0<=h>>>0){break za}J[j+4>>2]=b+(h<<2)}d=1;if(!h){break wa}f=J[c+16>>2];e=J[c+20>>2];s=J[j>>2];i=J[c+8>>2];n=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break wa}d=J[c>>2];p=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=p>>>2|0;l=0;Aa:{Ba:{Ca:{Da:{t=p&3;switch(t|0){case 0:break Ba;case 3:break Da;default:break Ca}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break wa}Xi(s+(b<<2)|0,0,(p&252)+4|0);b=a;break Aa}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break xa}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}J[s+(b<<2)>>2]=a}b=b+1|0;h=J[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=J[j>>2];d=J[j+16>>2];b=J[j+20>>2]-d|0;Ea:{if(b>>>0<=2097151){La(a,524288-(b>>>2|0)|0);break Ea}if((b|0)==2097152){break Ea}J[j+20>>2]=d+2097152}d=j+28|0;b=J[d>>2];f=J[j+32>>2]-b>>3;Fa:{if(f>>>0>>0){ue(d,h-f|0);b=J[d>>2];break Fa}if(f>>>0>h>>>0){J[j+32>>2]=(h<<3)+b}if(!h){break xa}}i=J[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=J[e>>2];l=(f<<3)+b|0;a=d;J[l+4>>2]=a;J[l>>2]=j;e=J[e>>2];d=e+a|0;if(d>>>0>524288){break xa}Ga:{if(a>>>0>=d>>>0){break Ga}l=0;j=e&7;if(j){while(1){J[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break Ga}while(1){e=i+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==524288}d=k}Ha:{if(!d|(J[g+20>>2]?0:m)){break Ha}d=0;i=fa-16|0;fa=i;Ia:{Ja:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break Ia}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break Ja}if(!ve(1,i+8|0,c)){break Ia}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[i+8>>2];k=J[i+12>>2]}j=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>j>>>0|b>>>0>>0){break Ia}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break Ia}b=J[c>>2]+f|0;J[g+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];Ka:{if(e>>>0<=63){J[g+52>>2]=c;a=K[f|0]&63;break Ka}La:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break Ia}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break Ka;case 1:if(a>>>0<3){break Ia}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break Ka;default:break La}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[g+56>>2]=a+2097152;d=a>>>0<534773760}fa=i+16|0;if(!d){break Ha}if(!m){o=1;break Ha}b=J[g+52>>2];a=J[g+56>>2];c=J[g+36>>2];d=J[g+48>>2];f=J[g+24>>2];while(1){Ma:{if(a>>>0>2097151){break Ma}while(1){if((b|0)<=0){break Ma}b=b-1|0;J[g+52>>2]=b;a=K[b+d|0]|a<<8;J[g+56>>2]=a;if(a>>>0<2097152){continue}break}}e=a&524287;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>19|0)+e|0)-J[k+4>>2]|0;J[g+56>>2]=a;J[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;b=o;break g;case 17:b=se(a,c,d);break g;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:b=fa+-64|0;fa=b;J[b+56>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;Na:{if(!qe(b+8|0,c)|(J[b+20>>2]?0:a)){break Na}if(!re(b+8|0,c)){break Na}if(!a){f=1;break Na}e=J[b+52>>2];c=J[b+56>>2];k=J[b+36>>2];i=J[b+48>>2];g=J[b+24>>2];while(1){Oa:{if(c>>>0>16383){break Oa}while(1){if((e|0)<=0){break Oa}e=e-1|0;J[b+52>>2]=e;c=K[e+i|0]|c<<8;J[b+56>>2]=c;if(c>>>0<16384){continue}break}}f=c&4095;m=J[g+(f<<2)>>2];r=k+(m<<3)|0;c=(P(J[r>>2],c>>>12|0)+f|0)-J[r+4>>2]|0;J[b+56>>2]=c;J[(o<<2)+d>>2]=m;f=1;o=o+1|0;if((o|0)!=(a|0)){continue}break}}a=J[b+36>>2];if(a){J[b+40>>2]=a;xj(a)}a=J[b+24>>2];if(a){J[b+28>>2]=a;xj(a)}a=J[b+8>>2];if(a){J[b+12>>2]=a;xj(a)}fa=b- -64|0;b=f;break g;case 13:case 14:case 15:case 16:break h;default:break g}}b=se(a,c,d)}f=b}return f}function mf(a){a=a|0;var 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,q=0,r=0,s=0,t=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,N=0,O=0,Q=0,R=0;s=fa+-64|0;fa=s;J[a+132>>2]=0;if(J[a+148>>2]){c=J[a+144>>2];if(c){while(1){d=J[c>>2];xj(c);c=d;if(c){continue}break}}c=0;J[a+144>>2]=0;d=J[a+140>>2];a:{if(!d){break a}if(d>>>0>=4){g=d&-4;while(1){e=c<<2;J[e+J[a+136>>2]>>2]=0;J[J[a+136>>2]+(e|4)>>2]=0;J[J[a+136>>2]+(e|8)>>2]=0;J[J[a+136>>2]+(e|12)>>2]=0;c=c+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}b=d&3;if(!b){break a}while(1){J[J[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;u=u+1|0;if((b|0)!=(u|0)){continue}break}}J[a+148>>2]=0}b:{c:{d:{c=J[a+4>>2];u=K[c+36|0];b=u<<8|K[c+37|0];if(b>>>0<=513){i=J[c+32>>2];e:{if(b>>>0<=511){b=J[i+20>>2];e=J[i+16>>2];d=e+4|0;b=d>>>0<4?b+1|0:b;g=b;h=J[i+12>>2];if(M[i+8>>2]>>0&(b|0)>=(h|0)|(b|0)>(h|0)){break d}b=e+J[i>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[i+16>>2]=d;J[i+20>>2]=g;break e}if(!Re(1,s,i)){break d}c=J[a+4>>2];u=K[c+36|0];b=J[s>>2]}J[a+132>>2]=b}g=J[c+32>>2];f:{g:{h:{if((u&255)>>>0<=1){u=0;d=J[g+20>>2];e=J[g+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;i=J[g+12>>2];if(M[g+8>>2]>>0&(i|0)<=(d|0)|(d|0)>(i|0)){break c}e=e+J[g>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[s+60>>2]=e;J[g+16>>2]=b;J[g+20>>2]=d;J[a+156>>2]=e;n=a+156|0;break h}u=0;if(!Re(1,s+60|0,g)){break c}c=J[a+4>>2];b=K[c+36|0];J[a+156>>2]=J[s+60>>2];n=a+156|0;if(b>>>0>1){break g}}g=J[c+32>>2];h=J[g+8>>2];i=J[g+12>>2];c=J[g+20>>2];d=J[g+16>>2];b=d+4|0;c=b>>>0<4?c+1|0:c;e=b;if(b>>>0>h>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){break c}b=d+J[g>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[s+56>>2]=b;J[g+16>>2]=e;J[g+20>>2]=c;break f}if(!Re(1,s+56|0,J[c+32>>2])){break c}b=J[s+56>>2]}if(b>>>0>1431655765|M[n>>2]>P(b,3)>>>0){break c}f=J[a+4>>2];g=J[f+32>>2];c=g;e=J[c+8>>2];i=J[c+16>>2];j=J[c+12>>2];d=J[c+20>>2];c=d;if((j|0)<=(c|0)&e>>>0<=i>>>0|(c|0)>(j|0)){break c}n=J[g>>2];o=K[n+i|0];h=i+1|0;c=h?c:c+1|0;J[g+16>>2]=h;J[g+20>>2]=c;i:{if(K[f+36|0]<=1){f=e;c=j;e=i+5|0;d=e>>>0<5?d+1|0:d;if((c|0)<=(d|0)&e>>>0>f>>>0|(c|0)<(d|0)){break c}c=h+n|0;n=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[s+52>>2]=n;J[g+16>>2]=e;J[g+20>>2]=d;break i}if(!Re(1,s+52|0,g)){break c}n=J[s+52>>2]}if(b>>>0>>0|((n>>>0)/3|0)+n>>>0>>0){break c}c=J[a+4>>2];i=J[c+32>>2];j:{if(K[c+36|0]<=1){c=J[i+20>>2];e=J[i+16>>2];d=e+4|0;c=d>>>0<4?c+1|0:c;g=d;f=M[i+8>>2]>>0;d=J[i+12>>2];if(f&(d|0)<=(c|0)|(c|0)>(d|0)){break c}d=e+J[i>>2]|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[s+48>>2]=d;J[i+16>>2]=g;J[i+20>>2]=c;break j}if(!Re(1,s+48|0,i)){break c}d=J[s+48>>2]}if(d>>>0>n>>>0){break c}J[a+28>>2]=J[a+24>>2];e=ti(Cj(88));c=J[a+8>>2];J[a+8>>2]=e;if(c){Se(c);if(!J[a+8>>2]){break c}}J[a+164>>2]=J[a+160>>2];Te(a+160|0,b);J[a+176>>2]=J[a+172>>2];Te(a+172|0,b);J[a- -64>>2]=0;J[a+92>>2]=-1;J[a+84>>2]=-1;J[a+88>>2]=-1;J[a+40>>2]=J[a+36>>2];J[a+52>>2]=J[a+48>>2];J[a+76>>2]=J[a+72>>2];A=a+216|0;Ue(A);Ve(A,o);if(!vi(J[a+8>>2],b,J[a+156>>2]+d|0)){break c}c=J[a+156>>2];H[s|0]=1;Oe(a+120|0,c+d|0,s);c=J[a+4>>2];b=L[c+36>>1];b=(b<<8|b>>>8)&65535;k:{if(b>>>0<=513){i=J[c+32>>2];l:{if(b>>>0<=511){b=J[i+20>>2];e=J[i+16>>2];c=e+4|0;b=c>>>0<4?b+1|0:b;g=b;h=J[i+12>>2];if(M[i+8>>2]>>0&(b|0)>=(h|0)|(b|0)>(h|0)){break c}b=e+J[i>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[i+16>>2]=c;J[i+20>>2]=g;break l}if(!Re(1,s+44|0,i)){break c}b=J[s+44>>2]}if(!b){break c}c=J[J[a+4>>2]+32>>2];e=J[c+8>>2];g=J[c+16>>2];i=e-g|0;c=J[c+12>>2]-(J[c+20>>2]+(e>>>0>>0)|0)|0;if((c|0)<=0&b>>>0>i>>>0|(c|0)<0){break c}c=qg(s);e=J[J[a+4>>2]+32>>2];g=J[e+16>>2];i=(g+J[e>>2]|0)+b|0;g=J[e+8>>2]-g|0;I[c+38>>1]=L[e+38>>1];J[c>>2]=i;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=g-b;J[c+12>>2]=0;B=We(a,c);if((B|0)==-1){break c}G=B>>31;break k}B=-1;G=-1;if((We(a,J[c+32>>2])|0)==-1){break c}}e=a+232|0;kf(e,a);J[a+372>>2]=o;J[a+384>>2]=J[a+156>>2]+d;N=qg(s);g=N;b=0;j=fa-16|0;fa=j;m:{n:{c=J[e+144>>2];c=L[(ka[J[J[c>>2]+32>>2]](c)|0)+36>>1];if(((c<<8|c>>>8)&65535)>>>0<=513){c=J[e+4>>2];J[e+40>>2]=J[e>>2];J[e+44>>2]=c;c=J[e+36>>2];J[e+72>>2]=J[e+32>>2];J[e+76>>2]=c;d=J[e+28>>2];c=e- -64|0;J[c>>2]=J[e+24>>2];J[c+4>>2]=d;c=J[e+20>>2];J[e+56>>2]=J[e+16>>2];J[e+60>>2]=c;c=J[e+12>>2];J[e+48>>2]=J[e+8>>2];J[e+52>>2]=c;if(!rg(e+40|0,1,j+8|0)){break n}c=J[e+44>>2];J[e>>2]=J[e+40>>2];J[e+4>>2]=c;c=J[e+76>>2];J[e+32>>2]=J[e+72>>2];J[e+36>>2]=c;c=J[e+68>>2];J[e+24>>2]=J[e+64>>2];J[e+28>>2]=c;c=J[e+60>>2];h=c;d=J[e+56>>2];J[e+16>>2]=d;J[e+20>>2]=c;i=J[e+52>>2];f=i;c=J[e+48>>2];J[e+8>>2]=c;J[e+12>>2]=f;o=c-d|0;k=J[j+12>>2];c=f-((c>>>0>>0)+h|0)|0;i=J[j+8>>2];if((k|0)==(c|0)&o>>>0>>0|c>>>0>>0){break n}c=h+k|0;f=d;d=d+i|0;c=f>>>0>d>>>0?c+1|0:c;J[e+16>>2]=d;J[e+20>>2]=c}o:{if(L[e+38>>1]<=513){c=J[e+4>>2];J[e+96>>2]=J[e>>2];J[e+100>>2]=c;c=J[e+36>>2];J[e+128>>2]=J[e+32>>2];J[e+132>>2]=c;c=J[e+28>>2];J[e+120>>2]=J[e+24>>2];J[e+124>>2]=c;c=J[e+20>>2];J[e+112>>2]=J[e+16>>2];J[e+116>>2]=c;c=J[e+12>>2];J[e+104>>2]=J[e+8>>2];J[e+108>>2]=c;if(!rg(e+96|0,1,j+8|0)){break n}c=J[e+100>>2];J[e>>2]=J[e+96>>2];J[e+4>>2]=c;c=J[e+132>>2];J[e+32>>2]=J[e+128>>2];J[e+36>>2]=c;c=J[e+124>>2];J[e+24>>2]=J[e+120>>2];J[e+28>>2]=c;d=J[e+116>>2];h=d;c=J[e+112>>2];J[e+16>>2]=c;J[e+20>>2]=d;i=J[e+108>>2];f=i;d=J[e+104>>2];J[e+8>>2]=d;J[e+12>>2]=f;o=d-c|0;k=J[j+12>>2];d=f-((c>>>0>d>>>0)+h|0)|0;i=J[j+8>>2];if((k|0)==(d|0)&o>>>0>>0|d>>>0>>0){break n}d=h+k|0;f=c;c=c+i|0;d=f>>>0>c>>>0?d+1|0:d;J[e+16>>2]=c;J[e+20>>2]=d;break o}if(!he(e+80|0,e)){break m}}if(!cf(e)){break m}c=J[e+4>>2];J[g>>2]=J[e>>2];J[g+4>>2]=c;c=J[e+36>>2];J[g+32>>2]=J[e+32>>2];J[g+36>>2]=c;c=J[e+28>>2];J[g+24>>2]=J[e+24>>2];J[g+28>>2]=c;c=J[e+20>>2];J[g+16>>2]=J[e+16>>2];J[g+20>>2]=c;c=J[e+12>>2];J[g+8>>2]=J[e+8>>2];J[g+12>>2]=c;c=J[e+144>>2];c=L[(ka[J[J[c>>2]+32>>2]](c)|0)+36>>1];p:{if(((c<<8|c>>>8)&65535)>>>0<=513){c=J[e+144>>2];q:{if(K[(ka[J[J[c>>2]+32>>2]](c)|0)+36|0]<=1){c=J[g+20>>2];i=J[g+16>>2];d=i+4|0;c=d>>>0<4?c+1|0:c;h=d;f=M[g+8>>2]>>0;d=J[g+12>>2];if(f&(d|0)<=(c|0)|(c|0)>(d|0)){break m}d=i+J[g>>2]|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[g+16>>2]=h;J[g+20>>2]=c;break q}if(!Re(1,j+8|0,g)){break m}d=J[j+8>>2]}c=J[e+152>>2];if(d>>>0>=c>>>0){break m}d=J[g+20>>2];h=J[g+12>>2];i=J[g+16>>2];if((d|0)>=(h|0)&i>>>0>=M[g+8>>2]|(d|0)>(h|0)){break m}h=K[i+J[g>>2]|0];i=i+1|0;d=i?d:d+1|0;J[g+16>>2]=i;J[g+20>>2]=d;if(h){break m}J[e+176>>2]=2;J[e+180>>2]=7;break p}J[e+176>>2]=2;J[e+180>>2]=7;c=J[e+152>>2]}if((c|0)<0){break m}J[j+8>>2]=0;b=2;h=J[e+156>>2];i=J[e+160>>2]-h>>2;r:{if(i>>>0>>0){fb(e+156|0,c-i|0,j+8|0);b=J[e+176>>2];d=J[e+180>>2];break r}d=7;if(c>>>0>=i>>>0){break r}J[e+160>>2]=h+(c<<2)}i=e+184|0;b=(d-b|0)+1|0;c=J[e+188>>2];h=J[e+184>>2];d=(c-h|0)/12|0;s:{if(b>>>0>d>>>0){o=0;d=b-d|0;f=J[i+8>>2];c=J[i+4>>2];t:{if(d>>>0<=(f-c|0)/12>>>0){if(d){b=c;c=P(d,12)-12|0;c=(c-((c>>>0)%12|0)|0)+12|0;c=Xi(b,0,c)+c|0}J[i+4>>2]=c;break t}u:{v:{w:{h=J[i>>2];k=(c-h|0)/12|0;b=k+d|0;if(b>>>0<357913942){f=(f-h|0)/12|0;l=f<<1;f=f>>>0>=178956970?357913941:b>>>0>>0?l:b;if(f){if(f>>>0>=357913942){break w}o=Cj(P(f,12))}b=P(k,12)+o|0;d=P(d,12)-12|0;k=(d-((d>>>0)%12|0)|0)+12|0;d=Xi(b,0,k);k=d+k|0;f=P(f,12)+o|0;if((c|0)==(h|0)){break v}while(1){b=b-12|0;c=c-12|0;J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;if((c|0)!=(h|0)){continue}break}J[i+8>>2]=f;d=J[i+4>>2];J[i+4>>2]=k;c=J[i>>2];J[i>>2]=b;if((c|0)==(d|0)){break u}while(1){b=d-12|0;h=J[b>>2];if(h){J[d-8>>2]=h;xj(h)}d=b;if((b|0)!=(c|0)){continue}break}break u}break b}Va();C()}J[i+8>>2]=f;J[i+4>>2]=k;J[i>>2]=d}if(c){xj(c)}}d=J[e+188>>2];break s}if(b>>>0>=d>>>0){d=c;break s}d=h+P(b,12)|0;if((d|0)!=(c|0)){while(1){b=c-12|0;h=J[b>>2];if(h){J[c-8>>2]=h;xj(h)}c=b;if((d|0)!=(b|0)){continue}break}}J[e+188>>2]=d}f=e+196|0;b=J[e+184>>2];c=(d-b|0)/12|0;o=J[e+196>>2];h=J[e+200>>2]-o>>2;x:{if(c>>>0>h>>>0){La(f,c-h|0);b=J[e+184>>2];d=J[e+188>>2];break x}if(c>>>0>=h>>>0){break x}J[e+200>>2]=o+(c<<2)}if((b|0)==(d|0)){b=1;break m}c=0;while(1){if(!Re(1,j+8|0,g)){break n}b=J[e+148>>2];d=(J[b+4>>2]-J[b>>2]>>2>>>0)/3|0;b=J[j+8>>2];if(d>>>0>>0){break n}if(b){k=P(c,12);h=k+J[i>>2]|0;d=J[h>>2];o=J[h+4>>2]-d>>2;y:{if(o>>>0>>0){La(h,b-o|0);d=J[k+J[i>>2]>>2];break y}if(b>>>0>=o>>>0){break y}J[h+4>>2]=(b<<2)+d}pe(b,1,g,d);J[J[f>>2]+(c<<2)>>2]=b}b=1;c=c+1|0;if(c>>>0<(J[e+188>>2]-J[e+184>>2]|0)/12>>>0){continue}break}break m}b=0}fa=j+16|0;z:{if(!b){break z}d=0;c=0;g=0;i=0;o=0;l=fa-96|0;fa=l;J[l+72>>2]=0;J[l+64>>2]=0;J[l+68>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;J[l+56>>2]=1065353216;J[l+32>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;j=a;F=J[a+124>>2];A:{B:{C:{D:{E:{if((n|0)<=0){break E}r=j+232|0;O=J[j+216>>2]!=J[j+220>>2];D=1;while(1){h=i;i=h+1|0;a=J[r+172>>2];F:{G:{if((a|0)!=-1){b=J[r+196>>2]+(a<<2)|0;f=J[b>>2];a=f-1|0;J[b>>2]=a;b=9;if((f|0)<=0){break F}a=J[J[J[r+184>>2]+P(J[r+172>>2],12)>>2]+(a<<2)>>2];if(a>>>0>4){break F}b=J[(a<<2)+12192>>2];break G}b=7;a=J[r+144>>2];a=L[(ka[J[J[a>>2]+32>>2]](a)|0)+36>>1];if(((a<<8|a>>>8)&65535)>>>0>513|!K[r+76|0]){break G}b=0;m=J[r- -64>>2];k=J[r+72>>2];a=m+(k>>>3|0)|0;p=J[r+68>>2];if(a>>>0>=p>>>0){break G}f=K[a|0];a=k+1|0;J[r+72>>2]=a;f=f>>>(k&7)&1;if(!f){break G}q=a>>>3|0;b=m+q|0;H:{if(b>>>0>=p>>>0){b=a;a=0;break H}t=K[b|0];b=k+2|0;J[r+72>>2]=b;q=b>>>3|0;a=t>>>(a&7)&1}k=m+q|0;if(k>>>0

>>0){k=K[k|0];J[r+72>>2]=b+1;b=k>>>(b&7)<<1&2}else{b=0}b=(a|b)<<1|f}J[r+168>>2]=b}a=b;I:{J:{if(!a){if((c|0)==(g|0)){b=-1;break D}d=-1;m=J[j+8>>2];t=J[m+24>>2];D=c-4|0;f=J[D>>2];a=-1;K:{if((f|0)==-1){break K}k=f+1|0;k=(k>>>0)%3|0?k:f-2|0;a=-1;if((k|0)==-1){break K}a=J[J[m>>2]+(k<<2)>>2]}b=J[t+(a<<2)>>2];if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}if((d|0)==(f|0)){b=-1;break D}if((f|0)!=-1){b=-1;if(J[J[m+12>>2]+(f<<2)>>2]!=-1){break D}}k=J[m+12>>2];if((d|0)!=-1){b=-1;if(J[k+(d<<2)>>2]!=-1){break D}}p=P(h,3);b=p+1|0;J[k+(f<<2)>>2]=b;v=b<<2;J[v+k>>2]=f;q=p+2|0;J[k+(d<<2)>>2]=q;x=q<<2;J[x+k>>2]=d;k=-1;h=-1;L:{if((f|0)==-1){break L}M:{if((f>>>0)%3|0){b=f-1|0;break M}b=f+2|0;h=-1;if((b|0)==-1){break L}}h=J[J[m>>2]+(b<<2)>>2]}N:{if((d|0)==-1){break N}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if((b|0)==-1){break N}k=J[J[m>>2]+(b<<2)>>2]}b=-1;if((a|0)==(h|0)|(a|0)==(k|0)){break D}b=J[m>>2];J[b+(p<<2)>>2]=a;J[b+v>>2]=k;J[b+x>>2]=h;if((h|0)!=-1){J[t+(h<<2)>>2]=q}b=J[j+120>>2]+(a>>>3&536870908)|0;d=J[b>>2];Q=b,R=rk(a)&d,J[Q>>2]=R;J[D>>2]=p;k=J[c-4>>2];break J}b=-1;O:{P:{Q:{R:{S:{T:{U:{V:{W:{switch(a-1|0){case 2:case 4:if((c|0)==(g|0)){break D}t=c-4|0;d=J[t>>2];f=J[j+8>>2];m=J[f+12>>2];if((d|0)!=-1&J[m+(d<<2)>>2]!=-1){break D}k=P(h,3);p=(a|0)==5;q=k+(p?2:1)|0;v=q<<2;J[v+m>>2]=d;J[m+(d<<2)>>2]=q;df(f+24|0,11472);a=J[j+8>>2];m=J[a+24>>2];if(J[a+28>>2]-m>>2>(F|0)){break D}a=J[a>>2];x=a+v|0;b=J[f+28>>2];f=J[f+24>>2];v=(b-f>>2)-1|0;J[x>>2]=v;if((b|0)!=(f|0)){J[m+(v<<2)>>2]=q}b=p?k:k+2|0;q=a+(k+p<<2)|0;X:{if((d|0)==-1){J[a+(b<<2)>>2]=-1;b=-1;break X}Y:{Z:{_:{if((d>>>0)%3|0){f=d-1|0;break _}f=d+2|0;if((f|0)==-1){break Z}}f=J[a+(f<<2)>>2];J[a+(b<<2)>>2]=f;if((f|0)==-1){break Y}J[m+(f<<2)>>2]=b;break Y}J[a+(b<<2)>>2]=-1}f=d+1|0;d=(f>>>0)%3|0?f:d-2|0;b=-1;if((d|0)==-1){break X}b=J[a+(d<<2)>>2]}J[q>>2]=b;J[t>>2]=k;break V;case 0:if((c|0)==(d|0)){break D}a=c-4|0;m=J[a>>2];J[l+68>>2]=a;p=J[l+44>>2];$:{if(!p){c=a;break $}f=J[l+40>>2];q=qk(p)>>>0>1;b=h&p+2147483647;aa:{if(!q){break aa}b=h;if(b>>>0

>>0){break aa}b=(h>>>0)%(p>>>0)|0}k=b;b=J[f+(k<<2)>>2];if(!b){c=a;break $}b=J[b>>2];if(!b){c=a;break $}ba:{if(!q){f=p-1|0;while(1){p=J[b+4>>2];ca:{if((p|0)!=(h|0)){if((k|0)==(f&p)){break ca}c=a;break $}if((h|0)==J[b+8>>2]){break ba}}b=J[b>>2];if(b){continue}break}c=a;break $}while(1){f=J[b+4>>2];da:{if((f|0)!=(h|0)){if(f>>>0>=p>>>0){f=(f>>>0)%(p>>>0)|0}if((f|0)==(k|0)){break da}c=a;break $}if((h|0)==J[b+8>>2]){break ba}}b=J[b>>2];if(b){continue}break}c=a;break $}if((a|0)!=(w|0)){J[a>>2]=J[b+12>>2];J[l+68>>2]=c;break $}a=w-d|0;g=a>>2;c=g+1|0;if(c>>>0>=1073741824){break b}f=a>>>1|0;f=a>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break B}a=Cj(f<<2)}else{a=0}g=a+(g<<2)|0;J[g>>2]=J[b+12>>2];c=g+4|0;if((d|0)!=(w|0)){while(1){g=g-4|0;w=w-4|0;J[g>>2]=J[w>>2];if((d|0)!=(w|0)){continue}break}}w=a+(f<<2)|0;J[l+72>>2]=w;J[l+68>>2]=c;J[l+64>>2]=g;if(d){xj(d)}}if((c|0)==(g|0)){break P}v=c-4|0;a=J[v>>2];if((a|0)==(m|0)){break P}b=(a|0)==-1;p=J[j+8>>2];if(!b&J[J[p+12>>2]+(a<<2)>>2]!=-1){break P}q=J[p+12>>2];if((m|0)!=-1&J[q+(m<<2)>>2]!=-1){break P}k=P(h,3);t=k+2|0;J[q+(a<<2)>>2]=t;h=t<<2;J[h+q>>2]=a;d=k+1|0;J[q+(m<<2)>>2]=d;x=d<<2;J[x+q>>2]=m;if(b){break T}if((a>>>0)%3|0){f=a-1|0;break S}f=a+2|0;if((f|0)!=-1){break S}d=J[p>>2];f=-1;break R;case 6:break W;default:break D}}k=J[j+8>>2];df(k+24|0,11472);f=J[j+8>>2];a=P(h,3);m=J[k+28>>2];p=J[k+24>>2];q=m-p|0;k=q>>2;t=k-1|0;J[J[f>>2]+(a<<2)>>2]=t;df(f+24|0,11472);v=a+1|0;J[J[f>>2]+(v<<2)>>2]=(J[f+28>>2]-J[f+24>>2]>>2)-1;f=J[j+8>>2];df(f+24|0,11472);x=a+2|0;J[J[f>>2]+(x<<2)>>2]=(J[f+28>>2]-J[f+24>>2]>>2)-1;E=J[j+8>>2];f=J[E+24>>2];if(J[E+28>>2]-f>>2>(F|0)){break D}ea:{fa:{if((m|0)!=(p|0)){J[f+(t<<2)>>2]=a;b=0;if((q|0)==-4){break fa}}J[f+(k<<2)>>2]=v;b=k+1|0;if((b|0)==-1){break ea}}J[f+(b<<2)>>2]=x}if((c|0)!=(w|0)){J[c>>2]=a;c=c+4|0;J[l+68>>2]=c;break U}b=c-d|0;k=b>>2;g=k+1|0;if(g>>>0>=1073741824){break b}f=b>>>1|0;b=b>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(b){if(b>>>0>=1073741824){break B}f=Cj(b<<2)}else{f=0}g=f+(k<<2)|0;J[g>>2]=a;w=f+(b<<2)|0;a=g+4|0;if((c|0)!=(d|0)){while(1){g=g-4|0;c=c-4|0;J[g>>2]=J[c>>2];if((c|0)!=(d|0)){continue}break}}J[l+72>>2]=w;J[l+68>>2]=a;J[l+64>>2]=g;if(d){xj(d)}c=a}d=g}nf(r,J[c-4>>2]);a=J[j+40>>2];if((a|0)==J[j+36>>2]){break I}b=a-12|0;f=J[b+4>>2];h=(h^-1)+n|0;if(f>>>0>h>>>0){break P}if((f|0)!=(h|0)){break I}k=K[a-4|0];f=J[b>>2];J[j+40>>2]=b;if((f|0)<0){break P}m=c-4|0;a=J[m>>2];J[l+20>>2]=(f^-1)+n;b=l+20|0;J[l+88>>2]=b;ef(l,l+40|0,b,l+88|0);f=J[l>>2];ga:{if(k&1){b=-1;if((a|0)==-1){break ga}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break ga}b=-1;if((a|0)==-1){break ga}b=a-1|0;if((a>>>0)%3|0){break ga}b=a+2|0}J[f+12>>2]=b;b=J[j+40>>2];if((b|0)==J[j+36>>2]){break I}while(1){a=b-12|0;f=J[a+4>>2];if(f>>>0>h>>>0){break P}if((f|0)!=(h|0)){break I}f=K[b-4|0];b=J[a>>2];J[j+40>>2]=a;if((b|0)<0){break P}a=J[m>>2];J[l+20>>2]=(b^-1)+n;b=l+20|0;J[l+88>>2]=b;ef(l,l+40|0,b,l+88|0);k=J[l>>2];ha:{if(f&1){b=-1;if((a|0)==-1){break ha}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break ha}b=-1;if((a|0)==-1){break ha}b=a-1|0;if((a>>>0)%3|0){break ha}b=a+2|0}J[k+12>>2]=b;b=J[j+40>>2];if((b|0)!=J[j+36>>2]){continue}break}break I}f=-1;d=J[p>>2];J[d+(k<<2)>>2]=-1;b=-1;break Q}d=J[p>>2];f=J[d+(f<<2)>>2]}J[(k<<2)+d>>2]=f;E=a+1|0;a=(E>>>0)%3|0?E:a-2|0;b=-1;if((a|0)==-1){break Q}b=J[(a<<2)+d>>2]}J[d+x>>2]=b;ia:{if((m|0)==-1){J[d+h>>2]=-1;t=-1;a=-1;break ia}ja:{ka:{la:{if((m>>>0)%3|0){b=m-1|0;break la}b=m+2|0;if((b|0)==-1){break ka}}a=J[(b<<2)+d>>2];J[d+h>>2]=a;if((a|0)==-1){break ja}J[J[p+24>>2]+(a<<2)>>2]=t;break ja}J[d+h>>2]=-1}t=-1;b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;a=-1;if((b|0)==-1){break ia}t=J[(b<<2)+d>>2];a=b}b=J[j+388>>2];h=f<<2;m=b+h|0;x=b;b=t<<2;J[m>>2]=J[m>>2]+J[x+b>>2];m=b;b=J[p+24>>2];m=m+b|0;if((f|0)!=-1){J[b+h>>2]=J[m>>2]}b=a;while(1){if((b|0)==-1){break O}J[(b<<2)+d>>2]=f;p=b+1|0;b=(p>>>0)%3|0?p:b-2|0;h=-1;ma:{if((b|0)==-1){break ma}b=J[q+(b<<2)>>2];h=-1;if((b|0)==-1){break ma}h=b+1|0;h=(h>>>0)%3|0?h:b-2|0}b=h;if((a|0)!=(b|0)){continue}break}}b=-1;if(!D){break E}break D}J[m>>2]=-1;na:{if(O){break na}if((y|0)!=(z|0)){J[z>>2]=t;z=z+4|0;J[l+28>>2]=z;break na}a=y-o|0;h=a>>2;b=h+1|0;if(b>>>0>=1073741824){break b}d=a>>>1|0;d=a>>>0>=2147483644?1073741823:b>>>0>>0?d:b;if(d){if(d>>>0>=1073741824){break B}a=Cj(d<<2)}else{a=0}b=a+(h<<2)|0;J[b>>2]=t;z=b+4|0;if((o|0)!=(y|0)){while(1){b=b-4|0;y=y-4|0;J[b>>2]=J[y>>2];if((o|0)!=(y|0)){continue}break}}y=a+(d<<2)|0;J[l+32>>2]=y;J[l+28>>2]=z;J[l+24>>2]=b;if(o){xj(o)}o=b}J[v>>2]=k}nf(r,k);d=g}D=(i|0)<(n|0);if((i|0)!=(n|0)){continue}break}i=n}b=-1;d=J[j+8>>2];if(J[d+28>>2]-J[d+24>>2]>>2>(F|0)){break D}if((c|0)!=(g|0)){w=j+72|0;h=j+60|0;p=j+312|0;while(1){c=c-4|0;o=J[c>>2];J[l+68>>2]=c;oa:{pa:{qa:{if(L[j+270>>1]<=513){if(!K[j+364|0]){break pa}a=J[j+360>>2];b=J[j+352>>2]+(a>>>3|0)|0;if(b>>>0>=M[j+356>>2]){break qa}b=K[b|0];J[j+360>>2]=a+1;if(!(b>>>(a&7)&1)){break qa}break pa}if(je(p)){break pa}}b=J[j+64>>2];a=J[j+68>>2];if((b|0)==a<<5){if((b+1|0)<0){break b}if(b>>>0<=1073741822){a=a<<6;b=(b&-32)+32|0;a=a>>>0>b>>>0?a:b}else{a=2147483647}Jc(h,a);b=J[j+64>>2]}J[j+64>>2]=b+1;a=J[j+60>>2]+(b>>>3&536870908)|0;d=J[a>>2];Q=a,R=rk(b)&d,J[Q>>2]=R;b=J[j+76>>2];if((b|0)!=J[j+80>>2]){J[b>>2]=o;J[j+76>>2]=b+4;break oa}d=J[w>>2];a=b-d|0;k=a>>2;f=k+1|0;if(f>>>0<1073741824){n=a>>>1|0;n=a>>>0>=2147483644?1073741823:f>>>0>>0?n:f;if(n){if(n>>>0>=1073741824){break B}a=Cj(n<<2)}else{a=0}f=a+(k<<2)|0;J[f>>2]=o;o=f+4|0;if((b|0)!=(d|0)){while(1){f=f-4|0;b=b-4|0;J[f>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[j+80>>2]=a+(n<<2);J[j+76>>2]=o;J[j+72>>2]=f;if(!d){break oa}xj(d);break oa}break b}m=J[j+8>>2];r=J[m>>2];if(((J[m+4>>2]-r>>2>>>0)/3|0)<=(i|0)){b=-1;break D}d=-1;q=J[m+24>>2];n=-1;ra:{if((o|0)==-1){break ra}g=o+1|0;g=(g>>>0)%3|0?g:o-2|0;n=-1;if((g|0)==-1){break ra}n=J[r+(g<<2)>>2]}a=J[q+(n<<2)>>2];sa:{if((a|0)==-1){k=1;f=-1;break sa}k=1;f=-1;b=a+1|0;a=(b>>>0)%3|0?b:a-2|0;if((a|0)==-1){break sa}k=0;d=a;b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;if((b|0)!=-1){f=J[r+(b<<2)>>2]}}b=-1;g=-1;a=J[q+(f<<2)>>2];if((a|0)!=-1){g=a+1|0;g=(g>>>0)%3|0?g:a-2|0}if((d|0)==(o|0)|(g|0)==(o|0)|((o|0)!=-1&J[J[m+12>>2]+(o<<2)>>2]!=-1|(d|0)==(g|0))){break D}if(!k&J[J[m+12>>2]+(d<<2)>>2]!=-1){break D}k=-1;a=J[m+12>>2];m=-1;ta:{if((g|0)==-1){break ta}if(J[a+(g<<2)>>2]!=-1){break D}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;m=-1;if((b|0)==-1){break ta}m=J[r+(b<<2)>>2]}b=P(i,3);J[l>>2]=b;J[a+(b<<2)>>2]=o;J[a+(o<<2)>>2]=b;b=J[l>>2]+1|0;J[a+(b<<2)>>2]=d;J[a+(d<<2)>>2]=b;b=J[l>>2]+2|0;J[a+(b<<2)>>2]=g;J[a+(g<<2)>>2]=b;a=J[l>>2];J[r+(a<<2)>>2]=f;b=a+1|0;d=r+(b<<2)|0;J[d>>2]=m;g=a+2|0;o=r+(g<<2)|0;J[o>>2]=n;a=J[j+120>>2];f=b?f:-1;n=a+(f>>>3&536870908)|0;r=J[n>>2];Q=n,R=rk(f)&r,J[Q>>2]=R;k=(b|0)!=-1?J[d>>2]:k;b=a+(k>>>3&536870908)|0;d=J[b>>2];Q=b,R=rk(k)&d,J[Q>>2]=R;b=-1;b=(g|0)!=-1?J[o>>2]:b;a=a+(b>>>3&536870908)|0;d=J[a>>2];Q=a,R=rk(b)&d,J[Q>>2]=R;H[l+88|0]=1;ff(h,l+88|0);df(w,l);i=i+1|0;g=J[l+64>>2]}if((c|0)!=(g|0)){continue}break}d=J[j+8>>2]}b=-1;if(((J[d+4>>2]-J[d>>2]>>2>>>0)/3|0)!=(i|0)){break D}b=J[d+28>>2]-J[d+24>>2]>>2;i=J[l+24>>2];f=J[l+28>>2];if((i|0)==(f|0)){break C}while(1){a=J[i>>2];h=J[d+24>>2];c=b-1|0;g=h+(c<<2)|0;if(J[g>>2]==-1){while(1){c=b-2|0;b=b-1|0;g=h+(c<<2)|0;if(J[g>>2]==-1){continue}break}}if(a>>>0<=c>>>0){J[l>>2]=d;g=J[g>>2];H[l+12|0]=1;J[l+8>>2]=g;J[l+4>>2]=g;if((g|0)!=-1){while(1){d=J[J[j+8>>2]>>2]+(g<<2)|0;if(J[d>>2]!=(c|0)){b=-1;break D}J[d>>2]=a;wd(l);g=J[l+8>>2];if((g|0)!=-1){continue}break}d=J[j+8>>2]}h=J[d+24>>2];g=h+(c<<2)|0;if((a|0)!=-1){J[h+(a<<2)>>2]=J[g>>2]}J[g>>2]=-1;g=1<>2];a=h+(a>>>3&536870908)|0;h=h+(c>>>3&536870908)|0;c=1<>2]&c){g=g|J[a>>2]}else{g=J[a>>2]&(g^-1)}J[a>>2]=g;J[h>>2]=J[h>>2]&(c^-1);b=b-1|0}i=i+4|0;if((f|0)!=(i|0)){continue}break}}i=J[l+24>>2]}if(i){xj(i)}a=J[l+48>>2];if(a){while(1){c=J[a>>2];xj(a);a=c;if(a){continue}break}}a=J[l+40>>2];J[l+40>>2]=0;if(a){xj(a)}a=J[l+64>>2];if(a){J[l+68>>2]=a;xj(a)}fa=l+96|0;break A}Va();C()}if((b|0)==-1){break z}a=N;c=J[a+16>>2];d=c+J[a>>2]|0;c=J[a+8>>2]-c|0;a=J[J[j+4>>2]+32>>2];I[a+38>>1]=L[a+38>>1];J[a>>2]=d;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=c;J[a+12>>2]=0;a=J[j+4>>2];c=L[a+36>>1];g=c<<8|c>>>8;if((g&65535)>>>0<=513){a=J[a+32>>2];c=J[a+16>>2];d=G+J[a+20>>2]|0;c=c+B|0;d=c>>>0>>0?d+1|0:d;J[a+16>>2]=c;J[a+20>>2]=d}ua:{if(J[j+216>>2]==J[j+220>>2]){break ua}c=J[j+8>>2];a=J[c>>2];c=J[c+4>>2];va:{if((g&65535)>>>0>=513){if((a|0)==(c|0)){break ua}c=0;break va}if((a|0)==(c|0)){break ua}c=0;while(1){if(Ye(j,c)){c=c+3|0;a=J[j+8>>2];if(c>>>0>2]-J[a>>2]>>2>>>0){continue}break ua}break}break z}while(1){if(Ze(j,c)){c=c+3|0;a=J[j+8>>2];if(c>>>0>2]-J[a>>2]>>2>>>0){continue}break ua}break}break z}_e(e);c=J[j+216>>2];if((c|0)!=J[j+220>>2]){n=0;while(1){d=P(n,144);Ci((d+c|0)+4|0,J[j+8>>2]);a=J[A>>2];e=a+d|0;c=J[e+132>>2];e=J[e+136>>2];if((c|0)!=(e|0)){while(1){Ei((d+J[A>>2]|0)+4|0,J[c>>2]);c=c+4|0;if((e|0)!=(c|0)){continue}break}a=J[A>>2]}if(!Di((a+d|0)+4|0)){break z}n=n+1|0;c=J[j+216>>2];if(n>>>0<(J[j+220>>2]-c|0)/144>>>0){continue}break}}a=J[j+8>>2];$e(j+184|0,J[a+28>>2]-J[a+24>>2]>>2);u=J[j+216>>2];if((u|0)!=J[j+220>>2]){c=0;while(1){a=P(c,144)+u|0;d=J[a+60>>2]-J[a+56>>2]>>2;f=a+104|0;a=J[j+8>>2];a=J[a+28>>2]-J[a+24>>2]>>2;$e(f,(a|0)<(d|0)?d:a);c=c+1|0;u=J[j+216>>2];if(c>>>0<(J[j+220>>2]-u|0)/144>>>0){continue}break}}u=af(j,b)}break c}u=0}fa=s- -64|0;return u|0}Ia();C()}function jf(a){a=a|0;var 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,q=0,r=0,s=0,t=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,N=0,O=0,Q=0,R=0,S=0;u=fa+-64|0;fa=u;J[a+132>>2]=0;if(J[a+148>>2]){c=J[a+144>>2];if(c){while(1){b=J[c>>2];xj(c);c=b;if(b){continue}break}}c=0;J[a+144>>2]=0;l=J[a+140>>2];a:{if(!l){break a}if(l>>>0>=4){b=l&-4;while(1){e=c<<2;J[e+J[a+136>>2]>>2]=0;J[J[a+136>>2]+(e|4)>>2]=0;J[J[a+136>>2]+(e|8)>>2]=0;J[J[a+136>>2]+(e|12)>>2]=0;c=c+4|0;f=f+4|0;if((b|0)!=(f|0)){continue}break}}b=l&3;if(!b){break a}while(1){J[J[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;v=v+1|0;if((b|0)!=(v|0)){continue}break}}J[a+148>>2]=0}b:{c:{c=J[a+4>>2];v=K[c+36|0];b=v<<8|K[c+37|0];if(b>>>0<=513){g=J[c+32>>2];d:{if(b>>>0<=511){f=J[g+20>>2];l=J[g+16>>2];e=l+4|0;f=e>>>0<4?f+1|0:f;b=f;d=J[g+12>>2];if(M[g+8>>2]>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}f=l+J[g>>2]|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[g+16>>2]=e;J[g+20>>2]=b;break d}if(!Re(1,u,g)){break c}c=J[a+4>>2];v=K[c+36|0];f=J[u>>2]}J[a+132>>2]=f}d=J[c+32>>2];e:{f:{g:{if((v&255)>>>0<=1){v=0;b=J[d+20>>2];e=J[d+16>>2];f=e+4|0;b=f>>>0<4?b+1|0:b;l=J[d+12>>2];if(M[d+8>>2]>>0&(l|0)<=(b|0)|(b|0)>(l|0)){break b}e=e+J[d>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[u+60>>2]=e;J[d+16>>2]=f;J[d+20>>2]=b;J[a+156>>2]=e;t=a+156|0;break g}v=0;if(!Re(1,u+60|0,d)){break b}c=J[a+4>>2];b=K[c+36|0];J[a+156>>2]=J[u+60>>2];t=a+156|0;if(b>>>0>1){break f}}d=J[c+32>>2];e=J[d+8>>2];l=J[d+12>>2];c=J[d+20>>2];f=J[d+16>>2];b=f+4|0;c=b>>>0<4?c+1|0:c;if(b>>>0>e>>>0&(c|0)>=(l|0)|(c|0)>(l|0)){break b}f=f+J[d>>2]|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[u+56>>2]=f;J[d+16>>2]=b;J[d+20>>2]=c;break e}if(!Re(1,u+56|0,J[c+32>>2])){break b}f=J[u+56>>2]}if(f>>>0>1431655765|M[t>>2]>P(f,3)>>>0){break b}E=J[a+4>>2];w=J[E+32>>2];c=J[w+8>>2];d=J[w+12>>2];b=J[w+20>>2];h=J[w+16>>2];if((d|0)<=(b|0)&h>>>0>=c>>>0|(b|0)>(d|0)){break b}j=J[w>>2];k=K[j+h|0];e=w;l=h+1|0;g=l?b:b+1|0;J[e+16>>2]=l;J[e+20>>2]=g;h:{if(K[E+36|0]<=1){e=c;c=h+5|0;b=c>>>0<5?b+1|0:b;if(c>>>0>e>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break b}e=j+l|0;t=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[u+52>>2]=t;J[w+16>>2]=c;J[w+20>>2]=b;break h}if(!Re(1,u+52|0,w)){break b}t=J[u+52>>2]}if(f>>>0>>0|((t>>>0)/3|0)+t>>>0>>0){break b}c=J[a+4>>2];d=J[c+32>>2];i:{if(K[c+36|0]<=1){c=J[d+20>>2];b=J[d+16>>2];e=b+4|0;c=e>>>0<4?c+1|0:c;l=J[d+12>>2];if(M[d+8>>2]>>0&(l|0)<=(c|0)|(c|0)>(l|0)){break b}b=b+J[d>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[u+48>>2]=b;J[d+16>>2]=e;J[d+20>>2]=c;break i}if(!Re(1,u+48|0,d)){break b}b=J[u+48>>2]}if(b>>>0>t>>>0){break b}J[a+28>>2]=J[a+24>>2];c=ti(Cj(88));e=J[a+8>>2];J[a+8>>2]=c;if(e){Se(e);if(!J[a+8>>2]){break b}}J[a+164>>2]=J[a+160>>2];Te(a+160|0,f);J[a+176>>2]=J[a+172>>2];Te(a+172|0,f);J[a- -64>>2]=0;J[a+92>>2]=-1;J[a+84>>2]=-1;J[a+88>>2]=-1;J[a+40>>2]=J[a+36>>2];J[a+52>>2]=J[a+48>>2];J[a+76>>2]=J[a+72>>2];G=a+216|0;Ue(G);Ve(G,k);if(!vi(J[a+8>>2],f,J[a+156>>2]+b|0)){break b}c=J[a+156>>2];H[u|0]=1;Oe(a+120|0,b+c|0,u);f=J[a+4>>2];c=L[f+36>>1];c=(c<<8|c>>>8)&65535;j:{if(c>>>0<=513){g=J[f+32>>2];k:{if(c>>>0<=511){f=J[g+20>>2];l=J[g+16>>2];e=l+4|0;f=e>>>0<4?f+1|0:f;c=f;d=J[g+12>>2];if(M[g+8>>2]>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break b}f=l+J[g>>2]|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[g+16>>2]=e;J[g+20>>2]=c;break k}if(!Re(1,u+44|0,g)){break b}f=J[u+44>>2]}if(!f){break b}d=J[J[a+4>>2]+32>>2];l=J[d+8>>2];c=J[d+16>>2];e=l-c|0;c=J[d+12>>2]-(J[d+20>>2]+(c>>>0>l>>>0)|0)|0;if((c|0)<=0&f>>>0>e>>>0|(c|0)<0){break b}g=qg(u);d=J[J[a+4>>2]+32>>2];l=J[d+16>>2];e=(l+J[d>>2]|0)+f|0;c=J[d+8>>2]-l|0;I[g+38>>1]=L[d+38>>1];J[g>>2]=e;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=c-f;J[g+12>>2]=0;c=We(a,g);if((c|0)==-1){break b}E=c;O=c>>31;break j}E=-1;O=-1;if((We(a,J[f+32>>2])|0)==-1){break b}}A=a+232|0;kf(A,a);J[a+372>>2]=k;J[a+384>>2]=J[a+156>>2]+b;w=qg(u);g=w;d=0;l=fa-16|0;fa=l;l:{if(!Xe(A,g)){break l}b=J[g+20>>2];f=J[g+16>>2];c=f+4|0;b=c>>>0<4?b+1|0:b;e=J[g+12>>2];if(M[g+8>>2]>>0&(e|0)<=(b|0)|(b|0)>(e|0)){break l}f=f+J[g>>2]|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[g+16>>2]=c;J[g+20>>2]=b;if((f|0)<0){break l}b=f;f=J[A+152>>2];if((b|0)>=(f|0)){break l}J[l+12>>2]=0;c=J[A+156>>2];b=J[A+160>>2]-c>>2;m:{if(b>>>0>>0){fb(A+156|0,f-b|0,l+12|0);break m}if(b>>>0<=f>>>0){break m}J[A+160>>2]=c+(f<<2)}d=he(A+168|0,g)}fa=l+16|0;n:{if(!d){break n}d=0;c=0;f=0;l=0;i=fa-96|0;fa=i;J[i+72>>2]=0;J[i+64>>2]=0;J[i+68>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+56>>2]=1065353216;J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;g=a;N=J[a+124>>2];o:{p:{q:{r:{s:{t:{if((t|0)<=0){break t}y=g+400|0;Q=g+232|0;B=J[g+216>>2]!=J[g+220>>2];x=1;while(1){e=l;l=e+1|0;u:{v:{w:{x:{y:{if(J[g+420>>2]!=-1){if(je(y)){break y}}if(!K[g+308|0]){break x}z:{o=J[g+296>>2];r=J[g+304>>2];a=o+(r>>>3|0)|0;k=J[g+300>>2];if(a>>>0>=k>>>0){break z}b=K[a|0];a=r+1|0;J[g+304>>2]=a;h=b>>>(r&7)&1;if(!h){break z}n=a>>>3|0;b=o+n|0;A:{if(b>>>0>=k>>>0){b=a;a=0;break A}j=K[b|0];b=r+2|0;J[g+304>>2]=b;n=b>>>3|0;a=j>>>(a&7)&1}j=n+o|0;if(j>>>0>>0){j=K[j|0];J[g+304>>2]=b+1;b=j>>>(b&7)<<1&2}else{b=0}p=(a|b)<<1|h;J[g+416>>2]=p;break w}J[g+416>>2]=0;break x}p=J[g+420>>2];J[g+416>>2]=p;if(p){break w}}if((c|0)==(f|0)){b=-1;break s}p=-1;n=J[g+8>>2];o=J[n+24>>2];j=c-4|0;m=J[j>>2];d=-1;B:{if((m|0)==-1){break B}b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;d=-1;if((b|0)==-1){break B}d=J[J[n>>2]+(b<<2)>>2]}b=J[o+(d<<2)>>2];if((b|0)!=-1){a=b+1|0;p=(a>>>0)%3|0?a:b-2|0}if((m|0)==(p|0)){b=-1;break s}if((m|0)!=-1){b=-1;if(J[J[n+12>>2]+(m<<2)>>2]!=-1){break s}}k=J[n+12>>2];if((p|0)!=-1){b=-1;if(J[k+(p<<2)>>2]!=-1){break s}}q=P(e,3);a=q+1|0;J[k+(m<<2)>>2]=a;h=a<<2;J[h+k>>2]=m;r=q+2|0;J[k+(p<<2)>>2]=r;e=r<<2;J[e+k>>2]=p;k=-1;a=-1;C:{if((m|0)==-1){break C}D:{if((m>>>0)%3|0){b=m-1|0;break D}b=m+2|0;a=-1;if((b|0)==-1){break C}}a=J[J[n>>2]+(b<<2)>>2]}E:{if((p|0)==-1){break E}b=p+1|0;b=(b>>>0)%3|0?b:p-2|0;if((b|0)==-1){break E}k=J[J[n>>2]+(b<<2)>>2]}b=-1;if((a|0)==(d|0)|(d|0)==(k|0)){break s}b=J[n>>2];J[b+(q<<2)>>2]=d;J[b+h>>2]=k;J[b+e>>2]=a;if((a|0)!=-1){J[o+(a<<2)>>2]=r}b=J[g+120>>2]+(d>>>3&536870908)|0;a=J[b>>2];R=b,S=rk(d)&a,J[R>>2]=S;J[j>>2]=q;p=J[c-4>>2];break v}b=-1;F:{G:{H:{I:{J:{K:{L:{M:{N:{O:{P:{switch(p-1|0){case 2:case 4:if((c|0)==(f|0)){break s}h=c-4|0;m=J[h>>2];r=J[g+8>>2];d=J[r+12>>2];if((m|0)!=-1&J[d+(m<<2)>>2]!=-1){break s}q=P(e,3);k=(p|0)==5;j=q+(k?2:1)|0;a=j<<2;J[a+d>>2]=m;J[d+(m<<2)>>2]=j;df(r+24|0,11472);d=J[g+8>>2];o=J[d+24>>2];if(J[d+28>>2]-o>>2>(N|0)){break s}n=J[d>>2];p=n+a|0;d=J[r+28>>2];b=J[r+24>>2];a=(d-b>>2)-1|0;J[p>>2]=a;if((b|0)!=(d|0)){J[o+(a<<2)>>2]=j}d=k?q:q+2|0;j=n+(k+q<<2)|0;Q:{if((m|0)==-1){J[n+(d<<2)>>2]=-1;b=-1;break Q}R:{S:{T:{if((m>>>0)%3|0){a=m-1|0;break T}a=m+2|0;if((a|0)==-1){break S}}a=J[n+(a<<2)>>2];J[n+(d<<2)>>2]=a;if((a|0)==-1){break R}J[o+(a<<2)>>2]=d;break R}J[n+(d<<2)>>2]=-1}a=m+1|0;a=(a>>>0)%3|0?a:m-2|0;b=-1;if((a|0)==-1){break Q}b=J[n+(a<<2)>>2]}J[j>>2]=b;J[h>>2]=q;break O;case 0:if((c|0)==(d|0)){break s}a=c-4|0;m=J[a>>2];J[i+68>>2]=a;k=J[i+44>>2];U:{if(!k){c=a;break U}o=J[i+40>>2];h=qk(k)>>>0>1;b=e&k+2147483647;V:{if(!h){break V}b=e;if(b>>>0>>0){break V}b=(e>>>0)%(k>>>0)|0}j=b;b=J[o+(j<<2)>>2];if(!b){c=a;break U}b=J[b>>2];if(!b){c=a;break U}W:{if(!h){k=k-1|0;while(1){h=J[b+4>>2];X:{if((h|0)!=(e|0)){if((j|0)==(h&k)){break X}c=a;break U}if((e|0)==J[b+8>>2]){break W}}b=J[b>>2];if(b){continue}break}c=a;break U}while(1){h=J[b+4>>2];Y:{if((h|0)!=(e|0)){if(h>>>0>=k>>>0){h=(h>>>0)%(k>>>0)|0}if((h|0)==(j|0)){break Y}c=a;break U}if((e|0)==J[b+8>>2]){break W}}b=J[b>>2];if(b){continue}break}c=a;break U}if((a|0)!=(z|0)){J[a>>2]=J[b+12>>2];J[i+68>>2]=c;break U}h=z-d|0;c=h>>2;f=c+1|0;if(f>>>0>=1073741824){break M}a=h>>>1|0;h=h>>>0>=2147483644?1073741823:a>>>0>f>>>0?a:f;if(h){if(h>>>0>=1073741824){break p}a=Cj(h<<2)}else{a=0}f=a+(c<<2)|0;J[f>>2]=J[b+12>>2];c=f+4|0;if((d|0)!=(z|0)){while(1){f=f-4|0;z=z-4|0;J[f>>2]=J[z>>2];if((d|0)!=(z|0)){continue}break}}z=a+(h<<2)|0;J[i+72>>2]=z;J[i+68>>2]=c;J[i+64>>2]=f;if(d){xj(d)}}if((c|0)==(f|0)){break G}j=c-4|0;n=J[j>>2];if((n|0)==(m|0)){break G}d=(n|0)==-1;q=J[g+8>>2];if(!d&J[J[q+12>>2]+(n<<2)>>2]!=-1){break G}r=J[q+12>>2];if((m|0)!=-1&J[r+(m<<2)>>2]!=-1){break G}p=P(e,3);e=p+2|0;J[r+(n<<2)>>2]=e;o=e<<2;J[o+r>>2]=n;a=p+1|0;J[r+(m<<2)>>2]=a;b=a<<2;J[b+r>>2]=m;if(d){break L}if((n>>>0)%3|0){k=n-1|0;break J}k=n+2|0;if((k|0)!=-1){break J}d=J[q>>2];a=-1;break I;case 6:break P;default:break s}}a=J[g+8>>2];df(a+24|0,11472);h=J[g+8>>2];p=P(e,3);q=J[a+28>>2];r=J[a+24>>2];o=q-r|0;n=o>>2;k=n-1|0;J[J[h>>2]+(p<<2)>>2]=k;df(h+24|0,11472);j=p+1|0;J[J[h>>2]+(j<<2)>>2]=(J[h+28>>2]-J[h+24>>2]>>2)-1;a=J[g+8>>2];df(a+24|0,11472);h=p+2|0;J[J[a>>2]+(h<<2)>>2]=(J[a+28>>2]-J[a+24>>2]>>2)-1;a=J[g+8>>2];m=J[a+24>>2];if(J[a+28>>2]-m>>2>(N|0)){break s}Z:{_:{if((q|0)!=(r|0)){J[m+(k<<2)>>2]=p;b=0;if((o|0)==-4){break _}}J[m+(n<<2)>>2]=j;b=n+1|0;if((b|0)==-1){break Z}}J[m+(b<<2)>>2]=h}if((c|0)!=(z|0)){J[c>>2]=p;c=c+4|0;J[i+68>>2]=c;break N}h=c-d|0;b=h>>2;f=b+1|0;if(f>>>0>=1073741824){break K}a=h>>>1|0;h=h>>>0>=2147483644?1073741823:a>>>0>f>>>0?a:f;if(h){if(h>>>0>=1073741824){break p}a=Cj(h<<2)}else{a=0}f=a+(b<<2)|0;J[f>>2]=p;z=a+(h<<2)|0;a=f+4|0;if((c|0)!=(d|0)){while(1){f=f-4|0;c=c-4|0;J[f>>2]=J[c>>2];if((c|0)!=(d|0)){continue}break}}J[i+72>>2]=z;J[i+68>>2]=a;J[i+64>>2]=f;if(d){xj(d)}c=a}d=f}lf(Q,J[c-4>>2]);h=J[g+40>>2];if((h|0)==J[g+36>>2]){break u}b=h-12|0;a=J[b+4>>2];k=(e^-1)+t|0;if(a>>>0>k>>>0){break G}if((a|0)!=(k|0)){break u}e=K[h-4|0];a=J[b>>2];J[g+40>>2]=b;if((a|0)<0){break G}h=c-4|0;j=J[h>>2];J[i+20>>2]=(a^-1)+t;a=i+20|0;J[i+88>>2]=a;ef(i,i+40|0,a,i+88|0);b=J[i>>2];$:{if(e&1){a=-1;if((j|0)==-1){break $}a=j+1|0;a=(a>>>0)%3|0?a:j-2|0;break $}a=-1;if((j|0)==-1){break $}a=j-1|0;if((j>>>0)%3|0){break $}a=j+2|0}J[b+12>>2]=a;b=J[g+40>>2];if((b|0)==J[g+36>>2]){break u}while(1){j=b-12|0;a=J[j+4>>2];if(a>>>0>k>>>0){break G}if((a|0)!=(k|0)){break u}e=K[b-4|0];a=J[j>>2];J[g+40>>2]=j;if((a|0)<0){break G}j=J[h>>2];J[i+20>>2]=(a^-1)+t;a=i+20|0;J[i+88>>2]=a;ef(i,i+40|0,a,i+88|0);b=J[i>>2];aa:{if(e&1){a=-1;if((j|0)==-1){break aa}a=j+1|0;a=(a>>>0)%3|0?a:j-2|0;break aa}a=-1;if((j|0)==-1){break aa}a=j-1|0;if((j>>>0)%3|0){break aa}a=j+2|0}J[b+12>>2]=a;b=J[g+40>>2];if((b|0)!=J[g+36>>2]){continue}break}break u}Ia();C()}k=-1;d=J[q>>2];J[d+(p<<2)>>2]=-1;h=-1;break H}Ia();C()}d=J[q>>2];a=J[d+(k<<2)>>2]}k=a;J[(p<<2)+d>>2]=a;a=n+1|0;a=(a>>>0)%3|0?a:n-2|0;h=-1;if((a|0)==-1){break H}h=J[(a<<2)+d>>2]}J[b+d>>2]=h;ba:{if((m|0)==-1){J[d+o>>2]=-1;n=-1;a=-1;break ba}ca:{da:{ea:{if((m>>>0)%3|0){b=m-1|0;break ea}b=m+2|0;if((b|0)==-1){break da}}a=J[(b<<2)+d>>2];J[d+o>>2]=a;if((a|0)==-1){break ca}J[J[q+24>>2]+(a<<2)>>2]=e;break ca}J[d+o>>2]=-1}n=-1;b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;a=-1;if((b|0)==-1){break ba}n=J[(b<<2)+d>>2];a=b}h=J[g+388>>2];e=k<<2;b=h+e|0;o=b;m=J[b>>2];b=n<<2;J[o>>2]=m+J[b+h>>2];h=b;b=J[q+24>>2];o=h+b|0;if((k|0)!=-1){J[b+e>>2]=J[o>>2]}b=a;while(1){if((b|0)==-1){break F}J[(b<<2)+d>>2]=k;h=b+1|0;b=(h>>>0)%3|0?h:b-2|0;e=-1;fa:{if((b|0)==-1){break fa}h=J[r+(b<<2)>>2];e=-1;if((h|0)==-1){break fa}b=h+1|0;e=(b>>>0)%3|0?b:h-2|0}b=e;if((a|0)!=(b|0)){continue}break}}b=-1;if(!(x&1)){break t}break s}J[o>>2]=-1;ga:{if(B){break ga}if((D|0)!=(F|0)){J[F>>2]=n;F=F+4|0;J[i+28>>2]=F;break ga}d=D-s|0;b=d>>2;e=b+1|0;if(e>>>0>=1073741824){break q}a=d>>>1|0;e=d>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(e){if(e>>>0>=1073741824){break p}a=Cj(e<<2)}else{a=0}b=a+(b<<2)|0;J[b>>2]=n;F=b+4|0;if((s|0)!=(D|0)){while(1){b=b-4|0;D=D-4|0;J[b>>2]=J[D>>2];if((s|0)!=(D|0)){continue}break}}D=a+(e<<2)|0;J[i+32>>2]=D;J[i+28>>2]=F;J[i+24>>2]=b;if(s){xj(s)}s=b}J[j>>2]=p}lf(Q,p);d=f}x=(l|0)<(t|0);if((l|0)!=(t|0)){continue}break}l=t}b=-1;x=J[g+8>>2];if(J[x+28>>2]-J[x+24>>2]>>2>(N|0)){break s}if((c|0)!=(f|0)){r=g+72|0;j=g+60|0;t=g+312|0;while(1){c=c-4|0;y=J[c>>2];J[i+68>>2]=c;ha:{ia:{ja:{if(L[g+270>>1]<=513){if(!K[g+364|0]){break ia}b=J[g+360>>2];a=J[g+352>>2]+(b>>>3|0)|0;if(a>>>0>=M[g+356>>2]){break ja}a=K[a|0];J[g+360>>2]=b+1;if(!(a>>>(b&7)&1)){break ja}break ia}if(je(t)){break ia}}ka:{la:{b=J[g+64>>2];e=J[g+68>>2];if((b|0)==e<<5){if((b+1|0)<0){break la}if(b>>>0<=1073741822){e=e<<6;b=(b&-32)+32|0;a=b>>>0>>0?e:b}else{a=2147483647}Jc(j,a);b=J[g+64>>2]}J[g+64>>2]=b+1;e=J[g+60>>2]+(b>>>3&536870908)|0;a=J[e>>2];R=e,S=rk(b)&a,J[R>>2]=S;b=J[g+76>>2];if((b|0)!=J[g+80>>2]){J[b>>2]=y;J[g+76>>2]=b+4;break ha}s=J[r>>2];h=b-s|0;e=h>>2;d=e+1|0;if(d>>>0>=1073741824){break ka}a=h>>>1|0;h=h>>>0>=2147483644?1073741823:a>>>0>d>>>0?a:d;if(h){if(h>>>0>=1073741824){break p}a=Cj(h<<2)}else{a=0}d=a+(e<<2)|0;J[d>>2]=y;e=d+4|0;if((b|0)!=(s|0)){while(1){d=d-4|0;b=b-4|0;J[d>>2]=J[b>>2];if((b|0)!=(s|0)){continue}break}}J[g+80>>2]=a+(h<<2);J[g+76>>2]=e;J[g+72>>2]=d;if(!s){break ha}xj(s);break ha}Ia();C()}Ia();C()}q=J[g+8>>2];B=J[q>>2];if(((J[q+4>>2]-B>>2>>>0)/3|0)<=(l|0)){b=-1;break s}f=-1;b=-1;d=-1;s=J[q+24>>2];e=-1;ma:{if((y|0)==-1){break ma}a=y+1|0;a=(a>>>0)%3|0?a:y-2|0;e=-1;if((a|0)==-1){break ma}e=J[B+(a<<2)>>2]}o=J[s+(e<<2)>>2];na:{if((o|0)==-1){k=1;a=-1;break na}k=1;h=o+1|0;h=(h>>>0)%3|0?h:o-2|0;a=-1;if((h|0)==-1){break na}k=0;a=h+1|0;f=h;a=(a>>>0)%3|0?a:f-2|0;if((a|0)!=-1){a=J[B+(a<<2)>>2]}else{a=-1}}h=J[(a<<2)+s>>2];if((h|0)!=-1){d=h+1|0;d=(d>>>0)%3|0?d:h-2|0}if((f|0)==(y|0)|(d|0)==(y|0)|((y|0)!=-1&J[J[q+12>>2]+(y<<2)>>2]!=-1|(d|0)==(f|0))){break s}if(!k&J[J[q+12>>2]+(f<<2)>>2]!=-1){break s}k=-1;s=J[q+12>>2];h=-1;oa:{if((d|0)==-1){break oa}if(J[s+(d<<2)>>2]!=-1){break s}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;h=-1;if((b|0)==-1){break oa}h=J[B+(b<<2)>>2]}b=P(l,3);J[i>>2]=b;J[s+(b<<2)>>2]=y;J[s+(y<<2)>>2]=b;b=J[i>>2]+1|0;J[s+(b<<2)>>2]=f;J[s+(f<<2)>>2]=b;b=J[i>>2]+2|0;J[s+(b<<2)>>2]=d;J[s+(d<<2)>>2]=b;b=J[i>>2];J[B+(b<<2)>>2]=a;o=b+1|0;s=B+(o<<2)|0;J[s>>2]=h;h=b+2|0;d=B+(h<<2)|0;J[d>>2]=e;e=J[g+120>>2];f=o?a:-1;b=e+(f>>>3&536870908)|0;a=J[b>>2];R=b,S=rk(f)&a,J[R>>2]=S;k=(o|0)!=-1?J[s>>2]:k;b=e+(k>>>3&536870908)|0;a=J[b>>2];R=b,S=rk(k)&a,J[R>>2]=S;b=-1;b=(h|0)!=-1?J[d>>2]:b;f=e+(b>>>3&536870908)|0;a=J[f>>2];R=f,S=rk(b)&a,J[R>>2]=S;H[i+88|0]=1;ff(j,i+88|0);df(r,i);l=l+1|0;f=J[i+64>>2]}if((c|0)!=(f|0)){continue}break}x=J[g+8>>2]}b=-1;if(((J[x+4>>2]-J[x>>2]>>2>>>0)/3|0)!=(l|0)){break s}b=J[x+28>>2]-J[x+24>>2]>>2;l=J[i+24>>2];e=J[i+28>>2];if((l|0)==(e|0)){break r}while(1){j=J[l>>2];a=J[x+24>>2];c=b-1|0;d=a+(c<<2)|0;if(J[d>>2]==-1){while(1){c=b-2|0;b=b-1|0;d=a+(c<<2)|0;if(J[d>>2]==-1){continue}break}}if(c>>>0>=j>>>0){J[i>>2]=x;d=J[d>>2];H[i+12|0]=1;J[i+8>>2]=d;J[i+4>>2]=d;if((d|0)!=-1){while(1){a=J[J[g+8>>2]>>2]+(d<<2)|0;if(J[a>>2]!=(c|0)){b=-1;break s}J[a>>2]=j;wd(i);d=J[i+8>>2];if((d|0)!=-1){continue}break}x=J[g+8>>2]}a=J[x+24>>2];f=a+(c<<2)|0;if((j|0)!=-1){J[a+(j<<2)>>2]=J[f>>2]}J[f>>2]=-1;h=1<>2];f=a+(j>>>3&536870908)|0;d=a+(c>>>3&536870908)|0;a=1<>2]&a){c=h|J[f>>2]}else{c=J[f>>2]&(h^-1)}J[f>>2]=c;J[d>>2]=J[d>>2]&(a^-1);b=b-1|0}l=l+4|0;if((e|0)!=(l|0)){continue}break}}l=J[i+24>>2]}if(l){xj(l)}a=J[i+48>>2];if(a){while(1){c=J[a>>2];xj(a);a=c;if(a){continue}break}}a=J[i+40>>2];J[i+40>>2]=0;if(a){xj(a)}a=J[i+64>>2];if(a){J[i+68>>2]=a;xj(a)}fa=i+96|0;break o}Ia();C()}Va();C()}f=b;if((b|0)==-1){break n}b=J[w+16>>2];c=b+J[w>>2]|0;a=J[w+8>>2]-b|0;b=J[J[g+4>>2]+32>>2];I[b+38>>1]=L[b+38>>1];J[b>>2]=c;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=a;J[b+12>>2]=0;b=J[g+4>>2];a=L[b+36>>1];c=a<<8|a>>>8;if((c&65535)>>>0<=513){b=J[b+32>>2];e=b;a=J[b+16>>2];b=O+J[b+20>>2]|0;a=a+E|0;b=a>>>0>>0?b+1|0:b;J[e+16>>2]=a;J[e+20>>2]=b}pa:{if(J[g+216>>2]==J[g+220>>2]){break pa}a=J[g+8>>2];b=J[a>>2];a=J[a+4>>2];qa:{if((c&65535)>>>0>=513){if((a|0)==(b|0)){break pa}c=0;break qa}if((a|0)==(b|0)){break pa}c=0;while(1){if(Ye(g,c)){c=c+3|0;a=J[g+8>>2];if(c>>>0>2]-J[a>>2]>>2>>>0){continue}break pa}break}break n}while(1){if(Ze(g,c)){c=c+3|0;a=J[g+8>>2];if(c>>>0>2]-J[a>>2]>>2>>>0){continue}break pa}break}break n}_e(A);c=J[g+216>>2];if((c|0)!=J[g+220>>2]){t=0;while(1){e=P(t,144);Ci((e+c|0)+4|0,J[g+8>>2]);a=J[G>>2];b=a+e|0;c=J[b+132>>2];b=J[b+136>>2];if((c|0)!=(b|0)){while(1){Ei((e+J[G>>2]|0)+4|0,J[c>>2]);c=c+4|0;if((b|0)!=(c|0)){continue}break}a=J[G>>2]}if(!Di((a+e|0)+4|0)){break n}t=t+1|0;c=J[g+216>>2];if(t>>>0<(J[g+220>>2]-c|0)/144>>>0){continue}break}}a=J[g+8>>2];$e(g+184|0,J[a+28>>2]-J[a+24>>2]>>2);v=J[g+216>>2];if((v|0)!=J[g+220>>2]){c=0;while(1){a=P(c,144)+v|0;b=J[a+60>>2]-J[a+56>>2]>>2;e=a+104|0;a=J[g+8>>2];a=J[a+28>>2]-J[a+24>>2]>>2;$e(e,(a|0)<(b|0)?b:a);c=c+1|0;v=J[g+216>>2];if(c>>>0<(J[g+220>>2]-v|0)/144>>>0){continue}break}}v=af(g,f)}break b}v=0}fa=u- -64|0;return v|0}function Qe(a){a=a|0;var 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,q=0,r=0,s=0,t=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,N=0,O=0,Q=0;t=fa+-64|0;fa=t;J[a+132>>2]=0;if(J[a+148>>2]){d=J[a+144>>2];if(d){while(1){b=J[d>>2];xj(d);d=b;if(b){continue}break}}d=0;J[a+144>>2]=0;k=J[a+140>>2];a:{if(!k){break a}if(k>>>0>=4){b=k&-4;while(1){c=d<<2;J[c+J[a+136>>2]>>2]=0;J[J[a+136>>2]+(c|4)>>2]=0;J[J[a+136>>2]+(c|8)>>2]=0;J[J[a+136>>2]+(c|12)>>2]=0;d=d+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}}b=k&3;if(!b){break a}while(1){J[J[a+136>>2]+(d<<2)>>2]=0;d=d+1|0;w=w+1|0;if((b|0)!=(w|0)){continue}break}}J[a+148>>2]=0}b:{c:{d=J[a+4>>2];w=K[d+36|0];b=w<<8|K[d+37|0];if(b>>>0<=513){f=J[d+32>>2];d:{if(b>>>0<=511){b=J[f+20>>2];e=J[f+16>>2];c=e+4|0;b=c>>>0<4?b+1|0:b;k=J[f+12>>2];if(M[f+8>>2]>>0&(k|0)<=(b|0)|(b|0)>(k|0)){break c}e=e+J[f>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+16>>2]=c;J[f+20>>2]=b;break d}if(!Re(1,t,f)){break c}d=J[a+4>>2];w=K[d+36|0];e=J[t>>2]}J[a+132>>2]=e}f=J[d+32>>2];e:{f:{g:{if((w&255)>>>0<=1){w=0;b=J[f+20>>2];c=J[f+16>>2];e=c+4|0;b=e>>>0<4?b+1|0:b;k=J[f+12>>2];if(M[f+8>>2]>>0&(k|0)<=(b|0)|(b|0)>(k|0)){break b}c=c+J[f>>2]|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[t+60>>2]=c;J[f+16>>2]=e;J[f+20>>2]=b;J[a+156>>2]=c;l=a+156|0;break g}w=0;if(!Re(1,t+60|0,f)){break b}d=J[a+4>>2];b=K[d+36|0];J[a+156>>2]=J[t+60>>2];l=a+156|0;if(b>>>0>1){break f}}f=J[d+32>>2];c=J[f+8>>2];k=J[f+12>>2];d=J[f+20>>2];e=J[f+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;if(b>>>0>c>>>0&(d|0)>=(k|0)|(d|0)>(k|0)){break b}e=e+J[f>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[t+56>>2]=e;J[f+16>>2]=b;J[f+20>>2]=d;break e}if(!Re(1,t+56|0,J[d+32>>2])){break b}e=J[t+56>>2]}if(e>>>0>1431655765|M[l>>2]>P(e,3)>>>0){break b}j=J[a+4>>2];x=J[j+32>>2];d=J[x+8>>2];f=J[x+12>>2];b=J[x+20>>2];m=J[x+16>>2];if((f|0)<=(b|0)&m>>>0>=d>>>0|(b|0)>(f|0)){break b}l=J[x>>2];g=K[l+m|0];c=x;k=m+1|0;B=k?b:b+1|0;J[c+16>>2]=k;J[c+20>>2]=B;h:{if(K[j+36|0]<=1){c=d;d=m+5|0;b=d>>>0<5?b+1|0:b;if(c>>>0>>0&(b|0)>=(f|0)|(b|0)>(f|0)){break b}c=k+l|0;l=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[t+52>>2]=l;J[x+16>>2]=d;J[x+20>>2]=b;break h}if(!Re(1,t+52|0,x)){break b}l=J[t+52>>2]}if(e>>>0>>0|((l>>>0)/3|0)+l>>>0>>0){break b}d=J[a+4>>2];f=J[d+32>>2];i:{if(K[d+36|0]<=1){d=J[f+20>>2];b=J[f+16>>2];c=b+4|0;d=c>>>0<4?d+1|0:d;k=J[f+12>>2];if(M[f+8>>2]>>0&(k|0)<=(d|0)|(d|0)>(k|0)){break b}b=b+J[f>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[t+48>>2]=b;J[f+16>>2]=c;J[f+20>>2]=d;break i}if(!Re(1,t+48|0,f)){break b}b=J[t+48>>2]}if(b>>>0>l>>>0){break b}J[a+28>>2]=J[a+24>>2];d=ti(Cj(88));c=J[a+8>>2];J[a+8>>2]=d;if(c){Se(c);if(!J[a+8>>2]){break b}}J[a+164>>2]=J[a+160>>2];Te(a+160|0,e);J[a+176>>2]=J[a+172>>2];Te(a+172|0,e);J[a- -64>>2]=0;J[a+92>>2]=-1;J[a+84>>2]=-1;J[a+88>>2]=-1;J[a+40>>2]=J[a+36>>2];J[a+52>>2]=J[a+48>>2];J[a+76>>2]=J[a+72>>2];E=a+216|0;Ue(E);Ve(E,g);if(!vi(J[a+8>>2],e,J[a+156>>2]+b|0)){break b}d=J[a+156>>2];H[t|0]=1;Oe(a+120|0,b+d|0,t);b=J[a+4>>2];d=L[b+36>>1];d=(d<<8|d>>>8)&65535;j:{if(d>>>0<=513){k=J[b+32>>2];k:{if(d>>>0<=511){b=J[k+20>>2];e=J[k+16>>2];d=e+4|0;b=d>>>0<4?b+1|0:b;c=J[k+12>>2];if(M[k+8>>2]>>0&(c|0)<=(b|0)|(b|0)>(c|0)){break b}e=e+J[k>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[k+16>>2]=d;J[k+20>>2]=b;break k}if(!Re(1,t+44|0,k)){break b}e=J[t+44>>2]}if(!e){break b}k=J[J[a+4>>2]+32>>2];c=J[k+8>>2];d=J[k+16>>2];b=c-d|0;d=J[k+12>>2]-(J[k+20>>2]+(c>>>0>>0)|0)|0;if(b>>>0>>0&(d|0)<=0|(d|0)<0){break b}f=qg(t);k=J[J[a+4>>2]+32>>2];c=J[k+16>>2];b=(c+J[k>>2]|0)+e|0;d=J[k+8>>2]-c|0;I[f+38>>1]=L[k+38>>1];J[f>>2]=b;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=d-e;J[f+12>>2]=0;d=We(a,f);if((d|0)==-1){break b}x=d;G=d>>31;break j}x=-1;G=-1;if((We(a,J[b+32>>2])|0)==-1){break b}}N=a+232|0;e=N;J[e+144>>2]=a;d=J[(ka[J[J[a>>2]+32>>2]](a)|0)+32>>2];b=J[d>>2]+J[d+16>>2]|0;d=J[(ka[J[J[a>>2]+32>>2]](a)|0)+32>>2];d=J[d+8>>2]-J[d+16>>2]|0;O=e,Q=L[J[(ka[J[J[a>>2]+32>>2]](a)|0)+32>>2]+38>>1],I[O+38>>1]=Q;J[e>>2]=b;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=d;J[e+12>>2]=0;J[a+372>>2]=g;B=qg(t);l:{if(!Xe(e,B)){break l}b=0;d=0;e=0;k=0;i=fa-96|0;fa=i;J[i+72>>2]=0;J[i+64>>2]=0;J[i+68>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+56>>2]=1065353216;J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;h=a;F=J[a+124>>2];m:{n:{o:{p:{q:{r:{if((l|0)<=0){break r}z=J[h+216>>2]!=J[h+220>>2];s=1;while(1){f=k;k=f+1|0;s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{if(!K[h+308|0]){break G}u=J[h+296>>2];g=J[h+304>>2];a=u+(g>>>3|0)|0;p=J[h+300>>2];if(a>>>0>=p>>>0){break G}c=K[a|0];a=g+1|0;J[h+304>>2]=a;m=c>>>(g&7)&1;if(!m){break G}n=0;j=a>>>3|0;c=u+j|0;H:{if(c>>>0>=p>>>0){g=a;a=0;break H}c=K[c|0];g=g+2|0;J[h+304>>2]=g;j=g>>>3|0;a=c>>>(a&7)&1}c=j+u|0;if(c>>>0

>>0){c=K[c|0];J[h+304>>2]=g+1;n=c>>>(g&7)<<1&2}j=-1;a=m|(a|n)<<1;switch(a-1|0){case 6:break D;case 0:break E;case 2:case 4:break F;default:break q}}if((d|0)==(e|0)){j=-1;break q}g=-1;q=J[h+8>>2];u=J[q+24>>2];p=d-4|0;s=J[p>>2];c=-1;I:{if((s|0)==-1){break I}b=s+1|0;b=(b>>>0)%3|0?b:s-2|0;c=-1;if((b|0)==-1){break I}c=J[J[q>>2]+(b<<2)>>2]}b=J[u+(c<<2)>>2];if((b|0)!=-1){a=b+1|0;g=(a>>>0)%3|0?a:b-2|0}if((g|0)==(s|0)){j=-1;break q}if((s|0)!=-1){j=-1;if(J[J[q+12>>2]+(s<<2)>>2]!=-1){break q}}b=J[q+12>>2];if((g|0)!=-1){j=-1;if(J[b+(g<<2)>>2]!=-1){break q}}n=P(f,3);a=n+1|0;J[b+(s<<2)>>2]=a;m=a<<2;J[m+b>>2]=s;r=n+2|0;J[b+(g<<2)>>2]=r;f=r<<2;J[f+b>>2]=g;o=-1;a=-1;J:{if((s|0)==-1){break J}K:{if((s>>>0)%3|0){b=s-1|0;break K}b=s+2|0;a=-1;if((b|0)==-1){break J}}a=J[J[q>>2]+(b<<2)>>2]}L:{if((g|0)==-1){break L}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1){break L}o=J[J[q>>2]+(b<<2)>>2]}j=-1;if((a|0)==(c|0)|(c|0)==(o|0)){break q}b=J[q>>2];J[b+(n<<2)>>2]=c;J[b+m>>2]=o;J[b+f>>2]=a;if((a|0)!=-1){J[u+(a<<2)>>2]=r}b=J[h+120>>2]+(c>>>3&536870908)|0;a=J[b>>2];O=b,Q=rk(c)&a,J[O>>2]=Q;J[p>>2]=n;b=e;break s}if((d|0)==(e|0)){break q}m=d-4|0;n=J[m>>2];r=J[h+8>>2];b=J[r+12>>2];if((n|0)!=-1&J[b+(n<<2)>>2]!=-1){break q}o=P(f,3);p=(a|0)==5;g=o+(p?2:1)|0;a=g<<2;J[a+b>>2]=n;J[b+(n<<2)>>2]=g;df(r+24|0,11472);b=J[h+8>>2];u=J[b+24>>2];if(J[b+28>>2]-u>>2>(F|0)){break q}j=J[b>>2];q=j+a|0;c=J[r+28>>2];b=J[r+24>>2];a=(c-b>>2)-1|0;J[q>>2]=a;if((b|0)!=(c|0)){J[u+(a<<2)>>2]=g}c=p?o:o+2|0;g=j+(o+p<<2)|0;M:{if((n|0)==-1){J[j+(c<<2)>>2]=-1;b=-1;break M}N:{O:{P:{if((n>>>0)%3|0){a=n-1|0;break P}a=n+2|0;if((a|0)==-1){break O}}a=J[j+(a<<2)>>2];J[j+(c<<2)>>2]=a;if((a|0)==-1){break N}J[u+(a<<2)>>2]=c;break N}J[j+(c<<2)>>2]=-1}a=n+1|0;a=(a>>>0)%3|0?a:n-2|0;b=-1;if((a|0)==-1){break M}b=J[j+(a<<2)>>2]}J[g>>2]=b;J[m>>2]=o;b=e;break y}if((b|0)==(d|0)){break q}a=d-4|0;q=J[a>>2];J[i+68>>2]=a;p=J[i+44>>2];Q:{if(!p){d=a;break Q}g=J[i+40>>2];j=qk(p)>>>0>1;c=f&p+2147483647;R:{if(!j){break R}c=f;if(c>>>0

>>0){break R}c=(f>>>0)%(p>>>0)|0}m=c;c=J[g+(m<<2)>>2];if(!c){d=a;break Q}g=J[c>>2];if(!g){d=a;break Q}S:{if(!j){j=p-1|0;while(1){c=J[g+4>>2];T:{if((c|0)!=(f|0)){if((m|0)==(c&j)){break T}d=a;break Q}if((f|0)==J[g+8>>2]){break S}}g=J[g>>2];if(g){continue}break}d=a;break Q}while(1){c=J[g+4>>2];U:{if((c|0)!=(f|0)){if(c>>>0>=p>>>0){c=(c>>>0)%(p>>>0)|0}if((c|0)==(m|0)){break U}d=a;break Q}if((f|0)==J[g+8>>2]){break S}}g=J[g>>2];if(g){continue}break}d=a;break Q}if((a|0)!=(y|0)){J[a>>2]=J[g+12>>2];J[i+68>>2]=d;break Q}c=y-b|0;d=c>>2;e=d+1|0;if(e>>>0>=1073741824){break C}a=c>>>1|0;c=c>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(c){if(c>>>0>=1073741824){break n}a=Cj(c<<2)}else{a=0}e=a+(d<<2)|0;J[e>>2]=J[g+12>>2];d=e+4|0;if((b|0)!=(y|0)){while(1){e=e-4|0;y=y-4|0;J[e>>2]=J[y>>2];if((b|0)!=(y|0)){continue}break}}y=a+(c<<2)|0;J[i+72>>2]=y;J[i+68>>2]=d;J[i+64>>2]=e;if(b){xj(b)}}if((d|0)==(e|0)){break u}g=d-4|0;n=J[g>>2];if((n|0)==(q|0)){break u}b=(n|0)==-1;o=J[h+8>>2];if(!b&J[J[o+12>>2]+(n<<2)>>2]!=-1){break u}r=J[o+12>>2];if((q|0)!=-1&J[r+(q<<2)>>2]!=-1){break u}u=P(f,3);f=u+2|0;J[r+(n<<2)>>2]=f;p=f<<2;J[p+r>>2]=n;a=u+1|0;J[r+(q<<2)>>2]=a;c=a<<2;J[c+r>>2]=q;if(b){break B}if((n>>>0)%3|0){m=n-1|0;break x}m=n+2|0;if((m|0)!=-1){break x}a=J[o>>2];b=-1;break w}a=J[h+8>>2];df(a+24|0,11472);c=J[h+8>>2];q=P(f,3);r=J[a+28>>2];u=J[a+24>>2];p=r-u|0;o=p>>2;g=o-1|0;J[J[c>>2]+(q<<2)>>2]=g;df(c+24|0,11472);m=q+1|0;J[J[c>>2]+(m<<2)>>2]=(J[c+28>>2]-J[c+24>>2]>>2)-1;a=J[h+8>>2];df(a+24|0,11472);c=q+2|0;J[J[a>>2]+(c<<2)>>2]=(J[a+28>>2]-J[a+24>>2]>>2)-1;a=J[h+8>>2];n=J[a+24>>2];if(J[a+28>>2]-n>>2>(F|0)){break q}V:{W:{if((r|0)!=(u|0)){J[n+(g<<2)>>2]=q;j=0;if((p|0)==-4){break W}}J[n+(o<<2)>>2]=m;j=o+1|0;if((j|0)==-1){break V}}J[n+(j<<2)>>2]=c}if((d|0)!=(y|0)){J[d>>2]=q;d=d+4|0;J[i+68>>2]=d;break y}m=d-b|0;e=m>>2;c=e+1|0;if(c>>>0>=1073741824){break A}a=m>>>1|0;c=m>>>0>=2147483644?1073741823:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=1073741824){break n}a=Cj(c<<2)}else{a=0}e=a+(e<<2)|0;J[e>>2]=q;y=a+(c<<2)|0;a=e+4|0;if((b|0)!=(d|0)){while(1){e=e-4|0;d=d-4|0;J[e>>2]=J[d>>2];if((b|0)!=(d|0)){continue}break}}J[i+72>>2]=y;J[i+68>>2]=a;J[i+64>>2]=e;if(!b){break z}xj(b);break z}Ia();C()}m=-1;a=J[o>>2];J[a+(u<<2)>>2]=-1;j=-1;break v}Ia();C()}d=a;b=e}m=J[h+40>>2];if((m|0)==J[h+36>>2]){break s}c=m-12|0;a=J[c+4>>2];j=(f^-1)+l|0;if(a>>>0>j>>>0){break u}if((a|0)!=(j|0)){break s}f=K[m-4|0];a=J[c>>2];J[h+40>>2]=c;if((a|0)<0){break u}m=d-4|0;g=J[m>>2];J[i+20>>2]=(a^-1)+l;a=i+20|0;J[i+88>>2]=a;ef(i,i+40|0,a,i+88|0);c=J[i>>2];X:{if(f&1){a=-1;if((g|0)==-1){break X}a=g+1|0;a=(a>>>0)%3|0?a:g-2|0;break X}a=-1;if((g|0)==-1){break X}a=g-1|0;if((g>>>0)%3|0){break X}a=g+2|0}J[c+12>>2]=a;g=J[h+40>>2];if((g|0)==J[h+36>>2]){break s}while(1){c=g-12|0;a=J[c+4>>2];if(a>>>0>j>>>0){break u}if((a|0)!=(j|0)){break s}f=K[g-4|0];a=J[c>>2];J[h+40>>2]=c;if((a|0)<0){break u}g=J[m>>2];J[i+20>>2]=(a^-1)+l;a=i+20|0;J[i+88>>2]=a;ef(i,i+40|0,a,i+88|0);c=J[i>>2];Y:{if(f&1){a=-1;if((g|0)==-1){break Y}a=g+1|0;a=(a>>>0)%3|0?a:g-2|0;break Y}a=-1;if((g|0)==-1){break Y}a=g-1|0;if((g>>>0)%3|0){break Y}a=g+2|0}J[c+12>>2]=a;g=J[h+40>>2];if((g|0)!=J[h+36>>2]){continue}break}break s}a=J[o>>2];b=J[a+(m<<2)>>2]}m=b;J[(u<<2)+a>>2]=b;b=n+1|0;b=(b>>>0)%3|0?b:n-2|0;j=-1;if((b|0)==-1){break v}j=J[(b<<2)+a>>2]}J[a+c>>2]=j;Z:{if((q|0)==-1){J[a+p>>2]=-1;n=-1;c=-1;break Z}_:{$:{aa:{if((q>>>0)%3|0){b=q-1|0;break aa}b=q+2|0;if((b|0)==-1){break $}}b=J[(b<<2)+a>>2];J[a+p>>2]=b;if((b|0)==-1){break _}J[J[o+24>>2]+(b<<2)>>2]=f;break _}J[a+p>>2]=-1}n=-1;b=q+1|0;b=(b>>>0)%3|0?b:q-2|0;c=-1;if((b|0)==-1){break Z}n=J[(b<<2)+a>>2];c=b}b=J[o+24>>2];p=b+(n<<2)|0;if((m|0)!=-1){J[b+(m<<2)>>2]=J[p>>2]}b=c;while(1){if((b|0)==-1){break t}J[(b<<2)+a>>2]=m;j=b+1|0;b=(j>>>0)%3|0?j:b-2|0;f=-1;ba:{if((b|0)==-1){break ba}j=J[r+(b<<2)>>2];f=-1;if((j|0)==-1){break ba}b=j+1|0;f=(b>>>0)%3|0?b:j-2|0}b=f;if((c|0)!=(b|0)){continue}break}}j=-1;if(!(s&1)){break r}break q}J[p>>2]=-1;ca:{if(z){break ca}if((A|0)!=(D|0)){J[D>>2]=n;D=D+4|0;J[i+28>>2]=D;break ca}f=A-v|0;b=f>>2;c=b+1|0;if(c>>>0>=1073741824){break o}a=f>>>1|0;c=f>>>0>=2147483644?1073741823:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=1073741824){break n}a=Cj(c<<2)}else{a=0}b=a+(b<<2)|0;J[b>>2]=n;D=b+4|0;if((v|0)!=(A|0)){while(1){b=b-4|0;A=A-4|0;J[b>>2]=J[A>>2];if((v|0)!=(A|0)){continue}break}}A=a+(c<<2)|0;J[i+32>>2]=A;J[i+28>>2]=D;J[i+24>>2]=b;if(v){xj(v)}v=b}J[g>>2]=u;b=e}s=(k|0)<(l|0);if((k|0)!=(l|0)){continue}break}k=l}j=-1;a=J[h+8>>2];if(J[a+28>>2]-J[a+24>>2]>>2>(F|0)){break q}if((d|0)!=(e|0)){u=h+72|0;m=h+60|0;p=h+312|0;while(1){d=d-4|0;o=J[d>>2];J[i+68>>2]=d;da:{ea:{fa:{if(L[h+270>>1]<=513){if(!K[h+364|0]){break ea}b=J[h+360>>2];a=J[h+352>>2]+(b>>>3|0)|0;if(a>>>0>=M[h+356>>2]){break fa}a=K[a|0];J[h+360>>2]=b+1;if(!(a>>>(b&7)&1)){break fa}break ea}if(je(p)){break ea}}ga:{ha:{b=J[h+64>>2];c=J[h+68>>2];if((b|0)==c<<5){if((b+1|0)<0){break ha}if(b>>>0<=1073741822){c=c<<6;b=(b&-32)+32|0;a=b>>>0>>0?c:b}else{a=2147483647}Jc(m,a);b=J[h+64>>2]}J[h+64>>2]=b+1;c=J[h+60>>2]+(b>>>3&536870908)|0;a=J[c>>2];O=c,Q=rk(b)&a,J[O>>2]=Q;b=J[h+76>>2];if((b|0)!=J[h+80>>2]){J[b>>2]=o;J[h+76>>2]=b+4;break da}l=J[u>>2];v=b-l|0;c=v>>2;f=c+1|0;if(f>>>0>=1073741824){break ga}a=v>>>1|0;f=v>>>0>=2147483644?1073741823:a>>>0>f>>>0?a:f;if(f){if(f>>>0>=1073741824){break n}a=Cj(f<<2)}else{a=0}g=a+(c<<2)|0;J[g>>2]=o;c=g+4|0;if((b|0)!=(l|0)){while(1){g=g-4|0;b=b-4|0;J[g>>2]=J[b>>2];if((b|0)!=(l|0)){continue}break}}J[h+80>>2]=a+(f<<2);J[h+76>>2]=c;J[h+72>>2]=g;if(!l){break da}xj(l);break da}Ia();C()}Ia();C()}r=J[h+8>>2];z=J[r>>2];if(((J[r+4>>2]-z>>2>>>0)/3|0)<=(k|0)){j=-1;break q}a=-1;j=-1;b=-1;v=J[r+24>>2];f=-1;ia:{if((o|0)==-1){break ia}e=o+1|0;e=(e>>>0)%3|0?e:o-2|0;f=-1;if((e|0)==-1){break ia}f=J[z+(e<<2)>>2]}l=J[v+(f<<2)>>2];ja:{if((l|0)==-1){g=1;e=-1;break ja}g=1;c=l+1|0;c=(c>>>0)%3|0?c:l-2|0;e=-1;if((c|0)==-1){break ja}g=0;a=c;e=a+1|0;e=(e>>>0)%3|0?e:a-2|0;if((e|0)!=-1){e=J[z+(e<<2)>>2]}else{e=-1}}c=J[(e<<2)+v>>2];if((c|0)!=-1){b=c+1|0;b=(b>>>0)%3|0?b:c-2|0}if((a|0)==(o|0)|(b|0)==(o|0)|((o|0)!=-1&J[J[r+12>>2]+(o<<2)>>2]!=-1|(a|0)==(b|0))){break q}if(!g&J[J[r+12>>2]+(a<<2)>>2]!=-1){break q}g=-1;l=J[r+12>>2];v=-1;ka:{if((b|0)==-1){break ka}if(J[l+(b<<2)>>2]!=-1){break q}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;v=-1;if((c|0)==-1){break ka}v=J[z+(c<<2)>>2]}c=P(k,3);J[i>>2]=c;J[l+(c<<2)>>2]=o;J[l+(o<<2)>>2]=c;c=J[i>>2]+1|0;J[l+(c<<2)>>2]=a;J[l+(a<<2)>>2]=c;a=J[i>>2]+2|0;J[l+(a<<2)>>2]=b;J[l+(b<<2)>>2]=a;a=J[i>>2];J[z+(a<<2)>>2]=e;j=a+1|0;l=z+(j<<2)|0;J[l>>2]=v;v=a+2|0;c=z+(v<<2)|0;J[c>>2]=f;f=J[h+120>>2];e=j?e:-1;b=f+(e>>>3&536870908)|0;a=J[b>>2];O=b,Q=rk(e)&a,J[O>>2]=Q;g=(j|0)!=-1?J[l>>2]:g;b=f+(g>>>3&536870908)|0;a=J[b>>2];O=b,Q=rk(g)&a,J[O>>2]=Q;b=-1;b=(v|0)!=-1?J[c>>2]:b;e=f+(b>>>3&536870908)|0;a=J[e>>2];O=e,Q=rk(b)&a,J[O>>2]=Q;H[i+88|0]=1;ff(m,i+88|0);df(u,i);k=k+1|0;e=J[i+64>>2]}if((d|0)!=(e|0)){continue}break}a=J[h+8>>2]}j=-1;if(((J[a+4>>2]-J[a>>2]>>2>>>0)/3|0)!=(k|0)){break q}j=J[a+28>>2]-J[a+24>>2]>>2;s=J[i+24>>2];c=J[i+28>>2];if((s|0)==(c|0)){break p}while(1){k=J[s>>2];d=J[a+24>>2];b=j-1|0;g=d+(b<<2)|0;if(J[g>>2]==-1){while(1){b=j-2|0;j=j-1|0;g=d+(b<<2)|0;if(J[g>>2]==-1){continue}break}}if(b>>>0>=k>>>0){J[i>>2]=a;g=J[g>>2];H[i+12|0]=1;J[i+8>>2]=g;J[i+4>>2]=g;if((g|0)!=-1){while(1){a=J[J[h+8>>2]>>2]+(g<<2)|0;if(J[a>>2]!=(b|0)){j=-1;break q}J[a>>2]=k;wd(i);g=J[i+8>>2];if((g|0)!=-1){continue}break}a=J[h+8>>2]}d=J[a+24>>2];e=d+(b<<2)|0;if((k|0)!=-1){J[d+(k<<2)>>2]=J[e>>2]}J[e>>2]=-1;f=1<>2];e=d+(k>>>3&536870908)|0;k=d+(b>>>3&536870908)|0;d=1<>2]&d){b=f|J[e>>2]}else{b=J[e>>2]&(f^-1)}J[e>>2]=b;J[k>>2]=J[k>>2]&(d^-1);j=j-1|0}s=s+4|0;if((c|0)!=(s|0)){continue}break}}s=J[i+24>>2]}if(s){xj(s)}a=J[i+48>>2];if(a){while(1){d=J[a>>2];xj(a);a=d;if(a){continue}break}}a=J[i+40>>2];J[i+40>>2]=0;if(a){xj(a)}a=J[i+64>>2];if(a){J[i+68>>2]=a;xj(a)}fa=i+96|0;a=j;break m}Ia();C()}Va();C()}e=a;if((a|0)==-1){break l}b=J[B+16>>2];d=b+J[B>>2]|0;a=J[B+8>>2]-b|0;b=J[J[h+4>>2]+32>>2];I[b+38>>1]=L[b+38>>1];J[b>>2]=d;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=a;J[b+12>>2]=0;b=J[h+4>>2];a=L[b+36>>1];d=a<<8|a>>>8;if((d&65535)>>>0<=513){b=J[b+32>>2];c=b;a=J[b+16>>2];b=G+J[b+20>>2]|0;a=a+x|0;b=a>>>0>>0?b+1|0:b;J[c+16>>2]=a;J[c+20>>2]=b}la:{if(J[h+216>>2]==J[h+220>>2]){break la}a=J[h+8>>2];b=J[a>>2];a=J[a+4>>2];ma:{if((d&65535)>>>0>=513){if((a|0)==(b|0)){break la}d=0;break ma}if((a|0)==(b|0)){break la}d=0;while(1){if(Ye(h,d)){d=d+3|0;a=J[h+8>>2];if(d>>>0>2]-J[a>>2]>>2>>>0){continue}break la}break}break l}while(1){if(Ze(h,d)){d=d+3|0;a=J[h+8>>2];if(d>>>0>2]-J[a>>2]>>2>>>0){continue}break la}break}break l}_e(N);d=J[h+216>>2];if((d|0)!=J[h+220>>2]){l=0;while(1){c=P(l,144);Ci((c+d|0)+4|0,J[h+8>>2]);a=J[E>>2];b=a+c|0;d=J[b+132>>2];b=J[b+136>>2];if((d|0)!=(b|0)){while(1){Ei((c+J[E>>2]|0)+4|0,J[d>>2]);d=d+4|0;if((b|0)!=(d|0)){continue}break}a=J[E>>2]}if(!Di((a+c|0)+4|0)){break l}l=l+1|0;d=J[h+216>>2];if(l>>>0<(J[h+220>>2]-d|0)/144>>>0){continue}break}}a=J[h+8>>2];$e(h+184|0,J[a+28>>2]-J[a+24>>2]>>2);w=J[h+216>>2];if((w|0)!=J[h+220>>2]){d=0;while(1){a=P(d,144)+w|0;b=J[a+60>>2]-J[a+56>>2]>>2;c=a+104|0;a=J[h+8>>2];a=J[a+28>>2]-J[a+24>>2]>>2;$e(c,(a|0)<(b|0)?b:a);d=d+1|0;w=J[h+216>>2];if(d>>>0<(J[h+220>>2]-w|0)/144>>>0){continue}break}}w=af(h,e)}break b}w=0}fa=t- -64|0;return w|0}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0;A=c;c=0;m=fa-96|0;fa=m;l=m+16|0;Xi(l,0,76);J[m+92>>2]=-1;J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;r=fa-16|0;fa=r;J[l+68>>2]=0;J[l+72>>2]=0;J[l>>2]=b;s=fa-16|0;fa=s;u=b;a=J[b+20>>2];a:{if((J[b+24>>2]-a|0)<=0){break a}a=J[a>>2];if((a|0)==-1){break a}c=J[J[u+8>>2]+(a<<2)>>2]}b:{c:{d:{if(!c){a=0;break d}a=J[u+100>>2];e=J[u+96>>2];J[s+8>>2]=0;J[s>>2]=0;J[s+4>>2]=0;f=a-e|0;b=(f|0)/12|0;e:{if((a|0)==(e|0)){break e}if(b>>>0>=357913942){break c}d=Cj(f);J[s>>2]=d;J[s+8>>2]=d+P(b,12);a=0;n=d;f=f-12|0;d=(f-((f>>>0)%12|0)|0)+12|0;f=Xi(n,0,d);J[s+4>>2]=d+f;if(K[c+84|0]){c=b>>>0<=1?1:b;h=c&1;if(b>>>0>=2){g=c&-2;c=0;while(1){d=P(a,12);b=d+e|0;i=J[b+4>>2];j=J[b>>2];d=d+f|0;J[d+8>>2]=J[b+8>>2];J[d>>2]=j;J[d+4>>2]=i;d=P(a|1,12);b=d+e|0;i=J[b+4>>2];j=J[b>>2];d=d+f|0;J[d+8>>2]=J[b+8>>2];J[d>>2]=j;J[d+4>>2]=i;a=a+2|0;c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!h){break e}b=P(a,12);a=b+e|0;c=J[a+4>>2];e=J[a>>2];b=b+f|0;J[b+8>>2]=J[a+8>>2];J[b>>2]=e;J[b+4>>2]=c;break e}h=b>>>0<=1?1:b;a=J[c+68>>2];c=0;while(1){d=P(c,12);b=d+e|0;g=J[a+(J[b>>2]<<2)>>2];i=J[a+(J[b+4>>2]<<2)>>2];d=d+f|0;J[d+8>>2]=J[a+(J[b+8>>2]<<2)>>2];J[d+4>>2]=i;J[d>>2]=g;c=c+1|0;if((h|0)!=(c|0)){continue}break}}d=0;E=fa-16|0;fa=E;h=Cj(88);ti(h);B=fa-16|0;fa=B;J[h+80>>2]=0;J[h+84>>2]=0;a=J[h+76>>2];J[h+76>>2]=0;if(a){xj(a)}J[h+68>>2]=0;J[h+72>>2]=0;b=h- -64|0;a=J[b>>2];J[b>>2]=0;if(a){xj(a)}g=J[s+4>>2];b=J[s>>2];c=(g-b|0)/12|0;a=P(c,3);f=J[h>>2];e=J[h+4>>2]-f>>2;f:{if(a>>>0>e>>>0){ag(h,a-e|0);g=J[s+4>>2];b=J[s>>2];c=(g-b|0)/12|0;break f}if(a>>>0>=e>>>0){break f}J[h+4>>2]=f+(a<<2)}g:{if((b|0)==(g|0)){break g}e=c>>>0<=1?1:c;g=e&1;a=J[h>>2];if(c>>>0>=2){i=e&-2;c=0;while(1){e=P(d,12);j=e+a|0;f=b+e|0;J[j>>2]=J[f>>2];J[a+(e|4)>>2]=J[f+4>>2];J[j+8>>2]=J[f+8>>2];f=P(d|1,12);e=f+a|0;f=b+f|0;J[e>>2]=J[f>>2];J[e+4>>2]=J[f+4>>2];J[e+8>>2]=J[f+8>>2];d=d+2|0;c=c+2|0;if((i|0)!=(c|0)){continue}break}}if(!g){break g}c=P(d,12);a=c+a|0;b=b+c|0;J[a>>2]=J[b>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=J[b+8>>2]}J[B+12>>2]=-1;a=0;e=0;g=0;f=fa-32|0;fa=f;h:{i:{v=B+12|0;j:{if(!v){break j}c=J[h+4>>2];j=J[h>>2];d=c-j|0;i=d>>2;n=J[h+12>>2];b=J[h+16>>2]-n>>2;k:{if(i>>>0>b>>>0){Vb(h+12|0,i-b|0,13700);c=J[h+4>>2];j=J[h>>2];d=c-j|0;i=d>>2;break k}if(b>>>0<=i>>>0){break k}J[h+16>>2]=n+(i<<2)}J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;b=(c|0)==(j|0);if(!b){if((d|0)<0){break i}e=Cj(d);J[f+20>>2]=e;J[f+16>>2]=e;J[f+24>>2]=(i<<2)+e}l:{m:{n:{o:{p:{if(d){while(1){i=J[(a<<2)+j>>2];b=J[f+20>>2]-e>>2;q:{if(i>>>0>>0){break q}J[f>>2]=0;d=i+1|0;if(d>>>0>b>>>0){fb(f+16|0,d-b|0,f);j=J[h>>2];c=J[h+4>>2];e=J[f+16>>2];break q}if(b>>>0<=d>>>0){break q}J[f+20>>2]=(d<<2)+e}b=(i<<2)+e|0;J[b>>2]=J[b>>2]+1;a=a+1|0;d=c-j|0;i=d>>2;if(a>>>0>>0){continue}break}break p}d=0;if(!b){break o}break n}if((c|0)==(j|0)){d=0;break n}if(d>>>0>=2147483645){break m}}d=Cj(d<<1);Xi(d,255,i<<3)}J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=J[f+20>>2];a=b-e|0;t=a>>2;r:{s:{if((b|0)==(e|0)){break s}if((a|0)<0){break r}q=Cj(a);J[f>>2]=q;J[f+8>>2]=(t<<2)+q;b=Xi(q,0,a);J[f+4>>2]=b+a;c=t>>>0<=1?1:t;n=c&3;a=0;if(c-1>>>0>=3){o=c&-4;while(1){c=g<<2;J[c+b>>2]=a;w=c|4;a=J[c+e>>2]+a|0;J[w+b>>2]=a;x=c|8;a=a+J[e+w>>2]|0;J[x+b>>2]=a;c=c|12;a=a+J[e+x>>2]|0;J[c+b>>2]=a;a=a+J[c+e>>2]|0;g=g+4|0;p=p+4|0;if((o|0)!=(p|0)){continue}break}}if(!n){break s}while(1){c=g<<2;J[c+b>>2]=a;g=g+1|0;a=J[c+e>>2]+a|0;k=k+1|0;if((n|0)!=(k|0)){continue}break}}if(!i){break l}w=J[h+40>>2];x=J[h+12>>2];n=0;while(1){F=n<<2;a=F+j|0;k=-1;c=n+1|0;b=(c>>>0)%3|0?c:n-2|0;if((b|0)!=-1){k=J[(b<<2)+j>>2]}b=J[a>>2];t:{u:{if(!((n>>>0)%3|0)){p=-1;a=n+2|0;if((a|0)!=-1){p=J[(a<<2)+j>>2]}if(!((b|0)==(k|0)|(b|0)==(p|0))&(k|0)!=(p|0)){break u}w=w+1|0;J[h+40>>2]=w;c=n+3|0;break t}p=J[a-4>>2]}a=p<<2;z=J[a+e>>2];v:{w:{if((z|0)<=0){break w}a=J[a+q>>2];g=0;while(1){o=(a<<3)+d|0;y=J[o>>2];if((y|0)==-1){break w}x:{if((k|0)!=(y|0)){break x}o=J[o+4>>2];if((o|0)!=-1){y=J[(o<<2)+j>>2]}else{y=-1}if((y|0)==(b|0)){break x}while(1){y:{b=a;g=g+1|0;if((z|0)<=(g|0)){break y}a=b+1|0;G=(a<<3)+d|0;y=J[G>>2];I=(b<<3)+d|0;J[I+4>>2]=J[G+4>>2];J[I>>2]=y;if((y|0)!=-1){continue}}break}J[(b<<3)+d>>2]=-1;if((o|0)==-1){break w}J[x+F>>2]=o;J[x+(o<<2)>>2]=n;break v}a=a+1|0;g=g+1|0;if((z|0)!=(g|0)){continue}break}}a=k<<2;k=J[a+e>>2];if((k|0)<=0){break v}a=J[a+q>>2];g=0;while(1){b=(a<<3)+d|0;if(J[b>>2]==-1){J[b>>2]=p;J[b+4>>2]=n;break v}a=a+1|0;g=g+1|0;if((k|0)!=(g|0)){continue}break}}}n=c;if(n>>>0>>0){continue}break}break l}break i}Ia();C()}J[v>>2]=t;if(q){xj(q)}if(d){xj(d)}a=J[f+16>>2];if(!a){break j}J[f+20>>2]=a;xj(a)}fa=f+32|0;w=(v|0)!=0;if(w){k=fa-32|0;fa=k;a=J[h>>2];g=J[h+4>>2];J[k+24>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;if((a|0)==(g|0)){c=g}else{a=g-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=Cj(b<<2);J[k+24>>2]=b;J[k+20>>2]=0;J[k+16>>2]=c;ui(k+16|0,a);g=J[h>>2];c=J[h+4>>2]}J[k+8>>2]=0;J[k>>2]=0;while(1){z:{o=0;i=0;if((c|0)==(g|0)){break z}while(1){b=J[k+16>>2];A:{if(J[b+(i>>>3&536870908)>>2]>>>i&1){break A}c=J[k>>2];J[k+4>>2]=c;e=J[h+12>>2];a=i;while(1){B:{f=a+1|0;d=a;a=(f>>>0)%3|0?f:a-2|0;if((a|0)==-1){break B}a=J[e+(a<<2)>>2];if((a|0)==-1){break B}f=a+1|0;a=(f>>>0)%3|0?f:a-2|0;if((i|0)==(a|0)|(a|0)==-1){break B}if(!(J[b+(a>>>3&536870908)>>2]>>>a&1)){continue}}break}j=d;C:{D:{E:{while(1){a=J[k+16>>2]+(j>>>3&536870908)|0;J[a>>2]=J[a>>2]|1<>>0)%3|0?a:j-2|0;g=J[h>>2];x=(j>>>0)%3|0;b=(x?-1:2)+j|0;n=J[k>>2];z=(n|0)==(c|0);F:{if(z){break F}v=J[(f<<2)+g>>2];q=J[h+12>>2];a=n;if((b|0)!=-1){e=q+(b<<2)|0;while(1){G:{if((v|0)!=J[a>>2]){break G}p=J[a+4>>2];t=J[e>>2];if((p|0)==(t|0)){break G}e=b;c=-1;a=-1;if((p|0)==-1){break C}break D}a=a+8|0;if((c|0)!=(a|0)){continue}break}break F}while(1){if((v|0)==J[a>>2]){t=-1;e=-1;p=J[a+4>>2];if((p|0)!=-1){break D}}a=a+8|0;if((c|0)!=(a|0)){continue}break}}b=J[(b<<2)+g>>2];H:{if(J[k+8>>2]!=(c|0)){J[c>>2]=b;J[c+4>>2]=f;c=c+8|0;J[k+4>>2]=c;break H}a=c-n|0;p=a>>3;e=p+1|0;if(e>>>0>=536870912){break i}g=a>>>2|0;g=a>>>0>=2147483640?536870911:e>>>0>>0?g:e;if(g){if(g>>>0>=536870912){break E}e=Cj(g<<3)}else{e=0}a=e+(p<<3)|0;J[a>>2]=b;J[a+4>>2]=f;b=a+8|0;if(!z){while(1){c=c-8|0;f=J[c+4>>2];a=a-8|0;J[a>>2]=J[c>>2];J[a+4>>2]=f;if((c|0)!=(n|0)){continue}break}c=J[k>>2]}J[k+8>>2]=e+(g<<3);J[k+4>>2]=b;J[k>>2]=a;if(c){xj(c)}c=b}I:{J:{if(x){a=j-1|0;break J}a=j+2|0;if((a|0)==-1){break I}}a=J[J[h+12>>2]+(a<<2)>>2];if((a|0)==-1){break I}j=a+((a>>>0)%3|0?-1:2)|0;if((d|0)==(j|0)){break I}if((j|0)!=-1){continue}}break}g=J[h>>2];break A}Va();C()}c=J[q+(p<<2)>>2];b=e;a=p}if((t|0)!=-1){J[q+(t<<2)>>2]=-1}if((c|0)!=-1){J[q+(c<<2)>>2]=-1}J[q+(b<<2)>>2]=-1;J[q+(a<<2)>>2]=-1;o=1}i=i+1|0;c=J[h+4>>2];if(i>>>0>2>>>0){continue}break}if(o){continue}}break}a=J[k>>2];if(a){xj(a)}a=J[k+16>>2];if(a){xj(a)}fa=k+32|0;n=0;g=fa-32|0;fa=g;e=J[B+12>>2];J[h+36>>2]=e;p=h+24|0;b=J[h+24>>2];a=J[h+28>>2]-b>>2;K:{L:{if(a>>>0>>0){Vb(p,e-a|0,13700);J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;break L}if(a>>>0>e>>>0){J[h+28>>2]=b+(e<<2)}J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;if(!e){break K}}if((e|0)<0){break i}a=(e-1>>>5|0)+1|0;b=Cj(a<<2);J[g+24>>2]=a;J[g+20>>2]=0;J[g+16>>2]=b;ui(g+16|0,e)}a=J[h>>2];b=J[h+4>>2];J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;M:{if((a|0)==(b|0)){a=b}else{a=b-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=Cj(b<<2);J[g+8>>2]=b;J[g+4>>2]=0;J[g>>2]=c;ui(g,a);b=J[h>>2];a=J[h+4>>2]}if(a-b>>>0<12){break M}N:{while(1){q=P(n,3);d=(q<<2)+b|0;f=J[d>>2];c=-1;i=q+1|0;if((i|0)!=-1){c=J[(i<<2)+b>>2]}O:{if((c|0)==(f|0)){break O}i=f;f=J[d+8>>2];if((i|0)==(f|0)|(c|0)==(f|0)){break O}k=0;i=J[g>>2];while(1){f=k+q|0;if(!(J[(f>>>3&536870908)+i>>2]>>>f&1)){a=J[(f<<2)+b>>2];c=1<>2];b=a>>>5|0;i=J[d+(b<<2)>>2];t=c&i;if(t){c=J[h+28>>2];P:{if((c|0)!=J[h+32>>2]){J[c>>2]=-1;J[h+28>>2]=c+4;break P}i=J[p>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=Cj(j<<2)}else{b=0}d=b+(o<<2)|0;J[d>>2]=-1;o=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[h+32>>2]=b+(j<<2);J[h+28>>2]=o;J[h+24>>2]=d;if(!i){break P}xj(i)}c=J[h+52>>2];Q:{if((c|0)!=J[h+56>>2]){J[c>>2]=a;J[h+52>>2]=c+4;break Q}i=J[h+48>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=Cj(j<<2)}else{b=0}d=b+(o<<2)|0;J[d>>2]=a;a=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[h+56>>2]=b+(j<<2);J[h+52>>2]=a;J[h+48>>2]=d;if(!i){break Q}xj(i)}c=J[g+20>>2];a=J[g+24>>2];if((c|0)==a<<5){if((c+1|0)<0){break i}b=g+16|0;if(c>>>0<=1073741822){a=a<<6;c=(c&-32)+32|0;a=a>>>0>c>>>0?a:c}else{a=2147483647}Jc(b,a);c=J[g+20>>2]}J[g+20>>2]=c+1;d=J[g+16>>2];a=d+(c>>>3&536870908)|0;b=J[a>>2];M=a,N=rk(c)&b,J[M>>2]=N;c=1<>>5|0;i=J[(b<<2)+d>>2];a=e;e=a+1|0}J[(b<<2)+d>>2]=c|i;o=J[h+24>>2]+(a<<2)|0;j=J[h+12>>2];b=J[h>>2];i=J[g>>2];c=f;R:{S:{T:{while(1){if((c|0)==-1){break T}d=(c>>>3&536870908)+i|0;J[d>>2]=J[d>>2]|1<>2]=c;if(t){J[(c<<2)+b>>2]=a}v=c+1|0;c=(v>>>0)%3|0?v:c-2|0;d=-1;U:{if((c|0)==-1){break U}c=J[j+(c<<2)>>2];d=-1;if((c|0)==-1){break U}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0}c=d;if((f|0)!=(c|0)){continue}break}if((f|0)!=-1){break R}c=1;break S}if((f>>>0)%3|0){c=f-1|0;break S}c=f+2|0;if((c|0)==-1){break R}}c=J[j+(c<<2)>>2];if((c|0)==-1){break R}V:{if((c>>>0)%3|0){c=c-1|0;break V}c=c+2|0;if((c|0)==-1){break R}}f=J[h+12>>2];b=J[h>>2];while(1){d=(c>>>3&536870908)+i|0;J[d>>2]=J[d>>2]|1<>2]=a}W:{if((c>>>0)%3|0){c=c-1|0;break W}c=c+2|0;if((c|0)==-1){break R}}c=J[f+(c<<2)>>2];if((c|0)==-1){break R}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)!=-1){continue}break}}}k=k+1|0;if((k|0)!=3){continue}break}b=J[h>>2];a=J[h+4>>2]}n=n+1|0;if(n>>>0<(a-b>>2>>>0)/3>>>0){continue}break}break M}Va();C()}c=0;J[h+44>>2]=0;a=J[g+16>>2];b=J[g+20>>2];if(b){e=b&31;b=(b>>>3&536870908)+a|0;d=a;i=0;while(1){if(!(J[d>>2]>>>c&1)){i=i+1|0;J[h+44>>2]=i}f=(c|0)==31;c=f?0:c+1|0;d=(f<<2)+d|0;if((b|0)!=(d|0)|(c|0)!=(e|0)){continue}break}}b=J[g>>2];if(b){xj(b);a=J[g+16>>2]}if(a){xj(a)}fa=g+32|0}fa=B+16|0;if(!w){J[E+8>>2]=0;Se(h);h=0}fa=E+16|0;a=h;break h}Ia();C()}b=J[s>>2];if(!b){break d}J[s+4>>2]=b;xj(b)}fa=s+16|0;break b}Ia();C()}c=J[l+4>>2];b=a;J[l+4>>2]=a;if(c){Se(c);b=J[l+4>>2]}X:{if(!b){break X}a=J[u+100>>2];c=J[u+96>>2];H[r+12|0]=0;Oe(l+56|0,(a-c|0)/12|0,r+12|0);a=J[u+100>>2];c=J[u+96>>2];if((a|0)==(c|0)){break X}while(1){if(!(J[J[l+56>>2]+(D>>>3&536870908)>>2]>>>D&1)){a=P(D,3);Fi(l,0,a);c=J[l+8>>2];e=J[l+12>>2];Fi(l,1,a+1|0);f=J[l+20>>2];d=J[l+24>>2];Fi(l,2,a+2|0);n=(c|0)==(e|0)?-1:0;a=d-f>>2;c=e-c>>2;e=a>>>0>c>>>0;c=J[l+36>>2]-J[l+32>>2]>>2>>>0>(e?a:c)>>>0?2:e?1:n;Y:{if(J[l+68>>2]<=0){break Y}J[r+12>>2]=J[l+76>>2];J[r+8>>2]=m;vg(r+8|0,r+12|0);a=J[((c<<2)+l|0)+44>>2];if((a|0)<0){a=-1}else{e=(a>>>0)/3|0;a=J[(J[J[l>>2]+96>>2]+P(e,12)|0)+(a-P(e,3)<<2)>>2]}J[r+12>>2]=a;J[r+8>>2]=m;vg(r+8|0,r+12|0);e=J[l+72>>2];J[l+72>>2]=e+2;if(!(e&1)){break Y}J[r+12>>2]=a;J[r+8>>2]=m;vg(r+8|0,r+12|0);J[l+72>>2]=J[l+72>>2]+1}d=0;e=fa-16|0;fa=e;J[l+68>>2]=J[l+68>>2]+1;a=P(c,12)+l|0;a=J[a+12>>2]-J[a+8>>2]|0;if((a|0)>0){a=a>>>2|0;h=a>>>0<=1?1:a;c=J[((c<<2)+l|0)+44>>2];while(1){a=c;f=(a>>>0)/3|0;c=(a|0)==-1;g=c?-1:f;i=J[l+56>>2]+(g>>>3&536870908)|0;J[i>>2]=J[i>>2]|1<>2]=J[l+72>>2]+1;Z:{_:{$:{aa:{ba:{if(!d){ca:{if((a|0)>=0){J[e+12>>2]=J[(J[J[l>>2]+96>>2]+P(f,12)|0)+((a>>>0)%3<<2)>>2];J[e+8>>2]=m;vg(e+8|0,e+12|0);break ca}J[e+12>>2]=-1;J[e+8>>2]=m;vg(e+8|0,e+12|0);if(c){break ba}}c=-1;f=a+1|0;f=(f>>>0)%3|0?f:a-2|0;if((f|0)>=0){g=(f>>>0)/3|0;f=J[(J[J[l>>2]+96>>2]+P(g,12)|0)+(f-P(g,3)<<2)>>2]}else{f=-1}J[e+12>>2]=f;J[e+8>>2]=m;vg(e+8|0,e+12|0);f=((a>>>0)%3|0?-1:2)+a|0;if((f|0)<0){break aa}c=(f>>>0)/3|0;c=J[(J[J[l>>2]+96>>2]+P(c,12)|0)+(f-P(c,3)<<2)>>2];break aa}c=(a|0)<0?-1:J[(J[J[l>>2]+96>>2]+P(f,12)|0)+((a>>>0)%3<<2)>>2];J[l+76>>2]=c;J[e+12>>2]=c;J[e+8>>2]=m;vg(e+8|0,e+12|0);if(d&1){c=-1;if((a|0)==-1){break Z}if((P(f,3)|0)!=(a|0)){a=a-1|0;break _}a=a+2|0;break $}c=-1;if((a|0)==-1){break Z}c=a+1|0;a=(c>>>0)%3|0?c:a-2|0;break $}c=-1;J[e+12>>2]=-1;J[e+8>>2]=m;vg(e+8|0,e+12|0)}J[l+76>>2]=c;J[e+12>>2]=c;J[e+8>>2]=m;vg(e+8|0,e+12|0)}c=-1;if((a|0)==-1){break Z}}c=J[J[J[l+4>>2]+12>>2]+(a<<2)>>2]}d=d+1|0;if((h|0)!=(d|0)){continue}break}}fa=e+16|0;c=J[u+96>>2];a=J[u+100>>2]}D=D+1|0;if(D>>>0<(a-c|0)/12>>>0){continue}break}}fa=r+16|0;da:{if(b){a=J[A>>2];if(a){J[A+4>>2]=a;xj(a)}J[A>>2]=J[m>>2];J[A+4>>2]=J[m+4>>2];J[A+8>>2]=J[m+8>>2];L=J[m+84>>2];break da}a=J[m>>2];if(!a){break da}J[m+4>>2]=a;xj(a)}a=J[m+72>>2];if(a){xj(a)}a=J[m+48>>2];if(a){J[m+52>>2]=a;xj(a)}a=J[m+36>>2];if(a){J[m+40>>2]=a;xj(a)}a=J[m+24>>2];if(a){J[m+28>>2]=a;xj(a)}a=J[m+20>>2];J[m+20>>2]=0;if(a){Se(a)}fa=m+96|0;return L|0}function Wh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=b;a=0;b=0;a:{b:{switch(d-1|0){case 0:j=J[i+80>>2];h=K[c+24|0];c:{if((P(j,h)|0)!=(e|0)){break c}d=J[c+28>>2]!=1;b=K[c+84|0];if(!(d|!b)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);b=1;break c}if(h){a=Cj(h);Xi(a,0,h)}d:{if(!j){b=1;break d}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=J[J[c>>2]>>2];m=J[c+48>>2];g=J[c+40>>2];b=nk(g,J[c+44>>2],K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;Vi(i,Vi(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break d}if(b){b=1;h=J[c>>2];e=J[c+48>>2];f=J[c+40>>2];i=J[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=J[h>>2];m=nk(f,i,c,0)+e|0;k=Vi(a,k+m|0,f);m=J[h>>2];n=nk(f,i,c|1,0)+e|0;Vi(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break d}c=J[h>>2];d=nk(g,0,f,i)+e|0;Vi(a,c+d|0,f);break d}b=1;h=J[c>>2];e=J[c+48>>2];g=J[c+68>>2];f=J[c+40>>2];i=J[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=J[h>>2];n=c<<2;l=nk(f,i,J[n+g>>2],0)+e|0;m=Vi(a,m+l|0,f);l=J[h>>2];n=nk(f,i,J[g+(n|4)>>2],0)+e|0;Vi(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break d}d=J[h>>2];c=nk(f,i,J[g+(c<<2)>>2],0)+e|0;Vi(a,c+d|0,f);break d}b=0;if(!h){d=0;while(1){if(!wg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break d}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break d}d=0;e=0;while(1){if(!wg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break d}Vi(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break c}xj(a)}break a;case 2:n=K[c+24|0];l=n<<1;j=J[i+80>>2];e:{if((P(l,j)|0)!=(e|0)){break e}i=J[c+28>>2]!=3;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);a=1;break e}f:{if(!n){e=0;break f}e=Cj(l);Xi(e,0,l)}g:{if(!j){a=1;break g}if(!i){o=J[c+68>>2];k=J[c>>2];b=J[c+48>>2];i=J[c+40>>2];m=J[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=J[k>>2];p=nk(i,m,J[o+(d<<2)>>2],0)+b|0;Vi((c<<1)+f|0,Vi(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break g}c=0;while(1){a=1;o=J[k>>2];p=nk(g,h,i,m)+b|0;Vi((c<<1)+f|0,Vi(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break g}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=J[k>>2];g=c<<2;n=nk(i,m,J[g+o>>2],0)+b|0;h=Vi(e,h+n|0,i);n=J[k>>2];g=nk(i,m,J[o+(g|4)>>2],0)+b|0;Vi(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break g}d=J[k>>2];b=nk(i,m,J[o+(c<<2)>>2],0)+b|0;Vi(e,b+d|0,i);break g}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=J[k>>2];l=nk(g,h,i,m)+b|0;d=Vi(e,d+l|0,i);l=J[k>>2];o=nk(i,m,g|1,h)+b|0;Vi(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break g}c=J[k>>2];b=nk(g,h,i,m)+b|0;Vi(e,b+c|0,i);break g}if(!n){d=0;while(1){if(!zg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break g}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break g}d=0;while(1){if(!zg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break g}Vi((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break e}xj(e)}b=a;break a;case 4:l=K[c+24|0];o=l<<2;j=J[i+80>>2];h:{if((P(o,j)|0)!=(e|0)){break h}i=J[c+28>>2]!=5;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);b=1;break h}i:{if(!l){e=0;break i}e=Cj(o);Xi(e,0,o)}b=1;j:{if(!j){break j}if(!i){a=J[c+68>>2];m=J[c>>2];i=J[c+48>>2];k=J[c+40>>2];n=J[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=J[m>>2];p=nk(k,n,J[a+(d<<2)>>2],0)+i|0;Vi((c<<2)+f|0,Vi(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break j}c=0;while(1){d=J[m>>2];p=nk(g,h,k,n)+i|0;Vi((c<<2)+f|0,Vi(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break j}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=J[m>>2];g=c<<2;l=nk(k,n,J[g+a>>2],0)+i|0;h=Vi(e,h+l|0,k);l=J[m>>2];g=nk(k,n,J[a+(g|4)>>2],0)+i|0;Vi(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break j}d=J[m>>2];a=nk(k,n,J[a+(c<<2)>>2],0)+i|0;Vi(e,a+d|0,k);break j}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=J[m>>2];d=nk(g,h,k,n)+i|0;a=Vi(e,a+d|0,k);d=J[m>>2];o=nk(k,n,g|1,h)+i|0;Vi(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break j}a=J[m>>2];c=nk(g,h,k,n)+i|0;Vi(e,a+c|0,k);break j}b=0;if(!l){d=0;while(1){if(!Bg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break j}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break j}d=0;while(1){if(!Bg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break j}Vi((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break h}xj(e)}break a;case 1:j=J[i+80>>2];h=K[c+24|0];k:{if((P(j,h)|0)!=(e|0)){break k}d=J[c+28>>2]!=2;b=K[c+84|0];if(!(d|!b)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);b=1;break k}if(h){a=Cj(h);Xi(a,0,h)}l:{if(!j){b=1;break l}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=J[J[c>>2]>>2];m=J[c+48>>2];g=J[c+40>>2];b=nk(g,J[c+44>>2],K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;Vi(i,Vi(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break l}if(b){b=1;h=J[c>>2];e=J[c+48>>2];f=J[c+40>>2];i=J[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=J[h>>2];m=nk(f,i,c,0)+e|0;k=Vi(a,k+m|0,f);m=J[h>>2];n=nk(f,i,c|1,0)+e|0;Vi(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break l}c=J[h>>2];d=nk(g,0,f,i)+e|0;Vi(a,c+d|0,f);break l}b=1;h=J[c>>2];e=J[c+48>>2];g=J[c+68>>2];f=J[c+40>>2];i=J[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=J[h>>2];n=c<<2;l=nk(f,i,J[n+g>>2],0)+e|0;m=Vi(a,m+l|0,f);l=J[h>>2];n=nk(f,i,J[g+(n|4)>>2],0)+e|0;Vi(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break l}d=J[h>>2];c=nk(f,i,J[g+(c<<2)>>2],0)+e|0;Vi(a,c+d|0,f);break l}b=0;if(!h){d=0;while(1){if(!xg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break l}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break l}d=0;e=0;while(1){if(!xg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break l}Vi(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break k}xj(a)}break a;case 3:n=K[c+24|0];l=n<<1;j=J[i+80>>2];m:{if((P(l,j)|0)!=(e|0)){break m}i=J[c+28>>2]!=4;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);a=1;break m}n:{if(!n){e=0;break n}e=Cj(l);Xi(e,0,l)}o:{if(!j){a=1;break o}if(!i){o=J[c+68>>2];k=J[c>>2];b=J[c+48>>2];i=J[c+40>>2];m=J[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=J[k>>2];p=nk(i,m,J[o+(d<<2)>>2],0)+b|0;Vi((c<<1)+f|0,Vi(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break o}c=0;while(1){a=1;o=J[k>>2];p=nk(g,h,i,m)+b|0;Vi((c<<1)+f|0,Vi(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break o}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=J[k>>2];g=c<<2;n=nk(i,m,J[g+o>>2],0)+b|0;h=Vi(e,h+n|0,i);n=J[k>>2];g=nk(i,m,J[o+(g|4)>>2],0)+b|0;Vi(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break o}d=J[k>>2];b=nk(i,m,J[o+(c<<2)>>2],0)+b|0;Vi(e,b+d|0,i);break o}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=J[k>>2];l=nk(g,h,i,m)+b|0;d=Vi(e,d+l|0,i);l=J[k>>2];o=nk(i,m,g|1,h)+b|0;Vi(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break o}c=J[k>>2];b=nk(g,h,i,m)+b|0;Vi(e,b+c|0,i);break o}if(!n){d=0;while(1){if(!Ag(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break o}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break o}d=0;while(1){if(!Ag(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break o}Vi((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break m}xj(e)}b=a;break a;case 5:l=K[c+24|0];o=l<<2;j=J[i+80>>2];p:{if((P(o,j)|0)!=(e|0)){break p}i=J[c+28>>2]!=6;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);b=1;break p}q:{if(!l){e=0;break q}e=Cj(o);Xi(e,0,o)}b=1;r:{if(!j){break r}if(!i){a=J[c+68>>2];m=J[c>>2];i=J[c+48>>2];k=J[c+40>>2];n=J[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=J[m>>2];p=nk(k,n,J[a+(d<<2)>>2],0)+i|0;Vi((c<<2)+f|0,Vi(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break r}c=0;while(1){d=J[m>>2];p=nk(g,h,k,n)+i|0;Vi((c<<2)+f|0,Vi(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break r}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=J[m>>2];g=c<<2;l=nk(k,n,J[g+a>>2],0)+i|0;h=Vi(e,h+l|0,k);l=J[m>>2];g=nk(k,n,J[a+(g|4)>>2],0)+i|0;Vi(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break r}d=J[m>>2];a=nk(k,n,J[a+(c<<2)>>2],0)+i|0;Vi(e,a+d|0,k);break r}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=J[m>>2];d=nk(g,h,k,n)+i|0;a=Vi(e,a+d|0,k);d=J[m>>2];o=nk(k,n,g|1,h)+i|0;Vi(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break r}a=J[m>>2];c=nk(g,h,k,n)+i|0;Vi(e,a+c|0,k);break r}b=0;if(!l){d=0;while(1){if(!Cg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break r}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break r}d=0;while(1){if(!Cg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break r}Vi((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break p}xj(e)}break a;case 8:p=K[c+24|0];q=p<<2;k=J[i+80>>2];s:{if((P(q,k)|0)!=(e|0)){break s}i=J[c+28>>2];t:{if(!p){break t}a=Cj(q);d=a;m=q-4|0;l=(m>>>2|0)+1&7;if(l){e=0;while(1){J[d>>2]=-1073741824;d=d+4|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(m>>>0<28){break t}e=(p<<2)+a|0;while(1){J[d+24>>2]=-1073741824;J[d+28>>2]=-1073741824;J[d+16>>2]=-1073741824;J[d+20>>2]=-1073741824;J[d+8>>2]=-1073741824;J[d+12>>2]=-1073741824;J[d>>2]=-1073741824;J[d+4>>2]=-1073741824;d=d+32|0;if((e|0)!=(d|0)){continue}break}}u:{if(!k){b=1;break u}if((i|0)==9){r=J[c+68>>2];l=J[c>>2];i=J[c+48>>2];s=K[c+84|0];m=J[c+44>>2];c=J[c+40>>2];o=c;if(p){e=0;d=0;while(1){h=(e<<2)+f|0;g=J[l>>2];b=nk(c,m,s?d:J[r+(d<<2)>>2],0)+i|0;Vi(h,Vi(a,b+g|0,o),q);e=e+p|0;b=1;d=d+1|0;if((k|0)!=(d|0)){continue}break}break u}if(!s){b=1;d=0;if((k|0)!=1){f=k&-2;e=0;while(1){h=J[l>>2];g=d<<2;j=nk(c,m,J[g+r>>2],0)+i|0;h=Vi(a,h+j|0,o);j=J[l>>2];g=nk(c,m,J[r+(g|4)>>2],0)+i|0;Vi(h,j+g|0,o);d=d+2|0;e=e+2|0;if((f|0)!=(e|0)){continue}break}}if(!(k&1)){break u}e=J[l>>2];c=nk(c,m,J[r+(d<<2)>>2],0)+i|0;Vi(a,c+e|0,o);break u}f=k&1;b=1;if((k|0)!=1){k=k&-2;while(1){d=J[l>>2];e=nk(g,h,c,m)+i|0;d=Vi(a,d+e|0,o);e=J[l>>2];p=nk(c,m,g|1,h)+i|0;Vi(d,e+p|0,o);g=g+2|0;h=g>>>0<2?h+1|0:h;d=j;e=n+2|0;d=e>>>0<2?d+1|0:d;n=e;j=d;if((e|0)!=(k|0)|d){continue}break}}if(!f){break u}d=J[l>>2];c=nk(g,h,c,m)+i|0;Vi(a,c+d|0,o);break u}if(!p){d=0;while(1){if(!Rc(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break u}d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}break u}e=0;d=0;while(1){if(!Rc(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break u}Vi((e<<2)+f|0,a,q);e=e+p|0;d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}}if(!a){break s}xj(a)}a=b;break;default:break b}}b=a}return b|0}function lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=fa-48|0;fa=i;a:{b:{if((c|0)!=1){break b}c=J[a+4>>2];g=J[a+12>>2];J[i+40>>2]=0;a=i;J[a+32>>2]=0;J[a+36>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;e=a+8|0;c:{if((b|0)==-2){break c}l=J[J[J[c+4>>2]+8>>2]+(g<<2)>>2];if((ka[J[J[c>>2]+8>>2]](c)|0)==1){a=L[c+36>>1];j=(a<<8|a>>>8)&65535;a=0;h=fa-32|0;fa=h;d=J[J[J[c+4>>2]+8>>2]+(g<<2)>>2];d:{if((ka[J[J[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break d}k=ka[J[J[c>>2]+36>>2]](c)|0;f=ka[J[J[c>>2]+44>>2]](c,g)|0;if(!k|!f){break d}a=ka[J[J[c>>2]+40>>2]](c,g)|0;if(a){c=J[c+44>>2];J[h+12>>2]=a;J[h+8>>2]=c;J[h+20>>2]=f;J[h+16>>2]=f+12;c=h+8|0;a=0;e:{f:{switch(b-1|0){case 0:a=Cj(60);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a>>2]=2612;break e;case 1:a=Cj(60);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a>>2]=3376;break e;case 3:a=Cj(112);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=3612;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;break e;case 2:a=Cj(92);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=3860;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=j;break e;case 4:a=Cj(104);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=4088;b=J[c+4>>2];J[a+88>>2]=J[c>>2];J[a+92>>2]=b;b=J[c+12>>2];J[a+96>>2]=J[c+8>>2];J[a+100>>2]=b;break e;case 5:break f;default:break e}}a=Cj(128);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;g:{b=J[e+28>>2];d=J[e+24>>2];if((b|0)!=(d|0)){d=b-d|0;if((d|0)<0){break a}b=Cj(d);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(d&-4)+b;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=3264;b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=4952;J[a>>2]=4324;b=J[c+4>>2];J[a+72>>2]=J[c>>2];J[a+76>>2]=b;b=J[c+12>>2];J[a+80>>2]=J[c+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=4560;J[a+112>>2]=0;J[a+116>>2]=0;H[a+117|0]=0;H[a+118|0]=0;H[a+119|0]=0;H[a+120|0]=0;H[a+121|0]=0;H[a+122|0]=0;H[a+123|0]=0;H[a+124|0]=0;break g}}break d}a=J[c+44>>2];J[h+12>>2]=k;J[h+8>>2]=a;J[h+20>>2]=f;J[h+16>>2]=f+12;c=h+8|0;a=0;h:{i:{switch(b-1|0){case 0:a=Cj(60);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a>>2]=4980;break h;case 1:a=Cj(60);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a>>2]=5404;break h;case 3:a=Cj(112);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=5628;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;break h;case 2:a=Cj(92);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=5864;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=j;break h;case 4:a=Cj(104);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=6080;b=J[c+4>>2];J[a+88>>2]=J[c>>2];J[a+92>>2]=b;b=J[c+12>>2];J[a+96>>2]=J[c+8>>2];J[a+100>>2]=b;break h;case 5:break i;default:break h}}a=Cj(128);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;j:{b=J[e+28>>2];d=J[e+24>>2];if((b|0)!=(d|0)){d=b-d|0;if((d|0)<0){break a}b=Cj(d);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(d&-4)+b;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=5348;b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=6888;J[a>>2]=6304;b=J[c+4>>2];J[a+72>>2]=J[c>>2];J[a+76>>2]=b;b=J[c+12>>2];J[a+80>>2]=J[c+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=6524;J[a+112>>2]=0;J[a+116>>2]=0;H[a+117|0]=0;H[a+118|0]=0;H[a+119|0]=0;H[a+120|0]=0;H[a+121|0]=0;H[a+122|0]=0;H[a+123|0]=0;H[a+124|0]=0;break j}}}fa=h+32|0;d=a;if(a){break c}}d=Cj(44);J[d+4>>2]=l;J[d>>2]=3320;a=J[e+4>>2];J[d+8>>2]=J[e>>2];J[d+12>>2]=a;a=J[e+12>>2];J[d+16>>2]=J[e+8>>2];J[d+20>>2]=a;a=J[e+20>>2];J[d+24>>2]=J[e+16>>2];J[d+28>>2]=a;J[d+40>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;c=J[e+24>>2];a=J[e+28>>2];if((c|0)!=(a|0)){b=a-c|0;if((b|0)<0){break a}e=Cj(b);J[d+32>>2]=e;J[d+40>>2]=(b&-4)+e;while(1){J[e>>2]=J[c>>2];e=e+4|0;c=c+4|0;if((a|0)!=(c|0)){continue}break}J[d+36>>2]=e}J[d>>2]=6916;break c}e=d;a=J[i+32>>2];if(!a){break b}J[i+36>>2]=a;xj(a)}fa=i+48|0;return e|0}Ia();C()}function wj(a){a=a|0;var 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;l=fa-16|0;fa=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(a>>>0<=244){g=J[4314];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+17296|0;d=J[a+17304>>2];a=J[d+8>>2];j:{if((b|0)==(a|0)){m=17256,n=rk(c)&g,J[m>>2]=n;break j}J[a+12>>2]=b;J[b+8>>2]=a}a=d+8|0;b=c<<3;J[d+4>>2]=b|3;b=b+d|0;J[b+4>>2]=J[b+4>>2]|1;break a}k=J[4316];if(k>>>0>=h>>>0){break i}if(b){a=2<>2];a=J[e+8>>2];k:{if((b|0)==(a|0)){g=rk(d)&g;J[4314]=g;break k}J[a+12>>2]=b;J[b+8>>2]=a}J[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;J[c+4>>2]=d|1;J[a+e>>2]=d;if(k){b=(k&-8)+17296|0;f=J[4319];a=1<<(k>>>3);l:{if(!(a&g)){J[4314]=a|g;a=b;break l}a=J[b+8>>2]}J[b+8>>2]=f;J[a+12>>2]=f;J[f+12>>2]=b;J[f+8>>2]=a}a=e+8|0;J[4319]=c;J[4316]=d;break a}j=J[4315];if(!j){break i}c=J[(mk(0-j&j)<<2)+17560>>2];f=(J[c+4>>2]&-8)-h|0;b=c;while(1){m:{a=J[b+16>>2];if(!a){a=J[b+20>>2];if(!a){break m}}b=(J[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=J[c+24>>2];d=J[c+12>>2];if((d|0)!=(c|0)){a=J[c+8>>2];J[a+12>>2]=d;J[d+8>>2]=a;break b}b=c+20|0;a=J[b>>2];if(!a){a=J[c+16>>2];if(!a){break h}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=J[b>>2];if(a){continue}b=d+16|0;a=J[d+16>>2];if(a){continue}break}J[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break i}a=a+11|0;h=a&-8;j=J[4315];if(!j){break i}f=0-h|0;g=0;n:{if(h>>>0<256){break n}g=31;if(h>>>0>16777215){break n}a=S(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=J[(g<<2)+17560>>2];o:{p:{q:{if(!b){a=0;break q}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){r:{e=(J[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break r}d=b;f=e;if(e){break r}f=0;a=b;break p}e=J[b+20>>2];b=J[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break o}}while(1){b=(J[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=J[a+16>>2];if(b){a=b}else{a=J[a+20>>2]}if(a){continue}break}}if(!d|J[4316]-h>>>0<=f>>>0){break i}g=J[d+24>>2];c=J[d+12>>2];if((d|0)!=(c|0)){a=J[d+8>>2];J[a+12>>2]=c;J[c+8>>2]=a;break c}b=d+20|0;a=J[b>>2];if(!a){a=J[d+16>>2];if(!a){break g}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=J[b>>2];if(a){continue}b=c+16|0;a=J[c+16>>2];if(a){continue}break}J[e>>2]=0;break c}a=J[4316];if(a>>>0>=h>>>0){d=J[4319];b=a-h|0;s:{if(b>>>0>=16){c=d+h|0;J[c+4>>2]=b|1;J[a+d>>2]=b;J[d+4>>2]=h|3;break s}J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;c=0;b=0}J[4316]=b;J[4319]=c;a=d+8|0;break a}i=J[4317];if(i>>>0>h>>>0){b=i-h|0;J[4317]=b;c=J[4320];a=c+h|0;J[4320]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(J[4432]){c=J[4434]}else{J[4435]=-1;J[4436]=-1;J[4433]=4096;J[4434]=4096;J[4432]=l+12&-16^1431655768;J[4437]=0;J[4425]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=J[4424];if(d){c=J[4422];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}t:{if(!(K[17700]&4)){u:{v:{w:{x:{d=J[4320];if(d){a=17704;while(1){c=J[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break x}a=J[a+8>>2];if(a){continue}break}}c=vj(0);if((c|0)==-1){break u}g=b;d=J[4433];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break u}d=J[4424];if(d){a=J[4422];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break u}}a=vj(g);if((c|0)!=(a|0)){break w}break t}g=f&e-i;c=vj(g);if((c|0)==(J[a>>2]+J[a+4>>2]|0)){break v}a=c}if((a|0)==-1){break u}if(h+48>>>0<=g>>>0){c=a;break t}c=J[4434];c=c+(j-g|0)&0-c;if((vj(c)|0)==-1){break u}g=c+g|0;c=a;break t}if((c|0)!=-1){break t}}J[4425]=J[4425]|4}c=vj(b);a=vj(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}g=a-c|0;if(g>>>0<=h+40>>>0){break d}}a=J[4422]+g|0;J[4422]=a;if(a>>>0>M[4423]){J[4423]=a}y:{e=J[4320];if(e){a=17704;while(1){d=J[a>>2];b=J[a+4>>2];if((d+b|0)==(c|0)){break y}a=J[a+8>>2];if(a){continue}break}break f}a=J[4318];if(!(a>>>0<=c>>>0?a:0)){J[4318]=c}a=0;J[4427]=g;J[4426]=c;J[4322]=-1;J[4323]=J[4432];J[4429]=0;while(1){d=a<<3;b=d+17296|0;J[d+17304>>2]=b;J[d+17308>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4317]=b;a=a+c|0;J[4320]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4321]=J[4436];break e}if(K[a+12|0]&8|d>>>0>e>>>0|c>>>0<=e>>>0){break f}J[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;J[4320]=c;b=J[4317]+g|0;a=b-a|0;J[4317]=a;J[c+4>>2]=a|1;J[(b+e|0)+4>>2]=40;J[4321]=J[4436];break e}d=0;break b}c=0;break c}if(M[4318]>c>>>0){J[4318]=c}b=c+g|0;a=17704;z:{A:{B:{C:{D:{E:{while(1){if((b|0)!=J[a>>2]){a=J[a+8>>2];if(a){continue}break E}break}if(!(K[a+12|0]&8)){break D}}a=17704;while(1){b=J[a>>2];if(b>>>0<=e>>>0){f=b+J[a+4>>2]|0;if(f>>>0>e>>>0){break C}}a=J[a+8>>2];continue}}J[a>>2]=c;J[a+4>>2]=J[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;J[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){J[4320]=i;a=J[4317]+a|0;J[4317]=a;J[i+4>>2]=a|1;break A}if(J[4319]==(g|0)){J[4319]=i;a=J[4316]+a|0;J[4316]=a;J[i+4>>2]=a|1;J[a+i>>2]=a;break A}f=J[g+4>>2];if((f&3)==1){e=f&-8;F:{if(f>>>0<=255){d=J[g+8>>2];b=f>>>3|0;c=J[g+12>>2];if((c|0)==(d|0)){m=17256,n=J[4314]&rk(b),J[m>>2]=n;break F}J[d+12>>2]=c;J[c+8>>2]=d;break F}h=J[g+24>>2];c=J[g+12>>2];G:{if((g|0)!=(c|0)){b=J[g+8>>2];J[b+12>>2]=c;J[c+8>>2]=b;break G}H:{f=g+20|0;b=J[f>>2];if(b){break H}f=g+16|0;b=J[f>>2];if(b){break H}c=0;break G}while(1){d=f;c=b;f=c+20|0;b=J[f>>2];if(b){continue}f=c+16|0;b=J[c+16>>2];if(b){continue}break}J[d>>2]=0}if(!h){break F}d=J[g+28>>2];b=(d<<2)+17560|0;I:{if(J[b>>2]==(g|0)){J[b>>2]=c;if(c){break I}m=17260,n=J[4315]&rk(d),J[m>>2]=n;break F}J[h+(J[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break F}}J[c+24>>2]=h;b=J[g+16>>2];if(b){J[c+16>>2]=b;J[b+24>>2]=c}b=J[g+20>>2];if(!b){break F}J[c+20>>2]=b;J[b+24>>2]=c}g=e+g|0;f=J[g+4>>2];a=a+e|0}J[g+4>>2]=f&-2;J[i+4>>2]=a|1;J[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+17296|0;c=J[4314];a=1<<(a>>>3);J:{if(!(c&a)){J[4314]=a|c;a=b;break J}a=J[b+8>>2]}J[b+8>>2]=i;J[a+12>>2]=i;J[i+12>>2]=b;J[i+8>>2]=a;break A}f=31;if(a>>>0<=16777215){b=S(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}J[i+28>>2]=f;J[i+16>>2]=0;J[i+20>>2]=0;b=(f<<2)+17560|0;d=J[4315];c=1<>2]=i;break K}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=J[b>>2];while(1){b=c;if((J[c+4>>2]&-8)==(a|0)){break B}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=J[d+16>>2];if(c){continue}break}J[d+16>>2]=i}J[i+24>>2]=b;J[i+12>>2]=i;J[i+8>>2]=i;break A}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4317]=b;a=a+c|0;J[4320]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4321]=J[4436];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;J[d+4>>2]=27;a=J[4429];J[d+16>>2]=J[4428];J[d+20>>2]=a;a=J[4427];J[d+8>>2]=J[4426];J[d+12>>2]=a;J[4428]=d+8;J[4427]=g;J[4426]=c;J[4429]=0;a=d+24|0;while(1){J[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break e}J[d+4>>2]=J[d+4>>2]&-2;f=d-e|0;J[e+4>>2]=f|1;J[d>>2]=f;if(f>>>0<=255){b=(f&-8)+17296|0;c=J[4314];a=1<<(f>>>3);L:{if(!(c&a)){J[4314]=a|c;a=b;break L}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break e}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+17560|0;d=J[4315];c=1<>2]=e;break M}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=J[b>>2];while(1){b=d;if((f|0)==(J[b+4>>2]&-8)){break z}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=J[c+16>>2];if(d){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break e}a=J[b+8>>2];J[a+12>>2]=i;J[b+8>>2]=i;J[i+24>>2]=0;J[i+12>>2]=b;J[i+8>>2]=a}a=j+8|0;break a}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=J[4317];if(a>>>0<=h>>>0){break d}b=a-h|0;J[4317]=b;c=J[4320];a=c+h|0;J[4320]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[4004]=48;a=0;break a}N:{if(!g){break N}b=J[d+28>>2];a=(b<<2)+17560|0;O:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break O}j=rk(b)&j;J[4315]=j;break N}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break N}}J[c+24>>2]=g;a=J[d+16>>2];if(a){J[c+16>>2]=a;J[a+24>>2]=c}a=J[d+20>>2];if(!a){break N}J[c+20>>2]=a;J[a+24>>2]=c}P:{if(f>>>0<=15){a=f+h|0;J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;break P}J[d+4>>2]=h|3;e=d+h|0;J[e+4>>2]=f|1;J[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+17296|0;c=J[4314];a=1<<(f>>>3);Q:{if(!(c&a)){J[4314]=a|c;a=b;break Q}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break P}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+17560|0;R:{c=1<>2]=e;break S}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=J[b>>2];while(1){b=h;if((J[b+4>>2]&-8)==(f|0)){break R}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=J[c+16>>2];if(h){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break P}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=d+8|0;break a}T:{if(!i){break T}b=J[c+28>>2];a=(b<<2)+17560|0;U:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break U}m=17260,n=rk(b)&j,J[m>>2]=n;break T}J[i+(J[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break T}}J[d+24>>2]=i;a=J[c+16>>2];if(a){J[d+16>>2]=a;J[a+24>>2]=d}a=J[c+20>>2];if(!a){break T}J[d+20>>2]=a;J[a+24>>2]=d}V:{if(f>>>0<=15){a=f+h|0;J[c+4>>2]=a|3;a=a+c|0;J[a+4>>2]=J[a+4>>2]|1;break V}J[c+4>>2]=h|3;d=c+h|0;J[d+4>>2]=f|1;J[d+f>>2]=f;if(k){b=(k&-8)+17296|0;e=J[4319];a=1<<(k>>>3);W:{if(!(a&g)){J[4314]=a|g;a=b;break W}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a}J[4319]=d;J[4316]=f}a=c+8|0}fa=l+16|0;return a|0}function Hi(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=fa-32|0;fa=m;o=Cj(12);J[o+8>>2]=0;J[o+4>>2]=b;J[o>>2]=0;s=o+12|0;b=s;a:{b:{c:{while(1){b=b-12|0;v=J[b+8>>2];j=J[b+4>>2];t=J[b>>2];if(t){if((v|0)>1e3){break a}J[m+24>>2]=0;J[m+16>>2]=0;J[m+20>>2]=0;d=1;c=J[a>>2];e=J[c+8>>2];h=J[c+12>>2];g=J[c+20>>2];f=J[c+16>>2];d:{if((h|0)<=(g|0)&f>>>0>=e>>>0|(g|0)>(h|0)){break d}e=K[f+J[c>>2]|0];h=c;c=g;f=f+1|0;c=f?c:c+1|0;J[h+16>>2]=f;J[h+20>>2]=c;Kj(m+16|0,e);if(e){c=J[a>>2];n=Jj(m+16|0);p=J[c+8>>2];g=J[c+12>>2];h=J[c+20>>2];f=J[c+16>>2];k=f+e|0;h=k>>>0>>0?h+1|0:h;if((g|0)<=(h|0)&k>>>0>p>>>0|(g|0)<(h|0)){break d}Vi(n,f+J[c>>2]|0,e);d=J[c+20>>2];f=e;e=e+J[c+16>>2]|0;d=f>>>0>e>>>0?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d}j=Cj(24);c=j;J[c+4>>2]=0;J[c+8>>2]=0;c=c+16|0;J[c>>2]=0;J[c+4>>2]=0;J[j>>2]=j+4;J[j+12>>2]=c;e=fa-32|0;fa=e;h=t+12|0;c=m+16|0;u=tg(h,c);i=t+16|0;e:{if((u|0)==(i|0)){J[e+16>>2]=c;f:{g:{d=J[h+4>>2];h:{if(!d){f=h+4|0;c=f;break h}f=K[c+11|0];g=f<<24>>24<0;n=g?J[c>>2]:c;g=g?J[c+4>>2]:f;while(1){c=d;d=K[c+27|0];f=d<<24>>24<0;d=f?J[c+20>>2]:d;p=d>>>0>>0;i:{j:{k:{l:{k=p?d:g;m:{if(k){f=f?J[c+16>>2]:c+16|0;q=bj(n,f,k);if(!q){if(d>>>0>g>>>0){break m}break l}if((q|0)>=0){break l}break m}if(d>>>0<=g>>>0){break k}}f=c;d=J[c>>2];if(d){continue}break h}d=bj(f,n,k);if(d){break j}}if(p){break i}break g}if((d|0)>=0){break g}}d=J[c+4>>2];if(d){continue}break}f=c+4|0}d=Cj(32);n=d+16|0;g=J[e+16>>2];n:{if(H[g+11|0]>=0){p=J[g+4>>2];J[n>>2]=J[g>>2];J[n+4>>2]=p;J[n+8>>2]=J[g+8>>2];break n}Gj(n,J[g>>2],J[g+4>>2])}J[d+8>>2]=c;J[d>>2]=0;J[d+4>>2]=0;J[d+28>>2]=0;J[f>>2]=d;c=d;g=J[J[h>>2]>>2];if(g){J[h>>2]=g;c=J[f>>2]}oe(J[h+4>>2],c);J[h+8>>2]=J[h+8>>2]+1;c=1;break f}d=c;c=0}H[e+28|0]=c;J[e+24>>2]=d;d=J[e+24>>2];c=J[d+28>>2];J[d+28>>2]=j;if(!c){break e}jg(c+12|0,J[c+16>>2]);kg(c,J[c+4>>2]);xj(c);break e}if(!j){break e}jg(j+12|0,J[j+16>>2]);kg(j,J[j+4>>2]);xj(j)}fa=e+32|0;d=(i|0)!=(u|0)}if(H[m+27|0]<0){xj(J[m+16>>2])}if(d){break a}}if(!j){break a}J[m+16>>2]=0;if(!Ii(1,m+16|0,J[a>>2])){break a}q=0;w=J[m+16>>2];if(w){while(1){d=0;i=fa-32|0;fa=i;J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;c=J[a>>2];f=J[c+8>>2];o:{p:{h=J[c+12>>2];g=J[c+20>>2];e=J[c+16>>2];q:{if((h|0)<=(g|0)&e>>>0>=f>>>0|(g|0)>(h|0)){break q}f=K[e+J[c>>2]|0];h=c;c=g;e=e+1|0;c=e?c:c+1|0;J[h+16>>2]=e;J[h+20>>2]=c;Kj(i+16|0,f);if(f){e=J[a>>2];n=Jj(i+16|0);p=J[e+8>>2];g=J[e+12>>2];c=J[e+20>>2];h=J[e+16>>2];k=h+f|0;c=k>>>0>>0?c+1|0:c;if(k>>>0>p>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break q}Vi(n,h+J[e>>2]|0,f);c=J[e+20>>2];g=f;f=f+J[e+16>>2]|0;c=g>>>0>f>>>0?c+1|0:c;J[e+16>>2]=f;J[e+20>>2]=c}J[i+12>>2]=0;if(!Ii(1,i+12|0,J[a>>2])){break q}f=J[i+12>>2];if(!f){break q}e=J[a>>2];c=J[e+8>>2];h=J[e+16>>2];g=c-h|0;c=J[e+12>>2]-(J[e+20>>2]+(c>>>0>>0)|0)|0;if((c|0)<=0&f>>>0>g>>>0|(c|0)<0){break q}J[i+8>>2]=0;J[i>>2]=0;J[i+4>>2]=0;if((f|0)<0){break p}d=Cj(f);J[i>>2]=d;c=d+f|0;J[i+8>>2]=c;l=Xi(d,0,f);J[i+4>>2]=c;h=J[e+12>>2];x=h;p=J[e+8>>2];c=J[e+20>>2];k=J[e+16>>2];g=f+k|0;c=g>>>0>>0?c+1|0:c;u=g;n=c;r:{if((c|0)<=(h|0)&g>>>0<=p>>>0|(c|0)<(h|0)){Vi(l,J[e>>2]+k|0,f);d=J[e+20>>2];c=f+J[e+16>>2]|0;d=c>>>0>>0?d+1|0:d;J[e+16>>2]=c;J[e+20>>2]=d;h=fa-48|0;fa=h;e=tg(j,i+16|0);if((e|0)!=(j+4|0)){c=J[e+4>>2];s:{if(!c){c=e;while(1){d=J[c+8>>2];f=J[d>>2]!=(c|0);c=d;if(f){continue}break}break s}while(1){d=c;c=J[c>>2];if(c){continue}break}}if((e|0)==J[j>>2]){J[j>>2]=d}J[j+8>>2]=J[j+8>>2]-1;f=J[j+4>>2];t:{u:{g=e;d=e;e=J[d>>2];if(e){c=J[g+4>>2];if(!c){break u}while(1){d=c;c=J[c>>2];if(c){continue}break}}e=J[d+4>>2];if(e){break u}e=0;k=1;break t}J[e+8>>2]=J[d+8>>2];k=0}l=J[d+8>>2];c=J[l>>2];v:{if((d|0)==(c|0)){J[l>>2]=e;if((d|0)==(f|0)){c=0;f=e;break v}c=J[l+4>>2];break v}J[l+4>>2]=e}r=!K[d+12|0];if((d|0)!=(g|0)){l=J[g+8>>2];J[d+8>>2]=l;J[l+(((g|0)!=J[J[g+8>>2]>>2])<<2)>>2]=d;l=J[g>>2];J[d>>2]=l;J[l+8>>2]=d;l=J[g+4>>2];J[d+4>>2]=l;if(l){J[l+8>>2]=d}H[d+12|0]=K[g+12|0];f=(f|0)==(g|0)?d:f}w:{if(r|!f){break w}if(k){while(1){e=K[c+12|0];x:{d=J[c+8>>2];if(J[d>>2]!=(c|0)){if(!e){H[c+12|0]=1;H[d+12|0]=0;e=J[d+4>>2];k=J[e>>2];J[d+4>>2]=k;if(k){J[k+8>>2]=d}J[e+8>>2]=J[d+8>>2];k=J[d+8>>2];J[(((d|0)!=J[k>>2])<<2)+k>>2]=e;J[e>>2]=d;J[d+8>>2]=e;d=c;c=J[c>>2];f=(c|0)==(f|0)?d:f;c=J[c+4>>2]}y:{z:{d=J[c>>2];A:{if(!(K[d+12|0]?0:d)){e=J[c+4>>2];if(K[e+12|0]?0:e){break A}H[c+12|0]=0;c=J[c+8>>2];B:{if((f|0)==(c|0)){c=f;break B}if(K[c+12|0]){break x}}H[c+12|0]=1;break w}e=J[c+4>>2];if(!e){break z}}if(K[e+12|0]){break z}d=c;break y}H[d+12|0]=1;H[c+12|0]=0;e=J[d+4>>2];J[c>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[((J[e>>2]!=(c|0))<<2)+e>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;e=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[e+12|0]=1;d=J[c+4>>2];e=J[d>>2];J[c+4>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[(((c|0)!=J[e>>2])<<2)+e>>2]=d;J[d>>2]=c;J[c+8>>2]=d;break w}if(!e){H[c+12|0]=1;H[d+12|0]=0;e=J[c+4>>2];J[d>>2]=e;if(e){J[e+8>>2]=d}J[c+8>>2]=J[d+8>>2];e=J[d+8>>2];J[(((d|0)!=J[e>>2])<<2)+e>>2]=c;J[c+4>>2]=d;J[d+8>>2]=c;f=(d|0)==(f|0)?c:f;c=J[d>>2]}e=J[c>>2];C:{if(!(!e|K[e+12|0])){d=c;break C}d=J[c+4>>2];if(!(K[d+12|0]?0:d)){H[c+12|0]=0;c=J[c+8>>2];if((c|0)!=(f|0)?K[c+12|0]:0){break x}H[c+12|0]=1;break w}if(e){if(!K[e+12|0]){d=c;break C}d=J[c+4>>2]}H[d+12|0]=1;H[c+12|0]=0;e=J[d>>2];J[c+4>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[((J[e>>2]!=(c|0))<<2)+e>>2]=d;J[d>>2]=c;J[c+8>>2]=d;e=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[e+12|0]=1;d=J[c>>2];e=J[d+4>>2];J[c>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[(((c|0)!=J[e>>2])<<2)+e>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;break w}d=c;c=J[c+8>>2];c=J[(((d|0)==J[c>>2])<<2)+c>>2];continue}}H[e+12|0]=1}c=J[g+28>>2];if(c){J[g+32>>2]=c;xj(c)}if(H[g+27|0]<0){xj(J[g+16>>2])}xj(g)}J[h+8>>2]=0;J[h>>2]=0;J[h+4>>2]=0;c=J[i+4>>2];d=J[i>>2];f=c-d|0;e=0;D:{E:{if((c|0)!=(d|0)){if((f|0)<0){break E}e=Cj(f);c=Xi(e,0,f);g=c+f|0;J[h+8>>2]=g;J[h+4>>2]=g;J[h>>2]=c;c=d}Vi(e,c,f);F:{if(H[i+27|0]>=0){J[h+24>>2]=J[i+24>>2];c=J[i+20>>2];J[h+16>>2]=J[i+16>>2];J[h+20>>2]=c;break F}Gj(h+16|0,J[i+16>>2],J[i+20>>2])}Ki(h+28|0,h);f=h+16|0;c=f;G:{H:{d=J[j+4>>2];I:{if(!d){e=j+4|0;c=e;break I}e=K[c+11|0];g=e<<24>>24<0;k=g?J[c>>2]:c;g=g?J[c+4>>2]:e;while(1){c=d;d=K[c+27|0];e=d<<24>>24<0;d=e?J[c+20>>2]:d;l=d>>>0>>0;J:{K:{L:{M:{r=l?d:g;N:{if(r){e=e?J[c+16>>2]:c+16|0;y=bj(k,e,r);if(!y){if(d>>>0>g>>>0){break N}break M}if((y|0)>=0){break M}break N}if(d>>>0<=g>>>0){break L}}e=c;d=J[c>>2];if(d){continue}break I}d=bj(e,k,r);if(d){break K}}if(l){break J}break H}if((d|0)>=0){break H}}d=J[c+4>>2];if(d){continue}break}e=c+4|0}d=Cj(40);J[d+24>>2]=J[f+8>>2];g=J[f+4>>2];J[d+16>>2]=J[f>>2];J[d+20>>2]=g;J[f>>2]=0;J[f+4>>2]=0;J[f+8>>2]=0;Ki(d+28|0,f+12|0);J[d+8>>2]=c;J[d>>2]=0;J[d+4>>2]=0;J[e>>2]=d;c=d;f=J[J[j>>2]>>2];if(f){J[j>>2]=f;c=J[e>>2]}oe(J[j+4>>2],c);J[j+8>>2]=J[j+8>>2]+1;c=1;break G}d=c;c=0}H[h+44|0]=c;J[h+40>>2]=d;c=J[h+28>>2];if(c){J[h+32>>2]=c;xj(c)}if(H[h+27|0]<0){xj(J[h+16>>2])}c=J[h>>2];if(c){J[h+4>>2]=c;xj(c)}fa=h+48|0;break D}Ia();C()}d=J[i>>2];if(!d){break r}}J[i+4>>2]=d;xj(d)}d=(n|0)<=(x|0)&p>>>0>=u>>>0|(n|0)<(x|0)}if(H[i+27|0]<0){xj(J[i+16>>2])}fa=i+32|0;break o}Ia();C()}if(!d){break a}q=q+1|0;if((w|0)!=(q|0)){continue}break}}J[m+12>>2]=0;if(!Ii(1,m+12|0,J[a>>2])){break a}c=J[a>>2];e=J[c+8>>2];f=J[c+16>>2];h=e-f|0;d=J[m+12>>2];c=J[c+12>>2]-(J[c+20>>2]+(e>>>0>>0)|0)|0;if(h>>>0>>0&(c|0)<=0|(c|0)<0){break a}if(d){q=0;h=((t|0)!=0)+v|0;while(1){O:{if(b>>>0>>0){J[b+8>>2]=h;J[b+4>>2]=0;J[b>>2]=j;b=b+12|0;d=J[m+12>>2];break O}c=b-o|0;g=(c|0)/12|0;b=g+1|0;if(b>>>0>=357913942){break c}e=(s-o|0)/12|0;f=e<<1;e=e>>>0>=178956970?357913941:b>>>0>>0?f:b;if(e){if(e>>>0>=357913942){break b}f=Cj(P(e,12))}else{f=0}b=f+P(g,12)|0;J[b+8>>2]=h;J[b+4>>2]=0;J[b>>2]=j;c=Wi(b+P((c|0)/-12|0,12)|0,o,c);s=f+P(e,12)|0;b=b+12|0;if(o){xj(o)}o=c}q=q+1|0;if(q>>>0>>0){continue}break}}if((b|0)!=(o|0)){continue}break}z=1;break a}Ia();C()}Va();C()}if(o){xj(o)}fa=m+32|0;return z}function Fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=Q(0),q=0,r=0;e=fa-720|0;fa=e;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(L[b+38>>1]>=515){J[e+680>>2]=0;J[e+672>>2]=0;J[e+676>>2]=0;if((ka[J[J[a>>2]+24>>2]](a)|0)<=0){break d}while(1){c=ka[J[J[a>>2]+20>>2]](a,n)|0;d=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];if(J[d+28>>2]==9){f=J[e+672>>2];c=J[e+676>>2]-f>>2;k=K[d+24|0];j:{if(c>>>0>>0){La(e+672|0,k-c|0);break j}if(c>>>0<=k>>>0){break j}J[e+676>>2]=f+(k<<2)}j=0;i=J[b+8>>2];h=J[b+12>>2];c=J[b+20>>2];d=k<<2;f=J[b+16>>2];l=f+d|0;c=d>>>0>l>>>0?c+1|0:c;if(i>>>0>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break b}Vi(J[e+672>>2],f+J[b>>2]|0,d);c=J[b+20>>2];f=d;d=d+J[b+16>>2]|0;c=f>>>0>d>>>0?c+1|0:c;i=d;J[b+16>>2]=d;J[b+20>>2]=c;l=J[b+12>>2];g=J[b+8>>2];h=d+4|0;f=h>>>0<4?c+1|0:c;d=f;if(g>>>0>>0&(d|0)>=(l|0)|(d|0)>(l|0)){break b}o=J[b>>2];f=o+i|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=h;J[b+20>>2]=d;if(g>>>0<=h>>>0&(d|0)>=(l|0)|(d|0)>(l|0)){break b}d=K[h+o|0];h=i+5|0;c=h>>>0<5?c+1|0:c;J[b+16>>2]=h;J[b+20>>2]=c;if(d>>>0>31){break b}p=(x(2,f),D());J[e+20>>2]=-1;J[e+16>>2]=1880;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;c=J[e+672>>2];o=d-1|0;if(o>>>0<=29){J[e+20>>2]=d;k:{h=c+(k<<2)|0;l=h-c|0;f=l>>2;i=J[e+32>>2];d=J[e+24>>2];if(f>>>0<=i-d>>2>>>0){i=J[e+28>>2]-d|0;l=i>>2;i=f>>>0>l>>>0?c+i|0:h;g=i-c|0;if((c|0)!=(i|0)){Wi(d,c,g)}if(f>>>0>l>>>0){c=h-i|0;d=J[e+28>>2];if((h|0)!=(i|0)){Wi(d,i,c)}J[e+28>>2]=c+d;break k}J[e+28>>2]=d+g;break k}if(d){J[e+28>>2]=d;xj(d);J[e+32>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;i=0}l:{if((l|0)<0){break l}d=i>>>1|0;d=i>>>0>=2147483644?1073741823:d>>>0>f>>>0?d:f;if(d>>>0>=1073741824){break l}i=d<<2;d=Cj(i);J[e+28>>2]=d;J[e+24>>2]=d;J[e+32>>2]=d+i;if((c|0)!=(h|0)){Vi(d,c,l)}J[e+28>>2]=d+(f<<2);break k}Ia();C()}N[e+36>>2]=p}m:{if(o>>>0>=30){break m}if(!Wa(e+16|0,J[J[a+60>>2]+((J[a+40>>2]-J[a+36>>2]|0)/24<<2)>>2])){break m}c=J[a+40>>2];n:{if((c|0)!=J[a+44>>2]){J[c>>2]=1880;d=J[e+20>>2];J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+4>>2]=d;d=J[e+28>>2];f=J[e+24>>2];if((d|0)!=(f|0)){d=d-f|0;if((d|0)<0){break i}g=Cj(d);J[c+12>>2]=g;J[c+8>>2]=g;J[c+16>>2]=(d&-4)+g;k=J[e+24>>2];d=J[e+28>>2];if((k|0)!=(d|0)){while(1){N[g>>2]=N[k>>2];g=g+4|0;k=k+4|0;if((d|0)!=(k|0)){continue}break}}J[c+12>>2]=g}N[c+20>>2]=N[e+36>>2];J[a+40>>2]=c+24;break n}d=0;o:{p:{q:{r:{j=J[a+40>>2];f=J[a+36>>2];i=(j-f|0)/24|0;c=i+1|0;if(c>>>0<178956971){h=(J[a+44>>2]-f|0)/24|0;l=h<<1;h=h>>>0>=89478485?178956970:c>>>0>>0?l:c;if(h){if(h>>>0>=178956971){break r}d=Cj(P(h,24))}g=P(i,24)+d|0;J[g>>2]=1880;c=J[e+20>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g+4>>2]=c;c=J[e+24>>2];i=J[e+28>>2];if((c|0)!=(i|0)){l=i-c|0;if((l|0)<0){break q}k=Cj(l);J[g+8>>2]=k;J[g+16>>2]=(l&-4)+k;while(1){N[k>>2]=N[c>>2];k=k+4|0;c=c+4|0;if((i|0)!=(c|0)){continue}break}J[g+12>>2]=k}c=P(h,24)+d|0;N[g+20>>2]=N[e+36>>2];d=g+24|0;if((f|0)==(j|0)){break p}while(1){g=g-24|0;J[g>>2]=1880;j=j-24|0;J[g+4>>2]=J[j+4>>2];J[g+8>>2]=J[j+8>>2];J[g+12>>2]=J[j+12>>2];J[g+16>>2]=J[j+16>>2];J[j+16>>2]=0;J[j+8>>2]=0;J[j+12>>2]=0;N[g+20>>2]=N[j+20>>2];if((f|0)!=(j|0)){continue}break}J[a+44>>2]=c;k=J[a+40>>2];J[a+40>>2]=d;j=J[a+36>>2];J[a+36>>2]=g;if((j|0)==(k|0)){break o}while(1){k=k-24|0;ka[J[J[k>>2]>>2]](k)|0;if((j|0)!=(k|0)){continue}break}break o}Ia();C()}Va();C()}Ia();C()}J[a+44>>2]=c;J[a+40>>2]=d;J[a+36>>2]=g}if(j){xj(j)}}j=1}J[e+16>>2]=1880;c=J[e+24>>2];if(c){J[e+28>>2]=c;xj(c)}if(!j){break c}}n=n+1|0;if((ka[J[J[a>>2]+24>>2]](a)|0)>(n|0)){continue}break}break d}k=ka[J[J[a>>2]+24>>2]](a)|0;J[e+712>>2]=0;J[e+704>>2]=0;J[e+708>>2]=0;if(k){if(k>>>0>=214748365){break h}c=P(k,20);d=Cj(c);J[e+704>>2]=d;J[e+712>>2]=c+d;c=c-20|0;c=(c-((c>>>0)%20|0)|0)+20|0;q=e,r=Xi(d,0,c)+c|0,J[q+708>>2]=r;while(1){c=ka[J[J[a>>2]+20>>2]](a,m)|0;d=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];f=J[d+28>>2];c=f-1|0;if(c>>>0<=10){c=J[(c<<2)+13632>>2]}else{c=-1}h=(c|0)>0?c:0;if(h>>>0>4){break f}c=J[e+704>>2]+P(m,20)|0;i=K[d+24|0];J[c+16>>2]=i;J[c+12>>2]=h;J[c+8>>2]=f;J[c+4>>2]=g;J[c>>2]=d;g=g+i|0;m=m+1|0;if((k|0)!=(m|0)){continue}break}}c=ka[J[J[a>>2]+20>>2]](a,0)|0;m=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];H[m+84|0]=1;J[m+72>>2]=J[m+68>>2];h=J[b+12>>2];c=h;d=J[b+20>>2];f=J[b+8>>2];i=J[b+16>>2];if((c|0)<=(d|0)&f>>>0<=i>>>0|(c|0)<(d|0)){break f}n=J[b>>2];o=K[n+i|0];c=d;l=i+1|0;c=l?c:c+1|0;J[b+16>>2]=l;J[b+20>>2]=c;s:{switch(o|0){case 0:a=J[e+704>>2];if((J[e+708>>2]-a|0)!=20){break e}if(J[a+16>>2]!=3){break f}t:{if(f>>>0<=l>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break t}c=d;a=i+2|0;c=a>>>0<2?c+1|0:c;l=a;J[b+16>>2]=a;J[b+20>>2]=c;c=d;a=i+6|0;c=a>>>0<6?c+1|0:c;if(a>>>0>f>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break t}d=l+n|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=a;J[b+20>>2]=c;$a(m,d);j=e+672|0;J[j+20>>2]=0;J[j+12>>2]=0;J[j+16>>2]=0;J[j>>2]=0;J[j+4>>2]=0;J[j+20>>2]=d;d=qb(e+16|0,e+704|0);k=0;g=fa-32|0;fa=g;J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;f=J[b+12>>2];m=f;i=J[b+8>>2];c=J[b+20>>2];l=c;h=J[b+16>>2];a=h+4|0;c=a>>>0<4?c+1|0:c;u:{if(a>>>0>i>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break u}n=J[b>>2];f=n+h|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=a;J[b+20>>2]=c;v:{w:{switch(f-2|0){case 1:if((c|0)>=(m|0)&a>>>0>=i>>>0|(c|0)>(m|0)){break u}a=H[a+n|0];c=l;f=h+5|0;c=f>>>0<5?c+1|0:c;J[b+16>>2]=f;J[b+20>>2]=c;J[j+8>>2]=a;if((a|0)==1){if(Ti(j,b,g+16|0)){break v}break u}aj(1846,23,J[3455]);break u;default:aj(1821,24,J[3455]);break u;case 0:break w}}if(!Ti(j,b,g+16|0)){break u}}J[g+8>>2]=J[g+16>>2];J[g>>2]=J[g+20>>2];c=fa-32|0;fa=c;a=J[j>>2];p=N[j+4>>2];J[c+24>>2]=1065353216;h=-1<0){N[c+24>>2]=p/Q(a|0)}m=J[g+8>>2];n=J[g>>2];if((m|0)!=(n|0)){a=J[d+28>>2];while(1){b=J[m>>2];f=J[m+4>>2];p=N[c+24>>2];N[c+16>>2]=p*Q(J[m+8>>2]-h|0);N[c+12>>2]=p*Q(f-h|0);N[c+8>>2]=p*Q(b-h|0);b=a;i=J[d+16>>2];f=J[i>>2];if(!K[f+84|0]){b=J[J[f+68>>2]+(a<<2)>>2]}if(M[f+80>>2]>b>>>0){a=J[f+40>>2];Vi(J[J[f>>2]>>2]+P(a,b)|0,(c+8|0)+(J[i+4>>2]<<2)|0,a);n=J[g>>2];a=J[d+28>>2]}a=a+1|0;J[d+28>>2]=a;m=m+12|0;if((n|0)!=(m|0)){continue}break}}fa=c+32|0;k=1}a=J[g+16>>2];if(a){J[g+20>>2]=a;xj(a)}fa=g+32|0;Eb(d);j=1;if(k){break f}}j=0;break f;case 1:break s;default:break f}}if(f>>>0<=l>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break f}o=K[l+n|0];c=d;l=i+2|0;c=l>>>0<2?c+1|0:c;J[b+16>>2]=l;J[b+20>>2]=c;if(o>>>0>=7){J[e>>2]=o;cj(1698,e);break f}c=d;d=i+6|0;c=d>>>0<6?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break f}f=l+n|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=d;J[b+20>>2]=c;if(k){m=0;while(1){c=ka[J[J[a>>2]+20>>2]](a,m)|0;c=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];$a(c,f);H[c+84|0]=1;J[c+72>>2]=J[c+68>>2];m=m+1|0;if((k|0)!=(m|0)){continue}break}}a=qb(e+672|0,e+704|0);x:{y:{switch(o|0){case 1:c=tb(e+16|0,g);b=ub(c,b,a,-1);sb(c);if(!b){break g}break x;case 2:c=xb(e+16|0,g);b=vb(c,b,a,-1);wb(c);if(!b){break g}break x;case 3:c=xb(e+16|0,g);b=yb(c,b,a,-1);wb(c);if(!b){break g}break x;case 4:c=Bb(e+16|0,g);b=zb(c,b,a,-1);Ab(c);if(!b){break g}break x;case 5:c=Bb(e+16|0,g);b=Cb(c,b,a,-1);Ab(c);if(!b){break g}break x;case 6:c=Bb(e+16|0,g);b=Db(c,b,a,-1);Ab(c);if(b){break x}break g;case 0:break y;default:break g}}c=tb(e+16|0,g);b=rb(c,b,a,-1);sb(c);if(!b){break g}}Eb(a);j=1;break f}Ia();C()}Ia();C()}Eb(a)}a=J[e+704>>2]}if(!a){break a}J[e+708>>2]=a;xj(a);break a}j=1;if(J[a+52>>2]==J[a+48>>2]){break b}while(1){if(!Gb(1,e+16|0,b)){break c}c=J[a+48>>2];d=J[e+16>>2];J[c+(m<<2)>>2]=d>>>1^0-(d&1);m=m+1|0;if(m>>>0>2]-c>>2>>>0){continue}break}break b}j=0}a=J[e+672>>2];if(!a){break a}J[e+676>>2]=a;xj(a)}fa=e+720|0;return j|0}function gg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=fa-32|0;fa=h;J[b+32>>2]=d;J[b+40>>2]=c;J[b+4>>2]=e;cg(a,d,h+16|0);a:{if(J[a>>2]){break a}if(H[a+15|0]<0){xj(J[a+4>>2])}d=K[h+23|0];if((ka[J[J[b>>2]+8>>2]](b)|0)!=(d|0)){b=Cj(64);H[b+50|0]=0;c=K[1349]|K[1350]<<8;H[b+48|0]=c;H[b+49|0]=c>>>8;c=K[1345]|K[1346]<<8|(K[1347]<<16|K[1348]<<24);d=K[1341]|K[1342]<<8|(K[1343]<<16|K[1344]<<24);H[b+40|0]=d;H[b+41|0]=d>>>8;H[b+42|0]=d>>>16;H[b+43|0]=d>>>24;H[b+44|0]=c;H[b+45|0]=c>>>8;H[b+46|0]=c>>>16;H[b+47|0]=c>>>24;c=K[1337]|K[1338]<<8|(K[1339]<<16|K[1340]<<24);d=K[1333]|K[1334]<<8|(K[1335]<<16|K[1336]<<24);H[b+32|0]=d;H[b+33|0]=d>>>8;H[b+34|0]=d>>>16;H[b+35|0]=d>>>24;H[b+36|0]=c;H[b+37|0]=c>>>8;H[b+38|0]=c>>>16;H[b+39|0]=c>>>24;c=K[1329]|K[1330]<<8|(K[1331]<<16|K[1332]<<24);d=K[1325]|K[1326]<<8|(K[1327]<<16|K[1328]<<24);H[b+24|0]=d;H[b+25|0]=d>>>8;H[b+26|0]=d>>>16;H[b+27|0]=d>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1321]|K[1322]<<8|(K[1323]<<16|K[1324]<<24);d=K[1317]|K[1318]<<8|(K[1319]<<16|K[1320]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1313]|K[1314]<<8|(K[1315]<<16|K[1316]<<24);d=K[1309]|K[1310]<<8|(K[1311]<<16|K[1312]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1305]|K[1306]<<8|(K[1307]<<16|K[1308]<<24);d=K[1301]|K[1302]<<8|(K[1303]<<16|K[1304]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,b,50);xj(b);break a}c=K[h+21|0];H[b+36|0]=c;e=K[h+22|0];H[b+37|0]=e;if((c-3&255)>>>0<=253){b=Cj(32);H[b+22|0]=0;c=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);d=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);H[b+14|0]=d;H[b+15|0]=d>>>8;H[b+16|0]=d>>>16;H[b+17|0]=d>>>24;H[b+18|0]=c;H[b+19|0]=c>>>8;H[b+20|0]=c>>>16;H[b+21|0]=c>>>24;c=K[1456]|K[1457]<<8|(K[1458]<<16|K[1459]<<24);d=K[1452]|K[1453]<<8|(K[1454]<<16|K[1455]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1448]|K[1449]<<8|(K[1450]<<16|K[1451]<<24);d=K[1444]|K[1445]<<8|(K[1446]<<16|K[1447]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-5;Gj(a+4|0,b,22);xj(b);break a}if(!((c|0)!=2|e>>>0<=(d?2:3)>>>0)){b=Cj(32);H[b+22|0]=0;c=K[1439]|K[1440]<<8|(K[1441]<<16|K[1442]<<24);d=K[1435]|K[1436]<<8|(K[1437]<<16|K[1438]<<24);H[b+14|0]=d;H[b+15|0]=d>>>8;H[b+16|0]=d>>>16;H[b+17|0]=d>>>24;H[b+18|0]=c;H[b+19|0]=c>>>8;H[b+20|0]=c>>>16;H[b+21|0]=c>>>24;c=K[1433]|K[1434]<<8|(K[1435]<<16|K[1436]<<24);d=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1425]|K[1426]<<8|(K[1427]<<16|K[1428]<<24);d=K[1421]|K[1422]<<8|(K[1423]<<16|K[1424]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-5;Gj(a+4|0,b,22);xj(b);break a}c=e|c<<8;I[J[b+32>>2]+38>>1]=c;b:{if((c&65535)>>>0<259|I[h+26>>1]>=0){break b}i=fa-16|0;fa=i;e=Cj(36);c=e;J[c+4>>2]=0;J[c+8>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;c=c+16|0;J[c>>2]=0;J[c+4>>2]=0;J[e>>2]=e+4;J[e+32>>2]=0;J[e+12>>2]=c;J[i>>2]=0;d=J[b+32>>2];j=fa-16|0;fa=j;c=0;c:{if(!e){break c}J[i>>2]=d;J[j+12>>2]=0;c=0;if(!Ii(1,j+12|0,d)){break c}m=J[j+12>>2];if(m){while(1){d:{if(Ii(1,j+8|0,J[i>>2])){c=Cj(28);J[c+4>>2]=0;J[c+8>>2]=0;d=c+16|0;J[d>>2]=0;J[d+4>>2]=0;J[c>>2]=c+4;J[c+12>>2]=d;J[c+24>>2]=J[j+8>>2];if(Hi(i,c)){break d}jg(c+12|0,J[c+16>>2]);kg(c,J[c+4>>2]);xj(c)}c=0;break c}f=fa-16|0;fa=f;J[f+8>>2]=c;e:{if(!c){break e}d=J[e+28>>2];f:{if(d>>>0>2]){J[f+8>>2]=0;J[d>>2]=c;J[e+28>>2]=d+4;break f}d=0;g:{h:{i:{g=J[e+24>>2];l=J[e+28>>2]-g>>2;c=l+1|0;if(c>>>0<1073741824){g=J[e+32>>2]-g|0;k=g>>>1|0;g=g>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(g){if(g>>>0>=1073741824){break i}d=Cj(g<<2)}k=J[f+8>>2];J[f+8>>2]=0;c=(l<<2)+d|0;J[c>>2]=k;g=(g<<2)+d|0;l=c+4|0;d=J[e+28>>2];k=J[e+24>>2];if((d|0)==(k|0)){break h}while(1){d=d-4|0;o=J[d>>2];J[d>>2]=0;c=c-4|0;J[c>>2]=o;if((d|0)!=(k|0)){continue}break}J[e+32>>2]=g;g=J[e+28>>2];J[e+28>>2]=l;d=J[e+24>>2];J[e+24>>2]=c;if((d|0)==(g|0)){break g}while(1){g=g-4|0;c=J[g>>2];J[g>>2]=0;if(c){jg(c+12|0,J[c+16>>2]);kg(c,J[c+4>>2]);xj(c)}if((d|0)!=(g|0)){continue}break}break g}Ia();C()}Va();C()}J[e+32>>2]=g;J[e+28>>2]=l;J[e+24>>2]=c}if(d){xj(d)}}c=J[f+8>>2];J[f+8>>2]=0;if(!c){break e}jg(c+12|0,J[c+16>>2]);kg(c,J[c+4>>2]);xj(c)}fa=f+16|0;n=n+1|0;if((m|0)!=(n|0)){continue}break}}c=Hi(i,e)}fa=j+16|0;j:{if(c){d=J[b+4>>2];c=J[d+4>>2];J[d+4>>2]=e;if(c){fg(c)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break j}c=Cj(32);H[c+26|0]=0;d=K[1614]|K[1615]<<8;H[c+24|0]=d;H[c+25|0]=d>>>8;d=K[1610]|K[1611]<<8|(K[1612]<<16|K[1613]<<24);f=K[1606]|K[1607]<<8|(K[1608]<<16|K[1609]<<24);H[c+16|0]=f;H[c+17|0]=f>>>8;H[c+18|0]=f>>>16;H[c+19|0]=f>>>24;H[c+20|0]=d;H[c+21|0]=d>>>8;H[c+22|0]=d>>>16;H[c+23|0]=d>>>24;d=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);f=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[c+8|0]=f;H[c+9|0]=f>>>8;H[c+10|0]=f>>>16;H[c+11|0]=f>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1594]|K[1595]<<8|(K[1596]<<16|K[1597]<<24);f=K[1590]|K[1591]<<8|(K[1592]<<16|K[1593]<<24);H[c|0]=f;H[c+1|0]=f>>>8;H[c+2|0]=f>>>16;H[c+3|0]=f>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;J[a>>2]=-1;Gj(a+4|0,c,26);xj(c);J[i+8>>2]=0;fg(e)}fa=i+16|0;if(J[a>>2]){break a}if(H[a+15|0]>=0){break b}xj(J[a+4>>2])}if(!(ka[J[J[b>>2]+12>>2]](b)|0)){b=Cj(48);H[b+33|0]=0;H[b+32|0]=K[1419];c=K[1415]|K[1416]<<8|(K[1417]<<16|K[1418]<<24);d=K[1411]|K[1412]<<8|(K[1413]<<16|K[1414]<<24);H[b+24|0]=d;H[b+25|0]=d>>>8;H[b+26|0]=d>>>16;H[b+27|0]=d>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1407]|K[1408]<<8|(K[1409]<<16|K[1410]<<24);d=K[1403]|K[1404]<<8|(K[1405]<<16|K[1406]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1399]|K[1400]<<8|(K[1401]<<16|K[1402]<<24);d=K[1395]|K[1396]<<8|(K[1397]<<16|K[1398]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1391]|K[1392]<<8|(K[1393]<<16|K[1394]<<24);d=K[1387]|K[1388]<<8|(K[1389]<<16|K[1390]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,b,33);xj(b);break a}if(!(ka[J[J[b>>2]+20>>2]](b)|0)){b=dg(h,1617);J[a>>2]=-1;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break a}Gj(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break a}xj(J[b>>2]);break a}if(!(ka[J[J[b>>2]+24>>2]](b)|0)){b=dg(h,1352);J[a>>2]=-1;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break a}Gj(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break a}xj(J[b>>2]);break a}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}fa=h+32|0}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=fa-16|0;fa=m;J[m+12>>2]=b;b=Cj(32);J[m>>2]=b;J[m+4>>2]=24;J[m+8>>2]=-2147483616;c=K[1229]|K[1230]<<8|(K[1231]<<16|K[1232]<<24);d=K[1225]|K[1226]<<8|(K[1227]<<16|K[1228]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1221]|K[1222]<<8|(K[1223]<<16|K[1224]<<24);d=K[1217]|K[1218]<<8|(K[1219]<<16|K[1220]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1213]|K[1214]<<8|(K[1215]<<16|K[1216]<<24);d=K[1209]|K[1210]<<8|(K[1211]<<16|K[1212]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+24|0]=0;l=fa-48|0;fa=l;f=J[m+12>>2];d=a;a=a+16|0;b=J[a>>2];a:{b:{if(!b){break b}c=a;while(1){e=(f|0)>J[b+16>>2];c=e?c:b;b=J[(e?b+4|0:b)>>2];if(b){continue}break}if((a|0)==(c|0)){break b}if((f|0)>=J[c+16>>2]){break a}}J[l+28>>2]=0;J[l+32>>2]=0;x=l+24|0;J[l+24>>2]=x|4;a=l+16|0;J[a>>2]=0;J[a+4>>2]=0;J[l+8>>2]=f;J[l+12>>2]=a;t=l+8|0;a=t;w=fa-16|0;fa=w;u=d+12|0;c=J[u+4>>2];c:{d:{if(!c){o=u+4|0;d=o;break d}a=J[a>>2];while(1){d=c;b=J[c+16>>2];if((b|0)>(a|0)){o=d;c=J[d>>2];if(c){continue}break d}if((a|0)<=(b|0)){g=d;a=0;break c}c=J[d+4>>2];if(c){continue}break}o=d+4|0}g=Cj(32);b=J[t>>2];q=g+24|0;a=q;J[a>>2]=0;J[a+4>>2]=0;J[g+16>>2]=b;r=g+20|0;J[r>>2]=a;c=J[t+4>>2];y=t+8|0;if((c|0)!=(y|0)){while(1){p=fa-16|0;fa=p;a=p+8|0;k=c+16|0;e:{f:{g:{h:{i:{j:{k:{f=q;e=r+4|0;l:{if((f|0)==(e|0)){break l}b=K[f+27|0];h=b<<24>>24<0;i=K[k+11|0];n=i<<24>>24;j=(n|0)<0;i=j?J[k+4>>2]:i;b=h?J[f+20>>2]:b;s=i>>>0>b>>>0;v=s?b:i;if(v){j=j?J[k>>2]:k;h=h?J[f+16>>2]:f+16|0;z=bj(j,h,v);if(!z){if(b>>>0>i>>>0){break l}break k}if((z|0)>=0){break k}break l}if(b>>>0<=i>>>0){break j}}h=J[f>>2];m:{a=f;n:{if((a|0)==J[r>>2]){break n}o:{if(!h){b=f;while(1){a=J[b+8>>2];i=J[a>>2]==(b|0);b=a;if(i){continue}break}break o}b=h;while(1){a=b;b=J[b+4>>2];if(b){continue}break}}i=K[k+11|0];s=i<<24>>24;b=(s|0)<0;j=K[a+27|0];n=j<<24>>24<0;p:{i=b?J[k+4>>2]:i;j=n?J[a+20>>2]:j;v=i>>>0>>0?i:j;if(v){b=bj(n?J[a+16>>2]:a+16|0,b?J[k>>2]:k,v);if(b){break p}}if(i>>>0>j>>>0){break n}break m}if((b|0)>=0){break m}}if(!h){J[p+12>>2]=f;a=f;break e}J[p+12>>2]=a;a=a+4|0;break e}b=J[e>>2];if(!b){J[p+12>>2]=e;a=e;break e}h=(s|0)<0?J[k>>2]:k;f=e;while(1){a=b;b=K[b+27|0];e=b<<24>>24<0;b=e?J[a+20>>2]:b;k=b>>>0>>0;q:{r:{s:{t:{n=k?b:i;u:{if(n){e=e?J[a+16>>2]:a+16|0;j=bj(h,e,n);if(!j){if(b>>>0>i>>>0){break u}break t}if((j|0)>=0){break t}break u}if(b>>>0<=i>>>0){break s}}f=a;b=J[a>>2];if(b){continue}break g}b=bj(e,h,n);if(b){break r}}if(k){break q}break g}if((b|0)>=0){break g}}f=a+4|0;b=J[a+4>>2];if(b){continue}break}break g}b=bj(h,j,v);if(b){break i}}if(s){break h}break f}if((b|0)>=0){break f}}h=J[f+4>>2];v:{if(!h){b=f;while(1){a=J[b+8>>2];j=J[a>>2]!=(b|0);b=a;if(j){continue}break}break v}b=h;while(1){a=b;b=J[b>>2];if(b){continue}break}}w:{x:{if((a|0)==(e|0)){break x}j=K[a+27|0];b=j<<24>>24<0;y:{j=b?J[a+20>>2]:j;s=i>>>0>j>>>0?j:i;if(s){b=bj((n|0)<0?J[k>>2]:k,b?J[a+16>>2]:a+16|0,s);if(b){break y}}if(i>>>0>>0){break x}break w}if((b|0)>=0){break w}}if(!h){J[p+12>>2]=f;a=f+4|0;break e}J[p+12>>2]=a;break e}b=J[e>>2];if(!b){J[p+12>>2]=e;a=e;break e}h=(n|0)<0?J[k>>2]:k;f=e;while(1){a=b;b=K[b+27|0];e=b<<24>>24<0;b=e?J[a+20>>2]:b;k=b>>>0>>0;z:{A:{B:{C:{n=k?b:i;D:{if(n){e=e?J[a+16>>2]:a+16|0;j=bj(h,e,n);if(!j){if(b>>>0>i>>>0){break D}break C}if((j|0)>=0){break C}break D}if(b>>>0<=i>>>0){break B}}f=a;b=J[a>>2];if(b){continue}break g}b=bj(e,h,n);if(b){break A}}if(k){break z}break g}if((b|0)>=0){break g}}f=a+4|0;b=J[a+4>>2];if(b){continue}break}}J[p+12>>2]=a;a=f;break e}J[p+12>>2]=f;J[a>>2]=f}f=a;a=J[a>>2];if(a){b=0}else{a=Cj(40);b=a+16|0;E:{if(H[c+27|0]>=0){e=J[c+20>>2];J[b>>2]=J[c+16>>2];J[b+4>>2]=e;J[b+8>>2]=J[c+24>>2];break E}Gj(b,J[c+16>>2],J[c+20>>2])}b=a+28|0;F:{if(H[c+39|0]>=0){e=J[c+32>>2];J[b>>2]=J[c+28>>2];J[b+4>>2]=e;J[b+8>>2]=J[c+36>>2];break F}Gj(b,J[c+28>>2],J[c+32>>2])}J[a+8>>2]=J[p+12>>2];J[a>>2]=0;J[a+4>>2]=0;J[f>>2]=a;b=a;e=J[J[r>>2]>>2];if(e){J[r>>2]=e;b=J[f>>2]}oe(J[r+4>>2],b);J[r+8>>2]=J[r+8>>2]+1;b=1}H[w+12|0]=b;J[w+8>>2]=a;fa=p+16|0;b=J[c+4>>2];G:{if(b){while(1){c=b;b=J[b>>2];if(b){continue}break G}}while(1){a=c;c=J[c+8>>2];if((a|0)!=J[c>>2]){continue}break}}if((c|0)!=(y|0)){continue}break}}J[g+8>>2]=d;J[g>>2]=0;J[g+4>>2]=0;J[o>>2]=g;c=g;a=J[J[u>>2]>>2];if(a){J[u>>2]=a;c=J[o>>2]}oe(J[u+4>>2],c);J[u+8>>2]=J[u+8>>2]+1;a=1}H[l+44|0]=a;J[l+40>>2]=g;fa=w+16|0;c=J[l+40>>2];ne(t|4,J[l+16>>2]);ne(x,J[l+28>>2])}f=fa-48|0;fa=f;d=f+8|0;g=fa-32|0;fa=g;o=g+32|0;b=o;a=g+21|0;H:{if((b|0)==(a|0)){break H}}e=b-a|0;I:{if((e|0)<=9){h=61;if((e|0)<(M[3672]<=1|0)){break I}}H[a|0]=49;b=a+1|0;h=0}J[g+12>>2]=h;J[g+8>>2]=b;h=fa-16|0;fa=h;e=fa-16|0;fa=e;J:{q=J[g+8>>2];g=q-a|0;if(g>>>0<=2147483631){K:{if(g>>>0<11){H[d+11|0]=g|K[d+11|0]&128;H[d+11|0]=K[d+11|0]&127;b=d;break K}t=e+8|0;if(g>>>0>=11){k=g+16&-16;b=k-1|0;b=(b|0)==11?k:b}else{b=10}Aj(t,b+1|0);b=J[e+8>>2];J[d>>2]=b;J[d+8>>2]=J[d+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[d+8>>2]=J[d+8>>2]|-2147483648;J[d+4>>2]=g}while(1){if((a|0)!=(q|0)){H[b|0]=K[a|0];b=b+1|0;a=a+1|0;continue}break}H[e+7|0]=0;H[b|0]=K[e+7|0];fa=e+16|0;break J}eg();C()}fa=h+16|0;fa=o;J[f+32>>2]=m;L:{M:{a=c+20|0;d=J[a+4>>2];N:{if(!d){g=a+4|0;c=g;break N}b=K[m+11|0];c=b<<24>>24<0;e=c?J[m>>2]:m;b=c?J[m+4>>2]:b;while(1){c=d;d=K[c+27|0];g=d<<24>>24<0;d=g?J[c+20>>2]:d;o=d>>>0>>0;O:{P:{Q:{R:{h=o?d:b;S:{if(h){g=g?J[c+16>>2]:c+16|0;q=bj(e,g,h);if(!q){if(b>>>0>>0){break S}break R}if((q|0)>=0){break R}break S}if(b>>>0>=d>>>0){break Q}}g=c;d=J[c>>2];if(d){continue}break N}d=bj(g,e,h);if(d){break P}}if(o){break O}break M}if((d|0)>=0){break M}}d=J[c+4>>2];if(d){continue}break}g=c+4|0}d=Cj(40);e=d+16|0;b=J[f+32>>2];T:{if(H[b+11|0]>=0){o=J[b+4>>2];J[e>>2]=J[b>>2];J[e+4>>2]=o;J[e+8>>2]=J[b+8>>2];break T}Gj(e,J[b>>2],J[b+4>>2])}J[d+8>>2]=c;J[d>>2]=0;J[d+4>>2]=0;J[d+36>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[g>>2]=d;c=d;b=J[J[a>>2]>>2];if(b){J[a>>2]=b;c=J[g>>2]}oe(J[a+4>>2],c);J[a+8>>2]=J[a+8>>2]+1;a=1;break L}d=c;a=0}H[f+44|0]=a;J[f+40>>2]=d;a=J[f+40>>2];if(H[a+39|0]<0){xj(J[a+28>>2])}b=J[f+12>>2];J[a+28>>2]=J[f+8>>2];J[a+32>>2]=b;J[a+36>>2]=J[f+16>>2];fa=f+48|0;fa=l+48|0;if(H[m+11|0]<0){xj(J[m>>2])}fa=m+16|0}function rb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=J[b+8>>2];e=J[b+12>>2];g=J[b+20>>2];h=J[b+16>>2];k=h+4|0;g=k>>>0<4?g+1|0:g;a:{if(j>>>0>>0&(e|0)<=(g|0)|(e|0)<(g|0)){break a}h=h+J[b>>2]|0;J[a>>2]=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);h=J[b+20>>2];e=h;j=J[b+16>>2];g=j+4|0;h=g>>>0<4?e+1|0:e;J[b+16>>2]=g;J[b+20>>2]=h;if(M[a>>2]>32){break a}l=J[b+8>>2];k=J[b+12>>2];h=e;e=j+8|0;h=e>>>0<8?h+1|0:h;if(e>>>0>l>>>0&(h|0)>=(k|0)|(h|0)>(k|0)){break a}h=J[b>>2]+g|0;g=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[a+4>>2]=g;h=J[b+20>>2];e=J[b+16>>2]+4|0;h=e>>>0<4?h+1|0:h;J[b+16>>2]=e;J[b+20>>2]=h;if(!g){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!ge(a+16|0,b)){break a}if(!ge(a+36|0,b)){break a}if(!ge(a+56|0,b)){break a}if(!ge(a+76|0,b)){break a}s=J[a+4>>2];h=c;b=0;g=0;e=fa-32|0;fa=e;d=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}c=a<<2;b=Cj(c);J[e+8>>2]=b;g=b+c|0;J[e+16>>2]=g;Xi(b,0,c);J[e+12>>2]=g}c=J[d+120>>2];i=J[c>>2];if(i){J[c+4>>2]=i;xj(i);g=J[e+12>>2];b=J[e+8>>2];a=J[d+12>>2]}J[c+4>>2]=g;J[c>>2]=b;J[c+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;f=Cj(a);J[e+8>>2]=f;b=a+f|0;J[e+16>>2]=b;Xi(f,0,a);J[e+12>>2]=b}a=J[d+132>>2];c=J[a>>2];if(c){J[a+4>>2]=c;xj(c);f=J[e+8>>2];b=J[e+12>>2]}J[a+4>>2]=b;J[a>>2]=f;J[a+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);a=J[e+24>>2]+J[e+28>>2]|0;b=(a>>>0)/341|0;a=J[J[e+12>>2]+(b<<2)>>2]+P(a-P(b,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=s;c=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}while(1){b=J[e+12>>2];f=J[e+24>>2];k=a-1|0;c=f+k|0;i=(c>>>0)/341|0;c=J[b+(i<<2)>>2]+P(c-P(i,341)|0,12)|0;g=J[c+8>>2];i=J[c+4>>2];j=J[c>>2];J[e+28>>2]=k;c=J[e+16>>2];if((((b|0)!=(c|0)?P(c-b>>2,341)-1|0:0)-(a+f|0)|0)+1>>>0>=682){xj(J[c-4>>2]);J[e+16>>2]=J[e+16>>2]-4}c=0;if(j>>>0>s>>>0){break e}b=J[d+12>>2];a=(b-1|0)!=(i|0)?i+1|0:0;if(a>>>0>=b>>>0){break e}f=P(g,12);o=f+J[d+132>>2]|0;k=f+J[d+120>>2]|0;i=J[d>>2];l=a<<2;m=J[l+J[o>>2]>>2];f:{g:{if((i|0)==(m|0)){if(!j){break g}o=0;b=J[h+20>>2];g=J[h+16>>2];if((b|0)==(g|0)){a=J[d+8>>2];J[h+28>>2]=j+J[h+28>>2];J[d+8>>2]=a+j;break g}while(1){c=(b|0)==(g|0);a=b;i=0;b=g;h:{if(c){break h}while(1){f=J[h+28>>2];b=a;c=P(i,20)+g|0;l=J[c>>2];if(!K[l+84|0]){f=J[J[l+68>>2]+(f<<2)>>2]}if(M[l+80>>2]<=f>>>0){break h}m=J[k>>2]+(J[c+4>>2]<<2)|0;g=J[c+12>>2];b=m;i:{if(g>>>0>3){break i}a=0;b=J[h+12>>2];if(!J[c+16>>2]){break i}while(1){b=Vi(b,m+(a<<2)|0,g);g=J[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[h+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,f)|0,b,a);i=i+1|0;a=J[h+20>>2];b=a;g=J[h+16>>2];if(i>>>0<(b-g|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[d+8>>2]=J[d+8>>2]+1;o=o+1|0;if((j|0)!=(o|0)){continue}break}break g}j:{k:{l:{m:{if(j>>>0<=2){c=J[d+108>>2];J[c>>2]=a;f=1;b=J[d+12>>2];if(b>>>0>1){break m}break j}if(M[d+8>>2]>M[d+4>>2]){break e}b=J[d+120>>2];n=g+1|0;o=P(n,12);p=b+o|0;if((p|0)!=(k|0)){Nb(p,J[k>>2],J[k+4>>2]);b=J[d+120>>2]}b=l+J[b+o>>2]|0;J[b>>2]=J[b>>2]+(1<>2];m=32-i|0;n:{if((b|0)<=(m|0)){k=J[d+28>>2];if((k|0)==J[d+20>>2]){break l}m=J[k>>2];p=b+i|0;J[d+32>>2]=p;b=m<>>32-b|0;if((p|0)!=32){break n}J[d+32>>2]=0;J[d+28>>2]=k+4;break n}k=J[d+28>>2];p=k+4|0;if((p|0)==J[d+20>>2]){break l}r=J[k>>2];J[d+28>>2]=p;m=b-m|0;J[d+32>>2]=m;b=J[k+4>>2]>>>32-m|r<>>32-b}i=j>>>1|0;if(i>>>0>>0){break e}break k}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(f<<2)>>2]=a;b=J[d+12>>2];f=f+1|0;if(b>>>0>f>>>0){continue}break}break j}i=j>>>1|0;b=0}o:{p:{b=i-b|0;c=j-b|0;q:{if((c|0)==(b|0)){c=b;break q}i=J[d+88>>2];if((i|0)==J[d+80>>2]){break p}j=J[i>>2];k=J[d+92>>2];m=k+1|0;J[d+92>>2]=m;j=j&-2147483648>>>k;r:{if((m|0)==32){J[d+92>>2]=0;J[d+88>>2]=i+4;if(j){break r}break p}if(!j){break p}}}i=c;c=b;break o}i=b}b=J[d+132>>2];j=b+f|0;f=J[j>>2];k=f+l|0;J[k>>2]=J[k>>2]+1;Nb(b+o|0,f,J[j+4>>2]);if(c){b=J[e+28>>2]+J[e+24>>2]|0;j=J[e+16>>2];f=J[e+12>>2];if((b|0)==(((f|0)!=(j|0)?P(j-f>>2,341)-1|0:0)|0)){Mb(e+8|0);f=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}j=(b>>>0)/341|0;b=J[(j<<2)+f>>2]+P(b-P(j,341)|0,12)|0;J[b+8>>2]=g;J[b+4>>2]=a;J[b>>2]=c;J[e+28>>2]=J[e+28>>2]+1}if(!i){break g}b=J[e+28>>2]+J[e+24>>2]|0;c=J[e+16>>2];f=J[e+12>>2];if((b|0)==(((c|0)!=(f|0)?P(c-f>>2,341)-1|0:0)|0)){Mb(e+8|0);f=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+f>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=n;J[b+4>>2]=a;J[b>>2]=i;a=J[e+28>>2]+1|0;J[e+28>>2]=a;break f}m=0;if(!j){break g}while(1){if(J[d+12>>2]){i=J[d+40>>2];p=J[o>>2];c=J[d+96>>2];r=J[d+108>>2];a=0;while(1){g=r+(a<<2)|0;J[c+(J[g>>2]<<2)>>2]=0;b=J[d>>2];f=J[g>>2]<<2;l=J[f+p>>2];s:{if((b|0)==(l|0)){break s}f=c+f|0;b=b-l|0;l=J[d+52>>2];q=32-l|0;if((b|0)<=(q|0)){n=J[d+48>>2];if((n|0)==(i|0)){c=0;break e}J[f>>2]=J[n>>2]<>>32-b;b=b+J[d+52>>2]|0;J[d+52>>2]=b;if((b|0)!=32){break s}J[d+52>>2]=0;J[d+48>>2]=n+4;break s}n=J[d+48>>2];t=n+4|0;if((i|0)==(t|0)){c=0;break e}u=J[n>>2];J[d+48>>2]=t;q=b-q|0;J[d+52>>2]=q;J[f>>2]=J[n+4>>2]>>>32-q|u<>>32-b}b=J[g>>2]<<2;g=b+c|0;J[g>>2]=J[g>>2]|J[b+J[k>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}i=0;a=J[h+16>>2];t:{if((a|0)==J[h+20>>2]){break t}while(1){f=J[h+28>>2];c=P(i,20)+a|0;l=J[c>>2];if(!K[l+84|0]){f=J[J[l+68>>2]+(f<<2)>>2]}if(M[l+80>>2]<=f>>>0){break t}n=J[d+96>>2]+(J[c+4>>2]<<2)|0;g=J[c+12>>2];b=n;u:{if(g>>>0>3){break u}a=0;b=J[h+12>>2];if(!J[c+16>>2]){break u}while(1){b=Vi(b,n+(a<<2)|0,g);g=J[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[h+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,f)|0,b,a);i=i+1|0;a=J[h+16>>2];if(i>>>0<(J[h+20>>2]-a|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[d+8>>2]=J[d+8>>2]+1;m=m+1|0;if((j|0)!=(m|0)){continue}break}}a=J[e+28>>2]}if(a){continue}break}c=1}J[e+28>>2]=0;f=J[e+16>>2];a=J[e+12>>2];b=f-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;f=J[e+16>>2];b=f-a|0;if(b>>>0>8){continue}break}}g=170;v:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:J[e+24>>2]=g;break;default:break v}}w:{if((a|0)==(f|0)){break w}while(1){xj(J[a>>2]);a=a+4|0;if((f|0)!=(a|0)){continue}break}a=J[e+16>>2];b=J[e+12>>2];if((a|0)==(b|0)){break w}J[e+16>>2]=a+((b-a|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;break b}Ia();C()}Ia();C()}i=c}return i}function ub(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=J[b+8>>2];l=J[b+12>>2];k=J[b+20>>2];i=J[b+16>>2];f=i+4|0;k=f>>>0<4?k+1|0:k;a:{if(f>>>0>j>>>0&(k|0)>=(l|0)|(k|0)>(l|0)){break a}i=i+J[b>>2]|0;J[a>>2]=K[i|0]|K[i+1|0]<<8|(K[i+2|0]<<16|K[i+3|0]<<24);i=J[b+20>>2];j=i;f=J[b+16>>2];i=f+4|0;l=i>>>0<4?j+1|0:j;J[b+16>>2]=i;J[b+20>>2]=l;if(M[a>>2]>32){break a}l=J[b+8>>2];k=J[b+12>>2];f=f+8|0;j=f>>>0<8?j+1|0:j;if((k|0)<=(j|0)&f>>>0>l>>>0|(k|0)<(j|0)){break a}i=J[b>>2]+i|0;f=K[i|0]|K[i+1|0]<<8|(K[i+2|0]<<16|K[i+3|0]<<24);J[a+4>>2]=f;j=J[b+20>>2];i=J[b+16>>2]+4|0;j=i>>>0<4?j+1|0:j;J[b+16>>2]=i;J[b+20>>2]=j;if(!f){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!ge(a+16|0,b)){break a}if(!ge(a+36|0,b)){break a}if(!ge(a+56|0,b)){break a}if(!ge(a+76|0,b)){break a}t=J[a+4>>2];i=c;b=0;c=0;e=fa-32|0;fa=e;f=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=Cj(d);J[e+8>>2]=b;c=b+d|0;J[e+16>>2]=c;Xi(b,0,d);J[e+12>>2]=c}g=J[f+120>>2];d=J[g>>2];if(d){J[g+4>>2]=d;xj(d);c=J[e+12>>2];b=J[e+8>>2];a=J[f+12>>2]}J[g+4>>2]=c;J[g>>2]=b;J[g+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;h=Cj(a);J[e+8>>2]=h;b=a+h|0;J[e+16>>2]=b;Xi(h,0,a);J[e+12>>2]=b}c=J[f+132>>2];a=J[c>>2];if(a){J[c+4>>2]=a;xj(a);h=J[e+8>>2];b=J[e+12>>2]}J[c+4>>2]=b;J[c>>2]=h;J[c+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);b=J[e+24>>2]+J[e+28>>2]|0;a=(b>>>0)/341|0;a=J[J[e+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=t;d=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}while(1){j=J[e+12>>2];g=J[e+24>>2];d=a-1|0;c=g+d|0;b=(c>>>0)/341|0;b=J[j+(b<<2)>>2]+P(c-P(b,341)|0,12)|0;n=J[b+8>>2];c=J[b+4>>2];m=J[b>>2];J[e+28>>2]=d;b=J[e+16>>2];if((((b|0)!=(j|0)?P(b-j>>2,341)-1|0:0)-(a+g|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[e+16>>2]=J[e+16>>2]-4}if(m>>>0>t>>>0){d=0;break e}d=0;b=J[f+12>>2];a=(c|0)!=(b-1|0)?c+1|0:0;if(a>>>0>=b>>>0){break e}b=J[f+120>>2];o=P(n,12);q=b+o|0;g=J[f>>2];h=a<<2;l=o+J[f+132>>2]|0;c=J[h+J[l>>2]>>2];f:{g:{if((g|0)==(c|0)){if(!m){break g}h=0;b=J[i+20>>2];c=J[i+16>>2];if((b|0)==(c|0)){a=J[f+8>>2];J[i+28>>2]=m+J[i+28>>2];J[f+8>>2]=a+m;break g}while(1){d=(b|0)==(c|0);a=b;g=0;b=c;h:{if(d){break h}while(1){d=J[i+28>>2];b=a;k=P(g,20)+c|0;l=J[k>>2];if(!K[l+84|0]){d=J[J[l+68>>2]+(d<<2)>>2]}if(M[l+80>>2]<=d>>>0){break h}j=J[q>>2]+(J[k+4>>2]<<2)|0;c=J[k+12>>2];b=j;i:{if(c>>>0>3){break i}a=0;b=J[i+12>>2];if(!J[k+16>>2]){break i}while(1){b=Vi(b,j+(a<<2)|0,c);c=J[k+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[i+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,d)|0,b,a);g=g+1|0;a=J[i+20>>2];b=a;c=J[i+16>>2];if(g>>>0<(b-c|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;h=h+1|0;if((m|0)!=(h|0)){continue}break}break g}j:{k:{l:{m:{if(m>>>0<=2){c=J[f+108>>2];J[c>>2]=a;h=1;b=J[f+12>>2];if(b>>>0>1){break m}break j}if(M[f+8>>2]>M[f+4>>2]){break e}j=b;b=o+12|0;Nb(j+b|0,J[q>>2],J[q+4>>2]);b=h+J[b+J[f+120>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<>2];g=32-l|0;n:{if((k|0)<=(g|0)){g=J[f+28>>2];if((g|0)==J[f+20>>2]){break l}c=J[g>>2];b=k+l|0;J[f+32>>2]=b;c=c<>>32-k|0;if((b|0)!=32){break n}J[f+32>>2]=0;J[f+28>>2]=g+4;break n}j=J[f+28>>2];b=j+4|0;if((b|0)==J[f+20>>2]){break l}c=J[j>>2];J[f+28>>2]=b;b=k-g|0;J[f+32>>2]=b;c=J[j+4>>2]>>>32-b|c<>>32-k}g=m>>>1|0;if(g>>>0>>0){break e}break k}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(h<<2)>>2]=a;b=J[f+12>>2];h=h+1|0;if(b>>>0>h>>>0){continue}break}break j}g=m>>>1|0;c=0}k=n+1|0;o:{p:{b=g-c|0;c=m-b|0;q:{if((c|0)==(b|0)){c=b;break q}l=J[f+88>>2];if((l|0)==J[f+80>>2]){break p}j=J[l>>2];g=J[f+92>>2];d=g+1|0;J[f+92>>2]=d;g=j&-2147483648>>>g;r:{if((d|0)==32){J[f+92>>2]=0;J[f+88>>2]=l+4;if(g){break r}break p}if(!g){break p}}}g=c;c=b;break o}g=b}l=J[f+132>>2];j=l+o|0;d=J[j>>2];b=d+h|0;J[b>>2]=J[b>>2]+1;Nb(l+P(k,12)|0,d,J[j+4>>2]);if(c){b=J[e+28>>2]+J[e+24>>2]|0;d=J[e+16>>2];h=J[e+12>>2];if((b|0)==(((d|0)!=(h|0)?P(d-h>>2,341)-1|0:0)|0)){Mb(e+8|0);h=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}d=(b>>>0)/341|0;b=J[(d<<2)+h>>2]+P(b-P(d,341)|0,12)|0;J[b+8>>2]=n;J[b+4>>2]=a;J[b>>2]=c;J[e+28>>2]=J[e+28>>2]+1}if(!g){break g}b=J[e+28>>2]+J[e+24>>2]|0;c=J[e+16>>2];h=J[e+12>>2];if((b|0)==(((c|0)!=(h|0)?P(c-h>>2,341)-1|0:0)|0)){Mb(e+8|0);h=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+h>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=k;J[b+4>>2]=a;J[b>>2]=g;a=J[e+28>>2]+1|0;J[e+28>>2]=a;break f}r=0;if(!m){break g}while(1){if(J[f+12>>2]){u=J[f+40>>2];j=J[l>>2];s=J[f+96>>2];g=J[f+108>>2];a=0;while(1){n=(a<<2)+g|0;J[s+(J[n>>2]<<2)>>2]=0;d=J[f>>2];c=J[n>>2]<<2;b=J[c+j>>2];s:{if((d|0)==(b|0)){break s}o=c+s|0;p=d-b|0;h=J[f+52>>2];d=32-h|0;if((p|0)<=(d|0)){c=J[f+48>>2];if((c|0)==(u|0)){d=0;break e}J[o>>2]=J[c>>2]<>>32-p;b=p+J[f+52>>2]|0;J[f+52>>2]=b;if((b|0)!=32){break s}J[f+52>>2]=0;J[f+48>>2]=c+4;break s}k=J[f+48>>2];b=k+4|0;if((u|0)==(b|0)){d=0;break e}c=J[k>>2];J[f+48>>2]=b;b=p-d|0;J[f+52>>2]=b;J[o>>2]=J[k+4>>2]>>>32-b|c<>>32-p}c=J[n>>2]<<2;b=c+s|0;J[b>>2]=J[b>>2]|J[c+J[q>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}g=0;a=J[i+16>>2];t:{if((a|0)==J[i+20>>2]){break t}while(1){d=J[i+28>>2];h=P(g,20)+a|0;k=J[h>>2];if(!K[k+84|0]){d=J[J[k+68>>2]+(d<<2)>>2]}if(M[k+80>>2]<=d>>>0){break t}j=J[f+96>>2]+(J[h+4>>2]<<2)|0;c=J[h+12>>2];b=j;u:{if(c>>>0>3){break u}a=0;b=J[i+12>>2];if(!J[h+16>>2]){break u}while(1){b=Vi(b,j+(a<<2)|0,c);c=J[h+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[i+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,d)|0,b,a);g=g+1|0;a=J[i+16>>2];if(g>>>0<(J[i+20>>2]-a|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;r=r+1|0;if((m|0)!=(r|0)){continue}break}}a=J[e+28>>2]}if(a){continue}break}d=1}J[e+28>>2]=0;h=J[e+16>>2];a=J[e+12>>2];b=h-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;h=J[e+16>>2];b=h-a|0;if(b>>>0>8){continue}break}}c=170;v:{switch((b>>>2|0)-1|0){case 1:c=341;case 0:J[e+24>>2]=c;break;default:break v}}w:{if((a|0)==(h|0)){break w}while(1){xj(J[a>>2]);a=a+4|0;if((h|0)!=(a|0)){continue}break}b=J[e+16>>2];a=J[e+12>>2];if((b|0)==(a|0)){break w}J[e+16>>2]=b+((a-b|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;g=d;break b}Ia();C()}Ia();C()}}return g}function zb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=J[b+8>>2];j=J[b+12>>2];n=J[b+20>>2];e=J[b+16>>2];h=e+4|0;n=h>>>0<4?n+1|0:n;a:{if(i>>>0>>0&(j|0)<=(n|0)|(j|0)<(n|0)){break a}e=e+J[b>>2]|0;J[a>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];i=e;h=J[b+16>>2];e=h+4|0;j=e>>>0<4?i+1|0:i;J[b+16>>2]=e;J[b+20>>2]=j;if(M[a>>2]>32){break a}j=J[b+8>>2];n=J[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>j>>>0&(i|0)>=(n|0)|(i|0)>(n|0)){break a}e=J[b>>2]+e|0;h=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[a+4>>2]=h;i=J[b+20>>2];e=J[b+16>>2]+4|0;i=e>>>0<4?i+1|0:i;J[b+16>>2]=e;J[b+20>>2]=i;if(!h){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!Pb(a+16|0,b)){break a}if(!ge(a+544|0,b)){break a}if(!ge(a+564|0,b)){break a}if(!ge(a+584|0,b)){break a}u=J[a+4>>2];d=c;b=0;c=0;f=fa-32|0;fa=f;g=a;a=J[a+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}e=a<<2;b=Cj(e);J[f+8>>2]=b;c=b+e|0;J[f+16>>2]=c;Xi(b,0,e);J[f+12>>2]=c}h=J[g+628>>2];e=J[h>>2];if(e){J[h+4>>2]=e;xj(e);c=J[f+12>>2];b=J[f+8>>2];a=J[g+12>>2]}J[h+4>>2]=c;J[h>>2]=b;J[h+8>>2]=J[f+16>>2];b=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;k=Cj(a);J[f+8>>2]=k;b=a+k|0;J[f+16>>2]=b;Xi(k,0,a);J[f+12>>2]=b}c=J[g+640>>2];a=J[c>>2];if(a){J[c+4>>2]=a;xj(a);k=J[f+8>>2];b=J[f+12>>2]}J[c+4>>2]=b;J[c>>2]=k;J[c+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);b=J[f+24>>2]+J[f+28>>2]|0;a=(b>>>0)/341|0;a=J[J[f+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=u;c=1;a=J[f+28>>2]+1|0;J[f+28>>2]=a;e:{if(!a){break e}n=g+16|0;while(1){j=J[f+12>>2];h=J[f+24>>2];e=a-1|0;c=h+e|0;b=(c>>>0)/341|0;b=J[j+(b<<2)>>2]+P(c-P(b,341)|0,12)|0;q=J[b+8>>2];i=J[b+4>>2];o=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(j|0)?P(b-j>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}c=0;if(o>>>0>u>>>0){break e}a=J[g+12>>2];k=(i|0)!=(a-1|0)?i+1|0:0;if(k>>>0>=a>>>0){break e}p=P(q,12);v=p+J[g+640>>2]|0;r=p+J[g+628>>2]|0;h=J[g>>2];l=k<<2;e=J[l+J[v>>2]>>2];f:{g:{if((h|0)==(e|0)){if(!o){break g}c=J[d+16>>2];b=J[d+20>>2];m=0;while(1){e=(b|0)==(c|0);a=b;j=0;b=c;h:{if(e){break h}while(1){l=J[d+28>>2];b=a;i=P(j,20)+c|0;h=J[i>>2];if(!K[h+84|0]){l=J[J[h+68>>2]+(l<<2)>>2]}if(M[h+80>>2]<=l>>>0){break h}e=J[r>>2]+(J[i+4>>2]<<2)|0;c=J[i+12>>2];b=e;i:{if(c>>>0>3){break i}a=0;b=J[d+12>>2];if(!J[i+16>>2]){break i}while(1){b=Vi(b,e+(a<<2)|0,c);c=J[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[d+12>>2]}a=J[h+40>>2];Vi(J[J[h>>2]>>2]+P(a,l)|0,b,a);a=J[d+20>>2];b=a;j=j+1|0;c=J[d+16>>2];if(j>>>0<(a-c|0)/20>>>0){continue}break}}J[d+28>>2]=J[d+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;m=m+1|0;if((o|0)!=(m|0)){continue}break}break g}j:{k:{l:{if(o>>>0<=2){c=J[g+616>>2];J[c>>2]=k;a=1;b=J[g+12>>2];if(b>>>0>1){break l}break j}if(M[g+8>>2]>M[g+4>>2]){break e}a=J[g+628>>2];j=q+1|0;m=P(j,12);b=a+m|0;if((b|0)!=(r|0)){Nb(b,J[r>>2],J[r+4>>2]);a=J[g+628>>2]}a=l+J[a+m>>2]|0;J[a>>2]=J[a>>2]+(1<>>1|0;break k}while(1){b=je((a<<4)+n|0)|b<<1;a=a+1|0;if((c|0)!=(a|0)){continue}break}a=o>>>1|0;if(b>>>0<=a>>>0){break k}c=0;break e}while(1){k=(b-1|0)!=(k|0)?k+1|0:0;J[c+(a<<2)>>2]=k;a=a+1|0;b=J[g+12>>2];if(a>>>0>>0){continue}break}break j}m:{n:{b=a-b|0;a=o-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=J[g+596>>2];if((i|0)==J[g+588>>2]){break n}h=J[i>>2];e=J[g+600>>2];c=e+1|0;J[g+600>>2]=c;e=h&-2147483648>>>e;p:{if((c|0)==32){J[g+600>>2]=0;J[g+596>>2]=i+4;if(e){break p}break n}if(!e){break n}}}c=a;a=b;break m}c=b}i=J[g+640>>2];h=i+p|0;e=J[h>>2];b=e+l|0;J[b>>2]=J[b>>2]+1;Nb(i+m|0,e,J[h+4>>2]);if(a){m=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];b=J[f+12>>2];if((m|0)==(((b|0)!=(e|0)?P(e-b>>2,341)-1|0:0)|0)){Mb(f+8|0);m=J[f+24>>2]+J[f+28>>2]|0;e=J[f+12>>2]}else{e=b}b=(m>>>0)/341|0;b=J[e+(b<<2)>>2]+P(m-P(b,341)|0,12)|0;J[b+8>>2]=q;J[b+4>>2]=k;J[b>>2]=a;J[f+28>>2]=J[f+28>>2]+1}if(!c){break g}b=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];a=J[f+12>>2];if((b|0)==(((a|0)!=(e|0)?P(e-a>>2,341)-1|0:0)|0)){Mb(f+8|0);b=J[f+24>>2]+J[f+28>>2]|0;e=J[f+12>>2]}else{e=a}a=(b>>>0)/341|0;a=J[e+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+8>>2]=j;J[a+4>>2]=k;J[a>>2]=c;a=J[f+28>>2]+1|0;J[f+28>>2]=a;break f}k=0;if(!o){break g}while(1){if(J[g+12>>2]){q=J[g+548>>2];i=J[v>>2];t=J[g+604>>2];h=J[g+616>>2];a=0;while(1){p=(a<<2)+h|0;J[t+(J[p>>2]<<2)>>2]=0;e=J[g>>2];c=J[p>>2]<<2;b=J[c+i>>2];q:{if((e|0)==(b|0)){break q}l=c+t|0;s=e-b|0;m=J[g+560>>2];e=32-m|0;if((s|0)<=(e|0)){c=J[g+556>>2];if((c|0)==(q|0)){c=0;break e}J[l>>2]=J[c>>2]<>>32-s;b=s+J[g+560>>2]|0;J[g+560>>2]=b;if((b|0)!=32){break q}J[g+560>>2]=0;J[g+556>>2]=c+4;break q}j=J[g+556>>2];b=j+4|0;if((q|0)==(b|0)){c=0;break e}c=J[j>>2];J[g+556>>2]=b;b=s-e|0;J[g+560>>2]=b;J[l>>2]=J[j+4>>2]>>>32-b|c<>>32-s}c=J[p>>2]<<2;b=c+t|0;J[b>>2]=J[b>>2]|J[c+J[r>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}j=0;a=J[d+16>>2];r:{if((a|0)==J[d+20>>2]){break r}while(1){l=J[d+28>>2];i=P(j,20)+a|0;h=J[i>>2];if(!K[h+84|0]){l=J[J[h+68>>2]+(l<<2)>>2]}if(M[h+80>>2]<=l>>>0){break r}e=J[g+604>>2]+(J[i+4>>2]<<2)|0;c=J[i+12>>2];b=e;s:{if(c>>>0>3){break s}a=0;b=J[d+12>>2];if(!J[i+16>>2]){break s}while(1){b=Vi(b,e+(a<<2)|0,c);c=J[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[d+12>>2]}a=J[h+40>>2];Vi(J[J[h>>2]>>2]+P(a,l)|0,b,a);j=j+1|0;a=J[d+16>>2];if(j>>>0<(J[d+20>>2]-a|0)/20>>>0){continue}break}}J[d+28>>2]=J[d+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;k=k+1|0;if((o|0)!=(k|0)){continue}break}}a=J[f+28>>2]}if(a){continue}break}c=1}J[f+28>>2]=0;k=J[f+16>>2];a=J[f+12>>2];b=k-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[f+12>>2]+4|0;J[f+12>>2]=a;k=J[f+16>>2];b=k-a|0;if(b>>>0>8){continue}break}}d=170;t:{switch((b>>>2|0)-1|0){case 1:d=341;case 0:J[f+24>>2]=d;break;default:break t}}u:{if((a|0)==(k|0)){break u}while(1){xj(J[a>>2]);a=a+4|0;if((k|0)!=(a|0)){continue}break}b=J[f+16>>2];a=J[f+12>>2];if((b|0)==(a|0)){break u}J[f+16>>2]=b+((a-b|0)+3&-4)}a=J[f+8>>2];if(a){xj(a)}fa=f+32|0;break b}Ia();C()}Ia();C()}g=c}return g}function Db(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=J[b+8>>2];k=J[b+12>>2];o=J[b+20>>2];e=J[b+16>>2];h=e+4|0;o=h>>>0<4?o+1|0:o;a:{if(i>>>0>>0&(k|0)<=(o|0)|(k|0)<(o|0)){break a}e=e+J[b>>2]|0;J[a>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];i=e;h=J[b+16>>2];e=h+4|0;k=e>>>0<4?i+1|0:i;J[b+16>>2]=e;J[b+20>>2]=k;if(M[a>>2]>32){break a}k=J[b+8>>2];o=J[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>k>>>0&(i|0)>=(o|0)|(i|0)>(o|0)){break a}e=J[b>>2]+e|0;h=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[a+4>>2]=h;i=J[b+20>>2];e=J[b+16>>2]+4|0;i=e>>>0<4?i+1|0:i;J[b+16>>2]=e;J[b+20>>2]=i;if(!h){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!Pb(a+16|0,b)){break a}if(!ge(a+544|0,b)){break a}if(!ge(a+564|0,b)){break a}if(!ge(a+584|0,b)){break a}v=J[a+4>>2];d=c;b=0;c=0;f=fa-32|0;fa=f;g=a;a=J[a+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}e=a<<2;b=Cj(e);J[f+8>>2]=b;c=b+e|0;J[f+16>>2]=c;Xi(b,0,e);J[f+12>>2]=c}h=J[g+628>>2];e=J[h>>2];if(e){J[h+4>>2]=e;xj(e);c=J[f+12>>2];b=J[f+8>>2];a=J[g+12>>2]}J[h+4>>2]=c;J[h>>2]=b;J[h+8>>2]=J[f+16>>2];b=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;j=Cj(a);J[f+8>>2]=j;b=a+j|0;J[f+16>>2]=b;Xi(j,0,a);J[f+12>>2]=b}c=J[g+640>>2];a=J[c>>2];if(a){J[c+4>>2]=a;xj(a);j=J[f+8>>2];b=J[f+12>>2]}J[c+4>>2]=b;J[c>>2]=j;J[c+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);b=J[f+24>>2]+J[f+28>>2]|0;a=(b>>>0)/341|0;a=J[J[f+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=v;c=1;a=J[f+28>>2]+1|0;J[f+28>>2]=a;e:{if(!a){break e}o=g+16|0;while(1){i=J[f+12>>2];h=J[f+24>>2];e=a-1|0;c=h+e|0;b=(c>>>0)/341|0;b=J[i+(b<<2)>>2]+P(c-P(b,341)|0,12)|0;q=J[b+8>>2];n=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(i|0)?P(b-i>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}c=0;if(n>>>0>v>>>0){break e}a=J[g+628>>2];p=P(q,12);t=p+J[g+640>>2]|0;j=Si(g,n,t);if(j>>>0>=M[g+12>>2]){break e}r=a+p|0;h=J[g>>2];l=j<<2;e=J[l+J[t>>2]>>2];f:{g:{if((h|0)==(e|0)){if(!n){break g}c=J[d+16>>2];b=J[d+20>>2];m=0;while(1){e=(b|0)==(c|0);a=b;k=0;b=c;h:{if(e){break h}while(1){l=J[d+28>>2];b=a;i=P(k,20)+c|0;h=J[i>>2];if(!K[h+84|0]){l=J[J[h+68>>2]+(l<<2)>>2]}if(M[h+80>>2]<=l>>>0){break h}e=J[r>>2]+(J[i+4>>2]<<2)|0;c=J[i+12>>2];b=e;i:{if(c>>>0>3){break i}a=0;b=J[d+12>>2];if(!J[i+16>>2]){break i}while(1){b=Vi(b,e+(a<<2)|0,c);c=J[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[d+12>>2]}a=J[h+40>>2];Vi(J[J[h>>2]>>2]+P(a,l)|0,b,a);a=J[d+20>>2];b=a;k=k+1|0;c=J[d+16>>2];if(k>>>0<(a-c|0)/20>>>0){continue}break}}J[d+28>>2]=J[d+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;m=m+1|0;if((n|0)!=(m|0)){continue}break}break g}j:{k:{l:{if(n>>>0<=2){c=J[g+616>>2];J[c>>2]=j;a=1;b=J[g+12>>2];if(b>>>0>1){break l}break j}if(M[g+8>>2]>M[g+4>>2]){break e}a=J[g+628>>2];k=q+1|0;m=P(k,12);b=a+m|0;if((b|0)!=(r|0)){Nb(b,J[r>>2],J[r+4>>2]);a=J[g+628>>2]}a=l+J[a+m>>2]|0;J[a>>2]=J[a>>2]+(1<>>1|0;break k}while(1){b=je((a<<4)+o|0)|b<<1;a=a+1|0;if((c|0)!=(a|0)){continue}break}a=n>>>1|0;if(b>>>0<=a>>>0){break k}c=0;break e}while(1){j=(b-1|0)!=(j|0)?j+1|0:0;J[c+(a<<2)>>2]=j;a=a+1|0;b=J[g+12>>2];if(a>>>0>>0){continue}break}break j}m:{n:{b=a-b|0;a=n-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=J[g+596>>2];if((i|0)==J[g+588>>2]){break n}h=J[i>>2];e=J[g+600>>2];c=e+1|0;J[g+600>>2]=c;e=h&-2147483648>>>e;p:{if((c|0)==32){J[g+600>>2]=0;J[g+596>>2]=i+4;if(e){break p}break n}if(!e){break n}}}c=a;a=b;break m}c=b}i=J[g+640>>2];h=i+p|0;e=J[h>>2];b=e+l|0;J[b>>2]=J[b>>2]+1;Nb(i+m|0,e,J[h+4>>2]);if(a){m=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];b=J[f+12>>2];if((m|0)==(((b|0)!=(e|0)?P(e-b>>2,341)-1|0:0)|0)){Mb(f+8|0);m=J[f+24>>2]+J[f+28>>2]|0;e=J[f+12>>2]}else{e=b}b=(m>>>0)/341|0;b=J[e+(b<<2)>>2]+P(m-P(b,341)|0,12)|0;J[b+8>>2]=q;J[b+4>>2]=j;J[b>>2]=a;J[f+28>>2]=J[f+28>>2]+1}if(!c){break g}b=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];a=J[f+12>>2];if((b|0)==(((a|0)!=(e|0)?P(e-a>>2,341)-1|0:0)|0)){Mb(f+8|0);b=J[f+24>>2]+J[f+28>>2]|0;e=J[f+12>>2]}else{e=a}a=(b>>>0)/341|0;a=J[e+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+8>>2]=k;J[a+4>>2]=j;J[a>>2]=c;a=J[f+28>>2]+1|0;J[f+28>>2]=a;break f}j=0;if(!n){break g}while(1){if(J[g+12>>2]){q=J[g+548>>2];i=J[t>>2];u=J[g+604>>2];h=J[g+616>>2];a=0;while(1){p=(a<<2)+h|0;J[u+(J[p>>2]<<2)>>2]=0;e=J[g>>2];c=J[p>>2]<<2;b=J[c+i>>2];q:{if((e|0)==(b|0)){break q}l=c+u|0;s=e-b|0;m=J[g+560>>2];e=32-m|0;if((s|0)<=(e|0)){c=J[g+556>>2];if((c|0)==(q|0)){c=0;break e}J[l>>2]=J[c>>2]<>>32-s;b=s+J[g+560>>2]|0;J[g+560>>2]=b;if((b|0)!=32){break q}J[g+560>>2]=0;J[g+556>>2]=c+4;break q}k=J[g+556>>2];b=k+4|0;if((q|0)==(b|0)){c=0;break e}c=J[k>>2];J[g+556>>2]=b;b=s-e|0;J[g+560>>2]=b;J[l>>2]=J[k+4>>2]>>>32-b|c<>>32-s}c=J[p>>2]<<2;b=c+u|0;J[b>>2]=J[b>>2]|J[c+J[r>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}k=0;a=J[d+16>>2];r:{if((a|0)==J[d+20>>2]){break r}while(1){l=J[d+28>>2];i=P(k,20)+a|0;h=J[i>>2];if(!K[h+84|0]){l=J[J[h+68>>2]+(l<<2)>>2]}if(M[h+80>>2]<=l>>>0){break r}e=J[g+604>>2]+(J[i+4>>2]<<2)|0;c=J[i+12>>2];b=e;s:{if(c>>>0>3){break s}a=0;b=J[d+12>>2];if(!J[i+16>>2]){break s}while(1){b=Vi(b,e+(a<<2)|0,c);c=J[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[d+12>>2]}a=J[h+40>>2];Vi(J[J[h>>2]>>2]+P(a,l)|0,b,a);k=k+1|0;a=J[d+16>>2];if(k>>>0<(J[d+20>>2]-a|0)/20>>>0){continue}break}}J[d+28>>2]=J[d+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;j=j+1|0;if((n|0)!=(j|0)){continue}break}}a=J[f+28>>2]}if(a){continue}break}c=1}J[f+28>>2]=0;j=J[f+16>>2];a=J[f+12>>2];b=j-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[f+12>>2]+4|0;J[f+12>>2]=a;j=J[f+16>>2];b=j-a|0;if(b>>>0>8){continue}break}}d=170;t:{switch((b>>>2|0)-1|0){case 1:d=341;case 0:J[f+24>>2]=d;break;default:break t}}u:{if((a|0)==(j|0)){break u}while(1){xj(J[a>>2]);a=a+4|0;if((j|0)!=(a|0)){continue}break}b=J[f+16>>2];a=J[f+12>>2];if((b|0)==(a|0)){break u}J[f+16>>2]=b+((a-b|0)+3&-4)}a=J[f+8>>2];if(a){xj(a)}fa=f+32|0;break b}Ia();C()}Ia();C()}g=c}return g}function Cb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=J[b+8>>2];k=J[b+12>>2];m=J[b+20>>2];f=J[b+16>>2];h=f+4|0;m=h>>>0<4?m+1|0:m;a:{if(i>>>0>>0&(k|0)<=(m|0)|(k|0)<(m|0)){break a}f=f+J[b>>2]|0;J[a>>2]=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);f=J[b+20>>2];i=f;h=J[b+16>>2];f=h+4|0;k=f>>>0<4?i+1|0:i;J[b+16>>2]=f;J[b+20>>2]=k;if(M[a>>2]>32){break a}k=J[b+8>>2];m=J[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>k>>>0&(i|0)>=(m|0)|(i|0)>(m|0)){break a}f=f+J[b>>2]|0;h=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[a+4>>2]=h;i=J[b+20>>2];f=J[b+16>>2]+4|0;i=f>>>0<4?i+1|0:i;J[b+16>>2]=f;J[b+20>>2]=i;if(!h){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!Pb(a+16|0,b)){break a}if(!ge(a+544|0,b)){break a}if(!ge(a+564|0,b)){break a}if(!ge(a+584|0,b)){break a}u=J[a+4>>2];b=0;e=fa-32|0;fa=e;f=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=Cj(d);J[e+8>>2]=b;g=b+d|0;J[e+16>>2]=g;Xi(b,0,d);J[e+12>>2]=g}h=J[f+628>>2];d=J[h>>2];if(d){J[h+4>>2]=d;xj(d);g=J[e+12>>2];b=J[e+8>>2];a=J[f+12>>2]}J[h+4>>2]=g;J[h>>2]=b;J[h+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;j=Cj(a);J[e+8>>2]=j;b=a+j|0;J[e+16>>2]=b;Xi(j,0,a);J[e+12>>2]=b}d=J[f+640>>2];a=J[d>>2];if(a){J[d+4>>2]=a;xj(a);j=J[e+8>>2];b=J[e+12>>2]}J[d+4>>2]=b;J[d>>2]=j;J[d+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);b=J[e+24>>2]+J[e+28>>2]|0;a=(b>>>0)/341|0;a=J[J[e+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=u;d=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}m=f+16|0;while(1){k=J[e+12>>2];h=J[e+24>>2];g=a-1|0;d=h+g|0;b=(d>>>0)/341|0;b=J[k+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;q=J[b+8>>2];i=J[b+4>>2];n=J[b>>2];J[e+28>>2]=g;b=J[e+16>>2];if((((b|0)!=(k|0)?P(b-k>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[e+16>>2]=J[e+16>>2]-4}if(n>>>0>u>>>0){d=0;break e}d=0;a=J[f+12>>2];j=(i|0)!=(a-1|0)?i+1|0:0;if(j>>>0>=a>>>0){break e}a=J[f+628>>2];o=P(q,12);s=a+o|0;g=J[f>>2];l=j<<2;k=o+J[f+640>>2]|0;b=J[l+J[k>>2]>>2];f:{g:{if((g|0)==(b|0)){if(!n){break g}g=J[c+16>>2];b=J[c+20>>2];p=0;while(1){d=(b|0)==(g|0);a=b;j=0;b=g;h:{if(d){break h}while(1){d=J[c+28>>2];b=a;k=P(j,20)+g|0;i=J[k>>2];if(!K[i+84|0]){d=J[J[i+68>>2]+(d<<2)>>2]}if(M[i+80>>2]<=d>>>0){break h}h=J[s>>2]+(J[k+4>>2]<<2)|0;g=J[k+12>>2];b=h;i:{if(g>>>0>3){break i}a=0;b=J[c+12>>2];if(!J[k+16>>2]){break i}while(1){b=Vi(b,h+(a<<2)|0,g);g=J[k+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[c+12>>2]}a=J[i+40>>2];Vi(J[J[i>>2]>>2]+P(a,d)|0,b,a);a=J[c+20>>2];b=a;j=j+1|0;g=J[c+16>>2];if(j>>>0<(a-g|0)/20>>>0){continue}break}}J[c+28>>2]=J[c+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;p=p+1|0;if((p|0)!=(n|0)){continue}break}break g}j:{k:{l:{if(n>>>0<=2){d=J[f+616>>2];J[d>>2]=j;a=1;b=J[f+12>>2];if(b>>>0>1){break l}break j}if(M[f+8>>2]>M[f+4>>2]){break e}d=a;a=o+12|0;Nb(d+a|0,J[s>>2],J[s+4>>2]);a=l+J[a+J[f+628>>2]>>2]|0;J[a>>2]=J[a>>2]+(1<>>1|0;break k}while(1){b=je((a<<4)+m|0)|b<<1;a=a+1|0;if((d|0)!=(a|0)){continue}break}a=n>>>1|0;if(b>>>0<=a>>>0){break k}d=0;break e}while(1){j=(b-1|0)!=(j|0)?j+1|0:0;J[d+(a<<2)>>2]=j;a=a+1|0;b=J[f+12>>2];if(a>>>0>>0){continue}break}break j}k=q+1|0;m:{n:{b=a-b|0;a=n-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=J[f+596>>2];if((i|0)==J[f+588>>2]){break n}h=J[i>>2];g=J[f+600>>2];d=g+1|0;J[f+600>>2]=d;g=h&-2147483648>>>g;p:{if((d|0)==32){J[f+600>>2]=0;J[f+596>>2]=i+4;if(g){break p}break n}if(!g){break n}}}d=a;a=b;break m}d=b}i=J[f+640>>2];h=i+o|0;g=J[h>>2];b=g+l|0;J[b>>2]=J[b>>2]+1;Nb(i+P(k,12)|0,g,J[h+4>>2]);if(a){h=J[e+28>>2]+J[e+24>>2]|0;g=J[e+16>>2];b=J[e+12>>2];if((h|0)==(((b|0)!=(g|0)?P(g-b>>2,341)-1|0:0)|0)){Mb(e+8|0);h=J[e+24>>2]+J[e+28>>2]|0;g=J[e+12>>2]}else{g=b}b=(h>>>0)/341|0;b=J[g+(b<<2)>>2]+P(h-P(b,341)|0,12)|0;J[b+8>>2]=q;J[b+4>>2]=j;J[b>>2]=a;J[e+28>>2]=J[e+28>>2]+1}if(!d){break g}b=J[e+28>>2]+J[e+24>>2]|0;g=J[e+16>>2];a=J[e+12>>2];if((b|0)==(((a|0)!=(g|0)?P(g-a>>2,341)-1|0:0)|0)){Mb(e+8|0);b=J[e+24>>2]+J[e+28>>2]|0;g=J[e+12>>2]}else{g=a}a=(b>>>0)/341|0;a=J[g+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+8>>2]=k;J[a+4>>2]=j;J[a>>2]=d;a=J[e+28>>2]+1|0;J[e+28>>2]=a;break f}p=0;if(!n){break g}while(1){if(J[f+12>>2]){v=J[f+548>>2];i=J[k>>2];t=J[f+604>>2];h=J[f+616>>2];a=0;while(1){j=h+(a<<2)|0;J[(J[j>>2]<<2)+t>>2]=0;g=J[f>>2];d=J[j>>2]<<2;b=J[d+i>>2];q:{if((g|0)==(b|0)){break q}q=d+t|0;r=g-b|0;o=J[f+560>>2];g=32-o|0;if((r|0)<=(g|0)){d=J[f+556>>2];if((d|0)==(v|0)){d=0;break e}J[q>>2]=J[d>>2]<>>32-r;b=J[f+560>>2]+r|0;J[f+560>>2]=b;if((b|0)!=32){break q}J[f+560>>2]=0;J[f+556>>2]=d+4;break q}l=J[f+556>>2];b=l+4|0;if((b|0)==(v|0)){d=0;break e}d=J[l>>2];J[f+556>>2]=b;b=r-g|0;J[f+560>>2]=b;J[q>>2]=J[l+4>>2]>>>32-b|d<>>32-r}d=J[j>>2]<<2;b=d+t|0;J[b>>2]=J[b>>2]|J[d+J[s>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}j=0;a=J[c+16>>2];r:{if((a|0)==J[c+20>>2]){break r}while(1){d=J[c+28>>2];l=P(j,20)+a|0;i=J[l>>2];if(!K[i+84|0]){d=J[J[i+68>>2]+(d<<2)>>2]}if(M[i+80>>2]<=d>>>0){break r}h=J[f+604>>2]+(J[l+4>>2]<<2)|0;g=J[l+12>>2];b=h;s:{if(g>>>0>3){break s}a=0;b=J[c+12>>2];if(!J[l+16>>2]){break s}while(1){b=Vi(b,h+(a<<2)|0,g);g=J[l+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[c+12>>2]}a=J[i+40>>2];Vi(J[J[i>>2]>>2]+P(a,d)|0,b,a);j=j+1|0;a=J[c+16>>2];if(j>>>0<(J[c+20>>2]-a|0)/20>>>0){continue}break}}J[c+28>>2]=J[c+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;p=p+1|0;if((p|0)!=(n|0)){continue}break}}a=J[e+28>>2]}if(a){continue}break}d=1}J[e+28>>2]=0;j=J[e+16>>2];a=J[e+12>>2];b=j-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;j=J[e+16>>2];b=j-a|0;if(b>>>0>8){continue}break}}g=170;t:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:J[e+24>>2]=g;break;default:break t}}u:{if((a|0)==(j|0)){break u}while(1){xj(J[a>>2]);a=a+4|0;if((j|0)!=(a|0)){continue}break}b=J[e+16>>2];a=J[e+12>>2];if((b|0)==(a|0)){break u}J[e+16>>2]=b+((a-b|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;break b}Ia();C()}Ia();C()}g=d}return g}function vb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=J[b+8>>2];e=J[b+12>>2];g=J[b+20>>2];h=J[b+16>>2];l=h+4|0;g=l>>>0<4?g+1|0:g;a:{if(j>>>0>>0&(e|0)<=(g|0)|(e|0)<(g|0)){break a}h=h+J[b>>2]|0;J[a>>2]=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);h=J[b+20>>2];e=h;j=J[b+16>>2];g=j+4|0;h=g>>>0<4?e+1|0:e;J[b+16>>2]=g;J[b+20>>2]=h;if(M[a>>2]>32){break a}k=J[b+8>>2];l=J[b+12>>2];h=e;e=j+8|0;h=e>>>0<8?h+1|0:h;if(e>>>0>k>>>0&(h|0)>=(l|0)|(h|0)>(l|0)){break a}h=J[b>>2]+g|0;g=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[a+4>>2]=g;h=J[b+20>>2];e=J[b+16>>2]+4|0;h=e>>>0<4?h+1|0:h;J[b+16>>2]=e;J[b+20>>2]=h;if(!g){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!he(a+16|0,b)){break a}if(!ge(a+32|0,b)){break a}if(!ge(a+52|0,b)){break a}if(!ge(a+72|0,b)){break a}r=J[a+4>>2];h=c;b=0;g=0;e=fa-32|0;fa=e;d=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}c=a<<2;b=Cj(c);J[e+8>>2]=b;g=b+c|0;J[e+16>>2]=g;Xi(b,0,c);J[e+12>>2]=g}c=J[d+116>>2];i=J[c>>2];if(i){J[c+4>>2]=i;xj(i);g=J[e+12>>2];b=J[e+8>>2];a=J[d+12>>2]}J[c+4>>2]=g;J[c>>2]=b;J[c+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;f=Cj(a);J[e+8>>2]=f;b=a+f|0;J[e+16>>2]=b;Xi(f,0,a);J[e+12>>2]=b}a=J[d+128>>2];c=J[a>>2];if(c){J[a+4>>2]=c;xj(c);f=J[e+8>>2];b=J[e+12>>2]}J[a+4>>2]=b;J[a>>2]=f;J[a+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);a=J[e+24>>2]+J[e+28>>2]|0;b=(a>>>0)/341|0;a=J[J[e+12>>2]+(b<<2)>>2]+P(a-P(b,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=r;c=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}t=d+16|0;while(1){b=J[e+12>>2];f=J[e+24>>2];l=a-1|0;c=f+l|0;i=(c>>>0)/341|0;c=J[b+(i<<2)>>2]+P(c-P(i,341)|0,12)|0;g=J[c+8>>2];i=J[c+4>>2];j=J[c>>2];J[e+28>>2]=l;c=J[e+16>>2];if((((b|0)!=(c|0)?P(c-b>>2,341)-1|0:0)-(a+f|0)|0)+1>>>0>=682){xj(J[c-4>>2]);J[e+16>>2]=J[e+16>>2]-4}c=0;if(j>>>0>r>>>0){break e}b=J[d+12>>2];a=(b-1|0)!=(i|0)?i+1|0:0;if(a>>>0>=b>>>0){break e}f=P(g,12);o=f+J[d+128>>2]|0;l=f+J[d+116>>2]|0;i=J[d>>2];k=a<<2;n=J[k+J[o>>2]>>2];f:{if((i|0)==(n|0)){if(!j){break f}o=0;b=J[h+20>>2];g=J[h+16>>2];if((b|0)==(g|0)){a=J[d+8>>2];J[h+28>>2]=j+J[h+28>>2];J[d+8>>2]=a+j;break f}while(1){c=(b|0)==(g|0);a=b;i=0;b=g;g:{if(c){break g}while(1){f=J[h+28>>2];b=a;c=P(i,20)+g|0;k=J[c>>2];if(!K[k+84|0]){f=J[J[k+68>>2]+(f<<2)>>2]}if(M[k+80>>2]<=f>>>0){break g}n=J[l>>2]+(J[c+4>>2]<<2)|0;g=J[c+12>>2];b=n;h:{if(g>>>0>3){break h}a=0;b=J[h+12>>2];if(!J[c+16>>2]){break h}while(1){b=Vi(b,n+(a<<2)|0,g);g=J[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[h+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,f)|0,b,a);i=i+1|0;a=J[h+20>>2];b=a;g=J[h+16>>2];if(i>>>0<(b-g|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[d+8>>2]=J[d+8>>2]+1;o=o+1|0;if((j|0)!=(o|0)){continue}break}break f}i:{j:{k:{l:{if(j>>>0<=2){c=J[d+104>>2];J[c>>2]=a;f=1;b=J[d+12>>2];if(b>>>0>1){break l}break i}if(M[d+8>>2]>M[d+4>>2]){break e}b=J[d+116>>2];m=g+1|0;o=P(m,12);q=b+o|0;if((q|0)!=(l|0)){Nb(q,J[l>>2],J[l+4>>2]);b=J[d+116>>2]}b=k+J[b+o>>2]|0;J[b>>2]=J[b>>2]+(1<>2]=0;ke(t,S(j)^31,e+4|0);b=j>>>1|0;i=J[e+4>>2];if(b>>>0>>0){break e}b=b-i|0;c=j-b|0;m:{if((c|0)==(b|0)){c=b;break m}i=J[d+84>>2];if((i|0)==J[d+76>>2]){break k}j=J[i>>2];l=J[d+88>>2];n=l+1|0;J[d+88>>2]=n;j=j&-2147483648>>>l;n:{if((n|0)==32){J[d+88>>2]=0;J[d+84>>2]=i+4;if(j){break n}break k}if(!j){break k}}}i=c;c=b;break j}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(f<<2)>>2]=a;b=J[d+12>>2];f=f+1|0;if(b>>>0>f>>>0){continue}break}break i}i=b}b=J[d+128>>2];j=b+f|0;f=J[j>>2];l=f+k|0;J[l>>2]=J[l>>2]+1;Nb(b+o|0,f,J[j+4>>2]);if(c){b=J[e+28>>2]+J[e+24>>2]|0;j=J[e+16>>2];f=J[e+12>>2];if((b|0)==(((f|0)!=(j|0)?P(j-f>>2,341)-1|0:0)|0)){Mb(e+8|0);f=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}j=(b>>>0)/341|0;b=J[(j<<2)+f>>2]+P(b-P(j,341)|0,12)|0;J[b+8>>2]=g;J[b+4>>2]=a;J[b>>2]=c;J[e+28>>2]=J[e+28>>2]+1}if(!i){break f}b=J[e+28>>2]+J[e+24>>2]|0;c=J[e+16>>2];f=J[e+12>>2];if((b|0)==(((c|0)!=(f|0)?P(c-f>>2,341)-1|0:0)|0)){Mb(e+8|0);f=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+f>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=m;J[b+4>>2]=a;J[b>>2]=i;J[e+28>>2]=J[e+28>>2]+1;break f}n=0;if(!j){break f}while(1){if(J[d+12>>2]){i=J[d+36>>2];q=J[o>>2];c=J[d+92>>2];u=J[d+104>>2];a=0;while(1){g=(a<<2)+u|0;J[c+(J[g>>2]<<2)>>2]=0;b=J[d>>2];f=J[g>>2]<<2;k=J[f+q>>2];o:{if((b|0)==(k|0)){break o}f=c+f|0;b=b-k|0;k=J[d+48>>2];p=32-k|0;if((b|0)<=(p|0)){m=J[d+44>>2];if((m|0)==(i|0)){c=0;break e}J[f>>2]=J[m>>2]<>>32-b;b=b+J[d+48>>2]|0;J[d+48>>2]=b;if((b|0)!=32){break o}J[d+48>>2]=0;J[d+44>>2]=m+4;break o}m=J[d+44>>2];s=m+4|0;if((i|0)==(s|0)){c=0;break e}v=J[m>>2];J[d+44>>2]=s;p=b-p|0;J[d+48>>2]=p;J[f>>2]=J[m+4>>2]>>>32-p|v<>>32-b}b=J[g>>2]<<2;g=b+c|0;J[g>>2]=J[g>>2]|J[b+J[l>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}i=0;a=J[h+16>>2];p:{if((a|0)==J[h+20>>2]){break p}while(1){f=J[h+28>>2];c=P(i,20)+a|0;k=J[c>>2];if(!K[k+84|0]){f=J[J[k+68>>2]+(f<<2)>>2]}if(M[k+80>>2]<=f>>>0){break p}m=J[d+92>>2]+(J[c+4>>2]<<2)|0;g=J[c+12>>2];b=m;q:{if(g>>>0>3){break q}a=0;b=J[h+12>>2];if(!J[c+16>>2]){break q}while(1){b=Vi(b,m+(a<<2)|0,g);g=J[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[h+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,f)|0,b,a);i=i+1|0;a=J[h+16>>2];if(i>>>0<(J[h+20>>2]-a|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[d+8>>2]=J[d+8>>2]+1;n=n+1|0;if((j|0)!=(n|0)){continue}break}}a=J[e+28>>2];if(a){continue}break}c=1}J[e+28>>2]=0;f=J[e+16>>2];a=J[e+12>>2];b=f-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;f=J[e+16>>2];b=f-a|0;if(b>>>0>8){continue}break}}g=170;r:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:J[e+24>>2]=g;break;default:break r}}s:{if((a|0)==(f|0)){break s}while(1){xj(J[a>>2]);a=a+4|0;if((f|0)!=(a|0)){continue}break}a=J[e+16>>2];b=J[e+12>>2];if((a|0)==(b|0)){break s}J[e+16>>2]=a+((b-a|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;break b}Ia();C()}Ia();C()}i=c}return i}function yb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=J[b+8>>2];k=J[b+12>>2];n=J[b+20>>2];h=J[b+16>>2];f=h+4|0;n=f>>>0<4?n+1|0:n;a:{if((k|0)<=(n|0)&f>>>0>i>>>0|(k|0)<(n|0)){break a}h=h+J[b>>2]|0;J[a>>2]=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);h=J[b+20>>2];i=h;f=J[b+16>>2];h=f+4|0;k=h>>>0<4?i+1|0:i;J[b+16>>2]=h;J[b+20>>2]=k;if(M[a>>2]>32){break a}k=J[b+8>>2];n=J[b+12>>2];f=f+8|0;i=f>>>0<8?i+1|0:i;if(f>>>0>k>>>0&(i|0)>=(n|0)|(i|0)>(n|0)){break a}h=J[b>>2]+h|0;f=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[a+4>>2]=f;i=J[b+20>>2];h=J[b+16>>2]+4|0;i=h>>>0<4?i+1|0:i;J[b+16>>2]=h;J[b+20>>2]=i;if(!f){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!he(a+16|0,b)){break a}if(!ge(a+32|0,b)){break a}if(!ge(a+52|0,b)){break a}if(!ge(a+72|0,b)){break a}u=J[a+4>>2];h=c;b=0;c=0;e=fa-32|0;fa=e;f=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=Cj(d);J[e+8>>2]=b;c=b+d|0;J[e+16>>2]=c;Xi(b,0,d);J[e+12>>2]=c}j=J[f+116>>2];d=J[j>>2];if(d){J[j+4>>2]=d;xj(d);c=J[e+12>>2];b=J[e+8>>2];a=J[f+12>>2]}J[j+4>>2]=c;J[j>>2]=b;J[j+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;g=Cj(a);J[e+8>>2]=g;b=a+g|0;J[e+16>>2]=b;Xi(g,0,a);J[e+12>>2]=b}c=J[f+128>>2];a=J[c>>2];if(a){J[c+4>>2]=a;xj(a);g=J[e+8>>2];b=J[e+12>>2]}J[c+4>>2]=b;J[c>>2]=g;J[c+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);b=J[e+24>>2]+J[e+28>>2]|0;a=(b>>>0)/341|0;a=J[J[e+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=u;d=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}n=f+16|0;while(1){i=J[e+12>>2];j=J[e+24>>2];d=a-1|0;c=j+d|0;b=(c>>>0)/341|0;b=J[i+(b<<2)>>2]+P(c-P(b,341)|0,12)|0;o=J[b+8>>2];c=J[b+4>>2];m=J[b>>2];J[e+28>>2]=d;b=J[e+16>>2];if((((b|0)!=(i|0)?P(b-i>>2,341)-1|0:0)-(a+j|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[e+16>>2]=J[e+16>>2]-4}if(m>>>0>u>>>0){d=0;break e}d=0;b=J[f+12>>2];a=(c|0)!=(b-1|0)?c+1|0:0;if(a>>>0>=b>>>0){break e}b=J[f+116>>2];p=P(o,12);r=b+p|0;j=J[f>>2];g=a<<2;k=p+J[f+128>>2]|0;c=J[g+J[k>>2]>>2];f:{if((j|0)==(c|0)){if(!m){break f}b=J[h+20>>2];c=J[h+16>>2];if((b|0)==(c|0)){a=J[f+8>>2];J[h+28>>2]=m+J[h+28>>2];J[f+8>>2]=a+m;break f}while(1){i=(b|0)==(c|0);a=b;j=0;b=c;g:{if(i){break g}while(1){g=J[h+28>>2];b=a;l=P(j,20)+c|0;k=J[l>>2];if(!K[k+84|0]){g=J[J[k+68>>2]+(g<<2)>>2]}if(M[k+80>>2]<=g>>>0){break g}i=J[r>>2]+(J[l+4>>2]<<2)|0;c=J[l+12>>2];b=i;h:{if(c>>>0>3){break h}a=0;b=J[h+12>>2];if(!J[l+16>>2]){break h}while(1){b=Vi(b,i+(a<<2)|0,c);c=J[l+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[h+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,g)|0,b,a);j=j+1|0;a=J[h+20>>2];b=a;c=J[h+16>>2];if(j>>>0<(b-c|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;d=d+1|0;if((m|0)!=(d|0)){continue}break}break f}i:{j:{k:{l:{if(m>>>0<=2){c=J[f+104>>2];J[c>>2]=a;g=1;b=J[f+12>>2];if(b>>>0>1){break l}break i}if(M[f+8>>2]>M[f+4>>2]){break e}i=b;b=p+12|0;Nb(i+b|0,J[r>>2],J[r+4>>2]);b=g+J[b+J[f+116>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<>2]=0;ke(n,S(m)^31,e+4|0);c=m>>>1|0;b=J[e+4>>2];if(c>>>0>>0){break e}l=o+1|0;b=c-b|0;c=m-b|0;m:{if((c|0)==(b|0)){c=b;break m}k=J[f+84>>2];if((k|0)==J[f+76>>2]){break k}i=J[k>>2];j=J[f+88>>2];d=j+1|0;J[f+88>>2]=d;j=i&-2147483648>>>j;n:{if((d|0)==32){J[f+88>>2]=0;J[f+84>>2]=k+4;if(j){break n}break k}if(!j){break k}}}j=c;c=b;break j}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(g<<2)>>2]=a;b=J[f+12>>2];g=g+1|0;if(b>>>0>g>>>0){continue}break}break i}j=b}k=J[f+128>>2];i=k+p|0;d=J[i>>2];b=d+g|0;J[b>>2]=J[b>>2]+1;Nb(k+P(l,12)|0,d,J[i+4>>2]);if(c){b=J[e+28>>2]+J[e+24>>2]|0;d=J[e+16>>2];g=J[e+12>>2];if((b|0)==(((d|0)!=(g|0)?P(d-g>>2,341)-1|0:0)|0)){Mb(e+8|0);g=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}d=(b>>>0)/341|0;b=J[(d<<2)+g>>2]+P(b-P(d,341)|0,12)|0;J[b+8>>2]=o;J[b+4>>2]=a;J[b>>2]=c;J[e+28>>2]=J[e+28>>2]+1}if(!j){break f}b=J[e+28>>2]+J[e+24>>2]|0;c=J[e+16>>2];g=J[e+12>>2];if((b|0)==(((c|0)!=(g|0)?P(c-g>>2,341)-1|0:0)|0)){Mb(e+8|0);g=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+g>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=l;J[b+4>>2]=a;J[b>>2]=j;J[e+28>>2]=J[e+28>>2]+1;break f}s=0;if(!m){break f}while(1){if(J[f+12>>2]){v=J[f+36>>2];i=J[k>>2];t=J[f+92>>2];j=J[f+104>>2];a=0;while(1){o=(a<<2)+j|0;J[t+(J[o>>2]<<2)>>2]=0;d=J[f>>2];c=J[o>>2]<<2;b=J[c+i>>2];o:{if((d|0)==(b|0)){break o}p=c+t|0;q=d-b|0;g=J[f+48>>2];d=32-g|0;if((q|0)<=(d|0)){c=J[f+44>>2];if((c|0)==(v|0)){d=0;break e}J[p>>2]=J[c>>2]<>>32-q;b=q+J[f+48>>2]|0;J[f+48>>2]=b;if((b|0)!=32){break o}J[f+48>>2]=0;J[f+44>>2]=c+4;break o}l=J[f+44>>2];b=l+4|0;if((v|0)==(b|0)){d=0;break e}c=J[l>>2];J[f+44>>2]=b;b=q-d|0;J[f+48>>2]=b;J[p>>2]=J[l+4>>2]>>>32-b|c<>>32-q}c=J[o>>2]<<2;b=c+t|0;J[b>>2]=J[b>>2]|J[c+J[r>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}j=0;a=J[h+16>>2];p:{if((a|0)==J[h+20>>2]){break p}while(1){g=J[h+28>>2];l=P(j,20)+a|0;i=J[l>>2];if(!K[i+84|0]){g=J[J[i+68>>2]+(g<<2)>>2]}if(M[i+80>>2]<=g>>>0){break p}d=J[f+92>>2]+(J[l+4>>2]<<2)|0;c=J[l+12>>2];b=d;q:{if(c>>>0>3){break q}a=0;b=J[h+12>>2];if(!J[l+16>>2]){break q}while(1){b=Vi(b,d+(a<<2)|0,c);c=J[l+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[h+12>>2]}a=J[i+40>>2];Vi(J[J[i>>2]>>2]+P(a,g)|0,b,a);j=j+1|0;a=J[h+16>>2];if(j>>>0<(J[h+20>>2]-a|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;s=s+1|0;if((m|0)!=(s|0)){continue}break}}a=J[e+28>>2];if(a){continue}break}d=1}J[e+28>>2]=0;g=J[e+16>>2];a=J[e+12>>2];b=g-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;g=J[e+16>>2];b=g-a|0;if(b>>>0>8){continue}break}}c=170;r:{switch((b>>>2|0)-1|0){case 1:c=341;case 0:J[e+24>>2]=c;break;default:break r}}s:{if((a|0)==(g|0)){break s}while(1){xj(J[a>>2]);a=a+4|0;if((g|0)!=(a|0)){continue}break}b=J[e+16>>2];a=J[e+12>>2];if((b|0)==(a|0)){break s}J[e+16>>2]=b+((a-b|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;j=d;break b}Ia();C()}Ia();C()}}return j}function af(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;h=fa-32|0;fa=h;g=J[J[a+4>>2]+44>>2];c=J[a+8>>2];d=J[c>>2];c=J[c+4>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;d=(c-d>>2>>>0)/3|0;c=J[g+96>>2];f=(J[g+100>>2]-c|0)/12|0;a:{if(d>>>0>f>>>0){e=d-f|0;i=J[g+104>>2];c=J[g+100>>2];if(e>>>0<=(i-c|0)/12>>>0){b:{if(!e){break b}d=c;f=P(e,12)-12|0;i=((f>>>0)/12|0)+1&3;if(i){while(1){l=J[h+20>>2];J[d>>2]=J[h+16>>2];J[d+4>>2]=l;J[d+8>>2]=J[h+24>>2];d=d+12|0;j=j+1|0;if((i|0)!=(j|0)){continue}break}}c=P(e,12)+c|0;if(f>>>0<36){break b}while(1){f=J[h+20>>2];J[d>>2]=J[h+16>>2];J[d+4>>2]=f;J[d+8>>2]=J[h+24>>2];J[d+20>>2]=J[h+24>>2];f=J[h+20>>2];J[d+12>>2]=J[h+16>>2];J[d+16>>2]=f;J[d+32>>2]=J[h+24>>2];f=J[h+20>>2];J[d+24>>2]=J[h+16>>2];J[d+28>>2]=f;f=J[h+20>>2];J[d+36>>2]=J[h+16>>2];J[d+40>>2]=f;J[d+44>>2]=J[h+24>>2];d=d+48|0;if((d|0)!=(c|0)){continue}break}}J[g+100>>2]=c;break a}c:{f=J[g+96>>2];n=(c-f|0)/12|0;d=n+e|0;if(d>>>0<357913942){f=(i-f|0)/12|0;i=f<<1;i=f>>>0>=178956970?357913941:d>>>0>>0?i:d;if(i){if(i>>>0>=357913942){break c}l=Cj(P(i,12))}f=P(n,12)+l|0;d=f;e=P(e,12);n=e-12|0;q=((n>>>0)/12|0)+1&3;if(q){while(1){r=J[h+20>>2];J[d>>2]=J[h+16>>2];J[d+4>>2]=r;J[d+8>>2]=J[h+24>>2];d=d+12|0;j=j+1|0;if((q|0)!=(j|0)){continue}break}}e=e+f|0;if(n>>>0>=36){while(1){j=J[h+20>>2];J[d>>2]=J[h+16>>2];J[d+4>>2]=j;J[d+8>>2]=J[h+24>>2];J[d+20>>2]=J[h+24>>2];j=J[h+20>>2];J[d+12>>2]=J[h+16>>2];J[d+16>>2]=j;J[d+32>>2]=J[h+24>>2];j=J[h+20>>2];J[d+24>>2]=J[h+16>>2];J[d+28>>2]=j;j=J[h+20>>2];J[d+36>>2]=J[h+16>>2];J[d+40>>2]=j;J[d+44>>2]=J[h+24>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}j=J[g+96>>2];if((j|0)!=(c|0)){while(1){c=c-12|0;n=J[c+4>>2];f=f-12|0;d=f;J[d>>2]=J[c>>2];J[d+4>>2]=n;J[d+8>>2]=J[c+8>>2];if((c|0)!=(j|0)){continue}break}c=J[g+96>>2]}J[g+104>>2]=P(i,12)+l;J[g+100>>2]=e;J[g+96>>2]=f;if(c){xj(c)}break a}Ia();C()}Va();C()}if(d>>>0>=f>>>0){break a}J[g+100>>2]=c+P(d,12)}d:{if(J[a+216>>2]==J[a+220>>2]){j=J[a+4>>2];c=J[j+44>>2];d=J[c+100>>2];f=J[c+96>>2];if((d|0)!=(f|0)){c=(d-f|0)/12|0;o=c>>>0<=1?1:c;c=0;while(1){d=J[a+8>>2];i=f+P(c,12)|0;g=P(c,3);e:{f:{if((g|0)==-1){e=J[(J[d>>2]+(g<<2)|0)+4>>2];k=-1;g=1;break f}e=-1;k=J[J[d>>2]+(g<<2)>>2];l=g+1|0;if((l|0)==-1){g=0;break f}e=J[J[d>>2]+(l<<2)>>2];g=g+2|0;m=-1;if((g|0)==-1){break e}}m=J[J[d>>2]+(g<<2)>>2]}J[i+8>>2]=m;J[i+4>>2]=e;J[i>>2]=k;c=c+1|0;if((o|0)!=(c|0)){continue}break}}J[J[j+4>>2]+80>>2]=b;c=1;break d}d=0;J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;l=J[a+8>>2];c=J[l>>2];g=J[l+4>>2];J[h+8>>2]=0;J[h>>2]=0;J[h+4>>2]=0;b=0;g:{h:{i:{j:{k:{l:{if((c|0)!=(g|0)){c=g-c|0;if((c|0)<0){break l}b=Cj(c);J[h>>2]=b;J[h+8>>2]=(c&-4)+b;u=h,v=Xi(b,0,c)+c|0,J[u+4>>2]=v}c=J[l+24>>2];if((J[l+28>>2]-c|0)<4){break h}f=0;while(1){g=J[(p<<2)+c>>2];m:{if((g|0)==-1){break m}n:{if(J[J[a+120>>2]+(p>>>3&536870908)>>2]>>>p&1){break n}n=J[a+216>>2];c=J[a+220>>2];if((n|0)==(c|0)){break n}e=g+2|0;i=(g>>>0)%3|0;q=i?g-1|0:e;c=(c-n|0)/144|0;r=c>>>0<=1?1:c;j=0;t=(i|0)!=0|(e|0)!=-1;while(1){s=g<<2;i=P(j,144)+n|0;c=J[s+J[J[i+68>>2]>>2]>>2];o:{if(!(J[J[i+16>>2]+(c>>>3&536870908)>>2]>>>c&1)){break o}c=-1;p:{if(!t){break p}e=J[J[l+12>>2]+(q<<2)>>2];c=-1;if((e|0)==-1){break p}c=e-1|0;if((e>>>0)%3|0){break p}c=e+2|0}if((g|0)==(c|0)){break o}e=s;s=J[i+32>>2];i=J[e+s>>2];while(1){e=0;if((c|0)==-1){break g}if((i|0)!=J[s+(c<<2)>>2]){g=c;break n}q:{r:{if((c>>>0)%3|0){e=c-1|0;break r}e=c+2|0;m=-1;if((e|0)==-1){break q}}c=J[J[l+12>>2]+(e<<2)>>2];m=-1;if((c|0)==-1){break q}m=c-1|0;if((c>>>0)%3|0){break q}m=c+2|0}c=m;if((g|0)!=(c|0)){continue}break}}j=j+1|0;if((r|0)!=(j|0)){continue}break}}i=k-f|0;e=i>>2;J[(g<<2)+b>>2]=e;s:{if(k>>>0>>0){J[k>>2]=g;k=k+4|0;J[h+20>>2]=k;break s}c=e+1|0;if(c>>>0>=1073741824){break k}d=o-f|0;k=d>>>1|0;c=d>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}d=Cj(c<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=g;m=c<<2;c=Wi(d,f,i);o=m+c|0;J[h+24>>2]=o;k=e+4|0;J[h+20>>2]=k;J[h+16>>2]=c;if(f){xj(f);l=J[a+8>>2]}f=c}if((g|0)==-1){break m}t:{if((g>>>0)%3|0){c=g-1|0;break t}c=g+2|0;if((c|0)==-1){break m}}c=J[J[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=g;if((c|0)==(g|0)){break m}while(1){i=c;u:{v:{c=J[a+220>>2];j=J[a+216>>2];if((c|0)==(j|0)){break v}c=(c-j|0)/144|0;n=c>>>0<=1?1:c;c=0;while(1){q=J[(j+P(c,144)|0)+32>>2];r=i<<2;if(J[q+r>>2]==J[q+(e<<2)>>2]){c=c+1|0;if((n|0)!=(c|0)){continue}break v}break}j=k-d|0;e=j>>2;J[b+r>>2]=e;if(k>>>0>>0){J[k>>2]=i;k=k+4|0;J[h+20>>2]=k;f=d;break u}c=e+1|0;if(c>>>0>=1073741824){break i}f=o-d|0;k=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}f=Cj(c<<2)}else{f=0}e=f+(e<<2)|0;J[e>>2]=i;m=c<<2;c=Wi(f,d,j);o=m+c|0;J[h+24>>2]=o;k=e+4|0;J[h+20>>2]=k;J[h+16>>2]=c;if(!d){d=c;break u}xj(d);l=J[a+8>>2];d=c;break u}J[(i<<2)+b>>2]=J[(e<<2)+b>>2]}if((i|0)==-1){break m}w:{if((i>>>0)%3|0){c=i-1|0;break w}c=i+2|0;if((c|0)==-1){break m}}c=J[J[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=i;if((c|0)!=(g|0)){continue}break}}p=p+1|0;c=J[l+24>>2];if((p|0)>2]-c>>2){continue}break}break h}Ia();C()}Ia();C()}Va();C()}Ia();C()}i=J[a+4>>2];a=J[i+44>>2];c=J[a+100>>2];a=J[a+96>>2];x:{if((c|0)==(a|0)){break x}g=(c-a|0)/12|0;f=g>>>0<=1?1:g;l=f&1;c=0;if(g>>>0>=2){j=f&-2;g=0;while(1){e=P(c,12);f=e+b|0;o=J[f>>2];p=J[f+4>>2];e=a+e|0;J[e+8>>2]=J[f+8>>2];J[e>>2]=o;J[e+4>>2]=p;e=P(c|1,12);f=e+b|0;o=J[f>>2];p=J[f+4>>2];e=a+e|0;J[e+8>>2]=J[f+8>>2];J[e>>2]=o;J[e+4>>2]=p;c=c+2|0;g=g+2|0;if((j|0)!=(g|0)){continue}break}}if(!l){break x}g=P(c,12);c=g+b|0;f=J[c>>2];e=J[c+4>>2];a=a+g|0;J[a+8>>2]=J[c+8>>2];J[a>>2]=f;J[a+4>>2]=e}J[J[i+4>>2]+80>>2]=k-d>>2;e=1}c=e;if(b){xj(b)}if(!d){break d}J[h+20>>2]=d;xj(d)}fa=h+32|0;return c}function Ic(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0;g=fa+-64|0;fa=g;J[a+8>>2]=e;x=a+32|0;f=J[x>>2];d=J[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){La(x,e-d|0);J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g>>2]=0;break b}if(d>>>0>e>>>0){J[a+36>>2]=f+(e<<2)}J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g>>2]=0;d=0;if(!e){break a}}fb(g+16|0,e,g);h=J[g+28>>2];d=J[g+32>>2]}J[g>>2]=0;d=d-h>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}J[g+32>>2]=(e<<2)+h;break c}fb(g+16|12,e-d|0,g)}J[g>>2]=0;f=J[g+40>>2];d=J[g+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}J[g+44>>2]=f+(e<<2);break d}fb(g+40|0,e-d|0,g)}J[g>>2]=0;f=J[g+52>>2];d=J[g+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}J[g+56>>2]=f+(e<<2);break e}fb(g+52|0,e-d|0,g)}f:{if(J[a+8>>2]<=0){break f}i=J[g+16>>2];j=J[a+32>>2];h=0;while(1){d=h<<2;f=J[d+i>>2];m=J[a+16>>2];g:{if((f|0)>(m|0)){J[d+j>>2]=m;break g}d=d+j|0;m=J[a+12>>2];if((m|0)>(f|0)){J[d>>2]=m;break g}J[d>>2]=f}h=h+1|0;d=J[a+8>>2];if((h|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){i=d<<2;f=i+c|0;i=J[b+i>>2]+J[j+i>>2]|0;J[f>>2]=i;h:{if((i|0)>J[a+16>>2]){i=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break h}i=i+J[a+20>>2]|0}J[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}G=J[a+52>>2];t=J[a+48>>2];y=Cj(16);d=y;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;r=Cj(d);J[g>>2]=r;J[g+8>>2]=d+r;Xi(r,0,d)}z=1;d=J[a+56>>2];A=J[d>>2];d=J[d+4>>2]-A|0;j:{if((d|0)<8){break j}v=d>>2;H=(v|0)<=2?2:v;I=v>>>0<=1?1:v;B=e&-2;D=e&1;K=e&-4;E=e&3;F=e-1|0;L=e<<2;M=e>>>0<4;z=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(I|0)){o:{p:{f=J[(m<<2)+A>>2];if((f|0)==-1){break p}k=1;d=f+2|0;j=(f>>>0)%3|0;w=j?f-1|0:d;s=1<>2];N=n+(w>>>3&536870908)|0;i=0;O=(j|0)!=0|(d|0)!=-1;d=f;q:{while(1){r:{if(J[n+(d>>>3&536870908)>>2]>>>d&1){break r}j=J[J[J[t+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break r}l=J[G>>2];h=J[t+28>>2];p=J[l+(J[h+(j<<2)>>2]<<2)>>2];if((p|0)>=(m|0)){break r}q=j+1|0;q=J[l+(J[h+(((q>>>0)%3|0?q:j-2|0)<<2)>>2]<<2)>>2];if((q|0)>=(m|0)){break r}h=J[l+(J[h+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((h|0)>=(m|0)){break r}s:{if(!e){break s}j=J[(g+16|0)+P(i,12)>>2];l=P(e,h);q=P(e,q);p=P(e,p);h=0;o=0;if(F){while(1){J[j+(h<<2)>>2]=(J[(h+l<<2)+c>>2]+J[(h+q<<2)+c>>2]|0)-J[(h+p<<2)+c>>2];u=h|1;J[j+(u<<2)>>2]=(J[(l+u<<2)+c>>2]+J[(q+u<<2)+c>>2]|0)-J[(p+u<<2)+c>>2];h=h+2|0;o=o+2|0;if((B|0)!=(o|0)){continue}break}}if(!D){break s}J[j+(h<<2)>>2]=(J[(h+l<<2)+c>>2]+J[(h+q<<2)+c>>2]|0)-J[(h+p<<2)+c>>2]}j=4;i=i+1|0;if((i|0)==4){break q}}t:{if(k&1){h=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:h;if((j|0)==-1|J[n+(j>>>3&536870908)>>2]>>>j&1){break t}j=J[J[J[t+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break t}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break t}u:{if((d>>>0)%3|0){h=d-1|0;break u}h=d+2|0;d=-1;if((h|0)==-1){break t}}d=-1;if(J[n+(h>>>3&536870908)>>2]>>>h&1){break t}j=J[J[J[t+64>>2]+12>>2]+(h<<2)>>2];if((j|0)==-1){break t}if((j>>>0)%3|0){d=j-1|0;break t}d=j+2|0}v:{if((d|0)==(f|0)){break v}if((d|0)==-1&k){if(!O|s&J[N>>2]){break v}d=J[J[J[t+64>>2]+12>>2]+(w<<2)>>2];if((d|0)==-1){break v}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}j=i;if((j|0)<=0){break p}}if(e){Xi(r,0,L)}d=j-1|0;q=(d<<2)+y|0;d=P(d,12)+a|0;u=d;w=J[d- -64>>2];k=0;d=J[g>>2];f=0;while(1){i=J[q>>2];J[q>>2]=i+1;if(i>>>0>=w>>>0){break j}w:{if(J[J[u+60>>2]+(i>>>3&536870908)>>2]>>>i&1){break w}f=f+1|0;if(!e){break w}n=J[(g+16|0)+P(k,12)>>2];i=0;h=0;p=0;if(!M){while(1){l=h<<2;o=l+d|0;J[o>>2]=J[l+n>>2]+J[o>>2];o=l|4;s=o+d|0;J[s>>2]=J[n+o>>2]+J[s>>2];o=l|8;s=o+d|0;J[s>>2]=J[n+o>>2]+J[s>>2];l=l|12;o=l+d|0;J[o>>2]=J[l+n>>2]+J[o>>2];h=h+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break w}while(1){l=h<<2;p=l+d|0;J[p>>2]=J[l+n>>2]+J[p>>2];h=h+1|0;i=i+1|0;if((E|0)!=(i|0)){continue}break}}k=k+1|0;if((k|0)!=(j|0)){continue}break}i=P(e,m);if(!f){break o}if(!e){break l}h=0;d=0;if(F){break n}break m}i=P(e,m)}if(J[a+8>>2]<=0){break k}k=(P(m-1|0,e)<<2)+c|0;j=J[x>>2];h=0;while(1){d=h<<2;f=J[d+k>>2];n=J[a+16>>2];x:{if((f|0)>(n|0)){J[d+j>>2]=n;break x}d=d+j|0;n=J[a+12>>2];if((n|0)>(f|0)){J[d>>2]=n;break x}J[d>>2]=f}h=h+1|0;f=J[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=J[i+k>>2]+J[j+i>>2]|0;J[f>>2]=i;y:{if((i|0)>J[a+16>>2]){i=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break y}i=i+J[a+20>>2]|0}J[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}break k}yc();C()}while(1){j=h<<2;k=j+r|0;J[k>>2]=J[k>>2]/(f|0);j=(j|4)+r|0;J[j>>2]=J[j>>2]/(f|0);h=h+2|0;d=d+2|0;if((B|0)!=(d|0)){continue}break}}if(!D){break l}d=(h<<2)+r|0;J[d>>2]=J[d>>2]/(f|0)}if(J[a+8>>2]<=0){break k}j=J[x>>2];h=0;while(1){d=h<<2;f=J[d+r>>2];k=J[a+16>>2];z:{if((f|0)>(k|0)){J[d+j>>2]=k;break z}d=d+j|0;k=J[a+12>>2];if((k|0)>(f|0)){J[d>>2]=k;break z}J[d>>2]=f}h=h+1|0;f=J[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=J[i+k>>2]+J[j+i>>2]|0;J[f>>2]=i;A:{if((i|0)>J[a+16>>2]){i=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break A}i=i+J[a+20>>2]|0}J[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;z=(v|0)<=(m|0);if((m|0)!=(H|0)){continue}break}}a=J[g>>2];if(a){xj(a)}xj(y);a=J[g+52>>2];if(a){J[g+56>>2]=a;xj(a)}a=J[g+40>>2];if(a){J[g+44>>2]=a;xj(a)}a=J[g+28>>2];if(a){J[g+32>>2]=a;xj(a)}a=J[g+16>>2];if(a){J[g+20>>2]=a;xj(a)}fa=g- -64|0;return z|0}Ia();C()}function kd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0;h=fa+-64|0;fa=h;J[a+8>>2]=e;w=a+32|0;f=J[w>>2];d=J[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){La(w,e-d|0);J[h+56>>2]=0;J[h+60>>2]=0;J[h+48>>2]=0;J[h+52>>2]=0;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h>>2]=0;break b}if(d>>>0>e>>>0){J[a+36>>2]=f+(e<<2)}J[h+56>>2]=0;J[h+60>>2]=0;J[h+48>>2]=0;J[h+52>>2]=0;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h>>2]=0;d=0;if(!e){break a}}fb(h+16|0,e,h);i=J[h+28>>2];d=J[h+32>>2]}J[h>>2]=0;d=d-i>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}J[h+32>>2]=(e<<2)+i;break c}fb(h+16|12,e-d|0,h)}J[h>>2]=0;f=J[h+40>>2];d=J[h+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}J[h+44>>2]=f+(e<<2);break d}fb(h+40|0,e-d|0,h)}J[h>>2]=0;f=J[h+52>>2];d=J[h+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}J[h+56>>2]=f+(e<<2);break e}fb(h+52|0,e-d|0,h)}f:{if(J[a+8>>2]<=0){break f}g=J[h+16>>2];j=J[a+32>>2];i=0;while(1){d=i<<2;f=J[d+g>>2];m=J[a+16>>2];g:{if((f|0)>(m|0)){J[d+j>>2]=m;break g}d=d+j|0;m=J[a+12>>2];if((m|0)>(f|0)){J[d>>2]=m;break g}J[d>>2]=f}i=i+1|0;d=J[a+8>>2];if((i|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){g=d<<2;f=g+c|0;g=J[b+g>>2]+J[g+j>>2]|0;J[f>>2]=g;h:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break h}g=g+J[a+20>>2]|0}J[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}G=J[a+52>>2];z=J[a+48>>2];x=Cj(16);d=x;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[h+8>>2]=0;J[h>>2]=0;J[h+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;t=Cj(d);J[h>>2]=t;J[h+8>>2]=d+t;Xi(t,0,d)}y=1;d=J[a+56>>2];A=J[d>>2];d=J[d+4>>2]-A|0;j:{if((d|0)<8){break j}v=d>>2;H=(v|0)<=2?2:v;I=v>>>0<=1?1:v;B=e&-2;D=e&1;K=e&-4;E=e&3;F=e-1|0;L=e<<2;M=e>>>0<4;y=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(I|0)){o:{p:{f=J[(m<<2)+A>>2];if((f|0)==-1){break p}n=J[z+12>>2];d=f+2|0;g=(f>>>0)%3|0;q=n+((g?f-1|0:d)<<2)|0;j=0;u=(g|0)!=0|(d|0)!=-1;k=1;d=f;q:{while(1){g=J[n+(d<<2)>>2];r:{if((g|0)==-1){break r}l=-1;p=J[G>>2];r=J[z>>2];i=p+(J[r+(g<<2)>>2]<<2)|0;o=g+1|0;o=(o>>>0)%3|0?o:g-2|0;if((o|0)!=-1){l=J[r+(o<<2)>>2]}o=J[i>>2];s:{t:{if((g>>>0)%3|0){i=g-1|0;break t}i=g+2|0;s=-1;if((i|0)==-1){break s}}s=J[r+(i<<2)>>2]}if((m|0)<=(o|0)){break r}i=J[p+(l<<2)>>2];if((i|0)>=(m|0)){break r}l=J[p+(s<<2)>>2];if((l|0)>=(m|0)){break r}g=J[(h+16|0)+P(j,12)>>2];u:{if(!e){break u}l=P(e,l);r=P(e,i);p=P(e,o);i=0;s=0;if(F){while(1){J[g+(i<<2)>>2]=(J[(i+l<<2)+c>>2]+J[(i+r<<2)+c>>2]|0)-J[(i+p<<2)+c>>2];o=i|1;J[g+(o<<2)>>2]=(J[(l+o<<2)+c>>2]+J[(o+r<<2)+c>>2]|0)-J[(o+p<<2)+c>>2];i=i+2|0;s=s+2|0;if((B|0)!=(s|0)){continue}break}}if(!D){break u}J[g+(i<<2)>>2]=(J[(i+l<<2)+c>>2]+J[(i+r<<2)+c>>2]|0)-J[(i+p<<2)+c>>2]}g=4;j=j+1|0;if((j|0)==4){break q}}v:{if(k&1){i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;g=-1;if((d|0)==-1){break v}d=J[n+(d<<2)>>2];g=-1;if((d|0)==-1){break v}g=d+1|0;g=(g>>>0)%3|0?g:d-2|0;break v}w:{if((d>>>0)%3|0){i=d-1|0;break w}i=d+2|0;g=-1;if((i|0)==-1){break v}}d=J[n+(i<<2)>>2];g=-1;if((d|0)==-1){break v}g=d-1|0;if((d>>>0)%3|0){break v}g=d+2|0}d=g;x:{if((f|0)==(d|0)){break x}if((d|0)==-1&k){if(!u){break x}d=J[q>>2];if((d|0)==-1){break x}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}g=j;if((g|0)<=0){break p}}if(e){Xi(t,0,L)}d=g-1|0;r=(d<<2)+x|0;d=P(d,12)+a|0;o=d;s=J[d- -64>>2];k=0;d=J[h>>2];f=0;while(1){j=J[r>>2];J[r>>2]=j+1;if(j>>>0>=s>>>0){break j}y:{if(J[J[o+60>>2]+(j>>>3&536870908)>>2]>>>j&1){break y}f=f+1|0;if(!e){break y}j=J[(h+16|0)+P(k,12)>>2];l=0;i=0;p=0;if(!M){while(1){n=i<<2;q=n+d|0;J[q>>2]=J[j+n>>2]+J[q>>2];q=n|4;u=q+d|0;J[u>>2]=J[j+q>>2]+J[u>>2];q=n|8;u=q+d|0;J[u>>2]=J[j+q>>2]+J[u>>2];n=n|12;q=n+d|0;J[q>>2]=J[j+n>>2]+J[q>>2];i=i+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break y}while(1){n=i<<2;p=n+d|0;J[p>>2]=J[j+n>>2]+J[p>>2];i=i+1|0;l=l+1|0;if((E|0)!=(l|0)){continue}break}}k=k+1|0;if((k|0)!=(g|0)){continue}break}g=P(e,m);if(!f){break o}if(!e){break l}i=0;d=0;if(F){break n}break m}g=P(e,m)}if(J[a+8>>2]<=0){break k}k=(P(m-1|0,e)<<2)+c|0;j=J[w>>2];i=0;while(1){d=i<<2;f=J[d+k>>2];l=J[a+16>>2];z:{if((f|0)>(l|0)){J[d+j>>2]=l;break z}d=d+j|0;l=J[a+12>>2];if((l|0)>(f|0)){J[d>>2]=l;break z}J[d>>2]=f}i=i+1|0;f=J[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=J[g+k>>2]+J[g+j>>2]|0;J[f>>2]=g;A:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break A}g=g+J[a+20>>2]|0}J[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}break k}yc();C()}while(1){j=i<<2;k=j+t|0;J[k>>2]=J[k>>2]/(f|0);j=(j|4)+t|0;J[j>>2]=J[j>>2]/(f|0);i=i+2|0;d=d+2|0;if((B|0)!=(d|0)){continue}break}}if(!D){break l}d=(i<<2)+t|0;J[d>>2]=J[d>>2]/(f|0)}if(J[a+8>>2]<=0){break k}j=J[w>>2];i=0;while(1){d=i<<2;f=J[d+t>>2];k=J[a+16>>2];B:{if((f|0)>(k|0)){J[d+j>>2]=k;break B}d=d+j|0;k=J[a+12>>2];if((k|0)>(f|0)){J[d>>2]=k;break B}J[d>>2]=f}i=i+1|0;f=J[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=J[g+k>>2]+J[g+j>>2]|0;J[f>>2]=g;C:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break C}g=g+J[a+20>>2]|0}J[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;y=(v|0)<=(m|0);if((m|0)!=(H|0)){continue}break}}a=J[h>>2];if(a){xj(a)}xj(x);a=J[h+52>>2];if(a){J[h+56>>2]=a;xj(a)}a=J[h+40>>2];if(a){J[h+44>>2]=a;xj(a)}a=J[h+28>>2];if(a){J[h+32>>2]=a;xj(a)}a=J[h+16>>2];if(a){J[h+20>>2]=a;xj(a)}fa=h- -64|0;return y|0}Ia();C()}function qj(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,B=0,C=0;m=fa-560|0;fa=m;J[m+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<0){s=1;y=1142;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){s=1;y=1145;break a}s=e&1;y=s?1148:1143;z=!s}b:{if((g&2146435072)==2146435072){g=s+3|0;pj(a,32,c,g,e&-65537);lj(a,y,s);d=f&32;lj(a,b!=b?d?1205:1293:d?1268:1297,3);pj(a,32,c,g,e^8192);n=(c|0)<(g|0)?g:c;break b}u=m+16|0;c:{d:{e:{b=ij(b,m+44|0);b=b+b;if(b!=0){g=J[m+44>>2];J[m+44>>2]=g-1;w=f|32;if((w|0)!=97){break e}break c}w=f|32;if((w|0)==97){break c}k=J[m+44>>2];l=(d|0)<0?6:d;break d}k=g-29|0;J[m+44>>2]=k;b=b*268435456;l=(d|0)<0?6:d}q=(m+48|0)+((k|0)>=0?288:0)|0;h=q;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}J[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((k|0)<=0){d=k;g=h;i=q;break f}i=q;d=k;while(1){o=(d|0)>=29?29:d;g=h-4|0;g:{if(i>>>0>g>>>0){break g}d=0;while(1){j=J[g>>2];x=d;d=o&31;if((o&63)>>>0>=32){n=j<>>32-d;d=j<>>0>x>>>0?j+1|0:j,1e9,0);B=g,C=x-nk(d,ja,1e9,0)|0,J[B>>2]=C;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!d){break g}i=i-4|0;J[i>>2]=d}while(1){g=h;if(i>>>0>>0){h=g-4|0;if(!J[h>>2]){continue}}break}d=J[m+44>>2]-o|0;J[m+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){t=((l+25>>>0)/9|0)+1|0;p=(w|0)==102;while(1){d=0-d|0;n=(d|0)>=9?9:d;h:{if(g>>>0<=i>>>0){h=J[i>>2];break h}o=1e9>>>n|0;j=-1<>2];J[h>>2]=x+(d>>>n|0);d=P(o,d&j);h=h+4|0;if(h>>>0>>0){continue}break}h=J[i>>2];if(!d){break h}J[g>>2]=d;g=g+4|0}d=n+J[m+44>>2]|0;J[m+44>>2]=d;i=(!h<<2)+i|0;h=p?q:i;g=g-h>>2>(t|0)?h+(t<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=i>>>0){break i}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break i}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=(l-((w|0)!=102?d:0)|0)-((w|0)==103&(l|0)!=0)|0;if((h|0)<(P(g-q>>2,9)-9|0)){o=h+9216|0;j=(o|0)/9|0;k=((((k|0)<0?4:292)+m|0)+(j<<2)|0)-4048|0;h=10;n=o-P(j,9)|0;if((n|0)<=7){while(1){h=P(h,10);n=n+1|0;if((n|0)!=8){continue}break}}o=J[k>>2];t=(o>>>0)/(h>>>0)|0;p=o-P(h,t)|0;j=k+4|0;j:{if(!p&(j|0)==(g|0)){break j}k:{if(!(t&1)){b=9007199254740992;if(!(H[k-4|0]&1)|((h|0)!=1e9|i>>>0>=k>>>0)){break k}}b=9007199254740994}r=(g|0)==(j|0)?1:1.5;j=h>>>1|0;r=j>>>0>p>>>0?.5:(j|0)==(p|0)?r:1.5;if(!(K[y|0]!=45|z)){r=-r;b=-b}j=o-p|0;J[k>>2]=j;if(b+r==b){break j}d=h+j|0;J[k>>2]=d;if(d>>>0>=1e9){while(1){J[k>>2]=0;k=k-4|0;if(k>>>0>>0){i=i-4|0;J[i>>2]=0}d=J[k>>2]+1|0;J[k>>2]=d;if(d>>>0>999999999){continue}break}}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break j}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=k+4|0;g=g>>>0>h>>>0?h:g}while(1){j=g;o=g>>>0<=i>>>0;if(!o){g=j-4|0;if(!J[g>>2]){continue}}break}l:{if((w|0)!=103){k=e&8;break l}h=l?l:1;g=(h|0)>(d|0)&(d|0)>-5;l=(g?d^-1:-1)+h|0;f=(g?-1:-2)+f|0;k=e&8;if(k){break l}g=-9;m:{if(o){break m}k=J[j-4>>2];if(!k){break m}n=10;g=0;if((k>>>0)%10|0){break m}while(1){h=g;g=g+1|0;n=P(n,10);if(!((k>>>0)%(n>>>0)|0)){continue}break}g=h^-1}h=P(j-q>>2,9);if((f&-33)==70){k=0;g=(g+h|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g;break l}k=0;g=((d+h|0)+g|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g}n=-1;o=k|l;if(((o?2147483645:2147483646)|0)<(l|0)){break b}p=(((o|0)!=0)+l|0)+1|0;h=f&-33;n:{if((h|0)==70){if((p^2147483647)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=oj((g^d)-g|0,0,u);if((u-g|0)<=1){while(1){g=g-1|0;H[g|0]=48;if((u-g|0)<2){continue}break}}t=g-2|0;H[t|0]=f;H[g-1|0]=(d|0)<0?45:43;g=u-t|0;if((g|0)>(p^2147483647)){break b}}d=g+p|0;if((d|0)>(s^2147483647)){break b}p=d+s|0;pj(a,32,c,p,e);lj(a,y,s);pj(a,48,c,p,e^65536);o:{p:{q:{if((h|0)==70){f=m+16|0;d=f|8;k=f|9;h=i>>>0>q>>>0?q:i;i=h;while(1){g=oj(J[i>>2],0,k);r:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break r}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break r}if((g|0)!=(k|0)){break r}H[m+24|0]=48;g=d}lj(a,g,k-g|0);i=i+4|0;if(q>>>0>=i>>>0){continue}break}if(o){lj(a,1647,1)}if((l|0)<=0|i>>>0>=j>>>0){break q}while(1){g=oj(J[i>>2],0,k);if(g>>>0>m+16>>>0){while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}}lj(a,g,(l|0)>=9?9:l);g=l-9|0;i=i+4|0;if(j>>>0<=i>>>0){break p}d=(l|0)>9;l=g;if(d){continue}break}break p}s:{if((l|0)<0){break s}q=i>>>0>>0?j:i+4|0;f=m+16|0;d=f|8;j=f|9;h=i;while(1){g=oj(J[h>>2],0,j);if((j|0)==(g|0)){H[m+24|0]=48;g=d}t:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break t}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break t}lj(a,g,1);g=g+1|0;if(!(k|l)){break t}lj(a,1647,1)}f=j-g|0;lj(a,g,(f|0)>(l|0)?l:f);l=l-f|0;h=h+4|0;if(q>>>0<=h>>>0){break s}if((l|0)>=0){continue}break}}pj(a,48,l+18|0,18,0);lj(a,t,u-t|0);break o}g=l}pj(a,48,g+9|0,9,0)}pj(a,32,c,p,e^8192);n=(c|0)<(p|0)?p:c;break b}k=(f<<26>>31&9)+y|0;u:{if(d>>>0>11){break u}g=12-d|0;r=16;while(1){r=r*16;g=g-1|0;if(g){continue}break}if(K[k|0]==45){b=-(r+(-b-r));break u}b=b+r-r}g=J[m+44>>2];h=g>>31;g=oj((g^h)-h|0,0,u);if((u|0)==(g|0)){H[m+15|0]=48;g=m+15|0}q=s|2;i=f&32;h=J[m+44>>2];l=g-2|0;H[l|0]=f+15;H[g-1|0]=(h|0)<0?45:43;g=e&8;h=m+16|0;while(1){f=h;if(R(b)<2147483648){j=~~b}else{j=-2147483648}H[h|0]=i|K[j+14288|0];b=(b-+(j|0))*16;h=f+1|0;if(!(!((d|0)>0|g)&b==0|(h-(m+16|0)|0)!=1)){H[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}n=-1;g=u-l|0;f=g+q|0;if((2147483645-f|0)<(d|0)){break b}v:{w:{if(!d){break w}i=h-(m+16|0)|0;if((i-2|0)>=(d|0)){break w}d=d+2|0;break v}i=h-(m+16|0)|0;d=i}f=d+f|0;pj(a,32,c,f,e);lj(a,k,q);pj(a,48,c,f,e^65536);lj(a,m+16|0,i);pj(a,48,d-i|0,0,0);lj(a,l,g);pj(a,32,c,f,e^8192);n=(c|0)<(f|0)?f:c}fa=m+560|0;return n|0}function kj(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=fa-80|0;fa=j;J[j+76>>2]=b;y=j+55|0;t=j+56|0;a:{b:{c:{d:{e:while(1){k=b;if((q^2147483647)<(h|0)){break d}q=h+q|0;f:{g:{h:{h=k;i=K[h|0];if(i){while(1){i:{b=i&255;j:{if(!b){b=h;break j}if((b|0)!=37){break i}i=h;while(1){if(K[i+1|0]!=37){b=i;break j}h=h+1|0;m=K[i+2|0];b=i+2|0;i=b;if((m|0)==37){continue}break}}h=h-k|0;x=q^2147483647;if((h|0)>(x|0)){break d}if(a){lj(a,k,h)}if(h){continue e}J[j+76>>2]=b;h=b+1|0;r=-1;if(!(K[b+2|0]!=36|H[b+1|0]-48>>>0>=10)){r=H[b+1|0]-48|0;u=1;h=b+3|0}J[j+76>>2]=h;o=0;i=H[h|0];b=i-32|0;k:{if(b>>>0>31){n=h;break k}n=h;b=1<>2]=n;o=b|o;i=H[h+1|0];b=i-32|0;if(b>>>0>=32){break k}h=n;b=1<>>0>=10)){J[((H[n+1|0]<<2)+e|0)-192>>2]=10;i=n+3|0;u=1;b=J[((H[n+1|0]<<3)+d|0)-384>>2];break m}if(u){break h}i=n+1|0;if(!a){J[j+76>>2]=i;u=0;s=0;break l}b=J[c>>2];J[c>>2]=b+4;u=0;b=J[b>>2]}J[j+76>>2]=i;s=b;if((b|0)>=0){break l}s=0-s|0;o=o|8192;break l}s=mj(j+76|0);if((s|0)<0){break d}i=J[j+76>>2]}h=0;l=-1;n:{if(K[i|0]!=46){b=i;w=0;break n}if(K[i+1|0]==42){o:{if(!(K[i+3|0]!=36|H[i+2|0]-48>>>0>=10)){J[((H[i+2|0]<<2)+e|0)-192>>2]=10;b=i+4|0;l=J[((H[i+2|0]<<3)+d|0)-384>>2];break o}if(u){break h}b=i+2|0;l=0;if(!a){break o}i=J[c>>2];J[c>>2]=i+4;l=J[i>>2]}J[j+76>>2]=b;w=(l^-1)>>>31|0;break n}J[j+76>>2]=i+1;l=mj(j+76|0);b=J[j+76>>2];w=1}while(1){p=h;n=28;m=b;h=H[b|0];if(h-123>>>0<4294967238){break c}b=m+1|0;h=K[(h+P(p,58)|0)+13759|0];if(h-1>>>0<8){continue}break}J[j+76>>2]=b;p:{q:{if((h|0)!=27){if(!h){break c}if((r|0)>=0){J[(r<<2)+e>>2]=h;i=(r<<3)+d|0;h=J[i+4>>2];J[j+64>>2]=J[i>>2];J[j+68>>2]=h;break q}if(!a){break f}nj(j- -64|0,h,c,g);break p}if((r|0)>=0){break c}}h=0;if(!a){continue e}}i=o&-65537;o=o&8192?i:o;r=0;v=1132;n=t;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{h=H[m|0];h=p?(h&15)==3?h&-33:h:h;switch(h-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(h-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((h|0)==83){break w}break g}i=J[j+64>>2];m=J[j+68>>2];v=1132;break z}h=0;I:{switch(p&255){case 0:J[J[j+64>>2]>>2]=q;continue e;case 1:J[J[j+64>>2]>>2]=q;continue e;case 2:k=J[j+64>>2];J[k>>2]=q;J[k+4>>2]=q>>31;continue e;case 3:I[J[j+64>>2]>>1]=q;continue e;case 4:H[J[j+64>>2]]=q;continue e;case 6:J[J[j+64>>2]>>2]=q;continue e;case 7:break I;default:continue e}}k=J[j+64>>2];J[k>>2]=q;J[k+4>>2]=q>>31;continue e}l=l>>>0<=8?8:l;o=o|8;h=120}k=t;i=J[j+64>>2];m=J[j+68>>2];if(i|m){z=h&32;while(1){k=k-1|0;H[k|0]=z|K[(i&15)+14288|0];A=!m&i>>>0>15|(m|0)!=0;p=m;m=m>>>4|0;i=(p&15)<<28|i>>>4;if(A){continue}break}}if(!(J[j+64>>2]|J[j+68>>2])|!(o&8)){break y}v=(h>>>4|0)+1132|0;r=2;break y}h=t;k=J[j+68>>2];m=k;i=J[j+64>>2];if(k|i){while(1){h=h-1|0;H[h|0]=i&7|48;p=!m&i>>>0>7|(m|0)!=0;k=m;m=k>>>3|0;i=(k&7)<<29|i>>>3;if(p){continue}break}}k=h;if(!(o&8)){break y}h=t-k|0;l=(h|0)<(l|0)?l:h+1|0;break y}i=J[j+64>>2];h=J[j+68>>2];m=h;if((h|0)<0){k=0-(m+((i|0)!=0)|0)|0;m=k;i=0-i|0;J[j+64>>2]=i;J[j+68>>2]=k;r=1;v=1132;break z}if(o&2048){r=1;v=1133;break z}r=o&1;v=r?1134:1132}k=oj(i,m,t)}if((l|0)<0?w:0){break d}o=w?o&-65537:o;h=J[j+64>>2];i=J[j+68>>2];if(!(l|(h|i)!=0)){k=t;l=0;break g}h=!(h|i)+(t-k|0)|0;l=(h|0)<(l|0)?l:h;break g}n=l>>>0>=2147483647?2147483647:l;p=n;o=(n|0)!=0;h=J[j+64>>2];k=h?h:1649;h=k;J:{K:{L:{M:{if(!(h&3)|!n){break M}while(1){if(!K[h|0]){break L}p=p-1|0;o=(p|0)!=0;h=h+1|0;if(!(h&3)){break M}if(p){continue}break}}if(!o){break K}if(!(!K[h|0]|p>>>0<4)){while(1){m=J[h>>2];if((m^-1)&m-16843009&-2139062144){break L}h=h+4|0;p=p-4|0;if(p>>>0>3){continue}break}}if(!p){break K}}while(1){if(!K[h|0]){break J}h=h+1|0;p=p-1|0;if(p){continue}break}}h=0}h=h?h-k|0:n;n=h+k|0;if((l|0)>=0){o=i;l=h;break g}o=i;l=h;if(K[n|0]){break d}break g}if(l){i=J[j+64>>2];break u}h=0;pj(a,32,s,0,o);break t}J[j+12>>2]=0;J[j+8>>2]=J[j+64>>2];i=j+8|0;J[j+64>>2]=i;l=-1}h=0;N:{while(1){k=J[i>>2];if(!k){break N}m=sj(j+4|0,k);k=(m|0)<0;if(!(k|m>>>0>l-h>>>0)){i=i+4|0;h=h+m|0;if(l>>>0>h>>>0){continue}break N}break}if(k){break b}}n=61;if((h|0)<0){break c}pj(a,32,s,h,o);if(!h){h=0;break t}n=0;i=J[j+64>>2];while(1){k=J[i>>2];if(!k){break t}k=sj(j+4|0,k);n=k+n|0;if(n>>>0>h>>>0){break t}lj(a,j+4|0,k);i=i+4|0;if(h>>>0>n>>>0){continue}break}}pj(a,32,s,h,o^8192);h=(h|0)<(s|0)?s:h;continue e}if((l|0)<0?w:0){break d}n=61;h=ka[f|0](a,O[j+64>>3],s,l,o,h)|0;if((h|0)>=0){continue e}break c}H[j+55|0]=J[j+64>>2];l=1;k=y;o=i;break g}i=K[h+1|0];h=h+1|0;continue}}if(a){break a}if(!u){break f}h=1;while(1){a=J[(h<<2)+e>>2];if(a){nj((h<<3)+d|0,a,c,g);q=1;h=h+1|0;if((h|0)!=10){continue}break a}break}q=1;if(h>>>0>=10){break a}while(1){if(J[(h<<2)+e>>2]){break h}h=h+1|0;if((h|0)!=10){continue}break}break a}n=28;break c}m=n-k|0;i=(l|0)>(m|0)?l:m;if((i|0)>(r^2147483647)){break d}n=61;l=i+r|0;h=(l|0)<(s|0)?s:l;if((x|0)<(h|0)){break c}pj(a,32,h,l,o);lj(a,v,r);pj(a,48,h,l,o^65536);pj(a,48,i,m,0);lj(a,k,m);pj(a,32,h,l,o^8192);continue}break}q=0;break a}n=61}J[4004]=n}q=-1}fa=j+80|0;return q}function rd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;a:{b:{if((e|0)!=2){break b}J[a+8>>2]=2;J[a- -64>>2]=f;M=a+32|0;e=J[M>>2];d=J[a+36>>2]-e|0;c:{if(d>>>0<=7){La(M,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}J[a+36>>2]=e+8}i=1;d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<=0){break b}o=a+60|0;d=d>>>2|0;X=d>>>0<=1?1:d;Y=a+68|0;d=0;while(1){f=J[a+56>>2];e=J[f>>2];if(J[f+4>>2]-e>>2>>>0<=d>>>0){break a}k=fa-80|0;fa=k;f=-1;d:{e:{e=J[e+(d<<2)>>2];if((e|0)==-1){break e}i=J[o+32>>2];g=e+1|0;g=(g>>>0)%3|0?g:e-2|0;if((g|0)!=-1){f=J[J[i>>2]+(g<<2)>>2]}p=-1;e=e+((e>>>0)%3|0?-1:2)|0;if((e|0)!=-1){p=J[J[i>>2]+(e<<2)>>2]}i=J[o+36>>2];e=J[i>>2];i=J[i+4>>2]-e>>2;if(i>>>0<=f>>>0|i>>>0<=p>>>0){break e}f:{g:{h:{i:{j:{k:{j=J[e+(p<<2)>>2];f=J[e+(f<<2)>>2];if((j|0)>=(d|0)|(f|0)>=(d|0)){break k}i=(j<<3)+c|0;v=J[i+4>>2];g=(f<<3)+c|0;e=J[g+4>>2];l=J[i>>2];i=J[g>>2];if(!((l|0)!=(i|0)|(e|0)!=(v|0))){J[o+8>>2]=i;J[o+12>>2]=e;break j}p=J[J[o+4>>2]+(d<<2)>>2];J[k+72>>2]=0;J[k+76>>2]=0;g=k- -64|0;J[g>>2]=0;J[g+4>>2]=0;J[k+56>>2]=0;J[k+60>>2]=0;g=J[o>>2];if(!K[g+84|0]){p=J[J[g+68>>2]+(p<<2)>>2]}Xc(g,p,H[g+24|0],k+56|0);p=J[J[o+4>>2]+(f<<2)>>2];J[k+48>>2]=0;J[k+52>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;g=J[o>>2];if(!K[g+84|0]){p=J[J[g+68>>2]+(p<<2)>>2]}Xc(g,p,H[g+24|0],k+32|0);p=J[J[o+4>>2]+(j<<2)>>2];J[k+24>>2]=0;J[k+28>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;g=J[o>>2];if(!K[g+84|0]){p=J[J[g+68>>2]+(p<<2)>>2]}Xc(g,p,H[g+24|0],k+8|0);g=J[k+16>>2];n=J[k+40>>2];w=g-n|0;N=J[k+44>>2];g=J[k+20>>2]-(N+(g>>>0>>0)|0)|0;E=g;j=nk(w,g,w,g);q=ja;g=J[k+8>>2];y=J[k+32>>2];z=g-y|0;O=J[k+36>>2];g=J[k+12>>2]-(O+(g>>>0>>0)|0)|0;F=g;h=j;j=nk(z,g,z,g);g=h+j|0;h=ja+q|0;h=g>>>0>>0?h+1|0:h;j=J[k+24>>2];A=J[k+48>>2];B=j-A|0;P=J[k+52>>2];j=J[k+28>>2]-(P+(j>>>0>>0)|0)|0;G=j;m=g;g=nk(B,j,B,j);r=m+g|0;h=ja+h|0;s=g>>>0>r>>>0?h+1|0:h;if(!(s|r)){break k}p=0;D=pk(-1,2147483647,r,s);f=i>>31;R=f;h=f>>31;Q=i;g=h;q=i^g;i=q-g|0;f=(f^g)-((g>>>0>q>>>0)+g|0)|0;g=f;f=e>>31;S=f;I=e;e=f>>31;q=I^e;m=q-e|0;h=f>>31;e=(h^f)-((e>>>0>q>>>0)+h|0)|0;f=(g|0)==(e|0)&i>>>0>m>>>0|e>>>0>>0;i=f?i:m;j=ja;e=f?g:e;if((j|0)==(e|0)&i>>>0>D>>>0|e>>>0>j>>>0){break f}i=J[k+64>>2];T=J[k+68>>2];e=nk(i-n|0,T-((i>>>0>>0)+N|0)|0,w,E);f=ja;g=J[k+56>>2];U=J[k+60>>2];j=nk(g-y|0,U-((g>>>0>>0)+O|0)|0,z,F);e=j+e|0;h=ja+f|0;h=e>>>0>>0?h+1|0:h;f=e;m=J[k+72>>2];V=J[k+76>>2];e=nk(m-A|0,V-((m>>>0>>0)+P|0)|0,B,G);j=f+e|0;f=ja+h|0;q=e>>>0>j>>>0?f+1|0:f;e=l;D=e-Q|0;e=(e>>31)-((e>>>0>>0)+R|0)|0;W=e;l=e>>31;x=l^D;f=x-l|0;h=e>>31;e=(h^e)-((l>>>0>x>>>0)+h|0)|0;h=e;x=v-I|0;e=(v>>31)-((v>>>0>>0)+S|0)|0;v=e;l=f;t=e>>31;u=t^x;L=u-t|0;f=e>>31;e=(f^e)-((t>>>0>u>>>0)+f|0)|0;f=(h|0)==(e|0)&l>>>0>L>>>0|e>>>0>>0;f=pk(-1,2147483647,f?l:L,f?h:e)>>>0>>0;e=ja;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break f}e=F>>31;f=e;l=e^z;e=l-e|0;f=(f^F)-((f>>>0>l>>>0)+f|0)|0;h=E>>31;t=h^w;u=t-h|0;l=(h^E)-((h>>>0>t>>>0)+h|0)|0;h=(f|0)==(l|0)&e>>>0>u>>>0|f>>>0>l>>>0;e=h?e:u;f=h?f:l;h=G>>31;L=e;t=h^B;u=t-h|0;l=(h^G)-((h>>>0>t>>>0)+h|0)|0;e=(f|0)==(l|0)&e>>>0>u>>>0|f>>>0>l>>>0;f=pk(-1,2147483647,e?L:u,e?f:l)>>>0>>0;e=ja;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break f}l=1;e=0;f=n;n=ok(nk(j,q,w,E),ja,r,s);f=f+n|0;h=ja+N|0;h=f>>>0>>0?h+1|0:h;n=i-f|0;f=T-((f>>>0>i>>>0)+h|0)|0;n=nk(n,f,n,f);w=ja;f=g;h=ok(nk(j,q,z,F),ja,r,s);i=h+y|0;g=ja+O|0;g=h>>>0>i>>>0?g+1|0:g;h=f-i|0;f=U-((f>>>0>>0)+g|0)|0;g=nk(h,f,h,f);i=g+n|0;f=ja+w|0;f=g>>>0>i>>>0?f+1|0:f;n=i;g=ok(nk(j,q,B,G),ja,r,s);i=g+A|0;h=ja+P|0;h=g>>>0>i>>>0?h+1|0:h;g=m-i|0;i=V-((i>>>0>m>>>0)+h|0)|0;m=nk(g,i,g,i);i=m+n|0;g=ja+f|0;f=nk(i,i>>>0>>0?g+1|0:g,r,s);i=ja;m=i;if(!i&f>>>0<=1){break i}h=f;while(1){g=e<<1|l>>>31;l=l<<1;e=g;n=!i&h>>>0>7|(i|0)!=0;h=(i&3)<<30|h>>>2;i=i>>>2|0;if(n){continue}break}break h}if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){J[o+8>>2]=0;J[o+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;J[o+8>>2]=J[e>>2];J[o+12>>2]=J[e+4>>2]}p=1;break f}e=m;l=f;if(f-1|0){break g}}while(1){i=pk(f,m,l,e);h=e+ja|0;e=i+l|0;h=e>>>0>>0?h+1|0:h;l=(h&1)<<31|e>>>1;e=h>>>1|0;i=nk(l,e,l,e);g=ja;if((m|0)==(g|0)&f>>>0>>0|g>>>0>m>>>0){continue}break}}f=J[o+20>>2];if(!f){break f}g=f-1|0;h=J[J[o+16>>2]+(g>>>3&536870908)>>2];J[o+20>>2]=g;p=1;f=nk(j,q,x,v);i=ja;n=nk(r,s,I,S);m=n+f|0;f=ja+i|0;f=m>>>0>>0?f+1|0:f;i=nk(l,e,D,W);g=h>>>g&1;h=g?0-i|0:i;m=h+m|0;n=f;f=ja;i=n+(g?0-(f+((i|0)!=0)|0)|0:f)|0;Z=o,_=ok(m,h>>>0>m>>>0?i+1|0:i,r,s),J[Z+12>>2]=_;f=nk(j,q,D,W);i=ja;j=nk(r,s,Q,R);f=j+f|0;h=ja+i|0;e=nk(l,e,x,v);i=0-e|0;l=ja;h=(f>>>0>>0?h+1|0:h)+(g?l:0-(((e|0)!=0)+l|0)|0)|0;i=g?e:i;f=i+f|0;Z=o,_=ok(f,f>>>0>>0?h+1|0:h,r,s),J[Z+8>>2]=_}fa=k+80|0;e=p;break d}yc();C()}i=e;if(!e){return 0}l:{if(J[a+8>>2]<=0){break l}l=J[M>>2];e=0;while(1){f=e<<2;g=J[f+Y>>2];j=J[a+16>>2];m:{if((g|0)>(j|0)){J[f+l>>2]=j;break m}f=f+l|0;j=J[a+12>>2];if((j|0)>(g|0)){J[f>>2]=j;break m}J[f>>2]=g}e=e+1|0;g=J[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break l}e=d<<3;j=e+c|0;q=b+e|0;while(1){g=f<<2;e=g+j|0;g=J[g+q>>2]+J[g+l>>2]|0;J[e>>2]=g;n:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break n}g=g+J[a+20>>2]|0}J[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((X|0)!=(d|0)){continue}break}}return i|0}yc();C()}function Wc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;a:{b:{if((e|0)!=2){break b}J[a+8>>2]=2;J[a- -64>>2]=f;M=a+32|0;e=J[M>>2];d=J[a+36>>2]-e|0;c:{if(d>>>0<=7){La(M,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}J[a+36>>2]=e+8}p=1;d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<=0){break b}o=a+60|0;d=d>>>2|0;X=d>>>0<=1?1:d;Y=a+68|0;d=0;while(1){e=J[a+56>>2];h=J[e>>2];if(J[e+4>>2]-h>>2>>>0<=d>>>0){break a}k=fa-80|0;fa=k;f=-1;h=J[h+(d<<2)>>2];e=-1;d:{if((h|0)==-1){break d}e=h+1|0;f=(e>>>0)%3|0?e:h-2|0;e=h-1|0;if((h>>>0)%3|0){break d}e=h+2|0}g=J[o+36>>2];h=J[g>>2];e:{f:{g:{h:{i:{g=J[g+4>>2]-h>>2;i=f<<2;f=J[J[o+32>>2]+28>>2];j=J[i+f>>2];if(g>>>0<=j>>>0){break i}e=J[f+(e<<2)>>2];if(e>>>0>=g>>>0){break i}j:{k:{l=J[h+(e<<2)>>2];f=J[h+(j<<2)>>2];if((l|0)>=(d|0)|(f|0)>=(d|0)){break k}h=(l<<3)+c|0;v=J[h+4>>2];g=(f<<3)+c|0;e=J[g+4>>2];j=J[h>>2];h=J[g>>2];if(!((j|0)!=(h|0)|(e|0)!=(v|0))){J[o+8>>2]=h;J[o+12>>2]=e;break j}p=J[J[o+4>>2]+(d<<2)>>2];J[k+72>>2]=0;J[k+76>>2]=0;g=k- -64|0;J[g>>2]=0;J[g+4>>2]=0;J[k+56>>2]=0;J[k+60>>2]=0;g=J[o>>2];if(!K[g+84|0]){p=J[J[g+68>>2]+(p<<2)>>2]}Xc(g,p,H[g+24|0],k+56|0);p=J[J[o+4>>2]+(f<<2)>>2];J[k+48>>2]=0;J[k+52>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;g=J[o>>2];if(!K[g+84|0]){p=J[J[g+68>>2]+(p<<2)>>2]}Xc(g,p,H[g+24|0],k+32|0);p=J[J[o+4>>2]+(l<<2)>>2];J[k+24>>2]=0;J[k+28>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;g=J[o>>2];if(!K[g+84|0]){p=J[J[g+68>>2]+(p<<2)>>2]}Xc(g,p,H[g+24|0],k+8|0);g=J[k+16>>2];n=J[k+40>>2];w=g-n|0;N=J[k+44>>2];g=J[k+20>>2]-(N+(g>>>0>>0)|0)|0;E=g;l=nk(w,g,w,g);q=ja;g=J[k+8>>2];y=J[k+32>>2];z=g-y|0;O=J[k+36>>2];g=J[k+12>>2]-(O+(g>>>0>>0)|0)|0;F=g;i=l;l=nk(z,g,z,g);g=i+l|0;i=ja+q|0;i=g>>>0>>0?i+1|0:i;l=J[k+24>>2];A=J[k+48>>2];B=l-A|0;P=J[k+52>>2];l=J[k+28>>2]-(P+(l>>>0>>0)|0)|0;G=l;m=g;g=nk(B,l,B,l);r=m+g|0;i=ja+i|0;s=g>>>0>r>>>0?i+1|0:i;if(!(s|r)){break k}p=0;D=pk(-1,2147483647,r,s);f=h>>31;R=f;i=f>>31;Q=h;g=i;q=h^g;h=q-g|0;f=(f^g)-((g>>>0>q>>>0)+g|0)|0;g=f;f=e>>31;S=f;I=e;e=f>>31;q=I^e;m=q-e|0;i=f>>31;e=(i^f)-((e>>>0>q>>>0)+i|0)|0;f=(g|0)==(e|0)&h>>>0>m>>>0|e>>>0>>0;h=f?h:m;l=ja;e=f?g:e;if((l|0)==(e|0)&h>>>0>D>>>0|e>>>0>l>>>0){break e}h=J[k+64>>2];T=J[k+68>>2];e=nk(h-n|0,T-((h>>>0>>0)+N|0)|0,w,E);f=ja;g=J[k+56>>2];U=J[k+60>>2];l=nk(g-y|0,U-((g>>>0>>0)+O|0)|0,z,F);e=l+e|0;i=ja+f|0;i=e>>>0>>0?i+1|0:i;f=e;m=J[k+72>>2];V=J[k+76>>2];e=nk(m-A|0,V-((m>>>0>>0)+P|0)|0,B,G);l=f+e|0;f=ja+i|0;q=e>>>0>l>>>0?f+1|0:f;e=j;D=e-Q|0;e=(e>>31)-((e>>>0>>0)+R|0)|0;W=e;j=e>>31;x=j^D;f=x-j|0;i=e>>31;e=(i^e)-((j>>>0>x>>>0)+i|0)|0;i=e;x=v-I|0;e=(v>>31)-((v>>>0>>0)+S|0)|0;v=e;j=f;t=e>>31;u=t^x;L=u-t|0;f=e>>31;e=(f^e)-((t>>>0>u>>>0)+f|0)|0;f=(i|0)==(e|0)&j>>>0>L>>>0|e>>>0>>0;f=pk(-1,2147483647,f?j:L,f?i:e)>>>0>>0;e=ja;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break e}e=F>>31;f=e;j=e^z;e=j-e|0;f=(f^F)-((f>>>0>j>>>0)+f|0)|0;i=E>>31;t=i^w;u=t-i|0;j=(i^E)-((i>>>0>t>>>0)+i|0)|0;i=(f|0)==(j|0)&e>>>0>u>>>0|f>>>0>j>>>0;e=i?e:u;f=i?f:j;i=G>>31;L=e;t=i^B;u=t-i|0;j=(i^G)-((i>>>0>t>>>0)+i|0)|0;e=(f|0)==(j|0)&e>>>0>u>>>0|f>>>0>j>>>0;f=pk(-1,2147483647,e?L:u,e?f:j)>>>0>>0;e=ja;if(f&(e|0)<=(q|0)|(e|0)<(q|0)){break e}j=1;e=0;f=n;n=ok(nk(l,q,w,E),ja,r,s);f=f+n|0;i=ja+N|0;i=f>>>0>>0?i+1|0:i;n=h-f|0;f=T-((f>>>0>h>>>0)+i|0)|0;n=nk(n,f,n,f);w=ja;f=g;i=ok(nk(l,q,z,F),ja,r,s);h=i+y|0;g=ja+O|0;g=h>>>0>>0?g+1|0:g;i=f-h|0;f=U-((f>>>0>>0)+g|0)|0;g=nk(i,f,i,f);h=g+n|0;f=ja+w|0;f=h>>>0>>0?f+1|0:f;n=h;g=ok(nk(l,q,B,G),ja,r,s);h=g+A|0;i=ja+P|0;i=h>>>0>>0?i+1|0:i;g=m-h|0;h=V-((h>>>0>m>>>0)+i|0)|0;m=nk(g,h,g,h);h=m+n|0;g=ja+f|0;f=nk(h,h>>>0>>0?g+1|0:g,r,s);h=ja;m=h;if(!h&f>>>0<=1){break h}i=f;while(1){g=e<<1|j>>>31;j=j<<1;e=g;n=!h&i>>>0>7|(h|0)!=0;i=(h&3)<<30|i>>>2;h=h>>>2|0;if(n){continue}break}break g}if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){J[o+8>>2]=0;J[o+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;J[o+8>>2]=J[e>>2];J[o+12>>2]=J[e+4>>2]}p=1;break e}yc();C()}e=m;j=f;if(f-1|0){break f}}while(1){h=pk(f,m,j,e);i=e+ja|0;e=h+j|0;i=e>>>0>>0?i+1|0:i;j=(i&1)<<31|e>>>1;e=i>>>1|0;h=nk(j,e,j,e);g=ja;if((m|0)==(g|0)&f>>>0>>0|g>>>0>m>>>0){continue}break}}f=J[o+20>>2];if(!f){break e}g=f-1|0;i=J[J[o+16>>2]+(g>>>3&536870908)>>2];J[o+20>>2]=g;p=1;f=nk(l,q,x,v);h=ja;n=nk(r,s,I,S);m=n+f|0;f=ja+h|0;f=m>>>0>>0?f+1|0:f;h=nk(j,e,D,W);g=i>>>g&1;i=g?0-h|0:h;m=i+m|0;n=f;f=ja;h=n+(g?0-(f+((h|0)!=0)|0)|0:f)|0;Z=o,_=ok(m,i>>>0>m>>>0?h+1|0:h,r,s),J[Z+12>>2]=_;f=nk(l,q,D,W);h=ja;l=nk(r,s,Q,R);f=l+f|0;i=ja+h|0;e=nk(j,e,x,v);h=0-e|0;j=ja;i=(f>>>0>>0?i+1|0:i)+(g?j:0-(((e|0)!=0)+j|0)|0)|0;h=g?e:h;f=h+f|0;Z=o,_=ok(f,f>>>0>>0?i+1|0:i,r,s),J[Z+8>>2]=_}fa=k+80|0;if(!p){return 0}l:{if(J[a+8>>2]<=0){break l}g=J[M>>2];e=0;while(1){f=e<<2;h=J[f+Y>>2];j=J[a+16>>2];m:{if((h|0)>(j|0)){J[f+g>>2]=j;break m}f=f+g|0;j=J[a+12>>2];if((j|0)>(h|0)){J[f>>2]=j;break m}J[f>>2]=h}e=e+1|0;h=J[a+8>>2];if((e|0)<(h|0)){continue}break}f=0;if((h|0)<=0){break l}e=d<<3;j=e+c|0;l=b+e|0;while(1){h=f<<2;e=h+j|0;h=J[h+l>>2]+J[h+g>>2]|0;J[e>>2]=h;n:{if((h|0)>J[a+16>>2]){i=h-J[a+20>>2]|0}else{if((h|0)>=J[a+12>>2]){break n}i=h+J[a+20>>2]|0}J[e>>2]=i}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((X|0)!=(d|0)){continue}break}}return p|0}yc();C()}function Bb(a,b){var c=0,d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;J[a+12>>2]=b;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=a+16|0;J[d>>2]=0;J[d+4>>2]=0;H[d+5|0]=0;H[d+6|0]=0;H[d+7|0]=0;H[d+8|0]=0;H[d+9|0]=0;H[d+10|0]=0;H[d+11|0]=0;H[d+12|0]=0;c=d+16|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+32|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+48|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d- -64|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+80|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+96|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+112|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+128|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+144|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+160|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+176|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+192|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+208|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+224|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+240|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+256|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+272|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+288|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+304|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+320|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+336|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+352|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+368|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+384|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+400|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+416|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+432|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+448|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+464|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+480|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;d=d+496|0;J[d>>2]=0;J[d+4>>2]=0;H[d+5|0]=0;H[d+6|0]=0;H[d+7|0]=0;H[d+8|0]=0;H[d+9|0]=0;H[d+10|0]=0;H[d+11|0]=0;H[d+12|0]=0;J[a+528>>2]=0;J[a+532>>2]=0;H[a+533|0]=0;H[a+534|0]=0;H[a+535|0]=0;H[a+536|0]=0;H[a+537|0]=0;H[a+538|0]=0;H[a+539|0]=0;H[a+540|0]=0;J[a+544>>2]=0;J[a+548>>2]=0;J[a+560>>2]=0;J[a+552>>2]=0;J[a+556>>2]=0;J[a+564>>2]=0;J[a+568>>2]=0;J[a+580>>2]=0;J[a+572>>2]=0;J[a+576>>2]=0;J[a+584>>2]=0;J[a+588>>2]=0;J[a+600>>2]=0;J[a+592>>2]=0;J[a+596>>2]=0;J[a+612>>2]=0;J[a+604>>2]=0;J[a+608>>2]=0;g=a+628|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+616>>2]=0;J[a+620>>2]=0;J[a+624>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;d=1;break a}d=b<<2;c=Cj(d);J[a+604>>2]=c;f=c+d|0;J[a+612>>2]=f;Xi(c,0,d);J[a+624>>2]=0;J[a+616>>2]=0;J[a+620>>2]=0;J[a+608>>2]=f;c=Cj(d);J[a+616>>2]=c;f=c+d|0;J[a+624>>2]=f;Xi(c,0,d);J[a+620>>2]=f;c=Cj(d);J[e>>2]=c;f=c+d|0;J[e+8>>2]=f;Xi(c,0,d);J[e+4>>2]=f;d=b<<5|1}Hb(g,d,e);c=J[e>>2];if(c){J[e+4>>2]=c;xj(c)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;c=Cj(b);J[e>>2]=c;f=b+c|0;J[e+8>>2]=f;Xi(c,0,b);J[e+4>>2]=f}Hb(a+640|0,d,e);b=J[e>>2];if(b){J[e+4>>2]=b;xj(b)}fa=e+16|0;return a}function zg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=I[b>>1];if((e|0)<0){break b}I[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(e+32768>>>0>65535){break b}I[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(e>>>0>32767){break b}I[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=J[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=J[b+4>>2];e=J[b>>2];i=e+32768|0;h=i>>>0<32768?h+1|0:h;if(!h&i>>>0>65535|h){break b}I[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>32767|k){break b}I[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(32767)|m>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(32767)|mQ(1)){break d}e=(b<<1)+d|0;l=V(+m*32767+.5);f:{if(R(l)<2147483648){i=~~l;break f}i=-2147483648}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}Xi((e<<1)+d|0,0,c-e<<1)}return j;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=32767|l<-32768|l!=l){break g}o=R(l);if(o==Infinity){break g}e=(b<<1)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=32767|l<-32768|(R(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<1)+d|0;l=V(l*32767+.5);i:{if(R(l)<2147483648){i=~~l;break i}i=-2147483648}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}Xi((e<<1)+d|0,0,c-e<<1)}return j;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}Xi((e<<1)+d|0,0,(c&255)-e<<1)}return j}Xi((e<<1)+d|0,0,(c&255)-e<<1);return 1}function Bg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=I[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=J[b>>2];if((e|0)<0){break b}J[(g<<2)+d>>2]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=J[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=J[b+4>>2];e=J[b>>2];if(e- -2147483648>>>0<2147483648?h+1|0:h){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>2147483647|k){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|m>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|mQ(1)){break d}e=(b<<2)+d|0;l=V(+m*2147483647+.5);f:{if(R(l)<2147483648){i=~~l;break f}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}Xi((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|l!=l){break g}o=R(l);if(o==Infinity){break g}e=(b<<2)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|(R(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<2)+d|0;l=V(l*2147483647+.5);i:{if(R(l)<2147483648){i=~~l;break i}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}Xi((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}Xi((e<<2)+d|0,0,(c&255)-e<<2)}return j}Xi((e<<2)+d|0,0,(c&255)-e<<2);return 1}function Ag(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=H[b|0];if((e|0)<0){break b}I[(g<<1)+d>>1]=e&255;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=I[b>>1];if((e|0)<0){break b}I[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(e>>>0>65535){break b}I[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(e>>>0>65535){break b}I[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>65535|k){break b}I[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>65535|k){break b}I[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];l=J[e>>2];g=l;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-l|0;if(!K[a+32|0]){l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(65535)|m=Q(0)){i=~~m>>>0}else{i=0}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(65535)|mQ(1)){break d}e=(b<<1)+d|0;j=V(+m*65535+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=1;if(c>>>0<=e>>>0){break d}Xi((e<<1)+d|0,0,c-e<<1)}return l;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];l=J[e>>2];g=l;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-l|0;if(!K[a+32|0]){l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[g>>3];if(j>=65535|j<0|(R(j)==Infinity|j!=j)){break g}e=(b<<1)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[g>>3];if(j>=65535|j<0|(R(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<1)+d|0;j=V(j*65535+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=1;if(c>>>0<=e>>>0){break g}Xi((e<<1)+d|0,0,c-e<<1)}return l;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}Xi((e<<1)+d|0,0,(c&255)-e<<1)}return l}Xi((e<<1)+d|0,0,(c&255)-e<<1);return 1}function Xc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0,n=Q(0),o=0;a:{if(!d){break a}b:{c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=H[b|0];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=I[b>>1];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=L[b>>1];J[e+4>>2]=0;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=J[b>>2];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=0;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=J[b+4>>2];e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=J[b>>2];i=J[b+4>>2];if((i|0)<0){break a}j=(g<<3)+d|0;J[j>>2]=e;J[j+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=K[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break d}if(K[a+32|0]){break a}e=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=N[g>>2];if(k>=Q(0x8000000000000000)|k=Q(1)?~~(k>Q(0)?Q(T(Q(V(Q(k*Q(2.3283064365386963e-10)))),Q(4294967296))):Q(W(Q(Q(k-Q(~~k>>>0>>>0))*Q(2.3283064365386963e-10)))))>>>0:0;m=~~k>>>0;break e}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=K[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break f}if(K[a+32|0]){break a}e=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){l=O[g>>3];if(l>=0x8000000000000000|l<-0x8000000000000000|l!=l){break a}o=R(l);if(o==Infinity){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){j=R(l)>=1?~~(l>0?T(V(l*2.3283064365386963e-10),4294967295):W((l-+(~~l>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~l>>>0;break g}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}Xi(d,0,a<<3)}}function nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=a;a:{b:{c:{d:{e:{f:{g:{h:{a=J[a+8>>2];switch(J[a+28>>2]-1|0){case 4:break c;case 5:break d;case 2:break e;case 3:break f;case 0:break g;case 1:break h;default:break a}}f=K[a+24|0];c=Cj(f);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;H[a+c|0]=J[k>>2];H[(a|1)+c|0]=J[k+4>>2];H[(a|2)+c|0]=J[k+8>>2];H[(a|3)+c|0]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){H[a+c|0]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}f=K[a+24|0];c=Cj(f);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;H[a+c|0]=J[k>>2];H[(a|1)+c|0]=J[k+4>>2];H[(a|2)+c|0]=J[k+8>>2];H[(a|3)+c|0]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){H[a+c|0]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}h=K[a+24|0];i=h<<1;c=Cj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;I[f+c>>1]=J[k>>2];I[(f|2)+c>>1]=J[k+4>>2];I[(f|4)+c>>1]=J[k+8>>2];I[(f|6)+c>>1]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){I[(a<<1)+c>>1]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=K[a+24|0];i=h<<1;c=Cj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;I[f+c>>1]=J[k>>2];I[(f|2)+c>>1]=J[k+4>>2];I[(f|4)+c>>1]=J[k+8>>2];I[(f|6)+c>>1]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){I[(a<<1)+c>>1]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=K[a+24|0];i=h<<2;c=Cj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;J[f+c>>2]=J[k>>2];J[(f|4)+c>>2]=J[k+4>>2];J[(f|8)+c>>2]=J[k+8>>2];J[(f|12)+c>>2]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){J[(a<<2)+c>>2]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=K[a+24|0];i=h<<2;c=Cj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;J[f+c>>2]=J[k>>2];J[(f|4)+c>>2]=J[k+4>>2];J[(f|8)+c>>2]=J[k+8>>2];J[(f|12)+c>>2]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){J[(a<<2)+c>>2]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i)}xj(c);c=1}return c|0}function Cg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=I[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(J[b+4>>2]){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(J[b+4>>2]){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];k=J[e>>2];g=k;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-k|0;if(!K[a+32|0]){k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(4294967296)|m=Q(0)){i=~~m>>>0}else{i=0}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(4294967296)|mQ(1)){break d}e=(b<<2)+d|0;j=V(+m*4294967295+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=1;if(c>>>0<=e>>>0){break d}Xi((e<<2)+d|0,0,c-e<<2)}return k;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];k=J[e>>2];g=k;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-k|0;if(!K[a+32|0]){k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[g>>3];if(j>=4294967295|j<0|(R(j)==Infinity|j!=j)){break g}e=(b<<2)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[g>>3];if(j>=4294967295|j<0|(R(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<2)+d|0;j=V(j*4294967295+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=1;if(c>>>0<=e>>>0){break g}Xi((e<<2)+d|0,0,c-e<<2)}return k;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}Xi((e<<2)+d|0,0,(c&255)-e<<2)}return k}Xi((e<<2)+d|0,0,(c&255)-e<<2);return 1}function Ef(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{if(J[a+92>>2]==J[a+88>>2]){break e}c=J[a+52>>2];f:{if((c|0)!=J[a+56>>2]){J[c>>2]=b;J[a+52>>2]=c+4;break f}h=J[a+48>>2];g=c-h|0;d=g>>2;f=d+1|0;if(f>>>0>=1073741824){break a}e=g>>>1|0;g=g>>>0>=2147483644?1073741823:f>>>0>>0?e:f;if(g){if(g>>>0>=1073741824){break d}e=Cj(g<<2)}else{e=0}f=e+(d<<2)|0;J[f>>2]=b;d=f+4|0;if((c|0)!=(h|0)){while(1){f=f-4|0;c=c-4|0;J[f>>2]=J[c>>2];if((c|0)!=(h|0)){continue}break}}J[a+56>>2]=e+(g<<2);J[a+52>>2]=d;J[a+48>>2]=f;if(!h){break f}xj(h)}J[a+84>>2]=0;c=-1;e=-1;g:{if((b|0)==-1){break g}d=J[a+4>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){c=J[J[d>>2]+(e<<2)>>2]}h:{if((b>>>0)%3|0){l=b-1|0;break h}l=b+2|0;e=-1;if((l|0)==-1){break g}}e=J[J[d>>2]+(l<<2)>>2]}i=e>>>3&536870908;d=J[a+36>>2];h=d+(c>>>3&536870908)|0;g=J[h>>2];f=1<>2]=f|g;f=a+8|0;if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}else{d=-1}Ff(f,c,d);d=J[a+36>>2]}f=d+i|0;d=J[f>>2];c=1<>2]=c|d;d=a+8|0;c=-1;i:{if((b|0)==-1){break i}c=b-1|0;if((b>>>0)%3|0){break i}c=b+2|0}Ff(d,e,c)}c=-1;c=(b|0)!=-1?J[J[J[a+4>>2]>>2]+(b<<2)>>2]:c;f=J[a+36>>2]+(c>>>3&536870908)|0;d=J[f>>2];e=1<>2]=d|e;Ff(a+8|0,c,b)}d=J[a+84>>2];if((d|0)>2){break e}while(1){e=P(d,12)+a|0;b=J[e+52>>2];if((b|0)==J[e+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}b=b-4|0;c=J[b>>2];J[e+52>>2]=b;J[a+84>>2]=d;if((c|0)==-1){break e}f=J[a+24>>2];b=(c>>>0)/3|0;j:{if(J[f+(b>>>3&268435452)>>2]>>>b&1){break j}k:{while(1){k=(c>>>0)/3|0;b=(k>>>3&268435452)+f|0;J[b>>2]=J[b>>2]|1<>2]>>2]+(c<<2)>>2]:d;f=J[a+36>>2]+(d>>>3&536870908)|0;e=J[f>>2];b=1<>2]=b|e;i=J[(J[J[a+16>>2]+96>>2]+P(k,12)|0)+((c>>>0)%3<<2)>>2];l=J[J[a+20>>2]+4>>2];f=J[l+4>>2];t:{if((f|0)!=J[l+8>>2]){J[f>>2]=i;J[l+4>>2]=f+4;break t}j=J[l>>2];h=f-j|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break s}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=Cj(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=i;g=b+4|0;if((f|0)!=(j|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(j|0)){continue}break}}J[l+8>>2]=e+(h<<2);J[l+4>>2]=g;J[l>>2]=b;if(!j){break t}xj(j)}j=J[a+12>>2];f=J[j+4>>2];u:{if((f|0)!=J[j+8>>2]){J[f>>2]=c;J[j+4>>2]=f+4;break u}i=J[j>>2];h=f-i|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break r}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=Cj(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=c;g=b+4|0;if((f|0)!=(i|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(i|0)){continue}break}}J[j+8>>2]=e+(h<<2);J[j+4>>2]=g;J[j>>2]=b;if(!i){break u}xj(i)}b=J[a+12>>2];J[J[b+12>>2]+(d<<2)>>2]=J[b+24>>2];J[b+24>>2]=J[b+24>>2]+1}if((c|0)==-1){break k}g=J[a+4>>2];f=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){f=J[J[g+12>>2]+(b<<2)>>2]}v:{w:{if((P(k,3)|0)!=(c|0)){d=c-1|0;break w}d=c+2|0;c=-1;if((d|0)==-1){break v}}c=J[J[g+12>>2]+(d<<2)>>2]}d=(c|0)==-1;e=(c>>>0)/3|0;if((f|0)!=-1){b=(f>>>0)/3|0;b=J[J[a+24>>2]+(b>>>3&268435452)>>2]&1<>2]+(b>>>3&536870908)>>2]>>>b&1){break x}k=0;b=J[J[g>>2]+(c<<2)>>2];if(!(J[J[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=J[a+88>>2]+(b<<2)|0;e=J[b>>2];J[b>>2]=e+1;k=(e|0)<=0?2:1}if(J[a+84>>2]>=(k|0)&l){break m}j=P(k,12)+a|0;b=J[j+52>>2];y:{if((b|0)!=J[j+56>>2]){J[b>>2]=c;J[j+52>>2]=b+4;break y}i=J[j+48>>2];h=b-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break c}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=Cj(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=c;c=d+4|0;if((b|0)!=(i|0)){while(1){d=d-4|0;b=b-4|0;J[d>>2]=J[b>>2];if((b|0)!=(i|0)){continue}break}}J[j+48>>2]=d;J[j+52>>2]=c;J[j+56>>2]=e+(g<<2);if(!i){break y}xj(i)}if(J[a+84>>2]<=(k|0)){break x}J[a+84>>2]=k}if(l){break k}c=-1;if((f|0)==-1){break n}}c=J[J[J[a+4>>2]>>2]+(f<<2)>>2]}b=0;if(!(J[J[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){b=J[a+88>>2]+(c<<2)|0;c=J[b>>2];J[b>>2]=c+1;b=(c|0)<=0?2:1}if(J[a+84>>2]<(b|0)){break l}c=f}f=J[a+24>>2];continue}break}k=P(b,12)+a|0;c=J[k+52>>2];z:{if((c|0)!=J[k+56>>2]){J[c>>2]=f;J[k+52>>2]=c+4;break z}i=J[k+48>>2];h=c-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break b}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=Cj(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=f;f=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[k+48>>2]=d;J[k+52>>2]=f;J[k+56>>2]=e+(g<<2);if(!i){break z}xj(i)}d=J[a+84>>2];if((d|0)<=(b|0)){break j}J[a+84>>2]=b;d=b;break j}d=J[a+84>>2]}if((d|0)<3){continue}break}}return 1}Va();C()}Ia();C()}Ia();C()}Ia();C()}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=fa-96|0;fa=n;o=J[a+4>>2];d=J[o+32>>2];i=J[d+8>>2];j=J[d+12>>2];e=j;c=J[d+20>>2];f=J[d+16>>2];a:{if((e|0)<=(c|0)&f>>>0>=i>>>0|(c|0)>(e|0)){break a}p=J[d>>2];g=K[p+f|0];h=f+1|0;e=h?c:c+1|0;J[d+16>>2]=h;J[d+20>>2]=e;if((e|0)>=(j|0)&h>>>0>=i>>>0|(e|0)>(j|0)){break a}m=K[h+p|0];h=f+2|0;e=h>>>0<2?c+1|0:c;J[d+16>>2]=h;J[d+20>>2]=e;l=g<<24>>24;b:{if((l|0)>=0){k=J[a+216>>2];if(g>>>0>=(J[a+220>>2]-k|0)/144>>>0){break a}k=k+P(g,144)|0;if(J[k>>2]<0){break b}break a}if(J[a+212>>2]>=0){break a}k=a+212|0}J[k>>2]=b;c:{d:{e:{f:{g:{h:{k=L[o+36>>1];i:{if(((k<<8|k>>>8)&65535)>>>0>=258){if((e|0)>=(j|0)&h>>>0>=i>>>0|(e|0)>(j|0)){break a}e=K[h+p|0];f=f+3|0;c=f>>>0<3?c+1|0:c;J[d+16>>2]=f;J[d+20>>2]=c;if(e>>>0>1){break a}d=e>>>0<2?e:0;if(!m){break i}if(!d){break h}break a}if(m){break g}d=0}if((l|0)<0){e=a+184|0}else{c=J[a+216>>2]+P(g,144)|0;H[c+100|0]=0;e=c+104|0}if((d|0)!=1){break e}c=fa-112|0;fa=c;h=J[J[a+4>>2]+44>>2];d=Cj(120);J[d>>2]=12220;J[d+4>>2]=0;J[d+116>>2]=0;J[d+112>>2]=e;J[d+108>>2]=h;J[d+12>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+8>>2]=12432;f=d- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[d+72>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;J[d+88>>2]=0;J[d+104>>2]=0;J[d+96>>2]=0;J[d+100>>2]=0;f=J[a+8>>2];J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;i=c+32|0;J[i>>2]=0;J[i+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;g=c- -64|0;J[g>>2]=0;J[g+4>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+104>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+8>>2]=12432;J[c+96>>2]=0;J[c+100>>2]=0;J[c+12>>2]=f;g=J[f>>2];j=J[f+4>>2];H[c+111|0]=0;m=i;i=c+111|0;Oe(m,(j-g>>2>>>0)/3|0,i);g=J[c+12>>2];j=J[g+28>>2];g=J[g+24>>2];H[c+111|0]=0;Oe(c+44|0,j-g>>2,i);J[c+28>>2]=d;J[c+24>>2]=h;J[c+20>>2]=e;J[c+16>>2]=f;f=d+8|0;e=c+8|0;Pe(f,e);j:{if((e|0)==(f|0)){J[d+92>>2]=J[e+84>>2];break j}bb(d+56|0,J[e+48>>2],J[e+52>>2]);bb(d+68|0,J[e+60>>2],J[e- -64>>2]);bb(d+80|0,J[e+72>>2],J[e+76>>2]);J[d+92>>2]=J[e+84>>2];Nb(d+96|0,J[e+88>>2],J[e+92>>2])}J[c+8>>2]=12432;e=J[c+96>>2];if(e){J[c+100>>2]=e;xj(e)}e=J[c+80>>2];if(e){J[c+84>>2]=e;xj(e)}e=J[c+68>>2];if(e){J[c+72>>2]=e;xj(e)}e=J[c+56>>2];if(e){J[c+60>>2]=e;xj(e)}J[c+8>>2]=12668;e=J[c+44>>2];if(e){xj(e)}e=J[c+32>>2];if(e){xj(e)}fa=c+112|0;break d}if((l|0)>=0){break f}break a}if((l|0)<0){break a}}e=J[a+216>>2];c=J[o+44>>2];d=Cj(80);J[d>>2]=12980;J[d+4>>2]=0;J[d+76>>2]=0;J[d+68>>2]=c;J[d+8>>2]=11920;J[d+12>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;e=e+P(g,144)|0;f=e+104|0;J[d+72>>2]=f;J[d- -64>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[n+24>>2]=c;c=n;J[c+68>>2]=0;J[c+72>>2]=0;J[c+60>>2]=0;J[c+64>>2]=0;J[c+52>>2]=0;J[c+56>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+28>>2]=d;h=J[c+28>>2];J[c+8>>2]=J[c+24>>2];J[c+12>>2]=h;J[c+20>>2]=f;f=e+4|0;J[c+16>>2]=f;J[c+36>>2]=0;J[c+40>>2]=0;J[c+32>>2]=11920;e=J[c+20>>2];J[c>>2]=J[c+16>>2];J[c+4>>2]=e;e=c+32|0;Me(e,f,c);c=d+8|0;Pe(c,e);if((c|0)!=(e|0)){bb(d+56|0,J[e+48>>2],J[e+52>>2])}Ne(e);break c}c=fa+-64|0;fa=c;h=J[J[a+4>>2]+44>>2];d=Cj(80);J[d>>2]=12688;J[d+4>>2]=0;J[d+76>>2]=0;J[d+72>>2]=e;J[d+68>>2]=h;J[d+8>>2]=12852;J[d+12>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d- -64>>2]=0;i=d+56|0;f=i;J[f>>2]=0;J[f+4>>2]=0;f=J[a+8>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;g=c+24|0;J[g>>2]=0;J[g+4>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c>>2]=12852;J[c+4>>2]=f;j=J[f>>2];l=J[f+4>>2];H[c+63|0]=0;m=g;g=c+63|0;Oe(m,(l-j>>2>>>0)/3|0,g);j=J[c+4>>2];l=J[j+28>>2];j=J[j+24>>2];H[c+63|0]=0;Oe(c+36|0,l-j>>2,g);J[c+20>>2]=d;J[c+16>>2]=h;J[c+12>>2]=e;J[c+8>>2]=f;Pe(d+8|0,c);bb(i,J[c+48>>2],J[c+52>>2]);J[c>>2]=12852;e=J[c+48>>2];if(e){J[c+52>>2]=e;xj(e)}J[c>>2]=12668;e=J[c+36>>2];if(e){xj(e)}e=J[c+24>>2];if(e){xj(e)}fa=c- -64|0}if(!d){break a}}d=_b(Cj(64),d);c=J[a+4>>2];a=d;d=b;k:{l:{if((d|0)>=0){h=c+8|0;b=J[c+12>>2];i=J[c+8>>2];e=b-i>>2;m:{if((e|0)>(d|0)){break m}f=d+1|0;if(d>>>0>=e>>>0){ac(h,f-e|0);break m}if(e>>>0<=f>>>0){break m}f=i+(f<<2)|0;if((f|0)!=(b|0)){while(1){b=b-4|0;e=J[b>>2];J[b>>2]=0;if(e){ka[J[J[e>>2]+4>>2]](e)}if((b|0)!=(f|0)){continue}break}}J[c+12>>2]=f}c=J[h>>2]+(d<<2)|0;b=J[c>>2];J[c>>2]=a;if(b){break l}break k}b=a;if(!a){break k}}ka[J[J[b>>2]+4>>2]](b)}q=(d^-1)>>>31|0}fa=n+96|0;return q|0}function tj(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;J[e+12>>2]=a;a:{if(a>>>0<=211){d=J[uj(14304,14496,e+12|0)>>2];break a}if(a>>>0>=4294967292){ca();C()}f=(a>>>0)/210|0;d=P(f,210);J[e+8>>2]=a-d;g=uj(14496,14688,e+8|0)-14496>>2;while(1){d=J[(g<<2)+14496>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0>>0){break a}if((P(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((P(b,c)|0)!=(d|0)){continue}break}break b}b=J[(a<<2)+14304>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((P(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=P(f,210);continue}}fa=e+16|0;return d}function We(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,n=0,o=0,p=0;j=fa-16|0;fa=j;a:{b:{c:{d:{if(K[J[a+4>>2]+36|0]<=1){k=-1;c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=J[b+12>>2];if(M[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){break c}d=d+J[b>>2]|0;l=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[j+12>>2]=l;J[b+16>>2]=e;J[b+20>>2]=c;break d}k=-1;if(!Re(1,j+12|0,b)){break c}l=J[j+12>>2]}e:{f:{g:{h:{i:{if(!l){break i}c=J[a+8>>2];if((J[c+4>>2]-J[c>>2]>>2>>>0)/3>>>0>>0){break c}c=L[J[a+4>>2]+36>>1];if(((c<<8|c>>>8)&65535)>>>0>=258){j:{while(1){if(!Re(1,j+8|0,b)){break c}c=J[j+8>>2];if(!Re(1,j+8|0,b)){break c}f=c+f|0;c=J[j+8>>2];if(f>>>0>>0){break c}g=f-c|0;c=J[a+40>>2];k:{if((c|0)!=J[a+44>>2]){J[c+4>>2]=f;J[c>>2]=g;J[a+40>>2]=c+12;l=J[j+12>>2];break k}m=J[a+36>>2];d=c-m|0;o=(d|0)/12|0;e=o+1|0;if(e>>>0>=357913942){break j}c=o<<1;h=o>>>0>=178956970?357913941:c>>>0>e>>>0?c:e;if(h){if(h>>>0>=357913942){break b}i=Cj(P(h,12))}else{i=0}e=i+P(o,12)|0;J[e+4>>2]=f;J[e>>2]=g;c=Wi(e+P((d|0)/-12|0,12)|0,m,d);J[a+44>>2]=i+P(h,12);J[a+40>>2]=e+12;J[a+36>>2]=c;if(!m){break k}xj(m)}p=p+1|0;if(l>>>0>p>>>0){continue}break}k=0;rg(b,0,0);if(l){while(1){e=K[b+36|0];c=L[J[a+4>>2]+36>>1];l:{m:{if(((c<<8|c>>>8)&65535)>>>0<=513){if(!e){break l}p=0;c=J[b+32>>2];n=c>>>3|0;g=J[b+24>>2];e=n+g|0;d=J[b+28>>2];n:{if(e>>>0>=d>>>0){f=c;break n}e=K[e|0];f=c+1|0;J[b+32>>2]=f;n=f>>>3|0;p=e>>>(c&7)&1}if(d>>>0>g+n>>>0){break m}break l}if(!e){break l}p=0;f=J[b+32>>2];c=J[b+24>>2]+(f>>>3|0)|0;if(c>>>0>=M[b+28>>2]){break l}p=K[c|0]>>>(f&7)&1}J[b+32>>2]=f+1}c=J[a+36>>2]+P(k,12)|0;H[c+8|0]=K[c+8|0]&254|p&1;k=k+1|0;if((k|0)!=(l|0)){continue}break}}H[b+36|0]=0;f=J[b+20>>2];e=0;d=J[b+32>>2]+7|0;e=d>>>0<7?1:e;c=e>>>3|0;e=(e&7)<<29|d>>>3;d=e+J[b+16>>2]|0;c=c+f|0;J[b+16>>2]=d;J[b+20>>2]=d>>>0>>0?c+1|0:c;break i}Ia();C()}while(1){d=J[b+8>>2];c=J[b+12>>2];g=c;c=J[b+20>>2];e=c;h=J[b+16>>2];f=h+4|0;c=f>>>0<4?c+1|0:c;i=f;if(f>>>0>d>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}m=J[b>>2];f=m+h|0;o=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=c;c=e;f=h+8|0;c=f>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}i=i+m|0;i=K[i|0]|K[i+1|0]<<8|(K[i+2|0]<<16|K[i+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;if(d>>>0<=f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=K[f+m|0];c=h+9|0;e=c>>>0<9?e+1|0:e;J[b+16>>2]=c;J[b+20>>2]=e;f=d&1;c=J[a+40>>2];o:{if((c|0)!=J[a+44>>2]){H[c+8|0]=f;J[c+4>>2]=i;J[c>>2]=o;J[a+40>>2]=c+12;l=J[j+12>>2];break o}m=J[a+36>>2];d=c-m|0;h=(d|0)/12|0;e=h+1|0;if(e>>>0>=357913942){break h}c=h<<1;g=h>>>0>=178956970?357913941:c>>>0>e>>>0?c:e;if(g){if(g>>>0>=357913942){break b}e=Cj(P(g,12))}else{e=0}h=e+P(h,12)|0;H[h+8|0]=f;J[h+4>>2]=i;J[h>>2]=o;c=Wi(h+P((d|0)/-12|0,12)|0,m,d);J[a+44>>2]=e+P(g,12);J[a+40>>2]=h+12;J[a+36>>2]=c;if(!m){break o}xj(m)}n=n+1|0;if(l>>>0>n>>>0){continue}break}}J[j+8>>2]=0;c=L[J[a+4>>2]+36>>1];c=(c<<8|c>>>8)&65535;p:{if(c>>>0<=511){k=-1;c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;f=J[b+12>>2];if(M[b+8>>2]>>0&(f|0)<=(c|0)|(c|0)>(f|0)){break c}d=d+J[b>>2]|0;f=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;break p}if((c|0)!=512){break e}k=-1;if(!Re(1,j+8|0,b)){break c}f=J[j+8>>2]}if(!f){break e}c=L[J[a+4>>2]+36>>1];if(((c<<8|c>>>8)&65535)>>>0<258){break f}n=0;l=0;while(1){if(!Re(1,j+4|0,b)){break c}l=J[j+4>>2]+l|0;c=J[a+52>>2];q:{if((c|0)!=J[a+56>>2]){J[c>>2]=l;J[a+52>>2]=c+4;break q}i=J[a+48>>2];g=c-i|0;e=g>>2;d=e+1|0;if(d>>>0>=1073741824){break g}c=g>>>1|0;d=g>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(d){if(d>>>0>=1073741824){break b}c=Cj(d<<2)}else{c=0}e=c+(e<<2)|0;J[e>>2]=l;c=Wi(c,i,g);J[a+56>>2]=c+(d<<2);J[a+52>>2]=e+4;J[a+48>>2]=c;if(!i){break q}xj(i)}n=n+1|0;if((n|0)!=(f|0)){continue}break}break e}Ia();C()}Ia();C()}k=0;while(1){c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=J[b+12>>2];if(M[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){k=-1;break c}d=d+J[b>>2]|0;g=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;c=J[a+52>>2];r:{if((c|0)!=J[a+56>>2]){J[c>>2]=g;J[a+52>>2]=c+4;break r}h=J[a+48>>2];i=c-h|0;e=i>>2;d=e+1|0;if(d>>>0>=1073741824){break a}c=i>>>1|0;d=i>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(d){if(d>>>0>=1073741824){break b}c=Cj(d<<2)}else{c=0}e=c+(e<<2)|0;J[e>>2]=g;c=Wi(c,h,i);J[a+56>>2]=c+(d<<2);J[a+52>>2]=e+4;J[a+48>>2]=c;if(!h){break r}xj(h)}k=k+1|0;if((k|0)!=(f|0)){continue}break}}k=J[b+16>>2]}fa=j+16|0;return k}Va();C()}Ia();C()}function Rc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=Q(0),k=0,l=0;a:{if(!d){break a}b:{c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(H[b|0]);N[(h<<2)+d>>2]=i?Q(j/Q(127)):j;b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(K[b|0]);N[(h<<2)+d>>2]=i?Q(j/Q(255)):j;b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(I[b>>1]);N[(h<<2)+d>>2]=i?Q(j/Q(32767)):j;b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(L[b>>1]);N[(h<<2)+d>>2]=i?Q(j/Q(65535)):j;b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(J[b>>2]);N[(h<<2)+d>>2]=i?Q(j*Q(4.656612873077393e-10)):j;b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(M[b>>2]);N[(h<<2)+d>>2]=i?Q(j*Q(2.3283064365386963e-10)):j;b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(+M[b>>2]+ +J[b+4>>2]*4294967296);N[(h<<2)+d>>2]=i?Q(j*Q(10842021724855044e-35)):j;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(+M[b>>2]+ +M[b+4>>2]*4294967296);N[(h<<2)+d>>2]=i?Q(j*Q(5.421010862427522e-20)):j;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 8:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}N[(h<<2)+d>>2]=N[b>>2];b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 9:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}N[(h<<2)+d>>2]=O[b>>3];b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}N[(h<<2)+d>>2]=K[b|0]?Q(1):Q(0);b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0}Xi(d,0,a<<2)}return l}function wg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=Q(0),m=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){return 0}e=H[b|0];if((e|0)<0){break b}H[d+g|0]=e;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if((e+128&65535)>>>0>255){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if(e>>>0>127){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e+128>>>0>255){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e>>>0>127){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}i=J[b+4>>2];e=J[b>>2];h=e+128|0;i=h>>>0<128?i+1|0:i;if(!i&h>>>0>255|i){break b}H[d+g|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}i=J[b+4>>2];e=J[b>>2];if(!i&e>>>0>127|i){break b}H[d+g|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=K[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=J[J[a>>2]>>2];f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break d}l=N[b>>2];if(l>=Q(127)|lQ(1)){break d}j=V(+l*127+.5);if(!(R(j)<2147483648)){break f}h=~~j;break e}if(!(m>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}Xi(d+e|0,0,c-e|0)}return k;case 9:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}j=O[b>>3];if(j>=127|j<-128|(R(j)==Infinity|j!=j)){break b}e=d+g|0;if(K[a+32|0]){if(j<0|j>1){break b}j=V(j*127+.5)}g:{if(R(j)<2147483648){h=~~j;break g}h=-2147483648}H[e|0]=h;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}Xi(d+e|0,0,(c&255)-e|0)}return k}Xi(d+e|0,0,(c&255)-e|0);return 1}function xg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){return 0}e=H[b|0];if((e|0)<0){break b}H[d+g|0]=e;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if(e>>>0>255){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if(e>>>0>255){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e>>>0>255){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e>>>0>255){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}i=J[b+4>>2];e=J[b>>2];if(!i&e>>>0>255|i){break b}H[d+g|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}i=J[b+4>>2];e=J[b>>2];if(!i&e>>>0>255|i){break b}H[d+g|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=K[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=J[J[a>>2]>>2];f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break d}l=N[b>>2];if(l>=Q(255)|lQ(1)){break d}j=V(+l*255+.5);if(!(j<4294967296&j>=0)){break f}h=~~j>>>0;break e}if(!(l=Q(0))){break f}h=~~l>>>0;break e}h=0}H[e|0]=h;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}Xi(d+e|0,0,c-e|0)}return k;case 9:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}j=O[b>>3];if(j>=255|j<0|(R(j)==Infinity|j!=j)){break b}e=d+g|0;if(K[a+32|0]){if(j>1){break b}j=V(j*255+.5)}g:{if(j<4294967296&j>=0){h=~~j>>>0;break g}h=0}H[e|0]=h;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}Xi(d+e|0,0,(c&255)-e|0)}return k}Xi(d+e|0,0,(c&255)-e|0);return 1}function Vf(a){a=a|0;var 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;g=fa-32|0;fa=g;i=J[a+32>>2];b=L[a+36>>1];a:{b:{if(((b<<8|b>>>8)&65535)>>>0<=513){b=J[i+8>>2];d=J[i+12>>2];c=b;b=J[i+20>>2];e=b;j=J[i+16>>2];f=j+4|0;b=f>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break a}n=J[i>>2];k=n+j|0;k=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);J[i+16>>2]=f;J[i+20>>2]=b;h=c;c=d;b=e;d=j+8|0;b=d>>>0<8?b+1|0:b;if(d>>>0>h>>>0&(b|0)>=(c|0)|(b|0)>(c|0)){break a}c=f+n|0;n=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[i+16>>2]=d;J[i+20>>2]=b;break b}if(!Wf(1,g+28|0,i)){break a}if(!Wf(1,g+24|0,J[a+32>>2])){break a}k=J[g+28>>2];n=J[g+24>>2]}if(k>>>0>1431655765){break a}d=J[a+32>>2];b=d;j=J[b+8>>2];c=J[b+16>>2];f=J[b+12>>2];b=J[b+20>>2];e=ok(j-c|0,f-(b+(c>>>0>j>>>0)|0)|0,3,0);if(!ja&e>>>0>>0){break a}e=nk(k,0,3,0);if(!ja&e>>>0>>0|((b|0)>=(f|0)&c>>>0>=j>>>0|(b|0)>(f|0))){break a}j=K[c+J[d>>2]|0];c=c+1|0;b=c?b:b+1|0;J[d+16>>2]=c;J[d+20>>2]=b;c:{d:{if(!j){d=0;c=fa-32|0;fa=c;J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;e:{f:{b=P(k,3);if(b){if(b>>>0>=1073741824){break f}j=P(k,12);d=Cj(j);Xi(d,0,j)}b=pe(b,1,J[a+32>>2],d);g:{h:{if(!(!k|!b)){j=0;while(1){i:{b=(j<<2)+d|0;f=J[b>>2];e=f>>>1|0;f=(f&1?0-e|0:e)+l|0;if((f|0)<0){break i}J[c>>2]=f;e=J[b+4>>2];h=e>>>1|0;f=f+(e&1?0-h|0:h)|0;if((f|0)<0){break i}J[c+4>>2]=f;b=J[b+8>>2];e=b>>>1|0;l=f+(b&1?0-e|0:e)|0;if((l|0)<0){break i}J[c+8>>2]=l;Xf(J[a+44>>2]+96|0,c);j=j+3|0;b=1;o=o+1|0;if((o|0)!=(k|0)){continue}break h}break}b=0;break h}if(!d){break g}}xj(d)}fa=c+32|0;break e}Ia();C()}if(b){break d}break a}if(n>>>0<=255){if(!k){break d}while(1){j:{J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;d=J[a+32>>2];b=d;j=J[b+16>>2];e=J[b+8>>2];c=J[b+20>>2];h=J[b+12>>2];b=h;if(e>>>0<=j>>>0&(c|0)>=(b|0)|(b|0)<(c|0)){break j}i=J[d>>2];l=K[i+j|0];b=c;f=j+1|0;b=f?b:b+1|0;J[d+16>>2]=f;J[d+20>>2]=b;J[g+8>>2]=l;l=e>>>0>>0&(c|0)>=(h|0)|(c|0)>(h|0);e=l?j:e;h=l?c:h;if((e|0)==(f|0)&(h|0)==(b|0)){break j}l=K[f+i|0];b=c;f=j+2|0;b=f>>>0<2?b+1|0:b;J[d+16>>2]=f;J[d+20>>2]=b;J[g+12>>2]=l;if((e|0)==(f|0)&(b|0)==(h|0)){break j}f=K[f+i|0];b=c;c=j+3|0;b=c>>>0<3?b+1|0:b;J[d+16>>2]=c;J[d+20>>2]=b;J[g+16>>2]=f;Xf(J[a+44>>2]+96|0,g+8|0);m=m+1|0;if((m|0)!=(k|0)){continue}break d}break}m=0;break a}if(n>>>0<=65535){if(!k){break d}while(1){k:{J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;i=J[a+32>>2];b=i;c=J[b+8>>2];d=J[b+12>>2];f=J[b+16>>2];b=J[b+20>>2];j=b;e=f+2|0;b=e>>>0<2?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break k}l=J[i>>2];h=l+f|0;h=K[h|0]|K[h+1|0]<<8;J[i+16>>2]=e;J[i+20>>2]=b;J[g+8>>2]=h;b=j;h=f+4|0;b=h>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break k}e=e+l|0;e=K[e|0]|K[e+1|0]<<8;J[i+16>>2]=h;J[i+20>>2]=b;J[g+12>>2]=e;e=c;b=j;c=f+6|0;b=c>>>0<6?b+1|0:b;if(c>>>0>e>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break k}d=h+l|0;d=K[d|0]|K[d+1|0]<<8;J[i+16>>2]=c;J[i+20>>2]=b;J[g+16>>2]=d;Xf(J[a+44>>2]+96|0,g+8|0);m=m+1|0;if((m|0)!=(k|0)){continue}break d}break}m=0;break a}l:{if(n>>>0>2097151){break l}b=L[a+36>>1];if(((b<<8|b>>>8)&65535)>>>0<514){break l}if(!k){break d}while(1){m:{J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;if(!Wf(1,g+4|0,J[a+32>>2])){break m}J[g+8>>2]=J[g+4>>2];if(!Wf(1,g+4|0,J[a+32>>2])){break m}J[g+12>>2]=J[g+4>>2];if(!Wf(1,g+4|0,J[a+32>>2])){break m}J[g+16>>2]=J[g+4>>2];Xf(J[a+44>>2]+96|0,g+8|0);m=m+1|0;if((m|0)!=(k|0)){continue}break d}break}m=0;break a}if(!k){break d}while(1){J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;i=J[a+32>>2];b=i;c=J[b+8>>2];d=J[b+12>>2];f=J[b+16>>2];b=J[b+20>>2];j=b;e=f+4|0;b=e>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}l=J[i>>2];h=l+f|0;h=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[i+16>>2]=e;J[i+20>>2]=b;J[g+8>>2]=h;b=j;h=f+8|0;b=h>>>0<8?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}e=e+l|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[i+16>>2]=h;J[i+20>>2]=b;J[g+12>>2]=e;e=c;b=j;c=f+12|0;b=c>>>0<12?b+1|0:b;if(c>>>0>e>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}d=h+l|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[i+16>>2]=c;J[i+20>>2]=b;J[g+16>>2]=d;Xf(J[a+44>>2]+96|0,g+8|0);m=m+1|0;if((m|0)!=(k|0)){continue}break}}J[J[a+4>>2]+80>>2]=n;m=1;break a}m=0}fa=g+32|0;return m|0}function Ib(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,v=Q(0),w=0;p=fa-16|0;fa=p;a:{if(!(J[a+60>>2]!=J[a- -64>>2]|J[a+48>>2]!=J[a+52>>2])){j=1;break a}j=1;if((ka[J[J[a>>2]+24>>2]](a)|0)<=0){break a}while(1){b:{b=ka[J[J[a>>2]+20>>2]](a,w)|0;c:{d:{e:{f=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(b<<2)>>2];switch(J[f+28>>2]-1|0){case 8:break d;case 0:case 2:case 4:break e;default:break c}}b=K[f+24|0];f:{if(!b){n=0;j=0;break f}j=0;b=b<<2;n=Cj(b);Xi(n,0,b);b=K[f+24|0];if(!b){break f}b=b<<2;j=Cj(b);Xi(j,0,b)}g:{h:{i:{switch(J[f+28>>2]-1|0){case 4:i=0;h=0;d=0;b=0;k=0;e=K[f+24|0];j:{if(!e){g=0;break j}e=e<<2;h=Cj(e);Xi(h,0,e);g=Cj(e);Xi(g,0,e)}k:{if(J[f+80>>2]){while(1){o=J[f>>2];c=J[o>>2];m=J[f+48>>2];e=J[f+40>>2];l=nk(e,J[f+44>>2],d,b);m=m+l|0;s=c+m|0;c=e;m=Vi(h,s,c);l=K[f+24|0];if(l){t=J[a+48>>2];e=0;while(1){r=e<<2;s=J[r+m>>2];if((s|0)<0){break k}J[g+r>>2]=s+J[t+(e+u<<2)>>2];e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[o>>2]+P(d,c)|0,g,c);d=d+1|0;b=d?b:b+1|0;if(!b&M[f+80>>2]>d>>>0){continue}break}}k=1}if(g){xj(g)}if(h){xj(h)}if(k){break h}break g;case 2:g=0;e=0;d=0;b=0;c=K[f+24|0];if(c){c=c<<1;e=Cj(c);Xi(e,0,c);g=Cj(c);Xi(g,0,c)}if(J[f+80>>2]){while(1){l=J[f>>2];h=J[l>>2];i=J[f+48>>2];c=J[f+40>>2];k=nk(c,J[f+44>>2],d,b);i=i+k|0;k=Vi(e,h+i|0,c);o=K[f+24|0];l:{if(!o){break l}m=J[a+48>>2];h=0;if((o|0)!=1){t=o&254;i=0;while(1){r=h<<1;I[r+g>>1]=L[k+r>>1]+L[m+(h+u<<2)>>1];r=h|1;s=r<<1;I[s+g>>1]=L[k+s>>1]+L[m+(r+u<<2)>>1];h=h+2|0;i=i+2|0;if((t|0)!=(i|0)){continue}break}}if(!(o&1)){break l}i=h<<1;I[i+g>>1]=L[i+k>>1]+L[m+(h+u<<2)>>1]}Vi(J[l>>2]+P(d,c)|0,g,c);d=d+1|0;b=d?b:b+1|0;if(!b&M[f+80>>2]>d>>>0){continue}break}}if(g){xj(g)}if(e){xj(e)}break h;case 0:break i;default:break h}}h=0;e=0;d=0;b=0;c=K[f+24|0];if(c){e=Cj(c);Xi(e,0,c);h=Cj(c);Xi(h,0,c)}if(J[f+80>>2]){while(1){t=J[f>>2];g=J[t>>2];i=J[f+48>>2];c=J[f+40>>2];k=nk(c,J[f+44>>2],d,b);i=i+k|0;k=Vi(e,g+i|0,c);o=K[f+24|0];m:{if(!o){break m}m=J[a+48>>2];g=0;if((o|0)!=1){r=o&254;i=0;while(1){H[g+h|0]=K[g+k|0]+K[m+(g+u<<2)|0];l=g|1;H[l+h|0]=K[k+l|0]+K[m+(l+u<<2)|0];g=g+2|0;i=i+2|0;if((r|0)!=(i|0)){continue}break}}if(!(o&1)){break m}H[g+h|0]=K[g+k|0]+K[m+(g+u<<2)|0]}Vi(J[t>>2]+P(d,c)|0,h,c);d=d+1|0;b=d?b:b+1|0;if(!b&M[f+80>>2]>d>>>0){continue}break}}if(h){xj(h)}if(e){xj(e)}}u=K[f+24|0]+u|0;i=1}if(j){xj(j)}if(n){xj(n)}if(i){break c}j=0;break a}e=J[J[a+60>>2]+(q<<2)>>2];h=J[a+36>>2];g=J[(ka[J[J[a>>2]+28>>2]](a)|0)+40>>2];J[p+12>>2]=J[f+56>>2];b=Cj(32);J[p>>2]=b;J[p+4>>2]=24;J[p+8>>2]=-2147483616;d=K[1229]|K[1230]<<8|(K[1231]<<16|K[1232]<<24);c=K[1225]|K[1226]<<8|(K[1227]<<16|K[1228]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;H[b+20|0]=d;H[b+21|0]=d>>>8;H[b+22|0]=d>>>16;H[b+23|0]=d>>>24;d=K[1221]|K[1222]<<8|(K[1223]<<16|K[1224]<<24);c=K[1217]|K[1218]<<8|(K[1219]<<16|K[1220]<<24);H[b+8|0]=c;H[b+9|0]=c>>>8;H[b+10|0]=c>>>16;H[b+11|0]=c>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1213]|K[1214]<<8|(K[1215]<<16|K[1216]<<24);c=K[1209]|K[1210]<<8|(K[1211]<<16|K[1212]<<24);H[b|0]=c;H[b+1|0]=c>>>8;H[b+2|0]=c>>>16;H[b+3|0]=c>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;H[b+24|0]=0;d=Jb(g,p+12|0,p);if(H[p+11|0]<0){xj(J[p>>2])}b=q+1|0;n:{if(d){ab(f,e);break n}g=h+P(q,24)|0;q=J[g+4>>2];c=K[f+24|0];h=c<<2;d=Cj(h);J[p>>2]=1065353216;v=N[g+20>>2];q=-1<0){N[p>>2]=v/Q(q|0)}if((q|0)<=0){break b}o:{if(!J[e+80>>2]){break o}if(!c){n=0;j=0;while(1){Vi(J[J[f+64>>2]>>2]+j|0,d,h);j=h+j|0;n=n+1|0;if(n>>>0>2]){continue}break}break o}o=J[J[e>>2]>>2]+J[e+48>>2]|0;t=c&254;r=c&1;i=0;k=0;j=0;while(1){q=J[g+8>>2];v=N[p>>2];n=0;m=0;if((c|0)!=1){while(1){l=n<<2;s=o+(j<<2)|0;N[l+d>>2]=Q(v*Q(J[s>>2]))+N[l+q>>2];l=l|4;N[l+d>>2]=Q(v*Q(J[s+4>>2]))+N[l+q>>2];n=n+2|0;j=j+2|0;m=m+2|0;if((t|0)!=(m|0)){continue}break}}if(r){n=n<<2;N[n+d>>2]=Q(v*Q(J[o+(j<<2)>>2]))+N[n+q>>2];j=j+1|0}Vi(J[J[f+64>>2]>>2]+k|0,d,h);k=h+k|0;i=i+1|0;if(i>>>0>2]){continue}break}}xj(d)}q=b}j=1;w=w+1|0;if((ka[J[J[a>>2]+24>>2]](a)|0)>(w|0)){continue}break a}break}xj(d);j=0}fa=p+16|0;return j|0}function se(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;j=g+8|0;d=L[b+38>>1];a:{b:{if(!d){break b}c:{if(d>>>0<=511){h=J[b+8>>2];f=J[b+12>>2];e=J[b+20>>2];d=J[b+16>>2];i=d+4|0;e=i>>>0<4?e+1|0:e;if(h>>>0>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break b}d=d+J[b>>2]|0;l=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[j+12>>2]=l;e=J[b+20>>2];d=J[b+16>>2]+4|0;e=d>>>0<4?e+1|0:e;J[b+16>>2]=d;J[b+20>>2]=e;break c}if(!te(1,j+12|0,b)){break b}d=J[b+16>>2];e=J[b+20>>2];l=J[j+12>>2]}f=J[b+8>>2];i=f-d|0;d=J[b+12>>2]-((d>>>0>f>>>0)+e|0)|0;if(i>>>0>>6>>>0&(d|0)<=0|(d|0)<0){break b}e=J[j>>2];d=J[j+4>>2]-e>>2;d:{if(d>>>0>>0){La(j,l-d|0);l=J[j+12>>2];break d}if(d>>>0<=l>>>0){break d}J[j+4>>2]=e+(l<<2)}i=1;if(!l){break a}d=J[b+16>>2];e=J[b+20>>2];r=J[j>>2];k=J[b+8>>2];o=J[b+12>>2];h=0;while(1){i=0;if((e|0)>=(o|0)&d>>>0>=k>>>0|(e|0)>(o|0)){break a}i=J[b>>2];p=K[i+d|0];d=d+1|0;e=d?e:e+1|0;J[b+16>>2]=d;J[b+20>>2]=e;f=p>>>2|0;m=0;e:{f:{g:{h:{s=p&3;switch(s|0){case 0:break f;case 3:break h;default:break g}}f=f+h|0;i=0;if(f>>>0>=l>>>0){break a}Xi(r+(h<<2)|0,0,(p&252)+4|0);h=f;break e}while(1){if((d|0)==(k|0)&(e|0)==(o|0)){break b}l=K[d+i|0];d=d+1|0;e=d?e:e+1|0;J[b+16>>2]=d;J[b+20>>2]=e;f=l<<(m<<3|6)|f;m=m+1|0;if((s|0)!=(m|0)){continue}break}}J[r+(h<<2)>>2]=f}l=J[j+12>>2];h=h+1|0;if(l>>>0>h>>>0){continue}break}d=j+16|0;o=J[j>>2];f=J[j+16>>2];e=J[j+20>>2]-f|0;i:{if(e>>>0<=4194303){La(d,1048576-(e>>>2|0)|0);break i}if((e|0)==4194304){break i}J[j+20>>2]=f+4194304}e=j+28|0;h=J[e>>2];f=J[j+32>>2]-h>>3;j:{if(f>>>0>>0){ue(e,l-f|0);h=J[e>>2];break j}if(f>>>0>l>>>0){J[j+32>>2]=(l<<3)+h}if(!l){break b}}k=J[d>>2];d=0;i=0;while(1){e=o+(d<<2)|0;j=J[e>>2];m=(d<<3)+h|0;f=i;J[m+4>>2]=f;J[m>>2]=j;e=J[e>>2];i=e+f|0;if(i>>>0>1048576){break b}k:{if(f>>>0>=i>>>0){break k}m=0;j=e&7;if(j){while(1){J[k+(f<<2)>>2]=d;f=f+1|0;m=m+1|0;if((j|0)!=(m|0)){continue}break}}if(e-1>>>0<=6){break k}while(1){e=k+(f<<2)|0;J[e>>2]=d;J[e+28>>2]=d;J[e+24>>2]=d;J[e+20>>2]=d;J[e+16>>2]=d;J[e+12>>2]=d;J[e+8>>2]=d;J[e+4>>2]=d;f=f+8|0;if((i|0)!=(f|0)){continue}break}}d=d+1|0;if((l|0)!=(d|0)){continue}break}n=(i|0)==1048576}i=n}l:{if(!i|(J[g+20>>2]?0:a)){break l}i=0;n=fa-16|0;fa=n;m:{n:{if(L[b+38>>1]<=511){h=J[b+8>>2];f=J[b+12>>2];j=f;e=J[b+20>>2];k=J[b+16>>2];d=k+8|0;e=d>>>0<8?e+1|0:e;if(d>>>0>h>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break m}k=k+J[b>>2]|0;f=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[b+16>>2]=d;J[b+20>>2]=e;break n}if(!ve(1,n+8|0,b)){break m}d=J[b+16>>2];e=J[b+20>>2];h=J[b+8>>2];j=J[b+12>>2];f=J[n+8>>2];k=J[n+12>>2]}l=h-d|0;h=j-((d>>>0>h>>>0)+e|0)|0;if((h|0)==(k|0)&f>>>0>l>>>0|h>>>0>>0){break m}e=e+k|0;h=d+f|0;e=h>>>0>>0?e+1|0:e;J[b+16>>2]=h;J[b+20>>2]=e;if((f|0)<=0){break m}b=J[b>>2]+d|0;J[g+48>>2]=b;d=f-1|0;e=d+b|0;h=K[e|0];o:{if(h>>>0<=63){J[g+52>>2]=d;b=K[e|0]&63;break o}p:{switch((h>>>6|0)-1|0){case 0:if(f>>>0<2){break m}d=f-2|0;J[g+52>>2]=d;b=b+d|0;b=K[b+1|0]<<8&16128|K[b|0];break o;case 1:if(f>>>0<3){break m}d=f-3|0;J[g+52>>2]=d;b=b+d|0;b=K[b+1|0]<<8|K[b+2|0]<<16&4128768|K[b|0];break o;default:break p}}d=f-4|0;J[g+52>>2]=d;b=b+d|0;b=(K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24))&1073741823}J[g+56>>2]=b+4194304;i=b>>>0<1069547520}fa=n+16|0;if(!i){break l}if(!a){t=1;break l}b=J[g+52>>2];f=J[g+56>>2];d=J[g+36>>2];e=J[g+48>>2];h=J[g+24>>2];while(1){q:{if(f>>>0>4194303){break q}while(1){if((b|0)<=0){break q}b=b-1|0;J[g+52>>2]=b;f=K[b+e|0]|f<<8;J[g+56>>2]=f;if(f>>>0<4194304){continue}break}}i=f&1048575;k=J[h+(i<<2)>>2];n=d+(k<<3)|0;f=(P(J[n>>2],f>>>20|0)+i|0)-J[n+4>>2]|0;J[g+56>>2]=f;J[(q<<2)+c>>2]=k;t=1;q=q+1|0;if((q|0)!=(a|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;return t}function cg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=fa-48|0;fa=e;f=L[6701]|L[6702]<<16;d=L[6699]|L[6700]<<16;I[e+38>>1]=d;I[e+40>>1]=d>>>16;I[e+42>>1]=f;I[e+44>>1]=f>>>16;d=J[3349];J[e+32>>2]=J[3348];J[e+36>>2]=d;d=J[3347];J[e+24>>2]=J[3346];J[e+28>>2]=d;d=J[3345];J[e+16>>2]=J[3344];J[e+20>>2]=d;g=J[b+8>>2];i=J[b+12>>2];h=J[b+20>>2];d=J[b+16>>2];f=d+5|0;h=f>>>0<5?h+1|0:h;a:{b:{if(g>>>0>>0&(h|0)>=(i|0)|(h|0)>(i|0)){d=hj(e+16|0);if(d>>>0>=2147483632){break a}c:{d:{if(d>>>0>=11){b=(d|15)+1|0;c=Cj(b);J[e+8>>2]=b|-2147483648;J[e>>2]=c;J[e+4>>2]=d;b=c+d|0;break d}H[e+11|0]=d;b=d+e|0;c=e;if(!d){break c}}Vi(c,e+16|0,d)}H[b|0]=0;J[a>>2]=-2;b=a+4|0;if(H[e+11|0]>=0){a=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=a;J[b+8>>2]=J[e+8>>2];break b}Gj(b,J[e>>2],J[e+4>>2]);if(H[e+11|0]>=0){break b}xj(J[e>>2]);break b}f=d+J[b>>2]|0;d=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=K[f+4|0];d=J[b+20>>2];f=J[b+16>>2]+5|0;d=f>>>0<5?d+1|0:d;J[b+16>>2]=f;J[b+20>>2]=d;if(bj(c,1287,5)){d=Cj(32);H[d+17|0]=0;H[d+16|0]=K[1531];c=K[1527]|K[1528]<<8|(K[1529]<<16|K[1530]<<24);b=K[1523]|K[1524]<<8|(K[1525]<<16|K[1526]<<24);H[d+8|0]=b;H[d+9|0]=b>>>8;H[d+10|0]=b>>>16;H[d+11|0]=b>>>24;H[d+12|0]=c;H[d+13|0]=c>>>8;H[d+14|0]=c>>>16;H[d+15|0]=c>>>24;c=K[1519]|K[1520]<<8|(K[1521]<<16|K[1522]<<24);b=K[1515]|K[1516]<<8|(K[1517]<<16|K[1518]<<24);H[d|0]=b;H[d+1|0]=b>>>8;H[d+2|0]=b>>>16;H[d+3|0]=b>>>24;H[d+4|0]=c;H[d+5|0]=c>>>8;H[d+6|0]=c>>>16;H[d+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,d,17);xj(d);break b}g=J[b+12>>2];if((g|0)<=(d|0)&M[b+8>>2]<=f>>>0|(d|0)>(g|0)){d=hj(e+16|0);if(d>>>0>=2147483632){break a}e:{f:{if(d>>>0>=11){b=(d|15)+1|0;c=Cj(b);J[e+8>>2]=b|-2147483648;J[e>>2]=c;J[e+4>>2]=d;b=c+d|0;break f}H[e+11|0]=d;b=d+e|0;c=e;if(!d){break e}}Vi(c,e+16|0,d)}H[b|0]=0;J[a>>2]=-2;b=a+4|0;if(H[e+11|0]>=0){a=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=a;J[b+8>>2]=J[e+8>>2];break b}Gj(b,J[e>>2],J[e+4>>2]);if(H[e+11|0]>=0){break b}xj(J[e>>2]);break b}H[c+5|0]=K[f+J[b>>2]|0];g=J[b+20>>2];d=J[b+16>>2]+1|0;g=d?g:g+1|0;J[b+16>>2]=d;J[b+20>>2]=g;f=J[b+12>>2];if((f|0)<=(g|0)&M[b+8>>2]<=d>>>0|(g|0)>(f|0)){d=hj(e+16|0);if(d>>>0>=2147483632){break a}g:{h:{if(d>>>0>=11){b=(d|15)+1|0;c=Cj(b);J[e+8>>2]=b|-2147483648;J[e>>2]=c;J[e+4>>2]=d;b=c+d|0;break h}H[e+11|0]=d;b=d+e|0;c=e;if(!d){break g}}Vi(c,e+16|0,d)}H[b|0]=0;J[a>>2]=-2;b=a+4|0;if(H[e+11|0]>=0){a=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=a;J[b+8>>2]=J[e+8>>2];break b}Gj(b,J[e>>2],J[e+4>>2]);if(H[e+11|0]>=0){break b}xj(J[e>>2]);break b}H[c+6|0]=K[d+J[b>>2]|0];h=J[b+20>>2];d=J[b+16>>2]+1|0;h=d?h:h+1|0;J[b+16>>2]=d;J[b+20>>2]=h;f=J[b+12>>2];if((f|0)<=(h|0)&M[b+8>>2]<=d>>>0|(f|0)<(h|0)){d=hj(e+16|0);if(d>>>0>=2147483632){break a}i:{j:{if(d>>>0>=11){b=(d|15)+1|0;c=Cj(b);J[e+8>>2]=b|-2147483648;J[e>>2]=c;J[e+4>>2]=d;b=c+d|0;break j}H[e+11|0]=d;b=d+e|0;c=e;if(!d){break i}}Vi(c,e+16|0,d)}H[b|0]=0;J[a>>2]=-2;b=a+4|0;if(H[e+11|0]>=0){a=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=a;J[b+8>>2]=J[e+8>>2];break b}Gj(b,J[e>>2],J[e+4>>2]);if(H[e+11|0]>=0){break b}xj(J[e>>2]);break b}H[c+7|0]=K[d+J[b>>2]|0];g=J[b+20>>2];d=J[b+16>>2]+1|0;g=d?g:g+1|0;J[b+16>>2]=d;J[b+20>>2]=g;f=J[b+12>>2];if((f|0)<=(g|0)&M[b+8>>2]<=d>>>0|(g|0)>(f|0)){c=dg(e,e+16|0);J[a>>2]=-2;b=a+4|0;if(H[c+11|0]>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break b}Gj(b,J[c>>2],J[c+4>>2]);if(H[c+11|0]>=0){break b}xj(J[c>>2]);break b}H[c+8|0]=K[d+J[b>>2]|0];d=J[b+20>>2];g=J[b+16>>2];f=g+1|0;i=f?d:d+1|0;J[b+16>>2]=f;J[b+20>>2]=i;i=J[b+8>>2];h=J[b+12>>2];g=g+3|0;d=g>>>0<3?d+1|0:d;if(g>>>0>i>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){c=dg(e,e+16|0);J[a>>2]=-2;b=a+4|0;if(H[c+11|0]>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break b}Gj(b,J[c>>2],J[c+4>>2]);if(H[c+11|0]>=0){break b}xj(J[c>>2]);break b}d=c;c=J[b>>2]+f|0;I[d+10>>1]=K[c|0]|K[c+1|0]<<8;g=J[b+20>>2];c=J[b+16>>2]+2|0;g=c>>>0<2?g+1|0:g;J[b+16>>2]=c;J[b+20>>2]=g;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}fa=e+48|0;return}eg();C()}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=fa-96|0;fa=e;f=J[a+16>>2];H[e+92|0]=1;J[e+88>>2]=b;J[e+84>>2]=b;J[e+80>>2]=f;j=J[a+20>>2];d=J[j>>2];a:{b:{f=J[J[f+28>>2]+(b<<2)>>2];if(f>>>0>2]-d>>2>>>0){d=J[J[a+8>>2]+(J[d+(f<<2)>>2]<<2)>>2];f=J[a+4>>2];if(!K[f+84|0]){d=J[J[f+68>>2]+(d<<2)>>2]}J[e+72>>2]=0;J[e+76>>2]=0;j=e- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[e+56>>2]=0;J[e+60>>2]=0;Xc(f,d,H[f+24|0],e+56|0);if((b|0)!=-1){f=b+1|0;j=(f>>>0)%3|0?f:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;while(1){d=j;f=m;c:{if(!J[a+28>>2]){break c}f=b+1|0;d=(f>>>0)%3|0?f:b-2|0;f=b-1|0;if((b>>>0)%3|0){break c}f=b+2|0}n=J[a+20>>2];b=J[n>>2];d=J[J[J[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=J[n+4>>2]-b>>2>>>0){break b}d=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;Xc(b,d,H[b+24|0],e+32|0);d=J[a+20>>2];b=J[d>>2];f=J[J[J[a+16>>2]+28>>2]+(f<<2)>>2];if(f>>>0>=J[d+4>>2]-b>>2>>>0){break a}d=J[J[a+8>>2]+(J[b+(f<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Xc(b,d,H[b+24|0],e+8|0);g=J[e+8>>2];b=J[e+56>>2];d=g-b|0;p=J[e+60>>2];t=J[e+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=J[e+40>>2];f=J[e+64>>2];n=h-f|0;u=J[e+68>>2];x=J[e+44>>2]-(u+(f>>>0>h>>>0)|0)|0;g=nk(d,t,n,x);v=o-g|0;w=i-(ja+(g>>>0>o>>>0)|0)|0;i=v;h=J[e+16>>2];g=h-f|0;u=J[e+20>>2]-((f>>>0>h>>>0)+u|0)|0;k=J[e+32>>2];h=k-b|0;v=J[e+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=nk(g,u,h,v);o=i+b|0;i=ja+w|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=d;p=t;k=J[e+48>>2];f=J[e+72>>2];d=k-f|0;t=J[e+76>>2];w=J[e+52>>2]-(t+(f>>>0>k>>>0)|0)|0;l=nk(l,p,d,w);k=b+l|0;b=ja+q|0;b=k>>>0>>0?b+1|0:b;l=J[e+24>>2];p=l-f|0;f=J[e+28>>2]-((f>>>0>l>>>0)+t|0)|0;q=nk(p,f,h,v);l=k-q|0;q=b-(ja+(k>>>0>>0)|0)|0;b=nk(g,u,d,w);d=r-b|0;b=s-(ja+(b>>>0>r>>>0)|0)|0;s=nk(p,f,n,x);r=s+d|0;b=ja+b|0;s=r>>>0>>0?b+1|0:b;b=J[e+88>>2];f=J[e+80>>2];d:{if(K[e+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}J[e+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[e+88>>2]=b;if((b|0)!=-1){break e}}b=J[e+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}H[e+92|0]=0;J[e+88>>2]=d;break d}if((b|0)!=J[e+84>>2]){break d}J[e+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}J[e+88>>2]=d}b=J[e+88>>2];if((b|0)!=-1){continue}break}}b=s>>31;f=b^r;d=f-b|0;b=(b^s)-((b>>>0>f>>>0)+b|0)|0;m=-1;f=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;m:{n:{if(!J[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break m}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;f=a;g=i;a=g>>31;d=a;m=d^o;a=m-d|0;i=a;d=(d^g)-((d>>>0>m>>>0)+d|0)|0;a=a+f|0;d=d^2147483647;i=(d|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>d>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break o}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=i;d=i>>31;h=d^o;i=h-d|0;j=(d^k)-((d>>>0>h>>>0)+d|0)|0;g=j^2147483647;d=a;a=i;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break o}b=b+j|0;m=a+d|0;b=m>>>0>>0?b+1|0:b;f=b;if(!b&m>>>0<536870913){break m}}b=f>>>29|0;a=(f&536870911)<<3|m>>>29}o=ok(o,n,a,b);l=ok(l,q,a,b);r=ok(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;fa=e+96|0;return}yc();C()}yc();C()}yc();C()}function Bc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;J[a+8>>2]=e;r=a+32|0;g=J[r>>2];f=J[a+36>>2]-g>>2;a:{if(f>>>0>>0){La(r,e-f|0);d=J[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}J[a+36>>2]=g+(e<<2);d=e}v=e<<2;f=e>>>0>1073741823?-1:v;m=Xi(Cj(f),0,f);p=Xi(Cj(f),0,f);b:{if((d|0)<=0){break b}i=J[a+32>>2];while(1){d=h<<2;f=J[d+m>>2];g=J[a+16>>2];c:{if((f|0)>(g|0)){J[d+i>>2]=g;break c}d=d+i|0;g=J[a+12>>2];if((g|0)>(f|0)){J[d>>2]=g;break c}J[d>>2]=f}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){g=f<<2;d=g+c|0;g=J[b+g>>2]+J[g+i>>2]|0;J[d>>2]=g;d:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break d}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];w=J[f>>2];f=J[f+4>>2]-w|0;if((f|0)>=5){D=J[a+52>>2];s=J[a+48>>2];u=f>>>2|0;E=u>>>0<=2?2:u;x=e&-2;y=e&1;F=e&-4;z=e&3;A=e-1|0;n=1;while(1){e:{f:{g:{h:{if((n|0)!=(u|0)){g=J[(n<<2)+w>>2];t=(e|0)<=0;if(!t){Xi(m,0,v)}if((g|0)==-1){i=P(e,n);break f}B=J[s>>2];l=0;f=g;while(1){i:{if(J[(f>>>3&536870908)+B>>2]>>>f&1){break i}i=J[J[J[s+64>>2]+12>>2]+(f<<2)>>2];if((i|0)==-1){break i}j=J[D>>2];h=J[s+28>>2];o=J[j+(J[h+(i<<2)>>2]<<2)>>2];if((o|0)>=(n|0)){break i}k=i+1|0;k=J[j+(J[h+(((k>>>0)%3|0?k:i-2|0)<<2)>>2]<<2)>>2];if((k|0)>=(n|0)){break i}i=J[j+(J[h+(i+((i>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((i|0)>=(n|0)){break i}j:{if(t){break j}i=P(e,i);j=P(e,k);o=P(e,o);h=0;q=0;if(A){while(1){J[(h<<2)+p>>2]=(J[(h+i<<2)+c>>2]+J[(h+j<<2)+c>>2]|0)-J[(h+o<<2)+c>>2];k=h|1;J[(k<<2)+p>>2]=(J[(i+k<<2)+c>>2]+J[(j+k<<2)+c>>2]|0)-J[(k+o<<2)+c>>2];h=h+2|0;q=q+2|0;if((x|0)!=(q|0)){continue}break}}if(y){J[(h<<2)+p>>2]=(J[(h+i<<2)+c>>2]+J[(h+j<<2)+c>>2]|0)-J[(h+o<<2)+c>>2]}if(t){break j}o=0;h=0;i=0;if(e>>>0>3){while(1){j=h<<2;k=j+m|0;J[k>>2]=J[j+p>>2]+J[k>>2];k=j|4;q=k+m|0;J[q>>2]=J[k+p>>2]+J[q>>2];k=j|8;q=k+m|0;J[q>>2]=J[k+p>>2]+J[q>>2];j=j|12;k=j+m|0;J[k>>2]=J[j+p>>2]+J[k>>2];h=h+4|0;i=i+4|0;if((F|0)!=(i|0)){continue}break}}if(!z){break j}while(1){i=h<<2;j=i+m|0;J[j>>2]=J[i+p>>2]+J[j>>2];h=h+1|0;o=o+1|0;if((z|0)!=(o|0)){continue}break}}l=l+1|0}k:{l:{if((f>>>0)%3|0){h=f-1|0;break l}h=f+2|0;i=-1;if((h|0)==-1){break k}}i=-1;if(J[(h>>>3&536870908)+B>>2]>>>h&1){break k}f=J[J[J[s+64>>2]+12>>2]+(h<<2)>>2];i=-1;if((f|0)==-1){break k}i=f-1|0;if((f>>>0)%3|0){break k}i=f+2|0}f=i;if((g|0)!=(f|0)&(f|0)!=-1){continue}break}i=P(e,n);if(!l){break f}if(t){break g}h=0;f=0;if(!A){break h}while(1){g=h<<2;j=g+m|0;J[j>>2]=J[j>>2]/(l|0);g=(g|4)+m|0;J[g>>2]=J[g>>2]/(l|0);h=h+2|0;f=f+2|0;if((x|0)!=(f|0)){continue}break}break h}yc();C()}if(!y){break g}f=(h<<2)+m|0;J[f>>2]=J[f>>2]/(l|0)}if((d|0)<=0){break e}l=J[r>>2];h=0;while(1){d=h<<2;f=J[d+m>>2];g=J[a+16>>2];m:{if((f|0)>(g|0)){J[d+l>>2]=g;break m}d=d+l|0;g=J[a+12>>2];if((g|0)>(f|0)){J[d>>2]=g;break m}J[d>>2]=f}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=i<<2;i=d+c|0;h=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[h+g>>2]+J[g+l>>2]|0;J[d>>2]=g;n:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break n}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}if((d|0)<=0){break e}g=(P(n-1|0,e)<<2)+c|0;l=J[r>>2];h=0;while(1){d=h<<2;f=J[d+g>>2];j=J[a+16>>2];o:{if((f|0)>(j|0)){J[d+l>>2]=j;break o}d=d+l|0;j=J[a+12>>2];if((j|0)>(f|0)){J[d>>2]=j;break o}J[d>>2]=f}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=i<<2;i=d+c|0;h=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[h+g>>2]+J[g+l>>2]|0;J[d>>2]=g;p:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break p}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}n=n+1|0;if((E|0)!=(n|0)){continue}break}}xj(p);xj(m);return 1}function gd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;J[a+8>>2]=e;r=a+32|0;f=J[r>>2];j=J[a+36>>2]-f>>2;a:{if(j>>>0>>0){La(r,e-j|0);d=J[a+8>>2];break a}d=e;if(e>>>0>=j>>>0){break a}J[a+36>>2]=f+(e<<2);d=e}u=e<<2;f=e>>>0>1073741823?-1:u;m=Xi(Cj(f),0,f);p=Xi(Cj(f),0,f);b:{if((d|0)<=0){break b}i=J[a+32>>2];while(1){f=h<<2;j=J[f+m>>2];d=J[a+16>>2];c:{if((j|0)>(d|0)){J[f+i>>2]=d;break c}f=f+i|0;d=J[a+12>>2];if((d|0)>(j|0)){J[f>>2]=d;break c}J[f>>2]=j}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){j=f<<2;d=j+c|0;j=J[b+j>>2]+J[j+i>>2]|0;J[d>>2]=j;d:{if((j|0)>J[a+16>>2]){j=j-J[a+20>>2]|0}else{if((j|0)>=J[a+12>>2]){break d}j=j+J[a+20>>2]|0}J[d>>2]=j}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];v=J[f>>2];f=J[f+4>>2]-v|0;if((f|0)>=5){D=J[a+52>>2];w=J[a+48>>2];t=f>>>2|0;E=t>>>0<=2?2:t;x=e&-2;y=e&1;F=e&-4;z=e&3;A=e-1|0;n=1;while(1){e:{f:{g:{h:{if((n|0)!=(t|0)){j=J[(n<<2)+v>>2];s=(e|0)<=0;if(!s){Xi(m,0,u)}if((j|0)==-1){g=P(e,n);break f}B=J[w+12>>2];q=0;f=j;while(1){h=J[(f<<2)+B>>2];i:{if((h|0)==-1){break i}o=J[D>>2];l=J[w>>2];k=J[o+(J[l+(h<<2)>>2]<<2)>>2];i=h+1|0;i=(i>>>0)%3|0?i:h-2|0;if((i|0)!=-1){g=J[l+(i<<2)>>2]}else{g=-1}j:{k:{if((h>>>0)%3|0){h=h-1|0;break k}h=h+2|0;i=-1;if((h|0)==-1){break j}}i=J[l+(h<<2)>>2]}if((k|0)>=(n|0)){break i}g=J[(g<<2)+o>>2];if((g|0)>=(n|0)){break i}i=J[o+(i<<2)>>2];if((i|0)>=(n|0)){break i}l:{if(s){break l}l=P(e,i);o=P(e,g);k=P(e,k);h=0;i=0;if(A){while(1){J[(h<<2)+p>>2]=(J[(h+l<<2)+c>>2]+J[(h+o<<2)+c>>2]|0)-J[(h+k<<2)+c>>2];g=h|1;J[(g<<2)+p>>2]=(J[(g+l<<2)+c>>2]+J[(g+o<<2)+c>>2]|0)-J[(g+k<<2)+c>>2];h=h+2|0;i=i+2|0;if((x|0)!=(i|0)){continue}break}}if(y){J[(h<<2)+p>>2]=(J[(h+l<<2)+c>>2]+J[(h+o<<2)+c>>2]|0)-J[(h+k<<2)+c>>2]}if(s){break l}o=0;h=0;k=0;if(e>>>0>3){while(1){l=h<<2;i=l+m|0;J[i>>2]=J[l+p>>2]+J[i>>2];g=l|4;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];g=l|8;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];g=l|12;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];h=h+4|0;k=k+4|0;if((F|0)!=(k|0)){continue}break}}if(!z){break l}while(1){g=h<<2;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];h=h+1|0;o=o+1|0;if((z|0)!=(o|0)){continue}break}}q=q+1|0}m:{n:{if((f>>>0)%3|0){h=f-1|0;break n}h=f+2|0;g=-1;if((h|0)==-1){break m}}f=J[(h<<2)+B>>2];g=-1;if((f|0)==-1){break m}g=f-1|0;if((f>>>0)%3|0){break m}g=f+2|0}f=g;if((j|0)!=(f|0)&(f|0)!=-1){continue}break}g=P(e,n);if(!q){break f}if(s){break g}h=0;f=0;if(!A){break h}while(1){i=h<<2;j=i+m|0;J[j>>2]=J[j>>2]/(q|0);j=(i|4)+m|0;J[j>>2]=J[j>>2]/(q|0);h=h+2|0;f=f+2|0;if((x|0)!=(f|0)){continue}break}break h}yc();C()}if(!y){break g}f=(h<<2)+m|0;J[f>>2]=J[f>>2]/(q|0)}if((d|0)<=0){break e}k=J[r>>2];h=0;while(1){f=h<<2;j=J[f+m>>2];d=J[a+16>>2];o:{if((j|0)>(d|0)){J[f+k>>2]=d;break o}f=f+k|0;d=J[a+12>>2];if((d|0)>(j|0)){J[f>>2]=d;break o}J[f>>2]=j}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=g<<2;i=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[g+j>>2]+J[g+k>>2]|0;J[d>>2]=g;p:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break p}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}if((d|0)<=0){break e}f=(P(n-1|0,e)<<2)+c|0;k=J[r>>2];h=0;while(1){j=h<<2;i=J[j+f>>2];d=J[a+16>>2];q:{if((i|0)>(d|0)){J[j+k>>2]=d;break q}j=j+k|0;d=J[a+12>>2];if((d|0)>(i|0)){J[j>>2]=d;break q}J[j>>2]=i}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=g<<2;i=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[g+j>>2]+J[g+k>>2]|0;J[d>>2]=g;r:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break r}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}n=n+1|0;if((E|0)!=(n|0)){continue}break}}xj(p);xj(m);return 1}function Mb(a){var 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;f=fa-32|0;fa=f;a:{b=J[a+16>>2];b:{if(b>>>0>=341){J[a+16>>2]=b-341;b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];c:{if((b|0)!=J[a+12>>2]){d=b;break c}k=J[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=Wi(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break c}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=Cj(e);l=e+h|0;e=h+(d&-4)|0;d=e;d:{if((b|0)==(c|0)){break d}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;e:{if(!g){b=e;break e}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break d}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break c}xj(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}c=J[a+8>>2];b=J[a+4>>2];l=c-b|0;h=l>>2;g=J[a+12>>2];d=J[a>>2];e=g-d|0;if(h>>>0>2>>>0){if((c|0)!=(g|0)){n=f,o=Cj(4092),J[n+8>>2]=o;d=a;f:{g:{b=J[a+8>>2];h:{if((b|0)!=J[a+12>>2]){e=b;break h}c=J[d+4>>2];h=J[d>>2];if(c>>>0>h>>>0){g=((c-h>>2)+1|0)/-2<<2;a=b-c|0;e=Wi(g+c|0,c,a)+a|0;J[d+8>>2]=e;J[d+4>>2]=g+J[d+4>>2];break h}e=(b|0)==(h|0)?1:b-h>>1;if(e>>>0>=1073741824){break g}a=e<<2;j=Cj(a);l=a+j|0;a=j+(e&-4)|0;e=a;i:{if((b|0)==(c|0)){break i}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;j:{if(!g){b=a;break j}e=0;b=a;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}}e=a+m|0;if(i>>>0<28){break i}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((e|0)!=(b|0)){continue}break}}J[d+12>>2]=l;J[d+8>>2]=e;J[d+4>>2]=a;J[d>>2]=j;if(!h){break h}xj(h);e=J[d+8>>2]}J[e>>2]=J[f+8>>2];J[d+8>>2]=J[d+8>>2]+4;break f}Va();C()}break b}n=f,o=Cj(4092),J[n+8>>2]=o;Ob(a,f+8|0);b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];k:{if((b|0)!=J[a+12>>2]){d=b;break k}k=J[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=Wi(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break k}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=Cj(e);l=e+h|0;e=h+(d&-4)|0;d=e;l:{if((b|0)==(c|0)){break l}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;m:{if(!g){b=e;break m}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break l}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break k}xj(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}J[f+24>>2]=a+12;m=(d|0)==(g|0)?1:e>>1;if(m>>>0>=1073741824){break a}e=m<<2;g=Cj(e);J[f+8>>2]=g;j=e+g|0;J[f+20>>2]=j;d=(h<<2)+g|0;J[f+12>>2]=d;i=Cj(4092);n:{if((h|0)!=(m|0)){break n}if((l|0)>0){d=((h+1|0)/-2<<2)+d|0;J[f+12>>2]=d;break n}d=(b|0)==(c|0)?1:l>>1;if(d>>>0>=1073741824){break a}b=d<<2;e=Cj(b);J[f+8>>2]=e;j=b+e|0;J[f+20>>2]=j;d=e+(d&-4)|0;J[f+12>>2]=d;xj(g);b=J[a+4>>2];c=J[a+8>>2];g=e}J[d>>2]=i;i=d+4|0;J[f+16>>2]=i;e=b;if((b|0)!=(c|0)){while(1){c=c-4|0;Ob(f+8|0,c);if(J[a+4>>2]!=(c|0)){continue}break}j=J[f+20>>2];i=J[f+16>>2];d=J[f+12>>2];g=J[f+8>>2];e=c;b=J[a+8>>2]}c=J[a>>2];J[a>>2]=g;J[f+8>>2]=c;J[a+4>>2]=d;J[f+12>>2]=e;J[a+8>>2]=i;J[f+16>>2]=b;d=J[a+12>>2];J[a+12>>2]=j;J[f+20>>2]=d;if((b|0)!=(e|0)){J[f+16>>2]=((e-b|0)+3&-4)+b}if(!c){break b}xj(c)}fa=f+32|0;return}Va();C()}function Qc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=Q(0),j=0,k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0),A=0;a:{b:{if((e|0)!=2){break b}J[a+64>>2]=f;J[a+72>>2]=2;e=Cj(8);d=J[a+68>>2];J[a+68>>2]=e;if(d){xj(d)}J[a+8>>2]=2;w=a+32|0;e=J[w>>2];d=J[a+36>>2]-e|0;c:{if(d>>>0<=7){La(w,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}J[a+36>>2]=e+8}h=1;d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<=0){break b}d=d>>>2|0;A=d>>>0<=1?1:d;d=0;while(1){e=J[a+56>>2];h=J[e>>2];if(J[e+4>>2]-h>>2>>>0<=d>>>0){break a}q=Q(0);g=fa-48|0;fa=g;e=-1;h=J[h+(d<<2)>>2];f=-1;d:{if((h|0)==-1){break d}e=h+1|0;e=(e>>>0)%3|0?e:h-2|0;f=h-1|0;if((h>>>0)%3|0){break d}f=h+2|0}j=J[a+52>>2];h=J[j>>2];e:{f:{j=J[j+4>>2]-h>>2;l=e<<2;e=J[J[a+48>>2]+28>>2];r=J[l+e>>2];if(j>>>0<=r>>>0){break f}e=J[e+(f<<2)>>2];if(e>>>0>=j>>>0){break f}j=J[h+(e<<2)>>2];f=J[h+(r<<2)>>2];g:{if(!((j|0)>=(d|0)|(f|0)>=(d|0))){e=J[a+72>>2];h=(P(e,j)<<2)+c|0;m=Q(J[h+4>>2]);e=(P(e,f)<<2)+c|0;p=Q(J[e+4>>2]);x=Q(J[e>>2]);n=Q(J[h>>2]);if(!(x!=n|m!=p)){h=+m>2147483647;e=J[a+68>>2];if(Q(R(m))>2]=m2147483647;if(Q(R(n))>2]=n>2]+(d<<2)>>2];J[g+40>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;h=J[a+60>>2];if(!K[h+84|0]){e=J[J[h+68>>2]+(e<<2)>>2]}Rc(h,e,H[h+24|0],g+32|0);f=J[J[a+64>>2]+(f<<2)>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;e=J[a+60>>2];if(!K[e+84|0]){f=J[J[e+68>>2]+(f<<2)>>2]}Rc(e,f,H[e+24|0],g+16|0);f=J[J[a+64>>2]+(j<<2)>>2];J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;e=J[a+60>>2];if(!K[e+84|0]){f=J[J[e+68>>2]+(f<<2)>>2]}Rc(e,f,H[e+24|0],g);o=N[g+24>>2];s=Q(N[g+8>>2]-o);t=N[g+20>>2];u=Q(N[g+4>>2]-t);z=N[g+16>>2];v=Q(N[g>>2]-z);y=Q(Q(s*s)+Q(Q(u*u)+Q(Q(v*v)+Q(0))));h:{if(J[a+88>>2]>=258){i=Q(0);if(!(y>Q(0))){break h}}i=Q(N[g+40>>2]-o);o=Q(N[g+36>>2]-t);t=Q(N[g+32>>2]-z);q=Q(Q(Q(s*i)+Q(Q(u*o)+Q(Q(v*t)+Q(0))))/y);i=Q(i-Q(s*q));s=Q(i*i);i=Q(o-Q(u*q));o=Q(i*i);i=Q(t-Q(v*q));i=Q(Y(Q(Q(s+Q(o+Q(Q(i*i)+Q(0))))/y)))}f=J[a+80>>2];if(f){e=f-1|0;h=J[J[a+76>>2]+(e>>>3&536870908)>>2];J[a+80>>2]=e;m=Q(m-p);o=Q(Q(m*q)+p);n=Q(n-x);p=Q(n*i);e=h>>>e&1;p=Q(o+(e?p:Q(-p)));i=Q(i*m);k=V(+Q(Q(Q(n*q)+x)+(e?Q(-i):i))+.5);i:{if(k<-2147483648|k!=k|k>2147483647){e=J[a+68>>2];J[e>>2]=-2147483648;break i}e=J[a+68>>2];if(R(k)<2147483648){h=~~k}else{h=-2147483648}J[e>>2]=h}k=V(+p+.5);j=k>2147483647;if(R(k)<2147483648){h=~~k}else{h=-2147483648}J[e+4>>2]=k<-2147483648?-2147483648:k!=k?-2147483648:j?-2147483648:h}f=(f|0)!=0;break g}j:{if((d|0)>(f|0)){e=J[a+72>>2];h=P(f,e);break j}if((d|0)<=0){f=1;if(J[a+72>>2]<=0){break g}h=J[a+68>>2];e=0;while(1){J[h+(e<<2)>>2]=0;e=e+1|0;if((e|0)>2]){continue}break}break g}e=J[a+72>>2];h=P(e,d-1|0)}f=1;if((e|0)<=0){break g}j=J[a+68>>2];e=0;while(1){J[j+(e<<2)>>2]=J[(e+h<<2)+c>>2];e=e+1|0;if((e|0)>2]){continue}break}}fa=g+48|0;break e}yc();C()}h=f;if(!h){return 0}k:{if(J[a+8>>2]<=0){break k}r=J[a+68>>2];j=J[w>>2];e=0;while(1){f=e<<2;g=J[f+r>>2];l=J[a+16>>2];l:{if((g|0)>(l|0)){J[f+j>>2]=l;break l}f=f+j|0;l=J[a+12>>2];if((l|0)>(g|0)){J[f>>2]=l;break l}J[f>>2]=g}e=e+1|0;g=J[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break k}e=d<<3;r=e+c|0;l=b+e|0;while(1){g=f<<2;e=g+r|0;g=J[g+l>>2]+J[g+j>>2]|0;J[e>>2]=g;m:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break m}g=g+J[a+20>>2]|0}J[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((A|0)!=(d|0)){continue}break}}return h|0}yc();C()}function od(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=Q(0),j=0,k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=0,z=Q(0),A=0;a:{b:{if((e|0)!=2){break b}J[a+64>>2]=f;J[a+72>>2]=2;e=Cj(8);d=J[a+68>>2];J[a+68>>2]=e;if(d){xj(d)}J[a+8>>2]=2;v=a+32|0;e=J[v>>2];d=J[a+36>>2]-e|0;c:{if(d>>>0<=7){La(v,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}J[a+36>>2]=e+8}h=1;d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<=0){break b}d=d>>>2|0;A=d>>>0<=1?1:d;d=0;while(1){f=J[a+56>>2];e=J[f>>2];if(J[f+4>>2]-e>>2>>>0<=d>>>0){break a}q=Q(0);g=fa-48|0;fa=g;h=-1;d:{e:{e=J[e+(d<<2)>>2];if((e|0)==-1){break e}j=J[a+48>>2];f=e+1|0;f=(f>>>0)%3|0?f:e-2|0;if((f|0)!=-1){h=J[J[j>>2]+(f<<2)>>2]}f=-1;e=e+((e>>>0)%3|0?-1:2)|0;if((e|0)!=-1){f=J[J[j>>2]+(e<<2)>>2]}e=J[a+52>>2];j=J[e>>2];e=J[e+4>>2]-j>>2;if(e>>>0<=h>>>0|e>>>0<=f>>>0){break e}e=J[j+(h<<2)>>2];j=J[j+(f<<2)>>2];f:{if(!((d|0)<=(e|0)|(j|0)>=(d|0))){f=J[a+72>>2];h=(P(f,j)<<2)+c|0;l=Q(J[h+4>>2]);f=(P(e,f)<<2)+c|0;o=Q(J[f+4>>2]);w=Q(J[f>>2]);m=Q(J[h>>2]);if(!(w!=m|l!=o)){h=+l>2147483647;e=J[a+68>>2];if(Q(R(l))>2]=l2147483647;if(Q(R(m))>2]=m>2]+(d<<2)>>2];J[g+40>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;h=J[a+60>>2];if(!K[h+84|0]){f=J[J[h+68>>2]+(f<<2)>>2]}Rc(h,f,H[h+24|0],g+32|0);f=J[J[a+64>>2]+(e<<2)>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;e=J[a+60>>2];if(!K[e+84|0]){f=J[J[e+68>>2]+(f<<2)>>2]}Rc(e,f,H[e+24|0],g+16|0);h=J[J[a+64>>2]+(j<<2)>>2];J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;e=J[a+60>>2];if(!K[e+84|0]){h=J[J[e+68>>2]+(h<<2)>>2]}Rc(e,h,H[e+24|0],g);n=N[g+24>>2];r=Q(N[g+8>>2]-n);s=N[g+20>>2];t=Q(N[g+4>>2]-s);z=N[g+16>>2];u=Q(N[g>>2]-z);x=Q(Q(r*r)+Q(Q(t*t)+Q(Q(u*u)+Q(0))));g:{if(J[a+88>>2]>=258){i=Q(0);if(!(x>Q(0))){break g}}i=Q(N[g+40>>2]-n);n=Q(N[g+36>>2]-s);s=Q(N[g+32>>2]-z);q=Q(Q(Q(r*i)+Q(Q(t*n)+Q(Q(u*s)+Q(0))))/x);i=Q(i-Q(r*q));r=Q(i*i);i=Q(n-Q(t*q));n=Q(i*i);i=Q(s-Q(u*q));i=Q(Y(Q(Q(r+Q(n+Q(Q(i*i)+Q(0))))/x)))}e=J[a+80>>2];if(e){f=e-1|0;h=J[J[a+76>>2]+(f>>>3&536870908)>>2];J[a+80>>2]=f;l=Q(l-o);n=Q(Q(l*q)+o);m=Q(m-w);o=Q(m*i);f=h>>>f&1;o=Q(n+(f?o:Q(-o)));i=Q(i*l);k=V(+Q(Q(Q(m*q)+w)+(f?Q(-i):i))+.5);h:{if(k<-2147483648|k!=k|k>2147483647){h=J[a+68>>2];J[h>>2]=-2147483648;break h}h=J[a+68>>2];if(R(k)<2147483648){f=~~k}else{f=-2147483648}J[h>>2]=f}k=V(+o+.5);j=k>2147483647;if(R(k)<2147483648){f=~~k}else{f=-2147483648}J[h+4>>2]=k<-2147483648?-2147483648:k!=k?-2147483648:j?-2147483648:f}h=(e|0)!=0;break f}i:{if((d|0)>(e|0)){f=J[a+72>>2];e=P(e,f);break i}if((d|0)<=0){h=1;if(J[a+72>>2]<=0){break f}e=J[a+68>>2];f=0;while(1){J[e+(f<<2)>>2]=0;f=f+1|0;if((f|0)>2]){continue}break}break f}f=J[a+72>>2];e=P(f,d-1|0)}h=1;if((f|0)<=0){break f}j=J[a+68>>2];f=0;while(1){J[j+(f<<2)>>2]=J[(e+f<<2)+c>>2];f=f+1|0;if((f|0)>2]){continue}break}}fa=g+48|0;break d}yc();C()}if(!h){return 0}j:{if(J[a+8>>2]<=0){break j}y=J[a+68>>2];j=J[v>>2];e=0;while(1){f=e<<2;g=J[f+y>>2];p=J[a+16>>2];k:{if((g|0)>(p|0)){J[f+j>>2]=p;break k}f=f+j|0;p=J[a+12>>2];if((p|0)>(g|0)){J[f>>2]=p;break k}J[f>>2]=g}e=e+1|0;g=J[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break j}e=d<<3;y=e+c|0;p=b+e|0;while(1){g=f<<2;e=g+y|0;g=J[g+p>>2]+J[g+j>>2]|0;J[e>>2]=g;l:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break l}g=g+J[a+20>>2]|0}J[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((A|0)!=(d|0)){continue}break}}return h|0}yc();C()}function ob(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=fa-704|0;fa=f;n=1;a:{b:{c:{d:{if(L[b+38>>1]<515){break d}n=0;c=J[b+20>>2];d=J[b+12>>2];g=J[b+16>>2];if((c|0)>=(d|0)&g>>>0>=M[b+8>>2]|(c|0)>(d|0)){break d}p=K[J[b>>2]+g|0];g=g+1|0;c=g?c:c+1|0;J[b+16>>2]=g;J[b+20>>2]=c;g=J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+80>>2];c=ka[J[J[a>>2]+24>>2]](a)|0;J[f+40>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;if(c){if(c>>>0>=214748365){break c}c=P(c,20);d=Cj(c);J[f+32>>2]=d;J[f+40>>2]=c+d;c=c-20|0;c=(c-((c>>>0)%20|0)|0)+20|0;q=f,r=Xi(d,0,c)+c|0,J[q+36>>2]=r}e:{if((ka[J[J[a>>2]+24>>2]](a)|0)>0){while(1){c=ka[J[J[a>>2]+20>>2]](a,l)|0;c=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];$a(c,g);H[c+84|0]=1;J[c+72>>2]=J[c+68>>2];d=J[c+28>>2];if(d>>>0>9){break e}f:{g:{h:{e=1<>2],d,6,0,i,i>>31);c=_a(Cj(96),e);J[f>>2]=c;H[c+84|0]=1;J[c+72>>2]=J[c+68>>2];$a(c,g);c=J[a+64>>2];if(c>>>0>=M[a+68>>2]){break h}d=J[f>>2];J[f>>2]=0;J[c>>2]=d;c=c+4|0;J[a+64>>2]=c;break g}j=0;if(!K[c+24|0]){break f}while(1){d=J[a+52>>2];i=J[a+56>>2];i:{if(d>>>0>>0){J[d>>2]=0;J[a+52>>2]=d+4;break i}e=d;d=J[a+48>>2];m=e-d|0;k=m>>2;e=k+1|0;if(e>>>0>=1073741824){break b}o=k<<2;i=i-d|0;k=i>>>1|0;e=i>>>0>=2147483644?1073741823:e>>>0>>0?k:e;if(e){if(e>>>0>=1073741824){break a}i=Cj(e<<2)}else{i=0}k=o+i|0;J[k>>2]=0;o=e<<2;e=Wi(i,d,m);J[a+56>>2]=o+e;J[a+52>>2]=k+4;J[a+48>>2]=e;if(!d){break i}xj(d)}j=j+1|0;if(j>>>0>2];i=J[a+64>>2]-e>>2;d=i+1|0;if(d>>>0<1073741824){e=J[a+68>>2]-e|0;j=e>>>1|0;e=e>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(e){if(e>>>0>=1073741824){break l}c=Cj(e<<2)}j=J[f>>2];J[f>>2]=0;d=(i<<2)+c|0;J[d>>2]=j;e=(e<<2)+c|0;i=d+4|0;c=J[a+64>>2];j=J[a+60>>2];if((c|0)==(j|0)){break k}while(1){c=c-4|0;m=J[c>>2];J[c>>2]=0;d=d-4|0;J[d>>2]=m;if((c|0)!=(j|0)){continue}break}J[a+68>>2]=e;e=J[a+64>>2];J[a+64>>2]=i;c=J[a+60>>2];J[a+60>>2]=d;if((c|0)==(e|0)){break j}while(1){e=e-4|0;d=J[e>>2];J[e>>2]=0;if(d){pb(d)}if((c|0)!=(e|0)){continue}break}break j}Ia();C()}Va();C()}J[a+68>>2]=e;J[a+64>>2]=i;J[a+60>>2]=d}if(c){xj(c)}c=J[a+64>>2]}c=J[c-4>>2];d=J[f>>2];J[f>>2]=0;if(!d){break f}pb(d)}i=J[c+28>>2];d=i-1|0;if(d>>>0<=10){e=J[(d<<2)+13632>>2]}else{e=-1}d=J[f+32>>2]+P(l,20)|0;j=K[c+24|0];J[d+16>>2]=j;J[d+12>>2]=(e|0)>0?e:0;J[d+8>>2]=i;J[d+4>>2]=h;J[d>>2]=c;h=h+j|0;l=l+1|0;if((ka[J[J[a>>2]+24>>2]](a)|0)>(l|0)){continue}break}}a=qb(f,f+32|0);m:{n:{o:{switch(p|0){case 0:c=tb(f+48|0,h);b=rb(c,b,a,g);h=J[c+8>>2];sb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 1:c=tb(f+48|0,h);b=ub(c,b,a,g);h=J[c+8>>2];sb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 2:c=xb(f+48|0,h);b=vb(c,b,a,g);h=J[c+8>>2];wb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 3:c=xb(f+48|0,h);b=yb(c,b,a,g);h=J[c+8>>2];wb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 4:c=Bb(f+48|0,h);b=zb(c,b,a,g);h=J[c+8>>2];Ab(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 5:c=Bb(f+48|0,h);b=Cb(c,b,a,g);h=J[c+8>>2];Ab(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 6:break o;default:break m}}c=Bb(f+48|0,h);b=Db(c,b,a,g);h=J[c+8>>2];Ab(c);if(!b|(h|0)!=(g|0)){break m}}n=1}b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a>>2];if(!b){break e}J[a+4>>2]=b;xj(b)}a=J[f+32>>2];if(!a){break d}J[f+36>>2]=a;xj(a)}fa=f+704|0;return n|0}Ia();C()}Ia();C()}Va();C()}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=fa-32|0;fa=e;a:{b:{switch(c-2|0){case 0:c=J[a+4>>2];f=J[a+12>>2];J[e+24>>2]=-1;J[e+16>>2]=-1;J[e+20>>2]=1065353216;J[e+8>>2]=-1;J[e+12>>2]=-1;if((b|0)==-2){break a}i=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];if((ka[J[J[c>>2]+8>>2]](c)|0)==1){h=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];c:{if((ka[J[J[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break c}g=ka[J[J[c>>2]+36>>2]](c)|0;a=ka[J[J[c>>2]+44>>2]](c,f)|0;if(!g|!a){break c}f=ka[J[J[c>>2]+40>>2]](c,f)|0;d:{if(f){if((b|0)!=6){break c}b=J[c+44>>2];d=Cj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=f;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=f;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=7192;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=7716;a=d+96|0;break d}if((b|0)!=6){break c}b=J[c+44>>2];d=Cj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=g;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=g;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=8128;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=8520;a=d+96|0}J[a>>2]=0;J[a+4>>2]=0;H[a+5|0]=0;H[a+6|0]=0;H[a+7|0]=0;H[a+8|0]=0;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0}if(d){break a}}d=Cj(28);J[d+4>>2]=i;a=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=a;a=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=a;J[d+24>>2]=J[e+24>>2];J[d>>2]=8908;break a;case 1:break b;default:break a}}c=J[a+4>>2];f=J[a+12>>2];J[e+24>>2]=-1;J[e+16>>2]=-1;J[e+20>>2]=1065353216;J[e+8>>2]=-1;J[e+12>>2]=-1;if((b|0)==-2){break a}i=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];if((ka[J[J[c>>2]+8>>2]](c)|0)==1){h=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];e:{if((ka[J[J[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break e}g=ka[J[J[c>>2]+36>>2]](c)|0;a=ka[J[J[c>>2]+44>>2]](c,f)|0;if(!g|!a){break e}f=ka[J[J[c>>2]+40>>2]](c,f)|0;f:{if(f){if((b|0)!=6){break e}b=J[c+44>>2];d=Cj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=f;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=f;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=9076;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=9640;a=d+96|0;break f}if((b|0)!=6){break e}b=J[c+44>>2];d=Cj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=g;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=g;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=10080;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=10500;a=d+96|0}J[a>>2]=0;J[a+4>>2]=0;H[a+5|0]=0;H[a+6|0]=0;H[a+7|0]=0;H[a+8|0]=0;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0}if(d){break a}}d=Cj(28);J[d+4>>2]=i;a=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=a;a=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=a;J[d+24>>2]=J[e+24>>2];J[d>>2]=10912}fa=e+32|0;return d|0}function Na(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Q(0),p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(J[c>>2]==J[c+4>>2]){m=J[d+80>>2];u=fa-16|0;fa=u;g=J[a+4>>2];k=K[b+24|0];h=J[d+48>>2];n=J[J[d>>2]>>2];c=u+8|0;J[c>>2]=1065353216;d=c;N[c>>2]=Q(-1<>2];c=Cj(k<<2);a:{if(!m|!k){break a}p=h+n|0;o=N[d>>2];n=J[a+8>>2];v=J[b>>2];d=J[b+48>>2];g=J[b+40>>2];w=J[b+44>>2];if(!K[b+84|0]){f=J[b+68>>2];s=k&254;t=k&1;a=0;while(1){b=J[v>>2];l=nk(g,w,J[f+(i<<2)>>2],0)+d|0;h=Vi(c,b+l|0,g);b=0;q=0;if((k|0)!=1){while(1){l=p+(a<<2)|0;j=b<<2;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));b:{if(Q(R(e))>2]=r;j=j|4;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));c:{if(Q(R(e))>2]=j;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){l=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+h>>2]-N[b+n>>2]))+Q(.5))));d:{if(Q(R(e))>2]=b;a=a+1|0}i=i+1|0;if((m|0)!=(i|0)){continue}break}break a}s=k&254;t=k&1;a=0;while(1){b=J[v>>2];h=nk(g,w,i,l)+d|0;j=Vi(c,b+h|0,g);b=0;q=0;if((k|0)!=1){while(1){h=p+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));e:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));f:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){h=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+j>>2]-N[b+n>>2]))+Q(.5))));g:{if(Q(R(e))>2]=b;a=a+1|0}b=l;i=i+1|0;b=i?b:b+1|0;l=b;if((i|0)!=(m|0)|b){continue}break}}xj(c);fa=u+16|0;return 1}j=fa-16|0;fa=j;m=J[a+4>>2];i=K[b+24|0];g=J[d+48>>2];h=J[J[d>>2]>>2];d=j+8|0;J[d>>2]=1065353216;l=d;N[d>>2]=Q(-1<>2];d=Cj(i<<2);m=J[c+4>>2];q=J[c>>2];h:{if(!i|(m|0)==(q|0)){break h}n=h+g|0;c=m-q>>2;u=c>>>0<=1?1:c;o=N[l>>2];h=J[a+8>>2];v=J[b>>2];l=J[b+48>>2];m=J[b+40>>2];w=J[b+44>>2];if(K[b+84|0]){s=i&254;t=i&1;a=0;c=0;while(1){b=J[v>>2];g=nk(m,w,J[q+(c<<2)>>2],0)+l|0;p=Vi(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));i:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));j:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(t){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));k:{if(Q(R(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}break h}s=J[b+68>>2];t=i&254;x=i&1;a=0;c=0;while(1){b=J[v>>2];g=nk(m,w,J[s+(J[q+(c<<2)>>2]<<2)>>2],0)+l|0;p=Vi(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));l:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));m:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(x){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));n:{if(Q(R(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}}xj(d);fa=j+16|0;return 1}function Ve(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=J[a+4>>2];e=J[a>>2];f=(c-e|0)/144|0;if(f>>>0>>0){e=a;b=b-f|0;h=J[a+8>>2];c=J[a+4>>2];a:{if(b>>>0<=(h-c|0)/144>>>0){b:{if(!b){break b}a=c;f=b&7;if(f){while(1){hf(a);a=a+144|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}c=P(b,144)+c|0;if((b-1&268435455)>>>0<7){break b}while(1){hf(a);hf(a+144|0);hf(a+288|0);hf(a+432|0);hf(a+576|0);hf(a+720|0);hf(a+864|0);hf(a+1008|0);a=a+1152|0;if((c|0)!=(a|0)){continue}break}}J[e+4>>2]=c;break a}c:{d:{e:{a=c;c=J[e>>2];i=(a-c|0)/144|0;a=i+b|0;if(a>>>0<29826162){c=(h-c|0)/144|0;f=c<<1;f=c>>>0>=14913080?29826161:a>>>0>>0?f:a;if(f){if(f>>>0>=29826162){break e}g=Cj(P(f,144))}c=P(i,144)+g|0;a=c;h=b&7;if(h){while(1){hf(a);a=a+144|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}}h=P(b,144)+c|0;if((b-1&268435455)>>>0>=7){while(1){hf(a);hf(a+144|0);hf(a+288|0);hf(a+432|0);hf(a+576|0);hf(a+720|0);hf(a+864|0);hf(a+1008|0);a=a+1152|0;if((h|0)!=(a|0)){continue}break}}b=P(f,144)+g|0;d=J[e+4>>2];f=J[e>>2];if((d|0)==(f|0)){break d}while(1){c=c-144|0;d=d-144|0;a=d;J[c>>2]=J[a>>2];J[c+4>>2]=J[a+4>>2];J[c+8>>2]=J[a+8>>2];J[c+12>>2]=J[a+12>>2];J[a+12>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[c+16>>2]=J[a+16>>2];J[c+20>>2]=J[a+20>>2];J[c+24>>2]=J[a+24>>2];J[a+24>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;g=K[a+28|0];J[c+40>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;H[c+28|0]=g;J[c+32>>2]=J[a+32>>2];J[c+36>>2]=J[a+36>>2];J[c+40>>2]=J[a+40>>2];J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[c+52>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+44>>2]=J[a+44>>2];J[c+48>>2]=J[a+48>>2];J[c+52>>2]=J[a+52>>2];J[a+52>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;g=c- -64|0;J[g>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+56>>2]=J[a+56>>2];J[c+60>>2]=J[a+60>>2];i=g;g=a- -64|0;J[i>>2]=J[g>>2];J[g>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[c+68>>2]=J[a+68>>2];g=J[a+72>>2];J[c+84>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+72>>2]=g;J[c+76>>2]=J[a+76>>2];J[c+80>>2]=J[a+80>>2];J[c+84>>2]=J[a+84>>2];J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[c+96>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+88>>2]=J[a+88>>2];J[c+92>>2]=J[a+92>>2];J[c+96>>2]=J[a+96>>2];J[a+96>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;g=K[a+100|0];J[c+112>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;H[c+100|0]=g;J[c+104>>2]=J[a+104>>2];J[c+108>>2]=J[a+108>>2];J[c+112>>2]=J[a+112>>2];J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[c+124>>2]=0;J[c+116>>2]=0;J[c+120>>2]=0;J[c+116>>2]=J[a+116>>2];J[c+120>>2]=J[a+120>>2];J[c+124>>2]=J[a+124>>2];J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;g=J[a+128>>2];J[c+140>>2]=0;J[c+132>>2]=0;J[c+136>>2]=0;J[c+128>>2]=g;J[c+132>>2]=J[a+132>>2];J[c+136>>2]=J[a+136>>2];J[c+140>>2]=J[a+140>>2];J[a+140>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;if((a|0)!=(f|0)){continue}break}J[e+8>>2]=b;a=J[e+4>>2];J[e+4>>2]=h;d=J[e>>2];J[e>>2]=c;if((a|0)==(d|0)){break c}while(1){b=a-144|0;c=J[b+132>>2];if(c){J[a-8>>2]=c;xj(c)}c=J[a-28>>2];if(c){J[a-24>>2]=c;xj(c)}c=J[a-40>>2];if(c){J[a-36>>2]=c;xj(c)}bf(a-140|0);a=b;if((d|0)!=(a|0)){continue}break}break c}Ia();C()}Va();C()}J[e+8>>2]=b;J[e+4>>2]=h;J[e>>2]=c}if(d){xj(d)}}return}if(b>>>0>>0){e=e+P(b,144)|0;if((e|0)!=(c|0)){while(1){b=c-144|0;d=J[b+132>>2];if(d){J[c-8>>2]=d;xj(d)}d=J[c-28>>2];if(d){J[c-24>>2]=d;xj(d)}d=J[c-40>>2];if(d){J[c-36>>2]=d;xj(d)}bf(c-140|0);c=b;if((e|0)!=(c|0)){continue}break}}J[a+4>>2]=e}}function le(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=fa-80|0;fa=f;e=J[c+36>>2];J[f+72>>2]=J[c+32>>2];J[f+76>>2]=e;g=J[c+28>>2];e=f- -64|0;J[e>>2]=J[c+24>>2];J[e+4>>2]=g;e=J[c+20>>2];J[f+56>>2]=J[c+16>>2];J[f+60>>2]=e;e=J[c+12>>2];J[f+48>>2]=J[c+8>>2];J[f+52>>2]=e;e=J[c+4>>2];J[f+40>>2]=J[c>>2];J[f+44>>2]=e;cg(a,f+40|0,f+24|0);a:{if(J[a>>2]){break a}if(H[a+15|0]<0){xj(J[a+4>>2])}if(K[f+31|0]){b=Cj(32);H[b+27|0]=0;c=K[1556]|K[1557]<<8|(K[1558]<<16|K[1559]<<24);H[b+23|0]=c;H[b+24|0]=c>>>8;H[b+25|0]=c>>>16;H[b+26|0]=c>>>24;c=K[1553]|K[1554]<<8|(K[1555]<<16|K[1556]<<24);d=K[1549]|K[1550]<<8|(K[1551]<<16|K[1552]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1545]|K[1546]<<8|(K[1547]<<16|K[1548]<<24);d=K[1541]|K[1542]<<8|(K[1543]<<16|K[1544]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1537]|K[1538]<<8|(K[1539]<<16|K[1540]<<24);d=K[1533]|K[1534]<<8|(K[1535]<<16|K[1536]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,b,27);xj(b);break a}i=fa-16|0;fa=i;b:{c:{switch(H[f+32|0]){case 0:e=Cj(44);J[e>>2]=0;J[e+4>>2]=0;J[e+40>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;e=bg(e);J[e>>2]=13544;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;case 1:e=Cj(44);J[e>>2]=0;J[e+4>>2]=0;J[e+40>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;e=bg(e);J[e>>2]=13452;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;default:break c}}g=Cj(32);H[g+28|0]=0;e=K[1585]|K[1586]<<8|(K[1587]<<16|K[1588]<<24);H[g+24|0]=e;H[g+25|0]=e>>>8;H[g+26|0]=e>>>16;H[g+27|0]=e>>>24;e=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);h=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[g+16|0]=h;H[g+17|0]=h>>>8;H[g+18|0]=h>>>16;H[g+19|0]=h>>>24;H[g+20|0]=e;H[g+21|0]=e>>>8;H[g+22|0]=e>>>16;H[g+23|0]=e>>>24;e=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);h=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[g+8|0]=h;H[g+9|0]=h>>>8;H[g+10|0]=h>>>16;H[g+11|0]=h>>>24;H[g+12|0]=e;H[g+13|0]=e>>>8;H[g+14|0]=e>>>16;H[g+15|0]=e>>>24;e=K[1565]|K[1566]<<8|(K[1567]<<16|K[1568]<<24);h=K[1561]|K[1562]<<8|(K[1563]<<16|K[1564]<<24);H[g|0]=h;H[g+1|0]=h>>>8;H[g+2|0]=h>>>16;H[g+3|0]=h>>>24;H[g+4|0]=e;H[g+5|0]=e>>>8;H[g+6|0]=e>>>16;H[g+7|0]=e>>>24;J[i>>2]=-1;e=i|4;Gj(e,g,28);j=H[i+15|0];J[f>>2]=J[i>>2];h=f+4|0;d:{if((j|0)>=0){j=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=j;J[h+8>>2]=J[e+8>>2];J[f+16>>2]=0;break d}Gj(h,J[i+4>>2],J[i+8>>2]);e=H[i+15|0];J[f+16>>2]=0;if((e|0)>=0){break d}xj(J[i+4>>2])}xj(g)}fa=i+16|0;e=J[f>>2];e:{if(e){J[a>>2]=e;a=a+4|0;if(H[f+15|0]>=0){b=f|4;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break e}Gj(a,J[f+4>>2],J[f+8>>2]);break e}e=J[f+16>>2];J[f+16>>2]=0;gg(a,e,b,c,d);if(!J[a>>2]){if(H[a+15|0]<0){xj(J[a+4>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}ka[J[J[e>>2]+4>>2]](e)}a=J[f+16>>2];J[f+16>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}if(H[f+15|0]>=0){break a}xj(J[f+4>>2])}fa=f+80|0}function Di(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;J[a+56>>2]=J[a+52>>2];J[a+44>>2]=J[a+40>>2];b=J[a+64>>2];c=J[b+24>>2];if((c|0)==J[b+28>>2]){return 1}a:{b:{c:{while(1){g=i;i=J[(k<<2)+c>>2];d:{if((i|0)==-1){i=g;break d}b=J[a+56>>2];e:{if((b|0)!=J[a+60>>2]){J[b>>2]=g;J[a+56>>2]=b+4;break e}d=J[a+52>>2];e=b-d|0;h=e>>2;c=h+1|0;if(c>>>0>=1073741824){break c}f=e>>>1|0;f=e>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}e=Cj(f<<2)}else{e=0}c=e+(h<<2)|0;J[c>>2]=g;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[a+60>>2]=e+(f<<2);J[a+56>>2]=h;J[a+52>>2]=c;if(!d){break e}xj(d)}f:{g:{if(!(J[J[a+12>>2]+(k>>>3&536870908)>>2]>>>k&1)){break g}e=i+1|0;e=(e>>>0)%3|0?e:i-2|0;if((e|0)==-1|J[J[a>>2]+(e>>>3&536870908)>>2]>>>e&1){break g}e=J[J[J[a+64>>2]+12>>2]+(e<<2)>>2];if((e|0)==-1){break g}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)==-1){break g}c=J[a+64>>2];f=J[a>>2];while(1){e=b;b=-1;d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;h:{if((d|0)==-1|J[f+(d>>>3&536870908)>>2]>>>d&1){break h}d=J[J[c+12>>2]+(d<<2)>>2];if((d|0)==-1){break h}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0}if((b|0)!=(i|0)){if((b|0)==-1){break f}continue}break}return 0}e=i}J[J[a+28>>2]+(e<<2)>>2]=g;b=J[a+44>>2];i:{if((b|0)!=J[a+48>>2]){J[b>>2]=e;J[a+44>>2]=b+4;break i}d=J[a+40>>2];i=b-d|0;h=i>>2;c=h+1|0;if(c>>>0>=1073741824){break a}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}i=Cj(f<<2)}else{i=0}c=i+(h<<2)|0;J[c>>2]=e;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[a+48>>2]=i+(f<<2);J[a+44>>2]=h;J[a+40>>2]=c;if(!d){break i}xj(d)}i=g+1|0;b=J[a+64>>2];if((e|0)==-1){break d}j:{if((e>>>0)%3|0){c=e-1|0;break j}c=e+2|0;if((c|0)==-1){break d}}d=J[J[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1|(e|0)==(f|0)){break d}while(1){b=f+1|0;b=(b>>>0)%3|0?b:f-2|0;if(J[J[a>>2]+(b>>>3&536870908)>>2]>>>b&1){b=J[a+56>>2];k:{if((b|0)!=J[a+60>>2]){J[b>>2]=i;J[a+56>>2]=b+4;break k}d=J[a+52>>2];g=b-d|0;j=g>>2;c=j+1|0;if(c>>>0>=1073741824){break c}h=g>>>1|0;h=g>>>0>=2147483644?1073741823:c>>>0>>0?h:c;if(h){if(h>>>0>=1073741824){break b}g=Cj(h<<2)}else{g=0}c=g+(j<<2)|0;J[c>>2]=i;j=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[a+60>>2]=g+(h<<2);J[a+56>>2]=j;J[a+52>>2]=c;if(!d){break k}xj(d)}d=i+1|0;b=J[a+44>>2];l:{if((b|0)!=J[a+48>>2]){J[b>>2]=f;J[a+44>>2]=b+4;break l}h=J[a+40>>2];g=b-h|0;l=g>>2;c=l+1|0;if(c>>>0>=1073741824){break a}j=g>>>1|0;j=g>>>0>=2147483644?1073741823:c>>>0>>0?j:c;if(j){if(j>>>0>=1073741824){break b}g=Cj(j<<2)}else{g=0}c=g+(l<<2)|0;J[c>>2]=f;l=c+4|0;if((b|0)!=(h|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(h|0)){continue}break}}J[a+48>>2]=g+(j<<2);J[a+44>>2]=l;J[a+40>>2]=c;if(!h){break l}xj(h)}g=i;i=d}J[J[a+28>>2]+(f<<2)>>2]=g;b=J[a+64>>2];m:{if((f>>>0)%3|0){c=f-1|0;break m}c=f+2|0;if((c|0)==-1){break d}}d=J[J[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1){break d}if((e|0)!=(f|0)){continue}break}}k=k+1|0;c=J[b+24>>2];if(k>>>0>2]-c>>2>>>0){continue}break}return 1}Ia();C()}Va();C()}Ia();C()}function Ae(a){a=a|0;var b=0,c=0,d=0,e=0;c=J[a+32>>2];d=J[c+16>>2];e=J[c+12>>2];b=J[c+20>>2];if(M[c+8>>2]>d>>>0&(e|0)>=(b|0)|(b|0)<(e|0)){e=K[J[c>>2]+d|0];d=d+1|0;b=d?b:b+1|0;J[c+16>>2]=d;J[c+20>>2]=b;b=J[a+48>>2];J[a+48>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}a:{b:{c:{d:{switch(e|0){case 0:b=Cj(384);J[b>>2]=11432;Xi(b+4|0,0,80);J[b+96>>2]=0;J[b+100>>2]=0;J[b+92>>2]=-1;J[b+84>>2]=-1;J[b+88>>2]=-1;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+152>>2]=1065353216;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+208>>2]=0;J[b+212>>2]=-1;J[b+216>>2]=0;J[b+220>>2]=0;J[b+224>>2]=0;qg(b+232|0);qg(b+272|0);c=b+312|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;qg(b+328|0);J[b+376>>2]=0;J[b+368>>2]=0;J[b+372>>2]=0;break c;case 1:b=Cj(424);J[b>>2]=11484;Xi(b+4|0,0,80);J[b+96>>2]=0;J[b+100>>2]=0;J[b+92>>2]=-1;J[b+84>>2]=-1;J[b+88>>2]=-1;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+152>>2]=1065353216;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+208>>2]=0;J[b+212>>2]=-1;J[b+216>>2]=0;J[b+220>>2]=0;J[b+224>>2]=0;qg(b+232|0);qg(b+272|0);c=b+312|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;qg(b+328|0);J[b+392>>2]=0;J[b+396>>2]=0;J[b+384>>2]=0;J[b+388>>2]=0;J[b+376>>2]=0;J[b+380>>2]=0;J[b+368>>2]=0;J[b+372>>2]=0;c=b+400|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;J[b+416>>2]=-1;J[b+420>>2]=-1;break c;case 2:break d;default:break b}}b=Cj(440);J[b>>2]=11532;Xi(b+4|0,0,80);J[b+96>>2]=0;J[b+100>>2]=0;J[b+92>>2]=-1;J[b+84>>2]=-1;J[b+88>>2]=-1;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+152>>2]=1065353216;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+208>>2]=0;J[b+212>>2]=-1;J[b+216>>2]=0;J[b+220>>2]=0;J[b+224>>2]=0;qg(b+232|0);qg(b+272|0);c=b+312|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;qg(b+328|0);J[b+392>>2]=0;J[b+396>>2]=0;J[b+384>>2]=0;J[b+388>>2]=0;J[b+376>>2]=0;J[b+380>>2]=0;J[b+368>>2]=0;J[b+372>>2]=0;J[b+416>>2]=0;J[b+420>>2]=0;J[b+408>>2]=2;J[b+412>>2]=7;J[b+400>>2]=-1;J[b+404>>2]=-1;J[b+424>>2]=0;J[b+428>>2]=0;J[b+432>>2]=0;J[b+436>>2]=0}c=J[a+48>>2];J[a+48>>2]=b;if(!c){break a}ka[J[J[c>>2]+4>>2]](c)}b=J[a+48>>2];if(b){break a}return 0}a=ka[J[J[b>>2]+8>>2]](b,a)|0}else{a=0}return a|0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=fa-96|0;fa=f;e=J[a+16>>2];H[f+92|0]=1;J[f+88>>2]=b;J[f+84>>2]=b;J[f+80>>2]=e;a:{if((b|0)==-1){break a}j=J[a+20>>2];d=J[j>>2];e=J[J[e>>2]+(b<<2)>>2];if(e>>>0>=J[j+4>>2]-d>>2>>>0){break a}e=J[J[a+8>>2]+(J[d+(e<<2)>>2]<<2)>>2];d=J[a+4>>2];if(!K[d+84|0]){e=J[J[d+68>>2]+(e<<2)>>2]}J[f+72>>2]=0;J[f+76>>2]=0;j=f- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[f+56>>2]=0;J[f+60>>2]=0;Xc(d,e,H[d+24|0],f+56|0);e=b+1|0;j=(e>>>0)%3|0?e:b-2|0;n=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){d=j;e=n;d:{if(!J[a+28>>2]){break d}e=b+1|0;d=(e>>>0)%3|0?e:b-2|0;e=b-1|0;if((b>>>0)%3|0){break d}e=b+2|0}if((d|0)==-1){break b}m=J[a+20>>2];b=J[m>>2];d=J[J[J[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=J[m+4>>2]-b>>2>>>0){break b}d=J[J[a+8>>2]+(J[(d<<2)+b>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[f+48>>2]=0;J[f+52>>2]=0;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;Xc(b,d,H[b+24|0],f+32|0);if((e|0)==-1){break c}d=J[a+20>>2];b=J[d>>2];e=J[J[J[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=J[d+4>>2]-b>>2>>>0){break c}d=J[J[a+8>>2]+(J[b+(e<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Xc(b,d,H[b+24|0],f+8|0);g=J[f+8>>2];b=J[f+56>>2];d=g-b|0;p=J[f+60>>2];t=J[f+12>>2]-(p+(b>>>0>g>>>0)|0)|0;i=J[f+40>>2];e=J[f+64>>2];m=i-e|0;u=J[f+68>>2];x=J[f+44>>2]-(u+(e>>>0>i>>>0)|0)|0;g=nk(d,t,m,x);v=o-g|0;w=h-(ja+(g>>>0>o>>>0)|0)|0;h=v;i=J[f+16>>2];g=i-e|0;u=J[f+20>>2]-((e>>>0>i>>>0)+u|0)|0;k=J[f+32>>2];i=k-b|0;v=J[f+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=nk(g,u,i,v);o=h+b|0;h=ja+w|0;h=b>>>0>o>>>0?h+1|0:h;b=l;l=d;p=t;k=J[f+48>>2];e=J[f+72>>2];d=k-e|0;t=J[f+76>>2];w=J[f+52>>2]-(t+(e>>>0>k>>>0)|0)|0;l=nk(l,p,d,w);k=b+l|0;b=ja+q|0;b=k>>>0>>0?b+1|0:b;l=J[f+24>>2];p=l-e|0;e=J[f+28>>2]-((e>>>0>l>>>0)+t|0)|0;q=nk(p,e,i,v);l=k-q|0;q=b-(ja+(k>>>0>>0)|0)|0;b=nk(g,u,d,w);d=r-b|0;b=s-(ja+(b>>>0>r>>>0)|0)|0;s=nk(p,e,m,x);r=s+d|0;b=ja+b|0;s=r>>>0>>0?b+1|0:b;wd(f+80|0);b=J[f+88>>2];if((b|0)!=-1){continue}break}b=s>>31;e=b^r;d=e-b|0;b=(b^s)-((b>>>0>e>>>0)+b|0)|0;n=-1;e=2147483647;m=q>>31;g=m;i=g^l;j=i-g|0;m=(g^q)-((i>>>0>>0)+g|0)|0;i=m;k=j^-1;g=i^2147483647;m=h;e:{f:{if(!J[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break e}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;e=a;g=h;a=g>>31;d=a;n=d^o;a=n-d|0;h=a;d=(d^g)-((d>>>0>n>>>0)+d|0)|0;a=a+e|0;d=d^2147483647;h=(d|0)==(b|0)&(h^-1)>>>0>>0|b>>>0>d>>>0;a=h?-1:a;if(!(h&0)&(a|0)<=536870912|(a|0)<536870912){break e}b=0;a=a>>>29|0;break f}g:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break g}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=h;h=h>>31;g=h;i=g^o;h=i-g|0;j=(g^k)-((g>>>0>i>>>0)+g|0)|0;g=j^2147483647;d=a;a=h;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break g}b=b+j|0;n=a+d|0;b=n>>>0>>0?b+1|0:b;e=b;if(!b&n>>>0<536870913){break e}}b=e>>>29|0;a=(e&536870911)<<3|n>>>29}o=ok(o,m,a,b);l=ok(l,q,a,b);r=ok(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;fa=f+96|0;return}yc();C()}yc();C()}yc();C()}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if((b|0)<0){break a}c=J[a+12>>2];d=J[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=J[d>>2];i=J[e+60>>2];f=J[e+56>>2];e=d+4|0;if((e|0)!=(c|0)){while(1){h=J[e>>2];J[e>>2]=0;g=J[d>>2];J[d>>2]=h;if(g){pb(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=J[a+12>>2]}if((c|0)!=(d|0)){while(1){c=c-4|0;e=J[c>>2];J[c>>2]=0;if(e){pb(e)}if((c|0)!=(d|0)){continue}break}}J[a+12>>2]=d;g=J[a+4>>2];b:{if(!g|(i|0)<0){break b}c=J[g+24>>2];d=J[g+28>>2];if((c|0)==(d|0)){break b}while(1){if((i|0)==J[J[c>>2]+24>>2]){d=c+4|0;i=J[g+28>>2];if((d|0)!=(i|0)){while(1){h=J[d>>2];J[d>>2]=0;e=J[c>>2];J[c>>2]=h;if(e){jg(e+12|0,J[e+16>>2]);kg(e,J[e+4>>2]);xj(e)}c=c+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}d=J[g+28>>2]}if((c|0)!=(d|0)){while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){jg(e+12|0,J[e+16>>2]);kg(e,J[e+4>>2]);xj(e)}if((c|0)!=(d|0)){continue}break}}J[g+28>>2]=c;break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}c:{if((f|0)>4){break c}d:{e=P(f,12)+a|0;c=J[e+20>>2];d=J[e+24>>2];if((c|0)==(d|0)){break d}while(1){if(J[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c;c=c+4|0;Wi(f,c,d-c|0);J[e+24>>2]=d-4}c=J[a+24>>2];d=J[a+20>>2];e:{if((c|0)==(d|0)){break e}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break e}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break e}J[c>>2]=d-1}c=J[a+36>>2];d=J[a+32>>2];f:{if((c|0)==(d|0)){break f}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break f}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break f}J[c>>2]=d-1}c=J[a+48>>2];d=J[a+44>>2];g:{if((c|0)==(d|0)){break g}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break g}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break g}J[c>>2]=d-1}c=J[a+60>>2];d=J[a+56>>2];h:{if((c|0)==(d|0)){break h}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break h}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break h}J[c>>2]=d-1}c=J[a+72>>2];a=J[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;g=e&1;c=0;if(d>>>0>=8){d=e&-2;e=0;while(1){i=c<<2;f=i+a|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}i=a+(i|4)|0;f=J[i>>2];if((f|0)>(b|0)){J[i>>2]=f-1}c=c+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!g){break a}f=b;a=a+(c<<2)|0;b=J[a>>2];if((f|0)>=(b|0)){break a}J[a>>2]=b-1}}function xj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=J[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=J[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=J[d+8>>2];b=b>>>3|0;c=J[d+12>>2];if((c|0)==(e|0)){i=17256,j=J[4314]&rk(b),J[i>>2]=j;break b}J[e+12>>2]=c;J[c+8>>2]=e;break b}h=J[d+24>>2];b=J[d+12>>2];c:{if((d|0)!=(b|0)){c=J[d+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break c}d:{e=d+20|0;c=J[e>>2];if(c){break d}e=d+16|0;c=J[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break b}e=J[d+28>>2];c=(e<<2)+17560|0;e:{if(J[c>>2]==(d|0)){J[c>>2]=b;if(b){break e}i=17260,j=J[4315]&rk(e),J[i>>2]=j;break b}J[h+(J[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}J[b+24>>2]=h;c=J[d+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[d+20>>2];if(!c){break b}J[b+20>>2]=c;J[c+24>>2]=b;break b}b=J[f+4>>2];if((b&3)!=3){break b}J[4316]=a;J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=J[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(J[4320]==(f|0)){J[4320]=d;a=J[4317]+a|0;J[4317]=a;J[d+4>>2]=a|1;if(J[4319]!=(d|0)){break a}J[4316]=0;J[4319]=0;return}if(J[4319]==(f|0)){J[4319]=d;a=J[4316]+a|0;J[4316]=a;J[d+4>>2]=a|1;J[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=J[f+8>>2];b=b>>>3|0;c=J[f+12>>2];if((c|0)==(e|0)){i=17256,j=J[4314]&rk(b),J[i>>2]=j;break g}J[e+12>>2]=c;J[c+8>>2]=e;break g}h=J[f+24>>2];b=J[f+12>>2];h:{if((f|0)!=(b|0)){c=J[f+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break h}i:{e=f+20|0;c=J[e>>2];if(c){break i}e=f+16|0;c=J[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break g}e=J[f+28>>2];c=(e<<2)+17560|0;j:{if(J[c>>2]==(f|0)){J[c>>2]=b;if(b){break j}i=17260,j=J[4315]&rk(e),J[i>>2]=j;break g}J[h+(J[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}J[b+24>>2]=h;c=J[f+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[f+20>>2];if(!c){break g}J[b+20>>2]=c;J[c+24>>2]=b}J[d+4>>2]=a|1;J[a+d>>2]=a;if(J[4319]!=(d|0)){break f}J[4316]=a;return}J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+17296|0;c=J[4314];a=1<<(a>>>3);k:{if(!(c&a)){J[4314]=a|c;a=b;break k}a=J[b+8>>2]}J[b+8>>2]=d;J[a+12>>2]=d;J[d+12>>2]=b;J[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=S(a>>>8|0);e=((a>>>38-b&1)-(b<<1)|0)+62|0}J[d+28>>2]=e;J[d+16>>2]=0;J[d+20>>2]=0;g=(e<<2)+17560|0;l:{m:{c=J[4315];b=1<>2]=d;J[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=J[g>>2];while(1){c=b;if((J[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=J[g+16>>2];if(b){continue}break}J[g+16>>2]=d;J[d+24>>2]=c}J[d+12>>2]=d;J[d+8>>2]=d;break l}a=J[c+8>>2];J[a+12>>2]=d;J[c+8>>2]=d;J[d+24>>2]=0;J[d+12>>2]=c;J[d+8>>2]=a}a=J[4322]-1|0;J[4322]=a?a:-1}}function fd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;J[a+8>>2]=e;n=a+32|0;h=J[n>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0>>0){La(n,e-f|0);d=J[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2);d=e}s=J[a+52>>2];p=J[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;m=Xi(Cj(h),0,h);b:{if((d|0)<=0){break b}g=J[a+32>>2];while(1){d=f<<2;h=J[d+m>>2];j=J[a+16>>2];c:{if((h|0)>(j|0)){J[d+g>>2]=j;break c}d=d+g|0;j=J[a+12>>2];if((j|0)>(h|0)){J[d>>2]=j;break c}J[d>>2]=h}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=J[b+h>>2]+J[g+h>>2]|0;J[d>>2]=h;d:{if((h|0)>J[a+16>>2]){i=h-J[a+20>>2]|0}else{if((h|0)>=J[a+12>>2]){break d}i=h+J[a+20>>2]|0}J[d>>2]=i}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];q=J[f>>2];f=J[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;v=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=P(e,h);f=J[(h<<2)+q>>2];if((f|0)==-1){break f}f=J[J[p+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}j=J[s>>2];g=J[p>>2];k=J[j+(J[g+(f<<2)>>2]<<2)>>2];i=f+1|0;i=(i>>>0)%3|0?i:f-2|0;if((i|0)!=-1){i=J[g+(i<<2)>>2]}else{i=-1}g:{h:{if((f>>>0)%3|0){f=f-1|0;break h}f=f+2|0;l=-1;if((f|0)==-1){break g}}l=J[g+(f<<2)>>2]}if((h|0)<=(k|0)){break f}f=J[(i<<2)+j>>2];if((f|0)>=(h|0)){break f}g=J[j+(l<<2)>>2];if((g|0)>=(h|0)){break f}i:{if((e|0)<=0){break i}g=P(e,g);j=P(e,f);k=P(e,k);f=0;l=0;if((e|0)!=1){while(1){J[(f<<2)+m>>2]=(J[(f+g<<2)+c>>2]+J[(f+j<<2)+c>>2]|0)-J[(f+k<<2)+c>>2];i=f|1;J[(i<<2)+m>>2]=(J[(g+i<<2)+c>>2]+J[(j+i<<2)+c>>2]|0)-J[(i+k<<2)+c>>2];f=f+2|0;l=l+2|0;if((u|0)!=(l|0)){continue}break}}if(!v){break i}J[(f<<2)+m>>2]=(J[(f+g<<2)+c>>2]+J[(f+j<<2)+c>>2]|0)-J[(f+k<<2)+c>>2]}if((d|0)<=0){break e}j=J[n>>2];f=0;while(1){d=f<<2;g=J[d+m>>2];k=J[a+16>>2];j:{if((g|0)>(k|0)){J[d+j>>2]=k;break j}d=d+j|0;k=J[a+12>>2];if((k|0)>(g|0)){J[d>>2]=k;break j}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+i>>2]+J[g+j>>2]|0;J[d>>2]=g;k:{if((g|0)>J[a+16>>2]){l=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break k}l=g+J[a+20>>2]|0}J[d>>2]=l}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}yc();C()}if((d|0)<=0){break e}k=(P(h-1|0,e)<<2)+c|0;j=J[n>>2];f=0;while(1){d=f<<2;g=J[d+k>>2];i=J[a+16>>2];l:{if((g|0)>(i|0)){J[d+j>>2]=i;break l}d=d+j|0;i=J[a+12>>2];if((i|0)>(g|0)){J[d>>2]=i;break l}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+i>>2]+J[g+j>>2]|0;J[d>>2]=g;m:{if((g|0)>J[a+16>>2]){l=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break m}l=g+J[a+20>>2]|0}J[d>>2]=l}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}xj(m);return 1}function Uf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){e=J[a+48>>2];J[a+52>>2]=e;a:{if((e|0)!=J[a+56>>2]){J[e>>2]=b;J[a+52>>2]=e+4;break a}d=Cj(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!e){break a}xj(e)}c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;c=J[J[a+4>>2]+28>>2];k=J[(i<<2)+c>>2];if((k|0)==-1){return 0}e=(b-P(g,3)|0?-1:2)+b|0;j=J[c+(e<<2)>>2];if((j|0)==-1){return 0}b=J[a+36>>2];g=b+(k>>>3&536870908)|0;d=J[g>>2];c=1<>2]=c|d;Ff(a+8|0,k,i);b=J[a+36>>2]}d=(j>>>3&536870908)+b|0;c=J[d>>2];b=1<>2]=b|c;Ff(a+8|0,j,e)}f=J[a+52>>2];if((f|0)==J[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{f=f-4|0;b=J[f>>2];if((b|0)==-1){break c}c=(b>>>0)/3|0;g=J[a+24>>2]+(c>>>3&268435452)|0;d=J[g>>2];c=1<>2]=c|d;h=J[a+4>>2];c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{e:{j=J[a+36>>2]+(c>>>3&536870908)|0;i=J[j>>2];e=1<>2]+(c<<2)>>2];g:{if((g|0)==-1){break g}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}g=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2];if((g|0)!=-1){break f}}J[j>>2]=e|i;Ff(k,c,d);h=J[a+4>>2];break e}J[j>>2]=e|i;Ff(k,c,d);h=J[a+4>>2];b=g+1|0;if((((b>>>0)%3|0?b:g-2|0)|0)==-1){break e}b=-1;h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1|J[J[h>>2]+(c>>>3&536870908)>>2]>>>c&1){break h}b=J[J[J[h+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];e=c>>>5|0;j=J[f+(e<<2)>>2];break d}i:{j:{if((d|0)==-1){break j}c=-1;b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if(!((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1)){c=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((d>>>0)%3|0){f=d-1|0;break l}f=d+2|0;b=-1;if((f|0)==-1){break k}}b=-1;if(J[J[h>>2]+(f>>>3&536870908)>>2]>>>f&1){break k}b=J[J[J[h+64>>2]+12>>2]+(f<<2)>>2]}g=(b|0)==-1;i=g?-1:(b>>>0)/3|0;if((c|0)!=-1){f=J[a+24>>2];d=(c>>>0)/3|0;e=d>>>5|0;j=J[f+(e<<2)>>2];d=1<>2];e=i>>>5|0;j=J[f+(e<<2)>>2];if(!(d&j)){break d}}f=J[a+52>>2]-4|0;J[a+52>>2]=f;break b}if(g){b=c;break d}if(J[(i>>>3&536870908)+f>>2]>>>i&1){b=c;break d}h=J[a+52>>2];J[h-4>>2]=b;if(J[a+56>>2]!=(h|0)){J[h>>2]=c;f=h+4|0;break c}m:{i=J[a+48>>2];e=h-i|0;g=e>>2;d=g+1|0;if(d>>>0<1073741824){b=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(e){if(e>>>0>=1073741824){break m}d=Cj(e<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;f=b+4|0;if((h|0)!=(i|0)){while(1){b=b-4|0;h=h-4|0;J[b>>2]=J[h>>2];if((h|0)!=(i|0)){continue}break}}J[a+56>>2]=d+(e<<2);J[a+52>>2]=f;J[a+48>>2]=b;if(!i){break b}xj(i);f=J[a+52>>2];break b}Ia();C()}Va();C()}J[(e<<2)+f>>2]=d|j;c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}J[a+52>>2]=f}if(J[a+48>>2]!=(f|0)){continue}break}}return 1}function xc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;J[a+8>>2]=e;m=a+32|0;h=J[m>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0>>0){La(m,e-f|0);d=J[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2);d=e}s=J[a+52>>2];n=J[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;l=Xi(Cj(h),0,h);b:{if((d|0)<=0){break b}g=J[a+32>>2];while(1){d=f<<2;h=J[d+l>>2];i=J[a+16>>2];c:{if((h|0)>(i|0)){J[d+g>>2]=i;break c}d=d+g|0;i=J[a+12>>2];if((i|0)>(h|0)){J[d>>2]=i;break c}J[d>>2]=h}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=J[b+h>>2]+J[g+h>>2]|0;J[d>>2]=h;d:{if((h|0)>J[a+16>>2]){h=h-J[a+20>>2]|0}else{if((h|0)>=J[a+12>>2]){break d}h=h+J[a+20>>2]|0}J[d>>2]=h}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];q=J[f>>2];f=J[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;v=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=P(e,h);f=J[(h<<2)+q>>2];if((f|0)==-1|J[J[n>>2]+(f>>>3&536870908)>>2]>>>f&1){break f}f=J[J[J[n+64>>2]+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}i=J[s>>2];g=J[n+28>>2];k=J[i+(J[g+(f<<2)>>2]<<2)>>2];if((k|0)>=(h|0)){break f}j=f+1|0;j=J[i+(J[g+(((j>>>0)%3|0?j:f-2|0)<<2)>>2]<<2)>>2];if((j|0)>=(h|0)){break f}f=J[i+(J[g+(f+((f>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((f|0)>=(h|0)){break f}g:{if((e|0)<=0){break g}g=P(e,f);i=P(e,j);k=P(e,k);f=0;p=0;if((e|0)!=1){while(1){J[(f<<2)+l>>2]=(J[(f+g<<2)+c>>2]+J[(f+i<<2)+c>>2]|0)-J[(f+k<<2)+c>>2];j=f|1;J[(j<<2)+l>>2]=(J[(g+j<<2)+c>>2]+J[(i+j<<2)+c>>2]|0)-J[(k+j<<2)+c>>2];f=f+2|0;p=p+2|0;if((u|0)!=(p|0)){continue}break}}if(!v){break g}J[(f<<2)+l>>2]=(J[(f+g<<2)+c>>2]+J[(f+i<<2)+c>>2]|0)-J[(f+k<<2)+c>>2]}if((d|0)<=0){break e}i=J[m>>2];f=0;while(1){d=f<<2;g=J[d+l>>2];k=J[a+16>>2];h:{if((g|0)>(k|0)){J[d+i>>2]=k;break h}d=d+i|0;k=J[a+12>>2];if((k|0)>(g|0)){J[d>>2]=k;break h}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+j>>2]+J[g+i>>2]|0;J[d>>2]=g;i:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break i}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}yc();C()}if((d|0)<=0){break e}k=(P(h-1|0,e)<<2)+c|0;i=J[m>>2];f=0;while(1){d=f<<2;g=J[d+k>>2];j=J[a+16>>2];j:{if((g|0)>(j|0)){J[d+i>>2]=j;break j}d=d+i|0;j=J[a+12>>2];if((j|0)>(g|0)){J[d>>2]=j;break j}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+j>>2]+J[g+i>>2]|0;J[d>>2]=g;k:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break k}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}xj(l);return 1}function ef(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=Q(0),k=0,l=0,m=Q(0);i=J[c>>2];a:{b:{f=J[b+4>>2];if(!f){break b}g=qk(f);c:{if(g>>>0>=2){e=i;if(f>>>0<=e>>>0){e=(i>>>0)%(f>>>0)|0}c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}g=J[c+4>>2];if((g|0)!=(i|0)){if(f>>>0<=g>>>0){g=(g>>>0)%(f>>>0)|0}if((e|0)!=(g|0)){break b}}if(J[c+8>>2]!=(i|0)){continue}break}b=0;break a}e=f-1&i;c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}}h=f-1|0;while(1){c=J[c>>2];if(!c){break b}g=J[c+4>>2];if((g|0)!=(i|0)&(g&h)!=(e|0)){break b}if(J[c+8>>2]!=(i|0)){continue}break}b=0;break a}c=Cj(16);d=J[J[d>>2]>>2];J[c+12>>2]=0;J[c+8>>2]=d;J[c+4>>2]=i;J[c>>2]=0;m=Q(J[b+12>>2]+1>>>0);j=N[b+16>>2];d:{if(m>Q(j*Q(f>>>0))?0:f){break d}e=2;d=(f-1&f)!=0|f>>>0<3|f<<1;j=Q(W(Q(m/j)));e:{if(j=Q(0)){g=~~j>>>0;break e}g=0}d=d>>>0>g>>>0?d:g;f:{if((d|0)==1){break f}if(!(d&d-1)){e=d;break f}e=tj(d);f=J[b+4>>2]}g:{if(e>>>0<=f>>>0){if(e>>>0>=f>>>0){break g}g=f>>>0<3;j=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(j=Q(0)){d=~~j>>>0;break h}d=0}i:{j:{if(g){break j}if(qk(f)>>>0>1){break j}d=d>>>0<2?d:1<<32-S(d-1|0);break i}d=tj(d)}e=d>>>0>>0?e:d;if(f>>>0<=e>>>0){break g}}f=0;g=0;h=e;k:{l:{m:{n:{if(e){if(h>>>0>=1073741824){break n}d=Cj(h<<2);e=J[b>>2];J[b>>2]=d;if(e){xj(e)}J[b+4>>2]=h;d=0;if(h>>>0>=4){e=h&-4;while(1){k=d<<2;J[k+J[b>>2]>>2]=0;J[J[b>>2]+(k|4)>>2]=0;J[J[b>>2]+(k|8)>>2]=0;J[J[b>>2]+(k|12)>>2]=0;d=d+4|0;g=g+4|0;if((e|0)!=(g|0)){continue}break}}e=h&3;if(e){while(1){J[J[b>>2]+(d<<2)>>2]=0;d=d+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}e=J[b+8>>2];if(!e){break k}d=b+8|0;f=J[e+4>>2];g=qk(h);if(g>>>0<2){break m}f=f>>>0>=h>>>0?(f>>>0)%(h>>>0)|0:f;J[J[b>>2]+(f<<2)>>2]=d;d=J[e>>2];if(!d){break k}if(g>>>0<=1){break l}while(1){g=J[d+4>>2];if(h>>>0<=g>>>0){g=(g>>>0)%(h>>>0)|0}o:{if((f|0)==(g|0)){e=d;break o}l=g<<2;k=l+J[b>>2]|0;if(!J[k>>2]){J[k>>2]=e;e=d;f=g;break o}J[e>>2]=J[d>>2];J[d>>2]=J[J[l+J[b>>2]>>2]>>2];J[J[l+J[b>>2]>>2]>>2]=d}d=J[e>>2];if(d){continue}break}break k}d=J[b>>2];J[b>>2]=0;if(d){xj(d)}J[b+4>>2]=0;break k}Va();C()}f=h-1&f;J[J[b>>2]+(f<<2)>>2]=d;d=J[e>>2];if(!d){break k}}k=h-1|0;while(1){g=k&J[d+4>>2];p:{if((g|0)==(f|0)){e=d;break p}l=g<<2;h=l+J[b>>2]|0;if(J[h>>2]){J[e>>2]=J[d>>2];J[d>>2]=J[J[l+J[b>>2]>>2]>>2];J[J[l+J[b>>2]>>2]>>2]=d;break p}J[h>>2]=e;e=d;f=g}d=J[e>>2];if(d){continue}break}}}f=J[b+4>>2];d=f-1|0;if(!(d&f)){e=d&i;break d}if(f>>>0>i>>>0){e=i;break d}e=(i>>>0)%(f>>>0)|0}e=J[b>>2]+(e<<2)|0;d=J[e>>2];q:{r:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[e>>2]=d;d=J[c>>2];if(!d){break q}d=J[d+4>>2];e=f-1|0;s:{if(!(e&f)){d=d&e;break s}if(d>>>0>>0){break s}d=(d>>>0)%(f>>>0)|0}d=J[b>>2]+(d<<2)|0;break r}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function me(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=fa-80|0;fa=f;e=J[c+36>>2];J[f+72>>2]=J[c+32>>2];J[f+76>>2]=e;g=J[c+28>>2];e=f- -64|0;J[e>>2]=J[c+24>>2];J[e+4>>2]=g;e=J[c+20>>2];J[f+56>>2]=J[c+16>>2];J[f+60>>2]=e;e=J[c+12>>2];J[f+48>>2]=J[c+8>>2];J[f+52>>2]=e;e=J[c+4>>2];J[f+40>>2]=J[c>>2];J[f+44>>2]=e;cg(a,f+40|0,f+24|0);a:{if(J[a>>2]){break a}if(H[a+15|0]<0){xj(J[a+4>>2])}if(K[f+31|0]!=1){b=Cj(32);H[b+20|0]=0;c=K[1483]|K[1484]<<8|(K[1485]<<16|K[1486]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1479]|K[1480]<<8|(K[1481]<<16|K[1482]<<24);d=K[1475]|K[1476]<<8|(K[1477]<<16|K[1478]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1471]|K[1472]<<8|(K[1473]<<16|K[1474]<<24);d=K[1467]|K[1468]<<8|(K[1469]<<16|K[1470]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,b,20);xj(b);break a}i=fa-16|0;fa=i;b:{c:{switch(K[f+32|0]){case 0:e=we(Cj(48));J[e>>2]=13160;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;case 1:e=we(Cj(52));J[e+48>>2]=0;J[e>>2]=11324;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;default:break c}}g=Cj(32);H[g+28|0]=0;e=K[1585]|K[1586]<<8|(K[1587]<<16|K[1588]<<24);H[g+24|0]=e;H[g+25|0]=e>>>8;H[g+26|0]=e>>>16;H[g+27|0]=e>>>24;e=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);h=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[g+16|0]=h;H[g+17|0]=h>>>8;H[g+18|0]=h>>>16;H[g+19|0]=h>>>24;H[g+20|0]=e;H[g+21|0]=e>>>8;H[g+22|0]=e>>>16;H[g+23|0]=e>>>24;e=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);h=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[g+8|0]=h;H[g+9|0]=h>>>8;H[g+10|0]=h>>>16;H[g+11|0]=h>>>24;H[g+12|0]=e;H[g+13|0]=e>>>8;H[g+14|0]=e>>>16;H[g+15|0]=e>>>24;e=K[1565]|K[1566]<<8|(K[1567]<<16|K[1568]<<24);h=K[1561]|K[1562]<<8|(K[1563]<<16|K[1564]<<24);H[g|0]=h;H[g+1|0]=h>>>8;H[g+2|0]=h>>>16;H[g+3|0]=h>>>24;H[g+4|0]=e;H[g+5|0]=e>>>8;H[g+6|0]=e>>>16;H[g+7|0]=e>>>24;J[i>>2]=-1;e=i|4;Gj(e,g,28);j=H[i+15|0];J[f>>2]=J[i>>2];h=f+4|0;d:{if((j|0)>=0){j=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=j;J[h+8>>2]=J[e+8>>2];J[f+16>>2]=0;break d}Gj(h,J[i+4>>2],J[i+8>>2]);e=H[i+15|0];J[f+16>>2]=0;if((e|0)>=0){break d}xj(J[i+4>>2])}xj(g)}fa=i+16|0;e=J[f>>2];e:{if(e){J[a>>2]=e;a=a+4|0;if(H[f+15|0]>=0){b=f|4;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break e}Gj(a,J[f+4>>2],J[f+8>>2]);break e}e=J[f+16>>2];J[f+16>>2]=0;J[e+44>>2]=d;gg(a,e,b,c,d);if(!J[a>>2]){if(H[a+15|0]<0){xj(J[a+4>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}ka[J[J[e>>2]+4>>2]](e)}a=J[f+16>>2];J[f+16>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}if(H[f+15|0]>=0){break a}xj(J[f+4>>2])}fa=f+80|0}function Fi(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=P(b,12)+a|0;J[j+12>>2]=J[j+8>>2];m=(c|0)==-1?-1:(c>>>0)/3|0;d=1;k=c;a:{b:{c:{while(1){d:{l=d;if(!d){if((k|0)==-1){break d}if((Gi(a,((k>>>0)%3|0?-1:2)+k|0)|0)==-1){break a}c=k+1|0;d=(c>>>0)%3|0?c:k-2|0;if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}d=J[J[J[a+4>>2]+12>>2]+(c<<2)>>2];if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}m=(c>>>0)/3|0}e:{d=J[a+56>>2]+(m>>>3&536870908)|0;h=J[d>>2];e=1<>2]=e|h;d=J[j+12>>2];f:{if((d|0)!=J[j+16>>2]){J[d>>2]=m;J[j+12>>2]=d+4;break f}n=J[j+8>>2];h=d-n|0;e=h>>2;i=e+1|0;if(i>>>0>=1073741824){break c}g=h>>>1|0;i=h>>>0>=2147483644?1073741823:i>>>0>>0?g:i;if(i){if(i>>>0>=1073741824){break b}g=Cj(i<<2)}else{g=0}h=g+(e<<2)|0;J[h>>2]=m;e=h+4|0;if((d|0)!=(n|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(n|0)){continue}break}}J[j+8>>2]=h;J[j+12>>2]=e;J[j+16>>2]=g+(i<<2);if(!n){break f}xj(n)}g=f+1|0;g:{h:{i:{if(!f){break i}if(g&1){if((c|0)==-1){c=-1;break g}d=c+1|0;c=(d>>>0)%3|0?d:c-2|0;break i}k=l?k:c;if((c|0)==-1){c=-1;break g}if((c>>>0)%3|0){d=c-1|0;break h}c=c+2|0}d=c;c=-1;if((d|0)==-1){break g}}c=J[J[J[a+4>>2]+12>>2]+(d<<2)>>2];h=-1;f=-1;e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=J[(J[J[a>>2]+96>>2]+P(f,12)|0)+(e-P(f,3)<<2)>>2]}j:{if((c|0)==-1){break j}i=((c>>>0)%3|0?-1:2)+c|0;if((i|0)<0){break j}e=(i>>>0)/3|0;h=J[(J[J[a>>2]+96>>2]+P(e,12)|0)+(i-P(e,3)<<2)>>2]}if((f|0)!=(h|0)){c=-1;break g}k:{l:{f=((d>>>0)%3|0?-1:2)+d|0;if((f|0)>=0){d=(f>>>0)/3|0;if((c|0)!=-1){break l}c=-1;break g}d=-1;if((c|0)!=-1){break k}c=-1;break g}d=J[(J[J[a>>2]+96>>2]+P(d,12)|0)+(f-P(d,3)<<2)>>2]}f=c+1|0;e=(f>>>0)%3|0?f:c-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=J[(J[J[a>>2]+96>>2]+P(f,12)|0)+(e-P(f,3)<<2)>>2]}else{f=-1}if((f|0)!=(d|0)){c=-1;break g}f=g;m=(c>>>0)/3|0;d=J[a+56>>2]+(m>>>3&268435452)|0;h=J[d>>2];e=1<>2]-4|0;g=J[l>>2];d=J[a+56>>2]+(g>>>3&536870908)|0;c=J[d>>2];o=d,p=rk(g)&c,J[o>>2]=p;J[j+12>>2]=l;break a}d=0;if(l){continue}break a}break}k=-1;Gi(a,-1);break a}Ia();C()}Va();C()}J[((b<<2)+a|0)+44>>2]=k;b=J[j+12>>2];i=J[j+8>>2];m:{if((b|0)==(i|0)){break m}c=b-i|0;b=c>>2;b=b>>>0<=1?1:b;k=b&1;e=J[a+56>>2];d=0;if(c>>>0>=8){f=b&-2;c=0;while(1){l=d<<2;g=J[l+i>>2];b=e+(g>>>3&536870908)|0;a=J[b>>2];o=b,p=rk(g)&a,J[o>>2]=p;g=J[i+(l|4)>>2];b=e+(g>>>3&536870908)|0;a=J[b>>2];o=b,p=rk(g)&a,J[o>>2]=p;d=d+2|0;c=c+2|0;if((f|0)!=(c|0)){continue}break}}if(!k){break m}c=J[i+(d<<2)>>2];b=e+(c>>>3&536870908)|0;a=J[b>>2];o=b,p=rk(c)&a,J[o>>2]=p}}function Fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=fa-32|0;fa=h;a:{if(L[b+38>>1]<=513){c=J[b+20>>2];f=J[b+12>>2];d=J[b+16>>2];if((c|0)>=(f|0)&d>>>0>=M[b+8>>2]|(c|0)>(f|0)){break a}f=K[d+J[b>>2]|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;if(f){break a}}b:{if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}c:{if(d){Hc(a+60|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+72|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+84|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+96|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=J[b+8>>2];f=J[b+12>>2];d=c;c=J[b+20>>2];i=c;g=J[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=J[b>>2];k=m+g|0;l=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);J[b+16>>2]=j;J[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;if((d|0)<(l|0)){break a}J[a+16>>2]=d;J[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;J[a+20>>2]=b;c=b>>>1|0;J[a+24>>2]=c;J[a+28>>2]=0-c;if(b&1){break a}J[a+24>>2]=c-1;break a}}e=0}fa=h+32|0;return e|0}function jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=fa-32|0;fa=h;a:{if(L[b+38>>1]<=513){c=J[b+20>>2];f=J[b+12>>2];d=J[b+16>>2];if((c|0)>=(f|0)&d>>>0>=M[b+8>>2]|(c|0)>(f|0)){break a}f=K[d+J[b>>2]|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;if(f){break a}}b:{if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}c:{if(d){Hc(a+60|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+72|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+84|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+96|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=J[b+8>>2];f=J[b+12>>2];d=c;c=J[b+20>>2];i=c;g=J[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=J[b>>2];k=m+g|0;l=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);J[b+16>>2]=j;J[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;if((d|0)<(l|0)){break a}J[a+16>>2]=d;J[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;J[a+20>>2]=b;c=b>>>1|0;J[a+24>>2]=c;J[a+28>>2]=0-c;if(b&1){break a}J[a+24>>2]=c-1;break a}}e=0}fa=h+32|0;return e|0}function Of(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){f=J[a+48>>2];J[a+52>>2]=f;a:{if((f|0)!=J[a+56>>2]){J[f>>2]=b;J[a+52>>2]=f+4;break a}d=Cj(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!f){break a}xj(f)}e=-1;d=J[a+4>>2];c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;if((i|0)!=-1){e=J[J[d>>2]+(i<<2)>>2]}b:{h=b-P(g,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}j=J[J[d>>2]+(c<<2)>>2];if((j|0)==-1){return 0}c=J[a+36>>2];f=c+(e>>>3&536870908)|0;g=J[f>>2];d=1<>2]=d|g;Ff(a+8|0,e,i);c=J[a+36>>2]}g=(j>>>3&536870908)+c|0;d=J[g>>2];c=1<>2]=c|d;Ff(a+8|0,j,(h?-1:2)+b|0)}c=J[a+52>>2];if((c|0)==J[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=J[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;f=J[a+24>>2]+(d>>>3&268435452)|0;g=J[f>>2];d=1<>2]=d|g;while(1){i=J[a+4>>2];e=J[J[i>>2]+(b<<2)>>2];if((e|0)==-1){return 0}e:{f:{h=J[a+36>>2]+(e>>>3&536870908)|0;f=J[h>>2];g=1<>2]+(e<<2)>>2];h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break h}d=J[J[i+12>>2]+(c<<2)>>2];if((d|0)!=-1){break g}}J[h>>2]=f|g;Ff(j,e,b);break f}J[h>>2]=f|g;Ff(j,e,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}c=b-2|0;d=b+1|0;b=-1;c=(d>>>0)%3|0?d:c;if((c|0)!=-1){b=J[J[J[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];f=c>>>5|0;i=J[e+(f<<2)>>2];break e}c=-1;g=J[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=J[J[g+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=J[J[g+12>>2]+(e<<2)>>2]}g=(b|0)==-1;h=g?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=J[a+24>>2];d=(c>>>0)/3|0;f=d>>>5|0;i=J[e+(f<<2)>>2];d=1<>2];f=h>>>5|0;i=J[e+(f<<2)>>2];if(!(d&i)){break e}}c=J[a+52>>2]-4|0;J[a+52>>2]=c;break c}if(g){b=c;break e}if(J[(h>>>3&536870908)+e>>2]>>>h&1){b=c;break e}e=J[a+52>>2];J[e-4>>2]=b;if(J[a+56>>2]!=(e|0)){J[e>>2]=c;c=e+4|0;break d}l:{h=J[a+48>>2];f=e-h|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){b=f>>>1|0;f=f>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(f){if(f>>>0>=1073741824){break l}d=Cj(f<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;c=b+4|0;if((e|0)!=(h|0)){while(1){b=b-4|0;e=e-4|0;J[b>>2]=J[e>>2];if((e|0)!=(h|0)){continue}break}}J[a+56>>2]=d+(f<<2);J[a+52>>2]=c;J[a+48>>2]=b;if(!h){break c}xj(h);c=J[a+52>>2];break c}Ia();C()}Va();C()}J[(f<<2)+e>>2]=d|i;if((b|0)!=-1){continue}break}return 0}J[a+52>>2]=c}if(J[a+48>>2]!=(c|0)){continue}break}}return 1}function ud(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=fa-32|0;fa=g;J[a+68>>2]=f;d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}vd(m,J[d+(j<<2)>>2],g+16|0);i=J[g+20>>2];d=i>>31;h=J[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=J[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+16>>2]=J[a+108>>2];break b}f=J[a+108>>2];l=f>>31;h=ok(nk(f,l,h,h>>31),ja,e,d);J[g+16>>2]=h;d=ok(nk(f,l,i,i>>31),ja,e,d);J[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){J[g+24>>2]=f-d;break b}J[g+24>>2]=d-f}d=je(o);f=J[g+16>>2];c:{if(d){J[g+24>>2]=0-J[g+24>>2];e=0-J[g+20>>2]|0;J[g+20>>2]=e;f=0-f|0;J[g+16>>2]=f;break c}e=J[g+20>>2]}d:{if((f|0)>=0){f=J[a+108>>2];d=f+J[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+24>>2];f=d>>31;f=J[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+100>>2]+(d-(d^e)|0)|0}e=J[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=J[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=J[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}J[g+12>>2]=d;J[g+8>>2]=f;j:{if(J[a+8>>2]<=0){break j}i=J[a+32>>2];f=0;while(1){d=f<<2;e=J[d+(g+8|0)>>2];h=J[a+16>>2];k:{if((e|0)>(h|0)){J[d+i>>2]=h;break k}d=d+i|0;h=J[a+12>>2];if((h|0)>(e|0)){J[d>>2]=h;break k}J[d>>2]=e}f=f+1|0;e=J[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=J[f+k>>2]+J[f+i>>2]|0;J[e>>2]=f;l:{if((f|0)>J[a+16>>2]){f=f-J[a+20>>2]|0}else{if((f|0)>=J[a+12>>2]){break l}f=f+J[a+20>>2]|0}J[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}fa=g+32|0;return 1}yc();C()}function cd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=fa-32|0;fa=g;J[a+68>>2]=f;d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}dd(m,J[d+(j<<2)>>2],g+16|0);i=J[g+20>>2];d=i>>31;h=J[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=J[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+16>>2]=J[a+108>>2];break b}f=J[a+108>>2];l=f>>31;h=ok(nk(f,l,h,h>>31),ja,e,d);J[g+16>>2]=h;d=ok(nk(f,l,i,i>>31),ja,e,d);J[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){J[g+24>>2]=f-d;break b}J[g+24>>2]=d-f}d=je(o);f=J[g+16>>2];c:{if(d){J[g+24>>2]=0-J[g+24>>2];e=0-J[g+20>>2]|0;J[g+20>>2]=e;f=0-f|0;J[g+16>>2]=f;break c}e=J[g+20>>2]}d:{if((f|0)>=0){f=J[a+108>>2];d=f+J[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+24>>2];f=d>>31;f=J[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+100>>2]+(d-(d^e)|0)|0}e=J[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=J[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=J[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}J[g+12>>2]=d;J[g+8>>2]=f;j:{if(J[a+8>>2]<=0){break j}i=J[a+32>>2];f=0;while(1){d=f<<2;e=J[d+(g+8|0)>>2];h=J[a+16>>2];k:{if((e|0)>(h|0)){J[d+i>>2]=h;break k}d=d+i|0;h=J[a+12>>2];if((h|0)>(e|0)){J[d>>2]=h;break k}J[d>>2]=e}f=f+1|0;e=J[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=J[f+k>>2]+J[f+i>>2]|0;J[e>>2]=f;l:{if((f|0)>J[a+16>>2]){f=f-J[a+20>>2]|0}else{if((f|0)>=J[a+12>>2]){break l}f=f+J[a+20>>2]|0}J[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}fa=g+32|0;return 1}yc();C()}function db(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=fa-80|0;fa=h;a:{b:{if(K[J[a+28>>2]+36|0]<=1){d=J[b+20>>2];f=J[b+16>>2];c=f+4|0;d=c>>>0<4?d+1|0:d;g=J[b+12>>2];if(M[b+8>>2]>>0&(g|0)<=(d|0)|(d|0)>(g|0)){break a}f=f+J[b>>2]|0;j=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=c;J[b+20>>2]=d;break b}if(!eb(1,h+76|0,b)){break a}j=J[h+76>>2]}if(!j){break a}d=J[b+8>>2];c=J[b+16>>2];d=nk(d-c|0,J[b+12>>2]-(J[b+20>>2]+(c>>>0>d>>>0)|0)|0,5,0);c=ja;if(d>>>0>>0&(c|0)<=0|(c|0)<0){break a}c=J[a+4>>2];d=J[a+8>>2]-c>>2;c:{if(d>>>0>>0){La(a+4|0,j-d|0);break c}if(d>>>0<=j>>>0){break c}J[a+8>>2]=c+(j<<2)}p=a+16|0;l=J[a+32>>2];while(1){i=J[b+12>>2];c=i;d=J[b+20>>2];e=J[b+8>>2];f=J[b+16>>2];if((c|0)<=(d|0)&e>>>0<=f>>>0|(c|0)<(d|0)){e=0;break a}n=J[b>>2];q=K[n+f|0];c=d;g=f+1|0;c=g?c:c+1|0;J[b+16>>2]=g;J[b+20>>2]=c;if(e>>>0<=g>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}g=K[g+n|0];c=d;k=f+2|0;c=k>>>0<2?c+1|0:c;J[b+16>>2]=k;J[b+20>>2]=c;if(e>>>0<=k>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}k=K[k+n|0];c=d;m=f+3|0;c=m>>>0<3?c+1|0:c;J[b+16>>2]=m;J[b+20>>2]=c;if(e>>>0<=m>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}e=K[m+n|0];c=d;d=f+4|0;c=d>>>0<4?c+1|0:c;J[b+16>>2]=d;J[b+20>>2]=c;if(q>>>0>4){e=0;break a}if((g-12&255)>>>0<245){e=0;break a}if(!k){e=0;break a}m=Ya(h+8|0);i=(e|0)!=0;d=g-1|0;if(d>>>0<=10){c=J[(d<<2)+13632>>2]}else{c=-1}d=P(c,k);Za(m,q,k,g,i,d,d>>31);d:{d=L[J[a+28>>2]+36>>1];e:{if(((d<<8|d>>>8)&65535)>>>0<=258){c=J[b+20>>2];f=J[b+16>>2];d=f+2|0;c=d>>>0<2?c+1|0:c;e=J[b+12>>2];if(M[b+8>>2]>>0&(e|0)<=(c|0)|(c|0)>(e|0)){break d}f=f+J[b>>2]|0;e=K[f|0]|K[f+1|0]<<8;J[b+16>>2]=d;J[b+20>>2]=c;break e}if(!eb(1,h+4|0,b)){break d}e=J[h+4>>2]}J[h+68>>2]=e;d=_a(Cj(96),m);ka[J[J[l>>2]+8>>2]](l,J[l+12>>2]-J[l+8>>2]>>2,d);d=(J[l+12>>2]-J[l+8>>2]>>2)-1|0;f=d<<2;J[J[f+J[l+8>>2]>>2]+60>>2]=e;J[J[a+4>>2]+(o<<2)>>2]=d;e=J[a+16>>2];c=J[a+20>>2]-e>>2;f:{if((c|0)>(d|0)){break f}J[h>>2]=-1;d=d+1|0;if(d>>>0>c>>>0){fb(p,d-c|0,h);e=J[p>>2];break f}if(c>>>0<=d>>>0){break f}J[a+20>>2]=(d<<2)+e}J[e+f>>2]=o;e=1;o=o+1|0;if((o|0)!=(j|0)){continue}break a}break}e=0}fa=h+80|0;return e|0}function mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=ka[J[J[a>>2]+44>>2]](a)|0;a:{if((n|0)<=0){break a}i=J[b+4>>2]-J[b>>2]>>2;e=fa+-64|0;fa=e;f=Ya(e);d=P(J[3412],n);Za(f,J[J[a+8>>2]+56>>2],n&255,5,0,d,d>>31);f=_a(Cj(96),f);H[f+84|0]=1;J[f+72>>2]=J[f+68>>2];$a(f,i);J[f+60>>2]=J[J[a+8>>2]+60>>2];d=J[a+16>>2];J[a+16>>2]=f;if(d){pb(d)}fa=e- -64|0;h=J[a+16>>2];if(!J[h+80>>2]){break a}j=J[J[h>>2]>>2];if(!j){break a}m=J[c+12>>2];e=m;d=J[c+20>>2];g=J[c+8>>2];k=J[c+16>>2];if((e|0)<=(d|0)&g>>>0<=k>>>0|(d|0)>(e|0)){break a}l=P(i,n);i=j+J[h+48>>2]|0;h=J[c>>2];j=K[h+k|0];e=k+1|0;f=e?d:d+1|0;J[c+16>>2]=e;J[c+20>>2]=f;b:{c:{if(j){if(pe(l,n,c,i)){break c}break a}if((f|0)>=(m|0)&e>>>0>=g>>>0|(f|0)>(m|0)){break a}g=K[e+h|0];f=k+2|0;d=f>>>0<2?d+1|0:d;J[c+16>>2]=f;J[c+20>>2]=d;d=J[J[a+16>>2]+64>>2];d=J[d+4>>2]-J[d>>2]|0;if((g|0)==J[3412]){e=l<<2;if(e>>>0>d>>>0){break a}g=J[c+8>>2];k=J[c+12>>2];j=J[c+20>>2];d=J[c+16>>2];f=e+d|0;j=f>>>0>>0?j+1|0:j;if(f>>>0>g>>>0&(j|0)>=(k|0)|(j|0)>(k|0)){break a}Vi(i,d+J[c>>2]|0,e);f=J[c+20>>2];d=e+J[c+16>>2]|0;f=d>>>0>>0?f+1|0:f;J[c+16>>2]=d;J[c+20>>2]=f;break c}if(d>>>0>>0){break a}d=J[c+8>>2];f=J[c+16>>2];e=d-f|0;m=d>>>0>>0;d=J[c+20>>2];k=J[c+12>>2]-(m+d|0)|0;m=nk(g,0,l,0)>>>0>e>>>0;e=ja;if(m&(e|0)>=(k|0)|(e|0)>(k|0)){break a}e=1;if(!l){break b}h=0;while(1){k=J[c+8>>2];j=J[c+12>>2];e=f+g|0;d=e>>>0>>0?d+1|0:d;if(e>>>0>k>>>0&(d|0)>=(j|0)|(d|0)>(j|0)){return 0}Vi(i+(h<<2)|0,J[c>>2]+f|0,g);d=J[c+20>>2];f=g+J[c+16>>2]|0;d=f>>>0>>0?d+1|0:d;J[c+16>>2]=f;J[c+20>>2]=d;h=h+1|0;if((l|0)!=(h|0)){continue}break}}e=1;if(!l){break b}d=J[a+20>>2];if(d){e=0;if(ka[J[J[d>>2]+32>>2]](d)|0){break b}}g=0;h=0;d:{if((l|0)<=0){break d}if((l|0)!=1){f=l&-2;while(1){e=g<<2;d=J[e+i>>2];J[e+i>>2]=0-(d&1)^d>>>1;d=e|4;e=J[d+i>>2];J[d+i>>2]=0-(e&1)^e>>>1;g=g+2|0;h=h+2|0;if((f|0)!=(h|0)){continue}break}}if(!(l&1)){break d}d=g<<2;f=J[d+i>>2];J[d+i>>2]=0-(f&1)^f>>>1}e=0}d=e;f=J[a+20>>2];e:{if(!f){break e}if(!(ka[J[J[f>>2]+40>>2]](f,c)|0)){break a}if(d){break e}a=J[a+20>>2];if(!(ka[J[J[a>>2]+44>>2]](a,i,i,l,n,J[b>>2])|0)){break a}}o=1}return o|0}function Jc(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;h=fa-32|0;fa=h;a:{b:{if(J[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=Cj(b<<2);J[h+24>>2]=b;J[h+20>>2]=0;J[h+16>>2]=c;b=J[a>>2];J[h+12>>2]=0;J[h+8>>2]=b;c=J[a+4>>2];J[h+4>>2]=c&31;J[h>>2]=b+(c>>>3&536870908);e=fa-32|0;fa=e;i=J[h+4>>2];g=J[h+12>>2];j=J[h>>2];d=J[h+8>>2];b=(i-g|0)+(j-d<<3)|0;f=J[h+20>>2];c=b+f|0;J[h+20>>2]=c;if(!((c-1^f-1)>>>0<32?f:0)){J[J[h+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=J[h+16>>2]+(f>>>3&536870908)|0;f=f&31;c:{if((f|0)==(g|0)){if((b|0)<=0){break c}if(g){i=32-g|0;f=(b|0)<(i|0)?b:i;i=-1<>>i-f;J[c>>2]=J[c>>2]&(i^-1)|i&J[d>>2];d=d+4|0;c=(g+f>>>3&536870908)+c|0;b=b-f|0}g=(b|0)/32|0;if(b+31>>>0>=63){Wi(c,d,g<<2)}b=b-(g<<5)|0;if((b|0)<=0){break c}f=c;c=g<<2;g=f+c|0;b=-1>>>32-b|0;J[g>>2]=J[g>>2]&(b^-1)|b&J[c+d>>2];break c}J[e+28>>2]=g;J[e+24>>2]=d;J[e+20>>2]=i;J[e+16>>2]=j;J[e+12>>2]=f;J[e+8>>2]=c;b=J[e+28>>2];c=J[e+24>>2];g=(J[e+20>>2]-b|0)+(J[e+16>>2]-c<<3)|0;d:{if((g|0)<=0){b=J[e+12>>2];d=J[e+8>>2];break d}e:{if(!b){b=J[e+12>>2];break e}d=J[e+12>>2];j=32-d|0;k=32-b|0;f=(g|0)<(k|0)?g:k;i=f>>>0>j>>>0?j:f;l=J[e+8>>2];m=J[l>>2]&(-1<>>j-i^-1);j=J[c>>2]&(-1<>>k-f);J[l>>2]=m|(b>>>0>>0?j<>>b-d|0);c=d+i|0;b=c&31;J[e+12>>2]=b;d=l+(c>>>3&536870908)|0;J[e+8>>2]=d;c=f-i|0;if((c|0)>0){J[d>>2]=J[d>>2]&(-1>>>32-c^-1)|j>>>i+J[e+28>>2];J[e+12>>2]=c;b=c}g=g-f|0;c=J[e+24>>2]+4|0;J[e+24>>2]=c}i=-1<=32){j=i^-1;while(1){d=J[e+8>>2];c=J[c>>2];J[d>>2]=j&J[d>>2]|c<>2]=d+4;J[d+4>>2]=i&J[d+4>>2]|c>>>f;c=J[e+24>>2]+4|0;J[e+24>>2]=c;d=g>>>0>63;g=g-32|0;if(d){continue}break}}d=J[e+8>>2];if((g|0)<=0){break d}j=f;f=(g|0)>(f|0)?f:g;j=J[d>>2]&(i&-1>>>j-f^-1);i=J[c>>2]&-1>>>32-g;J[d>>2]=j|i<>2]=c;d=(b>>>3&536870908)+d|0;J[e+8>>2]=d;b=g-f|0;if((b|0)<=0){b=c;break d}J[d>>2]=J[d>>2]&(-1>>>32-b^-1)|i>>>f;J[e+12>>2]=b}J[e+4>>2]=b;J[e>>2]=d}fa=e+32|0;b=J[a>>2];J[a>>2]=J[h+16>>2];J[h+16>>2]=b;c=J[a+4>>2];J[a+4>>2]=J[h+20>>2];J[h+20>>2]=c;c=J[a+8>>2];J[a+8>>2]=J[h+24>>2];J[h+24>>2]=c;if(!b){break b}xj(b)}fa=h+32|0;return}Ia();C()}function qe(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,n=0,o=0;c=L[b+38>>1];a:{if(!c){break a}b:{if(c>>>0<=511){g=J[b+8>>2];e=J[b+12>>2];d=J[b+20>>2];c=J[b+16>>2];i=c+4|0;d=i>>>0<4?d+1|0:d;if(g>>>0>>0&(d|0)>=(e|0)|(d|0)>(e|0)){break a}c=c+J[b>>2]|0;f=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[a+12>>2]=f;d=J[b+20>>2];c=J[b+16>>2]+4|0;d=c>>>0<4?d+1|0:d;J[b+16>>2]=c;J[b+20>>2]=d;break b}if(!te(1,a+12|0,b)){break a}c=J[b+16>>2];d=J[b+20>>2];f=J[a+12>>2]}e=J[b+8>>2];i=e-c|0;c=J[b+12>>2]-(d+(c>>>0>e>>>0)|0)|0;if(i>>>0>>6>>>0&(c|0)<=0|(c|0)<0){break a}d=J[a>>2];c=J[a+4>>2]-d>>2;c:{if(c>>>0>>0){La(a,f-c|0);f=J[a+12>>2];break c}if(c>>>0<=f>>>0){break c}J[a+4>>2]=d+(f<<2)}if(!f){return 1}c=J[b+16>>2];d=J[b+20>>2];l=J[a>>2];i=J[b+8>>2];j=J[b+12>>2];g=0;while(1){if((d|0)>=(j|0)&c>>>0>=i>>>0|(d|0)>(j|0)){return 0}m=J[b>>2];k=K[m+c|0];c=c+1|0;d=c?d:d+1|0;J[b+16>>2]=c;J[b+20>>2]=d;e=k>>>2|0;h=0;d:{e:{f:{g:{n=k&3;switch(n|0){case 0:break e;case 3:break g;default:break f}}e=e+g|0;if(e>>>0>=f>>>0){return 0}Xi(l+(g<<2)|0,0,(k&252)+4|0);g=e;break d}while(1){if((c|0)==(i|0)&(d|0)==(j|0)){break a}f=K[c+m|0];c=c+1|0;d=c?d:d+1|0;J[b+16>>2]=c;J[b+20>>2]=d;e=f<<(h<<3|6)|e;h=h+1|0;if((n|0)!=(h|0)){continue}break}}J[l+(g<<2)>>2]=e}f=J[a+12>>2];g=g+1|0;if(f>>>0>g>>>0){continue}break}b=a+16|0;i=J[a>>2];d=J[a+16>>2];c=J[a+20>>2]-d|0;h:{if(c>>>0<=16383){La(b,4096-(c>>>2|0)|0);break h}if((c|0)==16384){break h}J[a+20>>2]=d+16384}c=a+28|0;g=J[c>>2];d=J[a+32>>2]-g>>3;i:{if(d>>>0>>0){ue(c,f-d|0);g=J[c>>2];break i}if(d>>>0>f>>>0){J[a+32>>2]=(f<<3)+g}if(!f){break a}}d=J[b>>2];b=0;a=0;while(1){c=i+(b<<2)|0;h=J[c>>2];e=a;j=(b<<3)+g|0;J[j+4>>2]=a;J[j>>2]=h;c=J[c>>2];a=c+a|0;if(a>>>0>4096){break a}j:{if(a>>>0<=e>>>0){break j}h=0;j=c&7;if(j){while(1){J[d+(e<<2)>>2]=b;e=e+1|0;h=h+1|0;if((j|0)!=(h|0)){continue}break}}if(c-1>>>0<=6){break j}while(1){c=d+(e<<2)|0;J[c>>2]=b;J[c+28>>2]=b;J[c+24>>2]=b;J[c+20>>2]=b;J[c+16>>2]=b;J[c+12>>2]=b;J[c+8>>2]=b;J[c+4>>2]=b;e=e+8|0;if((e|0)!=(a|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}o=(a|0)==4096}return o}function rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=b;b=J[b>>2]+7&-8;J[c>>2]=b+16;o=a;i=J[b>>2];d=J[b+4>>2];a=J[b+12>>2];m=a;g=fa-32|0;fa=g;a=a&2147483647;h=a;e=a-1006698496|0;a=a-1140785152|0;c=J[b+8>>2];b=c;a:{if((e|0)==(a|0)&b>>>0>>0|a>>>0>e>>>0){a=c;c=m<<4|a>>>28;b=a<<4|d>>>28;a=c;d=d&268435455;if((d|0)==134217728&(i|0)!=0|d>>>0>134217728){a=a+1073741824|0;b=b+1|0;a=b?a:a+1|0;break a}a=a+1073741824|0;if(i|(d|0)!=134217728){break a}d=b&1;b=d+b|0;a=b>>>0>>0?a+1|0:a;break a}if(!(!b&(h|0)==2147418112?!(d|i):h>>>0<2147418112)){a=c;c=m<<4|a>>>28;b=a<<4|d>>>28;a=c&524287|2146959360;break a}b=0;a=2146435072;if(h>>>0>1140785151){break a}a=0;n=h>>>16|0;if(n>>>0<15249){break a}b=i;a=d;e=m&65535|65536;h=e;l=c;f=c;j=n-15233|0;b:{if(j&64){c=b;e=j+-64|0;b=e&31;if((e&63)>>>0>=32){a=c<>>32-b|a<>>0>=32){c=k<>>32-f|e<>>0>=32){c=0;b=a>>>f|0}else{c=a>>>f|0;b=((1<>>f}f=p|b;e=c|e;b=j&31;if((j&63)>>>0>=32){c=k<>>32-b|a<>2]=b;J[g+20>>2]=a;J[g+24>>2]=f;J[g+28>>2]=e;b=15361-n|0;c:{if(b&64){d=l;b=b+-64|0;a=b&31;if((b&63)>>>0>=32){c=0;i=h>>>a|0}else{c=h>>>a|0;i=((1<>>a}d=c;l=0;h=0;break c}if(!b){break c}e=l;a=64-b|0;c=a&31;if((a&63)>>>0>=32){a=e<>>32-c|h<>>0>=32){c=0;e=d>>>i|0}else{c=d>>>i|0;e=((1<>>i}i=f|e;d=a|c;e=l;c=b&31;if((b&63)>>>0>=32){a=0;l=h>>>c|0}else{a=h>>>c|0;l=((1<>>c}h=a}J[g>>2]=i;J[g+4>>2]=d;J[g+8>>2]=l;J[g+12>>2]=h;b=J[g+8>>2];a=J[g+12>>2]<<4|b>>>28;b=b<<4;c=J[g>>2];h=J[g+4>>2];b=h>>>28|b;d=h&268435455;c=c|(J[g+16>>2]|J[g+24>>2]|(J[g+20>>2]|J[g+28>>2]))!=0;if((d|0)==134217728&(c|0)!=0|d>>>0>134217728){b=b+1|0;a=b?a:a+1|0;break a}if(c|(d|0)!=134217728){break a}c=b;b=b+(b&1)|0;a=c>>>0>b>>>0?a+1|0:a}fa=g+32|0;x(0,b|0);x(1,m&-2147483648|a);q=o,r=+z(),O[q>>3]=r}function Xd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=fa-48|0;fa=g;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}vd(n,J[d+(j<<2)>>2],g+8|0);h=J[g+12>>2];d=h>>31;i=J[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=J[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+8>>2]=J[a+92>>2];break b}f=J[a+92>>2];k=f>>31;i=ok(nk(f,k,i,i>>31),ja,e,d);J[g+8>>2]=i;d=ok(nk(f,k,h,h>>31),ja,e,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){J[g+16>>2]=f-d;break b}J[g+16>>2]=d-f}d=je(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=J[h>>2];h=J[h+4>>2];J[g+36>>2]=d;J[g+32>>2]=f;J[g+24>>2]=i;J[g+28>>2]=h;Td(g+40|0,m,g+32|0,g+24|0);d=c+e|0;J[d>>2]=J[g+40>>2];J[d+4>>2]=J[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}fa=g+48|0;return 1}yc();C()}function Sd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=fa-48|0;fa=g;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}dd(n,J[d+(j<<2)>>2],g+8|0);h=J[g+12>>2];d=h>>31;i=J[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=J[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+8>>2]=J[a+92>>2];break b}f=J[a+92>>2];k=f>>31;i=ok(nk(f,k,i,i>>31),ja,e,d);J[g+8>>2]=i;d=ok(nk(f,k,h,h>>31),ja,e,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){J[g+16>>2]=f-d;break b}J[g+16>>2]=d-f}d=je(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=J[h>>2];h=J[h+4>>2];J[g+36>>2]=d;J[g+32>>2]=f;J[g+24>>2]=i;J[g+28>>2]=h;Td(g+40|0,m,g+32|0,g+24|0);d=c+e|0;J[d>>2]=J[g+40>>2];J[d+4>>2]=J[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}fa=g+48|0;return 1}yc();C()}function Nd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=fa-48|0;fa=g;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}vd(n,J[d+(j<<2)>>2],g+8|0);h=J[g+12>>2];d=h>>31;i=J[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=J[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+8>>2]=J[a+92>>2];break b}f=J[a+92>>2];k=f>>31;i=ok(nk(f,k,i,i>>31),ja,e,d);J[g+8>>2]=i;d=ok(nk(f,k,h,h>>31),ja,e,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){J[g+16>>2]=f-d;break b}J[g+16>>2]=d-f}d=je(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=J[h+4>>2];J[g+40>>2]=J[h>>2];J[g+44>>2]=i;J[g+28>>2]=d;J[g+24>>2]=f;Jd(g+32|0,m,g+24|0,g+40|0);d=c+e|0;J[d>>2]=J[g+32>>2];J[d+4>>2]=J[g+36>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}fa=g+48|0;return 1}yc();C()}function Id(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=fa-48|0;fa=g;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}dd(n,J[d+(j<<2)>>2],g+8|0);h=J[g+12>>2];d=h>>31;i=J[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=J[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+8>>2]=J[a+92>>2];break b}f=J[a+92>>2];k=f>>31;i=ok(nk(f,k,i,i>>31),ja,e,d);J[g+8>>2]=i;d=ok(nk(f,k,h,h>>31),ja,e,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){J[g+16>>2]=f-d;break b}J[g+16>>2]=d-f}d=je(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=J[h+4>>2];J[g+40>>2]=J[h>>2];J[g+44>>2]=i;J[g+28>>2]=d;J[g+24>>2]=f;Jd(g+32|0,m,g+24|0,g+40|0);d=c+e|0;J[d>>2]=J[g+32>>2];J[d+4>>2]=J[g+36>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}fa=g+48|0;return 1}yc();C()}function Xe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=fa-16|0;fa=f;c=J[a+4>>2];J[a+40>>2]=J[a>>2];J[a+44>>2]=c;c=J[a+36>>2];J[a+72>>2]=J[a+32>>2];J[a+76>>2]=c;d=J[a+28>>2];c=a- -64|0;J[c>>2]=J[a+24>>2];J[c+4>>2]=d;c=J[a+20>>2];J[a+56>>2]=J[a+16>>2];J[a+60>>2]=c;c=J[a+12>>2];J[a+48>>2]=J[a+8>>2];J[a+52>>2]=c;a:{b:{if(rg(a+40|0,1,f+8|0)){c=J[a+44>>2];J[a>>2]=J[a+40>>2];J[a+4>>2]=c;c=J[a+76>>2];J[a+32>>2]=J[a+72>>2];J[a+36>>2]=c;c=J[a+68>>2];J[a+24>>2]=J[a+64>>2];J[a+28>>2]=c;d=J[a+60>>2];h=d;c=J[a+56>>2];J[a+16>>2]=c;J[a+20>>2]=d;e=J[a+52>>2];d=J[a+48>>2];J[a+8>>2]=d;J[a+12>>2]=e;i=d-c|0;g=J[f+12>>2];e=e-((c>>>0>d>>>0)+h|0)|0;d=J[f+8>>2];if((g|0)==(e|0)&i>>>0>=d>>>0|e>>>0>g>>>0){break b}}c=0;break a}e=h+g|0;c=c+d|0;e=c>>>0>>0?e+1|0:e;J[a+16>>2]=c;J[a+20>>2]=e;c:{if(L[a+38>>1]<=513){c=J[a+4>>2];J[a+96>>2]=J[a>>2];J[a+100>>2]=c;c=J[a+36>>2];J[a+128>>2]=J[a+32>>2];J[a+132>>2]=c;c=J[a+28>>2];J[a+120>>2]=J[a+24>>2];J[a+124>>2]=c;c=J[a+20>>2];J[a+112>>2]=J[a+16>>2];J[a+116>>2]=c;c=J[a+12>>2];J[a+104>>2]=J[a+8>>2];J[a+108>>2]=c;d:{if(rg(a+96|0,1,f+8|0)){c=J[a+100>>2];J[a>>2]=J[a+96>>2];J[a+4>>2]=c;c=J[a+132>>2];J[a+32>>2]=J[a+128>>2];J[a+36>>2]=c;c=J[a+124>>2];J[a+24>>2]=J[a+120>>2];J[a+28>>2]=c;d=J[a+116>>2];h=d;c=J[a+112>>2];J[a+16>>2]=c;J[a+20>>2]=d;e=J[a+108>>2];d=J[a+104>>2];J[a+8>>2]=d;J[a+12>>2]=e;i=d-c|0;g=J[f+12>>2];e=e-((c>>>0>d>>>0)+h|0)|0;d=J[f+8>>2];if((g|0)==(e|0)&i>>>0>=d>>>0|e>>>0>g>>>0){break d}}c=0;break a}e=h+g|0;c=c+d|0;e=c>>>0>>0?e+1|0:e;J[a+16>>2]=c;J[a+20>>2]=e;break c}c=0;if(!he(a+80|0,a)){break a}}c=0;if(!cf(a)){break a}c=J[a+4>>2];J[b>>2]=J[a>>2];J[b+4>>2]=c;c=J[a+36>>2];J[b+32>>2]=J[a+32>>2];J[b+36>>2]=c;c=J[a+28>>2];J[b+24>>2]=J[a+24>>2];J[b+28>>2]=c;c=J[a+20>>2];J[b+16>>2]=J[a+16>>2];J[b+20>>2]=c;c=J[a+12>>2];J[b+8>>2]=J[a+8>>2];J[b+12>>2]=c;c=1}fa=f+16|0;return c}function ab(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!J[a+64>>2]){c=Cj(32);J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;d=J[a+64>>2];J[a+64>>2]=c;if(d){c=J[d>>2];if(c){J[d+4>>2]=c;xj(c)}xj(d);c=J[a+64>>2]}J[a>>2]=c;d=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=d;d=J[c+24>>2];c=J[c+28>>2];J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+16>>2]=d;J[a+20>>2]=c}a:{H[a+24|0]=K[b+24|0];J[a+28>>2]=J[b+28>>2];H[a+32|0]=K[b+32|0];c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;J[a+56>>2]=J[b+56>>2];c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;J[a+60>>2]=J[b+60>>2];c=J[b>>2];b:{if(!c){J[a>>2]=0;d=1;break b}g=J[a>>2];d=0;if(!g){break b}d=J[c>>2];c=J[c+4>>2]-d|0;og(g,d,c,0);d=1}c:{if(!d){break c}H[a+84|0]=K[b+84|0];J[a+80>>2]=J[b+80>>2];if((a|0)!=(b|0)){bb(a+68|0,J[b+68>>2],J[b+72>>2])}f=J[b+88>>2];d:{if(f){e=Cj(40);b=J[f>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e>>2]=b;c=J[f+12>>2];b=J[f+8>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break a}b=Cj(c);J[e+12>>2]=b;J[e+8>>2]=b;J[e+16>>2]=b+c;c=J[f+8>>2];h=J[f+12>>2];e:{if((c|0)==(h|0)){break e}g=(c^-1)+h|0;d=h-c&7;if(d){while(1){H[b|0]=K[c|0];b=b+1|0;c=c+1|0;i=i+1|0;if((d|0)!=(i|0)){continue}break}}if(g>>>0<7){break e}while(1){H[b|0]=K[c|0];H[b+1|0]=K[c+1|0];H[b+2|0]=K[c+2|0];H[b+3|0]=K[c+3|0];H[b+4|0]=K[c+4|0];H[b+5|0]=K[c+5|0];H[b+6|0]=K[c+6|0];H[b+7|0]=K[c+7|0];b=b+8|0;c=c+8|0;if((h|0)!=(c|0)){continue}break}}J[e+12>>2]=b}b=J[f+36>>2];J[e+32>>2]=J[f+32>>2];J[e+36>>2]=b;b=J[f+28>>2];J[e+24>>2]=J[f+24>>2];J[e+28>>2]=b;b=J[a+88>>2];J[a+88>>2]=e;if(b){break d}break c}b=J[a+88>>2];J[a+88>>2]=0;if(!b){break c}}a=J[b+8>>2];if(a){J[b+12>>2]=a;xj(a)}xj(b)}return}Ia();C()}function Yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=fa-32|0;fa=f;e=f+8|0;c=fa-80|0;fa=c;a=J[b+36>>2];J[c+72>>2]=J[b+32>>2];J[c+76>>2]=a;d=J[b+28>>2];a=c- -64|0;J[a>>2]=J[b+24>>2];J[a+4>>2]=d;a=J[b+20>>2];J[c+56>>2]=J[b+16>>2];J[c+60>>2]=a;a=J[b+12>>2];J[c+48>>2]=J[b+8>>2];J[c+52>>2]=a;a=J[b+4>>2];J[c+40>>2]=J[b>>2];J[c+44>>2]=a;cg(c+8|0,c+40|0,c+24|0);a=J[c+8>>2];a:{if(a){J[e>>2]=a;a=e+4|0;if(H[c+23|0]>=0){b=c+8|4;e=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=e;J[a+8>>2]=J[b+8>>2];break a}Gj(a,J[c+12>>2],J[c+16>>2]);if(H[c+23|0]>=0){break a}xj(J[c+12>>2]);break a}if(H[c+23|0]<0){xj(J[c+12>>2])}a=K[c+31|0];if(a>>>0>=2){b=Cj(32);H[b+26|0]=0;a=K[1512]|K[1513]<<8;H[b+24|0]=a;H[b+25|0]=a>>>8;a=K[1508]|K[1509]<<8|(K[1510]<<16|K[1511]<<24);d=K[1504]|K[1505]<<8|(K[1506]<<16|K[1507]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=a;H[b+21|0]=a>>>8;H[b+22|0]=a>>>16;H[b+23|0]=a>>>24;a=K[1500]|K[1501]<<8|(K[1502]<<16|K[1503]<<24);d=K[1496]|K[1497]<<8|(K[1498]<<16|K[1499]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=a;H[b+13|0]=a>>>8;H[b+14|0]=a>>>16;H[b+15|0]=a>>>24;a=K[1492]|K[1493]<<8|(K[1494]<<16|K[1495]<<24);d=K[1488]|K[1489]<<8|(K[1490]<<16|K[1491]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=a;H[b+5|0]=a>>>8;H[b+6|0]=a>>>16;H[b+7|0]=a>>>24;J[c+8>>2]=-1;a=c+8|4;Gj(a,b,26);d=H[c+23|0];J[e>>2]=J[c+8>>2];e=e+4|0;if((d|0)>=0){d=J[a+4>>2];J[e>>2]=J[a>>2];J[e+4>>2]=d;J[e+8>>2]=J[a+8>>2];xj(b);break a}Gj(e,J[c+12>>2],J[c+16>>2]);if(H[c+23|0]<0){xj(J[c+12>>2])}xj(b);break a}J[e>>2]=0;J[e+4>>2]=0;J[e+16>>2]=a;J[e+8>>2]=0;J[e+12>>2]=0}fa=c+80|0;a=J[f+24>>2];if(H[f+23|0]<0){xj(J[f+12>>2])}fa=f+32|0;return a|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=fa-16|0;fa=k;J[k+8>>2]=c;h=J[a+12>>2];d=J[a+8>>2];g=h-d>>2;a:{if((g|0)>(b|0)){break a}e=b+1|0;if(e>>>0>g>>>0){l=e-g|0;f=J[a+16>>2];d=J[a+12>>2];if(l>>>0<=f-d>>2>>>0){if(l){e=d;d=l<<2;d=Xi(e,0,d)+d|0}J[a+12>>2]=d;break a}b:{c:{d:{m=J[a+8>>2];g=d-m>>2;i=g+l|0;if(i>>>0<1073741824){e=f-m|0;f=e>>>1|0;e=e>>>0>=2147483644?1073741823:f>>>0>i>>>0?f:i;if(e){if(e>>>0>=1073741824){break d}j=Cj(e<<2)}h=(g<<2)+j|0;f=l<<2;i=Xi(h,0,f);g=f+i|0;e=(e<<2)+j|0;if((d|0)==(m|0)){break c}while(1){d=d-4|0;f=J[d>>2];J[d>>2]=0;h=h-4|0;J[h>>2]=f;if((d|0)!=(m|0)){continue}break}J[a+16>>2]=e;e=J[a+12>>2];J[a+12>>2]=g;d=J[a+8>>2];J[a+8>>2]=h;if((d|0)==(e|0)){break b}while(1){e=e-4|0;f=J[e>>2];J[e>>2]=0;if(f){pb(f)}if((d|0)!=(e|0)){continue}break}break b}Ia();C()}Va();C()}J[a+16>>2]=e;J[a+12>>2]=g;J[a+8>>2]=i}if(d){xj(d)}break a}if(e>>>0>=g>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(h|0)){while(1){h=h-4|0;c=J[h>>2];J[h>>2]=0;if(c){pb(c)}if((d|0)!=(h|0)){continue}break}c=J[k+8>>2]}J[a+12>>2]=d}e:{f:{d=J[c+56>>2];g:{if((d|0)>4){break g}j=P(d,12)+a|0;d=J[j+24>>2];if((d|0)!=J[j+28>>2]){J[d>>2]=b;J[j+24>>2]=d+4;break g}i=J[j+20>>2];g=d-i|0;f=g>>2;e=f+1|0;if(e>>>0>=1073741824){break f}d=g>>>1|0;e=g>>>0>=2147483644?1073741823:d>>>0>e>>>0?d:e;if(e){if(e>>>0>=1073741824){break e}d=Cj(e<<2)}else{d=0}f=d+(f<<2)|0;J[f>>2]=b;d=Wi(d,i,g);J[j+20>>2]=d;J[j+24>>2]=f+4;J[j+28>>2]=d+(e<<2);if(!i){break g}xj(i)}J[c+60>>2]=b;a=J[a+8>>2];J[k+8>>2]=0;a=a+(b<<2)|0;b=J[a>>2];J[a>>2]=c;if(b){pb(b)}a=J[k+8>>2];J[k+8>>2]=0;if(a){pb(a)}fa=k+16|0;return}Ia();C()}Va();C()}function yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c;d=a;a:{if(J[a+12>>2]==(b|0)){break a}a=b;b=J[d+4>>2];e=J[d>>2];if((b|0)!=(e|0)){while(1){c=b-12|0;if(H[b-1|0]<0){xj(J[c>>2])}b=c;if((e|0)!=(b|0)){continue}break}}J[d+12>>2]=a;J[d+4>>2]=e;c=J[a>>2];j=a+4|0;if((c|0)==(j|0)){break a}while(1){a=J[d+4>>2];b:{if((a|0)!=J[d+8>>2]){c:{if(H[c+27|0]>=0){b=J[c+20>>2];J[a>>2]=J[c+16>>2];J[a+4>>2]=b;J[a+8>>2]=J[c+24>>2];break c}Gj(a,J[c+16>>2],J[c+20>>2])}J[d+4>>2]=a+12;break b}g=0;d:{e:{f:{a=J[d+4>>2];e=J[d>>2];f=(a-e|0)/12|0;b=f+1|0;if(b>>>0<357913942){h=(J[d+8>>2]-e|0)/12|0;k=h<<1;b=h>>>0>=178956970?357913941:b>>>0>>0?k:b;if(b){if(b>>>0>=357913942){break f}g=Cj(P(b,12))}h=P(b,12);b=P(f,12)+g|0;g:{if(H[c+27|0]>=0){f=J[c+20>>2];J[b>>2]=J[c+16>>2];J[b+4>>2]=f;J[b+8>>2]=J[c+24>>2];break g}Gj(b,J[c+16>>2],J[c+20>>2]);e=J[d>>2];a=J[d+4>>2]}g=g+h|0;f=b+12|0;if((a|0)==(e|0)){break e}while(1){a=a-12|0;h=J[a+4>>2];b=b-12|0;J[b>>2]=J[a>>2];J[b+4>>2]=h;J[b+8>>2]=J[a+8>>2];J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;if((a|0)!=(e|0)){continue}break}J[d+8>>2]=g;a=J[d+4>>2];J[d+4>>2]=f;e=J[d>>2];J[d>>2]=b;if((a|0)==(e|0)){break d}while(1){b=a-12|0;if(H[a-1|0]<0){xj(J[b>>2])}a=b;if((e|0)!=(b|0)){continue}break}break d}Ia();C()}Va();C()}J[d+8>>2]=g;J[d+4>>2]=f;J[d>>2]=b}if(e){xj(e)}}b=J[c+4>>2];h:{if(b){while(1){a=b;b=J[b>>2];if(b){continue}break h}}while(1){a=J[c+8>>2];b=J[a>>2]!=(c|0);c=a;if(b){continue}break}}c=a;if((j|0)!=(a|0)){continue}break}}a=0;i:{if((i|0)<0){break i}b=J[d>>2];if((J[d+4>>2]-b|0)/12>>>0<=i>>>0){break i}a=b+P(i,12)|0;a=H[a+11|0]<0?J[a>>2]:a}return a|0}function Ze(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,n=0;i=fa-16|0;fa=i;J[i>>2]=b;f=-1;a:{if((b|0)==-1){J[i+4>>2]=-1;break a}f=b+1|0;J[i+4>>2]=(f>>>0)%3|0?f:b-2|0;if((b>>>0)%3|0){f=b-1|0;break a}f=b+2|0}J[i+8>>2]=f;n=(b>>>0)/3|0;b:{c:{d:{while(1){e:{f:{j=J[(l<<2)+i>>2];if((j|0)!=-1){f=J[J[J[a+8>>2]+12>>2]+(j<<2)>>2];if((f|0)!=-1){break f}}f=0;g=J[a+216>>2];if((g|0)==J[a+220>>2]){break e}while(1){g=P(f,144)+g|0;d=J[g+136>>2];c=J[g+140>>2];g:{if(d>>>0>>0){J[d>>2]=j;J[g+136>>2]=d+4;break g}e=d;d=J[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break d}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=Cj(h<<2)}else{c=0}e=m+c|0;J[e>>2]=j;c=Wi(c,d,k);J[g+132>>2]=c;J[g+136>>2]=e+4;J[g+140>>2]=c+(h<<2);if(!d){break g}xj(d)}f=f+1|0;g=J[a+216>>2];if(f>>>0<(J[a+220>>2]-g|0)/144>>>0){continue}break}break e}if((b|0)==-1|(f>>>0)/3>>>0>>0){break e}f=0;if(J[a+220>>2]==J[a+216>>2]){break e}while(1){h:{if(!je(J[a+368>>2]+(f<<4)|0)){break h}g=J[a+216>>2]+P(f,144)|0;d=J[g+136>>2];c=J[g+140>>2];if(d>>>0>>0){J[d>>2]=j;J[g+136>>2]=d+4;break h}e=d;d=J[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break b}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=Cj(h<<2)}else{c=0}e=m+c|0;J[e>>2]=j;c=Wi(c,d,k);J[g+132>>2]=c;J[g+136>>2]=e+4;J[g+140>>2]=c+(h<<2);if(!d){break h}xj(d)}f=f+1|0;if(f>>>0<(J[a+220>>2]-J[a+216>>2]|0)/144>>>0){continue}break}}l=l+1|0;if((l|0)!=3){continue}break}fa=i+16|0;return 1}Ia();C()}Va();C()}Ia();C()}function Ye(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=fa-16|0;fa=h;J[h>>2]=b;c=-1;a:{if((b|0)==-1){J[h+4>>2]=-1;break a}c=b+1|0;J[h+4>>2]=(c>>>0)%3|0?c:b-2|0;if((b>>>0)%3|0){c=b-1|0;break a}c=b+2|0}J[h+8>>2]=c;b:{c:{while(1){i=J[(k<<2)+h>>2];d:{if(!((i|0)==-1|J[J[J[a+8>>2]+12>>2]+(i<<2)>>2]==-1)){b=0;if(J[a+220>>2]==J[a+216>>2]){break d}while(1){e:{f:{if(!je(J[a+368>>2]+(b<<4)|0)){break f}c=J[a+216>>2]+P(b,144)|0;e=J[c+136>>2];d=J[c+140>>2];if(e>>>0>>0){J[e>>2]=i;J[c+136>>2]=e+4;break f}f=e;e=J[c+132>>2];j=f-e|0;f=j>>2;g=f+1|0;if(g>>>0>=1073741824){break e}l=f<<2;d=d-e|0;f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(g){if(g>>>0>=1073741824){break b}d=Cj(g<<2)}else{d=0}f=l+d|0;J[f>>2]=i;d=Wi(d,e,j);J[c+132>>2]=d;J[c+136>>2]=f+4;J[c+140>>2]=d+(g<<2);if(!e){break f}xj(e)}b=b+1|0;if(b>>>0<(J[a+220>>2]-J[a+216>>2]|0)/144>>>0){continue}break d}break}Ia();C()}b=0;c=J[a+216>>2];if((c|0)==J[a+220>>2]){break d}while(1){c=P(b,144)+c|0;e=J[c+136>>2];d=J[c+140>>2];g:{if(e>>>0>>0){J[e>>2]=i;J[c+136>>2]=e+4;break g}f=e;e=J[c+132>>2];j=f-e|0;f=j>>2;g=f+1|0;if(g>>>0>=1073741824){break c}l=f<<2;d=d-e|0;f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(g){if(g>>>0>=1073741824){break b}d=Cj(g<<2)}else{d=0}f=l+d|0;J[f>>2]=i;d=Wi(d,e,j);J[c+132>>2]=d;J[c+136>>2]=f+4;J[c+140>>2]=d+(g<<2);if(!e){break g}xj(e)}b=b+1|0;c=J[a+216>>2];if(b>>>0<(J[a+220>>2]-c|0)/144>>>0){continue}break}}k=k+1|0;if((k|0)!=3){continue}break}fa=h+16|0;return 1}Ia();C()}Va();C()}function Sh(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,l=0,m=0,n=0,o=0;m=fa-16|0;fa=m;l=J[b+80>>2];e=K[c+24|0];a=P(l,e);a:{b:{c:{d:{b=J[c+28>>2];if(!(!K[c+84|0]|(b|0)!=1&(b|0)!=2)){b=J[c+48>>2];c=J[J[c>>2]>>2];J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;if(a){if((a|0)<0){break d}f=Cj(a);h=Vi(f,b+c|0,a)+a|0}a=J[d>>2];if(a){J[d+4>>2]=a;xj(a)}J[d+8>>2]=h;J[d+4>>2]=h;J[d>>2]=f;b=1;break a}if(e){f=Cj(e);Xi(f,0,e)}e:{i=J[d+4>>2];b=J[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=J[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=Xi(i,0,k)+k|0,J[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=Cj(i);Xi(j+g|0,0,k);g=Wi(j,b,g);J[d+8>>2]=g+i;J[d+4>>2]=a+g;J[d>>2]=g;if(!b){break f}xj(b);break f}if(a>>>0>=g>>>0){break f}J[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!xg(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!xg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){H[J[d>>2]+h|0]=K[a+f|0];H[(J[d>>2]+h|0)+1|0]=K[(a|1)+f|0];H[(J[d>>2]+h|0)+2|0]=K[(a|2)+f|0];H[(J[d>>2]+h|0)+3|0]=K[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){H[J[d>>2]+h|0]=K[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}Ia();C()}Ia();C()}if(!f){break a}}xj(f)}fa=m+16|0;return b&1}function Rh(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,l=0,m=0,n=0,o=0;m=fa-16|0;fa=m;l=J[b+80>>2];e=K[c+24|0];a=P(l,e);a:{b:{c:{d:{b=J[c+28>>2];if(!(!K[c+84|0]|(b|0)!=1&(b|0)!=2)){b=J[c+48>>2];c=J[J[c>>2]>>2];J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;if(a){if((a|0)<0){break d}f=Cj(a);h=Vi(f,b+c|0,a)+a|0}a=J[d>>2];if(a){J[d+4>>2]=a;xj(a)}J[d+8>>2]=h;J[d+4>>2]=h;J[d>>2]=f;b=1;break a}if(e){f=Cj(e);Xi(f,0,e)}e:{i=J[d+4>>2];b=J[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=J[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=Xi(i,0,k)+k|0,J[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=Cj(i);Xi(j+g|0,0,k);g=Wi(j,b,g);J[d+8>>2]=g+i;J[d+4>>2]=a+g;J[d>>2]=g;if(!b){break f}xj(b);break f}if(a>>>0>=g>>>0){break f}J[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!wg(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!wg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){H[J[d>>2]+h|0]=K[a+f|0];H[(J[d>>2]+h|0)+1|0]=K[(a|1)+f|0];H[(J[d>>2]+h|0)+2|0]=K[(a|2)+f|0];H[(J[d>>2]+h|0)+3|0]=K[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){H[J[d>>2]+h|0]=K[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}Ia();C()}Ia();C()}if(!f){break a}}xj(f)}fa=m+16|0;return b&1}function Td(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=J[b+16>>2];h=J[c+4>>2]-k|0;e=J[c>>2]-k|0;J[c>>2]=e;f=h;J[c+4>>2]=f;l=J[b+16>>2];f=f>>31;g=(h^f)-f|0;f=e>>31;m=l>>>0>=g+((f^e)-f|0)>>>0;a:{if(m){f=h;break a}b:{c:{if((e|0)>=0){g=1;j=1;if((h|0)>=0){break b}i=1;g=-1;j=-1;if(e){break c}break b}i=-1;g=-1;j=-1;if((h|0)<=0){break b}}g=(h|0)<=0?-1:1;j=i}n=P(j,l);f=(e<<1)-n|0;i=(P(g,j)|0)>=0;e=P(g,l);f=((i?0-f|0:f)+e|0)/2|0;J[c+4>>2]=f;e=(h<<1)-e|0;e=((i?0-e|0:e)+n|0)/2|0;J[c>>2]=e}d:{e:{f:{g:{h:{i:{j:{if(e){if((e|0)<0){break j}if((f|0)>=0){break i}break f}if(f){break h}j=1;g=0;f=0;i=0;break d}j=1;if((f|0)>0){break g}i=(f|0)>0?3:0;g=f;f=e;break d}g=0-f|0;f=0-e|0;i=2;break e}if((f|0)<=0){break f}}f=0-f|0;g=e;i=3;break e}g=0-e|0;i=1}J[c>>2]=f;J[c+4>>2]=g;j=0}e=J[d>>2]+f|0;h=J[b+16>>2];k:{if((e|0)>(h|0)){e=e-J[b+4>>2]|0;break k}if((0-h|0)<=(e|0)){break k}e=J[b+4>>2]+e|0}c=J[d+4>>2]+g|0;l:{if((h|0)<(c|0)){c=c-J[b+4>>2]|0;break l}if((0-h|0)<=(c|0)){break l}c=J[b+4>>2]+c|0}m:{if(j){b=c;break m}b=c;n:{o:{p:{d=4-i|0;switch((d>>>0<4?d:0-i|0)-1|0){case 2:break n;case 1:break o;case 0:break p;default:break m}}b=0-e|0;e=c;break m}b=0-c|0;e=0-e|0;break m}b=e;e=0-c|0}q:{if(m){c=b;break q}r:{s:{if((e|0)>=0){c=1;f=1;if((b|0)>=0){break r}d=1;c=-1;f=-1;if(e){break s}break r}d=-1;c=-1;f=-1;if((b|0)<=0){break r}}c=(b|0)<=0?-1:1;f=d}d=e<<1;e=P(f,h);d=d-e|0;f=(P(c,f)|0)>=0;g=f?0-d|0:d;d=P(c,h);c=(g+d|0)/2|0;b=(b<<1)-d|0;e=(e+(f?0-b|0:b)|0)/2|0}b=a;J[b>>2]=e+k;J[b+4>>2]=c+k}function Pc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=fa-32|0;fa=j;J[j+28>>2]=0;a:{b:{if(L[b+38>>1]<=513){c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;h=J[b+12>>2];if(M[b+8>>2]>>0&(h|0)<=(c|0)|(c|0)>(h|0)){break a}d=d+J[b>>2]|0;f=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;break b}if(!Gc(1,j+28|0,b)){break a}f=J[j+28>>2]}if(!f){break a}c=J[J[a+48>>2]+64>>2];if(J[c+4>>2]-J[c>>2]>>2>>>0>>0){break a}Hc(a+76|0,f);c=j+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c:{if(!he(c,b)){break c}h=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^h;if(e&1){d=J[g>>2]&(d^-1)}else{d=d|J[g>>2]}h=e^1;J[g>>2]=d;i=i+1|0;if((f|0)!=(i|0)){continue}break}c=J[b+8>>2];e=J[b+12>>2];g=e;e=J[b+20>>2];h=e;f=J[b+16>>2];d=f+4|0;e=d>>>0<4?e+1|0:e;i=d;if(d>>>0>c>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break c}l=J[b>>2];d=l+f|0;k=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=e;d=c;c=h;e=f+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=i+l|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;if((d|0)<(k|0)){break c}J[a+16>>2]=d;J[a+12>>2]=k;c=(d>>31)-((k>>31)+(d>>>0>>0)|0)|0;b=d-k|0;if(!c&b>>>0>2147483646|c){break c}m=1;c=b+1|0;J[a+20>>2]=c;b=c>>>1|0;J[a+24>>2]=b;J[a+28>>2]=0-b;if(c&1){break c}J[a+24>>2]=b-1}}fa=j+32|0;return m|0}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=fa-32|0;fa=j;J[j+28>>2]=0;a:{b:{if(L[b+38>>1]<=513){c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;h=J[b+12>>2];if(M[b+8>>2]>>0&(h|0)<=(c|0)|(c|0)>(h|0)){break a}d=d+J[b>>2]|0;f=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;break b}if(!Gc(1,j+28|0,b)){break a}f=J[j+28>>2]}if(!f){break a}c=J[a+48>>2];if(J[c+4>>2]-J[c>>2]>>2>>>0>>0){break a}Hc(a+76|0,f);c=j+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c:{if(!he(c,b)){break c}h=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^h;if(e&1){d=J[g>>2]&(d^-1)}else{d=d|J[g>>2]}h=e^1;J[g>>2]=d;i=i+1|0;if((f|0)!=(i|0)){continue}break}c=J[b+8>>2];e=J[b+12>>2];g=e;e=J[b+20>>2];h=e;f=J[b+16>>2];d=f+4|0;e=d>>>0<4?e+1|0:e;i=d;if(d>>>0>c>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break c}l=J[b>>2];d=l+f|0;k=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=e;d=c;c=h;e=f+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=i+l|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;if((d|0)<(k|0)){break c}J[a+16>>2]=d;J[a+12>>2]=k;c=(d>>31)-((k>>31)+(d>>>0>>0)|0)|0;b=d-k|0;if(!c&b>>>0>2147483646|c){break c}m=1;c=b+1|0;J[a+20>>2]=c;b=c>>>1|0;J[a+24>>2]=b;J[a+28>>2]=0-b;if(c&1){break c}J[a+24>>2]=b-1}}fa=j+32|0;return m|0}function xd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;J[a+8>>2]=e;m=a+32|0;h=J[m>>2];g=J[a+36>>2]-h>>2;a:{if(g>>>0>>0){La(m,e-g|0);f=J[a+8>>2];break a}f=e;if(f>>>0>=g>>>0){break a}J[a+36>>2]=h+(e<<2);f=e}g=e>>>0>1073741823?-1:e<<2;n=Xi(Cj(g),0,g);b:{if((f|0)<=0){break b}h=J[a+32>>2];while(1){f=i<<2;g=J[f+n>>2];j=J[a+16>>2];c:{if((g|0)>(j|0)){J[f+h>>2]=j;break c}f=f+h|0;j=J[a+12>>2];if((j|0)>(g|0)){J[f>>2]=j;break c}J[f>>2]=g}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}if((f|0)<=0){break b}i=0;while(1){g=i<<2;f=g+c|0;g=J[b+g>>2]+J[g+h>>2]|0;J[f>>2]=g;d:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break d}g=g+J[a+20>>2]|0}J[f>>2]=g}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}if(!((d|0)<=(e|0)|(f|0)<=0)){p=0-e<<2;g=e;while(1){e:{if((f|0)<=0){break e}l=g<<2;o=l+c|0;q=o+p|0;j=J[m>>2];i=0;while(1){f=i<<2;h=J[f+q>>2];k=J[a+16>>2];f:{if((h|0)>(k|0)){J[f+j>>2]=k;break f}f=f+j|0;k=J[a+12>>2];if((k|0)>(h|0)){J[f>>2]=k;break f}J[f>>2]=h}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}i=0;if((f|0)<=0){break e}l=b+l|0;while(1){h=i<<2;f=h+o|0;h=J[h+l>>2]+J[h+j>>2]|0;J[f>>2]=h;g:{if((h|0)>J[a+16>>2]){h=h-J[a+20>>2]|0}else{if((h|0)>=J[a+12>>2]){break g}h=h+J[a+20>>2]|0}J[f>>2]=h}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}g=e+g|0;if((g|0)<(d|0)){continue}break}}xj(n);return 1}function lf(a,b){var c=0,d=0,e=0,f=0,g=0;d=-1;f=-1;a:{if((b|0)==-1){break a}c=b+1|0;d=(c>>>0)%3|0?c:b-2|0;f=b-1|0;if((b>>>0)%3|0){break a}f=b+2|0}b:{c:{d:{e:{f:{g:{e=J[a+184>>2];switch(e|0){case 7:break d;case 3:break e;case 5:break f;case 0:case 1:break g;default:break b}}g=J[a+148>>2];c=-1;e=1;d=((d|0)!=-1?J[J[g>>2]+(d<<2)>>2]:c)<<2;c=J[a+156>>2];d=d+c|0;J[d>>2]=J[d>>2]+1;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=J[a+148>>2];c=J[a+156>>2];e=c+(((b|0)==-1?-1:J[J[g>>2]+(b<<2)>>2])<<2)|0;J[e>>2]=J[e>>2]+1;d=(((d|0)==-1?-1:J[J[g>>2]+(d<<2)>>2])<<2)+c|0;J[d>>2]=J[d>>2]+1;e=2;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=J[a+148>>2];c=J[a+156>>2];e=c+(((b|0)==-1?-1:J[J[g>>2]+(b<<2)>>2])<<2)|0;J[e>>2]=J[e>>2]+1;d=(((d|0)==-1?-1:J[J[g>>2]+(d<<2)>>2])<<2)+c|0;J[d>>2]=J[d>>2]+2;e=1;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=J[a+148>>2];c=J[a+156>>2];e=c+(((b|0)==-1?-1:J[J[g>>2]+(b<<2)>>2])<<2)|0;J[e>>2]=J[e>>2]+2;d=(((d|0)==-1?-1:J[J[g>>2]+(d<<2)>>2])<<2)+c|0;J[d>>2]=J[d>>2]+2;e=2;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0}J[c>>2]=J[c>>2]+e;e=J[a+184>>2]}h:{switch(e|0){case 0:case 5:f=J[a+156>>2];c=-1;i:{if((b|0)==-1){break i}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;c=-1;if((b|0)==-1){break i}c=J[J[J[a+148>>2]>>2]+(b<<2)>>2]}if(J[f+(c<<2)>>2]<=5){J[a+188>>2]=5;return}J[a+188>>2]=0;return;default:break h}}J[a+188>>2]=-1} -function Ph(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,l=0,m=0,n=0,o=0;j=J[b+80>>2];b=K[c+24|0];g=P(j,b);a:{if(!b){break a}h=b<<2;f=Cj(h);a=f;k=b&7;if(k){while(1){J[a>>2]=-1073741824;a=a+4|0;e=e+1|0;if((k|0)!=(e|0)){continue}break}}if((b-1&1073741823)>>>0<7){break a}e=f+h|0;while(1){J[a+24>>2]=-1073741824;J[a+28>>2]=-1073741824;J[a+16>>2]=-1073741824;J[a+20>>2]=-1073741824;J[a+8>>2]=-1073741824;J[a+12>>2]=-1073741824;J[a>>2]=-1073741824;J[a+4>>2]=-1073741824;a=a+32|0;if((e|0)!=(a|0)){continue}break}}e=J[d>>2];a=J[d+4>>2]-e>>2;b:{if(a>>>0>>0){La(d,g-a|0);break b}if(a>>>0<=g>>>0){break b}J[d+4>>2]=e+(g<<2)}c:{d:{e:{if(!j){i=1;break e}if(!b){a=0;while(1){if(!Rc(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],f)){break e}a=a+1|0;i=j>>>0<=a>>>0;if((a|0)!=(j|0)){continue}break}break e}n=b&252;k=b&3;o=b>>>0<4;e=0;b=0;while(1){if(!Rc(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],f)){break e}m=J[d>>2];i=0;a=0;l=0;if(!o){while(1){g=(e<<2)+m|0;h=a<<2;N[g>>2]=N[h+f>>2];N[g+4>>2]=N[(h|4)+f>>2];N[g+8>>2]=N[(h|8)+f>>2];N[g+12>>2]=N[(h|12)+f>>2];a=a+4|0;e=e+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(k){while(1){N[(e<<2)+m>>2]=N[(a<<2)+f>>2];a=a+1|0;e=e+1|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}}b=b+1|0;i=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break d}if(!f){break c}}xj(f)}return i|0}function ec(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=fa-16|0;fa=e;h=1;i=ka[J[J[a>>2]+24>>2]](a)|0;a:{if((i|0)<=0){break a}l=a+48|0;h=0;while(1){b:{c:{if(!J[(ka[J[J[a>>2]+28>>2]](a)|0)+40>>2]){break c}j=f<<2;g=J[j+J[a+36>>2]>>2];b=J[g+8>>2];k=Ub(g);if(!k){break c}g=J[(ka[J[J[a>>2]+28>>2]](a)|0)+40>>2];J[e+12>>2]=J[b+56>>2];b=Cj(32);J[e>>2]=b;J[e+4>>2]=24;J[e+8>>2]=-2147483616;c=K[1229]|K[1230]<<8|(K[1231]<<16|K[1232]<<24);d=K[1225]|K[1226]<<8|(K[1227]<<16|K[1228]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1221]|K[1222]<<8|(K[1223]<<16|K[1224]<<24);d=K[1217]|K[1218]<<8|(K[1219]<<16|K[1220]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1213]|K[1214]<<8|(K[1215]<<16|K[1216]<<24);d=K[1209]|K[1210]<<8|(K[1211]<<16|K[1212]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+24|0]=0;b=Jb(g,e+12|0,e);if(H[e+11|0]<0){xj(J[e>>2])}if(!b){break c}ab(J[J[J[a+36>>2]+j>>2]+8>>2],k);break b}b=J[J[a+36>>2]+(f<<2)>>2];if(!(ka[J[J[b>>2]+24>>2]](b,l)|0)){break a}}f=f+1|0;h=(i|0)<=(f|0);if((f|0)!=(i|0)){continue}break}}fa=e+16|0;return h|0}function Vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=fa-16|0;fa=k;c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=J[b+12>>2];a:{if(M[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){break a}d=d+J[b>>2]|0;h=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;if((h|0)<0){break a}Hc(a+76|0,h);c=k;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;b:{if(!he(c,b)){break b}if(h){g=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^g;if(e&1){d=J[f>>2]&(d^-1)}else{d=d|J[f>>2]}g=e^1;J[f>>2]=d;i=i+1|0;if((h|0)!=(i|0)){continue}break}}i=0;c=J[b+8>>2];e=J[b+12>>2];f=e;e=J[b+20>>2];g=e;l=J[b+16>>2];d=l+4|0;e=d>>>0<4?e+1|0:e;h=d;if(d>>>0>c>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break b}m=J[b>>2];d=m+l|0;j=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=h;J[b+20>>2]=e;d=c;c=g;e=l+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break b}d=h+m|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;if((d|0)<(j|0)){break b}J[a+16>>2]=d;J[a+12>>2]=j;c=(d>>31)-((j>>31)+(d>>>0>>0)|0)|0;b=d-j|0;if(!c&b>>>0>2147483646|c){break b}i=1;c=b+1|0;J[a+20>>2]=c;b=c>>>1|0;J[a+24>>2]=b;J[a+28>>2]=0-b;if(c&1){break b}J[a+24>>2]=b-1}}fa=k+16|0;return i|0}function Vh(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,l=0,m=0,n=0,o=0,p=0;a=0;k=fa-16|0;fa=k;j=J[b+80>>2];e=K[c+24|0];b=P(j,e);a:{b:{c:{d:{f=J[c+28>>2];if(!(!K[c+84|0]|(f|0)!=5&(f|0)!=6)){e=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=Cj(b);g=Vi(a,c+e|0,b)+b|0}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=a;h=1;break a}if(e){f=e<<2;a=Cj(f);Xi(a,0,f)}i=J[d>>2];f=J[d+4>>2]-i>>2;e:{if(f>>>0>>0){La(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}J[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!Cg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!Cg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break c}n=J[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;J[f>>2]=J[i+a>>2];J[f+4>>2]=J[(i|4)+a>>2];J[f+8>>2]=J[(i|8)+a>>2];J[f+12>>2]=J[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){J[(g<<2)+n>>2]=J[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}Ia();C()}if(!a){break a}}xj(a)}fa=k+16|0;return h|0}function Qh(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,l=0,m=0,n=0,o=0,p=0;a=0;k=fa-16|0;fa=k;j=J[b+80>>2];e=K[c+24|0];b=P(j,e);a:{b:{c:{d:{f=J[c+28>>2];if(!(!K[c+84|0]|(f|0)!=5&(f|0)!=6)){e=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=Cj(b);g=Vi(a,c+e|0,b)+b|0}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=a;h=1;break a}if(e){f=e<<2;a=Cj(f);Xi(a,0,f)}i=J[d>>2];f=J[d+4>>2]-i>>2;e:{if(f>>>0>>0){La(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}J[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!Bg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!Bg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break c}n=J[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;J[f>>2]=J[i+a>>2];J[f+4>>2]=J[(i|4)+a>>2];J[f+8>>2]=J[(i|8)+a>>2];J[f+12>>2]=J[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){J[(g<<2)+n>>2]=J[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}Ia();C()}if(!a){break a}}xj(a)}fa=k+16|0;return h|0}function Uh(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,l=0,m=0,n=0,o=0,p=0;a=0;k=fa-16|0;fa=k;j=J[b+80>>2];e=K[c+24|0];b=P(j,e);a:{b:{c:{d:{f=J[c+28>>2];if(!(!K[c+84|0]|(f|0)!=3&(f|0)!=4)){e=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=Cj(b);g=Vi(a,c+e|0,b)+b|0}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=a;h=1;break a}if(e){f=e<<1;a=Cj(f);Xi(a,0,f)}i=J[d>>2];f=J[d+4>>2]-i>>1;e:{if(f>>>0>>0){yg(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}J[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!Ag(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!Ag(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break c}n=J[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;I[f>>1]=L[i+a>>1];I[f+2>>1]=L[(i|2)+a>>1];I[f+4>>1]=L[(i|4)+a>>1];I[f+6>>1]=L[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){I[(g<<1)+n>>1]=L[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}Ia();C()}if(!a){break a}}xj(a)}fa=k+16|0;return h|0}function Th(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,l=0,m=0,n=0,o=0,p=0;a=0;k=fa-16|0;fa=k;j=J[b+80>>2];e=K[c+24|0];b=P(j,e);a:{b:{c:{d:{f=J[c+28>>2];if(!(!K[c+84|0]|(f|0)!=3&(f|0)!=4)){e=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=Cj(b);g=Vi(a,c+e|0,b)+b|0}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=a;h=1;break a}if(e){f=e<<1;a=Cj(f);Xi(a,0,f)}i=J[d>>2];f=J[d+4>>2]-i>>1;e:{if(f>>>0>>0){yg(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}J[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!zg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!zg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break c}n=J[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;I[f>>1]=L[i+a>>1];I[f+2>>1]=L[(i|2)+a>>1];I[f+4>>1]=L[(i|4)+a>>1];I[f+6>>1]=L[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){I[(g<<1)+n>>1]=L[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}Ia();C()}if(!a){break a}}xj(a)}fa=k+16|0;return h|0}function nf(a,b){var c=0,d=0,e=0,f=0,g=0;f=-1;d=-1;a:{if((b|0)==-1){break a}d=b+1|0;f=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}b:{c:{d:{switch(J[a+168>>2]){case 0:case 1:e=J[a+148>>2];c=1;b=J[a+156>>2];g=b+(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)|0;J[g>>2]=J[g>>2]+1;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 5:e=J[a+148>>2];c=-1;c=((b|0)!=-1?J[J[e>>2]+(b<<2)>>2]:c)<<2;b=J[a+156>>2];c=c+b|0;J[c>>2]=J[c>>2]+1;c=(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)+b|0;J[c>>2]=J[c>>2]+1;c=2;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 3:e=J[a+148>>2];c=-1;c=((b|0)!=-1?J[J[e>>2]+(b<<2)>>2]:c)<<2;b=J[a+156>>2];c=c+b|0;J[c>>2]=J[c>>2]+1;c=(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)+b|0;J[c>>2]=J[c>>2]+2;c=1;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 7:break d;default:break b}}e=J[a+148>>2];c=-1;c=((b|0)!=-1?J[J[e>>2]+(b<<2)>>2]:c)<<2;b=J[a+156>>2];c=c+b|0;J[c>>2]=J[c>>2]+2;c=(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)+b|0;J[c>>2]=J[c>>2]+2;c=2;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0}J[b>>2]=J[b>>2]+c}c=a;b=J[J[a+156>>2]+(((f|0)==-1?-1:J[J[J[a+148>>2]>>2]+(f<<2)>>2])<<2)>>2];d=J[a+180>>2];a=J[a+176>>2];J[c+172>>2]=(a|0)<=(b|0)?((b|0)<(d|0)?b:d)-a|0:0}function qb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a+24>>2]=0;f=J[b+4>>2];g=J[b>>2];e=f-g|0;c=(e|0)/20|0;a:{if((f|0)==(g|0)){break a}b:{if(c>>>0<214748365){f=Cj(e);J[a+20>>2]=f;J[a+16>>2]=f;J[a+24>>2]=f+P(c,20);c=J[b>>2];g=J[b+4>>2];if((c|0)==(g|0)){break a}b=f;while(1){e=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=e;J[b+16>>2]=J[c+16>>2];e=J[c+12>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=e;b=b+20|0;c=c+20|0;if((g|0)!=(c|0)){continue}break}g=0;J[a+28>>2]=0;J[a+20>>2]=b;if((b|0)!=(f|0)){b=(b-f|0)/20|0;e=b>>>0<=1?1:b;h=e&3;b=0;c=0;if(e-1>>>0>=3){i=e&-4;e=0;while(1){d=f+P(b,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+P(b|1,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+P(b|2,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+P(b|3,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;b=b+4|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}if(h){while(1){e=f+P(b,20)|0;e=P(J[e+16>>2],J[e+12>>2]);c=c>>>0>e>>>0?c:e;b=b+1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}if(!c){J[a+12>>2]=0;return a}if((c|0)<0){break b}g=Cj(c);b=Xi(g,0,c);f=b+c|0;J[a+8>>2]=f;J[a+4>>2]=f;J[a>>2]=b}J[a+12>>2]=g;return a}Ia();C()}Ia();C()}J[a+28>>2]=0;J[a+12>>2]=0;return a}function hg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b=J[a+32>>2];f=J[b+8>>2];h=J[b+12>>2];g=J[b+20>>2];c=J[b+16>>2];e=0;b:{if((h|0)<=(g|0)&c>>>0>=f>>>0|(g|0)>(h|0)){break b}f=K[J[b>>2]+c|0];e=b;b=g;c=c+1|0;b=c?b:b+1|0;J[e+16>>2]=c;J[e+20>>2]=b;c:{if(!f){break c}while(1){if(ka[J[J[a>>2]+16>>2]](a,d)|0){d=d+1|0;if((f|0)!=(d|0)){continue}break c}break}return 0}d=J[a+8>>2];b=J[a+12>>2];if((d|0)!=(b|0)){while(1){c=J[d>>2];if(!(ka[J[J[c>>2]+8>>2]](c,a,J[a+4>>2])|0)){break a}d=d+4|0;if((b|0)!=(d|0)){continue}break}}d:{if(!f){break d}d=0;while(1){b=J[J[a+8>>2]+(d<<2)>>2];if(!(ka[J[J[b>>2]+12>>2]](b,J[a+32>>2])|0)){break a}d=d+1|0;if((f|0)!=(d|0)){continue}break}if(!f){break d}i=a+20|0;b=0;while(1){d=0;j=b<<2;c=J[j+J[a+8>>2]>>2];k=ka[J[J[c>>2]+24>>2]](c)|0;if((k|0)>0){while(1){c=J[J[a+8>>2]+j>>2];c=ka[J[J[c>>2]+20>>2]](c,d)|0;e=J[a+20>>2];g=J[a+24>>2]-e>>2;e:{if(c>>>0>>0){break e}h=c+1|0;if(h>>>0>g>>>0){La(i,h-g|0);e=J[i>>2];break e}if(g>>>0<=h>>>0){break e}J[a+24>>2]=(h<<2)+e}J[(c<<2)+e>>2]=b;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}}e=0;if(!(ka[J[J[a>>2]+28>>2]](a)|0)){break b}e=ka[J[J[a>>2]+32>>2]](a)|0}return e|0}return 0}function he(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=fa-16|0;fa=i;f=J[b+20>>2];d=J[b+12>>2];c=J[b+16>>2];a:{if((f|0)>=(d|0)&c>>>0>=M[b+8>>2]|(d|0)<(f|0)){break a}H[a+12|0]=K[c+J[b>>2]|0];c=J[b+20>>2];g=c;f=J[b+16>>2];e=f+1|0;c=e?c:c+1|0;J[b+16>>2]=e;J[b+20>>2]=c;b:{if(L[b+38>>1]<=513){d=J[b+8>>2];c=J[b+12>>2];h=c;c=g;f=f+5|0;c=f>>>0<5?c+1|0:c;if(d>>>0>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}e=e+J[b>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;break b}if(!ie(1,i+12|0,b)){break a}f=J[b+16>>2];c=J[b+20>>2];d=J[b+8>>2];h=J[b+12>>2];e=J[i+12>>2]}g=d-f|0;d=h-(c+(d>>>0>>0)|0)|0;if((d|0)<=0&e>>>0>g>>>0|(d|0)<0|(e|0)<=0){break a}j=J[b>>2]+f|0;J[a>>2]=j;c:{d:{h=e-1|0;g=h+j|0;d=K[g|0];e:{if(d>>>0<=63){J[a+4>>2]=h;g=K[g|0]&63;break e}f:{switch((d>>>6|0)-1|0){case 1:break d;case 0:break f;default:break a}}if(e>>>0<2){break a}d=e-2|0;J[a+4>>2]=d;d=d+j|0;g=K[d+1|0]<<8&16128|K[d|0]}J[a+8>>2]=g+4096;break c}if(e>>>0<3){break a}d=e-3|0;J[a+4>>2]=d;g=a;a=d+j|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];J[g+8>>2]=a+4096;if(a>>>0>1044479){break a}}a=e+f|0;c=a>>>0>>0?c+1|0:c;J[b+16>>2]=a;J[b+20>>2]=c;k=1}fa=i+16|0;return k}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Pi(a,b,c);c=J[a+84>>2];d=J[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=J[a+92>>2];c=J[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;e=d&7;if(e){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}J[a+88>>2]=c;break b}d:{b=c;c=J[a+84>>2];i=b-c|0;g=i>>2;b=g+d|0;if(b>>>0<1073741824){e=e-c|0;h=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>>0?h:b;if(e){if(e>>>0>=1073741824){break d}j=Cj(e<<2)}g=(g<<2)+j|0;b=g;h=d&7;if(h){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=g+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((f|0)!=(b|0)){continue}break}}b=Wi(j,c,i);J[a+88>>2]=f;J[a+84>>2]=b;J[a+92>>2]=b+(e<<2);if(c){xj(c)}break b}Ia();C()}Va();C()}return}if(b>>>0>=d>>>0){break a}J[a+88>>2]=c+(b<<2)}}function wi(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a>>2];if(d-e>>2>>>0>=b>>>0){f=J[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){J[d>>2]=J[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){J[f>>2]=J[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}J[a+4>>2]=b;return}J[a+4>>2]=e+(b<<2);return}if(e){J[a+4>>2]=e;xj(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=Cj(d);J[a>>2]=e;J[a+8>>2]=d+e;c=J[c>>2];d=e;g=b&7;if(g){while(1){J[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d+28>>2]=c;J[d+24>>2]=c;J[d+20>>2]=c;J[d+16>>2]=c;J[d+12>>2]=c;J[d+8>>2]=c;J[d+4>>2]=c;J[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}Ia();C()}function Vb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){J[d>>2]=J[c>>2];d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];f=e-i>>2;h=f+b|0;if(h>>>0<1073741824){j=d-i|0;d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break b}k=Cj(h<<2)}f=(f<<2)+k|0;d=f;j=b&7;if(j){while(1){J[d>>2]=J[c>>2];d=d+4|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}g=(b<<2)+f|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((g|0)!=(d|0)){continue}break}}if((e|0)!=(i|0)){while(1){f=f-4|0;e=e-4|0;J[f>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[a+8>>2]=(h<<2)+k;J[a+4>>2]=g;J[a>>2]=f;if(i){xj(i)}return}Ia();C()}Va();C()}function re(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=fa-16|0;fa=h;a:{b:{if(L[b+38>>1]<=511){e=J[b+8>>2];c=J[b+12>>2];i=c;f=J[b+20>>2];d=J[b+16>>2];g=d+8|0;f=g>>>0<8?f+1|0:f;if(e>>>0>>0&(c|0)<=(f|0)|(c|0)<(f|0)){break a}d=d+J[b>>2]|0;c=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=K[d+4|0]|K[d+5|0]<<8|(K[d+6|0]<<16|K[d+7|0]<<24);J[b+16>>2]=g;J[b+20>>2]=f;break b}if(!ve(1,h+8|0,b)){break a}g=J[b+16>>2];f=J[b+20>>2];e=J[b+8>>2];i=J[b+12>>2];c=J[h+8>>2];d=J[h+12>>2]}j=e-g|0;e=i-(f+(e>>>0>>0)|0)|0;if((e|0)==(d|0)&c>>>0>j>>>0|d>>>0>e>>>0){break a}e=d+f|0;f=c+g|0;e=f>>>0>>0?e+1|0:e;J[b+16>>2]=f;J[b+20>>2]=e;if((c|0)<=0){break a}b=J[b>>2]+g|0;J[a+40>>2]=b;g=c-1|0;e=b+g|0;f=K[e|0];c:{if(f>>>0<=63){J[a+44>>2]=g;b=K[e|0]&63;break c}d:{switch((f>>>6|0)-1|0){case 0:if(c>>>0<2){break a}c=c-2|0;J[a+44>>2]=c;b=b+c|0;b=K[b+1|0]<<8&16128|K[b|0];break c;case 1:if(c>>>0<3){break a}c=c-3|0;J[a+44>>2]=c;b=b+c|0;b=K[b+1|0]<<8|K[b+2|0]<<16&4128768|K[b|0];break c;default:break d}}c=c-4|0;J[a+44>>2]=c;b=b+c|0;b=(K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24))&1073741823}J[a+48>>2]=b+16384;k=b>>>0<4177920}fa=h+16|0;return k}function Ff(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=(c>>>0)/3|0;j=J[(J[J[a+8>>2]+96>>2]+P(f,12)|0)+(c-P(f,3)<<2)>>2];a:{h=J[J[a+12>>2]+4>>2];e=J[h+4>>2];if((e|0)!=J[h+8>>2]){J[e>>2]=j;J[h+4>>2]=e+4;break a}b:{i=J[h>>2];f=e-i|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){k=g<<2;g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break b}f=Cj(g<<2)}else{f=0}d=k+f|0;J[d>>2]=j;j=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=j;J[h>>2]=d;if(i){xj(i)}break a}Ia();C()}Va();C()}c:{d:{h=J[a+4>>2];e=J[h+4>>2];e:{if((e|0)!=J[h+8>>2]){J[e>>2]=c;J[h+4>>2]=e+4;break e}i=J[h>>2];f=e-i|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break d}g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break c}f=Cj(g<<2)}else{f=0}d=f+(j<<2)|0;J[d>>2]=c;c=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=c;J[h>>2]=d;if(!i){break e}xj(i)}a=J[a+4>>2];J[J[a+12>>2]+(b<<2)>>2]=J[a+24>>2];J[a+24>>2]=J[a+24>>2]+1;return}Ia();C()}Va();C()}function Ba(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=d-c|0;if((h|0)<=0){return}a:{e=J[a+8>>2];i=J[a+4>>2];if((e-i|0)>=(h|0)){j=i-b|0;if((j|0)>=(h|0)){f=i;g=d;break a}f=i;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){H[f|0]=K[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=f;if((j|0)>0){break a}return}k=J[a>>2];g=(i-k|0)+h|0;if((g|0)>=0){j=b-k|0;f=e-k|0;e=f<<1;f=f>>>0>=1073741823?2147483647:e>>>0>g>>>0?e:g;if(f){e=Cj(f)}else{e=0}g=j+e|0;if((c|0)!=(d|0)){g=Vi(g,c,h)+h|0}d=Wi(e,k,j);c=i-b|0;b=Wi(g,b,c);J[a+8>>2]=e+f;J[a+4>>2]=b+c;J[a>>2]=d;if(k){xj(k)}return}Ia();C()}e=f;d=e-h|0;if(i>>>0>d>>>0){while(1){H[e|0]=K[d|0];e=e+1|0;d=d+1|0;if(i>>>0>d>>>0){continue}break}}J[a+4>>2]=e;a=b+h|0;if((a|0)!=(f|0)){a=f-a|0;Wi(f-a|0,b,a)}if((c|0)==(g|0)){return}f=(c^-1)+g|0;a=g-c&7;b:{if(!a){e=b;break b}d=0;e=b;while(1){H[e|0]=K[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((a|0)!=(d|0)){continue}break}}if(f>>>0<7){return}while(1){H[e|0]=K[c|0];H[e+1|0]=K[c+1|0];H[e+2|0]=K[c+2|0];H[e+3|0]=K[c+3|0];H[e+4|0]=K[c+4|0];H[e+5|0]=K[c+5|0];H[e+6|0]=K[c+6|0];H[e+7|0]=K[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function Vi(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){_(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=J[b+36>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=J[b+44>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=J[b+52>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=J[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){J[c>>2]=J[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){H[c|0]=K[b|0];H[c+1|0]=K[b+1|0];H[c+2|0]=K[b+2|0];H[c+3|0]=K[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function xb(a,b){var c=0,d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;J[a+12>>2]=b;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;c=a+16|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+48>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+68>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+88>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;g=a+116|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+104>>2]=0;J[a+108>>2]=0;J[a+112>>2]=0;J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;c=1;break a}c=b<<2;e=Cj(c);J[a+92>>2]=e;f=c+e|0;J[a+100>>2]=f;Xi(e,0,c);J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+96>>2]=f;e=Cj(c);J[a+104>>2]=e;f=c+e|0;J[a+112>>2]=f;Xi(e,0,c);J[a+108>>2]=f;e=Cj(c);J[d>>2]=e;f=c+e|0;J[d+8>>2]=f;Xi(e,0,c);J[d+4>>2]=f;c=b<<5|1}Hb(g,c,d);e=J[d>>2];if(e){J[d+4>>2]=e;xj(e)}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if(b){b=b<<2;e=Cj(b);J[d>>2]=e;f=b+e|0;J[d+8>>2]=f;Xi(e,0,b);J[d+4>>2]=f}Hb(a+128|0,c,d);b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}fa=d+16|0;return a}function tf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;J[a>>2]=11532;d=a+232|0;b=J[d+196>>2];if(b){J[d+200>>2]=b;xj(b)}c=J[d+184>>2];if(c){b=c;e=J[d+188>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=J[b>>2];if(f){J[e-8>>2]=f;xj(f)}e=b;if((b|0)!=(c|0)){continue}break}b=J[d+184>>2]}J[d+188>>2]=c;xj(b)}b=J[d+156>>2];if(b){J[d+160>>2]=b;xj(b)}c=J[d+136>>2];J[d+136>>2]=0;if(c){e=c-4|0;b=J[e>>2];if(b){b=c+(b<<4)|0;while(1){b=b-16|0;if((c|0)!=(b|0)){continue}break}}xj(e)}pf(a+216|0);b=J[a+196>>2];if(b){J[a+200>>2]=b;xj(b)}b=J[a+184>>2];if(b){J[a+188>>2]=b;xj(b)}b=J[a+172>>2];if(b){J[a+176>>2]=b;xj(b)}b=J[a+160>>2];if(b){J[a+164>>2]=b;xj(b)}b=J[a+144>>2];if(b){while(1){c=J[b>>2];xj(b);b=c;if(b){continue}break}}b=J[a+136>>2];J[a+136>>2]=0;if(b){xj(b)}b=J[a+120>>2];if(b){xj(b)}b=J[a+108>>2];if(b){xj(b)}b=J[a+96>>2];if(b){xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+36>>2];if(b){J[a+40>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a+8>>2];J[a+8>>2]=0;if(b){Se(b)}return a|0}function fb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;f=b&7;if(f){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];j=e-i|0;f=j>>2;g=f+b|0;if(g>>>0<1073741824){d=d-i|0;e=d>>>1|0;g=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break b}k=Cj(g<<2)}f=(f<<2)+k|0;d=f;e=b&7;if(e){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}e=f+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}b=Wi(k,i,j);J[a+4>>2]=e;J[a>>2]=b;J[a+8>>2]=b+(g<<2);if(i){xj(i)}return}Ia();C()}Va();C()}function Kj(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(K[a+11|0]>>>7|0){d=J[a+4>>2]}else{d=K[a+11|0]&127}if(d>>>0>>0){h=fa-16|0;fa=h;b=b-d|0;if(b){g=K[a+11|0]>>>7|0?(J[a+8>>2]&2147483647)-1|0:10;if(K[a+11|0]>>>7|0){d=J[a+4>>2]}else{d=K[a+11|0]&127}i=d+b|0;if(g-d>>>0>>0){a:{e=fa-16|0;fa=e;c=i-g|0;if(c>>>0<=2147483631-g>>>0){if(K[a+11|0]>>>7|0){f=J[a>>2]}else{f=a}if(g>>>0<1073741799){J[e+12>>2]=g<<1;J[e>>2]=c+g;c=fa-16|0;fa=c;fa=c+16|0;c=e+12|0;c=J[(M[e>>2]>2]?c:e)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}Aj(e,c);c=J[e>>2];if(d){zj(c,f,d)}if((g|0)!=10){xj(f)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[e+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;fa=e+16|0;break a}eg();C()}}f=d;if(K[a+11|0]>>>7|0){d=J[a>>2]}else{d=a}f=f+d|0;e=fa-16|0;fa=e;H[e+15|0]=0;while(1){if(b){H[f|0]=K[e+15|0];b=b-1|0;f=f+1|0;continue}break}fa=e+16|0;Bj(a,i);H[h+15|0]=0;H[d+i|0]=K[h+15|0]}fa=h+16|0;return}if(K[a+11|0]>>>7|0){d=J[a>>2]}else{d=a}f=fa-16|0;fa=f;Bj(a,b);H[f+15|0]=0;H[b+d|0]=K[f+15|0];fa=f+16|0}function Ci(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=fa-16|0;fa=g;a:{b:{if(b){J[a+88>>2]=0;J[a+92>>2]=0;d=J[a+84>>2];J[a+84>>2]=0;if(d){xj(d)}J[a+76>>2]=0;J[a+80>>2]=0;d=J[a+72>>2];J[a+72>>2]=0;if(d){xj(d)}d=J[b>>2];c=J[b+4>>2];H[g+15|0]=0;Oe(a,c-d>>2,g+15|0);d=J[b+28>>2];c=J[b+24>>2];H[g+14|0]=0;Oe(a+12|0,d-c>>2,g+14|0);wi(a+28|0,J[b+4>>2]-J[b>>2]>>2,13756);c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;e=J[a+52>>2];c:{if(f>>>0<=J[a+60>>2]-e>>2>>>0){break c}if((c|0)<0){break b}d=J[a+56>>2];c=Cj(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;J[c>>2]=J[d>>2];if((d|0)!=(e|0)){continue}break}}J[a+60>>2]=f;J[a+56>>2]=h;J[a+52>>2]=c;if(!e){break c}xj(e)}c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;e=J[a+40>>2];d:{if(f>>>0<=J[a+48>>2]-e>>2>>>0){break d}if((c|0)<0){break a}d=J[a+44>>2];c=Cj(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;J[c>>2]=J[d>>2];if((d|0)!=(e|0)){continue}break}}J[a+48>>2]=f;J[a+44>>2]=h;J[a+40>>2]=c;if(!e){break d}xj(e)}H[a+24|0]=1;J[a+64>>2]=b}fa=g+16|0;return}Ia();C()}Ia();C()}function tb(a,b){var c=0,d=0,e=0,f=0,g=0;c=fa-16|0;fa=c;J[a+12>>2]=b;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+52>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+72>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+92>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+104>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;g=a+120|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+108>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;e=1;break a}e=b<<2;d=Cj(e);J[a+96>>2]=d;f=d+e|0;J[a+104>>2]=f;Xi(d,0,e);J[a+116>>2]=0;J[a+108>>2]=0;J[a+112>>2]=0;J[a+100>>2]=f;d=Cj(e);J[a+108>>2]=d;f=d+e|0;J[a+116>>2]=f;Xi(d,0,e);J[a+112>>2]=f;d=Cj(e);J[c>>2]=d;f=d+e|0;J[c+8>>2]=f;Xi(d,0,e);J[c+4>>2]=f;e=b<<5|1}Hb(g,e,c);d=J[c>>2];if(d){J[c+4>>2]=d;xj(d)}J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;if(b){b=b<<2;d=Cj(b);J[c>>2]=d;f=b+d|0;J[c+8>>2]=f;Xi(d,0,b);J[c+4>>2]=f}Hb(a+132|0,e,c);b=J[c>>2];if(b){J[c+4>>2]=b;xj(b)}fa=c+16|0;return a}function oe(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);H[b+12|0]=c;a:{if(c){break a}while(1){d=J[b+8>>2];if(K[d+12|0]){break a}b:{c=J[d+8>>2];e=J[c>>2];if((e|0)==(d|0)){e=J[c+4>>2];if(!(!e|K[e+12|0])){break b}c:{if(J[d>>2]==(b|0)){b=d;break c}b=J[d+4>>2];a=J[b>>2];J[d+4>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b>>2]=d;J[d+8>>2]=b;c=J[b+8>>2];d=J[c>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;return}if(!(K[e+12|0]|!e)){break b}d:{if(J[d>>2]!=(b|0)){b=d;break d}a=J[b+4>>2];J[d>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b+4>>2]=d;J[d+8>>2]=b;c=J[b+8>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[c+4>>2];b=J[a>>2];J[c+4>>2]=b;if(b){J[b+8>>2]=c}J[a+8>>2]=J[c+8>>2];b=J[c+8>>2];J[((J[b>>2]!=(c|0))<<2)+b>>2]=a;J[a>>2]=c;J[c+8>>2]=a;break a}H[d+12|0]=1;H[c+12|0]=(a|0)==(c|0);H[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function pk(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!c){break k}if(!d){break j}e=S(d)-S(b)|0;if(e>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}ja=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}if(!d|d-1&d){break g}a=b>>>mk(d)|0;ja=0;break a}if(!(c-1&c)){break f}h=(S(c)+33|0)-S(b)|0;g=0-h|0;break d}h=e+1|0;g=63-e|0;break d}ja=0;a=(b>>>0)/(d>>>0)|0;break a}e=S(d)-S(b)|0;if(e>>>0<31){break e}break c}if((c|0)==1){break b}d=mk(c);c=d&31;if((d&63)>>>0>=32){a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}ja=e;break a}h=e+1|0;g=63-e|0}e=h&63;f=e&31;if(e>>>0>=32){e=0;i=b>>>f|0}else{e=b>>>f|0;i=((1<>>f}g=g&63;f=g&31;if(g>>>0>=32){b=a<>>32-f|b<>>31;e=i<<1|b>>>31;f=m-(j+(e>>>0>g>>>0)|0)>>31;k=c&f;i=e-k|0;e=j-((d&f)+(e>>>0>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=f&1;h=h-1|0;if(h){continue}break}}ja=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}ja=b}return a}function Jd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=J[b+16>>2];h=J[c+4>>2]-k|0;e=J[c>>2]-k|0;J[c>>2]=e;J[c+4>>2]=h;g=J[b+16>>2];f=h>>31;i=(f^h)-f|0;f=e>>31;l=g>>>0>=i+((f^e)-f|0)>>>0;a:{if(l){f=h;break a}b:{c:{if((e|0)>=0){f=1;i=1;if((h|0)>=0){break b}j=1;f=-1;i=-1;if(e){break c}break b}j=-1;f=-1;i=-1;if((h|0)<=0){break b}}f=(h|0)<=0?-1:1;i=j}j=P(g,i);e=(e<<1)-j|0;i=(P(f,i)|0)>=0;g=P(f,g);f=((i?0-e|0:e)+g|0)/2|0;J[c+4>>2]=f;m=c;c=(h<<1)-g|0;e=(j+(i?0-c|0:c)|0)/2|0;J[m>>2]=e;g=J[b+16>>2]}c=J[d+4>>2]+f|0;e=J[d>>2]+e|0;d:{if((g|0)<(e|0)){e=e-J[b+4>>2]|0;break d}if((0-g|0)<=(e|0)){break d}e=J[b+4>>2]+e|0}e:{if((c|0)>(g|0)){c=c-J[b+4>>2]|0;break e}if((0-g|0)<=(c|0)){break e}c=J[b+4>>2]+c|0}f:{if(l){g=c;break f}g:{h:{if((e|0)>=0){b=1;f=1;if((c|0)>=0){break g}d=1;b=-1;f=-1;if(e){break h}break g}d=-1;b=-1;f=-1;if((c|0)<=0){break g}}b=(c|0)<=0?-1:1;f=d}d=P(f,g);h=(e<<1)-d|0;f=(P(b,f)|0)>=0;b=P(b,g);g=((f?0-h|0:h)+b|0)/2|0;b=(c<<1)-b|0;e=(d+(f?0-b|0:b)|0)/2|0}c=a;J[c>>2]=e+k;J[c+4>>2]=g+k}function Df(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=fa-16|0;fa=g;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=Cj(c);f=c+(f<<2)|0;h=c+(b-d&-4)|0;c=h;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=h;J[e>>2]=c;if(!d){break b}xj(d)}b=J[a+12>>2];c=J[b+28>>2];b=J[b+24>>2];J[g+12>>2]=0;b=c-b>>2;d=a+96|0;e=J[d>>2];c=J[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){fb(d,b-c|0,g+12|0);break c}if(b>>>0>=c>>>0){break c}J[a+100>>2]=e+(b<<2)}e=a+8|0;b=J[a+116>>2];d:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){c=1;break d}b=0;while(1){c=Ef(e,J[(b<<2)+d>>2]);if(!c){break d}f=J[a+116>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break d}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){c=Ef(e,P(b,3));if(!c){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}fa=g+16|0;return c|0}Ia();C()}function Ka(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=J[b+88>>2];if(!(!c|J[c>>2]!=1)){e=J[c+8>>2];J[a+4>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);f=a+8|0;d=K[b+24|0];h=J[a+8>>2];g=J[a+12>>2]-h>>2;a:{if(d>>>0>g>>>0){La(f,d-g|0);d=K[b+24|0];e=J[c+8>>2];break a}if(d>>>0>=g>>>0){break a}J[a+12>>2]=h+(d<<2)}b:{if(!d){b=4;break b}h=d&3;f=J[f>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){g=d<<2;c=b+e|0;J[g+f>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+(g|4)>>2]=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+(g|8)>>2]=K[c+8|0]|K[c+9|0]<<8|(K[c+10|0]<<16|K[c+11|0]<<24);J[f+(g|12)>>2]=K[c+12|0]|K[c+13|0]<<8|(K[c+14|0]<<16|K[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+e|0;J[f+(d<<2)>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}d=a;a=b+e|0;J[d+20>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);d=1}return d|0}function og(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{b:{c:{if(!b){if((d|0)<0){break a}f=J[a+4>>2];b=J[a>>2];d=f-b|0;if(c>>>0>d>>>0){g=c-d|0;e=J[a+8>>2];if(g>>>0<=e-f>>>0){i=a,j=Xi(f,0,g)+g|0,J[i+4>>2]=j;break c}if((c|0)<0){break b}f=e-b|0;e=f<<1;f=f>>>0>=1073741823?2147483647:c>>>0>>0?e:c;e=Cj(f);Xi(e+d|0,0,g);d=Wi(e,b,d);J[a+8>>2]=d+f;J[a+4>>2]=c+d;J[a>>2]=d;if(!b){break c}xj(b);break c}if(c>>>0>=d>>>0){break c}J[a+4>>2]=b+c;break c}if((d|0)<0){break a}e=J[a+4>>2];f=J[a>>2];g=e-f|0;d:{if((d|0)<=0&c>>>0<=g>>>0|(d|0)<0){break d}if(c>>>0>g>>>0){d=c-g|0;h=J[a+8>>2];if(d>>>0<=h-e>>>0){i=a,j=Xi(e,0,d)+d|0,J[i+4>>2]=j;break d}if((c|0)<0){break b}e=h-f|0;h=e<<1;e=e>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=Cj(e);Xi(h+g|0,0,d);d=Wi(h,f,g);J[a+8>>2]=d+e;J[a+4>>2]=c+d;J[a>>2]=d;if(!f){break d}xj(f);break d}if(c>>>0>=g>>>0){break d}J[a+4>>2]=c+f}if(!c){break c}Wi(J[a>>2],b,c)}b=J[a+28>>2];c=J[a+24>>2]+1|0;b=c?b:b+1|0;J[a+24>>2]=c;J[a+28>>2]=b;g=1;break a}Ia();C()}return g}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=J[a+12>>2];c=J[a+68>>2];d=J[c+80>>2];H[b+84|0]=0;n=b+68|0;i=J[b+68>>2];e=J[b+72>>2]-i>>2;a:{if(e>>>0>>0){Vb(n,d-e|0,12420);c=J[a+68>>2];d=J[c+80>>2];break a}if(d>>>0>=e>>>0){break a}J[b+72>>2]=i+(d<<2)}b=J[c+100>>2];e=J[c+96>>2];i=(b-e|0)/12|0;m=1;b:{if((b|0)==(e|0)){break b}k=J[k+28>>2];f=J[k>>2];if((f|0)==-1){return 0}o=i>>>0<=1?1:i;c=e;b=0;m=0;while(1){g=J[c>>2];if(g>>>0>=d>>>0){break b}j=J[J[a+72>>2]+12>>2];h=J[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=J[n>>2];J[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=J[g+4>>2];if((h|0)==-1){break b}l=J[c+4>>2];if(l>>>0>=d>>>0){break b}h=J[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}J[f+(l<<2)>>2]=h;g=J[g+8>>2];if((g|0)==-1){break b}c=J[c+8>>2];if(c>>>0>=d>>>0){break b}j=J[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}J[f+(c<<2)>>2]=j;b=b+1|0;m=i>>>0<=b>>>0;if((b|0)==(o|0)){break b}c=e+P(b,12)|0;l=P(b,3);f=J[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return m|0}function xa(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,l=0,m=0;h=J[d+80>>2];e=fa-48|0;fa=e;a=J[a+4>>2];m=a-2|0;a:{if(m>>>0>28){break a}j=J[J[d>>2]>>2]+J[d+48>>2]|0;J[e+16>>2]=a;a=-1<>2]=a^-1;a=-2-a|0;J[e+24>>2]=a;J[e+32>>2]=(a|0)/2;N[e+28>>2]=Q(2)/Q(a|0);f=J[c>>2];if((f|0)!=J[c+4>>2]){a=0;d=0;while(1){g=J[(d<<2)+f>>2];h=e+36|0;k=J[J[b>>2]>>2];l=J[b+48>>2];f=J[b+40>>2];i=J[b+44>>2];if(!K[b+84|0]){g=J[J[b+68>>2]+(g<<2)>>2]}g=nk(f,i,g,0);i=g;g=g+l|0;Vi(h,g+k|0,f);ya(e+16|0,h,e+12|0,e+8|0);f=a<<2;J[f+j>>2]=J[e+12>>2];J[(f|4)+j>>2]=J[e+8>>2];a=a+2|0;d=d+1|0;f=J[c>>2];if(d>>>0>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){k=e+36|0;l=J[J[b>>2]>>2];i=J[b+48>>2];c=J[b+40>>2];f=nk(c,J[b+44>>2],K[b+84|0]?a:J[J[b+68>>2]+(a<<2)>>2],0);g=f;f=f+i|0;Vi(k,f+l|0,c);ya(e+16|0,k,e+12|0,e+8|0);c=d<<2;J[c+j>>2]=J[e+12>>2];J[(c|4)+j>>2]=J[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}fa=e+48|0;return m>>>0<29|0}function Oa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=fa-16|0;fa=k;if(J[c+28>>2]==9){d=J[a+4>>2];h=K[c+24|0];e=h<<2;f=Cj(e);l=k+8|0;J[l>>2]=1065353216;i=N[a+20>>2];d=-1<0){N[l>>2]=i/Q(d|0)}o=(d|0)>0;a:{if(!o){break a}j=J[c+80>>2];if(!j){break a}if(h){p=J[J[b>>2]>>2]+J[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=J[a+8>>2];i=N[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;N[g+f>>2]=Q(i*Q(J[q>>2]))+N[g+m>>2];g=g|4;N[g+f>>2]=Q(i*Q(J[q+4>>2]))+N[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;N[d+f>>2]=Q(i*Q(J[(b<<2)+p>>2]))+N[d+m>>2];b=b+1|0}Vi(J[J[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){Vi(J[J[c+64>>2]>>2]+b|0,f,e);b=b+e|0;Vi(b+J[J[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}Vi(J[J[c+64>>2]>>2]+b|0,f,e)}xj(f)}fa=k+16|0;return o|0}function Cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+108>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0>>0){Vb(m,e-f|0,12420);d=J[a+108>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+112>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+68>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0>>0){Vb(m,e-f|0,12420);d=J[a+68>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+72>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Hc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=fa-16|0;fa=d;a:{f=J[a+4>>2];b:{if(f>>>0>>0){e=b-f|0;c=J[a+8>>2];g=c<<5;c:{if(!(e>>>0>g>>>0|f>>>0>g-e>>>0)){J[a+4>>2]=b;h=f&31;b=J[a>>2]+(f>>>3&536870908)|0;break c}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if((b|0)<0){break a}if(g>>>0<=1073741822){c=c<<6;b=b+31&-32;b=b>>>0>>0?c:b}else{b=2147483647}Jc(d,b);f=J[a+4>>2];J[d+4>>2]=f+e;i=J[a>>2];b=J[d>>2];d:{if((f|0)<=0){break d}c=f>>>5|0;if(f>>>0>=32){Wi(b,i,c<<2)}g=c<<2;b=g+b|0;h=f&31;if(h){c=-1>>>32-h|0;J[b>>2]=J[b>>2]&(c^-1)|J[i+g>>2]&c}i=J[a>>2]}J[a>>2]=J[d>>2];J[d>>2]=i;c=J[a+4>>2];J[a+4>>2]=J[d+4>>2];J[d+4>>2]=c;c=J[a+8>>2];J[a+8>>2]=J[d+8>>2];J[d+8>>2]=c;if(!i){break c}xj(i)}if(!e){break b}if(h){c=32-h|0;a=c>>>0>>0?c:e;J[b>>2]=J[b>>2]&(-1<>>c-a^-1);e=e-a|0;b=b+4|0}a=e>>>5|0;if(e>>>0>=32){Xi(b,0,a<<2)}if((e&-32)==(e|0)){break b}a=(a<<2)+b|0;J[a>>2]=J[a>>2]&(-1>>>32-(e&31)^-1);break b}J[a+4>>2]=b}fa=d+16|0;return}Ia();C()}function Qa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=J[a+12>>2];i=J[a+8>>2];d=e-i>>2;b=K[b+24|0];a:{if(d>>>0>>0){La(a+8|0,b-d|0);i=J[a+8>>2];e=J[a+12>>2];break a}if(b>>>0>=d>>>0){break a}e=(b<<2)+i|0;J[a+12>>2]=e}b=0;f=J[c+8>>2];h=J[c+12>>2];j=J[c+20>>2];e=e-i|0;d=J[c+16>>2];g=e+d|0;j=e>>>0>g>>>0?j+1|0:j;b:{if(f>>>0>>0&(h|0)<=(j|0)|(h|0)<(j|0)){break b}Vi(i,d+J[c>>2]|0,e);d=J[c+20>>2];g=e;e=e+J[c+16>>2]|0;d=g>>>0>e>>>0?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;f=J[c+8>>2];h=J[c+12>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;if(f>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break b}d=e+J[c>>2]|0;J[a+20>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[c+20>>2];g=d;f=d;e=J[c+16>>2];d=e+4|0;f=d>>>0<4?f+1|0:f;J[c+16>>2]=d;J[c+20>>2]=f;h=J[c+12>>2];if((f|0)>=(h|0)&d>>>0>=M[c+8>>2]|(f|0)>(h|0)){break b}f=K[d+J[c>>2]|0];d=g;e=e+5|0;d=e>>>0<5?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;if(f-1>>>0>29){break b}J[a+4>>2]=f;b=1}return b|0}function Ob(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{f=J[a+4>>2];b:{if((f|0)!=J[a>>2]){c=f;break b}g=J[a+8>>2];c=J[a+12>>2];if(g>>>0>>0){e=((c-g>>2)+1|0)/2<<2;c=e+g|0;if((f|0)!=(g|0)){d=g-f|0;c=c-d|0;Wi(c,f,d);f=J[a+8>>2]}J[a+4>>2]=c;J[a+8>>2]=e+f;break b}d=(c|0)==(f|0)?1:c-f>>1;if(d>>>0>=1073741824){break a}c=d<<2;i=Cj(c);k=i+c|0;c=(d+3&-4)+i|0;h=c;c:{if((f|0)==(g|0)){break c}g=g-f|0;l=g&-4;e=c;d=f;j=g-4|0;g=(j>>>2|0)+1&7;if(g){h=0;while(1){J[e>>2]=J[d>>2];d=d+4|0;e=e+4|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}h=c+l|0;if(j>>>0<28){break c}while(1){J[e>>2]=J[d>>2];J[e+4>>2]=J[d+4>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=J[d+12>>2];J[e+16>>2]=J[d+16>>2];J[e+20>>2]=J[d+20>>2];J[e+24>>2]=J[d+24>>2];J[e+28>>2]=J[d+28>>2];d=d+32|0;e=e+32|0;if((h|0)!=(e|0)){continue}break}}J[a+12>>2]=k;J[a+8>>2]=h;J[a+4>>2]=c;J[a>>2]=i;if(!f){break b}xj(f);c=J[a+4>>2]}J[c-4>>2]=J[b>>2];J[a+4>>2]=J[a+4>>2]-4;return}Va();C()}function Pb(a,b){var c=0;a:{if(!he(a,b)){break a}if(!he(a+16|0,b)){break a}if(!he(a+32|0,b)){break a}if(!he(a+48|0,b)){break a}if(!he(a- -64|0,b)){break a}if(!he(a+80|0,b)){break a}if(!he(a+96|0,b)){break a}if(!he(a+112|0,b)){break a}if(!he(a+128|0,b)){break a}if(!he(a+144|0,b)){break a}if(!he(a+160|0,b)){break a}if(!he(a+176|0,b)){break a}if(!he(a+192|0,b)){break a}if(!he(a+208|0,b)){break a}if(!he(a+224|0,b)){break a}if(!he(a+240|0,b)){break a}if(!he(a+256|0,b)){break a}if(!he(a+272|0,b)){break a}if(!he(a+288|0,b)){break a}if(!he(a+304|0,b)){break a}if(!he(a+320|0,b)){break a}if(!he(a+336|0,b)){break a}if(!he(a+352|0,b)){break a}if(!he(a+368|0,b)){break a}if(!he(a+384|0,b)){break a}if(!he(a+400|0,b)){break a}if(!he(a+416|0,b)){break a}if(!he(a+432|0,b)){break a}if(!he(a+448|0,b)){break a}if(!he(a+464|0,b)){break a}if(!he(a+480|0,b)){break a}if(!he(a+496|0,b)){break a}c=he(a+512|0,b)}return c}function $b(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{if(!db(a,b)){break a}h=a+36|0;g=ka[J[J[a>>2]+24>>2]](a)|0;e=J[a+40>>2];d=J[a+36>>2];c=e-d>>2;b:{if(g>>>0>c>>>0){ac(h,g-c|0);break b}if(c>>>0<=g>>>0){break b}d=d+(g<<2)|0;if((d|0)!=(e|0)){while(1){e=e-4|0;c=J[e>>2];J[e>>2]=0;if(c){ka[J[J[c>>2]+4>>2]](c)}if((d|0)!=(e|0)){continue}break}}J[a+40>>2]=d}c=1;if((g|0)<=0){break a}e=0;while(1){c:{c=J[b+20>>2];f=J[b+12>>2];d=J[b+16>>2];if((c|0)>=(f|0)&d>>>0>=M[b+8>>2]|(c|0)>(f|0)){break c}f=K[J[b>>2]+d|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;d=ka[J[J[a>>2]+48>>2]](a,f)|0;f=e<<2;i=f+J[a+36>>2]|0;c=J[i>>2];J[i>>2]=d;if(c){ka[J[J[c>>2]+4>>2]](c)}c=J[J[h>>2]+f>>2];if(!c){break c}if(!(k=c,l=ka[J[J[a>>2]+28>>2]](a)|0,m=ka[J[J[a>>2]+20>>2]](a,e)|0,j=J[J[c>>2]+8>>2],ka[j](k|0,l|0,m|0)|0)){break c}c=1;e=e+1|0;if((g|0)!=(e|0)){continue}break a}break}c=0}return c|0}function ya(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+N[b>>2];k=+N[b+4>>2];l=+N[b+8>>2];g=R(j)+R(k)+R(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=J[a+16>>2];l=+(h|0);g=V(j*l+.5);b:{if(R(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=V(k*l+.5);c:{if(R(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=J[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=J[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}J[c>>2]=a;J[d>>2]=b}function bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=J[b+8>>2];h=J[b+12>>2];c=J[b+20>>2];i=c;k=J[b+16>>2];d=k+4|0;c=d>>>0<4?c+1|0:c;a:{if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}l=J[b>>2];f=k+l|0;e=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=d;J[b+20>>2]=c;c=i;f=k+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}d=d+l|0;j=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;if((e|0)>(j|0)){break a}J[a+16>>2]=j;J[a+12>>2]=e;d=j-e|0;e=(j>>31)-((e>>31)+(e>>>0>j>>>0)|0)|0;if(!e&d>>>0>2147483646|e){break a}d=d+1|0;J[a+20>>2]=d;e=d>>>1|0;J[a+24>>2]=e;J[a+28>>2]=0-e;if(!(d&1)){J[a+24>>2]=e-1}if(L[b+38>>1]<=513){if((c|0)>=(h|0)&f>>>0>=g>>>0|(c|0)>(h|0)){break a}g=K[f+l|0];c=i;i=k+9|0;c=i>>>0<9?c+1|0:c;J[b+16>>2]=i;J[b+20>>2]=c;if(g>>>0>1){break a}J[a+88>>2]=g}m=he(a+112|0,b)}return m|0}function Ei(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=J[a>>2];c=g+(b>>>3&536870908)|0;J[c>>2]=J[c>>2]|1<>2];e=(b|0)==-1;d=-1;a:{if(e){break a}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;d=-1;if((c|0)==-1){break a}d=J[J[f>>2]+(c<<2)>>2]}c=J[a+12>>2];h=(d>>>3&536870908)+c|0;J[h>>2]=J[h>>2]|1<>>0)%3|0){e=b-1|0;break e}e=b+2|0;d=-1;if((e|0)==-1){break d}}d=J[J[f>>2]+(e<<2)>>2]}e=(d>>>3&536870908)+c|0;J[e>>2]=J[e>>2]|1<>2]+(b<<2)>>2];if((b|0)==-1){break b}H[a+24|0]=0;a=(b>>>3&536870908)+g|0;J[a>>2]=J[a>>2]|1<>>0)%3|0?a:b-2|0;if((a|0)!=-1){d=J[J[f>>2]+(a<<2)>>2]}a=c+(d>>>3&536870908)|0;J[a>>2]=J[a>>2]|1<>>0)%3|0){b=b-1|0;break g}b=b+2|0;a=-1;if((b|0)==-1){break f}}a=J[J[f>>2]+(b<<2)>>2]}b=1<>>3&536870908)|0;c=J[a>>2];break c}a=c+536870908|0;b=J[c+536870908>>2];c=-2147483648}J[a>>2]=b|c}}function za(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0;a:{if(J[c+28>>2]!=9|K[c+24|0]!=3){break a}a=J[a+4>>2];if(a-2>>>0>28){break a}o=1;j=J[c+80>>2];if(!j){break a}k=Q(Q(2)/Q((1<>2]>>2]+J[c+48>>2]|0;a=J[J[b>>2]>>2]+J[b+48>>2]|0;b=0;while(1){g=Q(0);l=Q(0);m=Q(0);e=Q(Q(Q(J[a>>2])*k)+Q(-1));f=Q(Q(Q(J[a+4>>2])*k)+Q(-1));i=Q(Q(Q(1)-Q(R(e)))-Q(R(f)));h=Q(U(Q(-i),Q(0)));n=Q(-h);f=Q(f+(f>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;d=(B(l),v(2));H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;d=(B(g),v(2));H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function Si(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(b>>>0<=63){b=0;a=J[a+12>>2];if(a>>>0<2){break a}b=a-1|0;e=b&3;d=J[c>>2];c=0;b:{if(a-2>>>0<3){a=1;b=0;break b}f=b&-4;b=0;a=1;while(1){g=a+3|0;h=a+2|0;i=a+1|0;b=M[d+(b<<2)>>2]>M[d+(a<<2)>>2]?a:b;b=M[d+(b<<2)>>2]>M[d+(i<<2)>>2]?i:b;b=M[d+(b<<2)>>2]>M[d+(h<<2)>>2]?h:b;b=M[d+(b<<2)>>2]>M[d+(g<<2)>>2]?g:b;a=a+4|0;j=j+4|0;if((f|0)!=(j|0)){continue}break}}if(!e){break a}while(1){b=M[d+(b<<2)>>2]>M[d+(a<<2)>>2]?a:b;a=a+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}break a}b=J[a+580>>2];d=32-b|0;if((d|0)>=4){c=J[a+576>>2];if((c|0)==J[a+568>>2]){return 0}d=J[c>>2];e=b+4|0;J[a+580>>2]=e;b=d<>>28|0;if((e|0)!=32){break a}J[a+580>>2]=0;J[a+576>>2]=c+4;return b}c=J[a+576>>2];e=c+4|0;if((e|0)==J[a+568>>2]){return 0}f=J[c>>2];J[a+576>>2]=e;J[a+580>>2]=b-28;a=60-b|0;b=J[c+4>>2]>>>a|f<>>a-d}return b}function rf(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=11484;b=J[a+388>>2];if(b){J[a+392>>2]=b;xj(b)}d=J[a+368>>2];J[a+368>>2]=0;if(d){e=d-4|0;b=J[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}xj(e)}pf(a+216|0);b=J[a+196>>2];if(b){J[a+200>>2]=b;xj(b)}b=J[a+184>>2];if(b){J[a+188>>2]=b;xj(b)}b=J[a+172>>2];if(b){J[a+176>>2]=b;xj(b)}b=J[a+160>>2];if(b){J[a+164>>2]=b;xj(b)}c=J[a+144>>2];if(c){while(1){b=J[c>>2];xj(c);c=b;if(b){continue}break}}b=J[a+136>>2];J[a+136>>2]=0;if(b){xj(b)}b=J[a+120>>2];if(b){xj(b)}b=J[a+108>>2];if(b){xj(b)}b=J[a+96>>2];if(b){xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+36>>2];if(b){J[a+40>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a+8>>2];J[a+8>>2]=0;if(b){Se(b)}return a|0}function uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a:{a=fa-32|0;fa=a;e=hj(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=Cj(g);J[a+24>>2]=g|-2147483648;J[a+16>>2]=f;J[a+20>>2]=e;g=e+f|0;break c}H[a+27|0]=e;f=a+16|0;g=e+f|0;if(!e){break b}}Vi(f,c,e)}H[g|0]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d:{c=tg(b,a+16|0);if((c|0)==(b+4|0)){break d}b=J[c+28>>2];e=J[c+32>>2];if((b|0)==(e|0)){break d}b=e-b|0;if(b&3){break d}e=b>>>2|0;f=J[a+4>>2];b=J[a>>2];g=f-b>>2;e:{if(e>>>0>g>>>0){La(a,e-g|0);b=J[a>>2];f=J[a+4>>2];break e}if(e>>>0>=g>>>0){break e}f=(e<<2)+b|0;J[a+4>>2]=f}if((b|0)!=(f|0)){e=b;b=J[c+28>>2];Vi(e,b,J[c+32>>2]-b|0);break d}yc();C()}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d>>2]=J[a>>2];J[d+4>>2]=J[a+4>>2];J[d+8>>2]=J[a+8>>2];if(H[a+27|0]<0){xj(J[a+16>>2])}fa=a+32|0;break a}eg();C()}}function of(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=11432;d=J[a+368>>2];J[a+368>>2]=0;if(d){e=d-4|0;b=J[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}xj(e)}pf(a+216|0);b=J[a+196>>2];if(b){J[a+200>>2]=b;xj(b)}b=J[a+184>>2];if(b){J[a+188>>2]=b;xj(b)}b=J[a+172>>2];if(b){J[a+176>>2]=b;xj(b)}b=J[a+160>>2];if(b){J[a+164>>2]=b;xj(b)}c=J[a+144>>2];if(c){while(1){b=J[c>>2];xj(c);c=b;if(b){continue}break}}b=J[a+136>>2];J[a+136>>2]=0;if(b){xj(b)}b=J[a+120>>2];if(b){xj(b)}b=J[a+108>>2];if(b){xj(b)}b=J[a+96>>2];if(b){xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+36>>2];if(b){J[a+40>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a+8>>2];J[a+8>>2]=0;if(b){Se(b)}return a|0}function sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=fa-16|0;fa=d;a:{e=hj(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=Cj(f);J[d+8>>2]=f|-2147483648;J[d>>2]=a;J[d+4>>2]=e;f=a+e|0;break c}H[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}Vi(a,c,e)}H[f|0]=0;c=K[d+11|0];e=c<<24>>24;b=J[b+4>>2];a=0;d:{if(!b){break d}a=c;c=(e|0)<0;a=c?J[d+4>>2]:a;f=c?J[d>>2]:d;while(1){c=K[b+27|0];g=c<<24>>24<0;c=g?J[b+20>>2]:c;i=c>>>0>>0;e:{f:{g:{h:{i:{j:{h=i?c:a;if(h){g=g?J[b+16>>2]:b+16|0;j=bj(f,g,h);if(j){break j}if(a>>>0>=c>>>0){break i}break e}if(a>>>0>=c>>>0){break h}break e}if((j|0)<0){break e}}c=bj(g,f,h);if(c){break g}}if(i){break f}a=1;break d}if((c|0)<0){break f}a=1;break d}b=b+4|0}b=J[b>>2];if(b){continue}break}a=0}if((e|0)<0){xj(J[d>>2])}fa=d+16|0;break a}eg();C()}return a|0}function Pe(a,b){var c=0,d=0;c=J[b+8>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=c;J[a+20>>2]=J[b+20>>2];c=J[b+16>>2];J[a+12>>2]=J[b+12>>2];J[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=J[b+28>>2];if(c){d=J[a+24>>2];if(J[a+32>>2]<<5>>>0>>0){if(d){xj(d);J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;c=J[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=Cj(c<<2);J[a+32>>2]=c;J[a+28>>2]=0;J[a+24>>2]=d;c=J[b+28>>2]}Wi(d,J[b+24>>2],(c-1>>>3&536870908)+4|0);c=J[b+28>>2]}else{c=0}J[a+28>>2]=c;c=J[b+40>>2];if(c){d=J[a+36>>2];if(J[a+44>>2]<<5>>>0>>0){if(d){xj(d);J[a+44>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;c=J[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=Cj(c<<2);J[a+44>>2]=c;J[a+40>>2]=0;J[a+36>>2]=d;c=J[b+40>>2]}Wi(d,J[b+36>>2],(c-1>>>3&536870908)+4|0);b=J[b+40>>2]}else{b=0}J[a+40>>2]=b}return}Ia();C()}Ia();C()}function wd(a){var b=0,c=0,d=0;b=J[a+8>>2];d=J[a>>2];a:{if(K[a+12|0]){b:{c:{d:{e:{if((b|0)==-1){break e}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;if((b|0)==-1){break e}b=J[J[d+12>>2]+(b<<2)>>2];if((b|0)!=-1){break d}}J[a+8>>2]=-1;break c}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;J[a+8>>2]=b;if((b|0)!=-1){break b}}c=J[a+4>>2];b=-1;f:{if((c|0)==-1){break f}g:{if((c>>>0)%3|0){c=c-1|0;break g}c=c+2|0;b=-1;if((c|0)==-1){break f}}c=J[J[d+12>>2]+(c<<2)>>2];b=-1;if((c|0)==-1){break f}b=c-1|0;if((c>>>0)%3|0){break f}b=c+2|0}H[a+12|0]=0;J[a+8>>2]=b;return}if((b|0)!=J[a+4>>2]){break a}J[a+8>>2]=-1;return}c=-1;h:{if((b|0)==-1){break h}i:{if((b>>>0)%3|0){b=b-1|0;break i}b=b+2|0;c=-1;if((b|0)==-1){break h}}b=J[J[d+12>>2]+(b<<2)>>2];c=-1;if((b|0)==-1){break h}c=b-1|0;if((b>>>0)%3|0){break h}c=b+2|0}J[a+8>>2]=c}}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=fa-32|0;fa=f;d=J[a+28>>2];J[f+16>>2]=d;g=J[a+20>>2];J[f+28>>2]=c;J[f+24>>2]=b;b=g-d|0;J[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=ba(J[a+60>>2],b|0,2,f+12|0)|0;if(d){J[4004]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=J[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=J[b+4>>2];j=h>>>0>>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;J[d>>2]=h+J[d>>2];b=(j?12:4)+b|0;J[b>>2]=J[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=ba(J[a+60>>2],b|0,i|0,f+12|0)|0;if(e){J[4004]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];a=c;break a}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=J[a>>2]|32;a=0;if((i|0)==2){break a}a=c-J[d+4>>2]|0}fa=f+32|0;return a|0}function Tf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+56>>2]-J[b+52>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=Cj(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}xj(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Uf(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=J[J[a+12>>2]+64>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Uf(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}Ia();C()}function Nf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=Cj(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}xj(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Of(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Of(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}Ia();C()}function Hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=J[b+8>>2];h=J[b+12>>2];c=J[b+20>>2];i=c;e=J[b+16>>2];d=e+4|0;c=d>>>0<4?c+1|0:c;a:{if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}j=J[b>>2];f=e+j|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=d;J[b+20>>2]=c;k=L[b+38>>1];if(k>>>0<=513){c=i;d=e+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}J[b+16>>2]=d;J[b+20>>2]=c}if(!(f&1)){break a}e=S(f)^31;if(e-1>>>0>28){break a}J[a+8>>2]=e+1;i=-2<>2]=e;J[a+12>>2]=i^-1;J[a+24>>2]=e>>1;N[a+20>>2]=Q(2)/Q(e|0);if(k>>>0<=513){if((c|0)>=(h|0)&d>>>0>=g>>>0|(c|0)>(h|0)){break a}g=K[d+j|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;if(g>>>0>1){break a}J[a+72>>2]=g}l=he(a+96|0,b)}return l|0}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=J[b+8>>2];g=J[b+12>>2];c=J[b+20>>2];h=c;i=J[b+16>>2];e=i+4|0;c=e>>>0<4?c+1|0:c;a:{if(e>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}j=J[b>>2];d=i+j|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;c=h;e=i+8|0;c=e>>>0<8?c+1|0:c;if(e>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}J[b+16>>2]=e;J[b+20>>2]=c;if(!(d&1)){break a}d=S(d)^31;if(d-1>>>0>28){break a}J[a+8>>2]=d+1;k=-2<>2]=d;J[a+12>>2]=k^-1;J[a+24>>2]=d>>1;N[a+20>>2]=Q(2)/Q(d|0);if(L[b+38>>1]<=513){if((c|0)>=(g|0)&e>>>0>=f>>>0|(c|0)>(g|0)){break a}c=K[e+j|0];f=i+9|0;h=f>>>0<9?h+1|0:h;J[b+16>>2]=f;J[b+20>>2]=h;if(c>>>0>1){break a}J[a+72>>2]=c}l=he(a+96|0,b)}return l|0}function Wi(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return Vi(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}H[d|0]=K[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;H[d|0]=K[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;J[c+a>>2]=J[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;H[c+a|0]=K[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){J[d>>2]=J[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=J[c+12>>2];f=h;e=J[c+20>>2];i=J[c+8>>2];g=J[c+16>>2];a:{if((f|0)<=(e|0)&i>>>0<=g>>>0|(e|0)>(f|0)){break a}j=J[c>>2];k=H[j+g|0];d=e;f=g+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;b:{if((k|0)==-2){break b}if((d|0)>=(h|0)&f>>>0>=i>>>0|(d|0)>(h|0)){break a}d=H[f+j|0];g=g+2|0;e=g>>>0<2?e+1|0:e;J[c+16>>2]=g;J[c+20>>2]=e;if((d-4&255)>>>0<251){break a}e=ka[J[J[a>>2]+40>>2]](a,k,d)|0;d=J[a+20>>2];J[a+20>>2]=e;if(!d){break b}ka[J[J[d>>2]+4>>2]](d)}d=J[a+20>>2];if(d){if(!(ka[J[J[a>>2]+28>>2]](a,d)|0)){break a}}if(!(ka[J[J[a>>2]+36>>2]](a,b,c)|0)){break a}c=J[a+4>>2];if(!(!c|K[c+36|0]>1)){if(!(ka[J[J[a>>2]+48>>2]](a,J[b+4>>2]-J[b>>2]>>2)|0)){break a}}l=1}return l|0}function nj(a,b,c,d){a:{switch(b-9|0){case 0:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];return;case 6:b=J[c>>2];J[c>>2]=b+4;b=I[b>>1];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 7:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=L[b>>1];J[a+4>>2]=0;return;case 8:b=J[c>>2];J[c>>2]=b+4;b=H[b|0];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 9:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=K[b|0];J[a+4>>2]=0;return;case 16:b=J[c>>2]+7&-8;J[c>>2]=b+8;O[a>>3]=O[b>>3];return;case 17:ka[d|0](a,c);default:return;case 1:case 4:case 14:b=J[c>>2];J[c>>2]=b+4;b=J[b>>2];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];J[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=J[c>>2]+7&-8;J[c>>2]=b+8;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c}function ac(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=J[a+8>>2];c=J[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=Xi(c,0,b)+b|0}J[a+4>>2]=c;return}a:{b:{c:{g=J[a>>2];f=c-g>>2;e=f+b|0;if(e>>>0<1073741824){d=d-g|0;h=d>>>1|0;e=d>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break c}i=Cj(e<<2)}d=(f<<2)+i|0;f=b<<2;b=Xi(d,0,f);f=b+f|0;e=(e<<2)+i|0;if((c|0)==(g|0)){break b}while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;d=d-4|0;J[d>>2]=b;if((c|0)!=(g|0)){continue}break}J[a+8>>2]=e;b=J[a+4>>2];J[a+4>>2]=f;c=J[a>>2];J[a>>2]=d;if((b|0)==(c|0)){break a}while(1){b=b-4|0;a=J[b>>2];J[b>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}if((b|0)!=(c|0)){continue}break}break a}Ia();C()}Va();C()}J[a+8>>2]=e;J[a+4>>2]=f;J[a>>2]=b}if(c){xj(c)}}function Pj(a,b){var c=0,d=0,e=0;c=fa+-64|0;fa=c;d=J[a>>2];e=J[d-4>>2];d=J[d-8>>2];J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;H[c+55|0]=0;H[c+56|0]=0;H[c+57|0]=0;H[c+58|0]=0;H[c+59|0]=0;H[c+60|0]=0;H[c+61|0]=0;H[c+62|0]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+20>>2]=0;J[c+16>>2]=14972;J[c+12>>2]=a;J[c+8>>2]=b;a=a+d|0;d=0;a:{if(Nj(e,b,0)){J[c+56>>2]=1;ka[J[J[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=J[c+32>>2]==1?a:0;break a}ka[J[J[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(J[c+44>>2]){case 0:d=J[c+48>>2]==1?J[c+36>>2]==1?J[c+40>>2]==1?J[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(J[c+32>>2]!=1){if(J[c+48>>2]|J[c+36>>2]!=1|J[c+40>>2]!=1){break a}}d=J[c+24>>2]}fa=c- -64|0;return d}function ge(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;J[a+16>>2]=0;e=J[a>>2];J[a+4>>2]=e;J[a+12>>2]=e;e=J[b+8>>2];c=J[b+12>>2];h=c;d=J[b+20>>2];f=J[b+16>>2];g=f+4|0;d=g>>>0<4?d+1|0:d;a:{if(e>>>0>>0&(d|0)>=(c|0)|(d|0)>(c|0)){break a}c=f+J[b>>2]|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=g;J[b+20>>2]=d;if(!c|c&3){break a}f=h-(d+(e>>>0>>0)|0)|0;if(e-g>>>0>>0&(f|0)<=0|(f|0)<0){break a}if(c>>>0>=4){La(a,c>>>2|0);h=J[b+12>>2];g=J[b+16>>2];d=J[b+20>>2];e=J[b+8>>2]}f=c+g|0;d=f>>>0>>0?d+1|0:d;if(e>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}Vi(J[a>>2],J[b>>2]+g|0,c);d=J[b+20>>2];e=c+J[b+16>>2]|0;d=e>>>0>>0?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;J[a+16>>2]=0;J[a+12>>2]=J[a>>2];i=1}return i}function Gi(a,b){var c=0,d=0,e=0,f=0;d=-1;e=-1;f=-1;a:{b:{if((b|0)==-1){break b}e=J[J[J[a+4>>2]+12>>2]+(b<<2)>>2];c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)>=0){f=(c>>>0)/3|0;f=J[(J[J[a>>2]+96>>2]+P(f,12)|0)+(c-P(f,3)<<2)>>2]}c:{if((e|0)==-1){break c}c=((e>>>0)%3|0?-1:2)+e|0;if((c|0)<0){break c}d=(c>>>0)/3|0;d=J[(J[J[a>>2]+96>>2]+P(d,12)|0)+(c-P(d,3)<<2)>>2]}c=-1;if((d|0)!=(f|0)){break a}f=-1;d:{b=((b>>>0)%3|0?-1:2)+b|0;if((b|0)>=0){d=(b>>>0)/3|0;d=J[(J[J[a>>2]+96>>2]+P(d,12)|0)+(b-P(d,3)<<2)>>2];if((e|0)==-1){break b}break d}d=-1;if((e|0)!=-1){break d}break b}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)<0){break b}c=J[J[a>>2]+96>>2];a=(b>>>0)/3|0;f=J[(c+P(a,12)|0)+(b-P(a,3)<<2)>>2]}c=(d|0)!=(f|0)?-1:e}return c} +function Ti(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=fa-672|0;fa=A;k=J[b+8>>2];s=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;a:{b:{c:{if(g>>>0>k>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break c}d=e+J[b>>2]|0;J[a>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[a>>2]>31){break c}s=J[b+8>>2];x=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(x|0)|(d|0)>(x|0)){break c}d=e+J[b>>2]|0;J[a+4>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;s=J[b+8>>2];x=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(x|0)|(d|0)>(x|0)){break c}d=e+J[b>>2]|0;J[a+12>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;d=J[a+20>>2];w=J[a+12>>2];if((w|0)!=(d|0)?d:0){break c}s=J[b+8>>2];x=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>s>>>0&(d|0)>=(x|0)|(d|0)>(x|0)){break c}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[a+16>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(e>>>0>=7){J[A>>2]=e;cj(1760,A);break c}J[A+664>>2]=c;d:{if(!w){break d}e:{k=J[c>>2];if(w>>>0<=(J[c+8>>2]-k|0)/12>>>0){break e}if(w>>>0<357913942){l=J[c+4>>2];d=P(w,12);e=Cj(d);g=d+e|0;e=e+P((l-k|0)/12|0,12)|0;d=e;if((k|0)!=(l|0)){while(1){d=d-12|0;l=l-12|0;J[d>>2]=J[l>>2];J[d+4>>2]=J[l+4>>2];J[d+8>>2]=J[l+8>>2];if((k|0)!=(l|0)){continue}break}}J[c+8>>2]=g;J[c+4>>2]=e;J[c>>2]=d;if(!k){break e}xj(k);break e}break b}f:{switch(J[a+16>>2]){case 0:i=tb(A+8|0,3);y=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;g:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break g}d=e+J[b>>2]|0;J[i>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[i>>2]>32){break g}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break g}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[i+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break g}J[i+8>>2]=0;if(!ge(i+16|0,b)){break g}if(!ge(i+36|0,b)){break g}if(!ge(i+56|0,b)){break g}if(!ge(i+76|0,b)){break g}z=J[i+4>>2];d=0;g=0;f=fa-32|0;fa=f;m=J[i+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;if(m){if(m>>>0>=1073741824){break b}b=m<<2;g=Cj(b);J[f+8>>2]=g;d=b+g|0;J[f+16>>2]=d;Xi(g,0,b);J[f+12>>2]=d}e=J[i+120>>2];b=J[e>>2];if(b){J[e+4>>2]=b;xj(b);m=J[i+12>>2];g=J[f+8>>2];d=J[f+12>>2]}J[e+4>>2]=d;J[e>>2]=g;J[e+8>>2]=J[f+16>>2];g=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;h:{if(m){if(m>>>0>=1073741824){break b}b=m<<2;v=Cj(b);J[f+8>>2]=v;g=b+v|0;J[f+16>>2]=g;Xi(v,0,b);J[f+12>>2]=g}d=J[i+132>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);v=J[f+8>>2];g=J[f+12>>2]}J[d+4>>2]=g;J[d>>2]=v;J[d+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);d=J[f+24>>2]+J[f+28>>2]|0;b=(d>>>0)/341|0;b=J[J[f+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=z;m=J[f+28>>2]+1|0;J[f+28>>2]=m;i:{if(!m){break i}x=i+96|0;while(1){n=J[f+12>>2];g=J[f+24>>2];e=m-1|0;d=g+e|0;b=(d>>>0)/341|0;b=J[n+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;o=J[b+8>>2];k=J[b+4>>2];t=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(g+m|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}b=0;if(t>>>0>z>>>0){break i}d=J[i+12>>2];m=(k|0)!=(d-1|0)?k+1|0:0;if(m>>>0>=d>>>0){break i}q=P(o,12);p=q+J[i+132>>2]|0;l=q+J[i+120>>2]|0;g=J[i>>2];r=m<<2;e=J[r+J[p>>2]>>2];j:{k:{if((g|0)==(e|0)){if(!t){break k}while(1){d=J[l>>2];w=J[d+8>>2];s=J[d+4>>2];n=J[d>>2];q=J[y>>2];m=J[q+4>>2];d=J[q+8>>2];l:{if(m>>>0>>0){J[m+8>>2]=w;J[m+4>>2]=s;J[m>>2]=n;J[q+4>>2]=m+12;break l}r=J[q>>2];g=(m-r|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(d-r|0)/12|0;d=e<<1;k=e>>>0>=178956970?357913941:d>>>0>k>>>0?d:k;if(k){if(k>>>0>=357913942){break a}d=Cj(P(k,12))}else{d=0}v=d+P(g,12)|0;J[v+8>>2]=w;J[v+4>>2]=s;J[v>>2]=n;e=v+12|0;if((m|0)!=(r|0)){while(1){v=v-12|0;m=m-12|0;J[v>>2]=J[m>>2];J[v+4>>2]=J[m+4>>2];J[v+8>>2]=J[m+8>>2];if((m|0)!=(r|0)){continue}break}}J[q+8>>2]=d+P(k,12);J[q+4>>2]=e;J[q>>2]=v;if(!r){break l}xj(r)}J[i+8>>2]=J[i+8>>2]+1;b=b+1|0;if((t|0)!=(b|0)){continue}break}break k}m:{n:{o:{p:{if(t>>>0<=2){d=J[i+108>>2];J[d>>2]=m;v=1;g=J[i+12>>2];if(g>>>0>1){break p}break m}if(M[i+8>>2]>M[i+4>>2]){break i}b=J[i+120>>2];s=o+1|0;w=P(s,12);d=b+w|0;if((d|0)!=(l|0)){Nb(d,J[l>>2],J[l+4>>2]);b=J[i+120>>2]}b=r+J[b+w>>2]|0;J[b>>2]=J[b>>2]+(1<>2];e=32-k|0;q:{if((n|0)<=(e|0)){e=J[i+28>>2];if((e|0)==J[i+20>>2]){break o}d=J[e>>2];b=k+n|0;J[i+32>>2]=b;v=d<>>32-n|0;if((b|0)!=32){break q}J[i+32>>2]=0;J[i+28>>2]=e+4;break q}g=J[i+28>>2];b=g+4|0;if((b|0)==J[i+20>>2]){break o}d=J[g>>2];J[i+28>>2]=b;b=n-e|0;J[i+32>>2]=b;v=J[g+4>>2]>>>32-b|d<>>32-n}d=t>>>1|0;if(v>>>0>d>>>0){break i}break n}while(1){m=(g-1|0)!=(m|0)?m+1|0:0;J[d+(v<<2)>>2]=m;g=J[i+12>>2];v=v+1|0;if(g>>>0>v>>>0){continue}break}break m}d=t>>>1|0;v=0}r:{s:{e=d-v|0;b=t-e|0;t:{if((b|0)==(e|0)){b=e;break t}n=J[i+88>>2];if((n|0)==J[i+80>>2]){break s}k=J[n>>2];g=J[i+92>>2];d=g+1|0;J[i+92>>2]=d;g=k&-2147483648>>>g;u:{if((d|0)==32){J[i+92>>2]=0;J[i+88>>2]=n+4;if(g){break u}break s}if(!g){break s}}}d=b;b=e;break r}d=e}n=J[i+132>>2];k=n+q|0;g=J[k>>2];e=g+r|0;J[e>>2]=J[e>>2]+1;Nb(n+w|0,g,J[k+4>>2]);if(b){g=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];v=J[f+12>>2];if((g|0)==(((e|0)!=(v|0)?P(e-v>>2,341)-1|0:0)|0)){Mb(f+8|0);v=J[f+12>>2];g=J[f+24>>2]+J[f+28>>2]|0}e=(g>>>0)/341|0;e=J[(e<<2)+v>>2]+P(g-P(e,341)|0,12)|0;J[e+8>>2]=o;J[e+4>>2]=m;J[e>>2]=b;J[f+28>>2]=J[f+28>>2]+1}if(!d){break k}g=J[f+28>>2]+J[f+24>>2]|0;b=J[f+16>>2];v=J[f+12>>2];if((g|0)==(((b|0)!=(v|0)?P(b-v>>2,341)-1|0:0)|0)){Mb(f+8|0);v=J[f+12>>2];g=J[f+24>>2]+J[f+28>>2]|0}b=(g>>>0)/341|0;b=J[(b<<2)+v>>2]+P(g-P(b,341)|0,12)|0;J[b+8>>2]=s;J[b+4>>2]=m;J[b>>2]=d;m=J[f+28>>2]+1|0;J[f+28>>2]=m;break j}if(!t){break k}while(1){if(J[i+12>>2]){o=J[i+40>>2];n=J[p>>2];v=J[i+96>>2];k=J[i+108>>2];m=0;while(1){q=k+(m<<2)|0;J[v+(J[q>>2]<<2)>>2]=0;g=J[i>>2];e=J[q>>2]<<2;d=J[e+n>>2];v:{if((g|0)==(d|0)){break v}r=e+v|0;u=g-d|0;w=J[i+52>>2];g=32-w|0;if((u|0)<=(g|0)){e=J[i+48>>2];if((e|0)==(o|0)){break i}J[r>>2]=J[e>>2]<>>32-u;d=u+J[i+52>>2]|0;J[i+52>>2]=d;if((d|0)!=32){break v}J[i+52>>2]=0;J[i+48>>2]=e+4;break v}s=J[i+48>>2];d=s+4|0;if((d|0)==(o|0)){break i}e=J[s>>2];J[i+48>>2]=d;d=u-g|0;J[i+52>>2]=d;J[r>>2]=J[s+4>>2]>>>32-d|e<>>32-u}e=J[q>>2]<<2;d=e+v|0;J[d>>2]=J[d>>2]|J[e+J[l>>2]>>2];m=m+1|0;if(m>>>0>2]){continue}break}}Ui(y,x);J[i+8>>2]=J[i+8>>2]+1;b=b+1|0;if((t|0)!=(b|0)){continue}break}}m=J[f+28>>2]}if(m){continue}break}}J[f+28>>2]=0;v=J[f+16>>2];m=J[f+12>>2];g=v-m|0;if(g>>>0>=9){while(1){xj(J[m>>2]);m=J[f+12>>2]+4|0;J[f+12>>2]=m;v=J[f+16>>2];g=v-m|0;if(g>>>0>8){continue}break}}b=170;w:{switch((g>>>2|0)-1|0){case 1:b=341;case 0:J[f+24>>2]=b;break;default:break w}}x:{if((m|0)==(v|0)){break x}while(1){xj(J[m>>2]);m=m+4|0;if((v|0)!=(m|0)){continue}break}d=J[f+16>>2];b=J[f+12>>2];if((d|0)==(b|0)){break x}J[f+16>>2]=d+((b-d|0)+3&-4)}b=J[f+8>>2];if(b){xj(b)}fa=f+32|0;break h}}sb(i);break d;case 1:i=tb(A+8|0,3);z=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;y:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break y}d=e+J[b>>2]|0;J[i>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[i>>2]>32){break y}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break y}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[i+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break y}J[i+8>>2]=0;if(!ge(i+16|0,b)){break y}if(!ge(i+36|0,b)){break y}if(!ge(i+56|0,b)){break y}if(!ge(i+76|0,b)){break y}p=J[i+4>>2];d=0;f=fa-32|0;fa=f;m=J[i+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;if(m){if(m>>>0>=1073741824){break b}b=m<<2;t=Cj(b);J[f+8>>2]=t;d=b+t|0;J[f+16>>2]=d;Xi(t,0,b);J[f+12>>2]=d}e=J[i+120>>2];b=J[e>>2];if(b){J[e+4>>2]=b;xj(b);m=J[i+12>>2];t=J[f+8>>2];d=J[f+12>>2]}J[e+4>>2]=d;J[e>>2]=t;J[e+8>>2]=J[f+16>>2];t=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;z:{if(m){if(m>>>0>=1073741824){break b}b=m<<2;o=Cj(b);J[f+8>>2]=o;t=b+o|0;J[f+16>>2]=t;Xi(o,0,b);J[f+12>>2]=t}d=J[i+132>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);t=J[f+12>>2];o=J[f+8>>2]}J[d+4>>2]=t;J[d>>2]=o;J[d+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);d=J[f+24>>2]+J[f+28>>2]|0;b=(d>>>0)/341|0;b=J[J[f+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=p;m=J[f+28>>2]+1|0;J[f+28>>2]=m;A:{if(!m){break A}s=i+96|0;while(1){k=J[f+12>>2];g=J[f+24>>2];e=m-1|0;d=g+e|0;b=(d>>>0)/341|0;b=J[k+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;q=J[b+8>>2];d=J[b+4>>2];l=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(k|0)?P(b-k>>2,341)-1|0:0)-(g+m|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}if(l>>>0>p>>>0){break A}b=J[i+12>>2];m=(d|0)!=(b-1|0)?d+1|0:0;if(m>>>0>=b>>>0){break A}b=J[i+120>>2];r=P(q,12);u=b+r|0;e=J[i>>2];w=m<<2;n=r+J[i+132>>2]|0;d=J[w+J[n>>2]>>2];B:{C:{if((e|0)==(d|0)){w=0;if(!l){break C}while(1){b=J[u>>2];x=J[b+8>>2];n=J[b+4>>2];k=J[b>>2];q=J[z>>2];m=J[q+4>>2];b=J[q+8>>2];D:{if(m>>>0>>0){J[m+8>>2]=x;J[m+4>>2]=n;J[m>>2]=k;J[q+4>>2]=m+12;break D}r=J[q>>2];e=(m-r|0)/12|0;g=e+1|0;if(g>>>0>=357913942){break b}d=(b-r|0)/12|0;b=d<<1;g=d>>>0>=178956970?357913941:b>>>0>g>>>0?b:g;if(g){if(g>>>0>=357913942){break a}b=Cj(P(g,12))}else{b=0}o=b+P(e,12)|0;J[o+8>>2]=x;J[o+4>>2]=n;J[o>>2]=k;d=o+12|0;if((m|0)!=(r|0)){while(1){o=o-12|0;m=m-12|0;J[o>>2]=J[m>>2];J[o+4>>2]=J[m+4>>2];J[o+8>>2]=J[m+8>>2];if((m|0)!=(r|0)){continue}break}}J[q+8>>2]=b+P(g,12);J[q+4>>2]=d;J[q>>2]=o;if(!r){break D}xj(r)}J[i+8>>2]=J[i+8>>2]+1;w=w+1|0;if((l|0)!=(w|0)){continue}break}break C}E:{F:{G:{H:{if(l>>>0<=2){b=J[i+108>>2];J[b>>2]=m;o=1;t=J[i+12>>2];if(t>>>0>1){break H}break E}if(M[i+8>>2]>M[i+4>>2]){break A}k=b;b=r+12|0;Nb(k+b|0,J[u>>2],J[u+4>>2]);b=w+J[b+J[i+120>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<>2];e=32-k|0;I:{if((n|0)<=(e|0)){e=J[i+28>>2];if((e|0)==J[i+20>>2]){break G}d=J[e>>2];b=k+n|0;J[i+32>>2]=b;d=d<>>32-n|0;if((b|0)!=32){break I}J[i+32>>2]=0;J[i+28>>2]=e+4;break I}g=J[i+28>>2];b=g+4|0;if((b|0)==J[i+20>>2]){break G}d=J[g>>2];J[i+28>>2]=b;b=n-e|0;J[i+32>>2]=b;d=J[g+4>>2]>>>32-b|d<>>32-n}o=l>>>1|0;if(o>>>0>>0){break A}break F}while(1){m=(t-1|0)!=(m|0)?m+1|0:0;J[b+(o<<2)>>2]=m;o=o+1|0;t=J[i+12>>2];if(o>>>0>>0){continue}break}break E}o=l>>>1|0;d=0}x=q+1|0;J:{K:{e=o-d|0;d=l-e|0;L:{if((d|0)==(e|0)){b=e;break L}n=J[i+88>>2];if((n|0)==J[i+80>>2]){break K}k=J[n>>2];g=J[i+92>>2];b=g+1|0;J[i+92>>2]=b;g=k&-2147483648>>>g;M:{if((b|0)==32){J[i+92>>2]=0;J[i+88>>2]=n+4;if(g){break M}break K}if(!g){break K}}b=d}d=e;break J}b=e}n=J[i+132>>2];k=n+r|0;g=J[k>>2];e=g+w|0;J[e>>2]=J[e>>2]+1;Nb(n+P(x,12)|0,g,J[k+4>>2]);if(d){t=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];o=J[f+12>>2];if((t|0)==(((e|0)!=(o|0)?P(e-o>>2,341)-1|0:0)|0)){Mb(f+8|0);t=J[f+24>>2]+J[f+28>>2]|0;o=J[f+12>>2]}e=(t>>>0)/341|0;e=J[o+(e<<2)>>2]+P(t-P(e,341)|0,12)|0;J[e+8>>2]=q;J[e+4>>2]=m;J[e>>2]=d;J[f+28>>2]=J[f+28>>2]+1}if(!b){break C}t=J[f+28>>2]+J[f+24>>2]|0;d=J[f+16>>2];o=J[f+12>>2];if((t|0)==(((d|0)!=(o|0)?P(d-o>>2,341)-1|0:0)|0)){Mb(f+8|0);t=J[f+24>>2]+J[f+28>>2]|0;o=J[f+12>>2]}d=(t>>>0)/341|0;d=J[o+(d<<2)>>2]+P(t-P(d,341)|0,12)|0;J[d+8>>2]=x;J[d+4>>2]=m;J[d>>2]=b;m=J[f+28>>2]+1|0;J[f+28>>2]=m;break B}t=0;if(!l){break C}while(1){if(J[i+12>>2]){o=J[i+40>>2];k=J[n>>2];y=J[i+96>>2];g=J[i+108>>2];m=0;while(1){q=g+(m<<2)|0;J[y+(J[q>>2]<<2)>>2]=0;e=J[i>>2];d=J[q>>2]<<2;b=J[d+k>>2];N:{if((e|0)==(b|0)){break N}r=d+y|0;v=e-b|0;w=J[i+52>>2];e=32-w|0;if((v|0)<=(e|0)){d=J[i+48>>2];if((d|0)==(o|0)){break A}J[r>>2]=J[d>>2]<>>32-v;b=v+J[i+52>>2]|0;J[i+52>>2]=b;if((b|0)!=32){break N}J[i+52>>2]=0;J[i+48>>2]=d+4;break N}x=J[i+48>>2];b=x+4|0;if((b|0)==(o|0)){break A}d=J[x>>2];J[i+48>>2]=b;b=v-e|0;J[i+52>>2]=b;J[r>>2]=J[x+4>>2]>>>32-b|d<>>32-v}d=J[q>>2]<<2;b=d+y|0;J[b>>2]=J[b>>2]|J[d+J[u>>2]>>2];m=m+1|0;if(m>>>0>2]){continue}break}}Ui(z,s);J[i+8>>2]=J[i+8>>2]+1;t=t+1|0;if((l|0)!=(t|0)){continue}break}}m=J[f+28>>2]}if(m){continue}break}}J[f+28>>2]=0;o=J[f+16>>2];m=J[f+12>>2];t=o-m|0;if(t>>>0>=9){while(1){xj(J[m>>2]);m=J[f+12>>2]+4|0;J[f+12>>2]=m;o=J[f+16>>2];t=o-m|0;if(t>>>0>8){continue}break}}b=170;O:{switch((t>>>2|0)-1|0){case 1:b=341;case 0:J[f+24>>2]=b;break;default:break O}}P:{if((m|0)==(o|0)){break P}while(1){xj(J[m>>2]);m=m+4|0;if((o|0)!=(m|0)){continue}break}d=J[f+16>>2];b=J[f+12>>2];if((d|0)==(b|0)){break P}J[f+16>>2]=d+((b-d|0)+3&-4)}b=J[f+8>>2];if(b){xj(b)}fa=f+32|0;break z}}sb(i);break d;case 2:f=xb(A+8|0,3);v=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Q:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Q}d=e+J[b>>2]|0;J[f>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[f>>2]>32){break Q}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Q}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[f+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break Q}J[f+8>>2]=0;if(!he(f+16|0,b)){break Q}if(!ge(f+32|0,b)){break Q}if(!ge(f+52|0,b)){break Q}if(!ge(f+72|0,b)){break Q}y=J[f+4>>2];g=0;b=0;h=fa-32|0;fa=h;j=J[f+12>>2];J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;if(j){if(j>>>0>=1073741824){break b}d=j<<2;g=Cj(d);J[h+8>>2]=g;b=d+g|0;J[h+16>>2]=b;Xi(g,0,d);J[h+12>>2]=b}e=J[f+116>>2];d=J[e>>2];if(d){J[e+4>>2]=d;xj(d);j=J[f+12>>2];g=J[h+8>>2];b=J[h+12>>2]}J[e+4>>2]=b;J[e>>2]=g;J[e+8>>2]=J[h+16>>2];g=0;J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;R:{if(j){if(j>>>0>=1073741824){break b}b=j<<2;u=Cj(b);J[h+8>>2]=u;g=b+u|0;J[h+16>>2]=g;Xi(u,0,b);J[h+12>>2]=g}d=J[f+128>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);u=J[h+8>>2];g=J[h+12>>2]}J[d+4>>2]=g;J[d>>2]=u;J[d+8>>2]=J[h+16>>2];J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Mb(h+8|0);d=J[h+24>>2]+J[h+28>>2]|0;b=(d>>>0)/341|0;b=J[J[h+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=y;j=J[h+28>>2]+1|0;J[h+28>>2]=j;S:{if(!j){break S}w=f+92|0;x=f+16|0;while(1){n=J[h+12>>2];g=J[h+24>>2];e=j-1|0;d=g+e|0;b=(d>>>0)/341|0;b=J[n+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;p=J[b+8>>2];k=J[b+4>>2];i=J[b>>2];J[h+28>>2]=e;b=J[h+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(g+j|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[h+16>>2]=J[h+16>>2]-4}d=0;if(i>>>0>y>>>0){break S}b=J[f+12>>2];j=(k|0)!=(b-1|0)?k+1|0:0;if(j>>>0>=b>>>0){break S}o=P(p,12);z=o+J[f+128>>2]|0;t=o+J[f+116>>2]|0;g=J[f>>2];q=j<<2;e=J[q+J[z>>2]>>2];T:{if((g|0)==(e|0)){if(!i){break T}while(1){b=J[t>>2];r=J[b+8>>2];s=J[b+4>>2];n=J[b>>2];o=J[v>>2];j=J[o+4>>2];b=J[o+8>>2];U:{if(j>>>0>>0){J[j+8>>2]=r;J[j+4>>2]=s;J[j>>2]=n;J[o+4>>2]=j+12;break U}q=J[o>>2];g=(j-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=Cj(P(k,12))}else{b=0}u=b+P(g,12)|0;J[u+8>>2]=r;J[u+4>>2]=s;J[u>>2]=n;e=u+12|0;if((j|0)!=(q|0)){while(1){u=u-12|0;j=j-12|0;J[u>>2]=J[j>>2];J[u+4>>2]=J[j+4>>2];J[u+8>>2]=J[j+8>>2];if((j|0)!=(q|0)){continue}break}}J[o+8>>2]=b+P(k,12);J[o+4>>2]=e;J[o>>2]=u;if(!q){break U}xj(q)}J[f+8>>2]=J[f+8>>2]+1;d=d+1|0;if((i|0)!=(d|0)){continue}break}break T}V:{W:{X:{Y:{if(i>>>0<=2){b=J[f+104>>2];J[b>>2]=j;u=1;g=J[f+12>>2];if(g>>>0>1){break Y}break V}if(M[f+8>>2]>M[f+4>>2]){break S}b=J[f+116>>2];s=p+1|0;r=P(s,12);d=b+r|0;if((d|0)!=(t|0)){Nb(d,J[t>>2],J[t+4>>2]);b=J[f+116>>2]}b=q+J[b+r>>2]|0;J[b>>2]=J[b>>2]+(1<>2]=0;ke(x,S(i)^31,h+4|0);d=i>>>1|0;b=J[h+4>>2];if(d>>>0>>0){break S}e=d-b|0;d=i-e|0;Z:{if((d|0)==(e|0)){b=e;break Z}n=J[f+84>>2];if((n|0)==J[f+76>>2]){break X}k=J[n>>2];g=J[f+88>>2];b=g+1|0;J[f+88>>2]=b;g=k&-2147483648>>>g;_:{if((b|0)==32){J[f+88>>2]=0;J[f+84>>2]=n+4;if(g){break _}break X}if(!g){break X}}b=d}d=e;break W}while(1){j=(g-1|0)!=(j|0)?j+1|0:0;J[b+(u<<2)>>2]=j;g=J[f+12>>2];u=u+1|0;if(g>>>0>u>>>0){continue}break}break V}b=e}n=J[f+128>>2];k=n+o|0;g=J[k>>2];e=g+q|0;J[e>>2]=J[e>>2]+1;Nb(n+r|0,g,J[k+4>>2]);if(d){g=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];u=J[h+12>>2];if((g|0)==(((e|0)!=(u|0)?P(e-u>>2,341)-1|0:0)|0)){Mb(h+8|0);u=J[h+12>>2];g=J[h+24>>2]+J[h+28>>2]|0}e=(g>>>0)/341|0;e=J[(e<<2)+u>>2]+P(g-P(e,341)|0,12)|0;J[e+8>>2]=p;J[e+4>>2]=j;J[e>>2]=d;J[h+28>>2]=J[h+28>>2]+1}if(!b){break T}g=J[h+28>>2]+J[h+24>>2]|0;d=J[h+16>>2];u=J[h+12>>2];if((g|0)==(((d|0)!=(u|0)?P(d-u>>2,341)-1|0:0)|0)){Mb(h+8|0);u=J[h+12>>2];g=J[h+24>>2]+J[h+28>>2]|0}d=(g>>>0)/341|0;d=J[(d<<2)+u>>2]+P(g-P(d,341)|0,12)|0;J[d+8>>2]=s;J[d+4>>2]=j;J[d>>2]=b;J[h+28>>2]=J[h+28>>2]+1;break T}if(!i){break T}while(1){if(J[f+12>>2]){p=J[f+36>>2];n=J[z>>2];u=J[f+92>>2];k=J[f+104>>2];j=0;while(1){o=k+(j<<2)|0;J[u+(J[o>>2]<<2)>>2]=0;g=J[f>>2];e=J[o>>2]<<2;b=J[e+n>>2];$:{if((g|0)==(b|0)){break $}q=e+u|0;l=g-b|0;r=J[f+48>>2];g=32-r|0;if((l|0)<=(g|0)){e=J[f+44>>2];if((e|0)==(p|0)){break S}J[q>>2]=J[e>>2]<>>32-l;b=l+J[f+48>>2]|0;J[f+48>>2]=b;if((b|0)!=32){break $}J[f+48>>2]=0;J[f+44>>2]=e+4;break $}s=J[f+44>>2];b=s+4|0;if((b|0)==(p|0)){break S}e=J[s>>2];J[f+44>>2]=b;b=l-g|0;J[f+48>>2]=b;J[q>>2]=J[s+4>>2]>>>32-b|e<>>32-l}e=J[o>>2]<<2;b=e+u|0;J[b>>2]=J[b>>2]|J[e+J[t>>2]>>2];j=j+1|0;if(j>>>0>2]){continue}break}}Ui(v,w);J[f+8>>2]=J[f+8>>2]+1;d=d+1|0;if((i|0)!=(d|0)){continue}break}}j=J[h+28>>2];if(j){continue}break}}J[h+28>>2]=0;u=J[h+16>>2];j=J[h+12>>2];g=u-j|0;if(g>>>0>=9){while(1){xj(J[j>>2]);j=J[h+12>>2]+4|0;J[h+12>>2]=j;u=J[h+16>>2];g=u-j|0;if(g>>>0>8){continue}break}}b=170;aa:{switch((g>>>2|0)-1|0){case 1:b=341;case 0:J[h+24>>2]=b;break;default:break aa}}ba:{if((j|0)==(u|0)){break ba}while(1){xj(J[j>>2]);j=j+4|0;if((u|0)!=(j|0)){continue}break}d=J[h+16>>2];b=J[h+12>>2];if((d|0)==(b|0)){break ba}J[h+16>>2]=d+((b-d|0)+3&-4)}b=J[h+8>>2];if(b){xj(b)}fa=h+32|0;break R}}wb(f);break d;case 3:i=xb(A+8|0,3);y=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;ca:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break ca}d=e+J[b>>2]|0;J[i>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[i>>2]>32){break ca}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break ca}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[i+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break ca}J[i+8>>2]=0;if(!he(i+16|0,b)){break ca}if(!ge(i+32|0,b)){break ca}if(!ge(i+52|0,b)){break ca}if(!ge(i+72|0,b)){break ca}z=J[i+4>>2];d=0;f=fa-32|0;fa=f;j=J[i+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;if(j){if(j>>>0>=1073741824){break b}b=j<<2;m=Cj(b);J[f+8>>2]=m;d=b+m|0;J[f+16>>2]=d;Xi(m,0,b);J[f+12>>2]=d}e=J[i+116>>2];b=J[e>>2];if(b){J[e+4>>2]=b;xj(b);j=J[i+12>>2];m=J[f+8>>2];d=J[f+12>>2]}J[e+4>>2]=d;J[e>>2]=m;J[e+8>>2]=J[f+16>>2];m=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;da:{if(j){if(j>>>0>=1073741824){break b}b=j<<2;p=Cj(b);J[f+8>>2]=p;m=b+p|0;J[f+16>>2]=m;Xi(p,0,b);J[f+12>>2]=m}d=J[i+128>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);m=J[f+12>>2];p=J[f+8>>2]}J[d+4>>2]=m;J[d>>2]=p;J[d+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);d=J[f+24>>2]+J[f+28>>2]|0;b=(d>>>0)/341|0;b=J[J[f+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=z;j=J[f+28>>2]+1|0;J[f+28>>2]=j;ea:{if(!j){break ea}x=i+92|0;s=i+16|0;while(1){k=J[f+12>>2];g=J[f+24>>2];e=j-1|0;d=g+e|0;b=(d>>>0)/341|0;b=J[k+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;o=J[b+8>>2];d=J[b+4>>2];t=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(k|0)?P(b-k>>2,341)-1|0:0)-(g+j|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}if(t>>>0>z>>>0){break ea}b=J[i+12>>2];j=(d|0)!=(b-1|0)?d+1|0:0;if(j>>>0>=b>>>0){break ea}b=J[i+116>>2];q=P(o,12);l=b+q|0;e=J[i>>2];r=j<<2;n=q+J[i+128>>2]|0;d=J[r+J[n>>2]>>2];fa:{if((e|0)==(d|0)){r=0;if(!t){break fa}while(1){b=J[l>>2];w=J[b+8>>2];n=J[b+4>>2];k=J[b>>2];o=J[y>>2];j=J[o+4>>2];b=J[o+8>>2];ga:{if(j>>>0>>0){J[j+8>>2]=w;J[j+4>>2]=n;J[j>>2]=k;J[o+4>>2]=j+12;break ga}q=J[o>>2];e=(j-q|0)/12|0;g=e+1|0;if(g>>>0>=357913942){break b}d=(b-q|0)/12|0;b=d<<1;g=d>>>0>=178956970?357913941:b>>>0>g>>>0?b:g;if(g){if(g>>>0>=357913942){break a}b=Cj(P(g,12))}else{b=0}p=b+P(e,12)|0;J[p+8>>2]=w;J[p+4>>2]=n;J[p>>2]=k;d=p+12|0;if((j|0)!=(q|0)){while(1){p=p-12|0;j=j-12|0;J[p>>2]=J[j>>2];J[p+4>>2]=J[j+4>>2];J[p+8>>2]=J[j+8>>2];if((j|0)!=(q|0)){continue}break}}J[o+8>>2]=b+P(g,12);J[o+4>>2]=d;J[o>>2]=p;if(!q){break ga}xj(q)}J[i+8>>2]=J[i+8>>2]+1;r=r+1|0;if((t|0)!=(r|0)){continue}break}break fa}ha:{ia:{ja:{ka:{if(t>>>0<=2){b=J[i+104>>2];J[b>>2]=j;p=1;m=J[i+12>>2];if(m>>>0>1){break ka}break ha}if(M[i+8>>2]>M[i+4>>2]){break ea}k=b;b=q+12|0;Nb(k+b|0,J[l>>2],J[l+4>>2]);b=r+J[b+J[i+116>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<>2]=0;ke(s,S(t)^31,f+4|0);d=t>>>1|0;b=J[f+4>>2];if(d>>>0>>0){break ea}w=o+1|0;e=d-b|0;d=t-e|0;la:{if((d|0)==(e|0)){b=e;break la}n=J[i+84>>2];if((n|0)==J[i+76>>2]){break ja}k=J[n>>2];g=J[i+88>>2];b=g+1|0;J[i+88>>2]=b;g=k&-2147483648>>>g;ma:{if((b|0)==32){J[i+88>>2]=0;J[i+84>>2]=n+4;if(g){break ma}break ja}if(!g){break ja}}b=d}d=e;break ia}while(1){j=(m-1|0)!=(j|0)?j+1|0:0;J[b+(p<<2)>>2]=j;m=J[i+12>>2];p=p+1|0;if(m>>>0>p>>>0){continue}break}break ha}b=e}n=J[i+128>>2];k=n+q|0;g=J[k>>2];e=g+r|0;J[e>>2]=J[e>>2]+1;Nb(n+P(w,12)|0,g,J[k+4>>2]);if(d){m=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];p=J[f+12>>2];if((m|0)==(((e|0)!=(p|0)?P(e-p>>2,341)-1|0:0)|0)){Mb(f+8|0);m=J[f+24>>2]+J[f+28>>2]|0;p=J[f+12>>2]}e=(m>>>0)/341|0;e=J[p+(e<<2)>>2]+P(m-P(e,341)|0,12)|0;J[e+8>>2]=o;J[e+4>>2]=j;J[e>>2]=d;J[f+28>>2]=J[f+28>>2]+1}if(!b){break fa}m=J[f+28>>2]+J[f+24>>2]|0;d=J[f+16>>2];p=J[f+12>>2];if((m|0)==(((d|0)!=(p|0)?P(d-p>>2,341)-1|0:0)|0)){Mb(f+8|0);m=J[f+24>>2]+J[f+28>>2]|0;p=J[f+12>>2]}d=(m>>>0)/341|0;d=J[p+(d<<2)>>2]+P(m-P(d,341)|0,12)|0;J[d+8>>2]=w;J[d+4>>2]=j;J[d>>2]=b;J[f+28>>2]=J[f+28>>2]+1;break fa}m=0;if(!t){break fa}while(1){if(J[i+12>>2]){p=J[i+36>>2];k=J[n>>2];v=J[i+92>>2];g=J[i+104>>2];j=0;while(1){o=g+(j<<2)|0;J[v+(J[o>>2]<<2)>>2]=0;e=J[i>>2];d=J[o>>2]<<2;b=J[d+k>>2];na:{if((e|0)==(b|0)){break na}q=d+v|0;u=e-b|0;r=J[i+48>>2];e=32-r|0;if((u|0)<=(e|0)){d=J[i+44>>2];if((d|0)==(p|0)){break ea}J[q>>2]=J[d>>2]<>>32-u;b=u+J[i+48>>2]|0;J[i+48>>2]=b;if((b|0)!=32){break na}J[i+48>>2]=0;J[i+44>>2]=d+4;break na}w=J[i+44>>2];b=w+4|0;if((b|0)==(p|0)){break ea}d=J[w>>2];J[i+44>>2]=b;b=u-e|0;J[i+48>>2]=b;J[q>>2]=J[w+4>>2]>>>32-b|d<>>32-u}d=J[o>>2]<<2;b=d+v|0;J[b>>2]=J[b>>2]|J[d+J[l>>2]>>2];j=j+1|0;if(j>>>0>2]){continue}break}}Ui(y,x);J[i+8>>2]=J[i+8>>2]+1;m=m+1|0;if((t|0)!=(m|0)){continue}break}}j=J[f+28>>2];if(j){continue}break}}J[f+28>>2]=0;p=J[f+16>>2];j=J[f+12>>2];m=p-j|0;if(m>>>0>=9){while(1){xj(J[j>>2]);j=J[f+12>>2]+4|0;J[f+12>>2]=j;p=J[f+16>>2];m=p-j|0;if(m>>>0>8){continue}break}}b=170;oa:{switch((m>>>2|0)-1|0){case 1:b=341;case 0:J[f+24>>2]=b;break;default:break oa}}pa:{if((j|0)==(p|0)){break pa}while(1){xj(J[j>>2]);j=j+4|0;if((p|0)!=(j|0)){continue}break}d=J[f+16>>2];b=J[f+12>>2];if((d|0)==(b|0)){break pa}J[f+16>>2]=d+((b-d|0)+3&-4)}b=J[f+8>>2];if(b){xj(b)}fa=f+32|0;break da}}wb(i);break d;case 4:f=Bb(A+8|0,3);v=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;qa:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break qa}d=e+J[b>>2]|0;J[f>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[f>>2]>32){break qa}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break qa}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[f+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break qa}J[f+8>>2]=0;if(!Pb(f+16|0,b)){break qa}if(!ge(f+544|0,b)){break qa}if(!ge(f+564|0,b)){break qa}if(!ge(f+584|0,b)){break qa}y=J[f+4>>2];l=0;b=0;h=fa-32|0;fa=h;d=J[f+12>>2];J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=Cj(e);J[h+8>>2]=l;b=e+l|0;J[h+16>>2]=b;Xi(l,0,e);J[h+12>>2]=b}g=J[f+628>>2];e=J[g>>2];if(e){J[g+4>>2]=e;xj(e);d=J[f+12>>2];l=J[h+8>>2];b=J[h+12>>2]}J[g+4>>2]=b;J[g>>2]=l;J[g+8>>2]=J[h+16>>2];l=0;J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;ra:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;j=Cj(b);J[h+8>>2]=j;l=b+j|0;J[h+16>>2]=l;Xi(j,0,b);J[h+12>>2]=l}d=J[f+640>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);j=J[h+8>>2];l=J[h+12>>2]}J[d+4>>2]=l;J[d>>2]=j;J[d+8>>2]=J[h+16>>2];J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Mb(h+8|0);d=J[h+24>>2]+J[h+28>>2]|0;b=(d>>>0)/341|0;b=J[J[h+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=y;d=J[h+28>>2]+1|0;J[h+28>>2]=d;sa:{if(!d){break sa}w=f+604|0;x=f+16|0;while(1){n=J[h+12>>2];k=J[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=J[n+(b<<2)>>2]+P(e-P(b,341)|0,12)|0;p=J[b+8>>2];e=J[b+4>>2];i=J[b>>2];J[h+28>>2]=g;b=J[h+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[h+16>>2]=J[h+16>>2]-4}if(i>>>0>y>>>0){break sa}b=J[f+12>>2];j=(e|0)!=(b-1|0)?e+1|0:0;if(j>>>0>=b>>>0){break sa}o=P(p,12);z=o+J[f+640>>2]|0;t=o+J[f+628>>2]|0;g=J[f>>2];q=j<<2;e=J[q+J[z>>2]>>2];ta:{ua:{if((g|0)==(e|0)){o=0;if(!i){break ua}while(1){b=J[t>>2];r=J[b+8>>2];s=J[b+4>>2];n=J[b>>2];p=J[v>>2];d=J[p+4>>2];b=J[p+8>>2];va:{if(d>>>0>>0){J[d+8>>2]=r;J[d+4>>2]=s;J[d>>2]=n;J[p+4>>2]=d+12;break va}q=J[p>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=Cj(P(k,12))}else{b=0}j=b+P(g,12)|0;J[j+8>>2]=r;J[j+4>>2]=s;J[j>>2]=n;e=j+12|0;if((d|0)!=(q|0)){while(1){j=j-12|0;d=d-12|0;J[j>>2]=J[d>>2];J[j+4>>2]=J[d+4>>2];J[j+8>>2]=J[d+8>>2];if((d|0)!=(q|0)){continue}break}}J[p+8>>2]=b+P(k,12);J[p+4>>2]=e;J[p>>2]=j;if(!q){break va}xj(q)}J[f+8>>2]=J[f+8>>2]+1;o=o+1|0;if((i|0)!=(o|0)){continue}break}break ua}wa:{xa:{ya:{if(i>>>0<=2){b=J[f+616>>2];J[b>>2]=j;d=1;l=J[f+12>>2];if(l>>>0>1){break ya}break wa}if(M[f+8>>2]>M[f+4>>2]){break sa}b=J[f+628>>2];s=p+1|0;r=P(s,12);d=b+r|0;if((d|0)!=(t|0)){Nb(d,J[t>>2],J[t+4>>2]);b=J[f+628>>2]}b=q+J[b+r>>2]|0;J[b>>2]=J[b>>2]+(1<>>1|0;break xa}while(1){l=je(x+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break xa}break sa}while(1){j=(l-1|0)!=(j|0)?j+1|0:0;J[b+(d<<2)>>2]=j;d=d+1|0;l=J[f+12>>2];if(d>>>0>>0){continue}break}break wa}za:{Aa:{e=d-l|0;d=i-e|0;Ba:{if((d|0)==(e|0)){b=e;break Ba}n=J[f+596>>2];if((n|0)==J[f+588>>2]){break Aa}k=J[n>>2];g=J[f+600>>2];b=g+1|0;J[f+600>>2]=b;g=k&-2147483648>>>g;Ca:{if((b|0)==32){J[f+600>>2]=0;J[f+596>>2]=n+4;if(g){break Ca}break Aa}if(!g){break Aa}}b=d}d=e;break za}b=e}n=J[f+640>>2];k=n+o|0;g=J[k>>2];e=g+q|0;J[e>>2]=J[e>>2]+1;Nb(n+r|0,g,J[k+4>>2]);if(d){g=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];l=J[h+12>>2];if((g|0)==(((e|0)!=(l|0)?P(e-l>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+12>>2];g=J[h+24>>2]+J[h+28>>2]|0}e=(g>>>0)/341|0;e=J[(e<<2)+l>>2]+P(g-P(e,341)|0,12)|0;J[e+8>>2]=p;J[e+4>>2]=j;J[e>>2]=d;J[h+28>>2]=J[h+28>>2]+1}if(!b){break ua}l=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];d=J[h+12>>2];if((l|0)==(((d|0)!=(e|0)?P(e-d>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+24>>2]+J[h+28>>2]|0;e=J[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=J[e+(d<<2)>>2]+P(l-P(d,341)|0,12)|0;J[d+8>>2]=s;J[d+4>>2]=j;J[d>>2]=b;d=J[h+28>>2]+1|0;J[h+28>>2]=d;break ta}j=0;if(!i){break ua}while(1){if(J[f+12>>2]){p=J[f+548>>2];n=J[z>>2];u=J[f+604>>2];k=J[f+616>>2];d=0;while(1){o=k+(d<<2)|0;J[u+(J[o>>2]<<2)>>2]=0;g=J[f>>2];e=J[o>>2]<<2;b=J[e+n>>2];Da:{if((g|0)==(b|0)){break Da}q=e+u|0;l=g-b|0;r=J[f+560>>2];g=32-r|0;if((l|0)<=(g|0)){e=J[f+556>>2];if((e|0)==(p|0)){break sa}J[q>>2]=J[e>>2]<>>32-l;b=l+J[f+560>>2]|0;J[f+560>>2]=b;if((b|0)!=32){break Da}J[f+560>>2]=0;J[f+556>>2]=e+4;break Da}s=J[f+556>>2];b=s+4|0;if((b|0)==(p|0)){break sa}e=J[s>>2];J[f+556>>2]=b;b=l-g|0;J[f+560>>2]=b;J[q>>2]=J[s+4>>2]>>>32-b|e<>>32-l}e=J[o>>2]<<2;b=e+u|0;J[b>>2]=J[b>>2]|J[e+J[t>>2]>>2];d=d+1|0;if(d>>>0>2]){continue}break}}Ui(v,w);J[f+8>>2]=J[f+8>>2]+1;j=j+1|0;if((i|0)!=(j|0)){continue}break}}d=J[h+28>>2]}if(d){continue}break}}J[h+28>>2]=0;j=J[h+16>>2];d=J[h+12>>2];l=j-d|0;if(l>>>0>=9){while(1){xj(J[d>>2]);d=J[h+12>>2]+4|0;J[h+12>>2]=d;j=J[h+16>>2];l=j-d|0;if(l>>>0>8){continue}break}}b=170;Ea:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:J[h+24>>2]=b;break;default:break Ea}}Fa:{if((d|0)==(j|0)){break Fa}while(1){xj(J[d>>2]);d=d+4|0;if((j|0)!=(d|0)){continue}break}d=J[h+16>>2];b=J[h+12>>2];if((d|0)==(b|0)){break Fa}J[h+16>>2]=d+((b-d|0)+3&-4)}b=J[h+8>>2];if(b){xj(b)}fa=h+32|0;break ra}}Ab(f);break d;case 5:f=Bb(A+8|0,3);v=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Ga:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Ga}d=e+J[b>>2]|0;J[f>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[f>>2]>32){break Ga}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Ga}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[f+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break Ga}J[f+8>>2]=0;if(!Pb(f+16|0,b)){break Ga}if(!ge(f+544|0,b)){break Ga}if(!ge(f+564|0,b)){break Ga}if(!ge(f+584|0,b)){break Ga}y=J[f+4>>2];l=0;b=0;h=fa-32|0;fa=h;d=J[f+12>>2];J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=Cj(e);J[h+8>>2]=l;b=e+l|0;J[h+16>>2]=b;Xi(l,0,e);J[h+12>>2]=b}g=J[f+628>>2];e=J[g>>2];if(e){J[g+4>>2]=e;xj(e);d=J[f+12>>2];l=J[h+8>>2];b=J[h+12>>2]}J[g+4>>2]=b;J[g>>2]=l;J[g+8>>2]=J[h+16>>2];l=0;J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Ha:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;p=Cj(b);J[h+8>>2]=p;l=b+p|0;J[h+16>>2]=l;Xi(p,0,b);J[h+12>>2]=l}d=J[f+640>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);l=J[h+12>>2];p=J[h+8>>2]}J[d+4>>2]=l;J[d>>2]=p;J[d+8>>2]=J[h+16>>2];J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Mb(h+8|0);d=J[h+24>>2]+J[h+28>>2]|0;b=(d>>>0)/341|0;b=J[J[h+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=y;d=J[h+28>>2]+1|0;J[h+28>>2]=d;Ia:{if(!d){break Ia}w=f+604|0;x=f+16|0;while(1){n=J[h+12>>2];k=J[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=J[n+(b<<2)>>2]+P(e-P(b,341)|0,12)|0;o=J[b+8>>2];e=J[b+4>>2];i=J[b>>2];J[h+28>>2]=g;b=J[h+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[h+16>>2]=J[h+16>>2]-4}if(i>>>0>y>>>0){break Ia}m=0;b=J[f+12>>2];p=(e|0)!=(b-1|0)?e+1|0:0;if(p>>>0>=b>>>0){break Ia}b=J[f+628>>2];q=P(o,12);t=b+q|0;e=J[f>>2];r=p<<2;s=q+J[f+640>>2]|0;d=J[r+J[s>>2]>>2];Ja:{Ka:{if((e|0)==(d|0)){if(!i){break Ka}while(1){b=J[t>>2];r=J[b+8>>2];s=J[b+4>>2];n=J[b>>2];o=J[v>>2];d=J[o+4>>2];b=J[o+8>>2];La:{if(d>>>0>>0){J[d+8>>2]=r;J[d+4>>2]=s;J[d>>2]=n;J[o+4>>2]=d+12;break La}q=J[o>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=Cj(P(k,12))}else{b=0}p=b+P(g,12)|0;J[p+8>>2]=r;J[p+4>>2]=s;J[p>>2]=n;e=p+12|0;if((d|0)!=(q|0)){while(1){p=p-12|0;d=d-12|0;J[p>>2]=J[d>>2];J[p+4>>2]=J[d+4>>2];J[p+8>>2]=J[d+8>>2];if((d|0)!=(q|0)){continue}break}}J[o+8>>2]=b+P(k,12);J[o+4>>2]=e;J[o>>2]=p;if(!q){break La}xj(q)}J[f+8>>2]=J[f+8>>2]+1;m=m+1|0;if((i|0)!=(m|0)){continue}break}break Ka}Ma:{Na:{Oa:{if(i>>>0<=2){b=J[f+616>>2];J[b>>2]=p;d=1;l=J[f+12>>2];if(l>>>0>1){break Oa}break Ma}if(M[f+8>>2]>M[f+4>>2]){break Ia}k=b;b=q+12|0;Nb(k+b|0,J[t>>2],J[t+4>>2]);b=r+J[b+J[f+628>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<>>1|0;break Na}while(1){l=je(x+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break Na}break Ia}while(1){p=(l-1|0)!=(p|0)?p+1|0:0;J[b+(d<<2)>>2]=p;d=d+1|0;l=J[f+12>>2];if(d>>>0>>0){continue}break}break Ma}s=o+1|0;Pa:{Qa:{e=d-l|0;d=i-e|0;Ra:{if((d|0)==(e|0)){b=e;break Ra}n=J[f+596>>2];if((n|0)==J[f+588>>2]){break Qa}k=J[n>>2];g=J[f+600>>2];b=g+1|0;J[f+600>>2]=b;g=k&-2147483648>>>g;Sa:{if((b|0)==32){J[f+600>>2]=0;J[f+596>>2]=n+4;if(g){break Sa}break Qa}if(!g){break Qa}}b=d}d=e;break Pa}b=e}n=J[f+640>>2];k=n+q|0;g=J[k>>2];e=g+r|0;J[e>>2]=J[e>>2]+1;Nb(n+P(s,12)|0,g,J[k+4>>2]);if(d){m=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];l=J[h+12>>2];if((m|0)==(((e|0)!=(l|0)?P(e-l>>2,341)-1|0:0)|0)){Mb(h+8|0);m=J[h+24>>2]+J[h+28>>2]|0;l=J[h+12>>2]}e=(m>>>0)/341|0;e=J[l+(e<<2)>>2]+P(m-P(e,341)|0,12)|0;J[e+8>>2]=o;J[e+4>>2]=p;J[e>>2]=d;J[h+28>>2]=J[h+28>>2]+1}if(!b){break Ka}l=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];d=J[h+12>>2];if((l|0)==(((d|0)!=(e|0)?P(e-d>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+24>>2]+J[h+28>>2]|0;e=J[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=J[e+(d<<2)>>2]+P(l-P(d,341)|0,12)|0;J[d+8>>2]=s;J[d+4>>2]=p;J[d>>2]=b;d=J[h+28>>2]+1|0;J[h+28>>2]=d;break Ja}if(!i){break Ka}while(1){if(J[f+12>>2]){z=J[f+548>>2];n=J[s>>2];u=J[f+604>>2];k=J[f+616>>2];d=0;while(1){p=k+(d<<2)|0;J[u+(J[p>>2]<<2)>>2]=0;g=J[f>>2];e=J[p>>2]<<2;b=J[e+n>>2];Ta:{if((g|0)==(b|0)){break Ta}o=e+u|0;l=g-b|0;q=J[f+560>>2];g=32-q|0;if((l|0)<=(g|0)){e=J[f+556>>2];if((e|0)==(z|0)){break Ia}J[o>>2]=J[e>>2]<>>32-l;b=l+J[f+560>>2]|0;J[f+560>>2]=b;if((b|0)!=32){break Ta}J[f+560>>2]=0;J[f+556>>2]=e+4;break Ta}r=J[f+556>>2];b=r+4|0;if((b|0)==(z|0)){break Ia}e=J[r>>2];J[f+556>>2]=b;b=l-g|0;J[f+560>>2]=b;J[o>>2]=J[r+4>>2]>>>32-b|e<>>32-l}e=J[p>>2]<<2;b=e+u|0;J[b>>2]=J[b>>2]|J[e+J[t>>2]>>2];d=d+1|0;if(d>>>0>2]){continue}break}}Ui(v,w);J[f+8>>2]=J[f+8>>2]+1;m=m+1|0;if((i|0)!=(m|0)){continue}break}}d=J[h+28>>2]}if(d){continue}break}}J[h+28>>2]=0;p=J[h+16>>2];d=J[h+12>>2];l=p-d|0;if(l>>>0>=9){while(1){xj(J[d>>2]);d=J[h+12>>2]+4|0;J[h+12>>2]=d;p=J[h+16>>2];l=p-d|0;if(l>>>0>8){continue}break}}b=170;Ua:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:J[h+24>>2]=b;break;default:break Ua}}Va:{if((d|0)==(p|0)){break Va}while(1){xj(J[d>>2]);d=d+4|0;if((p|0)!=(d|0)){continue}break}d=J[h+16>>2];b=J[h+12>>2];if((d|0)==(b|0)){break Va}J[h+16>>2]=d+((b-d|0)+3&-4)}b=J[h+8>>2];if(b){xj(b)}fa=h+32|0;break Ha}}Ab(f);break d;case 6:break f;default:break c}}f=Bb(A+8|0,3);v=A+664|0;k=J[b+8>>2];n=J[b+12>>2];d=J[b+20>>2];e=J[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;Wa:{if(g>>>0>k>>>0&(d|0)>=(n|0)|(d|0)>(n|0)){break Wa}d=e+J[b>>2]|0;J[f>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[b+20>>2];k=d;g=J[b+16>>2];e=g+4|0;d=e>>>0<4?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;if(M[f>>2]>32){break Wa}n=J[b+8>>2];s=J[b+12>>2];d=k;g=g+8|0;d=g>>>0<8?d+1|0:d;if(g>>>0>n>>>0&(d|0)>=(s|0)|(d|0)>(s|0)){break Wa}d=e+J[b>>2]|0;e=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[f+4>>2]=e;g=J[b+20>>2];d=J[b+16>>2]+4|0;g=d>>>0<4?g+1|0:g;J[b+16>>2]=d;J[b+20>>2]=g;if(!e){break Wa}J[f+8>>2]=0;if(!Pb(f+16|0,b)){break Wa}if(!ge(f+544|0,b)){break Wa}if(!ge(f+564|0,b)){break Wa}if(!ge(f+584|0,b)){break Wa}y=J[f+4>>2];l=0;b=0;h=fa-32|0;fa=h;d=J[f+12>>2];J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;if(d){if(d>>>0>=1073741824){break b}e=d<<2;l=Cj(e);J[h+8>>2]=l;b=e+l|0;J[h+16>>2]=b;Xi(l,0,e);J[h+12>>2]=b}g=J[f+628>>2];e=J[g>>2];if(e){J[g+4>>2]=e;xj(e);d=J[f+12>>2];l=J[h+8>>2];b=J[h+12>>2]}J[g+4>>2]=b;J[g>>2]=l;J[g+8>>2]=J[h+16>>2];l=0;J[h+16>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Xa:{if(d){if(d>>>0>=1073741824){break b}b=d<<2;j=Cj(b);J[h+8>>2]=j;l=b+j|0;J[h+16>>2]=l;Xi(j,0,b);J[h+12>>2]=l}d=J[f+640>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b);j=J[h+8>>2];l=J[h+12>>2]}J[d+4>>2]=l;J[d>>2]=j;J[d+8>>2]=J[h+16>>2];J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Mb(h+8|0);d=J[h+24>>2]+J[h+28>>2]|0;b=(d>>>0)/341|0;b=J[J[h+12>>2]+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=y;d=J[h+28>>2]+1|0;J[h+28>>2]=d;Ya:{if(!d){break Ya}w=f+604|0;x=f+16|0;while(1){n=J[h+12>>2];k=J[h+24>>2];g=d-1|0;e=k+g|0;b=(e>>>0)/341|0;b=J[n+(b<<2)>>2]+P(e-P(b,341)|0,12)|0;p=J[b+8>>2];i=J[b>>2];J[h+28>>2]=g;b=J[h+16>>2];if((((b|0)!=(n|0)?P(b-n>>2,341)-1|0:0)-(d+k|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[h+16>>2]=J[h+16>>2]-4}if(i>>>0>y>>>0){break Ya}b=J[f+628>>2];o=P(p,12);z=o+J[f+640>>2]|0;j=Si(f,i,z);if(j>>>0>=M[f+12>>2]){break Ya}t=b+o|0;g=J[f>>2];q=j<<2;e=J[q+J[z>>2]>>2];Za:{_a:{if((g|0)==(e|0)){o=0;if(!i){break _a}while(1){b=J[t>>2];r=J[b+8>>2];s=J[b+4>>2];n=J[b>>2];p=J[v>>2];d=J[p+4>>2];b=J[p+8>>2];$a:{if(d>>>0>>0){J[d+8>>2]=r;J[d+4>>2]=s;J[d>>2]=n;J[p+4>>2]=d+12;break $a}q=J[p>>2];g=(d-q|0)/12|0;k=g+1|0;if(k>>>0>=357913942){break b}e=(b-q|0)/12|0;b=e<<1;k=e>>>0>=178956970?357913941:b>>>0>k>>>0?b:k;if(k){if(k>>>0>=357913942){break a}b=Cj(P(k,12))}else{b=0}j=b+P(g,12)|0;J[j+8>>2]=r;J[j+4>>2]=s;J[j>>2]=n;e=j+12|0;if((d|0)!=(q|0)){while(1){j=j-12|0;d=d-12|0;J[j>>2]=J[d>>2];J[j+4>>2]=J[d+4>>2];J[j+8>>2]=J[d+8>>2];if((d|0)!=(q|0)){continue}break}}J[p+8>>2]=b+P(k,12);J[p+4>>2]=e;J[p>>2]=j;if(!q){break $a}xj(q)}J[f+8>>2]=J[f+8>>2]+1;o=o+1|0;if((i|0)!=(o|0)){continue}break}break _a}ab:{bb:{cb:{if(i>>>0<=2){b=J[f+616>>2];J[b>>2]=j;d=1;l=J[f+12>>2];if(l>>>0>1){break cb}break ab}if(M[f+8>>2]>M[f+4>>2]){break Ya}b=J[f+628>>2];s=p+1|0;r=P(s,12);d=b+r|0;if((d|0)!=(t|0)){Nb(d,J[t>>2],J[t+4>>2]);b=J[f+628>>2]}b=q+J[b+r>>2]|0;J[b>>2]=J[b>>2]+(1<>>1|0;break bb}while(1){l=je(x+(d<<4)|0)|l<<1;d=d+1|0;if((b|0)!=(d|0)){continue}break}d=i>>>1|0;if(l>>>0<=d>>>0){break bb}break Ya}while(1){j=(l-1|0)!=(j|0)?j+1|0:0;J[b+(d<<2)>>2]=j;d=d+1|0;l=J[f+12>>2];if(d>>>0>>0){continue}break}break ab}db:{eb:{e=d-l|0;d=i-e|0;fb:{if((d|0)==(e|0)){b=e;break fb}n=J[f+596>>2];if((n|0)==J[f+588>>2]){break eb}k=J[n>>2];g=J[f+600>>2];b=g+1|0;J[f+600>>2]=b;g=k&-2147483648>>>g;gb:{if((b|0)==32){J[f+600>>2]=0;J[f+596>>2]=n+4;if(g){break gb}break eb}if(!g){break eb}}b=d}d=e;break db}b=e}n=J[f+640>>2];k=n+o|0;g=J[k>>2];e=g+q|0;J[e>>2]=J[e>>2]+1;Nb(n+r|0,g,J[k+4>>2]);if(d){g=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];l=J[h+12>>2];if((g|0)==(((e|0)!=(l|0)?P(e-l>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+12>>2];g=J[h+24>>2]+J[h+28>>2]|0}e=(g>>>0)/341|0;e=J[(e<<2)+l>>2]+P(g-P(e,341)|0,12)|0;J[e+8>>2]=p;J[e+4>>2]=j;J[e>>2]=d;J[h+28>>2]=J[h+28>>2]+1}if(!b){break _a}l=J[h+28>>2]+J[h+24>>2]|0;e=J[h+16>>2];d=J[h+12>>2];if((l|0)==(((d|0)!=(e|0)?P(e-d>>2,341)-1|0:0)|0)){Mb(h+8|0);l=J[h+24>>2]+J[h+28>>2]|0;e=J[h+12>>2]}else{e=d}d=(l>>>0)/341|0;d=J[e+(d<<2)>>2]+P(l-P(d,341)|0,12)|0;J[d+8>>2]=s;J[d+4>>2]=j;J[d>>2]=b;d=J[h+28>>2]+1|0;J[h+28>>2]=d;break Za}j=0;if(!i){break _a}while(1){if(J[f+12>>2]){p=J[f+548>>2];n=J[z>>2];u=J[f+604>>2];k=J[f+616>>2];d=0;while(1){o=k+(d<<2)|0;J[u+(J[o>>2]<<2)>>2]=0;g=J[f>>2];e=J[o>>2]<<2;b=J[e+n>>2];hb:{if((g|0)==(b|0)){break hb}q=e+u|0;l=g-b|0;r=J[f+560>>2];g=32-r|0;if((l|0)<=(g|0)){e=J[f+556>>2];if((e|0)==(p|0)){break Ya}J[q>>2]=J[e>>2]<>>32-l;b=l+J[f+560>>2]|0;J[f+560>>2]=b;if((b|0)!=32){break hb}J[f+560>>2]=0;J[f+556>>2]=e+4;break hb}s=J[f+556>>2];b=s+4|0;if((b|0)==(p|0)){break Ya}e=J[s>>2];J[f+556>>2]=b;b=l-g|0;J[f+560>>2]=b;J[q>>2]=J[s+4>>2]>>>32-b|e<>>32-l}e=J[o>>2]<<2;b=e+u|0;J[b>>2]=J[b>>2]|J[e+J[t>>2]>>2];d=d+1|0;if(d>>>0>2]){continue}break}}Ui(v,w);J[f+8>>2]=J[f+8>>2]+1;j=j+1|0;if((i|0)!=(j|0)){continue}break}}d=J[h+28>>2]}if(d){continue}break}}J[h+28>>2]=0;j=J[h+16>>2];d=J[h+12>>2];l=j-d|0;if(l>>>0>=9){while(1){xj(J[d>>2]);d=J[h+12>>2]+4|0;J[h+12>>2]=d;j=J[h+16>>2];l=j-d|0;if(l>>>0>8){continue}break}}b=170;ib:{switch((l>>>2|0)-1|0){case 1:b=341;case 0:J[h+24>>2]=b;break;default:break ib}}jb:{if((d|0)==(j|0)){break jb}while(1){xj(J[d>>2]);d=d+4|0;if((j|0)!=(d|0)){continue}break}d=J[h+16>>2];b=J[h+12>>2];if((d|0)==(b|0)){break jb}J[h+16>>2]=d+((b-d|0)+3&-4)}b=J[h+8>>2];if(b){xj(b)}fa=h+32|0;break Xa}}Ab(f)}n=J[a+12>>2]==((J[c+4>>2]-J[c>>2]|0)/12|0)}fa=A+672|0;return n}Ia();C()}Va();C()}function pe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!a){return 1}e=J[c+20>>2];g=J[c+12>>2];i=J[c+16>>2];a:{if((e|0)>=(g|0)&i>>>0>=M[c+8>>2]|(e|0)>(g|0)){break a}g=K[i+J[c>>2]|0];i=i+1|0;e=i?e:e+1|0;J[c+16>>2]=i;J[c+20>>2]=e;b:{switch(g|0){case 0:e=a;f=b;i=d;a=0;d=0;m=fa+-64|0;fa=m;J[m+56>>2]=0;J[m+48>>2]=0;J[m+52>>2]=0;J[m+40>>2]=0;J[m+44>>2]=0;J[m+32>>2]=0;J[m+36>>2]=0;J[m+24>>2]=0;J[m+28>>2]=0;J[m+16>>2]=0;J[m+20>>2]=0;J[m+8>>2]=0;J[m+12>>2]=0;c:{if(!qe(m+8|0,c)){break c}if(!re(m+8|0,c)|(J[m+20>>2]?0:e)){break c}rg(c,0,0);if(e){s=f<<2;t=J[m+36>>2];w=J[m+48>>2];x=J[m+24>>2];l=J[m+56>>2];j=J[m+52>>2];while(1){d:{if(l>>>0>16383){break d}while(1){if((j|0)<=0){break d}j=j-1|0;J[m+52>>2]=j;l=K[j+w|0]|l<<8;J[m+56>>2]=l;if(l>>>0<16384){continue}break}}a=l&4095;r=J[(a<<2)+x>>2];b=(r<<3)+t|0;l=(P(J[b>>2],l>>>12|0)+a|0)-J[b+4>>2]|0;J[m+56>>2]=l;if((f|0)>0){a=0;if(!K[c+36|0]|r>>>0>32){break c}g=d+f|0;e:{if(!r){Xi(i+(d<<2)|0,0,s);break e}y=r&-2;z=r&1;b=J[c+32>>2];h=J[c+28>>2];n=J[c+24>>2];while(1){k=0;a=b;o=0;q=0;if((r|0)!=1){while(1){p=n+(a>>>3|0)|0;f:{if(p>>>0>=h>>>0){p=0;break f}p=K[p|0];b=a+1|0;J[c+32>>2]=b;p=p>>>(a&7)&1;a=b}p=p<>>3|0)|0;if(u>>>0>>0){o=K[u|0];b=a+1|0;J[c+32>>2]=b;o=o>>>(a&7)&1;a=b}u=k|1;k=k+2|0;o=p|o<>>3|0)|0;if(p>>>0>>0){p=K[p|0];b=a+1|0;J[c+32>>2]=b;a=p>>>(a&7)&1}else{a=0}o=a<>2]=o;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=g}v=f+v|0;if(e>>>0>v>>>0){continue}break}}H[c+36|0]=0;b=J[c+20>>2];e=0;d=J[c+32>>2]+7|0;e=d>>>0<7?1:e;d=(e&7)<<29|d>>>3;a=d+J[c+16>>2]|0;e=(e>>>3|0)+b|0;J[c+16>>2]=a;J[c+20>>2]=a>>>0>>0?e+1|0:e;a=1}b=J[m+36>>2];if(b){J[m+40>>2]=b;xj(b)}b=J[m+24>>2];if(b){J[m+28>>2]=b;xj(b)}b=J[m+8>>2];if(b){J[m+12>>2]=b;xj(b)}fa=m- -64|0;return a;case 1:break b;default:break a}}b=0;e=J[c+20>>2];g=J[c+12>>2];i=J[c+16>>2];g:{if((e|0)>=(g|0)&i>>>0>=M[c+8>>2]|(e|0)>(g|0)){break g}g=K[i+J[c>>2]|0];i=i+1|0;e=i?e:e+1|0;J[c+16>>2]=i;J[c+20>>2]=e;h:{switch(g-1|0){case 8:g=a;r=d;i=fa+-64|0;fa=i;J[i+56>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;j=i+8|0;a=L[c+38>>1];i:{j:{if(!a){break j}k:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];e=J[c+20>>2];a=J[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break j}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[j+12>>2]=h;e=J[c+20>>2];f=J[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;break k}if(!te(1,j+12|0,c)){break j}f=J[c+16>>2];e=J[c+20>>2];h=J[j+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break j}b=J[j>>2];a=J[j+4>>2]-b>>2;l:{if(a>>>0>>0){La(j,h-a|0);h=J[j+12>>2];break l}if(a>>>0<=h>>>0){break l}J[j+4>>2]=b+(h<<2)}d=1;if(!h){break i}f=J[c+16>>2];e=J[c+20>>2];s=J[j>>2];m=J[c+8>>2];n=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=m>>>0|(e|0)>(n|0)){break i}d=J[c>>2];p=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=p>>>2|0;l=0;m:{n:{o:{p:{t=p&3;switch(t|0){case 0:break n;case 3:break p;default:break o}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break i}Xi(s+(b<<2)|0,0,(p&252)+4|0);b=a;break m}while(1){if((f|0)==(m|0)&(e|0)==(n|0)){break j}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}J[s+(b<<2)>>2]=a}b=b+1|0;h=J[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=J[j>>2];d=J[j+16>>2];b=J[j+20>>2]-d|0;q:{if(b>>>0<=32767){La(a,8192-(b>>>2|0)|0);break q}if((b|0)==32768){break q}J[j+20>>2]=d+32768}d=j+28|0;b=J[d>>2];f=J[j+32>>2]-b>>3;r:{if(f>>>0>>0){ue(d,h-f|0);b=J[d>>2];break r}if(f>>>0>h>>>0){J[j+32>>2]=(h<<3)+b}if(!h){break j}}m=J[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=J[e>>2];l=(f<<3)+b|0;a=d;J[l+4>>2]=a;J[l>>2]=j;e=J[e>>2];d=e+a|0;if(d>>>0>8192){break j}s:{if(a>>>0>=d>>>0){break s}l=0;j=e&7;if(j){while(1){J[m+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break s}while(1){e=m+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==8192}d=k}t:{if(!d|(J[i+20>>2]?0:g)){break t}d=0;m=fa-16|0;fa=m;u:{v:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break u}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break v}if(!ve(1,m+8|0,c)){break u}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[m+8>>2];k=J[m+12>>2]}j=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>j>>>0|b>>>0>>0){break u}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break u}b=J[c>>2]+f|0;J[i+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];w:{if(e>>>0<=63){J[i+52>>2]=c;a=K[f|0]&63;break w}x:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break u}a=a-2|0;J[i+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break w;case 1:if(a>>>0<3){break u}a=a-3|0;J[i+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break w;default:break x}}a=a-4|0;J[i+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[i+56>>2]=a+32768;d=a>>>0<8355840}fa=m+16|0;if(!d){break t}if(!g){o=1;break t}b=J[i+52>>2];a=J[i+56>>2];c=J[i+36>>2];d=J[i+48>>2];f=J[i+24>>2];while(1){y:{if(a>>>0>32767){break y}while(1){if((b|0)<=0){break y}b=b-1|0;J[i+52>>2]=b;a=K[b+d|0]|a<<8;J[i+56>>2]=a;if(a>>>0<32768){continue}break}}e=a&8191;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>13|0)+e|0)-J[k+4>>2]|0;J[i+56>>2]=a;J[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((g|0)!=(q|0)){continue}break}}a=J[i+36>>2];if(a){J[i+40>>2]=a;xj(a)}a=J[i+24>>2];if(a){J[i+28>>2]=a;xj(a)}a=J[i+8>>2];if(a){J[i+12>>2]=a;xj(a)}fa=i- -64|0;b=o;break g;case 9:m=a;r=d;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;j=g+8|0;a=L[c+38>>1];z:{A:{if(!a){break A}B:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];e=J[c+20>>2];a=J[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break A}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[j+12>>2]=h;e=J[c+20>>2];f=J[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;break B}if(!te(1,j+12|0,c)){break A}f=J[c+16>>2];e=J[c+20>>2];h=J[j+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break A}b=J[j>>2];a=J[j+4>>2]-b>>2;C:{if(a>>>0>>0){La(j,h-a|0);h=J[j+12>>2];break C}if(a>>>0<=h>>>0){break C}J[j+4>>2]=b+(h<<2)}d=1;if(!h){break z}f=J[c+16>>2];e=J[c+20>>2];s=J[j>>2];i=J[c+8>>2];n=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break z}d=J[c>>2];p=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=p>>>2|0;l=0;D:{E:{F:{G:{t=p&3;switch(t|0){case 0:break E;case 3:break G;default:break F}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break z}Xi(s+(b<<2)|0,0,(p&252)+4|0);b=a;break D}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break A}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}J[s+(b<<2)>>2]=a}b=b+1|0;h=J[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=J[j>>2];d=J[j+16>>2];b=J[j+20>>2]-d|0;H:{if(b>>>0<=131071){La(a,32768-(b>>>2|0)|0);break H}if((b|0)==131072){break H}J[j+20>>2]=d+131072}d=j+28|0;b=J[d>>2];f=J[j+32>>2]-b>>3;I:{if(f>>>0>>0){ue(d,h-f|0);b=J[d>>2];break I}if(f>>>0>h>>>0){J[j+32>>2]=(h<<3)+b}if(!h){break A}}i=J[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=J[e>>2];l=(f<<3)+b|0;a=d;J[l+4>>2]=a;J[l>>2]=j;e=J[e>>2];d=e+a|0;if(d>>>0>32768){break A}J:{if(a>>>0>=d>>>0){break J}l=0;j=e&7;if(j){while(1){J[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break J}while(1){e=i+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==32768}d=k}K:{if(!d|(J[g+20>>2]?0:m)){break K}d=0;j=fa-16|0;fa=j;L:{M:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break L}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break M}if(!ve(1,j+8|0,c)){break L}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[j+8>>2];k=J[j+12>>2]}i=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>i>>>0|b>>>0>>0){break L}i=e+k|0;b=a+f|0;i=b>>>0>>0?i+1|0:i;J[c+16>>2]=b;J[c+20>>2]=i;if((a|0)<=0){break L}b=J[c>>2]+f|0;J[g+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];N:{if(e>>>0<=63){J[g+52>>2]=c;a=K[f|0]&63;break N}O:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break L}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break N;case 1:if(a>>>0<3){break L}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break N;default:break O}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[g+56>>2]=a+131072;d=a>>>0<33423360}fa=j+16|0;if(!d){break K}if(!m){o=1;break K}b=J[g+52>>2];a=J[g+56>>2];c=J[g+36>>2];d=J[g+48>>2];f=J[g+24>>2];while(1){P:{if(a>>>0>131071){break P}while(1){if((b|0)<=0){break P}b=b-1|0;J[g+52>>2]=b;a=K[b+d|0]|a<<8;J[g+56>>2]=a;if(a>>>0<131072){continue}break}}e=a&32767;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>15|0)+e|0)-J[k+4>>2]|0;J[g+56>>2]=a;J[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;b=o;break g;case 10:m=a;j=d;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;n=g+8|0;a=L[c+38>>1];Q:{R:{if(!a){break R}S:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];e=J[c+20>>2];a=J[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break R}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[n+12>>2]=h;e=J[c+20>>2];f=J[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;break S}if(!te(1,n+12|0,c)){break R}f=J[c+16>>2];e=J[c+20>>2];h=J[n+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break R}b=J[n>>2];a=J[n+4>>2]-b>>2;T:{if(a>>>0>>0){La(n,h-a|0);h=J[n+12>>2];break T}if(a>>>0<=h>>>0){break T}J[n+4>>2]=b+(h<<2)}d=1;if(!h){break Q}f=J[c+16>>2];e=J[c+20>>2];t=J[n>>2];r=J[c+8>>2];p=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(p|0)&f>>>0>=r>>>0|(e|0)>(p|0)){break Q}d=J[c>>2];s=K[d+f|0];f=f+1|0;i=f?e:e+1|0;J[c+16>>2]=f;e=i;J[c+20>>2]=e;a=s>>>2|0;l=0;U:{V:{W:{X:{i=s&3;switch(i|0){case 0:break V;case 3:break X;default:break W}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break Q}Xi(t+(b<<2)|0,0,(s&252)+4|0);b=a;break U}while(1){if((f|0)==(r|0)&(e|0)==(p|0)){break R}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((i|0)!=(l|0)){continue}break}}J[t+(b<<2)>>2]=a}b=b+1|0;h=J[n+12>>2];if(b>>>0>>0){continue}break}a=n+16|0;r=J[n>>2];d=J[n+16>>2];b=J[n+20>>2]-d|0;Y:{if(b>>>0<=262143){La(a,65536-(b>>>2|0)|0);break Y}if((b|0)==262144){break Y}J[n+20>>2]=d+262144}d=n+28|0;b=J[d>>2];f=J[n+32>>2]-b>>3;Z:{if(f>>>0>>0){ue(d,h-f|0);b=J[d>>2];break Z}if(f>>>0>h>>>0){J[n+32>>2]=(h<<3)+b}if(!h){break R}}i=J[a>>2];f=0;d=0;while(1){e=r+(f<<2)|0;l=J[e>>2];n=(f<<3)+b|0;a=d;J[n+4>>2]=a;J[n>>2]=l;e=J[e>>2];d=e+a|0;if(d>>>0>65536){break R}_:{if(a>>>0>=d>>>0){break _}l=0;n=e&7;if(n){while(1){J[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((n|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break _}while(1){e=i+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==65536}d=k}$:{if(!d|(J[g+20>>2]?0:m)){break $}d=0;i=fa-16|0;fa=i;aa:{ba:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break aa}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break ba}if(!ve(1,i+8|0,c)){break aa}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[i+8>>2];k=J[i+12>>2]}r=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>r>>>0|b>>>0>>0){break aa}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break aa}b=J[c>>2]+f|0;J[g+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];ca:{if(e>>>0<=63){J[g+52>>2]=c;a=K[f|0]&63;break ca}da:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break aa}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break ca;case 1:if(a>>>0<3){break aa}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break ca;default:break da}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[g+56>>2]=a+262144;d=a>>>0<66846720}fa=i+16|0;if(!d){break $}if(!m){o=1;break $}b=J[g+52>>2];a=J[g+56>>2];c=J[g+36>>2];d=J[g+48>>2];f=J[g+24>>2];while(1){ea:{if(a>>>0>262143){break ea}while(1){if((b|0)<=0){break ea}b=b-1|0;J[g+52>>2]=b;a=K[b+d|0]|a<<8;J[g+56>>2]=a;if(a>>>0<262144){continue}break}}e=a&65535;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>16|0)+e|0)-J[k+4>>2]|0;J[g+56>>2]=a;J[j+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;b=o;break g;case 11:m=a;r=d;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;j=g+8|0;a=L[c+38>>1];fa:{ga:{if(!a){break ga}ha:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];e=J[c+20>>2];a=J[c+16>>2];f=a+4|0;e=f>>>0<4?e+1|0:e;if(d>>>0>>0&(b|0)<=(e|0)|(b|0)<(e|0)){break ga}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[j+12>>2]=h;i=J[c+20>>2];f=J[c+16>>2]+4|0;i=f>>>0<4?i+1|0:i;J[c+16>>2]=f;e=i;J[c+20>>2]=e;break ha}if(!te(1,j+12|0,c)){break ga}f=J[c+16>>2];e=J[c+20>>2];h=J[j+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break ga}b=J[j>>2];a=J[j+4>>2]-b>>2;ia:{if(a>>>0>>0){La(j,h-a|0);h=J[j+12>>2];break ia}if(a>>>0<=h>>>0){break ia}J[j+4>>2]=b+(h<<2)}d=1;if(!h){break fa}f=J[c+16>>2];e=J[c+20>>2];s=J[j>>2];i=J[c+8>>2];n=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break fa}d=J[c>>2];p=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=p>>>2|0;l=0;ja:{ka:{la:{ma:{t=p&3;switch(t|0){case 0:break ka;case 3:break ma;default:break la}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break fa}Xi(s+(b<<2)|0,0,(p&252)+4|0);b=a;break ja}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break ga}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}J[s+(b<<2)>>2]=a}b=b+1|0;h=J[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=J[j>>2];d=J[j+16>>2];b=J[j+20>>2]-d|0;na:{if(b>>>0<=1048575){La(a,262144-(b>>>2|0)|0);break na}if((b|0)==1048576){break na}J[j+20>>2]=d- -1048576}d=j+28|0;b=J[d>>2];f=J[j+32>>2]-b>>3;oa:{if(f>>>0>>0){ue(d,h-f|0);b=J[d>>2];break oa}if(f>>>0>h>>>0){J[j+32>>2]=(h<<3)+b}if(!h){break ga}}i=J[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=J[e>>2];l=(f<<3)+b|0;a=d;J[l+4>>2]=a;J[l>>2]=j;e=J[e>>2];d=e+a|0;if(d>>>0>262144){break ga}pa:{if(a>>>0>=d>>>0){break pa}l=0;j=e&7;if(j){while(1){J[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break pa}while(1){e=i+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==262144}d=k}qa:{if(!d|(J[g+20>>2]?0:m)){break qa}d=0;j=fa-16|0;fa=j;ra:{sa:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;i=J[c+20>>2];k=J[c+16>>2];f=k+8|0;i=f>>>0<8?i+1|0:i;e=i;if(b>>>0>>0&(e|0)>=(a|0)|(a|0)<(e|0)){break ra}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break sa}if(!ve(1,j+8|0,c)){break ra}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[j+8>>2];k=J[j+12>>2]}i=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>i>>>0|b>>>0>>0){break ra}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break ra}b=J[c>>2]+f|0;J[g+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];ta:{if(e>>>0<=63){J[g+52>>2]=c;a=K[f|0]&63;break ta}ua:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break ra}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break ta;case 1:if(a>>>0<3){break ra}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break ta;default:break ua}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[g+56>>2]=a- -1048576;d=a>>>0<267386880}fa=j+16|0;if(!d){break qa}if(!m){o=1;break qa}b=J[g+52>>2];a=J[g+56>>2];c=J[g+36>>2];d=J[g+48>>2];f=J[g+24>>2];while(1){va:{if(a>>>0>1048575){break va}while(1){if((b|0)<=0){break va}b=b-1|0;J[g+52>>2]=b;a=K[b+d|0]|a<<8;J[g+56>>2]=a;if(a>>>0<1048576){continue}break}}e=a&262143;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>18|0)+e|0)-J[k+4>>2]|0;J[g+56>>2]=a;J[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;b=o;break g;case 12:m=a;r=d;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;j=g+8|0;a=L[c+38>>1];wa:{xa:{if(!a){break xa}ya:{if(a>>>0<=511){d=J[c+8>>2];b=J[c+12>>2];i=J[c+20>>2];a=J[c+16>>2];f=a+4|0;i=f>>>0<4?i+1|0:i;if(d>>>0>>0&(b|0)<=(i|0)|(b|0)<(i|0)){break xa}a=a+J[c>>2]|0;h=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);J[j+12>>2]=h;e=J[c+20>>2];f=J[c+16>>2]+4|0;e=f>>>0<4?e+1|0:e;J[c+16>>2]=f;J[c+20>>2]=e;break ya}if(!te(1,j+12|0,c)){break xa}f=J[c+16>>2];e=J[c+20>>2];h=J[j+12>>2]}a=J[c+8>>2];d=a-f|0;a=J[c+12>>2]-((a>>>0>>0)+e|0)|0;if(d>>>0>>6>>>0&(a|0)<=0|(a|0)<0){break xa}b=J[j>>2];a=J[j+4>>2]-b>>2;za:{if(a>>>0>>0){La(j,h-a|0);h=J[j+12>>2];break za}if(a>>>0<=h>>>0){break za}J[j+4>>2]=b+(h<<2)}d=1;if(!h){break wa}f=J[c+16>>2];e=J[c+20>>2];s=J[j>>2];i=J[c+8>>2];n=J[c+12>>2];b=0;while(1){d=0;if((e|0)>=(n|0)&f>>>0>=i>>>0|(e|0)>(n|0)){break wa}d=J[c>>2];p=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=p>>>2|0;l=0;Aa:{Ba:{Ca:{Da:{t=p&3;switch(t|0){case 0:break Ba;case 3:break Da;default:break Ca}}a=a+b|0;d=0;if(a>>>0>=h>>>0){break wa}Xi(s+(b<<2)|0,0,(p&252)+4|0);b=a;break Aa}while(1){if((f|0)==(i|0)&(e|0)==(n|0)){break xa}h=K[d+f|0];f=f+1|0;e=f?e:e+1|0;J[c+16>>2]=f;J[c+20>>2]=e;a=h<<(l<<3|6)|a;l=l+1|0;if((t|0)!=(l|0)){continue}break}}J[s+(b<<2)>>2]=a}b=b+1|0;h=J[j+12>>2];if(b>>>0>>0){continue}break}a=j+16|0;n=J[j>>2];d=J[j+16>>2];b=J[j+20>>2]-d|0;Ea:{if(b>>>0<=2097151){La(a,524288-(b>>>2|0)|0);break Ea}if((b|0)==2097152){break Ea}J[j+20>>2]=d+2097152}d=j+28|0;b=J[d>>2];f=J[j+32>>2]-b>>3;Fa:{if(f>>>0>>0){ue(d,h-f|0);b=J[d>>2];break Fa}if(f>>>0>h>>>0){J[j+32>>2]=(h<<3)+b}if(!h){break xa}}i=J[a>>2];f=0;d=0;while(1){e=n+(f<<2)|0;j=J[e>>2];l=(f<<3)+b|0;a=d;J[l+4>>2]=a;J[l>>2]=j;e=J[e>>2];d=e+a|0;if(d>>>0>524288){break xa}Ga:{if(a>>>0>=d>>>0){break Ga}l=0;j=e&7;if(j){while(1){J[i+(a<<2)>>2]=f;a=a+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(e-1>>>0<=6){break Ga}while(1){e=i+(a<<2)|0;J[e>>2]=f;J[e+28>>2]=f;J[e+24>>2]=f;J[e+20>>2]=f;J[e+16>>2]=f;J[e+12>>2]=f;J[e+8>>2]=f;J[e+4>>2]=f;a=a+8|0;if((d|0)!=(a|0)){continue}break}}f=f+1|0;if((h|0)!=(f|0)){continue}break}k=(d|0)==524288}d=k}Ha:{if(!d|(J[g+20>>2]?0:m)){break Ha}d=0;i=fa-16|0;fa=i;Ia:{Ja:{if(L[c+38>>1]<=511){b=J[c+8>>2];a=J[c+12>>2];h=a;e=J[c+20>>2];k=J[c+16>>2];f=k+8|0;e=f>>>0<8?e+1|0:e;if(b>>>0>>0&(a|0)<=(e|0)|(a|0)<(e|0)){break Ia}k=k+J[c>>2]|0;a=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[c+16>>2]=f;J[c+20>>2]=e;break Ja}if(!ve(1,i+8|0,c)){break Ia}f=J[c+16>>2];e=J[c+20>>2];b=J[c+8>>2];h=J[c+12>>2];a=J[i+8>>2];k=J[i+12>>2]}j=b-f|0;b=h-((b>>>0>>0)+e|0)|0;if((b|0)==(k|0)&a>>>0>j>>>0|b>>>0>>0){break Ia}e=e+k|0;b=a+f|0;e=b>>>0>>0?e+1|0:e;J[c+16>>2]=b;J[c+20>>2]=e;if((a|0)<=0){break Ia}b=J[c>>2]+f|0;J[g+48>>2]=b;c=a-1|0;f=c+b|0;e=K[f|0];Ka:{if(e>>>0<=63){J[g+52>>2]=c;a=K[f|0]&63;break Ka}La:{switch((e>>>6|0)-1|0){case 0:if(a>>>0<2){break Ia}a=a-2|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8&16128|K[a|0];break Ka;case 1:if(a>>>0<3){break Ia}a=a-3|0;J[g+52>>2]=a;a=a+b|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];break Ka;default:break La}}a=a-4|0;J[g+52>>2]=a;a=a+b|0;a=(K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24))&1073741823}J[g+56>>2]=a+2097152;d=a>>>0<534773760}fa=i+16|0;if(!d){break Ha}if(!m){o=1;break Ha}b=J[g+52>>2];a=J[g+56>>2];c=J[g+36>>2];d=J[g+48>>2];f=J[g+24>>2];while(1){Ma:{if(a>>>0>2097151){break Ma}while(1){if((b|0)<=0){break Ma}b=b-1|0;J[g+52>>2]=b;a=K[b+d|0]|a<<8;J[g+56>>2]=a;if(a>>>0<2097152){continue}break}}e=a&524287;o=J[f+(e<<2)>>2];k=c+(o<<3)|0;a=(P(J[k>>2],a>>>19|0)+e|0)-J[k+4>>2]|0;J[g+56>>2]=a;J[r+(q<<2)>>2]=o;o=1;q=q+1|0;if((m|0)!=(q|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;b=o;break g;case 17:b=se(a,c,d);break g;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:b=fa+-64|0;fa=b;J[b+56>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;Na:{if(!qe(b+8|0,c)|(J[b+20>>2]?0:a)){break Na}if(!re(b+8|0,c)){break Na}if(!a){f=1;break Na}e=J[b+52>>2];c=J[b+56>>2];k=J[b+36>>2];i=J[b+48>>2];g=J[b+24>>2];while(1){Oa:{if(c>>>0>16383){break Oa}while(1){if((e|0)<=0){break Oa}e=e-1|0;J[b+52>>2]=e;c=K[e+i|0]|c<<8;J[b+56>>2]=c;if(c>>>0<16384){continue}break}}f=c&4095;m=J[g+(f<<2)>>2];r=k+(m<<3)|0;c=(P(J[r>>2],c>>>12|0)+f|0)-J[r+4>>2]|0;J[b+56>>2]=c;J[(o<<2)+d>>2]=m;f=1;o=o+1|0;if((o|0)!=(a|0)){continue}break}}a=J[b+36>>2];if(a){J[b+40>>2]=a;xj(a)}a=J[b+24>>2];if(a){J[b+28>>2]=a;xj(a)}a=J[b+8>>2];if(a){J[b+12>>2]=a;xj(a)}fa=b- -64|0;b=f;break g;case 13:case 14:case 15:case 16:break h;default:break g}}b=se(a,c,d)}f=b}return f}function mf(a){a=a|0;var 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,q=0,r=0,s=0,t=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,N=0,O=0,Q=0,R=0;s=fa+-64|0;fa=s;J[a+132>>2]=0;if(J[a+148>>2]){c=J[a+144>>2];if(c){while(1){d=J[c>>2];xj(c);c=d;if(c){continue}break}}c=0;J[a+144>>2]=0;d=J[a+140>>2];a:{if(!d){break a}if(d>>>0>=4){g=d&-4;while(1){e=c<<2;J[e+J[a+136>>2]>>2]=0;J[J[a+136>>2]+(e|4)>>2]=0;J[J[a+136>>2]+(e|8)>>2]=0;J[J[a+136>>2]+(e|12)>>2]=0;c=c+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}b=d&3;if(!b){break a}while(1){J[J[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;u=u+1|0;if((b|0)!=(u|0)){continue}break}}J[a+148>>2]=0}b:{c:{d:{c=J[a+4>>2];u=K[c+36|0];b=u<<8|K[c+37|0];if(b>>>0<=513){i=J[c+32>>2];e:{if(b>>>0<=511){d=J[i+20>>2];e=J[i+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;g=b;f=M[i+8>>2]>>0;b=J[i+12>>2];if(f&(b|0)<=(d|0)|(b|0)<(d|0)){break d}b=e+J[i>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[i+16>>2]=g;J[i+20>>2]=d;break e}if(!Re(1,s,i)){break d}c=J[a+4>>2];u=K[c+36|0];b=J[s>>2]}J[a+132>>2]=b}g=J[c+32>>2];f:{g:{h:{if((u&255)>>>0<=1){u=0;d=J[g+20>>2];e=J[g+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;i=J[g+12>>2];if(M[g+8>>2]>>0&(i|0)<=(d|0)|(d|0)>(i|0)){break c}e=e+J[g>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[s+60>>2]=e;J[g+16>>2]=b;J[g+20>>2]=d;J[a+156>>2]=e;n=a+156|0;break h}u=0;if(!Re(1,s+60|0,g)){break c}c=J[a+4>>2];b=K[c+36|0];J[a+156>>2]=J[s+60>>2];n=a+156|0;if(b>>>0>1){break g}}e=J[c+32>>2];i=J[e+8>>2];g=J[e+12>>2];d=J[e+20>>2];b=J[e+16>>2];c=b+4|0;d=c>>>0<4?d+1|0:d;if(c>>>0>i>>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break c}b=b+J[e>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[s+56>>2]=b;J[e+16>>2]=c;J[e+20>>2]=d;break f}if(!Re(1,s+56|0,J[c+32>>2])){break c}b=J[s+56>>2]}if(b>>>0>1431655765){break c}c=J[n>>2];d=P(b,3);if(c>>>0>d>>>0){break c}e=d>>>1|0;d=c>>31;g=nk(c-1|0,d-!c|0,c,d);c=ja;d=c>>>1|0;c=(c&1)<<31|g>>>1;if(!d&c>>>0>>0){break c}f=J[a+4>>2];g=J[f+32>>2];c=g;e=J[c+8>>2];i=J[c+16>>2];j=J[c+12>>2];d=J[c+20>>2];c=d;if((j|0)<=(c|0)&e>>>0<=i>>>0|(c|0)>(j|0)){break c}n=J[g>>2];o=K[n+i|0];h=i+1|0;c=h?c:c+1|0;J[g+16>>2]=h;J[g+20>>2]=c;i:{if(K[f+36|0]<=1){f=e;c=j;e=i+5|0;d=e>>>0<5?d+1|0:d;if((c|0)<=(d|0)&e>>>0>f>>>0|(c|0)<(d|0)){break c}c=h+n|0;n=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[s+52>>2]=n;J[g+16>>2]=e;J[g+20>>2]=d;break i}if(!Re(1,s+52|0,g)){break c}n=J[s+52>>2]}if(b>>>0>>0|((n>>>0)/3|0)+n>>>0>>0){break c}c=J[a+4>>2];i=J[c+32>>2];j:{if(K[c+36|0]<=1){c=J[i+20>>2];e=J[i+16>>2];d=e+4|0;c=d>>>0<4?c+1|0:c;g=d;f=M[i+8>>2]>>0;d=J[i+12>>2];if(f&(d|0)<=(c|0)|(c|0)>(d|0)){break c}d=e+J[i>>2]|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[s+48>>2]=d;J[i+16>>2]=g;J[i+20>>2]=c;break j}if(!Re(1,s+48|0,i)){break c}d=J[s+48>>2]}if(d>>>0>n>>>0){break c}J[a+28>>2]=J[a+24>>2];e=ti(Cj(88));c=J[a+8>>2];J[a+8>>2]=e;if(c){Se(c);if(!J[a+8>>2]){break c}}J[a+164>>2]=J[a+160>>2];Te(a+160|0,b);J[a+176>>2]=J[a+172>>2];Te(a+172|0,b);J[a- -64>>2]=0;J[a+92>>2]=-1;J[a+84>>2]=-1;J[a+88>>2]=-1;J[a+40>>2]=J[a+36>>2];J[a+52>>2]=J[a+48>>2];J[a+76>>2]=J[a+72>>2];A=a+216|0;Ue(A);Ve(A,o);if(!vi(J[a+8>>2],b,J[a+156>>2]+d|0)){break c}c=J[a+156>>2];H[s|0]=1;Oe(a+120|0,c+d|0,s);c=J[a+4>>2];b=L[c+36>>1];b=(b<<8|b>>>8)&65535;k:{if(b>>>0<=513){i=J[c+32>>2];l:{if(b>>>0<=511){c=J[i+20>>2];e=J[i+16>>2];b=e+4|0;c=b>>>0<4?c+1|0:c;g=b;f=M[i+8>>2]>>0;b=J[i+12>>2];if(f&(b|0)<=(c|0)|(c|0)>(b|0)){break c}b=e+J[i>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[i+16>>2]=g;J[i+20>>2]=c;break l}if(!Re(1,s+44|0,i)){break c}b=J[s+44>>2]}if(!b){break c}c=J[J[a+4>>2]+32>>2];e=J[c+8>>2];g=J[c+16>>2];i=e-g|0;c=J[c+12>>2]-(J[c+20>>2]+(e>>>0>>0)|0)|0;if((c|0)<=0&b>>>0>i>>>0|(c|0)<0){break c}c=qg(s);e=J[J[a+4>>2]+32>>2];g=J[e+16>>2];i=(g+J[e>>2]|0)+b|0;g=J[e+8>>2]-g|0;I[c+38>>1]=L[e+38>>1];J[c>>2]=i;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=g-b;J[c+12>>2]=0;B=We(a,c);if((B|0)==-1){break c}G=B>>31;break k}B=-1;G=-1;if((We(a,J[c+32>>2])|0)==-1){break c}}e=a+232|0;kf(e,a);J[a+372>>2]=o;J[a+384>>2]=J[a+156>>2]+d;N=qg(s);g=N;b=0;j=fa-16|0;fa=j;m:{n:{c=J[e+144>>2];c=L[(ka[J[J[c>>2]+32>>2]](c)|0)+36>>1];if(((c<<8|c>>>8)&65535)>>>0<=513){c=J[e+4>>2];J[e+40>>2]=J[e>>2];J[e+44>>2]=c;c=J[e+36>>2];J[e+72>>2]=J[e+32>>2];J[e+76>>2]=c;d=J[e+28>>2];c=e- -64|0;J[c>>2]=J[e+24>>2];J[c+4>>2]=d;c=J[e+20>>2];J[e+56>>2]=J[e+16>>2];J[e+60>>2]=c;c=J[e+12>>2];J[e+48>>2]=J[e+8>>2];J[e+52>>2]=c;if(!rg(e+40|0,1,j+8|0)){break n}c=J[e+44>>2];J[e>>2]=J[e+40>>2];J[e+4>>2]=c;c=J[e+76>>2];J[e+32>>2]=J[e+72>>2];J[e+36>>2]=c;c=J[e+68>>2];J[e+24>>2]=J[e+64>>2];J[e+28>>2]=c;c=J[e+60>>2];h=c;d=J[e+56>>2];J[e+16>>2]=d;J[e+20>>2]=c;i=J[e+52>>2];f=i;c=J[e+48>>2];J[e+8>>2]=c;J[e+12>>2]=f;o=c-d|0;k=J[j+12>>2];c=f-((c>>>0>>0)+h|0)|0;i=J[j+8>>2];if((k|0)==(c|0)&o>>>0>>0|c>>>0>>0){break n}c=h+k|0;f=d;d=d+i|0;c=f>>>0>d>>>0?c+1|0:c;J[e+16>>2]=d;J[e+20>>2]=c}o:{if(L[e+38>>1]<=513){c=J[e+4>>2];J[e+96>>2]=J[e>>2];J[e+100>>2]=c;c=J[e+36>>2];J[e+128>>2]=J[e+32>>2];J[e+132>>2]=c;c=J[e+28>>2];J[e+120>>2]=J[e+24>>2];J[e+124>>2]=c;c=J[e+20>>2];J[e+112>>2]=J[e+16>>2];J[e+116>>2]=c;c=J[e+12>>2];J[e+104>>2]=J[e+8>>2];J[e+108>>2]=c;if(!rg(e+96|0,1,j+8|0)){break n}c=J[e+100>>2];J[e>>2]=J[e+96>>2];J[e+4>>2]=c;c=J[e+132>>2];J[e+32>>2]=J[e+128>>2];J[e+36>>2]=c;c=J[e+124>>2];J[e+24>>2]=J[e+120>>2];J[e+28>>2]=c;d=J[e+116>>2];h=d;c=J[e+112>>2];J[e+16>>2]=c;J[e+20>>2]=d;i=J[e+108>>2];f=i;d=J[e+104>>2];J[e+8>>2]=d;J[e+12>>2]=f;o=d-c|0;k=J[j+12>>2];d=f-((c>>>0>d>>>0)+h|0)|0;i=J[j+8>>2];if((k|0)==(d|0)&o>>>0>>0|d>>>0>>0){break n}d=h+k|0;f=c;c=c+i|0;d=f>>>0>c>>>0?d+1|0:d;J[e+16>>2]=c;J[e+20>>2]=d;break o}if(!he(e+80|0,e)){break m}}if(!cf(e)){break m}c=J[e+4>>2];J[g>>2]=J[e>>2];J[g+4>>2]=c;c=J[e+36>>2];J[g+32>>2]=J[e+32>>2];J[g+36>>2]=c;c=J[e+28>>2];J[g+24>>2]=J[e+24>>2];J[g+28>>2]=c;c=J[e+20>>2];J[g+16>>2]=J[e+16>>2];J[g+20>>2]=c;c=J[e+12>>2];J[g+8>>2]=J[e+8>>2];J[g+12>>2]=c;c=J[e+144>>2];c=L[(ka[J[J[c>>2]+32>>2]](c)|0)+36>>1];p:{if(((c<<8|c>>>8)&65535)>>>0<=513){c=J[e+144>>2];q:{if(K[(ka[J[J[c>>2]+32>>2]](c)|0)+36|0]<=1){c=J[g+20>>2];i=J[g+16>>2];d=i+4|0;c=d>>>0<4?c+1|0:c;h=d;f=M[g+8>>2]>>0;d=J[g+12>>2];if(f&(d|0)<=(c|0)|(c|0)>(d|0)){break m}d=i+J[g>>2]|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[g+16>>2]=h;J[g+20>>2]=c;break q}if(!Re(1,j+8|0,g)){break m}d=J[j+8>>2]}c=J[e+152>>2];if(d>>>0>=c>>>0){break m}d=J[g+20>>2];h=J[g+12>>2];i=J[g+16>>2];if((d|0)>=(h|0)&i>>>0>=M[g+8>>2]|(d|0)>(h|0)){break m}h=K[i+J[g>>2]|0];i=i+1|0;d=i?d:d+1|0;J[g+16>>2]=i;J[g+20>>2]=d;if(h){break m}J[e+176>>2]=2;J[e+180>>2]=7;break p}J[e+176>>2]=2;J[e+180>>2]=7;c=J[e+152>>2]}if((c|0)<0){break m}J[j+8>>2]=0;b=2;h=J[e+156>>2];i=J[e+160>>2]-h>>2;r:{if(i>>>0>>0){fb(e+156|0,c-i|0,j+8|0);b=J[e+176>>2];d=J[e+180>>2];break r}d=7;if(c>>>0>=i>>>0){break r}J[e+160>>2]=h+(c<<2)}i=e+184|0;b=(d-b|0)+1|0;c=J[e+188>>2];h=J[e+184>>2];d=(c-h|0)/12|0;s:{if(b>>>0>d>>>0){o=0;d=b-d|0;f=J[i+8>>2];c=J[i+4>>2];t:{if(d>>>0<=(f-c|0)/12>>>0){if(d){b=c;c=P(d,12)-12|0;c=(c-((c>>>0)%12|0)|0)+12|0;c=Xi(b,0,c)+c|0}J[i+4>>2]=c;break t}u:{v:{w:{h=J[i>>2];k=(c-h|0)/12|0;b=k+d|0;if(b>>>0<357913942){f=(f-h|0)/12|0;l=f<<1;f=f>>>0>=178956970?357913941:b>>>0>>0?l:b;if(f){if(f>>>0>=357913942){break w}o=Cj(P(f,12))}b=P(k,12)+o|0;d=P(d,12)-12|0;k=(d-((d>>>0)%12|0)|0)+12|0;d=Xi(b,0,k);k=d+k|0;f=P(f,12)+o|0;if((c|0)==(h|0)){break v}while(1){b=b-12|0;c=c-12|0;J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;if((c|0)!=(h|0)){continue}break}J[i+8>>2]=f;d=J[i+4>>2];J[i+4>>2]=k;c=J[i>>2];J[i>>2]=b;if((c|0)==(d|0)){break u}while(1){b=d-12|0;h=J[b>>2];if(h){J[d-8>>2]=h;xj(h)}d=b;if((b|0)!=(c|0)){continue}break}break u}break b}Va();C()}J[i+8>>2]=f;J[i+4>>2]=k;J[i>>2]=d}if(c){xj(c)}}d=J[e+188>>2];break s}if(b>>>0>=d>>>0){d=c;break s}d=h+P(b,12)|0;if((d|0)!=(c|0)){while(1){b=c-12|0;h=J[b>>2];if(h){J[c-8>>2]=h;xj(h)}c=b;if((d|0)!=(b|0)){continue}break}}J[e+188>>2]=d}f=e+196|0;b=J[e+184>>2];c=(d-b|0)/12|0;o=J[e+196>>2];h=J[e+200>>2]-o>>2;x:{if(c>>>0>h>>>0){La(f,c-h|0);b=J[e+184>>2];d=J[e+188>>2];break x}if(c>>>0>=h>>>0){break x}J[e+200>>2]=o+(c<<2)}if((b|0)==(d|0)){b=1;break m}c=0;while(1){if(!Re(1,j+8|0,g)){break n}b=J[e+148>>2];d=(J[b+4>>2]-J[b>>2]>>2>>>0)/3|0;b=J[j+8>>2];if(d>>>0>>0){break n}if(b){k=P(c,12);h=k+J[i>>2]|0;d=J[h>>2];o=J[h+4>>2]-d>>2;y:{if(o>>>0>>0){La(h,b-o|0);d=J[k+J[i>>2]>>2];break y}if(b>>>0>=o>>>0){break y}J[h+4>>2]=(b<<2)+d}pe(b,1,g,d);J[J[f>>2]+(c<<2)>>2]=b}b=1;c=c+1|0;if(c>>>0<(J[e+188>>2]-J[e+184>>2]|0)/12>>>0){continue}break}break m}b=0}fa=j+16|0;z:{if(!b){break z}d=0;c=0;g=0;i=0;o=0;l=fa-96|0;fa=l;J[l+72>>2]=0;J[l+64>>2]=0;J[l+68>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;J[l+56>>2]=1065353216;J[l+32>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;j=a;F=J[a+124>>2];A:{B:{C:{D:{E:{if((n|0)<=0){break E}r=j+232|0;O=J[j+216>>2]!=J[j+220>>2];D=1;while(1){h=i;i=i+1|0;a=J[r+172>>2];F:{G:{if((a|0)!=-1){b=J[r+196>>2]+(a<<2)|0;f=J[b>>2];a=f-1|0;J[b>>2]=a;b=9;if((f|0)<=0){break F}a=J[J[J[r+184>>2]+P(J[r+172>>2],12)>>2]+(a<<2)>>2];if(a>>>0>4){break F}b=J[(a<<2)+12192>>2];break G}b=7;a=J[r+144>>2];a=L[(ka[J[J[a>>2]+32>>2]](a)|0)+36>>1];if(((a<<8|a>>>8)&65535)>>>0>513|!K[r+76|0]){break G}b=0;m=J[r- -64>>2];k=J[r+72>>2];a=m+(k>>>3|0)|0;p=J[r+68>>2];if(a>>>0>=p>>>0){break G}f=K[a|0];a=k+1|0;J[r+72>>2]=a;f=f>>>(k&7)&1;if(!f){break G}q=a>>>3|0;b=m+q|0;H:{if(b>>>0>=p>>>0){b=a;a=0;break H}t=K[b|0];b=k+2|0;J[r+72>>2]=b;q=b>>>3|0;a=t>>>(a&7)&1}k=m+q|0;if(k>>>0

>>0){k=K[k|0];J[r+72>>2]=b+1;b=k>>>(b&7)<<1&2}else{b=0}b=(a|b)<<1|f}J[r+168>>2]=b}a=b;I:{J:{if(!a){if((c|0)==(g|0)){b=-1;break D}d=-1;m=J[j+8>>2];t=J[m+24>>2];D=c-4|0;f=J[D>>2];a=-1;K:{if((f|0)==-1){break K}k=f+1|0;k=(k>>>0)%3|0?k:f-2|0;a=-1;if((k|0)==-1){break K}a=J[J[m>>2]+(k<<2)>>2]}b=J[t+(a<<2)>>2];if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}if((d|0)==(f|0)){b=-1;break D}if((f|0)!=-1){b=-1;if(J[J[m+12>>2]+(f<<2)>>2]!=-1){break D}}k=J[m+12>>2];if((d|0)!=-1){b=-1;if(J[k+(d<<2)>>2]!=-1){break D}}p=P(h,3);b=p+1|0;J[k+(f<<2)>>2]=b;v=b<<2;J[v+k>>2]=f;q=p+2|0;J[k+(d<<2)>>2]=q;x=q<<2;J[x+k>>2]=d;k=-1;h=-1;L:{if((f|0)==-1){break L}M:{if((f>>>0)%3|0){b=f-1|0;break M}b=f+2|0;h=-1;if((b|0)==-1){break L}}h=J[J[m>>2]+(b<<2)>>2]}N:{if((d|0)==-1){break N}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if((b|0)==-1){break N}k=J[J[m>>2]+(b<<2)>>2]}b=-1;if((a|0)==(h|0)|(a|0)==(k|0)){break D}b=J[m>>2];J[b+(p<<2)>>2]=a;J[b+v>>2]=k;J[b+x>>2]=h;if((h|0)!=-1){J[t+(h<<2)>>2]=q}b=J[j+120>>2]+(a>>>3&536870908)|0;d=J[b>>2];Q=b,R=rk(a)&d,J[Q>>2]=R;J[D>>2]=p;k=J[c-4>>2];break J}b=-1;O:{P:{Q:{R:{S:{T:{U:{V:{W:{switch(a-1|0){case 2:case 4:if((c|0)==(g|0)){break D}t=c-4|0;d=J[t>>2];f=J[j+8>>2];m=J[f+12>>2];if((d|0)!=-1&J[m+(d<<2)>>2]!=-1){break D}k=P(h,3);p=(a|0)==5;q=k+(p?2:1)|0;v=q<<2;J[v+m>>2]=d;J[m+(d<<2)>>2]=q;df(f+24|0,11472);a=J[j+8>>2];m=J[a+24>>2];if(J[a+28>>2]-m>>2>(F|0)){break D}a=J[a>>2];x=a+v|0;b=J[f+28>>2];f=J[f+24>>2];v=(b-f>>2)-1|0;J[x>>2]=v;if((b|0)!=(f|0)){J[m+(v<<2)>>2]=q}b=p?k:k+2|0;q=a+(k+p<<2)|0;X:{if((d|0)==-1){J[a+(b<<2)>>2]=-1;b=-1;break X}Y:{Z:{_:{if((d>>>0)%3|0){f=d-1|0;break _}f=d+2|0;if((f|0)==-1){break Z}}f=J[a+(f<<2)>>2];J[a+(b<<2)>>2]=f;if((f|0)==-1){break Y}J[m+(f<<2)>>2]=b;break Y}J[a+(b<<2)>>2]=-1}f=d+1|0;d=(f>>>0)%3|0?f:d-2|0;b=-1;if((d|0)==-1){break X}b=J[a+(d<<2)>>2]}J[q>>2]=b;J[t>>2]=k;break V;case 0:if((c|0)==(d|0)){break D}a=c-4|0;m=J[a>>2];J[l+68>>2]=a;p=J[l+44>>2];$:{if(!p){c=a;break $}f=J[l+40>>2];q=qk(p)>>>0>1;b=h&p+2147483647;aa:{if(!q){break aa}b=h;if(b>>>0

>>0){break aa}b=(h>>>0)%(p>>>0)|0}k=b;b=J[f+(k<<2)>>2];if(!b){c=a;break $}b=J[b>>2];if(!b){c=a;break $}ba:{if(!q){f=p-1|0;while(1){p=J[b+4>>2];ca:{if((p|0)!=(h|0)){if((k|0)==(f&p)){break ca}c=a;break $}if((h|0)==J[b+8>>2]){break ba}}b=J[b>>2];if(b){continue}break}c=a;break $}while(1){f=J[b+4>>2];da:{if((f|0)!=(h|0)){if(f>>>0>=p>>>0){f=(f>>>0)%(p>>>0)|0}if((f|0)==(k|0)){break da}c=a;break $}if((h|0)==J[b+8>>2]){break ba}}b=J[b>>2];if(b){continue}break}c=a;break $}if((a|0)!=(w|0)){J[a>>2]=J[b+12>>2];J[l+68>>2]=c;break $}a=w-d|0;g=a>>2;c=g+1|0;if(c>>>0>=1073741824){break b}f=a>>>1|0;f=a>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break B}a=Cj(f<<2)}else{a=0}g=a+(g<<2)|0;J[g>>2]=J[b+12>>2];c=g+4|0;if((d|0)!=(w|0)){while(1){g=g-4|0;w=w-4|0;J[g>>2]=J[w>>2];if((d|0)!=(w|0)){continue}break}}w=a+(f<<2)|0;J[l+72>>2]=w;J[l+68>>2]=c;J[l+64>>2]=g;if(d){xj(d)}}if((c|0)==(g|0)){break P}v=c-4|0;a=J[v>>2];if((a|0)==(m|0)){break P}b=(a|0)==-1;p=J[j+8>>2];if(!b&J[J[p+12>>2]+(a<<2)>>2]!=-1){break P}q=J[p+12>>2];if((m|0)!=-1&J[q+(m<<2)>>2]!=-1){break P}k=P(h,3);t=k+2|0;J[q+(a<<2)>>2]=t;h=t<<2;J[h+q>>2]=a;d=k+1|0;J[q+(m<<2)>>2]=d;x=d<<2;J[x+q>>2]=m;if(b){break T}if((a>>>0)%3|0){f=a-1|0;break S}f=a+2|0;if((f|0)!=-1){break S}d=J[p>>2];f=-1;break R;case 6:break W;default:break D}}k=J[j+8>>2];df(k+24|0,11472);f=J[j+8>>2];a=P(h,3);m=J[k+28>>2];p=J[k+24>>2];q=m-p|0;k=q>>2;t=k-1|0;J[J[f>>2]+(a<<2)>>2]=t;df(f+24|0,11472);v=a+1|0;J[J[f>>2]+(v<<2)>>2]=(J[f+28>>2]-J[f+24>>2]>>2)-1;f=J[j+8>>2];df(f+24|0,11472);x=a+2|0;J[J[f>>2]+(x<<2)>>2]=(J[f+28>>2]-J[f+24>>2]>>2)-1;E=J[j+8>>2];f=J[E+24>>2];if(J[E+28>>2]-f>>2>(F|0)){break D}ea:{fa:{if((m|0)!=(p|0)){J[f+(t<<2)>>2]=a;b=0;if((q|0)==-4){break fa}}J[f+(k<<2)>>2]=v;b=k+1|0;if((b|0)==-1){break ea}}J[f+(b<<2)>>2]=x}if((c|0)!=(w|0)){J[c>>2]=a;c=c+4|0;J[l+68>>2]=c;break U}b=c-d|0;k=b>>2;g=k+1|0;if(g>>>0>=1073741824){break b}f=b>>>1|0;b=b>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(b){if(b>>>0>=1073741824){break B}f=Cj(b<<2)}else{f=0}g=f+(k<<2)|0;J[g>>2]=a;w=f+(b<<2)|0;a=g+4|0;if((c|0)!=(d|0)){while(1){g=g-4|0;c=c-4|0;J[g>>2]=J[c>>2];if((c|0)!=(d|0)){continue}break}}J[l+72>>2]=w;J[l+68>>2]=a;J[l+64>>2]=g;if(d){xj(d)}c=a}d=g}nf(r,J[c-4>>2]);a=J[j+40>>2];if((a|0)==J[j+36>>2]){break I}b=a-12|0;f=J[b+4>>2];h=(h^-1)+n|0;if(f>>>0>h>>>0){break P}if((f|0)!=(h|0)){break I}k=K[a-4|0];f=J[b>>2];J[j+40>>2]=b;if((f|0)<0){break P}m=c-4|0;a=J[m>>2];J[l+20>>2]=(f^-1)+n;b=l+20|0;J[l+88>>2]=b;ef(l,l+40|0,b,l+88|0);f=J[l>>2];ga:{if(k&1){b=-1;if((a|0)==-1){break ga}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break ga}b=-1;if((a|0)==-1){break ga}b=a-1|0;if((a>>>0)%3|0){break ga}b=a+2|0}J[f+12>>2]=b;b=J[j+40>>2];if((b|0)==J[j+36>>2]){break I}while(1){a=b-12|0;f=J[a+4>>2];if(f>>>0>h>>>0){break P}if((f|0)!=(h|0)){break I}f=K[b-4|0];b=J[a>>2];J[j+40>>2]=a;if((b|0)<0){break P}a=J[m>>2];J[l+20>>2]=(b^-1)+n;b=l+20|0;J[l+88>>2]=b;ef(l,l+40|0,b,l+88|0);k=J[l>>2];ha:{if(f&1){b=-1;if((a|0)==-1){break ha}b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;break ha}b=-1;if((a|0)==-1){break ha}b=a-1|0;if((a>>>0)%3|0){break ha}b=a+2|0}J[k+12>>2]=b;b=J[j+40>>2];if((b|0)!=J[j+36>>2]){continue}break}break I}f=-1;d=J[p>>2];J[d+(k<<2)>>2]=-1;b=-1;break Q}d=J[p>>2];f=J[d+(f<<2)>>2]}J[(k<<2)+d>>2]=f;E=a+1|0;a=(E>>>0)%3|0?E:a-2|0;b=-1;if((a|0)==-1){break Q}b=J[(a<<2)+d>>2]}J[d+x>>2]=b;ia:{if((m|0)==-1){J[d+h>>2]=-1;t=-1;a=-1;break ia}ja:{ka:{la:{if((m>>>0)%3|0){b=m-1|0;break la}b=m+2|0;if((b|0)==-1){break ka}}a=J[(b<<2)+d>>2];J[d+h>>2]=a;if((a|0)==-1){break ja}J[J[p+24>>2]+(a<<2)>>2]=t;break ja}J[d+h>>2]=-1}t=-1;b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;a=-1;if((b|0)==-1){break ia}t=J[(b<<2)+d>>2];a=b}b=J[j+388>>2];h=f<<2;m=b+h|0;x=b;b=t<<2;J[m>>2]=J[m>>2]+J[x+b>>2];m=b;b=J[p+24>>2];m=m+b|0;if((f|0)!=-1){J[b+h>>2]=J[m>>2]}b=a;while(1){if((b|0)==-1){break O}J[(b<<2)+d>>2]=f;p=b+1|0;b=(p>>>0)%3|0?p:b-2|0;h=-1;ma:{if((b|0)==-1){break ma}b=J[q+(b<<2)>>2];h=-1;if((b|0)==-1){break ma}h=b+1|0;h=(h>>>0)%3|0?h:b-2|0}b=h;if((a|0)!=(b|0)){continue}break}}b=-1;if(!D){break E}break D}J[m>>2]=-1;na:{if(O){break na}if((y|0)!=(z|0)){J[z>>2]=t;z=z+4|0;J[l+28>>2]=z;break na}a=y-o|0;h=a>>2;b=h+1|0;if(b>>>0>=1073741824){break b}d=a>>>1|0;d=a>>>0>=2147483644?1073741823:b>>>0>>0?d:b;if(d){if(d>>>0>=1073741824){break B}a=Cj(d<<2)}else{a=0}b=a+(h<<2)|0;J[b>>2]=t;z=b+4|0;if((o|0)!=(y|0)){while(1){b=b-4|0;y=y-4|0;J[b>>2]=J[y>>2];if((o|0)!=(y|0)){continue}break}}y=a+(d<<2)|0;J[l+32>>2]=y;J[l+28>>2]=z;J[l+24>>2]=b;if(o){xj(o)}o=b}J[v>>2]=k}nf(r,k);d=g}D=(i|0)<(n|0);if((i|0)!=(n|0)){continue}break}i=n}b=-1;d=J[j+8>>2];if(J[d+28>>2]-J[d+24>>2]>>2>(F|0)){break D}if((c|0)!=(g|0)){w=j+72|0;h=j+60|0;p=j+312|0;while(1){c=c-4|0;o=J[c>>2];J[l+68>>2]=c;oa:{pa:{qa:{if(L[j+270>>1]<=513){if(!K[j+364|0]){break pa}a=J[j+360>>2];b=J[j+352>>2]+(a>>>3|0)|0;if(b>>>0>=M[j+356>>2]){break qa}b=K[b|0];J[j+360>>2]=a+1;if(!(b>>>(a&7)&1)){break qa}break pa}if(je(p)){break pa}}b=J[j+64>>2];a=J[j+68>>2];if((b|0)==a<<5){if((b+1|0)<0){break b}if(b>>>0<=1073741822){a=a<<6;b=(b&-32)+32|0;a=a>>>0>b>>>0?a:b}else{a=2147483647}Jc(h,a);b=J[j+64>>2]}J[j+64>>2]=b+1;a=J[j+60>>2]+(b>>>3&536870908)|0;d=J[a>>2];Q=a,R=rk(b)&d,J[Q>>2]=R;b=J[j+76>>2];if((b|0)!=J[j+80>>2]){J[b>>2]=o;J[j+76>>2]=b+4;break oa}d=J[w>>2];a=b-d|0;k=a>>2;f=k+1|0;if(f>>>0<1073741824){n=a>>>1|0;n=a>>>0>=2147483644?1073741823:f>>>0>>0?n:f;if(n){if(n>>>0>=1073741824){break B}a=Cj(n<<2)}else{a=0}f=a+(k<<2)|0;J[f>>2]=o;o=f+4|0;if((b|0)!=(d|0)){while(1){f=f-4|0;b=b-4|0;J[f>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[j+80>>2]=a+(n<<2);J[j+76>>2]=o;J[j+72>>2]=f;if(!d){break oa}xj(d);break oa}break b}m=J[j+8>>2];r=J[m>>2];if(((J[m+4>>2]-r>>2>>>0)/3|0)<=(i|0)){b=-1;break D}d=-1;q=J[m+24>>2];n=-1;ra:{if((o|0)==-1){break ra}g=o+1|0;g=(g>>>0)%3|0?g:o-2|0;n=-1;if((g|0)==-1){break ra}n=J[r+(g<<2)>>2]}a=J[q+(n<<2)>>2];sa:{if((a|0)==-1){k=1;f=-1;break sa}k=1;f=-1;b=a+1|0;a=(b>>>0)%3|0?b:a-2|0;if((a|0)==-1){break sa}k=0;d=a;b=a+1|0;b=(b>>>0)%3|0?b:a-2|0;if((b|0)!=-1){f=J[r+(b<<2)>>2]}}b=-1;g=-1;a=J[q+(f<<2)>>2];if((a|0)!=-1){g=a+1|0;g=(g>>>0)%3|0?g:a-2|0}if((d|0)==(o|0)|(g|0)==(o|0)|((o|0)!=-1&J[J[m+12>>2]+(o<<2)>>2]!=-1|(d|0)==(g|0))){break D}if(!k&J[J[m+12>>2]+(d<<2)>>2]!=-1){break D}k=-1;a=J[m+12>>2];m=-1;ta:{if((g|0)==-1){break ta}if(J[a+(g<<2)>>2]!=-1){break D}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;m=-1;if((b|0)==-1){break ta}m=J[r+(b<<2)>>2]}b=P(i,3);J[l>>2]=b;J[a+(b<<2)>>2]=o;J[a+(o<<2)>>2]=b;b=J[l>>2]+1|0;J[a+(b<<2)>>2]=d;J[a+(d<<2)>>2]=b;b=J[l>>2]+2|0;J[a+(b<<2)>>2]=g;J[a+(g<<2)>>2]=b;a=J[l>>2];J[r+(a<<2)>>2]=f;b=a+1|0;d=r+(b<<2)|0;J[d>>2]=m;g=a+2|0;o=r+(g<<2)|0;J[o>>2]=n;a=J[j+120>>2];f=b?f:-1;n=a+(f>>>3&536870908)|0;r=J[n>>2];Q=n,R=rk(f)&r,J[Q>>2]=R;k=(b|0)!=-1?J[d>>2]:k;b=a+(k>>>3&536870908)|0;d=J[b>>2];Q=b,R=rk(k)&d,J[Q>>2]=R;b=-1;b=(g|0)!=-1?J[o>>2]:b;a=a+(b>>>3&536870908)|0;d=J[a>>2];Q=a,R=rk(b)&d,J[Q>>2]=R;H[l+88|0]=1;ff(h,l+88|0);df(w,l);i=i+1|0;g=J[l+64>>2]}if((c|0)!=(g|0)){continue}break}d=J[j+8>>2]}b=-1;if(((J[d+4>>2]-J[d>>2]>>2>>>0)/3|0)!=(i|0)){break D}b=J[d+28>>2]-J[d+24>>2]>>2;i=J[l+24>>2];f=J[l+28>>2];if((i|0)==(f|0)){break C}while(1){a=J[i>>2];h=J[d+24>>2];c=b-1|0;g=h+(c<<2)|0;if(J[g>>2]==-1){while(1){c=b-2|0;b=b-1|0;g=h+(c<<2)|0;if(J[g>>2]==-1){continue}break}}if(a>>>0<=c>>>0){J[l>>2]=d;g=J[g>>2];H[l+12|0]=1;J[l+8>>2]=g;J[l+4>>2]=g;if((g|0)!=-1){while(1){d=J[J[j+8>>2]>>2]+(g<<2)|0;if(J[d>>2]!=(c|0)){b=-1;break D}J[d>>2]=a;wd(l);g=J[l+8>>2];if((g|0)!=-1){continue}break}d=J[j+8>>2]}h=J[d+24>>2];g=h+(c<<2)|0;if((a|0)!=-1){J[h+(a<<2)>>2]=J[g>>2]}J[g>>2]=-1;g=1<>2];a=h+(a>>>3&536870908)|0;h=h+(c>>>3&536870908)|0;c=1<>2]&c){g=g|J[a>>2]}else{g=J[a>>2]&(g^-1)}J[a>>2]=g;J[h>>2]=J[h>>2]&(c^-1);b=b-1|0}i=i+4|0;if((f|0)!=(i|0)){continue}break}}i=J[l+24>>2]}if(i){xj(i)}a=J[l+48>>2];if(a){while(1){c=J[a>>2];xj(a);a=c;if(a){continue}break}}a=J[l+40>>2];J[l+40>>2]=0;if(a){xj(a)}a=J[l+64>>2];if(a){J[l+68>>2]=a;xj(a)}fa=l+96|0;break A}Va();C()}if((b|0)==-1){break z}a=N;c=J[a+16>>2];d=c+J[a>>2]|0;c=J[a+8>>2]-c|0;a=J[J[j+4>>2]+32>>2];I[a+38>>1]=L[a+38>>1];J[a>>2]=d;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=c;J[a+12>>2]=0;a=J[j+4>>2];c=L[a+36>>1];g=c<<8|c>>>8;if((g&65535)>>>0<=513){a=J[a+32>>2];c=J[a+16>>2];d=G+J[a+20>>2]|0;c=c+B|0;d=c>>>0>>0?d+1|0:d;J[a+16>>2]=c;J[a+20>>2]=d}ua:{if(J[j+216>>2]==J[j+220>>2]){break ua}c=J[j+8>>2];a=J[c>>2];c=J[c+4>>2];va:{if((g&65535)>>>0>=513){if((a|0)==(c|0)){break ua}c=0;break va}if((a|0)==(c|0)){break ua}c=0;while(1){if(Ye(j,c)){c=c+3|0;a=J[j+8>>2];if(c>>>0>2]-J[a>>2]>>2>>>0){continue}break ua}break}break z}while(1){if(Ze(j,c)){c=c+3|0;a=J[j+8>>2];if(c>>>0>2]-J[a>>2]>>2>>>0){continue}break ua}break}break z}_e(e);c=J[j+216>>2];if((c|0)!=J[j+220>>2]){n=0;while(1){d=P(n,144);Ci((d+c|0)+4|0,J[j+8>>2]);a=J[A>>2];e=a+d|0;c=J[e+132>>2];e=J[e+136>>2];if((c|0)!=(e|0)){while(1){Ei((d+J[A>>2]|0)+4|0,J[c>>2]);c=c+4|0;if((e|0)!=(c|0)){continue}break}a=J[A>>2]}if(!Di((a+d|0)+4|0)){break z}n=n+1|0;c=J[j+216>>2];if(n>>>0<(J[j+220>>2]-c|0)/144>>>0){continue}break}}a=J[j+8>>2];$e(j+184|0,J[a+28>>2]-J[a+24>>2]>>2);u=J[j+216>>2];if((u|0)!=J[j+220>>2]){c=0;while(1){a=P(c,144)+u|0;d=J[a+60>>2]-J[a+56>>2]>>2;f=a+104|0;a=J[j+8>>2];a=J[a+28>>2]-J[a+24>>2]>>2;$e(f,(a|0)<(d|0)?d:a);c=c+1|0;u=J[j+216>>2];if(c>>>0<(J[j+220>>2]-u|0)/144>>>0){continue}break}}u=af(j,b)}break c}u=0}fa=s- -64|0;return u|0}Ia();C()}function jf(a){a=a|0;var 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,q=0,r=0,s=0,t=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,N=0,O=0,Q=0,R=0,S=0;u=fa+-64|0;fa=u;J[a+132>>2]=0;if(J[a+148>>2]){c=J[a+144>>2];if(c){while(1){b=J[c>>2];xj(c);c=b;if(b){continue}break}}c=0;J[a+144>>2]=0;k=J[a+140>>2];a:{if(!k){break a}if(k>>>0>=4){b=k&-4;while(1){f=c<<2;J[f+J[a+136>>2]>>2]=0;J[J[a+136>>2]+(f|4)>>2]=0;J[J[a+136>>2]+(f|8)>>2]=0;J[J[a+136>>2]+(f|12)>>2]=0;c=c+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}}b=k&3;if(!b){break a}while(1){J[J[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;v=v+1|0;if((b|0)!=(v|0)){continue}break}}J[a+148>>2]=0}b:{c:{c=J[a+4>>2];v=K[c+36|0];b=v<<8|K[c+37|0];if(b>>>0<=513){d=J[c+32>>2];d:{if(b>>>0<=511){b=J[d+20>>2];e=J[d+16>>2];f=e+4|0;b=f>>>0<4?b+1|0:b;k=J[d+12>>2];if(M[d+8>>2]>>0&(k|0)<=(b|0)|(b|0)>(k|0)){break c}e=e+J[d>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[d+16>>2]=f;J[d+20>>2]=b;break d}if(!Re(1,u,d)){break c}c=J[a+4>>2];v=K[c+36|0];e=J[u>>2]}J[a+132>>2]=e}d=J[c+32>>2];e:{f:{g:{if((v&255)>>>0<=1){v=0;b=J[d+20>>2];f=J[d+16>>2];e=f+4|0;b=e>>>0<4?b+1|0:b;k=J[d+12>>2];if(M[d+8>>2]>>0&(k|0)<=(b|0)|(b|0)>(k|0)){break b}f=f+J[d>>2]|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[u+60>>2]=f;J[d+16>>2]=e;J[d+20>>2]=b;J[a+156>>2]=f;t=a+156|0;break g}v=0;if(!Re(1,u+60|0,d)){break b}c=J[a+4>>2];b=K[c+36|0];J[a+156>>2]=J[u+60>>2];t=a+156|0;if(b>>>0>1){break f}}d=J[c+32>>2];f=J[d+8>>2];k=J[d+12>>2];c=J[d+20>>2];e=J[d+16>>2];b=e+4|0;c=b>>>0<4?c+1|0:c;if(b>>>0>f>>>0&(c|0)>=(k|0)|(c|0)>(k|0)){break b}e=e+J[d>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[u+56>>2]=e;J[d+16>>2]=b;J[d+20>>2]=c;break e}if(!Re(1,u+56|0,J[c+32>>2])){break b}e=J[u+56>>2]}if(e>>>0>1431655765){break b}b=J[t>>2];c=P(e,3);if(b>>>0>c>>>0){break b}f=c>>>1|0;c=b>>31;c=nk(b-1|0,c-!b|0,b,c);k=ja;b=k>>>1|0;c=(k&1)<<31|c>>>1;if(!b&c>>>0>>0){break b}E=J[a+4>>2];w=J[E+32>>2];c=J[w+8>>2];d=J[w+12>>2];b=J[w+20>>2];g=J[w+16>>2];if((d|0)<=(b|0)&g>>>0>=c>>>0|(b|0)>(d|0)){break b}j=J[w>>2];l=K[j+g|0];f=w;k=g+1|0;h=k?b:b+1|0;J[f+16>>2]=k;J[f+20>>2]=h;h:{if(K[E+36|0]<=1){f=c;c=b;b=g+5|0;c=b>>>0<5?c+1|0:c;if(b>>>0>f>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break b}f=k+j|0;t=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[u+52>>2]=t;J[w+16>>2]=b;J[w+20>>2]=c;break h}if(!Re(1,u+52|0,w)){break b}t=J[u+52>>2]}if(e>>>0>>0|((t>>>0)/3|0)+t>>>0>>0){break b}c=J[a+4>>2];d=J[c+32>>2];i:{if(K[c+36|0]<=1){c=J[d+20>>2];b=J[d+16>>2];f=b+4|0;c=f>>>0<4?c+1|0:c;k=J[d+12>>2];if(M[d+8>>2]>>0&(k|0)<=(c|0)|(c|0)>(k|0)){break b}b=b+J[d>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[u+48>>2]=b;J[d+16>>2]=f;J[d+20>>2]=c;break i}if(!Re(1,u+48|0,d)){break b}b=J[u+48>>2]}if(b>>>0>t>>>0){break b}J[a+28>>2]=J[a+24>>2];c=ti(Cj(88));f=J[a+8>>2];J[a+8>>2]=c;if(f){Se(f);if(!J[a+8>>2]){break b}}J[a+164>>2]=J[a+160>>2];Te(a+160|0,e);J[a+176>>2]=J[a+172>>2];Te(a+172|0,e);J[a- -64>>2]=0;J[a+92>>2]=-1;J[a+84>>2]=-1;J[a+88>>2]=-1;J[a+40>>2]=J[a+36>>2];J[a+52>>2]=J[a+48>>2];J[a+76>>2]=J[a+72>>2];G=a+216|0;Ue(G);Ve(G,l);if(!vi(J[a+8>>2],e,J[a+156>>2]+b|0)){break b}c=J[a+156>>2];H[u|0]=1;Oe(a+120|0,b+c|0,u);e=J[a+4>>2];c=L[e+36>>1];c=(c<<8|c>>>8)&65535;j:{if(c>>>0<=513){d=J[e+32>>2];k:{if(c>>>0<=511){c=J[d+20>>2];e=J[d+16>>2];f=e+4|0;c=f>>>0<4?c+1|0:c;k=J[d+12>>2];if(M[d+8>>2]>>0&(k|0)<=(c|0)|(c|0)>(k|0)){break b}e=e+J[d>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[d+16>>2]=f;J[d+20>>2]=c;break k}if(!Re(1,u+44|0,d)){break b}e=J[u+44>>2]}if(!e){break b}d=J[J[a+4>>2]+32>>2];k=J[d+8>>2];c=J[d+16>>2];f=k-c|0;c=J[d+12>>2]-(J[d+20>>2]+(c>>>0>k>>>0)|0)|0;if((c|0)<=0&e>>>0>f>>>0|(c|0)<0){break b}h=qg(u);d=J[J[a+4>>2]+32>>2];c=d;k=J[c+16>>2];f=(k+J[c>>2]|0)+e|0;c=J[c+8>>2]-k|0;I[h+38>>1]=L[d+38>>1];J[h>>2]=f;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=c-e;J[h+12>>2]=0;c=We(a,h);if((c|0)==-1){break b}E=c;O=c>>31;break j}E=-1;O=-1;if((We(a,J[e+32>>2])|0)==-1){break b}}A=a+232|0;kf(A,a);J[a+372>>2]=l;J[a+384>>2]=J[a+156>>2]+b;w=qg(u);h=w;d=0;k=fa-16|0;fa=k;l:{if(!Xe(A,h)){break l}b=J[h+20>>2];e=J[h+16>>2];c=e+4|0;b=c>>>0<4?b+1|0:b;f=J[h+12>>2];if(M[h+8>>2]>>0&(f|0)<=(b|0)|(b|0)>(f|0)){break l}e=e+J[h>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[h+16>>2]=c;J[h+20>>2]=b;if((e|0)<0){break l}c=e;e=J[A+152>>2];if((c|0)>=(e|0)){break l}J[k+12>>2]=0;c=J[A+156>>2];b=J[A+160>>2]-c>>2;m:{if(b>>>0>>0){fb(A+156|0,e-b|0,k+12|0);break m}if(b>>>0<=e>>>0){break m}J[A+160>>2]=c+(e<<2)}d=he(A+168|0,h)}fa=k+16|0;n:{if(!d){break n}d=0;c=0;e=0;k=0;i=fa-96|0;fa=i;J[i+72>>2]=0;J[i+64>>2]=0;J[i+68>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+56>>2]=1065353216;J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;h=a;N=J[a+124>>2];o:{p:{q:{r:{s:{t:{if((t|0)<=0){break t}y=h+400|0;Q=h+232|0;B=J[h+216>>2]!=J[h+220>>2];x=1;while(1){f=k;k=f+1|0;u:{v:{w:{x:{y:{if(J[h+420>>2]!=-1){if(je(y)){break y}}if(!K[h+308|0]){break x}z:{o=J[h+296>>2];r=J[h+304>>2];a=o+(r>>>3|0)|0;l=J[h+300>>2];if(a>>>0>=l>>>0){break z}b=K[a|0];a=r+1|0;J[h+304>>2]=a;g=b>>>(r&7)&1;if(!g){break z}n=a>>>3|0;b=o+n|0;A:{if(b>>>0>=l>>>0){b=a;a=0;break A}j=K[b|0];b=r+2|0;J[h+304>>2]=b;n=b>>>3|0;a=j>>>(a&7)&1}j=n+o|0;if(j>>>0>>0){j=K[j|0];J[h+304>>2]=b+1;b=j>>>(b&7)<<1&2}else{b=0}p=(a|b)<<1|g;J[h+416>>2]=p;break w}J[h+416>>2]=0;break x}p=J[h+420>>2];J[h+416>>2]=p;if(p){break w}}if((c|0)==(e|0)){b=-1;break s}p=-1;n=J[h+8>>2];o=J[n+24>>2];j=c-4|0;m=J[j>>2];d=-1;B:{if((m|0)==-1){break B}b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;d=-1;if((b|0)==-1){break B}d=J[J[n>>2]+(b<<2)>>2]}b=J[o+(d<<2)>>2];if((b|0)!=-1){a=b+1|0;p=(a>>>0)%3|0?a:b-2|0}if((m|0)==(p|0)){b=-1;break s}if((m|0)!=-1){b=-1;if(J[J[n+12>>2]+(m<<2)>>2]!=-1){break s}}l=J[n+12>>2];if((p|0)!=-1){b=-1;if(J[l+(p<<2)>>2]!=-1){break s}}q=P(f,3);a=q+1|0;J[l+(m<<2)>>2]=a;g=a<<2;J[g+l>>2]=m;r=q+2|0;J[l+(p<<2)>>2]=r;f=r<<2;J[f+l>>2]=p;l=-1;a=-1;C:{if((m|0)==-1){break C}D:{if((m>>>0)%3|0){b=m-1|0;break D}b=m+2|0;a=-1;if((b|0)==-1){break C}}a=J[J[n>>2]+(b<<2)>>2]}E:{if((p|0)==-1){break E}b=p+1|0;b=(b>>>0)%3|0?b:p-2|0;if((b|0)==-1){break E}l=J[J[n>>2]+(b<<2)>>2]}b=-1;if((a|0)==(d|0)|(d|0)==(l|0)){break s}b=J[n>>2];J[b+(q<<2)>>2]=d;J[b+g>>2]=l;J[b+f>>2]=a;if((a|0)!=-1){J[o+(a<<2)>>2]=r}b=J[h+120>>2]+(d>>>3&536870908)|0;a=J[b>>2];R=b,S=rk(d)&a,J[R>>2]=S;J[j>>2]=q;p=J[c-4>>2];break v}b=-1;F:{G:{H:{I:{J:{K:{L:{M:{N:{O:{P:{switch(p-1|0){case 2:case 4:if((c|0)==(e|0)){break s}g=c-4|0;m=J[g>>2];r=J[h+8>>2];d=J[r+12>>2];if((m|0)!=-1&J[d+(m<<2)>>2]!=-1){break s}q=P(f,3);l=(p|0)==5;j=q+(l?2:1)|0;a=j<<2;J[a+d>>2]=m;J[d+(m<<2)>>2]=j;df(r+24|0,11472);d=J[h+8>>2];o=J[d+24>>2];if(J[d+28>>2]-o>>2>(N|0)){break s}n=J[d>>2];p=n+a|0;d=J[r+28>>2];b=J[r+24>>2];a=(d-b>>2)-1|0;J[p>>2]=a;if((b|0)!=(d|0)){J[o+(a<<2)>>2]=j}d=l?q:q+2|0;j=n+(l+q<<2)|0;Q:{if((m|0)==-1){J[n+(d<<2)>>2]=-1;b=-1;break Q}R:{S:{T:{if((m>>>0)%3|0){a=m-1|0;break T}a=m+2|0;if((a|0)==-1){break S}}a=J[n+(a<<2)>>2];J[n+(d<<2)>>2]=a;if((a|0)==-1){break R}J[o+(a<<2)>>2]=d;break R}J[n+(d<<2)>>2]=-1}a=m+1|0;a=(a>>>0)%3|0?a:m-2|0;b=-1;if((a|0)==-1){break Q}b=J[n+(a<<2)>>2]}J[j>>2]=b;J[g>>2]=q;break O;case 0:if((c|0)==(d|0)){break s}a=c-4|0;m=J[a>>2];J[i+68>>2]=a;l=J[i+44>>2];U:{if(!l){c=a;break U}o=J[i+40>>2];g=qk(l)>>>0>1;b=f&l+2147483647;V:{if(!g){break V}b=f;if(b>>>0>>0){break V}b=(f>>>0)%(l>>>0)|0}j=b;b=J[o+(j<<2)>>2];if(!b){c=a;break U}b=J[b>>2];if(!b){c=a;break U}W:{if(!g){l=l-1|0;while(1){g=J[b+4>>2];X:{if((g|0)!=(f|0)){if((j|0)==(g&l)){break X}c=a;break U}if((f|0)==J[b+8>>2]){break W}}b=J[b>>2];if(b){continue}break}c=a;break U}while(1){g=J[b+4>>2];Y:{if((g|0)!=(f|0)){if(g>>>0>=l>>>0){g=(g>>>0)%(l>>>0)|0}if((g|0)==(j|0)){break Y}c=a;break U}if((f|0)==J[b+8>>2]){break W}}b=J[b>>2];if(b){continue}break}c=a;break U}if((a|0)!=(z|0)){J[a>>2]=J[b+12>>2];J[i+68>>2]=c;break U}g=z-d|0;c=g>>2;e=c+1|0;if(e>>>0>=1073741824){break M}a=g>>>1|0;g=g>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(g){if(g>>>0>=1073741824){break p}a=Cj(g<<2)}else{a=0}e=a+(c<<2)|0;J[e>>2]=J[b+12>>2];c=e+4|0;if((d|0)!=(z|0)){while(1){e=e-4|0;z=z-4|0;J[e>>2]=J[z>>2];if((d|0)!=(z|0)){continue}break}}z=a+(g<<2)|0;J[i+72>>2]=z;J[i+68>>2]=c;J[i+64>>2]=e;if(d){xj(d)}}if((c|0)==(e|0)){break G}j=c-4|0;n=J[j>>2];if((n|0)==(m|0)){break G}d=(n|0)==-1;q=J[h+8>>2];if(!d&J[J[q+12>>2]+(n<<2)>>2]!=-1){break G}r=J[q+12>>2];if((m|0)!=-1&J[r+(m<<2)>>2]!=-1){break G}p=P(f,3);f=p+2|0;J[r+(n<<2)>>2]=f;o=f<<2;J[o+r>>2]=n;a=p+1|0;J[r+(m<<2)>>2]=a;b=a<<2;J[b+r>>2]=m;if(d){break L}if((n>>>0)%3|0){l=n-1|0;break J}l=n+2|0;if((l|0)!=-1){break J}d=J[q>>2];a=-1;break I;case 6:break P;default:break s}}a=J[h+8>>2];df(a+24|0,11472);g=J[h+8>>2];p=P(f,3);q=J[a+28>>2];r=J[a+24>>2];o=q-r|0;n=o>>2;l=n-1|0;J[J[g>>2]+(p<<2)>>2]=l;df(g+24|0,11472);j=p+1|0;J[J[g>>2]+(j<<2)>>2]=(J[g+28>>2]-J[g+24>>2]>>2)-1;a=J[h+8>>2];df(a+24|0,11472);g=p+2|0;J[J[a>>2]+(g<<2)>>2]=(J[a+28>>2]-J[a+24>>2]>>2)-1;a=J[h+8>>2];m=J[a+24>>2];if(J[a+28>>2]-m>>2>(N|0)){break s}Z:{_:{if((q|0)!=(r|0)){J[m+(l<<2)>>2]=p;b=0;if((o|0)==-4){break _}}J[m+(n<<2)>>2]=j;b=n+1|0;if((b|0)==-1){break Z}}J[m+(b<<2)>>2]=g}if((c|0)!=(z|0)){J[c>>2]=p;c=c+4|0;J[i+68>>2]=c;break N}g=c-d|0;b=g>>2;e=b+1|0;if(e>>>0>=1073741824){break K}a=g>>>1|0;g=g>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(g){if(g>>>0>=1073741824){break p}a=Cj(g<<2)}else{a=0}e=a+(b<<2)|0;J[e>>2]=p;z=a+(g<<2)|0;a=e+4|0;if((c|0)!=(d|0)){while(1){e=e-4|0;c=c-4|0;J[e>>2]=J[c>>2];if((c|0)!=(d|0)){continue}break}}J[i+72>>2]=z;J[i+68>>2]=a;J[i+64>>2]=e;if(d){xj(d)}c=a}d=e}lf(Q,J[c-4>>2]);g=J[h+40>>2];if((g|0)==J[h+36>>2]){break u}b=g-12|0;a=J[b+4>>2];l=(f^-1)+t|0;if(a>>>0>l>>>0){break G}if((a|0)!=(l|0)){break u}f=K[g-4|0];a=J[b>>2];J[h+40>>2]=b;if((a|0)<0){break G}g=c-4|0;j=J[g>>2];J[i+20>>2]=(a^-1)+t;a=i+20|0;J[i+88>>2]=a;ef(i,i+40|0,a,i+88|0);b=J[i>>2];$:{if(f&1){a=-1;if((j|0)==-1){break $}a=j+1|0;a=(a>>>0)%3|0?a:j-2|0;break $}a=-1;if((j|0)==-1){break $}a=j-1|0;if((j>>>0)%3|0){break $}a=j+2|0}J[b+12>>2]=a;b=J[h+40>>2];if((b|0)==J[h+36>>2]){break u}while(1){j=b-12|0;a=J[j+4>>2];if(a>>>0>l>>>0){break G}if((a|0)!=(l|0)){break u}f=K[b-4|0];a=J[j>>2];J[h+40>>2]=j;if((a|0)<0){break G}j=J[g>>2];J[i+20>>2]=(a^-1)+t;a=i+20|0;J[i+88>>2]=a;ef(i,i+40|0,a,i+88|0);b=J[i>>2];aa:{if(f&1){a=-1;if((j|0)==-1){break aa}a=j+1|0;a=(a>>>0)%3|0?a:j-2|0;break aa}a=-1;if((j|0)==-1){break aa}a=j-1|0;if((j>>>0)%3|0){break aa}a=j+2|0}J[b+12>>2]=a;b=J[h+40>>2];if((b|0)!=J[h+36>>2]){continue}break}break u}Ia();C()}l=-1;d=J[q>>2];J[d+(p<<2)>>2]=-1;g=-1;break H}Ia();C()}d=J[q>>2];a=J[d+(l<<2)>>2]}l=a;J[(p<<2)+d>>2]=a;a=n+1|0;a=(a>>>0)%3|0?a:n-2|0;g=-1;if((a|0)==-1){break H}g=J[(a<<2)+d>>2]}J[b+d>>2]=g;ba:{if((m|0)==-1){J[d+o>>2]=-1;n=-1;a=-1;break ba}ca:{da:{ea:{if((m>>>0)%3|0){b=m-1|0;break ea}b=m+2|0;if((b|0)==-1){break da}}a=J[(b<<2)+d>>2];J[d+o>>2]=a;if((a|0)==-1){break ca}J[J[q+24>>2]+(a<<2)>>2]=f;break ca}J[d+o>>2]=-1}n=-1;b=m+1|0;b=(b>>>0)%3|0?b:m-2|0;a=-1;if((b|0)==-1){break ba}n=J[(b<<2)+d>>2];a=b}g=J[h+388>>2];f=l<<2;b=g+f|0;o=b;m=J[b>>2];b=n<<2;J[o>>2]=m+J[b+g>>2];g=b;b=J[q+24>>2];o=g+b|0;if((l|0)!=-1){J[b+f>>2]=J[o>>2]}b=a;while(1){if((b|0)==-1){break F}J[(b<<2)+d>>2]=l;g=b+1|0;b=(g>>>0)%3|0?g:b-2|0;f=-1;fa:{if((b|0)==-1){break fa}g=J[r+(b<<2)>>2];f=-1;if((g|0)==-1){break fa}b=g+1|0;f=(b>>>0)%3|0?b:g-2|0}b=f;if((a|0)!=(b|0)){continue}break}}b=-1;if(!(x&1)){break t}break s}J[o>>2]=-1;ga:{if(B){break ga}if((D|0)!=(F|0)){J[F>>2]=n;F=F+4|0;J[i+28>>2]=F;break ga}d=D-s|0;b=d>>2;f=b+1|0;if(f>>>0>=1073741824){break q}a=d>>>1|0;f=d>>>0>=2147483644?1073741823:a>>>0>f>>>0?a:f;if(f){if(f>>>0>=1073741824){break p}a=Cj(f<<2)}else{a=0}b=a+(b<<2)|0;J[b>>2]=n;F=b+4|0;if((s|0)!=(D|0)){while(1){b=b-4|0;D=D-4|0;J[b>>2]=J[D>>2];if((s|0)!=(D|0)){continue}break}}D=a+(f<<2)|0;J[i+32>>2]=D;J[i+28>>2]=F;J[i+24>>2]=b;if(s){xj(s)}s=b}J[j>>2]=p}lf(Q,p);d=e}x=(k|0)<(t|0);if((k|0)!=(t|0)){continue}break}k=t}b=-1;x=J[h+8>>2];if(J[x+28>>2]-J[x+24>>2]>>2>(N|0)){break s}if((c|0)!=(e|0)){r=h+72|0;j=h+60|0;t=h+312|0;while(1){c=c-4|0;y=J[c>>2];J[i+68>>2]=c;ha:{ia:{ja:{if(L[h+270>>1]<=513){if(!K[h+364|0]){break ia}b=J[h+360>>2];a=J[h+352>>2]+(b>>>3|0)|0;if(a>>>0>=M[h+356>>2]){break ja}a=K[a|0];J[h+360>>2]=b+1;if(!(a>>>(b&7)&1)){break ja}break ia}if(je(t)){break ia}}ka:{la:{b=J[h+64>>2];f=J[h+68>>2];if((b|0)==f<<5){if((b+1|0)<0){break la}if(b>>>0<=1073741822){f=f<<6;b=(b&-32)+32|0;a=b>>>0>>0?f:b}else{a=2147483647}Jc(j,a);b=J[h+64>>2]}J[h+64>>2]=b+1;f=J[h+60>>2]+(b>>>3&536870908)|0;a=J[f>>2];R=f,S=rk(b)&a,J[R>>2]=S;b=J[h+76>>2];if((b|0)!=J[h+80>>2]){J[b>>2]=y;J[h+76>>2]=b+4;break ha}s=J[r>>2];g=b-s|0;f=g>>2;d=f+1|0;if(d>>>0>=1073741824){break ka}a=g>>>1|0;g=g>>>0>=2147483644?1073741823:a>>>0>d>>>0?a:d;if(g){if(g>>>0>=1073741824){break p}a=Cj(g<<2)}else{a=0}d=a+(f<<2)|0;J[d>>2]=y;f=d+4|0;if((b|0)!=(s|0)){while(1){d=d-4|0;b=b-4|0;J[d>>2]=J[b>>2];if((b|0)!=(s|0)){continue}break}}J[h+80>>2]=a+(g<<2);J[h+76>>2]=f;J[h+72>>2]=d;if(!s){break ha}xj(s);break ha}Ia();C()}Ia();C()}q=J[h+8>>2];B=J[q>>2];if(((J[q+4>>2]-B>>2>>>0)/3|0)<=(k|0)){b=-1;break s}e=-1;b=-1;d=-1;s=J[q+24>>2];f=-1;ma:{if((y|0)==-1){break ma}a=y+1|0;a=(a>>>0)%3|0?a:y-2|0;f=-1;if((a|0)==-1){break ma}f=J[B+(a<<2)>>2]}o=J[s+(f<<2)>>2];na:{if((o|0)==-1){l=1;a=-1;break na}l=1;g=o+1|0;g=(g>>>0)%3|0?g:o-2|0;a=-1;if((g|0)==-1){break na}l=0;a=g+1|0;e=g;a=(a>>>0)%3|0?a:e-2|0;if((a|0)!=-1){a=J[B+(a<<2)>>2]}else{a=-1}}g=J[(a<<2)+s>>2];if((g|0)!=-1){d=g+1|0;d=(d>>>0)%3|0?d:g-2|0}if((e|0)==(y|0)|(d|0)==(y|0)|((y|0)!=-1&J[J[q+12>>2]+(y<<2)>>2]!=-1|(d|0)==(e|0))){break s}if(!l&J[J[q+12>>2]+(e<<2)>>2]!=-1){break s}l=-1;s=J[q+12>>2];g=-1;oa:{if((d|0)==-1){break oa}if(J[s+(d<<2)>>2]!=-1){break s}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;g=-1;if((b|0)==-1){break oa}g=J[B+(b<<2)>>2]}b=P(k,3);J[i>>2]=b;J[s+(b<<2)>>2]=y;J[s+(y<<2)>>2]=b;b=J[i>>2]+1|0;J[s+(b<<2)>>2]=e;J[s+(e<<2)>>2]=b;b=J[i>>2]+2|0;J[s+(b<<2)>>2]=d;J[s+(d<<2)>>2]=b;b=J[i>>2];J[B+(b<<2)>>2]=a;o=b+1|0;s=B+(o<<2)|0;J[s>>2]=g;g=b+2|0;d=B+(g<<2)|0;J[d>>2]=f;f=J[h+120>>2];e=o?a:-1;b=f+(e>>>3&536870908)|0;a=J[b>>2];R=b,S=rk(e)&a,J[R>>2]=S;l=(o|0)!=-1?J[s>>2]:l;b=f+(l>>>3&536870908)|0;a=J[b>>2];R=b,S=rk(l)&a,J[R>>2]=S;b=-1;b=(g|0)!=-1?J[d>>2]:b;e=f+(b>>>3&536870908)|0;a=J[e>>2];R=e,S=rk(b)&a,J[R>>2]=S;H[i+88|0]=1;ff(j,i+88|0);df(r,i);k=k+1|0;e=J[i+64>>2]}if((c|0)!=(e|0)){continue}break}x=J[h+8>>2]}b=-1;if(((J[x+4>>2]-J[x>>2]>>2>>>0)/3|0)!=(k|0)){break s}b=J[x+28>>2]-J[x+24>>2]>>2;k=J[i+24>>2];f=J[i+28>>2];if((k|0)==(f|0)){break r}while(1){j=J[k>>2];a=J[x+24>>2];c=b-1|0;d=a+(c<<2)|0;if(J[d>>2]==-1){while(1){c=b-2|0;b=b-1|0;d=a+(c<<2)|0;if(J[d>>2]==-1){continue}break}}if(c>>>0>=j>>>0){J[i>>2]=x;d=J[d>>2];H[i+12|0]=1;J[i+8>>2]=d;J[i+4>>2]=d;if((d|0)!=-1){while(1){a=J[J[h+8>>2]>>2]+(d<<2)|0;if(J[a>>2]!=(c|0)){b=-1;break s}J[a>>2]=j;wd(i);d=J[i+8>>2];if((d|0)!=-1){continue}break}x=J[h+8>>2]}a=J[x+24>>2];e=a+(c<<2)|0;if((j|0)!=-1){J[a+(j<<2)>>2]=J[e>>2]}J[e>>2]=-1;g=1<>2];e=a+(j>>>3&536870908)|0;d=a+(c>>>3&536870908)|0;a=1<>2]&a){c=g|J[e>>2]}else{c=J[e>>2]&(g^-1)}J[e>>2]=c;J[d>>2]=J[d>>2]&(a^-1);b=b-1|0}k=k+4|0;if((f|0)!=(k|0)){continue}break}}k=J[i+24>>2]}if(k){xj(k)}a=J[i+48>>2];if(a){while(1){c=J[a>>2];xj(a);a=c;if(a){continue}break}}a=J[i+40>>2];J[i+40>>2]=0;if(a){xj(a)}a=J[i+64>>2];if(a){J[i+68>>2]=a;xj(a)}fa=i+96|0;break o}Ia();C()}Va();C()}if((b|0)==-1){break n}e=J[w+16>>2];c=e+J[w>>2]|0;a=J[w+8>>2]-e|0;e=J[J[h+4>>2]+32>>2];I[e+38>>1]=L[e+38>>1];J[e>>2]=c;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=a;J[e+12>>2]=0;c=J[h+4>>2];a=L[c+36>>1];e=a<<8|a>>>8;if((e&65535)>>>0<=513){c=J[c+32>>2];f=c;a=J[c+16>>2];c=O+J[c+20>>2]|0;a=a+E|0;c=a>>>0>>0?c+1|0:c;J[f+16>>2]=a;J[f+20>>2]=c}pa:{if(J[h+216>>2]==J[h+220>>2]){break pa}a=J[h+8>>2];c=J[a>>2];a=J[a+4>>2];qa:{if((e&65535)>>>0>=513){if((a|0)==(c|0)){break pa}c=0;break qa}if((a|0)==(c|0)){break pa}c=0;while(1){if(Ye(h,c)){c=c+3|0;a=J[h+8>>2];if(c>>>0>2]-J[a>>2]>>2>>>0){continue}break pa}break}break n}while(1){if(Ze(h,c)){c=c+3|0;a=J[h+8>>2];if(c>>>0>2]-J[a>>2]>>2>>>0){continue}break pa}break}break n}_e(A);c=J[h+216>>2];if((c|0)!=J[h+220>>2]){t=0;while(1){f=P(t,144);Ci((f+c|0)+4|0,J[h+8>>2]);a=J[G>>2];e=a+f|0;c=J[e+132>>2];e=J[e+136>>2];if((c|0)!=(e|0)){while(1){Ei((f+J[G>>2]|0)+4|0,J[c>>2]);c=c+4|0;if((e|0)!=(c|0)){continue}break}a=J[G>>2]}if(!Di((a+f|0)+4|0)){break n}t=t+1|0;c=J[h+216>>2];if(t>>>0<(J[h+220>>2]-c|0)/144>>>0){continue}break}}a=J[h+8>>2];$e(h+184|0,J[a+28>>2]-J[a+24>>2]>>2);v=J[h+216>>2];if((v|0)!=J[h+220>>2]){c=0;while(1){a=P(c,144)+v|0;e=J[a+60>>2]-J[a+56>>2]>>2;f=a+104|0;a=J[h+8>>2];a=J[a+28>>2]-J[a+24>>2]>>2;$e(f,(a|0)<(e|0)?e:a);c=c+1|0;v=J[h+216>>2];if(c>>>0<(J[h+220>>2]-v|0)/144>>>0){continue}break}}v=af(h,b)}break b}v=0}fa=u- -64|0;return v|0}function Qe(a){a=a|0;var 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,q=0,r=0,s=0,t=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,N=0,O=0,Q=0;t=fa+-64|0;fa=t;J[a+132>>2]=0;if(J[a+148>>2]){d=J[a+144>>2];if(d){while(1){b=J[d>>2];xj(d);d=b;if(b){continue}break}}d=0;J[a+144>>2]=0;j=J[a+140>>2];a:{if(!j){break a}if(j>>>0>=4){b=j&-4;while(1){c=d<<2;J[c+J[a+136>>2]>>2]=0;J[J[a+136>>2]+(c|4)>>2]=0;J[J[a+136>>2]+(c|8)>>2]=0;J[J[a+136>>2]+(c|12)>>2]=0;d=d+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}}b=j&3;if(!b){break a}while(1){J[J[a+136>>2]+(d<<2)>>2]=0;d=d+1|0;w=w+1|0;if((b|0)!=(w|0)){continue}break}}J[a+148>>2]=0}b:{c:{d=J[a+4>>2];w=K[d+36|0];b=w<<8|K[d+37|0];if(b>>>0<=513){f=J[d+32>>2];d:{if(b>>>0<=511){b=J[f+20>>2];e=J[f+16>>2];c=e+4|0;b=c>>>0<4?b+1|0:b;j=J[f+12>>2];if(M[f+8>>2]>>0&(j|0)<=(b|0)|(b|0)>(j|0)){break c}e=e+J[f>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+16>>2]=c;J[f+20>>2]=b;break d}if(!Re(1,t,f)){break c}d=J[a+4>>2];w=K[d+36|0];e=J[t>>2]}J[a+132>>2]=e}f=J[d+32>>2];e:{f:{g:{if((w&255)>>>0<=1){w=0;b=J[f+20>>2];c=J[f+16>>2];e=c+4|0;b=e>>>0<4?b+1|0:b;j=J[f+12>>2];if(M[f+8>>2]>>0&(j|0)<=(b|0)|(b|0)>(j|0)){break b}c=c+J[f>>2]|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[t+60>>2]=c;J[f+16>>2]=e;J[f+20>>2]=b;J[a+156>>2]=c;l=a+156|0;break g}w=0;if(!Re(1,t+60|0,f)){break b}d=J[a+4>>2];b=K[d+36|0];J[a+156>>2]=J[t+60>>2];l=a+156|0;if(b>>>0>1){break f}}f=J[d+32>>2];c=J[f+8>>2];j=J[f+12>>2];d=J[f+20>>2];e=J[f+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;if(b>>>0>c>>>0&(d|0)>=(j|0)|(d|0)>(j|0)){break b}e=e+J[f>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[t+56>>2]=e;J[f+16>>2]=b;J[f+20>>2]=d;break e}if(!Re(1,t+56|0,J[d+32>>2])){break b}e=J[t+56>>2]}if(e>>>0>1431655765){break b}b=J[l>>2];d=P(e,3);if(b>>>0>d>>>0){break b}c=d>>>1|0;d=b>>31;d=nk(b-1|0,d-!b|0,b,d);j=ja;b=j>>>1|0;d=(j&1)<<31|d>>>1;if(!b&d>>>0>>0){break b}k=J[a+4>>2];x=J[k+32>>2];d=J[x+8>>2];f=J[x+12>>2];b=J[x+20>>2];m=J[x+16>>2];if((f|0)<=(b|0)&m>>>0>=d>>>0|(b|0)>(f|0)){break b}l=J[x>>2];g=K[l+m|0];c=x;j=m+1|0;B=j?b:b+1|0;J[c+16>>2]=j;J[c+20>>2]=B;h:{if(K[k+36|0]<=1){c=d;d=b;b=m+5|0;d=b>>>0<5?d+1|0:d;if(b>>>0>c>>>0&(d|0)>=(f|0)|(d|0)>(f|0)){break b}c=j+l|0;l=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[t+52>>2]=l;J[x+16>>2]=b;J[x+20>>2]=d;break h}if(!Re(1,t+52|0,x)){break b}l=J[t+52>>2]}if(e>>>0>>0|((l>>>0)/3|0)+l>>>0>>0){break b}d=J[a+4>>2];f=J[d+32>>2];i:{if(K[d+36|0]<=1){d=J[f+20>>2];b=J[f+16>>2];c=b+4|0;d=c>>>0<4?d+1|0:d;j=J[f+12>>2];if(M[f+8>>2]>>0&(j|0)<=(d|0)|(d|0)>(j|0)){break b}b=b+J[f>>2]|0;b=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[t+48>>2]=b;J[f+16>>2]=c;J[f+20>>2]=d;break i}if(!Re(1,t+48|0,f)){break b}b=J[t+48>>2]}if(b>>>0>l>>>0){break b}J[a+28>>2]=J[a+24>>2];d=ti(Cj(88));c=J[a+8>>2];J[a+8>>2]=d;if(c){Se(c);if(!J[a+8>>2]){break b}}J[a+164>>2]=J[a+160>>2];Te(a+160|0,e);J[a+176>>2]=J[a+172>>2];Te(a+172|0,e);J[a- -64>>2]=0;J[a+92>>2]=-1;J[a+84>>2]=-1;J[a+88>>2]=-1;J[a+40>>2]=J[a+36>>2];J[a+52>>2]=J[a+48>>2];J[a+76>>2]=J[a+72>>2];E=a+216|0;Ue(E);Ve(E,g);if(!vi(J[a+8>>2],e,J[a+156>>2]+b|0)){break b}d=J[a+156>>2];H[t|0]=1;Oe(a+120|0,b+d|0,t);b=J[a+4>>2];d=L[b+36>>1];d=(d<<8|d>>>8)&65535;j:{if(d>>>0<=513){j=J[b+32>>2];k:{if(d>>>0<=511){d=J[j+20>>2];e=J[j+16>>2];b=e+4|0;d=b>>>0<4?d+1|0:d;c=J[j+12>>2];if(M[j+8>>2]>>0&(c|0)<=(d|0)|(d|0)>(c|0)){break b}e=e+J[j>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[j+16>>2]=b;J[j+20>>2]=d;break k}if(!Re(1,t+44|0,j)){break b}e=J[t+44>>2]}if(!e){break b}j=J[J[a+4>>2]+32>>2];c=J[j+8>>2];d=J[j+16>>2];b=c-d|0;d=J[j+12>>2]-(J[j+20>>2]+(d>>>0>c>>>0)|0)|0;if(b>>>0>>0&(d|0)<=0|(d|0)<0){break b}f=qg(t);j=J[J[a+4>>2]+32>>2];c=J[j+16>>2];b=(c+J[j>>2]|0)+e|0;d=J[j+8>>2]-c|0;I[f+38>>1]=L[j+38>>1];J[f>>2]=b;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=d-e;J[f+12>>2]=0;d=We(a,f);if((d|0)==-1){break b}x=d;G=d>>31;break j}x=-1;G=-1;if((We(a,J[b+32>>2])|0)==-1){break b}}N=a+232|0;e=N;J[e+144>>2]=a;d=J[(ka[J[J[a>>2]+32>>2]](a)|0)+32>>2];b=J[d>>2]+J[d+16>>2]|0;d=J[(ka[J[J[a>>2]+32>>2]](a)|0)+32>>2];d=J[d+8>>2]-J[d+16>>2]|0;O=e,Q=L[J[(ka[J[J[a>>2]+32>>2]](a)|0)+32>>2]+38>>1],I[O+38>>1]=Q;J[e>>2]=b;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=d;J[e+12>>2]=0;J[a+372>>2]=g;B=qg(t);l:{if(!Xe(e,B)){break l}b=0;d=0;e=0;j=0;i=fa-96|0;fa=i;J[i+72>>2]=0;J[i+64>>2]=0;J[i+68>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+56>>2]=1065353216;J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;h=a;F=J[a+124>>2];m:{n:{o:{p:{q:{r:{if((l|0)<=0){break r}z=J[h+216>>2]!=J[h+220>>2];s=1;while(1){f=j;j=f+1|0;s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{if(!K[h+308|0]){break G}u=J[h+296>>2];g=J[h+304>>2];a=u+(g>>>3|0)|0;p=J[h+300>>2];if(a>>>0>=p>>>0){break G}c=K[a|0];a=g+1|0;J[h+304>>2]=a;m=c>>>(g&7)&1;if(!m){break G}n=0;k=a>>>3|0;c=u+k|0;H:{if(c>>>0>=p>>>0){g=a;a=0;break H}c=K[c|0];g=g+2|0;J[h+304>>2]=g;k=g>>>3|0;a=c>>>(a&7)&1}c=k+u|0;if(c>>>0

>>0){c=K[c|0];J[h+304>>2]=g+1;n=c>>>(g&7)<<1&2}k=-1;a=m|(a|n)<<1;switch(a-1|0){case 6:break D;case 0:break E;case 2:case 4:break F;default:break q}}if((d|0)==(e|0)){k=-1;break q}g=-1;q=J[h+8>>2];u=J[q+24>>2];p=d-4|0;s=J[p>>2];c=-1;I:{if((s|0)==-1){break I}b=s+1|0;b=(b>>>0)%3|0?b:s-2|0;c=-1;if((b|0)==-1){break I}c=J[J[q>>2]+(b<<2)>>2]}b=J[u+(c<<2)>>2];if((b|0)!=-1){a=b+1|0;g=(a>>>0)%3|0?a:b-2|0}if((g|0)==(s|0)){k=-1;break q}if((s|0)!=-1){k=-1;if(J[J[q+12>>2]+(s<<2)>>2]!=-1){break q}}b=J[q+12>>2];if((g|0)!=-1){k=-1;if(J[b+(g<<2)>>2]!=-1){break q}}n=P(f,3);a=n+1|0;J[b+(s<<2)>>2]=a;m=a<<2;J[m+b>>2]=s;r=n+2|0;J[b+(g<<2)>>2]=r;f=r<<2;J[f+b>>2]=g;o=-1;a=-1;J:{if((s|0)==-1){break J}K:{if((s>>>0)%3|0){b=s-1|0;break K}b=s+2|0;a=-1;if((b|0)==-1){break J}}a=J[J[q>>2]+(b<<2)>>2]}L:{if((g|0)==-1){break L}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1){break L}o=J[J[q>>2]+(b<<2)>>2]}k=-1;if((a|0)==(c|0)|(c|0)==(o|0)){break q}b=J[q>>2];J[b+(n<<2)>>2]=c;J[b+m>>2]=o;J[b+f>>2]=a;if((a|0)!=-1){J[u+(a<<2)>>2]=r}b=J[h+120>>2]+(c>>>3&536870908)|0;a=J[b>>2];O=b,Q=rk(c)&a,J[O>>2]=Q;J[p>>2]=n;b=e;break s}if((d|0)==(e|0)){break q}m=d-4|0;n=J[m>>2];r=J[h+8>>2];b=J[r+12>>2];if((n|0)!=-1&J[b+(n<<2)>>2]!=-1){break q}o=P(f,3);p=(a|0)==5;g=o+(p?2:1)|0;a=g<<2;J[a+b>>2]=n;J[b+(n<<2)>>2]=g;df(r+24|0,11472);b=J[h+8>>2];u=J[b+24>>2];if(J[b+28>>2]-u>>2>(F|0)){break q}k=J[b>>2];q=k+a|0;c=J[r+28>>2];b=J[r+24>>2];a=(c-b>>2)-1|0;J[q>>2]=a;if((b|0)!=(c|0)){J[u+(a<<2)>>2]=g}c=p?o:o+2|0;g=k+(o+p<<2)|0;M:{if((n|0)==-1){J[k+(c<<2)>>2]=-1;b=-1;break M}N:{O:{P:{if((n>>>0)%3|0){a=n-1|0;break P}a=n+2|0;if((a|0)==-1){break O}}a=J[k+(a<<2)>>2];J[k+(c<<2)>>2]=a;if((a|0)==-1){break N}J[u+(a<<2)>>2]=c;break N}J[k+(c<<2)>>2]=-1}a=n+1|0;a=(a>>>0)%3|0?a:n-2|0;b=-1;if((a|0)==-1){break M}b=J[k+(a<<2)>>2]}J[g>>2]=b;J[m>>2]=o;b=e;break y}if((b|0)==(d|0)){break q}a=d-4|0;q=J[a>>2];J[i+68>>2]=a;p=J[i+44>>2];Q:{if(!p){d=a;break Q}g=J[i+40>>2];k=qk(p)>>>0>1;c=f&p+2147483647;R:{if(!k){break R}c=f;if(c>>>0

>>0){break R}c=(f>>>0)%(p>>>0)|0}m=c;c=J[g+(m<<2)>>2];if(!c){d=a;break Q}g=J[c>>2];if(!g){d=a;break Q}S:{if(!k){k=p-1|0;while(1){c=J[g+4>>2];T:{if((c|0)!=(f|0)){if((m|0)==(c&k)){break T}d=a;break Q}if((f|0)==J[g+8>>2]){break S}}g=J[g>>2];if(g){continue}break}d=a;break Q}while(1){c=J[g+4>>2];U:{if((c|0)!=(f|0)){if(c>>>0>=p>>>0){c=(c>>>0)%(p>>>0)|0}if((c|0)==(m|0)){break U}d=a;break Q}if((f|0)==J[g+8>>2]){break S}}g=J[g>>2];if(g){continue}break}d=a;break Q}if((a|0)!=(y|0)){J[a>>2]=J[g+12>>2];J[i+68>>2]=d;break Q}c=y-b|0;d=c>>2;e=d+1|0;if(e>>>0>=1073741824){break C}a=c>>>1|0;c=c>>>0>=2147483644?1073741823:a>>>0>e>>>0?a:e;if(c){if(c>>>0>=1073741824){break n}a=Cj(c<<2)}else{a=0}e=a+(d<<2)|0;J[e>>2]=J[g+12>>2];d=e+4|0;if((b|0)!=(y|0)){while(1){e=e-4|0;y=y-4|0;J[e>>2]=J[y>>2];if((b|0)!=(y|0)){continue}break}}y=a+(c<<2)|0;J[i+72>>2]=y;J[i+68>>2]=d;J[i+64>>2]=e;if(b){xj(b)}}if((d|0)==(e|0)){break u}g=d-4|0;n=J[g>>2];if((n|0)==(q|0)){break u}b=(n|0)==-1;o=J[h+8>>2];if(!b&J[J[o+12>>2]+(n<<2)>>2]!=-1){break u}r=J[o+12>>2];if((q|0)!=-1&J[r+(q<<2)>>2]!=-1){break u}u=P(f,3);f=u+2|0;J[r+(n<<2)>>2]=f;p=f<<2;J[p+r>>2]=n;a=u+1|0;J[r+(q<<2)>>2]=a;c=a<<2;J[c+r>>2]=q;if(b){break B}if((n>>>0)%3|0){m=n-1|0;break x}m=n+2|0;if((m|0)!=-1){break x}a=J[o>>2];b=-1;break w}a=J[h+8>>2];df(a+24|0,11472);c=J[h+8>>2];q=P(f,3);r=J[a+28>>2];u=J[a+24>>2];p=r-u|0;o=p>>2;g=o-1|0;J[J[c>>2]+(q<<2)>>2]=g;df(c+24|0,11472);m=q+1|0;J[J[c>>2]+(m<<2)>>2]=(J[c+28>>2]-J[c+24>>2]>>2)-1;a=J[h+8>>2];df(a+24|0,11472);c=q+2|0;J[J[a>>2]+(c<<2)>>2]=(J[a+28>>2]-J[a+24>>2]>>2)-1;a=J[h+8>>2];n=J[a+24>>2];if(J[a+28>>2]-n>>2>(F|0)){break q}V:{W:{if((r|0)!=(u|0)){J[n+(g<<2)>>2]=q;k=0;if((p|0)==-4){break W}}J[n+(o<<2)>>2]=m;k=o+1|0;if((k|0)==-1){break V}}J[n+(k<<2)>>2]=c}if((d|0)!=(y|0)){J[d>>2]=q;d=d+4|0;J[i+68>>2]=d;break y}m=d-b|0;e=m>>2;c=e+1|0;if(c>>>0>=1073741824){break A}a=m>>>1|0;c=m>>>0>=2147483644?1073741823:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=1073741824){break n}a=Cj(c<<2)}else{a=0}e=a+(e<<2)|0;J[e>>2]=q;y=a+(c<<2)|0;a=e+4|0;if((b|0)!=(d|0)){while(1){e=e-4|0;d=d-4|0;J[e>>2]=J[d>>2];if((b|0)!=(d|0)){continue}break}}J[i+72>>2]=y;J[i+68>>2]=a;J[i+64>>2]=e;if(!b){break z}xj(b);break z}Ia();C()}m=-1;a=J[o>>2];J[a+(u<<2)>>2]=-1;k=-1;break v}Ia();C()}d=a;b=e}m=J[h+40>>2];if((m|0)==J[h+36>>2]){break s}c=m-12|0;a=J[c+4>>2];k=(f^-1)+l|0;if(a>>>0>k>>>0){break u}if((a|0)!=(k|0)){break s}f=K[m-4|0];a=J[c>>2];J[h+40>>2]=c;if((a|0)<0){break u}m=d-4|0;g=J[m>>2];J[i+20>>2]=(a^-1)+l;a=i+20|0;J[i+88>>2]=a;ef(i,i+40|0,a,i+88|0);c=J[i>>2];X:{if(f&1){a=-1;if((g|0)==-1){break X}a=g+1|0;a=(a>>>0)%3|0?a:g-2|0;break X}a=-1;if((g|0)==-1){break X}a=g-1|0;if((g>>>0)%3|0){break X}a=g+2|0}J[c+12>>2]=a;g=J[h+40>>2];if((g|0)==J[h+36>>2]){break s}while(1){c=g-12|0;a=J[c+4>>2];if(a>>>0>k>>>0){break u}if((a|0)!=(k|0)){break s}f=K[g-4|0];a=J[c>>2];J[h+40>>2]=c;if((a|0)<0){break u}g=J[m>>2];J[i+20>>2]=(a^-1)+l;a=i+20|0;J[i+88>>2]=a;ef(i,i+40|0,a,i+88|0);c=J[i>>2];Y:{if(f&1){a=-1;if((g|0)==-1){break Y}a=g+1|0;a=(a>>>0)%3|0?a:g-2|0;break Y}a=-1;if((g|0)==-1){break Y}a=g-1|0;if((g>>>0)%3|0){break Y}a=g+2|0}J[c+12>>2]=a;g=J[h+40>>2];if((g|0)!=J[h+36>>2]){continue}break}break s}a=J[o>>2];b=J[a+(m<<2)>>2]}m=b;J[(u<<2)+a>>2]=b;b=n+1|0;b=(b>>>0)%3|0?b:n-2|0;k=-1;if((b|0)==-1){break v}k=J[(b<<2)+a>>2]}J[a+c>>2]=k;Z:{if((q|0)==-1){J[a+p>>2]=-1;n=-1;c=-1;break Z}_:{$:{aa:{if((q>>>0)%3|0){b=q-1|0;break aa}b=q+2|0;if((b|0)==-1){break $}}b=J[(b<<2)+a>>2];J[a+p>>2]=b;if((b|0)==-1){break _}J[J[o+24>>2]+(b<<2)>>2]=f;break _}J[a+p>>2]=-1}n=-1;b=q+1|0;b=(b>>>0)%3|0?b:q-2|0;c=-1;if((b|0)==-1){break Z}n=J[(b<<2)+a>>2];c=b}b=J[o+24>>2];p=b+(n<<2)|0;if((m|0)!=-1){J[b+(m<<2)>>2]=J[p>>2]}b=c;while(1){if((b|0)==-1){break t}J[(b<<2)+a>>2]=m;k=b+1|0;b=(k>>>0)%3|0?k:b-2|0;f=-1;ba:{if((b|0)==-1){break ba}k=J[r+(b<<2)>>2];f=-1;if((k|0)==-1){break ba}b=k+1|0;f=(b>>>0)%3|0?b:k-2|0}b=f;if((c|0)!=(b|0)){continue}break}}k=-1;if(!(s&1)){break r}break q}J[p>>2]=-1;ca:{if(z){break ca}if((A|0)!=(D|0)){J[D>>2]=n;D=D+4|0;J[i+28>>2]=D;break ca}f=A-v|0;b=f>>2;c=b+1|0;if(c>>>0>=1073741824){break o}a=f>>>1|0;c=f>>>0>=2147483644?1073741823:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=1073741824){break n}a=Cj(c<<2)}else{a=0}b=a+(b<<2)|0;J[b>>2]=n;D=b+4|0;if((v|0)!=(A|0)){while(1){b=b-4|0;A=A-4|0;J[b>>2]=J[A>>2];if((v|0)!=(A|0)){continue}break}}A=a+(c<<2)|0;J[i+32>>2]=A;J[i+28>>2]=D;J[i+24>>2]=b;if(v){xj(v)}v=b}J[g>>2]=u;b=e}s=(j|0)<(l|0);if((j|0)!=(l|0)){continue}break}j=l}k=-1;a=J[h+8>>2];if(J[a+28>>2]-J[a+24>>2]>>2>(F|0)){break q}if((d|0)!=(e|0)){u=h+72|0;m=h+60|0;p=h+312|0;while(1){d=d-4|0;o=J[d>>2];J[i+68>>2]=d;da:{ea:{fa:{if(L[h+270>>1]<=513){if(!K[h+364|0]){break ea}b=J[h+360>>2];a=J[h+352>>2]+(b>>>3|0)|0;if(a>>>0>=M[h+356>>2]){break fa}a=K[a|0];J[h+360>>2]=b+1;if(!(a>>>(b&7)&1)){break fa}break ea}if(je(p)){break ea}}ga:{ha:{b=J[h+64>>2];c=J[h+68>>2];if((b|0)==c<<5){if((b+1|0)<0){break ha}if(b>>>0<=1073741822){c=c<<6;b=(b&-32)+32|0;a=b>>>0>>0?c:b}else{a=2147483647}Jc(m,a);b=J[h+64>>2]}J[h+64>>2]=b+1;c=J[h+60>>2]+(b>>>3&536870908)|0;a=J[c>>2];O=c,Q=rk(b)&a,J[O>>2]=Q;b=J[h+76>>2];if((b|0)!=J[h+80>>2]){J[b>>2]=o;J[h+76>>2]=b+4;break da}l=J[u>>2];v=b-l|0;c=v>>2;f=c+1|0;if(f>>>0>=1073741824){break ga}a=v>>>1|0;f=v>>>0>=2147483644?1073741823:a>>>0>f>>>0?a:f;if(f){if(f>>>0>=1073741824){break n}a=Cj(f<<2)}else{a=0}g=a+(c<<2)|0;J[g>>2]=o;c=g+4|0;if((b|0)!=(l|0)){while(1){g=g-4|0;b=b-4|0;J[g>>2]=J[b>>2];if((b|0)!=(l|0)){continue}break}}J[h+80>>2]=a+(f<<2);J[h+76>>2]=c;J[h+72>>2]=g;if(!l){break da}xj(l);break da}Ia();C()}Ia();C()}r=J[h+8>>2];z=J[r>>2];if(((J[r+4>>2]-z>>2>>>0)/3|0)<=(j|0)){k=-1;break q}a=-1;k=-1;b=-1;v=J[r+24>>2];f=-1;ia:{if((o|0)==-1){break ia}e=o+1|0;e=(e>>>0)%3|0?e:o-2|0;f=-1;if((e|0)==-1){break ia}f=J[z+(e<<2)>>2]}l=J[v+(f<<2)>>2];ja:{if((l|0)==-1){g=1;e=-1;break ja}g=1;c=l+1|0;c=(c>>>0)%3|0?c:l-2|0;e=-1;if((c|0)==-1){break ja}g=0;a=c;e=a+1|0;e=(e>>>0)%3|0?e:a-2|0;if((e|0)!=-1){e=J[z+(e<<2)>>2]}else{e=-1}}c=J[(e<<2)+v>>2];if((c|0)!=-1){b=c+1|0;b=(b>>>0)%3|0?b:c-2|0}if((a|0)==(o|0)|(b|0)==(o|0)|((o|0)!=-1&J[J[r+12>>2]+(o<<2)>>2]!=-1|(a|0)==(b|0))){break q}if(!g&J[J[r+12>>2]+(a<<2)>>2]!=-1){break q}g=-1;l=J[r+12>>2];v=-1;ka:{if((b|0)==-1){break ka}if(J[l+(b<<2)>>2]!=-1){break q}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;v=-1;if((c|0)==-1){break ka}v=J[z+(c<<2)>>2]}c=P(j,3);J[i>>2]=c;J[l+(c<<2)>>2]=o;J[l+(o<<2)>>2]=c;c=J[i>>2]+1|0;J[l+(c<<2)>>2]=a;J[l+(a<<2)>>2]=c;a=J[i>>2]+2|0;J[l+(a<<2)>>2]=b;J[l+(b<<2)>>2]=a;a=J[i>>2];J[z+(a<<2)>>2]=e;k=a+1|0;l=z+(k<<2)|0;J[l>>2]=v;v=a+2|0;c=z+(v<<2)|0;J[c>>2]=f;f=J[h+120>>2];e=k?e:-1;b=f+(e>>>3&536870908)|0;a=J[b>>2];O=b,Q=rk(e)&a,J[O>>2]=Q;g=(k|0)!=-1?J[l>>2]:g;b=f+(g>>>3&536870908)|0;a=J[b>>2];O=b,Q=rk(g)&a,J[O>>2]=Q;b=-1;b=(v|0)!=-1?J[c>>2]:b;e=f+(b>>>3&536870908)|0;a=J[e>>2];O=e,Q=rk(b)&a,J[O>>2]=Q;H[i+88|0]=1;ff(m,i+88|0);df(u,i);j=j+1|0;e=J[i+64>>2]}if((d|0)!=(e|0)){continue}break}a=J[h+8>>2]}k=-1;if(((J[a+4>>2]-J[a>>2]>>2>>>0)/3|0)!=(j|0)){break q}k=J[a+28>>2]-J[a+24>>2]>>2;s=J[i+24>>2];c=J[i+28>>2];if((s|0)==(c|0)){break p}while(1){j=J[s>>2];d=J[a+24>>2];b=k-1|0;g=d+(b<<2)|0;if(J[g>>2]==-1){while(1){b=k-2|0;k=k-1|0;g=d+(b<<2)|0;if(J[g>>2]==-1){continue}break}}if(b>>>0>=j>>>0){J[i>>2]=a;g=J[g>>2];H[i+12|0]=1;J[i+8>>2]=g;J[i+4>>2]=g;if((g|0)!=-1){while(1){a=J[J[h+8>>2]>>2]+(g<<2)|0;if(J[a>>2]!=(b|0)){k=-1;break q}J[a>>2]=j;wd(i);g=J[i+8>>2];if((g|0)!=-1){continue}break}a=J[h+8>>2]}d=J[a+24>>2];e=d+(b<<2)|0;if((j|0)!=-1){J[d+(j<<2)>>2]=J[e>>2]}J[e>>2]=-1;f=1<>2];e=d+(j>>>3&536870908)|0;j=d+(b>>>3&536870908)|0;d=1<>2]&d){b=f|J[e>>2]}else{b=J[e>>2]&(f^-1)}J[e>>2]=b;J[j>>2]=J[j>>2]&(d^-1);k=k-1|0}s=s+4|0;if((c|0)!=(s|0)){continue}break}}s=J[i+24>>2]}if(s){xj(s)}a=J[i+48>>2];if(a){while(1){d=J[a>>2];xj(a);a=d;if(a){continue}break}}a=J[i+40>>2];J[i+40>>2]=0;if(a){xj(a)}a=J[i+64>>2];if(a){J[i+68>>2]=a;xj(a)}fa=i+96|0;a=k;break m}Ia();C()}Va();C()}b=a;if((a|0)==-1){break l}e=J[B+16>>2];d=e+J[B>>2]|0;a=J[B+8>>2]-e|0;e=J[J[h+4>>2]+32>>2];I[e+38>>1]=L[e+38>>1];J[e>>2]=d;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=a;J[e+12>>2]=0;d=J[h+4>>2];a=L[d+36>>1];e=a<<8|a>>>8;if((e&65535)>>>0<=513){d=J[d+32>>2];c=d;a=J[c+16>>2];d=G+J[c+20>>2]|0;a=a+x|0;d=a>>>0>>0?d+1|0:d;J[c+16>>2]=a;J[c+20>>2]=d}la:{if(J[h+216>>2]==J[h+220>>2]){break la}a=J[h+8>>2];d=J[a>>2];a=J[a+4>>2];ma:{if((e&65535)>>>0>=513){if((a|0)==(d|0)){break la}d=0;break ma}if((a|0)==(d|0)){break la}d=0;while(1){if(Ye(h,d)){d=d+3|0;a=J[h+8>>2];if(d>>>0>2]-J[a>>2]>>2>>>0){continue}break la}break}break l}while(1){if(Ze(h,d)){d=d+3|0;a=J[h+8>>2];if(d>>>0>2]-J[a>>2]>>2>>>0){continue}break la}break}break l}_e(N);d=J[h+216>>2];if((d|0)!=J[h+220>>2]){l=0;while(1){c=P(l,144);Ci((c+d|0)+4|0,J[h+8>>2]);a=J[E>>2];e=a+c|0;d=J[e+132>>2];e=J[e+136>>2];if((d|0)!=(e|0)){while(1){Ei((c+J[E>>2]|0)+4|0,J[d>>2]);d=d+4|0;if((e|0)!=(d|0)){continue}break}a=J[E>>2]}if(!Di((a+c|0)+4|0)){break l}l=l+1|0;d=J[h+216>>2];if(l>>>0<(J[h+220>>2]-d|0)/144>>>0){continue}break}}a=J[h+8>>2];$e(h+184|0,J[a+28>>2]-J[a+24>>2]>>2);w=J[h+216>>2];if((w|0)!=J[h+220>>2]){d=0;while(1){a=P(d,144)+w|0;e=J[a+60>>2]-J[a+56>>2]>>2;c=a+104|0;a=J[h+8>>2];a=J[a+28>>2]-J[a+24>>2]>>2;$e(c,(a|0)<(e|0)?e:a);d=d+1|0;w=J[h+216>>2];if(d>>>0<(J[h+220>>2]-w|0)/144>>>0){continue}break}}w=af(h,b)}break b}w=0}fa=t- -64|0;return w|0}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0;A=c;c=0;m=fa-96|0;fa=m;l=m+16|0;Xi(l,0,76);J[m+92>>2]=-1;J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;r=fa-16|0;fa=r;J[l+68>>2]=0;J[l+72>>2]=0;J[l>>2]=b;s=fa-16|0;fa=s;u=b;a=J[b+20>>2];a:{if((J[b+24>>2]-a|0)<=0){break a}a=J[a>>2];if((a|0)==-1){break a}c=J[J[u+8>>2]+(a<<2)>>2]}b:{c:{d:{if(!c){a=0;break d}a=J[u+100>>2];e=J[u+96>>2];J[s+8>>2]=0;J[s>>2]=0;J[s+4>>2]=0;f=a-e|0;b=(f|0)/12|0;e:{if((a|0)==(e|0)){break e}if(b>>>0>=357913942){break c}d=Cj(f);J[s>>2]=d;J[s+8>>2]=d+P(b,12);a=0;n=d;f=f-12|0;d=(f-((f>>>0)%12|0)|0)+12|0;f=Xi(n,0,d);J[s+4>>2]=d+f;if(K[c+84|0]){c=b>>>0<=1?1:b;h=c&1;if(b>>>0>=2){g=c&-2;c=0;while(1){d=P(a,12);b=d+e|0;i=J[b+4>>2];j=J[b>>2];d=d+f|0;J[d+8>>2]=J[b+8>>2];J[d>>2]=j;J[d+4>>2]=i;d=P(a|1,12);b=d+e|0;i=J[b+4>>2];j=J[b>>2];d=d+f|0;J[d+8>>2]=J[b+8>>2];J[d>>2]=j;J[d+4>>2]=i;a=a+2|0;c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!h){break e}b=P(a,12);a=b+e|0;c=J[a+4>>2];e=J[a>>2];b=b+f|0;J[b+8>>2]=J[a+8>>2];J[b>>2]=e;J[b+4>>2]=c;break e}h=b>>>0<=1?1:b;a=J[c+68>>2];c=0;while(1){d=P(c,12);b=d+e|0;g=J[a+(J[b>>2]<<2)>>2];i=J[a+(J[b+4>>2]<<2)>>2];d=d+f|0;J[d+8>>2]=J[a+(J[b+8>>2]<<2)>>2];J[d+4>>2]=i;J[d>>2]=g;c=c+1|0;if((h|0)!=(c|0)){continue}break}}d=0;E=fa-16|0;fa=E;h=Cj(88);ti(h);B=fa-16|0;fa=B;J[h+80>>2]=0;J[h+84>>2]=0;a=J[h+76>>2];J[h+76>>2]=0;if(a){xj(a)}J[h+68>>2]=0;J[h+72>>2]=0;b=h- -64|0;a=J[b>>2];J[b>>2]=0;if(a){xj(a)}g=J[s+4>>2];b=J[s>>2];c=(g-b|0)/12|0;a=P(c,3);f=J[h>>2];e=J[h+4>>2]-f>>2;f:{if(a>>>0>e>>>0){ag(h,a-e|0);g=J[s+4>>2];b=J[s>>2];c=(g-b|0)/12|0;break f}if(a>>>0>=e>>>0){break f}J[h+4>>2]=f+(a<<2)}g:{if((b|0)==(g|0)){break g}e=c>>>0<=1?1:c;g=e&1;a=J[h>>2];if(c>>>0>=2){i=e&-2;c=0;while(1){e=P(d,12);j=e+a|0;f=b+e|0;J[j>>2]=J[f>>2];J[a+(e|4)>>2]=J[f+4>>2];J[j+8>>2]=J[f+8>>2];f=P(d|1,12);e=f+a|0;f=b+f|0;J[e>>2]=J[f>>2];J[e+4>>2]=J[f+4>>2];J[e+8>>2]=J[f+8>>2];d=d+2|0;c=c+2|0;if((i|0)!=(c|0)){continue}break}}if(!g){break g}c=P(d,12);a=c+a|0;b=b+c|0;J[a>>2]=J[b>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=J[b+8>>2]}J[B+12>>2]=-1;a=0;e=0;g=0;f=fa-32|0;fa=f;h:{i:{v=B+12|0;j:{if(!v){break j}c=J[h+4>>2];j=J[h>>2];d=c-j|0;i=d>>2;n=J[h+12>>2];b=J[h+16>>2]-n>>2;k:{if(i>>>0>b>>>0){Vb(h+12|0,i-b|0,13700);c=J[h+4>>2];j=J[h>>2];d=c-j|0;i=d>>2;break k}if(b>>>0<=i>>>0){break k}J[h+16>>2]=n+(i<<2)}J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;b=(c|0)==(j|0);if(!b){if((d|0)<0){break i}e=Cj(d);J[f+20>>2]=e;J[f+16>>2]=e;J[f+24>>2]=(i<<2)+e}l:{m:{n:{o:{p:{if(d){while(1){i=J[(a<<2)+j>>2];b=J[f+20>>2]-e>>2;q:{if(i>>>0>>0){break q}J[f>>2]=0;d=i+1|0;if(d>>>0>b>>>0){fb(f+16|0,d-b|0,f);j=J[h>>2];c=J[h+4>>2];e=J[f+16>>2];break q}if(b>>>0<=d>>>0){break q}J[f+20>>2]=(d<<2)+e}b=(i<<2)+e|0;J[b>>2]=J[b>>2]+1;a=a+1|0;d=c-j|0;i=d>>2;if(a>>>0>>0){continue}break}break p}d=0;if(!b){break o}break n}if((c|0)==(j|0)){d=0;break n}if(d>>>0>=2147483645){break m}}d=Cj(d<<1);Xi(d,255,i<<3)}J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=J[f+20>>2];a=b-e|0;t=a>>2;r:{s:{if((b|0)==(e|0)){break s}if((a|0)<0){break r}q=Cj(a);J[f>>2]=q;J[f+8>>2]=(t<<2)+q;b=Xi(q,0,a);J[f+4>>2]=b+a;c=t>>>0<=1?1:t;n=c&3;a=0;if(c-1>>>0>=3){o=c&-4;while(1){c=g<<2;J[c+b>>2]=a;w=c|4;a=J[c+e>>2]+a|0;J[w+b>>2]=a;x=c|8;a=a+J[e+w>>2]|0;J[x+b>>2]=a;c=c|12;a=a+J[e+x>>2]|0;J[c+b>>2]=a;a=a+J[c+e>>2]|0;g=g+4|0;p=p+4|0;if((o|0)!=(p|0)){continue}break}}if(!n){break s}while(1){c=g<<2;J[c+b>>2]=a;g=g+1|0;a=J[c+e>>2]+a|0;k=k+1|0;if((n|0)!=(k|0)){continue}break}}if(!i){break l}w=J[h+40>>2];x=J[h+12>>2];n=0;while(1){F=n<<2;a=F+j|0;k=-1;c=n+1|0;b=(c>>>0)%3|0?c:n-2|0;if((b|0)!=-1){k=J[(b<<2)+j>>2]}b=J[a>>2];t:{u:{if(!((n>>>0)%3|0)){p=-1;a=n+2|0;if((a|0)!=-1){p=J[(a<<2)+j>>2]}if(!((b|0)==(k|0)|(b|0)==(p|0))&(k|0)!=(p|0)){break u}w=w+1|0;J[h+40>>2]=w;c=n+3|0;break t}p=J[a-4>>2]}a=p<<2;z=J[a+e>>2];v:{w:{if((z|0)<=0){break w}a=J[a+q>>2];g=0;while(1){o=(a<<3)+d|0;y=J[o>>2];if((y|0)==-1){break w}x:{if((k|0)!=(y|0)){break x}o=J[o+4>>2];if((o|0)!=-1){y=J[(o<<2)+j>>2]}else{y=-1}if((y|0)==(b|0)){break x}while(1){y:{b=a;g=g+1|0;if((z|0)<=(g|0)){break y}a=b+1|0;G=(a<<3)+d|0;y=J[G>>2];I=(b<<3)+d|0;J[I+4>>2]=J[G+4>>2];J[I>>2]=y;if((y|0)!=-1){continue}}break}J[(b<<3)+d>>2]=-1;if((o|0)==-1){break w}J[x+F>>2]=o;J[x+(o<<2)>>2]=n;break v}a=a+1|0;g=g+1|0;if((z|0)!=(g|0)){continue}break}}a=k<<2;k=J[a+e>>2];if((k|0)<=0){break v}a=J[a+q>>2];g=0;while(1){b=(a<<3)+d|0;if(J[b>>2]==-1){J[b>>2]=p;J[b+4>>2]=n;break v}a=a+1|0;g=g+1|0;if((k|0)!=(g|0)){continue}break}}}n=c;if(n>>>0>>0){continue}break}break l}break i}Ia();C()}J[v>>2]=t;if(q){xj(q)}if(d){xj(d)}a=J[f+16>>2];if(!a){break j}J[f+20>>2]=a;xj(a)}fa=f+32|0;w=(v|0)!=0;if(w){k=fa-32|0;fa=k;a=J[h>>2];g=J[h+4>>2];J[k+24>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;if((a|0)==(g|0)){c=g}else{a=g-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=Cj(b<<2);J[k+24>>2]=b;J[k+20>>2]=0;J[k+16>>2]=c;ui(k+16|0,a);g=J[h>>2];c=J[h+4>>2]}J[k+8>>2]=0;J[k>>2]=0;while(1){z:{o=0;i=0;if((c|0)==(g|0)){break z}while(1){b=J[k+16>>2];A:{if(J[b+(i>>>3&536870908)>>2]>>>i&1){break A}c=J[k>>2];J[k+4>>2]=c;e=J[h+12>>2];a=i;while(1){B:{f=a+1|0;d=a;a=(f>>>0)%3|0?f:a-2|0;if((a|0)==-1){break B}a=J[e+(a<<2)>>2];if((a|0)==-1){break B}f=a+1|0;a=(f>>>0)%3|0?f:a-2|0;if((i|0)==(a|0)|(a|0)==-1){break B}if(!(J[b+(a>>>3&536870908)>>2]>>>a&1)){continue}}break}j=d;C:{D:{E:{while(1){a=J[k+16>>2]+(j>>>3&536870908)|0;J[a>>2]=J[a>>2]|1<>>0)%3|0?a:j-2|0;g=J[h>>2];x=(j>>>0)%3|0;b=(x?-1:2)+j|0;n=J[k>>2];z=(n|0)==(c|0);F:{if(z){break F}v=J[(f<<2)+g>>2];q=J[h+12>>2];a=n;if((b|0)!=-1){e=q+(b<<2)|0;while(1){G:{if((v|0)!=J[a>>2]){break G}p=J[a+4>>2];t=J[e>>2];if((p|0)==(t|0)){break G}e=b;c=-1;a=-1;if((p|0)==-1){break C}break D}a=a+8|0;if((c|0)!=(a|0)){continue}break}break F}while(1){if((v|0)==J[a>>2]){t=-1;e=-1;p=J[a+4>>2];if((p|0)!=-1){break D}}a=a+8|0;if((c|0)!=(a|0)){continue}break}}b=J[(b<<2)+g>>2];H:{if(J[k+8>>2]!=(c|0)){J[c>>2]=b;J[c+4>>2]=f;c=c+8|0;J[k+4>>2]=c;break H}a=c-n|0;p=a>>3;e=p+1|0;if(e>>>0>=536870912){break i}g=a>>>2|0;g=a>>>0>=2147483640?536870911:e>>>0>>0?g:e;if(g){if(g>>>0>=536870912){break E}e=Cj(g<<3)}else{e=0}a=e+(p<<3)|0;J[a>>2]=b;J[a+4>>2]=f;b=a+8|0;if(!z){while(1){c=c-8|0;f=J[c+4>>2];a=a-8|0;J[a>>2]=J[c>>2];J[a+4>>2]=f;if((c|0)!=(n|0)){continue}break}c=J[k>>2]}J[k+8>>2]=e+(g<<3);J[k+4>>2]=b;J[k>>2]=a;if(c){xj(c)}c=b}I:{J:{if(x){a=j-1|0;break J}a=j+2|0;if((a|0)==-1){break I}}a=J[J[h+12>>2]+(a<<2)>>2];if((a|0)==-1){break I}j=a+((a>>>0)%3|0?-1:2)|0;if((d|0)==(j|0)){break I}if((j|0)!=-1){continue}}break}g=J[h>>2];break A}Va();C()}c=J[q+(p<<2)>>2];b=e;a=p}if((t|0)!=-1){J[q+(t<<2)>>2]=-1}if((c|0)!=-1){J[q+(c<<2)>>2]=-1}J[q+(b<<2)>>2]=-1;J[q+(a<<2)>>2]=-1;o=1}i=i+1|0;c=J[h+4>>2];if(i>>>0>2>>>0){continue}break}if(o){continue}}break}a=J[k>>2];if(a){xj(a)}a=J[k+16>>2];if(a){xj(a)}fa=k+32|0;n=0;g=fa-32|0;fa=g;e=J[B+12>>2];J[h+36>>2]=e;p=h+24|0;b=J[h+24>>2];a=J[h+28>>2]-b>>2;K:{L:{if(a>>>0>>0){Vb(p,e-a|0,13700);J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;break L}if(a>>>0>e>>>0){J[h+28>>2]=b+(e<<2)}J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;if(!e){break K}}if((e|0)<0){break i}a=(e-1>>>5|0)+1|0;b=Cj(a<<2);J[g+24>>2]=a;J[g+20>>2]=0;J[g+16>>2]=b;ui(g+16|0,e)}a=J[h>>2];b=J[h+4>>2];J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;M:{if((a|0)==(b|0)){a=b}else{a=b-a|0;if((a|0)<0){break i}a=a>>2;b=(a-1>>>5|0)+1|0;c=Cj(b<<2);J[g+8>>2]=b;J[g+4>>2]=0;J[g>>2]=c;ui(g,a);b=J[h>>2];a=J[h+4>>2]}if(a-b>>>0<12){break M}N:{while(1){q=P(n,3);d=(q<<2)+b|0;f=J[d>>2];c=-1;i=q+1|0;if((i|0)!=-1){c=J[(i<<2)+b>>2]}O:{if((c|0)==(f|0)){break O}i=f;f=J[d+8>>2];if((i|0)==(f|0)|(c|0)==(f|0)){break O}k=0;i=J[g>>2];while(1){f=k+q|0;if(!(J[(f>>>3&536870908)+i>>2]>>>f&1)){a=J[(f<<2)+b>>2];c=1<>2];b=a>>>5|0;i=J[d+(b<<2)>>2];t=c&i;if(t){c=J[h+28>>2];P:{if((c|0)!=J[h+32>>2]){J[c>>2]=-1;J[h+28>>2]=c+4;break P}i=J[p>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=Cj(j<<2)}else{b=0}d=b+(o<<2)|0;J[d>>2]=-1;o=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[h+32>>2]=b+(j<<2);J[h+28>>2]=o;J[h+24>>2]=d;if(!i){break P}xj(i)}c=J[h+52>>2];Q:{if((c|0)!=J[h+56>>2]){J[c>>2]=a;J[h+52>>2]=c+4;break Q}i=J[h+48>>2];b=c-i|0;o=b>>2;d=o+1|0;if(d>>>0>=1073741824){break i}j=b>>>1|0;j=b>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(j){if(j>>>0>=1073741824){break N}b=Cj(j<<2)}else{b=0}d=b+(o<<2)|0;J[d>>2]=a;a=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[h+56>>2]=b+(j<<2);J[h+52>>2]=a;J[h+48>>2]=d;if(!i){break Q}xj(i)}c=J[g+20>>2];a=J[g+24>>2];if((c|0)==a<<5){if((c+1|0)<0){break i}b=g+16|0;if(c>>>0<=1073741822){a=a<<6;c=(c&-32)+32|0;a=a>>>0>c>>>0?a:c}else{a=2147483647}Jc(b,a);c=J[g+20>>2]}J[g+20>>2]=c+1;d=J[g+16>>2];a=d+(c>>>3&536870908)|0;b=J[a>>2];M=a,N=rk(c)&b,J[M>>2]=N;c=1<>>5|0;i=J[(b<<2)+d>>2];a=e;e=a+1|0}J[(b<<2)+d>>2]=c|i;o=J[h+24>>2]+(a<<2)|0;j=J[h+12>>2];b=J[h>>2];i=J[g>>2];c=f;R:{S:{T:{while(1){if((c|0)==-1){break T}d=(c>>>3&536870908)+i|0;J[d>>2]=J[d>>2]|1<>2]=c;if(t){J[(c<<2)+b>>2]=a}v=c+1|0;c=(v>>>0)%3|0?v:c-2|0;d=-1;U:{if((c|0)==-1){break U}c=J[j+(c<<2)>>2];d=-1;if((c|0)==-1){break U}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0}c=d;if((f|0)!=(c|0)){continue}break}if((f|0)!=-1){break R}c=1;break S}if((f>>>0)%3|0){c=f-1|0;break S}c=f+2|0;if((c|0)==-1){break R}}c=J[j+(c<<2)>>2];if((c|0)==-1){break R}V:{if((c>>>0)%3|0){c=c-1|0;break V}c=c+2|0;if((c|0)==-1){break R}}f=J[h+12>>2];b=J[h>>2];while(1){d=(c>>>3&536870908)+i|0;J[d>>2]=J[d>>2]|1<>2]=a}W:{if((c>>>0)%3|0){c=c-1|0;break W}c=c+2|0;if((c|0)==-1){break R}}c=J[f+(c<<2)>>2];if((c|0)==-1){break R}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)!=-1){continue}break}}}k=k+1|0;if((k|0)!=3){continue}break}b=J[h>>2];a=J[h+4>>2]}n=n+1|0;if(n>>>0<(a-b>>2>>>0)/3>>>0){continue}break}break M}Va();C()}c=0;J[h+44>>2]=0;a=J[g+16>>2];b=J[g+20>>2];if(b){e=b&31;b=(b>>>3&536870908)+a|0;d=a;i=0;while(1){if(!(J[d>>2]>>>c&1)){i=i+1|0;J[h+44>>2]=i}f=(c|0)==31;c=f?0:c+1|0;d=(f<<2)+d|0;if((b|0)!=(d|0)|(c|0)!=(e|0)){continue}break}}b=J[g>>2];if(b){xj(b);a=J[g+16>>2]}if(a){xj(a)}fa=g+32|0}fa=B+16|0;if(!w){J[E+8>>2]=0;Se(h);h=0}fa=E+16|0;a=h;break h}Ia();C()}b=J[s>>2];if(!b){break d}J[s+4>>2]=b;xj(b)}fa=s+16|0;break b}Ia();C()}c=J[l+4>>2];b=a;J[l+4>>2]=a;if(c){Se(c);b=J[l+4>>2]}X:{if(!b){break X}a=J[u+100>>2];c=J[u+96>>2];H[r+12|0]=0;Oe(l+56|0,(a-c|0)/12|0,r+12|0);a=J[u+100>>2];c=J[u+96>>2];if((a|0)==(c|0)){break X}while(1){if(!(J[J[l+56>>2]+(D>>>3&536870908)>>2]>>>D&1)){a=P(D,3);Fi(l,0,a);c=J[l+8>>2];e=J[l+12>>2];Fi(l,1,a+1|0);f=J[l+20>>2];d=J[l+24>>2];Fi(l,2,a+2|0);n=(c|0)==(e|0)?-1:0;a=d-f>>2;c=e-c>>2;e=a>>>0>c>>>0;c=J[l+36>>2]-J[l+32>>2]>>2>>>0>(e?a:c)>>>0?2:e?1:n;Y:{if(J[l+68>>2]<=0){break Y}J[r+12>>2]=J[l+76>>2];J[r+8>>2]=m;vg(r+8|0,r+12|0);a=J[((c<<2)+l|0)+44>>2];if((a|0)<0){a=-1}else{e=(a>>>0)/3|0;a=J[(J[J[l>>2]+96>>2]+P(e,12)|0)+(a-P(e,3)<<2)>>2]}J[r+12>>2]=a;J[r+8>>2]=m;vg(r+8|0,r+12|0);e=J[l+72>>2];J[l+72>>2]=e+2;if(!(e&1)){break Y}J[r+12>>2]=a;J[r+8>>2]=m;vg(r+8|0,r+12|0);J[l+72>>2]=J[l+72>>2]+1}d=0;e=fa-16|0;fa=e;J[l+68>>2]=J[l+68>>2]+1;a=P(c,12)+l|0;a=J[a+12>>2]-J[a+8>>2]|0;if((a|0)>0){a=a>>>2|0;h=a>>>0<=1?1:a;c=J[((c<<2)+l|0)+44>>2];while(1){a=c;f=(a>>>0)/3|0;c=(a|0)==-1;g=c?-1:f;i=J[l+56>>2]+(g>>>3&536870908)|0;J[i>>2]=J[i>>2]|1<>2]=J[l+72>>2]+1;Z:{_:{$:{aa:{ba:{if(!d){ca:{if((a|0)>=0){J[e+12>>2]=J[(J[J[l>>2]+96>>2]+P(f,12)|0)+((a>>>0)%3<<2)>>2];J[e+8>>2]=m;vg(e+8|0,e+12|0);break ca}J[e+12>>2]=-1;J[e+8>>2]=m;vg(e+8|0,e+12|0);if(c){break ba}}c=-1;f=a+1|0;f=(f>>>0)%3|0?f:a-2|0;if((f|0)>=0){g=(f>>>0)/3|0;f=J[(J[J[l>>2]+96>>2]+P(g,12)|0)+(f-P(g,3)<<2)>>2]}else{f=-1}J[e+12>>2]=f;J[e+8>>2]=m;vg(e+8|0,e+12|0);f=((a>>>0)%3|0?-1:2)+a|0;if((f|0)<0){break aa}c=(f>>>0)/3|0;c=J[(J[J[l>>2]+96>>2]+P(c,12)|0)+(f-P(c,3)<<2)>>2];break aa}c=(a|0)<0?-1:J[(J[J[l>>2]+96>>2]+P(f,12)|0)+((a>>>0)%3<<2)>>2];J[l+76>>2]=c;J[e+12>>2]=c;J[e+8>>2]=m;vg(e+8|0,e+12|0);if(d&1){c=-1;if((a|0)==-1){break Z}if((P(f,3)|0)!=(a|0)){a=a-1|0;break _}a=a+2|0;break $}c=-1;if((a|0)==-1){break Z}c=a+1|0;a=(c>>>0)%3|0?c:a-2|0;break $}c=-1;J[e+12>>2]=-1;J[e+8>>2]=m;vg(e+8|0,e+12|0)}J[l+76>>2]=c;J[e+12>>2]=c;J[e+8>>2]=m;vg(e+8|0,e+12|0)}c=-1;if((a|0)==-1){break Z}}c=J[J[J[l+4>>2]+12>>2]+(a<<2)>>2]}d=d+1|0;if((h|0)!=(d|0)){continue}break}}fa=e+16|0;c=J[u+96>>2];a=J[u+100>>2]}D=D+1|0;if(D>>>0<(a-c|0)/12>>>0){continue}break}}fa=r+16|0;da:{if(b){a=J[A>>2];if(a){J[A+4>>2]=a;xj(a)}J[A>>2]=J[m>>2];J[A+4>>2]=J[m+4>>2];J[A+8>>2]=J[m+8>>2];L=J[m+84>>2];break da}a=J[m>>2];if(!a){break da}J[m+4>>2]=a;xj(a)}a=J[m+72>>2];if(a){xj(a)}a=J[m+48>>2];if(a){J[m+52>>2]=a;xj(a)}a=J[m+36>>2];if(a){J[m+40>>2]=a;xj(a)}a=J[m+24>>2];if(a){J[m+28>>2]=a;xj(a)}a=J[m+20>>2];J[m+20>>2]=0;if(a){Se(a)}fa=m+96|0;return L|0}function Wh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=b;a=0;b=0;a:{b:{switch(d-1|0){case 0:j=J[i+80>>2];h=K[c+24|0];c:{if((P(j,h)|0)!=(e|0)){break c}d=J[c+28>>2]!=1;b=K[c+84|0];if(!(d|!b)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);b=1;break c}if(h){a=Cj(h);Xi(a,0,h)}d:{if(!j){b=1;break d}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=J[J[c>>2]>>2];m=J[c+48>>2];g=J[c+40>>2];b=nk(g,J[c+44>>2],K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;Vi(i,Vi(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break d}if(b){b=1;h=J[c>>2];e=J[c+48>>2];f=J[c+40>>2];i=J[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=J[h>>2];m=nk(f,i,c,0)+e|0;k=Vi(a,k+m|0,f);m=J[h>>2];n=nk(f,i,c|1,0)+e|0;Vi(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break d}c=J[h>>2];d=nk(g,0,f,i)+e|0;Vi(a,c+d|0,f);break d}b=1;h=J[c>>2];e=J[c+48>>2];g=J[c+68>>2];f=J[c+40>>2];i=J[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=J[h>>2];n=c<<2;l=nk(f,i,J[n+g>>2],0)+e|0;m=Vi(a,m+l|0,f);l=J[h>>2];n=nk(f,i,J[g+(n|4)>>2],0)+e|0;Vi(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break d}d=J[h>>2];c=nk(f,i,J[g+(c<<2)>>2],0)+e|0;Vi(a,c+d|0,f);break d}b=0;if(!h){d=0;while(1){if(!wg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break d}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break d}d=0;e=0;while(1){if(!wg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break d}Vi(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break c}xj(a)}break a;case 2:n=K[c+24|0];l=n<<1;j=J[i+80>>2];e:{if((P(l,j)|0)!=(e|0)){break e}i=J[c+28>>2]!=3;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);a=1;break e}f:{if(!n){e=0;break f}e=Cj(l);Xi(e,0,l)}g:{if(!j){a=1;break g}if(!i){o=J[c+68>>2];k=J[c>>2];b=J[c+48>>2];i=J[c+40>>2];m=J[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=J[k>>2];p=nk(i,m,J[o+(d<<2)>>2],0)+b|0;Vi((c<<1)+f|0,Vi(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break g}c=0;while(1){a=1;o=J[k>>2];p=nk(g,h,i,m)+b|0;Vi((c<<1)+f|0,Vi(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break g}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=J[k>>2];g=c<<2;n=nk(i,m,J[g+o>>2],0)+b|0;h=Vi(e,h+n|0,i);n=J[k>>2];g=nk(i,m,J[o+(g|4)>>2],0)+b|0;Vi(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break g}d=J[k>>2];b=nk(i,m,J[o+(c<<2)>>2],0)+b|0;Vi(e,b+d|0,i);break g}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=J[k>>2];l=nk(g,h,i,m)+b|0;d=Vi(e,d+l|0,i);l=J[k>>2];o=nk(i,m,g|1,h)+b|0;Vi(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break g}c=J[k>>2];b=nk(g,h,i,m)+b|0;Vi(e,b+c|0,i);break g}if(!n){d=0;while(1){if(!zg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break g}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break g}d=0;while(1){if(!zg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break g}Vi((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break e}xj(e)}b=a;break a;case 4:l=K[c+24|0];o=l<<2;j=J[i+80>>2];h:{if((P(o,j)|0)!=(e|0)){break h}i=J[c+28>>2]!=5;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);b=1;break h}i:{if(!l){e=0;break i}e=Cj(o);Xi(e,0,o)}b=1;j:{if(!j){break j}if(!i){a=J[c+68>>2];m=J[c>>2];i=J[c+48>>2];k=J[c+40>>2];n=J[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=J[m>>2];p=nk(k,n,J[a+(d<<2)>>2],0)+i|0;Vi((c<<2)+f|0,Vi(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break j}c=0;while(1){d=J[m>>2];p=nk(g,h,k,n)+i|0;Vi((c<<2)+f|0,Vi(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break j}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=J[m>>2];g=c<<2;l=nk(k,n,J[g+a>>2],0)+i|0;h=Vi(e,h+l|0,k);l=J[m>>2];g=nk(k,n,J[a+(g|4)>>2],0)+i|0;Vi(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break j}d=J[m>>2];a=nk(k,n,J[a+(c<<2)>>2],0)+i|0;Vi(e,a+d|0,k);break j}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=J[m>>2];d=nk(g,h,k,n)+i|0;a=Vi(e,a+d|0,k);d=J[m>>2];o=nk(k,n,g|1,h)+i|0;Vi(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break j}a=J[m>>2];c=nk(g,h,k,n)+i|0;Vi(e,a+c|0,k);break j}b=0;if(!l){d=0;while(1){if(!Bg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break j}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break j}d=0;while(1){if(!Bg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break j}Vi((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break h}xj(e)}break a;case 1:j=J[i+80>>2];h=K[c+24|0];k:{if((P(j,h)|0)!=(e|0)){break k}d=J[c+28>>2]!=2;b=K[c+84|0];if(!(d|!b)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);b=1;break k}if(h){a=Cj(h);Xi(a,0,h)}l:{if(!j){b=1;break l}if(!d){if(h){d=0;e=0;while(1){i=d+f|0;k=J[J[c>>2]>>2];m=J[c+48>>2];g=J[c+40>>2];b=nk(g,J[c+44>>2],K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],0);n=b;b=b+m|0;Vi(i,Vi(a,b+k|0,g),h);d=d+h|0;b=1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break l}if(b){b=1;h=J[c>>2];e=J[c+48>>2];f=J[c+40>>2];i=J[c+44>>2];if((j|0)!=1){g=j&-2;c=0;d=0;while(1){k=J[h>>2];m=nk(f,i,c,0)+e|0;k=Vi(a,k+m|0,f);m=J[h>>2];n=nk(f,i,c|1,0)+e|0;Vi(k,m+n|0,f);c=c+2|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}g=c}if(!(j&1)){break l}c=J[h>>2];d=nk(g,0,f,i)+e|0;Vi(a,c+d|0,f);break l}b=1;h=J[c>>2];e=J[c+48>>2];g=J[c+68>>2];f=J[c+40>>2];i=J[c+44>>2];c=0;if((j|0)!=1){k=j&-2;d=0;while(1){m=J[h>>2];n=c<<2;l=nk(f,i,J[n+g>>2],0)+e|0;m=Vi(a,m+l|0,f);l=J[h>>2];n=nk(f,i,J[g+(n|4)>>2],0)+e|0;Vi(m,l+n|0,f);c=c+2|0;d=d+2|0;if((k|0)!=(d|0)){continue}break}}if(!(j&1)){break l}d=J[h>>2];c=nk(f,i,J[g+(c<<2)>>2],0)+e|0;Vi(a,c+d|0,f);break l}b=0;if(!h){d=0;while(1){if(!xg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break l}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break l}d=0;e=0;while(1){if(!xg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break l}Vi(d+f|0,a,h);d=d+h|0;e=e+1|0;b=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}}if(!a){break k}xj(a)}break a;case 3:n=K[c+24|0];l=n<<1;j=J[i+80>>2];m:{if((P(l,j)|0)!=(e|0)){break m}i=J[c+28>>2]!=4;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);a=1;break m}n:{if(!n){e=0;break n}e=Cj(l);Xi(e,0,l)}o:{if(!j){a=1;break o}if(!i){o=J[c+68>>2];k=J[c>>2];b=J[c+48>>2];i=J[c+40>>2];m=J[c+44>>2];if(n){if(!d){c=0;d=0;while(1){a=1;g=J[k>>2];p=nk(i,m,J[o+(d<<2)>>2],0)+b|0;Vi((c<<1)+f|0,Vi(e,g+p|0,i),l);c=c+n|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break o}c=0;while(1){a=1;o=J[k>>2];p=nk(g,h,i,m)+b|0;Vi((c<<1)+f|0,Vi(e,o+p|0,i),l);c=c+n|0;d=h;g=g+1|0;d=g?d:d+1|0;h=d;if((j|0)!=(g|0)|d){continue}break}break o}if(!d){a=1;c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=J[k>>2];g=c<<2;n=nk(i,m,J[g+o>>2],0)+b|0;h=Vi(e,h+n|0,i);n=J[k>>2];g=nk(i,m,J[o+(g|4)>>2],0)+b|0;Vi(h,g+n|0,i);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break o}d=J[k>>2];b=nk(i,m,J[o+(c<<2)>>2],0)+b|0;Vi(e,b+d|0,i);break o}n=j&1;a=1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){d=J[k>>2];l=nk(g,h,i,m)+b|0;d=Vi(e,d+l|0,i);l=J[k>>2];o=nk(i,m,g|1,h)+b|0;Vi(d,l+o|0,i);g=g+2|0;h=g>>>0<2?h+1|0:h;f=f+2|0;d=f>>>0<2?c+1|0:c;c=d;if((f|0)!=(j|0)|c){continue}break}}if(!n){break o}c=J[k>>2];b=nk(g,h,i,m)+b|0;Vi(e,b+c|0,i);break o}if(!n){d=0;while(1){if(!Ag(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break o}d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break o}d=0;while(1){if(!Ag(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break o}Vi((b<<1)+f|0,e,l);b=b+n|0;d=d+1|0;a=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break m}xj(e)}b=a;break a;case 5:l=K[c+24|0];o=l<<2;j=J[i+80>>2];p:{if((P(o,j)|0)!=(e|0)){break p}i=J[c+28>>2]!=6;d=K[c+84|0];if(!(i|!d)){Vi(f,J[J[c>>2]>>2]+J[c+48>>2]|0,e);b=1;break p}q:{if(!l){e=0;break q}e=Cj(o);Xi(e,0,o)}b=1;r:{if(!j){break r}if(!i){a=J[c+68>>2];m=J[c>>2];i=J[c+48>>2];k=J[c+40>>2];n=J[c+44>>2];if(l){if(!d){c=0;d=0;while(1){g=J[m>>2];p=nk(k,n,J[a+(d<<2)>>2],0)+i|0;Vi((c<<2)+f|0,Vi(e,g+p|0,k),o);c=c+l|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}break r}c=0;while(1){d=J[m>>2];p=nk(g,h,k,n)+i|0;Vi((c<<2)+f|0,Vi(e,d+p|0,k),o);c=c+l|0;g=g+1|0;a=g?h:h+1|0;h=a;if((j|0)!=(g|0)|h){continue}break}break r}if(!d){c=0;if((j|0)!=1){f=j&-2;d=0;while(1){h=J[m>>2];g=c<<2;l=nk(k,n,J[g+a>>2],0)+i|0;h=Vi(e,h+l|0,k);l=J[m>>2];g=nk(k,n,J[a+(g|4)>>2],0)+i|0;Vi(h,g+l|0,k);c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!(j&1)){break r}d=J[m>>2];a=nk(k,n,J[a+(c<<2)>>2],0)+i|0;Vi(e,a+d|0,k);break r}l=j&1;if((j|0)!=1){j=j&-2;f=0;c=0;while(1){a=J[m>>2];d=nk(g,h,k,n)+i|0;a=Vi(e,a+d|0,k);d=J[m>>2];o=nk(k,n,g|1,h)+i|0;Vi(a,d+o|0,k);d=h;g=g+2|0;h=g>>>0<2?d+1|0:d;f=f+2|0;a=f>>>0<2?c+1|0:c;c=a;if((f|0)!=(j|0)|c){continue}break}}if(!l){break r}a=J[m>>2];c=nk(g,h,k,n)+i|0;Vi(e,a+c|0,k);break r}b=0;if(!l){d=0;while(1){if(!Cg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break r}d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}break r}d=0;while(1){if(!Cg(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],e)){break r}Vi((a<<2)+f|0,e,o);a=a+l|0;d=d+1|0;b=j>>>0<=d>>>0;if((d|0)!=(j|0)){continue}break}}if(!e){break p}xj(e)}break a;case 8:p=K[c+24|0];q=p<<2;k=J[i+80>>2];s:{if((P(q,k)|0)!=(e|0)){break s}i=J[c+28>>2];t:{if(!p){break t}a=Cj(q);d=a;m=q-4|0;l=(m>>>2|0)+1&7;if(l){e=0;while(1){J[d>>2]=-1073741824;d=d+4|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(m>>>0<28){break t}e=(p<<2)+a|0;while(1){J[d+24>>2]=-1073741824;J[d+28>>2]=-1073741824;J[d+16>>2]=-1073741824;J[d+20>>2]=-1073741824;J[d+8>>2]=-1073741824;J[d+12>>2]=-1073741824;J[d>>2]=-1073741824;J[d+4>>2]=-1073741824;d=d+32|0;if((e|0)!=(d|0)){continue}break}}u:{if(!k){b=1;break u}if((i|0)==9){r=J[c+68>>2];l=J[c>>2];i=J[c+48>>2];s=K[c+84|0];m=J[c+44>>2];c=J[c+40>>2];o=c;if(p){e=0;d=0;while(1){h=(e<<2)+f|0;g=J[l>>2];b=nk(c,m,s?d:J[r+(d<<2)>>2],0)+i|0;Vi(h,Vi(a,b+g|0,o),q);e=e+p|0;b=1;d=d+1|0;if((k|0)!=(d|0)){continue}break}break u}if(!s){b=1;d=0;if((k|0)!=1){f=k&-2;e=0;while(1){h=J[l>>2];g=d<<2;j=nk(c,m,J[g+r>>2],0)+i|0;h=Vi(a,h+j|0,o);j=J[l>>2];g=nk(c,m,J[r+(g|4)>>2],0)+i|0;Vi(h,j+g|0,o);d=d+2|0;e=e+2|0;if((f|0)!=(e|0)){continue}break}}if(!(k&1)){break u}e=J[l>>2];c=nk(c,m,J[r+(d<<2)>>2],0)+i|0;Vi(a,c+e|0,o);break u}f=k&1;b=1;if((k|0)!=1){k=k&-2;while(1){d=J[l>>2];e=nk(g,h,c,m)+i|0;d=Vi(a,d+e|0,o);e=J[l>>2];p=nk(c,m,g|1,h)+i|0;Vi(d,e+p|0,o);g=g+2|0;h=g>>>0<2?h+1|0:h;d=j;e=n+2|0;d=e>>>0<2?d+1|0:d;n=e;j=d;if((e|0)!=(k|0)|d){continue}break}}if(!f){break u}d=J[l>>2];c=nk(g,h,c,m)+i|0;Vi(a,c+d|0,o);break u}if(!p){d=0;while(1){if(!Rc(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break u}d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}break u}e=0;d=0;while(1){if(!Rc(c,K[c+84|0]?d:J[J[c+68>>2]+(d<<2)>>2],H[c+24|0],a)){break u}Vi((e<<2)+f|0,a,q);e=e+p|0;d=d+1|0;b=k>>>0<=d>>>0;if((d|0)!=(k|0)){continue}break}}if(!a){break s}xj(a)}a=b;break;default:break b}}b=a}return b|0}function lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=fa-48|0;fa=i;a:{b:{if((c|0)!=1){break b}c=J[a+4>>2];g=J[a+12>>2];J[i+40>>2]=0;a=i;J[a+32>>2]=0;J[a+36>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;e=a+8|0;c:{if((b|0)==-2){break c}l=J[J[J[c+4>>2]+8>>2]+(g<<2)>>2];if((ka[J[J[c>>2]+8>>2]](c)|0)==1){a=L[c+36>>1];j=(a<<8|a>>>8)&65535;a=0;h=fa-32|0;fa=h;d=J[J[J[c+4>>2]+8>>2]+(g<<2)>>2];d:{if((ka[J[J[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break d}k=ka[J[J[c>>2]+36>>2]](c)|0;f=ka[J[J[c>>2]+44>>2]](c,g)|0;if(!k|!f){break d}a=ka[J[J[c>>2]+40>>2]](c,g)|0;if(a){c=J[c+44>>2];J[h+12>>2]=a;J[h+8>>2]=c;J[h+20>>2]=f;J[h+16>>2]=f+12;c=h+8|0;a=0;e:{f:{switch(b-1|0){case 0:a=Cj(60);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a>>2]=2612;break e;case 1:a=Cj(60);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a>>2]=3376;break e;case 3:a=Cj(112);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=3612;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;break e;case 2:a=Cj(92);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=3860;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=j;break e;case 4:a=Cj(104);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=4088;b=J[c+4>>2];J[a+88>>2]=J[c>>2];J[a+92>>2]=b;b=J[c+12>>2];J[a+96>>2]=J[c+8>>2];J[a+100>>2]=b;break e;case 5:break f;default:break e}}a=Cj(128);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;g:{b=J[e+28>>2];d=J[e+24>>2];if((b|0)!=(d|0)){d=b-d|0;if((d|0)<0){break a}b=Cj(d);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(d&-4)+b;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=3264;b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=4952;J[a>>2]=4324;b=J[c+4>>2];J[a+72>>2]=J[c>>2];J[a+76>>2]=b;b=J[c+12>>2];J[a+80>>2]=J[c+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=4560;J[a+112>>2]=0;J[a+116>>2]=0;H[a+117|0]=0;H[a+118|0]=0;H[a+119|0]=0;H[a+120|0]=0;H[a+121|0]=0;H[a+122|0]=0;H[a+123|0]=0;H[a+124|0]=0;break g}}break d}a=J[c+44>>2];J[h+12>>2]=k;J[h+8>>2]=a;J[h+20>>2]=f;J[h+16>>2]=f+12;c=h+8|0;a=0;h:{i:{switch(b-1|0){case 0:a=Cj(60);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a>>2]=4980;break h;case 1:a=Cj(60);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a>>2]=5404;break h;case 3:a=Cj(112);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=5628;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;break h;case 2:a=Cj(92);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=5864;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=j;break h;case 4:a=Cj(104);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){g=f-d|0;if((g|0)<0){break a}b=Cj(g);J[a+32>>2]=b;J[a+40>>2]=(g&-4)+b;while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}J[a+36>>2]=b}b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=6080;b=J[c+4>>2];J[a+88>>2]=J[c>>2];J[a+92>>2]=b;b=J[c+12>>2];J[a+96>>2]=J[c+8>>2];J[a+100>>2]=b;break h;case 5:break i;default:break h}}a=Cj(128);J[a+4>>2]=d;J[a>>2]=3320;b=J[e+4>>2];J[a+8>>2]=J[e>>2];J[a+12>>2]=b;b=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+20>>2]=b;b=J[e+20>>2];J[a+24>>2]=J[e+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;j:{b=J[e+28>>2];d=J[e+24>>2];if((b|0)!=(d|0)){d=b-d|0;if((d|0)<0){break a}b=Cj(d);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(d&-4)+b;d=J[e+24>>2];f=J[e+28>>2];if((d|0)!=(f|0)){while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=5348;b=J[c+4>>2];J[a+44>>2]=J[c>>2];J[a+48>>2]=b;b=J[c+12>>2];J[a+52>>2]=J[c+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=6888;J[a>>2]=6304;b=J[c+4>>2];J[a+72>>2]=J[c>>2];J[a+76>>2]=b;b=J[c+12>>2];J[a+80>>2]=J[c+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=6524;J[a+112>>2]=0;J[a+116>>2]=0;H[a+117|0]=0;H[a+118|0]=0;H[a+119|0]=0;H[a+120|0]=0;H[a+121|0]=0;H[a+122|0]=0;H[a+123|0]=0;H[a+124|0]=0;break j}}}fa=h+32|0;d=a;if(a){break c}}d=Cj(44);J[d+4>>2]=l;J[d>>2]=3320;a=J[e+4>>2];J[d+8>>2]=J[e>>2];J[d+12>>2]=a;a=J[e+12>>2];J[d+16>>2]=J[e+8>>2];J[d+20>>2]=a;a=J[e+20>>2];J[d+24>>2]=J[e+16>>2];J[d+28>>2]=a;J[d+40>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;c=J[e+24>>2];a=J[e+28>>2];if((c|0)!=(a|0)){b=a-c|0;if((b|0)<0){break a}e=Cj(b);J[d+32>>2]=e;J[d+40>>2]=(b&-4)+e;while(1){J[e>>2]=J[c>>2];e=e+4|0;c=c+4|0;if((a|0)!=(c|0)){continue}break}J[d+36>>2]=e}J[d>>2]=6916;break c}e=d;a=J[i+32>>2];if(!a){break b}J[i+36>>2]=a;xj(a)}fa=i+48|0;return e|0}Ia();C()}function wj(a){a=a|0;var 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;l=fa-16|0;fa=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(a>>>0<=244){g=J[4314];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+17296|0;d=J[a+17304>>2];a=J[d+8>>2];j:{if((b|0)==(a|0)){m=17256,n=rk(c)&g,J[m>>2]=n;break j}J[a+12>>2]=b;J[b+8>>2]=a}a=d+8|0;b=c<<3;J[d+4>>2]=b|3;b=b+d|0;J[b+4>>2]=J[b+4>>2]|1;break a}k=J[4316];if(k>>>0>=h>>>0){break i}if(b){a=2<>2];a=J[e+8>>2];k:{if((b|0)==(a|0)){g=rk(d)&g;J[4314]=g;break k}J[a+12>>2]=b;J[b+8>>2]=a}J[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;J[c+4>>2]=d|1;J[a+e>>2]=d;if(k){b=(k&-8)+17296|0;f=J[4319];a=1<<(k>>>3);l:{if(!(a&g)){J[4314]=a|g;a=b;break l}a=J[b+8>>2]}J[b+8>>2]=f;J[a+12>>2]=f;J[f+12>>2]=b;J[f+8>>2]=a}a=e+8|0;J[4319]=c;J[4316]=d;break a}j=J[4315];if(!j){break i}c=J[(mk(0-j&j)<<2)+17560>>2];f=(J[c+4>>2]&-8)-h|0;b=c;while(1){m:{a=J[b+16>>2];if(!a){a=J[b+20>>2];if(!a){break m}}b=(J[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=J[c+24>>2];d=J[c+12>>2];if((d|0)!=(c|0)){a=J[c+8>>2];J[a+12>>2]=d;J[d+8>>2]=a;break b}b=c+20|0;a=J[b>>2];if(!a){a=J[c+16>>2];if(!a){break h}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=J[b>>2];if(a){continue}b=d+16|0;a=J[d+16>>2];if(a){continue}break}J[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break i}a=a+11|0;h=a&-8;j=J[4315];if(!j){break i}f=0-h|0;g=0;n:{if(h>>>0<256){break n}g=31;if(h>>>0>16777215){break n}a=S(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=J[(g<<2)+17560>>2];o:{p:{q:{if(!b){a=0;break q}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){r:{e=(J[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break r}d=b;f=e;if(e){break r}f=0;a=b;break p}e=J[b+20>>2];b=J[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break o}}while(1){b=(J[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=J[a+16>>2];if(b){a=b}else{a=J[a+20>>2]}if(a){continue}break}}if(!d|J[4316]-h>>>0<=f>>>0){break i}g=J[d+24>>2];c=J[d+12>>2];if((d|0)!=(c|0)){a=J[d+8>>2];J[a+12>>2]=c;J[c+8>>2]=a;break c}b=d+20|0;a=J[b>>2];if(!a){a=J[d+16>>2];if(!a){break g}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=J[b>>2];if(a){continue}b=c+16|0;a=J[c+16>>2];if(a){continue}break}J[e>>2]=0;break c}a=J[4316];if(a>>>0>=h>>>0){d=J[4319];b=a-h|0;s:{if(b>>>0>=16){c=d+h|0;J[c+4>>2]=b|1;J[a+d>>2]=b;J[d+4>>2]=h|3;break s}J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;c=0;b=0}J[4316]=b;J[4319]=c;a=d+8|0;break a}i=J[4317];if(i>>>0>h>>>0){b=i-h|0;J[4317]=b;c=J[4320];a=c+h|0;J[4320]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(J[4432]){c=J[4434]}else{J[4435]=-1;J[4436]=-1;J[4433]=4096;J[4434]=4096;J[4432]=l+12&-16^1431655768;J[4437]=0;J[4425]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=J[4424];if(d){c=J[4422];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}t:{if(!(K[17700]&4)){u:{v:{w:{x:{d=J[4320];if(d){a=17704;while(1){c=J[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break x}a=J[a+8>>2];if(a){continue}break}}c=vj(0);if((c|0)==-1){break u}g=b;d=J[4433];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break u}d=J[4424];if(d){a=J[4422];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break u}}a=vj(g);if((c|0)!=(a|0)){break w}break t}g=f&e-i;c=vj(g);if((c|0)==(J[a>>2]+J[a+4>>2]|0)){break v}a=c}if((a|0)==-1){break u}if(h+48>>>0<=g>>>0){c=a;break t}c=J[4434];c=c+(j-g|0)&0-c;if((vj(c)|0)==-1){break u}g=c+g|0;c=a;break t}if((c|0)!=-1){break t}}J[4425]=J[4425]|4}c=vj(b);a=vj(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}g=a-c|0;if(g>>>0<=h+40>>>0){break d}}a=J[4422]+g|0;J[4422]=a;if(a>>>0>M[4423]){J[4423]=a}y:{e=J[4320];if(e){a=17704;while(1){d=J[a>>2];b=J[a+4>>2];if((d+b|0)==(c|0)){break y}a=J[a+8>>2];if(a){continue}break}break f}a=J[4318];if(!(a>>>0<=c>>>0?a:0)){J[4318]=c}a=0;J[4427]=g;J[4426]=c;J[4322]=-1;J[4323]=J[4432];J[4429]=0;while(1){d=a<<3;b=d+17296|0;J[d+17304>>2]=b;J[d+17308>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4317]=b;a=a+c|0;J[4320]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4321]=J[4436];break e}if(K[a+12|0]&8|d>>>0>e>>>0|c>>>0<=e>>>0){break f}J[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;J[4320]=c;b=J[4317]+g|0;a=b-a|0;J[4317]=a;J[c+4>>2]=a|1;J[(b+e|0)+4>>2]=40;J[4321]=J[4436];break e}d=0;break b}c=0;break c}if(M[4318]>c>>>0){J[4318]=c}b=c+g|0;a=17704;z:{A:{B:{C:{D:{E:{while(1){if((b|0)!=J[a>>2]){a=J[a+8>>2];if(a){continue}break E}break}if(!(K[a+12|0]&8)){break D}}a=17704;while(1){b=J[a>>2];if(b>>>0<=e>>>0){f=b+J[a+4>>2]|0;if(f>>>0>e>>>0){break C}}a=J[a+8>>2];continue}}J[a>>2]=c;J[a+4>>2]=J[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;J[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){J[4320]=i;a=J[4317]+a|0;J[4317]=a;J[i+4>>2]=a|1;break A}if(J[4319]==(g|0)){J[4319]=i;a=J[4316]+a|0;J[4316]=a;J[i+4>>2]=a|1;J[a+i>>2]=a;break A}f=J[g+4>>2];if((f&3)==1){e=f&-8;F:{if(f>>>0<=255){d=J[g+8>>2];b=f>>>3|0;c=J[g+12>>2];if((c|0)==(d|0)){m=17256,n=J[4314]&rk(b),J[m>>2]=n;break F}J[d+12>>2]=c;J[c+8>>2]=d;break F}h=J[g+24>>2];c=J[g+12>>2];G:{if((g|0)!=(c|0)){b=J[g+8>>2];J[b+12>>2]=c;J[c+8>>2]=b;break G}H:{f=g+20|0;b=J[f>>2];if(b){break H}f=g+16|0;b=J[f>>2];if(b){break H}c=0;break G}while(1){d=f;c=b;f=c+20|0;b=J[f>>2];if(b){continue}f=c+16|0;b=J[c+16>>2];if(b){continue}break}J[d>>2]=0}if(!h){break F}d=J[g+28>>2];b=(d<<2)+17560|0;I:{if(J[b>>2]==(g|0)){J[b>>2]=c;if(c){break I}m=17260,n=J[4315]&rk(d),J[m>>2]=n;break F}J[h+(J[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break F}}J[c+24>>2]=h;b=J[g+16>>2];if(b){J[c+16>>2]=b;J[b+24>>2]=c}b=J[g+20>>2];if(!b){break F}J[c+20>>2]=b;J[b+24>>2]=c}g=e+g|0;f=J[g+4>>2];a=a+e|0}J[g+4>>2]=f&-2;J[i+4>>2]=a|1;J[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+17296|0;c=J[4314];a=1<<(a>>>3);J:{if(!(c&a)){J[4314]=a|c;a=b;break J}a=J[b+8>>2]}J[b+8>>2]=i;J[a+12>>2]=i;J[i+12>>2]=b;J[i+8>>2]=a;break A}f=31;if(a>>>0<=16777215){b=S(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}J[i+28>>2]=f;J[i+16>>2]=0;J[i+20>>2]=0;b=(f<<2)+17560|0;d=J[4315];c=1<>2]=i;break K}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=J[b>>2];while(1){b=c;if((J[c+4>>2]&-8)==(a|0)){break B}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=J[d+16>>2];if(c){continue}break}J[d+16>>2]=i}J[i+24>>2]=b;J[i+12>>2]=i;J[i+8>>2]=i;break A}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4317]=b;a=a+c|0;J[4320]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4321]=J[4436];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;J[d+4>>2]=27;a=J[4429];J[d+16>>2]=J[4428];J[d+20>>2]=a;a=J[4427];J[d+8>>2]=J[4426];J[d+12>>2]=a;J[4428]=d+8;J[4427]=g;J[4426]=c;J[4429]=0;a=d+24|0;while(1){J[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break e}J[d+4>>2]=J[d+4>>2]&-2;f=d-e|0;J[e+4>>2]=f|1;J[d>>2]=f;if(f>>>0<=255){b=(f&-8)+17296|0;c=J[4314];a=1<<(f>>>3);L:{if(!(c&a)){J[4314]=a|c;a=b;break L}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break e}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+17560|0;d=J[4315];c=1<>2]=e;break M}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=J[b>>2];while(1){b=d;if((f|0)==(J[b+4>>2]&-8)){break z}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=J[c+16>>2];if(d){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break e}a=J[b+8>>2];J[a+12>>2]=i;J[b+8>>2]=i;J[i+24>>2]=0;J[i+12>>2]=b;J[i+8>>2]=a}a=j+8|0;break a}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=J[4317];if(a>>>0<=h>>>0){break d}b=a-h|0;J[4317]=b;c=J[4320];a=c+h|0;J[4320]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[4004]=48;a=0;break a}N:{if(!g){break N}b=J[d+28>>2];a=(b<<2)+17560|0;O:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break O}j=rk(b)&j;J[4315]=j;break N}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break N}}J[c+24>>2]=g;a=J[d+16>>2];if(a){J[c+16>>2]=a;J[a+24>>2]=c}a=J[d+20>>2];if(!a){break N}J[c+20>>2]=a;J[a+24>>2]=c}P:{if(f>>>0<=15){a=f+h|0;J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;break P}J[d+4>>2]=h|3;e=d+h|0;J[e+4>>2]=f|1;J[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+17296|0;c=J[4314];a=1<<(f>>>3);Q:{if(!(c&a)){J[4314]=a|c;a=b;break Q}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break P}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+17560|0;R:{c=1<>2]=e;break S}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=J[b>>2];while(1){b=h;if((J[b+4>>2]&-8)==(f|0)){break R}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=J[c+16>>2];if(h){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break P}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=d+8|0;break a}T:{if(!i){break T}b=J[c+28>>2];a=(b<<2)+17560|0;U:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break U}m=17260,n=rk(b)&j,J[m>>2]=n;break T}J[i+(J[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break T}}J[d+24>>2]=i;a=J[c+16>>2];if(a){J[d+16>>2]=a;J[a+24>>2]=d}a=J[c+20>>2];if(!a){break T}J[d+20>>2]=a;J[a+24>>2]=d}V:{if(f>>>0<=15){a=f+h|0;J[c+4>>2]=a|3;a=a+c|0;J[a+4>>2]=J[a+4>>2]|1;break V}J[c+4>>2]=h|3;d=c+h|0;J[d+4>>2]=f|1;J[d+f>>2]=f;if(k){b=(k&-8)+17296|0;e=J[4319];a=1<<(k>>>3);W:{if(!(a&g)){J[4314]=a|g;a=b;break W}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a}J[4319]=d;J[4316]=f}a=c+8|0}fa=l+16|0;return a|0}function Hi(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=fa-32|0;fa=m;o=Cj(12);J[o+8>>2]=0;J[o+4>>2]=b;J[o>>2]=0;s=o+12|0;b=s;a:{b:{c:{while(1){b=b-12|0;v=J[b+8>>2];j=J[b+4>>2];t=J[b>>2];if(t){if((v|0)>1e3){break a}J[m+24>>2]=0;J[m+16>>2]=0;J[m+20>>2]=0;d=1;c=J[a>>2];e=J[c+8>>2];h=J[c+12>>2];g=J[c+20>>2];f=J[c+16>>2];d:{if((h|0)<=(g|0)&f>>>0>=e>>>0|(g|0)>(h|0)){break d}e=K[f+J[c>>2]|0];h=c;c=g;f=f+1|0;c=f?c:c+1|0;J[h+16>>2]=f;J[h+20>>2]=c;Kj(m+16|0,e);if(e){c=J[a>>2];n=Jj(m+16|0);p=J[c+8>>2];g=J[c+12>>2];h=J[c+20>>2];f=J[c+16>>2];k=f+e|0;h=k>>>0>>0?h+1|0:h;if((g|0)<=(h|0)&k>>>0>p>>>0|(g|0)<(h|0)){break d}Vi(n,f+J[c>>2]|0,e);d=J[c+20>>2];f=e;e=e+J[c+16>>2]|0;d=f>>>0>e>>>0?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d}j=Cj(24);c=j;J[c+4>>2]=0;J[c+8>>2]=0;c=c+16|0;J[c>>2]=0;J[c+4>>2]=0;J[j>>2]=j+4;J[j+12>>2]=c;e=fa-32|0;fa=e;h=t+12|0;c=m+16|0;u=tg(h,c);i=t+16|0;e:{if((u|0)==(i|0)){J[e+16>>2]=c;f:{g:{d=J[h+4>>2];h:{if(!d){f=h+4|0;c=f;break h}f=K[c+11|0];g=f<<24>>24<0;n=g?J[c>>2]:c;g=g?J[c+4>>2]:f;while(1){c=d;d=K[c+27|0];f=d<<24>>24<0;d=f?J[c+20>>2]:d;p=d>>>0>>0;i:{j:{k:{l:{k=p?d:g;m:{if(k){f=f?J[c+16>>2]:c+16|0;q=bj(n,f,k);if(!q){if(d>>>0>g>>>0){break m}break l}if((q|0)>=0){break l}break m}if(d>>>0<=g>>>0){break k}}f=c;d=J[c>>2];if(d){continue}break h}d=bj(f,n,k);if(d){break j}}if(p){break i}break g}if((d|0)>=0){break g}}d=J[c+4>>2];if(d){continue}break}f=c+4|0}d=Cj(32);n=d+16|0;g=J[e+16>>2];n:{if(H[g+11|0]>=0){p=J[g+4>>2];J[n>>2]=J[g>>2];J[n+4>>2]=p;J[n+8>>2]=J[g+8>>2];break n}Gj(n,J[g>>2],J[g+4>>2])}J[d+8>>2]=c;J[d>>2]=0;J[d+4>>2]=0;J[d+28>>2]=0;J[f>>2]=d;c=d;g=J[J[h>>2]>>2];if(g){J[h>>2]=g;c=J[f>>2]}oe(J[h+4>>2],c);J[h+8>>2]=J[h+8>>2]+1;c=1;break f}d=c;c=0}H[e+28|0]=c;J[e+24>>2]=d;d=J[e+24>>2];c=J[d+28>>2];J[d+28>>2]=j;if(!c){break e}jg(c+12|0,J[c+16>>2]);kg(c,J[c+4>>2]);xj(c);break e}if(!j){break e}jg(j+12|0,J[j+16>>2]);kg(j,J[j+4>>2]);xj(j)}fa=e+32|0;d=(i|0)!=(u|0)}if(H[m+27|0]<0){xj(J[m+16>>2])}if(d){break a}}if(!j){break a}J[m+16>>2]=0;if(!Ii(1,m+16|0,J[a>>2])){break a}q=0;w=J[m+16>>2];if(w){while(1){d=0;i=fa-32|0;fa=i;J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;c=J[a>>2];f=J[c+8>>2];o:{p:{h=J[c+12>>2];g=J[c+20>>2];e=J[c+16>>2];q:{if((h|0)<=(g|0)&e>>>0>=f>>>0|(g|0)>(h|0)){break q}f=K[e+J[c>>2]|0];h=c;c=g;e=e+1|0;c=e?c:c+1|0;J[h+16>>2]=e;J[h+20>>2]=c;Kj(i+16|0,f);if(f){e=J[a>>2];n=Jj(i+16|0);p=J[e+8>>2];g=J[e+12>>2];c=J[e+20>>2];h=J[e+16>>2];k=h+f|0;c=k>>>0>>0?c+1|0:c;if(k>>>0>p>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break q}Vi(n,h+J[e>>2]|0,f);c=J[e+20>>2];g=f;f=f+J[e+16>>2]|0;c=g>>>0>f>>>0?c+1|0:c;J[e+16>>2]=f;J[e+20>>2]=c}J[i+12>>2]=0;if(!Ii(1,i+12|0,J[a>>2])){break q}f=J[i+12>>2];if(!f){break q}e=J[a>>2];c=J[e+8>>2];h=J[e+16>>2];g=c-h|0;c=J[e+12>>2]-(J[e+20>>2]+(c>>>0>>0)|0)|0;if((c|0)<=0&f>>>0>g>>>0|(c|0)<0){break q}J[i+8>>2]=0;J[i>>2]=0;J[i+4>>2]=0;if((f|0)<0){break p}d=Cj(f);J[i>>2]=d;c=d+f|0;J[i+8>>2]=c;l=Xi(d,0,f);J[i+4>>2]=c;h=J[e+12>>2];x=h;p=J[e+8>>2];c=J[e+20>>2];k=J[e+16>>2];g=f+k|0;c=g>>>0>>0?c+1|0:c;u=g;n=c;r:{if((c|0)<=(h|0)&g>>>0<=p>>>0|(c|0)<(h|0)){Vi(l,J[e>>2]+k|0,f);d=J[e+20>>2];c=f+J[e+16>>2]|0;d=c>>>0>>0?d+1|0:d;J[e+16>>2]=c;J[e+20>>2]=d;h=fa-48|0;fa=h;e=tg(j,i+16|0);if((e|0)!=(j+4|0)){c=J[e+4>>2];s:{if(!c){c=e;while(1){d=J[c+8>>2];f=J[d>>2]!=(c|0);c=d;if(f){continue}break}break s}while(1){d=c;c=J[c>>2];if(c){continue}break}}if((e|0)==J[j>>2]){J[j>>2]=d}J[j+8>>2]=J[j+8>>2]-1;f=J[j+4>>2];t:{u:{g=e;d=e;e=J[d>>2];if(e){c=J[g+4>>2];if(!c){break u}while(1){d=c;c=J[c>>2];if(c){continue}break}}e=J[d+4>>2];if(e){break u}e=0;k=1;break t}J[e+8>>2]=J[d+8>>2];k=0}l=J[d+8>>2];c=J[l>>2];v:{if((d|0)==(c|0)){J[l>>2]=e;if((d|0)==(f|0)){c=0;f=e;break v}c=J[l+4>>2];break v}J[l+4>>2]=e}r=!K[d+12|0];if((d|0)!=(g|0)){l=J[g+8>>2];J[d+8>>2]=l;J[l+(((g|0)!=J[J[g+8>>2]>>2])<<2)>>2]=d;l=J[g>>2];J[d>>2]=l;J[l+8>>2]=d;l=J[g+4>>2];J[d+4>>2]=l;if(l){J[l+8>>2]=d}H[d+12|0]=K[g+12|0];f=(f|0)==(g|0)?d:f}w:{if(r|!f){break w}if(k){while(1){e=K[c+12|0];x:{d=J[c+8>>2];if(J[d>>2]!=(c|0)){if(!e){H[c+12|0]=1;H[d+12|0]=0;e=J[d+4>>2];k=J[e>>2];J[d+4>>2]=k;if(k){J[k+8>>2]=d}J[e+8>>2]=J[d+8>>2];k=J[d+8>>2];J[(((d|0)!=J[k>>2])<<2)+k>>2]=e;J[e>>2]=d;J[d+8>>2]=e;d=c;c=J[c>>2];f=(c|0)==(f|0)?d:f;c=J[c+4>>2]}y:{z:{d=J[c>>2];A:{if(!(K[d+12|0]?0:d)){e=J[c+4>>2];if(K[e+12|0]?0:e){break A}H[c+12|0]=0;c=J[c+8>>2];B:{if((f|0)==(c|0)){c=f;break B}if(K[c+12|0]){break x}}H[c+12|0]=1;break w}e=J[c+4>>2];if(!e){break z}}if(K[e+12|0]){break z}d=c;break y}H[d+12|0]=1;H[c+12|0]=0;e=J[d+4>>2];J[c>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[((J[e>>2]!=(c|0))<<2)+e>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;e=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[e+12|0]=1;d=J[c+4>>2];e=J[d>>2];J[c+4>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[(((c|0)!=J[e>>2])<<2)+e>>2]=d;J[d>>2]=c;J[c+8>>2]=d;break w}if(!e){H[c+12|0]=1;H[d+12|0]=0;e=J[c+4>>2];J[d>>2]=e;if(e){J[e+8>>2]=d}J[c+8>>2]=J[d+8>>2];e=J[d+8>>2];J[(((d|0)!=J[e>>2])<<2)+e>>2]=c;J[c+4>>2]=d;J[d+8>>2]=c;f=(d|0)==(f|0)?c:f;c=J[d>>2]}e=J[c>>2];C:{if(!(!e|K[e+12|0])){d=c;break C}d=J[c+4>>2];if(!(K[d+12|0]?0:d)){H[c+12|0]=0;c=J[c+8>>2];if((c|0)!=(f|0)?K[c+12|0]:0){break x}H[c+12|0]=1;break w}if(e){if(!K[e+12|0]){d=c;break C}d=J[c+4>>2]}H[d+12|0]=1;H[c+12|0]=0;e=J[d>>2];J[c+4>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[((J[e>>2]!=(c|0))<<2)+e>>2]=d;J[d>>2]=c;J[c+8>>2]=d;e=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[e+12|0]=1;d=J[c>>2];e=J[d+4>>2];J[c>>2]=e;if(e){J[e+8>>2]=c}J[d+8>>2]=J[c+8>>2];e=J[c+8>>2];J[(((c|0)!=J[e>>2])<<2)+e>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;break w}d=c;c=J[c+8>>2];c=J[(((d|0)==J[c>>2])<<2)+c>>2];continue}}H[e+12|0]=1}c=J[g+28>>2];if(c){J[g+32>>2]=c;xj(c)}if(H[g+27|0]<0){xj(J[g+16>>2])}xj(g)}J[h+8>>2]=0;J[h>>2]=0;J[h+4>>2]=0;c=J[i+4>>2];d=J[i>>2];f=c-d|0;e=0;D:{E:{if((c|0)!=(d|0)){if((f|0)<0){break E}e=Cj(f);c=Xi(e,0,f);g=c+f|0;J[h+8>>2]=g;J[h+4>>2]=g;J[h>>2]=c;c=d}Vi(e,c,f);F:{if(H[i+27|0]>=0){J[h+24>>2]=J[i+24>>2];c=J[i+20>>2];J[h+16>>2]=J[i+16>>2];J[h+20>>2]=c;break F}Gj(h+16|0,J[i+16>>2],J[i+20>>2])}Ki(h+28|0,h);f=h+16|0;c=f;G:{H:{d=J[j+4>>2];I:{if(!d){e=j+4|0;c=e;break I}e=K[c+11|0];g=e<<24>>24<0;k=g?J[c>>2]:c;g=g?J[c+4>>2]:e;while(1){c=d;d=K[c+27|0];e=d<<24>>24<0;d=e?J[c+20>>2]:d;l=d>>>0>>0;J:{K:{L:{M:{r=l?d:g;N:{if(r){e=e?J[c+16>>2]:c+16|0;y=bj(k,e,r);if(!y){if(d>>>0>g>>>0){break N}break M}if((y|0)>=0){break M}break N}if(d>>>0<=g>>>0){break L}}e=c;d=J[c>>2];if(d){continue}break I}d=bj(e,k,r);if(d){break K}}if(l){break J}break H}if((d|0)>=0){break H}}d=J[c+4>>2];if(d){continue}break}e=c+4|0}d=Cj(40);J[d+24>>2]=J[f+8>>2];g=J[f+4>>2];J[d+16>>2]=J[f>>2];J[d+20>>2]=g;J[f>>2]=0;J[f+4>>2]=0;J[f+8>>2]=0;Ki(d+28|0,f+12|0);J[d+8>>2]=c;J[d>>2]=0;J[d+4>>2]=0;J[e>>2]=d;c=d;f=J[J[j>>2]>>2];if(f){J[j>>2]=f;c=J[e>>2]}oe(J[j+4>>2],c);J[j+8>>2]=J[j+8>>2]+1;c=1;break G}d=c;c=0}H[h+44|0]=c;J[h+40>>2]=d;c=J[h+28>>2];if(c){J[h+32>>2]=c;xj(c)}if(H[h+27|0]<0){xj(J[h+16>>2])}c=J[h>>2];if(c){J[h+4>>2]=c;xj(c)}fa=h+48|0;break D}Ia();C()}d=J[i>>2];if(!d){break r}}J[i+4>>2]=d;xj(d)}d=(n|0)<=(x|0)&p>>>0>=u>>>0|(n|0)<(x|0)}if(H[i+27|0]<0){xj(J[i+16>>2])}fa=i+32|0;break o}Ia();C()}if(!d){break a}q=q+1|0;if((w|0)!=(q|0)){continue}break}}J[m+12>>2]=0;if(!Ii(1,m+12|0,J[a>>2])){break a}c=J[a>>2];e=J[c+8>>2];f=J[c+16>>2];h=e-f|0;d=J[m+12>>2];c=J[c+12>>2]-(J[c+20>>2]+(e>>>0>>0)|0)|0;if(h>>>0>>0&(c|0)<=0|(c|0)<0){break a}if(d){q=0;h=((t|0)!=0)+v|0;while(1){O:{if(b>>>0>>0){J[b+8>>2]=h;J[b+4>>2]=0;J[b>>2]=j;b=b+12|0;d=J[m+12>>2];break O}c=b-o|0;g=(c|0)/12|0;b=g+1|0;if(b>>>0>=357913942){break c}e=(s-o|0)/12|0;f=e<<1;e=e>>>0>=178956970?357913941:b>>>0>>0?f:b;if(e){if(e>>>0>=357913942){break b}f=Cj(P(e,12))}else{f=0}b=f+P(g,12)|0;J[b+8>>2]=h;J[b+4>>2]=0;J[b>>2]=j;c=Wi(b+P((c|0)/-12|0,12)|0,o,c);s=f+P(e,12)|0;b=b+12|0;if(o){xj(o)}o=c}q=q+1|0;if(q>>>0>>0){continue}break}}if((b|0)!=(o|0)){continue}break}z=1;break a}Ia();C()}Va();C()}if(o){xj(o)}fa=m+32|0;return z}function Fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=Q(0),q=0,r=0;e=fa-720|0;fa=e;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(L[b+38>>1]>=515){J[e+680>>2]=0;J[e+672>>2]=0;J[e+676>>2]=0;if((ka[J[J[a>>2]+24>>2]](a)|0)<=0){break d}while(1){c=ka[J[J[a>>2]+20>>2]](a,n)|0;d=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];if(J[d+28>>2]==9){f=J[e+672>>2];c=J[e+676>>2]-f>>2;k=K[d+24|0];j:{if(c>>>0>>0){La(e+672|0,k-c|0);break j}if(c>>>0<=k>>>0){break j}J[e+676>>2]=f+(k<<2)}j=0;i=J[b+8>>2];h=J[b+12>>2];c=J[b+20>>2];d=k<<2;f=J[b+16>>2];l=f+d|0;c=d>>>0>l>>>0?c+1|0:c;if(i>>>0>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break b}Vi(J[e+672>>2],f+J[b>>2]|0,d);c=J[b+20>>2];f=d;d=d+J[b+16>>2]|0;c=f>>>0>d>>>0?c+1|0:c;i=d;J[b+16>>2]=d;J[b+20>>2]=c;l=J[b+12>>2];g=J[b+8>>2];h=d+4|0;f=h>>>0<4?c+1|0:c;d=f;if(g>>>0>>0&(d|0)>=(l|0)|(d|0)>(l|0)){break b}o=J[b>>2];f=o+i|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=h;J[b+20>>2]=d;if(g>>>0<=h>>>0&(d|0)>=(l|0)|(d|0)>(l|0)){break b}d=K[h+o|0];h=i+5|0;c=h>>>0<5?c+1|0:c;J[b+16>>2]=h;J[b+20>>2]=c;if(d>>>0>31){break b}p=(x(2,f),D());J[e+20>>2]=-1;J[e+16>>2]=1880;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;c=J[e+672>>2];o=d-1|0;if(o>>>0<=29){J[e+20>>2]=d;k:{h=c+(k<<2)|0;l=h-c|0;f=l>>2;i=J[e+32>>2];d=J[e+24>>2];if(f>>>0<=i-d>>2>>>0){i=J[e+28>>2]-d|0;l=i>>2;i=f>>>0>l>>>0?c+i|0:h;g=i-c|0;if((c|0)!=(i|0)){Wi(d,c,g)}if(f>>>0>l>>>0){c=h-i|0;d=J[e+28>>2];if((h|0)!=(i|0)){Wi(d,i,c)}J[e+28>>2]=c+d;break k}J[e+28>>2]=d+g;break k}if(d){J[e+28>>2]=d;xj(d);J[e+32>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;i=0}l:{if((l|0)<0){break l}d=i>>>1|0;d=i>>>0>=2147483644?1073741823:d>>>0>f>>>0?d:f;if(d>>>0>=1073741824){break l}i=d<<2;d=Cj(i);J[e+28>>2]=d;J[e+24>>2]=d;J[e+32>>2]=d+i;if((c|0)!=(h|0)){Vi(d,c,l)}J[e+28>>2]=d+(f<<2);break k}Ia();C()}N[e+36>>2]=p}m:{if(o>>>0>=30){break m}if(!Wa(e+16|0,J[J[a+60>>2]+((J[a+40>>2]-J[a+36>>2]|0)/24<<2)>>2])){break m}c=J[a+40>>2];n:{if((c|0)!=J[a+44>>2]){J[c>>2]=1880;d=J[e+20>>2];J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+4>>2]=d;d=J[e+28>>2];f=J[e+24>>2];if((d|0)!=(f|0)){d=d-f|0;if((d|0)<0){break i}g=Cj(d);J[c+12>>2]=g;J[c+8>>2]=g;J[c+16>>2]=(d&-4)+g;k=J[e+24>>2];d=J[e+28>>2];if((k|0)!=(d|0)){while(1){N[g>>2]=N[k>>2];g=g+4|0;k=k+4|0;if((d|0)!=(k|0)){continue}break}}J[c+12>>2]=g}N[c+20>>2]=N[e+36>>2];J[a+40>>2]=c+24;break n}d=0;o:{p:{q:{r:{j=J[a+40>>2];f=J[a+36>>2];i=(j-f|0)/24|0;c=i+1|0;if(c>>>0<178956971){h=(J[a+44>>2]-f|0)/24|0;l=h<<1;h=h>>>0>=89478485?178956970:c>>>0>>0?l:c;if(h){if(h>>>0>=178956971){break r}d=Cj(P(h,24))}g=P(i,24)+d|0;J[g>>2]=1880;c=J[e+20>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g+4>>2]=c;c=J[e+24>>2];i=J[e+28>>2];if((c|0)!=(i|0)){l=i-c|0;if((l|0)<0){break q}k=Cj(l);J[g+8>>2]=k;J[g+16>>2]=(l&-4)+k;while(1){N[k>>2]=N[c>>2];k=k+4|0;c=c+4|0;if((i|0)!=(c|0)){continue}break}J[g+12>>2]=k}c=P(h,24)+d|0;N[g+20>>2]=N[e+36>>2];d=g+24|0;if((f|0)==(j|0)){break p}while(1){g=g-24|0;J[g>>2]=1880;j=j-24|0;J[g+4>>2]=J[j+4>>2];J[g+8>>2]=J[j+8>>2];J[g+12>>2]=J[j+12>>2];J[g+16>>2]=J[j+16>>2];J[j+16>>2]=0;J[j+8>>2]=0;J[j+12>>2]=0;N[g+20>>2]=N[j+20>>2];if((f|0)!=(j|0)){continue}break}J[a+44>>2]=c;k=J[a+40>>2];J[a+40>>2]=d;j=J[a+36>>2];J[a+36>>2]=g;if((j|0)==(k|0)){break o}while(1){k=k-24|0;ka[J[J[k>>2]>>2]](k)|0;if((j|0)!=(k|0)){continue}break}break o}Ia();C()}Va();C()}Ia();C()}J[a+44>>2]=c;J[a+40>>2]=d;J[a+36>>2]=g}if(j){xj(j)}}j=1}J[e+16>>2]=1880;c=J[e+24>>2];if(c){J[e+28>>2]=c;xj(c)}if(!j){break c}}n=n+1|0;if((ka[J[J[a>>2]+24>>2]](a)|0)>(n|0)){continue}break}break d}k=ka[J[J[a>>2]+24>>2]](a)|0;J[e+712>>2]=0;J[e+704>>2]=0;J[e+708>>2]=0;if(k){if(k>>>0>=214748365){break h}c=P(k,20);d=Cj(c);J[e+704>>2]=d;J[e+712>>2]=c+d;c=c-20|0;c=(c-((c>>>0)%20|0)|0)+20|0;q=e,r=Xi(d,0,c)+c|0,J[q+708>>2]=r;while(1){c=ka[J[J[a>>2]+20>>2]](a,m)|0;d=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];f=J[d+28>>2];c=f-1|0;if(c>>>0<=10){c=J[(c<<2)+13632>>2]}else{c=-1}h=(c|0)>0?c:0;if(h>>>0>4){break f}c=J[e+704>>2]+P(m,20)|0;i=K[d+24|0];J[c+16>>2]=i;J[c+12>>2]=h;J[c+8>>2]=f;J[c+4>>2]=g;J[c>>2]=d;g=g+i|0;m=m+1|0;if((k|0)!=(m|0)){continue}break}}c=ka[J[J[a>>2]+20>>2]](a,0)|0;m=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];H[m+84|0]=1;J[m+72>>2]=J[m+68>>2];h=J[b+12>>2];c=h;d=J[b+20>>2];f=J[b+8>>2];i=J[b+16>>2];if((c|0)<=(d|0)&f>>>0<=i>>>0|(c|0)<(d|0)){break f}n=J[b>>2];o=K[n+i|0];c=d;l=i+1|0;c=l?c:c+1|0;J[b+16>>2]=l;J[b+20>>2]=c;s:{switch(o|0){case 0:a=J[e+704>>2];if((J[e+708>>2]-a|0)!=20){break e}if(J[a+16>>2]!=3){break f}t:{if(f>>>0<=l>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break t}c=d;a=i+2|0;c=a>>>0<2?c+1|0:c;l=a;J[b+16>>2]=a;J[b+20>>2]=c;c=d;a=i+6|0;c=a>>>0<6?c+1|0:c;if(a>>>0>f>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break t}d=l+n|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=a;J[b+20>>2]=c;$a(m,d);j=e+672|0;J[j+20>>2]=0;J[j+12>>2]=0;J[j+16>>2]=0;J[j>>2]=0;J[j+4>>2]=0;J[j+20>>2]=d;d=qb(e+16|0,e+704|0);k=0;g=fa-32|0;fa=g;J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;f=J[b+12>>2];m=f;i=J[b+8>>2];c=J[b+20>>2];l=c;h=J[b+16>>2];a=h+4|0;c=a>>>0<4?c+1|0:c;u:{if(a>>>0>i>>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break u}n=J[b>>2];f=n+h|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=a;J[b+20>>2]=c;v:{w:{switch(f-2|0){case 1:if((c|0)>=(m|0)&a>>>0>=i>>>0|(c|0)>(m|0)){break u}a=K[a+n|0];c=l;f=h+5|0;c=f>>>0<5?c+1|0:c;J[b+16>>2]=f;J[b+20>>2]=c;H[j+8|0]=a;if((a|0)==1){if(Ti(j,b,g+16|0)){break v}break u}aj(1846,23,J[3455]);break u;default:aj(1821,24,J[3455]);break u;case 0:break w}}if(!Ti(j,b,g+16|0)){break u}}J[g+8>>2]=J[g+16>>2];J[g>>2]=J[g+20>>2];c=fa-32|0;fa=c;a=J[j>>2];p=N[j+4>>2];J[c+24>>2]=1065353216;h=-1<0){N[c+24>>2]=p/Q(a|0)}m=J[g+8>>2];n=J[g>>2];if((m|0)!=(n|0)){a=J[d+28>>2];while(1){b=J[m>>2];f=J[m+4>>2];p=N[c+24>>2];N[c+16>>2]=p*Q(J[m+8>>2]-h|0);N[c+12>>2]=p*Q(f-h|0);N[c+8>>2]=p*Q(b-h|0);b=a;i=J[d+16>>2];f=J[i>>2];if(!K[f+84|0]){b=J[J[f+68>>2]+(a<<2)>>2]}if(M[f+80>>2]>b>>>0){a=J[f+40>>2];Vi(J[J[f>>2]>>2]+P(a,b)|0,(c+8|0)+(J[i+4>>2]<<2)|0,a);n=J[g>>2];a=J[d+28>>2]}a=a+1|0;J[d+28>>2]=a;m=m+12|0;if((n|0)!=(m|0)){continue}break}}fa=c+32|0;k=1}a=J[g+16>>2];if(a){J[g+20>>2]=a;xj(a)}fa=g+32|0;Eb(d);j=1;if(k){break f}}j=0;break f;case 1:break s;default:break f}}if(f>>>0<=l>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break f}o=K[l+n|0];c=d;l=i+2|0;c=l>>>0<2?c+1|0:c;J[b+16>>2]=l;J[b+20>>2]=c;if(o>>>0>=7){J[e>>2]=o;cj(1698,e);break f}c=d;d=i+6|0;c=d>>>0<6?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break f}f=l+n|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=d;J[b+20>>2]=c;if(k){m=0;while(1){c=ka[J[J[a>>2]+20>>2]](a,m)|0;c=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];$a(c,f);H[c+84|0]=1;J[c+72>>2]=J[c+68>>2];m=m+1|0;if((k|0)!=(m|0)){continue}break}}a=qb(e+672|0,e+704|0);x:{y:{switch(o|0){case 1:c=tb(e+16|0,g);b=ub(c,b,a,-1);sb(c);if(!b){break g}break x;case 2:c=xb(e+16|0,g);b=vb(c,b,a,-1);wb(c);if(!b){break g}break x;case 3:c=xb(e+16|0,g);b=yb(c,b,a,-1);wb(c);if(!b){break g}break x;case 4:c=Bb(e+16|0,g);b=zb(c,b,a,-1);Ab(c);if(!b){break g}break x;case 5:c=Bb(e+16|0,g);b=Cb(c,b,a,-1);Ab(c);if(!b){break g}break x;case 6:c=Bb(e+16|0,g);b=Db(c,b,a,-1);Ab(c);if(b){break x}break g;case 0:break y;default:break g}}c=tb(e+16|0,g);b=rb(c,b,a,-1);sb(c);if(!b){break g}}Eb(a);j=1;break f}Ia();C()}Ia();C()}Eb(a)}a=J[e+704>>2]}if(!a){break a}J[e+708>>2]=a;xj(a);break a}j=1;if(J[a+52>>2]==J[a+48>>2]){break b}while(1){if(!Gb(1,e+16|0,b)){break c}c=J[a+48>>2];d=J[e+16>>2];J[c+(m<<2)>>2]=d>>>1^0-(d&1);m=m+1|0;if(m>>>0>2]-c>>2>>>0){continue}break}break b}j=0}a=J[e+672>>2];if(!a){break a}J[e+676>>2]=a;xj(a)}fa=e+720|0;return j|0}function gg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=fa-32|0;fa=h;J[b+32>>2]=d;J[b+40>>2]=c;J[b+4>>2]=e;cg(a,d,h+16|0);a:{if(J[a>>2]){break a}if(H[a+15|0]<0){xj(J[a+4>>2])}d=K[h+23|0];if((ka[J[J[b>>2]+8>>2]](b)|0)!=(d|0)){b=Cj(64);H[b+50|0]=0;c=K[1349]|K[1350]<<8;H[b+48|0]=c;H[b+49|0]=c>>>8;c=K[1345]|K[1346]<<8|(K[1347]<<16|K[1348]<<24);d=K[1341]|K[1342]<<8|(K[1343]<<16|K[1344]<<24);H[b+40|0]=d;H[b+41|0]=d>>>8;H[b+42|0]=d>>>16;H[b+43|0]=d>>>24;H[b+44|0]=c;H[b+45|0]=c>>>8;H[b+46|0]=c>>>16;H[b+47|0]=c>>>24;c=K[1337]|K[1338]<<8|(K[1339]<<16|K[1340]<<24);d=K[1333]|K[1334]<<8|(K[1335]<<16|K[1336]<<24);H[b+32|0]=d;H[b+33|0]=d>>>8;H[b+34|0]=d>>>16;H[b+35|0]=d>>>24;H[b+36|0]=c;H[b+37|0]=c>>>8;H[b+38|0]=c>>>16;H[b+39|0]=c>>>24;c=K[1329]|K[1330]<<8|(K[1331]<<16|K[1332]<<24);d=K[1325]|K[1326]<<8|(K[1327]<<16|K[1328]<<24);H[b+24|0]=d;H[b+25|0]=d>>>8;H[b+26|0]=d>>>16;H[b+27|0]=d>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1321]|K[1322]<<8|(K[1323]<<16|K[1324]<<24);d=K[1317]|K[1318]<<8|(K[1319]<<16|K[1320]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1313]|K[1314]<<8|(K[1315]<<16|K[1316]<<24);d=K[1309]|K[1310]<<8|(K[1311]<<16|K[1312]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1305]|K[1306]<<8|(K[1307]<<16|K[1308]<<24);d=K[1301]|K[1302]<<8|(K[1303]<<16|K[1304]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,b,50);xj(b);break a}c=K[h+21|0];H[b+36|0]=c;e=K[h+22|0];H[b+37|0]=e;if((c-3&255)>>>0<=253){b=Cj(32);H[b+22|0]=0;c=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);d=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);H[b+14|0]=d;H[b+15|0]=d>>>8;H[b+16|0]=d>>>16;H[b+17|0]=d>>>24;H[b+18|0]=c;H[b+19|0]=c>>>8;H[b+20|0]=c>>>16;H[b+21|0]=c>>>24;c=K[1456]|K[1457]<<8|(K[1458]<<16|K[1459]<<24);d=K[1452]|K[1453]<<8|(K[1454]<<16|K[1455]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1448]|K[1449]<<8|(K[1450]<<16|K[1451]<<24);d=K[1444]|K[1445]<<8|(K[1446]<<16|K[1447]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-5;Gj(a+4|0,b,22);xj(b);break a}if(!((c|0)!=2|e>>>0<=(d?2:3)>>>0)){b=Cj(32);H[b+22|0]=0;c=K[1439]|K[1440]<<8|(K[1441]<<16|K[1442]<<24);d=K[1435]|K[1436]<<8|(K[1437]<<16|K[1438]<<24);H[b+14|0]=d;H[b+15|0]=d>>>8;H[b+16|0]=d>>>16;H[b+17|0]=d>>>24;H[b+18|0]=c;H[b+19|0]=c>>>8;H[b+20|0]=c>>>16;H[b+21|0]=c>>>24;c=K[1433]|K[1434]<<8|(K[1435]<<16|K[1436]<<24);d=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1425]|K[1426]<<8|(K[1427]<<16|K[1428]<<24);d=K[1421]|K[1422]<<8|(K[1423]<<16|K[1424]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-5;Gj(a+4|0,b,22);xj(b);break a}c=e|c<<8;I[J[b+32>>2]+38>>1]=c;b:{if((c&65535)>>>0<259|I[h+26>>1]>=0){break b}i=fa-16|0;fa=i;e=Cj(36);c=e;J[c+4>>2]=0;J[c+8>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;c=c+16|0;J[c>>2]=0;J[c+4>>2]=0;J[e>>2]=e+4;J[e+32>>2]=0;J[e+12>>2]=c;J[i>>2]=0;d=J[b+32>>2];j=fa-16|0;fa=j;c=0;c:{if(!e){break c}J[i>>2]=d;J[j+12>>2]=0;c=0;if(!Ii(1,j+12|0,d)){break c}m=J[j+12>>2];if(m){while(1){d:{if(Ii(1,j+8|0,J[i>>2])){c=Cj(28);J[c+4>>2]=0;J[c+8>>2]=0;d=c+16|0;J[d>>2]=0;J[d+4>>2]=0;J[c>>2]=c+4;J[c+12>>2]=d;J[c+24>>2]=J[j+8>>2];if(Hi(i,c)){break d}jg(c+12|0,J[c+16>>2]);kg(c,J[c+4>>2]);xj(c)}c=0;break c}f=fa-16|0;fa=f;J[f+8>>2]=c;e:{if(!c){break e}d=J[e+28>>2];f:{if(d>>>0>2]){J[f+8>>2]=0;J[d>>2]=c;J[e+28>>2]=d+4;break f}d=0;g:{h:{i:{g=J[e+24>>2];l=J[e+28>>2]-g>>2;c=l+1|0;if(c>>>0<1073741824){g=J[e+32>>2]-g|0;k=g>>>1|0;g=g>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(g){if(g>>>0>=1073741824){break i}d=Cj(g<<2)}k=J[f+8>>2];J[f+8>>2]=0;c=(l<<2)+d|0;J[c>>2]=k;g=(g<<2)+d|0;l=c+4|0;d=J[e+28>>2];k=J[e+24>>2];if((d|0)==(k|0)){break h}while(1){d=d-4|0;o=J[d>>2];J[d>>2]=0;c=c-4|0;J[c>>2]=o;if((d|0)!=(k|0)){continue}break}J[e+32>>2]=g;g=J[e+28>>2];J[e+28>>2]=l;d=J[e+24>>2];J[e+24>>2]=c;if((d|0)==(g|0)){break g}while(1){g=g-4|0;c=J[g>>2];J[g>>2]=0;if(c){jg(c+12|0,J[c+16>>2]);kg(c,J[c+4>>2]);xj(c)}if((d|0)!=(g|0)){continue}break}break g}Ia();C()}Va();C()}J[e+32>>2]=g;J[e+28>>2]=l;J[e+24>>2]=c}if(d){xj(d)}}c=J[f+8>>2];J[f+8>>2]=0;if(!c){break e}jg(c+12|0,J[c+16>>2]);kg(c,J[c+4>>2]);xj(c)}fa=f+16|0;n=n+1|0;if((m|0)!=(n|0)){continue}break}}c=Hi(i,e)}fa=j+16|0;j:{if(c){d=J[b+4>>2];c=J[d+4>>2];J[d+4>>2]=e;if(c){fg(c)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break j}c=Cj(32);H[c+26|0]=0;d=K[1614]|K[1615]<<8;H[c+24|0]=d;H[c+25|0]=d>>>8;d=K[1610]|K[1611]<<8|(K[1612]<<16|K[1613]<<24);f=K[1606]|K[1607]<<8|(K[1608]<<16|K[1609]<<24);H[c+16|0]=f;H[c+17|0]=f>>>8;H[c+18|0]=f>>>16;H[c+19|0]=f>>>24;H[c+20|0]=d;H[c+21|0]=d>>>8;H[c+22|0]=d>>>16;H[c+23|0]=d>>>24;d=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);f=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[c+8|0]=f;H[c+9|0]=f>>>8;H[c+10|0]=f>>>16;H[c+11|0]=f>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1594]|K[1595]<<8|(K[1596]<<16|K[1597]<<24);f=K[1590]|K[1591]<<8|(K[1592]<<16|K[1593]<<24);H[c|0]=f;H[c+1|0]=f>>>8;H[c+2|0]=f>>>16;H[c+3|0]=f>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;J[a>>2]=-1;Gj(a+4|0,c,26);xj(c);J[i+8>>2]=0;fg(e)}fa=i+16|0;if(J[a>>2]){break a}if(H[a+15|0]>=0){break b}xj(J[a+4>>2])}if(!(ka[J[J[b>>2]+12>>2]](b)|0)){b=Cj(48);H[b+33|0]=0;H[b+32|0]=K[1419];c=K[1415]|K[1416]<<8|(K[1417]<<16|K[1418]<<24);d=K[1411]|K[1412]<<8|(K[1413]<<16|K[1414]<<24);H[b+24|0]=d;H[b+25|0]=d>>>8;H[b+26|0]=d>>>16;H[b+27|0]=d>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1407]|K[1408]<<8|(K[1409]<<16|K[1410]<<24);d=K[1403]|K[1404]<<8|(K[1405]<<16|K[1406]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1399]|K[1400]<<8|(K[1401]<<16|K[1402]<<24);d=K[1395]|K[1396]<<8|(K[1397]<<16|K[1398]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1391]|K[1392]<<8|(K[1393]<<16|K[1394]<<24);d=K[1387]|K[1388]<<8|(K[1389]<<16|K[1390]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,b,33);xj(b);break a}if(!(ka[J[J[b>>2]+20>>2]](b)|0)){b=dg(h,1617);J[a>>2]=-1;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break a}Gj(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break a}xj(J[b>>2]);break a}if(!(ka[J[J[b>>2]+24>>2]](b)|0)){b=dg(h,1352);J[a>>2]=-1;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break a}Gj(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break a}xj(J[b>>2]);break a}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}fa=h+32|0}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=fa-16|0;fa=m;J[m+12>>2]=b;b=Cj(32);J[m>>2]=b;J[m+4>>2]=24;J[m+8>>2]=-2147483616;c=K[1229]|K[1230]<<8|(K[1231]<<16|K[1232]<<24);d=K[1225]|K[1226]<<8|(K[1227]<<16|K[1228]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1221]|K[1222]<<8|(K[1223]<<16|K[1224]<<24);d=K[1217]|K[1218]<<8|(K[1219]<<16|K[1220]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1213]|K[1214]<<8|(K[1215]<<16|K[1216]<<24);d=K[1209]|K[1210]<<8|(K[1211]<<16|K[1212]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+24|0]=0;l=fa-48|0;fa=l;f=J[m+12>>2];d=a;a=a+16|0;b=J[a>>2];a:{b:{if(!b){break b}c=a;while(1){e=(f|0)>J[b+16>>2];c=e?c:b;b=J[(e?b+4|0:b)>>2];if(b){continue}break}if((a|0)==(c|0)){break b}if((f|0)>=J[c+16>>2]){break a}}J[l+28>>2]=0;J[l+32>>2]=0;x=l+24|0;J[l+24>>2]=x|4;a=l+16|0;J[a>>2]=0;J[a+4>>2]=0;J[l+8>>2]=f;J[l+12>>2]=a;t=l+8|0;a=t;w=fa-16|0;fa=w;u=d+12|0;c=J[u+4>>2];c:{d:{if(!c){o=u+4|0;d=o;break d}a=J[a>>2];while(1){d=c;b=J[c+16>>2];if((b|0)>(a|0)){o=d;c=J[d>>2];if(c){continue}break d}if((a|0)<=(b|0)){g=d;a=0;break c}c=J[d+4>>2];if(c){continue}break}o=d+4|0}g=Cj(32);b=J[t>>2];q=g+24|0;a=q;J[a>>2]=0;J[a+4>>2]=0;J[g+16>>2]=b;r=g+20|0;J[r>>2]=a;c=J[t+4>>2];y=t+8|0;if((c|0)!=(y|0)){while(1){p=fa-16|0;fa=p;a=p+8|0;k=c+16|0;e:{f:{g:{h:{i:{j:{k:{f=q;e=r+4|0;l:{if((f|0)==(e|0)){break l}b=K[f+27|0];h=b<<24>>24<0;i=K[k+11|0];n=i<<24>>24;j=(n|0)<0;i=j?J[k+4>>2]:i;b=h?J[f+20>>2]:b;s=i>>>0>b>>>0;v=s?b:i;if(v){j=j?J[k>>2]:k;h=h?J[f+16>>2]:f+16|0;z=bj(j,h,v);if(!z){if(b>>>0>i>>>0){break l}break k}if((z|0)>=0){break k}break l}if(b>>>0<=i>>>0){break j}}h=J[f>>2];m:{a=f;n:{if((a|0)==J[r>>2]){break n}o:{if(!h){b=f;while(1){a=J[b+8>>2];i=J[a>>2]==(b|0);b=a;if(i){continue}break}break o}b=h;while(1){a=b;b=J[b+4>>2];if(b){continue}break}}i=K[k+11|0];s=i<<24>>24;b=(s|0)<0;j=K[a+27|0];n=j<<24>>24<0;p:{i=b?J[k+4>>2]:i;j=n?J[a+20>>2]:j;v=i>>>0>>0?i:j;if(v){b=bj(n?J[a+16>>2]:a+16|0,b?J[k>>2]:k,v);if(b){break p}}if(i>>>0>j>>>0){break n}break m}if((b|0)>=0){break m}}if(!h){J[p+12>>2]=f;a=f;break e}J[p+12>>2]=a;a=a+4|0;break e}b=J[e>>2];if(!b){J[p+12>>2]=e;a=e;break e}h=(s|0)<0?J[k>>2]:k;f=e;while(1){a=b;b=K[b+27|0];e=b<<24>>24<0;b=e?J[a+20>>2]:b;k=b>>>0>>0;q:{r:{s:{t:{n=k?b:i;u:{if(n){e=e?J[a+16>>2]:a+16|0;j=bj(h,e,n);if(!j){if(b>>>0>i>>>0){break u}break t}if((j|0)>=0){break t}break u}if(b>>>0<=i>>>0){break s}}f=a;b=J[a>>2];if(b){continue}break g}b=bj(e,h,n);if(b){break r}}if(k){break q}break g}if((b|0)>=0){break g}}f=a+4|0;b=J[a+4>>2];if(b){continue}break}break g}b=bj(h,j,v);if(b){break i}}if(s){break h}break f}if((b|0)>=0){break f}}h=J[f+4>>2];v:{if(!h){b=f;while(1){a=J[b+8>>2];j=J[a>>2]!=(b|0);b=a;if(j){continue}break}break v}b=h;while(1){a=b;b=J[b>>2];if(b){continue}break}}w:{x:{if((a|0)==(e|0)){break x}j=K[a+27|0];b=j<<24>>24<0;y:{j=b?J[a+20>>2]:j;s=i>>>0>j>>>0?j:i;if(s){b=bj((n|0)<0?J[k>>2]:k,b?J[a+16>>2]:a+16|0,s);if(b){break y}}if(i>>>0>>0){break x}break w}if((b|0)>=0){break w}}if(!h){J[p+12>>2]=f;a=f+4|0;break e}J[p+12>>2]=a;break e}b=J[e>>2];if(!b){J[p+12>>2]=e;a=e;break e}h=(n|0)<0?J[k>>2]:k;f=e;while(1){a=b;b=K[b+27|0];e=b<<24>>24<0;b=e?J[a+20>>2]:b;k=b>>>0>>0;z:{A:{B:{C:{n=k?b:i;D:{if(n){e=e?J[a+16>>2]:a+16|0;j=bj(h,e,n);if(!j){if(b>>>0>i>>>0){break D}break C}if((j|0)>=0){break C}break D}if(b>>>0<=i>>>0){break B}}f=a;b=J[a>>2];if(b){continue}break g}b=bj(e,h,n);if(b){break A}}if(k){break z}break g}if((b|0)>=0){break g}}f=a+4|0;b=J[a+4>>2];if(b){continue}break}}J[p+12>>2]=a;a=f;break e}J[p+12>>2]=f;J[a>>2]=f}f=a;a=J[a>>2];if(a){b=0}else{a=Cj(40);b=a+16|0;E:{if(H[c+27|0]>=0){e=J[c+20>>2];J[b>>2]=J[c+16>>2];J[b+4>>2]=e;J[b+8>>2]=J[c+24>>2];break E}Gj(b,J[c+16>>2],J[c+20>>2])}b=a+28|0;F:{if(H[c+39|0]>=0){e=J[c+32>>2];J[b>>2]=J[c+28>>2];J[b+4>>2]=e;J[b+8>>2]=J[c+36>>2];break F}Gj(b,J[c+28>>2],J[c+32>>2])}J[a+8>>2]=J[p+12>>2];J[a>>2]=0;J[a+4>>2]=0;J[f>>2]=a;b=a;e=J[J[r>>2]>>2];if(e){J[r>>2]=e;b=J[f>>2]}oe(J[r+4>>2],b);J[r+8>>2]=J[r+8>>2]+1;b=1}H[w+12|0]=b;J[w+8>>2]=a;fa=p+16|0;b=J[c+4>>2];G:{if(b){while(1){c=b;b=J[b>>2];if(b){continue}break G}}while(1){a=c;c=J[c+8>>2];if((a|0)!=J[c>>2]){continue}break}}if((c|0)!=(y|0)){continue}break}}J[g+8>>2]=d;J[g>>2]=0;J[g+4>>2]=0;J[o>>2]=g;c=g;a=J[J[u>>2]>>2];if(a){J[u>>2]=a;c=J[o>>2]}oe(J[u+4>>2],c);J[u+8>>2]=J[u+8>>2]+1;a=1}H[l+44|0]=a;J[l+40>>2]=g;fa=w+16|0;c=J[l+40>>2];ne(t|4,J[l+16>>2]);ne(x,J[l+28>>2])}f=fa-48|0;fa=f;d=f+8|0;g=fa-32|0;fa=g;o=g+32|0;b=o;a=g+21|0;H:{if((b|0)==(a|0)){break H}}e=b-a|0;I:{if((e|0)<=9){h=61;if((e|0)<(M[3672]<=1|0)){break I}}H[a|0]=49;b=a+1|0;h=0}J[g+12>>2]=h;J[g+8>>2]=b;h=fa-16|0;fa=h;e=fa-16|0;fa=e;J:{q=J[g+8>>2];g=q-a|0;if(g>>>0<=2147483631){K:{if(g>>>0<11){H[d+11|0]=g|K[d+11|0]&128;H[d+11|0]=K[d+11|0]&127;b=d;break K}t=e+8|0;if(g>>>0>=11){k=g+16&-16;b=k-1|0;b=(b|0)==11?k:b}else{b=10}Aj(t,b+1|0);b=J[e+8>>2];J[d>>2]=b;J[d+8>>2]=J[d+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[d+8>>2]=J[d+8>>2]|-2147483648;J[d+4>>2]=g}while(1){if((a|0)!=(q|0)){H[b|0]=K[a|0];b=b+1|0;a=a+1|0;continue}break}H[e+7|0]=0;H[b|0]=K[e+7|0];fa=e+16|0;break J}eg();C()}fa=h+16|0;fa=o;J[f+32>>2]=m;L:{M:{a=c+20|0;d=J[a+4>>2];N:{if(!d){g=a+4|0;c=g;break N}b=K[m+11|0];c=b<<24>>24<0;e=c?J[m>>2]:m;b=c?J[m+4>>2]:b;while(1){c=d;d=K[c+27|0];g=d<<24>>24<0;d=g?J[c+20>>2]:d;o=d>>>0>>0;O:{P:{Q:{R:{h=o?d:b;S:{if(h){g=g?J[c+16>>2]:c+16|0;q=bj(e,g,h);if(!q){if(b>>>0>>0){break S}break R}if((q|0)>=0){break R}break S}if(b>>>0>=d>>>0){break Q}}g=c;d=J[c>>2];if(d){continue}break N}d=bj(g,e,h);if(d){break P}}if(o){break O}break M}if((d|0)>=0){break M}}d=J[c+4>>2];if(d){continue}break}g=c+4|0}d=Cj(40);e=d+16|0;b=J[f+32>>2];T:{if(H[b+11|0]>=0){o=J[b+4>>2];J[e>>2]=J[b>>2];J[e+4>>2]=o;J[e+8>>2]=J[b+8>>2];break T}Gj(e,J[b>>2],J[b+4>>2])}J[d+8>>2]=c;J[d>>2]=0;J[d+4>>2]=0;J[d+36>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[g>>2]=d;c=d;b=J[J[a>>2]>>2];if(b){J[a>>2]=b;c=J[g>>2]}oe(J[a+4>>2],c);J[a+8>>2]=J[a+8>>2]+1;a=1;break L}d=c;a=0}H[f+44|0]=a;J[f+40>>2]=d;a=J[f+40>>2];if(H[a+39|0]<0){xj(J[a+28>>2])}b=J[f+12>>2];J[a+28>>2]=J[f+8>>2];J[a+32>>2]=b;J[a+36>>2]=J[f+16>>2];fa=f+48|0;fa=l+48|0;if(H[m+11|0]<0){xj(J[m>>2])}fa=m+16|0}function rb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=J[b+8>>2];e=J[b+12>>2];g=J[b+20>>2];h=J[b+16>>2];k=h+4|0;g=k>>>0<4?g+1|0:g;a:{if(j>>>0>>0&(e|0)<=(g|0)|(e|0)<(g|0)){break a}h=h+J[b>>2]|0;J[a>>2]=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);h=J[b+20>>2];e=h;j=J[b+16>>2];g=j+4|0;h=g>>>0<4?e+1|0:e;J[b+16>>2]=g;J[b+20>>2]=h;if(M[a>>2]>32){break a}l=J[b+8>>2];k=J[b+12>>2];h=e;e=j+8|0;h=e>>>0<8?h+1|0:h;if(e>>>0>l>>>0&(h|0)>=(k|0)|(h|0)>(k|0)){break a}h=J[b>>2]+g|0;g=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[a+4>>2]=g;h=J[b+20>>2];e=J[b+16>>2]+4|0;h=e>>>0<4?h+1|0:h;J[b+16>>2]=e;J[b+20>>2]=h;if(!g){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!ge(a+16|0,b)){break a}if(!ge(a+36|0,b)){break a}if(!ge(a+56|0,b)){break a}if(!ge(a+76|0,b)){break a}s=J[a+4>>2];h=c;b=0;g=0;e=fa-32|0;fa=e;d=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}c=a<<2;b=Cj(c);J[e+8>>2]=b;g=b+c|0;J[e+16>>2]=g;Xi(b,0,c);J[e+12>>2]=g}c=J[d+120>>2];i=J[c>>2];if(i){J[c+4>>2]=i;xj(i);g=J[e+12>>2];b=J[e+8>>2];a=J[d+12>>2]}J[c+4>>2]=g;J[c>>2]=b;J[c+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;f=Cj(a);J[e+8>>2]=f;b=a+f|0;J[e+16>>2]=b;Xi(f,0,a);J[e+12>>2]=b}a=J[d+132>>2];c=J[a>>2];if(c){J[a+4>>2]=c;xj(c);f=J[e+8>>2];b=J[e+12>>2]}J[a+4>>2]=b;J[a>>2]=f;J[a+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);a=J[e+24>>2]+J[e+28>>2]|0;b=(a>>>0)/341|0;a=J[J[e+12>>2]+(b<<2)>>2]+P(a-P(b,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=s;c=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}while(1){b=J[e+12>>2];f=J[e+24>>2];k=a-1|0;c=f+k|0;i=(c>>>0)/341|0;c=J[b+(i<<2)>>2]+P(c-P(i,341)|0,12)|0;g=J[c+8>>2];i=J[c+4>>2];j=J[c>>2];J[e+28>>2]=k;c=J[e+16>>2];if((((b|0)!=(c|0)?P(c-b>>2,341)-1|0:0)-(a+f|0)|0)+1>>>0>=682){xj(J[c-4>>2]);J[e+16>>2]=J[e+16>>2]-4}c=0;if(j>>>0>s>>>0){break e}b=J[d+12>>2];a=(b-1|0)!=(i|0)?i+1|0:0;if(a>>>0>=b>>>0){break e}f=P(g,12);o=f+J[d+132>>2]|0;k=f+J[d+120>>2]|0;i=J[d>>2];l=a<<2;m=J[l+J[o>>2]>>2];f:{g:{if((i|0)==(m|0)){if(!j){break g}o=0;b=J[h+20>>2];g=J[h+16>>2];if((b|0)==(g|0)){a=J[d+8>>2];J[h+28>>2]=j+J[h+28>>2];J[d+8>>2]=a+j;break g}while(1){c=(b|0)==(g|0);a=b;i=0;b=g;h:{if(c){break h}while(1){f=J[h+28>>2];b=a;c=P(i,20)+g|0;l=J[c>>2];if(!K[l+84|0]){f=J[J[l+68>>2]+(f<<2)>>2]}if(M[l+80>>2]<=f>>>0){break h}m=J[k>>2]+(J[c+4>>2]<<2)|0;g=J[c+12>>2];b=m;i:{if(g>>>0>3){break i}a=0;b=J[h+12>>2];if(!J[c+16>>2]){break i}while(1){b=Vi(b,m+(a<<2)|0,g);g=J[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[h+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,f)|0,b,a);i=i+1|0;a=J[h+20>>2];b=a;g=J[h+16>>2];if(i>>>0<(b-g|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[d+8>>2]=J[d+8>>2]+1;o=o+1|0;if((j|0)!=(o|0)){continue}break}break g}j:{k:{l:{m:{if(j>>>0<=2){c=J[d+108>>2];J[c>>2]=a;f=1;b=J[d+12>>2];if(b>>>0>1){break m}break j}if(M[d+8>>2]>M[d+4>>2]){break e}b=J[d+120>>2];n=g+1|0;o=P(n,12);p=b+o|0;if((p|0)!=(k|0)){Nb(p,J[k>>2],J[k+4>>2]);b=J[d+120>>2]}b=l+J[b+o>>2]|0;J[b>>2]=J[b>>2]+(1<>2];m=32-i|0;n:{if((b|0)<=(m|0)){k=J[d+28>>2];if((k|0)==J[d+20>>2]){break l}m=J[k>>2];p=b+i|0;J[d+32>>2]=p;b=m<>>32-b|0;if((p|0)!=32){break n}J[d+32>>2]=0;J[d+28>>2]=k+4;break n}k=J[d+28>>2];p=k+4|0;if((p|0)==J[d+20>>2]){break l}r=J[k>>2];J[d+28>>2]=p;m=b-m|0;J[d+32>>2]=m;b=J[k+4>>2]>>>32-m|r<>>32-b}i=j>>>1|0;if(i>>>0>>0){break e}break k}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(f<<2)>>2]=a;b=J[d+12>>2];f=f+1|0;if(b>>>0>f>>>0){continue}break}break j}i=j>>>1|0;b=0}o:{p:{b=i-b|0;c=j-b|0;q:{if((c|0)==(b|0)){c=b;break q}i=J[d+88>>2];if((i|0)==J[d+80>>2]){break p}j=J[i>>2];k=J[d+92>>2];m=k+1|0;J[d+92>>2]=m;j=j&-2147483648>>>k;r:{if((m|0)==32){J[d+92>>2]=0;J[d+88>>2]=i+4;if(j){break r}break p}if(!j){break p}}}i=c;c=b;break o}i=b}b=J[d+132>>2];j=b+f|0;f=J[j>>2];k=f+l|0;J[k>>2]=J[k>>2]+1;Nb(b+o|0,f,J[j+4>>2]);if(c){b=J[e+28>>2]+J[e+24>>2]|0;j=J[e+16>>2];f=J[e+12>>2];if((b|0)==(((f|0)!=(j|0)?P(j-f>>2,341)-1|0:0)|0)){Mb(e+8|0);f=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}j=(b>>>0)/341|0;b=J[(j<<2)+f>>2]+P(b-P(j,341)|0,12)|0;J[b+8>>2]=g;J[b+4>>2]=a;J[b>>2]=c;J[e+28>>2]=J[e+28>>2]+1}if(!i){break g}b=J[e+28>>2]+J[e+24>>2]|0;c=J[e+16>>2];f=J[e+12>>2];if((b|0)==(((c|0)!=(f|0)?P(c-f>>2,341)-1|0:0)|0)){Mb(e+8|0);f=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+f>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=n;J[b+4>>2]=a;J[b>>2]=i;a=J[e+28>>2]+1|0;J[e+28>>2]=a;break f}m=0;if(!j){break g}while(1){if(J[d+12>>2]){i=J[d+40>>2];p=J[o>>2];c=J[d+96>>2];r=J[d+108>>2];a=0;while(1){g=r+(a<<2)|0;J[c+(J[g>>2]<<2)>>2]=0;b=J[d>>2];f=J[g>>2]<<2;l=J[f+p>>2];s:{if((b|0)==(l|0)){break s}f=c+f|0;b=b-l|0;l=J[d+52>>2];q=32-l|0;if((b|0)<=(q|0)){n=J[d+48>>2];if((n|0)==(i|0)){c=0;break e}J[f>>2]=J[n>>2]<>>32-b;b=b+J[d+52>>2]|0;J[d+52>>2]=b;if((b|0)!=32){break s}J[d+52>>2]=0;J[d+48>>2]=n+4;break s}n=J[d+48>>2];t=n+4|0;if((i|0)==(t|0)){c=0;break e}u=J[n>>2];J[d+48>>2]=t;q=b-q|0;J[d+52>>2]=q;J[f>>2]=J[n+4>>2]>>>32-q|u<>>32-b}b=J[g>>2]<<2;g=b+c|0;J[g>>2]=J[g>>2]|J[b+J[k>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}i=0;a=J[h+16>>2];t:{if((a|0)==J[h+20>>2]){break t}while(1){f=J[h+28>>2];c=P(i,20)+a|0;l=J[c>>2];if(!K[l+84|0]){f=J[J[l+68>>2]+(f<<2)>>2]}if(M[l+80>>2]<=f>>>0){break t}n=J[d+96>>2]+(J[c+4>>2]<<2)|0;g=J[c+12>>2];b=n;u:{if(g>>>0>3){break u}a=0;b=J[h+12>>2];if(!J[c+16>>2]){break u}while(1){b=Vi(b,n+(a<<2)|0,g);g=J[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[h+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,f)|0,b,a);i=i+1|0;a=J[h+16>>2];if(i>>>0<(J[h+20>>2]-a|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[d+8>>2]=J[d+8>>2]+1;m=m+1|0;if((j|0)!=(m|0)){continue}break}}a=J[e+28>>2]}if(a){continue}break}c=1}J[e+28>>2]=0;f=J[e+16>>2];a=J[e+12>>2];b=f-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;f=J[e+16>>2];b=f-a|0;if(b>>>0>8){continue}break}}g=170;v:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:J[e+24>>2]=g;break;default:break v}}w:{if((a|0)==(f|0)){break w}while(1){xj(J[a>>2]);a=a+4|0;if((f|0)!=(a|0)){continue}break}a=J[e+16>>2];b=J[e+12>>2];if((a|0)==(b|0)){break w}J[e+16>>2]=a+((b-a|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;break b}Ia();C()}Ia();C()}i=c}return i}function ub(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=J[b+8>>2];l=J[b+12>>2];k=J[b+20>>2];i=J[b+16>>2];f=i+4|0;k=f>>>0<4?k+1|0:k;a:{if(f>>>0>j>>>0&(k|0)>=(l|0)|(k|0)>(l|0)){break a}i=i+J[b>>2]|0;J[a>>2]=K[i|0]|K[i+1|0]<<8|(K[i+2|0]<<16|K[i+3|0]<<24);i=J[b+20>>2];j=i;f=J[b+16>>2];i=f+4|0;l=i>>>0<4?j+1|0:j;J[b+16>>2]=i;J[b+20>>2]=l;if(M[a>>2]>32){break a}l=J[b+8>>2];k=J[b+12>>2];f=f+8|0;j=f>>>0<8?j+1|0:j;if((k|0)<=(j|0)&f>>>0>l>>>0|(k|0)<(j|0)){break a}i=J[b>>2]+i|0;f=K[i|0]|K[i+1|0]<<8|(K[i+2|0]<<16|K[i+3|0]<<24);J[a+4>>2]=f;j=J[b+20>>2];i=J[b+16>>2]+4|0;j=i>>>0<4?j+1|0:j;J[b+16>>2]=i;J[b+20>>2]=j;if(!f){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!ge(a+16|0,b)){break a}if(!ge(a+36|0,b)){break a}if(!ge(a+56|0,b)){break a}if(!ge(a+76|0,b)){break a}t=J[a+4>>2];i=c;b=0;c=0;e=fa-32|0;fa=e;f=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=Cj(d);J[e+8>>2]=b;c=b+d|0;J[e+16>>2]=c;Xi(b,0,d);J[e+12>>2]=c}g=J[f+120>>2];d=J[g>>2];if(d){J[g+4>>2]=d;xj(d);c=J[e+12>>2];b=J[e+8>>2];a=J[f+12>>2]}J[g+4>>2]=c;J[g>>2]=b;J[g+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;h=Cj(a);J[e+8>>2]=h;b=a+h|0;J[e+16>>2]=b;Xi(h,0,a);J[e+12>>2]=b}c=J[f+132>>2];a=J[c>>2];if(a){J[c+4>>2]=a;xj(a);h=J[e+8>>2];b=J[e+12>>2]}J[c+4>>2]=b;J[c>>2]=h;J[c+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);b=J[e+24>>2]+J[e+28>>2]|0;a=(b>>>0)/341|0;a=J[J[e+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=t;d=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}while(1){j=J[e+12>>2];g=J[e+24>>2];d=a-1|0;c=g+d|0;b=(c>>>0)/341|0;b=J[j+(b<<2)>>2]+P(c-P(b,341)|0,12)|0;n=J[b+8>>2];c=J[b+4>>2];m=J[b>>2];J[e+28>>2]=d;b=J[e+16>>2];if((((b|0)!=(j|0)?P(b-j>>2,341)-1|0:0)-(a+g|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[e+16>>2]=J[e+16>>2]-4}if(m>>>0>t>>>0){d=0;break e}d=0;b=J[f+12>>2];a=(c|0)!=(b-1|0)?c+1|0:0;if(a>>>0>=b>>>0){break e}b=J[f+120>>2];o=P(n,12);q=b+o|0;g=J[f>>2];h=a<<2;l=o+J[f+132>>2]|0;c=J[h+J[l>>2]>>2];f:{g:{if((g|0)==(c|0)){if(!m){break g}h=0;b=J[i+20>>2];c=J[i+16>>2];if((b|0)==(c|0)){a=J[f+8>>2];J[i+28>>2]=m+J[i+28>>2];J[f+8>>2]=a+m;break g}while(1){d=(b|0)==(c|0);a=b;g=0;b=c;h:{if(d){break h}while(1){d=J[i+28>>2];b=a;k=P(g,20)+c|0;l=J[k>>2];if(!K[l+84|0]){d=J[J[l+68>>2]+(d<<2)>>2]}if(M[l+80>>2]<=d>>>0){break h}j=J[q>>2]+(J[k+4>>2]<<2)|0;c=J[k+12>>2];b=j;i:{if(c>>>0>3){break i}a=0;b=J[i+12>>2];if(!J[k+16>>2]){break i}while(1){b=Vi(b,j+(a<<2)|0,c);c=J[k+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[i+12>>2]}a=J[l+40>>2];Vi(J[J[l>>2]>>2]+P(a,d)|0,b,a);g=g+1|0;a=J[i+20>>2];b=a;c=J[i+16>>2];if(g>>>0<(b-c|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;h=h+1|0;if((m|0)!=(h|0)){continue}break}break g}j:{k:{l:{m:{if(m>>>0<=2){c=J[f+108>>2];J[c>>2]=a;h=1;b=J[f+12>>2];if(b>>>0>1){break m}break j}if(M[f+8>>2]>M[f+4>>2]){break e}j=b;b=o+12|0;Nb(j+b|0,J[q>>2],J[q+4>>2]);b=h+J[b+J[f+120>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<>2];g=32-l|0;n:{if((k|0)<=(g|0)){g=J[f+28>>2];if((g|0)==J[f+20>>2]){break l}c=J[g>>2];b=k+l|0;J[f+32>>2]=b;c=c<>>32-k|0;if((b|0)!=32){break n}J[f+32>>2]=0;J[f+28>>2]=g+4;break n}j=J[f+28>>2];b=j+4|0;if((b|0)==J[f+20>>2]){break l}c=J[j>>2];J[f+28>>2]=b;b=k-g|0;J[f+32>>2]=b;c=J[j+4>>2]>>>32-b|c<>>32-k}g=m>>>1|0;if(g>>>0>>0){break e}break k}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(h<<2)>>2]=a;b=J[f+12>>2];h=h+1|0;if(b>>>0>h>>>0){continue}break}break j}g=m>>>1|0;c=0}k=n+1|0;o:{p:{b=g-c|0;c=m-b|0;q:{if((c|0)==(b|0)){c=b;break q}l=J[f+88>>2];if((l|0)==J[f+80>>2]){break p}j=J[l>>2];g=J[f+92>>2];d=g+1|0;J[f+92>>2]=d;g=j&-2147483648>>>g;r:{if((d|0)==32){J[f+92>>2]=0;J[f+88>>2]=l+4;if(g){break r}break p}if(!g){break p}}}g=c;c=b;break o}g=b}l=J[f+132>>2];j=l+o|0;d=J[j>>2];b=d+h|0;J[b>>2]=J[b>>2]+1;Nb(l+P(k,12)|0,d,J[j+4>>2]);if(c){b=J[e+28>>2]+J[e+24>>2]|0;d=J[e+16>>2];h=J[e+12>>2];if((b|0)==(((d|0)!=(h|0)?P(d-h>>2,341)-1|0:0)|0)){Mb(e+8|0);h=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}d=(b>>>0)/341|0;b=J[(d<<2)+h>>2]+P(b-P(d,341)|0,12)|0;J[b+8>>2]=n;J[b+4>>2]=a;J[b>>2]=c;J[e+28>>2]=J[e+28>>2]+1}if(!g){break g}b=J[e+28>>2]+J[e+24>>2]|0;c=J[e+16>>2];h=J[e+12>>2];if((b|0)==(((c|0)!=(h|0)?P(c-h>>2,341)-1|0:0)|0)){Mb(e+8|0);h=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+h>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=k;J[b+4>>2]=a;J[b>>2]=g;a=J[e+28>>2]+1|0;J[e+28>>2]=a;break f}r=0;if(!m){break g}while(1){if(J[f+12>>2]){u=J[f+40>>2];j=J[l>>2];s=J[f+96>>2];g=J[f+108>>2];a=0;while(1){n=(a<<2)+g|0;J[s+(J[n>>2]<<2)>>2]=0;d=J[f>>2];c=J[n>>2]<<2;b=J[c+j>>2];s:{if((d|0)==(b|0)){break s}o=c+s|0;p=d-b|0;h=J[f+52>>2];d=32-h|0;if((p|0)<=(d|0)){c=J[f+48>>2];if((c|0)==(u|0)){d=0;break e}J[o>>2]=J[c>>2]<>>32-p;b=p+J[f+52>>2]|0;J[f+52>>2]=b;if((b|0)!=32){break s}J[f+52>>2]=0;J[f+48>>2]=c+4;break s}k=J[f+48>>2];b=k+4|0;if((u|0)==(b|0)){d=0;break e}c=J[k>>2];J[f+48>>2]=b;b=p-d|0;J[f+52>>2]=b;J[o>>2]=J[k+4>>2]>>>32-b|c<>>32-p}c=J[n>>2]<<2;b=c+s|0;J[b>>2]=J[b>>2]|J[c+J[q>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}g=0;a=J[i+16>>2];t:{if((a|0)==J[i+20>>2]){break t}while(1){d=J[i+28>>2];h=P(g,20)+a|0;k=J[h>>2];if(!K[k+84|0]){d=J[J[k+68>>2]+(d<<2)>>2]}if(M[k+80>>2]<=d>>>0){break t}j=J[f+96>>2]+(J[h+4>>2]<<2)|0;c=J[h+12>>2];b=j;u:{if(c>>>0>3){break u}a=0;b=J[i+12>>2];if(!J[h+16>>2]){break u}while(1){b=Vi(b,j+(a<<2)|0,c);c=J[h+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[i+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,d)|0,b,a);g=g+1|0;a=J[i+16>>2];if(g>>>0<(J[i+20>>2]-a|0)/20>>>0){continue}break}}J[i+28>>2]=J[i+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;r=r+1|0;if((m|0)!=(r|0)){continue}break}}a=J[e+28>>2]}if(a){continue}break}d=1}J[e+28>>2]=0;h=J[e+16>>2];a=J[e+12>>2];b=h-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;h=J[e+16>>2];b=h-a|0;if(b>>>0>8){continue}break}}c=170;v:{switch((b>>>2|0)-1|0){case 1:c=341;case 0:J[e+24>>2]=c;break;default:break v}}w:{if((a|0)==(h|0)){break w}while(1){xj(J[a>>2]);a=a+4|0;if((h|0)!=(a|0)){continue}break}b=J[e+16>>2];a=J[e+12>>2];if((b|0)==(a|0)){break w}J[e+16>>2]=b+((a-b|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;g=d;break b}Ia();C()}Ia();C()}}return g}function zb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=J[b+8>>2];j=J[b+12>>2];n=J[b+20>>2];e=J[b+16>>2];h=e+4|0;n=h>>>0<4?n+1|0:n;a:{if(i>>>0>>0&(j|0)<=(n|0)|(j|0)<(n|0)){break a}e=e+J[b>>2]|0;J[a>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];i=e;h=J[b+16>>2];e=h+4|0;j=e>>>0<4?i+1|0:i;J[b+16>>2]=e;J[b+20>>2]=j;if(M[a>>2]>32){break a}j=J[b+8>>2];n=J[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>j>>>0&(i|0)>=(n|0)|(i|0)>(n|0)){break a}e=J[b>>2]+e|0;h=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[a+4>>2]=h;i=J[b+20>>2];e=J[b+16>>2]+4|0;i=e>>>0<4?i+1|0:i;J[b+16>>2]=e;J[b+20>>2]=i;if(!h){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!Pb(a+16|0,b)){break a}if(!ge(a+544|0,b)){break a}if(!ge(a+564|0,b)){break a}if(!ge(a+584|0,b)){break a}u=J[a+4>>2];d=c;b=0;c=0;f=fa-32|0;fa=f;g=a;a=J[a+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}e=a<<2;b=Cj(e);J[f+8>>2]=b;c=b+e|0;J[f+16>>2]=c;Xi(b,0,e);J[f+12>>2]=c}h=J[g+628>>2];e=J[h>>2];if(e){J[h+4>>2]=e;xj(e);c=J[f+12>>2];b=J[f+8>>2];a=J[g+12>>2]}J[h+4>>2]=c;J[h>>2]=b;J[h+8>>2]=J[f+16>>2];b=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;k=Cj(a);J[f+8>>2]=k;b=a+k|0;J[f+16>>2]=b;Xi(k,0,a);J[f+12>>2]=b}c=J[g+640>>2];a=J[c>>2];if(a){J[c+4>>2]=a;xj(a);k=J[f+8>>2];b=J[f+12>>2]}J[c+4>>2]=b;J[c>>2]=k;J[c+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);b=J[f+24>>2]+J[f+28>>2]|0;a=(b>>>0)/341|0;a=J[J[f+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=u;c=1;a=J[f+28>>2]+1|0;J[f+28>>2]=a;e:{if(!a){break e}n=g+16|0;while(1){j=J[f+12>>2];h=J[f+24>>2];e=a-1|0;c=h+e|0;b=(c>>>0)/341|0;b=J[j+(b<<2)>>2]+P(c-P(b,341)|0,12)|0;q=J[b+8>>2];i=J[b+4>>2];o=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(j|0)?P(b-j>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}c=0;if(o>>>0>u>>>0){break e}a=J[g+12>>2];k=(i|0)!=(a-1|0)?i+1|0:0;if(k>>>0>=a>>>0){break e}p=P(q,12);v=p+J[g+640>>2]|0;r=p+J[g+628>>2]|0;h=J[g>>2];l=k<<2;e=J[l+J[v>>2]>>2];f:{g:{if((h|0)==(e|0)){if(!o){break g}c=J[d+16>>2];b=J[d+20>>2];m=0;while(1){e=(b|0)==(c|0);a=b;j=0;b=c;h:{if(e){break h}while(1){l=J[d+28>>2];b=a;i=P(j,20)+c|0;h=J[i>>2];if(!K[h+84|0]){l=J[J[h+68>>2]+(l<<2)>>2]}if(M[h+80>>2]<=l>>>0){break h}e=J[r>>2]+(J[i+4>>2]<<2)|0;c=J[i+12>>2];b=e;i:{if(c>>>0>3){break i}a=0;b=J[d+12>>2];if(!J[i+16>>2]){break i}while(1){b=Vi(b,e+(a<<2)|0,c);c=J[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[d+12>>2]}a=J[h+40>>2];Vi(J[J[h>>2]>>2]+P(a,l)|0,b,a);a=J[d+20>>2];b=a;j=j+1|0;c=J[d+16>>2];if(j>>>0<(a-c|0)/20>>>0){continue}break}}J[d+28>>2]=J[d+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;m=m+1|0;if((o|0)!=(m|0)){continue}break}break g}j:{k:{l:{if(o>>>0<=2){c=J[g+616>>2];J[c>>2]=k;a=1;b=J[g+12>>2];if(b>>>0>1){break l}break j}if(M[g+8>>2]>M[g+4>>2]){break e}a=J[g+628>>2];j=q+1|0;m=P(j,12);b=a+m|0;if((b|0)!=(r|0)){Nb(b,J[r>>2],J[r+4>>2]);a=J[g+628>>2]}a=l+J[a+m>>2]|0;J[a>>2]=J[a>>2]+(1<>>1|0;break k}while(1){b=je((a<<4)+n|0)|b<<1;a=a+1|0;if((c|0)!=(a|0)){continue}break}a=o>>>1|0;if(b>>>0<=a>>>0){break k}c=0;break e}while(1){k=(b-1|0)!=(k|0)?k+1|0:0;J[c+(a<<2)>>2]=k;a=a+1|0;b=J[g+12>>2];if(a>>>0>>0){continue}break}break j}m:{n:{b=a-b|0;a=o-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=J[g+596>>2];if((i|0)==J[g+588>>2]){break n}h=J[i>>2];e=J[g+600>>2];c=e+1|0;J[g+600>>2]=c;e=h&-2147483648>>>e;p:{if((c|0)==32){J[g+600>>2]=0;J[g+596>>2]=i+4;if(e){break p}break n}if(!e){break n}}}c=a;a=b;break m}c=b}i=J[g+640>>2];h=i+p|0;e=J[h>>2];b=e+l|0;J[b>>2]=J[b>>2]+1;Nb(i+m|0,e,J[h+4>>2]);if(a){m=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];b=J[f+12>>2];if((m|0)==(((b|0)!=(e|0)?P(e-b>>2,341)-1|0:0)|0)){Mb(f+8|0);m=J[f+24>>2]+J[f+28>>2]|0;e=J[f+12>>2]}else{e=b}b=(m>>>0)/341|0;b=J[e+(b<<2)>>2]+P(m-P(b,341)|0,12)|0;J[b+8>>2]=q;J[b+4>>2]=k;J[b>>2]=a;J[f+28>>2]=J[f+28>>2]+1}if(!c){break g}b=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];a=J[f+12>>2];if((b|0)==(((a|0)!=(e|0)?P(e-a>>2,341)-1|0:0)|0)){Mb(f+8|0);b=J[f+24>>2]+J[f+28>>2]|0;e=J[f+12>>2]}else{e=a}a=(b>>>0)/341|0;a=J[e+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+8>>2]=j;J[a+4>>2]=k;J[a>>2]=c;a=J[f+28>>2]+1|0;J[f+28>>2]=a;break f}k=0;if(!o){break g}while(1){if(J[g+12>>2]){q=J[g+548>>2];i=J[v>>2];t=J[g+604>>2];h=J[g+616>>2];a=0;while(1){p=(a<<2)+h|0;J[t+(J[p>>2]<<2)>>2]=0;e=J[g>>2];c=J[p>>2]<<2;b=J[c+i>>2];q:{if((e|0)==(b|0)){break q}l=c+t|0;s=e-b|0;m=J[g+560>>2];e=32-m|0;if((s|0)<=(e|0)){c=J[g+556>>2];if((c|0)==(q|0)){c=0;break e}J[l>>2]=J[c>>2]<>>32-s;b=s+J[g+560>>2]|0;J[g+560>>2]=b;if((b|0)!=32){break q}J[g+560>>2]=0;J[g+556>>2]=c+4;break q}j=J[g+556>>2];b=j+4|0;if((q|0)==(b|0)){c=0;break e}c=J[j>>2];J[g+556>>2]=b;b=s-e|0;J[g+560>>2]=b;J[l>>2]=J[j+4>>2]>>>32-b|c<>>32-s}c=J[p>>2]<<2;b=c+t|0;J[b>>2]=J[b>>2]|J[c+J[r>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}j=0;a=J[d+16>>2];r:{if((a|0)==J[d+20>>2]){break r}while(1){l=J[d+28>>2];i=P(j,20)+a|0;h=J[i>>2];if(!K[h+84|0]){l=J[J[h+68>>2]+(l<<2)>>2]}if(M[h+80>>2]<=l>>>0){break r}e=J[g+604>>2]+(J[i+4>>2]<<2)|0;c=J[i+12>>2];b=e;s:{if(c>>>0>3){break s}a=0;b=J[d+12>>2];if(!J[i+16>>2]){break s}while(1){b=Vi(b,e+(a<<2)|0,c);c=J[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[d+12>>2]}a=J[h+40>>2];Vi(J[J[h>>2]>>2]+P(a,l)|0,b,a);j=j+1|0;a=J[d+16>>2];if(j>>>0<(J[d+20>>2]-a|0)/20>>>0){continue}break}}J[d+28>>2]=J[d+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;k=k+1|0;if((o|0)!=(k|0)){continue}break}}a=J[f+28>>2]}if(a){continue}break}c=1}J[f+28>>2]=0;k=J[f+16>>2];a=J[f+12>>2];b=k-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[f+12>>2]+4|0;J[f+12>>2]=a;k=J[f+16>>2];b=k-a|0;if(b>>>0>8){continue}break}}d=170;t:{switch((b>>>2|0)-1|0){case 1:d=341;case 0:J[f+24>>2]=d;break;default:break t}}u:{if((a|0)==(k|0)){break u}while(1){xj(J[a>>2]);a=a+4|0;if((k|0)!=(a|0)){continue}break}b=J[f+16>>2];a=J[f+12>>2];if((b|0)==(a|0)){break u}J[f+16>>2]=b+((a-b|0)+3&-4)}a=J[f+8>>2];if(a){xj(a)}fa=f+32|0;break b}Ia();C()}Ia();C()}g=c}return g}function Db(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=J[b+8>>2];k=J[b+12>>2];o=J[b+20>>2];e=J[b+16>>2];h=e+4|0;o=h>>>0<4?o+1|0:o;a:{if(i>>>0>>0&(k|0)<=(o|0)|(k|0)<(o|0)){break a}e=e+J[b>>2]|0;J[a>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);e=J[b+20>>2];i=e;h=J[b+16>>2];e=h+4|0;k=e>>>0<4?i+1|0:i;J[b+16>>2]=e;J[b+20>>2]=k;if(M[a>>2]>32){break a}k=J[b+8>>2];o=J[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>k>>>0&(i|0)>=(o|0)|(i|0)>(o|0)){break a}e=J[b>>2]+e|0;h=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[a+4>>2]=h;i=J[b+20>>2];e=J[b+16>>2]+4|0;i=e>>>0<4?i+1|0:i;J[b+16>>2]=e;J[b+20>>2]=i;if(!h){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!Pb(a+16|0,b)){break a}if(!ge(a+544|0,b)){break a}if(!ge(a+564|0,b)){break a}if(!ge(a+584|0,b)){break a}v=J[a+4>>2];d=c;b=0;c=0;f=fa-32|0;fa=f;g=a;a=J[a+12>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}e=a<<2;b=Cj(e);J[f+8>>2]=b;c=b+e|0;J[f+16>>2]=c;Xi(b,0,e);J[f+12>>2]=c}h=J[g+628>>2];e=J[h>>2];if(e){J[h+4>>2]=e;xj(e);c=J[f+12>>2];b=J[f+8>>2];a=J[g+12>>2]}J[h+4>>2]=c;J[h>>2]=b;J[h+8>>2]=J[f+16>>2];b=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;j=Cj(a);J[f+8>>2]=j;b=a+j|0;J[f+16>>2]=b;Xi(j,0,a);J[f+12>>2]=b}c=J[g+640>>2];a=J[c>>2];if(a){J[c+4>>2]=a;xj(a);j=J[f+8>>2];b=J[f+12>>2]}J[c+4>>2]=b;J[c>>2]=j;J[c+8>>2]=J[f+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Mb(f+8|0);b=J[f+24>>2]+J[f+28>>2]|0;a=(b>>>0)/341|0;a=J[J[f+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=v;c=1;a=J[f+28>>2]+1|0;J[f+28>>2]=a;e:{if(!a){break e}o=g+16|0;while(1){i=J[f+12>>2];h=J[f+24>>2];e=a-1|0;c=h+e|0;b=(c>>>0)/341|0;b=J[i+(b<<2)>>2]+P(c-P(b,341)|0,12)|0;q=J[b+8>>2];n=J[b>>2];J[f+28>>2]=e;b=J[f+16>>2];if((((b|0)!=(i|0)?P(b-i>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[f+16>>2]=J[f+16>>2]-4}c=0;if(n>>>0>v>>>0){break e}a=J[g+628>>2];p=P(q,12);t=p+J[g+640>>2]|0;j=Si(g,n,t);if(j>>>0>=M[g+12>>2]){break e}r=a+p|0;h=J[g>>2];l=j<<2;e=J[l+J[t>>2]>>2];f:{g:{if((h|0)==(e|0)){if(!n){break g}c=J[d+16>>2];b=J[d+20>>2];m=0;while(1){e=(b|0)==(c|0);a=b;k=0;b=c;h:{if(e){break h}while(1){l=J[d+28>>2];b=a;i=P(k,20)+c|0;h=J[i>>2];if(!K[h+84|0]){l=J[J[h+68>>2]+(l<<2)>>2]}if(M[h+80>>2]<=l>>>0){break h}e=J[r>>2]+(J[i+4>>2]<<2)|0;c=J[i+12>>2];b=e;i:{if(c>>>0>3){break i}a=0;b=J[d+12>>2];if(!J[i+16>>2]){break i}while(1){b=Vi(b,e+(a<<2)|0,c);c=J[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[d+12>>2]}a=J[h+40>>2];Vi(J[J[h>>2]>>2]+P(a,l)|0,b,a);a=J[d+20>>2];b=a;k=k+1|0;c=J[d+16>>2];if(k>>>0<(a-c|0)/20>>>0){continue}break}}J[d+28>>2]=J[d+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;m=m+1|0;if((n|0)!=(m|0)){continue}break}break g}j:{k:{l:{if(n>>>0<=2){c=J[g+616>>2];J[c>>2]=j;a=1;b=J[g+12>>2];if(b>>>0>1){break l}break j}if(M[g+8>>2]>M[g+4>>2]){break e}a=J[g+628>>2];k=q+1|0;m=P(k,12);b=a+m|0;if((b|0)!=(r|0)){Nb(b,J[r>>2],J[r+4>>2]);a=J[g+628>>2]}a=l+J[a+m>>2]|0;J[a>>2]=J[a>>2]+(1<>>1|0;break k}while(1){b=je((a<<4)+o|0)|b<<1;a=a+1|0;if((c|0)!=(a|0)){continue}break}a=n>>>1|0;if(b>>>0<=a>>>0){break k}c=0;break e}while(1){j=(b-1|0)!=(j|0)?j+1|0:0;J[c+(a<<2)>>2]=j;a=a+1|0;b=J[g+12>>2];if(a>>>0>>0){continue}break}break j}m:{n:{b=a-b|0;a=n-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=J[g+596>>2];if((i|0)==J[g+588>>2]){break n}h=J[i>>2];e=J[g+600>>2];c=e+1|0;J[g+600>>2]=c;e=h&-2147483648>>>e;p:{if((c|0)==32){J[g+600>>2]=0;J[g+596>>2]=i+4;if(e){break p}break n}if(!e){break n}}}c=a;a=b;break m}c=b}i=J[g+640>>2];h=i+p|0;e=J[h>>2];b=e+l|0;J[b>>2]=J[b>>2]+1;Nb(i+m|0,e,J[h+4>>2]);if(a){m=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];b=J[f+12>>2];if((m|0)==(((b|0)!=(e|0)?P(e-b>>2,341)-1|0:0)|0)){Mb(f+8|0);m=J[f+24>>2]+J[f+28>>2]|0;e=J[f+12>>2]}else{e=b}b=(m>>>0)/341|0;b=J[e+(b<<2)>>2]+P(m-P(b,341)|0,12)|0;J[b+8>>2]=q;J[b+4>>2]=j;J[b>>2]=a;J[f+28>>2]=J[f+28>>2]+1}if(!c){break g}b=J[f+28>>2]+J[f+24>>2]|0;e=J[f+16>>2];a=J[f+12>>2];if((b|0)==(((a|0)!=(e|0)?P(e-a>>2,341)-1|0:0)|0)){Mb(f+8|0);b=J[f+24>>2]+J[f+28>>2]|0;e=J[f+12>>2]}else{e=a}a=(b>>>0)/341|0;a=J[e+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+8>>2]=k;J[a+4>>2]=j;J[a>>2]=c;a=J[f+28>>2]+1|0;J[f+28>>2]=a;break f}j=0;if(!n){break g}while(1){if(J[g+12>>2]){q=J[g+548>>2];i=J[t>>2];u=J[g+604>>2];h=J[g+616>>2];a=0;while(1){p=(a<<2)+h|0;J[u+(J[p>>2]<<2)>>2]=0;e=J[g>>2];c=J[p>>2]<<2;b=J[c+i>>2];q:{if((e|0)==(b|0)){break q}l=c+u|0;s=e-b|0;m=J[g+560>>2];e=32-m|0;if((s|0)<=(e|0)){c=J[g+556>>2];if((c|0)==(q|0)){c=0;break e}J[l>>2]=J[c>>2]<>>32-s;b=s+J[g+560>>2]|0;J[g+560>>2]=b;if((b|0)!=32){break q}J[g+560>>2]=0;J[g+556>>2]=c+4;break q}k=J[g+556>>2];b=k+4|0;if((q|0)==(b|0)){c=0;break e}c=J[k>>2];J[g+556>>2]=b;b=s-e|0;J[g+560>>2]=b;J[l>>2]=J[k+4>>2]>>>32-b|c<>>32-s}c=J[p>>2]<<2;b=c+u|0;J[b>>2]=J[b>>2]|J[c+J[r>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}k=0;a=J[d+16>>2];r:{if((a|0)==J[d+20>>2]){break r}while(1){l=J[d+28>>2];i=P(k,20)+a|0;h=J[i>>2];if(!K[h+84|0]){l=J[J[h+68>>2]+(l<<2)>>2]}if(M[h+80>>2]<=l>>>0){break r}e=J[g+604>>2]+(J[i+4>>2]<<2)|0;c=J[i+12>>2];b=e;s:{if(c>>>0>3){break s}a=0;b=J[d+12>>2];if(!J[i+16>>2]){break s}while(1){b=Vi(b,e+(a<<2)|0,c);c=J[i+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[d+12>>2]}a=J[h+40>>2];Vi(J[J[h>>2]>>2]+P(a,l)|0,b,a);k=k+1|0;a=J[d+16>>2];if(k>>>0<(J[d+20>>2]-a|0)/20>>>0){continue}break}}J[d+28>>2]=J[d+28>>2]+1;J[g+8>>2]=J[g+8>>2]+1;j=j+1|0;if((n|0)!=(j|0)){continue}break}}a=J[f+28>>2]}if(a){continue}break}c=1}J[f+28>>2]=0;j=J[f+16>>2];a=J[f+12>>2];b=j-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[f+12>>2]+4|0;J[f+12>>2]=a;j=J[f+16>>2];b=j-a|0;if(b>>>0>8){continue}break}}d=170;t:{switch((b>>>2|0)-1|0){case 1:d=341;case 0:J[f+24>>2]=d;break;default:break t}}u:{if((a|0)==(j|0)){break u}while(1){xj(J[a>>2]);a=a+4|0;if((j|0)!=(a|0)){continue}break}b=J[f+16>>2];a=J[f+12>>2];if((b|0)==(a|0)){break u}J[f+16>>2]=b+((a-b|0)+3&-4)}a=J[f+8>>2];if(a){xj(a)}fa=f+32|0;break b}Ia();C()}Ia();C()}g=c}return g}function Cb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=J[b+8>>2];k=J[b+12>>2];m=J[b+20>>2];f=J[b+16>>2];h=f+4|0;m=h>>>0<4?m+1|0:m;a:{if(i>>>0>>0&(k|0)<=(m|0)|(k|0)<(m|0)){break a}f=f+J[b>>2]|0;J[a>>2]=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);f=J[b+20>>2];i=f;h=J[b+16>>2];f=h+4|0;k=f>>>0<4?i+1|0:i;J[b+16>>2]=f;J[b+20>>2]=k;if(M[a>>2]>32){break a}k=J[b+8>>2];m=J[b+12>>2];h=h+8|0;i=h>>>0<8?i+1|0:i;if(h>>>0>k>>>0&(i|0)>=(m|0)|(i|0)>(m|0)){break a}f=f+J[b>>2]|0;h=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[a+4>>2]=h;i=J[b+20>>2];f=J[b+16>>2]+4|0;i=f>>>0<4?i+1|0:i;J[b+16>>2]=f;J[b+20>>2]=i;if(!h){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!Pb(a+16|0,b)){break a}if(!ge(a+544|0,b)){break a}if(!ge(a+564|0,b)){break a}if(!ge(a+584|0,b)){break a}u=J[a+4>>2];b=0;e=fa-32|0;fa=e;f=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=Cj(d);J[e+8>>2]=b;g=b+d|0;J[e+16>>2]=g;Xi(b,0,d);J[e+12>>2]=g}h=J[f+628>>2];d=J[h>>2];if(d){J[h+4>>2]=d;xj(d);g=J[e+12>>2];b=J[e+8>>2];a=J[f+12>>2]}J[h+4>>2]=g;J[h>>2]=b;J[h+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;j=Cj(a);J[e+8>>2]=j;b=a+j|0;J[e+16>>2]=b;Xi(j,0,a);J[e+12>>2]=b}d=J[f+640>>2];a=J[d>>2];if(a){J[d+4>>2]=a;xj(a);j=J[e+8>>2];b=J[e+12>>2]}J[d+4>>2]=b;J[d>>2]=j;J[d+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);b=J[e+24>>2]+J[e+28>>2]|0;a=(b>>>0)/341|0;a=J[J[e+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=u;d=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}m=f+16|0;while(1){k=J[e+12>>2];h=J[e+24>>2];g=a-1|0;d=h+g|0;b=(d>>>0)/341|0;b=J[k+(b<<2)>>2]+P(d-P(b,341)|0,12)|0;q=J[b+8>>2];i=J[b+4>>2];n=J[b>>2];J[e+28>>2]=g;b=J[e+16>>2];if((((b|0)!=(k|0)?P(b-k>>2,341)-1|0:0)-(a+h|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[e+16>>2]=J[e+16>>2]-4}if(n>>>0>u>>>0){d=0;break e}d=0;a=J[f+12>>2];j=(i|0)!=(a-1|0)?i+1|0:0;if(j>>>0>=a>>>0){break e}a=J[f+628>>2];o=P(q,12);s=a+o|0;g=J[f>>2];l=j<<2;k=o+J[f+640>>2]|0;b=J[l+J[k>>2]>>2];f:{g:{if((g|0)==(b|0)){if(!n){break g}g=J[c+16>>2];b=J[c+20>>2];p=0;while(1){d=(b|0)==(g|0);a=b;j=0;b=g;h:{if(d){break h}while(1){d=J[c+28>>2];b=a;k=P(j,20)+g|0;i=J[k>>2];if(!K[i+84|0]){d=J[J[i+68>>2]+(d<<2)>>2]}if(M[i+80>>2]<=d>>>0){break h}h=J[s>>2]+(J[k+4>>2]<<2)|0;g=J[k+12>>2];b=h;i:{if(g>>>0>3){break i}a=0;b=J[c+12>>2];if(!J[k+16>>2]){break i}while(1){b=Vi(b,h+(a<<2)|0,g);g=J[k+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[c+12>>2]}a=J[i+40>>2];Vi(J[J[i>>2]>>2]+P(a,d)|0,b,a);a=J[c+20>>2];b=a;j=j+1|0;g=J[c+16>>2];if(j>>>0<(a-g|0)/20>>>0){continue}break}}J[c+28>>2]=J[c+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;p=p+1|0;if((p|0)!=(n|0)){continue}break}break g}j:{k:{l:{if(n>>>0<=2){d=J[f+616>>2];J[d>>2]=j;a=1;b=J[f+12>>2];if(b>>>0>1){break l}break j}if(M[f+8>>2]>M[f+4>>2]){break e}d=a;a=o+12|0;Nb(d+a|0,J[s>>2],J[s+4>>2]);a=l+J[a+J[f+628>>2]>>2]|0;J[a>>2]=J[a>>2]+(1<>>1|0;break k}while(1){b=je((a<<4)+m|0)|b<<1;a=a+1|0;if((d|0)!=(a|0)){continue}break}a=n>>>1|0;if(b>>>0<=a>>>0){break k}d=0;break e}while(1){j=(b-1|0)!=(j|0)?j+1|0:0;J[d+(a<<2)>>2]=j;a=a+1|0;b=J[f+12>>2];if(a>>>0>>0){continue}break}break j}k=q+1|0;m:{n:{b=a-b|0;a=n-b|0;o:{if((a|0)==(b|0)){a=b;break o}i=J[f+596>>2];if((i|0)==J[f+588>>2]){break n}h=J[i>>2];g=J[f+600>>2];d=g+1|0;J[f+600>>2]=d;g=h&-2147483648>>>g;p:{if((d|0)==32){J[f+600>>2]=0;J[f+596>>2]=i+4;if(g){break p}break n}if(!g){break n}}}d=a;a=b;break m}d=b}i=J[f+640>>2];h=i+o|0;g=J[h>>2];b=g+l|0;J[b>>2]=J[b>>2]+1;Nb(i+P(k,12)|0,g,J[h+4>>2]);if(a){h=J[e+28>>2]+J[e+24>>2]|0;g=J[e+16>>2];b=J[e+12>>2];if((h|0)==(((b|0)!=(g|0)?P(g-b>>2,341)-1|0:0)|0)){Mb(e+8|0);h=J[e+24>>2]+J[e+28>>2]|0;g=J[e+12>>2]}else{g=b}b=(h>>>0)/341|0;b=J[g+(b<<2)>>2]+P(h-P(b,341)|0,12)|0;J[b+8>>2]=q;J[b+4>>2]=j;J[b>>2]=a;J[e+28>>2]=J[e+28>>2]+1}if(!d){break g}b=J[e+28>>2]+J[e+24>>2]|0;g=J[e+16>>2];a=J[e+12>>2];if((b|0)==(((a|0)!=(g|0)?P(g-a>>2,341)-1|0:0)|0)){Mb(e+8|0);b=J[e+24>>2]+J[e+28>>2]|0;g=J[e+12>>2]}else{g=a}a=(b>>>0)/341|0;a=J[g+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+8>>2]=k;J[a+4>>2]=j;J[a>>2]=d;a=J[e+28>>2]+1|0;J[e+28>>2]=a;break f}p=0;if(!n){break g}while(1){if(J[f+12>>2]){v=J[f+548>>2];i=J[k>>2];t=J[f+604>>2];h=J[f+616>>2];a=0;while(1){j=h+(a<<2)|0;J[(J[j>>2]<<2)+t>>2]=0;g=J[f>>2];d=J[j>>2]<<2;b=J[d+i>>2];q:{if((g|0)==(b|0)){break q}q=d+t|0;r=g-b|0;o=J[f+560>>2];g=32-o|0;if((r|0)<=(g|0)){d=J[f+556>>2];if((d|0)==(v|0)){d=0;break e}J[q>>2]=J[d>>2]<>>32-r;b=J[f+560>>2]+r|0;J[f+560>>2]=b;if((b|0)!=32){break q}J[f+560>>2]=0;J[f+556>>2]=d+4;break q}l=J[f+556>>2];b=l+4|0;if((b|0)==(v|0)){d=0;break e}d=J[l>>2];J[f+556>>2]=b;b=r-g|0;J[f+560>>2]=b;J[q>>2]=J[l+4>>2]>>>32-b|d<>>32-r}d=J[j>>2]<<2;b=d+t|0;J[b>>2]=J[b>>2]|J[d+J[s>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}j=0;a=J[c+16>>2];r:{if((a|0)==J[c+20>>2]){break r}while(1){d=J[c+28>>2];l=P(j,20)+a|0;i=J[l>>2];if(!K[i+84|0]){d=J[J[i+68>>2]+(d<<2)>>2]}if(M[i+80>>2]<=d>>>0){break r}h=J[f+604>>2]+(J[l+4>>2]<<2)|0;g=J[l+12>>2];b=h;s:{if(g>>>0>3){break s}a=0;b=J[c+12>>2];if(!J[l+16>>2]){break s}while(1){b=Vi(b,h+(a<<2)|0,g);g=J[l+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[c+12>>2]}a=J[i+40>>2];Vi(J[J[i>>2]>>2]+P(a,d)|0,b,a);j=j+1|0;a=J[c+16>>2];if(j>>>0<(J[c+20>>2]-a|0)/20>>>0){continue}break}}J[c+28>>2]=J[c+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;p=p+1|0;if((p|0)!=(n|0)){continue}break}}a=J[e+28>>2]}if(a){continue}break}d=1}J[e+28>>2]=0;j=J[e+16>>2];a=J[e+12>>2];b=j-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;j=J[e+16>>2];b=j-a|0;if(b>>>0>8){continue}break}}g=170;t:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:J[e+24>>2]=g;break;default:break t}}u:{if((a|0)==(j|0)){break u}while(1){xj(J[a>>2]);a=a+4|0;if((j|0)!=(a|0)){continue}break}b=J[e+16>>2];a=J[e+12>>2];if((b|0)==(a|0)){break u}J[e+16>>2]=b+((a-b|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;break b}Ia();C()}Ia();C()}g=d}return g}function vb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=J[b+8>>2];e=J[b+12>>2];g=J[b+20>>2];h=J[b+16>>2];l=h+4|0;g=l>>>0<4?g+1|0:g;a:{if(j>>>0>>0&(e|0)<=(g|0)|(e|0)<(g|0)){break a}h=h+J[b>>2]|0;J[a>>2]=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);h=J[b+20>>2];e=h;j=J[b+16>>2];g=j+4|0;h=g>>>0<4?e+1|0:e;J[b+16>>2]=g;J[b+20>>2]=h;if(M[a>>2]>32){break a}k=J[b+8>>2];l=J[b+12>>2];h=e;e=j+8|0;h=e>>>0<8?h+1|0:h;if(e>>>0>k>>>0&(h|0)>=(l|0)|(h|0)>(l|0)){break a}h=J[b>>2]+g|0;g=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[a+4>>2]=g;h=J[b+20>>2];e=J[b+16>>2]+4|0;h=e>>>0<4?h+1|0:h;J[b+16>>2]=e;J[b+20>>2]=h;if(!g){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!he(a+16|0,b)){break a}if(!ge(a+32|0,b)){break a}if(!ge(a+52|0,b)){break a}if(!ge(a+72|0,b)){break a}r=J[a+4>>2];h=c;b=0;g=0;e=fa-32|0;fa=e;d=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}c=a<<2;b=Cj(c);J[e+8>>2]=b;g=b+c|0;J[e+16>>2]=g;Xi(b,0,c);J[e+12>>2]=g}c=J[d+116>>2];i=J[c>>2];if(i){J[c+4>>2]=i;xj(i);g=J[e+12>>2];b=J[e+8>>2];a=J[d+12>>2]}J[c+4>>2]=g;J[c>>2]=b;J[c+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;f=Cj(a);J[e+8>>2]=f;b=a+f|0;J[e+16>>2]=b;Xi(f,0,a);J[e+12>>2]=b}a=J[d+128>>2];c=J[a>>2];if(c){J[a+4>>2]=c;xj(c);f=J[e+8>>2];b=J[e+12>>2]}J[a+4>>2]=b;J[a>>2]=f;J[a+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);a=J[e+24>>2]+J[e+28>>2]|0;b=(a>>>0)/341|0;a=J[J[e+12>>2]+(b<<2)>>2]+P(a-P(b,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=r;c=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}t=d+16|0;while(1){b=J[e+12>>2];f=J[e+24>>2];l=a-1|0;c=f+l|0;i=(c>>>0)/341|0;c=J[b+(i<<2)>>2]+P(c-P(i,341)|0,12)|0;g=J[c+8>>2];i=J[c+4>>2];j=J[c>>2];J[e+28>>2]=l;c=J[e+16>>2];if((((b|0)!=(c|0)?P(c-b>>2,341)-1|0:0)-(a+f|0)|0)+1>>>0>=682){xj(J[c-4>>2]);J[e+16>>2]=J[e+16>>2]-4}c=0;if(j>>>0>r>>>0){break e}b=J[d+12>>2];a=(b-1|0)!=(i|0)?i+1|0:0;if(a>>>0>=b>>>0){break e}f=P(g,12);o=f+J[d+128>>2]|0;l=f+J[d+116>>2]|0;i=J[d>>2];k=a<<2;n=J[k+J[o>>2]>>2];f:{if((i|0)==(n|0)){if(!j){break f}o=0;b=J[h+20>>2];g=J[h+16>>2];if((b|0)==(g|0)){a=J[d+8>>2];J[h+28>>2]=j+J[h+28>>2];J[d+8>>2]=a+j;break f}while(1){c=(b|0)==(g|0);a=b;i=0;b=g;g:{if(c){break g}while(1){f=J[h+28>>2];b=a;c=P(i,20)+g|0;k=J[c>>2];if(!K[k+84|0]){f=J[J[k+68>>2]+(f<<2)>>2]}if(M[k+80>>2]<=f>>>0){break g}n=J[l>>2]+(J[c+4>>2]<<2)|0;g=J[c+12>>2];b=n;h:{if(g>>>0>3){break h}a=0;b=J[h+12>>2];if(!J[c+16>>2]){break h}while(1){b=Vi(b,n+(a<<2)|0,g);g=J[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[h+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,f)|0,b,a);i=i+1|0;a=J[h+20>>2];b=a;g=J[h+16>>2];if(i>>>0<(b-g|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[d+8>>2]=J[d+8>>2]+1;o=o+1|0;if((j|0)!=(o|0)){continue}break}break f}i:{j:{k:{l:{if(j>>>0<=2){c=J[d+104>>2];J[c>>2]=a;f=1;b=J[d+12>>2];if(b>>>0>1){break l}break i}if(M[d+8>>2]>M[d+4>>2]){break e}b=J[d+116>>2];m=g+1|0;o=P(m,12);q=b+o|0;if((q|0)!=(l|0)){Nb(q,J[l>>2],J[l+4>>2]);b=J[d+116>>2]}b=k+J[b+o>>2]|0;J[b>>2]=J[b>>2]+(1<>2]=0;ke(t,S(j)^31,e+4|0);b=j>>>1|0;i=J[e+4>>2];if(b>>>0>>0){break e}b=b-i|0;c=j-b|0;m:{if((c|0)==(b|0)){c=b;break m}i=J[d+84>>2];if((i|0)==J[d+76>>2]){break k}j=J[i>>2];l=J[d+88>>2];n=l+1|0;J[d+88>>2]=n;j=j&-2147483648>>>l;n:{if((n|0)==32){J[d+88>>2]=0;J[d+84>>2]=i+4;if(j){break n}break k}if(!j){break k}}}i=c;c=b;break j}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(f<<2)>>2]=a;b=J[d+12>>2];f=f+1|0;if(b>>>0>f>>>0){continue}break}break i}i=b}b=J[d+128>>2];j=b+f|0;f=J[j>>2];l=f+k|0;J[l>>2]=J[l>>2]+1;Nb(b+o|0,f,J[j+4>>2]);if(c){b=J[e+28>>2]+J[e+24>>2]|0;j=J[e+16>>2];f=J[e+12>>2];if((b|0)==(((f|0)!=(j|0)?P(j-f>>2,341)-1|0:0)|0)){Mb(e+8|0);f=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}j=(b>>>0)/341|0;b=J[(j<<2)+f>>2]+P(b-P(j,341)|0,12)|0;J[b+8>>2]=g;J[b+4>>2]=a;J[b>>2]=c;J[e+28>>2]=J[e+28>>2]+1}if(!i){break f}b=J[e+28>>2]+J[e+24>>2]|0;c=J[e+16>>2];f=J[e+12>>2];if((b|0)==(((c|0)!=(f|0)?P(c-f>>2,341)-1|0:0)|0)){Mb(e+8|0);f=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+f>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=m;J[b+4>>2]=a;J[b>>2]=i;J[e+28>>2]=J[e+28>>2]+1;break f}n=0;if(!j){break f}while(1){if(J[d+12>>2]){i=J[d+36>>2];q=J[o>>2];c=J[d+92>>2];u=J[d+104>>2];a=0;while(1){g=(a<<2)+u|0;J[c+(J[g>>2]<<2)>>2]=0;b=J[d>>2];f=J[g>>2]<<2;k=J[f+q>>2];o:{if((b|0)==(k|0)){break o}f=c+f|0;b=b-k|0;k=J[d+48>>2];p=32-k|0;if((b|0)<=(p|0)){m=J[d+44>>2];if((m|0)==(i|0)){c=0;break e}J[f>>2]=J[m>>2]<>>32-b;b=b+J[d+48>>2]|0;J[d+48>>2]=b;if((b|0)!=32){break o}J[d+48>>2]=0;J[d+44>>2]=m+4;break o}m=J[d+44>>2];s=m+4|0;if((i|0)==(s|0)){c=0;break e}v=J[m>>2];J[d+44>>2]=s;p=b-p|0;J[d+48>>2]=p;J[f>>2]=J[m+4>>2]>>>32-p|v<>>32-b}b=J[g>>2]<<2;g=b+c|0;J[g>>2]=J[g>>2]|J[b+J[l>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}i=0;a=J[h+16>>2];p:{if((a|0)==J[h+20>>2]){break p}while(1){f=J[h+28>>2];c=P(i,20)+a|0;k=J[c>>2];if(!K[k+84|0]){f=J[J[k+68>>2]+(f<<2)>>2]}if(M[k+80>>2]<=f>>>0){break p}m=J[d+92>>2]+(J[c+4>>2]<<2)|0;g=J[c+12>>2];b=m;q:{if(g>>>0>3){break q}a=0;b=J[h+12>>2];if(!J[c+16>>2]){break q}while(1){b=Vi(b,m+(a<<2)|0,g);g=J[c+12>>2];b=b+g|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[h+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,f)|0,b,a);i=i+1|0;a=J[h+16>>2];if(i>>>0<(J[h+20>>2]-a|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[d+8>>2]=J[d+8>>2]+1;n=n+1|0;if((j|0)!=(n|0)){continue}break}}a=J[e+28>>2];if(a){continue}break}c=1}J[e+28>>2]=0;f=J[e+16>>2];a=J[e+12>>2];b=f-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;f=J[e+16>>2];b=f-a|0;if(b>>>0>8){continue}break}}g=170;r:{switch((b>>>2|0)-1|0){case 1:g=341;case 0:J[e+24>>2]=g;break;default:break r}}s:{if((a|0)==(f|0)){break s}while(1){xj(J[a>>2]);a=a+4|0;if((f|0)!=(a|0)){continue}break}a=J[e+16>>2];b=J[e+12>>2];if((a|0)==(b|0)){break s}J[e+16>>2]=a+((b-a|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;break b}Ia();C()}Ia();C()}i=c}return i}function yb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=J[b+8>>2];k=J[b+12>>2];n=J[b+20>>2];h=J[b+16>>2];f=h+4|0;n=f>>>0<4?n+1|0:n;a:{if((k|0)<=(n|0)&f>>>0>i>>>0|(k|0)<(n|0)){break a}h=h+J[b>>2]|0;J[a>>2]=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);h=J[b+20>>2];i=h;f=J[b+16>>2];h=f+4|0;k=h>>>0<4?i+1|0:i;J[b+16>>2]=h;J[b+20>>2]=k;if(M[a>>2]>32){break a}k=J[b+8>>2];n=J[b+12>>2];f=f+8|0;i=f>>>0<8?i+1|0:i;if(f>>>0>k>>>0&(i|0)>=(n|0)|(i|0)>(n|0)){break a}h=J[b>>2]+h|0;f=K[h|0]|K[h+1|0]<<8|(K[h+2|0]<<16|K[h+3|0]<<24);J[a+4>>2]=f;i=J[b+20>>2];h=J[b+16>>2]+4|0;i=h>>>0<4?i+1|0:i;J[b+16>>2]=h;J[b+20>>2]=i;if(!f){return 1}if(d>>>0>>0){break a}J[a+8>>2]=0;if(!he(a+16|0,b)){break a}if(!ge(a+32|0,b)){break a}if(!ge(a+52|0,b)){break a}if(!ge(a+72|0,b)){break a}u=J[a+4>>2];h=c;b=0;c=0;e=fa-32|0;fa=e;f=a;a=J[a+12>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;b:{c:{if(a){if(a>>>0>=1073741824){break c}d=a<<2;b=Cj(d);J[e+8>>2]=b;c=b+d|0;J[e+16>>2]=c;Xi(b,0,d);J[e+12>>2]=c}j=J[f+116>>2];d=J[j>>2];if(d){J[j+4>>2]=d;xj(d);c=J[e+12>>2];b=J[e+8>>2];a=J[f+12>>2]}J[j+4>>2]=c;J[j>>2]=b;J[j+8>>2]=J[e+16>>2];b=0;J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d:{if(a){if(a>>>0>=1073741824){break d}a=a<<2;g=Cj(a);J[e+8>>2]=g;b=a+g|0;J[e+16>>2]=b;Xi(g,0,a);J[e+12>>2]=b}c=J[f+128>>2];a=J[c>>2];if(a){J[c+4>>2]=a;xj(a);g=J[e+8>>2];b=J[e+12>>2]}J[c+4>>2]=b;J[c>>2]=g;J[c+8>>2]=J[e+16>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Mb(e+8|0);b=J[e+24>>2]+J[e+28>>2]|0;a=(b>>>0)/341|0;a=J[J[e+12>>2]+(a<<2)>>2]+P(b-P(a,341)|0,12)|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=u;d=1;a=J[e+28>>2]+1|0;J[e+28>>2]=a;e:{if(!a){break e}n=f+16|0;while(1){i=J[e+12>>2];j=J[e+24>>2];d=a-1|0;c=j+d|0;b=(c>>>0)/341|0;b=J[i+(b<<2)>>2]+P(c-P(b,341)|0,12)|0;o=J[b+8>>2];c=J[b+4>>2];m=J[b>>2];J[e+28>>2]=d;b=J[e+16>>2];if((((b|0)!=(i|0)?P(b-i>>2,341)-1|0:0)-(a+j|0)|0)+1>>>0>=682){xj(J[b-4>>2]);J[e+16>>2]=J[e+16>>2]-4}if(m>>>0>u>>>0){d=0;break e}d=0;b=J[f+12>>2];a=(c|0)!=(b-1|0)?c+1|0:0;if(a>>>0>=b>>>0){break e}b=J[f+116>>2];p=P(o,12);r=b+p|0;j=J[f>>2];g=a<<2;k=p+J[f+128>>2]|0;c=J[g+J[k>>2]>>2];f:{if((j|0)==(c|0)){if(!m){break f}b=J[h+20>>2];c=J[h+16>>2];if((b|0)==(c|0)){a=J[f+8>>2];J[h+28>>2]=m+J[h+28>>2];J[f+8>>2]=a+m;break f}while(1){i=(b|0)==(c|0);a=b;j=0;b=c;g:{if(i){break g}while(1){g=J[h+28>>2];b=a;l=P(j,20)+c|0;k=J[l>>2];if(!K[k+84|0]){g=J[J[k+68>>2]+(g<<2)>>2]}if(M[k+80>>2]<=g>>>0){break g}i=J[r>>2]+(J[l+4>>2]<<2)|0;c=J[l+12>>2];b=i;h:{if(c>>>0>3){break h}a=0;b=J[h+12>>2];if(!J[l+16>>2]){break h}while(1){b=Vi(b,i+(a<<2)|0,c);c=J[l+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[h+12>>2]}a=J[k+40>>2];Vi(J[J[k>>2]>>2]+P(a,g)|0,b,a);j=j+1|0;a=J[h+20>>2];b=a;c=J[h+16>>2];if(j>>>0<(b-c|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;d=d+1|0;if((m|0)!=(d|0)){continue}break}break f}i:{j:{k:{l:{if(m>>>0<=2){c=J[f+104>>2];J[c>>2]=a;g=1;b=J[f+12>>2];if(b>>>0>1){break l}break i}if(M[f+8>>2]>M[f+4>>2]){break e}i=b;b=p+12|0;Nb(i+b|0,J[r>>2],J[r+4>>2]);b=g+J[b+J[f+116>>2]>>2]|0;J[b>>2]=J[b>>2]+(1<>2]=0;ke(n,S(m)^31,e+4|0);c=m>>>1|0;b=J[e+4>>2];if(c>>>0>>0){break e}l=o+1|0;b=c-b|0;c=m-b|0;m:{if((c|0)==(b|0)){c=b;break m}k=J[f+84>>2];if((k|0)==J[f+76>>2]){break k}i=J[k>>2];j=J[f+88>>2];d=j+1|0;J[f+88>>2]=d;j=i&-2147483648>>>j;n:{if((d|0)==32){J[f+88>>2]=0;J[f+84>>2]=k+4;if(j){break n}break k}if(!j){break k}}}j=c;c=b;break j}while(1){a=(b-1|0)!=(a|0)?a+1|0:0;J[c+(g<<2)>>2]=a;b=J[f+12>>2];g=g+1|0;if(b>>>0>g>>>0){continue}break}break i}j=b}k=J[f+128>>2];i=k+p|0;d=J[i>>2];b=d+g|0;J[b>>2]=J[b>>2]+1;Nb(k+P(l,12)|0,d,J[i+4>>2]);if(c){b=J[e+28>>2]+J[e+24>>2]|0;d=J[e+16>>2];g=J[e+12>>2];if((b|0)==(((d|0)!=(g|0)?P(d-g>>2,341)-1|0:0)|0)){Mb(e+8|0);g=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}d=(b>>>0)/341|0;b=J[(d<<2)+g>>2]+P(b-P(d,341)|0,12)|0;J[b+8>>2]=o;J[b+4>>2]=a;J[b>>2]=c;J[e+28>>2]=J[e+28>>2]+1}if(!j){break f}b=J[e+28>>2]+J[e+24>>2]|0;c=J[e+16>>2];g=J[e+12>>2];if((b|0)==(((c|0)!=(g|0)?P(c-g>>2,341)-1|0:0)|0)){Mb(e+8|0);g=J[e+12>>2];b=J[e+24>>2]+J[e+28>>2]|0}c=(b>>>0)/341|0;b=J[(c<<2)+g>>2]+P(b-P(c,341)|0,12)|0;J[b+8>>2]=l;J[b+4>>2]=a;J[b>>2]=j;J[e+28>>2]=J[e+28>>2]+1;break f}s=0;if(!m){break f}while(1){if(J[f+12>>2]){v=J[f+36>>2];i=J[k>>2];t=J[f+92>>2];j=J[f+104>>2];a=0;while(1){o=(a<<2)+j|0;J[t+(J[o>>2]<<2)>>2]=0;d=J[f>>2];c=J[o>>2]<<2;b=J[c+i>>2];o:{if((d|0)==(b|0)){break o}p=c+t|0;q=d-b|0;g=J[f+48>>2];d=32-g|0;if((q|0)<=(d|0)){c=J[f+44>>2];if((c|0)==(v|0)){d=0;break e}J[p>>2]=J[c>>2]<>>32-q;b=q+J[f+48>>2]|0;J[f+48>>2]=b;if((b|0)!=32){break o}J[f+48>>2]=0;J[f+44>>2]=c+4;break o}l=J[f+44>>2];b=l+4|0;if((v|0)==(b|0)){d=0;break e}c=J[l>>2];J[f+44>>2]=b;b=q-d|0;J[f+48>>2]=b;J[p>>2]=J[l+4>>2]>>>32-b|c<>>32-q}c=J[o>>2]<<2;b=c+t|0;J[b>>2]=J[b>>2]|J[c+J[r>>2]>>2];a=a+1|0;if(a>>>0>2]){continue}break}}j=0;a=J[h+16>>2];p:{if((a|0)==J[h+20>>2]){break p}while(1){g=J[h+28>>2];l=P(j,20)+a|0;i=J[l>>2];if(!K[i+84|0]){g=J[J[i+68>>2]+(g<<2)>>2]}if(M[i+80>>2]<=g>>>0){break p}d=J[f+92>>2]+(J[l+4>>2]<<2)|0;c=J[l+12>>2];b=d;q:{if(c>>>0>3){break q}a=0;b=J[h+12>>2];if(!J[l+16>>2]){break q}while(1){b=Vi(b,d+(a<<2)|0,c);c=J[l+12>>2];b=b+c|0;a=a+1|0;if(a>>>0>2]){continue}break}b=J[h+12>>2]}a=J[i+40>>2];Vi(J[J[i>>2]>>2]+P(a,g)|0,b,a);j=j+1|0;a=J[h+16>>2];if(j>>>0<(J[h+20>>2]-a|0)/20>>>0){continue}break}}J[h+28>>2]=J[h+28>>2]+1;J[f+8>>2]=J[f+8>>2]+1;s=s+1|0;if((m|0)!=(s|0)){continue}break}}a=J[e+28>>2];if(a){continue}break}d=1}J[e+28>>2]=0;g=J[e+16>>2];a=J[e+12>>2];b=g-a|0;if(b>>>0>=9){while(1){xj(J[a>>2]);a=J[e+12>>2]+4|0;J[e+12>>2]=a;g=J[e+16>>2];b=g-a|0;if(b>>>0>8){continue}break}}c=170;r:{switch((b>>>2|0)-1|0){case 1:c=341;case 0:J[e+24>>2]=c;break;default:break r}}s:{if((a|0)==(g|0)){break s}while(1){xj(J[a>>2]);a=a+4|0;if((g|0)!=(a|0)){continue}break}b=J[e+16>>2];a=J[e+12>>2];if((b|0)==(a|0)){break s}J[e+16>>2]=b+((a-b|0)+3&-4)}a=J[e+8>>2];if(a){xj(a)}fa=e+32|0;j=d;break b}Ia();C()}Ia();C()}}return j}function af(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;h=fa-32|0;fa=h;g=J[J[a+4>>2]+44>>2];c=J[a+8>>2];d=J[c>>2];c=J[c+4>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;d=(c-d>>2>>>0)/3|0;c=J[g+96>>2];f=(J[g+100>>2]-c|0)/12|0;a:{if(d>>>0>f>>>0){e=d-f|0;i=J[g+104>>2];c=J[g+100>>2];if(e>>>0<=(i-c|0)/12>>>0){b:{if(!e){break b}d=c;f=P(e,12)-12|0;i=((f>>>0)/12|0)+1&3;if(i){while(1){l=J[h+20>>2];J[d>>2]=J[h+16>>2];J[d+4>>2]=l;J[d+8>>2]=J[h+24>>2];d=d+12|0;j=j+1|0;if((i|0)!=(j|0)){continue}break}}c=P(e,12)+c|0;if(f>>>0<36){break b}while(1){f=J[h+20>>2];J[d>>2]=J[h+16>>2];J[d+4>>2]=f;J[d+8>>2]=J[h+24>>2];J[d+20>>2]=J[h+24>>2];f=J[h+20>>2];J[d+12>>2]=J[h+16>>2];J[d+16>>2]=f;J[d+32>>2]=J[h+24>>2];f=J[h+20>>2];J[d+24>>2]=J[h+16>>2];J[d+28>>2]=f;f=J[h+20>>2];J[d+36>>2]=J[h+16>>2];J[d+40>>2]=f;J[d+44>>2]=J[h+24>>2];d=d+48|0;if((d|0)!=(c|0)){continue}break}}J[g+100>>2]=c;break a}c:{f=J[g+96>>2];n=(c-f|0)/12|0;d=n+e|0;if(d>>>0<357913942){f=(i-f|0)/12|0;i=f<<1;i=f>>>0>=178956970?357913941:d>>>0>>0?i:d;if(i){if(i>>>0>=357913942){break c}l=Cj(P(i,12))}f=P(n,12)+l|0;d=f;e=P(e,12);n=e-12|0;q=((n>>>0)/12|0)+1&3;if(q){while(1){r=J[h+20>>2];J[d>>2]=J[h+16>>2];J[d+4>>2]=r;J[d+8>>2]=J[h+24>>2];d=d+12|0;j=j+1|0;if((q|0)!=(j|0)){continue}break}}e=e+f|0;if(n>>>0>=36){while(1){j=J[h+20>>2];J[d>>2]=J[h+16>>2];J[d+4>>2]=j;J[d+8>>2]=J[h+24>>2];J[d+20>>2]=J[h+24>>2];j=J[h+20>>2];J[d+12>>2]=J[h+16>>2];J[d+16>>2]=j;J[d+32>>2]=J[h+24>>2];j=J[h+20>>2];J[d+24>>2]=J[h+16>>2];J[d+28>>2]=j;j=J[h+20>>2];J[d+36>>2]=J[h+16>>2];J[d+40>>2]=j;J[d+44>>2]=J[h+24>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}j=J[g+96>>2];if((j|0)!=(c|0)){while(1){c=c-12|0;n=J[c+4>>2];f=f-12|0;d=f;J[d>>2]=J[c>>2];J[d+4>>2]=n;J[d+8>>2]=J[c+8>>2];if((c|0)!=(j|0)){continue}break}c=J[g+96>>2]}J[g+104>>2]=P(i,12)+l;J[g+100>>2]=e;J[g+96>>2]=f;if(c){xj(c)}break a}Ia();C()}Va();C()}if(d>>>0>=f>>>0){break a}J[g+100>>2]=c+P(d,12)}d:{if(J[a+216>>2]==J[a+220>>2]){j=J[a+4>>2];c=J[j+44>>2];d=J[c+100>>2];f=J[c+96>>2];if((d|0)!=(f|0)){c=(d-f|0)/12|0;o=c>>>0<=1?1:c;c=0;while(1){d=J[a+8>>2];i=f+P(c,12)|0;g=P(c,3);e:{f:{if((g|0)==-1){e=J[(J[d>>2]+(g<<2)|0)+4>>2];k=-1;g=1;break f}e=-1;k=J[J[d>>2]+(g<<2)>>2];l=g+1|0;if((l|0)==-1){g=0;break f}e=J[J[d>>2]+(l<<2)>>2];g=g+2|0;m=-1;if((g|0)==-1){break e}}m=J[J[d>>2]+(g<<2)>>2]}J[i+8>>2]=m;J[i+4>>2]=e;J[i>>2]=k;c=c+1|0;if((o|0)!=(c|0)){continue}break}}J[J[j+4>>2]+80>>2]=b;c=1;break d}d=0;J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;l=J[a+8>>2];c=J[l>>2];g=J[l+4>>2];J[h+8>>2]=0;J[h>>2]=0;J[h+4>>2]=0;b=0;g:{h:{i:{j:{k:{l:{if((c|0)!=(g|0)){c=g-c|0;if((c|0)<0){break l}b=Cj(c);J[h>>2]=b;J[h+8>>2]=(c&-4)+b;u=h,v=Xi(b,0,c)+c|0,J[u+4>>2]=v}c=J[l+24>>2];if((J[l+28>>2]-c|0)<4){break h}f=0;while(1){g=J[(p<<2)+c>>2];m:{if((g|0)==-1){break m}n:{if(J[J[a+120>>2]+(p>>>3&536870908)>>2]>>>p&1){break n}n=J[a+216>>2];c=J[a+220>>2];if((n|0)==(c|0)){break n}e=g+2|0;i=(g>>>0)%3|0;q=i?g-1|0:e;c=(c-n|0)/144|0;r=c>>>0<=1?1:c;j=0;t=(i|0)!=0|(e|0)!=-1;while(1){s=g<<2;i=P(j,144)+n|0;c=J[s+J[J[i+68>>2]>>2]>>2];o:{if(!(J[J[i+16>>2]+(c>>>3&536870908)>>2]>>>c&1)){break o}c=-1;p:{if(!t){break p}e=J[J[l+12>>2]+(q<<2)>>2];c=-1;if((e|0)==-1){break p}c=e-1|0;if((e>>>0)%3|0){break p}c=e+2|0}if((g|0)==(c|0)){break o}e=s;s=J[i+32>>2];i=J[e+s>>2];while(1){e=0;if((c|0)==-1){break g}if((i|0)!=J[s+(c<<2)>>2]){g=c;break n}q:{r:{if((c>>>0)%3|0){e=c-1|0;break r}e=c+2|0;m=-1;if((e|0)==-1){break q}}c=J[J[l+12>>2]+(e<<2)>>2];m=-1;if((c|0)==-1){break q}m=c-1|0;if((c>>>0)%3|0){break q}m=c+2|0}c=m;if((g|0)!=(c|0)){continue}break}}j=j+1|0;if((r|0)!=(j|0)){continue}break}}i=k-f|0;e=i>>2;J[(g<<2)+b>>2]=e;s:{if(k>>>0>>0){J[k>>2]=g;k=k+4|0;J[h+20>>2]=k;break s}c=e+1|0;if(c>>>0>=1073741824){break k}d=o-f|0;k=d>>>1|0;c=d>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}d=Cj(c<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=g;m=c<<2;c=Wi(d,f,i);o=m+c|0;J[h+24>>2]=o;k=e+4|0;J[h+20>>2]=k;J[h+16>>2]=c;if(f){xj(f);l=J[a+8>>2]}f=c}if((g|0)==-1){break m}t:{if((g>>>0)%3|0){c=g-1|0;break t}c=g+2|0;if((c|0)==-1){break m}}c=J[J[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=g;if((c|0)==(g|0)){break m}while(1){i=c;u:{v:{c=J[a+220>>2];j=J[a+216>>2];if((c|0)==(j|0)){break v}c=(c-j|0)/144|0;n=c>>>0<=1?1:c;c=0;while(1){q=J[(j+P(c,144)|0)+32>>2];r=i<<2;if(J[q+r>>2]==J[q+(e<<2)>>2]){c=c+1|0;if((n|0)!=(c|0)){continue}break v}break}j=k-d|0;e=j>>2;J[b+r>>2]=e;if(k>>>0>>0){J[k>>2]=i;k=k+4|0;J[h+20>>2]=k;f=d;break u}c=e+1|0;if(c>>>0>=1073741824){break i}f=o-d|0;k=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?k:c;if(c){if(c>>>0>=1073741824){break j}f=Cj(c<<2)}else{f=0}e=f+(e<<2)|0;J[e>>2]=i;m=c<<2;c=Wi(f,d,j);o=m+c|0;J[h+24>>2]=o;k=e+4|0;J[h+20>>2]=k;J[h+16>>2]=c;if(!d){d=c;break u}xj(d);l=J[a+8>>2];d=c;break u}J[(i<<2)+b>>2]=J[(e<<2)+b>>2]}if((i|0)==-1){break m}w:{if((i>>>0)%3|0){c=i-1|0;break w}c=i+2|0;if((c|0)==-1){break m}}c=J[J[l+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=i;if((c|0)!=(g|0)){continue}break}}p=p+1|0;c=J[l+24>>2];if((p|0)>2]-c>>2){continue}break}break h}Ia();C()}Ia();C()}Va();C()}Ia();C()}i=J[a+4>>2];a=J[i+44>>2];c=J[a+100>>2];a=J[a+96>>2];x:{if((c|0)==(a|0)){break x}g=(c-a|0)/12|0;f=g>>>0<=1?1:g;l=f&1;c=0;if(g>>>0>=2){j=f&-2;g=0;while(1){e=P(c,12);f=e+b|0;o=J[f>>2];p=J[f+4>>2];e=a+e|0;J[e+8>>2]=J[f+8>>2];J[e>>2]=o;J[e+4>>2]=p;e=P(c|1,12);f=e+b|0;o=J[f>>2];p=J[f+4>>2];e=a+e|0;J[e+8>>2]=J[f+8>>2];J[e>>2]=o;J[e+4>>2]=p;c=c+2|0;g=g+2|0;if((j|0)!=(g|0)){continue}break}}if(!l){break x}g=P(c,12);c=g+b|0;f=J[c>>2];e=J[c+4>>2];a=a+g|0;J[a+8>>2]=J[c+8>>2];J[a>>2]=f;J[a+4>>2]=e}J[J[i+4>>2]+80>>2]=k-d>>2;e=1}c=e;if(b){xj(b)}if(!d){break d}J[h+20>>2]=d;xj(d)}fa=h+32|0;return c}function Ic(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0;g=fa+-64|0;fa=g;J[a+8>>2]=e;x=a+32|0;f=J[x>>2];d=J[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){La(x,e-d|0);J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g>>2]=0;break b}if(d>>>0>e>>>0){J[a+36>>2]=f+(e<<2)}J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g>>2]=0;d=0;if(!e){break a}}fb(g+16|0,e,g);h=J[g+28>>2];d=J[g+32>>2]}J[g>>2]=0;d=d-h>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}J[g+32>>2]=(e<<2)+h;break c}fb(g+16|12,e-d|0,g)}J[g>>2]=0;f=J[g+40>>2];d=J[g+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}J[g+44>>2]=f+(e<<2);break d}fb(g+40|0,e-d|0,g)}J[g>>2]=0;f=J[g+52>>2];d=J[g+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}J[g+56>>2]=f+(e<<2);break e}fb(g+52|0,e-d|0,g)}f:{if(J[a+8>>2]<=0){break f}i=J[g+16>>2];j=J[a+32>>2];h=0;while(1){d=h<<2;f=J[d+i>>2];m=J[a+16>>2];g:{if((f|0)>(m|0)){J[d+j>>2]=m;break g}d=d+j|0;m=J[a+12>>2];if((m|0)>(f|0)){J[d>>2]=m;break g}J[d>>2]=f}h=h+1|0;d=J[a+8>>2];if((h|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){i=d<<2;f=i+c|0;i=J[b+i>>2]+J[j+i>>2]|0;J[f>>2]=i;h:{if((i|0)>J[a+16>>2]){i=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break h}i=i+J[a+20>>2]|0}J[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}G=J[a+52>>2];t=J[a+48>>2];y=Cj(16);d=y;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;r=Cj(d);J[g>>2]=r;J[g+8>>2]=d+r;Xi(r,0,d)}z=1;d=J[a+56>>2];A=J[d>>2];d=J[d+4>>2]-A|0;j:{if((d|0)<8){break j}v=d>>2;H=(v|0)<=2?2:v;I=v>>>0<=1?1:v;B=e&-2;D=e&1;K=e&-4;E=e&3;F=e-1|0;L=e<<2;M=e>>>0<4;z=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(I|0)){o:{p:{f=J[(m<<2)+A>>2];if((f|0)==-1){break p}k=1;d=f+2|0;j=(f>>>0)%3|0;w=j?f-1|0:d;s=1<>2];N=n+(w>>>3&536870908)|0;i=0;O=(j|0)!=0|(d|0)!=-1;d=f;q:{while(1){r:{if(J[n+(d>>>3&536870908)>>2]>>>d&1){break r}j=J[J[J[t+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break r}l=J[G>>2];h=J[t+28>>2];p=J[l+(J[h+(j<<2)>>2]<<2)>>2];if((p|0)>=(m|0)){break r}q=j+1|0;q=J[l+(J[h+(((q>>>0)%3|0?q:j-2|0)<<2)>>2]<<2)>>2];if((q|0)>=(m|0)){break r}h=J[l+(J[h+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((h|0)>=(m|0)){break r}s:{if(!e){break s}j=J[(g+16|0)+P(i,12)>>2];l=P(e,h);q=P(e,q);p=P(e,p);h=0;o=0;if(F){while(1){J[j+(h<<2)>>2]=(J[(h+l<<2)+c>>2]+J[(h+q<<2)+c>>2]|0)-J[(h+p<<2)+c>>2];u=h|1;J[j+(u<<2)>>2]=(J[(l+u<<2)+c>>2]+J[(q+u<<2)+c>>2]|0)-J[(p+u<<2)+c>>2];h=h+2|0;o=o+2|0;if((B|0)!=(o|0)){continue}break}}if(!D){break s}J[j+(h<<2)>>2]=(J[(h+l<<2)+c>>2]+J[(h+q<<2)+c>>2]|0)-J[(h+p<<2)+c>>2]}j=4;i=i+1|0;if((i|0)==4){break q}}t:{if(k&1){h=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:h;if((j|0)==-1|J[n+(j>>>3&536870908)>>2]>>>j&1){break t}j=J[J[J[t+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break t}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break t}u:{if((d>>>0)%3|0){h=d-1|0;break u}h=d+2|0;d=-1;if((h|0)==-1){break t}}d=-1;if(J[n+(h>>>3&536870908)>>2]>>>h&1){break t}j=J[J[J[t+64>>2]+12>>2]+(h<<2)>>2];if((j|0)==-1){break t}if((j>>>0)%3|0){d=j-1|0;break t}d=j+2|0}v:{if((d|0)==(f|0)){break v}if((d|0)==-1&k){if(!O|s&J[N>>2]){break v}d=J[J[J[t+64>>2]+12>>2]+(w<<2)>>2];if((d|0)==-1){break v}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}j=i;if((j|0)<=0){break p}}if(e){Xi(r,0,L)}d=j-1|0;q=(d<<2)+y|0;d=P(d,12)+a|0;u=d;w=J[d- -64>>2];k=0;d=J[g>>2];f=0;while(1){i=J[q>>2];J[q>>2]=i+1;if(i>>>0>=w>>>0){break j}w:{if(J[J[u+60>>2]+(i>>>3&536870908)>>2]>>>i&1){break w}f=f+1|0;if(!e){break w}n=J[(g+16|0)+P(k,12)>>2];i=0;h=0;p=0;if(!M){while(1){l=h<<2;o=l+d|0;J[o>>2]=J[l+n>>2]+J[o>>2];o=l|4;s=o+d|0;J[s>>2]=J[n+o>>2]+J[s>>2];o=l|8;s=o+d|0;J[s>>2]=J[n+o>>2]+J[s>>2];l=l|12;o=l+d|0;J[o>>2]=J[l+n>>2]+J[o>>2];h=h+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break w}while(1){l=h<<2;p=l+d|0;J[p>>2]=J[l+n>>2]+J[p>>2];h=h+1|0;i=i+1|0;if((E|0)!=(i|0)){continue}break}}k=k+1|0;if((k|0)!=(j|0)){continue}break}i=P(e,m);if(!f){break o}if(!e){break l}h=0;d=0;if(F){break n}break m}i=P(e,m)}if(J[a+8>>2]<=0){break k}k=(P(m-1|0,e)<<2)+c|0;j=J[x>>2];h=0;while(1){d=h<<2;f=J[d+k>>2];n=J[a+16>>2];x:{if((f|0)>(n|0)){J[d+j>>2]=n;break x}d=d+j|0;n=J[a+12>>2];if((n|0)>(f|0)){J[d>>2]=n;break x}J[d>>2]=f}h=h+1|0;f=J[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=J[i+k>>2]+J[j+i>>2]|0;J[f>>2]=i;y:{if((i|0)>J[a+16>>2]){i=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break y}i=i+J[a+20>>2]|0}J[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}break k}yc();C()}while(1){j=h<<2;k=j+r|0;J[k>>2]=J[k>>2]/(f|0);j=(j|4)+r|0;J[j>>2]=J[j>>2]/(f|0);h=h+2|0;d=d+2|0;if((B|0)!=(d|0)){continue}break}}if(!D){break l}d=(h<<2)+r|0;J[d>>2]=J[d>>2]/(f|0)}if(J[a+8>>2]<=0){break k}j=J[x>>2];h=0;while(1){d=h<<2;f=J[d+r>>2];k=J[a+16>>2];z:{if((f|0)>(k|0)){J[d+j>>2]=k;break z}d=d+j|0;k=J[a+12>>2];if((k|0)>(f|0)){J[d>>2]=k;break z}J[d>>2]=f}h=h+1|0;f=J[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=i<<2;h=f+c|0;k=b+f|0;while(1){i=d<<2;f=i+h|0;i=J[i+k>>2]+J[j+i>>2]|0;J[f>>2]=i;A:{if((i|0)>J[a+16>>2]){i=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break A}i=i+J[a+20>>2]|0}J[f>>2]=i}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;z=(v|0)<=(m|0);if((m|0)!=(H|0)){continue}break}}a=J[g>>2];if(a){xj(a)}xj(y);a=J[g+52>>2];if(a){J[g+56>>2]=a;xj(a)}a=J[g+40>>2];if(a){J[g+44>>2]=a;xj(a)}a=J[g+28>>2];if(a){J[g+32>>2]=a;xj(a)}a=J[g+16>>2];if(a){J[g+20>>2]=a;xj(a)}fa=g- -64|0;return z|0}Ia();C()}function kd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0;h=fa+-64|0;fa=h;J[a+8>>2]=e;w=a+32|0;f=J[w>>2];d=J[a+36>>2]-f>>2;a:{b:{if(d>>>0>>0){La(w,e-d|0);J[h+56>>2]=0;J[h+60>>2]=0;J[h+48>>2]=0;J[h+52>>2]=0;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h>>2]=0;break b}if(d>>>0>e>>>0){J[a+36>>2]=f+(e<<2)}J[h+56>>2]=0;J[h+60>>2]=0;J[h+48>>2]=0;J[h+52>>2]=0;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+24>>2]=0;J[h+28>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h>>2]=0;d=0;if(!e){break a}}fb(h+16|0,e,h);i=J[h+28>>2];d=J[h+32>>2]}J[h>>2]=0;d=d-i>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}J[h+32>>2]=(e<<2)+i;break c}fb(h+16|12,e-d|0,h)}J[h>>2]=0;f=J[h+40>>2];d=J[h+44>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}J[h+44>>2]=f+(e<<2);break d}fb(h+40|0,e-d|0,h)}J[h>>2]=0;f=J[h+52>>2];d=J[h+56>>2]-f>>2;e:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break e}J[h+56>>2]=f+(e<<2);break e}fb(h+52|0,e-d|0,h)}f:{if(J[a+8>>2]<=0){break f}g=J[h+16>>2];j=J[a+32>>2];i=0;while(1){d=i<<2;f=J[d+g>>2];m=J[a+16>>2];g:{if((f|0)>(m|0)){J[d+j>>2]=m;break g}d=d+j|0;m=J[a+12>>2];if((m|0)>(f|0)){J[d>>2]=m;break g}J[d>>2]=f}i=i+1|0;d=J[a+8>>2];if((i|0)<(d|0)){continue}break}if((d|0)<=0){break f}d=0;while(1){g=d<<2;f=g+c|0;g=J[b+g>>2]+J[g+j>>2]|0;J[f>>2]=g;h:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break h}g=g+J[a+20>>2]|0}J[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}G=J[a+52>>2];z=J[a+48>>2];x=Cj(16);d=x;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[h+8>>2]=0;J[h>>2]=0;J[h+4>>2]=0;i:{if(e){if(e>>>0>=1073741824){break i}d=e<<2;t=Cj(d);J[h>>2]=t;J[h+8>>2]=d+t;Xi(t,0,d)}y=1;d=J[a+56>>2];A=J[d>>2];d=J[d+4>>2]-A|0;j:{if((d|0)<8){break j}v=d>>2;H=(v|0)<=2?2:v;I=v>>>0<=1?1:v;B=e&-2;D=e&1;K=e&-4;E=e&3;F=e-1|0;L=e<<2;M=e>>>0<4;y=0;m=1;while(1){k:{l:{m:{n:{if((m|0)!=(I|0)){o:{p:{f=J[(m<<2)+A>>2];if((f|0)==-1){break p}n=J[z+12>>2];d=f+2|0;g=(f>>>0)%3|0;q=n+((g?f-1|0:d)<<2)|0;j=0;u=(g|0)!=0|(d|0)!=-1;k=1;d=f;q:{while(1){g=J[n+(d<<2)>>2];r:{if((g|0)==-1){break r}l=-1;p=J[G>>2];r=J[z>>2];i=p+(J[r+(g<<2)>>2]<<2)|0;o=g+1|0;o=(o>>>0)%3|0?o:g-2|0;if((o|0)!=-1){l=J[r+(o<<2)>>2]}o=J[i>>2];s:{t:{if((g>>>0)%3|0){i=g-1|0;break t}i=g+2|0;s=-1;if((i|0)==-1){break s}}s=J[r+(i<<2)>>2]}if((m|0)<=(o|0)){break r}i=J[p+(l<<2)>>2];if((i|0)>=(m|0)){break r}l=J[p+(s<<2)>>2];if((l|0)>=(m|0)){break r}g=J[(h+16|0)+P(j,12)>>2];u:{if(!e){break u}l=P(e,l);r=P(e,i);p=P(e,o);i=0;s=0;if(F){while(1){J[g+(i<<2)>>2]=(J[(i+l<<2)+c>>2]+J[(i+r<<2)+c>>2]|0)-J[(i+p<<2)+c>>2];o=i|1;J[g+(o<<2)>>2]=(J[(l+o<<2)+c>>2]+J[(o+r<<2)+c>>2]|0)-J[(o+p<<2)+c>>2];i=i+2|0;s=s+2|0;if((B|0)!=(s|0)){continue}break}}if(!D){break u}J[g+(i<<2)>>2]=(J[(i+l<<2)+c>>2]+J[(i+r<<2)+c>>2]|0)-J[(i+p<<2)+c>>2]}g=4;j=j+1|0;if((j|0)==4){break q}}v:{if(k&1){i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;g=-1;if((d|0)==-1){break v}d=J[n+(d<<2)>>2];g=-1;if((d|0)==-1){break v}g=d+1|0;g=(g>>>0)%3|0?g:d-2|0;break v}w:{if((d>>>0)%3|0){i=d-1|0;break w}i=d+2|0;g=-1;if((i|0)==-1){break v}}d=J[n+(i<<2)>>2];g=-1;if((d|0)==-1){break v}g=d-1|0;if((d>>>0)%3|0){break v}g=d+2|0}d=g;x:{if((f|0)==(d|0)){break x}if((d|0)==-1&k){if(!u){break x}d=J[q>>2];if((d|0)==-1){break x}k=0;d=(d>>>0)%3|0?d-1|0:d+2|0}if((d|0)!=-1){continue}}break}g=j;if((g|0)<=0){break p}}if(e){Xi(t,0,L)}d=g-1|0;r=(d<<2)+x|0;d=P(d,12)+a|0;o=d;s=J[d- -64>>2];k=0;d=J[h>>2];f=0;while(1){j=J[r>>2];J[r>>2]=j+1;if(j>>>0>=s>>>0){break j}y:{if(J[J[o+60>>2]+(j>>>3&536870908)>>2]>>>j&1){break y}f=f+1|0;if(!e){break y}j=J[(h+16|0)+P(k,12)>>2];l=0;i=0;p=0;if(!M){while(1){n=i<<2;q=n+d|0;J[q>>2]=J[j+n>>2]+J[q>>2];q=n|4;u=q+d|0;J[u>>2]=J[j+q>>2]+J[u>>2];q=n|8;u=q+d|0;J[u>>2]=J[j+q>>2]+J[u>>2];n=n|12;q=n+d|0;J[q>>2]=J[j+n>>2]+J[q>>2];i=i+4|0;p=p+4|0;if((K|0)!=(p|0)){continue}break}}if(!E){break y}while(1){n=i<<2;p=n+d|0;J[p>>2]=J[j+n>>2]+J[p>>2];i=i+1|0;l=l+1|0;if((E|0)!=(l|0)){continue}break}}k=k+1|0;if((k|0)!=(g|0)){continue}break}g=P(e,m);if(!f){break o}if(!e){break l}i=0;d=0;if(F){break n}break m}g=P(e,m)}if(J[a+8>>2]<=0){break k}k=(P(m-1|0,e)<<2)+c|0;j=J[w>>2];i=0;while(1){d=i<<2;f=J[d+k>>2];l=J[a+16>>2];z:{if((f|0)>(l|0)){J[d+j>>2]=l;break z}d=d+j|0;l=J[a+12>>2];if((l|0)>(f|0)){J[d>>2]=l;break z}J[d>>2]=f}i=i+1|0;f=J[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=J[g+k>>2]+J[g+j>>2]|0;J[f>>2]=g;A:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break A}g=g+J[a+20>>2]|0}J[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}break k}yc();C()}while(1){j=i<<2;k=j+t|0;J[k>>2]=J[k>>2]/(f|0);j=(j|4)+t|0;J[j>>2]=J[j>>2]/(f|0);i=i+2|0;d=d+2|0;if((B|0)!=(d|0)){continue}break}}if(!D){break l}d=(i<<2)+t|0;J[d>>2]=J[d>>2]/(f|0)}if(J[a+8>>2]<=0){break k}j=J[w>>2];i=0;while(1){d=i<<2;f=J[d+t>>2];k=J[a+16>>2];B:{if((f|0)>(k|0)){J[d+j>>2]=k;break B}d=d+j|0;k=J[a+12>>2];if((k|0)>(f|0)){J[d>>2]=k;break B}J[d>>2]=f}i=i+1|0;f=J[a+8>>2];if((i|0)<(f|0)){continue}break}d=0;if((f|0)<=0){break k}f=g<<2;i=f+c|0;k=b+f|0;while(1){g=d<<2;f=g+i|0;g=J[g+k>>2]+J[g+j>>2]|0;J[f>>2]=g;C:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break C}g=g+J[a+20>>2]|0}J[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}m=m+1|0;y=(v|0)<=(m|0);if((m|0)!=(H|0)){continue}break}}a=J[h>>2];if(a){xj(a)}xj(x);a=J[h+52>>2];if(a){J[h+56>>2]=a;xj(a)}a=J[h+40>>2];if(a){J[h+44>>2]=a;xj(a)}a=J[h+28>>2];if(a){J[h+32>>2]=a;xj(a)}a=J[h+16>>2];if(a){J[h+20>>2]=a;xj(a)}fa=h- -64|0;return y|0}Ia();C()}function qj(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,B=0,C=0;m=fa-560|0;fa=m;J[m+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<0){s=1;y=1142;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){s=1;y=1145;break a}s=e&1;y=s?1148:1143;z=!s}b:{if((g&2146435072)==2146435072){g=s+3|0;pj(a,32,c,g,e&-65537);lj(a,y,s);d=f&32;lj(a,b!=b?d?1205:1293:d?1268:1297,3);pj(a,32,c,g,e^8192);n=(c|0)<(g|0)?g:c;break b}u=m+16|0;c:{d:{e:{b=ij(b,m+44|0);b=b+b;if(b!=0){g=J[m+44>>2];J[m+44>>2]=g-1;w=f|32;if((w|0)!=97){break e}break c}w=f|32;if((w|0)==97){break c}k=J[m+44>>2];l=(d|0)<0?6:d;break d}k=g-29|0;J[m+44>>2]=k;b=b*268435456;l=(d|0)<0?6:d}q=(m+48|0)+((k|0)>=0?288:0)|0;h=q;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}J[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((k|0)<=0){d=k;g=h;i=q;break f}i=q;d=k;while(1){o=(d|0)>=29?29:d;g=h-4|0;g:{if(i>>>0>g>>>0){break g}d=0;while(1){j=J[g>>2];x=d;d=o&31;if((o&63)>>>0>=32){n=j<>>32-d;d=j<>>0>x>>>0?j+1|0:j,1e9,0);B=g,C=x-nk(d,ja,1e9,0)|0,J[B>>2]=C;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!d){break g}i=i-4|0;J[i>>2]=d}while(1){g=h;if(i>>>0>>0){h=g-4|0;if(!J[h>>2]){continue}}break}d=J[m+44>>2]-o|0;J[m+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){t=((l+25>>>0)/9|0)+1|0;p=(w|0)==102;while(1){d=0-d|0;n=(d|0)>=9?9:d;h:{if(g>>>0<=i>>>0){h=J[i>>2];break h}o=1e9>>>n|0;j=-1<>2];J[h>>2]=x+(d>>>n|0);d=P(o,d&j);h=h+4|0;if(h>>>0>>0){continue}break}h=J[i>>2];if(!d){break h}J[g>>2]=d;g=g+4|0}d=n+J[m+44>>2]|0;J[m+44>>2]=d;i=(!h<<2)+i|0;h=p?q:i;g=g-h>>2>(t|0)?h+(t<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=i>>>0){break i}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break i}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=(l-((w|0)!=102?d:0)|0)-((w|0)==103&(l|0)!=0)|0;if((h|0)<(P(g-q>>2,9)-9|0)){o=h+9216|0;j=(o|0)/9|0;k=((((k|0)<0?4:292)+m|0)+(j<<2)|0)-4048|0;h=10;n=o-P(j,9)|0;if((n|0)<=7){while(1){h=P(h,10);n=n+1|0;if((n|0)!=8){continue}break}}o=J[k>>2];t=(o>>>0)/(h>>>0)|0;p=o-P(h,t)|0;j=k+4|0;j:{if(!p&(j|0)==(g|0)){break j}k:{if(!(t&1)){b=9007199254740992;if(!(H[k-4|0]&1)|((h|0)!=1e9|i>>>0>=k>>>0)){break k}}b=9007199254740994}r=(g|0)==(j|0)?1:1.5;j=h>>>1|0;r=j>>>0>p>>>0?.5:(j|0)==(p|0)?r:1.5;if(!(K[y|0]!=45|z)){r=-r;b=-b}j=o-p|0;J[k>>2]=j;if(b+r==b){break j}d=h+j|0;J[k>>2]=d;if(d>>>0>=1e9){while(1){J[k>>2]=0;k=k-4|0;if(k>>>0>>0){i=i-4|0;J[i>>2]=0}d=J[k>>2]+1|0;J[k>>2]=d;if(d>>>0>999999999){continue}break}}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break j}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=k+4|0;g=g>>>0>h>>>0?h:g}while(1){j=g;o=g>>>0<=i>>>0;if(!o){g=j-4|0;if(!J[g>>2]){continue}}break}l:{if((w|0)!=103){k=e&8;break l}h=l?l:1;g=(h|0)>(d|0)&(d|0)>-5;l=(g?d^-1:-1)+h|0;f=(g?-1:-2)+f|0;k=e&8;if(k){break l}g=-9;m:{if(o){break m}k=J[j-4>>2];if(!k){break m}n=10;g=0;if((k>>>0)%10|0){break m}while(1){h=g;g=g+1|0;n=P(n,10);if(!((k>>>0)%(n>>>0)|0)){continue}break}g=h^-1}h=P(j-q>>2,9);if((f&-33)==70){k=0;g=(g+h|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g;break l}k=0;g=((d+h|0)+g|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g}n=-1;o=k|l;if(((o?2147483645:2147483646)|0)<(l|0)){break b}p=(((o|0)!=0)+l|0)+1|0;h=f&-33;n:{if((h|0)==70){if((p^2147483647)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=oj((g^d)-g|0,0,u);if((u-g|0)<=1){while(1){g=g-1|0;H[g|0]=48;if((u-g|0)<2){continue}break}}t=g-2|0;H[t|0]=f;H[g-1|0]=(d|0)<0?45:43;g=u-t|0;if((g|0)>(p^2147483647)){break b}}d=g+p|0;if((d|0)>(s^2147483647)){break b}p=d+s|0;pj(a,32,c,p,e);lj(a,y,s);pj(a,48,c,p,e^65536);o:{p:{q:{if((h|0)==70){f=m+16|0;d=f|8;k=f|9;h=i>>>0>q>>>0?q:i;i=h;while(1){g=oj(J[i>>2],0,k);r:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break r}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break r}if((g|0)!=(k|0)){break r}H[m+24|0]=48;g=d}lj(a,g,k-g|0);i=i+4|0;if(q>>>0>=i>>>0){continue}break}if(o){lj(a,1647,1)}if((l|0)<=0|i>>>0>=j>>>0){break q}while(1){g=oj(J[i>>2],0,k);if(g>>>0>m+16>>>0){while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}}lj(a,g,(l|0)>=9?9:l);g=l-9|0;i=i+4|0;if(j>>>0<=i>>>0){break p}d=(l|0)>9;l=g;if(d){continue}break}break p}s:{if((l|0)<0){break s}q=i>>>0>>0?j:i+4|0;f=m+16|0;d=f|8;j=f|9;h=i;while(1){g=oj(J[h>>2],0,j);if((j|0)==(g|0)){H[m+24|0]=48;g=d}t:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break t}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break t}lj(a,g,1);g=g+1|0;if(!(k|l)){break t}lj(a,1647,1)}f=j-g|0;lj(a,g,(f|0)>(l|0)?l:f);l=l-f|0;h=h+4|0;if(q>>>0<=h>>>0){break s}if((l|0)>=0){continue}break}}pj(a,48,l+18|0,18,0);lj(a,t,u-t|0);break o}g=l}pj(a,48,g+9|0,9,0)}pj(a,32,c,p,e^8192);n=(c|0)<(p|0)?p:c;break b}k=(f<<26>>31&9)+y|0;u:{if(d>>>0>11){break u}g=12-d|0;r=16;while(1){r=r*16;g=g-1|0;if(g){continue}break}if(K[k|0]==45){b=-(r+(-b-r));break u}b=b+r-r}g=J[m+44>>2];h=g>>31;g=oj((g^h)-h|0,0,u);if((u|0)==(g|0)){H[m+15|0]=48;g=m+15|0}q=s|2;i=f&32;h=J[m+44>>2];l=g-2|0;H[l|0]=f+15;H[g-1|0]=(h|0)<0?45:43;g=e&8;h=m+16|0;while(1){f=h;if(R(b)<2147483648){j=~~b}else{j=-2147483648}H[h|0]=i|K[j+14288|0];b=(b-+(j|0))*16;h=f+1|0;if(!(!((d|0)>0|g)&b==0|(h-(m+16|0)|0)!=1)){H[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}n=-1;g=u-l|0;f=g+q|0;if((2147483645-f|0)<(d|0)){break b}v:{w:{if(!d){break w}i=h-(m+16|0)|0;if((i-2|0)>=(d|0)){break w}d=d+2|0;break v}i=h-(m+16|0)|0;d=i}f=d+f|0;pj(a,32,c,f,e);lj(a,k,q);pj(a,48,c,f,e^65536);lj(a,m+16|0,i);pj(a,48,d-i|0,0,0);lj(a,l,g);pj(a,32,c,f,e^8192);n=(c|0)<(f|0)?f:c}fa=m+560|0;return n|0}function rd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;a:{b:{if((e|0)!=2){break b}J[a+8>>2]=2;J[a- -64>>2]=f;N=a+32|0;e=J[N>>2];d=J[a+36>>2]-e|0;c:{if(d>>>0<=7){La(N,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}J[a+36>>2]=e+8}j=1;d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<=0){break b}o=a+60|0;d=d>>>2|0;Z=d>>>0<=1?1:d;_=a+68|0;d=0;while(1){f=J[a+56>>2];e=J[f>>2];if(J[f+4>>2]-e>>2>>>0<=d>>>0){break a}l=fa-80|0;fa=l;f=-1;d:{e:{e=J[e+(d<<2)>>2];if((e|0)==-1){break e}j=J[o+32>>2];g=e+1|0;g=(g>>>0)%3|0?g:e-2|0;if((g|0)!=-1){f=J[J[j>>2]+(g<<2)>>2]}n=-1;e=e+((e>>>0)%3|0?-1:2)|0;if((e|0)!=-1){n=J[J[j>>2]+(e<<2)>>2]}j=J[o+36>>2];e=J[j>>2];j=J[j+4>>2]-e>>2;if(j>>>0<=f>>>0|j>>>0<=n>>>0){break e}f:{g:{h:{i:{j:{k:{i=J[e+(n<<2)>>2];f=J[e+(f<<2)>>2];if((i|0)>=(d|0)|(f|0)>=(d|0)){break k}j=(i<<3)+c|0;u=J[j+4>>2];g=(f<<3)+c|0;e=J[g+4>>2];z=J[j>>2];j=J[g>>2];if(!((z|0)!=(j|0)|(e|0)!=(u|0))){J[o+8>>2]=j;J[o+12>>2]=e;break j}n=J[J[o+4>>2]+(d<<2)>>2];J[l+72>>2]=0;J[l+76>>2]=0;g=l- -64|0;J[g>>2]=0;J[g+4>>2]=0;J[l+56>>2]=0;J[l+60>>2]=0;g=J[o>>2];if(!K[g+84|0]){n=J[J[g+68>>2]+(n<<2)>>2]}Xc(g,n,H[g+24|0],l+56|0);n=J[J[o+4>>2]+(f<<2)>>2];J[l+48>>2]=0;J[l+52>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;J[l+32>>2]=0;J[l+36>>2]=0;g=J[o>>2];if(!K[g+84|0]){n=J[J[g+68>>2]+(n<<2)>>2]}Xc(g,n,H[g+24|0],l+32|0);n=J[J[o+4>>2]+(i<<2)>>2];J[l+24>>2]=0;J[l+28>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+8>>2]=0;J[l+12>>2]=0;g=J[o>>2];if(!K[g+84|0]){n=J[J[g+68>>2]+(n<<2)>>2]}Xc(g,n,H[g+24|0],l+8|0);g=J[l+16>>2];v=J[l+40>>2];A=g-v|0;O=J[l+44>>2];g=J[l+20>>2]-(O+(g>>>0>>0)|0)|0;G=g;i=nk(A,g,A,g);m=ja;g=J[l+8>>2];B=J[l+32>>2];D=g-B|0;P=J[l+36>>2];g=J[l+12>>2]-(P+(g>>>0>>0)|0)|0;I=g;k=i;i=nk(D,g,D,g);g=k+i|0;k=ja+m|0;k=g>>>0>>0?k+1|0:k;i=J[l+24>>2];E=J[l+48>>2];F=i-E|0;Q=J[l+52>>2];i=J[l+28>>2]-(Q+(i>>>0>>0)|0)|0;L=i;h=g;g=nk(F,i,F,i);q=h+g|0;h=ja+k|0;r=g>>>0>q>>>0?h+1|0:h;if(!(r|q)){break k}n=0;w=pk(-1,2147483647,q,r);f=j>>31;S=f;h=f>>31;R=j;g=h;m=j^g;j=m-g|0;f=(f^g)-((g>>>0>m>>>0)+g|0)|0;g=f;f=e>>31;T=f;M=e;e=f>>31;m=M^e;h=m-e|0;k=f>>31;e=(k^f)-((e>>>0>m>>>0)+k|0)|0;f=(g|0)==(e|0)&h>>>0>>0|e>>>0>>0;j=f?j:h;i=ja;e=f?g:e;if((i|0)==(e|0)&j>>>0>w>>>0|e>>>0>i>>>0){break f}j=J[l+64>>2];U=J[l+68>>2];e=nk(j-v|0,U-((j>>>0>>0)+O|0)|0,A,G);f=ja;g=J[l+56>>2];V=J[l+60>>2];i=nk(g-B|0,V-((g>>>0>>0)+P|0)|0,D,I);e=i+e|0;h=ja+f|0;m=J[l+72>>2];W=J[l+76>>2];f=nk(m-E|0,W-((m>>>0>>0)+Q|0)|0,F,L);x=f+e|0;e=ja+(e>>>0>>0?h+1|0:h)|0;e=f>>>0>x>>>0?e+1|0:e;w=e;f=e;e=e>>31;i=e;h=e^x;e=h-e|0;i=(f^i)-((h>>>0>>0)+i|0)|0;f=z;z=f-R|0;f=(f>>31)-((f>>>0>>0)+S|0)|0;X=f;y=f>>31;p=y^z;k=p-y|0;h=f>>31;f=(h^f)-((p>>>0>>0)+h|0)|0;p=f;y=u-M|0;f=(u>>31)-((u>>>0>>0)+T|0)|0;u=f;s=f>>31;t=s^y;Y=t-s|0;h=f>>31;f=(h^f)-((s>>>0>t>>>0)+h|0)|0;h=(p|0)==(f|0)&k>>>0>Y>>>0|f>>>0

>>0;f=pk(-1,2147483647,h?k:Y,h?p:f);h=ja;if((h|0)==(i|0)&e>>>0>f>>>0|h>>>0>>0){break f}f=e;e=i;h=I>>31;p=h^D;i=p-h|0;h=(h^I)-((h>>>0>p>>>0)+h|0)|0;k=G>>31;s=k^A;t=s-k|0;k=(k^G)-((k>>>0>s>>>0)+k|0)|0;p=(h|0)==(k|0)&i>>>0>t>>>0|h>>>0>k>>>0;i=p?i:t;h=p?h:k;k=L>>31;p=i;s=k^F;t=s-k|0;k=(k^L)-((k>>>0>s>>>0)+k|0)|0;i=(h|0)==(k|0)&i>>>0>t>>>0|h>>>0>k>>>0;i=pk(-1,2147483647,i?p:t,i?h:k);h=ja;if((h|0)==(e|0)&f>>>0>i>>>0|e>>>0>h>>>0){break f}i=1;f=0;k=ok(nk(x,w,A,G),ja,q,r);h=k+v|0;e=ja+O|0;e=h>>>0>>0?e+1|0:e;k=j-h|0;e=U-((h>>>0>j>>>0)+e|0)|0;k=nk(k,e,k,e);v=ja;h=ok(nk(x,w,D,I),ja,q,r);j=h+B|0;e=ja+P|0;e=h>>>0>j>>>0?e+1|0:e;h=g-j|0;e=V-((g>>>0>>0)+e|0)|0;j=nk(h,e,h,e);e=j+k|0;h=ja+v|0;h=e>>>0>>0?h+1|0:h;k=e;g=ok(nk(x,w,F,L),ja,q,r);j=g+E|0;e=ja+Q|0;e=g>>>0>j>>>0?e+1|0:e;g=m-j|0;e=W-((j>>>0>m>>>0)+e|0)|0;g=nk(g,e,g,e);j=g+k|0;e=ja+h|0;j=nk(j,g>>>0>j>>>0?e+1|0:e,q,r);e=ja;m=e;if(!e&j>>>0<=1){break i}h=j;g=m;while(1){e=f<<1|i>>>31;i=i<<1;f=e;k=!g&h>>>0>7|(g|0)!=0;h=(g&3)<<30|h>>>2;g=g>>>2|0;if(k){continue}break}break h}g=o;if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){J[o+8>>2]=0;J[o+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;J[g+8>>2]=J[e>>2];J[o+12>>2]=J[e+4>>2]}n=1;break f}f=m;i=j;if(j-1|0){break g}}while(1){e=pk(j,m,i,f);h=f+ja|0;e=e+i|0;h=e>>>0>>0?h+1|0:h;i=(h&1)<<31|e>>>1;f=h>>>1|0;e=nk(i,f,i,f);g=ja;if((m|0)==(g|0)&e>>>0>j>>>0|g>>>0>m>>>0){continue}break}}e=J[o+20>>2];if(!e){break f}j=e-1|0;m=J[J[o+16>>2]+(j>>>3&536870908)>>2];J[o+20>>2]=j;n=1;e=nk(x,w,y,u);h=ja;g=e;e=nk(q,r,M,T);g=g+e|0;h=ja+h|0;h=e>>>0>g>>>0?h+1|0:h;e=nk(i,f,z,X);j=m>>>j&1;m=j?0-e|0:e;g=m+g|0;k=h;h=ja;k=k+(j?0-(h+((e|0)!=0)|0)|0:h)|0;$=o,aa=ok(g,g>>>0>>0?k+1|0:k,q,r),J[$+12>>2]=aa;e=nk(x,w,z,X);m=ja;g=e;e=nk(q,r,R,S);g=g+e|0;h=ja+m|0;h=e>>>0>g>>>0?h+1|0:h;e=nk(i,f,y,u);f=0-e|0;i=ja;k=(j?i:0-(((e|0)!=0)+i|0)|0)+h|0;i=g;g=j?e:f;f=i+g|0;$=o,aa=ok(f,f>>>0>>0?k+1|0:k,q,r),J[$+8>>2]=aa}fa=l+80|0;e=n;break d}yc();C()}j=e;if(!e){return 0}l:{if(J[a+8>>2]<=0){break l}i=J[N>>2];e=0;while(1){f=e<<2;g=J[f+_>>2];m=J[a+16>>2];m:{if((g|0)>(m|0)){J[f+i>>2]=m;break m}f=f+i|0;m=J[a+12>>2];if((m|0)>(g|0)){J[f>>2]=m;break m}J[f>>2]=g}e=e+1|0;g=J[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break l}e=d<<3;m=e+c|0;n=b+e|0;while(1){g=f<<2;e=g+m|0;g=J[g+n>>2]+J[g+i>>2]|0;J[e>>2]=g;n:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break n}g=g+J[a+20>>2]|0}J[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((Z|0)!=(d|0)){continue}break}}return j|0}yc();C()}function Wc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;a:{b:{if((e|0)!=2){break b}J[a+8>>2]=2;J[a- -64>>2]=f;N=a+32|0;e=J[N>>2];d=J[a+36>>2]-e|0;c:{if(d>>>0<=7){La(N,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}J[a+36>>2]=e+8}o=1;d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<=0){break b}n=a+60|0;d=d>>>2|0;Z=d>>>0<=1?1:d;_=a+68|0;d=0;while(1){e=J[a+56>>2];i=J[e>>2];if(J[e+4>>2]-i>>2>>>0<=d>>>0){break a}l=fa-80|0;fa=l;f=-1;i=J[i+(d<<2)>>2];e=-1;d:{if((i|0)==-1){break d}e=i+1|0;f=(e>>>0)%3|0?e:i-2|0;e=i-1|0;if((i>>>0)%3|0){break d}e=i+2|0}g=J[n+36>>2];i=J[g>>2];e:{f:{g:{h:{i:{g=J[g+4>>2]-i>>2;k=f<<2;f=J[J[n+32>>2]+28>>2];j=J[k+f>>2];if(g>>>0<=j>>>0){break i}e=J[f+(e<<2)>>2];if(e>>>0>=g>>>0){break i}f=J[i+(j<<2)>>2];j:{k:{j=J[i+(e<<2)>>2];if((d|0)<=(f|0)|(j|0)>=(d|0)){break k}i=(j<<3)+c|0;u=J[i+4>>2];g=(f<<3)+c|0;e=J[g+4>>2];z=J[i>>2];i=J[g>>2];if(!((z|0)!=(i|0)|(e|0)!=(u|0))){J[n+8>>2]=i;J[n+12>>2]=e;break j}o=J[J[n+4>>2]+(d<<2)>>2];J[l+72>>2]=0;J[l+76>>2]=0;g=l- -64|0;J[g>>2]=0;J[g+4>>2]=0;J[l+56>>2]=0;J[l+60>>2]=0;g=J[n>>2];if(!K[g+84|0]){o=J[J[g+68>>2]+(o<<2)>>2]}Xc(g,o,H[g+24|0],l+56|0);o=J[J[n+4>>2]+(f<<2)>>2];J[l+48>>2]=0;J[l+52>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;J[l+32>>2]=0;J[l+36>>2]=0;g=J[n>>2];if(!K[g+84|0]){o=J[J[g+68>>2]+(o<<2)>>2]}Xc(g,o,H[g+24|0],l+32|0);o=J[J[n+4>>2]+(j<<2)>>2];J[l+24>>2]=0;J[l+28>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+8>>2]=0;J[l+12>>2]=0;g=J[n>>2];if(!K[g+84|0]){o=J[J[g+68>>2]+(o<<2)>>2]}Xc(g,o,H[g+24|0],l+8|0);g=J[l+16>>2];v=J[l+40>>2];A=g-v|0;O=J[l+44>>2];g=J[l+20>>2]-(O+(g>>>0>>0)|0)|0;G=g;j=nk(A,g,A,g);m=ja;g=J[l+8>>2];B=J[l+32>>2];D=g-B|0;P=J[l+36>>2];g=J[l+12>>2]-(P+(g>>>0>>0)|0)|0;I=g;k=j;j=nk(D,g,D,g);g=k+j|0;k=ja+m|0;k=g>>>0>>0?k+1|0:k;j=J[l+24>>2];E=J[l+48>>2];F=j-E|0;Q=J[l+52>>2];j=J[l+28>>2]-(Q+(j>>>0>>0)|0)|0;L=j;h=g;g=nk(F,j,F,j);q=h+g|0;h=ja+k|0;r=g>>>0>q>>>0?h+1|0:h;if(!(r|q)){break k}o=0;w=pk(-1,2147483647,q,r);f=i>>31;S=f;h=f>>31;R=i;g=h;m=i^g;i=m-g|0;f=(f^g)-((g>>>0>m>>>0)+g|0)|0;g=f;f=e>>31;T=f;M=e;e=f>>31;m=M^e;h=m-e|0;k=f>>31;e=(k^f)-((e>>>0>m>>>0)+k|0)|0;f=(g|0)==(e|0)&h>>>0>>0|e>>>0>>0;i=f?i:h;j=ja;e=f?g:e;if((j|0)==(e|0)&i>>>0>w>>>0|e>>>0>j>>>0){break e}i=J[l+64>>2];U=J[l+68>>2];e=nk(i-v|0,U-((i>>>0>>0)+O|0)|0,A,G);f=ja;g=J[l+56>>2];V=J[l+60>>2];j=nk(g-B|0,V-((g>>>0>>0)+P|0)|0,D,I);e=j+e|0;h=ja+f|0;m=J[l+72>>2];W=J[l+76>>2];f=nk(m-E|0,W-((m>>>0>>0)+Q|0)|0,F,L);x=f+e|0;e=ja+(e>>>0>>0?h+1|0:h)|0;e=f>>>0>x>>>0?e+1|0:e;w=e;f=e;e=e>>31;j=e;h=e^x;e=h-e|0;j=(f^j)-((h>>>0>>0)+j|0)|0;f=z;z=f-R|0;f=(f>>31)-((f>>>0>>0)+S|0)|0;X=f;y=f>>31;p=y^z;k=p-y|0;h=f>>31;f=(h^f)-((p>>>0>>0)+h|0)|0;p=f;y=u-M|0;f=(u>>31)-((u>>>0>>0)+T|0)|0;u=f;s=f>>31;t=s^y;Y=t-s|0;h=f>>31;f=(h^f)-((s>>>0>t>>>0)+h|0)|0;h=(p|0)==(f|0)&k>>>0>Y>>>0|f>>>0

>>0;f=pk(-1,2147483647,h?k:Y,h?p:f);h=ja;if((h|0)==(j|0)&e>>>0>f>>>0|h>>>0>>0){break e}f=e;e=j;h=I>>31;p=h^D;j=p-h|0;h=(h^I)-((h>>>0>p>>>0)+h|0)|0;k=G>>31;s=k^A;t=s-k|0;k=(k^G)-((k>>>0>s>>>0)+k|0)|0;p=(h|0)==(k|0)&j>>>0>t>>>0|h>>>0>k>>>0;j=p?j:t;h=p?h:k;k=L>>31;p=j;s=k^F;t=s-k|0;k=(k^L)-((k>>>0>s>>>0)+k|0)|0;j=(h|0)==(k|0)&j>>>0>t>>>0|h>>>0>k>>>0;j=pk(-1,2147483647,j?p:t,j?h:k);h=ja;if((h|0)==(e|0)&f>>>0>j>>>0|e>>>0>h>>>0){break e}j=1;f=0;k=ok(nk(x,w,A,G),ja,q,r);h=k+v|0;e=ja+O|0;e=h>>>0>>0?e+1|0:e;k=i-h|0;e=U-((h>>>0>i>>>0)+e|0)|0;k=nk(k,e,k,e);v=ja;h=ok(nk(x,w,D,I),ja,q,r);i=h+B|0;e=ja+P|0;e=h>>>0>i>>>0?e+1|0:e;h=g-i|0;e=V-((g>>>0>>0)+e|0)|0;i=nk(h,e,h,e);e=i+k|0;h=ja+v|0;h=e>>>0>>0?h+1|0:h;k=e;g=ok(nk(x,w,F,L),ja,q,r);i=g+E|0;e=ja+Q|0;e=g>>>0>i>>>0?e+1|0:e;g=m-i|0;e=W-((i>>>0>m>>>0)+e|0)|0;g=nk(g,e,g,e);i=g+k|0;e=ja+h|0;i=nk(i,g>>>0>i>>>0?e+1|0:e,q,r);e=ja;m=e;if(!e&i>>>0<=1){break h}h=i;g=m;while(1){e=f<<1|j>>>31;j=j<<1;f=e;k=!g&h>>>0>7|(g|0)!=0;h=(g&3)<<30|h>>>2;g=g>>>2|0;if(k){continue}break}break g}g=n;if((d|0)>(f|0)){e=f<<1}else{if((d|0)<=0){J[n+8>>2]=0;J[n+12>>2]=0;break j}e=(d<<1)-2|0}e=(e<<2)+c|0;J[g+8>>2]=J[e>>2];J[n+12>>2]=J[e+4>>2]}o=1;break e}yc();C()}f=m;j=i;if(i-1|0){break f}}while(1){e=pk(i,m,j,f);h=f+ja|0;e=e+j|0;h=e>>>0>>0?h+1|0:h;j=(h&1)<<31|e>>>1;f=h>>>1|0;e=nk(j,f,j,f);g=ja;if((m|0)==(g|0)&e>>>0>i>>>0|g>>>0>m>>>0){continue}break}}e=J[n+20>>2];if(!e){break e}i=e-1|0;m=J[J[n+16>>2]+(i>>>3&536870908)>>2];J[n+20>>2]=i;o=1;e=nk(x,w,y,u);h=ja;g=e;e=nk(q,r,M,T);g=g+e|0;h=ja+h|0;h=e>>>0>g>>>0?h+1|0:h;e=nk(j,f,z,X);i=m>>>i&1;m=i?0-e|0:e;g=m+g|0;k=h;h=ja;k=k+(i?0-(h+((e|0)!=0)|0)|0:h)|0;$=n,aa=ok(g,g>>>0>>0?k+1|0:k,q,r),J[$+12>>2]=aa;e=nk(x,w,z,X);m=ja;g=e;e=nk(q,r,R,S);g=g+e|0;h=ja+m|0;h=e>>>0>g>>>0?h+1|0:h;e=nk(j,f,y,u);f=0-e|0;j=ja;k=(i?j:0-(((e|0)!=0)+j|0)|0)+h|0;j=g;g=i?e:f;f=j+g|0;$=n,aa=ok(f,f>>>0>>0?k+1|0:k,q,r),J[$+8>>2]=aa}fa=l+80|0;if(!o){return 0}l:{if(J[a+8>>2]<=0){break l}g=J[N>>2];e=0;while(1){f=e<<2;i=J[f+_>>2];j=J[a+16>>2];m:{if((i|0)>(j|0)){J[f+g>>2]=j;break m}f=f+g|0;j=J[a+12>>2];if((j|0)>(i|0)){J[f>>2]=j;break m}J[f>>2]=i}e=e+1|0;i=J[a+8>>2];if((e|0)<(i|0)){continue}break}f=0;if((i|0)<=0){break l}e=d<<3;j=e+c|0;m=b+e|0;while(1){i=f<<2;e=i+j|0;i=J[i+m>>2]+J[g+i>>2]|0;J[e>>2]=i;n:{if((i|0)>J[a+16>>2]){k=i-J[a+20>>2]|0}else{if((i|0)>=J[a+12>>2]){break n}k=i+J[a+20>>2]|0}J[e>>2]=k}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((Z|0)!=(d|0)){continue}break}}return o|0}yc();C()}function kj(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=fa-80|0;fa=j;J[j+76>>2]=b;y=j+55|0;t=j+56|0;a:{b:{c:{d:{e:while(1){k=b;if((q^2147483647)<(h|0)){break d}q=h+q|0;f:{g:{h:{h=k;i=K[h|0];if(i){while(1){i:{b=i&255;j:{if(!b){b=h;break j}if((b|0)!=37){break i}i=h;while(1){if(K[i+1|0]!=37){b=i;break j}h=h+1|0;m=K[i+2|0];b=i+2|0;i=b;if((m|0)==37){continue}break}}h=h-k|0;x=q^2147483647;if((h|0)>(x|0)){break d}if(a){lj(a,k,h)}if(h){continue e}J[j+76>>2]=b;h=b+1|0;r=-1;if(!(K[b+2|0]!=36|H[b+1|0]-48>>>0>=10)){r=H[b+1|0]-48|0;u=1;h=b+3|0}J[j+76>>2]=h;o=0;i=H[h|0];b=i-32|0;k:{if(b>>>0>31){n=h;break k}n=h;b=1<>2]=n;o=b|o;i=H[h+1|0];b=i-32|0;if(b>>>0>=32){break k}h=n;b=1<>>0>=10)){J[((H[n+1|0]<<2)+e|0)-192>>2]=10;i=n+3|0;u=1;b=J[((H[n+1|0]<<3)+d|0)-384>>2];break m}if(u){break h}i=n+1|0;if(!a){J[j+76>>2]=i;u=0;s=0;break l}b=J[c>>2];J[c>>2]=b+4;u=0;b=J[b>>2]}J[j+76>>2]=i;s=b;if((b|0)>=0){break l}s=0-s|0;o=o|8192;break l}s=mj(j+76|0);if((s|0)<0){break d}i=J[j+76>>2]}h=0;l=-1;n:{if(K[i|0]!=46){b=i;w=0;break n}if(K[i+1|0]==42){o:{if(!(K[i+3|0]!=36|H[i+2|0]-48>>>0>=10)){J[((H[i+2|0]<<2)+e|0)-192>>2]=10;b=i+4|0;l=J[((H[i+2|0]<<3)+d|0)-384>>2];break o}if(u){break h}b=i+2|0;l=0;if(!a){break o}i=J[c>>2];J[c>>2]=i+4;l=J[i>>2]}J[j+76>>2]=b;w=(l^-1)>>>31|0;break n}J[j+76>>2]=i+1;l=mj(j+76|0);b=J[j+76>>2];w=1}while(1){p=h;n=28;m=b;h=H[b|0];if(h-123>>>0<4294967238){break c}b=m+1|0;h=K[(h+P(p,58)|0)+13759|0];if(h-1>>>0<8){continue}break}J[j+76>>2]=b;p:{q:{if((h|0)!=27){if(!h){break c}if((r|0)>=0){J[(r<<2)+e>>2]=h;i=(r<<3)+d|0;h=J[i+4>>2];J[j+64>>2]=J[i>>2];J[j+68>>2]=h;break q}if(!a){break f}nj(j- -64|0,h,c,g);break p}if((r|0)>=0){break c}}h=0;if(!a){continue e}}i=o&-65537;o=o&8192?i:o;r=0;v=1132;n=t;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{h=H[m|0];h=p?(h&15)==3?h&-33:h:h;switch(h-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(h-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((h|0)==83){break w}break g}i=J[j+64>>2];m=J[j+68>>2];v=1132;break z}h=0;I:{switch(p&255){case 0:J[J[j+64>>2]>>2]=q;continue e;case 1:J[J[j+64>>2]>>2]=q;continue e;case 2:k=J[j+64>>2];J[k>>2]=q;J[k+4>>2]=q>>31;continue e;case 3:I[J[j+64>>2]>>1]=q;continue e;case 4:H[J[j+64>>2]]=q;continue e;case 6:J[J[j+64>>2]>>2]=q;continue e;case 7:break I;default:continue e}}k=J[j+64>>2];J[k>>2]=q;J[k+4>>2]=q>>31;continue e}l=l>>>0<=8?8:l;o=o|8;h=120}k=t;i=J[j+64>>2];m=J[j+68>>2];if(i|m){z=h&32;while(1){k=k-1|0;H[k|0]=z|K[(i&15)+14288|0];A=!m&i>>>0>15|(m|0)!=0;p=m;m=m>>>4|0;i=(p&15)<<28|i>>>4;if(A){continue}break}}if(!(J[j+64>>2]|J[j+68>>2])|!(o&8)){break y}v=(h>>>4|0)+1132|0;r=2;break y}h=t;k=J[j+68>>2];m=k;i=J[j+64>>2];if(k|i){while(1){h=h-1|0;H[h|0]=i&7|48;p=!m&i>>>0>7|(m|0)!=0;k=m;m=k>>>3|0;i=(k&7)<<29|i>>>3;if(p){continue}break}}k=h;if(!(o&8)){break y}h=t-k|0;l=(h|0)<(l|0)?l:h+1|0;break y}i=J[j+64>>2];h=J[j+68>>2];m=h;if((h|0)<0){k=0-(m+((i|0)!=0)|0)|0;m=k;i=0-i|0;J[j+64>>2]=i;J[j+68>>2]=k;r=1;v=1132;break z}if(o&2048){r=1;v=1133;break z}r=o&1;v=r?1134:1132}k=oj(i,m,t)}if((l|0)<0?w:0){break d}o=w?o&-65537:o;h=J[j+64>>2];i=J[j+68>>2];if(!(l|(h|i)!=0)){k=t;l=0;break g}h=!(h|i)+(t-k|0)|0;l=(h|0)<(l|0)?l:h;break g}n=l>>>0>=2147483647?2147483647:l;p=n;o=(n|0)!=0;h=J[j+64>>2];k=h?h:1649;h=k;J:{K:{L:{M:{if(!(h&3)|!n){break M}while(1){if(!K[h|0]){break L}p=p-1|0;o=(p|0)!=0;h=h+1|0;if(!(h&3)){break M}if(p){continue}break}}if(!o){break K}if(!(!K[h|0]|p>>>0<4)){while(1){m=J[h>>2];if((m^-1)&m-16843009&-2139062144){break L}h=h+4|0;p=p-4|0;if(p>>>0>3){continue}break}}if(!p){break K}}while(1){if(!K[h|0]){break J}h=h+1|0;p=p-1|0;if(p){continue}break}}h=0}h=h?h-k|0:n;n=h+k|0;if((l|0)>=0){o=i;l=h;break g}o=i;l=h;if(K[n|0]){break d}break g}if(l){i=J[j+64>>2];break u}h=0;pj(a,32,s,0,o);break t}J[j+12>>2]=0;J[j+8>>2]=J[j+64>>2];i=j+8|0;J[j+64>>2]=i;l=-1}h=0;N:{while(1){k=J[i>>2];if(!k){break N}m=sj(j+4|0,k);k=(m|0)<0;if(!(k|m>>>0>l-h>>>0)){i=i+4|0;h=h+m|0;if(l>>>0>h>>>0){continue}break N}break}if(k){break b}}n=61;if((h|0)<0){break c}pj(a,32,s,h,o);if(!h){h=0;break t}n=0;i=J[j+64>>2];while(1){k=J[i>>2];if(!k){break t}k=sj(j+4|0,k);n=k+n|0;if(n>>>0>h>>>0){break t}lj(a,j+4|0,k);i=i+4|0;if(h>>>0>n>>>0){continue}break}}pj(a,32,s,h,o^8192);h=(h|0)<(s|0)?s:h;continue e}if((l|0)<0?w:0){break d}n=61;h=ka[f|0](a,O[j+64>>3],s,l,o,h)|0;if((h|0)>=0){continue e}break c}H[j+55|0]=J[j+64>>2];l=1;k=y;o=i;break g}i=K[h+1|0];h=h+1|0;continue}}if(a){break a}if(!u){break f}h=1;while(1){a=J[(h<<2)+e>>2];if(a){nj((h<<3)+d|0,a,c,g);q=1;h=h+1|0;if((h|0)!=10){continue}break a}break}q=1;if(h>>>0>=10){break a}while(1){if(J[(h<<2)+e>>2]){break h}h=h+1|0;if((h|0)!=10){continue}break}break a}n=28;break c}m=n-k|0;i=(l|0)>(m|0)?l:m;if((i|0)>(r^2147483647)){break d}n=61;l=i+r|0;h=(l|0)<(s|0)?s:l;if((x|0)<(h|0)){break c}pj(a,32,h,l,o);lj(a,v,r);pj(a,48,h,l,o^65536);pj(a,48,i,m,0);lj(a,k,m);pj(a,32,h,l,o^8192);continue}break}q=0;break a}n=61}J[4004]=n}q=-1}fa=j+80|0;return q}function Bb(a,b){var c=0,d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;J[a+12>>2]=b;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=a+16|0;J[d>>2]=0;J[d+4>>2]=0;H[d+5|0]=0;H[d+6|0]=0;H[d+7|0]=0;H[d+8|0]=0;H[d+9|0]=0;H[d+10|0]=0;H[d+11|0]=0;H[d+12|0]=0;c=d+16|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+32|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+48|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d- -64|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+80|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+96|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+112|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+128|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+144|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+160|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+176|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+192|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+208|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+224|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+240|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+256|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+272|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+288|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+304|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+320|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+336|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+352|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+368|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+384|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+400|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+416|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+432|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+448|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+464|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c=d+480|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;d=d+496|0;J[d>>2]=0;J[d+4>>2]=0;H[d+5|0]=0;H[d+6|0]=0;H[d+7|0]=0;H[d+8|0]=0;H[d+9|0]=0;H[d+10|0]=0;H[d+11|0]=0;H[d+12|0]=0;J[a+528>>2]=0;J[a+532>>2]=0;H[a+533|0]=0;H[a+534|0]=0;H[a+535|0]=0;H[a+536|0]=0;H[a+537|0]=0;H[a+538|0]=0;H[a+539|0]=0;H[a+540|0]=0;J[a+544>>2]=0;J[a+548>>2]=0;J[a+560>>2]=0;J[a+552>>2]=0;J[a+556>>2]=0;J[a+564>>2]=0;J[a+568>>2]=0;J[a+580>>2]=0;J[a+572>>2]=0;J[a+576>>2]=0;J[a+584>>2]=0;J[a+588>>2]=0;J[a+600>>2]=0;J[a+592>>2]=0;J[a+596>>2]=0;J[a+612>>2]=0;J[a+604>>2]=0;J[a+608>>2]=0;g=a+628|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+616>>2]=0;J[a+620>>2]=0;J[a+624>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;d=1;break a}d=b<<2;c=Cj(d);J[a+604>>2]=c;f=c+d|0;J[a+612>>2]=f;Xi(c,0,d);J[a+624>>2]=0;J[a+616>>2]=0;J[a+620>>2]=0;J[a+608>>2]=f;c=Cj(d);J[a+616>>2]=c;f=c+d|0;J[a+624>>2]=f;Xi(c,0,d);J[a+620>>2]=f;c=Cj(d);J[e>>2]=c;f=c+d|0;J[e+8>>2]=f;Xi(c,0,d);J[e+4>>2]=f;d=b<<5|1}Hb(g,d,e);c=J[e>>2];if(c){J[e+4>>2]=c;xj(c)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;c=Cj(b);J[e>>2]=c;f=b+c|0;J[e+8>>2]=f;Xi(c,0,b);J[e+4>>2]=f}Hb(a+640|0,d,e);b=J[e>>2];if(b){J[e+4>>2]=b;xj(b)}fa=e+16|0;return a}function zg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=I[b>>1];if((e|0)<0){break b}I[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(e+32768>>>0>65535){break b}I[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(e>>>0>32767){break b}I[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=J[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=J[b+4>>2];e=J[b>>2];i=e+32768|0;h=i>>>0<32768?h+1|0:h;if(!h&i>>>0>65535|h){break b}I[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>32767|k){break b}I[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(32767)|m>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(32767)|mQ(1)){break d}e=(b<<1)+d|0;l=V(+m*32767+.5);f:{if(R(l)<2147483648){i=~~l;break f}i=-2147483648}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}Xi((e<<1)+d|0,0,c-e<<1)}return j;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=32767|l<-32768|l!=l){break g}o=R(l);if(o==Infinity){break g}e=(b<<1)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=32767|l<-32768|(R(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<1)+d|0;l=V(l*32767+.5);i:{if(R(l)<2147483648){i=~~l;break i}i=-2147483648}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}Xi((e<<1)+d|0,0,c-e<<1)}return j;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}Xi((e<<1)+d|0,0,(c&255)-e<<1)}return j}Xi((e<<1)+d|0,0,(c&255)-e<<1);return 1}function Bg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=I[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=J[b>>2];if((e|0)<0){break b}J[(g<<2)+d>>2]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=J[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=J[b+4>>2];e=J[b>>2];if(e- -2147483648>>>0<2147483648?h+1|0:h){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>2147483647|k){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|m>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|mQ(1)){break d}e=(b<<2)+d|0;l=V(+m*2147483647+.5);f:{if(R(l)<2147483648){i=~~l;break f}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}Xi((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|l!=l){break g}o=R(l);if(o==Infinity){break g}e=(b<<2)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|(R(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<2)+d|0;l=V(l*2147483647+.5);i:{if(R(l)<2147483648){i=~~l;break i}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}Xi((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}Xi((e<<2)+d|0,0,(c&255)-e<<2)}return j}Xi((e<<2)+d|0,0,(c&255)-e<<2);return 1}function Ag(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=H[b|0];if((e|0)<0){break b}I[(g<<1)+d>>1]=e&255;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=I[b>>1];if((e|0)<0){break b}I[(g<<1)+d>>1]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(e>>>0>65535){break b}I[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(e>>>0>65535){break b}I[(g<<1)+d>>1]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>65535|k){break b}I[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>65535|k){break b}I[(g<<1)+d>>1]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];l=J[e>>2];g=l;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-l|0;if(!K[a+32|0]){l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(65535)|m=Q(0)){i=~~m>>>0}else{i=0}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(65535)|mQ(1)){break d}e=(b<<1)+d|0;j=V(+m*65535+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}l=1;if(c>>>0<=e>>>0){break d}Xi((e<<1)+d|0,0,c-e<<1)}return l;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];l=J[e>>2];g=l;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-l|0;if(!K[a+32|0]){l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[g>>3];if(j>=65535|j<0|(R(j)==Infinity|j!=j)){break g}e=(b<<1)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[g>>3];if(j>=65535|j<0|(R(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<1)+d|0;j=V(j*65535+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}I[e>>1]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}l=1;if(c>>>0<=e>>>0){break g}Xi((e<<1)+d|0,0,c-e<<1)}return l;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}I[(g<<1)+d>>1]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break b}Xi((e<<1)+d|0,0,(c&255)-e<<1)}return l}Xi((e<<1)+d|0,0,(c&255)-e<<1);return 1}function Xc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0,n=Q(0),o=0;a:{if(!d){break a}b:{c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=H[b|0];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=I[b>>1];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=L[b>>1];J[e+4>>2]=0;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=J[b>>2];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=0;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=J[b+4>>2];e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=J[b>>2];i=J[b+4>>2];if((i|0)<0){break a}j=(g<<3)+d|0;J[j>>2]=e;J[j+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=K[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break d}if(K[a+32|0]){break a}e=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=N[g>>2];if(k>=Q(0x8000000000000000)|k=Q(1)?~~(k>Q(0)?Q(T(Q(V(Q(k*Q(2.3283064365386963e-10)))),Q(4294967296))):Q(W(Q(Q(k-Q(~~k>>>0>>>0))*Q(2.3283064365386963e-10)))))>>>0:0;m=~~k>>>0;break e}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=K[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break f}if(K[a+32|0]){break a}e=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){l=O[g>>3];if(l>=0x8000000000000000|l<-0x8000000000000000|l!=l){break a}o=R(l);if(o==Infinity){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){j=R(l)>=1?~~(l>0?T(V(l*2.3283064365386963e-10),4294967295):W((l-+(~~l>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~l>>>0;break g}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}Xi(d,0,a<<3)}}function nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=a;a:{b:{c:{d:{e:{f:{g:{h:{a=J[a+8>>2];switch(J[a+28>>2]-1|0){case 4:break c;case 5:break d;case 2:break e;case 3:break f;case 0:break g;case 1:break h;default:break a}}f=K[a+24|0];c=Cj(f);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;H[a+c|0]=J[k>>2];H[(a|1)+c|0]=J[k+4>>2];H[(a|2)+c|0]=J[k+8>>2];H[(a|3)+c|0]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){H[a+c|0]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}f=K[a+24|0];c=Cj(f);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(f){o=f&252;l=f&3;h=f>>>0<4;while(1){a=0;e=0;if(!h){while(1){k=g+(d<<2)|0;H[a+c|0]=J[k>>2];H[(a|1)+c|0]=J[k+4>>2];H[(a|2)+c|0]=J[k+8>>2];H[(a|3)+c|0]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){H[a+c|0]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+m|0,c,f);m=f+m|0;n=n+1|0;if((n|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);a=a+f|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,f);a=a+f|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,f);break b}h=K[a+24|0];i=h<<1;c=Cj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;I[f+c>>1]=J[k>>2];I[(f|2)+c>>1]=J[k+4>>2];I[(f|4)+c>>1]=J[k+8>>2];I[(f|6)+c>>1]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){I[(a<<1)+c>>1]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=K[a+24|0];i=h<<1;c=Cj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<1;k=g+(d<<2)|0;I[f+c>>1]=J[k>>2];I[(f|2)+c>>1]=J[k+4>>2];I[(f|4)+c>>1]=J[k+8>>2];I[(f|6)+c>>1]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){I[(a<<1)+c>>1]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=K[a+24|0];i=h<<2;c=Cj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;J[f+c>>2]=J[k>>2];J[(f|4)+c>>2]=J[k+4>>2];J[(f|8)+c>>2]=J[k+8>>2];J[(f|12)+c>>2]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){J[(a<<2)+c>>2]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);break b}h=K[a+24|0];i=h<<2;c=Cj(i);a=J[j+16>>2];if(J[a+80>>2]){g=J[J[a>>2]>>2]+J[a+48>>2]|0}else{g=0}if(!b){break b}if(h){o=h&252;l=h&3;h=h>>>0<4;while(1){a=0;e=0;if(!h){while(1){f=a<<2;k=g+(d<<2)|0;J[f+c>>2]=J[k>>2];J[(f|4)+c>>2]=J[k+4>>2];J[(f|8)+c>>2]=J[k+8>>2];J[(f|12)+c>>2]=J[k+12>>2];a=a+4|0;d=d+4|0;e=e+4|0;if((o|0)!=(e|0)){continue}break}}e=0;if(l){while(1){J[(a<<2)+c>>2]=J[g+(d<<2)>>2];a=a+1|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[J[J[j+8>>2]+64>>2]>>2]+n|0,c,i);n=i+n|0;m=m+1|0;if((m|0)!=(b|0)){continue}break}break b}a=0;if((b|0)!=1){g=b&-2;while(1){Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i);a=a+i|0;Vi(a+J[J[J[j+8>>2]+64>>2]>>2]|0,c,i);a=a+i|0;d=d+2|0;if((g|0)!=(d|0)){continue}break}}if(!(b&1)){break b}Vi(J[J[J[j+8>>2]+64>>2]>>2]+a|0,c,i)}xj(c);c=1}return c|0}function Cg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=I[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(J[b+4>>2]){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}e=J[b>>2];if(J[b+4>>2]){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];k=J[e>>2];g=k;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-k|0;if(!K[a+32|0]){k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(4294967296)|m=Q(0)){i=~~m>>>0}else{i=0}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(4294967296)|mQ(1)){break d}e=(b<<2)+d|0;j=V(+m*4294967295+.5);f:{if(j<4294967296&j>=0){i=~~j>>>0;break f}i=0}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}k=1;if(c>>>0<=e>>>0){break d}Xi((e<<2)+d|0,0,c-e<<2)}return k;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];k=J[e>>2];g=k;f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-k|0;if(!K[a+32|0]){k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[g>>3];if(j>=4294967295|j<0|(R(j)==Infinity|j!=j)){break g}e=(b<<2)+d|0;if(j<4294967296&j>=0){i=~~j>>>0}else{i=0}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=0;if((b|0)>=(e|0)){break g}b=0;while(1){j=O[g>>3];if(j>=4294967295|j<0|(R(j)==Infinity|j!=j)){break g}if(j>1){break g}e=(b<<2)+d|0;j=V(j*4294967295+.5);i:{if(j<4294967296&j>=0){i=~~j>>>0;break i}i=0}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}k=1;if(c>>>0<=e>>>0){break g}Xi((e<<2)+d|0,0,c-e<<2)}return k;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];l=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+l|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}Xi((e<<2)+d|0,0,(c&255)-e<<2)}return k}Xi((e<<2)+d|0,0,(c&255)-e<<2);return 1}function Ef(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{if(J[a+92>>2]==J[a+88>>2]){break e}c=J[a+52>>2];f:{if((c|0)!=J[a+56>>2]){J[c>>2]=b;J[a+52>>2]=c+4;break f}h=J[a+48>>2];g=c-h|0;d=g>>2;f=d+1|0;if(f>>>0>=1073741824){break a}e=g>>>1|0;g=g>>>0>=2147483644?1073741823:f>>>0>>0?e:f;if(g){if(g>>>0>=1073741824){break d}e=Cj(g<<2)}else{e=0}f=e+(d<<2)|0;J[f>>2]=b;d=f+4|0;if((c|0)!=(h|0)){while(1){f=f-4|0;c=c-4|0;J[f>>2]=J[c>>2];if((c|0)!=(h|0)){continue}break}}J[a+56>>2]=e+(g<<2);J[a+52>>2]=d;J[a+48>>2]=f;if(!h){break f}xj(h)}J[a+84>>2]=0;c=-1;e=-1;g:{if((b|0)==-1){break g}d=J[a+4>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){c=J[J[d>>2]+(e<<2)>>2]}h:{if((b>>>0)%3|0){l=b-1|0;break h}l=b+2|0;e=-1;if((l|0)==-1){break g}}e=J[J[d>>2]+(l<<2)>>2]}i=e>>>3&536870908;d=J[a+36>>2];h=d+(c>>>3&536870908)|0;g=J[h>>2];f=1<>2]=f|g;f=a+8|0;if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}else{d=-1}Ff(f,c,d);d=J[a+36>>2]}f=d+i|0;d=J[f>>2];c=1<>2]=c|d;d=a+8|0;c=-1;i:{if((b|0)==-1){break i}c=b-1|0;if((b>>>0)%3|0){break i}c=b+2|0}Ff(d,e,c)}c=-1;c=(b|0)!=-1?J[J[J[a+4>>2]>>2]+(b<<2)>>2]:c;f=J[a+36>>2]+(c>>>3&536870908)|0;d=J[f>>2];e=1<>2]=d|e;Ff(a+8|0,c,b)}d=J[a+84>>2];if((d|0)>2){break e}while(1){e=P(d,12)+a|0;b=J[e+52>>2];if((b|0)==J[e+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}b=b-4|0;c=J[b>>2];J[e+52>>2]=b;J[a+84>>2]=d;if((c|0)==-1){break e}f=J[a+24>>2];b=(c>>>0)/3|0;j:{if(J[f+(b>>>3&268435452)>>2]>>>b&1){break j}k:{while(1){k=(c>>>0)/3|0;b=(k>>>3&268435452)+f|0;J[b>>2]=J[b>>2]|1<>2]>>2]+(c<<2)>>2]:d;f=J[a+36>>2]+(d>>>3&536870908)|0;e=J[f>>2];b=1<>2]=b|e;i=J[(J[J[a+16>>2]+96>>2]+P(k,12)|0)+((c>>>0)%3<<2)>>2];l=J[J[a+20>>2]+4>>2];f=J[l+4>>2];t:{if((f|0)!=J[l+8>>2]){J[f>>2]=i;J[l+4>>2]=f+4;break t}j=J[l>>2];h=f-j|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break s}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=Cj(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=i;g=b+4|0;if((f|0)!=(j|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(j|0)){continue}break}}J[l+8>>2]=e+(h<<2);J[l+4>>2]=g;J[l>>2]=b;if(!j){break t}xj(j)}j=J[a+12>>2];f=J[j+4>>2];u:{if((f|0)!=J[j+8>>2]){J[f>>2]=c;J[j+4>>2]=f+4;break u}i=J[j>>2];h=f-i|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break r}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=Cj(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=c;g=b+4|0;if((f|0)!=(i|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(i|0)){continue}break}}J[j+8>>2]=e+(h<<2);J[j+4>>2]=g;J[j>>2]=b;if(!i){break u}xj(i)}b=J[a+12>>2];J[J[b+12>>2]+(d<<2)>>2]=J[b+24>>2];J[b+24>>2]=J[b+24>>2]+1}if((c|0)==-1){break k}g=J[a+4>>2];f=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){f=J[J[g+12>>2]+(b<<2)>>2]}v:{w:{if((P(k,3)|0)!=(c|0)){d=c-1|0;break w}d=c+2|0;c=-1;if((d|0)==-1){break v}}c=J[J[g+12>>2]+(d<<2)>>2]}d=(c|0)==-1;e=(c>>>0)/3|0;if((f|0)!=-1){b=(f>>>0)/3|0;b=J[J[a+24>>2]+(b>>>3&268435452)>>2]&1<>2]+(b>>>3&536870908)>>2]>>>b&1){break x}k=0;b=J[J[g>>2]+(c<<2)>>2];if(!(J[J[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=J[a+88>>2]+(b<<2)|0;e=J[b>>2];J[b>>2]=e+1;k=(e|0)<=0?2:1}if(J[a+84>>2]>=(k|0)&l){break m}j=P(k,12)+a|0;b=J[j+52>>2];y:{if((b|0)!=J[j+56>>2]){J[b>>2]=c;J[j+52>>2]=b+4;break y}i=J[j+48>>2];h=b-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break c}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=Cj(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=c;c=d+4|0;if((b|0)!=(i|0)){while(1){d=d-4|0;b=b-4|0;J[d>>2]=J[b>>2];if((b|0)!=(i|0)){continue}break}}J[j+48>>2]=d;J[j+52>>2]=c;J[j+56>>2]=e+(g<<2);if(!i){break y}xj(i)}if(J[a+84>>2]<=(k|0)){break x}J[a+84>>2]=k}if(l){break k}c=-1;if((f|0)==-1){break n}}c=J[J[J[a+4>>2]>>2]+(f<<2)>>2]}b=0;if(!(J[J[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){b=J[a+88>>2]+(c<<2)|0;c=J[b>>2];J[b>>2]=c+1;b=(c|0)<=0?2:1}if(J[a+84>>2]<(b|0)){break l}c=f}f=J[a+24>>2];continue}break}k=P(b,12)+a|0;c=J[k+52>>2];z:{if((c|0)!=J[k+56>>2]){J[c>>2]=f;J[k+52>>2]=c+4;break z}i=J[k+48>>2];h=c-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break b}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=Cj(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=f;f=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[k+48>>2]=d;J[k+52>>2]=f;J[k+56>>2]=e+(g<<2);if(!i){break z}xj(i)}d=J[a+84>>2];if((d|0)<=(b|0)){break j}J[a+84>>2]=b;d=b;break j}d=J[a+84>>2]}if((d|0)<3){continue}break}}return 1}Va();C()}Ia();C()}Ia();C()}Ia();C()}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=fa-96|0;fa=n;o=J[a+4>>2];d=J[o+32>>2];i=J[d+8>>2];j=J[d+12>>2];e=j;c=J[d+20>>2];f=J[d+16>>2];a:{if((e|0)<=(c|0)&f>>>0>=i>>>0|(c|0)>(e|0)){break a}p=J[d>>2];g=K[p+f|0];h=f+1|0;e=h?c:c+1|0;J[d+16>>2]=h;J[d+20>>2]=e;if((e|0)>=(j|0)&h>>>0>=i>>>0|(e|0)>(j|0)){break a}m=K[h+p|0];h=f+2|0;e=h>>>0<2?c+1|0:c;J[d+16>>2]=h;J[d+20>>2]=e;l=g<<24>>24;b:{if((l|0)>=0){k=J[a+216>>2];if(g>>>0>=(J[a+220>>2]-k|0)/144>>>0){break a}k=k+P(g,144)|0;if(J[k>>2]<0){break b}break a}if(J[a+212>>2]>=0){break a}k=a+212|0}J[k>>2]=b;c:{d:{e:{f:{g:{h:{k=L[o+36>>1];i:{if(((k<<8|k>>>8)&65535)>>>0>=258){if((e|0)>=(j|0)&h>>>0>=i>>>0|(e|0)>(j|0)){break a}e=K[h+p|0];f=f+3|0;c=f>>>0<3?c+1|0:c;J[d+16>>2]=f;J[d+20>>2]=c;if(e>>>0>1){break a}d=e>>>0<2?e:0;if(!m){break i}if(!d){break h}break a}if(m){break g}d=0}if((l|0)<0){e=a+184|0}else{c=J[a+216>>2]+P(g,144)|0;H[c+100|0]=0;e=c+104|0}if((d|0)!=1){break e}c=fa-112|0;fa=c;h=J[J[a+4>>2]+44>>2];d=Cj(120);J[d>>2]=12220;J[d+4>>2]=0;J[d+116>>2]=0;J[d+112>>2]=e;J[d+108>>2]=h;J[d+12>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+8>>2]=12432;f=d- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[d+72>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;J[d+88>>2]=0;J[d+104>>2]=0;J[d+96>>2]=0;J[d+100>>2]=0;f=J[a+8>>2];J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;i=c+32|0;J[i>>2]=0;J[i+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;g=c- -64|0;J[g>>2]=0;J[g+4>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+104>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+8>>2]=12432;J[c+96>>2]=0;J[c+100>>2]=0;J[c+12>>2]=f;g=J[f>>2];j=J[f+4>>2];H[c+111|0]=0;m=i;i=c+111|0;Oe(m,(j-g>>2>>>0)/3|0,i);g=J[c+12>>2];j=J[g+28>>2];g=J[g+24>>2];H[c+111|0]=0;Oe(c+44|0,j-g>>2,i);J[c+28>>2]=d;J[c+24>>2]=h;J[c+20>>2]=e;J[c+16>>2]=f;f=d+8|0;e=c+8|0;Pe(f,e);j:{if((e|0)==(f|0)){J[d+92>>2]=J[e+84>>2];break j}bb(d+56|0,J[e+48>>2],J[e+52>>2]);bb(d+68|0,J[e+60>>2],J[e- -64>>2]);bb(d+80|0,J[e+72>>2],J[e+76>>2]);J[d+92>>2]=J[e+84>>2];Nb(d+96|0,J[e+88>>2],J[e+92>>2])}J[c+8>>2]=12432;e=J[c+96>>2];if(e){J[c+100>>2]=e;xj(e)}e=J[c+80>>2];if(e){J[c+84>>2]=e;xj(e)}e=J[c+68>>2];if(e){J[c+72>>2]=e;xj(e)}e=J[c+56>>2];if(e){J[c+60>>2]=e;xj(e)}J[c+8>>2]=12668;e=J[c+44>>2];if(e){xj(e)}e=J[c+32>>2];if(e){xj(e)}fa=c+112|0;break d}if((l|0)>=0){break f}break a}if((l|0)<0){break a}}e=J[a+216>>2];c=J[o+44>>2];d=Cj(80);J[d>>2]=12980;J[d+4>>2]=0;J[d+76>>2]=0;J[d+68>>2]=c;J[d+8>>2]=11920;J[d+12>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;e=e+P(g,144)|0;f=e+104|0;J[d+72>>2]=f;J[d- -64>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[n+24>>2]=c;c=n;J[c+68>>2]=0;J[c+72>>2]=0;J[c+60>>2]=0;J[c+64>>2]=0;J[c+52>>2]=0;J[c+56>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+28>>2]=d;h=J[c+28>>2];J[c+8>>2]=J[c+24>>2];J[c+12>>2]=h;J[c+20>>2]=f;f=e+4|0;J[c+16>>2]=f;J[c+36>>2]=0;J[c+40>>2]=0;J[c+32>>2]=11920;e=J[c+20>>2];J[c>>2]=J[c+16>>2];J[c+4>>2]=e;e=c+32|0;Me(e,f,c);c=d+8|0;Pe(c,e);if((c|0)!=(e|0)){bb(d+56|0,J[e+48>>2],J[e+52>>2])}Ne(e);break c}c=fa+-64|0;fa=c;h=J[J[a+4>>2]+44>>2];d=Cj(80);J[d>>2]=12688;J[d+4>>2]=0;J[d+76>>2]=0;J[d+72>>2]=e;J[d+68>>2]=h;J[d+8>>2]=12852;J[d+12>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d- -64>>2]=0;i=d+56|0;f=i;J[f>>2]=0;J[f+4>>2]=0;f=J[a+8>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;g=c+24|0;J[g>>2]=0;J[g+4>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c>>2]=12852;J[c+4>>2]=f;j=J[f>>2];l=J[f+4>>2];H[c+63|0]=0;m=g;g=c+63|0;Oe(m,(l-j>>2>>>0)/3|0,g);j=J[c+4>>2];l=J[j+28>>2];j=J[j+24>>2];H[c+63|0]=0;Oe(c+36|0,l-j>>2,g);J[c+20>>2]=d;J[c+16>>2]=h;J[c+12>>2]=e;J[c+8>>2]=f;Pe(d+8|0,c);bb(i,J[c+48>>2],J[c+52>>2]);J[c>>2]=12852;e=J[c+48>>2];if(e){J[c+52>>2]=e;xj(e)}J[c>>2]=12668;e=J[c+36>>2];if(e){xj(e)}e=J[c+24>>2];if(e){xj(e)}fa=c- -64|0}if(!d){break a}}d=_b(Cj(64),d);c=J[a+4>>2];a=d;d=b;k:{l:{if((d|0)>=0){h=c+8|0;b=J[c+12>>2];i=J[c+8>>2];e=b-i>>2;m:{if((e|0)>(d|0)){break m}f=d+1|0;if(d>>>0>=e>>>0){ac(h,f-e|0);break m}if(e>>>0<=f>>>0){break m}f=i+(f<<2)|0;if((f|0)!=(b|0)){while(1){b=b-4|0;e=J[b>>2];J[b>>2]=0;if(e){ka[J[J[e>>2]+4>>2]](e)}if((b|0)!=(f|0)){continue}break}}J[c+12>>2]=f}c=J[h>>2]+(d<<2)|0;b=J[c>>2];J[c>>2]=a;if(b){break l}break k}b=a;if(!a){break k}}ka[J[J[b>>2]+4>>2]](b)}q=(d^-1)>>>31|0}fa=n+96|0;return q|0}function tj(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;J[e+12>>2]=a;a:{if(a>>>0<=211){d=J[uj(14304,14496,e+12|0)>>2];break a}if(a>>>0>=4294967292){ca();C()}f=(a>>>0)/210|0;d=P(f,210);J[e+8>>2]=a-d;g=uj(14496,14688,e+8|0)-14496>>2;while(1){d=J[(g<<2)+14496>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0>>0){break a}if((P(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((P(b,c)|0)!=(d|0)){continue}break}break b}b=J[(a<<2)+14304>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((P(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=P(f,210);continue}}fa=e+16|0;return d}function We(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,n=0,o=0,p=0;j=fa-16|0;fa=j;a:{b:{c:{d:{if(K[J[a+4>>2]+36|0]<=1){k=-1;c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=J[b+12>>2];if(M[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){break c}d=d+J[b>>2]|0;l=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[j+12>>2]=l;J[b+16>>2]=e;J[b+20>>2]=c;break d}k=-1;if(!Re(1,j+12|0,b)){break c}l=J[j+12>>2]}e:{f:{g:{h:{i:{if(!l){break i}c=J[a+8>>2];if((J[c+4>>2]-J[c>>2]>>2>>>0)/3>>>0>>0){break c}c=L[J[a+4>>2]+36>>1];if(((c<<8|c>>>8)&65535)>>>0>=258){j:{while(1){if(!Re(1,j+8|0,b)){break c}c=J[j+8>>2];if(!Re(1,j+8|0,b)){break c}f=c+f|0;c=J[j+8>>2];if(f>>>0>>0){break c}g=f-c|0;c=J[a+40>>2];k:{if((c|0)!=J[a+44>>2]){J[c+4>>2]=f;J[c>>2]=g;J[a+40>>2]=c+12;l=J[j+12>>2];break k}m=J[a+36>>2];d=c-m|0;o=(d|0)/12|0;e=o+1|0;if(e>>>0>=357913942){break j}c=o<<1;h=o>>>0>=178956970?357913941:c>>>0>e>>>0?c:e;if(h){if(h>>>0>=357913942){break b}i=Cj(P(h,12))}else{i=0}e=i+P(o,12)|0;J[e+4>>2]=f;J[e>>2]=g;c=Wi(e+P((d|0)/-12|0,12)|0,m,d);J[a+44>>2]=i+P(h,12);J[a+40>>2]=e+12;J[a+36>>2]=c;if(!m){break k}xj(m)}p=p+1|0;if(l>>>0>p>>>0){continue}break}k=0;rg(b,0,0);if(l){while(1){e=K[b+36|0];c=L[J[a+4>>2]+36>>1];l:{m:{if(((c<<8|c>>>8)&65535)>>>0<=513){if(!e){break l}p=0;c=J[b+32>>2];n=c>>>3|0;g=J[b+24>>2];e=n+g|0;d=J[b+28>>2];n:{if(e>>>0>=d>>>0){f=c;break n}e=K[e|0];f=c+1|0;J[b+32>>2]=f;n=f>>>3|0;p=e>>>(c&7)&1}if(d>>>0>g+n>>>0){break m}break l}if(!e){break l}p=0;f=J[b+32>>2];c=J[b+24>>2]+(f>>>3|0)|0;if(c>>>0>=M[b+28>>2]){break l}p=K[c|0]>>>(f&7)&1}J[b+32>>2]=f+1}c=J[a+36>>2]+P(k,12)|0;H[c+8|0]=K[c+8|0]&254|p&1;k=k+1|0;if((k|0)!=(l|0)){continue}break}}H[b+36|0]=0;f=J[b+20>>2];e=0;d=J[b+32>>2]+7|0;e=d>>>0<7?1:e;c=e>>>3|0;e=(e&7)<<29|d>>>3;d=e+J[b+16>>2]|0;c=c+f|0;J[b+16>>2]=d;J[b+20>>2]=d>>>0>>0?c+1|0:c;break i}Ia();C()}while(1){d=J[b+8>>2];c=J[b+12>>2];g=c;c=J[b+20>>2];e=c;h=J[b+16>>2];f=h+4|0;c=f>>>0<4?c+1|0:c;i=f;if(f>>>0>d>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}m=J[b>>2];f=m+h|0;o=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=c;c=e;f=h+8|0;c=f>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}i=i+m|0;i=K[i|0]|K[i+1|0]<<8|(K[i+2|0]<<16|K[i+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;if(d>>>0<=f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=K[f+m|0];c=h+9|0;e=c>>>0<9?e+1|0:e;J[b+16>>2]=c;J[b+20>>2]=e;f=d&1;c=J[a+40>>2];o:{if((c|0)!=J[a+44>>2]){H[c+8|0]=f;J[c+4>>2]=i;J[c>>2]=o;J[a+40>>2]=c+12;l=J[j+12>>2];break o}m=J[a+36>>2];d=c-m|0;h=(d|0)/12|0;e=h+1|0;if(e>>>0>=357913942){break h}c=h<<1;g=h>>>0>=178956970?357913941:c>>>0>e>>>0?c:e;if(g){if(g>>>0>=357913942){break b}e=Cj(P(g,12))}else{e=0}h=e+P(h,12)|0;H[h+8|0]=f;J[h+4>>2]=i;J[h>>2]=o;c=Wi(h+P((d|0)/-12|0,12)|0,m,d);J[a+44>>2]=e+P(g,12);J[a+40>>2]=h+12;J[a+36>>2]=c;if(!m){break o}xj(m)}n=n+1|0;if(l>>>0>n>>>0){continue}break}}J[j+8>>2]=0;c=L[J[a+4>>2]+36>>1];c=(c<<8|c>>>8)&65535;p:{if(c>>>0<=511){k=-1;c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;f=J[b+12>>2];if(M[b+8>>2]>>0&(f|0)<=(c|0)|(c|0)>(f|0)){break c}d=d+J[b>>2]|0;f=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;break p}if((c|0)!=512){break e}k=-1;if(!Re(1,j+8|0,b)){break c}f=J[j+8>>2]}if(!f){break e}c=L[J[a+4>>2]+36>>1];if(((c<<8|c>>>8)&65535)>>>0<258){break f}n=0;l=0;while(1){if(!Re(1,j+4|0,b)){break c}l=J[j+4>>2]+l|0;c=J[a+52>>2];q:{if((c|0)!=J[a+56>>2]){J[c>>2]=l;J[a+52>>2]=c+4;break q}i=J[a+48>>2];g=c-i|0;e=g>>2;d=e+1|0;if(d>>>0>=1073741824){break g}c=g>>>1|0;d=g>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(d){if(d>>>0>=1073741824){break b}c=Cj(d<<2)}else{c=0}e=c+(e<<2)|0;J[e>>2]=l;c=Wi(c,i,g);J[a+56>>2]=c+(d<<2);J[a+52>>2]=e+4;J[a+48>>2]=c;if(!i){break q}xj(i)}n=n+1|0;if((n|0)!=(f|0)){continue}break}break e}Ia();C()}Ia();C()}k=0;while(1){c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=J[b+12>>2];if(M[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){k=-1;break c}d=d+J[b>>2]|0;g=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;c=J[a+52>>2];r:{if((c|0)!=J[a+56>>2]){J[c>>2]=g;J[a+52>>2]=c+4;break r}h=J[a+48>>2];i=c-h|0;e=i>>2;d=e+1|0;if(d>>>0>=1073741824){break a}c=i>>>1|0;d=i>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(d){if(d>>>0>=1073741824){break b}c=Cj(d<<2)}else{c=0}e=c+(e<<2)|0;J[e>>2]=g;c=Wi(c,h,i);J[a+56>>2]=c+(d<<2);J[a+52>>2]=e+4;J[a+48>>2]=c;if(!h){break r}xj(h)}k=k+1|0;if((k|0)!=(f|0)){continue}break}}k=J[b+16>>2]}fa=j+16|0;return k}Va();C()}Ia();C()}function Rc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=Q(0),k=0,l=0;a:{if(!d){break a}b:{c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(H[b|0]);N[(h<<2)+d>>2]=i?Q(j/Q(127)):j;b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(K[b|0]);N[(h<<2)+d>>2]=i?Q(j/Q(255)):j;b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(I[b>>1]);N[(h<<2)+d>>2]=i?Q(j/Q(32767)):j;b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(L[b>>1]);N[(h<<2)+d>>2]=i?Q(j/Q(65535)):j;b=b+2|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(J[b>>2]);N[(h<<2)+d>>2]=i?Q(j*Q(4.656612873077393e-10)):j;b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(M[b>>2]);N[(h<<2)+d>>2]=i?Q(j*Q(2.3283064365386963e-10)):j;b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(+M[b>>2]+ +J[b+4>>2]*4294967296);N[(h<<2)+d>>2]=i?Q(j*Q(10842021724855044e-35)):j;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];i=K[a+32|0];while(1){if(b>>>0>=g>>>0){break a}j=Q(+M[b>>2]+ +M[b+4>>2]*4294967296);N[(h<<2)+d>>2]=i?Q(j*Q(5.421010862427522e-20)):j;b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 8:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}N[(h<<2)+d>>2]=N[b>>2];b=b+4|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 9:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}N[(h<<2)+d>>2]=O[b>>3];b=b+8|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];g=J[e>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);k=b;b=b+i|0;b=b+g|0;g=J[e+4>>2];while(1){if(b>>>0>=g>>>0){break a}N[(h<<2)+d>>2]=K[b|0]?Q(1):Q(0);b=b+1|0;h=h+1|0;e=K[a+24|0];if(h>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}l=1;if(e>>>0>=f>>>0){break a}d=(e<<2)+d|0;a=(c&255)-e|0}Xi(d,0,a<<2)}return l}function Vf(a){a=a|0;var 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;e=fa-32|0;fa=e;k=J[a+32>>2];b=L[a+36>>1];a:{b:{if(((b<<8|b>>>8)&65535)>>>0<=513){b=J[k+8>>2];d=J[k+12>>2];c=b;b=J[k+20>>2];f=b;g=J[k+16>>2];h=g+4|0;b=h>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break a}l=J[k>>2];i=l+g|0;n=K[i|0]|K[i+1|0]<<8|(K[i+2|0]<<16|K[i+3|0]<<24);J[k+16>>2]=h;J[k+20>>2]=b;i=c;c=d;b=f;d=g+8|0;b=d>>>0<8?b+1|0:b;if(d>>>0>i>>>0&(b|0)>=(c|0)|(b|0)>(c|0)){break a}c=h+l|0;J[e+24>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[k+16>>2]=d;J[k+20>>2]=b;break b}if(!Wf(1,e+28|0,k)){break a}if(!Wf(1,e+24|0,J[a+32>>2])){break a}n=J[e+28>>2]}if(n>>>0>1431655765){break a}d=J[a+32>>2];b=d;g=J[b+8>>2];c=J[b+16>>2];h=J[b+12>>2];b=J[b+20>>2];f=ok(g-c|0,h-(b+(c>>>0>g>>>0)|0)|0,3,0);if(!ja&f>>>0>>0|((b|0)>=(h|0)&c>>>0>=g>>>0|(b|0)>(h|0))){break a}g=K[c+J[d>>2]|0];c=c+1|0;b=c?b:b+1|0;J[d+16>>2]=c;J[d+20>>2]=b;c:{d:{if(!g){k=0;c=fa-32|0;fa=c;J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;e:{f:{b=P(n,3);if(b){if(b>>>0>=1073741824){break f}d=P(n,12);k=Cj(d);Xi(k,0,d)}b=pe(b,1,J[a+32>>2],k);g:{h:{if(!(!n|!b)){d=0;while(1){i:{g=J[(d<<2)+k>>2];b=g>>>1|0;j:{if(g&1){if((b|0)>(j|0)){break i}b=0-b|0;break j}if((j^2147483647)>>>0>>0){break i}}g=b+j|0;J[c>>2]=g;h=J[(d+1<<2)+k>>2];b=h>>>1|0;k:{if(h&1){if((b|0)>(g|0)){break i}b=0-b|0;break k}if((g^2147483647)>>>0>>0){break i}}g=b+g|0;J[c+4>>2]=g;h=J[(d+2<<2)+k>>2];b=h>>>1|0;l:{if(h&1){if((b|0)>(g|0)){break i}b=0-b|0;break l}if((g^2147483647)>>>0>>0){break i}}d=d+3|0;j=b+g|0;J[c+8>>2]=j;Xf(J[a+44>>2]+96|0,c);b=1;o=o+1|0;if((o|0)!=(n|0)){continue}break h}break}b=0;break h}if(!k){break g}}xj(k)}fa=c+32|0;break e}Ia();C()}if(!b){break a}k=J[e+24>>2];break d}k=J[e+24>>2];if(k>>>0<=255){if(!n){break d}while(1){m:{J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;d=J[a+32>>2];b=d;g=J[b+16>>2];f=J[b+8>>2];c=J[b+20>>2];i=J[b+12>>2];b=i;if(f>>>0<=g>>>0&(c|0)>=(b|0)|(b|0)<(c|0)){break m}j=J[d>>2];l=K[j+g|0];b=c;h=g+1|0;b=h?b:b+1|0;J[d+16>>2]=h;J[d+20>>2]=b;J[e+8>>2]=l;l=f>>>0>>0&(c|0)>=(i|0)|(c|0)>(i|0);f=l?g:f;i=l?c:i;if((f|0)==(h|0)&(i|0)==(b|0)){break m}l=K[h+j|0];b=c;h=g+2|0;b=h>>>0<2?b+1|0:b;J[d+16>>2]=h;J[d+20>>2]=b;J[e+12>>2]=l;if((f|0)==(h|0)&(b|0)==(i|0)){break m}h=K[h+j|0];b=c;c=g+3|0;b=c>>>0<3?b+1|0:b;J[d+16>>2]=c;J[d+20>>2]=b;J[e+16>>2]=h;Xf(J[a+44>>2]+96|0,e+8|0);m=m+1|0;if((m|0)!=(n|0)){continue}break d}break}m=0;break a}if(k>>>0<=65535){if(!n){break d}while(1){n:{J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;j=J[a+32>>2];b=j;c=J[b+8>>2];d=J[b+12>>2];h=J[b+16>>2];b=J[b+20>>2];g=b;f=h+2|0;b=f>>>0<2?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break n}l=J[j>>2];i=l+h|0;i=K[i|0]|K[i+1|0]<<8;J[j+16>>2]=f;J[j+20>>2]=b;J[e+8>>2]=i;b=g;i=h+4|0;b=i>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break n}f=f+l|0;f=K[f|0]|K[f+1|0]<<8;J[j+16>>2]=i;J[j+20>>2]=b;J[e+12>>2]=f;f=c;b=g;c=h+6|0;b=c>>>0<6?b+1|0:b;if(c>>>0>f>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break n}d=i+l|0;d=K[d|0]|K[d+1|0]<<8;J[j+16>>2]=c;J[j+20>>2]=b;J[e+16>>2]=d;Xf(J[a+44>>2]+96|0,e+8|0);m=m+1|0;if((m|0)!=(n|0)){continue}break d}break}m=0;break a}o:{if(k>>>0>2097151){break o}b=L[a+36>>1];if(((b<<8|b>>>8)&65535)>>>0<514){break o}if(!n){break d}while(1){p:{J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;if(!Wf(1,e+4|0,J[a+32>>2])){break p}J[e+8>>2]=J[e+4>>2];if(!Wf(1,e+4|0,J[a+32>>2])){break p}J[e+12>>2]=J[e+4>>2];if(!Wf(1,e+4|0,J[a+32>>2])){break p}J[e+16>>2]=J[e+4>>2];Xf(J[a+44>>2]+96|0,e+8|0);m=m+1|0;if((m|0)!=(n|0)){continue}break d}break}m=0;break a}if(!n){break d}while(1){J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;j=J[a+32>>2];b=j;c=J[b+8>>2];d=J[b+12>>2];h=J[b+16>>2];b=J[b+20>>2];g=b;f=h+4|0;b=f>>>0<4?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}l=J[j>>2];i=l+h|0;i=K[i|0]|K[i+1|0]<<8|(K[i+2|0]<<16|K[i+3|0]<<24);J[j+16>>2]=f;J[j+20>>2]=b;J[e+8>>2]=i;b=g;i=h+8|0;b=i>>>0<8?b+1|0:b;if(c>>>0>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}f=f+l|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[j+16>>2]=i;J[j+20>>2]=b;J[e+12>>2]=f;f=c;b=g;c=h+12|0;b=c>>>0<12?b+1|0:b;if(c>>>0>f>>>0&(b|0)>=(d|0)|(b|0)>(d|0)){break c}d=i+l|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[j+16>>2]=c;J[j+20>>2]=b;J[e+16>>2]=d;Xf(J[a+44>>2]+96|0,e+8|0);m=m+1|0;if((m|0)!=(n|0)){continue}break}}J[J[a+4>>2]+80>>2]=k;m=1;break a}m=0}fa=e+32|0;return m|0}function wg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=Q(0),m=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){return 0}e=H[b|0];if((e|0)<0){break b}H[d+g|0]=e;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if((e+128&65535)>>>0>255){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if(e>>>0>127){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e+128>>>0>255){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e>>>0>127){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}i=J[b+4>>2];e=J[b>>2];h=e+128|0;i=h>>>0<128?i+1|0:i;if(!i&h>>>0>255|i){break b}H[d+g|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}i=J[b+4>>2];e=J[b>>2];if(!i&e>>>0>127|i){break b}H[d+g|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=K[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=J[J[a>>2]>>2];f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break d}l=N[b>>2];if(l>=Q(127)|lQ(1)){break d}j=V(+l*127+.5);if(!(R(j)<2147483648)){break f}h=~~j;break e}if(!(m>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}Xi(d+e|0,0,c-e|0)}return k;case 9:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}j=O[b>>3];if(j>=127|j<-128|(R(j)==Infinity|j!=j)){break b}e=d+g|0;if(K[a+32|0]){if(j<0|j>1){break b}j=V(j*127+.5)}g:{if(R(j)<2147483648){h=~~j;break g}h=-2147483648}H[e|0]=h;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}Xi(d+e|0,0,(c&255)-e|0)}return k}Xi(d+e|0,0,(c&255)-e|0);return 1}function xg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=Q(0);a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){return 0}e=H[b|0];if((e|0)<0){break b}H[d+g|0]=e;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if(e>>>0>255){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=L[b>>1];if(e>>>0>255){break b}H[d+g|0]=e;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e>>>0>255){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}e=J[b>>2];if(e>>>0>255){break b}H[d+g|0]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}i=J[b+4>>2];e=J[b>>2];if(!i&e>>>0>255|i){break b}H[d+g|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}i=J[b+4>>2];e=J[b>>2];if(!i&e>>>0>255|i){break b}H[d+g|0]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 8:e=K[a+24|0];c=c&255;d:{if(c>>>0>e>>>0?e:c){e=J[J[a>>2]>>2];f=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+f|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break d}l=N[b>>2];if(l>=Q(255)|lQ(1)){break d}j=V(+l*255+.5);if(!(j<4294967296&j>=0)){break f}h=~~j>>>0;break e}if(!(l=Q(0))){break f}h=~~l>>>0;break e}h=0}H[e|0]=h;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(c>>>0>e>>>0?e:c)>>>0){continue}break}}k=1;if(c>>>0<=e>>>0){break d}Xi(d+e|0,0,c-e|0)}return k;case 9:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}j=O[b>>3];if(j>=255|j<0|(R(j)==Infinity|j!=j)){break b}e=d+g|0;if(K[a+32|0]){if(j>1){break b}j=V(j*255+.5)}g:{if(j<4294967296&j>=0){h=~~j>>>0;break g}h=0}H[e|0]=h;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}break a;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[J[a>>2]>>2];i=J[a+48>>2];b=nk(J[a+40>>2],J[a+44>>2],b,0);h=b;b=b+i|0;b=b+e|0;while(1){if(M[J[a>>2]+4>>2]<=b>>>0){break b}H[d+g|0]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}k=1;if(e>>>0>=f>>>0){break b}Xi(d+e|0,0,(c&255)-e|0)}return k}Xi(d+e|0,0,(c&255)-e|0);return 1}function Ib(a){a=a|0;var 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,q=0,r=0,s=0,t=0,u=0,v=Q(0),w=0;p=fa-16|0;fa=p;a:{if(!(J[a+60>>2]!=J[a- -64>>2]|J[a+48>>2]!=J[a+52>>2])){j=1;break a}j=1;if((ka[J[J[a>>2]+24>>2]](a)|0)<=0){break a}while(1){b:{b=ka[J[J[a>>2]+20>>2]](a,w)|0;c:{d:{e:{f=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(b<<2)>>2];switch(J[f+28>>2]-1|0){case 8:break d;case 0:case 2:case 4:break e;default:break c}}b=K[f+24|0];f:{if(!b){n=0;j=0;break f}j=0;b=b<<2;n=Cj(b);Xi(n,0,b);b=K[f+24|0];if(!b){break f}b=b<<2;j=Cj(b);Xi(j,0,b)}g:{h:{i:{switch(J[f+28>>2]-1|0){case 4:i=0;h=0;d=0;b=0;k=0;e=K[f+24|0];j:{if(!e){g=0;break j}e=e<<2;h=Cj(e);Xi(h,0,e);g=Cj(e);Xi(g,0,e)}k:{if(J[f+80>>2]){while(1){o=J[f>>2];c=J[o>>2];m=J[f+48>>2];e=J[f+40>>2];l=nk(e,J[f+44>>2],d,b);m=m+l|0;s=c+m|0;c=e;m=Vi(h,s,c);l=K[f+24|0];if(l){t=J[a+48>>2];e=0;while(1){r=e<<2;s=J[r+m>>2];if((s|0)<0){break k}J[g+r>>2]=s+J[t+(e+u<<2)>>2];e=e+1|0;if((l|0)!=(e|0)){continue}break}}Vi(J[o>>2]+P(d,c)|0,g,c);d=d+1|0;b=d?b:b+1|0;if(!b&M[f+80>>2]>d>>>0){continue}break}}k=1}if(g){xj(g)}if(h){xj(h)}if(k){break h}break g;case 2:g=0;e=0;d=0;b=0;c=K[f+24|0];if(c){c=c<<1;e=Cj(c);Xi(e,0,c);g=Cj(c);Xi(g,0,c)}if(J[f+80>>2]){while(1){l=J[f>>2];h=J[l>>2];i=J[f+48>>2];c=J[f+40>>2];k=nk(c,J[f+44>>2],d,b);i=i+k|0;k=Vi(e,h+i|0,c);o=K[f+24|0];l:{if(!o){break l}m=J[a+48>>2];h=0;if((o|0)!=1){t=o&254;i=0;while(1){r=h<<1;I[r+g>>1]=L[k+r>>1]+L[m+(h+u<<2)>>1];r=h|1;s=r<<1;I[s+g>>1]=L[k+s>>1]+L[m+(r+u<<2)>>1];h=h+2|0;i=i+2|0;if((t|0)!=(i|0)){continue}break}}if(!(o&1)){break l}i=h<<1;I[i+g>>1]=L[i+k>>1]+L[m+(h+u<<2)>>1]}Vi(J[l>>2]+P(d,c)|0,g,c);d=d+1|0;b=d?b:b+1|0;if(!b&M[f+80>>2]>d>>>0){continue}break}}if(g){xj(g)}if(e){xj(e)}break h;case 0:break i;default:break h}}h=0;e=0;d=0;b=0;c=K[f+24|0];if(c){e=Cj(c);Xi(e,0,c);h=Cj(c);Xi(h,0,c)}if(J[f+80>>2]){while(1){t=J[f>>2];g=J[t>>2];i=J[f+48>>2];c=J[f+40>>2];k=nk(c,J[f+44>>2],d,b);i=i+k|0;k=Vi(e,g+i|0,c);o=K[f+24|0];m:{if(!o){break m}m=J[a+48>>2];g=0;if((o|0)!=1){r=o&254;i=0;while(1){H[g+h|0]=K[g+k|0]+K[m+(g+u<<2)|0];l=g|1;H[l+h|0]=K[k+l|0]+K[m+(l+u<<2)|0];g=g+2|0;i=i+2|0;if((r|0)!=(i|0)){continue}break}}if(!(o&1)){break m}H[g+h|0]=K[g+k|0]+K[m+(g+u<<2)|0]}Vi(J[t>>2]+P(d,c)|0,h,c);d=d+1|0;b=d?b:b+1|0;if(!b&M[f+80>>2]>d>>>0){continue}break}}if(h){xj(h)}if(e){xj(e)}}u=K[f+24|0]+u|0;i=1}if(j){xj(j)}if(n){xj(n)}if(i){break c}j=0;break a}e=J[J[a+60>>2]+(q<<2)>>2];h=J[a+36>>2];g=J[(ka[J[J[a>>2]+28>>2]](a)|0)+40>>2];J[p+12>>2]=J[f+56>>2];b=Cj(32);J[p>>2]=b;J[p+4>>2]=24;J[p+8>>2]=-2147483616;d=K[1229]|K[1230]<<8|(K[1231]<<16|K[1232]<<24);c=K[1225]|K[1226]<<8|(K[1227]<<16|K[1228]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;H[b+20|0]=d;H[b+21|0]=d>>>8;H[b+22|0]=d>>>16;H[b+23|0]=d>>>24;d=K[1221]|K[1222]<<8|(K[1223]<<16|K[1224]<<24);c=K[1217]|K[1218]<<8|(K[1219]<<16|K[1220]<<24);H[b+8|0]=c;H[b+9|0]=c>>>8;H[b+10|0]=c>>>16;H[b+11|0]=c>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1213]|K[1214]<<8|(K[1215]<<16|K[1216]<<24);c=K[1209]|K[1210]<<8|(K[1211]<<16|K[1212]<<24);H[b|0]=c;H[b+1|0]=c>>>8;H[b+2|0]=c>>>16;H[b+3|0]=c>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;H[b+24|0]=0;d=Jb(g,p+12|0,p);if(H[p+11|0]<0){xj(J[p>>2])}b=q+1|0;n:{if(d){ab(f,e);break n}g=h+P(q,24)|0;q=J[g+4>>2];c=K[f+24|0];h=c<<2;d=Cj(h);J[p>>2]=1065353216;v=N[g+20>>2];q=-1<0){N[p>>2]=v/Q(q|0)}if((q|0)<=0){break b}o:{if(!J[e+80>>2]){break o}if(!c){n=0;j=0;while(1){Vi(J[J[f+64>>2]>>2]+j|0,d,h);j=h+j|0;n=n+1|0;if(n>>>0>2]){continue}break}break o}o=J[J[e>>2]>>2]+J[e+48>>2]|0;t=c&254;r=c&1;i=0;k=0;j=0;while(1){q=J[g+8>>2];v=N[p>>2];n=0;m=0;if((c|0)!=1){while(1){l=n<<2;s=o+(j<<2)|0;N[l+d>>2]=Q(v*Q(J[s>>2]))+N[l+q>>2];l=l|4;N[l+d>>2]=Q(v*Q(J[s+4>>2]))+N[l+q>>2];n=n+2|0;j=j+2|0;m=m+2|0;if((t|0)!=(m|0)){continue}break}}if(r){n=n<<2;N[n+d>>2]=Q(v*Q(J[o+(j<<2)>>2]))+N[n+q>>2];j=j+1|0}Vi(J[J[f+64>>2]>>2]+k|0,d,h);k=h+k|0;i=i+1|0;if(i>>>0>2]){continue}break}}xj(d)}q=b}j=1;w=w+1|0;if((ka[J[J[a>>2]+24>>2]](a)|0)>(w|0)){continue}break a}break}xj(d);j=0}fa=p+16|0;return j|0}function se(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=fa+-64|0;fa=g;J[g+56>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;j=g+8|0;d=L[b+38>>1];a:{b:{if(!d){break b}c:{if(d>>>0<=511){h=J[b+8>>2];f=J[b+12>>2];e=J[b+20>>2];d=J[b+16>>2];i=d+4|0;e=i>>>0<4?e+1|0:e;if(h>>>0>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break b}d=d+J[b>>2]|0;l=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[j+12>>2]=l;e=J[b+20>>2];d=J[b+16>>2]+4|0;e=d>>>0<4?e+1|0:e;J[b+16>>2]=d;J[b+20>>2]=e;break c}if(!te(1,j+12|0,b)){break b}d=J[b+16>>2];e=J[b+20>>2];l=J[j+12>>2]}f=J[b+8>>2];i=f-d|0;d=J[b+12>>2]-((d>>>0>f>>>0)+e|0)|0;if(i>>>0>>6>>>0&(d|0)<=0|(d|0)<0){break b}e=J[j>>2];d=J[j+4>>2]-e>>2;d:{if(d>>>0>>0){La(j,l-d|0);l=J[j+12>>2];break d}if(d>>>0<=l>>>0){break d}J[j+4>>2]=e+(l<<2)}i=1;if(!l){break a}d=J[b+16>>2];e=J[b+20>>2];r=J[j>>2];k=J[b+8>>2];o=J[b+12>>2];h=0;while(1){i=0;if((e|0)>=(o|0)&d>>>0>=k>>>0|(e|0)>(o|0)){break a}i=J[b>>2];p=K[i+d|0];d=d+1|0;e=d?e:e+1|0;J[b+16>>2]=d;J[b+20>>2]=e;f=p>>>2|0;m=0;e:{f:{g:{h:{s=p&3;switch(s|0){case 0:break f;case 3:break h;default:break g}}f=f+h|0;i=0;if(f>>>0>=l>>>0){break a}Xi(r+(h<<2)|0,0,(p&252)+4|0);h=f;break e}while(1){if((d|0)==(k|0)&(e|0)==(o|0)){break b}l=K[d+i|0];d=d+1|0;e=d?e:e+1|0;J[b+16>>2]=d;J[b+20>>2]=e;f=l<<(m<<3|6)|f;m=m+1|0;if((s|0)!=(m|0)){continue}break}}J[r+(h<<2)>>2]=f}l=J[j+12>>2];h=h+1|0;if(l>>>0>h>>>0){continue}break}d=j+16|0;o=J[j>>2];f=J[j+16>>2];e=J[j+20>>2]-f|0;i:{if(e>>>0<=4194303){La(d,1048576-(e>>>2|0)|0);break i}if((e|0)==4194304){break i}J[j+20>>2]=f+4194304}e=j+28|0;h=J[e>>2];f=J[j+32>>2]-h>>3;j:{if(f>>>0>>0){ue(e,l-f|0);h=J[e>>2];break j}if(f>>>0>l>>>0){J[j+32>>2]=(l<<3)+h}if(!l){break b}}k=J[d>>2];d=0;i=0;while(1){e=o+(d<<2)|0;j=J[e>>2];m=(d<<3)+h|0;f=i;J[m+4>>2]=f;J[m>>2]=j;e=J[e>>2];i=e+f|0;if(i>>>0>1048576){break b}k:{if(f>>>0>=i>>>0){break k}m=0;j=e&7;if(j){while(1){J[k+(f<<2)>>2]=d;f=f+1|0;m=m+1|0;if((j|0)!=(m|0)){continue}break}}if(e-1>>>0<=6){break k}while(1){e=k+(f<<2)|0;J[e>>2]=d;J[e+28>>2]=d;J[e+24>>2]=d;J[e+20>>2]=d;J[e+16>>2]=d;J[e+12>>2]=d;J[e+8>>2]=d;J[e+4>>2]=d;f=f+8|0;if((i|0)!=(f|0)){continue}break}}d=d+1|0;if((l|0)!=(d|0)){continue}break}n=(i|0)==1048576}i=n}l:{if(!i|(J[g+20>>2]?0:a)){break l}i=0;n=fa-16|0;fa=n;m:{n:{if(L[b+38>>1]<=511){h=J[b+8>>2];f=J[b+12>>2];j=f;e=J[b+20>>2];k=J[b+16>>2];d=k+8|0;e=d>>>0<8?e+1|0:e;if(d>>>0>h>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break m}k=k+J[b>>2]|0;f=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);k=K[k+4|0]|K[k+5|0]<<8|(K[k+6|0]<<16|K[k+7|0]<<24);J[b+16>>2]=d;J[b+20>>2]=e;break n}if(!ve(1,n+8|0,b)){break m}d=J[b+16>>2];e=J[b+20>>2];h=J[b+8>>2];j=J[b+12>>2];f=J[n+8>>2];k=J[n+12>>2]}l=h-d|0;h=j-((d>>>0>h>>>0)+e|0)|0;if((h|0)==(k|0)&f>>>0>l>>>0|h>>>0>>0){break m}e=e+k|0;h=d+f|0;e=h>>>0>>0?e+1|0:e;J[b+16>>2]=h;J[b+20>>2]=e;if((f|0)<=0){break m}b=J[b>>2]+d|0;J[g+48>>2]=b;d=f-1|0;e=d+b|0;h=K[e|0];o:{if(h>>>0<=63){J[g+52>>2]=d;b=K[e|0]&63;break o}p:{switch((h>>>6|0)-1|0){case 0:if(f>>>0<2){break m}d=f-2|0;J[g+52>>2]=d;b=b+d|0;b=K[b+1|0]<<8&16128|K[b|0];break o;case 1:if(f>>>0<3){break m}d=f-3|0;J[g+52>>2]=d;b=b+d|0;b=K[b+1|0]<<8|K[b+2|0]<<16&4128768|K[b|0];break o;default:break p}}d=f-4|0;J[g+52>>2]=d;b=b+d|0;b=(K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24))&1073741823}J[g+56>>2]=b+4194304;i=b>>>0<1069547520}fa=n+16|0;if(!i){break l}if(!a){t=1;break l}b=J[g+52>>2];f=J[g+56>>2];d=J[g+36>>2];e=J[g+48>>2];h=J[g+24>>2];while(1){q:{if(f>>>0>4194303){break q}while(1){if((b|0)<=0){break q}b=b-1|0;J[g+52>>2]=b;f=K[b+e|0]|f<<8;J[g+56>>2]=f;if(f>>>0<4194304){continue}break}}i=f&1048575;k=J[h+(i<<2)>>2];n=d+(k<<3)|0;f=(P(J[n>>2],f>>>20|0)+i|0)-J[n+4>>2]|0;J[g+56>>2]=f;J[(q<<2)+c>>2]=k;t=1;q=q+1|0;if((q|0)!=(a|0)){continue}break}}a=J[g+36>>2];if(a){J[g+40>>2]=a;xj(a)}a=J[g+24>>2];if(a){J[g+28>>2]=a;xj(a)}a=J[g+8>>2];if(a){J[g+12>>2]=a;xj(a)}fa=g- -64|0;return t}function cg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=fa-48|0;fa=e;f=L[6701]|L[6702]<<16;d=L[6699]|L[6700]<<16;I[e+38>>1]=d;I[e+40>>1]=d>>>16;I[e+42>>1]=f;I[e+44>>1]=f>>>16;d=J[3349];J[e+32>>2]=J[3348];J[e+36>>2]=d;d=J[3347];J[e+24>>2]=J[3346];J[e+28>>2]=d;d=J[3345];J[e+16>>2]=J[3344];J[e+20>>2]=d;g=J[b+8>>2];i=J[b+12>>2];h=J[b+20>>2];d=J[b+16>>2];f=d+5|0;h=f>>>0<5?h+1|0:h;a:{b:{if(g>>>0>>0&(h|0)>=(i|0)|(h|0)>(i|0)){d=hj(e+16|0);if(d>>>0>=2147483632){break a}c:{d:{if(d>>>0>=11){b=(d|15)+1|0;c=Cj(b);J[e+8>>2]=b|-2147483648;J[e>>2]=c;J[e+4>>2]=d;b=c+d|0;break d}H[e+11|0]=d;b=d+e|0;c=e;if(!d){break c}}Vi(c,e+16|0,d)}H[b|0]=0;J[a>>2]=-2;b=a+4|0;if(H[e+11|0]>=0){a=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=a;J[b+8>>2]=J[e+8>>2];break b}Gj(b,J[e>>2],J[e+4>>2]);if(H[e+11|0]>=0){break b}xj(J[e>>2]);break b}f=d+J[b>>2]|0;d=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=K[f+4|0];d=J[b+20>>2];f=J[b+16>>2]+5|0;d=f>>>0<5?d+1|0:d;J[b+16>>2]=f;J[b+20>>2]=d;if(bj(c,1287,5)){d=Cj(32);H[d+17|0]=0;H[d+16|0]=K[1531];c=K[1527]|K[1528]<<8|(K[1529]<<16|K[1530]<<24);b=K[1523]|K[1524]<<8|(K[1525]<<16|K[1526]<<24);H[d+8|0]=b;H[d+9|0]=b>>>8;H[d+10|0]=b>>>16;H[d+11|0]=b>>>24;H[d+12|0]=c;H[d+13|0]=c>>>8;H[d+14|0]=c>>>16;H[d+15|0]=c>>>24;c=K[1519]|K[1520]<<8|(K[1521]<<16|K[1522]<<24);b=K[1515]|K[1516]<<8|(K[1517]<<16|K[1518]<<24);H[d|0]=b;H[d+1|0]=b>>>8;H[d+2|0]=b>>>16;H[d+3|0]=b>>>24;H[d+4|0]=c;H[d+5|0]=c>>>8;H[d+6|0]=c>>>16;H[d+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,d,17);xj(d);break b}g=J[b+12>>2];if((g|0)<=(d|0)&M[b+8>>2]<=f>>>0|(d|0)>(g|0)){d=hj(e+16|0);if(d>>>0>=2147483632){break a}e:{f:{if(d>>>0>=11){b=(d|15)+1|0;c=Cj(b);J[e+8>>2]=b|-2147483648;J[e>>2]=c;J[e+4>>2]=d;b=c+d|0;break f}H[e+11|0]=d;b=d+e|0;c=e;if(!d){break e}}Vi(c,e+16|0,d)}H[b|0]=0;J[a>>2]=-2;b=a+4|0;if(H[e+11|0]>=0){a=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=a;J[b+8>>2]=J[e+8>>2];break b}Gj(b,J[e>>2],J[e+4>>2]);if(H[e+11|0]>=0){break b}xj(J[e>>2]);break b}H[c+5|0]=K[f+J[b>>2]|0];g=J[b+20>>2];d=J[b+16>>2]+1|0;g=d?g:g+1|0;J[b+16>>2]=d;J[b+20>>2]=g;f=J[b+12>>2];if((f|0)<=(g|0)&M[b+8>>2]<=d>>>0|(g|0)>(f|0)){d=hj(e+16|0);if(d>>>0>=2147483632){break a}g:{h:{if(d>>>0>=11){b=(d|15)+1|0;c=Cj(b);J[e+8>>2]=b|-2147483648;J[e>>2]=c;J[e+4>>2]=d;b=c+d|0;break h}H[e+11|0]=d;b=d+e|0;c=e;if(!d){break g}}Vi(c,e+16|0,d)}H[b|0]=0;J[a>>2]=-2;b=a+4|0;if(H[e+11|0]>=0){a=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=a;J[b+8>>2]=J[e+8>>2];break b}Gj(b,J[e>>2],J[e+4>>2]);if(H[e+11|0]>=0){break b}xj(J[e>>2]);break b}H[c+6|0]=K[d+J[b>>2]|0];h=J[b+20>>2];d=J[b+16>>2]+1|0;h=d?h:h+1|0;J[b+16>>2]=d;J[b+20>>2]=h;f=J[b+12>>2];if((f|0)<=(h|0)&M[b+8>>2]<=d>>>0|(f|0)<(h|0)){d=hj(e+16|0);if(d>>>0>=2147483632){break a}i:{j:{if(d>>>0>=11){b=(d|15)+1|0;c=Cj(b);J[e+8>>2]=b|-2147483648;J[e>>2]=c;J[e+4>>2]=d;b=c+d|0;break j}H[e+11|0]=d;b=d+e|0;c=e;if(!d){break i}}Vi(c,e+16|0,d)}H[b|0]=0;J[a>>2]=-2;b=a+4|0;if(H[e+11|0]>=0){a=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=a;J[b+8>>2]=J[e+8>>2];break b}Gj(b,J[e>>2],J[e+4>>2]);if(H[e+11|0]>=0){break b}xj(J[e>>2]);break b}H[c+7|0]=K[d+J[b>>2]|0];g=J[b+20>>2];d=J[b+16>>2]+1|0;g=d?g:g+1|0;J[b+16>>2]=d;J[b+20>>2]=g;f=J[b+12>>2];if((f|0)<=(g|0)&M[b+8>>2]<=d>>>0|(g|0)>(f|0)){c=dg(e,e+16|0);J[a>>2]=-2;b=a+4|0;if(H[c+11|0]>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break b}Gj(b,J[c>>2],J[c+4>>2]);if(H[c+11|0]>=0){break b}xj(J[c>>2]);break b}H[c+8|0]=K[d+J[b>>2]|0];d=J[b+20>>2];g=J[b+16>>2];f=g+1|0;i=f?d:d+1|0;J[b+16>>2]=f;J[b+20>>2]=i;i=J[b+8>>2];h=J[b+12>>2];g=g+3|0;d=g>>>0<3?d+1|0:d;if(g>>>0>i>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){c=dg(e,e+16|0);J[a>>2]=-2;b=a+4|0;if(H[c+11|0]>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break b}Gj(b,J[c>>2],J[c+4>>2]);if(H[c+11|0]>=0){break b}xj(J[c>>2]);break b}d=c;c=J[b>>2]+f|0;I[d+10>>1]=K[c|0]|K[c+1|0]<<8;g=J[b+20>>2];c=J[b+16>>2]+2|0;g=c>>>0<2?g+1|0:g;J[b+16>>2]=c;J[b+20>>2]=g;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}fa=e+48|0;return}eg();C()}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=fa-96|0;fa=e;f=J[a+16>>2];H[e+92|0]=1;J[e+88>>2]=b;J[e+84>>2]=b;J[e+80>>2]=f;j=J[a+20>>2];d=J[j>>2];a:{b:{f=J[J[f+28>>2]+(b<<2)>>2];if(f>>>0>2]-d>>2>>>0){d=J[J[a+8>>2]+(J[d+(f<<2)>>2]<<2)>>2];f=J[a+4>>2];if(!K[f+84|0]){d=J[J[f+68>>2]+(d<<2)>>2]}J[e+72>>2]=0;J[e+76>>2]=0;j=e- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[e+56>>2]=0;J[e+60>>2]=0;Xc(f,d,H[f+24|0],e+56|0);if((b|0)!=-1){f=b+1|0;j=(f>>>0)%3|0?f:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;while(1){d=j;f=m;c:{if(!J[a+28>>2]){break c}f=b+1|0;d=(f>>>0)%3|0?f:b-2|0;f=b-1|0;if((b>>>0)%3|0){break c}f=b+2|0}n=J[a+20>>2];b=J[n>>2];d=J[J[J[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=J[n+4>>2]-b>>2>>>0){break b}d=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;Xc(b,d,H[b+24|0],e+32|0);d=J[a+20>>2];b=J[d>>2];f=J[J[J[a+16>>2]+28>>2]+(f<<2)>>2];if(f>>>0>=J[d+4>>2]-b>>2>>>0){break a}d=J[J[a+8>>2]+(J[b+(f<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;Xc(b,d,H[b+24|0],e+8|0);g=J[e+8>>2];b=J[e+56>>2];d=g-b|0;p=J[e+60>>2];t=J[e+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=J[e+40>>2];f=J[e+64>>2];n=h-f|0;u=J[e+68>>2];x=J[e+44>>2]-(u+(f>>>0>h>>>0)|0)|0;g=nk(d,t,n,x);v=o-g|0;w=i-(ja+(g>>>0>o>>>0)|0)|0;i=v;h=J[e+16>>2];g=h-f|0;u=J[e+20>>2]-((f>>>0>h>>>0)+u|0)|0;k=J[e+32>>2];h=k-b|0;v=J[e+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=nk(g,u,h,v);o=i+b|0;i=ja+w|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=d;p=t;k=J[e+48>>2];f=J[e+72>>2];d=k-f|0;t=J[e+76>>2];w=J[e+52>>2]-(t+(f>>>0>k>>>0)|0)|0;l=nk(l,p,d,w);k=b+l|0;b=ja+q|0;b=k>>>0>>0?b+1|0:b;l=J[e+24>>2];p=l-f|0;f=J[e+28>>2]-((f>>>0>l>>>0)+t|0)|0;q=nk(p,f,h,v);l=k-q|0;q=b-(ja+(k>>>0>>0)|0)|0;b=nk(g,u,d,w);d=r-b|0;b=s-(ja+(b>>>0>r>>>0)|0)|0;s=nk(p,f,n,x);r=s+d|0;b=ja+b|0;s=r>>>0>>0?b+1|0:b;b=J[e+88>>2];f=J[e+80>>2];d:{if(K[e+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}J[e+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[e+88>>2]=b;if((b|0)!=-1){break e}}b=J[e+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}H[e+92|0]=0;J[e+88>>2]=d;break d}if((b|0)!=J[e+84>>2]){break d}J[e+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}J[e+88>>2]=d}b=J[e+88>>2];if((b|0)!=-1){continue}break}}b=s>>31;f=b^r;d=f-b|0;b=(b^s)-((b>>>0>f>>>0)+b|0)|0;m=-1;f=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;m:{n:{if(!J[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break m}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;f=a;g=i;a=g>>31;d=a;m=d^o;a=m-d|0;i=a;d=(d^g)-((d>>>0>m>>>0)+d|0)|0;a=a+f|0;d=d^2147483647;i=(d|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>d>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break o}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=i;d=i>>31;h=d^o;i=h-d|0;j=(d^k)-((d>>>0>h>>>0)+d|0)|0;g=j^2147483647;d=a;a=i;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break o}b=b+j|0;m=a+d|0;b=m>>>0>>0?b+1|0:b;f=b;if(!b&m>>>0<536870913){break m}}b=f>>>29|0;a=(f&536870911)<<3|m>>>29}o=ok(o,n,a,b);l=ok(l,q,a,b);r=ok(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;fa=e+96|0;return}yc();C()}yc();C()}yc();C()}function Bc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;J[a+8>>2]=e;r=a+32|0;g=J[r>>2];f=J[a+36>>2]-g>>2;a:{if(f>>>0>>0){La(r,e-f|0);d=J[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}J[a+36>>2]=g+(e<<2);d=e}v=e<<2;f=e>>>0>1073741823?-1:v;m=Xi(Cj(f),0,f);p=Xi(Cj(f),0,f);b:{if((d|0)<=0){break b}i=J[a+32>>2];while(1){d=h<<2;f=J[d+m>>2];g=J[a+16>>2];c:{if((f|0)>(g|0)){J[d+i>>2]=g;break c}d=d+i|0;g=J[a+12>>2];if((g|0)>(f|0)){J[d>>2]=g;break c}J[d>>2]=f}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){g=f<<2;d=g+c|0;g=J[b+g>>2]+J[g+i>>2]|0;J[d>>2]=g;d:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break d}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];w=J[f>>2];f=J[f+4>>2]-w|0;if((f|0)>=5){D=J[a+52>>2];s=J[a+48>>2];u=f>>>2|0;E=u>>>0<=2?2:u;x=e&-2;y=e&1;F=e&-4;z=e&3;A=e-1|0;n=1;while(1){e:{f:{g:{h:{if((n|0)!=(u|0)){g=J[(n<<2)+w>>2];t=(e|0)<=0;if(!t){Xi(m,0,v)}if((g|0)==-1){i=P(e,n);break f}B=J[s>>2];l=0;f=g;while(1){i:{if(J[(f>>>3&536870908)+B>>2]>>>f&1){break i}i=J[J[J[s+64>>2]+12>>2]+(f<<2)>>2];if((i|0)==-1){break i}j=J[D>>2];h=J[s+28>>2];o=J[j+(J[h+(i<<2)>>2]<<2)>>2];if((o|0)>=(n|0)){break i}k=i+1|0;k=J[j+(J[h+(((k>>>0)%3|0?k:i-2|0)<<2)>>2]<<2)>>2];if((k|0)>=(n|0)){break i}i=J[j+(J[h+(i+((i>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((i|0)>=(n|0)){break i}j:{if(t){break j}i=P(e,i);j=P(e,k);o=P(e,o);h=0;q=0;if(A){while(1){J[(h<<2)+p>>2]=(J[(h+i<<2)+c>>2]+J[(h+j<<2)+c>>2]|0)-J[(h+o<<2)+c>>2];k=h|1;J[(k<<2)+p>>2]=(J[(i+k<<2)+c>>2]+J[(j+k<<2)+c>>2]|0)-J[(k+o<<2)+c>>2];h=h+2|0;q=q+2|0;if((x|0)!=(q|0)){continue}break}}if(y){J[(h<<2)+p>>2]=(J[(h+i<<2)+c>>2]+J[(h+j<<2)+c>>2]|0)-J[(h+o<<2)+c>>2]}if(t){break j}o=0;h=0;i=0;if(e>>>0>3){while(1){j=h<<2;k=j+m|0;J[k>>2]=J[j+p>>2]+J[k>>2];k=j|4;q=k+m|0;J[q>>2]=J[k+p>>2]+J[q>>2];k=j|8;q=k+m|0;J[q>>2]=J[k+p>>2]+J[q>>2];j=j|12;k=j+m|0;J[k>>2]=J[j+p>>2]+J[k>>2];h=h+4|0;i=i+4|0;if((F|0)!=(i|0)){continue}break}}if(!z){break j}while(1){i=h<<2;j=i+m|0;J[j>>2]=J[i+p>>2]+J[j>>2];h=h+1|0;o=o+1|0;if((z|0)!=(o|0)){continue}break}}l=l+1|0}k:{l:{if((f>>>0)%3|0){h=f-1|0;break l}h=f+2|0;i=-1;if((h|0)==-1){break k}}i=-1;if(J[(h>>>3&536870908)+B>>2]>>>h&1){break k}f=J[J[J[s+64>>2]+12>>2]+(h<<2)>>2];i=-1;if((f|0)==-1){break k}i=f-1|0;if((f>>>0)%3|0){break k}i=f+2|0}f=i;if((g|0)!=(f|0)&(f|0)!=-1){continue}break}i=P(e,n);if(!l){break f}if(t){break g}h=0;f=0;if(!A){break h}while(1){g=h<<2;j=g+m|0;J[j>>2]=J[j>>2]/(l|0);g=(g|4)+m|0;J[g>>2]=J[g>>2]/(l|0);h=h+2|0;f=f+2|0;if((x|0)!=(f|0)){continue}break}break h}yc();C()}if(!y){break g}f=(h<<2)+m|0;J[f>>2]=J[f>>2]/(l|0)}if((d|0)<=0){break e}l=J[r>>2];h=0;while(1){d=h<<2;f=J[d+m>>2];g=J[a+16>>2];m:{if((f|0)>(g|0)){J[d+l>>2]=g;break m}d=d+l|0;g=J[a+12>>2];if((g|0)>(f|0)){J[d>>2]=g;break m}J[d>>2]=f}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=i<<2;i=d+c|0;h=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[h+g>>2]+J[g+l>>2]|0;J[d>>2]=g;n:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break n}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}if((d|0)<=0){break e}g=(P(n-1|0,e)<<2)+c|0;l=J[r>>2];h=0;while(1){d=h<<2;f=J[d+g>>2];j=J[a+16>>2];o:{if((f|0)>(j|0)){J[d+l>>2]=j;break o}d=d+l|0;j=J[a+12>>2];if((j|0)>(f|0)){J[d>>2]=j;break o}J[d>>2]=f}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=i<<2;i=d+c|0;h=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[h+g>>2]+J[g+l>>2]|0;J[d>>2]=g;p:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break p}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}n=n+1|0;if((E|0)!=(n|0)){continue}break}}xj(p);xj(m);return 1}function gd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;J[a+8>>2]=e;r=a+32|0;f=J[r>>2];j=J[a+36>>2]-f>>2;a:{if(j>>>0>>0){La(r,e-j|0);d=J[a+8>>2];break a}d=e;if(e>>>0>=j>>>0){break a}J[a+36>>2]=f+(e<<2);d=e}u=e<<2;f=e>>>0>1073741823?-1:u;m=Xi(Cj(f),0,f);p=Xi(Cj(f),0,f);b:{if((d|0)<=0){break b}i=J[a+32>>2];while(1){f=h<<2;j=J[f+m>>2];d=J[a+16>>2];c:{if((j|0)>(d|0)){J[f+i>>2]=d;break c}f=f+i|0;d=J[a+12>>2];if((d|0)>(j|0)){J[f>>2]=d;break c}J[f>>2]=j}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){j=f<<2;d=j+c|0;j=J[b+j>>2]+J[j+i>>2]|0;J[d>>2]=j;d:{if((j|0)>J[a+16>>2]){j=j-J[a+20>>2]|0}else{if((j|0)>=J[a+12>>2]){break d}j=j+J[a+20>>2]|0}J[d>>2]=j}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];v=J[f>>2];f=J[f+4>>2]-v|0;if((f|0)>=5){D=J[a+52>>2];w=J[a+48>>2];t=f>>>2|0;E=t>>>0<=2?2:t;x=e&-2;y=e&1;F=e&-4;z=e&3;A=e-1|0;n=1;while(1){e:{f:{g:{h:{if((n|0)!=(t|0)){j=J[(n<<2)+v>>2];s=(e|0)<=0;if(!s){Xi(m,0,u)}if((j|0)==-1){g=P(e,n);break f}B=J[w+12>>2];q=0;f=j;while(1){h=J[(f<<2)+B>>2];i:{if((h|0)==-1){break i}o=J[D>>2];l=J[w>>2];k=J[o+(J[l+(h<<2)>>2]<<2)>>2];i=h+1|0;i=(i>>>0)%3|0?i:h-2|0;if((i|0)!=-1){g=J[l+(i<<2)>>2]}else{g=-1}j:{k:{if((h>>>0)%3|0){h=h-1|0;break k}h=h+2|0;i=-1;if((h|0)==-1){break j}}i=J[l+(h<<2)>>2]}if((k|0)>=(n|0)){break i}g=J[(g<<2)+o>>2];if((g|0)>=(n|0)){break i}i=J[o+(i<<2)>>2];if((i|0)>=(n|0)){break i}l:{if(s){break l}l=P(e,i);o=P(e,g);k=P(e,k);h=0;i=0;if(A){while(1){J[(h<<2)+p>>2]=(J[(h+l<<2)+c>>2]+J[(h+o<<2)+c>>2]|0)-J[(h+k<<2)+c>>2];g=h|1;J[(g<<2)+p>>2]=(J[(g+l<<2)+c>>2]+J[(g+o<<2)+c>>2]|0)-J[(g+k<<2)+c>>2];h=h+2|0;i=i+2|0;if((x|0)!=(i|0)){continue}break}}if(y){J[(h<<2)+p>>2]=(J[(h+l<<2)+c>>2]+J[(h+o<<2)+c>>2]|0)-J[(h+k<<2)+c>>2]}if(s){break l}o=0;h=0;k=0;if(e>>>0>3){while(1){l=h<<2;i=l+m|0;J[i>>2]=J[l+p>>2]+J[i>>2];g=l|4;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];g=l|8;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];g=l|12;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];h=h+4|0;k=k+4|0;if((F|0)!=(k|0)){continue}break}}if(!z){break l}while(1){g=h<<2;i=g+m|0;J[i>>2]=J[g+p>>2]+J[i>>2];h=h+1|0;o=o+1|0;if((z|0)!=(o|0)){continue}break}}q=q+1|0}m:{n:{if((f>>>0)%3|0){h=f-1|0;break n}h=f+2|0;g=-1;if((h|0)==-1){break m}}f=J[(h<<2)+B>>2];g=-1;if((f|0)==-1){break m}g=f-1|0;if((f>>>0)%3|0){break m}g=f+2|0}f=g;if((j|0)!=(f|0)&(f|0)!=-1){continue}break}g=P(e,n);if(!q){break f}if(s){break g}h=0;f=0;if(!A){break h}while(1){i=h<<2;j=i+m|0;J[j>>2]=J[j>>2]/(q|0);j=(i|4)+m|0;J[j>>2]=J[j>>2]/(q|0);h=h+2|0;f=f+2|0;if((x|0)!=(f|0)){continue}break}break h}yc();C()}if(!y){break g}f=(h<<2)+m|0;J[f>>2]=J[f>>2]/(q|0)}if((d|0)<=0){break e}k=J[r>>2];h=0;while(1){f=h<<2;j=J[f+m>>2];d=J[a+16>>2];o:{if((j|0)>(d|0)){J[f+k>>2]=d;break o}f=f+k|0;d=J[a+12>>2];if((d|0)>(j|0)){J[f>>2]=d;break o}J[f>>2]=j}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=g<<2;i=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[g+j>>2]+J[g+k>>2]|0;J[d>>2]=g;p:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break p}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}if((d|0)<=0){break e}f=(P(n-1|0,e)<<2)+c|0;k=J[r>>2];h=0;while(1){j=h<<2;i=J[j+f>>2];d=J[a+16>>2];q:{if((i|0)>(d|0)){J[j+k>>2]=d;break q}j=j+k|0;d=J[a+12>>2];if((d|0)>(i|0)){J[j>>2]=d;break q}J[j>>2]=i}d=J[a+8>>2];h=h+1|0;if((d|0)>(h|0)){continue}break}f=0;if((d|0)<=0){break e}d=g<<2;i=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+i|0;g=J[g+j>>2]+J[g+k>>2]|0;J[d>>2]=g;r:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break r}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}n=n+1|0;if((E|0)!=(n|0)){continue}break}}xj(p);xj(m);return 1}function Mb(a){var 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;f=fa-32|0;fa=f;a:{b=J[a+16>>2];b:{if(b>>>0>=341){J[a+16>>2]=b-341;b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];c:{if((b|0)!=J[a+12>>2]){d=b;break c}k=J[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=Wi(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break c}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=Cj(e);l=e+h|0;e=h+(d&-4)|0;d=e;d:{if((b|0)==(c|0)){break d}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;e:{if(!g){b=e;break e}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break d}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break c}xj(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}c=J[a+8>>2];b=J[a+4>>2];l=c-b|0;h=l>>2;g=J[a+12>>2];d=J[a>>2];e=g-d|0;if(h>>>0>2>>>0){if((c|0)!=(g|0)){n=f,o=Cj(4092),J[n+8>>2]=o;d=a;f:{g:{b=J[a+8>>2];h:{if((b|0)!=J[a+12>>2]){e=b;break h}c=J[d+4>>2];h=J[d>>2];if(c>>>0>h>>>0){g=((c-h>>2)+1|0)/-2<<2;a=b-c|0;e=Wi(g+c|0,c,a)+a|0;J[d+8>>2]=e;J[d+4>>2]=g+J[d+4>>2];break h}e=(b|0)==(h|0)?1:b-h>>1;if(e>>>0>=1073741824){break g}a=e<<2;j=Cj(a);l=a+j|0;a=j+(e&-4)|0;e=a;i:{if((b|0)==(c|0)){break i}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;j:{if(!g){b=a;break j}e=0;b=a;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}}e=a+m|0;if(i>>>0<28){break i}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((e|0)!=(b|0)){continue}break}}J[d+12>>2]=l;J[d+8>>2]=e;J[d+4>>2]=a;J[d>>2]=j;if(!h){break h}xj(h);e=J[d+8>>2]}J[e>>2]=J[f+8>>2];J[d+8>>2]=J[d+8>>2]+4;break f}Va();C()}break b}n=f,o=Cj(4092),J[n+8>>2]=o;Ob(a,f+8|0);b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];k:{if((b|0)!=J[a+12>>2]){d=b;break k}k=J[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=Wi(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break k}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=Cj(e);l=e+h|0;e=h+(d&-4)|0;d=e;l:{if((b|0)==(c|0)){break l}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;m:{if(!g){b=e;break m}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break l}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break k}xj(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}J[f+24>>2]=a+12;m=(d|0)==(g|0)?1:e>>1;if(m>>>0>=1073741824){break a}e=m<<2;g=Cj(e);J[f+8>>2]=g;j=e+g|0;J[f+20>>2]=j;d=(h<<2)+g|0;J[f+12>>2]=d;i=Cj(4092);n:{if((h|0)!=(m|0)){break n}if((l|0)>0){d=((h+1|0)/-2<<2)+d|0;J[f+12>>2]=d;break n}d=(b|0)==(c|0)?1:l>>1;if(d>>>0>=1073741824){break a}b=d<<2;e=Cj(b);J[f+8>>2]=e;j=b+e|0;J[f+20>>2]=j;d=e+(d&-4)|0;J[f+12>>2]=d;xj(g);b=J[a+4>>2];c=J[a+8>>2];g=e}J[d>>2]=i;i=d+4|0;J[f+16>>2]=i;e=b;if((b|0)!=(c|0)){while(1){c=c-4|0;Ob(f+8|0,c);if(J[a+4>>2]!=(c|0)){continue}break}j=J[f+20>>2];i=J[f+16>>2];d=J[f+12>>2];g=J[f+8>>2];e=c;b=J[a+8>>2]}c=J[a>>2];J[a>>2]=g;J[f+8>>2]=c;J[a+4>>2]=d;J[f+12>>2]=e;J[a+8>>2]=i;J[f+16>>2]=b;d=J[a+12>>2];J[a+12>>2]=j;J[f+20>>2]=d;if((b|0)!=(e|0)){J[f+16>>2]=((e-b|0)+3&-4)+b}if(!c){break b}xj(c)}fa=f+32|0;return}Va();C()}function Qc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=Q(0),j=0,k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0),A=0;a:{b:{if((e|0)!=2){break b}J[a+64>>2]=f;J[a+72>>2]=2;e=Cj(8);d=J[a+68>>2];J[a+68>>2]=e;if(d){xj(d)}J[a+8>>2]=2;w=a+32|0;e=J[w>>2];d=J[a+36>>2]-e|0;c:{if(d>>>0<=7){La(w,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}J[a+36>>2]=e+8}h=1;d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<=0){break b}d=d>>>2|0;A=d>>>0<=1?1:d;d=0;while(1){e=J[a+56>>2];h=J[e>>2];if(J[e+4>>2]-h>>2>>>0<=d>>>0){break a}q=Q(0);g=fa-48|0;fa=g;e=-1;h=J[h+(d<<2)>>2];f=-1;d:{if((h|0)==-1){break d}e=h+1|0;e=(e>>>0)%3|0?e:h-2|0;f=h-1|0;if((h>>>0)%3|0){break d}f=h+2|0}j=J[a+52>>2];h=J[j>>2];e:{f:{j=J[j+4>>2]-h>>2;l=e<<2;e=J[J[a+48>>2]+28>>2];r=J[l+e>>2];if(j>>>0<=r>>>0){break f}e=J[e+(f<<2)>>2];if(e>>>0>=j>>>0){break f}j=J[h+(e<<2)>>2];f=J[h+(r<<2)>>2];g:{if(!((j|0)>=(d|0)|(f|0)>=(d|0))){e=J[a+72>>2];h=(P(e,j)<<2)+c|0;m=Q(J[h+4>>2]);e=(P(e,f)<<2)+c|0;p=Q(J[e+4>>2]);x=Q(J[e>>2]);n=Q(J[h>>2]);if(!(x!=n|m!=p)){h=+m>2147483647;e=J[a+68>>2];if(Q(R(m))>2]=m2147483647;if(Q(R(n))>2]=n>2]+(d<<2)>>2];J[g+40>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;h=J[a+60>>2];if(!K[h+84|0]){e=J[J[h+68>>2]+(e<<2)>>2]}Rc(h,e,H[h+24|0],g+32|0);f=J[J[a+64>>2]+(f<<2)>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;e=J[a+60>>2];if(!K[e+84|0]){f=J[J[e+68>>2]+(f<<2)>>2]}Rc(e,f,H[e+24|0],g+16|0);f=J[J[a+64>>2]+(j<<2)>>2];J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;e=J[a+60>>2];if(!K[e+84|0]){f=J[J[e+68>>2]+(f<<2)>>2]}Rc(e,f,H[e+24|0],g);o=N[g+24>>2];s=Q(N[g+8>>2]-o);t=N[g+20>>2];u=Q(N[g+4>>2]-t);z=N[g+16>>2];v=Q(N[g>>2]-z);y=Q(Q(s*s)+Q(Q(u*u)+Q(Q(v*v)+Q(0))));h:{if(J[a+88>>2]>=258){i=Q(0);if(!(y>Q(0))){break h}}i=Q(N[g+40>>2]-o);o=Q(N[g+36>>2]-t);t=Q(N[g+32>>2]-z);q=Q(Q(Q(s*i)+Q(Q(u*o)+Q(Q(v*t)+Q(0))))/y);i=Q(i-Q(s*q));s=Q(i*i);i=Q(o-Q(u*q));o=Q(i*i);i=Q(t-Q(v*q));i=Q(Y(Q(Q(s+Q(o+Q(Q(i*i)+Q(0))))/y)))}f=J[a+80>>2];if(f){e=f-1|0;h=J[J[a+76>>2]+(e>>>3&536870908)>>2];J[a+80>>2]=e;m=Q(m-p);o=Q(Q(m*q)+p);n=Q(n-x);p=Q(n*i);e=h>>>e&1;p=Q(o+(e?p:Q(-p)));i=Q(i*m);k=V(+Q(Q(Q(n*q)+x)+(e?Q(-i):i))+.5);i:{if(k<-2147483648|k!=k|k>2147483647){e=J[a+68>>2];J[e>>2]=-2147483648;break i}e=J[a+68>>2];if(R(k)<2147483648){h=~~k}else{h=-2147483648}J[e>>2]=h}k=V(+p+.5);j=k>2147483647;if(R(k)<2147483648){h=~~k}else{h=-2147483648}J[e+4>>2]=k<-2147483648?-2147483648:k!=k?-2147483648:j?-2147483648:h}f=(f|0)!=0;break g}j:{if((d|0)>(f|0)){e=J[a+72>>2];h=P(f,e);break j}if((d|0)<=0){f=1;if(J[a+72>>2]<=0){break g}h=J[a+68>>2];e=0;while(1){J[h+(e<<2)>>2]=0;e=e+1|0;if((e|0)>2]){continue}break}break g}e=J[a+72>>2];h=P(e,d-1|0)}f=1;if((e|0)<=0){break g}j=J[a+68>>2];e=0;while(1){J[j+(e<<2)>>2]=J[(e+h<<2)+c>>2];e=e+1|0;if((e|0)>2]){continue}break}}fa=g+48|0;break e}yc();C()}h=f;if(!h){return 0}k:{if(J[a+8>>2]<=0){break k}r=J[a+68>>2];j=J[w>>2];e=0;while(1){f=e<<2;g=J[f+r>>2];l=J[a+16>>2];l:{if((g|0)>(l|0)){J[f+j>>2]=l;break l}f=f+j|0;l=J[a+12>>2];if((l|0)>(g|0)){J[f>>2]=l;break l}J[f>>2]=g}e=e+1|0;g=J[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break k}e=d<<3;r=e+c|0;l=b+e|0;while(1){g=f<<2;e=g+r|0;g=J[g+l>>2]+J[g+j>>2]|0;J[e>>2]=g;m:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break m}g=g+J[a+20>>2]|0}J[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((A|0)!=(d|0)){continue}break}}return h|0}yc();C()}function od(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=Q(0),j=0,k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=0,z=Q(0),A=0;a:{b:{if((e|0)!=2){break b}J[a+64>>2]=f;J[a+72>>2]=2;e=Cj(8);d=J[a+68>>2];J[a+68>>2]=e;if(d){xj(d)}J[a+8>>2]=2;v=a+32|0;e=J[v>>2];d=J[a+36>>2]-e|0;c:{if(d>>>0<=7){La(v,2-(d>>>2|0)|0);break c}if((d|0)==8){break c}J[a+36>>2]=e+8}h=1;d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<=0){break b}d=d>>>2|0;A=d>>>0<=1?1:d;d=0;while(1){f=J[a+56>>2];e=J[f>>2];if(J[f+4>>2]-e>>2>>>0<=d>>>0){break a}q=Q(0);g=fa-48|0;fa=g;h=-1;d:{e:{e=J[e+(d<<2)>>2];if((e|0)==-1){break e}j=J[a+48>>2];f=e+1|0;f=(f>>>0)%3|0?f:e-2|0;if((f|0)!=-1){h=J[J[j>>2]+(f<<2)>>2]}f=-1;e=e+((e>>>0)%3|0?-1:2)|0;if((e|0)!=-1){f=J[J[j>>2]+(e<<2)>>2]}e=J[a+52>>2];j=J[e>>2];e=J[e+4>>2]-j>>2;if(e>>>0<=h>>>0|e>>>0<=f>>>0){break e}e=J[j+(h<<2)>>2];j=J[j+(f<<2)>>2];f:{if(!((d|0)<=(e|0)|(j|0)>=(d|0))){f=J[a+72>>2];h=(P(f,j)<<2)+c|0;l=Q(J[h+4>>2]);f=(P(e,f)<<2)+c|0;o=Q(J[f+4>>2]);w=Q(J[f>>2]);m=Q(J[h>>2]);if(!(w!=m|l!=o)){h=+l>2147483647;e=J[a+68>>2];if(Q(R(l))>2]=l2147483647;if(Q(R(m))>2]=m>2]+(d<<2)>>2];J[g+40>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;h=J[a+60>>2];if(!K[h+84|0]){f=J[J[h+68>>2]+(f<<2)>>2]}Rc(h,f,H[h+24|0],g+32|0);f=J[J[a+64>>2]+(e<<2)>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;e=J[a+60>>2];if(!K[e+84|0]){f=J[J[e+68>>2]+(f<<2)>>2]}Rc(e,f,H[e+24|0],g+16|0);h=J[J[a+64>>2]+(j<<2)>>2];J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;e=J[a+60>>2];if(!K[e+84|0]){h=J[J[e+68>>2]+(h<<2)>>2]}Rc(e,h,H[e+24|0],g);n=N[g+24>>2];r=Q(N[g+8>>2]-n);s=N[g+20>>2];t=Q(N[g+4>>2]-s);z=N[g+16>>2];u=Q(N[g>>2]-z);x=Q(Q(r*r)+Q(Q(t*t)+Q(Q(u*u)+Q(0))));g:{if(J[a+88>>2]>=258){i=Q(0);if(!(x>Q(0))){break g}}i=Q(N[g+40>>2]-n);n=Q(N[g+36>>2]-s);s=Q(N[g+32>>2]-z);q=Q(Q(Q(r*i)+Q(Q(t*n)+Q(Q(u*s)+Q(0))))/x);i=Q(i-Q(r*q));r=Q(i*i);i=Q(n-Q(t*q));n=Q(i*i);i=Q(s-Q(u*q));i=Q(Y(Q(Q(r+Q(n+Q(Q(i*i)+Q(0))))/x)))}e=J[a+80>>2];if(e){f=e-1|0;h=J[J[a+76>>2]+(f>>>3&536870908)>>2];J[a+80>>2]=f;l=Q(l-o);n=Q(Q(l*q)+o);m=Q(m-w);o=Q(m*i);f=h>>>f&1;o=Q(n+(f?o:Q(-o)));i=Q(i*l);k=V(+Q(Q(Q(m*q)+w)+(f?Q(-i):i))+.5);h:{if(k<-2147483648|k!=k|k>2147483647){h=J[a+68>>2];J[h>>2]=-2147483648;break h}h=J[a+68>>2];if(R(k)<2147483648){f=~~k}else{f=-2147483648}J[h>>2]=f}k=V(+o+.5);j=k>2147483647;if(R(k)<2147483648){f=~~k}else{f=-2147483648}J[h+4>>2]=k<-2147483648?-2147483648:k!=k?-2147483648:j?-2147483648:f}h=(e|0)!=0;break f}i:{if((d|0)>(e|0)){f=J[a+72>>2];e=P(e,f);break i}if((d|0)<=0){h=1;if(J[a+72>>2]<=0){break f}e=J[a+68>>2];f=0;while(1){J[e+(f<<2)>>2]=0;f=f+1|0;if((f|0)>2]){continue}break}break f}f=J[a+72>>2];e=P(f,d-1|0)}h=1;if((f|0)<=0){break f}j=J[a+68>>2];f=0;while(1){J[j+(f<<2)>>2]=J[(e+f<<2)+c>>2];f=f+1|0;if((f|0)>2]){continue}break}}fa=g+48|0;break d}yc();C()}if(!h){return 0}j:{if(J[a+8>>2]<=0){break j}y=J[a+68>>2];j=J[v>>2];e=0;while(1){f=e<<2;g=J[f+y>>2];p=J[a+16>>2];k:{if((g|0)>(p|0)){J[f+j>>2]=p;break k}f=f+j|0;p=J[a+12>>2];if((p|0)>(g|0)){J[f>>2]=p;break k}J[f>>2]=g}e=e+1|0;g=J[a+8>>2];if((e|0)<(g|0)){continue}break}f=0;if((g|0)<=0){break j}e=d<<3;y=e+c|0;p=b+e|0;while(1){g=f<<2;e=g+y|0;g=J[g+p>>2]+J[g+j>>2]|0;J[e>>2]=g;l:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break l}g=g+J[a+20>>2]|0}J[e>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}d=d+1|0;if((A|0)!=(d|0)){continue}break}}return h|0}yc();C()}function ob(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=fa-704|0;fa=f;n=1;a:{b:{c:{d:{if(L[b+38>>1]<515){break d}n=0;c=J[b+20>>2];d=J[b+12>>2];g=J[b+16>>2];if((c|0)>=(d|0)&g>>>0>=M[b+8>>2]|(c|0)>(d|0)){break d}p=K[J[b>>2]+g|0];g=g+1|0;c=g?c:c+1|0;J[b+16>>2]=g;J[b+20>>2]=c;g=J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+80>>2];c=ka[J[J[a>>2]+24>>2]](a)|0;J[f+40>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;if(c){if(c>>>0>=214748365){break c}c=P(c,20);d=Cj(c);J[f+32>>2]=d;J[f+40>>2]=c+d;c=c-20|0;c=(c-((c>>>0)%20|0)|0)+20|0;q=f,r=Xi(d,0,c)+c|0,J[q+36>>2]=r}e:{if((ka[J[J[a>>2]+24>>2]](a)|0)>0){while(1){c=ka[J[J[a>>2]+20>>2]](a,l)|0;c=J[J[J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];$a(c,g);H[c+84|0]=1;J[c+72>>2]=J[c+68>>2];d=J[c+28>>2];if(d>>>0>9){break e}f:{g:{h:{e=1<>2],d,6,0,i,i>>31);c=_a(Cj(96),e);J[f>>2]=c;H[c+84|0]=1;J[c+72>>2]=J[c+68>>2];$a(c,g);c=J[a+64>>2];if(c>>>0>=M[a+68>>2]){break h}d=J[f>>2];J[f>>2]=0;J[c>>2]=d;c=c+4|0;J[a+64>>2]=c;break g}j=0;if(!K[c+24|0]){break f}while(1){d=J[a+52>>2];i=J[a+56>>2];i:{if(d>>>0>>0){J[d>>2]=0;J[a+52>>2]=d+4;break i}e=d;d=J[a+48>>2];m=e-d|0;k=m>>2;e=k+1|0;if(e>>>0>=1073741824){break b}o=k<<2;i=i-d|0;k=i>>>1|0;e=i>>>0>=2147483644?1073741823:e>>>0>>0?k:e;if(e){if(e>>>0>=1073741824){break a}i=Cj(e<<2)}else{i=0}k=o+i|0;J[k>>2]=0;o=e<<2;e=Wi(i,d,m);J[a+56>>2]=o+e;J[a+52>>2]=k+4;J[a+48>>2]=e;if(!d){break i}xj(d)}j=j+1|0;if(j>>>0>2];i=J[a+64>>2]-e>>2;d=i+1|0;if(d>>>0<1073741824){e=J[a+68>>2]-e|0;j=e>>>1|0;e=e>>>0>=2147483644?1073741823:d>>>0>>0?j:d;if(e){if(e>>>0>=1073741824){break l}c=Cj(e<<2)}j=J[f>>2];J[f>>2]=0;d=(i<<2)+c|0;J[d>>2]=j;e=(e<<2)+c|0;i=d+4|0;c=J[a+64>>2];j=J[a+60>>2];if((c|0)==(j|0)){break k}while(1){c=c-4|0;m=J[c>>2];J[c>>2]=0;d=d-4|0;J[d>>2]=m;if((c|0)!=(j|0)){continue}break}J[a+68>>2]=e;e=J[a+64>>2];J[a+64>>2]=i;c=J[a+60>>2];J[a+60>>2]=d;if((c|0)==(e|0)){break j}while(1){e=e-4|0;d=J[e>>2];J[e>>2]=0;if(d){pb(d)}if((c|0)!=(e|0)){continue}break}break j}Ia();C()}Va();C()}J[a+68>>2]=e;J[a+64>>2]=i;J[a+60>>2]=d}if(c){xj(c)}c=J[a+64>>2]}c=J[c-4>>2];d=J[f>>2];J[f>>2]=0;if(!d){break f}pb(d)}i=J[c+28>>2];d=i-1|0;if(d>>>0<=10){e=J[(d<<2)+13632>>2]}else{e=-1}d=J[f+32>>2]+P(l,20)|0;j=K[c+24|0];J[d+16>>2]=j;J[d+12>>2]=(e|0)>0?e:0;J[d+8>>2]=i;J[d+4>>2]=h;J[d>>2]=c;h=h+j|0;l=l+1|0;if((ka[J[J[a>>2]+24>>2]](a)|0)>(l|0)){continue}break}}a=qb(f,f+32|0);m:{n:{o:{switch(p|0){case 0:c=tb(f+48|0,h);b=rb(c,b,a,g);h=J[c+8>>2];sb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 1:c=tb(f+48|0,h);b=ub(c,b,a,g);h=J[c+8>>2];sb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 2:c=xb(f+48|0,h);b=vb(c,b,a,g);h=J[c+8>>2];wb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 3:c=xb(f+48|0,h);b=yb(c,b,a,g);h=J[c+8>>2];wb(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 4:c=Bb(f+48|0,h);b=zb(c,b,a,g);h=J[c+8>>2];Ab(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 5:c=Bb(f+48|0,h);b=Cb(c,b,a,g);h=J[c+8>>2];Ab(c);if(!b){break m}if((h|0)==(g|0)){break n}break m;case 6:break o;default:break m}}c=Bb(f+48|0,h);b=Db(c,b,a,g);h=J[c+8>>2];Ab(c);if(!b|(h|0)!=(g|0)){break m}}n=1}b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a>>2];if(!b){break e}J[a+4>>2]=b;xj(b)}a=J[f+32>>2];if(!a){break d}J[f+36>>2]=a;xj(a)}fa=f+704|0;return n|0}Ia();C()}Ia();C()}Va();C()}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=fa-32|0;fa=e;a:{b:{switch(c-2|0){case 0:c=J[a+4>>2];f=J[a+12>>2];J[e+24>>2]=-1;J[e+16>>2]=-1;J[e+20>>2]=1065353216;J[e+8>>2]=-1;J[e+12>>2]=-1;if((b|0)==-2){break a}i=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];if((ka[J[J[c>>2]+8>>2]](c)|0)==1){h=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];c:{if((ka[J[J[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break c}g=ka[J[J[c>>2]+36>>2]](c)|0;a=ka[J[J[c>>2]+44>>2]](c,f)|0;if(!g|!a){break c}f=ka[J[J[c>>2]+40>>2]](c,f)|0;d:{if(f){if((b|0)!=6){break c}b=J[c+44>>2];d=Cj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=f;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=f;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=7192;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=7716;a=d+96|0;break d}if((b|0)!=6){break c}b=J[c+44>>2];d=Cj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=g;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=g;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=8128;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=8520;a=d+96|0}J[a>>2]=0;J[a+4>>2]=0;H[a+5|0]=0;H[a+6|0]=0;H[a+7|0]=0;H[a+8|0]=0;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0}if(d){break a}}d=Cj(28);J[d+4>>2]=i;a=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=a;a=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=a;J[d+24>>2]=J[e+24>>2];J[d>>2]=8908;break a;case 1:break b;default:break a}}c=J[a+4>>2];f=J[a+12>>2];J[e+24>>2]=-1;J[e+16>>2]=-1;J[e+20>>2]=1065353216;J[e+8>>2]=-1;J[e+12>>2]=-1;if((b|0)==-2){break a}i=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];if((ka[J[J[c>>2]+8>>2]](c)|0)==1){h=J[J[J[c+4>>2]+8>>2]+(f<<2)>>2];e:{if((ka[J[J[c>>2]+8>>2]](c)|0)!=1|b-1>>>0>5){break e}g=ka[J[J[c>>2]+36>>2]](c)|0;a=ka[J[J[c>>2]+44>>2]](c,f)|0;if(!g|!a){break e}f=ka[J[J[c>>2]+40>>2]](c,f)|0;f:{if(f){if((b|0)!=6){break e}b=J[c+44>>2];d=Cj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=f;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=f;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=9076;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=9640;a=d+96|0;break f}if((b|0)!=6){break e}b=J[c+44>>2];d=Cj(112);J[d+4>>2]=h;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;J[d+24>>2]=J[e+24>>2];J[d+40>>2]=a;c=a+12|0;J[d+36>>2]=c;J[d+32>>2]=g;J[d+28>>2]=b;J[d+68>>2]=a;J[d- -64>>2]=c;J[d+60>>2]=g;J[d+56>>2]=b;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=10080;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=10500;a=d+96|0}J[a>>2]=0;J[a+4>>2]=0;H[a+5|0]=0;H[a+6|0]=0;H[a+7|0]=0;H[a+8|0]=0;H[a+9|0]=0;H[a+10|0]=0;H[a+11|0]=0;H[a+12|0]=0}if(d){break a}}d=Cj(28);J[d+4>>2]=i;a=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=a;a=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=a;J[d+24>>2]=J[e+24>>2];J[d>>2]=10912}fa=e+32|0;return d|0}function Na(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Q(0),p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(J[c>>2]==J[c+4>>2]){m=J[d+80>>2];u=fa-16|0;fa=u;g=J[a+4>>2];k=K[b+24|0];h=J[d+48>>2];n=J[J[d>>2]>>2];c=u+8|0;J[c>>2]=1065353216;d=c;N[c>>2]=Q(-1<>2];c=Cj(k<<2);a:{if(!m|!k){break a}p=h+n|0;o=N[d>>2];n=J[a+8>>2];v=J[b>>2];d=J[b+48>>2];g=J[b+40>>2];w=J[b+44>>2];if(!K[b+84|0]){f=J[b+68>>2];s=k&254;t=k&1;a=0;while(1){b=J[v>>2];l=nk(g,w,J[f+(i<<2)>>2],0)+d|0;h=Vi(c,b+l|0,g);b=0;q=0;if((k|0)!=1){while(1){l=p+(a<<2)|0;j=b<<2;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));b:{if(Q(R(e))>2]=r;j=j|4;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));c:{if(Q(R(e))>2]=j;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){l=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+h>>2]-N[b+n>>2]))+Q(.5))));d:{if(Q(R(e))>2]=b;a=a+1|0}i=i+1|0;if((m|0)!=(i|0)){continue}break}break a}s=k&254;t=k&1;a=0;while(1){b=J[v>>2];h=nk(g,w,i,l)+d|0;j=Vi(c,b+h|0,g);b=0;q=0;if((k|0)!=1){while(1){h=p+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));e:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));f:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){h=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+j>>2]-N[b+n>>2]))+Q(.5))));g:{if(Q(R(e))>2]=b;a=a+1|0}b=l;i=i+1|0;b=i?b:b+1|0;l=b;if((i|0)!=(m|0)|b){continue}break}}xj(c);fa=u+16|0;return 1}j=fa-16|0;fa=j;m=J[a+4>>2];i=K[b+24|0];g=J[d+48>>2];h=J[J[d>>2]>>2];d=j+8|0;J[d>>2]=1065353216;l=d;N[d>>2]=Q(-1<>2];d=Cj(i<<2);m=J[c+4>>2];q=J[c>>2];h:{if(!i|(m|0)==(q|0)){break h}n=h+g|0;c=m-q>>2;u=c>>>0<=1?1:c;o=N[l>>2];h=J[a+8>>2];v=J[b>>2];l=J[b+48>>2];m=J[b+40>>2];w=J[b+44>>2];if(K[b+84|0]){s=i&254;t=i&1;a=0;c=0;while(1){b=J[v>>2];g=nk(m,w,J[q+(c<<2)>>2],0)+l|0;p=Vi(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));i:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));j:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(t){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));k:{if(Q(R(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}break h}s=J[b+68>>2];t=i&254;x=i&1;a=0;c=0;while(1){b=J[v>>2];g=nk(m,w,J[s+(J[q+(c<<2)>>2]<<2)>>2],0)+l|0;p=Vi(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));l:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));m:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(x){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));n:{if(Q(R(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}}xj(d);fa=j+16|0;return 1}function Ve(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=J[a+4>>2];e=J[a>>2];f=(c-e|0)/144|0;if(f>>>0>>0){e=a;b=b-f|0;h=J[a+8>>2];c=J[a+4>>2];a:{if(b>>>0<=(h-c|0)/144>>>0){b:{if(!b){break b}a=c;f=b&7;if(f){while(1){hf(a);a=a+144|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}c=P(b,144)+c|0;if((b-1&268435455)>>>0<7){break b}while(1){hf(a);hf(a+144|0);hf(a+288|0);hf(a+432|0);hf(a+576|0);hf(a+720|0);hf(a+864|0);hf(a+1008|0);a=a+1152|0;if((c|0)!=(a|0)){continue}break}}J[e+4>>2]=c;break a}c:{d:{e:{a=c;c=J[e>>2];i=(a-c|0)/144|0;a=i+b|0;if(a>>>0<29826162){c=(h-c|0)/144|0;f=c<<1;f=c>>>0>=14913080?29826161:a>>>0>>0?f:a;if(f){if(f>>>0>=29826162){break e}g=Cj(P(f,144))}c=P(i,144)+g|0;a=c;h=b&7;if(h){while(1){hf(a);a=a+144|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}}h=P(b,144)+c|0;if((b-1&268435455)>>>0>=7){while(1){hf(a);hf(a+144|0);hf(a+288|0);hf(a+432|0);hf(a+576|0);hf(a+720|0);hf(a+864|0);hf(a+1008|0);a=a+1152|0;if((h|0)!=(a|0)){continue}break}}b=P(f,144)+g|0;d=J[e+4>>2];f=J[e>>2];if((d|0)==(f|0)){break d}while(1){c=c-144|0;d=d-144|0;a=d;J[c>>2]=J[a>>2];J[c+4>>2]=J[a+4>>2];J[c+8>>2]=J[a+8>>2];J[c+12>>2]=J[a+12>>2];J[a+12>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[c+16>>2]=J[a+16>>2];J[c+20>>2]=J[a+20>>2];J[c+24>>2]=J[a+24>>2];J[a+24>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;g=K[a+28|0];J[c+40>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;H[c+28|0]=g;J[c+32>>2]=J[a+32>>2];J[c+36>>2]=J[a+36>>2];J[c+40>>2]=J[a+40>>2];J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[c+52>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+44>>2]=J[a+44>>2];J[c+48>>2]=J[a+48>>2];J[c+52>>2]=J[a+52>>2];J[a+52>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;g=c- -64|0;J[g>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+56>>2]=J[a+56>>2];J[c+60>>2]=J[a+60>>2];i=g;g=a- -64|0;J[i>>2]=J[g>>2];J[g>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[c+68>>2]=J[a+68>>2];g=J[a+72>>2];J[c+84>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+72>>2]=g;J[c+76>>2]=J[a+76>>2];J[c+80>>2]=J[a+80>>2];J[c+84>>2]=J[a+84>>2];J[a+84>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[c+96>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+88>>2]=J[a+88>>2];J[c+92>>2]=J[a+92>>2];J[c+96>>2]=J[a+96>>2];J[a+96>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;g=K[a+100|0];J[c+112>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;H[c+100|0]=g;J[c+104>>2]=J[a+104>>2];J[c+108>>2]=J[a+108>>2];J[c+112>>2]=J[a+112>>2];J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[c+124>>2]=0;J[c+116>>2]=0;J[c+120>>2]=0;J[c+116>>2]=J[a+116>>2];J[c+120>>2]=J[a+120>>2];J[c+124>>2]=J[a+124>>2];J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;g=J[a+128>>2];J[c+140>>2]=0;J[c+132>>2]=0;J[c+136>>2]=0;J[c+128>>2]=g;J[c+132>>2]=J[a+132>>2];J[c+136>>2]=J[a+136>>2];J[c+140>>2]=J[a+140>>2];J[a+140>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;if((a|0)!=(f|0)){continue}break}J[e+8>>2]=b;a=J[e+4>>2];J[e+4>>2]=h;d=J[e>>2];J[e>>2]=c;if((a|0)==(d|0)){break c}while(1){b=a-144|0;c=J[b+132>>2];if(c){J[a-8>>2]=c;xj(c)}c=J[a-28>>2];if(c){J[a-24>>2]=c;xj(c)}c=J[a-40>>2];if(c){J[a-36>>2]=c;xj(c)}bf(a-140|0);a=b;if((d|0)!=(a|0)){continue}break}break c}Ia();C()}Va();C()}J[e+8>>2]=b;J[e+4>>2]=h;J[e>>2]=c}if(d){xj(d)}}return}if(b>>>0>>0){e=e+P(b,144)|0;if((e|0)!=(c|0)){while(1){b=c-144|0;d=J[b+132>>2];if(d){J[c-8>>2]=d;xj(d)}d=J[c-28>>2];if(d){J[c-24>>2]=d;xj(d)}d=J[c-40>>2];if(d){J[c-36>>2]=d;xj(d)}bf(c-140|0);c=b;if((e|0)!=(c|0)){continue}break}}J[a+4>>2]=e}}function le(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=fa-80|0;fa=f;e=J[c+36>>2];J[f+72>>2]=J[c+32>>2];J[f+76>>2]=e;g=J[c+28>>2];e=f- -64|0;J[e>>2]=J[c+24>>2];J[e+4>>2]=g;e=J[c+20>>2];J[f+56>>2]=J[c+16>>2];J[f+60>>2]=e;e=J[c+12>>2];J[f+48>>2]=J[c+8>>2];J[f+52>>2]=e;e=J[c+4>>2];J[f+40>>2]=J[c>>2];J[f+44>>2]=e;cg(a,f+40|0,f+24|0);a:{if(J[a>>2]){break a}if(H[a+15|0]<0){xj(J[a+4>>2])}if(K[f+31|0]){b=Cj(32);H[b+27|0]=0;c=K[1556]|K[1557]<<8|(K[1558]<<16|K[1559]<<24);H[b+23|0]=c;H[b+24|0]=c>>>8;H[b+25|0]=c>>>16;H[b+26|0]=c>>>24;c=K[1553]|K[1554]<<8|(K[1555]<<16|K[1556]<<24);d=K[1549]|K[1550]<<8|(K[1551]<<16|K[1552]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1545]|K[1546]<<8|(K[1547]<<16|K[1548]<<24);d=K[1541]|K[1542]<<8|(K[1543]<<16|K[1544]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1537]|K[1538]<<8|(K[1539]<<16|K[1540]<<24);d=K[1533]|K[1534]<<8|(K[1535]<<16|K[1536]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,b,27);xj(b);break a}i=fa-16|0;fa=i;b:{c:{switch(H[f+32|0]){case 0:e=Cj(44);J[e>>2]=0;J[e+4>>2]=0;J[e+40>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;e=bg(e);J[e>>2]=13544;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;case 1:e=Cj(44);J[e>>2]=0;J[e+4>>2]=0;J[e+40>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;e=bg(e);J[e>>2]=13452;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;default:break c}}g=Cj(32);H[g+28|0]=0;e=K[1585]|K[1586]<<8|(K[1587]<<16|K[1588]<<24);H[g+24|0]=e;H[g+25|0]=e>>>8;H[g+26|0]=e>>>16;H[g+27|0]=e>>>24;e=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);h=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[g+16|0]=h;H[g+17|0]=h>>>8;H[g+18|0]=h>>>16;H[g+19|0]=h>>>24;H[g+20|0]=e;H[g+21|0]=e>>>8;H[g+22|0]=e>>>16;H[g+23|0]=e>>>24;e=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);h=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[g+8|0]=h;H[g+9|0]=h>>>8;H[g+10|0]=h>>>16;H[g+11|0]=h>>>24;H[g+12|0]=e;H[g+13|0]=e>>>8;H[g+14|0]=e>>>16;H[g+15|0]=e>>>24;e=K[1565]|K[1566]<<8|(K[1567]<<16|K[1568]<<24);h=K[1561]|K[1562]<<8|(K[1563]<<16|K[1564]<<24);H[g|0]=h;H[g+1|0]=h>>>8;H[g+2|0]=h>>>16;H[g+3|0]=h>>>24;H[g+4|0]=e;H[g+5|0]=e>>>8;H[g+6|0]=e>>>16;H[g+7|0]=e>>>24;J[i>>2]=-1;e=i|4;Gj(e,g,28);j=H[i+15|0];J[f>>2]=J[i>>2];h=f+4|0;d:{if((j|0)>=0){j=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=j;J[h+8>>2]=J[e+8>>2];J[f+16>>2]=0;break d}Gj(h,J[i+4>>2],J[i+8>>2]);e=H[i+15|0];J[f+16>>2]=0;if((e|0)>=0){break d}xj(J[i+4>>2])}xj(g)}fa=i+16|0;e=J[f>>2];e:{if(e){J[a>>2]=e;a=a+4|0;if(H[f+15|0]>=0){b=f|4;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break e}Gj(a,J[f+4>>2],J[f+8>>2]);break e}e=J[f+16>>2];J[f+16>>2]=0;gg(a,e,b,c,d);if(!J[a>>2]){if(H[a+15|0]<0){xj(J[a+4>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}ka[J[J[e>>2]+4>>2]](e)}a=J[f+16>>2];J[f+16>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}if(H[f+15|0]>=0){break a}xj(J[f+4>>2])}fa=f+80|0}function Di(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;J[a+56>>2]=J[a+52>>2];J[a+44>>2]=J[a+40>>2];b=J[a+64>>2];c=J[b+24>>2];if((c|0)==J[b+28>>2]){return 1}a:{b:{c:{while(1){g=i;i=J[(k<<2)+c>>2];d:{if((i|0)==-1){i=g;break d}b=J[a+56>>2];e:{if((b|0)!=J[a+60>>2]){J[b>>2]=g;J[a+56>>2]=b+4;break e}d=J[a+52>>2];e=b-d|0;h=e>>2;c=h+1|0;if(c>>>0>=1073741824){break c}f=e>>>1|0;f=e>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}e=Cj(f<<2)}else{e=0}c=e+(h<<2)|0;J[c>>2]=g;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[a+60>>2]=e+(f<<2);J[a+56>>2]=h;J[a+52>>2]=c;if(!d){break e}xj(d)}f:{g:{if(!(J[J[a+12>>2]+(k>>>3&536870908)>>2]>>>k&1)){break g}e=i+1|0;e=(e>>>0)%3|0?e:i-2|0;if((e|0)==-1|J[J[a>>2]+(e>>>3&536870908)>>2]>>>e&1){break g}e=J[J[J[a+64>>2]+12>>2]+(e<<2)>>2];if((e|0)==-1){break g}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)==-1){break g}c=J[a+64>>2];f=J[a>>2];while(1){e=b;b=-1;d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;h:{if((d|0)==-1|J[f+(d>>>3&536870908)>>2]>>>d&1){break h}d=J[J[c+12>>2]+(d<<2)>>2];if((d|0)==-1){break h}b=d+1|0;b=(b>>>0)%3|0?b:d-2|0}if((b|0)!=(i|0)){if((b|0)==-1){break f}continue}break}return 0}e=i}J[J[a+28>>2]+(e<<2)>>2]=g;b=J[a+44>>2];i:{if((b|0)!=J[a+48>>2]){J[b>>2]=e;J[a+44>>2]=b+4;break i}d=J[a+40>>2];i=b-d|0;h=i>>2;c=h+1|0;if(c>>>0>=1073741824){break a}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:c>>>0>>0?f:c;if(f){if(f>>>0>=1073741824){break b}i=Cj(f<<2)}else{i=0}c=i+(h<<2)|0;J[c>>2]=e;h=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[a+48>>2]=i+(f<<2);J[a+44>>2]=h;J[a+40>>2]=c;if(!d){break i}xj(d)}i=g+1|0;b=J[a+64>>2];if((e|0)==-1){break d}j:{if((e>>>0)%3|0){c=e-1|0;break j}c=e+2|0;if((c|0)==-1){break d}}d=J[J[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1|(e|0)==(f|0)){break d}while(1){b=f+1|0;b=(b>>>0)%3|0?b:f-2|0;if(J[J[a>>2]+(b>>>3&536870908)>>2]>>>b&1){b=J[a+56>>2];k:{if((b|0)!=J[a+60>>2]){J[b>>2]=i;J[a+56>>2]=b+4;break k}d=J[a+52>>2];g=b-d|0;j=g>>2;c=j+1|0;if(c>>>0>=1073741824){break c}h=g>>>1|0;h=g>>>0>=2147483644?1073741823:c>>>0>>0?h:c;if(h){if(h>>>0>=1073741824){break b}g=Cj(h<<2)}else{g=0}c=g+(j<<2)|0;J[c>>2]=i;j=c+4|0;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[a+60>>2]=g+(h<<2);J[a+56>>2]=j;J[a+52>>2]=c;if(!d){break k}xj(d)}d=i+1|0;b=J[a+44>>2];l:{if((b|0)!=J[a+48>>2]){J[b>>2]=f;J[a+44>>2]=b+4;break l}h=J[a+40>>2];g=b-h|0;l=g>>2;c=l+1|0;if(c>>>0>=1073741824){break a}j=g>>>1|0;j=g>>>0>=2147483644?1073741823:c>>>0>>0?j:c;if(j){if(j>>>0>=1073741824){break b}g=Cj(j<<2)}else{g=0}c=g+(l<<2)|0;J[c>>2]=f;l=c+4|0;if((b|0)!=(h|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(h|0)){continue}break}}J[a+48>>2]=g+(j<<2);J[a+44>>2]=l;J[a+40>>2]=c;if(!h){break l}xj(h)}g=i;i=d}J[J[a+28>>2]+(f<<2)>>2]=g;b=J[a+64>>2];m:{if((f>>>0)%3|0){c=f-1|0;break m}c=f+2|0;if((c|0)==-1){break d}}d=J[J[b+12>>2]+(c<<2)>>2];if((d|0)==-1){break d}f=d+((d>>>0)%3|0?-1:2)|0;if((f|0)==-1){break d}if((e|0)!=(f|0)){continue}break}}k=k+1|0;c=J[b+24>>2];if(k>>>0>2]-c>>2>>>0){continue}break}return 1}Ia();C()}Va();C()}Ia();C()}function Ae(a){a=a|0;var b=0,c=0,d=0,e=0;c=J[a+32>>2];d=J[c+16>>2];e=J[c+12>>2];b=J[c+20>>2];if(M[c+8>>2]>d>>>0&(e|0)>=(b|0)|(b|0)<(e|0)){e=K[J[c>>2]+d|0];d=d+1|0;b=d?b:b+1|0;J[c+16>>2]=d;J[c+20>>2]=b;b=J[a+48>>2];J[a+48>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}a:{b:{c:{d:{switch(e|0){case 0:b=Cj(384);J[b>>2]=11432;Xi(b+4|0,0,80);J[b+96>>2]=0;J[b+100>>2]=0;J[b+92>>2]=-1;J[b+84>>2]=-1;J[b+88>>2]=-1;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+152>>2]=1065353216;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+208>>2]=0;J[b+212>>2]=-1;J[b+216>>2]=0;J[b+220>>2]=0;J[b+224>>2]=0;qg(b+232|0);qg(b+272|0);c=b+312|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;qg(b+328|0);J[b+376>>2]=0;J[b+368>>2]=0;J[b+372>>2]=0;break c;case 1:b=Cj(424);J[b>>2]=11484;Xi(b+4|0,0,80);J[b+96>>2]=0;J[b+100>>2]=0;J[b+92>>2]=-1;J[b+84>>2]=-1;J[b+88>>2]=-1;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+152>>2]=1065353216;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+208>>2]=0;J[b+212>>2]=-1;J[b+216>>2]=0;J[b+220>>2]=0;J[b+224>>2]=0;qg(b+232|0);qg(b+272|0);c=b+312|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;qg(b+328|0);J[b+392>>2]=0;J[b+396>>2]=0;J[b+384>>2]=0;J[b+388>>2]=0;J[b+376>>2]=0;J[b+380>>2]=0;J[b+368>>2]=0;J[b+372>>2]=0;c=b+400|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;J[b+416>>2]=-1;J[b+420>>2]=-1;break c;case 2:break d;default:break b}}b=Cj(440);J[b>>2]=11532;Xi(b+4|0,0,80);J[b+96>>2]=0;J[b+100>>2]=0;J[b+92>>2]=-1;J[b+84>>2]=-1;J[b+88>>2]=-1;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+152>>2]=1065353216;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+208>>2]=0;J[b+212>>2]=-1;J[b+216>>2]=0;J[b+220>>2]=0;J[b+224>>2]=0;qg(b+232|0);qg(b+272|0);c=b+312|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;qg(b+328|0);J[b+392>>2]=0;J[b+396>>2]=0;J[b+384>>2]=0;J[b+388>>2]=0;J[b+376>>2]=0;J[b+380>>2]=0;J[b+368>>2]=0;J[b+372>>2]=0;J[b+416>>2]=0;J[b+420>>2]=0;J[b+408>>2]=2;J[b+412>>2]=7;J[b+400>>2]=-1;J[b+404>>2]=-1;J[b+424>>2]=0;J[b+428>>2]=0;J[b+432>>2]=0;J[b+436>>2]=0}c=J[a+48>>2];J[a+48>>2]=b;if(!c){break a}ka[J[J[c>>2]+4>>2]](c)}b=J[a+48>>2];if(b){break a}return 0}a=ka[J[J[b>>2]+8>>2]](b,a)|0}else{a=0}return a|0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=fa-96|0;fa=f;e=J[a+16>>2];H[f+92|0]=1;J[f+88>>2]=b;J[f+84>>2]=b;J[f+80>>2]=e;a:{if((b|0)==-1){break a}j=J[a+20>>2];d=J[j>>2];e=J[J[e>>2]+(b<<2)>>2];if(e>>>0>=J[j+4>>2]-d>>2>>>0){break a}e=J[J[a+8>>2]+(J[d+(e<<2)>>2]<<2)>>2];d=J[a+4>>2];if(!K[d+84|0]){e=J[J[d+68>>2]+(e<<2)>>2]}J[f+72>>2]=0;J[f+76>>2]=0;j=f- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[f+56>>2]=0;J[f+60>>2]=0;Xc(d,e,H[d+24|0],f+56|0);e=b+1|0;j=(e>>>0)%3|0?e:b-2|0;n=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){d=j;e=n;d:{if(!J[a+28>>2]){break d}e=b+1|0;d=(e>>>0)%3|0?e:b-2|0;e=b-1|0;if((b>>>0)%3|0){break d}e=b+2|0}if((d|0)==-1){break b}m=J[a+20>>2];b=J[m>>2];d=J[J[J[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=J[m+4>>2]-b>>2>>>0){break b}d=J[J[a+8>>2]+(J[(d<<2)+b>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[f+48>>2]=0;J[f+52>>2]=0;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;Xc(b,d,H[b+24|0],f+32|0);if((e|0)==-1){break c}d=J[a+20>>2];b=J[d>>2];e=J[J[J[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=J[d+4>>2]-b>>2>>>0){break c}d=J[J[a+8>>2]+(J[b+(e<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;Xc(b,d,H[b+24|0],f+8|0);g=J[f+8>>2];b=J[f+56>>2];d=g-b|0;p=J[f+60>>2];t=J[f+12>>2]-(p+(b>>>0>g>>>0)|0)|0;i=J[f+40>>2];e=J[f+64>>2];m=i-e|0;u=J[f+68>>2];x=J[f+44>>2]-(u+(e>>>0>i>>>0)|0)|0;g=nk(d,t,m,x);v=o-g|0;w=h-(ja+(g>>>0>o>>>0)|0)|0;h=v;i=J[f+16>>2];g=i-e|0;u=J[f+20>>2]-((e>>>0>i>>>0)+u|0)|0;k=J[f+32>>2];i=k-b|0;v=J[f+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=nk(g,u,i,v);o=h+b|0;h=ja+w|0;h=b>>>0>o>>>0?h+1|0:h;b=l;l=d;p=t;k=J[f+48>>2];e=J[f+72>>2];d=k-e|0;t=J[f+76>>2];w=J[f+52>>2]-(t+(e>>>0>k>>>0)|0)|0;l=nk(l,p,d,w);k=b+l|0;b=ja+q|0;b=k>>>0>>0?b+1|0:b;l=J[f+24>>2];p=l-e|0;e=J[f+28>>2]-((e>>>0>l>>>0)+t|0)|0;q=nk(p,e,i,v);l=k-q|0;q=b-(ja+(k>>>0>>0)|0)|0;b=nk(g,u,d,w);d=r-b|0;b=s-(ja+(b>>>0>r>>>0)|0)|0;s=nk(p,e,m,x);r=s+d|0;b=ja+b|0;s=r>>>0>>0?b+1|0:b;wd(f+80|0);b=J[f+88>>2];if((b|0)!=-1){continue}break}b=s>>31;e=b^r;d=e-b|0;b=(b^s)-((b>>>0>e>>>0)+b|0)|0;n=-1;e=2147483647;m=q>>31;g=m;i=g^l;j=i-g|0;m=(g^q)-((i>>>0>>0)+g|0)|0;i=m;k=j^-1;g=i^2147483647;m=h;e:{f:{if(!J[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break e}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;e=a;g=h;a=g>>31;d=a;n=d^o;a=n-d|0;h=a;d=(d^g)-((d>>>0>n>>>0)+d|0)|0;a=a+e|0;d=d^2147483647;h=(d|0)==(b|0)&(h^-1)>>>0>>0|b>>>0>d>>>0;a=h?-1:a;if(!(h&0)&(a|0)<=536870912|(a|0)<536870912){break e}b=0;a=a>>>29|0;break f}g:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break g}b=b+i|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=h;h=h>>31;g=h;i=g^o;h=i-g|0;j=(g^k)-((g>>>0>i>>>0)+g|0)|0;g=j^2147483647;d=a;a=h;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break g}b=b+j|0;n=a+d|0;b=n>>>0>>0?b+1|0:b;e=b;if(!b&n>>>0<536870913){break e}}b=e>>>29|0;a=(e&536870911)<<3|n>>>29}o=ok(o,m,a,b);l=ok(l,q,a,b);r=ok(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;fa=f+96|0;return}yc();C()}yc();C()}yc();C()}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if((b|0)<0){break a}c=J[a+12>>2];d=J[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=J[d>>2];i=J[e+60>>2];f=J[e+56>>2];e=d+4|0;if((e|0)!=(c|0)){while(1){h=J[e>>2];J[e>>2]=0;g=J[d>>2];J[d>>2]=h;if(g){pb(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=J[a+12>>2]}if((c|0)!=(d|0)){while(1){c=c-4|0;e=J[c>>2];J[c>>2]=0;if(e){pb(e)}if((c|0)!=(d|0)){continue}break}}J[a+12>>2]=d;g=J[a+4>>2];b:{if(!g|(i|0)<0){break b}c=J[g+24>>2];d=J[g+28>>2];if((c|0)==(d|0)){break b}while(1){if((i|0)==J[J[c>>2]+24>>2]){d=c+4|0;i=J[g+28>>2];if((d|0)!=(i|0)){while(1){h=J[d>>2];J[d>>2]=0;e=J[c>>2];J[c>>2]=h;if(e){jg(e+12|0,J[e+16>>2]);kg(e,J[e+4>>2]);xj(e)}c=c+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}d=J[g+28>>2]}if((c|0)!=(d|0)){while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){jg(e+12|0,J[e+16>>2]);kg(e,J[e+4>>2]);xj(e)}if((c|0)!=(d|0)){continue}break}}J[g+28>>2]=c;break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}c:{if((f|0)>4){break c}d:{e=P(f,12)+a|0;c=J[e+20>>2];d=J[e+24>>2];if((c|0)==(d|0)){break d}while(1){if(J[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c;c=c+4|0;Wi(f,c,d-c|0);J[e+24>>2]=d-4}c=J[a+24>>2];d=J[a+20>>2];e:{if((c|0)==(d|0)){break e}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break e}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break e}J[c>>2]=d-1}c=J[a+36>>2];d=J[a+32>>2];f:{if((c|0)==(d|0)){break f}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break f}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break f}J[c>>2]=d-1}c=J[a+48>>2];d=J[a+44>>2];g:{if((c|0)==(d|0)){break g}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break g}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break g}J[c>>2]=d-1}c=J[a+60>>2];d=J[a+56>>2];h:{if((c|0)==(d|0)){break h}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break h}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break h}J[c>>2]=d-1}c=J[a+72>>2];a=J[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;g=e&1;c=0;if(d>>>0>=8){d=e&-2;e=0;while(1){i=c<<2;f=i+a|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}i=a+(i|4)|0;f=J[i>>2];if((f|0)>(b|0)){J[i>>2]=f-1}c=c+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!g){break a}f=b;a=a+(c<<2)|0;b=J[a>>2];if((f|0)>=(b|0)){break a}J[a>>2]=b-1}}function xj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=J[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=J[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=J[d+8>>2];b=b>>>3|0;c=J[d+12>>2];if((c|0)==(e|0)){i=17256,j=J[4314]&rk(b),J[i>>2]=j;break b}J[e+12>>2]=c;J[c+8>>2]=e;break b}h=J[d+24>>2];b=J[d+12>>2];c:{if((d|0)!=(b|0)){c=J[d+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break c}d:{e=d+20|0;c=J[e>>2];if(c){break d}e=d+16|0;c=J[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break b}e=J[d+28>>2];c=(e<<2)+17560|0;e:{if(J[c>>2]==(d|0)){J[c>>2]=b;if(b){break e}i=17260,j=J[4315]&rk(e),J[i>>2]=j;break b}J[h+(J[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}J[b+24>>2]=h;c=J[d+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[d+20>>2];if(!c){break b}J[b+20>>2]=c;J[c+24>>2]=b;break b}b=J[f+4>>2];if((b&3)!=3){break b}J[4316]=a;J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=J[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(J[4320]==(f|0)){J[4320]=d;a=J[4317]+a|0;J[4317]=a;J[d+4>>2]=a|1;if(J[4319]!=(d|0)){break a}J[4316]=0;J[4319]=0;return}if(J[4319]==(f|0)){J[4319]=d;a=J[4316]+a|0;J[4316]=a;J[d+4>>2]=a|1;J[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=J[f+8>>2];b=b>>>3|0;c=J[f+12>>2];if((c|0)==(e|0)){i=17256,j=J[4314]&rk(b),J[i>>2]=j;break g}J[e+12>>2]=c;J[c+8>>2]=e;break g}h=J[f+24>>2];b=J[f+12>>2];h:{if((f|0)!=(b|0)){c=J[f+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break h}i:{e=f+20|0;c=J[e>>2];if(c){break i}e=f+16|0;c=J[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break g}e=J[f+28>>2];c=(e<<2)+17560|0;j:{if(J[c>>2]==(f|0)){J[c>>2]=b;if(b){break j}i=17260,j=J[4315]&rk(e),J[i>>2]=j;break g}J[h+(J[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}J[b+24>>2]=h;c=J[f+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[f+20>>2];if(!c){break g}J[b+20>>2]=c;J[c+24>>2]=b}J[d+4>>2]=a|1;J[a+d>>2]=a;if(J[4319]!=(d|0)){break f}J[4316]=a;return}J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+17296|0;c=J[4314];a=1<<(a>>>3);k:{if(!(c&a)){J[4314]=a|c;a=b;break k}a=J[b+8>>2]}J[b+8>>2]=d;J[a+12>>2]=d;J[d+12>>2]=b;J[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=S(a>>>8|0);e=((a>>>38-b&1)-(b<<1)|0)+62|0}J[d+28>>2]=e;J[d+16>>2]=0;J[d+20>>2]=0;g=(e<<2)+17560|0;l:{m:{c=J[4315];b=1<>2]=d;J[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=J[g>>2];while(1){c=b;if((J[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=J[g+16>>2];if(b){continue}break}J[g+16>>2]=d;J[d+24>>2]=c}J[d+12>>2]=d;J[d+8>>2]=d;break l}a=J[c+8>>2];J[a+12>>2]=d;J[c+8>>2]=d;J[d+24>>2]=0;J[d+12>>2]=c;J[d+8>>2]=a}a=J[4322]-1|0;J[4322]=a?a:-1}}function fd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;J[a+8>>2]=e;n=a+32|0;h=J[n>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0>>0){La(n,e-f|0);d=J[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2);d=e}s=J[a+52>>2];p=J[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;m=Xi(Cj(h),0,h);b:{if((d|0)<=0){break b}g=J[a+32>>2];while(1){d=f<<2;h=J[d+m>>2];j=J[a+16>>2];c:{if((h|0)>(j|0)){J[d+g>>2]=j;break c}d=d+g|0;j=J[a+12>>2];if((j|0)>(h|0)){J[d>>2]=j;break c}J[d>>2]=h}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=J[b+h>>2]+J[g+h>>2]|0;J[d>>2]=h;d:{if((h|0)>J[a+16>>2]){i=h-J[a+20>>2]|0}else{if((h|0)>=J[a+12>>2]){break d}i=h+J[a+20>>2]|0}J[d>>2]=i}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];q=J[f>>2];f=J[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;v=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=P(e,h);f=J[(h<<2)+q>>2];if((f|0)==-1){break f}f=J[J[p+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}j=J[s>>2];g=J[p>>2];k=J[j+(J[g+(f<<2)>>2]<<2)>>2];i=f+1|0;i=(i>>>0)%3|0?i:f-2|0;if((i|0)!=-1){i=J[g+(i<<2)>>2]}else{i=-1}g:{h:{if((f>>>0)%3|0){f=f-1|0;break h}f=f+2|0;l=-1;if((f|0)==-1){break g}}l=J[g+(f<<2)>>2]}if((h|0)<=(k|0)){break f}f=J[(i<<2)+j>>2];if((f|0)>=(h|0)){break f}g=J[j+(l<<2)>>2];if((g|0)>=(h|0)){break f}i:{if((e|0)<=0){break i}g=P(e,g);j=P(e,f);k=P(e,k);f=0;l=0;if((e|0)!=1){while(1){J[(f<<2)+m>>2]=(J[(f+g<<2)+c>>2]+J[(f+j<<2)+c>>2]|0)-J[(f+k<<2)+c>>2];i=f|1;J[(i<<2)+m>>2]=(J[(g+i<<2)+c>>2]+J[(j+i<<2)+c>>2]|0)-J[(i+k<<2)+c>>2];f=f+2|0;l=l+2|0;if((u|0)!=(l|0)){continue}break}}if(!v){break i}J[(f<<2)+m>>2]=(J[(f+g<<2)+c>>2]+J[(f+j<<2)+c>>2]|0)-J[(f+k<<2)+c>>2]}if((d|0)<=0){break e}j=J[n>>2];f=0;while(1){d=f<<2;g=J[d+m>>2];k=J[a+16>>2];j:{if((g|0)>(k|0)){J[d+j>>2]=k;break j}d=d+j|0;k=J[a+12>>2];if((k|0)>(g|0)){J[d>>2]=k;break j}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+i>>2]+J[g+j>>2]|0;J[d>>2]=g;k:{if((g|0)>J[a+16>>2]){l=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break k}l=g+J[a+20>>2]|0}J[d>>2]=l}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}yc();C()}if((d|0)<=0){break e}k=(P(h-1|0,e)<<2)+c|0;j=J[n>>2];f=0;while(1){d=f<<2;g=J[d+k>>2];i=J[a+16>>2];l:{if((g|0)>(i|0)){J[d+j>>2]=i;break l}d=d+j|0;i=J[a+12>>2];if((i|0)>(g|0)){J[d>>2]=i;break l}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;i=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+i>>2]+J[g+j>>2]|0;J[d>>2]=g;m:{if((g|0)>J[a+16>>2]){l=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break m}l=g+J[a+20>>2]|0}J[d>>2]=l}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}xj(m);return 1}function Uf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){e=J[a+48>>2];J[a+52>>2]=e;a:{if((e|0)!=J[a+56>>2]){J[e>>2]=b;J[a+52>>2]=e+4;break a}d=Cj(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!e){break a}xj(e)}c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;c=J[J[a+4>>2]+28>>2];k=J[(i<<2)+c>>2];if((k|0)==-1){return 0}e=(b-P(g,3)|0?-1:2)+b|0;j=J[c+(e<<2)>>2];if((j|0)==-1){return 0}b=J[a+36>>2];g=b+(k>>>3&536870908)|0;d=J[g>>2];c=1<>2]=c|d;Ff(a+8|0,k,i);b=J[a+36>>2]}d=(j>>>3&536870908)+b|0;c=J[d>>2];b=1<>2]=b|c;Ff(a+8|0,j,e)}f=J[a+52>>2];if((f|0)==J[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{f=f-4|0;b=J[f>>2];if((b|0)==-1){break c}c=(b>>>0)/3|0;g=J[a+24>>2]+(c>>>3&268435452)|0;d=J[g>>2];c=1<>2]=c|d;h=J[a+4>>2];c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{e:{j=J[a+36>>2]+(c>>>3&536870908)|0;i=J[j>>2];e=1<>2]+(c<<2)>>2];g:{if((g|0)==-1){break g}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}g=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2];if((g|0)!=-1){break f}}J[j>>2]=e|i;Ff(k,c,d);h=J[a+4>>2];break e}J[j>>2]=e|i;Ff(k,c,d);h=J[a+4>>2];b=g+1|0;if((((b>>>0)%3|0?b:g-2|0)|0)==-1){break e}b=-1;h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1|J[J[h>>2]+(c>>>3&536870908)>>2]>>>c&1){break h}b=J[J[J[h+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];e=c>>>5|0;j=J[f+(e<<2)>>2];break d}i:{j:{if((d|0)==-1){break j}c=-1;b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if(!((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1)){c=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((d>>>0)%3|0){f=d-1|0;break l}f=d+2|0;b=-1;if((f|0)==-1){break k}}b=-1;if(J[J[h>>2]+(f>>>3&536870908)>>2]>>>f&1){break k}b=J[J[J[h+64>>2]+12>>2]+(f<<2)>>2]}g=(b|0)==-1;i=g?-1:(b>>>0)/3|0;if((c|0)!=-1){f=J[a+24>>2];d=(c>>>0)/3|0;e=d>>>5|0;j=J[f+(e<<2)>>2];d=1<>2];e=i>>>5|0;j=J[f+(e<<2)>>2];if(!(d&j)){break d}}f=J[a+52>>2]-4|0;J[a+52>>2]=f;break b}if(g){b=c;break d}if(J[(i>>>3&536870908)+f>>2]>>>i&1){b=c;break d}h=J[a+52>>2];J[h-4>>2]=b;if(J[a+56>>2]!=(h|0)){J[h>>2]=c;f=h+4|0;break c}m:{i=J[a+48>>2];e=h-i|0;g=e>>2;d=g+1|0;if(d>>>0<1073741824){b=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(e){if(e>>>0>=1073741824){break m}d=Cj(e<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;f=b+4|0;if((h|0)!=(i|0)){while(1){b=b-4|0;h=h-4|0;J[b>>2]=J[h>>2];if((h|0)!=(i|0)){continue}break}}J[a+56>>2]=d+(e<<2);J[a+52>>2]=f;J[a+48>>2]=b;if(!i){break b}xj(i);f=J[a+52>>2];break b}Ia();C()}Va();C()}J[(e<<2)+f>>2]=d|j;c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}J[a+52>>2]=f}if(J[a+48>>2]!=(f|0)){continue}break}}return 1}function xc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;J[a+8>>2]=e;m=a+32|0;h=J[m>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0>>0){La(m,e-f|0);d=J[a+8>>2];break a}d=e;if(d>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2);d=e}s=J[a+52>>2];n=J[a+48>>2];f=0;h=e>>>0>1073741823?-1:e<<2;l=Xi(Cj(h),0,h);b:{if((d|0)<=0){break b}g=J[a+32>>2];while(1){d=f<<2;h=J[d+l>>2];i=J[a+16>>2];c:{if((h|0)>(i|0)){J[d+g>>2]=i;break c}d=d+g|0;i=J[a+12>>2];if((i|0)>(h|0)){J[d>>2]=i;break c}J[d>>2]=h}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}if((d|0)<=0){break b}f=0;while(1){h=f<<2;d=h+c|0;h=J[b+h>>2]+J[g+h>>2]|0;J[d>>2]=h;d:{if((h|0)>J[a+16>>2]){h=h-J[a+20>>2]|0}else{if((h|0)>=J[a+12>>2]){break d}h=h+J[a+20>>2]|0}J[d>>2]=h}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}f=J[a+56>>2];q=J[f>>2];f=J[f+4>>2]-q|0;if((f|0)>=5){o=f>>>2|0;t=o>>>0<=2?2:o;u=e&-2;v=e&1;h=1;while(1){e:{f:{if((h|0)!=(o|0)){r=P(e,h);f=J[(h<<2)+q>>2];if((f|0)==-1|J[J[n>>2]+(f>>>3&536870908)>>2]>>>f&1){break f}f=J[J[J[n+64>>2]+12>>2]+(f<<2)>>2];if((f|0)==-1){break f}i=J[s>>2];g=J[n+28>>2];k=J[i+(J[g+(f<<2)>>2]<<2)>>2];if((k|0)>=(h|0)){break f}j=f+1|0;j=J[i+(J[g+(((j>>>0)%3|0?j:f-2|0)<<2)>>2]<<2)>>2];if((j|0)>=(h|0)){break f}f=J[i+(J[g+(f+((f>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((f|0)>=(h|0)){break f}g:{if((e|0)<=0){break g}g=P(e,f);i=P(e,j);k=P(e,k);f=0;p=0;if((e|0)!=1){while(1){J[(f<<2)+l>>2]=(J[(f+g<<2)+c>>2]+J[(f+i<<2)+c>>2]|0)-J[(f+k<<2)+c>>2];j=f|1;J[(j<<2)+l>>2]=(J[(g+j<<2)+c>>2]+J[(i+j<<2)+c>>2]|0)-J[(k+j<<2)+c>>2];f=f+2|0;p=p+2|0;if((u|0)!=(p|0)){continue}break}}if(!v){break g}J[(f<<2)+l>>2]=(J[(f+g<<2)+c>>2]+J[(f+i<<2)+c>>2]|0)-J[(f+k<<2)+c>>2]}if((d|0)<=0){break e}i=J[m>>2];f=0;while(1){d=f<<2;g=J[d+l>>2];k=J[a+16>>2];h:{if((g|0)>(k|0)){J[d+i>>2]=k;break h}d=d+i|0;k=J[a+12>>2];if((k|0)>(g|0)){J[d>>2]=k;break h}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+j>>2]+J[g+i>>2]|0;J[d>>2]=g;i:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break i}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}break e}yc();C()}if((d|0)<=0){break e}k=(P(h-1|0,e)<<2)+c|0;i=J[m>>2];f=0;while(1){d=f<<2;g=J[d+k>>2];j=J[a+16>>2];j:{if((g|0)>(j|0)){J[d+i>>2]=j;break j}d=d+i|0;j=J[a+12>>2];if((j|0)>(g|0)){J[d>>2]=j;break j}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}f=0;if((d|0)<=0){break e}d=r<<2;k=d+c|0;j=b+d|0;while(1){g=f<<2;d=g+k|0;g=J[g+j>>2]+J[g+i>>2]|0;J[d>>2]=g;k:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break k}g=g+J[a+20>>2]|0}J[d>>2]=g}d=J[a+8>>2];f=f+1|0;if((d|0)>(f|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}xj(l);return 1}function ef(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=Q(0),k=0,l=0,m=Q(0);i=J[c>>2];a:{b:{f=J[b+4>>2];if(!f){break b}g=qk(f);c:{if(g>>>0>=2){e=i;if(f>>>0<=e>>>0){e=(i>>>0)%(f>>>0)|0}c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}g=J[c+4>>2];if((g|0)!=(i|0)){if(f>>>0<=g>>>0){g=(g>>>0)%(f>>>0)|0}if((e|0)!=(g|0)){break b}}if(J[c+8>>2]!=(i|0)){continue}break}b=0;break a}e=f-1&i;c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}}h=f-1|0;while(1){c=J[c>>2];if(!c){break b}g=J[c+4>>2];if((g|0)!=(i|0)&(g&h)!=(e|0)){break b}if(J[c+8>>2]!=(i|0)){continue}break}b=0;break a}c=Cj(16);d=J[J[d>>2]>>2];J[c+12>>2]=0;J[c+8>>2]=d;J[c+4>>2]=i;J[c>>2]=0;m=Q(J[b+12>>2]+1>>>0);j=N[b+16>>2];d:{if(m>Q(j*Q(f>>>0))?0:f){break d}e=2;d=(f-1&f)!=0|f>>>0<3|f<<1;j=Q(W(Q(m/j)));e:{if(j=Q(0)){g=~~j>>>0;break e}g=0}d=d>>>0>g>>>0?d:g;f:{if((d|0)==1){break f}if(!(d&d-1)){e=d;break f}e=tj(d);f=J[b+4>>2]}g:{if(e>>>0<=f>>>0){if(e>>>0>=f>>>0){break g}g=f>>>0<3;j=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(j=Q(0)){d=~~j>>>0;break h}d=0}i:{j:{if(g){break j}if(qk(f)>>>0>1){break j}d=d>>>0<2?d:1<<32-S(d-1|0);break i}d=tj(d)}e=d>>>0>>0?e:d;if(f>>>0<=e>>>0){break g}}f=0;g=0;h=e;k:{l:{m:{n:{if(e){if(h>>>0>=1073741824){break n}d=Cj(h<<2);e=J[b>>2];J[b>>2]=d;if(e){xj(e)}J[b+4>>2]=h;d=0;if(h>>>0>=4){e=h&-4;while(1){k=d<<2;J[k+J[b>>2]>>2]=0;J[J[b>>2]+(k|4)>>2]=0;J[J[b>>2]+(k|8)>>2]=0;J[J[b>>2]+(k|12)>>2]=0;d=d+4|0;g=g+4|0;if((e|0)!=(g|0)){continue}break}}e=h&3;if(e){while(1){J[J[b>>2]+(d<<2)>>2]=0;d=d+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}e=J[b+8>>2];if(!e){break k}d=b+8|0;f=J[e+4>>2];g=qk(h);if(g>>>0<2){break m}f=f>>>0>=h>>>0?(f>>>0)%(h>>>0)|0:f;J[J[b>>2]+(f<<2)>>2]=d;d=J[e>>2];if(!d){break k}if(g>>>0<=1){break l}while(1){g=J[d+4>>2];if(h>>>0<=g>>>0){g=(g>>>0)%(h>>>0)|0}o:{if((f|0)==(g|0)){e=d;break o}l=g<<2;k=l+J[b>>2]|0;if(!J[k>>2]){J[k>>2]=e;e=d;f=g;break o}J[e>>2]=J[d>>2];J[d>>2]=J[J[l+J[b>>2]>>2]>>2];J[J[l+J[b>>2]>>2]>>2]=d}d=J[e>>2];if(d){continue}break}break k}d=J[b>>2];J[b>>2]=0;if(d){xj(d)}J[b+4>>2]=0;break k}Va();C()}f=h-1&f;J[J[b>>2]+(f<<2)>>2]=d;d=J[e>>2];if(!d){break k}}k=h-1|0;while(1){g=k&J[d+4>>2];p:{if((g|0)==(f|0)){e=d;break p}l=g<<2;h=l+J[b>>2]|0;if(J[h>>2]){J[e>>2]=J[d>>2];J[d>>2]=J[J[l+J[b>>2]>>2]>>2];J[J[l+J[b>>2]>>2]>>2]=d;break p}J[h>>2]=e;e=d;f=g}d=J[e>>2];if(d){continue}break}}}f=J[b+4>>2];d=f-1|0;if(!(d&f)){e=d&i;break d}if(f>>>0>i>>>0){e=i;break d}e=(i>>>0)%(f>>>0)|0}e=J[b>>2]+(e<<2)|0;d=J[e>>2];q:{r:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[e>>2]=d;d=J[c>>2];if(!d){break q}d=J[d+4>>2];e=f-1|0;s:{if(!(e&f)){d=d&e;break s}if(d>>>0>>0){break s}d=(d>>>0)%(f>>>0)|0}d=J[b>>2]+(d<<2)|0;break r}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function me(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=fa-80|0;fa=f;e=J[c+36>>2];J[f+72>>2]=J[c+32>>2];J[f+76>>2]=e;g=J[c+28>>2];e=f- -64|0;J[e>>2]=J[c+24>>2];J[e+4>>2]=g;e=J[c+20>>2];J[f+56>>2]=J[c+16>>2];J[f+60>>2]=e;e=J[c+12>>2];J[f+48>>2]=J[c+8>>2];J[f+52>>2]=e;e=J[c+4>>2];J[f+40>>2]=J[c>>2];J[f+44>>2]=e;cg(a,f+40|0,f+24|0);a:{if(J[a>>2]){break a}if(H[a+15|0]<0){xj(J[a+4>>2])}if(K[f+31|0]!=1){b=Cj(32);H[b+20|0]=0;c=K[1483]|K[1484]<<8|(K[1485]<<16|K[1486]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1479]|K[1480]<<8|(K[1481]<<16|K[1482]<<24);d=K[1475]|K[1476]<<8|(K[1477]<<16|K[1478]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1471]|K[1472]<<8|(K[1473]<<16|K[1474]<<24);d=K[1467]|K[1468]<<8|(K[1469]<<16|K[1470]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;Gj(a+4|0,b,20);xj(b);break a}i=fa-16|0;fa=i;b:{c:{switch(K[f+32|0]){case 0:e=we(Cj(48));J[e>>2]=13160;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;case 1:e=we(Cj(52));J[e+48>>2]=0;J[e>>2]=11324;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+16>>2]=e;break b;default:break c}}g=Cj(32);H[g+28|0]=0;e=K[1585]|K[1586]<<8|(K[1587]<<16|K[1588]<<24);H[g+24|0]=e;H[g+25|0]=e>>>8;H[g+26|0]=e>>>16;H[g+27|0]=e>>>24;e=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);h=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[g+16|0]=h;H[g+17|0]=h>>>8;H[g+18|0]=h>>>16;H[g+19|0]=h>>>24;H[g+20|0]=e;H[g+21|0]=e>>>8;H[g+22|0]=e>>>16;H[g+23|0]=e>>>24;e=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);h=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[g+8|0]=h;H[g+9|0]=h>>>8;H[g+10|0]=h>>>16;H[g+11|0]=h>>>24;H[g+12|0]=e;H[g+13|0]=e>>>8;H[g+14|0]=e>>>16;H[g+15|0]=e>>>24;e=K[1565]|K[1566]<<8|(K[1567]<<16|K[1568]<<24);h=K[1561]|K[1562]<<8|(K[1563]<<16|K[1564]<<24);H[g|0]=h;H[g+1|0]=h>>>8;H[g+2|0]=h>>>16;H[g+3|0]=h>>>24;H[g+4|0]=e;H[g+5|0]=e>>>8;H[g+6|0]=e>>>16;H[g+7|0]=e>>>24;J[i>>2]=-1;e=i|4;Gj(e,g,28);j=H[i+15|0];J[f>>2]=J[i>>2];h=f+4|0;d:{if((j|0)>=0){j=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=j;J[h+8>>2]=J[e+8>>2];J[f+16>>2]=0;break d}Gj(h,J[i+4>>2],J[i+8>>2]);e=H[i+15|0];J[f+16>>2]=0;if((e|0)>=0){break d}xj(J[i+4>>2])}xj(g)}fa=i+16|0;e=J[f>>2];e:{if(e){J[a>>2]=e;a=a+4|0;if(H[f+15|0]>=0){b=f|4;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break e}Gj(a,J[f+4>>2],J[f+8>>2]);break e}e=J[f+16>>2];J[f+16>>2]=0;J[e+44>>2]=d;gg(a,e,b,c,d);if(!J[a>>2]){if(H[a+15|0]<0){xj(J[a+4>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}ka[J[J[e>>2]+4>>2]](e)}a=J[f+16>>2];J[f+16>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}if(H[f+15|0]>=0){break a}xj(J[f+4>>2])}fa=f+80|0}function Fi(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=P(b,12)+a|0;J[j+12>>2]=J[j+8>>2];m=(c|0)==-1?-1:(c>>>0)/3|0;d=1;k=c;a:{b:{c:{while(1){d:{l=d;if(!d){if((k|0)==-1){break d}if((Gi(a,((k>>>0)%3|0?-1:2)+k|0)|0)==-1){break a}c=k+1|0;d=(c>>>0)%3|0?c:k-2|0;if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}d=J[J[J[a+4>>2]+12>>2]+(c<<2)>>2];if((d|0)==-1){break a}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break a}m=(c>>>0)/3|0}e:{d=J[a+56>>2]+(m>>>3&536870908)|0;h=J[d>>2];e=1<>2]=e|h;d=J[j+12>>2];f:{if((d|0)!=J[j+16>>2]){J[d>>2]=m;J[j+12>>2]=d+4;break f}n=J[j+8>>2];h=d-n|0;e=h>>2;i=e+1|0;if(i>>>0>=1073741824){break c}g=h>>>1|0;i=h>>>0>=2147483644?1073741823:i>>>0>>0?g:i;if(i){if(i>>>0>=1073741824){break b}g=Cj(i<<2)}else{g=0}h=g+(e<<2)|0;J[h>>2]=m;e=h+4|0;if((d|0)!=(n|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(n|0)){continue}break}}J[j+8>>2]=h;J[j+12>>2]=e;J[j+16>>2]=g+(i<<2);if(!n){break f}xj(n)}g=f+1|0;g:{h:{i:{if(!f){break i}if(g&1){if((c|0)==-1){c=-1;break g}d=c+1|0;c=(d>>>0)%3|0?d:c-2|0;break i}k=l?k:c;if((c|0)==-1){c=-1;break g}if((c>>>0)%3|0){d=c-1|0;break h}c=c+2|0}d=c;c=-1;if((d|0)==-1){break g}}c=J[J[J[a+4>>2]+12>>2]+(d<<2)>>2];h=-1;f=-1;e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=J[(J[J[a>>2]+96>>2]+P(f,12)|0)+(e-P(f,3)<<2)>>2]}j:{if((c|0)==-1){break j}i=((c>>>0)%3|0?-1:2)+c|0;if((i|0)<0){break j}e=(i>>>0)/3|0;h=J[(J[J[a>>2]+96>>2]+P(e,12)|0)+(i-P(e,3)<<2)>>2]}if((f|0)!=(h|0)){c=-1;break g}k:{l:{f=((d>>>0)%3|0?-1:2)+d|0;if((f|0)>=0){d=(f>>>0)/3|0;if((c|0)!=-1){break l}c=-1;break g}d=-1;if((c|0)!=-1){break k}c=-1;break g}d=J[(J[J[a>>2]+96>>2]+P(d,12)|0)+(f-P(d,3)<<2)>>2]}f=c+1|0;e=(f>>>0)%3|0?f:c-2|0;if((e|0)>=0){f=(e>>>0)/3|0;f=J[(J[J[a>>2]+96>>2]+P(f,12)|0)+(e-P(f,3)<<2)>>2]}else{f=-1}if((f|0)!=(d|0)){c=-1;break g}f=g;m=(c>>>0)/3|0;d=J[a+56>>2]+(m>>>3&268435452)|0;h=J[d>>2];e=1<>2]-4|0;g=J[l>>2];d=J[a+56>>2]+(g>>>3&536870908)|0;c=J[d>>2];o=d,p=rk(g)&c,J[o>>2]=p;J[j+12>>2]=l;break a}d=0;if(l){continue}break a}break}k=-1;Gi(a,-1);break a}Ia();C()}Va();C()}J[((b<<2)+a|0)+44>>2]=k;b=J[j+12>>2];i=J[j+8>>2];m:{if((b|0)==(i|0)){break m}c=b-i|0;b=c>>2;b=b>>>0<=1?1:b;k=b&1;e=J[a+56>>2];d=0;if(c>>>0>=8){f=b&-2;c=0;while(1){l=d<<2;g=J[l+i>>2];b=e+(g>>>3&536870908)|0;a=J[b>>2];o=b,p=rk(g)&a,J[o>>2]=p;g=J[i+(l|4)>>2];b=e+(g>>>3&536870908)|0;a=J[b>>2];o=b,p=rk(g)&a,J[o>>2]=p;d=d+2|0;c=c+2|0;if((f|0)!=(c|0)){continue}break}}if(!k){break m}c=J[i+(d<<2)>>2];b=e+(c>>>3&536870908)|0;a=J[b>>2];o=b,p=rk(c)&a,J[o>>2]=p}}function Fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=fa-32|0;fa=h;a:{if(L[b+38>>1]<=513){c=J[b+20>>2];f=J[b+12>>2];d=J[b+16>>2];if((c|0)>=(f|0)&d>>>0>=M[b+8>>2]|(c|0)>(f|0)){break a}f=K[d+J[b>>2]|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;if(f){break a}}b:{if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}c:{if(d){Hc(a+60|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+72|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+84|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[J[a+48>>2]+64>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+96|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=J[b+8>>2];f=J[b+12>>2];d=c;c=J[b+20>>2];i=c;g=J[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=J[b>>2];k=m+g|0;l=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);J[b+16>>2]=j;J[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;if((d|0)<(l|0)){break a}J[a+16>>2]=d;J[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;J[a+20>>2]=b;c=b>>>1|0;J[a+24>>2]=c;J[a+28>>2]=0-c;if(b&1){break a}J[a+24>>2]=c-1;break a}}e=0}fa=h+32|0;return e|0}function jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=fa-32|0;fa=h;a:{if(L[b+38>>1]<=513){c=J[b+20>>2];f=J[b+12>>2];d=J[b+16>>2];if((c|0)>=(f|0)&d>>>0>=M[b+8>>2]|(c|0)>(f|0)){break a}f=K[d+J[b>>2]|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;if(f){break a}}b:{if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}c:{if(d){Hc(a+60|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+72|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+84|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(!Gc(1,h+28|0,b)){break b}d=J[h+28>>2];c=J[a+48>>2];if(d>>>0>J[c+4>>2]-J[c>>2]>>2>>>0){break b}if(d){e=0;Hc(a+96|0,d);c=h+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;if(!he(c,b)){break c}while(1){f=1<>2]+(e>>>3&536870908)|0;if(j){i=f|J[g>>2]}else{i=J[g>>2]&(f^-1)}J[g>>2]=i;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=0;c=J[b+8>>2];f=J[b+12>>2];d=c;c=J[b+20>>2];i=c;g=J[b+16>>2];j=g+4|0;c=j>>>0<4?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break a}m=J[b>>2];k=m+g|0;l=K[k|0]|K[k+1|0]<<8|(K[k+2|0]<<16|K[k+3|0]<<24);J[b+16>>2]=j;J[b+20>>2]=c;k=d;d=f;c=i;f=g+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>k>>>0&(c|0)>=(d|0)|(c|0)>(d|0)){break a}d=j+m|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;if((d|0)<(l|0)){break a}J[a+16>>2]=d;J[a+12>>2]=l;c=(d>>31)-((l>>31)+(d>>>0>>0)|0)|0;b=d-l|0;if(!c&b>>>0>2147483646|c){break a}e=1;b=b+1|0;J[a+20>>2]=b;c=b>>>1|0;J[a+24>>2]=c;J[a+28>>2]=0-c;if(b&1){break a}J[a+24>>2]=c-1;break a}}e=0}fa=h+32|0;return e|0}function Of(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){f=J[a+48>>2];J[a+52>>2]=f;a:{if((f|0)!=J[a+56>>2]){J[f>>2]=b;J[a+52>>2]=f+4;break a}d=Cj(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!f){break a}xj(f)}e=-1;d=J[a+4>>2];c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;if((i|0)!=-1){e=J[J[d>>2]+(i<<2)>>2]}b:{h=b-P(g,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}j=J[J[d>>2]+(c<<2)>>2];if((j|0)==-1){return 0}c=J[a+36>>2];f=c+(e>>>3&536870908)|0;g=J[f>>2];d=1<>2]=d|g;Ff(a+8|0,e,i);c=J[a+36>>2]}g=(j>>>3&536870908)+c|0;d=J[g>>2];c=1<>2]=c|d;Ff(a+8|0,j,(h?-1:2)+b|0)}c=J[a+52>>2];if((c|0)==J[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=J[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;f=J[a+24>>2]+(d>>>3&268435452)|0;g=J[f>>2];d=1<>2]=d|g;while(1){i=J[a+4>>2];e=J[J[i>>2]+(b<<2)>>2];if((e|0)==-1){return 0}e:{f:{h=J[a+36>>2]+(e>>>3&536870908)|0;f=J[h>>2];g=1<>2]+(e<<2)>>2];h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break h}d=J[J[i+12>>2]+(c<<2)>>2];if((d|0)!=-1){break g}}J[h>>2]=f|g;Ff(j,e,b);break f}J[h>>2]=f|g;Ff(j,e,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}c=b-2|0;d=b+1|0;b=-1;c=(d>>>0)%3|0?d:c;if((c|0)!=-1){b=J[J[J[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];f=c>>>5|0;i=J[e+(f<<2)>>2];break e}c=-1;g=J[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=J[J[g+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=J[J[g+12>>2]+(e<<2)>>2]}g=(b|0)==-1;h=g?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=J[a+24>>2];d=(c>>>0)/3|0;f=d>>>5|0;i=J[e+(f<<2)>>2];d=1<>2];f=h>>>5|0;i=J[e+(f<<2)>>2];if(!(d&i)){break e}}c=J[a+52>>2]-4|0;J[a+52>>2]=c;break c}if(g){b=c;break e}if(J[(h>>>3&536870908)+e>>2]>>>h&1){b=c;break e}e=J[a+52>>2];J[e-4>>2]=b;if(J[a+56>>2]!=(e|0)){J[e>>2]=c;c=e+4|0;break d}l:{h=J[a+48>>2];f=e-h|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){b=f>>>1|0;f=f>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(f){if(f>>>0>=1073741824){break l}d=Cj(f<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;c=b+4|0;if((e|0)!=(h|0)){while(1){b=b-4|0;e=e-4|0;J[b>>2]=J[e>>2];if((e|0)!=(h|0)){continue}break}}J[a+56>>2]=d+(f<<2);J[a+52>>2]=c;J[a+48>>2]=b;if(!h){break c}xj(h);c=J[a+52>>2];break c}Ia();C()}Va();C()}J[(f<<2)+e>>2]=d|i;if((b|0)!=-1){continue}break}return 0}J[a+52>>2]=c}if(J[a+48>>2]!=(c|0)){continue}break}}return 1}function ud(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=fa-32|0;fa=g;J[a+68>>2]=f;d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}vd(m,J[d+(j<<2)>>2],g+16|0);i=J[g+20>>2];d=i>>31;h=J[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=J[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+16>>2]=J[a+108>>2];break b}f=J[a+108>>2];l=f>>31;h=ok(nk(f,l,h,h>>31),ja,e,d);J[g+16>>2]=h;d=ok(nk(f,l,i,i>>31),ja,e,d);J[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){J[g+24>>2]=f-d;break b}J[g+24>>2]=d-f}d=je(o);f=J[g+16>>2];c:{if(d){J[g+24>>2]=0-J[g+24>>2];e=0-J[g+20>>2]|0;J[g+20>>2]=e;f=0-f|0;J[g+16>>2]=f;break c}e=J[g+20>>2]}d:{if((f|0)>=0){f=J[a+108>>2];d=f+J[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+24>>2];f=d>>31;f=J[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+100>>2]+(d-(d^e)|0)|0}e=J[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=J[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=J[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}J[g+12>>2]=d;J[g+8>>2]=f;j:{if(J[a+8>>2]<=0){break j}i=J[a+32>>2];f=0;while(1){d=f<<2;e=J[d+(g+8|0)>>2];h=J[a+16>>2];k:{if((e|0)>(h|0)){J[d+i>>2]=h;break k}d=d+i|0;h=J[a+12>>2];if((h|0)>(e|0)){J[d>>2]=h;break k}J[d>>2]=e}f=f+1|0;e=J[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=J[f+k>>2]+J[f+i>>2]|0;J[e>>2]=f;l:{if((f|0)>J[a+16>>2]){f=f-J[a+20>>2]|0}else{if((f|0)>=J[a+12>>2]){break l}f=f+J[a+20>>2]|0}J[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}fa=g+32|0;return 1}yc();C()}function cd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=fa-32|0;fa=g;J[a+68>>2]=f;d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+60|0;d=d>>>2|0;n=d>>>0<=1?1:d;o=a+112|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}dd(m,J[d+(j<<2)>>2],g+16|0);i=J[g+20>>2];d=i>>31;h=J[g+16>>2];e=h>>31;f=(d^i)-d+((e^h)-e)|0;k=J[g+24>>2];d=k>>31;e=(d^k)-d|0;d=0;l=e;e=e+f|0;d=l>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+16>>2]=J[a+108>>2];break b}f=J[a+108>>2];l=f>>31;h=ok(nk(f,l,h,h>>31),ja,e,d);J[g+16>>2]=h;d=ok(nk(f,l,i,i>>31),ja,e,d);J[g+20>>2]=d;e=d;d=d>>31;e=(e^d)-d|0;d=h>>31;d=e+((d^h)-d|0)|0;if((k|0)>=0){J[g+24>>2]=f-d;break b}J[g+24>>2]=d-f}d=je(o);f=J[g+16>>2];c:{if(d){J[g+24>>2]=0-J[g+24>>2];e=0-J[g+20>>2]|0;J[g+20>>2]=e;f=0-f|0;J[g+16>>2]=f;break c}e=J[g+20>>2]}d:{if((f|0)>=0){f=J[a+108>>2];d=f+J[g+24>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+24>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+24>>2];f=d>>31;f=J[a+100>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+100>>2]+(d-(d^e)|0)|0}e=J[a+100>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}i=J[a+108>>2];if((i|0)>=(d|0)){break g}d=(i<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}i=J[a+108>>2];if((i|0)<=(d|0)){break h}d=(i<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+108>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+108>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}J[g+12>>2]=d;J[g+8>>2]=f;j:{if(J[a+8>>2]<=0){break j}i=J[a+32>>2];f=0;while(1){d=f<<2;e=J[d+(g+8|0)>>2];h=J[a+16>>2];k:{if((e|0)>(h|0)){J[d+i>>2]=h;break k}d=d+i|0;h=J[a+12>>2];if((h|0)>(e|0)){J[d>>2]=h;break k}J[d>>2]=e}f=f+1|0;e=J[a+8>>2];if((f|0)<(e|0)){continue}break}d=0;if((e|0)<=0){break j}e=j<<3;h=e+c|0;k=b+e|0;while(1){f=d<<2;e=f+h|0;f=J[f+k>>2]+J[f+i>>2]|0;J[e>>2]=f;l:{if((f|0)>J[a+16>>2]){f=f-J[a+20>>2]|0}else{if((f|0)>=J[a+12>>2]){break l}f=f+J[a+20>>2]|0}J[e>>2]=f}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((n|0)!=(j|0)){continue}break}}fa=g+32|0;return 1}yc();C()}function db(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=fa-80|0;fa=h;a:{b:{if(K[J[a+28>>2]+36|0]<=1){d=J[b+20>>2];f=J[b+16>>2];c=f+4|0;d=c>>>0<4?d+1|0:d;g=J[b+12>>2];if(M[b+8>>2]>>0&(g|0)<=(d|0)|(d|0)>(g|0)){break a}f=f+J[b>>2]|0;j=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=c;J[b+20>>2]=d;break b}if(!eb(1,h+76|0,b)){break a}j=J[h+76>>2]}if(!j){break a}d=J[b+8>>2];c=J[b+16>>2];d=nk(d-c|0,J[b+12>>2]-(J[b+20>>2]+(c>>>0>d>>>0)|0)|0,5,0);c=ja;if(d>>>0>>0&(c|0)<=0|(c|0)<0){break a}c=J[a+4>>2];d=J[a+8>>2]-c>>2;c:{if(d>>>0>>0){La(a+4|0,j-d|0);break c}if(d>>>0<=j>>>0){break c}J[a+8>>2]=c+(j<<2)}p=a+16|0;l=J[a+32>>2];while(1){i=J[b+12>>2];c=i;d=J[b+20>>2];e=J[b+8>>2];f=J[b+16>>2];if((c|0)<=(d|0)&e>>>0<=f>>>0|(c|0)<(d|0)){e=0;break a}n=J[b>>2];q=K[n+f|0];c=d;g=f+1|0;c=g?c:c+1|0;J[b+16>>2]=g;J[b+20>>2]=c;if(e>>>0<=g>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}g=K[g+n|0];c=d;k=f+2|0;c=k>>>0<2?c+1|0:c;J[b+16>>2]=k;J[b+20>>2]=c;if(e>>>0<=k>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}k=K[k+n|0];c=d;m=f+3|0;c=m>>>0<3?c+1|0:c;J[b+16>>2]=m;J[b+20>>2]=c;if(e>>>0<=m>>>0&(c|0)>=(i|0)|(c|0)>(i|0)){e=0;break a}e=K[m+n|0];c=d;d=f+4|0;c=d>>>0<4?c+1|0:c;J[b+16>>2]=d;J[b+20>>2]=c;if(q>>>0>4){e=0;break a}if((g-12&255)>>>0<245){e=0;break a}if(!k){e=0;break a}m=Ya(h+8|0);i=(e|0)!=0;d=g-1|0;if(d>>>0<=10){c=J[(d<<2)+13632>>2]}else{c=-1}d=P(c,k);Za(m,q,k,g,i,d,d>>31);d:{d=L[J[a+28>>2]+36>>1];e:{if(((d<<8|d>>>8)&65535)>>>0<=258){c=J[b+20>>2];f=J[b+16>>2];d=f+2|0;c=d>>>0<2?c+1|0:c;e=J[b+12>>2];if(M[b+8>>2]>>0&(e|0)<=(c|0)|(c|0)>(e|0)){break d}f=f+J[b>>2]|0;e=K[f|0]|K[f+1|0]<<8;J[b+16>>2]=d;J[b+20>>2]=c;break e}if(!eb(1,h+4|0,b)){break d}e=J[h+4>>2]}J[h+68>>2]=e;d=_a(Cj(96),m);ka[J[J[l>>2]+8>>2]](l,J[l+12>>2]-J[l+8>>2]>>2,d);d=(J[l+12>>2]-J[l+8>>2]>>2)-1|0;f=d<<2;J[J[f+J[l+8>>2]>>2]+60>>2]=e;J[J[a+4>>2]+(o<<2)>>2]=d;e=J[a+16>>2];c=J[a+20>>2]-e>>2;f:{if((c|0)>(d|0)){break f}J[h>>2]=-1;d=d+1|0;if(d>>>0>c>>>0){fb(p,d-c|0,h);e=J[p>>2];break f}if(c>>>0<=d>>>0){break f}J[a+20>>2]=(d<<2)+e}J[e+f>>2]=o;e=1;o=o+1|0;if((o|0)!=(j|0)){continue}break a}break}e=0}fa=h+80|0;return e|0}function mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=ka[J[J[a>>2]+44>>2]](a)|0;a:{if((n|0)<=0){break a}i=J[b+4>>2]-J[b>>2]>>2;e=fa+-64|0;fa=e;f=Ya(e);d=P(J[3412],n);Za(f,J[J[a+8>>2]+56>>2],n&255,5,0,d,d>>31);f=_a(Cj(96),f);H[f+84|0]=1;J[f+72>>2]=J[f+68>>2];$a(f,i);J[f+60>>2]=J[J[a+8>>2]+60>>2];d=J[a+16>>2];J[a+16>>2]=f;if(d){pb(d)}fa=e- -64|0;h=J[a+16>>2];if(!J[h+80>>2]){break a}j=J[J[h>>2]>>2];if(!j){break a}m=J[c+12>>2];e=m;d=J[c+20>>2];g=J[c+8>>2];k=J[c+16>>2];if((e|0)<=(d|0)&g>>>0<=k>>>0|(d|0)>(e|0)){break a}l=P(i,n);i=j+J[h+48>>2]|0;h=J[c>>2];j=K[h+k|0];e=k+1|0;f=e?d:d+1|0;J[c+16>>2]=e;J[c+20>>2]=f;b:{c:{if(j){if(pe(l,n,c,i)){break c}break a}if((f|0)>=(m|0)&e>>>0>=g>>>0|(f|0)>(m|0)){break a}g=K[e+h|0];f=k+2|0;d=f>>>0<2?d+1|0:d;J[c+16>>2]=f;J[c+20>>2]=d;d=J[J[a+16>>2]+64>>2];d=J[d+4>>2]-J[d>>2]|0;if((g|0)==J[3412]){e=l<<2;if(e>>>0>d>>>0){break a}g=J[c+8>>2];k=J[c+12>>2];j=J[c+20>>2];d=J[c+16>>2];f=e+d|0;j=f>>>0>>0?j+1|0:j;if(f>>>0>g>>>0&(j|0)>=(k|0)|(j|0)>(k|0)){break a}Vi(i,d+J[c>>2]|0,e);f=J[c+20>>2];d=e+J[c+16>>2]|0;f=d>>>0>>0?f+1|0:f;J[c+16>>2]=d;J[c+20>>2]=f;break c}if(d>>>0>>0){break a}d=J[c+8>>2];f=J[c+16>>2];e=d-f|0;m=d>>>0>>0;d=J[c+20>>2];k=J[c+12>>2]-(m+d|0)|0;m=nk(g,0,l,0)>>>0>e>>>0;e=ja;if(m&(e|0)>=(k|0)|(e|0)>(k|0)){break a}e=1;if(!l){break b}h=0;while(1){k=J[c+8>>2];j=J[c+12>>2];e=f+g|0;d=e>>>0>>0?d+1|0:d;if(e>>>0>k>>>0&(d|0)>=(j|0)|(d|0)>(j|0)){return 0}Vi(i+(h<<2)|0,J[c>>2]+f|0,g);d=J[c+20>>2];f=g+J[c+16>>2]|0;d=f>>>0>>0?d+1|0:d;J[c+16>>2]=f;J[c+20>>2]=d;h=h+1|0;if((l|0)!=(h|0)){continue}break}}e=1;if(!l){break b}d=J[a+20>>2];if(d){e=0;if(ka[J[J[d>>2]+32>>2]](d)|0){break b}}g=0;h=0;d:{if((l|0)<=0){break d}if((l|0)!=1){f=l&-2;while(1){e=g<<2;d=J[e+i>>2];J[e+i>>2]=0-(d&1)^d>>>1;d=e|4;e=J[d+i>>2];J[d+i>>2]=0-(e&1)^e>>>1;g=g+2|0;h=h+2|0;if((f|0)!=(h|0)){continue}break}}if(!(l&1)){break d}d=g<<2;f=J[d+i>>2];J[d+i>>2]=0-(f&1)^f>>>1}e=0}d=e;f=J[a+20>>2];e:{if(!f){break e}if(!(ka[J[J[f>>2]+40>>2]](f,c)|0)){break a}if(d){break e}a=J[a+20>>2];if(!(ka[J[J[a>>2]+44>>2]](a,i,i,l,n,J[b>>2])|0)){break a}}o=1}return o|0}function Jc(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;h=fa-32|0;fa=h;a:{b:{if(J[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=Cj(b<<2);J[h+24>>2]=b;J[h+20>>2]=0;J[h+16>>2]=c;b=J[a>>2];J[h+12>>2]=0;J[h+8>>2]=b;c=J[a+4>>2];J[h+4>>2]=c&31;J[h>>2]=b+(c>>>3&536870908);e=fa-32|0;fa=e;i=J[h+4>>2];g=J[h+12>>2];j=J[h>>2];d=J[h+8>>2];b=(i-g|0)+(j-d<<3)|0;f=J[h+20>>2];c=b+f|0;J[h+20>>2]=c;if(!((c-1^f-1)>>>0<32?f:0)){J[J[h+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=J[h+16>>2]+(f>>>3&536870908)|0;f=f&31;c:{if((f|0)==(g|0)){if((b|0)<=0){break c}if(g){i=32-g|0;f=(b|0)<(i|0)?b:i;i=-1<>>i-f;J[c>>2]=J[c>>2]&(i^-1)|i&J[d>>2];d=d+4|0;c=(g+f>>>3&536870908)+c|0;b=b-f|0}g=(b|0)/32|0;if(b+31>>>0>=63){Wi(c,d,g<<2)}b=b-(g<<5)|0;if((b|0)<=0){break c}f=c;c=g<<2;g=f+c|0;b=-1>>>32-b|0;J[g>>2]=J[g>>2]&(b^-1)|b&J[c+d>>2];break c}J[e+28>>2]=g;J[e+24>>2]=d;J[e+20>>2]=i;J[e+16>>2]=j;J[e+12>>2]=f;J[e+8>>2]=c;b=J[e+28>>2];c=J[e+24>>2];g=(J[e+20>>2]-b|0)+(J[e+16>>2]-c<<3)|0;d:{if((g|0)<=0){b=J[e+12>>2];d=J[e+8>>2];break d}e:{if(!b){b=J[e+12>>2];break e}d=J[e+12>>2];j=32-d|0;k=32-b|0;f=(g|0)<(k|0)?g:k;i=f>>>0>j>>>0?j:f;l=J[e+8>>2];m=J[l>>2]&(-1<>>j-i^-1);j=J[c>>2]&(-1<>>k-f);J[l>>2]=m|(b>>>0>>0?j<>>b-d|0);c=d+i|0;b=c&31;J[e+12>>2]=b;d=l+(c>>>3&536870908)|0;J[e+8>>2]=d;c=f-i|0;if((c|0)>0){J[d>>2]=J[d>>2]&(-1>>>32-c^-1)|j>>>i+J[e+28>>2];J[e+12>>2]=c;b=c}g=g-f|0;c=J[e+24>>2]+4|0;J[e+24>>2]=c}i=-1<=32){j=i^-1;while(1){d=J[e+8>>2];c=J[c>>2];J[d>>2]=j&J[d>>2]|c<>2]=d+4;J[d+4>>2]=i&J[d+4>>2]|c>>>f;c=J[e+24>>2]+4|0;J[e+24>>2]=c;d=g>>>0>63;g=g-32|0;if(d){continue}break}}d=J[e+8>>2];if((g|0)<=0){break d}j=f;f=(g|0)>(f|0)?f:g;j=J[d>>2]&(i&-1>>>j-f^-1);i=J[c>>2]&-1>>>32-g;J[d>>2]=j|i<>2]=c;d=(b>>>3&536870908)+d|0;J[e+8>>2]=d;b=g-f|0;if((b|0)<=0){b=c;break d}J[d>>2]=J[d>>2]&(-1>>>32-b^-1)|i>>>f;J[e+12>>2]=b}J[e+4>>2]=b;J[e>>2]=d}fa=e+32|0;b=J[a>>2];J[a>>2]=J[h+16>>2];J[h+16>>2]=b;c=J[a+4>>2];J[a+4>>2]=J[h+20>>2];J[h+20>>2]=c;c=J[a+8>>2];J[a+8>>2]=J[h+24>>2];J[h+24>>2]=c;if(!b){break b}xj(b)}fa=h+32|0;return}Ia();C()}function qe(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,n=0,o=0;c=L[b+38>>1];a:{if(!c){break a}b:{if(c>>>0<=511){g=J[b+8>>2];e=J[b+12>>2];d=J[b+20>>2];c=J[b+16>>2];i=c+4|0;d=i>>>0<4?d+1|0:d;if(g>>>0>>0&(d|0)>=(e|0)|(d|0)>(e|0)){break a}c=c+J[b>>2]|0;f=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[a+12>>2]=f;d=J[b+20>>2];c=J[b+16>>2]+4|0;d=c>>>0<4?d+1|0:d;J[b+16>>2]=c;J[b+20>>2]=d;break b}if(!te(1,a+12|0,b)){break a}c=J[b+16>>2];d=J[b+20>>2];f=J[a+12>>2]}e=J[b+8>>2];i=e-c|0;c=J[b+12>>2]-(d+(c>>>0>e>>>0)|0)|0;if(i>>>0>>6>>>0&(c|0)<=0|(c|0)<0){break a}d=J[a>>2];c=J[a+4>>2]-d>>2;c:{if(c>>>0>>0){La(a,f-c|0);f=J[a+12>>2];break c}if(c>>>0<=f>>>0){break c}J[a+4>>2]=d+(f<<2)}if(!f){return 1}c=J[b+16>>2];d=J[b+20>>2];l=J[a>>2];i=J[b+8>>2];j=J[b+12>>2];g=0;while(1){if((d|0)>=(j|0)&c>>>0>=i>>>0|(d|0)>(j|0)){return 0}m=J[b>>2];k=K[m+c|0];c=c+1|0;d=c?d:d+1|0;J[b+16>>2]=c;J[b+20>>2]=d;e=k>>>2|0;h=0;d:{e:{f:{g:{n=k&3;switch(n|0){case 0:break e;case 3:break g;default:break f}}e=e+g|0;if(e>>>0>=f>>>0){return 0}Xi(l+(g<<2)|0,0,(k&252)+4|0);g=e;break d}while(1){if((c|0)==(i|0)&(d|0)==(j|0)){break a}f=K[c+m|0];c=c+1|0;d=c?d:d+1|0;J[b+16>>2]=c;J[b+20>>2]=d;e=f<<(h<<3|6)|e;h=h+1|0;if((n|0)!=(h|0)){continue}break}}J[l+(g<<2)>>2]=e}f=J[a+12>>2];g=g+1|0;if(f>>>0>g>>>0){continue}break}b=a+16|0;i=J[a>>2];d=J[a+16>>2];c=J[a+20>>2]-d|0;h:{if(c>>>0<=16383){La(b,4096-(c>>>2|0)|0);break h}if((c|0)==16384){break h}J[a+20>>2]=d+16384}c=a+28|0;g=J[c>>2];d=J[a+32>>2]-g>>3;i:{if(d>>>0>>0){ue(c,f-d|0);g=J[c>>2];break i}if(d>>>0>f>>>0){J[a+32>>2]=(f<<3)+g}if(!f){break a}}d=J[b>>2];b=0;a=0;while(1){c=i+(b<<2)|0;h=J[c>>2];e=a;j=(b<<3)+g|0;J[j+4>>2]=a;J[j>>2]=h;c=J[c>>2];a=c+a|0;if(a>>>0>4096){break a}j:{if(a>>>0<=e>>>0){break j}h=0;j=c&7;if(j){while(1){J[d+(e<<2)>>2]=b;e=e+1|0;h=h+1|0;if((j|0)!=(h|0)){continue}break}}if(c-1>>>0<=6){break j}while(1){c=d+(e<<2)|0;J[c>>2]=b;J[c+28>>2]=b;J[c+24>>2]=b;J[c+20>>2]=b;J[c+16>>2]=b;J[c+12>>2]=b;J[c+8>>2]=b;J[c+4>>2]=b;e=e+8|0;if((e|0)!=(a|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}o=(a|0)==4096}return o}function rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=b;b=J[b>>2]+7&-8;J[c>>2]=b+16;o=a;i=J[b>>2];d=J[b+4>>2];a=J[b+12>>2];m=a;g=fa-32|0;fa=g;a=a&2147483647;h=a;e=a-1006698496|0;a=a-1140785152|0;c=J[b+8>>2];b=c;a:{if((e|0)==(a|0)&b>>>0>>0|a>>>0>e>>>0){a=c;c=m<<4|a>>>28;b=a<<4|d>>>28;a=c;d=d&268435455;if((d|0)==134217728&(i|0)!=0|d>>>0>134217728){a=a+1073741824|0;b=b+1|0;a=b?a:a+1|0;break a}a=a+1073741824|0;if(i|(d|0)!=134217728){break a}d=b&1;b=d+b|0;a=b>>>0>>0?a+1|0:a;break a}if(!(!b&(h|0)==2147418112?!(d|i):h>>>0<2147418112)){a=c;c=m<<4|a>>>28;b=a<<4|d>>>28;a=c&524287|2146959360;break a}b=0;a=2146435072;if(h>>>0>1140785151){break a}a=0;n=h>>>16|0;if(n>>>0<15249){break a}b=i;a=d;e=m&65535|65536;h=e;l=c;f=c;j=n-15233|0;b:{if(j&64){c=b;e=j+-64|0;b=e&31;if((e&63)>>>0>=32){a=c<>>32-b|a<>>0>=32){c=k<>>32-f|e<>>0>=32){c=0;b=a>>>f|0}else{c=a>>>f|0;b=((1<>>f}f=p|b;e=c|e;b=j&31;if((j&63)>>>0>=32){c=k<>>32-b|a<>2]=b;J[g+20>>2]=a;J[g+24>>2]=f;J[g+28>>2]=e;b=15361-n|0;c:{if(b&64){d=l;b=b+-64|0;a=b&31;if((b&63)>>>0>=32){c=0;i=h>>>a|0}else{c=h>>>a|0;i=((1<>>a}d=c;l=0;h=0;break c}if(!b){break c}e=l;a=64-b|0;c=a&31;if((a&63)>>>0>=32){a=e<>>32-c|h<>>0>=32){c=0;e=d>>>i|0}else{c=d>>>i|0;e=((1<>>i}i=f|e;d=a|c;e=l;c=b&31;if((b&63)>>>0>=32){a=0;l=h>>>c|0}else{a=h>>>c|0;l=((1<>>c}h=a}J[g>>2]=i;J[g+4>>2]=d;J[g+8>>2]=l;J[g+12>>2]=h;b=J[g+8>>2];a=J[g+12>>2]<<4|b>>>28;b=b<<4;c=J[g>>2];h=J[g+4>>2];b=h>>>28|b;d=h&268435455;c=c|(J[g+16>>2]|J[g+24>>2]|(J[g+20>>2]|J[g+28>>2]))!=0;if((d|0)==134217728&(c|0)!=0|d>>>0>134217728){b=b+1|0;a=b?a:a+1|0;break a}if(c|(d|0)!=134217728){break a}c=b;b=b+(b&1)|0;a=c>>>0>b>>>0?a+1|0:a}fa=g+32|0;x(0,b|0);x(1,m&-2147483648|a);q=o,r=+z(),O[q>>3]=r}function Xd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=fa-48|0;fa=g;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}vd(n,J[d+(j<<2)>>2],g+8|0);h=J[g+12>>2];d=h>>31;i=J[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=J[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+8>>2]=J[a+92>>2];break b}f=J[a+92>>2];k=f>>31;i=ok(nk(f,k,i,i>>31),ja,e,d);J[g+8>>2]=i;d=ok(nk(f,k,h,h>>31),ja,e,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){J[g+16>>2]=f-d;break b}J[g+16>>2]=d-f}d=je(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=J[h>>2];h=J[h+4>>2];J[g+36>>2]=d;J[g+32>>2]=f;J[g+24>>2]=i;J[g+28>>2]=h;Td(g+40|0,m,g+32|0,g+24|0);d=c+e|0;J[d>>2]=J[g+40>>2];J[d+4>>2]=J[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}fa=g+48|0;return 1}yc();C()}function Sd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=fa-48|0;fa=g;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}dd(n,J[d+(j<<2)>>2],g+8|0);h=J[g+12>>2];d=h>>31;i=J[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=J[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+8>>2]=J[a+92>>2];break b}f=J[a+92>>2];k=f>>31;i=ok(nk(f,k,i,i>>31),ja,e,d);J[g+8>>2]=i;d=ok(nk(f,k,h,h>>31),ja,e,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){J[g+16>>2]=f-d;break b}J[g+16>>2]=d-f}d=je(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=J[h>>2];h=J[h+4>>2];J[g+36>>2]=d;J[g+32>>2]=f;J[g+24>>2]=i;J[g+28>>2]=h;Td(g+40|0,m,g+32|0,g+24|0);d=c+e|0;J[d>>2]=J[g+40>>2];J[d+4>>2]=J[g+44>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}fa=g+48|0;return 1}yc();C()}function Nd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=fa-48|0;fa=g;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}vd(n,J[d+(j<<2)>>2],g+8|0);h=J[g+12>>2];d=h>>31;i=J[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=J[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+8>>2]=J[a+92>>2];break b}f=J[a+92>>2];k=f>>31;i=ok(nk(f,k,i,i>>31),ja,e,d);J[g+8>>2]=i;d=ok(nk(f,k,h,h>>31),ja,e,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){J[g+16>>2]=f-d;break b}J[g+16>>2]=d-f}d=je(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=J[h+4>>2];J[g+40>>2]=J[h>>2];J[g+44>>2]=i;J[g+28>>2]=d;J[g+24>>2]=f;Jd(g+32|0,m,g+24|0,g+40|0);d=c+e|0;J[d>>2]=J[g+32>>2];J[d+4>>2]=J[g+36>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}fa=g+48|0;return 1}yc();C()}function Id(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=fa-48|0;fa=g;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;a:{d=d-e|0;if((d|0)>0){m=a+8|0;n=a+44|0;d=d>>>2|0;o=d>>>0<=1?1:d;p=a+96|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=j>>>0){break a}dd(n,J[d+(j<<2)>>2],g+8|0);h=J[g+12>>2];d=h>>31;i=J[g+8>>2];e=i>>31;f=(d^h)-d+((e^i)-e)|0;l=J[g+16>>2];d=l>>31;e=(d^l)-d|0;d=0;k=e;e=e+f|0;d=k>>>0>e>>>0?1:d;b:{if(!(d|e)){J[g+8>>2]=J[a+92>>2];break b}f=J[a+92>>2];k=f>>31;i=ok(nk(f,k,i,i>>31),ja,e,d);J[g+8>>2]=i;d=ok(nk(f,k,h,h>>31),ja,e,d);J[g+12>>2]=d;e=d>>31;e=(d^e)-e|0;d=i>>31;d=e+((d^i)-d|0)|0;if((l|0)>=0){J[g+16>>2]=f-d;break b}J[g+16>>2]=d-f}d=je(p);f=J[g+8>>2];c:{if(d){J[g+16>>2]=0-J[g+16>>2];e=0-J[g+12>>2]|0;J[g+12>>2]=e;f=0-f|0;J[g+8>>2]=f;break c}e=J[g+12>>2]}d:{if((f|0)>=0){f=J[a+92>>2];d=f+J[g+16>>2]|0;f=e+f|0;break d}e:{if((e|0)<0){d=J[g+16>>2];f=d>>31;f=(d^f)-f|0;break e}d=J[g+16>>2];f=d>>31;f=J[a+84>>2]+(f-(d^f)|0)|0}if((d|0)<0){d=e>>31;d=(d^e)-d|0;break d}d=e>>31;d=J[a+84>>2]+(d-(d^e)|0)|0}e=J[a+84>>2];f:{if(!(d|f)){d=e;f=d;break f}if(!((d|0)!=(e|0)|f)){f=d;break f}if(!((e|0)!=(f|0)|d)){d=f;break f}g:{if(f){break g}h=J[a+92>>2];if((h|0)>=(d|0)){break g}d=(h<<1)-d|0;f=0;break f}h:{if((e|0)!=(f|0)){break h}h=J[a+92>>2];if((h|0)<=(d|0)){break h}d=(h<<1)-d|0;break f}i:{if((d|0)!=(e|0)){break i}e=J[a+92>>2];if((e|0)<=(f|0)){break i}f=(e<<1)-f|0;break f}if(d){break f}d=0;e=J[a+92>>2];if((e|0)>=(f|0)){break f}f=(e<<1)-f|0}e=j<<3;h=e+b|0;i=J[h+4>>2];J[g+40>>2]=J[h>>2];J[g+44>>2]=i;J[g+28>>2]=d;J[g+24>>2]=f;Jd(g+32|0,m,g+24|0,g+40|0);d=c+e|0;J[d>>2]=J[g+32>>2];J[d+4>>2]=J[g+36>>2];j=j+1|0;if((o|0)!=(j|0)){continue}break}}fa=g+48|0;return 1}yc();C()}function Xe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=fa-16|0;fa=f;c=J[a+4>>2];J[a+40>>2]=J[a>>2];J[a+44>>2]=c;c=J[a+36>>2];J[a+72>>2]=J[a+32>>2];J[a+76>>2]=c;d=J[a+28>>2];c=a- -64|0;J[c>>2]=J[a+24>>2];J[c+4>>2]=d;c=J[a+20>>2];J[a+56>>2]=J[a+16>>2];J[a+60>>2]=c;c=J[a+12>>2];J[a+48>>2]=J[a+8>>2];J[a+52>>2]=c;a:{b:{if(rg(a+40|0,1,f+8|0)){c=J[a+44>>2];J[a>>2]=J[a+40>>2];J[a+4>>2]=c;c=J[a+76>>2];J[a+32>>2]=J[a+72>>2];J[a+36>>2]=c;c=J[a+68>>2];J[a+24>>2]=J[a+64>>2];J[a+28>>2]=c;d=J[a+60>>2];h=d;c=J[a+56>>2];J[a+16>>2]=c;J[a+20>>2]=d;e=J[a+52>>2];d=J[a+48>>2];J[a+8>>2]=d;J[a+12>>2]=e;i=d-c|0;g=J[f+12>>2];e=e-((c>>>0>d>>>0)+h|0)|0;d=J[f+8>>2];if((g|0)==(e|0)&i>>>0>=d>>>0|e>>>0>g>>>0){break b}}c=0;break a}e=h+g|0;c=c+d|0;e=c>>>0>>0?e+1|0:e;J[a+16>>2]=c;J[a+20>>2]=e;c:{if(L[a+38>>1]<=513){c=J[a+4>>2];J[a+96>>2]=J[a>>2];J[a+100>>2]=c;c=J[a+36>>2];J[a+128>>2]=J[a+32>>2];J[a+132>>2]=c;c=J[a+28>>2];J[a+120>>2]=J[a+24>>2];J[a+124>>2]=c;c=J[a+20>>2];J[a+112>>2]=J[a+16>>2];J[a+116>>2]=c;c=J[a+12>>2];J[a+104>>2]=J[a+8>>2];J[a+108>>2]=c;d:{if(rg(a+96|0,1,f+8|0)){c=J[a+100>>2];J[a>>2]=J[a+96>>2];J[a+4>>2]=c;c=J[a+132>>2];J[a+32>>2]=J[a+128>>2];J[a+36>>2]=c;c=J[a+124>>2];J[a+24>>2]=J[a+120>>2];J[a+28>>2]=c;d=J[a+116>>2];h=d;c=J[a+112>>2];J[a+16>>2]=c;J[a+20>>2]=d;e=J[a+108>>2];d=J[a+104>>2];J[a+8>>2]=d;J[a+12>>2]=e;i=d-c|0;g=J[f+12>>2];e=e-((c>>>0>d>>>0)+h|0)|0;d=J[f+8>>2];if((g|0)==(e|0)&i>>>0>=d>>>0|e>>>0>g>>>0){break d}}c=0;break a}e=h+g|0;c=c+d|0;e=c>>>0>>0?e+1|0:e;J[a+16>>2]=c;J[a+20>>2]=e;break c}c=0;if(!he(a+80|0,a)){break a}}c=0;if(!cf(a)){break a}c=J[a+4>>2];J[b>>2]=J[a>>2];J[b+4>>2]=c;c=J[a+36>>2];J[b+32>>2]=J[a+32>>2];J[b+36>>2]=c;c=J[a+28>>2];J[b+24>>2]=J[a+24>>2];J[b+28>>2]=c;c=J[a+20>>2];J[b+16>>2]=J[a+16>>2];J[b+20>>2]=c;c=J[a+12>>2];J[b+8>>2]=J[a+8>>2];J[b+12>>2]=c;c=1}fa=f+16|0;return c}function ab(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!J[a+64>>2]){c=Cj(32);J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;d=J[a+64>>2];J[a+64>>2]=c;if(d){c=J[d>>2];if(c){J[d+4>>2]=c;xj(c)}xj(d);c=J[a+64>>2]}J[a>>2]=c;d=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=d;d=J[c+24>>2];c=J[c+28>>2];J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+16>>2]=d;J[a+20>>2]=c}a:{H[a+24|0]=K[b+24|0];J[a+28>>2]=J[b+28>>2];H[a+32|0]=K[b+32|0];c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;J[a+56>>2]=J[b+56>>2];c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;J[a+60>>2]=J[b+60>>2];c=J[b>>2];b:{if(!c){J[a>>2]=0;d=1;break b}g=J[a>>2];d=0;if(!g){break b}d=J[c>>2];c=J[c+4>>2]-d|0;og(g,d,c,0);d=1}c:{if(!d){break c}H[a+84|0]=K[b+84|0];J[a+80>>2]=J[b+80>>2];if((a|0)!=(b|0)){bb(a+68|0,J[b+68>>2],J[b+72>>2])}f=J[b+88>>2];d:{if(f){e=Cj(40);b=J[f>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e>>2]=b;c=J[f+12>>2];b=J[f+8>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break a}b=Cj(c);J[e+12>>2]=b;J[e+8>>2]=b;J[e+16>>2]=b+c;c=J[f+8>>2];h=J[f+12>>2];e:{if((c|0)==(h|0)){break e}g=(c^-1)+h|0;d=h-c&7;if(d){while(1){H[b|0]=K[c|0];b=b+1|0;c=c+1|0;i=i+1|0;if((d|0)!=(i|0)){continue}break}}if(g>>>0<7){break e}while(1){H[b|0]=K[c|0];H[b+1|0]=K[c+1|0];H[b+2|0]=K[c+2|0];H[b+3|0]=K[c+3|0];H[b+4|0]=K[c+4|0];H[b+5|0]=K[c+5|0];H[b+6|0]=K[c+6|0];H[b+7|0]=K[c+7|0];b=b+8|0;c=c+8|0;if((h|0)!=(c|0)){continue}break}}J[e+12>>2]=b}b=J[f+36>>2];J[e+32>>2]=J[f+32>>2];J[e+36>>2]=b;b=J[f+28>>2];J[e+24>>2]=J[f+24>>2];J[e+28>>2]=b;b=J[a+88>>2];J[a+88>>2]=e;if(b){break d}break c}b=J[a+88>>2];J[a+88>>2]=0;if(!b){break c}}a=J[b+8>>2];if(a){J[b+12>>2]=a;xj(a)}xj(b)}return}Ia();C()}function Yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=fa-32|0;fa=f;e=f+8|0;c=fa-80|0;fa=c;a=J[b+36>>2];J[c+72>>2]=J[b+32>>2];J[c+76>>2]=a;d=J[b+28>>2];a=c- -64|0;J[a>>2]=J[b+24>>2];J[a+4>>2]=d;a=J[b+20>>2];J[c+56>>2]=J[b+16>>2];J[c+60>>2]=a;a=J[b+12>>2];J[c+48>>2]=J[b+8>>2];J[c+52>>2]=a;a=J[b+4>>2];J[c+40>>2]=J[b>>2];J[c+44>>2]=a;cg(c+8|0,c+40|0,c+24|0);a=J[c+8>>2];a:{if(a){J[e>>2]=a;a=e+4|0;if(H[c+23|0]>=0){b=c+8|4;e=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=e;J[a+8>>2]=J[b+8>>2];break a}Gj(a,J[c+12>>2],J[c+16>>2]);if(H[c+23|0]>=0){break a}xj(J[c+12>>2]);break a}if(H[c+23|0]<0){xj(J[c+12>>2])}a=K[c+31|0];if(a>>>0>=2){b=Cj(32);H[b+26|0]=0;a=K[1512]|K[1513]<<8;H[b+24|0]=a;H[b+25|0]=a>>>8;a=K[1508]|K[1509]<<8|(K[1510]<<16|K[1511]<<24);d=K[1504]|K[1505]<<8|(K[1506]<<16|K[1507]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=a;H[b+21|0]=a>>>8;H[b+22|0]=a>>>16;H[b+23|0]=a>>>24;a=K[1500]|K[1501]<<8|(K[1502]<<16|K[1503]<<24);d=K[1496]|K[1497]<<8|(K[1498]<<16|K[1499]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=a;H[b+13|0]=a>>>8;H[b+14|0]=a>>>16;H[b+15|0]=a>>>24;a=K[1492]|K[1493]<<8|(K[1494]<<16|K[1495]<<24);d=K[1488]|K[1489]<<8|(K[1490]<<16|K[1491]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=a;H[b+5|0]=a>>>8;H[b+6|0]=a>>>16;H[b+7|0]=a>>>24;J[c+8>>2]=-1;a=c+8|4;Gj(a,b,26);d=H[c+23|0];J[e>>2]=J[c+8>>2];e=e+4|0;if((d|0)>=0){d=J[a+4>>2];J[e>>2]=J[a>>2];J[e+4>>2]=d;J[e+8>>2]=J[a+8>>2];xj(b);break a}Gj(e,J[c+12>>2],J[c+16>>2]);if(H[c+23|0]<0){xj(J[c+12>>2])}xj(b);break a}J[e>>2]=0;J[e+4>>2]=0;J[e+16>>2]=a;J[e+8>>2]=0;J[e+12>>2]=0}fa=c+80|0;a=J[f+24>>2];if(H[f+23|0]<0){xj(J[f+12>>2])}fa=f+32|0;return a|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=fa-16|0;fa=k;J[k+8>>2]=c;h=J[a+12>>2];d=J[a+8>>2];g=h-d>>2;a:{if((g|0)>(b|0)){break a}e=b+1|0;if(e>>>0>g>>>0){l=e-g|0;f=J[a+16>>2];d=J[a+12>>2];if(l>>>0<=f-d>>2>>>0){if(l){e=d;d=l<<2;d=Xi(e,0,d)+d|0}J[a+12>>2]=d;break a}b:{c:{d:{m=J[a+8>>2];g=d-m>>2;i=g+l|0;if(i>>>0<1073741824){e=f-m|0;f=e>>>1|0;e=e>>>0>=2147483644?1073741823:f>>>0>i>>>0?f:i;if(e){if(e>>>0>=1073741824){break d}j=Cj(e<<2)}h=(g<<2)+j|0;f=l<<2;i=Xi(h,0,f);g=f+i|0;e=(e<<2)+j|0;if((d|0)==(m|0)){break c}while(1){d=d-4|0;f=J[d>>2];J[d>>2]=0;h=h-4|0;J[h>>2]=f;if((d|0)!=(m|0)){continue}break}J[a+16>>2]=e;e=J[a+12>>2];J[a+12>>2]=g;d=J[a+8>>2];J[a+8>>2]=h;if((d|0)==(e|0)){break b}while(1){e=e-4|0;f=J[e>>2];J[e>>2]=0;if(f){pb(f)}if((d|0)!=(e|0)){continue}break}break b}Ia();C()}Va();C()}J[a+16>>2]=e;J[a+12>>2]=g;J[a+8>>2]=i}if(d){xj(d)}break a}if(e>>>0>=g>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(h|0)){while(1){h=h-4|0;c=J[h>>2];J[h>>2]=0;if(c){pb(c)}if((d|0)!=(h|0)){continue}break}c=J[k+8>>2]}J[a+12>>2]=d}e:{f:{d=J[c+56>>2];g:{if((d|0)>4){break g}j=P(d,12)+a|0;d=J[j+24>>2];if((d|0)!=J[j+28>>2]){J[d>>2]=b;J[j+24>>2]=d+4;break g}i=J[j+20>>2];g=d-i|0;f=g>>2;e=f+1|0;if(e>>>0>=1073741824){break f}d=g>>>1|0;e=g>>>0>=2147483644?1073741823:d>>>0>e>>>0?d:e;if(e){if(e>>>0>=1073741824){break e}d=Cj(e<<2)}else{d=0}f=d+(f<<2)|0;J[f>>2]=b;d=Wi(d,i,g);J[j+20>>2]=d;J[j+24>>2]=f+4;J[j+28>>2]=d+(e<<2);if(!i){break g}xj(i)}J[c+60>>2]=b;a=J[a+8>>2];J[k+8>>2]=0;a=a+(b<<2)|0;b=J[a>>2];J[a>>2]=c;if(b){pb(b)}a=J[k+8>>2];J[k+8>>2]=0;if(a){pb(a)}fa=k+16|0;return}Ia();C()}Va();C()}function yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c;d=a;a:{if(J[a+12>>2]==(b|0)){break a}a=b;b=J[d+4>>2];e=J[d>>2];if((b|0)!=(e|0)){while(1){c=b-12|0;if(H[b-1|0]<0){xj(J[c>>2])}b=c;if((e|0)!=(b|0)){continue}break}}J[d+12>>2]=a;J[d+4>>2]=e;c=J[a>>2];j=a+4|0;if((c|0)==(j|0)){break a}while(1){a=J[d+4>>2];b:{if((a|0)!=J[d+8>>2]){c:{if(H[c+27|0]>=0){b=J[c+20>>2];J[a>>2]=J[c+16>>2];J[a+4>>2]=b;J[a+8>>2]=J[c+24>>2];break c}Gj(a,J[c+16>>2],J[c+20>>2])}J[d+4>>2]=a+12;break b}g=0;d:{e:{f:{a=J[d+4>>2];e=J[d>>2];f=(a-e|0)/12|0;b=f+1|0;if(b>>>0<357913942){h=(J[d+8>>2]-e|0)/12|0;k=h<<1;b=h>>>0>=178956970?357913941:b>>>0>>0?k:b;if(b){if(b>>>0>=357913942){break f}g=Cj(P(b,12))}h=P(b,12);b=P(f,12)+g|0;g:{if(H[c+27|0]>=0){f=J[c+20>>2];J[b>>2]=J[c+16>>2];J[b+4>>2]=f;J[b+8>>2]=J[c+24>>2];break g}Gj(b,J[c+16>>2],J[c+20>>2]);e=J[d>>2];a=J[d+4>>2]}g=g+h|0;f=b+12|0;if((a|0)==(e|0)){break e}while(1){a=a-12|0;h=J[a+4>>2];b=b-12|0;J[b>>2]=J[a>>2];J[b+4>>2]=h;J[b+8>>2]=J[a+8>>2];J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;if((a|0)!=(e|0)){continue}break}J[d+8>>2]=g;a=J[d+4>>2];J[d+4>>2]=f;e=J[d>>2];J[d>>2]=b;if((a|0)==(e|0)){break d}while(1){b=a-12|0;if(H[a-1|0]<0){xj(J[b>>2])}a=b;if((e|0)!=(b|0)){continue}break}break d}Ia();C()}Va();C()}J[d+8>>2]=g;J[d+4>>2]=f;J[d>>2]=b}if(e){xj(e)}}b=J[c+4>>2];h:{if(b){while(1){a=b;b=J[b>>2];if(b){continue}break h}}while(1){a=J[c+8>>2];b=J[a>>2]!=(c|0);c=a;if(b){continue}break}}c=a;if((j|0)!=(a|0)){continue}break}}a=0;i:{if((i|0)<0){break i}b=J[d>>2];if((J[d+4>>2]-b|0)/12>>>0<=i>>>0){break i}a=b+P(i,12)|0;a=H[a+11|0]<0?J[a>>2]:a}return a|0}function Ze(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,n=0;i=fa-16|0;fa=i;J[i>>2]=b;f=-1;a:{if((b|0)==-1){J[i+4>>2]=-1;break a}f=b+1|0;J[i+4>>2]=(f>>>0)%3|0?f:b-2|0;if((b>>>0)%3|0){f=b-1|0;break a}f=b+2|0}J[i+8>>2]=f;n=(b>>>0)/3|0;b:{c:{d:{while(1){e:{f:{j=J[(l<<2)+i>>2];if((j|0)!=-1){f=J[J[J[a+8>>2]+12>>2]+(j<<2)>>2];if((f|0)!=-1){break f}}f=0;g=J[a+216>>2];if((g|0)==J[a+220>>2]){break e}while(1){g=P(f,144)+g|0;d=J[g+136>>2];c=J[g+140>>2];g:{if(d>>>0>>0){J[d>>2]=j;J[g+136>>2]=d+4;break g}e=d;d=J[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break d}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=Cj(h<<2)}else{c=0}e=m+c|0;J[e>>2]=j;c=Wi(c,d,k);J[g+132>>2]=c;J[g+136>>2]=e+4;J[g+140>>2]=c+(h<<2);if(!d){break g}xj(d)}f=f+1|0;g=J[a+216>>2];if(f>>>0<(J[a+220>>2]-g|0)/144>>>0){continue}break}break e}if((b|0)==-1|(f>>>0)/3>>>0>>0){break e}f=0;if(J[a+220>>2]==J[a+216>>2]){break e}while(1){h:{if(!je(J[a+368>>2]+(f<<4)|0)){break h}g=J[a+216>>2]+P(f,144)|0;d=J[g+136>>2];c=J[g+140>>2];if(d>>>0>>0){J[d>>2]=j;J[g+136>>2]=d+4;break h}e=d;d=J[g+132>>2];k=e-d|0;e=k>>2;h=e+1|0;if(h>>>0>=1073741824){break b}m=e<<2;c=c-d|0;e=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?e:h;if(h){if(h>>>0>=1073741824){break c}c=Cj(h<<2)}else{c=0}e=m+c|0;J[e>>2]=j;c=Wi(c,d,k);J[g+132>>2]=c;J[g+136>>2]=e+4;J[g+140>>2]=c+(h<<2);if(!d){break h}xj(d)}f=f+1|0;if(f>>>0<(J[a+220>>2]-J[a+216>>2]|0)/144>>>0){continue}break}}l=l+1|0;if((l|0)!=3){continue}break}fa=i+16|0;return 1}Ia();C()}Va();C()}Ia();C()}function Ye(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=fa-16|0;fa=h;J[h>>2]=b;c=-1;a:{if((b|0)==-1){J[h+4>>2]=-1;break a}c=b+1|0;J[h+4>>2]=(c>>>0)%3|0?c:b-2|0;if((b>>>0)%3|0){c=b-1|0;break a}c=b+2|0}J[h+8>>2]=c;b:{c:{while(1){i=J[(k<<2)+h>>2];d:{if(!((i|0)==-1|J[J[J[a+8>>2]+12>>2]+(i<<2)>>2]==-1)){b=0;if(J[a+220>>2]==J[a+216>>2]){break d}while(1){e:{f:{if(!je(J[a+368>>2]+(b<<4)|0)){break f}c=J[a+216>>2]+P(b,144)|0;e=J[c+136>>2];d=J[c+140>>2];if(e>>>0>>0){J[e>>2]=i;J[c+136>>2]=e+4;break f}f=e;e=J[c+132>>2];j=f-e|0;f=j>>2;g=f+1|0;if(g>>>0>=1073741824){break e}l=f<<2;d=d-e|0;f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(g){if(g>>>0>=1073741824){break b}d=Cj(g<<2)}else{d=0}f=l+d|0;J[f>>2]=i;d=Wi(d,e,j);J[c+132>>2]=d;J[c+136>>2]=f+4;J[c+140>>2]=d+(g<<2);if(!e){break f}xj(e)}b=b+1|0;if(b>>>0<(J[a+220>>2]-J[a+216>>2]|0)/144>>>0){continue}break d}break}Ia();C()}b=0;c=J[a+216>>2];if((c|0)==J[a+220>>2]){break d}while(1){c=P(b,144)+c|0;e=J[c+136>>2];d=J[c+140>>2];g:{if(e>>>0>>0){J[e>>2]=i;J[c+136>>2]=e+4;break g}f=e;e=J[c+132>>2];j=f-e|0;f=j>>2;g=f+1|0;if(g>>>0>=1073741824){break c}l=f<<2;d=d-e|0;f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(g){if(g>>>0>=1073741824){break b}d=Cj(g<<2)}else{d=0}f=l+d|0;J[f>>2]=i;d=Wi(d,e,j);J[c+132>>2]=d;J[c+136>>2]=f+4;J[c+140>>2]=d+(g<<2);if(!e){break g}xj(e)}b=b+1|0;c=J[a+216>>2];if(b>>>0<(J[a+220>>2]-c|0)/144>>>0){continue}break}}k=k+1|0;if((k|0)!=3){continue}break}fa=h+16|0;return 1}Ia();C()}Va();C()}function Sh(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,l=0,m=0,n=0,o=0;m=fa-16|0;fa=m;l=J[b+80>>2];e=K[c+24|0];a=P(l,e);a:{b:{c:{d:{b=J[c+28>>2];if(!(!K[c+84|0]|(b|0)!=1&(b|0)!=2)){b=J[c+48>>2];c=J[J[c>>2]>>2];J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;if(a){if((a|0)<0){break d}f=Cj(a);h=Vi(f,b+c|0,a)+a|0}a=J[d>>2];if(a){J[d+4>>2]=a;xj(a)}J[d+8>>2]=h;J[d+4>>2]=h;J[d>>2]=f;b=1;break a}if(e){f=Cj(e);Xi(f,0,e)}e:{i=J[d+4>>2];b=J[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=J[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=Xi(i,0,k)+k|0,J[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=Cj(i);Xi(j+g|0,0,k);g=Wi(j,b,g);J[d+8>>2]=g+i;J[d+4>>2]=a+g;J[d>>2]=g;if(!b){break f}xj(b);break f}if(a>>>0>=g>>>0){break f}J[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!xg(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!xg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){H[J[d>>2]+h|0]=K[a+f|0];H[(J[d>>2]+h|0)+1|0]=K[(a|1)+f|0];H[(J[d>>2]+h|0)+2|0]=K[(a|2)+f|0];H[(J[d>>2]+h|0)+3|0]=K[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){H[J[d>>2]+h|0]=K[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}Ia();C()}Ia();C()}if(!f){break a}}xj(f)}fa=m+16|0;return b&1}function Rh(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,l=0,m=0,n=0,o=0;m=fa-16|0;fa=m;l=J[b+80>>2];e=K[c+24|0];a=P(l,e);a:{b:{c:{d:{b=J[c+28>>2];if(!(!K[c+84|0]|(b|0)!=1&(b|0)!=2)){b=J[c+48>>2];c=J[J[c>>2]>>2];J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;if(a){if((a|0)<0){break d}f=Cj(a);h=Vi(f,b+c|0,a)+a|0}a=J[d>>2];if(a){J[d+4>>2]=a;xj(a)}J[d+8>>2]=h;J[d+4>>2]=h;J[d>>2]=f;b=1;break a}if(e){f=Cj(e);Xi(f,0,e)}e:{i=J[d+4>>2];b=J[d>>2];g=i-b|0;f:{if(g>>>0>>0){k=a-g|0;j=J[d+8>>2];if(k>>>0<=j-i>>>0){n=d,o=Xi(i,0,k)+k|0,J[n+4>>2]=o;break f}if((a|0)<0){break e}i=j-b|0;j=i<<1;i=i>>>0>=1073741823?2147483647:a>>>0>>0?j:a;j=Cj(i);Xi(j+g|0,0,k);g=Wi(j,b,g);J[d+8>>2]=g+i;J[d+4>>2]=a+g;J[d>>2]=g;if(!b){break f}xj(b);break f}if(a>>>0>=g>>>0){break f}J[d+4>>2]=a+b}if(!l){b=1;break c}if(!e){b=0;a=0;while(1){if(!wg(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],f)){break c}a=a+1|0;b=l>>>0<=a>>>0;if((a|0)!=(l|0)){continue}break}break c}i=e&252;g=e&3;b=0;j=e>>>0<4;e=0;while(1){if(!wg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],f)){break c}b=0;a=0;k=0;if(!j){while(1){H[J[d>>2]+h|0]=K[a+f|0];H[(J[d>>2]+h|0)+1|0]=K[(a|1)+f|0];H[(J[d>>2]+h|0)+2|0]=K[(a|2)+f|0];H[(J[d>>2]+h|0)+3|0]=K[(a|3)+f|0];a=a+4|0;h=h+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}if(g){while(1){H[J[d>>2]+h|0]=K[a+f|0];a=a+1|0;h=h+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}e=e+1|0;b=l>>>0<=e>>>0;if((e|0)!=(l|0)){continue}break}break b}Ia();C()}Ia();C()}if(!f){break a}}xj(f)}fa=m+16|0;return b&1}function Td(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=J[b+16>>2];h=J[c+4>>2]-k|0;e=J[c>>2]-k|0;J[c>>2]=e;f=h;J[c+4>>2]=f;l=J[b+16>>2];f=f>>31;g=(h^f)-f|0;f=e>>31;m=l>>>0>=g+((f^e)-f|0)>>>0;a:{if(m){f=h;break a}b:{c:{if((e|0)>=0){g=1;j=1;if((h|0)>=0){break b}i=1;g=-1;j=-1;if(e){break c}break b}i=-1;g=-1;j=-1;if((h|0)<=0){break b}}g=(h|0)<=0?-1:1;j=i}n=P(j,l);f=(e<<1)-n|0;i=(P(g,j)|0)>=0;e=P(g,l);f=((i?0-f|0:f)+e|0)/2|0;J[c+4>>2]=f;e=(h<<1)-e|0;e=((i?0-e|0:e)+n|0)/2|0;J[c>>2]=e}d:{e:{f:{g:{h:{i:{j:{if(e){if((e|0)<0){break j}if((f|0)>=0){break i}break f}if(f){break h}j=1;g=0;f=0;i=0;break d}j=1;if((f|0)>0){break g}i=(f|0)>0?3:0;g=f;f=e;break d}g=0-f|0;f=0-e|0;i=2;break e}if((f|0)<=0){break f}}f=0-f|0;g=e;i=3;break e}g=0-e|0;i=1}J[c>>2]=f;J[c+4>>2]=g;j=0}e=J[d>>2]+f|0;h=J[b+16>>2];k:{if((e|0)>(h|0)){e=e-J[b+4>>2]|0;break k}if((0-h|0)<=(e|0)){break k}e=J[b+4>>2]+e|0}c=J[d+4>>2]+g|0;l:{if((h|0)<(c|0)){c=c-J[b+4>>2]|0;break l}if((0-h|0)<=(c|0)){break l}c=J[b+4>>2]+c|0}m:{if(j){b=c;break m}b=c;n:{o:{p:{d=4-i|0;switch((d>>>0<4?d:0-i|0)-1|0){case 2:break n;case 1:break o;case 0:break p;default:break m}}b=0-e|0;e=c;break m}b=0-c|0;e=0-e|0;break m}b=e;e=0-c|0}q:{if(m){c=b;break q}r:{s:{if((e|0)>=0){c=1;f=1;if((b|0)>=0){break r}d=1;c=-1;f=-1;if(e){break s}break r}d=-1;c=-1;f=-1;if((b|0)<=0){break r}}c=(b|0)<=0?-1:1;f=d}d=e<<1;e=P(f,h);d=d-e|0;f=(P(c,f)|0)>=0;g=f?0-d|0:d;d=P(c,h);c=(g+d|0)/2|0;b=(b<<1)-d|0;e=(e+(f?0-b|0:b)|0)/2|0}b=a;J[b>>2]=e+k;J[b+4>>2]=c+k}function Pc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=fa-32|0;fa=j;J[j+28>>2]=0;a:{b:{if(L[b+38>>1]<=513){c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;h=J[b+12>>2];if(M[b+8>>2]>>0&(h|0)<=(c|0)|(c|0)>(h|0)){break a}d=d+J[b>>2]|0;f=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;break b}if(!Gc(1,j+28|0,b)){break a}f=J[j+28>>2]}if(!f){break a}c=J[J[a+48>>2]+64>>2];if(J[c+4>>2]-J[c>>2]>>2>>>0>>0){break a}Hc(a+76|0,f);c=j+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c:{if(!he(c,b)){break c}h=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^h;if(e&1){d=J[g>>2]&(d^-1)}else{d=d|J[g>>2]}h=e^1;J[g>>2]=d;i=i+1|0;if((f|0)!=(i|0)){continue}break}c=J[b+8>>2];e=J[b+12>>2];g=e;e=J[b+20>>2];h=e;f=J[b+16>>2];d=f+4|0;e=d>>>0<4?e+1|0:e;i=d;if(d>>>0>c>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break c}l=J[b>>2];d=l+f|0;k=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=e;d=c;c=h;e=f+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=i+l|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;if((d|0)<(k|0)){break c}J[a+16>>2]=d;J[a+12>>2]=k;c=(d>>31)-((k>>31)+(d>>>0>>0)|0)|0;b=d-k|0;if(!c&b>>>0>2147483646|c){break c}m=1;c=b+1|0;J[a+20>>2]=c;b=c>>>1|0;J[a+24>>2]=b;J[a+28>>2]=0-b;if(c&1){break c}J[a+24>>2]=b-1}}fa=j+32|0;return m|0}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=fa-32|0;fa=j;J[j+28>>2]=0;a:{b:{if(L[b+38>>1]<=513){c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;h=J[b+12>>2];if(M[b+8>>2]>>0&(h|0)<=(c|0)|(c|0)>(h|0)){break a}d=d+J[b>>2]|0;f=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;break b}if(!Gc(1,j+28|0,b)){break a}f=J[j+28>>2]}if(!f){break a}c=J[a+48>>2];if(J[c+4>>2]-J[c>>2]>>2>>>0>>0){break a}Hc(a+76|0,f);c=j+8|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;c:{if(!he(c,b)){break c}h=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^h;if(e&1){d=J[g>>2]&(d^-1)}else{d=d|J[g>>2]}h=e^1;J[g>>2]=d;i=i+1|0;if((f|0)!=(i|0)){continue}break}c=J[b+8>>2];e=J[b+12>>2];g=e;e=J[b+20>>2];h=e;f=J[b+16>>2];d=f+4|0;e=d>>>0<4?e+1|0:e;i=d;if(d>>>0>c>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break c}l=J[b>>2];d=l+f|0;k=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=e;d=c;c=h;e=f+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break c}d=i+l|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;if((d|0)<(k|0)){break c}J[a+16>>2]=d;J[a+12>>2]=k;c=(d>>31)-((k>>31)+(d>>>0>>0)|0)|0;b=d-k|0;if(!c&b>>>0>2147483646|c){break c}m=1;c=b+1|0;J[a+20>>2]=c;b=c>>>1|0;J[a+24>>2]=b;J[a+28>>2]=0-b;if(c&1){break c}J[a+24>>2]=b-1}}fa=j+32|0;return m|0}function xd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;J[a+8>>2]=e;m=a+32|0;h=J[m>>2];g=J[a+36>>2]-h>>2;a:{if(g>>>0>>0){La(m,e-g|0);f=J[a+8>>2];break a}f=e;if(f>>>0>=g>>>0){break a}J[a+36>>2]=h+(e<<2);f=e}g=e>>>0>1073741823?-1:e<<2;n=Xi(Cj(g),0,g);b:{if((f|0)<=0){break b}h=J[a+32>>2];while(1){f=i<<2;g=J[f+n>>2];j=J[a+16>>2];c:{if((g|0)>(j|0)){J[f+h>>2]=j;break c}f=f+h|0;j=J[a+12>>2];if((j|0)>(g|0)){J[f>>2]=j;break c}J[f>>2]=g}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}if((f|0)<=0){break b}i=0;while(1){g=i<<2;f=g+c|0;g=J[b+g>>2]+J[g+h>>2]|0;J[f>>2]=g;d:{if((g|0)>J[a+16>>2]){g=g-J[a+20>>2]|0}else{if((g|0)>=J[a+12>>2]){break d}g=g+J[a+20>>2]|0}J[f>>2]=g}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}if(!((d|0)<=(e|0)|(f|0)<=0)){p=0-e<<2;g=e;while(1){e:{if((f|0)<=0){break e}l=g<<2;o=l+c|0;q=o+p|0;j=J[m>>2];i=0;while(1){f=i<<2;h=J[f+q>>2];k=J[a+16>>2];f:{if((h|0)>(k|0)){J[f+j>>2]=k;break f}f=f+j|0;k=J[a+12>>2];if((k|0)>(h|0)){J[f>>2]=k;break f}J[f>>2]=h}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}i=0;if((f|0)<=0){break e}l=b+l|0;while(1){h=i<<2;f=h+o|0;h=J[h+l>>2]+J[h+j>>2]|0;J[f>>2]=h;g:{if((h|0)>J[a+16>>2]){h=h-J[a+20>>2]|0}else{if((h|0)>=J[a+12>>2]){break g}h=h+J[a+20>>2]|0}J[f>>2]=h}f=J[a+8>>2];i=i+1|0;if((f|0)>(i|0)){continue}break}}g=e+g|0;if((g|0)<(d|0)){continue}break}}xj(n);return 1}function lf(a,b){var c=0,d=0,e=0,f=0,g=0;d=-1;f=-1;a:{if((b|0)==-1){break a}c=b+1|0;d=(c>>>0)%3|0?c:b-2|0;f=b-1|0;if((b>>>0)%3|0){break a}f=b+2|0}b:{c:{d:{e:{f:{g:{e=J[a+184>>2];switch(e|0){case 7:break d;case 3:break e;case 5:break f;case 0:case 1:break g;default:break b}}g=J[a+148>>2];c=-1;e=1;d=((d|0)!=-1?J[J[g>>2]+(d<<2)>>2]:c)<<2;c=J[a+156>>2];d=d+c|0;J[d>>2]=J[d>>2]+1;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=J[a+148>>2];c=J[a+156>>2];e=c+(((b|0)==-1?-1:J[J[g>>2]+(b<<2)>>2])<<2)|0;J[e>>2]=J[e>>2]+1;d=(((d|0)==-1?-1:J[J[g>>2]+(d<<2)>>2])<<2)+c|0;J[d>>2]=J[d>>2]+1;e=2;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=J[a+148>>2];c=J[a+156>>2];e=c+(((b|0)==-1?-1:J[J[g>>2]+(b<<2)>>2])<<2)|0;J[e>>2]=J[e>>2]+1;d=(((d|0)==-1?-1:J[J[g>>2]+(d<<2)>>2])<<2)+c|0;J[d>>2]=J[d>>2]+2;e=1;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0;break c}g=J[a+148>>2];c=J[a+156>>2];e=c+(((b|0)==-1?-1:J[J[g>>2]+(b<<2)>>2])<<2)|0;J[e>>2]=J[e>>2]+2;d=(((d|0)==-1?-1:J[J[g>>2]+(d<<2)>>2])<<2)+c|0;J[d>>2]=J[d>>2]+2;e=2;c=(((f|0)==-1?-1:J[J[g>>2]+(f<<2)>>2])<<2)+c|0}J[c>>2]=J[c>>2]+e;e=J[a+184>>2]}h:{switch(e|0){case 0:case 5:f=J[a+156>>2];c=-1;i:{if((b|0)==-1){break i}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;c=-1;if((b|0)==-1){break i}c=J[J[J[a+148>>2]>>2]+(b<<2)>>2]}if(J[f+(c<<2)>>2]<=5){J[a+188>>2]=5;return}J[a+188>>2]=0;return;default:break h}}J[a+188>>2]=-1} +function Ph(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,l=0,m=0,n=0,o=0;j=J[b+80>>2];b=K[c+24|0];g=P(j,b);a:{if(!b){break a}h=b<<2;f=Cj(h);a=f;k=b&7;if(k){while(1){J[a>>2]=-1073741824;a=a+4|0;e=e+1|0;if((k|0)!=(e|0)){continue}break}}if((b-1&1073741823)>>>0<7){break a}e=f+h|0;while(1){J[a+24>>2]=-1073741824;J[a+28>>2]=-1073741824;J[a+16>>2]=-1073741824;J[a+20>>2]=-1073741824;J[a+8>>2]=-1073741824;J[a+12>>2]=-1073741824;J[a>>2]=-1073741824;J[a+4>>2]=-1073741824;a=a+32|0;if((e|0)!=(a|0)){continue}break}}e=J[d>>2];a=J[d+4>>2]-e>>2;b:{if(a>>>0>>0){La(d,g-a|0);break b}if(a>>>0<=g>>>0){break b}J[d+4>>2]=e+(g<<2)}c:{d:{e:{if(!j){i=1;break e}if(!b){a=0;while(1){if(!Rc(c,K[c+84|0]?a:J[J[c+68>>2]+(a<<2)>>2],H[c+24|0],f)){break e}a=a+1|0;i=j>>>0<=a>>>0;if((a|0)!=(j|0)){continue}break}break e}n=b&252;k=b&3;o=b>>>0<4;e=0;b=0;while(1){if(!Rc(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],f)){break e}m=J[d>>2];i=0;a=0;l=0;if(!o){while(1){g=(e<<2)+m|0;h=a<<2;N[g>>2]=N[h+f>>2];N[g+4>>2]=N[(h|4)+f>>2];N[g+8>>2]=N[(h|8)+f>>2];N[g+12>>2]=N[(h|12)+f>>2];a=a+4|0;e=e+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(k){while(1){N[(e<<2)+m>>2]=N[(a<<2)+f>>2];a=a+1|0;e=e+1|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}}b=b+1|0;i=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break d}if(!f){break c}}xj(f)}return i|0}function ec(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=fa-16|0;fa=e;h=1;i=ka[J[J[a>>2]+24>>2]](a)|0;a:{if((i|0)<=0){break a}l=a+48|0;h=0;while(1){b:{c:{if(!J[(ka[J[J[a>>2]+28>>2]](a)|0)+40>>2]){break c}j=f<<2;g=J[j+J[a+36>>2]>>2];b=J[g+8>>2];k=Ub(g);if(!k){break c}g=J[(ka[J[J[a>>2]+28>>2]](a)|0)+40>>2];J[e+12>>2]=J[b+56>>2];b=Cj(32);J[e>>2]=b;J[e+4>>2]=24;J[e+8>>2]=-2147483616;c=K[1229]|K[1230]<<8|(K[1231]<<16|K[1232]<<24);d=K[1225]|K[1226]<<8|(K[1227]<<16|K[1228]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1221]|K[1222]<<8|(K[1223]<<16|K[1224]<<24);d=K[1217]|K[1218]<<8|(K[1219]<<16|K[1220]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1213]|K[1214]<<8|(K[1215]<<16|K[1216]<<24);d=K[1209]|K[1210]<<8|(K[1211]<<16|K[1212]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+24|0]=0;b=Jb(g,e+12|0,e);if(H[e+11|0]<0){xj(J[e>>2])}if(!b){break c}ab(J[J[J[a+36>>2]+j>>2]+8>>2],k);break b}b=J[J[a+36>>2]+(f<<2)>>2];if(!(ka[J[J[b>>2]+24>>2]](b,l)|0)){break a}}f=f+1|0;h=(i|0)<=(f|0);if((f|0)!=(i|0)){continue}break}}fa=e+16|0;return h|0}function Vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=fa-16|0;fa=k;c=J[b+20>>2];d=J[b+16>>2];e=d+4|0;c=e>>>0<4?c+1|0:c;g=J[b+12>>2];a:{if(M[b+8>>2]>>0&(g|0)<=(c|0)|(c|0)>(g|0)){break a}d=d+J[b>>2]|0;h=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;if((h|0)<0){break a}Hc(a+76|0,h);c=k;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;b:{if(!he(c,b)){break b}if(h){g=1;while(1){d=1<>2]+(i>>>3&536870908)|0;e=e^g;if(e&1){d=J[f>>2]&(d^-1)}else{d=d|J[f>>2]}g=e^1;J[f>>2]=d;i=i+1|0;if((h|0)!=(i|0)){continue}break}}i=0;c=J[b+8>>2];e=J[b+12>>2];f=e;e=J[b+20>>2];g=e;l=J[b+16>>2];d=l+4|0;e=d>>>0<4?e+1|0:e;h=d;if(d>>>0>c>>>0&(e|0)>=(f|0)|(e|0)>(f|0)){break b}m=J[b>>2];d=m+l|0;j=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=h;J[b+20>>2]=e;d=c;c=g;e=l+8|0;c=e>>>0<8?c+1|0:c;if(d>>>0>>0&(c|0)>=(f|0)|(c|0)>(f|0)){break b}d=h+m|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;if((d|0)<(j|0)){break b}J[a+16>>2]=d;J[a+12>>2]=j;c=(d>>31)-((j>>31)+(d>>>0>>0)|0)|0;b=d-j|0;if(!c&b>>>0>2147483646|c){break b}i=1;c=b+1|0;J[a+20>>2]=c;b=c>>>1|0;J[a+24>>2]=b;J[a+28>>2]=0-b;if(c&1){break b}J[a+24>>2]=b-1}}fa=k+16|0;return i|0}function Vh(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,l=0,m=0,n=0,o=0,p=0;a=0;k=fa-16|0;fa=k;j=J[b+80>>2];e=K[c+24|0];b=P(j,e);a:{b:{c:{d:{f=J[c+28>>2];if(!(!K[c+84|0]|(f|0)!=5&(f|0)!=6)){e=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=Cj(b);g=Vi(a,c+e|0,b)+b|0}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=a;h=1;break a}if(e){f=e<<2;a=Cj(f);Xi(a,0,f)}i=J[d>>2];f=J[d+4>>2]-i>>2;e:{if(f>>>0>>0){La(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}J[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!Cg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!Cg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break c}n=J[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;J[f>>2]=J[i+a>>2];J[f+4>>2]=J[(i|4)+a>>2];J[f+8>>2]=J[(i|8)+a>>2];J[f+12>>2]=J[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){J[(g<<2)+n>>2]=J[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}Ia();C()}if(!a){break a}}xj(a)}fa=k+16|0;return h|0}function Qh(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,l=0,m=0,n=0,o=0,p=0;a=0;k=fa-16|0;fa=k;j=J[b+80>>2];e=K[c+24|0];b=P(j,e);a:{b:{c:{d:{f=J[c+28>>2];if(!(!K[c+84|0]|(f|0)!=5&(f|0)!=6)){e=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<2;a=Cj(b);g=Vi(a,c+e|0,b)+b|0}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=a;h=1;break a}if(e){f=e<<2;a=Cj(f);Xi(a,0,f)}i=J[d>>2];f=J[d+4>>2]-i>>2;e:{if(f>>>0>>0){La(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}J[d+4>>2]=i+(b<<2)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!Bg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!Bg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break c}n=J[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<2)+n|0;i=b<<2;J[f>>2]=J[i+a>>2];J[f+4>>2]=J[(i|4)+a>>2];J[f+8>>2]=J[(i|8)+a>>2];J[f+12>>2]=J[(i|12)+a>>2];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){J[(g<<2)+n>>2]=J[(b<<2)+a>>2];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}Ia();C()}if(!a){break a}}xj(a)}fa=k+16|0;return h|0}function Uh(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,l=0,m=0,n=0,o=0,p=0;a=0;k=fa-16|0;fa=k;j=J[b+80>>2];e=K[c+24|0];b=P(j,e);a:{b:{c:{d:{f=J[c+28>>2];if(!(!K[c+84|0]|(f|0)!=3&(f|0)!=4)){e=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=Cj(b);g=Vi(a,c+e|0,b)+b|0}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=a;h=1;break a}if(e){f=e<<1;a=Cj(f);Xi(a,0,f)}i=J[d>>2];f=J[d+4>>2]-i>>1;e:{if(f>>>0>>0){yg(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}J[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!Ag(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!Ag(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break c}n=J[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;I[f>>1]=L[i+a>>1];I[f+2>>1]=L[(i|2)+a>>1];I[f+4>>1]=L[(i|4)+a>>1];I[f+6>>1]=L[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){I[(g<<1)+n>>1]=L[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}Ia();C()}if(!a){break a}}xj(a)}fa=k+16|0;return h|0}function Th(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,l=0,m=0,n=0,o=0,p=0;a=0;k=fa-16|0;fa=k;j=J[b+80>>2];e=K[c+24|0];b=P(j,e);a:{b:{c:{d:{f=J[c+28>>2];if(!(!K[c+84|0]|(f|0)!=3&(f|0)!=4)){e=J[c+48>>2];c=J[J[c>>2]>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;if(b){if((b|0)<0){break d}b=b<<1;a=Cj(b);g=Vi(a,c+e|0,b)+b|0}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=a;h=1;break a}if(e){f=e<<1;a=Cj(f);Xi(a,0,f)}i=J[d>>2];f=J[d+4>>2]-i>>1;e:{if(f>>>0>>0){yg(d,b-f|0);break e}if(b>>>0>=f>>>0){break e}J[d+4>>2]=i+(b<<1)}if(!j){h=1;break c}if(!e){b=0;while(1){if(!zg(c,K[c+84|0]?b:J[J[c+68>>2]+(b<<2)>>2],H[c+24|0],a)){break c}b=b+1|0;h=j>>>0<=b>>>0;if((b|0)!=(j|0)){continue}break}break c}o=e&252;m=e&3;p=e>>>0<4;e=0;while(1){if(!zg(c,K[c+84|0]?e:J[J[c+68>>2]+(e<<2)>>2],H[c+24|0],a)){break c}n=J[d>>2];l=0;b=0;h=0;if(!p){while(1){f=(g<<1)+n|0;i=b<<1;I[f>>1]=L[i+a>>1];I[f+2>>1]=L[(i|2)+a>>1];I[f+4>>1]=L[(i|4)+a>>1];I[f+6>>1]=L[(i|6)+a>>1];b=b+4|0;g=g+4|0;h=h+4|0;if((o|0)!=(h|0)){continue}break}}if(m){while(1){I[(g<<1)+n>>1]=L[(b<<1)+a>>1];b=b+1|0;g=g+1|0;l=l+1|0;if((l|0)!=(m|0)){continue}break}}e=e+1|0;h=j>>>0<=e>>>0;if((e|0)!=(j|0)){continue}break}break b}Ia();C()}if(!a){break a}}xj(a)}fa=k+16|0;return h|0}function nf(a,b){var c=0,d=0,e=0,f=0,g=0;f=-1;d=-1;a:{if((b|0)==-1){break a}d=b+1|0;f=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}b:{c:{d:{switch(J[a+168>>2]){case 0:case 1:e=J[a+148>>2];c=1;b=J[a+156>>2];g=b+(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)|0;J[g>>2]=J[g>>2]+1;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 5:e=J[a+148>>2];c=-1;c=((b|0)!=-1?J[J[e>>2]+(b<<2)>>2]:c)<<2;b=J[a+156>>2];c=c+b|0;J[c>>2]=J[c>>2]+1;c=(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)+b|0;J[c>>2]=J[c>>2]+1;c=2;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 3:e=J[a+148>>2];c=-1;c=((b|0)!=-1?J[J[e>>2]+(b<<2)>>2]:c)<<2;b=J[a+156>>2];c=c+b|0;J[c>>2]=J[c>>2]+1;c=(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)+b|0;J[c>>2]=J[c>>2]+2;c=1;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0;break c;case 7:break d;default:break b}}e=J[a+148>>2];c=-1;c=((b|0)!=-1?J[J[e>>2]+(b<<2)>>2]:c)<<2;b=J[a+156>>2];c=c+b|0;J[c>>2]=J[c>>2]+2;c=(((f|0)==-1?-1:J[J[e>>2]+(f<<2)>>2])<<2)+b|0;J[c>>2]=J[c>>2]+2;c=2;b=(((d|0)==-1?-1:J[J[e>>2]+(d<<2)>>2])<<2)+b|0}J[b>>2]=J[b>>2]+c}c=a;b=J[J[a+156>>2]+(((f|0)==-1?-1:J[J[J[a+148>>2]>>2]+(f<<2)>>2])<<2)>>2];d=J[a+180>>2];a=J[a+176>>2];J[c+172>>2]=(a|0)<=(b|0)?((b|0)<(d|0)?b:d)-a|0:0}function qb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a+24>>2]=0;f=J[b+4>>2];g=J[b>>2];e=f-g|0;c=(e|0)/20|0;a:{if((f|0)==(g|0)){break a}b:{if(c>>>0<214748365){f=Cj(e);J[a+20>>2]=f;J[a+16>>2]=f;J[a+24>>2]=f+P(c,20);c=J[b>>2];g=J[b+4>>2];if((c|0)==(g|0)){break a}b=f;while(1){e=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=e;J[b+16>>2]=J[c+16>>2];e=J[c+12>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=e;b=b+20|0;c=c+20|0;if((g|0)!=(c|0)){continue}break}g=0;J[a+28>>2]=0;J[a+20>>2]=b;if((b|0)!=(f|0)){b=(b-f|0)/20|0;e=b>>>0<=1?1:b;h=e&3;b=0;c=0;if(e-1>>>0>=3){i=e&-4;e=0;while(1){d=f+P(b,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+P(b|1,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+P(b|2,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;d=f+P(b|3,20)|0;d=P(J[d+16>>2],J[d+12>>2]);c=c>>>0>d>>>0?c:d;b=b+4|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}if(h){while(1){e=f+P(b,20)|0;e=P(J[e+16>>2],J[e+12>>2]);c=c>>>0>e>>>0?c:e;b=b+1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}if(!c){J[a+12>>2]=0;return a}if((c|0)<0){break b}g=Cj(c);b=Xi(g,0,c);f=b+c|0;J[a+8>>2]=f;J[a+4>>2]=f;J[a>>2]=b}J[a+12>>2]=g;return a}Ia();C()}Ia();C()}J[a+28>>2]=0;J[a+12>>2]=0;return a}function hg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b=J[a+32>>2];f=J[b+8>>2];h=J[b+12>>2];g=J[b+20>>2];c=J[b+16>>2];e=0;b:{if((h|0)<=(g|0)&c>>>0>=f>>>0|(g|0)>(h|0)){break b}f=K[J[b>>2]+c|0];e=b;b=g;c=c+1|0;b=c?b:b+1|0;J[e+16>>2]=c;J[e+20>>2]=b;c:{if(!f){break c}while(1){if(ka[J[J[a>>2]+16>>2]](a,d)|0){d=d+1|0;if((f|0)!=(d|0)){continue}break c}break}return 0}d=J[a+8>>2];b=J[a+12>>2];if((d|0)!=(b|0)){while(1){c=J[d>>2];if(!(ka[J[J[c>>2]+8>>2]](c,a,J[a+4>>2])|0)){break a}d=d+4|0;if((b|0)!=(d|0)){continue}break}}d:{if(!f){break d}d=0;while(1){b=J[J[a+8>>2]+(d<<2)>>2];if(!(ka[J[J[b>>2]+12>>2]](b,J[a+32>>2])|0)){break a}d=d+1|0;if((f|0)!=(d|0)){continue}break}if(!f){break d}i=a+20|0;b=0;while(1){d=0;j=b<<2;c=J[j+J[a+8>>2]>>2];k=ka[J[J[c>>2]+24>>2]](c)|0;if((k|0)>0){while(1){c=J[J[a+8>>2]+j>>2];c=ka[J[J[c>>2]+20>>2]](c,d)|0;e=J[a+20>>2];g=J[a+24>>2]-e>>2;e:{if(c>>>0>>0){break e}h=c+1|0;if(h>>>0>g>>>0){La(i,h-g|0);e=J[i>>2];break e}if(g>>>0<=h>>>0){break e}J[a+24>>2]=(h<<2)+e}J[(c<<2)+e>>2]=b;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){continue}break}}e=0;if(!(ka[J[J[a>>2]+28>>2]](a)|0)){break b}e=ka[J[J[a>>2]+32>>2]](a)|0}return e|0}return 0}function he(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=fa-16|0;fa=i;f=J[b+20>>2];d=J[b+12>>2];c=J[b+16>>2];a:{if((f|0)>=(d|0)&c>>>0>=M[b+8>>2]|(d|0)<(f|0)){break a}H[a+12|0]=K[c+J[b>>2]|0];c=J[b+20>>2];g=c;f=J[b+16>>2];e=f+1|0;c=e?c:c+1|0;J[b+16>>2]=e;J[b+20>>2]=c;b:{if(L[b+38>>1]<=513){d=J[b+8>>2];c=J[b+12>>2];h=c;c=g;f=f+5|0;c=f>>>0<5?c+1|0:c;if(d>>>0>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}e=e+J[b>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;break b}if(!ie(1,i+12|0,b)){break a}f=J[b+16>>2];c=J[b+20>>2];d=J[b+8>>2];h=J[b+12>>2];e=J[i+12>>2]}g=d-f|0;d=h-(c+(d>>>0>>0)|0)|0;if((d|0)<=0&e>>>0>g>>>0|(d|0)<0|(e|0)<=0){break a}j=J[b>>2]+f|0;J[a>>2]=j;c:{d:{h=e-1|0;g=h+j|0;d=K[g|0];e:{if(d>>>0<=63){J[a+4>>2]=h;g=K[g|0]&63;break e}f:{switch((d>>>6|0)-1|0){case 1:break d;case 0:break f;default:break a}}if(e>>>0<2){break a}d=e-2|0;J[a+4>>2]=d;d=d+j|0;g=K[d+1|0]<<8&16128|K[d|0]}J[a+8>>2]=g+4096;break c}if(e>>>0<3){break a}d=e-3|0;J[a+4>>2]=d;g=a;a=d+j|0;a=K[a+1|0]<<8|K[a+2|0]<<16&4128768|K[a|0];J[g+8>>2]=a+4096;if(a>>>0>1044479){break a}}a=e+f|0;c=a>>>0>>0?c+1|0:c;J[b+16>>2]=a;J[b+20>>2]=c;k=1}fa=i+16|0;return k}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Pi(a,b,c);c=J[a+84>>2];d=J[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=J[a+92>>2];c=J[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;e=d&7;if(e){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}J[a+88>>2]=c;break b}d:{b=c;c=J[a+84>>2];i=b-c|0;g=i>>2;b=g+d|0;if(b>>>0<1073741824){e=e-c|0;h=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>>0?h:b;if(e){if(e>>>0>=1073741824){break d}j=Cj(e<<2)}g=(g<<2)+j|0;b=g;h=d&7;if(h){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=g+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((f|0)!=(b|0)){continue}break}}b=Wi(j,c,i);J[a+88>>2]=f;J[a+84>>2]=b;J[a+92>>2]=b+(e<<2);if(c){xj(c)}break b}Ia();C()}Va();C()}return}if(b>>>0>=d>>>0){break a}J[a+88>>2]=c+(b<<2)}}function wi(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a>>2];if(d-e>>2>>>0>=b>>>0){f=J[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){J[d>>2]=J[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){J[f>>2]=J[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}J[a+4>>2]=b;return}J[a+4>>2]=e+(b<<2);return}if(e){J[a+4>>2]=e;xj(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=Cj(d);J[a>>2]=e;J[a+8>>2]=d+e;c=J[c>>2];d=e;g=b&7;if(g){while(1){J[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d+28>>2]=c;J[d+24>>2]=c;J[d+20>>2]=c;J[d+16>>2]=c;J[d+12>>2]=c;J[d+8>>2]=c;J[d+4>>2]=c;J[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}Ia();C()}function Vb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){J[d>>2]=J[c>>2];d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];f=e-i>>2;h=f+b|0;if(h>>>0<1073741824){j=d-i|0;d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break b}k=Cj(h<<2)}f=(f<<2)+k|0;d=f;j=b&7;if(j){while(1){J[d>>2]=J[c>>2];d=d+4|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}g=(b<<2)+f|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((g|0)!=(d|0)){continue}break}}if((e|0)!=(i|0)){while(1){f=f-4|0;e=e-4|0;J[f>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[a+8>>2]=(h<<2)+k;J[a+4>>2]=g;J[a>>2]=f;if(i){xj(i)}return}Ia();C()}Va();C()}function re(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=fa-16|0;fa=h;a:{b:{if(L[b+38>>1]<=511){e=J[b+8>>2];c=J[b+12>>2];i=c;f=J[b+20>>2];d=J[b+16>>2];g=d+8|0;f=g>>>0<8?f+1|0:f;if(e>>>0>>0&(c|0)<=(f|0)|(c|0)<(f|0)){break a}d=d+J[b>>2]|0;c=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=K[d+4|0]|K[d+5|0]<<8|(K[d+6|0]<<16|K[d+7|0]<<24);J[b+16>>2]=g;J[b+20>>2]=f;break b}if(!ve(1,h+8|0,b)){break a}g=J[b+16>>2];f=J[b+20>>2];e=J[b+8>>2];i=J[b+12>>2];c=J[h+8>>2];d=J[h+12>>2]}j=e-g|0;e=i-(f+(e>>>0>>0)|0)|0;if((e|0)==(d|0)&c>>>0>j>>>0|d>>>0>e>>>0){break a}e=d+f|0;f=c+g|0;e=f>>>0>>0?e+1|0:e;J[b+16>>2]=f;J[b+20>>2]=e;if((c|0)<=0){break a}b=J[b>>2]+g|0;J[a+40>>2]=b;g=c-1|0;e=b+g|0;f=K[e|0];c:{if(f>>>0<=63){J[a+44>>2]=g;b=K[e|0]&63;break c}d:{switch((f>>>6|0)-1|0){case 0:if(c>>>0<2){break a}c=c-2|0;J[a+44>>2]=c;b=b+c|0;b=K[b+1|0]<<8&16128|K[b|0];break c;case 1:if(c>>>0<3){break a}c=c-3|0;J[a+44>>2]=c;b=b+c|0;b=K[b+1|0]<<8|K[b+2|0]<<16&4128768|K[b|0];break c;default:break d}}c=c-4|0;J[a+44>>2]=c;b=b+c|0;b=(K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24))&1073741823}J[a+48>>2]=b+16384;k=b>>>0<4177920}fa=h+16|0;return k}function Ff(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=(c>>>0)/3|0;j=J[(J[J[a+8>>2]+96>>2]+P(f,12)|0)+(c-P(f,3)<<2)>>2];a:{h=J[J[a+12>>2]+4>>2];e=J[h+4>>2];if((e|0)!=J[h+8>>2]){J[e>>2]=j;J[h+4>>2]=e+4;break a}b:{i=J[h>>2];f=e-i|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){k=g<<2;g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break b}f=Cj(g<<2)}else{f=0}d=k+f|0;J[d>>2]=j;j=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=j;J[h>>2]=d;if(i){xj(i)}break a}Ia();C()}Va();C()}c:{d:{h=J[a+4>>2];e=J[h+4>>2];e:{if((e|0)!=J[h+8>>2]){J[e>>2]=c;J[h+4>>2]=e+4;break e}i=J[h>>2];f=e-i|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break d}g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break c}f=Cj(g<<2)}else{f=0}d=f+(j<<2)|0;J[d>>2]=c;c=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=c;J[h>>2]=d;if(!i){break e}xj(i)}a=J[a+4>>2];J[J[a+12>>2]+(b<<2)>>2]=J[a+24>>2];J[a+24>>2]=J[a+24>>2]+1;return}Ia();C()}Va();C()}function Ba(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=d-c|0;if((h|0)<=0){return}a:{e=J[a+8>>2];i=J[a+4>>2];if((e-i|0)>=(h|0)){j=i-b|0;if((j|0)>=(h|0)){f=i;g=d;break a}f=i;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){H[f|0]=K[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=f;if((j|0)>0){break a}return}k=J[a>>2];g=(i-k|0)+h|0;if((g|0)>=0){j=b-k|0;f=e-k|0;e=f<<1;f=f>>>0>=1073741823?2147483647:e>>>0>g>>>0?e:g;if(f){e=Cj(f)}else{e=0}g=j+e|0;if((c|0)!=(d|0)){g=Vi(g,c,h)+h|0}d=Wi(e,k,j);c=i-b|0;b=Wi(g,b,c);J[a+8>>2]=e+f;J[a+4>>2]=b+c;J[a>>2]=d;if(k){xj(k)}return}Ia();C()}e=f;d=e-h|0;if(i>>>0>d>>>0){while(1){H[e|0]=K[d|0];e=e+1|0;d=d+1|0;if(i>>>0>d>>>0){continue}break}}J[a+4>>2]=e;a=b+h|0;if((a|0)!=(f|0)){a=f-a|0;Wi(f-a|0,b,a)}if((c|0)==(g|0)){return}f=(c^-1)+g|0;a=g-c&7;b:{if(!a){e=b;break b}d=0;e=b;while(1){H[e|0]=K[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((a|0)!=(d|0)){continue}break}}if(f>>>0<7){return}while(1){H[e|0]=K[c|0];H[e+1|0]=K[c+1|0];H[e+2|0]=K[c+2|0];H[e+3|0]=K[c+3|0];H[e+4|0]=K[c+4|0];H[e+5|0]=K[c+5|0];H[e+6|0]=K[c+6|0];H[e+7|0]=K[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function Vi(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){_(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=J[b+36>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=J[b+44>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=J[b+52>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=J[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){J[c>>2]=J[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){H[c|0]=K[b|0];H[c+1|0]=K[b+1|0];H[c+2|0]=K[b+2|0];H[c+3|0]=K[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function xb(a,b){var c=0,d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;J[a+12>>2]=b;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;c=a+16|0;J[c>>2]=0;J[c+4>>2]=0;H[c+5|0]=0;H[c+6|0]=0;H[c+7|0]=0;H[c+8|0]=0;H[c+9|0]=0;H[c+10|0]=0;H[c+11|0]=0;H[c+12|0]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+48>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+68>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+88>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;g=a+116|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+104>>2]=0;J[a+108>>2]=0;J[a+112>>2]=0;J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;c=1;break a}c=b<<2;e=Cj(c);J[a+92>>2]=e;f=c+e|0;J[a+100>>2]=f;Xi(e,0,c);J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+96>>2]=f;e=Cj(c);J[a+104>>2]=e;f=c+e|0;J[a+112>>2]=f;Xi(e,0,c);J[a+108>>2]=f;e=Cj(c);J[d>>2]=e;f=c+e|0;J[d+8>>2]=f;Xi(e,0,c);J[d+4>>2]=f;c=b<<5|1}Hb(g,c,d);e=J[d>>2];if(e){J[d+4>>2]=e;xj(e)}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if(b){b=b<<2;e=Cj(b);J[d>>2]=e;f=b+e|0;J[d+8>>2]=f;Xi(e,0,b);J[d+4>>2]=f}Hb(a+128|0,c,d);b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}fa=d+16|0;return a}function tf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;J[a>>2]=11532;d=a+232|0;b=J[d+196>>2];if(b){J[d+200>>2]=b;xj(b)}c=J[d+184>>2];if(c){b=c;e=J[d+188>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=J[b>>2];if(f){J[e-8>>2]=f;xj(f)}e=b;if((b|0)!=(c|0)){continue}break}b=J[d+184>>2]}J[d+188>>2]=c;xj(b)}b=J[d+156>>2];if(b){J[d+160>>2]=b;xj(b)}c=J[d+136>>2];J[d+136>>2]=0;if(c){e=c-4|0;b=J[e>>2];if(b){b=c+(b<<4)|0;while(1){b=b-16|0;if((c|0)!=(b|0)){continue}break}}xj(e)}pf(a+216|0);b=J[a+196>>2];if(b){J[a+200>>2]=b;xj(b)}b=J[a+184>>2];if(b){J[a+188>>2]=b;xj(b)}b=J[a+172>>2];if(b){J[a+176>>2]=b;xj(b)}b=J[a+160>>2];if(b){J[a+164>>2]=b;xj(b)}b=J[a+144>>2];if(b){while(1){c=J[b>>2];xj(b);b=c;if(b){continue}break}}b=J[a+136>>2];J[a+136>>2]=0;if(b){xj(b)}b=J[a+120>>2];if(b){xj(b)}b=J[a+108>>2];if(b){xj(b)}b=J[a+96>>2];if(b){xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+36>>2];if(b){J[a+40>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a+8>>2];J[a+8>>2]=0;if(b){Se(b)}return a|0}function fb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;f=b&7;if(f){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];j=e-i|0;f=j>>2;g=f+b|0;if(g>>>0<1073741824){d=d-i|0;e=d>>>1|0;g=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break b}k=Cj(g<<2)}f=(f<<2)+k|0;d=f;e=b&7;if(e){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}e=f+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}b=Wi(k,i,j);J[a+4>>2]=e;J[a>>2]=b;J[a+8>>2]=b+(g<<2);if(i){xj(i)}return}Ia();C()}Va();C()}function Kj(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(K[a+11|0]>>>7|0){d=J[a+4>>2]}else{d=K[a+11|0]&127}if(d>>>0>>0){h=fa-16|0;fa=h;b=b-d|0;if(b){g=K[a+11|0]>>>7|0?(J[a+8>>2]&2147483647)-1|0:10;if(K[a+11|0]>>>7|0){d=J[a+4>>2]}else{d=K[a+11|0]&127}i=d+b|0;if(g-d>>>0>>0){a:{e=fa-16|0;fa=e;c=i-g|0;if(c>>>0<=2147483631-g>>>0){if(K[a+11|0]>>>7|0){f=J[a>>2]}else{f=a}if(g>>>0<1073741799){J[e+12>>2]=g<<1;J[e>>2]=c+g;c=fa-16|0;fa=c;fa=c+16|0;c=e+12|0;c=J[(M[e>>2]>2]?c:e)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}Aj(e,c);c=J[e>>2];if(d){zj(c,f,d)}if((g|0)!=10){xj(f)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[e+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;fa=e+16|0;break a}eg();C()}}f=d;if(K[a+11|0]>>>7|0){d=J[a>>2]}else{d=a}f=f+d|0;e=fa-16|0;fa=e;H[e+15|0]=0;while(1){if(b){H[f|0]=K[e+15|0];b=b-1|0;f=f+1|0;continue}break}fa=e+16|0;Bj(a,i);H[h+15|0]=0;H[d+i|0]=K[h+15|0]}fa=h+16|0;return}if(K[a+11|0]>>>7|0){d=J[a>>2]}else{d=a}f=fa-16|0;fa=f;Bj(a,b);H[f+15|0]=0;H[b+d|0]=K[f+15|0];fa=f+16|0}function Ci(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=fa-16|0;fa=g;a:{b:{if(b){J[a+88>>2]=0;J[a+92>>2]=0;d=J[a+84>>2];J[a+84>>2]=0;if(d){xj(d)}J[a+76>>2]=0;J[a+80>>2]=0;d=J[a+72>>2];J[a+72>>2]=0;if(d){xj(d)}d=J[b>>2];c=J[b+4>>2];H[g+15|0]=0;Oe(a,c-d>>2,g+15|0);d=J[b+28>>2];c=J[b+24>>2];H[g+14|0]=0;Oe(a+12|0,d-c>>2,g+14|0);wi(a+28|0,J[b+4>>2]-J[b>>2]>>2,13756);c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;e=J[a+52>>2];c:{if(f>>>0<=J[a+60>>2]-e>>2>>>0){break c}if((c|0)<0){break b}d=J[a+56>>2];c=Cj(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;J[c>>2]=J[d>>2];if((d|0)!=(e|0)){continue}break}}J[a+60>>2]=f;J[a+56>>2]=h;J[a+52>>2]=c;if(!e){break c}xj(e)}c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;e=J[a+40>>2];d:{if(f>>>0<=J[a+48>>2]-e>>2>>>0){break d}if((c|0)<0){break a}d=J[a+44>>2];c=Cj(c);f=c+(f<<2)|0;h=c+(d-e&-4)|0;c=h;if((d|0)!=(e|0)){while(1){c=c-4|0;d=d-4|0;J[c>>2]=J[d>>2];if((d|0)!=(e|0)){continue}break}}J[a+48>>2]=f;J[a+44>>2]=h;J[a+40>>2]=c;if(!e){break d}xj(e)}H[a+24|0]=1;J[a+64>>2]=b}fa=g+16|0;return}Ia();C()}Ia();C()}function tb(a,b){var c=0,d=0,e=0,f=0,g=0;c=fa-16|0;fa=c;J[a+12>>2]=b;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+52>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+72>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+92>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+104>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;g=a+120|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+108>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;e=1;break a}e=b<<2;d=Cj(e);J[a+96>>2]=d;f=d+e|0;J[a+104>>2]=f;Xi(d,0,e);J[a+116>>2]=0;J[a+108>>2]=0;J[a+112>>2]=0;J[a+100>>2]=f;d=Cj(e);J[a+108>>2]=d;f=d+e|0;J[a+116>>2]=f;Xi(d,0,e);J[a+112>>2]=f;d=Cj(e);J[c>>2]=d;f=d+e|0;J[c+8>>2]=f;Xi(d,0,e);J[c+4>>2]=f;e=b<<5|1}Hb(g,e,c);d=J[c>>2];if(d){J[c+4>>2]=d;xj(d)}J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;if(b){b=b<<2;d=Cj(b);J[c>>2]=d;f=b+d|0;J[c+8>>2]=f;Xi(d,0,b);J[c+4>>2]=f}Hb(a+132|0,e,c);b=J[c>>2];if(b){J[c+4>>2]=b;xj(b)}fa=c+16|0;return a}function oe(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);H[b+12|0]=c;a:{if(c){break a}while(1){d=J[b+8>>2];if(K[d+12|0]){break a}b:{c=J[d+8>>2];e=J[c>>2];if((e|0)==(d|0)){e=J[c+4>>2];if(!(!e|K[e+12|0])){break b}c:{if(J[d>>2]==(b|0)){b=d;break c}b=J[d+4>>2];a=J[b>>2];J[d+4>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b>>2]=d;J[d+8>>2]=b;c=J[b+8>>2];d=J[c>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;return}if(!(K[e+12|0]|!e)){break b}d:{if(J[d>>2]!=(b|0)){b=d;break d}a=J[b+4>>2];J[d>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b+4>>2]=d;J[d+8>>2]=b;c=J[b+8>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[c+4>>2];b=J[a>>2];J[c+4>>2]=b;if(b){J[b+8>>2]=c}J[a+8>>2]=J[c+8>>2];b=J[c+8>>2];J[((J[b>>2]!=(c|0))<<2)+b>>2]=a;J[a>>2]=c;J[c+8>>2]=a;break a}H[d+12|0]=1;H[c+12|0]=(a|0)==(c|0);H[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function pk(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!c){break k}if(!d){break j}e=S(d)-S(b)|0;if(e>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}ja=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}if(!d|d-1&d){break g}a=b>>>mk(d)|0;ja=0;break a}if(!(c-1&c)){break f}h=(S(c)+33|0)-S(b)|0;g=0-h|0;break d}h=e+1|0;g=63-e|0;break d}ja=0;a=(b>>>0)/(d>>>0)|0;break a}e=S(d)-S(b)|0;if(e>>>0<31){break e}break c}if((c|0)==1){break b}d=mk(c);c=d&31;if((d&63)>>>0>=32){a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}ja=e;break a}h=e+1|0;g=63-e|0}e=h&63;f=e&31;if(e>>>0>=32){e=0;i=b>>>f|0}else{e=b>>>f|0;i=((1<>>f}g=g&63;f=g&31;if(g>>>0>=32){b=a<>>32-f|b<>>31;e=i<<1|b>>>31;f=m-(j+(e>>>0>g>>>0)|0)>>31;k=c&f;i=e-k|0;e=j-((d&f)+(e>>>0>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=f&1;h=h-1|0;if(h){continue}break}}ja=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}ja=b}return a}function Jd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=J[b+16>>2];h=J[c+4>>2]-k|0;e=J[c>>2]-k|0;J[c>>2]=e;J[c+4>>2]=h;g=J[b+16>>2];f=h>>31;i=(f^h)-f|0;f=e>>31;l=g>>>0>=i+((f^e)-f|0)>>>0;a:{if(l){f=h;break a}b:{c:{if((e|0)>=0){f=1;i=1;if((h|0)>=0){break b}j=1;f=-1;i=-1;if(e){break c}break b}j=-1;f=-1;i=-1;if((h|0)<=0){break b}}f=(h|0)<=0?-1:1;i=j}j=P(g,i);e=(e<<1)-j|0;i=(P(f,i)|0)>=0;g=P(f,g);f=((i?0-e|0:e)+g|0)/2|0;J[c+4>>2]=f;m=c;c=(h<<1)-g|0;e=(j+(i?0-c|0:c)|0)/2|0;J[m>>2]=e;g=J[b+16>>2]}c=J[d+4>>2]+f|0;e=J[d>>2]+e|0;d:{if((g|0)<(e|0)){e=e-J[b+4>>2]|0;break d}if((0-g|0)<=(e|0)){break d}e=J[b+4>>2]+e|0}e:{if((c|0)>(g|0)){c=c-J[b+4>>2]|0;break e}if((0-g|0)<=(c|0)){break e}c=J[b+4>>2]+c|0}f:{if(l){g=c;break f}g:{h:{if((e|0)>=0){b=1;f=1;if((c|0)>=0){break g}d=1;b=-1;f=-1;if(e){break h}break g}d=-1;b=-1;f=-1;if((c|0)<=0){break g}}b=(c|0)<=0?-1:1;f=d}d=P(f,g);h=(e<<1)-d|0;f=(P(b,f)|0)>=0;b=P(b,g);g=((f?0-h|0:h)+b|0)/2|0;b=(c<<1)-b|0;e=(d+(f?0-b|0:b)|0)/2|0}c=a;J[c>>2]=e+k;J[c+4>>2]=g+k}function Df(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=fa-16|0;fa=g;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=Cj(c);f=c+(f<<2)|0;h=c+(b-d&-4)|0;c=h;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=h;J[e>>2]=c;if(!d){break b}xj(d)}b=J[a+12>>2];c=J[b+28>>2];b=J[b+24>>2];J[g+12>>2]=0;b=c-b>>2;d=a+96|0;e=J[d>>2];c=J[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){fb(d,b-c|0,g+12|0);break c}if(b>>>0>=c>>>0){break c}J[a+100>>2]=e+(b<<2)}e=a+8|0;b=J[a+116>>2];d:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){c=1;break d}b=0;while(1){c=Ef(e,J[(b<<2)+d>>2]);if(!c){break d}f=J[a+116>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break d}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){c=Ef(e,P(b,3));if(!c){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}fa=g+16|0;return c|0}Ia();C()}function Ka(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=J[b+88>>2];if(!(!c|J[c>>2]!=1)){e=J[c+8>>2];J[a+4>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);f=a+8|0;d=K[b+24|0];h=J[a+8>>2];g=J[a+12>>2]-h>>2;a:{if(d>>>0>g>>>0){La(f,d-g|0);d=K[b+24|0];e=J[c+8>>2];break a}if(d>>>0>=g>>>0){break a}J[a+12>>2]=h+(d<<2)}b:{if(!d){b=4;break b}h=d&3;f=J[f>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){g=d<<2;c=b+e|0;J[g+f>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+(g|4)>>2]=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+(g|8)>>2]=K[c+8|0]|K[c+9|0]<<8|(K[c+10|0]<<16|K[c+11|0]<<24);J[f+(g|12)>>2]=K[c+12|0]|K[c+13|0]<<8|(K[c+14|0]<<16|K[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+e|0;J[f+(d<<2)>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}d=a;a=b+e|0;J[d+20>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);d=1}return d|0}function og(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{b:{c:{if(!b){if((d|0)<0){break a}f=J[a+4>>2];b=J[a>>2];d=f-b|0;if(c>>>0>d>>>0){g=c-d|0;e=J[a+8>>2];if(g>>>0<=e-f>>>0){i=a,j=Xi(f,0,g)+g|0,J[i+4>>2]=j;break c}if((c|0)<0){break b}f=e-b|0;e=f<<1;f=f>>>0>=1073741823?2147483647:c>>>0>>0?e:c;e=Cj(f);Xi(e+d|0,0,g);d=Wi(e,b,d);J[a+8>>2]=d+f;J[a+4>>2]=c+d;J[a>>2]=d;if(!b){break c}xj(b);break c}if(c>>>0>=d>>>0){break c}J[a+4>>2]=b+c;break c}if((d|0)<0){break a}e=J[a+4>>2];f=J[a>>2];g=e-f|0;d:{if((d|0)<=0&c>>>0<=g>>>0|(d|0)<0){break d}if(c>>>0>g>>>0){d=c-g|0;h=J[a+8>>2];if(d>>>0<=h-e>>>0){i=a,j=Xi(e,0,d)+d|0,J[i+4>>2]=j;break d}if((c|0)<0){break b}e=h-f|0;h=e<<1;e=e>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=Cj(e);Xi(h+g|0,0,d);d=Wi(h,f,g);J[a+8>>2]=d+e;J[a+4>>2]=c+d;J[a>>2]=d;if(!f){break d}xj(f);break d}if(c>>>0>=g>>>0){break d}J[a+4>>2]=c+f}if(!c){break c}Wi(J[a>>2],b,c)}b=J[a+28>>2];c=J[a+24>>2]+1|0;b=c?b:b+1|0;J[a+24>>2]=c;J[a+28>>2]=b;g=1;break a}Ia();C()}return g}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=J[a+12>>2];c=J[a+68>>2];d=J[c+80>>2];H[b+84|0]=0;n=b+68|0;i=J[b+68>>2];e=J[b+72>>2]-i>>2;a:{if(e>>>0>>0){Vb(n,d-e|0,12420);c=J[a+68>>2];d=J[c+80>>2];break a}if(d>>>0>=e>>>0){break a}J[b+72>>2]=i+(d<<2)}b=J[c+100>>2];e=J[c+96>>2];i=(b-e|0)/12|0;m=1;b:{if((b|0)==(e|0)){break b}k=J[k+28>>2];f=J[k>>2];if((f|0)==-1){return 0}o=i>>>0<=1?1:i;c=e;b=0;m=0;while(1){g=J[c>>2];if(g>>>0>=d>>>0){break b}j=J[J[a+72>>2]+12>>2];h=J[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=J[n>>2];J[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=J[g+4>>2];if((h|0)==-1){break b}l=J[c+4>>2];if(l>>>0>=d>>>0){break b}h=J[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}J[f+(l<<2)>>2]=h;g=J[g+8>>2];if((g|0)==-1){break b}c=J[c+8>>2];if(c>>>0>=d>>>0){break b}j=J[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}J[f+(c<<2)>>2]=j;b=b+1|0;m=i>>>0<=b>>>0;if((b|0)==(o|0)){break b}c=e+P(b,12)|0;l=P(b,3);f=J[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return m|0}function xa(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,l=0,m=0;h=J[d+80>>2];e=fa-48|0;fa=e;a=J[a+4>>2];m=a-2|0;a:{if(m>>>0>28){break a}j=J[J[d>>2]>>2]+J[d+48>>2]|0;J[e+16>>2]=a;a=-1<>2]=a^-1;a=-2-a|0;J[e+24>>2]=a;J[e+32>>2]=(a|0)/2;N[e+28>>2]=Q(2)/Q(a|0);f=J[c>>2];if((f|0)!=J[c+4>>2]){a=0;d=0;while(1){g=J[(d<<2)+f>>2];h=e+36|0;k=J[J[b>>2]>>2];l=J[b+48>>2];f=J[b+40>>2];i=J[b+44>>2];if(!K[b+84|0]){g=J[J[b+68>>2]+(g<<2)>>2]}g=nk(f,i,g,0);i=g;g=g+l|0;Vi(h,g+k|0,f);ya(e+16|0,h,e+12|0,e+8|0);f=a<<2;J[f+j>>2]=J[e+12>>2];J[(f|4)+j>>2]=J[e+8>>2];a=a+2|0;d=d+1|0;f=J[c>>2];if(d>>>0>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){k=e+36|0;l=J[J[b>>2]>>2];i=J[b+48>>2];c=J[b+40>>2];f=nk(c,J[b+44>>2],K[b+84|0]?a:J[J[b+68>>2]+(a<<2)>>2],0);g=f;f=f+i|0;Vi(k,f+l|0,c);ya(e+16|0,k,e+12|0,e+8|0);c=d<<2;J[c+j>>2]=J[e+12>>2];J[(c|4)+j>>2]=J[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}fa=e+48|0;return m>>>0<29|0}function Oa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=fa-16|0;fa=k;if(J[c+28>>2]==9){d=J[a+4>>2];h=K[c+24|0];e=h<<2;f=Cj(e);l=k+8|0;J[l>>2]=1065353216;i=N[a+20>>2];d=-1<0){N[l>>2]=i/Q(d|0)}o=(d|0)>0;a:{if(!o){break a}j=J[c+80>>2];if(!j){break a}if(h){p=J[J[b>>2]>>2]+J[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=J[a+8>>2];i=N[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;N[g+f>>2]=Q(i*Q(J[q>>2]))+N[g+m>>2];g=g|4;N[g+f>>2]=Q(i*Q(J[q+4>>2]))+N[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;N[d+f>>2]=Q(i*Q(J[(b<<2)+p>>2]))+N[d+m>>2];b=b+1|0}Vi(J[J[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){Vi(J[J[c+64>>2]>>2]+b|0,f,e);b=b+e|0;Vi(b+J[J[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}Vi(J[J[c+64>>2]>>2]+b|0,f,e)}xj(f)}fa=k+16|0;return o|0}function Cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+108>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0>>0){Vb(m,e-f|0,12420);d=J[a+108>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+112>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+68>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0>>0){Vb(m,e-f|0,12420);d=J[a+68>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+72>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Hc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=fa-16|0;fa=d;a:{f=J[a+4>>2];b:{if(f>>>0>>0){e=b-f|0;c=J[a+8>>2];g=c<<5;c:{if(!(e>>>0>g>>>0|f>>>0>g-e>>>0)){J[a+4>>2]=b;h=f&31;b=J[a>>2]+(f>>>3&536870908)|0;break c}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if((b|0)<0){break a}if(g>>>0<=1073741822){c=c<<6;b=b+31&-32;b=b>>>0>>0?c:b}else{b=2147483647}Jc(d,b);f=J[a+4>>2];J[d+4>>2]=f+e;i=J[a>>2];b=J[d>>2];d:{if((f|0)<=0){break d}c=f>>>5|0;if(f>>>0>=32){Wi(b,i,c<<2)}g=c<<2;b=g+b|0;h=f&31;if(h){c=-1>>>32-h|0;J[b>>2]=J[b>>2]&(c^-1)|J[i+g>>2]&c}i=J[a>>2]}J[a>>2]=J[d>>2];J[d>>2]=i;c=J[a+4>>2];J[a+4>>2]=J[d+4>>2];J[d+4>>2]=c;c=J[a+8>>2];J[a+8>>2]=J[d+8>>2];J[d+8>>2]=c;if(!i){break c}xj(i)}if(!e){break b}if(h){c=32-h|0;a=c>>>0>>0?c:e;J[b>>2]=J[b>>2]&(-1<>>c-a^-1);e=e-a|0;b=b+4|0}a=e>>>5|0;if(e>>>0>=32){Xi(b,0,a<<2)}if((e&-32)==(e|0)){break b}a=(a<<2)+b|0;J[a>>2]=J[a>>2]&(-1>>>32-(e&31)^-1);break b}J[a+4>>2]=b}fa=d+16|0;return}Ia();C()}function Qa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=J[a+12>>2];i=J[a+8>>2];d=e-i>>2;b=K[b+24|0];a:{if(d>>>0>>0){La(a+8|0,b-d|0);i=J[a+8>>2];e=J[a+12>>2];break a}if(b>>>0>=d>>>0){break a}e=(b<<2)+i|0;J[a+12>>2]=e}b=0;f=J[c+8>>2];h=J[c+12>>2];j=J[c+20>>2];e=e-i|0;d=J[c+16>>2];g=e+d|0;j=e>>>0>g>>>0?j+1|0:j;b:{if(f>>>0>>0&(h|0)<=(j|0)|(h|0)<(j|0)){break b}Vi(i,d+J[c>>2]|0,e);d=J[c+20>>2];g=e;e=e+J[c+16>>2]|0;d=g>>>0>e>>>0?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;f=J[c+8>>2];h=J[c+12>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;if(f>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break b}d=e+J[c>>2]|0;J[a+20>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[c+20>>2];g=d;f=d;e=J[c+16>>2];d=e+4|0;f=d>>>0<4?f+1|0:f;J[c+16>>2]=d;J[c+20>>2]=f;h=J[c+12>>2];if((f|0)>=(h|0)&d>>>0>=M[c+8>>2]|(f|0)>(h|0)){break b}f=K[d+J[c>>2]|0];d=g;e=e+5|0;d=e>>>0<5?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;if(f-1>>>0>29){break b}J[a+4>>2]=f;b=1}return b|0}function Ob(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{f=J[a+4>>2];b:{if((f|0)!=J[a>>2]){c=f;break b}g=J[a+8>>2];c=J[a+12>>2];if(g>>>0>>0){e=((c-g>>2)+1|0)/2<<2;c=e+g|0;if((f|0)!=(g|0)){d=g-f|0;c=c-d|0;Wi(c,f,d);f=J[a+8>>2]}J[a+4>>2]=c;J[a+8>>2]=e+f;break b}d=(c|0)==(f|0)?1:c-f>>1;if(d>>>0>=1073741824){break a}c=d<<2;i=Cj(c);k=i+c|0;c=(d+3&-4)+i|0;h=c;c:{if((f|0)==(g|0)){break c}g=g-f|0;l=g&-4;e=c;d=f;j=g-4|0;g=(j>>>2|0)+1&7;if(g){h=0;while(1){J[e>>2]=J[d>>2];d=d+4|0;e=e+4|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}h=c+l|0;if(j>>>0<28){break c}while(1){J[e>>2]=J[d>>2];J[e+4>>2]=J[d+4>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=J[d+12>>2];J[e+16>>2]=J[d+16>>2];J[e+20>>2]=J[d+20>>2];J[e+24>>2]=J[d+24>>2];J[e+28>>2]=J[d+28>>2];d=d+32|0;e=e+32|0;if((h|0)!=(e|0)){continue}break}}J[a+12>>2]=k;J[a+8>>2]=h;J[a+4>>2]=c;J[a>>2]=i;if(!f){break b}xj(f);c=J[a+4>>2]}J[c-4>>2]=J[b>>2];J[a+4>>2]=J[a+4>>2]-4;return}Va();C()}function Pb(a,b){var c=0;a:{if(!he(a,b)){break a}if(!he(a+16|0,b)){break a}if(!he(a+32|0,b)){break a}if(!he(a+48|0,b)){break a}if(!he(a- -64|0,b)){break a}if(!he(a+80|0,b)){break a}if(!he(a+96|0,b)){break a}if(!he(a+112|0,b)){break a}if(!he(a+128|0,b)){break a}if(!he(a+144|0,b)){break a}if(!he(a+160|0,b)){break a}if(!he(a+176|0,b)){break a}if(!he(a+192|0,b)){break a}if(!he(a+208|0,b)){break a}if(!he(a+224|0,b)){break a}if(!he(a+240|0,b)){break a}if(!he(a+256|0,b)){break a}if(!he(a+272|0,b)){break a}if(!he(a+288|0,b)){break a}if(!he(a+304|0,b)){break a}if(!he(a+320|0,b)){break a}if(!he(a+336|0,b)){break a}if(!he(a+352|0,b)){break a}if(!he(a+368|0,b)){break a}if(!he(a+384|0,b)){break a}if(!he(a+400|0,b)){break a}if(!he(a+416|0,b)){break a}if(!he(a+432|0,b)){break a}if(!he(a+448|0,b)){break a}if(!he(a+464|0,b)){break a}if(!he(a+480|0,b)){break a}if(!he(a+496|0,b)){break a}c=he(a+512|0,b)}return c}function $b(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{if(!db(a,b)){break a}h=a+36|0;g=ka[J[J[a>>2]+24>>2]](a)|0;e=J[a+40>>2];d=J[a+36>>2];c=e-d>>2;b:{if(g>>>0>c>>>0){ac(h,g-c|0);break b}if(c>>>0<=g>>>0){break b}d=d+(g<<2)|0;if((d|0)!=(e|0)){while(1){e=e-4|0;c=J[e>>2];J[e>>2]=0;if(c){ka[J[J[c>>2]+4>>2]](c)}if((d|0)!=(e|0)){continue}break}}J[a+40>>2]=d}c=1;if((g|0)<=0){break a}e=0;while(1){c:{c=J[b+20>>2];f=J[b+12>>2];d=J[b+16>>2];if((c|0)>=(f|0)&d>>>0>=M[b+8>>2]|(c|0)>(f|0)){break c}f=K[J[b>>2]+d|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;d=ka[J[J[a>>2]+48>>2]](a,f)|0;f=e<<2;i=f+J[a+36>>2]|0;c=J[i>>2];J[i>>2]=d;if(c){ka[J[J[c>>2]+4>>2]](c)}c=J[J[h>>2]+f>>2];if(!c){break c}if(!(k=c,l=ka[J[J[a>>2]+28>>2]](a)|0,m=ka[J[J[a>>2]+20>>2]](a,e)|0,j=J[J[c>>2]+8>>2],ka[j](k|0,l|0,m|0)|0)){break c}c=1;e=e+1|0;if((g|0)!=(e|0)){continue}break a}break}c=0}return c|0}function ya(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+N[b>>2];k=+N[b+4>>2];l=+N[b+8>>2];g=R(j)+R(k)+R(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=J[a+16>>2];l=+(h|0);g=V(j*l+.5);b:{if(R(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=V(k*l+.5);c:{if(R(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=J[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=J[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}J[c>>2]=a;J[d>>2]=b}function bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=J[b+8>>2];h=J[b+12>>2];c=J[b+20>>2];i=c;k=J[b+16>>2];d=k+4|0;c=d>>>0<4?c+1|0:c;a:{if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}l=J[b>>2];f=k+l|0;e=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=d;J[b+20>>2]=c;c=i;f=k+8|0;c=f>>>0<8?c+1|0:c;if(f>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}d=d+l|0;j=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=c;if((e|0)>(j|0)){break a}J[a+16>>2]=j;J[a+12>>2]=e;d=j-e|0;e=(j>>31)-((e>>31)+(e>>>0>j>>>0)|0)|0;if(!e&d>>>0>2147483646|e){break a}d=d+1|0;J[a+20>>2]=d;e=d>>>1|0;J[a+24>>2]=e;J[a+28>>2]=0-e;if(!(d&1)){J[a+24>>2]=e-1}if(L[b+38>>1]<=513){if((c|0)>=(h|0)&f>>>0>=g>>>0|(c|0)>(h|0)){break a}g=K[f+l|0];c=i;i=k+9|0;c=i>>>0<9?c+1|0:c;J[b+16>>2]=i;J[b+20>>2]=c;if(g>>>0>1){break a}J[a+88>>2]=g}m=he(a+112|0,b)}return m|0}function Ei(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;g=J[a>>2];c=g+(b>>>3&536870908)|0;J[c>>2]=J[c>>2]|1<>2];e=(b|0)==-1;d=-1;a:{if(e){break a}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;d=-1;if((c|0)==-1){break a}d=J[J[f>>2]+(c<<2)>>2]}c=J[a+12>>2];h=(d>>>3&536870908)+c|0;J[h>>2]=J[h>>2]|1<>>0)%3|0){e=b-1|0;break e}e=b+2|0;d=-1;if((e|0)==-1){break d}}d=J[J[f>>2]+(e<<2)>>2]}e=(d>>>3&536870908)+c|0;J[e>>2]=J[e>>2]|1<>2]+(b<<2)>>2];if((b|0)==-1){break b}H[a+24|0]=0;a=(b>>>3&536870908)+g|0;J[a>>2]=J[a>>2]|1<>>0)%3|0?a:b-2|0;if((a|0)!=-1){d=J[J[f>>2]+(a<<2)>>2]}a=c+(d>>>3&536870908)|0;J[a>>2]=J[a>>2]|1<>>0)%3|0){b=b-1|0;break g}b=b+2|0;a=-1;if((b|0)==-1){break f}}a=J[J[f>>2]+(b<<2)>>2]}b=1<>>3&536870908)|0;c=J[a>>2];break c}a=c+536870908|0;b=J[c+536870908>>2];c=-2147483648}J[a>>2]=b|c}}function za(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0;a:{if(J[c+28>>2]!=9|K[c+24|0]!=3){break a}a=J[a+4>>2];if(a-2>>>0>28){break a}o=1;j=J[c+80>>2];if(!j){break a}k=Q(Q(2)/Q((1<>2]>>2]+J[c+48>>2]|0;a=J[J[b>>2]>>2]+J[b+48>>2]|0;b=0;while(1){g=Q(0);l=Q(0);m=Q(0);e=Q(Q(Q(J[a>>2])*k)+Q(-1));f=Q(Q(Q(J[a+4>>2])*k)+Q(-1));i=Q(Q(Q(1)-Q(R(e)))-Q(R(f)));h=Q(U(Q(-i),Q(0)));n=Q(-h);f=Q(f+(f>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;d=(B(l),v(2));H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;d=(B(g),v(2));H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function Si(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(b>>>0<=63){b=0;a=J[a+12>>2];if(a>>>0<2){break a}b=a-1|0;e=b&3;d=J[c>>2];c=0;b:{if(a-2>>>0<3){a=1;b=0;break b}f=b&-4;b=0;a=1;while(1){g=a+3|0;h=a+2|0;i=a+1|0;b=M[d+(b<<2)>>2]>M[d+(a<<2)>>2]?a:b;b=M[d+(b<<2)>>2]>M[d+(i<<2)>>2]?i:b;b=M[d+(b<<2)>>2]>M[d+(h<<2)>>2]?h:b;b=M[d+(b<<2)>>2]>M[d+(g<<2)>>2]?g:b;a=a+4|0;j=j+4|0;if((f|0)!=(j|0)){continue}break}}if(!e){break a}while(1){b=M[d+(b<<2)>>2]>M[d+(a<<2)>>2]?a:b;a=a+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}break a}b=J[a+580>>2];d=32-b|0;if((d|0)>=4){c=J[a+576>>2];if((c|0)==J[a+568>>2]){return 0}d=J[c>>2];e=b+4|0;J[a+580>>2]=e;b=d<>>28|0;if((e|0)!=32){break a}J[a+580>>2]=0;J[a+576>>2]=c+4;return b}c=J[a+576>>2];e=c+4|0;if((e|0)==J[a+568>>2]){return 0}f=J[c>>2];J[a+576>>2]=e;J[a+580>>2]=b-28;a=60-b|0;b=J[c+4>>2]>>>a|f<>>a-d}return b}function rf(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=11484;b=J[a+388>>2];if(b){J[a+392>>2]=b;xj(b)}d=J[a+368>>2];J[a+368>>2]=0;if(d){e=d-4|0;b=J[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}xj(e)}pf(a+216|0);b=J[a+196>>2];if(b){J[a+200>>2]=b;xj(b)}b=J[a+184>>2];if(b){J[a+188>>2]=b;xj(b)}b=J[a+172>>2];if(b){J[a+176>>2]=b;xj(b)}b=J[a+160>>2];if(b){J[a+164>>2]=b;xj(b)}c=J[a+144>>2];if(c){while(1){b=J[c>>2];xj(c);c=b;if(b){continue}break}}b=J[a+136>>2];J[a+136>>2]=0;if(b){xj(b)}b=J[a+120>>2];if(b){xj(b)}b=J[a+108>>2];if(b){xj(b)}b=J[a+96>>2];if(b){xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+36>>2];if(b){J[a+40>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a+8>>2];J[a+8>>2]=0;if(b){Se(b)}return a|0}function uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a:{a=fa-32|0;fa=a;e=hj(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=Cj(g);J[a+24>>2]=g|-2147483648;J[a+16>>2]=f;J[a+20>>2]=e;g=e+f|0;break c}H[a+27|0]=e;f=a+16|0;g=e+f|0;if(!e){break b}}Vi(f,c,e)}H[g|0]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d:{c=tg(b,a+16|0);if((c|0)==(b+4|0)){break d}b=J[c+28>>2];e=J[c+32>>2];if((b|0)==(e|0)){break d}b=e-b|0;if(b&3){break d}e=b>>>2|0;f=J[a+4>>2];b=J[a>>2];g=f-b>>2;e:{if(e>>>0>g>>>0){La(a,e-g|0);b=J[a>>2];f=J[a+4>>2];break e}if(e>>>0>=g>>>0){break e}f=(e<<2)+b|0;J[a+4>>2]=f}if((b|0)!=(f|0)){e=b;b=J[c+28>>2];Vi(e,b,J[c+32>>2]-b|0);break d}yc();C()}b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d>>2]=J[a>>2];J[d+4>>2]=J[a+4>>2];J[d+8>>2]=J[a+8>>2];if(H[a+27|0]<0){xj(J[a+16>>2])}fa=a+32|0;break a}eg();C()}}function of(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=11432;d=J[a+368>>2];J[a+368>>2]=0;if(d){e=d-4|0;b=J[e>>2];if(b){c=(b<<4)+d|0;while(1){c=c-16|0;if((d|0)!=(c|0)){continue}break}}xj(e)}pf(a+216|0);b=J[a+196>>2];if(b){J[a+200>>2]=b;xj(b)}b=J[a+184>>2];if(b){J[a+188>>2]=b;xj(b)}b=J[a+172>>2];if(b){J[a+176>>2]=b;xj(b)}b=J[a+160>>2];if(b){J[a+164>>2]=b;xj(b)}c=J[a+144>>2];if(c){while(1){b=J[c>>2];xj(c);c=b;if(b){continue}break}}b=J[a+136>>2];J[a+136>>2]=0;if(b){xj(b)}b=J[a+120>>2];if(b){xj(b)}b=J[a+108>>2];if(b){xj(b)}b=J[a+96>>2];if(b){xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+36>>2];if(b){J[a+40>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a+8>>2];J[a+8>>2]=0;if(b){Se(b)}return a|0}function sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=fa-16|0;fa=d;a:{e=hj(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=Cj(f);J[d+8>>2]=f|-2147483648;J[d>>2]=a;J[d+4>>2]=e;f=a+e|0;break c}H[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}Vi(a,c,e)}H[f|0]=0;c=K[d+11|0];e=c<<24>>24;b=J[b+4>>2];a=0;d:{if(!b){break d}a=c;c=(e|0)<0;a=c?J[d+4>>2]:a;f=c?J[d>>2]:d;while(1){c=K[b+27|0];g=c<<24>>24<0;c=g?J[b+20>>2]:c;i=c>>>0>>0;e:{f:{g:{h:{i:{j:{h=i?c:a;if(h){g=g?J[b+16>>2]:b+16|0;j=bj(f,g,h);if(j){break j}if(a>>>0>=c>>>0){break i}break e}if(a>>>0>=c>>>0){break h}break e}if((j|0)<0){break e}}c=bj(g,f,h);if(c){break g}}if(i){break f}a=1;break d}if((c|0)<0){break f}a=1;break d}b=b+4|0}b=J[b>>2];if(b){continue}break}a=0}if((e|0)<0){xj(J[d>>2])}fa=d+16|0;break a}eg();C()}return a|0}function Pe(a,b){var c=0,d=0;c=J[b+8>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=c;J[a+20>>2]=J[b+20>>2];c=J[b+16>>2];J[a+12>>2]=J[b+12>>2];J[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=J[b+28>>2];if(c){d=J[a+24>>2];if(J[a+32>>2]<<5>>>0>>0){if(d){xj(d);J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;c=J[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=Cj(c<<2);J[a+32>>2]=c;J[a+28>>2]=0;J[a+24>>2]=d;c=J[b+28>>2]}Wi(d,J[b+24>>2],(c-1>>>3&536870908)+4|0);c=J[b+28>>2]}else{c=0}J[a+28>>2]=c;c=J[b+40>>2];if(c){d=J[a+36>>2];if(J[a+44>>2]<<5>>>0>>0){if(d){xj(d);J[a+44>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;c=J[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=Cj(c<<2);J[a+44>>2]=c;J[a+40>>2]=0;J[a+36>>2]=d;c=J[b+40>>2]}Wi(d,J[b+36>>2],(c-1>>>3&536870908)+4|0);b=J[b+40>>2]}else{b=0}J[a+40>>2]=b}return}Ia();C()}Ia();C()}function wd(a){var b=0,c=0,d=0;b=J[a+8>>2];d=J[a>>2];a:{if(K[a+12|0]){b:{c:{d:{e:{if((b|0)==-1){break e}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;if((b|0)==-1){break e}b=J[J[d+12>>2]+(b<<2)>>2];if((b|0)!=-1){break d}}J[a+8>>2]=-1;break c}c=b+1|0;b=(c>>>0)%3|0?c:b-2|0;J[a+8>>2]=b;if((b|0)!=-1){break b}}c=J[a+4>>2];b=-1;f:{if((c|0)==-1){break f}g:{if((c>>>0)%3|0){c=c-1|0;break g}c=c+2|0;b=-1;if((c|0)==-1){break f}}c=J[J[d+12>>2]+(c<<2)>>2];b=-1;if((c|0)==-1){break f}b=c-1|0;if((c>>>0)%3|0){break f}b=c+2|0}H[a+12|0]=0;J[a+8>>2]=b;return}if((b|0)!=J[a+4>>2]){break a}J[a+8>>2]=-1;return}c=-1;h:{if((b|0)==-1){break h}i:{if((b>>>0)%3|0){b=b-1|0;break i}b=b+2|0;c=-1;if((b|0)==-1){break h}}b=J[J[d+12>>2]+(b<<2)>>2];c=-1;if((b|0)==-1){break h}c=b-1|0;if((b>>>0)%3|0){break h}c=b+2|0}J[a+8>>2]=c}}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=fa-32|0;fa=f;d=J[a+28>>2];J[f+16>>2]=d;g=J[a+20>>2];J[f+28>>2]=c;J[f+24>>2]=b;b=g-d|0;J[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=ba(J[a+60>>2],b|0,2,f+12|0)|0;if(d){J[4004]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=J[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=J[b+4>>2];j=h>>>0>>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;J[d>>2]=h+J[d>>2];b=(j?12:4)+b|0;J[b>>2]=J[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=ba(J[a+60>>2],b|0,i|0,f+12|0)|0;if(e){J[4004]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];a=c;break a}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=J[a>>2]|32;a=0;if((i|0)==2){break a}a=c-J[d+4>>2]|0}fa=f+32|0;return a|0}function Tf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+56>>2]-J[b+52>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=Cj(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}xj(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Uf(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=J[J[a+12>>2]+64>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Uf(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}Ia();C()}function kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=J[c+12>>2];f=h;e=J[c+20>>2];j=J[c+8>>2];g=J[c+16>>2];a:{if((f|0)<=(e|0)&j>>>0<=g>>>0|(e|0)>(f|0)){break a}k=J[c>>2];i=H[k+g|0];d=e;f=g+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;if((i-7&255)>>>0<247){break a}b:{if((i|0)==-2){break b}if((d|0)>=(h|0)&f>>>0>=j>>>0|(d|0)>(h|0)){break a}d=H[f+k|0];g=g+2|0;e=g>>>0<2?e+1|0:e;J[c+16>>2]=g;J[c+20>>2]=e;if((d-4&255)>>>0<251){break a}e=ka[J[J[a>>2]+40>>2]](a,i,d)|0;d=J[a+20>>2];J[a+20>>2]=e;if(!d){break b}ka[J[J[d>>2]+4>>2]](d)}d=J[a+20>>2];if(d){if(!(ka[J[J[a>>2]+28>>2]](a,d)|0)){break a}}if(!(ka[J[J[a>>2]+36>>2]](a,b,c)|0)){break a}c=J[a+4>>2];if(!(!c|K[c+36|0]>1)){if(!(ka[J[J[a>>2]+48>>2]](a,J[b+4>>2]-J[b>>2]>>2)|0)){break a}}l=1}return l|0}function Nf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=Cj(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}xj(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Of(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Of(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}Ia();C()}function Hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=J[b+8>>2];h=J[b+12>>2];c=J[b+20>>2];i=c;e=J[b+16>>2];d=e+4|0;c=d>>>0<4?c+1|0:c;a:{if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}j=J[b>>2];f=e+j|0;f=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[b+16>>2]=d;J[b+20>>2]=c;k=L[b+38>>1];if(k>>>0<=513){c=i;d=e+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>g>>>0&(c|0)>=(h|0)|(c|0)>(h|0)){break a}J[b+16>>2]=d;J[b+20>>2]=c}if(!(f&1)){break a}e=S(f)^31;if(e-1>>>0>28){break a}J[a+8>>2]=e+1;i=-2<>2]=e;J[a+12>>2]=i^-1;J[a+24>>2]=e>>1;N[a+20>>2]=Q(2)/Q(e|0);if(k>>>0<=513){if((c|0)>=(h|0)&d>>>0>=g>>>0|(c|0)>(h|0)){break a}g=K[d+j|0];d=d+1|0;c=d?c:c+1|0;J[b+16>>2]=d;J[b+20>>2]=c;if(g>>>0>1){break a}J[a+72>>2]=g}l=he(a+96|0,b)}return l|0}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=J[b+8>>2];g=J[b+12>>2];c=J[b+20>>2];h=c;i=J[b+16>>2];e=i+4|0;c=e>>>0<4?c+1|0:c;a:{if(e>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}j=J[b>>2];d=i+j|0;d=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=c;c=h;e=i+8|0;c=e>>>0<8?c+1|0:c;if(e>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}J[b+16>>2]=e;J[b+20>>2]=c;if(!(d&1)){break a}d=S(d)^31;if(d-1>>>0>28){break a}J[a+8>>2]=d+1;k=-2<>2]=d;J[a+12>>2]=k^-1;J[a+24>>2]=d>>1;N[a+20>>2]=Q(2)/Q(d|0);if(L[b+38>>1]<=513){if((c|0)>=(g|0)&e>>>0>=f>>>0|(c|0)>(g|0)){break a}c=K[e+j|0];f=i+9|0;h=f>>>0<9?h+1|0:h;J[b+16>>2]=f;J[b+20>>2]=h;if(c>>>0>1){break a}J[a+72>>2]=c}l=he(a+96|0,b)}return l|0}function Wi(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return Vi(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}H[d|0]=K[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;H[d|0]=K[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;J[c+a>>2]=J[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;H[c+a|0]=K[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){J[d>>2]=J[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function nj(a,b,c,d){a:{switch(b-9|0){case 0:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];return;case 6:b=J[c>>2];J[c>>2]=b+4;b=I[b>>1];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 7:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=L[b>>1];J[a+4>>2]=0;return;case 8:b=J[c>>2];J[c>>2]=b+4;b=H[b|0];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 9:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=K[b|0];J[a+4>>2]=0;return;case 16:b=J[c>>2]+7&-8;J[c>>2]=b+8;O[a>>3]=O[b>>3];return;case 17:ka[d|0](a,c);default:return;case 1:case 4:case 14:b=J[c>>2];J[c>>2]=b+4;b=J[b>>2];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];J[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=J[c>>2]+7&-8;J[c>>2]=b+8;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c}function ac(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=J[a+8>>2];c=J[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=Xi(c,0,b)+b|0}J[a+4>>2]=c;return}a:{b:{c:{g=J[a>>2];f=c-g>>2;e=f+b|0;if(e>>>0<1073741824){d=d-g|0;h=d>>>1|0;e=d>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break c}i=Cj(e<<2)}d=(f<<2)+i|0;f=b<<2;b=Xi(d,0,f);f=b+f|0;e=(e<<2)+i|0;if((c|0)==(g|0)){break b}while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;d=d-4|0;J[d>>2]=b;if((c|0)!=(g|0)){continue}break}J[a+8>>2]=e;b=J[a+4>>2];J[a+4>>2]=f;c=J[a>>2];J[a>>2]=d;if((b|0)==(c|0)){break a}while(1){b=b-4|0;a=J[b>>2];J[b>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}if((b|0)!=(c|0)){continue}break}break a}Ia();C()}Va();C()}J[a+8>>2]=e;J[a+4>>2]=f;J[a>>2]=b}if(c){xj(c)}}function Pj(a,b){var c=0,d=0,e=0;c=fa+-64|0;fa=c;d=J[a>>2];e=J[d-4>>2];d=J[d-8>>2];J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;H[c+55|0]=0;H[c+56|0]=0;H[c+57|0]=0;H[c+58|0]=0;H[c+59|0]=0;H[c+60|0]=0;H[c+61|0]=0;H[c+62|0]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+20>>2]=0;J[c+16>>2]=14972;J[c+12>>2]=a;J[c+8>>2]=b;a=a+d|0;d=0;a:{if(Nj(e,b,0)){J[c+56>>2]=1;ka[J[J[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=J[c+32>>2]==1?a:0;break a}ka[J[J[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(J[c+44>>2]){case 0:d=J[c+48>>2]==1?J[c+36>>2]==1?J[c+40>>2]==1?J[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(J[c+32>>2]!=1){if(J[c+48>>2]|J[c+36>>2]!=1|J[c+40>>2]!=1){break a}}d=J[c+24>>2]}fa=c- -64|0;return d}function ge(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;J[a+16>>2]=0;e=J[a>>2];J[a+4>>2]=e;J[a+12>>2]=e;e=J[b+8>>2];c=J[b+12>>2];h=c;d=J[b+20>>2];f=J[b+16>>2];g=f+4|0;d=g>>>0<4?d+1|0:d;a:{if(e>>>0>>0&(d|0)>=(c|0)|(d|0)>(c|0)){break a}c=f+J[b>>2]|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=g;J[b+20>>2]=d;if(!c|c&3){break a}f=h-(d+(e>>>0>>0)|0)|0;if(e-g>>>0>>0&(f|0)<=0|(f|0)<0){break a}if(c>>>0>=4){La(a,c>>>2|0);h=J[b+12>>2];g=J[b+16>>2];d=J[b+20>>2];e=J[b+8>>2]}f=c+g|0;d=f>>>0>>0?d+1|0:d;if(e>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}Vi(J[a>>2],J[b>>2]+g|0,c);d=J[b+20>>2];e=c+J[b+16>>2]|0;d=e>>>0>>0?d+1|0:d;J[b+16>>2]=e;J[b+20>>2]=d;J[a+16>>2]=0;J[a+12>>2]=J[a>>2];i=1}return i}function Gi(a,b){var c=0,d=0,e=0,f=0;d=-1;e=-1;f=-1;a:{b:{if((b|0)==-1){break b}e=J[J[J[a+4>>2]+12>>2]+(b<<2)>>2];c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)>=0){f=(c>>>0)/3|0;f=J[(J[J[a>>2]+96>>2]+P(f,12)|0)+(c-P(f,3)<<2)>>2]}c:{if((e|0)==-1){break c}c=((e>>>0)%3|0?-1:2)+e|0;if((c|0)<0){break c}d=(c>>>0)/3|0;d=J[(J[J[a>>2]+96>>2]+P(d,12)|0)+(c-P(d,3)<<2)>>2]}c=-1;if((d|0)!=(f|0)){break a}f=-1;d:{b=((b>>>0)%3|0?-1:2)+b|0;if((b|0)>=0){d=(b>>>0)/3|0;d=J[(J[J[a>>2]+96>>2]+P(d,12)|0)+(b-P(d,3)<<2)>>2];if((e|0)==-1){break b}break d}d=-1;if((e|0)!=-1){break d}break b}b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;if((b|0)<0){break b}c=J[J[a>>2]+96>>2];a=(b>>>0)/3|0;f=J[(c+P(a,12)|0)+(b-P(a,3)<<2)>>2]}c=(d|0)!=(f|0)?-1:e}return c} function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=Cj(72);J[c+4>>2]=0;J[c+8>>2]=0;J[c>>2]=2032;J[c+12>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c>>2]=2176;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+64>>2]=0;J[c+68>>2]=0;h=c;a:{if((b|0)>=0){g=a+8|0;c=J[a+12>>2];e=J[a+8>>2];f=c-e>>2;b:{if((f|0)>(b|0)){break b}d=b+1|0;if(b>>>0>=f>>>0){ac(g,d-f|0);break b}if(d>>>0>=f>>>0){break b}e=(d<<2)+e|0;if((e|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){ka[J[J[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}J[a+12>>2]=e}a=J[g>>2]+(b<<2)|0;c=J[a>>2];J[a>>2]=h;if(!c){break a}}ka[J[J[c>>2]+4>>2]](c)}return(b^-1)>>>31|0}function Xi(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}H[a|0]=b;d=a+c|0;H[d-1|0]=b;if(c>>>0<3){break a}H[a+2|0]=b;H[a+1|0]=b;H[d-3|0]=b;H[d-2|0]=b;if(c>>>0<7){break a}H[a+3|0]=b;H[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=P(b&255,16843009);J[e>>2]=b;d=c-d&-4;c=d+e|0;J[c-4>>2]=b;if(d>>>0<9){break a}J[e+8>>2]=b;J[e+4>>2]=b;J[c-8>>2]=b;J[c-12>>2]=b;if(d>>>0<25){break a}J[e+24>>2]=b;J[e+20>>2]=b;J[e+16>>2]=b;J[e+12>>2]=b;J[c-16>>2]=b;J[c-20>>2]=b;J[c-24>>2]=b;J[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=nk(b,0,1,1);f=ja;b=e+g|0;while(1){J[b+24>>2]=d;J[b+28>>2]=f;J[b+16>>2]=d;J[b+20>>2]=f;J[b+8>>2]=d;J[b+12>>2]=f;J[b>>2]=d;J[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=J[b+8>>2];e=J[b+12>>2];g=e;e=J[b+20>>2];k=e;h=J[b+16>>2];c=h+4|0;e=c>>>0<4?e+1|0:e;i=c;a:{if(c>>>0>d>>>0&(e|0)>=(g|0)|(e|0)>(g|0)){break a}j=J[b>>2];c=j+h|0;f=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=i;J[b+20>>2]=e;c=d;d=k;e=h+8|0;d=e>>>0<8?d+1|0:d;if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}c=i+j|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[b+16>>2]=e;J[b+20>>2]=d;if((c|0)<(f|0)){break a}J[a+16>>2]=c;J[a+12>>2]=f;d=(c>>31)-((f>>31)+(c>>>0>>0)|0)|0;b=c-f|0;if(!d&b>>>0>2147483646|d){break a}l=1;d=b+1|0;J[a+20>>2]=d;b=d>>>1|0;J[a+24>>2]=b;J[a+28>>2]=0-b;if(d&1){break a}J[a+24>>2]=b-1}return l|0}function Jb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+16|0;d=J[e>>2];a:{if(!d){break a}f=J[b>>2];b=e;while(1){g=(f|0)>J[d+16>>2];b=g?b:d;d=J[(g?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(e|0)|(f|0)>2]){break a}d=J[b+24>>2];if(!d){break a}f=b+20|0;b=K[c+11|0];e=b<<24>>24<0;g=e?J[c>>2]:c;b=e?J[c+4>>2]:b;while(1){e=K[d+27|0];h=e<<24>>24<0;e=h?J[d+20>>2]:e;j=e>>>0>>0;b:{c:{d:{e:{f:{g:{i=j?e:b;if(i){h=h?J[d+16>>2]:d+16|0;k=bj(g,h,i);if(k){break g}if(b>>>0>=e>>>0){break f}break b}if(b>>>0>=e>>>0){break e}break b}if((k|0)<0){break b}}e=bj(h,g,i);if(e){break d}}if(j){break c}return ug(f,c)}if((e|0)<0){break c}return ug(f,c)}d=d+4|0}d=J[d>>2];if(d){continue}break}}return ug(a,c)}function Ji(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=fa-16|0;fa=d;f=J[a+24>>2];k=J[a+28>>2];a:{if((f|0)!=(k|0)){while(1){J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;a=Li(J[f>>2],b,d);g=K[d+11|0];h=g<<24>>24;i=3;b:{c:{d:{if(!a){break d}i=0;a=K[c+11|0];e=a<<24>>24;j=(h|0)<0?J[d+4>>2]:g;if((j|0)!=(((e|0)<0?J[c+4>>2]:a)|0)){break d}a=(e|0)<0?J[c>>2]:c;e=(h|0)<0;e:{if(!e){e=d;if(!h){break e}while(1){if(K[e|0]!=K[a|0]){break d}a=a+1|0;e=e+1|0;g=g-1|0;if(g){continue}break}break e}if(!j){break e}if(bj(e?J[d>>2]:d,a,j)){break c}}l=J[f>>2];i=1}if((h|0)>=0){break b}}xj(J[d>>2])}f:{switch(i|0){case 0:case 3:break f;default:break a}}f=f+4|0;if((k|0)!=(f|0)){continue}break}}l=0}fa=d+16|0;return l}function bb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;h=f>>2;d=J[a+8>>2];e=J[a>>2];if(h>>>0<=d-e>>2>>>0){d=J[a+4>>2];g=d-e|0;f=g+b|0;i=g>>2;g=i>>>0>>0?f:c;if((g|0)!=(b|0)){while(1){J[e>>2]=J[b>>2];e=e+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}if(h>>>0>i>>>0){if((c|0)!=(g|0)){while(1){J[d>>2]=J[f>>2];d=d+4|0;f=f+4|0;if((f|0)!=(c|0)){continue}break}}J[a+4>>2]=d;return}J[a+4>>2]=e;return}if(e){J[a+4>>2]=e;xj(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(d>>>0>=1073741824){break a}e=d<<2;d=Cj(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=Vi(d,c,b)+b|0}J[a+4>>2]=d;return}Ia();C()}function Oe(a,b,c){var d=0,e=0,f=0;e=fa-16|0;fa=e;J[a+4>>2]=0;a:{b:{if(!b){break b}f=J[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){J[a+4>>2]=b;break c}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if((b|0)<0){break a}if(d>>>0<=1073741822){f=f<<6;d=b+31&-32;d=d>>>0>>0?f:d}else{d=2147483647}Jc(e,d);f=J[a>>2];J[a>>2]=J[e>>2];J[e>>2]=f;d=J[a+4>>2];J[a+4>>2]=b;J[e+4>>2]=d;d=J[a+8>>2];J[a+8>>2]=J[e+8>>2];J[e+8>>2]=d;if(!f){break c}xj(f)}d=b>>>5|0;a=J[a>>2];if(K[c|0]){if(b>>>0>=32){Xi(a,255,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]|-1>>>32-(b&31);break b}if(b>>>0>=32){Xi(a,0,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}fa=e+16|0;return}Ia();C()}function Fh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=fa-32|0;fa=e;a:{b:{f=hj(c);if(f>>>0<2147483632){c:{d:{if(f>>>0>=11){a=(f|15)+1|0;g=Cj(a);J[e+24>>2]=a|-2147483648;J[e+16>>2]=g;J[e+20>>2]=f;a=f+g|0;break d}H[e+27|0]=f;g=e+16|0;a=f+g|0;if(!f){break c}}Vi(g,c,f)}H[a|0]=0;c=hj(d);if(c>>>0>=2147483632){break b}e:{f:{if(c>>>0>=11){f=(c|15)+1|0;a=Cj(f);J[e+8>>2]=f|-2147483648;J[e>>2]=a;J[e+4>>2]=c;g=a+c|0;break f}H[e+11|0]=c;g=c+e|0;a=e;if(!c){break e}}Vi(a,d,c)}H[g|0]=0;c=J[b+4>>2];a=-1;g:{if(!c){break g}c=Ji(c,e+16|0,e);a=-1;if(!c){break g}a=Oi(b,J[c+24>>2])}if(H[e+11|0]<0){xj(J[e>>2])}if(H[e+27|0]<0){xj(J[e+16>>2])}fa=e+32|0;break a}eg();C()}eg();C()}return a|0}function Ui(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=J[b>>2];h=J[b+8>>2];i=J[b+4>>2];j=J[b>>2];d=J[a>>2];b=J[d+4>>2];a=J[d+8>>2];if(b>>>0>>0){J[b+8>>2]=h;J[b+4>>2]=i;J[b>>2]=j;J[d+4>>2]=b+12;return}a:{e=J[d>>2];g=(b-e|0)/12|0;c=g+1|0;if(c>>>0<357913942){f=(a-e|0)/12|0;a=f<<1;c=f>>>0>=178956970?357913941:a>>>0>c>>>0?a:c;if(c){if(c>>>0>=357913942){break a}f=Cj(P(c,12))}else{f=0}a=f+P(g,12)|0;J[a+8>>2]=h;J[a+4>>2]=i;J[a>>2]=j;g=a+12|0;if((b|0)!=(e|0)){while(1){a=a-12|0;b=b-12|0;J[a>>2]=J[b>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=J[b+8>>2];if((b|0)!=(e|0)){continue}break}}J[d+8>>2]=f+P(c,12);J[d+4>>2]=g;J[d>>2]=a;if(e){xj(e)}return}Ia();C()}Va();C()}function fc(a,b){a=a|0;b=b|0;a=0;a:{switch(b|0){case 0:a=Cj(20);J[a+12>>2]=-1;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2280;return a|0;case 1:a=Cj(24);J[a+12>>2]=-1;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2280;J[a+20>>2]=0;J[a>>2]=2496;return a|0;case 2:a=Cj(48);J[a+12>>2]=-1;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2280;J[a+20>>2]=0;J[a>>2]=2496;J[a+24>>2]=1880;J[a>>2]=11096;J[a+32>>2]=0;J[a+36>>2]=0;J[a+28>>2]=-1;J[a+40>>2]=0;J[a+44>>2]=0;return a|0;case 3:a=Cj(32);J[a+12>>2]=-1;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2280;J[a+20>>2]=0;J[a>>2]=2496;J[a+24>>2]=1032;J[a>>2]=7076;J[a+28>>2]=-1;break;default:break a}}return a|0}function Xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=J[b>>2];b=J[b+4>>2];d=J[J[a+8>>2]+40>>2];j=d;m=Cj((d|0)<0?-1:d);i=b-f|0;e=1;a:{if((i|0)<4){break a}b=0;g=J[c+16>>2];k=d;f=g+d|0;d=0+J[c+20>>2]|0;d=f>>>0>>0?d+1|0:d;h=J[c+12>>2];e=0;if(M[c+8>>2]>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}e=i>>2;i=(e|0)<=1?1:e;while(1){b:{g=Vi(m,J[c>>2]+g|0,j);J[c+16>>2]=f;J[c+20>>2]=d;Vi(J[J[J[a+8>>2]+64>>2]>>2]+b|0,g,j);l=l+1|0;if((i|0)==(l|0)){break b}b=b+j|0;d=n+J[c+20>>2]|0;g=J[c+16>>2];f=k+g|0;d=f>>>0>>0?d+1|0:d;h=J[c+12>>2];if((d|0)<=(h|0)&M[c+8>>2]>=f>>>0|(d|0)<(h|0)){continue}}break}e=(e|0)<=(l|0)}xj(m);return e|0}function Ma(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;J[b>>2]=1;f=b+8|0;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){pg(f,d+4|0);c=J[f>>2]}c=c+d|0;d=J[a+4>>2];H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=J[a+8>>2];if((c|0)!=J[a+12>>2]){d=0;while(1){g=(d<<2)+c|0;c=J[b+8>>2];e=J[b+12>>2]-c|0;if(e>>>0<=4294967291){pg(f,e+4|0);c=J[f>>2]}c=c+e|0;e=J[g>>2];H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;d=d+1|0;c=J[a+8>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}c=J[b+12>>2];b=J[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){pg(f,c+4|0);b=J[f>>2]}b=b+c|0;a=J[a+20>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function Nb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;g=f>>2;d=J[a+8>>2];e=J[a>>2];if(g>>>0<=d-e>>2>>>0){f=J[a+4>>2]-e|0;d=f+b|0;h=f>>2;f=h>>>0>>0?d:c;i=f-b|0;if((b|0)!=(f|0)){Wi(e,b,i)}if(g>>>0>h>>>0){b=J[a+4>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}}J[a+4>>2]=b;return}J[a+4>>2]=e+i;return}if(e){J[a+4>>2]=e;xj(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(d>>>0>=1073741824){break a}e=d<<2;d=Cj(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=Vi(d,c,b)+b|0}J[a+4>>2]=d;return}Ia();C()}function Xf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=J[a+4>>2];if((c|0)!=J[a+8>>2]){e=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=e;J[c+8>>2]=J[b+8>>2];J[a+4>>2]=c+12;return}a:{g=J[a>>2];d=(c-g|0)/12|0;e=d+1|0;if(e>>>0<357913942){f=d<<1;f=d>>>0>=178956970?357913941:e>>>0>>0?f:e;if(f){if(f>>>0>=357913942){break a}e=Cj(P(f,12))}else{e=0}d=e+P(d,12)|0;h=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=h;J[d+8>>2]=J[b+8>>2];b=d+12|0;if((c|0)!=(g|0)){while(1){c=c-12|0;h=J[c+4>>2];d=d-12|0;J[d>>2]=J[c>>2];J[d+4>>2]=h;J[d+8>>2]=J[c+8>>2];if((c|0)!=(g|0)){continue}break}c=J[a>>2]}J[a+8>>2]=e+P(f,12);J[a+4>>2]=b;J[a>>2]=d;if(c){xj(c)}return}Ia();C()}Va();C()}function Od(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=fa-32|0;fa=f;g=e>>>0>1073741823?-1:e<<2;l=Xi(Cj(g),0,g);g=l;i=J[g>>2];g=J[g+4>>2];k=J[b+4>>2];J[f+24>>2]=J[b>>2];J[f+28>>2]=k;J[f+8>>2]=i;J[f+12>>2]=g;i=a+8|0;Jd(f+16|0,i,f+8|0,f+24|0);J[c>>2]=J[f+16>>2];J[c+4>>2]=J[f+20>>2];if((d|0)>(e|0)){k=0-e<<2;a=e;while(1){h=a<<2;g=h+c|0;j=g+k|0;m=J[j>>2];j=J[j+4>>2];h=b+h|0;n=J[h+4>>2];J[f+24>>2]=J[h>>2];J[f+28>>2]=n;J[f+8>>2]=m;J[f+12>>2]=j;Jd(f+16|0,i,f+8|0,f+24|0);J[g>>2]=J[f+16>>2];J[g+4>>2]=J[f+20>>2];a=a+e|0;if((d|0)>(a|0)){continue}break}}xj(l);fa=f+32|0;return 1}function Yd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=fa-32|0;fa=f;h=e>>>0>1073741823?-1:e<<2;h=Xi(Cj(h),0,h);g=J[b>>2];i=J[b+4>>2];k=J[h+4>>2];J[f+16>>2]=J[h>>2];J[f+20>>2]=k;J[f+8>>2]=g;J[f+12>>2]=i;i=a+8|0;Td(f+24|0,i,f+16|0,f+8|0);J[c>>2]=J[f+24>>2];J[c+4>>2]=J[f+28>>2];if((d|0)>(e|0)){k=0-e<<2;a=e;while(1){g=a<<2;j=g+b|0;m=J[j>>2];j=J[j+4>>2];g=c+g|0;l=g+k|0;n=J[l+4>>2];J[f+16>>2]=J[l>>2];J[f+20>>2]=n;J[f+8>>2]=m;J[f+12>>2]=j;Td(f+24|0,i,f+16|0,f+8|0);J[g>>2]=J[f+24>>2];J[g+4>>2]=J[f+28>>2];a=a+e|0;if((d|0)>(a|0)){continue}break}}xj(h);fa=f+32|0;return 1}function Mh(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;a:{if(M[b+80>>2]>65535){break a}a=J[b+100>>2];b=J[b+96>>2];e=(a-b|0)/12|0;f=P(e,6);g=(f|0)==(c|0);if((a|0)==(b|0)|(c|0)!=(f|0)){break a}g=1;c=e>>>0<=1?1:e;i=c&1;a=0;if(e>>>0>=2){j=c&-2;c=0;while(1){f=P(a,6);h=f+d|0;e=b+P(a,12)|0;I[h>>1]=J[e>>2];I[(f|2)+d>>1]=J[e+4>>2];I[h+4>>1]=J[e+8>>2];f=a|1;e=P(f,6)+d|0;f=b+P(f,12)|0;I[e>>1]=J[f>>2];I[e+2>>1]=J[f+4>>2];I[e+4>>1]=J[f+8>>2];a=a+2|0;c=c+2|0;if((j|0)!=(c|0)){continue}break}}if(!i){break a}c=P(a,6)+d|0;a=b+P(a,12)|0;I[c>>1]=J[a>>2];I[c+2>>1]=J[a+4>>2];I[c+4>>1]=J[a+8>>2]}return g|0}function Fj(a,b,c,d,e,f,g){var h=0,i=0,j=0;h=fa-16|0;fa=h;if((b^-1)+2147483631>>>0>=c>>>0){if(K[a+11|0]>>>7|0){i=J[a>>2]}else{i=a}if(b>>>0<1073741799){J[h+12>>2]=b<<1;J[h>>2]=b+c;c=fa-16|0;fa=c;fa=c+16|0;c=h+12|0;c=J[(M[h>>2]>2]?c:h)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}Aj(h,c);c=J[h>>2];if(f){zj(c,g,f)}g=d-e|0;if((d|0)!=(e|0)){zj(c+f|0,e+i|0,g)}if((b|0)!=10){xj(i)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[h+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;b=a;a=f+g|0;J[b+4>>2]=a;H[h+12|0]=0;H[a+c|0]=K[h+12|0];fa=h+16|0;return}eg();C()}function vh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a=fa-32|0;fa=a;J[a+24>>2]=0;J[a+28>>2]=0;a:{d=hj(c);if(d>>>0<2147483632){b:{c:{if(d>>>0>=11){e=(d|15)+1|0;f=Cj(e);J[a+16>>2]=e|-2147483648;J[a+8>>2]=f;J[a+12>>2]=d;e=d+f|0;break c}H[a+19|0]=d;f=a+8|0;e=f+d|0;if(!d){break b}}Vi(f,c,d)}H[e|0]=0;c=b+4|0;b=tg(b,a+8|0);d:{if((c|0)==(b|0)){break d}c=J[b+32>>2];b=J[b+28>>2];if((c-b|0)!=8){break d}c=K[b+4|0]|K[b+5|0]<<8|(K[b+6|0]<<16|K[b+7|0]<<24);J[a+24>>2]=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[a+28>>2]=c}g=O[a+24>>3];if(H[a+19|0]<0){xj(J[a+8>>2])}fa=a+32|0;break a}eg();C()}return+g}function Wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=1;a:{if((ka[J[J[b>>2]+20>>2]](b)|0)<=0){break a}while(1){f=0;c=Ni(J[J[a+4>>2]+4>>2],ka[J[J[b>>2]+24>>2]](b,g)|0);if((c|0)==-1){break a}e=J[a+4>>2];b:{if(K[e+36|0]<=1){if(ka[J[J[b>>2]+28>>2]](b,J[J[J[e+4>>2]+8>>2]+(c<<2)>>2])|0){break b}break a}d=0;c:{if((c|0)<0){break c}h=J[e+4>>2];if(J[h+12>>2]-J[h+8>>2]>>2<=(c|0)){break c}d=J[J[e+8>>2]+(J[J[e+20>>2]+(c<<2)>>2]<<2)>>2];d=ka[J[J[d>>2]+32>>2]](d,c)|0}if(!d){break a}if(!(ka[J[J[b>>2]+28>>2]](b,d)|0)){break a}}f=1;g=g+1|0;if((ka[J[J[b>>2]+20>>2]](b)|0)>(g|0)){continue}break}}return f|0}function Hb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{b:{if(b){if(b>>>0>=357913942){break b}b=P(b,12);d=Cj(b);J[a+4>>2]=d;J[a>>2]=d;e=b+d|0;J[a+8>>2]=e;f=J[c+4>>2];g=J[c>>2];c:{if((f|0)==(g|0)){b=b-12|0;Xi(d,0,(b-((b>>>0)%12|0)|0)+12|0);break c}h=f-g|0;if((h|0)<0){break a}i=h&-4;while(1){J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;b=Cj(h);J[d>>2]=b;J[d+8>>2]=b+i;c=g;while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}J[d+4>>2]=b;d=d+12|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e}return}Ia();C()}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;Ia();C()}function Kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=J[b+8>>2];d=J[b+12>>2];g=d;d=J[b+20>>2];i=d;h=J[b+16>>2];f=h+4|0;d=f>>>0<4?d+1|0:d;a:{if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}e=h+J[b>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=d;if(L[b+38>>1]<=513){f=c;c=i;d=h+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}J[b+16>>2]=d;J[b+20>>2]=c}if(!(e&1)){break a}b=S(e)^31;if(b-1>>>0>28){break a}j=1;J[a+8>>2]=b+1;b=-2<>2]=c;J[a+12>>2]=b^-1;J[a+24>>2]=c>>1;N[a+20>>2]=Q(2)/Q(c|0)}return j|0}function vi(a,b,c){var d=0,e=0,f=0,g=0;a:{f=b>>>0<1431655766&(b|c)>=0;b:{if(!f){break b}b=P(b,3);wi(a,b,13696);wi(a+12|0,b,13700);d=J[a+24>>2];c:{if(J[a+32>>2]-d>>2>>>0>=c>>>0){break c}if(c>>>0>=1073741824){break a}b=J[a+28>>2];e=c<<2;c=Cj(e);e=c+e|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[a+32>>2]=e;J[a+28>>2]=g;J[a+24>>2]=c;if(!d){break c}xj(d)}J[a+80>>2]=0;J[a+84>>2]=0;b=J[a+76>>2];J[a+76>>2]=0;if(b){xj(b)}J[a+68>>2]=0;J[a+72>>2]=0;b=a- -64|0;a=J[b>>2];J[b>>2]=0;if(!a){break b}xj(a)}return f}Ia();C()}function cf(a){var b=0,c=0,d=0,e=0,f=0;f=1;c=J[a+140>>2];a:{if((c|0)<=0){break a}b=c<<4;d=Cj(c>>>0>268435455?-1:b|4);J[d>>2]=c;d=d+4|0;c=d+b|0;b=d;while(1){J[b>>2]=0;J[b+4>>2]=0;H[b+5|0]=0;H[b+6|0]=0;H[b+7|0]=0;H[b+8|0]=0;H[b+9|0]=0;H[b+10|0]=0;H[b+11|0]=0;H[b+12|0]=0;b=b+16|0;if((c|0)!=(b|0)){continue}break}e=J[a+136>>2];J[a+136>>2]=d;if(e){c=e-4|0;d=J[c>>2];if(d){b=(d<<4)+e|0;while(1){b=b-16|0;if((e|0)!=(b|0)){continue}break}}xj(c)}b=0;if(J[a+140>>2]<=0){break a}while(1){f=he(J[a+136>>2]+(b<<4)|0,a);if(!f){break a}b=b+1|0;if((b|0)>2]){continue}break}}return f}function $a(a,b){var c=0,d=0,e=0,f=0,g=0;a:{if(J[a+64>>2]){break a}c=Cj(32);J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;d=J[a+64>>2];J[a+64>>2]=c;if(!d){break a}c=J[d>>2];if(c){J[d+4>>2]=c;xj(c)}xj(d)}d=J[a+64>>2];c=J[a+28>>2]-1|0;if(c>>>0<=10){c=J[(c<<2)+13632>>2]}else{c=-1}c=P(c,K[a+24|0]);f=c>>31;g=og(d,0,nk(c,f,b,0),ja);if(g){d=J[a+64>>2];J[a>>2]=d;e=J[d+20>>2];J[a+8>>2]=J[d+16>>2];J[a+12>>2]=e;e=J[d+24>>2];d=J[d+28>>2];J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=c;J[a+44>>2]=f;J[a+16>>2]=e;J[a+20>>2]=d;J[a+80>>2]=b}return g}function _a(a,b){var c=0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+60>>2];J[a+56>>2]=J[b+56>>2];J[a+60>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+36>>2];J[a+32>>2]=J[b+32>>2];J[a+36>>2]=c;c=J[b+28>>2];J[a+24>>2]=J[b+24>>2];J[a+28>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;J[a+88>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a}function Nh(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;a=J[b+100>>2];b=J[b+96>>2];h=a-b|0;a:{if((h|0)!=(c|0)|(a|0)==(b|0)){break a}g=(c|0)/12|0;e=g>>>0<=1?1:g;j=e&1;a=0;if(g>>>0>=2){k=e&-2;g=0;while(1){e=P(a,12);i=e+d|0;f=b+e|0;J[i>>2]=J[f>>2];J[(e|4)+d>>2]=J[f+4>>2];J[i+8>>2]=J[f+8>>2];f=P(a|1,12);e=f+d|0;f=b+f|0;J[e>>2]=J[f>>2];J[e+4>>2]=J[f+4>>2];J[e+8>>2]=J[f+8>>2];a=a+2|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}}if(!j){break a}e=d;d=P(a,12);a=e+d|0;b=b+d|0;J[a>>2]=J[b>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=J[b+8>>2]}return(c|0)==(h|0)|0}function Ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=J[b+8>>2];d=J[b+12>>2];g=d;d=J[b+20>>2];i=d;h=J[b+16>>2];f=h+4|0;d=f>>>0<4?d+1|0:d;a:{if(c>>>0>>0&(d|0)>=(g|0)|(d|0)>(g|0)){break a}e=h+J[b>>2]|0;e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[b+16>>2]=f;J[b+20>>2]=d;f=c;c=i;d=h+8|0;c=d>>>0<8?c+1|0:c;if(d>>>0>f>>>0&(c|0)>=(g|0)|(c|0)>(g|0)){break a}J[b+16>>2]=d;J[b+20>>2]=c;if(!(e&1)){break a}b=S(e)^31;if(b-1>>>0>28){break a}j=1;J[a+8>>2]=b+1;b=-2<>2]=c;J[a+12>>2]=b^-1;J[a+24>>2]=c>>1;N[a+20>>2]=Q(2)/Q(c|0)}return j|0}function tg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;a=J[a+4>>2];a:{b:{if(!a){break b}d=K[b+11|0];c=d<<24>>24<0;g=c?J[b>>2]:b;d=c?J[b+4>>2]:d;b=f;while(1){e=K[a+27|0];c=e<<24>>24<0;e=c?J[a+20>>2]:e;h=e>>>0>d>>>0;i=h?d:e;c:{if(i){c=bj(c?J[a+16>>2]:a+16|0,g,i);if(c){break c}}c=d>>>0>e>>>0?-1:h}c=(c|0)<0;b=c?b:a;a=J[(c?a+4|0:a)>>2];if(a){continue}break}if((b|0)==(f|0)){break b}c=K[b+27|0];a=c<<24>>24<0;d:{c=a?J[b+20>>2]:c;e=c>>>0>>0?c:d;if(e){a=bj(g,a?J[b+16>>2]:b+16|0,e);if(a){break d}}if(c>>>0>d>>>0){break b}break a}if((a|0)>=0){break a}}b=f}return b}function jj(a,b,c,d,e){var f=0,g=0,h=0;f=fa-208|0;fa=f;J[f+204>>2]=c;c=f+160|0;Xi(c,0,40);J[f+200>>2]=J[f+204>>2];a:{if((kj(0,b,f+200|0,f+80|0,c,d,e)|0)<0){break a}h=J[a+76>>2]>=0;c=J[a>>2];if(J[a+72>>2]<=0){J[a>>2]=c&-33}b:{c:{d:{if(!J[a+48>>2]){J[a+48>>2]=80;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;g=J[a+44>>2];J[a+44>>2]=f;break d}if(J[a+16>>2]){break c}}if(_i(a)){break b}}kj(a,b,f+200|0,f+80|0,f+160|0,d,e)}if(g){ka[J[a+36>>2]](a,0,0)|0;J[a+48>>2]=0;J[a+44>>2]=g;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0}J[a>>2]=J[a>>2]|c&32;if(!h){break a}}fa=f+208|0}function Uj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Nj(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(Nj(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;b:{if(J[b+44>>2]==4){break b}I[b+52>>1]=0;a=J[a+8>>2];ka[J[J[a>>2]+20>>2]](a,b,c,c,1,e);if(K[b+53|0]){J[b+44>>2]=3;if(!K[b+52|0]){break b}break a}J[b+44>>2]=4}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}a=J[a+8>>2];ka[J[J[a>>2]+24>>2]](a,b,c,d,e)}}function rg(a,b,c){var d=0,e=0,f=0,g=0;a:{b:{if(!b){break b}if(L[a+38>>1]<=513){f=J[a+12>>2];d=J[a+20>>2];b=J[a+16>>2];g=b+8|0;d=g>>>0<8?d+1|0:d;e=0;if(M[a+8>>2]>>0&(d|0)>=(f|0)|(d|0)>(f|0)){break a}b=b+J[a>>2]|0;d=K[b+4|0]|K[b+5|0]<<8|(K[b+6|0]<<16|K[b+7|0]<<24);J[c>>2]=K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24);J[c+4>>2]=d;b=J[a+20>>2];c=J[a+16>>2]+8|0;b=c>>>0<8?b+1|0:b;J[a+16>>2]=c;J[a+20>>2]=b;break b}e=0;if(!sg(1,c,a)){break a}}H[a+36|0]=1;J[a+32>>2]=0;b=J[a+16>>2];c=b+J[a>>2]|0;J[a+24>>2]=c;J[a+28>>2]=(J[a+8>>2]-b|0)+c;e=1}return e}function Yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=Cj(64);c=Cj(12);J[c+8>>2]=J[J[a+4>>2]+80>>2];J[c>>2]=13264;J[c+4>>2]=0;f=_b(f,c);a:{b:{if((b|0)<0){c=f;break b}h=a+8|0;c=J[a+12>>2];e=J[a+8>>2];g=c-e>>2;c:{if((g|0)>(b|0)){break c}d=b+1|0;if(b>>>0>=g>>>0){ac(h,d-g|0);break c}if(d>>>0>=g>>>0){break c}e=e+(d<<2)|0;if((e|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){ka[J[J[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}J[a+12>>2]=e}a=J[h>>2]+(b<<2)|0;c=J[a>>2];J[a>>2]=f;if(!c){break a}}ka[J[J[c>>2]+4>>2]](c)}return(b^-1)>>>31|0}function bc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=J[a+60>>2];a:{if(!c){break a}J[c+4>>2]=a+48;if(!(ka[J[J[c>>2]+12>>2]](c)|0)){break a}b:{c=ka[J[J[a>>2]+24>>2]](a)|0;if((c|0)<=0){break b}while(1){c:{f=J[(ka[J[J[a>>2]+28>>2]](a)|0)+4>>2];g=ka[J[J[a>>2]+20>>2]](a,d)|0;e=J[a+60>>2];if(!(ka[J[J[e>>2]+8>>2]](e,J[J[f+8>>2]+(g<<2)>>2])|0)){break c}d=d+1|0;if((c|0)!=(d|0)){continue}break b}break}return 0}d=0;if(!(ka[J[J[a>>2]+36>>2]](a,b)|0)){break a}if(!(ka[J[J[a>>2]+40>>2]](a,b)|0)){break a}d=ka[J[J[a>>2]+44>>2]](a)|0}return d|0}function Je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+216>>2];if((c|0)!=J[a+220>>2]){while(1){a:{c=J[P(e,144)+c>>2];if((c|0)<0){break a}d=J[a+4>>2];f=J[d+8>>2];if((c|0)>=J[d+12>>2]-f>>2){break a}d=0;c=J[(c<<2)+f>>2];if((ka[J[J[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if((ka[J[J[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((ka[J[J[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}a=J[a+216>>2]+P(e,144)|0;return(K[a+100|0]?a+4|0:0)|0}e=e+1|0;c=J[a+216>>2];if(e>>>0<(J[a+220>>2]-c|0)/144>>>0){continue}break}}return 0}function sb(a){var b=0,c=0,d=0,e=0;c=J[a+132>>2];if(c){d=c;b=J[a+136>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+132>>2]}J[a+136>>2]=c;xj(d)}c=J[a+120>>2];if(c){d=c;b=J[a+124>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+120>>2]}J[a+124>>2]=c;xj(d)}b=J[a+108>>2];if(b){J[a+112>>2]=b;xj(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}fe(a+76|0);fe(a+56|0);fe(a+36|0);fe(a+16|0)}function Kb(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2176;d=J[a+60>>2];if(d){b=d;c=J[a- -64>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){pb(b)}if((c|0)!=(d|0)){continue}break}b=J[a+60>>2]}J[a+64>>2]=d;xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}d=J[a+36>>2];if(d){b=d;c=J[a+40>>2];if((b|0)!=(c|0)){while(1){c=c-24|0;ka[J[J[c>>2]>>2]](c)|0;if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;xj(b)}J[a>>2]=2032;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;xj(b)}return a|0}function ag(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=J[a+8>>2];d=J[a+4>>2];if(c-d>>2>>>0>=b>>>0){if(b){b=b<<2;d=Xi(d,0,b)+b|0}J[a+4>>2]=d;return}a:{f=J[a>>2];g=d-f>>2;e=g+b|0;if(e>>>0<1073741824){c=c-f|0;h=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break a}i=Cj(e<<2)}c=(g<<2)+i|0;b=b<<2;b=Xi(c,0,b)+b|0;if((d|0)!=(f|0)){while(1){c=c-4|0;d=d-4|0;J[c>>2]=J[d>>2];if((d|0)!=(f|0)){continue}break}}J[a+8>>2]=(e<<2)+i;J[a+4>>2]=b;J[a>>2]=c;if(f){xj(f)}return}Ia();C()}Va();C()}function Ub(a){var b=0,c=0,d=0,e=0,f=0;d=J[a+8>>2];a:{if(K[d+84|0]){break a}b=J[a+16>>2];if(!b|!K[b+84|0]){break a}c=J[d+72>>2];e=J[d+68>>2];H[b+84|0]=0;c=c-e>>2;f=J[b+68>>2];e=J[b+72>>2]-f>>2;b:{if(c>>>0>e>>>0){Vb(b+68|0,c-e|0,2364);d=J[a+8>>2];break b}if(c>>>0>=e>>>0){break b}J[b+72>>2]=f+(c<<2)}if(K[d+84|0]){break a}c=J[d+68>>2];if((c|0)==J[d+72>>2]){break a}e=J[J[a+16>>2]+68>>2];b=0;while(1){f=b<<2;J[f+e>>2]=J[c+f>>2];b=b+1|0;c=J[d+68>>2];if(b>>>0>2]-c>>2>>>0){continue}break}}return J[a+16>>2]}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;a=fa-32|0;fa=a;a:{d=hj(c);if(d>>>0<2147483632){b:{c:{if(d>>>0>=11){e=(d|15)+1|0;f=Cj(e);J[a+24>>2]=e|-2147483648;J[a+16>>2]=f;J[a+20>>2]=d;e=d+f|0;break c}H[a+27|0]=d;f=a+16|0;e=f+d|0;if(!d){break b}}Vi(f,c,d)}H[e|0]=0;H[a+4|0]=0;J[a>>2]=1701667182;H[a+11|0]=4;d=J[b+4>>2];c=-1;d:{if(!d){break d}d=Ji(d,a,a+16|0);c=-1;if(!d){break d}c=Oi(b,J[d+24>>2])}b=c;if(H[a+11|0]<0){xj(J[a>>2])}if(H[a+27|0]<0){xj(J[a+16>>2])}fa=a+32|0;break a}eg();C()}return b|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=fa+-64|0;fa=e;f=qg(e+8|0);J[f+16>>2]=0;J[f+20>>2]=0;J[f>>2]=b;J[f+8>>2]=c;J[f+12>>2]=0;b=e+48|0;me(b,a,f,d);J[a+24>>2]=J[e+48>>2];f=a+24|0;a:{if((f|0)==(b|0)){break a}b=a+28|0;c=e+48|4;g=K[e+63|0];d=g<<24>>24;if(H[a+39|0]>=0){if((d|0)>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break a}Ij(b,J[e+52>>2],J[e+56>>2]);break a}a=(d|0)<0;Hj(b,a?J[e+52>>2]:c,a?J[e+56>>2]:g)}if(H[e+63|0]<0){xj(J[e+52>>2])}fa=e- -64|0;return f|0}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=fa+-64|0;fa=e;f=qg(e+8|0);J[f+16>>2]=0;J[f+20>>2]=0;J[f>>2]=b;J[f+8>>2]=c;J[f+12>>2]=0;b=e+48|0;le(b,a,f,d);J[a+24>>2]=J[e+48>>2];f=a+24|0;a:{if((f|0)==(b|0)){break a}b=a+28|0;c=e+48|4;g=K[e+63|0];d=g<<24>>24;if(H[a+39|0]>=0){if((d|0)>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break a}Ij(b,J[e+52>>2],J[e+56>>2]);break a}a=(d|0)<0;Hj(b,a?J[e+52>>2]:c,a?J[e+56>>2]:g)}if(H[e+63|0]<0){xj(J[e+52>>2])}fa=e- -64|0;return f|0}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+216>>2];if((c|0)!=J[a+220>>2]){while(1){a:{c=J[P(e,144)+c>>2];if((c|0)<0){break a}d=J[a+4>>2];f=J[d+8>>2];if((c|0)>=J[d+12>>2]-f>>2){break a}d=0;c=J[(c<<2)+f>>2];if((ka[J[J[c>>2]+24>>2]](c)|0)<=0){break a}while(1){if((ka[J[J[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((ka[J[J[c>>2]+24>>2]](c)|0)>(d|0)){continue}break a}break}return(J[a+216>>2]+P(e,144)|0)+104|0}e=e+1|0;c=J[a+216>>2];if(e>>>0<(J[a+220>>2]-c|0)/144>>>0){continue}break}}return a+184|0}function Ab(a){var b=0,c=0,d=0,e=0;c=J[a+640>>2];if(c){d=c;b=J[a+644>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+640>>2]}J[a+644>>2]=c;xj(d)}c=J[a+628>>2];if(c){d=c;b=J[a+632>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+628>>2]}J[a+632>>2]=c;xj(d)}b=J[a+616>>2];if(b){J[a+620>>2]=b;xj(b)}b=J[a+604>>2];if(b){J[a+608>>2]=b;xj(b)}fe(a+584|0);fe(a+564|0);fe(a+544|0)}function th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=fa-16|0;fa=d;J[d+12>>2]=0;a:{e=hj(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){f=(e|15)+1|0;a=Cj(f);J[d+8>>2]=f|-2147483648;J[d>>2]=a;J[d+4>>2]=e;f=a+e|0;break c}H[d+11|0]=e;f=d+e|0;a=d;if(!e){break b}}Vi(a,c,e)}H[f|0]=0;a=tg(b,d);d:{if((a|0)==(b+4|0)){break d}b=J[a+32>>2];a=J[a+28>>2];if((b-a|0)!=4){break d}J[d+12>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24)}a=J[d+12>>2];if(H[d+11|0]<0){xj(J[d>>2])}fa=d+16|0;break a}eg();C()}return a|0}function wb(a){var b=0,c=0,d=0,e=0;c=J[a+128>>2];if(c){d=c;b=J[a+132>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+128>>2]}J[a+132>>2]=c;xj(d)}c=J[a+116>>2];if(c){d=c;b=J[a+120>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;xj(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+116>>2]}J[a+120>>2]=c;xj(d)}b=J[a+104>>2];if(b){J[a+108>>2]=b;xj(b)}b=J[a+92>>2];if(b){J[a+96>>2]=b;xj(b)}fe(a+72|0);fe(a+52|0);fe(a+32|0)}function yj(a){a=a|0;var b=0,c=0,d=0;if(!a){if(J[3972]){b=yj(J[3972])}if(J[3934]){b=yj(J[3934])|b}a=J[4006];if(a){while(1){if(J[a+20>>2]!=J[a+28>>2]){b=yj(a)|b}a=J[a+56>>2];if(a){continue}break}}return b|0}d=J[a+76>>2]>=0;a:{b:{if(J[a+20>>2]==J[a+28>>2]){break b}ka[J[a+36>>2]](a,0,0)|0;if(J[a+20>>2]){break b}b=-1;break a}b=J[a+8>>2];c=J[a+4>>2];if((b|0)!=(c|0)){b=c-b|0;ka[J[a+40>>2]](a,b,b>>31,1)|0}b=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;if(!d){break a}}return b|0}function pg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=J[a+4>>2];e=J[a>>2];d=c-e|0;b:{if(d>>>0>>0){g=b-d|0;f=J[a+8>>2];if(g>>>0<=f-c>>>0){h=a,i=Xi(c,0,g)+g|0,J[h+4>>2]=i;break b}if((b|0)<0){break a}c=f-e|0;f=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0>>0?f:b;f=Cj(c);Xi(f+d|0,0,g);d=Wi(f,e,d);J[a+8>>2]=d+c;J[a+4>>2]=b+d;J[a>>2]=d;if(!e){break b}xj(e);break b}if(b>>>0>=d>>>0){break b}J[a+4>>2]=b+e}b=J[a+28>>2];c=b;d=b+1|0;b=J[a+24>>2]+1|0;e=b?c:d;J[a+24>>2]=b;J[a+28>>2]=e;return}Ia();C()}function df(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=J[a+4>>2];if((e|0)!=J[a+8>>2]){J[e>>2]=J[b>>2];J[a+4>>2]=e+4;return}a:{g=J[a>>2];f=e-g|0;c=f>>2;d=c+1|0;if(d>>>0<1073741824){h=c<<2;c=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>d>>>0?c:d;if(c){if(c>>>0>=1073741824){break a}f=Cj(c<<2)}else{f=0}d=h+f|0;J[d>>2]=J[b>>2];b=d+4|0;if((e|0)!=(g|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(g|0)){continue}break}}J[a+8>>2]=f+(c<<2);J[a+4>>2]=b;J[a>>2]=d;if(g){xj(g)}return}Ia();C()}Va();C()}function hf(a){J[a>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;H[a+28|0]=1;J[a+20>>2]=0;J[a+24>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+72>>2]=a+4;J[a+104>>2]=0;J[a+108>>2]=0;H[a+100|0]=1;J[a+112>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0}function sj(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!J[J[4308]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){H[a+1|0]=b&63|128;H[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){H[a+2|0]=b&63|128;H[a|0]=b>>>12|224;H[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){H[a+3|0]=b&63|128;H[a|0]=b>>>18|240;H[a+2|0]=b>>>6&63|128;H[a+1|0]=b>>>12&63|128;a=4;break a}}J[4004]=25;a=-1}else{a=1}break a}H[a|0]=b;a=1}return a}function Mj(){var a=0,b=0;a=fa-16|0;fa=a;b=J[3455];aj(1686,11,b);J[a+12>>2]=0;jj(b,1656,0,377,378);a=J[b+76>>2];a:{if(!((a|0)>=0&(!a|J[4290]!=(a&-1073741825)))){b:{if(J[b+80>>2]==10){break b}a=J[b+20>>2];if((a|0)==J[b+16>>2]){break b}J[b+20>>2]=a+1;H[a|0]=10;break a}Ej(b);break a}a=J[b+76>>2];J[b+76>>2]=a?a:1073741823;c:{d:{if(J[b+80>>2]==10){break d}a=J[b+20>>2];if((a|0)==J[b+16>>2]){break d}J[b+20>>2]=a+1;H[a|0]=10;break c}Ej(b)}J[b+76>>2]=0}ca();C()}function $e(a,b){var c=0,d=0,e=0,f=0;d=J[a+12>>2];c=J[a+16>>2]-d>>2;a:{if(c>>>0>>0){La(a+12|0,b-c|0);break a}if(b>>>0>=c>>>0){break a}J[a+16>>2]=d+(b<<2)}b:{c=J[a>>2];c:{if(J[a+8>>2]-c>>2>>>0>=b>>>0){break c}if(b>>>0>=1073741824){break b}d=J[a+4>>2];e=b<<2;b=Cj(e);e=b+e|0;f=b+(d-c&-4)|0;b=f;if((c|0)!=(d|0)){while(1){b=b-4|0;d=d-4|0;J[b>>2]=J[d>>2];if((c|0)!=(d|0)){continue}break}}J[a+8>>2]=e;J[a+4>>2]=f;J[a>>2]=b;if(!c){break c}xj(c)}return}Ia();C()}function yi(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=13772;b=J[a+68>>2];if(b){J[a+72>>2]=b;xj(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}b=J[a+44>>2];if(b){J[a+48>>2]=b;xj(b)}b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}b=J[a+8>>2];if(b){d=b;c=J[a+12>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){pb(d)}if((b|0)!=(c|0)){continue}break}d=J[a+8>>2]}J[a+12>>2]=b;xj(d)}b=J[a+4>>2];J[a+4>>2]=0;if(b){fg(b)}return a|0}function zj(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=fa-16|0;fa=f;d=fa-32|0;fa=d;e=fa-16|0;fa=e;J[e+12>>2]=b;J[e+8>>2]=b+c;J[d+24>>2]=J[e+12>>2];J[d+28>>2]=J[e+8>>2];fa=e+16|0;c=fa-16|0;fa=c;h=J[d+28>>2];e=J[d+24>>2];g=h-e|0;if((e|0)!=(h|0)){Wi(a,e,g)}J[c+12>>2]=e+g;J[c+8>>2]=a+g;J[d+16>>2]=J[c+12>>2];J[d+20>>2]=J[c+8>>2];fa=c+16|0;J[d+12>>2]=(J[d+16>>2]-b|0)+b;J[d+8>>2]=(J[d+20>>2]-a|0)+a;J[f+8>>2]=J[d+12>>2];J[f+12>>2]=J[d+8>>2];fa=d+32|0;fa=f+16|0}function ug(a,b){var c=0,d=0,e=0,f=0;c=a+4|0;a=tg(a,b);a:{if((c|0)==(a|0)){break a}b=a+28|0;b=H[a+39|0]<0?J[b>>2]:b;while(1){a=b;b=a+1|0;c=H[a|0];if((c|0)==32|c-9>>>0<5){continue}break}b:{c:{d:{c=H[a|0];switch(c-43|0){case 0:break c;case 2:break d;default:break b}}e=1}c=H[b|0];a=b}if(c-48>>>0<10){while(1){d=(P(d,10)-H[a|0]|0)+48|0;b=H[a+1|0];a=a+1|0;if(b-48>>>0<10){continue}break}}a=e?d:0-d|0;if((a|0)==-1){break a}f=(a|0)!=0}return f}function La(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=Xi(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>2;d=h+b|0;if(d>>>0<1073741824){e=e-c|0;f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}i=Cj(d<<2)}b=b<<2;e=Xi((h<<2)+i|0,0,b);f=d<<2;d=Wi(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){xj(c)}return}Ia();C()}Va();C()}function vg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a=J[a>>2];c=J[a+4>>2];e=J[a+8>>2];if(c>>>0>>0){J[c>>2]=J[b>>2];J[a+4>>2]=c+4;return}a:{d=c;c=J[a>>2];g=d-c|0;d=g>>2;f=d+1|0;if(f>>>0<1073741824){h=d<<2;e=e-c|0;d=e>>>1|0;f=e>>>0>=2147483644?1073741823:f>>>0>>0?d:f;if(f){if(f>>>0>=1073741824){break a}e=Cj(f<<2)}else{e=0}d=h+e|0;J[d>>2]=J[b>>2];b=Wi(e,c,g);J[a+8>>2]=b+(f<<2);J[a+4>>2]=d+4;J[a>>2]=b;if(c){xj(c)}return}Ia();C()}Va();C()}function ue(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=Xi(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){e=e-c|0;f=e>>>2|0;d=e>>>0>=2147483640?536870911:d>>>0>>0?f:d;if(d){if(d>>>0>=536870912){break a}i=Cj(d<<3)}b=b<<3;e=Xi((h<<3)+i|0,0,b);f=d<<3;d=Wi(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){xj(c)}return}Ia();C()}Va();C()}function gc(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2376;b=J[a+60>>2];J[a+60>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}d=J[a+36>>2];if(d){c=J[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;xj(b)}J[a>>2]=2032;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;xj(b)}return a|0}function hc(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2376;b=J[a+60>>2];J[a+60>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}d=J[a+36>>2];if(d){c=J[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;xj(b)}J[a>>2]=2032;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;xj(b)}xj(a)}function Pa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=fa-16|0;fa=d;e=J[a+4>>2];a:{if((e|0)==-1){break a}c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],J[a+8>>2],J[a+12>>2]);c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],a+20|0,a+24|0);c=J[b+20>>2];f=J[b+16>>2];H[d+15|0]=J[a+4>>2];if(!!f&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],d+15|0,d+16|0)}fa=d+16|0;return(e|0)!=-1|0}function $f(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;a:{b=J[a+8>>2];b:{if((b|0)<0){break b}c=J[a+4>>2];e=J[c>>2];d=J[c+4>>2]-e>>2;c:{if(d>>>0>>0){ag(c,b-d|0);f=J[a+8>>2];break c}f=b;if(b>>>0>=d>>>0){break c}J[c+4>>2]=e+(b<<2);f=b}d=f;if((d|0)<=0){break b}a=J[a+4>>2];c=J[a>>2];e=J[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(e|0)){break a}J[c+(a<<2)>>2]=a;a=a+1|0;if((d|0)!=(a|0)){continue}break}}return(b^-1)>>>31|0}yc();C()}function yg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>1>>>0>=b>>>0){if(b){b=b<<1;c=Xi(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;f=g>>1;d=f+b|0;if((d|0)>=0){e=e-c|0;d=e>>>0>=2147483646?2147483647:d>>>0>>0?e:d;if(d){if((d|0)<0){break a}h=Cj(d<<1)}b=b<<1;e=Xi((f<<1)+h|0,0,b);f=d<<1;d=Wi(h,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){xj(c)}return}Ia();C()}Va();C()}function _h(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;me(d,a,b,c);J[a+24>>2]=J[d>>2];e=a+24|0;a:{if((e|0)==(d|0)){break a}b=a+28|0;c=d|4;f=K[d+15|0];g=f<<24>>24;if(H[a+39|0]>=0){if((g|0)>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break a}Ij(b,J[d+4>>2],J[d+8>>2]);break a}a=(g|0)<0;Hj(b,a?J[d+4>>2]:c,a?J[d+8>>2]:f)}if(H[d+15|0]<0){xj(J[d+4>>2])}fa=d+16|0;return e|0}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;le(d,a,b,c);J[a+24>>2]=J[d>>2];e=a+24|0;a:{if((e|0)==(d|0)){break a}b=a+28|0;c=d|4;f=K[d+15|0];g=f<<24>>24;if(H[a+39|0]>=0){if((g|0)>=0){a=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=a;J[b+8>>2]=J[c+8>>2];break a}Ij(b,J[d+4>>2],J[d+8>>2]);break a}a=(g|0)<0;Hj(b,a?J[d+4>>2]:c,a?J[d+8>>2]:f)}if(H[d+15|0]<0){xj(J[d+4>>2])}fa=d+16|0;return e|0}function Gj(a,b,c){var d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;a:{b:{if(c>>>0<11){d=a;H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;break b}if(c>>>0>2147483631){break a}g=e+8|0;if(c>>>0>=11){f=c+16&-16;d=f-1|0;d=(d|0)==11?f:d}else{d=10}Aj(g,d+1|0);d=J[e+8>>2];J[a>>2]=d;J[a+8>>2]=J[a+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;J[a+4>>2]=c}zj(d,b,c+1|0);fa=e+16|0;return}eg();C()}function wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;a:{e=hj(c);if(e>>>0<2147483632){b:{c:{if(e>>>0>=11){g=(e|15)+1|0;f=Cj(g);J[d+8>>2]=g|-2147483648;J[d>>2]=f;J[d+4>>2]=e;g=e+f|0;break c}H[d+11|0]=e;g=d+e|0;f=d;if(!e){break b}}Vi(f,c,e)}H[g|0]=0;f=a+16|0;c=Li(b,d,f);b=J[a+16>>2];a=H[a+27|0];if(H[d+11|0]<0){xj(J[d>>2])}fa=d+16|0;a=c?(a|0)<0?b:f:0;break a}eg();C()}return a|0}function ui(a,b){var c=0,d=0,e=0;c=J[a+4>>2];d=c+b|0;J[a+4>>2]=d;if(!((d-1^c-1)>>>0<32?c:0)){J[J[a>>2]+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0}a:{if(!b){break a}a=J[a>>2]+(c>>>3&536870908)|0;c=c&31;if(c){d=32-c|0;e=b>>>0>d>>>0?d:b;J[a>>2]=J[a>>2]&(-1<>>d-e^-1);b=b-e|0;a=a+4|0}c=b>>>5|0;if(b>>>0>=32){Xi(a,0,c<<2)}if((b&-32)==(b|0)){break a}a=(c<<2)+a|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}}function $i(a,b,c){var d=0,e=0,f=0;d=J[c+16>>2];a:{if(!d){if(_i(c)){break a}d=J[c+16>>2]}f=J[c+20>>2];if(d-f>>>0>>0){return ka[J[c+36>>2]](c,a,b)|0}b:{if(J[c+80>>2]<0){d=0;break b}e=b;while(1){d=e;if(!d){d=0;break b}e=d-1|0;if(K[e+a|0]!=10){continue}break}e=ka[J[c+36>>2]](c,a,d)|0;if(e>>>0>>0){break a}a=a+d|0;b=b-d|0;f=J[c+20>>2]}Vi(f,a,b);J[c+20>>2]=J[c+20>>2]+b;e=b+d|0}return e}function _e(a){var b=0,c=0,d=0,e=0;if(K[a+76|0]){H[a+76|0]=0;e=J[a+60>>2];c=J[a+72>>2]+7|0;b=c>>>0<7?1:b;d=b<<29|c>>>3;c=d+J[a+56>>2]|0;b=(b>>>3|0)+e|0;J[a+56>>2]=c;J[a+60>>2]=c>>>0>>0?b+1|0:b}if(L[a+38>>1]<=513){H[a+132|0]=0;e=J[a+116>>2];b=0;c=J[a+128>>2]+7|0;b=c>>>0<7?1:b;d=b<<29|c>>>3;c=d+J[a+112>>2]|0;b=(b>>>3|0)+e|0;J[a+112>>2]=c;J[a+116>>2]=c>>>0>>0?b+1|0:b}}function ve(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=J[c+20>>2];f=J[c+12>>2];e=J[c+16>>2];if((d|0)>=(f|0)&e>>>0>=M[c+8>>2]|(d|0)>(f|0)){break a}f=H[e+J[c>>2]|0];e=e+1|0;d=e?d:d+1|0;J[c+16>>2]=e;J[c+20>>2]=d;d=f;b:{if((d|0)<0){if(!ve(a+1|0,b,c)){break a}a=J[b>>2];d=d&127|a<<7;a=J[b+4>>2]<<7|a>>>25;break b}d=d&255;a=0}J[b>>2]=d;J[b+4>>2]=a;g=1}return g}function sg(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>10){break a}d=J[c+20>>2];f=J[c+12>>2];e=J[c+16>>2];if((d|0)>=(f|0)&e>>>0>=M[c+8>>2]|(d|0)>(f|0)){break a}f=H[e+J[c>>2]|0];e=e+1|0;d=e?d:d+1|0;J[c+16>>2]=e;J[c+20>>2]=d;d=f;b:{if((d|0)<0){if(!sg(a+1|0,b,c)){break a}a=J[b>>2];d=d&127|a<<7;a=J[b+4>>2]<<7|a>>>25;break b}d=d&255;a=0}J[b>>2]=d;J[b+4>>2]=a;g=1}return g}function Xa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=fa+-64|0;fa=e;d=ka[J[J[a>>2]+44>>2]](a,b)|0;a=ka[J[J[a>>2]+40>>2]](a,b)|0;f=Ya(e);g=J[b+56>>2];h=d&255;i=a;a=a-1|0;if(a>>>0<=10){a=J[(a<<2)+13632>>2]}else{a=-1}d=P(a,d);Za(f,g,h,i,0,d,d>>31);a=_a(Cj(96),f);$a(a,c);H[a+84|0]=1;J[a+72>>2]=J[a+68>>2];J[a+60>>2]=J[b+60>>2];fa=e- -64|0;return a|0}function Vj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Nj(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(!Nj(a,J[b>>2],e)){break a}if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+20>>2]=c;J[b+32>>2]=d;J[b+40>>2]=J[b+40>>2]+1;if(!(J[b+36>>2]!=1|J[b+24>>2]!=2)){H[b+54|0]=1}J[b+44>>2]=4}}function lg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=J[a+32>>2];b=e;h=J[b+8>>2];g=J[b+12>>2];c=J[b+16>>2];b=J[b+20>>2];f=c+4|0;b=f>>>0<4?b+1|0:b;d=0;a:{if(f>>>0>h>>>0&(b|0)>=(g|0)|(b|0)>(g|0)){break a}c=J[e>>2]+c|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[e+16>>2]=f;J[e+20>>2]=b;d=0;if((c|0)<0){break a}J[J[a+4>>2]+80>>2]=c;d=1}return d|0}function De(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=11324;b=J[a+48>>2];J[a+48>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=13328;b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;xj(b)}return a|0}function kf(a,b){var c=0,d=0,e=0,f=0;J[a+144>>2]=b;c=J[(ka[J[J[b>>2]+32>>2]](b)|0)+32>>2];c=J[c>>2]+J[c+16>>2]|0;d=J[(ka[J[J[b>>2]+32>>2]](b)|0)+32>>2];d=J[d+8>>2]-J[d+16>>2]|0;e=a,f=L[J[(ka[J[J[b>>2]+32>>2]](b)|0)+32>>2]+38>>1],I[e+38>>1]=f;J[a>>2]=c;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=d;J[a+12>>2]=0;e=a,f=ka[J[J[b>>2]+36>>2]](b)|0,J[e+148>>2]=f}function Tj(a,b,c,d){H[a+53|0]=1;a:{if(J[a+4>>2]!=(c|0)){break a}H[a+52|0]=1;c=J[a+16>>2];b:{if(!c){J[a+36>>2]=1;J[a+24>>2]=d;J[a+16>>2]=b;if((d|0)!=1){break a}if(J[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=J[a+24>>2];if((c|0)==2){J[a+24>>2]=d;c=d}if(J[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}J[a+36>>2]=J[a+36>>2]+1}H[a+54|0]=1}}function Ee(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=11324;b=J[a+48>>2];J[a+48>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=13328;b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;xj(b)}xj(a)}function ng(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+32>>2];b=e;g=J[b+8>>2];d=J[b+12>>2];c=J[b+16>>2];b=J[b+20>>2];f=d;d=c+4|0;b=d>>>0<4?b+1|0:b;if((f|0)>=(b|0)&d>>>0<=g>>>0|(b|0)<(f|0)){c=J[e>>2]+c|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[e+16>>2]=d;J[e+20>>2]=b;J[J[a+4>>2]+80>>2]=c}return(b|0)<=(f|0)&d>>>0<=g>>>0|(b|0)<(f|0)}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=fa+-64|0;fa=e;d=1;a:{if(Nj(a,b,0)){break a}d=0;if(!b){break a}b=Pj(b,15020);d=0;if(!b){break a}d=e+8|0;Xi(d|4,0,52);J[e+56>>2]=1;J[e+20>>2]=-1;J[e+16>>2]=a;J[e+8>>2]=b;ka[J[J[b>>2]+28>>2]](b,d,J[c>>2],1);a=J[e+32>>2];if((a|0)==1){J[c>>2]=J[e+24>>2]}d=(a|0)==1}fa=e- -64|0;return d|0}function Me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=fa-16|0;fa=d;J[a+4>>2]=b;b=J[b+64>>2];e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Oe(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+56>>2];b=J[b+52>>2];H[d+14|0]=0;Oe(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;fa=d+16|0}function ke(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!b){J[c>>2]=0;return}h=0-K[a+12|0]&255;e=J[a+4>>2];d=J[a+8>>2];i=J[a>>2];while(1){j=f<<1;if(!((e|0)<=0|d>>>0>4095)){e=e-1|0;J[a+4>>2]=e;d=K[e+i|0]|d<<8}g=d&255;f=g>>>0>>0;k=g;g=P(d>>>8|0,h);d=f?k+g|0:d-(h+g|0)|0;J[a+8>>2]=d;f=f|j;b=b-1|0;if(b){continue}break}J[c>>2]=f}function Oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a=fa-16|0;fa=a;f=H[b+24|0];e=J[3423];J[a+8>>2]=J[3422];J[a+12>>2]=e;e=J[3421];J[a>>2]=J[3420];J[a+4>>2]=e;e=Rc(b,c,f,a);if(e){b=0;if(f){c=(f&255)<<2;b=Cj(c);g=Vi(b,a,c)+c|0}c=J[d>>2];if(c){J[d+4>>2]=c;xj(c)}J[d+8>>2]=g;J[d+4>>2]=g;J[d>>2]=b}fa=a+16|0;return e|0}function dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=ka[J[J[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=J[J[a+36>>2]>>2];g=a+48|0;c=0;if(!(ka[J[J[d>>2]+20>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=J[J[a+36>>2]+(e<<2)>>2];if(ka[J[J[d>>2]+20>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function cc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=ka[J[J[a>>2]+24>>2]](a)|0;c=1;a:{if((f|0)<=0){break a}d=J[J[a+36>>2]>>2];g=a+48|0;c=0;if(!(ka[J[J[d>>2]+16>>2]](d,g,b)|0)){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=J[J[a+36>>2]+(e<<2)>>2];if(ka[J[J[d>>2]+16>>2]](d,g,b)|0){continue}}break}c=(e|0)>=(f|0)}return c|0}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=fa-16|0;fa=d;J[a+4>>2]=b;e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Oe(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+28>>2];b=J[b+24>>2];H[d+14|0]=0;Oe(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;fa=d+16|0}function ti(a){var b=0;J[a>>2]=0;J[a+4>>2]=0;J[a+56>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+60>>2]=a;return a}function ff(a,b){var c=0,d=0;a:{c=J[a+4>>2];d=J[a+8>>2];if((c|0)==d<<5){if((c+1|0)<0){break a}if(c>>>0<=1073741822){d=d<<6;c=(c&-32)+32|0;c=c>>>0>>0?d:c}else{c=2147483647}Jc(a,c);c=J[a+4>>2]}J[a+4>>2]=c+1;d=1<>2]+(c>>>3&536870908)|0;if(K[b|0]){J[a>>2]=d|J[a>>2];return}J[a>>2]=J[a>>2]&(d^-1);return}Ia();C()}function te(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!te(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function ie(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!ie(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function eb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!eb(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Wf(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Wf(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Re(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Re(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Ii(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Ii(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Gc(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Gc(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function Gb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=J[c+20>>2];e=J[c+12>>2];f=J[c+16>>2];if((d|0)>=(e|0)&f>>>0>=M[c+8>>2]|(d|0)>(e|0)){break a}e=K[J[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;J[c+16>>2]=f;J[c+20>>2]=d;d=e<<24>>24;if((d|0)<0){if(!Gb(a+1|0,b,c)){break a}e=d&127|J[b>>2]<<7}J[b>>2]=e;g=1}return g}function bj(a,b,c){var d=0,e=0;a:{b:{if(c>>>0>=4){if((a|b)&3){break b}while(1){if(J[a>>2]!=J[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}while(1){d=K[a|0];e=K[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function pf(a){var b=0,c=0,d=0,e=0;d=J[a>>2];if(d){e=d;c=J[a+4>>2];if((d|0)!=(c|0)){while(1){e=c-144|0;b=J[e+132>>2];if(b){J[c-8>>2]=b;xj(b)}b=J[c-28>>2];if(b){J[c-24>>2]=b;xj(b)}b=J[c-40>>2];if(b){J[c-36>>2]=b;xj(b)}bf(c-140|0);c=e;if((d|0)!=(c|0)){continue}break}e=J[a>>2]}J[a+4>>2]=d;xj(e)}}function Jh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=J[b+4>>2];a:{if(!d){break a}b=J[J[J[b+8>>2]+(c<<2)>>2]+60>>2];if((b|0)<0){break a}a=J[d+24>>2];c=J[d+28>>2];if((a|0)==(c|0)){break a}b:{while(1){e=J[a>>2];if((b|0)==J[e+24>>2]){break b}a=a+4|0;if((c|0)!=(a|0)){continue}break}e=0}}return e|0}function Af(a){a=a|0;var b=0;J[a+8>>2]=12432;J[a>>2]=12220;b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;xj(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;xj(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12668;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}return a|0}function fg(a){var b=0,c=0,d=0;if(a){d=J[a+24>>2];if(d){b=d;c=J[a+28>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){jg(b+12|0,J[b+16>>2]);kg(b,J[b+4>>2]);xj(b)}if((c|0)!=(d|0)){continue}break}b=J[a+24>>2]}J[a+28>>2]=d;xj(b)}jg(a+12|0,J[a+16>>2]);kg(a,J[a+4>>2]);xj(a)}}function Bf(a){a=a|0;var b=0;J[a+8>>2]=12432;J[a>>2]=12220;b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;xj(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;xj(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12668;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}xj(a)}function ye(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=13328;b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;xj(b)}return a|0}function Ca(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=J[c+8>>2];e=J[c+16>>2];g=J[c+12>>2];f=g;d=J[c+20>>2];if(h>>>0>e>>>0&(f|0)>=(d|0)|(d|0)<(f|0)){b=K[J[c>>2]+e|0];i=e+1|0;f=i?d:d+1|0;J[c+16>>2]=i;J[c+20>>2]=f;J[a+4>>2]=b}return e>>>0>>0&(d|0)<=(g|0)|(d|0)<(g|0)}function Zf(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=13328;b=J[a+20>>2];if(b){J[a+24>>2]=b;xj(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;xj(b)}xj(a)}function Nj(a,b,c){var d=0;if(!c){return J[a+4>>2]==J[b+4>>2]}if((a|0)==(b|0)){return 1}d=J[a+4>>2];a=K[d|0];c=J[b+4>>2];b=K[c|0];a:{if(!a|(b|0)!=(a|0)){break a}while(1){b=K[c+1|0];a=K[d+1|0];if(!a){break a}c=c+1|0;d=d+1|0;if((a|0)==(b|0)){continue}break}}return(a|0)==(b|0)}function zf(a){a=a|0;var b=0;J[a>>2]=12432;b=J[a+88>>2];if(b){J[a+92>>2]=b;xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=J[b+12>>2];b=J[b+8>>2];a=0;a:{if((d|0)==(b|0)){break a}a=d-b>>2;d=a>>>0<=1?1:a;a=0;b:{while(1){e=J[b+(a<<2)>>2];if(J[e+60>>2]==(c|0)){break b}a=a+1|0;if((d|0)!=(a|0)){continue}break}a=0;break a}a=(a|0)!=-1?e:0}return a|0}function Ki(a,b){var c=0,d=0,e=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{c=J[b+4>>2];d=J[b>>2];b:{if((c|0)==(d|0)){a=c;break b}c=c-d|0;if((c|0)<0){break a}d=c;e=Cj(c);c=Xi(e,0,c);d=d+c|0;J[a+8>>2]=d;J[a+4>>2]=d;J[a>>2]=c;c=J[b>>2];a=J[b+4>>2]}Vi(e,c,a-c|0);return}Ia();C()}function Ue(a){var b=0,c=0,d=0,e=0;c=J[a+4>>2];d=J[a>>2];if((c|0)!=(d|0)){while(1){e=c-144|0;b=J[e+132>>2];if(b){J[c-8>>2]=b;xj(b)}b=J[c-28>>2];if(b){J[c-24>>2]=b;xj(b)}b=J[c-40>>2];if(b){J[c-36>>2]=b;xj(b)}bf(c-140|0);c=e;if((d|0)!=(c|0)){continue}break}}J[a+4>>2]=d}function Gf(a){a=a|0;var b=0;J[a>>2]=12432;b=J[a+88>>2];if(b){J[a+92>>2]=b;xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function uj(a,b,c){var d=0,e=0,f=0,g=0;f=fa-16|0;fa=f;d=fa-16|0;fa=d;b=b-a>>2;while(1){if(b){J[d+12>>2]=a;e=b>>>1|0;J[d+12>>2]=J[d+12>>2]+(e<<2);g=(e^-1)+b|0;b=e;e=M[J[d+12>>2]>>2]>2];b=e?g:b;a=e?J[d+12>>2]+4|0:a;continue}break}fa=d+16|0;fa=f+16|0;return a}function Se(a){var b=0;if(a){b=J[a+76>>2];if(b){J[a+80>>2]=b;xj(b)}b=J[a- -64>>2];if(b){J[a+68>>2]=b;xj(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;xj(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;xj(b)}b=J[a>>2];if(b){J[a+4>>2]=b;xj(b)}xj(a)}}function bf(a){var b=0;b=J[a+84>>2];if(b){J[a+88>>2]=b;xj(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;xj(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;xj(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;xj(b)}b=J[a+28>>2];if(b){J[a+32>>2]=b;xj(b)}b=J[a+12>>2];if(b){xj(b)}a=J[a>>2];if(a){xj(a)}}function oj(a,b,c){var d=0,e=0,f=0,g=0;if(b){while(1){c=c-1|0;e=a;a=pk(a,b,10,0);d=ja;f=c,g=e-nk(a,d,10,0)|48,H[f|0]=g;e=b>>>0>9;b=d;if(e){continue}break}}if(a){while(1){c=c-1|0;b=(a>>>0)/10|0;H[c|0]=a-P(b,10)|48;d=a>>>0>9;a=b;if(d){continue}break}}return c}function Ej(a){var b=0,c=0,d=0;c=fa-16|0;fa=c;H[c+15|0]=10;b=J[a+16>>2];a:{if(!b){if(_i(a)){break a}b=J[a+16>>2]}d=b;b=J[a+20>>2];if(!((d|0)==(b|0)|J[a+80>>2]==10)){J[a+20>>2]=b+1;H[b|0]=10;break a}if((ka[J[a+36>>2]](a,c+15|0,1)|0)!=1){break a}}fa=c+16|0}function Wa(a,b){var c=0,d=0;d=Cj(40);J[d>>2]=-1;c=d+8|0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;ka[J[J[a>>2]+16>>2]](a,d);a=J[b+88>>2];J[b+88>>2]=d;if(a){b=J[a+8>>2];if(b){J[a+12>>2]=b;xj(b)}xj(a)}return 1}function hj(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!K[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=J[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(K[b|0]){continue}break}}return b-a|0}function je(a){var b=0,c=0,d=0,e=0,f=0;d=K[a+12|0];c=J[a+8>>2];a:{if(c>>>0>4095){break a}b=J[a+4>>2];if((b|0)<=0){break a}b=b-1|0;J[a+4>>2]=b;c=K[b+J[a>>2]|0]|c<<8}d=0-d&255;b=P(d,c>>>8|0);e=c&255;f=e>>>0>>0;J[a+8>>2]=f?b+e|0:c-(b+d|0)|0;return f}function ij(a,b){var c=0,d=0,e=0;A(+a);d=v(1)|0;e=v(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=ij(a*0x10000000000000000,b);c=J[b>>2]+-64|0}J[b>>2]=c;return a}J[b>>2]=c-1022;x(0,e|0);x(1,d&-2146435073|1071644672);a=+z()}return a}function _b(a,b){J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2032;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a>>2]=2376;J[a+60>>2]=b;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;return a}function dg(a,b){var c=0,d=0,e=0;c=hj(b);if(c>>>0<2147483632){a:{b:{if(c>>>0>=11){d=(c|15)+1|0;e=Cj(d);J[a+8>>2]=d|-2147483648;J[a>>2]=e;J[a+4>>2]=c;d=c+e|0;break b}H[a+11|0]=c;d=a+c|0;e=a;if(!c){break a}}Wi(e,b,c)}H[d|0]=0;return a}eg();C()}function zh(a){a=a|0;var b=0,c=0,d=0;if(a){if(H[a+27|0]<0){xj(J[a+16>>2])}b=J[a>>2];if(b){c=b;d=J[a+4>>2];if((b|0)!=(d|0)){while(1){c=d-12|0;if(H[d-1|0]<0){xj(J[c>>2])}d=c;if((d|0)!=(b|0)){continue}break}c=J[a>>2]}J[a+4>>2]=b;xj(c)}xj(a)}}function pb(a){a=a|0;var b=0,c=0;if(a){b=J[a+88>>2];J[a+88>>2]=0;if(b){c=J[b+8>>2];if(c){J[b+12>>2]=c;xj(c)}xj(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;xj(b)}b=J[a+64>>2];J[a+64>>2]=0;if(b){c=J[b>>2];if(c){J[b+4>>2]=c;xj(c)}xj(b)}xj(a)}}function Te(a,b){var c=0,d=0,e=0;a:{c=J[a>>2];b:{if(J[a+8>>2]-c>>2>>>0>=b>>>0){break b}if(b>>>0>=1073741824){break a}d=J[a+4>>2]-c|0;e=b<<2;b=Wi(Cj(e),c,d);J[a+8>>2]=b+e;J[a+4>>2]=b+d;J[a>>2]=b;if(!c){break b}xj(c)}return}Ia();C()}function mj(a){var b=0,c=0,d=0;if(H[J[a>>2]]-48>>>0>=10){return 0}while(1){d=J[a>>2];c=-1;if(b>>>0<=214748364){c=H[d|0]-48|0;b=P(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}J[a>>2]=d+1;b=c;if(H[d+1|0]-48>>>0<10){continue}break}return b}function de(a){a=a|0;var b=0;J[a+24>>2]=1880;J[a>>2]=11096;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}J[a>>2]=2496;b=J[a+20>>2];J[a+20>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){pb(b)}return a|0}function Kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=J[b+96>>2];a=Cj(12);b=b+P(c,12)|0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];b=J[d>>2];if(b){J[d+4>>2]=b;xj(b)}J[d>>2]=a;a=a+12|0;J[d+8>>2]=a;J[d+4>>2]=a;return 1}function ok(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=pk(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;ja=(g^ja)-((a>>>0>>0)+g|0)|0;return b}function ee(a){a=a|0;var b=0;J[a+24>>2]=1880;J[a>>2]=11096;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}J[a>>2]=2496;b=J[a+20>>2];J[a+20>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){pb(b)}xj(a)}function Hj(a,b,c){var d=0,e=0,f=0;e=fa-16|0;fa=e;d=J[a+8>>2]&2147483647;a:{if(d>>>0>c>>>0){d=J[a>>2];J[a+4>>2]=c;zj(d,b,c);H[e+15|0]=0;H[c+d|0]=K[e+15|0];break a}f=a;a=J[a+4>>2];Fj(f,d-1|0,(c-d|0)+1|0,a,a,c,b)}fa=e+16|0}function Aa(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;a=J[a+4>>2];a:{if((a|0)==-1){break a}H[c+15|0]=a;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+15|0,c+16|0)}fa=c+16|0;return(a|0)!=-1|0}function nk(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=P(e,f);g=c&65535;h=a&65535;i=P(g,h);f=(i>>>16|0)+P(f,g)|0;e=(f&65535)+P(e,h)|0;ja=(P(b,c)+j|0)+P(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function Ij(a,b,c){var d=0,e=0;d=fa-16|0;fa=d;a:{if(c>>>0<=10){H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;zj(a,b,c);H[d+15|0]=0;H[a+c|0]=K[d+15|0];break a}e=a;a=K[a+11|0]&127;Fj(e,10,c-10|0,a,a,c,b)}fa=d+16|0}function Qj(a,b,c){var d=0;d=J[a+16>>2];if(!d){J[a+36>>2]=1;J[a+24>>2]=c;J[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(J[a+24>>2]!=2){break a}J[a+24>>2]=c;return}H[a+54|0]=1;J[a+24>>2]=2;J[a+36>>2]=J[a+36>>2]+1}}function Kg(){var a=0;a=Ya(Cj(96));J[a+64>>2]=0;J[a+68>>2]=0;J[a+88>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a|0}function wa(a,b){a=a|0;b=b|0;var c=0,d=0;J[b>>2]=2;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){pg(b+8|0,d+4|0);c=J[b+8>>2]}b=c+d|0;a=J[a+4>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function pj(a,b,c,d,e){var f=0;f=fa-256|0;fa=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;Xi(f,b&255,c?d:256);if(!c){while(1){lj(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}lj(a,f,d)}fa=f+256|0}function ig(a){a=a|0;var b=0,c=0,d=0;b=J[a+8>>2];d=J[a+12>>2];if((b|0)==(d|0)){return 1}while(1){c=J[b>>2];c=ka[J[J[c>>2]+16>>2]](c,J[a+32>>2])|0;if(c){b=b+4|0;if((d|0)!=(b|0)){continue}}break}return c|0}function hd(a){a=a|0;var b=0;J[a>>2]=5628;b=J[a+96>>2];if(b){xj(b)}b=J[a+84>>2];if(b){xj(b)}b=J[a+72>>2];if(b){xj(b)}b=J[a+60>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function Cc(a){a=a|0;var b=0;J[a>>2]=3612;b=J[a+96>>2];if(b){xj(b)}b=J[a+84>>2];if(b){xj(b)}b=J[a+72>>2];if(b){xj(b)}b=J[a+60>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function Oi(a,b){var c=0,d=0;c=J[a+8>>2];a=J[a+12>>2];if((c|0)!=(a|0)){a=a-c>>2;d=a>>>0<=1?1:a;a=0;while(1){if(J[J[(a<<2)+c>>2]+60>>2]==(b|0)){return a}a=a+1|0;if((d|0)!=(a|0)){continue}break}}return-1}function id(a){a=a|0;var b=0;J[a>>2]=5628;b=J[a+96>>2];if(b){xj(b)}b=J[a+84>>2];if(b){xj(b)}b=J[a+72>>2];if(b){xj(b)}b=J[a+60>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Dc(a){a=a|0;var b=0;J[a>>2]=3612;b=J[a+96>>2];if(b){xj(b)}b=J[a+84>>2];if(b){xj(b)}b=J[a+72>>2];if(b){xj(b)}b=J[a+60>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Li(a,b,c){var d=0,e=0;d=a+4|0;a=tg(a,b);a:{if((d|0)==(a|0)){break a}b=J[a+32>>2];d=J[a+28>>2];if((b|0)==(d|0)){break a}Kj(c,b-d|0);c=Jj(c);b=J[a+28>>2];Vi(c,b,J[a+32>>2]-b|0);e=1}return e}function fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=fa-16|0;fa=e;a=ea(J[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){J[4004]=a;a=-1}else{a=0}fa=e+16|0;ja=a?-1:J[e+12>>2];return(a?-1:J[e+8>>2])|0}function _i(a){var b=0;b=J[a+72>>2];J[a+72>>2]=b-1|b;b=J[a>>2];if(b&8){J[a>>2]=b|32;return-1}J[a+4>>2]=0;J[a+8>>2]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];return 0}function Ya(a){J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+28>>2]=9;H[a+24|0]=1;J[a+56>>2]=-1;J[a+60>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;return a}function ic(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+16>>2];c=0;a:{if(J[a+20>>2]-d>>2<=(b|0)){break a}b=J[(b<<2)+d>>2];c=0;if((b|0)<0){break a}c=Ub(J[J[a+36>>2]+(b<<2)>>2])}return c|0}function Ah(){var a=0,b=0;a=Cj(40);J[a+4>>2]=0;J[a+8>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;b=a+16|0;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;J[a+12>>2]=b;J[a+32>>2]=0;J[a+36>>2]=0;return a|0}function Bi(a,b){a=a|0;b=b|0;var c=0,d=0;Qi(a,b);a:{if((b|0)<0){break a}d=J[a+88>>2];c=J[a+84>>2];if(d-c>>2<=(b|0)){break a}c=(b<<2)+c|0;b=c+4|0;Wi(c,b,d-b|0);J[a+88>>2]=d-4}}function vj(a){var b=0,c=0;b=J[3973];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>la()<<16>>>0){if(!(da(a|0)|0)){break a}}J[3973]=a;return b}J[4004]=48;return-1}function Qf(a){a=a|0;var b=0;J[a+8>>2]=11920;J[a>>2]=12980;b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12172;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}return a|0}function Kf(a){a=a|0;var b=0;J[a+8>>2]=12852;J[a>>2]=12688;b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12668;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}return a|0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;J[a+4>>2]=b;b=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=b;a=J[a+8>>2];if(K[a+24|0]==3){d=J[a+28>>2]==9}return d|0}function Sb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=J[a+8>>2];a:{if(!K[d+24|0]){break a}if(!$a(d,J[b+4>>2]-J[b>>2]>>2)){break a}e=ka[J[J[a>>2]+32>>2]](a,b,c)|0}return e|0}function Rf(a){a=a|0;var b=0;J[a+8>>2]=11920;J[a>>2]=12980;b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12172;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}xj(a)}function Lf(a){a=a|0;var b=0;J[a+8>>2]=12852;J[a>>2]=12688;b=J[a+56>>2];if(b){J[a+60>>2]=b;xj(b)}J[a+8>>2]=12668;b=J[a+44>>2];if(b){xj(b)}b=J[a+32>>2];if(b){xj(b)}xj(a)}function ld(a){a=a|0;var b=0;J[a>>2]=5864;b=J[a+76>>2];if(b){xj(b)}b=J[a+68>>2];J[a+68>>2]=0;if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function jg(a,b){if(b){jg(a,J[b>>2]);jg(a,J[b+4>>2]);a=J[b+28>>2];J[b+28>>2]=0;if(a){jg(a+12|0,J[a+16>>2]);kg(a,J[a+4>>2]);xj(a)}if(H[b+27|0]<0){xj(J[b+16>>2])}xj(b)}}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;J[a+4>>2]=b;d=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=d;return J[J[J[J[b+4>>2]+8>>2]+(c<<2)>>2]+28>>2]==9|0}function Kc(a){a=a|0;var b=0;J[a>>2]=3860;b=J[a+76>>2];if(b){xj(b)}b=J[a+68>>2];J[a+68>>2]=0;if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function bg(a){J[a+40>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=13328;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;I[a+36>>1]=0;return a}function Dj(a,b){var c=0,d=0,e=0,f=0;J[a>>2]=15308;J[a>>2]=15420;c=hj(b);d=Cj(c+13|0);J[d+8>>2]=0;J[d+4>>2]=c;J[d>>2]=c;e=a,f=Vi(d+12|0,b,c+1|0),J[e+4>>2]=f;return a}function ib(a,b){a=a|0;b=b|0;var c=0;a:{if(!(ka[J[J[a>>2]+36>>2]](a,b)|0)){break a}if(!(ka[J[J[a>>2]+40>>2]](a,b)|0)){break a}c=ka[J[J[a>>2]+44>>2]](a)|0}return c|0}function md(a){a=a|0;var b=0;J[a>>2]=5864;b=J[a+76>>2];if(b){xj(b)}b=J[a+68>>2];J[a+68>>2]=0;if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Lc(a){a=a|0;var b=0;J[a>>2]=3860;b=J[a+76>>2];if(b){xj(b)}b=J[a+68>>2];J[a+68>>2]=0;if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function $c(a){a=a|0;var b=0;a:{if(!J[a- -64>>2]|!J[a+68>>2]|(!J[a+44>>2]|!J[a+48>>2])){break a}if(!J[a+52>>2]|!J[a+56>>2]){break a}b=J[a+92>>2]!=-1}return b|0}function va(a,b){a=a|0;b=b|0;var c=0;b=J[b+88>>2];if(!(!b|J[b>>2]!=2)){c=a;a=J[b+8>>2];J[c+4>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);c=1}return c|0}function oc(a){a=a|0;var b=0;J[a>>2]=2496;b=J[a+20>>2];J[a+20>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){pb(b)}return a|0}function Fd(a){a=a|0;var b=0;a:{if(!J[a+48>>2]|!J[a+52>>2]|(!J[a+28>>2]|!J[a+32>>2])){break a}if(!J[a+36>>2]|!J[a+40>>2]){break a}b=J[a+76>>2]!=-1}return b|0}function Ne(a){a=a|0;var b=0;J[a>>2]=11920;b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12172;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function Jf(a){a=a|0;var b=0;J[a>>2]=12852;b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function pc(a){a=a|0;var b=0;J[a>>2]=2496;b=J[a+20>>2];J[a+20>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){pb(b)}xj(a)}function vf(a){a=a|0;var b=0;J[a>>2]=11920;b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12172;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function jc(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+4>>2];a:{if(d){c=1;if(K[d+36|0]<2){break a}}c=ka[J[J[a>>2]+48>>2]](a,J[b+4>>2]-J[b>>2]>>2)|0}return c|0}function Pf(a){a=a|0;var b=0;J[a>>2]=12852;b=J[a+48>>2];if(b){J[a+52>>2]=b;xj(b)}J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function Gg(){var a=0,b=0;b=Cj(40);J[b>>2]=-1;a=b+8|0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;return b|0}function qg(a){J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;I[a+38>>1]=0;H[a+36|0]=0;return a}function Wj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Nj(a,J[b+8>>2],f)){Tj(b,c,d,e);return}a=J[a+8>>2];ka[J[J[a>>2]+20>>2]](a,b,c,d,e,f)}function $d(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(K[J[a+4>>2]+36|0]>=2){b=0;if(!(ka[J[J[a>>2]+52>>2]](a)|0)){break a}}b=Wa(a+24|0,J[a+16>>2])}return b|0}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(K[J[a+4>>2]+36|0]<=1){d=0;if(!(ka[J[J[a>>2]+52>>2]](a)|0)){break a}}d=mc(a,b,c)}return d|0}function Ni(a,b){var c=0;c=-1;a:{if((b|0)==-1|(b|0)>4){break a}b=P(b,12)+a|0;a=J[b+20>>2];if((J[b+24>>2]-a|0)<=0){break a}c=J[a>>2]}return c}function $g(){var a=0;a=Mi(Cj(108));J[a+84>>2]=0;J[a+88>>2]=0;J[a>>2]=13712;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;return a|0}function Za(a,b,c,d,e,f,g){J[a>>2]=0;J[a+56>>2]=b;J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=f;J[a+44>>2]=g;H[a+32|0]=e;J[a+28>>2]=d;H[a+24|0]=c}function zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(K[J[a+4>>2]+36|0]<=1){d=0;if(!Ca(a+24|0,J[a+8>>2],c)){break a}}d=mc(a,b,c)}return d|0}function Ad(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(K[J[a+4>>2]+36|0]>=2){b=0;if(!Ca(a+24|0,Ub(a),c)){break a}}b=Wa(a+24|0,J[a+16>>2])}return b|0}function xi(a){a=a|0;var b=0;J[a>>2]=13712;b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;xj(b)}return yi(a)|0}function Jj(a){var b=0;if(K[a+11|0]>>>7|0){b=J[a+4>>2]}else{b=K[a+11|0]&127}if(!b){zc(1255);C()}if(K[a+11|0]>>>7|0){a=J[a>>2]}return a}function zi(a){a=a|0;var b=0;J[a>>2]=13712;b=J[a+96>>2];if(b){J[a+100>>2]=b;xj(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;xj(b)}xj(yi(a))}function pd(a){a=a|0;var b=0;J[a>>2]=6080;b=J[a+76>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function kg(a,b){if(b){kg(a,J[b>>2]);kg(a,J[b+4>>2]);a=J[b+28>>2];if(a){J[b+32>>2]=a;xj(a)}if(H[b+27|0]<0){xj(J[b+16>>2])}xj(b)}}function Sc(a){a=a|0;var b=0;J[a>>2]=4088;b=J[a+76>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function rh(){var a=0;a=Cj(28);J[a>>2]=0;J[a+4>>2]=0;J[a+24>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function gb(a){a=a|0;var b=0;J[a>>2]=2032;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;xj(b)}return a|0}function bh(){var a=0,b=0;a=Cj(24);J[a+4>>2]=0;J[a+8>>2]=0;b=a+16|0;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;J[a+12>>2]=b;return a|0}function Sj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Nj(a,J[b+8>>2],0)){Qj(b,c,d);return}a=J[a+8>>2];ka[J[J[a>>2]+28>>2]](a,b,c,d)}function qd(a){a=a|0;var b=0;J[a>>2]=6080;b=J[a+76>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Tc(a){a=a|0;var b=0;J[a>>2]=4088;b=J[a+76>>2];if(b){xj(b)}J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Cj(a){var b=0;a=a?a:1;a:{while(1){b=wj(a);if(b){break a}b=J[4438];if(b){ka[b|0]();continue}break}ca();C()}return b}function ne(a,b){if(b){ne(a,J[b>>2]);ne(a,J[b+4>>2]);if(H[b+39|0]<0){xj(J[b+28>>2])}if(H[b+27|0]<0){xj(J[b+16>>2])}xj(b)}}function ak(a){a=a|0;var b=0,c=0;J[a>>2]=15420;b=J[a+4>>2]-12|0;c=J[b+8>>2]-1|0;J[b+8>>2]=c;if((c|0)<0){xj(b)}return a|0}function Tg(){var a=0;a=Cj(24);J[a+8>>2]=0;J[a+12>>2]=0;J[a+4>>2]=-1;J[a>>2]=1880;J[a+16>>2]=0;J[a+20>>2]=0;return a|0}function Qb(a,b,c){a=a|0;b=b|0;c=c|0;J[a+4>>2]=b;b=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=b;return 1}function Nc(a){a=a|0;var b=0;if(!(!J[a+60>>2]|!J[a+44>>2]|(!J[a+48>>2]|!J[a+52>>2]))){b=J[a+56>>2]!=0}return b|0}function Bj(a,b){if(K[a+11|0]>>>7|0){J[a+4>>2]=b;return}H[a+11|0]=K[a+11|0]&128|b;H[a+11|0]=K[a+11|0]&127}function wf(a){a=a|0;var b=0;J[a>>2]=12172;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function sd(a){a=a|0;var b=0;J[a>>2]=6304;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function Yc(a){a=a|0;var b=0;J[a>>2]=4324;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function Hf(a){a=a|0;var b=0;J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}return a|0}function $h(a){a=a|0;if(a){if(H[a+39|0]<0){xj(J[a+28>>2])}ai(a+12|0,J[a+16>>2]);ne(a,J[a+4>>2]);xj(a)}}function tc(a){a=a|0;var b=0;if(!(!J[a+52>>2]|(!J[a+44>>2]|!J[a+48>>2]))){b=J[a+56>>2]!=0}return b|0}function xf(a){a=a|0;var b=0;J[a>>2]=12172;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function td(a){a=a|0;var b=0;J[a>>2]=6304;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Zc(a){a=a|0;var b=0;J[a>>2]=4324;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Oc(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|!b|K[b+24|0]!=3)){J[a+60>>2]=b;c=1}return c|0}function If(a){a=a|0;var b=0;J[a>>2]=12668;b=J[a+36>>2];if(b){xj(b)}b=J[a+24>>2];if(b){xj(b)}xj(a)}function ad(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a- -64>>2]=b;c=1}return c|0}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=b;J[a+8>>2]=c;J[a+12>>2]=0}function Xj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Nj(a,J[b+8>>2],f)){Tj(b,c,d,e)}}function Gd(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+48>>2]=b;c=1}return c|0}function Eb(a){var b=0;b=J[a+16>>2];if(b){J[a+20>>2]=b;xj(b)}b=J[a>>2];if(b){J[a+4>>2]=b;xj(b)}}function Va(){var a=0;a=Lj(4);J[a>>2]=15308;J[a>>2]=15268;J[a>>2]=15288;Z(a|0,15400,14);C()}function lk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=ka[a|0](b,c,d,e)|0;ga=ja;return a|0}function Yb(a){a=a|0;var b=0;J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){pb(b)}return a|0}function Ac(a){a=a|0;var b=0;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}return a|0}function be(a){a=a|0;var b=0;b=Ub(a);return Qa(a+24|0,b?b:J[a+8>>2],J[J[a+4>>2]+32>>2])|0}function Ra(a){a=a|0;var b=0;J[a>>2]=1880;b=J[a+8>>2];if(b){J[a+12>>2]=b;xj(b)}return a|0}function rc(a){a=a|0;var b=0;J[a>>2]=3320;b=J[a+32>>2];if(b){J[a+36>>2]=b;xj(b)}xj(a)}function Zb(a){a=a|0;var b=0;J[a>>2]=2280;b=J[a+16>>2];J[a+16>>2]=0;if(b){pb(b)}xj(a)}function Sa(a){a=a|0;var b=0;J[a>>2]=1880;b=J[a+8>>2];if(b){J[a+12>>2]=b;xj(b)}xj(a)}function fe(a){var b=0;J[a+16>>2]=0;b=J[a>>2];J[a+4>>2]=b;J[a+12>>2]=b;if(b){xj(b)}}function ai(a,b){if(b){ai(a,J[b>>2]);ai(a,J[b+4>>2]);ne(b+20|0,J[b+24>>2]);xj(b)}}function cj(a,b){var c=0;c=fa-16|0;fa=c;J[c+12>>2]=b;jj(15744,a,b,0,0);fa=c+16|0}function xe(a){a=a|0;if(!J[a+44>>2]){return 0}return ka[J[J[a>>2]+48>>2]](a)|0}function Ig(a){a=a|0;var b=0;if(a){b=J[a+8>>2];if(b){J[a+12>>2]=b;xj(b)}xj(a)}}function qk(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Nj(a,J[b+8>>2],0)){Qj(b,c,d)}}function ze(a,b){a=a|0;b=b|0;a=J[a+48>>2];return ka[J[J[a>>2]+20>>2]](a,b)|0}function He(a,b){a=a|0;b=b|0;a=J[a+48>>2];return ka[J[J[a>>2]+16>>2]](a,b)|0}function Ge(a,b){a=a|0;b=b|0;a=J[a+48>>2];return ka[J[J[a>>2]+12>>2]](a,b)|0}function rk(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} function jh(a){a=a|0;var b=0;if(a){b=J[a>>2];if(b){J[a+4>>2]=b;xj(b)}xj(a)}}function gh(){var a=0;a=Cj(12);J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;return a|0}function ed(a,b){a=a|0;b=b|0;if(b>>>0<=1){J[a+28>>2]=b}return b>>>0<2|0} function ch(a){a=a|0;if(a){jg(a+12|0,J[a+16>>2]);kg(a,J[a+4>>2]);xj(a)}}function cb(a,b,c){a=a|0;b=b|0;c=c|0;J[a+32>>2]=c;J[a+28>>2]=b;return 1}function aj(a,b,c){a:{if(J[c+76>>2]<0){a=$i(a,b,c);break a}a=$i(a,b,c)}}function _f(a,b){a=a|0;b=b|0;H[b+84|0]=1;J[b+72>>2]=J[b+68>>2];return 1}function Yg(){var a=0;a=Cj(8);J[a+4>>2]=-1;J[a>>2]=1032;return a|0}function Gh(a,b,c){a=a|0;b=b|0;c=c|0;return J[J[b+8>>2]+(c<<2)>>2]}function Fe(a){a=a|0;a=J[a+48>>2];return ka[J[J[a>>2]+36>>2]](a)|0}function Ce(a){a=a|0;a=J[a+48>>2];return ka[J[J[a>>2]+28>>2]](a)|0}function Be(a){a=a|0;a=J[a+48>>2];return ka[J[J[a>>2]+24>>2]](a)|0}function ce(a,b){a=a|0;b=b|0;return Oa(a+24|0,Ub(a),J[a+8>>2])|0}function Bd(a,b){a=a|0;b=b|0;return za(a+24|0,Ub(a),J[a+8>>2])|0}function fh(a){a=a|0;if(a){if(H[a+15|0]<0){xj(J[a+4>>2])}xj(a)}}function ae(a,b){a=a|0;b=b|0;return ka[J[J[a>>2]+56>>2]](a,b)|0}function Yj(a){a=a|0;if(!a){return 0}return(Pj(a,15116)|0)!=0|0}function Ug(a,b){a=a|0;b=b|0;return ka[J[J[a>>2]+12>>2]](a,b)|0}function Rb(a,b){a=a|0;b=b|0;J[a+12>>2]=-1;J[a+8>>2]=b;return 1}function zc(a){a=Dj(Lj(8),a);J[a>>2]=15520;Z(a|0,15552,1);C()}function Vg(a,b){a=a|0;b=b|0;return Q(N[J[a+8>>2]+(b<<2)>>2])}function Ja(a){a=Dj(Lj(8),a);J[a>>2]=15468;Z(a|0,15500,1);C()}function hh(a,b){a=a|0;b=b|0;return Q(N[J[a>>2]+(b<<2)>>2])}function we(a){a=bg(a);J[a+44>>2]=0;J[a>>2]=11228;return a}function jb(a,b){a=a|0;b=b|0;return J[J[a+4>>2]+(b<<2)>>2]}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ja=0;return 0}function eh(a){a=a|0;return(H[a+15|0]<0?J[a+4>>2]:a+4|0)|0}function ah(a){a=a|0;return(J[a+100>>2]-J[a+96>>2]|0)/12|0}function ua(){ia=83296;ha=17760;J[4308]=17112;J[4290]=42}function qh(a,b){a=a|0;b=b|0;return J[J[a>>2]+(b<<2)>>2]}function ph(a,b){a=a|0;b=b|0;return L[J[a>>2]+(b<<1)>>1]}function nh(a,b){a=a|0;b=b|0;return I[J[a>>2]+(b<<1)>>1]}function Aj(a,b){var c=0;c=Cj(b);J[a+4>>2]=b;J[a>>2]=c}function Dh(a,b,c){a=a|0;b=b|0;c=c|0;return Ni(b,c)|0}function Mi(a){J[a>>2]=13772;Xi(a+4|0,0,80);return a}function mk(a){if(a){return 31-S(a-1^a)|0}return 32}function _g(a){a=a|0;return J[a+12>>2]-J[a+8>>2]>>2}function mh(a,b){a=a|0;b=b|0;return K[J[a>>2]+b|0]}function kh(a,b){a=a|0;b=b|0;return H[J[a>>2]+b|0]}function kb(a){a=a|0;return J[a+8>>2]-J[a+4>>2]>>2}function Xg(a){a=a|0;if(a){ka[J[J[a>>2]+4>>2]](a)}}function Ie(a,b){a=a|0;b=b|0;J[a+4>>2]=b;return 1}function oh(a){a=a|0;return J[a+4>>2]-J[a>>2]>>1}function ih(a){a=a|0;return J[a+4>>2]-J[a>>2]>>2}function lh(a){a=a|0;return J[a+4>>2]-J[a>>2]|0}function gk(a){a=a|0;a=fa-a&-16;fa=a;return a|0}function lj(a,b,c){if(!(K[a|0]&32)){$i(b,c,a)}}function xh(a,b){a=a|0;b=b|0;return J[b+8>>2]}function qc(a){a=a|0;return K[J[a+8>>2]+24|0]}function Vd(a){a=a|0;J[a>>2]=10080;return a|0}function Ua(a,b){a=a|0;b=b|0;return K[b+24|0]}function Tb(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Ih(a,b){a=a|0;b=b|0;return J[b+4>>2]}function dj(a){a=a|0;return aa(J[a+60>>2])|0}function Pd(a){a=a|0;J[a>>2]=9076;return a|0}function Ld(a){a=a|0;J[a>>2]=8128;return a|0}function Dd(a){a=a|0;J[a>>2]=7192;return a|0}function Wg(a){a=a|0;return Q(N[a+20>>2])}function Wd(a){a=a|0;J[a>>2]=10080;xj(a)}function Qd(a){a=a|0;J[a>>2]=9076;xj(a)}function Md(a){a=a|0;J[a>>2]=8128;xj(a)}function Ed(a){a=a|0;J[a>>2]=7192;xj(a)}function lb(a){a=a|0;return J[a+28>>2]}function Sg(a){a=a|0;return J[a+60>>2]}function Rg(a){a=a|0;return J[a+48>>2]}function Qg(a){a=a|0;return J[a+40>>2]}function Ng(a){a=a|0;return J[a+56>>2]}function Mg(a){a=a|0;return J[a+88>>2]}function Lg(a){a=a|0;return J[a+80>>2]}function vc(a,b){a=a|0;b=b|0;return-1}function sc(a){a=a|0;return J[a+4>>2]}function nb(a,b){a=a|0;b=b|0;return 1}function mb(a,b){a=a|0;b=b|0;return 0}function gf(a){a=a|0;return J[a+8>>2]}function dh(a){a=a|0;return!J[a>>2]|0}function Pg(a){a=a|0;return K[a+32|0]}function Og(a){a=a|0;return H[a+24|0]}function Lj(a){return wj(a+80|0)+80|0}function Ha(a,b){a=a|0;b=b|0;return 2}function Ga(a,b){a=a|0;b=b|0;return 6}function Hg(a){a=a|0;return J[a>>2]}function Zg(){return Mi(Cj(84))|0}function Jg(){return Ya(Cj(64))|0}function Eg(){return qg(Cj(40))|0}function Dg(a){a=a|0;if(a){xj(a)}}function bk(a){a=a|0;ak(a);xj(a)}function _j(a){a=a|0;return 1272}function Zj(a){a=a|0;return 1190}function $j(a){a=a|0;return 1234}function hk(){ia=83296;ha=17760}function Da(a){a=a|0;return a|0}function uf(a){a=a|0;xj(tf(a))}function sf(a){a=a|0;xj(rf(a))}function qf(a){a=a|0;xj(of(a))}function Ri(a){a=a|0;xj(yi(a))}function Lb(a){a=a|0;xj(Kb(a))}function uc(a){a=a|0;return 0}function _c(a){a=a|0;return 6}function Uc(a){a=a|0;return 5}function Ta(a){a=a|0;return 1}function Mc(a){a=a|0;return 3}function Fa(a){a=a|0;return 2}function Ec(a){a=a|0;return 4}function ik(){return fa-ha|0}function yc(){zc(1183);C()}function eg(){Ja(1255);C()}function Yi(){return 16016}function Ia(){Ja(1183);C()}function Ea(a){a=a|0;xj(a)}function kk(){return ha|0}function jk(){return ia|0}function fk(a){a=a|0;fa=a}function ek(){return fa|0}function dk(){return ga|0}function ck(a){a=a|0;ga=a}function hb(a){a=a|0;C()}function oi(){return 12}function ni(){return 11}function mi(){return 10}function si(){return-5}function ri(){return-4}function qi(){return-3}function pi(){return-2}function li(){return 9}function ki(){return 8}function ji(){return 7}function ii(){return 6}function hi(){return 5}function gi(){return 4}function fi(){return 3}function ei(){return 2}function di(){return 1}function ci(){return 0}function bi(){return-1}function Zi(a){a=a|0} diff --git a/javascript/with_asserts/draco_decoder.wasm b/javascript/with_asserts/draco_decoder.wasm index 722f6f45..19e6ddab 100644 Binary files a/javascript/with_asserts/draco_decoder.wasm and b/javascript/with_asserts/draco_decoder.wasm differ diff --git a/javascript/with_asserts/draco_encoder.js b/javascript/with_asserts/draco_encoder.js index 7a588689..3145b065 100644 --- a/javascript/with_asserts/draco_encoder.js +++ b/javascript/with_asserts/draco_encoder.js @@ -5,22 +5,22 @@ var DracoEncoderModule = (() => { return ( function(DracoEncoderModule = {}) { -var Module=typeof DracoEncoderModule!="undefined"?DracoEncoderModule:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});["_free","_malloc","_emscripten_bind_VoidPtr___destroy___0","_emscripten_bind_GeometryAttribute_GeometryAttribute_0","_emscripten_bind_GeometryAttribute___destroy___0","_emscripten_bind_PointAttribute_PointAttribute_0","_emscripten_bind_PointAttribute_size_0","_emscripten_bind_PointAttribute_attribute_type_0","_emscripten_bind_PointAttribute_data_type_0","_emscripten_bind_PointAttribute_num_components_0","_emscripten_bind_PointAttribute_normalized_0","_emscripten_bind_PointAttribute_byte_stride_0","_emscripten_bind_PointAttribute_byte_offset_0","_emscripten_bind_PointAttribute_unique_id_0","_emscripten_bind_PointAttribute___destroy___0","_emscripten_bind_PointCloud_PointCloud_0","_emscripten_bind_PointCloud_num_attributes_0","_emscripten_bind_PointCloud_num_points_0","_emscripten_bind_PointCloud___destroy___0","_emscripten_bind_Mesh_Mesh_0","_emscripten_bind_Mesh_num_faces_0","_emscripten_bind_Mesh_num_attributes_0","_emscripten_bind_Mesh_num_points_0","_emscripten_bind_Mesh_set_num_points_1","_emscripten_bind_Mesh___destroy___0","_emscripten_bind_Metadata_Metadata_0","_emscripten_bind_Metadata___destroy___0","_emscripten_bind_DracoInt8Array_DracoInt8Array_0","_emscripten_bind_DracoInt8Array_GetValue_1","_emscripten_bind_DracoInt8Array_size_0","_emscripten_bind_DracoInt8Array___destroy___0","_emscripten_bind_MetadataBuilder_MetadataBuilder_0","_emscripten_bind_MetadataBuilder_AddStringEntry_3","_emscripten_bind_MetadataBuilder_AddIntEntry_3","_emscripten_bind_MetadataBuilder_AddIntEntryArray_4","_emscripten_bind_MetadataBuilder_AddDoubleEntry_3","_emscripten_bind_MetadataBuilder___destroy___0","_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0","_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5","_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5","_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5","_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5","_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5","_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5","_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5","_emscripten_bind_PointCloudBuilder_AddMetadata_2","_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3","_emscripten_bind_PointCloudBuilder___destroy___0","_emscripten_bind_MeshBuilder_MeshBuilder_0","_emscripten_bind_MeshBuilder_AddFacesToMesh_3","_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5","_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5","_emscripten_bind_MeshBuilder_AddMetadataToMesh_2","_emscripten_bind_MeshBuilder_AddFloatAttribute_5","_emscripten_bind_MeshBuilder_AddInt8Attribute_5","_emscripten_bind_MeshBuilder_AddUInt8Attribute_5","_emscripten_bind_MeshBuilder_AddInt16Attribute_5","_emscripten_bind_MeshBuilder_AddUInt16Attribute_5","_emscripten_bind_MeshBuilder_AddInt32Attribute_5","_emscripten_bind_MeshBuilder_AddUInt32Attribute_5","_emscripten_bind_MeshBuilder_AddMetadata_2","_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3","_emscripten_bind_MeshBuilder___destroy___0","_emscripten_bind_Encoder_Encoder_0","_emscripten_bind_Encoder_SetEncodingMethod_1","_emscripten_bind_Encoder_SetAttributeQuantization_2","_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5","_emscripten_bind_Encoder_SetSpeedOptions_2","_emscripten_bind_Encoder_SetTrackEncodedProperties_1","_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2","_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3","_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0","_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0","_emscripten_bind_Encoder___destroy___0","_emscripten_bind_ExpertEncoder_ExpertEncoder_1","_emscripten_bind_ExpertEncoder_SetEncodingMethod_1","_emscripten_bind_ExpertEncoder_SetAttributeQuantization_2","_emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5","_emscripten_bind_ExpertEncoder_SetSpeedOptions_2","_emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1","_emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2","_emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0","_emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0","_emscripten_bind_ExpertEncoder___destroy___0","_emscripten_enum_draco_GeometryAttribute_Type_INVALID","_emscripten_enum_draco_GeometryAttribute_Type_POSITION","_emscripten_enum_draco_GeometryAttribute_Type_NORMAL","_emscripten_enum_draco_GeometryAttribute_Type_COLOR","_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD","_emscripten_enum_draco_GeometryAttribute_Type_GENERIC","_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE","_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD","_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH","_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING","_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING","_fflush","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module["ready"],prop)){Object.defineProperty(Module["ready"],prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};Module["onModuleParsed"]=function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=5)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;if(e&&typeof e=="object"&&e.stack){toLog=[e,e.stack]}err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=(filename,onload,onerror)=>{var ret=tryParseAsDataURI(filename);if(ret){onload(ret)}filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(typeof read!="undefined"){read_=function shell_read(f){const data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){let data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data=="object");return data};readAsync=function readAsync(f,onload,onerror){setTimeout(()=>onload(readBinary(f)),0)};if(typeof clearTimeout=="undefined"){globalThis.clearTimeout=id=>{}}if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit=="function"){quit_=(status,toThrow)=>{logExceptionOnExit(toThrow);quit(status)}}if(typeof print!="undefined"){if(typeof console=="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");{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=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=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";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=title=>document.title=title}else{throw new Error("environment detection error")}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed (modify read_ in JS)");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify setWindowTitle in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("read","read_");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.");var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");var noExitRuntime=Module["noExitRuntime"]||true;legacyModuleProp("noExitRuntime","noExitRuntime");var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( +var Module=typeof DracoEncoderModule!="undefined"?DracoEncoderModule:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});["_free","_malloc","_emscripten_bind_VoidPtr___destroy___0","_emscripten_bind_GeometryAttribute_GeometryAttribute_0","_emscripten_bind_GeometryAttribute___destroy___0","_emscripten_bind_PointAttribute_PointAttribute_0","_emscripten_bind_PointAttribute_size_0","_emscripten_bind_PointAttribute_attribute_type_0","_emscripten_bind_PointAttribute_data_type_0","_emscripten_bind_PointAttribute_num_components_0","_emscripten_bind_PointAttribute_normalized_0","_emscripten_bind_PointAttribute_byte_stride_0","_emscripten_bind_PointAttribute_byte_offset_0","_emscripten_bind_PointAttribute_unique_id_0","_emscripten_bind_PointAttribute___destroy___0","_emscripten_bind_PointCloud_PointCloud_0","_emscripten_bind_PointCloud_num_attributes_0","_emscripten_bind_PointCloud_num_points_0","_emscripten_bind_PointCloud___destroy___0","_emscripten_bind_Mesh_Mesh_0","_emscripten_bind_Mesh_num_faces_0","_emscripten_bind_Mesh_num_attributes_0","_emscripten_bind_Mesh_num_points_0","_emscripten_bind_Mesh_set_num_points_1","_emscripten_bind_Mesh___destroy___0","_emscripten_bind_Metadata_Metadata_0","_emscripten_bind_Metadata___destroy___0","_emscripten_bind_DracoInt8Array_DracoInt8Array_0","_emscripten_bind_DracoInt8Array_GetValue_1","_emscripten_bind_DracoInt8Array_size_0","_emscripten_bind_DracoInt8Array___destroy___0","_emscripten_bind_MetadataBuilder_MetadataBuilder_0","_emscripten_bind_MetadataBuilder_AddStringEntry_3","_emscripten_bind_MetadataBuilder_AddIntEntry_3","_emscripten_bind_MetadataBuilder_AddIntEntryArray_4","_emscripten_bind_MetadataBuilder_AddDoubleEntry_3","_emscripten_bind_MetadataBuilder___destroy___0","_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0","_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5","_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5","_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5","_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5","_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5","_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5","_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5","_emscripten_bind_PointCloudBuilder_AddMetadata_2","_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3","_emscripten_bind_PointCloudBuilder_SetNormalizedFlagForAttribute_3","_emscripten_bind_PointCloudBuilder___destroy___0","_emscripten_bind_MeshBuilder_MeshBuilder_0","_emscripten_bind_MeshBuilder_AddFacesToMesh_3","_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5","_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5","_emscripten_bind_MeshBuilder_AddMetadataToMesh_2","_emscripten_bind_MeshBuilder_AddFloatAttribute_5","_emscripten_bind_MeshBuilder_AddInt8Attribute_5","_emscripten_bind_MeshBuilder_AddUInt8Attribute_5","_emscripten_bind_MeshBuilder_AddInt16Attribute_5","_emscripten_bind_MeshBuilder_AddUInt16Attribute_5","_emscripten_bind_MeshBuilder_AddInt32Attribute_5","_emscripten_bind_MeshBuilder_AddUInt32Attribute_5","_emscripten_bind_MeshBuilder_AddMetadata_2","_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3","_emscripten_bind_MeshBuilder_SetNormalizedFlagForAttribute_3","_emscripten_bind_MeshBuilder___destroy___0","_emscripten_bind_Encoder_Encoder_0","_emscripten_bind_Encoder_SetEncodingMethod_1","_emscripten_bind_Encoder_SetAttributeQuantization_2","_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5","_emscripten_bind_Encoder_SetSpeedOptions_2","_emscripten_bind_Encoder_SetTrackEncodedProperties_1","_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2","_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3","_emscripten_bind_Encoder_GetNumberOfEncodedPoints_0","_emscripten_bind_Encoder_GetNumberOfEncodedFaces_0","_emscripten_bind_Encoder___destroy___0","_emscripten_bind_ExpertEncoder_ExpertEncoder_1","_emscripten_bind_ExpertEncoder_SetEncodingMethod_1","_emscripten_bind_ExpertEncoder_SetAttributeQuantization_2","_emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5","_emscripten_bind_ExpertEncoder_SetSpeedOptions_2","_emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1","_emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2","_emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0","_emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0","_emscripten_bind_ExpertEncoder___destroy___0","_emscripten_enum_draco_GeometryAttribute_Type_INVALID","_emscripten_enum_draco_GeometryAttribute_Type_POSITION","_emscripten_enum_draco_GeometryAttribute_Type_NORMAL","_emscripten_enum_draco_GeometryAttribute_Type_COLOR","_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD","_emscripten_enum_draco_GeometryAttribute_Type_GENERIC","_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE","_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD","_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH","_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING","_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING","_fflush","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module["ready"],prop)){Object.defineProperty(Module["ready"],prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};Module["onModuleParsed"]=function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=5)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;if(e&&typeof e=="object"&&e.stack){toLog=[e,e.stack]}err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=(filename,onload,onerror)=>{var ret=tryParseAsDataURI(filename);if(ret){onload(ret)}filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(typeof read!="undefined"){read_=function shell_read(f){const data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){let data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data=="object");return data};readAsync=function readAsync(f,onload,onerror){setTimeout(()=>onload(readBinary(f)),0)};if(typeof clearTimeout=="undefined"){globalThis.clearTimeout=id=>{}}if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit=="function"){quit_=(status,toThrow)=>{logExceptionOnExit(toThrow);quit(status)}}if(typeof print!="undefined"){if(typeof console=="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");{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=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=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";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=title=>document.title=title}else{throw new Error("environment detection error")}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed (modify read_ in JS)");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify setWindowTitle in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("read","read_");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.");var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");var noExitRuntime=Module["noExitRuntime"]||true;legacyModuleProp("noExitRuntime","noExitRuntime");var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( // EMSCRIPTEN_START_ASM function instantiate(ta){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>2]=0;J[B+32>>2]=0;J[B+36>>2]=0;c:{d:{if(b>>>0<1073741824){g=b<<2;n=ol(g);J[B+36>>2]=n;J[B+32>>2]=n;j=g+n|0;u=(c|0)<=1?1:c;c=u-1|0;v=c&-4;l=c&3;r=u-2>>>0>2;F=n;g=n;e:{f:{g:{while(1){h=J[(s<<2)+a>>2];h:{if(u>>>0<2){break h}m=0;c=1;if(r){while(1){q=(c+s<<2)+a|0;k=J[q>>2];h=h>>>0>k>>>0?h:k;k=J[q+4>>2];h=h>>>0>k>>>0?h:k;k=J[q+8>>2];h=h>>>0>k>>>0?h:k;q=J[q+12>>2];h=h>>>0>q>>>0?h:q;c=c+4|0;m=m+4|0;if((v|0)!=(m|0)){continue}break}}k=0;if(!l){break h}while(1){m=J[(c+s<<2)+a>>2];h=h>>>0>m>>>0?h:m;c=c+1|0;k=k+1|0;if((l|0)!=(k|0)){continue}break}}c=h?(S(h)^31)+1|0:1;i:{if(g>>>0>>0){J[g>>2]=c;g=g+4|0;J[B+36>>2]=g;break i}m=g-F|0;q=m>>2;g=q+1|0;if(g>>>0>=1073741824){break g}j=j-F|0;k=j>>>1|0;j=j>>>0>=2147483644?1073741823:g>>>0>>0?k:g;if(j){if(j>>>0>=1073741824){break f}n=ol(j<<2)}else{n=0}g=n+(q<<2)|0;J[g>>2]=c;c=nk(n,F,m);g=g+4|0;J[B+36>>2]=g;j=c+(j<<2)|0;if(F){gl(F)}F=c}p=h>>>0>p>>>0?h:p;s=s+u|0;if((s|0)<(b|0)){continue}break}J[B+40>>2]=j;J[B+32>>2]=n;c=0;J[B+24>>2]=0;J[B+16>>2]=0;J[B+20>>2]=0;j:{if((g|0)==(F|0)){k=0;break j}c=g-F|0;if((c|0)<0){break e}k=ol(c);J[B+16>>2]=k;J[B+24>>2]=(c&-4)+k;c=F;h=k;while(1){J[h>>2]=J[c>>2];h=h+4|0;c=c+4|0;if((g|0)!=(c|0)){continue}break}J[B+20>>2]=h;c=h-k>>2;if((h|0)==(k|0)){break j}g=c>>>0<=1?1:c;q=g&3;s=0;k:{if(g-1>>>0<3){h=0;break k}n=g&-4;h=0;m=0;while(1){g=f;f=h<<2;l=J[f+k>>2];g=g+l|0;j=i;j=g>>>0>>0?j+1|0:j;l=J[(f|4)+k>>2];i=l+g|0;g=j;g=l>>>0>i>>>0?g+1|0:g;j=J[(f|8)+k>>2];i=j+i|0;g=j>>>0>i>>>0?g+1|0:g;l=i;i=J[(f|12)+k>>2];f=l+i|0;i=f>>>0>>0?g+1|0:g;h=h+4|0;m=m+4|0;if((n|0)!=(m|0)){continue}break}}if(!q){break j}while(1){j=J[(h<<2)+k>>2];f=j+f|0;g=i;i=f>>>0>>0?g+1|0:g;h=h+1|0;s=s+1|0;if((q|0)!=(s|0)){continue}break}}c=cf(k,c,32,B);v=ja;r=J[B>>2];if(k){J[B+20>>2]=k;gl(k)}m=cf(a,b,p,B);s=ja;k=J[B>>2];G=(p-k|0)/64|0;if(d){g=ol(32);H[g+22|0]=0;h=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);j=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[g+14|0]=j;H[g+15|0]=j>>>8;H[g+16|0]=j>>>16;H[g+17|0]=j>>>24;H[g+18|0]=h;H[g+19|0]=h>>>8;H[g+20|0]=h>>>16;H[g+21|0]=h>>>24;h=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);j=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[g+8|0]=j;H[g+9|0]=j>>>8;H[g+10|0]=j>>>16;H[g+11|0]=j>>>24;H[g+12|0]=h;H[g+13|0]=h>>>8;H[g+14|0]=h>>>16;H[g+15|0]=h>>>24;h=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);j=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[g|0]=j;H[g+1|0]=j>>>8;H[g+2|0]=j>>>16;H[g+3|0]=j>>>24;H[g+4|0]=h;H[g+5|0]=h>>>8;H[g+6|0]=h>>>16;H[g+7|0]=h>>>24;h=J[d+4>>2];if(h){while(1){j=K[h+27|0];q=j<<24>>24<0;j=q?J[h+20>>2]:j;n=j>>>0<22;l:{m:{n:{o:{p:{q:{l=n?j:22;if(l){q=q?J[h+16>>2]:h+16|0;t=sk(g,q,l);if(t){break q}if(j>>>0<=22){break p}break l}if(j>>>0<=22){break o}break l}if((t|0)<0){break l}}j=sk(q,g,l);if(j){break n}}if(n){break m}break d}if((j|0)>=0){break d}}h=h+4|0}h=J[h>>2];if(h){continue}break}}gl(g)}if((S(p>>>0<=1?1:p)^30)>>>0<18){g=c;c=dm(f,i,u,0);f=g+c|0;g=ja+v|0;g=c>>>0>f>>>0?g+1|0:g;c=r<<3;q=c>>31<<1|c>>>31;i=f;f=c<<1;c=i+f|0;j=g+q|0;j=c>>>0>>0?j+1|0:j;f=c;c=k+G<<3;i=c;h=c>>31;c=m;g=k<<3;m=g;c=c+g|0;g=(g>>31)+s|0;h=(c>>>0>>0?g+1|0:g)+h|0;g=c;c=c+i|0;h=g>>>0>c>>>0?h+1|0:h;c=(h|0)<=(j|0)&c>>>0<=f>>>0|(h|0)<(j|0)}else{c=0}break c}J[B+40>>2]=j;J[B+32>>2]=n;break a}J[B+32>>2]=n;Ya();C()}break a}break a}gl(g);c=ol(32);J[B>>2]=c;J[B+4>>2]=22;J[B+8>>2]=-2147483616;f=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);i=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[c+14|0]=i;H[c+15|0]=i>>>8;H[c+16|0]=i>>>16;H[c+17|0]=i>>>24;H[c+18|0]=f;H[c+19|0]=f>>>8;H[c+20|0]=f>>>16;H[c+21|0]=f>>>24;f=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);i=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);i=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+22|0]=0;c=oi(d,B);if(H[B+11|0]>=0){break c}gl(J[B>>2])}H[B|0]=c;f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){Ba(e,J[e+4>>2],B,B+1|0)}h=0;r:{s:{switch(c|0){case 0:p=0;k=fa-336|0;fa=k;ok(k+80|0,0,256);d=J[B+36>>2];c=J[B+32>>2];t:{if((d|0)==(c|0)){break t}d=d-c>>2;d=d>>>0<=1?1:d;i=d&3;if(d-1>>>0>=3){n=d&-4;while(1){f=k+80|0;d=p<<2;g=f+(J[d+c>>2]<<3)|0;j=g;m=J[g>>2];g=J[g+4>>2];m=m+1|0;g=m?g:g+1|0;J[j>>2]=m;J[j+4>>2]=g;g=f+(J[c+(d|4)>>2]<<3)|0;j=J[g>>2];q=J[g+4>>2];j=j+1|0;q=j?q:q+1|0;J[g>>2]=j;J[g+4>>2]=q;g=f+(J[c+(d|8)>>2]<<3)|0;j=J[g>>2];m=J[g+4>>2];j=j+1|0;m=j?m:m+1|0;J[g>>2]=j;J[g+4>>2]=m;d=f+(J[c+(d|12)>>2]<<3)|0;f=J[d>>2];g=J[d+4>>2];f=f+1|0;g=f?g:g+1|0;J[d>>2]=f;J[d+4>>2]=g;p=p+4|0;h=h+4|0;if((n|0)!=(h|0)){continue}break}}if(!i){break t}h=0;while(1){d=(k+80|0)+(J[c+(p<<2)>>2]<<3)|0;f=J[d>>2];q=J[d+4>>2];f=f+1|0;q=f?q:q+1|0;J[d>>2]=f;J[d+4>>2]=q;p=p+1|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}l=k+48|0;J[l>>2]=0;J[l+4>>2]=0;H[l+24|0]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+8>>2]=0;J[l+12>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;lf(k,k+80|0,32,e);d=J[k+16>>2];f=J[k+20>>2];c=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=c;J[k+44>>2]=0;q=f<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?q+1|0:q;d=c+((m&7)<<29|d>>>3)|0;g=m>>>3|0;g=c>>>0>d>>>0?g+1|0:g;c=d+8|0;ki(e,c);c=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=16384;J[k+24>>2]=c+J[k+40>>2];li(l,b<<5,b>>31<<5|b>>>27,0);b=b-u|0;if((b|0)>=0){j=(u|0)<=0;c=b;while(1){p=J[k+32>>2];n=J[B+32>>2];f=J[k>>2]+(J[n+((c|0)/(u|0)<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(p>>>0>=i>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=p;p=J[k+32>>2]>>>8|0;J[k+32>>2]=p;if(i>>>0<=p>>>0){continue}break}n=J[B+32>>2]}g=J[f+4>>2];f=(p>>>0)/(d>>>0)|0;J[k+32>>2]=g+((f<<12)+(p-P(d,f)|0)|0);m=b-c|0;g=(m|0)/(u|0)|0;u:{if(j){break u}d=J[l+20>>2];i=d;f=J[l+16>>2];if(!f&(d|0)<=0|(d|0)<0){break u}g=J[(g<<2)+n>>2];n=0;while(1){if(!(!f&(i|0)<=0|(i|0)<0|(g|0)<=0)){f=J[(n+m<<2)+a>>2];d=J[l+12>>2];F=J[d+4>>2];h=0;while(1){i=F>>>3|0;q=i+J[d>>2]|0;v=K[q|0];D=q;q=F&7;I=D,L=hm(q)&v,H[I|0]=L;i=i+J[d>>2]|0;H[i|0]=K[i|0]|(f>>>h&1)<>2]+1|0;J[d+4>>2]=F;h=h+1|0;if((g|0)!=(h|0)){continue}break}}n=n+1|0;if((u|0)==(n|0)){break u}f=J[l+16>>2];i=J[l+20>>2];continue}}c=c-u|0;if((c|0)>=0){continue}break}}mf(k,e);mi(l);a=J[e+20>>2];if(!J[e+16>>2]&(a|0)<=0|(a|0)<0){Ba(e,J[e+4>>2],J[l>>2],J[l+4>>2])}a=J[k>>2];if(a){J[k+4>>2]=a;gl(a)}a=J[l+12>>2];J[l+12>>2]=0;if(a){gl(a)}a=J[l>>2];if(a){J[l+4>>2]=a;gl(a)}fa=k+336|0;h=1;F=J[B+32>>2];break r;case 1:break s;default:break r}}G=fa-32|0;fa=G;n=1;v:{if((k|0)>0){c=S(k);if((c^30)>>>0>17){break v}n=32-c|0}w:{if(!d){break w}c=ol(48);H[c+33|0]=0;H[c+32|0]=K[1470];f=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);i=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[c+24|0]=i;H[c+25|0]=i>>>8;H[c+26|0]=i>>>16;H[c+27|0]=i>>>24;H[c+28|0]=f;H[c+29|0]=f>>>8;H[c+30|0]=f>>>16;H[c+31|0]=f>>>24;f=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);i=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[c+16|0]=i;H[c+17|0]=i>>>8;H[c+18|0]=i>>>16;H[c+19|0]=i>>>24;H[c+20|0]=f;H[c+21|0]=f>>>8;H[c+22|0]=f>>>16;H[c+23|0]=f>>>24;f=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);i=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);i=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;x:{h=J[d+4>>2];if(h){while(1){f=K[h+27|0];i=f<<24>>24<0;f=i?J[h+20>>2]:f;g=f>>>0<33;y:{z:{A:{B:{C:{D:{j=g?f:33;if(j){i=i?J[h+16>>2]:h+16|0;m=sk(c,i,j);if(m){break D}if(f>>>0<=33){break C}break y}if(f>>>0<=33){break B}break y}if((m|0)<0){break y}}f=sk(i,c,j);if(f){break A}}if(g){break z}break x}if((f|0)>=0){break x}}h=h+4|0}h=J[h>>2];if(h){continue}break}}gl(c);break w}gl(c);c=ol(48);J[G+16>>2]=c;J[G+20>>2]=33;J[G+24>>2]=-2147483600;H[c+32|0]=K[1470];f=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);i=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[c+24|0]=i;H[c+25|0]=i>>>8;H[c+26|0]=i>>>16;H[c+27|0]=i>>>24;H[c+28|0]=f;H[c+29|0]=f>>>8;H[c+30|0]=f>>>16;H[c+31|0]=f>>>24;f=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);i=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[c+16|0]=i;H[c+17|0]=i>>>8;H[c+18|0]=i>>>16;H[c+19|0]=i>>>24;H[c+20|0]=f;H[c+21|0]=f>>>8;H[c+22|0]=f>>>16;H[c+23|0]=f>>>24;f=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);i=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);i=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+33|0]=0;c=oi(d,G+16|0);if(H[G+27|0]<0){gl(J[G+16>>2])}if((c|0)<=3){n=n-2|0;break w}if(c>>>0<=5){n=n-1|0;break w}if(c>>>0>=10){n=n+2|0;break w}n=(c>>>0>7)+n|0}c=(n|0)<=1?1:n;c=(c|0)>=18?18:c;H[G+15|0]=c;d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){Ba(e,J[e+4>>2],G+15|0,G+16|0)}h=0;E:{switch(c-1|0){case 0:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;F:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=ol(a);J[l+48>>2]=n;k=ok(n,0,(p<<3)+8|0)+a|0}G:{if((b|0)<=0){break G}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];q=J[c+4>>2];d=d+1|0;q=d?q:q+1|0;J[c>>2]=d;J[c+4>>2]=q;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break G}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;H:{if((a|0)<=0){break H}A=a&3;I:{if(a>>>0<4){a=0;break I}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;g=i+D|0;f=f+x|0;q=(f>>>0>>0?g+1|0:g)+m|0;g=f;f=f+p|0;g=(g>>>0>f>>>0?q+1|0:q)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break H}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;J:{if(a>>>0>>0){jf(l,g-a|0);break J}if(a>>>0<=g>>>0){break J}J[l+4>>2]=e+(g<<3)}k=0;K:{L:{M:{N:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;O:{if(o<4294967296&o>=0){e=~~o>>>0;break O}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break N}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;P:{if(!g){break P}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;e=0;f=ok(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break P}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Q:{R:{if((a|0)>=513){a=e;while(1){f=ol(a<<2);if(f){break R}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}wf(s,p,t+24|0,e,0,0);break Q}wf(s,p,t+24|0,e,f,a);gl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break M}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){S:{T:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));U:{if(R(w)<2147483648){i=~~w;break U}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break T}k=4096;break S}if((d|0)!=(e|0)){break S}a=1;break M}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break M}a=0;if(k>>>0<4097){break M}while(1)continue}if((d|0)<0){break K}break L}e=J[t+8>>2];if(e){gl(e)}if((d|0)<0|a){break K}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break K}a=0;o=0;V:{if((d|0)<0){break V}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break V}a=a<<3;d=J[a+f>>2];if(!d){break V}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(d>>>0)*.000244140625)+o}o=W(-o);W:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break W}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;g=d>>>0<39?g+1|0:g;d=a+((g&7)<<29|d>>>3)|0;h=g>>>3|0;j=a>>>0>d>>>0?h+1|0:h;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;gl(a)}a=J[l+48>>2];if(a){gl(a)}fa=l- -64|0;break F}h=1;break v;case 1:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;X:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=ol(a);J[l+48>>2]=n;k=ok(n,0,(p<<3)+8|0)+a|0}Y:{if((b|0)<=0){break Y}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Y}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Z:{if((a|0)<=0){break Z}A=a&3;_:{if(a>>>0<4){a=0;break _}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=h;h=g;j=i+D|0;f=f+x|0;g=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+p|0;q=(g>>>0>f>>>0?h+1|0:h)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?q+1|0:q;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Z}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;g=g+i|0;f=e+f|0;i=f>>>0>>0?g+1|0:g;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;$:{if(a>>>0>>0){jf(l,g-a|0);break $}if(a>>>0<=g>>>0){break $}J[l+4>>2]=e+(g<<3)}k=0;aa:{ba:{ca:{da:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;ea:{if(o<4294967296&o>=0){e=~~o>>>0;break ea}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break da}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;fa:{if(!g){break fa}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;e=0;f=ok(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break fa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ga:{ha:{if((a|0)>=513){a=e;while(1){f=ol(a<<2);if(f){break ha}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}zf(s,p,t+24|0,e,0,0);break ga}zf(s,p,t+24|0,e,f,a);gl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break ca}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){ia:{ja:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));ka:{if(R(w)<2147483648){i=~~w;break ka}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break ja}k=4096;break ia}if((d|0)!=(e|0)){break ia}a=1;break ca}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break ca}a=0;if(k>>>0<4097){break ca}while(1)continue}if((d|0)<0){break aa}break ba}e=J[t+8>>2];if(e){gl(e)}if((d|0)<0|a){break aa}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break aa}a=0;o=0;la:{if((d|0)<0){break la}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break la}a=a<<3;d=J[a+f>>2];if(!d){break la}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(d>>>0)*.000244140625)+o}o=W(-o);ma:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break ma}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;h=e<<1|d>>>31;d=(d<<1)+39|0;j=h;j=d>>>0<39?j+1|0:j;d=a+((j&7)<<29|d>>>3)|0;q=j>>>3|0;m=a>>>0>d>>>0?q+1|0:q;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;gl(a)}a=J[l+48>>2];if(a){gl(a)}fa=l- -64|0;break X}h=1;break v;case 2:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;na:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=ol(a);J[l+48>>2]=n;k=ok(n,0,(p<<3)+8|0)+a|0}oa:{if((b|0)<=0){break oa}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|4)>>2]<<3)+n|0;h=J[d>>2];j=J[d+4>>2];h=h+1|0;j=h?j:j+1|0;J[d>>2]=h;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];h=J[c+4>>2];d=d+1|0;h=d?h:h+1|0;J[c>>2]=d;J[c+4>>2]=h;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break oa}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;pa:{if((a|0)<=0){break pa}x=a&3;qa:{if(a>>>0<4){a=0;break qa}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;h=m;m=i+E|0;f=f+p|0;h=(f>>>0

>>0?m+1|0:m)+h|0;m=f;f=g+f|0;q=(m>>>0>f>>>0?h+1|0:h)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?q+1|0:q)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break pa}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0>>0?j+1|0:j;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ra:{if(a>>>0>>0){jf(l,g-a|0);break ra}if(a>>>0<=g>>>0){break ra}J[l+4>>2]=e+(g<<3)}k=0;sa:{ta:{ua:{va:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;wa:{if(o<4294967296&o>=0){e=~~o>>>0;break wa}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break va}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;xa:{if(!g){break xa}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;e=0;f=ok(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break xa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ya:{za:{if((a|0)>=513){a=e;while(1){f=ol(a<<2);if(f){break za}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Cf(s,p,t+24|0,e,0,0);break ya}Cf(s,p,t+24|0,e,f,a);gl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break ua}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Aa:{Ba:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Ca:{if(R(w)<2147483648){i=~~w;break Ca}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Ba}k=4096;break Aa}if((d|0)!=(e|0)){break Aa}a=1;break ua}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break ua}a=0;if(k>>>0<4097){break ua}while(1)continue}if((d|0)<0){break sa}break ta}e=J[t+8>>2];if(e){gl(e)}if((d|0)<0|a){break sa}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break sa}a=0;o=0;Da:{if((d|0)<0){break Da}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Da}a=a<<3;d=J[a+f>>2];if(!d){break Da}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(d>>>0)*.000244140625)+o}o=W(-o);Ea:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Ea}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;q=e<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?q+1|0:q;d=a+((m&7)<<29|d>>>3)|0;g=m>>>3|0;g=a>>>0>d>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;gl(a)}a=J[l+48>>2];if(a){gl(a)}fa=l- -64|0;break na}h=1;break v;case 3:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Fa:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=ol(a);J[l+48>>2]=n;k=ok(n,0,(p<<3)+8|0)+a|0}Ga:{if((b|0)<=0){break Ga}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];q=J[c+4>>2];d=d+1|0;q=d?q:q+1|0;J[c>>2]=d;J[c+4>>2]=q;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ga}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Ha:{if((a|0)<=0){break Ha}A=a&3;Ia:{if(a>>>0<4){a=0;break Ia}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;g=i+D|0;f=f+x|0;q=(f>>>0>>0?g+1|0:g)+m|0;g=f;f=f+p|0;g=(g>>>0>f>>>0?q+1|0:q)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Ha}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Ja:{if(a>>>0>>0){jf(l,g-a|0);break Ja}if(a>>>0<=g>>>0){break Ja}J[l+4>>2]=e+(g<<3)}k=0;Ka:{La:{Ma:{Na:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;Oa:{if(o<4294967296&o>=0){e=~~o>>>0;break Oa}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break Na}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Pa:{if(!g){break Pa}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;e=0;f=ok(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Pa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Qa:{Ra:{if((a|0)>=513){a=e;while(1){f=ol(a<<2);if(f){break Ra}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Ff(s,p,t+24|0,e,0,0);break Qa}Ff(s,p,t+24|0,e,f,a);gl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break Ma}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Sa:{Ta:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Ua:{if(R(w)<2147483648){i=~~w;break Ua}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Ta}k=4096;break Sa}if((d|0)!=(e|0)){break Sa}a=1;break Ma}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Ma}a=0;if(k>>>0<4097){break Ma}while(1)continue}if((d|0)<0){break Ka}break La}e=J[t+8>>2];if(e){gl(e)}if((d|0)<0|a){break Ka}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break Ka}a=0;o=0;Va:{if((d|0)<0){break Va}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Va}a=a<<3;d=J[a+f>>2];if(!d){break Va}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(d>>>0)*.000244140625)+o}o=W(-o);Wa:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Wa}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;g=d>>>0<39?g+1|0:g;d=a+((g&7)<<29|d>>>3)|0;h=g>>>3|0;j=a>>>0>d>>>0?h+1|0:h;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;gl(a)}a=J[l+48>>2];if(a){gl(a)}fa=l- -64|0;break Fa}h=1;break v;case 4:c=0;k=0;n=0;r=0;i=fa+-64|0;fa=i;J[i+56>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;Xa:{d=p+1|0;if(d){if(d>>>0>=536870912){break a}d=d<<3;c=ol(d);J[i+48>>2]=c;k=ok(c,0,(p<<3)+8|0)+d|0}Ya:{if((b|0)<=0){break Ya}p=0;if(b>>>0>=4){h=b&-4;while(1){d=p<<2;f=(J[d+a>>2]<<3)+c|0;j=J[f>>2];g=J[f+4>>2];j=j+1|0;g=j?g:g+1|0;J[f>>2]=j;J[f+4>>2]=g;f=(J[(d|4)+a>>2]<<3)+c|0;j=J[f>>2];g=J[f+4>>2];j=j+1|0;g=j?g:g+1|0;J[f>>2]=j;J[f+4>>2]=g;f=(J[(d|8)+a>>2]<<3)+c|0;g=J[f>>2];j=J[f+4>>2];g=g+1|0;j=g?j:j+1|0;J[f>>2]=g;J[f+4>>2]=j;d=(J[(d|12)+a>>2]<<3)+c|0;f=J[d>>2];g=J[d+4>>2];f=f+1|0;g=f?g:g+1|0;J[d>>2]=f;J[d+4>>2]=g;p=p+4|0;n=n+4|0;if((h|0)!=(n|0)){continue}break}}f=b&3;if(!f){break Ya}while(1){d=(J[(p<<2)+a>>2]<<3)+c|0;h=J[d>>2];g=J[d+4>>2];h=h+1|0;g=h?g:g+1|0;J[d>>2]=h;J[d+4>>2]=g;p=p+1|0;r=r+1|0;if((f|0)!=(r|0)){continue}break}}J[i+8>>2]=0;J[i+12>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i>>2]=0;J[i+4>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;lf(i,c,k-c>>3,e);d=J[i+16>>2];f=J[i+20>>2];c=J[e+4>>2]-J[e>>2]|0;J[i+40>>2]=c;J[i+44>>2]=0;g=f<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=c+((j&7)<<29|d>>>3)|0;g=j>>>3|0;q=c>>>0>d>>>0?g+1|0:g;c=d+8|0;ki(e,c);c=J[e>>2];J[i+28>>2]=0;J[i+32>>2]=16384;J[i+24>>2]=c+J[i+40>>2];if((b|0)>0){p=16384;while(1){c=b-1|0;f=J[i>>2]+(J[(c<<2)+a>>2]<<3)|0;d=J[f>>2];g=d<<10;if(g>>>0<=p>>>0){while(1){h=J[i+28>>2];J[i+28>>2]=h+1;H[h+J[i+24>>2]|0]=p;p=J[i+32>>2]>>>8|0;J[i+32>>2]=p;if(g>>>0<=p>>>0){continue}break}}g=J[f+4>>2];f=(p>>>0)/(d>>>0)|0;p=g+((f<<12)+(p-P(d,f)|0)|0)|0;J[i+32>>2]=p;d=(b|0)>1;b=c;if(d){continue}break}}mf(i,e);a=J[i>>2];if(a){J[i+4>>2]=a;gl(a)}a=J[i+48>>2];if(a){gl(a)}fa=i- -64|0;break Xa}h=1;break v;case 5:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Za:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=ol(a);J[l+48>>2]=n;k=ok(n,0,(p<<3)+8|0)+a|0}_a:{if((b|0)<=0){break _a}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break _a}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;$a:{if((a|0)<=0){break $a}A=a&3;ab:{if(a>>>0<4){a=0;break ab}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;q=i+D|0;f=f+x|0;g=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break $a}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0>>0?j+1|0:j;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;bb:{if(a>>>0>>0){jf(l,g-a|0);break bb}if(a>>>0<=g>>>0){break bb}J[l+4>>2]=e+(g<<3)}k=0;cb:{db:{eb:{fb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;gb:{if(o<4294967296&o>=0){e=~~o>>>0;break gb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break fb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;hb:{if(!g){break hb}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;e=0;f=ok(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break hb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ib:{jb:{if((a|0)>=513){a=e;while(1){f=ol(a<<2);if(f){break jb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}If(s,p,t+24|0,e,0,0);break ib}If(s,p,t+24|0,e,f,a);gl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break eb}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){kb:{lb:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));mb:{if(R(w)<2147483648){i=~~w;break mb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break lb}k=4096;break kb}if((d|0)!=(e|0)){break kb}a=1;break eb}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break eb}a=0;if(k>>>0<4097){break eb}while(1)continue}if((d|0)<0){break cb}break db}e=J[t+8>>2];if(e){gl(e)}if((d|0)<0|a){break cb}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break cb}a=0;o=0;nb:{if((d|0)<0){break nb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break nb}a=a<<3;d=J[a+f>>2];if(!d){break nb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(d>>>0)*.000244140625)+o}o=W(-o);ob:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break ob}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;h=q>>>3|0;m=a>>>0>d>>>0?h+1|0:h;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;gl(a)}a=J[l+48>>2];if(a){gl(a)}fa=l- -64|0;break Za}h=1;break v;case 6:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;pb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=ol(a);J[l+48>>2]=n;k=ok(n,0,(p<<3)+8|0)+a|0}qb:{if((b|0)<=0){break qb}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break qb}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;rb:{if((a|0)<=0){break rb}x=a&3;sb:{if(a>>>0<4){a=0;break sb}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;h=g;g=m;m=i+E|0;f=f+p|0;g=(f>>>0

>>0?m+1|0:m)+g|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?h+1|0:h)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break rb}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0>>0?q+1|0:q;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;tb:{if(a>>>0>>0){jf(l,g-a|0);break tb}if(a>>>0<=g>>>0){break tb}J[l+4>>2]=e+(g<<3)}k=0;ub:{vb:{wb:{xb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;yb:{if(o<4294967296&o>=0){e=~~o>>>0;break yb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break xb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;zb:{if(!g){break zb}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;e=0;f=ok(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break zb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Ab:{Bb:{if((a|0)>=513){a=e;while(1){f=ol(a<<2);if(f){break Bb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Lf(s,p,t+24|0,e,0,0);break Ab}Lf(s,p,t+24|0,e,f,a);gl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break wb}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Cb:{Db:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Eb:{if(R(w)<2147483648){i=~~w;break Eb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Db}k=4096;break Cb}if((d|0)!=(e|0)){break Cb}a=1;break wb}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break wb}a=0;if(k>>>0<4097){break wb}while(1)continue}if((d|0)<0){break ub}break vb}e=J[t+8>>2];if(e){gl(e)}if((d|0)<0|a){break ub}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break ub}a=0;o=0;Fb:{if((d|0)<0){break Fb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Fb}a=a<<3;d=J[a+f>>2];if(!d){break Fb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(d>>>0)*.000244140625)+o}o=W(-o);Gb:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Gb}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;h=e<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?h+1|0:h;g=m>>>3|0;d=a+((m&7)<<29|d>>>3)|0;j=d>>>0>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;gl(a)}a=J[l+48>>2];if(a){gl(a)}fa=l- -64|0;break pb}h=1;break v;case 7:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Hb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=ol(a);J[l+48>>2]=n;k=ok(n,0,(p<<3)+8|0)+a|0}Ib:{if((b|0)<=0){break Ib}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|4)>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];j=J[d+4>>2];h=h+1|0;j=h?j:j+1|0;J[d>>2]=h;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];h=J[c+4>>2];d=d+1|0;h=d?h:h+1|0;J[c>>2]=d;J[c+4>>2]=h;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ib}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Jb:{if((a|0)<=0){break Jb}A=a&3;Kb:{if(a>>>0<4){a=0;break Kb}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=h;j=i+D|0;f=f+x|0;h=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?h+1|0:h)+q|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+v|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Jb}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Lb:{if(a>>>0>>0){jf(l,g-a|0);break Lb}if(a>>>0<=g>>>0){break Lb}J[l+4>>2]=e+(g<<3)}k=0;Mb:{Nb:{Ob:{Pb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;Qb:{if(o<4294967296&o>=0){e=~~o>>>0;break Qb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break Pb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Rb:{if(!g){break Rb}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;e=0;f=ok(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Rb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Sb:{Tb:{if((a|0)>=513){a=e;while(1){f=ol(a<<2);if(f){break Tb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Of(s,p,t+24|0,e,0,0);break Sb}Of(s,p,t+24|0,e,f,a);gl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break Ob}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Ub:{Vb:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Wb:{if(R(w)<2147483648){i=~~w;break Wb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Vb}k=4096;break Ub}if((d|0)!=(e|0)){break Ub}a=1;break Ob}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Ob}a=0;if(k>>>0<4097){break Ob}while(1)continue}if((d|0)<0){break Mb}break Nb}e=J[t+8>>2];if(e){gl(e)}if((d|0)<0|a){break Mb}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break Mb}a=0;o=0;Xb:{if((d|0)<0){break Xb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Xb}a=a<<3;d=J[a+f>>2];if(!d){break Xb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(d>>>0)*.000244140625)+o}o=W(-o);Yb:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Yb}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;g=j>>>3|0;q=a>>>0>d>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;gl(a)}a=J[l+48>>2];if(a){gl(a)}fa=l- -64|0;break Hb}h=1;break v;case 8:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;Zb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=ol(a);J[k+48>>2]=r;n=ok(r,0,(p<<3)+8|0)+a|0}_b:{if((b|0)<=0){break _b}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break _b}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=fa-32|0;fa=t;a=n-r>>3;$b:{if((a|0)<=0){break $b}A=a&3;ac:{if(a>>>0<4){a=0;break ac}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;v=g;q=i+D|0;f=f+x|0;g=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=f+v|0;g=(m>>>0>f>>>0?g+1|0:g)+u|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break $b}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;j=g+i|0;f=d+f|0;i=f>>>0>>0?j+1|0:j;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;bc:{if(a>>>0>>0){jf(k,g-a|0);break bc}if(a>>>0<=g>>>0){break bc}J[k+4>>2]=d+(g<<3)}n=0;cc:{dc:{ec:{fc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*8192+.5;gc:{if(o<4294967296&o>=0){d=~~o>>>0;break gc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==8192){break fc}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;hc:{if(!g){break hc}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;d=0;f=ok(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break hc}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;ic:{jc:{if((a|0)>=513){a=d;while(1){f=ol(a<<2);if(f){break jc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Rf(s,p,t+24|0,d,0,0);break ic}Rf(s,p,t+24|0,d,f,a);gl(f)}if((n|0)<8192){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)- -8192;a=0;break ec}if((c|0)>0){h=J[k>>2];p=n+-8192|0;while(1){o=8192/+(n|0);d=c;while(1){kc:{lc:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));mc:{if(R(w)<2147483648){i=~~w;break mc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=8192){break lc}n=8192;break kc}if((c|0)!=(d|0)){break kc}a=1;break ec}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break ec}a=0;if(n>>>0<8193){break ec}while(1)continue}if((c|0)<0){break cc}break dc}d=J[t+8>>2];if(d){gl(d)}if((c|0)<0|a){break cc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=8192){break cc}a=0;o=0;nc:{if((c|0)<0){break nc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.0001220703125)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*.0001220703125)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break nc}a=a<<3;c=J[a+f>>2];if(!c){break nc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(c>>>0)*.0001220703125)+o}o=W(-o);oc:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break oc}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;h=q>>>3|0;m=a>>>0>c>>>0?h+1|0:h;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=32768;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=32768;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<13)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-32768|0;pc:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break pc}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+49152>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break pc}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;f=b+8355840|0;H[d+2|0]=f>>>16;H[d+1|0]=f>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break pc}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1073774592|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=f>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break pc}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;nk(d+c|0,c,b);mk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){gl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;gl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;gl(a)}a=J[k+48>>2];if(a){gl(a)}fa=k- -64|0;break Zb}h=1;break v;case 9:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;qc:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=ol(a);J[k+48>>2]=r;n=ok(r,0,(p<<3)+8|0)+a|0}rc:{if((b|0)<=0){break rc}a=0;if(b>>>0>=4){j=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=J[g>>2];m=J[g+4>>2];h=h+1|0;m=h?m:m+1|0;J[g>>2]=h;J[g+4>>2]=m;g=(J[l+(c|4)>>2]<<3)+r|0;m=J[g>>2];h=J[g+4>>2];m=m+1|0;h=m?h:h+1|0;J[g>>2]=m;J[g+4>>2]=h;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}d=b&3;if(!d){break rc}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;v=fa-32|0;fa=v;a=n-r>>3;sc:{if((a|0)<=0){break sc}x=a&3;tc:{if(a>>>0<4){a=0;break tc}A=a&-4;a=0;while(1){g=(a<<3)+r|0;t=J[g>>2];m=J[g+4>>2];E=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;D=(u<<3)+r|0;h=J[D>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|t?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[D+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;q=i+E|0;f=f+t|0;m=(f>>>0>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+u|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+n|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;d=d+4|0;if((A|0)!=(d|0)){continue}break}}if(!x){break sc}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;h=g+i|0;f=d+f|0;i=f>>>0>>0?h+1|0:h;p=p+1|0;if((x|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;uc:{if(a>>>0>>0){jf(k,g-a|0);break uc}if(a>>>0<=g>>>0){break uc}J[k+4>>2]=d+(g<<3)}n=0;vc:{wc:{xc:{yc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*32768+.5;zc:{if(o<4294967296&o>=0){d=~~o>>>0;break zc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==32768){break yc}}J[v+16>>2]=0;J[v+8>>2]=0;J[v+12>>2]=0;p=0;Ac:{if(!g){break Ac}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[v+8>>2]=s;d=0;f=ok(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Ac}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[v+24>>2]=k;a=p-s|0;d=a>>2;Bc:{Cc:{if((a|0)>=513){a=d;while(1){f=ol(a<<2);if(f){break Cc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Uf(s,p,v+24|0,d,0,0);break Bc}Uf(s,p,v+24|0,d,f,a);gl(f)}if((n|0)<32768){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+32768;a=0;break xc}if((c|0)>0){h=J[k>>2];p=n-32768|0;while(1){o=32768/+(n|0);d=c;while(1){Dc:{Ec:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Fc:{if(R(w)<2147483648){i=~~w;break Fc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=32768){break Ec}n=32768;break Dc}if((c|0)!=(d|0)){break Dc}a=1;break xc}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break xc}a=0;if(n>>>0<32769){break xc}while(1)continue}if((c|0)<0){break vc}break wc}d=J[v+8>>2];if(d){gl(d)}if((c|0)<0|a){break vc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=32768){break vc}a=0;o=0;Gc:{if((c|0)<0){break Gc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*30517578125e-15)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*30517578125e-15)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Gc}a=a<<3;c=J[a+f>>2];if(!c){break Gc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(c>>>0)*30517578125e-15)+o}o=W(-o);Hc:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Hc}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=v+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;g=q>>>3|0;j=a>>>0>c>>>0?g+1|0:g;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=131072;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=131072;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<15)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-131072|0;Ic:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break Ic}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break Ic}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+8257536>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break Ic}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1073872896|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break Ic}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;nk(d+c|0,c,b);mk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){gl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;gl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;gl(a)}a=J[k+48>>2];if(a){gl(a)}fa=k- -64|0;break qc}h=1;break v;case 10:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;Jc:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=ol(a);J[k+48>>2]=r;n=ok(r,0,(p<<3)+8|0)+a|0}Kc:{if((b|0)<=0){break Kc}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|4)>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break Kc}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=fa-32|0;fa=t;a=n-r>>3;Lc:{if((a|0)<=0){break Lc}A=a&3;Mc:{if(a>>>0<4){a=0;break Mc}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=j;v=q;q=i+D|0;f=f+x|0;j=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?j+1|0:j)+v|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+u|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break Lc}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;g=g+i|0;f=d+f|0;i=f>>>0>>0?g+1|0:g;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;Nc:{if(a>>>0>>0){jf(k,g-a|0);break Nc}if(a>>>0<=g>>>0){break Nc}J[k+4>>2]=d+(g<<3)}n=0;Oc:{Pc:{Qc:{Rc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*65536+.5;Sc:{if(o<4294967296&o>=0){d=~~o>>>0;break Sc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==65536){break Rc}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Tc:{if(!g){break Tc}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;d=0;f=ok(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Tc}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;Uc:{Vc:{if((a|0)>=513){a=d;while(1){f=ol(a<<2);if(f){break Vc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Xf(s,p,t+24|0,d,0,0);break Uc}Xf(s,p,t+24|0,d,f,a);gl(f)}if((n|0)<65536){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+65536;a=0;break Qc}if((c|0)>0){h=J[k>>2];p=n-65536|0;while(1){o=65536/+(n|0);d=c;while(1){Wc:{Xc:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Yc:{if(R(w)<2147483648){i=~~w;break Yc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=65536){break Xc}n=65536;break Wc}if((c|0)!=(d|0)){break Wc}a=1;break Qc}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break Qc}a=0;if(n>>>0<65537){break Qc}while(1)continue}if((c|0)<0){break Oc}break Pc}d=J[t+8>>2];if(d){gl(d)}if((c|0)<0|a){break Oc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=65536){break Oc}a=0;o=0;Zc:{if((c|0)<0){break Zc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*152587890625e-16)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*152587890625e-16)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Zc}a=a<<3;c=J[a+f>>2];if(!c){break Zc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(c>>>0)*152587890625e-16)+o}o=W(-o);_c:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break _c}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;m=q>>>3|0;h=a>>>0>c>>>0?m+1|0:m;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=262144;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=262144;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<16)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-262144|0;$c:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break $c}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break $c}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+8126464>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break $c}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1074003968|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break $c}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;nk(d+c|0,c,b);mk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){gl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;gl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;gl(a)}a=J[k+48>>2];if(a){gl(a)}fa=k- -64|0;break Jc}h=1;break v;case 11:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;ad:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=ol(a);J[k+48>>2]=r;n=ok(r,0,(p<<3)+8|0)+a|0}bd:{if((b|0)<=0){break bd}a=0;if(b>>>0>=4){j=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;m=J[g>>2];h=J[g+4>>2];m=m+1|0;h=m?h:h+1|0;J[g>>2]=m;J[g+4>>2]=h;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];m=J[g+4>>2];h=h+1|0;m=h?m:m+1|0;J[g>>2]=h;J[g+4>>2]=m;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}d=b&3;if(!d){break bd}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=fa-32|0;fa=t;a=n-r>>3;cd:{if((a|0)<=0){break cd}A=a&3;dd:{if(a>>>0<4){a=0;break dd}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=j;j=h;v=q;q=i+D|0;f=f+x|0;h=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?h+1|0:h)+v|0;m=f;f=f+j|0;j=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+u|0;i=g>>>0>f>>>0?j+1|0:j;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break cd}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;m=g+i|0;f=d+f|0;i=f>>>0>>0?m+1|0:m;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;ed:{if(a>>>0>>0){jf(k,g-a|0);break ed}if(a>>>0<=g>>>0){break ed}J[k+4>>2]=d+(g<<3)}n=0;fd:{gd:{hd:{id:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*262144+.5;jd:{if(o<4294967296&o>=0){d=~~o>>>0;break jd}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==262144){break id}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;kd:{if(!g){break kd}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;d=0;f=ok(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break kd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;ld:{md:{if((a|0)>=513){a=d;while(1){f=ol(a<<2);if(f){break md}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}_f(s,p,t+24|0,d,0,0);break ld}_f(s,p,t+24|0,d,f,a);gl(f)}if((n|0)<262144){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+262144;a=0;break hd}if((c|0)>0){h=J[k>>2];p=n-262144|0;while(1){o=262144/+(n|0);d=c;while(1){nd:{od:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));pd:{if(R(w)<2147483648){i=~~w;break pd}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=262144){break od}n=262144;break nd}if((c|0)!=(d|0)){break nd}a=1;break hd}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break hd}a=0;if(n>>>0<262145){break hd}while(1)continue}if((c|0)<0){break fd}break gd}d=J[t+8>>2];if(d){gl(d)}if((c|0)<0|a){break fd}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=262144){break fd}a=0;o=0;qd:{if((c|0)<0){break qd}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*3814697265625e-18)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*3814697265625e-18)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break qd}a=a<<3;c=J[a+f>>2];if(!c){break qd}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(c>>>0)*3814697265625e-18)+o}o=W(-o);rd:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break rd}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;j=q>>>3|0;g=a>>>0>c>>>0?j+1|0:j;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=1048576;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=1048576;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<18)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b+-1048576|0;sd:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break sd}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break sd}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+7340032>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break sd}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1074790400|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break sd}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;nk(d+c|0,c,b);mk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){gl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;gl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;gl(a)}a=J[k+48>>2];if(a){gl(a)}fa=k- -64|0;break ad}h=1;break v;case 12:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;td:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=ol(a);J[k+48>>2]=r;n=ok(r,0,(p<<3)+8|0)+a|0}ud:{if((b|0)<=0){break ud}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break ud}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=fa-32|0;fa=t;a=n-r>>3;vd:{if((a|0)<=0){break vd}A=a&3;wd:{if(a>>>0<4){a=0;break wd}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;v=g;q=i+D|0;f=f+x|0;g=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=f+v|0;g=(m>>>0>f>>>0?g+1|0:g)+u|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break vd}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;j=g+i|0;f=d+f|0;i=f>>>0>>0?j+1|0:j;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;xd:{if(a>>>0>>0){jf(k,g-a|0);break xd}if(a>>>0<=g>>>0){break xd}J[k+4>>2]=d+(g<<3)}n=0;yd:{zd:{Ad:{Bd:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*524288+.5;Cd:{if(o<4294967296&o>=0){d=~~o>>>0;break Cd}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==524288){break Bd}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Dd:{if(!g){break Dd}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;d=0;f=ok(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Dd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;Ed:{Fd:{if((a|0)>=513){a=d;while(1){f=ol(a<<2);if(f){break Fd}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}bg(s,p,t+24|0,d,0,0);break Ed}bg(s,p,t+24|0,d,f,a);gl(f)}if((n|0)<524288){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+524288;a=0;break Ad}if((c|0)>0){h=J[k>>2];p=n-524288|0;while(1){o=524288/+(n|0);d=c;while(1){Gd:{Hd:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Id:{if(R(w)<2147483648){i=~~w;break Id}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=524288){break Hd}n=524288;break Gd}if((c|0)!=(d|0)){break Gd}a=1;break Ad}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break Ad}a=0;if(n>>>0<524289){break Ad}while(1)continue}if((c|0)<0){break yd}break zd}d=J[t+8>>2];if(d){gl(d)}if((c|0)<0|a){break yd}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=524288){break yd}a=0;o=0;Jd:{if((c|0)<0){break Jd}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*19073486328125e-19)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*19073486328125e-19)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Jd}a=a<<3;c=J[a+f>>2];if(!c){break Jd}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(c>>>0)*19073486328125e-19)+o}o=W(-o);Kd:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Kd}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;h=q>>>3|0;m=a>>>0>c>>>0?h+1|0:h;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=2097152;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=2097152;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<19)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-2097152|0;Ld:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break Ld}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break Ld}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+6291456>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break Ld}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1075838976|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break Ld}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;nk(d+c|0,c,b);mk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){gl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;gl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;gl(a)}a=J[k+48>>2];if(a){gl(a)}fa=k- -64|0;break td}h=1;break v;case 13:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Md:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=ol(a);J[l+48>>2]=n;k=ok(n,0,(p<<3)+8|0)+a|0}Nd:{if((b|0)<=0){break Nd}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];q=J[d+4>>2];h=h+1|0;q=h?q:q+1|0;J[d>>2]=h;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];m=J[c+4>>2];d=d+1|0;m=d?m:m+1|0;J[c>>2]=d;J[c+4>>2]=m;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Nd}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Od:{if((a|0)<=0){break Od}x=a&3;Pd:{if(a>>>0<4){a=0;break Pd}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;q=i+E|0;f=f+p|0;m=(f>>>0

>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+v|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break Od}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;h=g+i|0;f=e+f|0;i=f>>>0>>0?h+1|0:h;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Qd:{if(a>>>0>>0){jf(l,g-a|0);break Qd}if(a>>>0<=g>>>0){break Qd}J[l+4>>2]=e+(g<<3)}k=0;Rd:{Sd:{Td:{Ud:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;Vd:{if(o<4294967296&o>=0){e=~~o>>>0;break Vd}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ud}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Wd:{if(!g){break Wd}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;e=0;f=ok(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Wd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Xd:{Yd:{if((a|0)>=513){a=e;while(1){f=ol(a<<2);if(f){break Yd}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}eg(s,p,t+24|0,e,0,0);break Xd}eg(s,p,t+24|0,e,f,a);gl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Td}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){Zd:{_d:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));$d:{if(R(w)<2147483648){i=~~w;break $d}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break _d}k=1048576;break Zd}if((d|0)!=(e|0)){break Zd}a=1;break Td}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Td}a=0;if(k>>>0<1048577){break Td}while(1)continue}if((d|0)<0){break Rd}break Sd}e=J[t+8>>2];if(e){gl(e)}if((d|0)<0|a){break Rd}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break Rd}a=0;o=0;ae:{if((d|0)<0){break ae}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break ae}a=a<<3;d=J[a+f>>2];if(!d){break ae}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);be:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break be}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;g=q>>>3|0;j=a>>>0>d>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;gl(a)}a=J[l+48>>2];if(a){gl(a)}fa=l- -64|0;break Md}h=1;break v;case 14:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;ce:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=ol(a);J[l+48>>2]=n;k=ok(n,0,(p<<3)+8|0)+a|0}de:{if((b|0)<=0){break de}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break de}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;ee:{if((a|0)<=0){break ee}A=a&3;fe:{if(a>>>0<4){a=0;break fe}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=g;j=i+D|0;f=f+x|0;g=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+q|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break ee}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0>>0?q+1|0:q;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ge:{if(a>>>0>>0){jf(l,g-a|0);break ge}if(a>>>0<=g>>>0){break ge}J[l+4>>2]=e+(g<<3)}k=0;he:{ie:{je:{ke:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;le:{if(o<4294967296&o>=0){e=~~o>>>0;break le}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break ke}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;me:{if(!g){break me}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;e=0;f=ok(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break me}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ne:{oe:{if((a|0)>=513){a=e;while(1){f=ol(a<<2);if(f){break oe}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}hg(s,p,t+24|0,e,0,0);break ne}hg(s,p,t+24|0,e,f,a);gl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break je}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){pe:{qe:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));re:{if(R(w)<2147483648){i=~~w;break re}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break qe}k=1048576;break pe}if((d|0)!=(e|0)){break pe}a=1;break je}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break je}a=0;if(k>>>0<1048577){break je}while(1)continue}if((d|0)<0){break he}break ie}e=J[t+8>>2];if(e){gl(e)}if((d|0)<0|a){break he}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break he}a=0;o=0;se:{if((d|0)<0){break se}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break se}a=a<<3;d=J[a+f>>2];if(!d){break se}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);te:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break te}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;m=j>>>3|0;h=a>>>0>d>>>0?m+1|0:m;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;gl(a)}a=J[l+48>>2];if(a){gl(a)}fa=l- -64|0;break ce}h=1;break v;case 15:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;ue:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=ol(a);J[l+48>>2]=n;k=ok(n,0,(p<<3)+8|0)+a|0}ve:{if((b|0)<=0){break ve}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];g=J[d+4>>2];h=h+1|0;g=h?g:g+1|0;J[d>>2]=h;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];h=J[d+4>>2];g=g+1|0;h=g?h:h+1|0;J[d>>2]=g;J[d+4>>2]=h;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((m|0)!=(r|0)){continue}break}}d=b&3;if(!d){break ve}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;we:{if((a|0)<=0){break we}A=a&3;xe:{if(a>>>0<4){a=0;break xe}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;p=g;h=i+D|0;f=f+x|0;g=(f>>>0>>0?h+1|0:h)+m|0;m=f;f=f+p|0;m=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?m+1|0:m)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break we}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0>>0?j+1|0:j;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ye:{if(a>>>0>>0){jf(l,g-a|0);break ye}if(a>>>0<=g>>>0){break ye}J[l+4>>2]=e+(g<<3)}k=0;ze:{Ae:{Be:{Ce:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;De:{if(o<4294967296&o>=0){e=~~o>>>0;break De}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ce}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Ee:{if(!g){break Ee}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;e=0;f=ok(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Ee}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Fe:{Ge:{if((a|0)>=513){a=e;while(1){f=ol(a<<2);if(f){break Ge}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}kg(s,p,t+24|0,e,0,0);break Fe}kg(s,p,t+24|0,e,f,a);gl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Be}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){He:{Ie:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Je:{if(R(w)<2147483648){i=~~w;break Je}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break Ie}k=1048576;break He}if((d|0)!=(e|0)){break He}a=1;break Be}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Be}a=0;if(k>>>0<1048577){break Be}while(1)continue}if((d|0)<0){break ze}break Ae}e=J[t+8>>2];if(e){gl(e)}if((d|0)<0|a){break ze}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break ze}a=0;o=0;Ke:{if((d|0)<0){break Ke}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Ke}a=a<<3;d=J[a+f>>2];if(!d){break Ke}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);Le:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Le}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;m=e<<1|d>>>31;d=(d<<1)+39|0;h=m;h=d>>>0<39?h+1|0:h;g=h>>>3|0;d=a+((h&7)<<29|d>>>3)|0;q=d>>>0>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;gl(a)}a=J[l+48>>2];if(a){gl(a)}fa=l- -64|0;break ue}h=1;break v;case 16:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Me:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=ol(a);J[l+48>>2]=n;k=ok(n,0,(p<<3)+8|0)+a|0}Ne:{if((b|0)<=0){break Ne}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];q=J[d+4>>2];h=h+1|0;q=h?q:q+1|0;J[d>>2]=h;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];m=J[c+4>>2];d=d+1|0;m=d?m:m+1|0;J[c>>2]=d;J[c+4>>2]=m;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ne}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Oe:{if((a|0)<=0){break Oe}x=a&3;Pe:{if(a>>>0<4){a=0;break Pe}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;q=i+E|0;f=f+p|0;m=(f>>>0

>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+v|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break Oe}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;h=g+i|0;f=e+f|0;i=f>>>0>>0?h+1|0:h;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Qe:{if(a>>>0>>0){jf(l,g-a|0);break Qe}if(a>>>0<=g>>>0){break Qe}J[l+4>>2]=e+(g<<3)}k=0;Re:{Se:{Te:{Ue:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;Ve:{if(o<4294967296&o>=0){e=~~o>>>0;break Ve}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ue}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;We:{if(!g){break We}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;e=0;f=ok(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break We}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Xe:{Ye:{if((a|0)>=513){a=e;while(1){f=ol(a<<2);if(f){break Ye}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}ng(s,p,t+24|0,e,0,0);break Xe}ng(s,p,t+24|0,e,f,a);gl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Te}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){Ze:{_e:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));$e:{if(R(w)<2147483648){i=~~w;break $e}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break _e}k=1048576;break Ze}if((d|0)!=(e|0)){break Ze}a=1;break Te}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Te}a=0;if(k>>>0<1048577){break Te}while(1)continue}if((d|0)<0){break Re}break Se}e=J[t+8>>2];if(e){gl(e)}if((d|0)<0|a){break Re}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break Re}a=0;o=0;af:{if((d|0)<0){break af}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break af}a=a<<3;d=J[a+f>>2];if(!d){break af}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);bf:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break bf}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;g=q>>>3|0;j=a>>>0>d>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;gl(a)}a=J[l+48>>2];if(a){gl(a)}fa=l- -64|0;break Me}h=1;break v;case 17:break E;default:break v}}u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;cf:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=ol(a);J[l+48>>2]=n;k=ok(n,0,(p<<3)+8|0)+a|0}df:{if((b|0)<=0){break df}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break df}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;ef:{if((a|0)<=0){break ef}A=a&3;ff:{if(a>>>0<4){a=0;break ff}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=g;j=i+D|0;f=f+x|0;g=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+q|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break ef}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0>>0?q+1|0:q;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;gf:{if(a>>>0>>0){jf(l,g-a|0);break gf}if(a>>>0<=g>>>0){break gf}J[l+4>>2]=e+(g<<3)}k=0;hf:{jf:{kf:{lf:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;mf:{if(o<4294967296&o>=0){e=~~o>>>0;break mf}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break lf}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;nf:{if(!g){break nf}if(g>>>0>=1073741824){break a}i=g<<2;s=ol(i);J[t+8>>2]=s;e=0;f=ok(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break nf}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;of:{pf:{if((a|0)>=513){a=e;while(1){f=ol(a<<2);if(f){break pf}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}qg(s,p,t+24|0,e,0,0);break of}qg(s,p,t+24|0,e,f,a);gl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break kf}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){qf:{rf:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));sf:{if(R(w)<2147483648){i=~~w;break sf}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break rf}k=1048576;break qf}if((d|0)!=(e|0)){break qf}a=1;break kf}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break kf}a=0;if(k>>>0<1048577){break kf}while(1)continue}if((d|0)<0){break hf}break jf}e=J[t+8>>2];if(e){gl(e)}if((d|0)<0|a){break hf}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break hf}a=0;o=0;tf:{if((d|0)<0){break tf}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*rk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break tf}a=a<<3;d=J[a+f>>2];if(!d){break tf}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*rk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);uf:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break uf}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;m=j>>>3|0;h=a>>>0>d>>>0?m+1|0:m;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;gl(a)}a=J[l+48>>2];if(a){gl(a)}fa=l- -64|0;break cf}h=1}fa=G+32|0}if(!F){break b}J[B+36>>2]=F;gl(F)}fa=B+48|0;return h}Ia();C()}function Ob(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=Q(0),x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,T=0,U=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,ga=0,ha=0;d=fa-1680|0;fa=d;c=10-Pb(J[J[a+28>>2]+48>>2])|0;c=(c|0)>=6?6:c;f=J[a+72>>2];H[d+1679|0]=(c&255)==6?(f|0)>15?5:c:c;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],d+1679|0,d+1680|0);f=J[a+72>>2]}y=J[J[J[a+28>>2]+4>>2]+80>>2];J[d+1668>>2]=0;J[d+1660>>2]=0;J[d+1664>>2]=0;J[d+1648>>2]=y;J[d+1652>>2]=f;J[d+1656>>2]=f<<2;a:{b:{c:{d:{g=P(f,y);if(g){if(g>>>0>=1073741824){break d}c=g<<2;h=ol(c);J[d+1660>>2]=h;k=c+h|0;J[d+1668>>2]=k;ok(h,0,c);J[d+1664>>2]=k}J[d+1672>>2]=h;k=J[a+4>>2];if((k|0)!=J[a+8>>2]){while(1){e=J[J[J[J[a+28>>2]+4>>2]+8>>2]+(J[(i<<2)+k>>2]<<2)>>2];c=J[e+28>>2];if(c-1>>>0>=6){if((c|0)!=9){break a}e=J[J[a+60>>2]+(p<<2)>>2];if(!e){break a}p=p+1|0;c=J[e+28>>2]}e:{f:{g:{switch(c-1|0){case 5:if(!y){break e}k=0;while(1){f=(J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],k)<<2)|0;h=J[J[e>>2]>>2];g=J[e+48>>2];c=dm(J[e+40>>2],J[e+44>>2],K[e+84|0]?k:J[J[e+68>>2]+(k<<2)>>2],0);j=c;c=c+g|0;mk(f,c+h|0,K[e+24|0]<<2);k=k+1|0;if((y|0)!=(k|0)){continue}break};break e;case 0:case 2:case 4:c=K[e+24|0];h:{if(!c){g=0;h=0;break h}h=0;c=c<<2;g=ol(c);ok(g,0,c);c=K[e+24|0];if(!c){break h}c=c<<2;h=ol(c);ok(h,0,c)}if(y){f=0;while(1){Lb(e,K[e+84|0]?f:J[J[e+68>>2]+(f<<2)>>2],H[e+24|0],g);j=K[e+24|0];i:{if(!j){break i}l=J[a+48>>2];k=0;if((j|0)!=1){n=j&254;c=0;while(1){r=k<<2;J[r+h>>2]=J[g+r>>2]-J[l+(k+q<<2)>>2];r=k|1;v=r<<2;J[v+h>>2]=J[g+v>>2]-J[l+(q+r<<2)>>2];k=k+2|0;c=c+2|0;if((n|0)!=(c|0)){continue}break}}if(!(j&1)){break i}c=k<<2;J[c+h>>2]=J[c+g>>2]-J[l+(k+q<<2)>>2]}mk((J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],f)<<2)|0,h,j<<2);f=f+1|0;if((y|0)!=(f|0)){continue}break}}c=K[e+24|0];if(h){gl(h)}q=c+q|0;if(g){break f}break e;default:break g}}c=K[e+24|0];j:{if(!c){g=0;break j}c=c<<2;g=ol(c);ok(g,0,c)}if(y){k=0;while(1){c=K[e+84|0]?k:J[J[e+68>>2]+(k<<2)>>2];j=K[e+24|0];l=0;k:{if(!g){break k}l:{m:{switch(J[e+28>>2]-1|0){case 0:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=dm(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=H[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 1:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=dm(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=K[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 2:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=dm(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=I[f>>1];f=f+2|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 3:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=dm(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=L[f>>1];f=f+2|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 4:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=dm(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=J[f>>2];f=f+4|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 5:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=dm(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=J[f>>2];f=f+4|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 6:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=dm(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;n=J[h+4>>2];while(1){if(f>>>0>=n>>>0){break k}c=J[f>>2];if(J[f+4>>2]){break k}J[(l<<2)+g>>2]=c;f=f+8|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 7:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=dm(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;n=J[h+4>>2];while(1){if(f>>>0>=n>>>0){break k}c=J[f>>2];if(J[f+4>>2]){break k}J[(l<<2)+g>>2]=c;f=f+8|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 8:n:{o:{h=K[e+24|0];if(!(h>>>0>>0?h:j)){break o}f=J[e>>2];h=J[f>>2];l=J[e+48>>2];c=dm(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+l|0;l=c+h|0;n=J[f+4>>2];f=n-h|0;if(!K[e+32|0]){if((c|0)>=(f|0)){break n}f=0;while(1){w=N[l>>2];if(w>=Q(4294967296)|w=Q(0)){c=~~w>>>0}else{c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break o}l=l+4|0;if(n>>>0>l>>>0){continue}break}break n}if((c|0)>=(f|0)){break n}f=0;while(1){w=N[l>>2];if(w>=Q(4294967296)|wQ(1)){break n}m=(f<<2)+g|0;t=V(+w*4294967295+.5);p:{if(t<4294967296&t>=0){c=~~t>>>0;break p}c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break o}l=l+4|0;if(n>>>0>l>>>0){continue}break}break n}if(h>>>0>=j>>>0){break n}ok((h<<2)+g|0,0,j-h<<2)}break k;case 9:q:{r:{h=K[e+24|0];if(!(h>>>0>>0?h:j)){break r}f=J[e>>2];h=J[f>>2];l=J[e+48>>2];c=dm(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+l|0;l=c+h|0;n=J[f+4>>2];f=n-h|0;if(!K[e+32|0]){if((c|0)>=(f|0)){break q}f=0;while(1){t=O[l>>3];if(t>=4294967295|t<0|(R(t)==Infinity|t!=t)){break q}m=(f<<2)+g|0;if(t<4294967296&t>=0){c=~~t>>>0}else{c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break r}l=l+8|0;if(n>>>0>l>>>0){continue}break}break q}if((c|0)>=(f|0)){break q}f=0;while(1){t=O[l>>3];if(t>=4294967295|t<0|(R(t)==Infinity|t!=t)){break q}if(t>1){break q}m=(f<<2)+g|0;t=V(t*4294967295+.5);s:{if(t<4294967296&t>=0){c=~~t>>>0;break s}c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break r}l=l+8|0;if(n>>>0>l>>>0){continue}break}break q}if(h>>>0>=j>>>0){break q}ok((h<<2)+g|0,0,j-h<<2)}break k;case 10:break m;default:break k}}h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=dm(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=K[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}if(h>>>0>=j>>>0){break k}ok((h<<2)+g|0,0,j-h<<2);break k}if(h>>>0>=j>>>0){break k}ok((h<<2)+g|0,0,j-h<<2)}mk((J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],k)<<2)|0,g,K[e+24|0]<<2);k=k+1|0;if((y|0)!=(k|0)){continue}break}}if(!g){break e}}gl(g)}o=K[e+24|0]+o|0;i=i+1|0;k=J[a+4>>2];if(i>>>0>2]-k>>2>>>0){continue}break}f=J[a+72>>2];g=P(y,f);h=J[d+1672>>2]}k=0;if((g|0)<=0){break b}c=g&1;if((g|0)==1){g=0;break c}e=g&-2;g=0;a=0;while(1){j=g<<2;l=J[j+h>>2];if(l){l=S(l);k=(l^31)<(k|0)?k:32-l|0}j=J[(j|4)+h>>2];if(j){j=S(j);k=(j^31)<(k|0)?k:32-j|0}g=g+2|0;a=a+2|0;if((e|0)!=(a|0)){continue}break}break c}Ia();C()}if(!c){break b}a=J[(g<<2)+h>>2];if(!a){break b}a=S(a);k=(a^31)<(k|0)?k:32-a|0}t:{u:{switch(K[d+1679|0]){case 6:p=Rb(d+456|0,f);a=J[d+1652>>2];J[d+448>>2]=a;J[d+432>>2]=a;J[d+32>>2]=a;J[d+16>>2]=a;J[d+440>>2]=0;J[d+424>>2]=J[d+1648>>2];a=d+1648|0;J[d+444>>2]=a;c=J[d+444>>2];J[d+24>>2]=J[d+440>>2];J[d+28>>2]=c;J[d+428>>2]=a;J[d+420>>2]=k;a=J[d+428>>2];J[d+8>>2]=J[d+424>>2];J[d+12>>2]=a;n=fa-32|0;fa=n;J[p>>2]=J[d+420>>2];a=J[d+8>>2]-J[d+24>>2]|0;J[p+4>>2]=a;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){a=p+4|0;Ba(b,J[b+4>>2],p,a);c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],a,p+8|0)}a=J[a>>2]}if(a){W=p+12|0;Zb(W);X=p+1068|0;a=X;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];Y=p+1088|0;a=Y;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];Z=p+1108|0;a=Z;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];J[n+24>>2]=J[d+32>>2];a=J[d+28>>2];J[n+16>>2]=J[d+24>>2];J[n+20>>2]=a;J[n+8>>2]=J[d+16>>2];a=J[d+12>>2];J[n>>2]=J[d+8>>2];J[n+4>>2]=a;c=0;g=0;i=fa+-64|0;fa=i;e=J[p+8>>2];J[i+48>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;v:{w:{if(e){if(e>>>0>=1073741824){break w}a=e<<2;c=ol(a);J[i+40>>2]=c;g=a+c|0;J[i+48>>2]=g;ok(c,0,a);J[i+44>>2]=g}a=J[p+1164>>2];k=J[a>>2];if(k){J[a+4>>2]=k;gl(k);e=J[p+8>>2];g=J[i+44>>2];c=J[i+40>>2]}J[a+4>>2]=g;J[a>>2]=c;J[a+8>>2]=J[i+48>>2];c=0;J[i+48>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;a=0;x:{if(e){if(e>>>0>=1073741824){break x}k=e<<2;a=ol(k);J[i+40>>2]=a;c=a+k|0;J[i+48>>2]=c;ok(a,0,k);J[i+44>>2]=c}k=J[p+1176>>2];f=J[k>>2];if(f){J[k+4>>2]=f;gl(f);c=J[i+44>>2];a=J[i+40>>2]}J[k+4>>2]=c;J[k>>2]=a;J[k+8>>2]=J[i+48>>2];h=J[n+20>>2];l=J[n+24>>2];f=J[n+4>>2];y=J[n+8>>2];c=J[n>>2];k=J[n+16>>2];J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;dc(i+40|0);a=J[i+56>>2]+J[i+60>>2]|0;e=(a>>>0)/113|0;a=J[J[i+44>>2]+(e<<2)>>2]+P(a-P(e,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=c-k;J[a+24>>2]=0;J[a+16>>2]=f;J[a+20>>2]=y;J[a+12>>2]=c;J[a+4>>2]=h;J[a+8>>2]=l;J[a>>2]=k;e=J[i+60>>2]+1|0;J[i+60>>2]=e;if(e){a=l;aa=a&-4;_=a&3;ba=p+1068|0;$=p+12|0;ca=p+1108|0;da=a>>>0<4;while(1){a=J[i+44>>2];g=J[i+56>>2];o=e-1|0;c=g+o|0;k=(c>>>0)/113|0;c=J[a+(k<<2)>>2]+P(c-P(k,113)|0,36)|0;T=J[c+32>>2];j=J[c+12>>2];k=J[c>>2];J[i+60>>2]=o;c=J[i+48>>2];if((((a|0)!=(c|0)?P(c-a>>2,113)-1|0:0)-(e+g|0)|0)+1>>>0>=226){gl(J[c-4>>2]);J[i+48>>2]=J[i+48>>2]-4}J[n+16>>2]=k;J[n>>2]=j;a=J[p+1164>>2];c=J[p+1176>>2];J[i+32>>2]=J[n+24>>2];e=J[n+20>>2];J[i+24>>2]=J[n+16>>2];J[i+28>>2]=e;J[i+16>>2]=J[n+8>>2];e=J[n+4>>2];J[i+8>>2]=J[n>>2];J[i+12>>2]=e;U=P(T,12);v=a+U|0;q=v;D=c+U|0;a=D;e=0;g=J[p+8>>2];y:{z:{A:{B:{s=J[i+8>>2];o=J[i+24>>2];u=s-o|0;if(u>>>0>=64){if(!g){break z}E=J[p+1140>>2];F=J[a>>2];G=J[p+1128>>2];if((o|0)!=(s|0)){break B}g=0;while(1){a=g<<2;c=a+G|0;J[c>>2]=0;q=a+E|0;e=J[p>>2];a=J[a+F>>2];J[q>>2]=e-a;if((a|0)!=(e|0)){q=c;a=J[c>>2];c=u-a|0;J[q>>2]=a>>>0>>0?c:a}c=J[p+8>>2];g=g+1|0;if(c>>>0>g>>>0){continue}break}break A}if(g>>>0<2){break y}o=g-1|0;q=o&3;c=J[a>>2];a=0;C:{if(g-2>>>0<3){g=1;break C}r=o&-4;g=1;o=0;while(1){s=g+3|0;u=g+2|0;x=g+1|0;e=M[c+(e<<2)>>2]>M[c+(g<<2)>>2]?g:e;e=M[c+(e<<2)>>2]>M[c+(x<<2)>>2]?x:e;e=M[c+(e<<2)>>2]>M[c+(u<<2)>>2]?u:e;e=M[c+(e<<2)>>2]>M[c+(s<<2)>>2]?s:e;g=g+4|0;o=o+4|0;if((r|0)!=(o|0)){continue}break}}if(!q){break y}while(1){e=M[c+(e<<2)>>2]>M[c+(g<<2)>>2]?g:e;g=g+1|0;a=a+1|0;if((q|0)!=(a|0)){continue}break}break y}z=J[i+28>>2];B=J[q>>2];ea=u&1;q=o+1|0;ga=(q|0)!=(s|0);m=J[i+32>>2];ha=P(m,o)<<2;while(1){a=e<<2;r=a+G|0;J[r>>2]=0;c=J[p>>2];g=J[a+F>>2];x=c-g|0;J[a+E>>2]=x;if((c|0)!=(g|0)){x=J[a+B>>2]+(1<>2]|0;c=J[r>>2];if(ea){c=(x>>>0>M[A+ha>>2])+c|0;J[r>>2]=c;a=q}else{a=o}g=a;if(ga){while(1){a=(x>>>0>M[A+(P(g,m)<<2)>>2])+c|0;J[r>>2]=a;c=a+(x>>>0>M[A+(P(m,g+1|0)<<2)>>2])|0;J[r>>2]=c;g=g+2|0;if((s|0)!=(g|0)){continue}break}}a=u-c|0;J[r>>2]=a>>>0>c>>>0?a:c}c=J[p+8>>2];e=e+1|0;if(c>>>0>e>>>0){continue}break}}if(!c){e=0;break z}u=c&1;q=J[p+1128>>2];r=J[p+1140>>2];D:{if((c|0)==1){g=0;c=0;e=0;break D}x=c&-2;g=0;c=0;e=0;o=0;while(1){a=g<<2;E:{if(!J[a+r>>2]){a=c;break E}s=J[a+q>>2];a=c>>>0>s>>>0?c:s;e=c>>>0>>0?g:e}A=g|1;c=A<<2;F:{if(!J[c+r>>2]){c=a;break F}s=J[c+q>>2];c=a>>>0>s>>>0?a:s;e=a>>>0>>0?A:e}g=g+2|0;o=o+2|0;if((x|0)!=(o|0)){continue}break}}if(!u){break z}a=g<<2;if(!J[a+r>>2]){break z}e=M[a+q>>2]>c>>>0?g:e}gc(p+1088|0,4,e)}c=J[p>>2];q=e<<2;g=J[q+J[D>>2]>>2];G:{H:{if((c|0)==(g|0)){break H}I:{J:{x=j-k|0;if(x>>>0<=2){g=J[p+1152>>2];J[g>>2]=e;c=1;a=J[p+8>>2];if(a>>>0>1){break J}break I}a=J[p+1164>>2];F=T+1|0;A=P(F,12);o=a+A|0;if((o|0)!=(v|0)){ec(o,J[v>>2],J[v+4>>2]);a=J[p+1164>>2]}a=q+J[a+A>>2]|0;r=J[a>>2]+(1<>2]=r;a=k;K:{if((j|0)==(a|0)){break K}G=J[h+24>>2];D=G+q|0;a=j;c=k;if(!l){if(r>>>0>M[D>>2]){break K}while(1){a=a-1|0;if((c|0)==(a|0)){a=c;break K}if(r>>>0<=M[(q+J[f+24>>2]|0)+(P(a,y)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(a|0)){continue}break}break K}while(1){g=P(c,l)<<2;if(r>>>0>M[g+D>>2]){c=c+1|0;if((c|0)!=(a|0)){continue}break K}while(1){a=a-1|0;if((c|0)==(a|0)){a=c;break K}v=J[f+24>>2]+(P(a,y)<<2)|0;if(r>>>0<=M[v+q>>2]){continue}break}s=g+G|0;E=0;g=0;o=0;if(!da){while(1){u=g<<2;m=u+s|0;z=J[m>>2];B=m;m=v+u|0;J[B>>2]=J[m>>2];J[m>>2]=z;m=u|4;z=m+s|0;B=J[z>>2];m=v+m|0;J[z>>2]=J[m>>2];J[m>>2]=B;m=u|8;z=m+s|0;B=J[z>>2];m=v+m|0;J[z>>2]=J[m>>2];J[m>>2]=B;u=u|12;m=u+s|0;z=J[m>>2];u=v+u|0;J[m>>2]=J[u>>2];J[u>>2]=z;g=g+4|0;o=o+4|0;if((aa|0)!=(o|0)){continue}break}}if(_){while(1){o=g<<2;u=o+s|0;m=J[u>>2];o=o+v|0;J[u>>2]=J[o>>2];J[o>>2]=m;g=g+1|0;E=E+1|0;if((_|0)!=(E|0)){continue}break}}c=c+1|0;if((c|0)!=(a|0)){continue}break}}o=a-k|0;r=j-a|0;if((o|0)!=(r|0)){fc(ca,o>>>0>>0)}c=S(x);v=c^31;g=x>>>1|0;L:{if(o>>>0>>0){if(!v){break L}s=g-o|0;c=1<<30-c;g=0;while(1){De((g<<5)+$|0,(c&s)!=0);c=c>>>1|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}break L}if(!v){break L}s=g-r|0;c=1<<30-c;g=0;while(1){De((g<<5)+$|0,(c&s)!=0);c=c>>>1|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}m=q;c=J[p+1176>>2];g=c+U|0;q=J[g>>2];v=m+q|0;J[v>>2]=J[v>>2]+1;ec(c+A|0,q,J[g+4>>2]);if((a|0)!=(k|0)){g=J[i+60>>2]+J[i+56>>2]|0;q=J[i+48>>2];c=J[i+44>>2];if((g|0)==(((c|0)!=(q|0)?P(q-c>>2,113)-1|0:0)|0)){dc(i+40|0);g=J[i+56>>2]+J[i+60>>2]|0;q=J[i+44>>2]}else{q=c}c=(g>>>0)/113|0;c=J[q+(c<<2)>>2]+P(g-P(c,113)|0,36)|0;J[c+32>>2]=T;J[c+28>>2]=o;J[c+24>>2]=e;J[c+16>>2]=h;J[c+12>>2]=a;J[c+4>>2]=h;J[c+8>>2]=l;J[c>>2]=k;J[c+20>>2]=l;J[i+60>>2]=J[i+60>>2]+1}if((a|0)==(j|0)){break H}g=J[i+60>>2]+J[i+56>>2]|0;k=J[i+48>>2];c=J[i+44>>2];if((g|0)==(((c|0)!=(k|0)?P(k-c>>2,113)-1|0:0)|0)){dc(i+40|0);g=J[i+56>>2]+J[i+60>>2]|0;q=J[i+44>>2]}else{q=c}c=(g>>>0)/113|0;c=J[q+(c<<2)>>2]+P(g-P(c,113)|0,36)|0;J[c+32>>2]=F;J[c+28>>2]=r;J[c+24>>2]=e;J[c+16>>2]=f;J[c+20>>2]=y;J[c+12>>2]=j;J[c+4>>2]=h;J[c>>2]=a;J[c+8>>2]=l;e=J[i+60>>2]+1|0;J[i+60>>2]=e;break G}while(1){e=(a-1|0)!=(e|0)?e+1|0:0;J[g+(c<<2)>>2]=e;a=J[p+8>>2];c=c+1|0;if(a>>>0>c>>>0){continue}break}}g=0;c=a;if((j|0)==(k|0)){break H}while(1){M:{if(!c){c=0;break M}j=J[h+24>>2]+(P(J[h+4>>2],g+k|0)<<2)|0;e=0;while(1){c=J[p>>2];o=J[J[p+1152>>2]+(e<<2)>>2]<<2;q=J[o+J[D>>2]>>2];if((c|0)!=(q|0)){gc(ba,c-q|0,J[j+o>>2]);a=J[p+8>>2]}c=a;e=e+1|0;if(c>>>0>e>>>0){continue}break}}g=g+1|0;if((x|0)!=(g|0)){continue}break}}e=J[i+60>>2]}if(e){continue}break}}J[i+60>>2]=0;f=J[i+48>>2];e=J[i+44>>2];a=f-e|0;if(a>>>0>=9){while(1){gl(J[e>>2]);e=J[i+44>>2]+4|0;J[i+44>>2]=e;f=J[i+48>>2];a=f-e|0;if(a>>>0>8){continue}break}}c=56;N:{switch((a>>>2|0)-1|0){case 1:c=113;case 0:J[i+56>>2]=c;break;default:break N}}O:{if((e|0)==(f|0)){break O}while(1){gl(J[e>>2]);e=e+4|0;if((f|0)!=(e|0)){continue}break}a=J[i+48>>2];c=J[i+44>>2];if((a|0)==(c|0)){break O}J[i+48>>2]=a+((c-a|0)+3&-4)}a=J[i+40>>2];if(a){gl(a)}fa=i- -64|0;break v}Ia();C()}Ia();C()}_b(W,b);ze(X,b);ze(Y,b);ze(Z,b)}fa=n+32|0;Qb(p);break t;case 5:c=Rb(d+456|0,f);a=J[d+1652>>2];J[d+416>>2]=a;J[d+400>>2]=a;J[d- -64>>2]=a;J[d+48>>2]=a;J[d+408>>2]=0;J[d+392>>2]=J[d+1648>>2];a=d+1648|0;J[d+412>>2]=a;f=J[d+412>>2];J[d+56>>2]=J[d+408>>2];J[d+60>>2]=f;J[d+396>>2]=a;J[d+420>>2]=k;a=J[d+396>>2];J[d+40>>2]=J[d+392>>2];J[d+44>>2]=a;a=Sb(c,d+56|0,d+40|0,d+420|0,b);Qb(c);if(a){break t}break a;case 4:c=Rb(d+456|0,f);a=J[d+1652>>2];J[d+384>>2]=a;J[d+368>>2]=a;J[d+96>>2]=a;J[d+80>>2]=a;J[d+376>>2]=0;J[d+360>>2]=J[d+1648>>2];a=d+1648|0;J[d+380>>2]=a;f=J[d+380>>2];J[d+88>>2]=J[d+376>>2];J[d+92>>2]=f;J[d+364>>2]=a;J[d+420>>2]=k;a=J[d+364>>2];J[d+72>>2]=J[d+360>>2];J[d+76>>2]=a;a=Sb(c,d+88|0,d+72|0,d+420|0,b);Qb(c);if(a){break t}break a;case 3:c=Tb(d+456|0,f);a=J[d+1652>>2];J[d+352>>2]=a;J[d+336>>2]=a;J[d+128>>2]=a;J[d+112>>2]=a;J[d+344>>2]=0;J[d+328>>2]=J[d+1648>>2];a=d+1648|0;J[d+348>>2]=a;f=J[d+348>>2];J[d+120>>2]=J[d+344>>2];J[d+124>>2]=f;J[d+332>>2]=a;J[d+420>>2]=k;a=J[d+332>>2];J[d+104>>2]=J[d+328>>2];J[d+108>>2]=a;a=Ub(c,d+120|0,d+104|0,d+420|0,b);Vb(c);if(a){break t}break a;case 2:c=Tb(d+456|0,f);a=J[d+1652>>2];J[d+320>>2]=a;J[d+304>>2]=a;J[d+160>>2]=a;J[d+144>>2]=a;J[d+312>>2]=0;J[d+296>>2]=J[d+1648>>2];a=d+1648|0;J[d+316>>2]=a;f=J[d+316>>2];J[d+152>>2]=J[d+312>>2];J[d+156>>2]=f;J[d+300>>2]=a;J[d+420>>2]=k;a=J[d+300>>2];J[d+136>>2]=J[d+296>>2];J[d+140>>2]=a;a=Ub(c,d+152|0,d+136|0,d+420|0,b);Vb(c);if(a){break t}break a;case 1:c=Wb(d+456|0,f);a=J[d+1652>>2];J[d+288>>2]=a;J[d+272>>2]=a;J[d+192>>2]=a;J[d+176>>2]=a;J[d+280>>2]=0;J[d+264>>2]=J[d+1648>>2];a=d+1648|0;J[d+284>>2]=a;f=J[d+284>>2];J[d+184>>2]=J[d+280>>2];J[d+188>>2]=f;J[d+268>>2]=a;J[d+420>>2]=k;a=J[d+268>>2];J[d+168>>2]=J[d+264>>2];J[d+172>>2]=a;a=Xb(c,d+184|0,d+168|0,d+420|0,b);Yb(c);if(a){break t}break a;case 0:break u;default:break a}}c=Wb(d+456|0,f);a=J[d+1652>>2];J[d+256>>2]=a;J[d+240>>2]=a;J[d+224>>2]=a;J[d+208>>2]=a;J[d+248>>2]=0;J[d+232>>2]=J[d+1648>>2];a=d+1648|0;J[d+252>>2]=a;f=J[d+252>>2];J[d+216>>2]=J[d+248>>2];J[d+220>>2]=f;J[d+236>>2]=a;J[d+420>>2]=k;a=J[d+236>>2];J[d+200>>2]=J[d+232>>2];J[d+204>>2]=a;a=Xb(c,d+216|0,d+200|0,d+420|0,b);Yb(c);if(!a){break a}}s=1}a=J[d+1660>>2];if(a){J[d+1664>>2]=a;gl(a)}fa=d+1680|0;return s|0}function Dk(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0;w=fa-160|0;fa=w;J[w+60>>2]=b;J[w+20>>2]=b;J[w+24>>2]=-1;h=w+16|0;J[h+112>>2]=0;J[h+116>>2]=0;n=J[h+44>>2]-J[h+4>>2]|0;J[h+120>>2]=n;J[h+124>>2]=n>>31;J[h+104>>2]=J[h+8>>2];s=fa-48|0;fa=s;if(d>>>0<=2){a:{d=d<<2;D=J[d+17292>>2];E=J[d+17280>>2];while(1){d=J[h+4>>2];b:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break b}d=xk(h)}if((d|0)==32|d-9>>>0<5){continue}break}n=1;c:{d:{switch(d-43|0){case 0:case 2:break d;default:break c}}n=(d|0)==45?-1:1;d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break c}d=xk(h)}e:{f:{while(1){if(H[g+1154|0]==(d|32)){g:{if(g>>>0>6){break g}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break g}d=xk(h)}g=g+1|0;if((g|0)!=8){continue}break f}break}if((g|0)!=3){if((g|0)==8){break f}if(g>>>0<4){break e}if((g|0)==8){break f}}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(g>>>0<4){break f}d=(d|0)<0;while(1){if(!d){J[h+4>>2]=J[h+4>>2]-1}g=g-1|0;if(g>>>0>3){continue}break}}m=fa-16|0;fa=m;r=(B(Q(Q(n|0)*Q(Infinity))),v(2));d=r&2147483647;h:{if(d-8388608>>>0<=2130706431){l=(d>>>7|0)+1065353216|0;j=d<<25;break h}l=r>>>7|2147418112;j=r<<25;if(d>>>0>=2139095040){break h}l=0;j=0;if(!d){break h}g=d;d=S(d);Sk(m,g,0,0,0,d+81|0);i=J[m>>2];k=J[m+4>>2];l=J[m+12>>2]^65536|16265-d<<16;j=J[m+8>>2]}J[s>>2]=i;J[s+4>>2]=k;J[s+8>>2]=j;J[s+12>>2]=r&-2147483648|l;fa=m+16|0;i=J[s+8>>2];k=J[s+12>>2];j=J[s>>2];m=J[s+4>>2];break a}i:{j:{k:{if(g){break k}g=0;while(1){if(H[g+1434|0]!=(d|32)){break k}l:{if(g>>>0>1){break l}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break l}d=xk(h)}g=g+1|0;if((g|0)!=3){continue}break}break j}m:{switch(g|0){case 0:n:{if((d|0)!=48){break n}g=J[h+4>>2];o:{if((g|0)!=J[h+104>>2]){J[h+4>>2]=g+1;g=K[g|0];break o}g=xk(h)}if((g&-33)==88){f=fa-432|0;fa=f;d=J[h+4>>2];p:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0];break p}g=xk(h)}q:{r:{while(1){if((g|0)!=48){s:{if((g|0)!=46){break q}d=J[h+4>>2];if((d|0)==J[h+104>>2]){break s}J[h+4>>2]=d+1;g=K[d|0];break r}}else{d=J[h+4>>2];if((d|0)!=J[h+104>>2]){x=1;J[h+4>>2]=d+1;g=K[d|0]}else{x=1;g=xk(h)}continue}break}g=xk(h)}e=1;if((g|0)!=48){break q}while(1){d=r;r=d-1|0;t=t-!d|0;d=J[h+4>>2];t:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0];break t}g=xk(h)}if((g|0)==48){continue}break}x=1}m=1073676288;while(1){u:{d=g|32;v:{w:{F=g-48|0;if(F>>>0<10){break w}if((g|0)!=46&d-97>>>0>=6){break u}if((g|0)!=46){break w}if(e){break u}e=1;r=i;t=k;break v}d=(g|0)>57?d-87|0:F;x:{if((k|0)<=0&i>>>0<=7|(k|0)<0){p=d+(p<<4)|0;break x}if(!k&i>>>0<=28){Xk(f+48|0,d);_k(f+32|0,A,C,j,m,0,0,0,1073414144);A=J[f+32>>2];C=J[f+36>>2];j=J[f+40>>2];m=J[f+44>>2];_k(f+16|0,J[f+48>>2],J[f+52>>2],J[f+56>>2],J[f+60>>2],A,C,j,m);Rk(f,J[f+16>>2],J[f+20>>2],J[f+24>>2],J[f+28>>2],l,o,y,z);y=J[f+8>>2];z=J[f+12>>2];l=J[f>>2];o=J[f+4>>2];break x}if(G|!d){break x}_k(f+80|0,A,C,j,m,0,0,0,1073610752);Rk(f- -64|0,J[f+80>>2],J[f+84>>2],J[f+88>>2],J[f+92>>2],l,o,y,z);y=J[f+72>>2];z=J[f+76>>2];G=1;l=J[f+64>>2];o=J[f+68>>2]}i=i+1|0;k=i?k:k+1|0;x=1}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0]}else{g=xk(h)}continue}break}y:{if(!x){d=J[h+116>>2];if((d|0)>0|(d|0)>=0){z:{d=J[h+4>>2];J[h+4>>2]=d-1;J[h+4>>2]=d-2;if(!e){break z}J[h+4>>2]=d-3}}Wk(f+96|0,+(n|0)*0);l=J[f+96>>2];o=J[f+100>>2];i=J[f+108>>2];d=J[f+104>>2];break y}if((k|0)<=0&i>>>0<=7|(k|0)<0){j=i;m=k;while(1){p=p<<4;j=j+1|0;m=j?m:m+1|0;if((j|0)!=8|m){continue}break}}A:{B:{C:{if((g&-33)==80){j=Ck(h);d=ja;m=d;if(j|(d|0)!=-2147483648){break A}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){break C}break B}j=0;m=0;if(J[h+116>>2]<0){break A}}J[h+4>>2]=J[h+4>>2]-1}j=0;m=0}if(!p){Wk(f+112|0,+(n|0)*0);l=J[f+112>>2];o=J[f+116>>2];i=J[f+124>>2];d=J[f+120>>2];break y}d=e?r:i;k=(e?t:k)<<2|d>>>30;d=j+(d<<2)|0;g=k+m|0;g=d>>>0>>0?g+1|0:g;i=d-32|0;k=g-(d>>>0<32)|0;d=k;if(i>>>0>0-D>>>0&(d|0)>=0|(d|0)>0){J[4842]=68;Xk(f+160|0,n);_k(f+144|0,J[f+160>>2],J[f+164>>2],J[f+168>>2],J[f+172>>2],-1,-1,-1,2147418111);_k(f+128|0,J[f+144>>2],J[f+148>>2],J[f+152>>2],J[f+156>>2],-1,-1,-1,2147418111);l=J[f+128>>2];o=J[f+132>>2];i=J[f+140>>2];d=J[f+136>>2];break y}d=D-226|0;j=d>>31;if((k|0)>=(j|0)&d>>>0<=i>>>0|(j|0)<(k|0)){if((p|0)>=0){while(1){Rk(f+416|0,l,o,y,z,0,0,0,-1073807360);d=Uk(l,o,y,z,1073610752);j=(d|0)>=0;d=j;Rk(f+400|0,l,o,y,z,d?J[f+416>>2]:l,d?J[f+420>>2]:o,d?J[f+424>>2]:y,d?J[f+428>>2]:z);d=i;i=d-1|0;k=k-!d|0;y=J[f+408>>2];z=J[f+412>>2];l=J[f+400>>2];o=J[f+404>>2];p=j|p<<1;if((p|0)>=0){continue}break}}g=k-((D>>31)+(i>>>0>>0)|0)|0;d=(i-D|0)+32|0;g=d>>>0<32?g+1|0:g;j=d>>>0>>0&(g|0)<=0|(g|0)<0?(d|0)>0?d:0:E;D:{if((j|0)>=113){Xk(f+384|0,n);r=J[f+392>>2];t=J[f+396>>2];A=J[f+384>>2];C=J[f+388>>2];g=0;d=0;break D}Wk(f+352|0,yk(144-j|0));Xk(f+336|0,n);A=J[f+336>>2];C=J[f+340>>2];r=J[f+344>>2];t=J[f+348>>2];zk(f+368|0,J[f+352>>2],J[f+356>>2],J[f+360>>2],J[f+364>>2],A,C,r,t);q=J[f+376>>2];u=J[f+380>>2];g=J[f+372>>2];d=J[f+368>>2]}k=!(p&1)&((Tk(l,o,y,z,0,0,0,0)|0)!=0&(j|0)<32);Yk(f+320|0,k+p|0);_k(f+304|0,A,C,r,t,J[f+320>>2],J[f+324>>2],J[f+328>>2],J[f+332>>2]);j=d;Rk(f+272|0,J[f+304>>2],J[f+308>>2],J[f+312>>2],J[f+316>>2],d,g,q,u);d=k;_k(f+288|0,A,C,r,t,d?0:l,d?0:o,d?0:y,d?0:z);Rk(f+256|0,J[f+288>>2],J[f+292>>2],J[f+296>>2],J[f+300>>2],J[f+272>>2],J[f+276>>2],J[f+280>>2],J[f+284>>2]);al(f+240|0,J[f+256>>2],J[f+260>>2],J[f+264>>2],J[f+268>>2],j,g,q,u);d=J[f+240>>2];l=J[f+244>>2];j=J[f+248>>2];r=J[f+252>>2];if(!Tk(d,l,j,r,0,0,0,0)){J[4842]=68}Ak(f+224|0,d,l,j,r,i);l=J[f+224>>2];o=J[f+228>>2];i=J[f+236>>2];d=J[f+232>>2];break y}J[4842]=68;Xk(f+208|0,n);_k(f+192|0,J[f+208>>2],J[f+212>>2],J[f+216>>2],J[f+220>>2],0,0,0,65536);_k(f+176|0,J[f+192>>2],J[f+196>>2],J[f+200>>2],J[f+204>>2],0,0,0,65536);l=J[f+176>>2];o=J[f+180>>2];i=J[f+188>>2];d=J[f+184>>2]}J[s+16>>2]=l;J[s+20>>2]=o;J[s+24>>2]=d;J[s+28>>2]=i;fa=f+432|0;i=J[s+24>>2];k=J[s+28>>2];j=J[s+16>>2];m=J[s+20>>2];break a}if(J[h+116>>2]<0){break n}J[h+4>>2]=J[h+4>>2]-1}g=h;f=n;h=0;e=fa-8976|0;fa=e;G=0-D|0;F=G-E|0;E:{F:{while(1){if((d|0)!=48){G:{if((d|0)!=46){break E}d=J[g+4>>2];if((d|0)==J[g+104>>2]){break G}J[g+4>>2]=d+1;d=K[d|0];break F}}else{d=J[g+4>>2];if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0]}else{d=xk(g)}h=1;continue}break}d=xk(g)}q=1;if((d|0)!=48){break E}while(1){d=i;i=d-1|0;k=k-!d|0;d=J[g+4>>2];H:{if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0];break H}d=xk(g)}if((d|0)==48){continue}break}h=1}J[e+784>>2]=0;I:{J:{n=(d|0)==46;l=d-48|0;K:{L:{if(n|l>>>0<=9){while(1){M:{if(n&1){if(!q){i=j;k=m;q=1;break M}n=!h;break L}j=j+1|0;m=j?m:m+1|0;if((p|0)<=2044){x=(d|0)==48?x:j;n=(e+784|0)+(p<<2)|0;if(u){l=(P(J[n>>2],10)+d|0)-48|0}J[n>>2]=l;h=1;l=u+1|0;d=(l|0)==9;u=d?0:l;p=d+p|0;break M}if((d|0)==48){break M}J[e+8960>>2]=J[e+8960>>2]|1;x=18396}d=J[g+4>>2];N:{if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0];break N}d=xk(g)}n=(d|0)==46;l=d-48|0;if(n|l>>>0<10){continue}break}}i=q?i:j;k=q?k:m;if(!(!h|(d&-33)!=69)){l=Ck(g);d=ja;o=d;O:{if(l|(d|0)!=-2147483648){break O}l=0;o=0;if(J[g+116>>2]<0){break O}J[g+4>>2]=J[g+4>>2]-1}k=k+o|0;i=i+l|0;k=i>>>0>>0?k+1|0:k;break J}n=!h;if((d|0)<0){break K}}if(J[g+116>>2]<0){break K}J[g+4>>2]=J[g+4>>2]-1}if(!n){break J}J[4842]=28;j=0;m=0;J[g+112>>2]=0;J[g+116>>2]=0;d=J[g+44>>2]-J[g+4>>2]|0;J[g+120>>2]=d;J[g+124>>2]=d>>31;J[g+104>>2]=J[g+8>>2];i=0;d=0;break I}d=J[e+784>>2];if(!d){Wk(e,+(f|0)*0);j=J[e>>2];m=J[e+4>>2];i=J[e+12>>2];d=J[e+8>>2];break I}if(!(j>>>0>9&(m|0)>=0|(m|0)>0|((i|0)!=(j|0)|(k|0)!=(m|0))|(d>>>E|0?(E|0)<=30:0))){Xk(e+48|0,f);Yk(e+32|0,d);_k(e+16|0,J[e+48>>2],J[e+52>>2],J[e+56>>2],J[e+60>>2],J[e+32>>2],J[e+36>>2],J[e+40>>2],J[e+44>>2]);j=J[e+16>>2];m=J[e+20>>2];i=J[e+28>>2];d=J[e+24>>2];break I}if(i>>>0>G>>>1>>>0&(k|0)>=0|(k|0)>0){J[4842]=68;Xk(e+96|0,f);_k(e+80|0,J[e+96>>2],J[e+100>>2],J[e+104>>2],J[e+108>>2],-1,-1,-1,2147418111);_k(e- -64|0,J[e+80>>2],J[e+84>>2],J[e+88>>2],J[e+92>>2],-1,-1,-1,2147418111);j=J[e+64>>2];m=J[e+68>>2];i=J[e+76>>2];d=J[e+72>>2];break I}d=D-226|0;g=i>>>0>>0;d=d>>31;if(g&(k|0)<=(d|0)|(d|0)>(k|0)){J[4842]=68;Xk(e+144|0,f);_k(e+128|0,J[e+144>>2],J[e+148>>2],J[e+152>>2],J[e+156>>2],0,0,0,65536);_k(e+112|0,J[e+128>>2],J[e+132>>2],J[e+136>>2],J[e+140>>2],0,0,0,65536);j=J[e+112>>2];m=J[e+116>>2];i=J[e+124>>2];d=J[e+120>>2];break I}if(u){if((u|0)<=8){d=(e+784|0)+(p<<2)|0;g=J[d>>2];while(1){g=P(g,10);u=u+1|0;if((u|0)!=9){continue}break}J[d>>2]=g}p=p+1|0}P:{q=i;if((x|0)>(i|0)|(x|0)>=9|(i|0)>17){break P}if((q|0)==9){Xk(e+192|0,f);Yk(e+176|0,J[e+784>>2]);_k(e+160|0,J[e+192>>2],J[e+196>>2],J[e+200>>2],J[e+204>>2],J[e+176>>2],J[e+180>>2],J[e+184>>2],J[e+188>>2]);j=J[e+160>>2];m=J[e+164>>2];i=J[e+172>>2];d=J[e+168>>2];break I}if((q|0)<=8){Xk(e+272|0,f);Yk(e+256|0,J[e+784>>2]);_k(e+240|0,J[e+272>>2],J[e+276>>2],J[e+280>>2],J[e+284>>2],J[e+256>>2],J[e+260>>2],J[e+264>>2],J[e+268>>2]);Xk(e+224|0,J[(0-q<<2)+17280>>2]);Vk(e+208|0,J[e+240>>2],J[e+244>>2],J[e+248>>2],J[e+252>>2],J[e+224>>2],J[e+228>>2],J[e+232>>2],J[e+236>>2]);j=J[e+208>>2];m=J[e+212>>2];i=J[e+220>>2];d=J[e+216>>2];break I}d=(P(q,-3)+E|0)+27|0;i=J[e+784>>2];if(i>>>d|0?(d|0)<=30:0){break P}Xk(e+352|0,f);Yk(e+336|0,i);_k(e+320|0,J[e+352>>2],J[e+356>>2],J[e+360>>2],J[e+364>>2],J[e+336>>2],J[e+340>>2],J[e+344>>2],J[e+348>>2]);Xk(e+304|0,J[(q<<2)+17208>>2]);_k(e+288|0,J[e+320>>2],J[e+324>>2],J[e+328>>2],J[e+332>>2],J[e+304>>2],J[e+308>>2],J[e+312>>2],J[e+316>>2]);j=J[e+288>>2];m=J[e+292>>2];i=J[e+300>>2];d=J[e+296>>2];break I}while(1){d=p;p=d-1|0;if(!J[(e+784|0)+(p<<2)>>2]){continue}break}u=0;i=(q|0)%9|0;Q:{if(!i){n=0;break Q}n=0;i=(q|0)<0?i+9|0:i;R:{if(!d){d=0;break R}j=J[(0-i<<2)+17280>>2];k=1e9/(j|0)|0;l=0;g=0;while(1){m=(e+784|0)+(g<<2)|0;h=J[m>>2];p=(h>>>0)/(j>>>0)|0;l=p+l|0;J[m>>2]=l;l=!l&(g|0)==(n|0);n=l?n+1&2047:n;q=l?q-9|0:q;l=P(k,h-P(j,p)|0);g=g+1|0;if((g|0)!=(d|0)){continue}break}if(!l){break R}J[(e+784|0)+(d<<2)>>2]=l;d=d+1|0}q=(q-i|0)+9|0}while(1){x=(e+784|0)+(n<<2)|0;S:{while(1){if(((q|0)!=36|M[x>>2]>=10384593)&(q|0)>=36){break S}p=d+2047|0;l=0;h=d;while(1){d=h;o=p&2047;h=(e+784|0)+(o<<2)|0;i=J[h>>2];m=i>>>3|0;j=i<<29;i=j+l|0;g=m;k=i>>>0>>0?g+1|0:g;if(!k&i>>>0<1000000001){l=0}else{l=fm(i,k,1e9,0);i=i-dm(l,ja,1e9,0)|0}J[h>>2]=i;h=(o|0)!=(d-1&2047)?d:(n|0)==(o|0)?d:i?d:o;p=o-1|0;if((n|0)!=(o|0)){continue}break}u=u-29|0;if(!l){continue}break}n=n-1&2047;if((n|0)==(h|0)){i=e+784|0;d=i+((h+2046&2047)<<2)|0;g=d;k=J[d>>2];d=h-1&2047;J[g>>2]=k|J[i+(d<<2)>>2]}q=q+9|0;J[(e+784|0)+(n<<2)>>2]=l;continue}break}T:{U:while(1){i=d+1&2047;l=(e+784|0)+((d-1&2047)<<2)|0;while(1){j=(q|0)>45?9:1;V:{while(1){h=n;g=0;W:{while(1){X:{k=g+h&2047;if((k|0)==(d|0)){break X}k=J[(e+784|0)+(k<<2)>>2];m=J[(g<<2)+17232>>2];if(k>>>0>>0){break X}if(k>>>0>m>>>0){break W}g=g+1|0;if((g|0)!=4){continue}}break}if((q|0)!=36){break W}i=0;k=0;g=0;j=0;m=0;while(1){l=g+h&2047;if((l|0)==(d|0)){d=d+1&2047;J[(e+(d<<2)|0)+780>>2]=0}Yk(e+768|0,J[(e+784|0)+(l<<2)>>2]);_k(e+752|0,i,k,j,m,0,0,1342177280,1075633366);Rk(e+736|0,J[e+752>>2],J[e+756>>2],J[e+760>>2],J[e+764>>2],J[e+768>>2],J[e+772>>2],J[e+776>>2],J[e+780>>2]);j=J[e+744>>2];m=J[e+748>>2];i=J[e+736>>2];k=J[e+740>>2];g=g+1|0;if((g|0)!=4){continue}break}Xk(e+720|0,f);_k(e+704|0,i,k,j,m,J[e+720>>2],J[e+724>>2],J[e+728>>2],J[e+732>>2]);j=J[e+712>>2];m=J[e+716>>2];i=0;k=0;l=J[e+704>>2];o=J[e+708>>2];x=u+113|0;n=x-D|0;q=(n|0)<(E|0);g=q?(n|0)>0?n:0:E;if((g|0)<=112){break V}break T}u=j+u|0;n=d;if((d|0)==(h|0)){continue}break}m=1e9>>>j|0;p=-1<>2];k=k+(o>>>j|0)|0;J[g>>2]=k;k=!k&(h|0)==(n|0);n=k?n+1&2047:n;q=k?q-9|0:q;g=P(m,o&p);h=h+1&2047;if((h|0)!=(d|0)){continue}break}if(!g){continue}if((i|0)!=(n|0)){J[(e+784|0)+(d<<2)>>2]=g;d=i;continue U}J[l>>2]=J[l>>2]|1;continue}break}break}Wk(e+656|0,yk(225-g|0));zk(e+688|0,J[e+656>>2],J[e+660>>2],J[e+664>>2],J[e+668>>2],l,o,j,m);y=J[e+696>>2];z=J[e+700>>2];A=J[e+688>>2];C=J[e+692>>2];Wk(e+640|0,yk(113-g|0));Bk(e+672|0,l,o,j,m,J[e+640>>2],J[e+644>>2],J[e+648>>2],J[e+652>>2]);i=J[e+672>>2];k=J[e+676>>2];r=J[e+680>>2];t=J[e+684>>2];al(e+624|0,l,o,j,m,i,k,r,t);Rk(e+608|0,A,C,y,z,J[e+624>>2],J[e+628>>2],J[e+632>>2],J[e+636>>2]);j=J[e+616>>2];m=J[e+620>>2];l=J[e+608>>2];o=J[e+612>>2]}p=h+4&2047;Y:{if((p|0)==(d|0)){break Y}p=J[(e+784|0)+(p<<2)>>2];Z:{if(p>>>0<=499999999){if(!p&(h+5&2047)==(d|0)){break Z}Wk(e+496|0,+(f|0)*.25);Rk(e+480|0,i,k,r,t,J[e+496>>2],J[e+500>>2],J[e+504>>2],J[e+508>>2]);r=J[e+488>>2];t=J[e+492>>2];i=J[e+480>>2];k=J[e+484>>2];break Z}if((p|0)!=5e8){Wk(e+592|0,+(f|0)*.75);Rk(e+576|0,i,k,r,t,J[e+592>>2],J[e+596>>2],J[e+600>>2],J[e+604>>2]);r=J[e+584>>2];t=J[e+588>>2];i=J[e+576>>2];k=J[e+580>>2];break Z}I=+(f|0);if((h+5&2047)==(d|0)){Wk(e+528|0,I*.5);Rk(e+512|0,i,k,r,t,J[e+528>>2],J[e+532>>2],J[e+536>>2],J[e+540>>2]);r=J[e+520>>2];t=J[e+524>>2];i=J[e+512>>2];k=J[e+516>>2];break Z}Wk(e+560|0,I*.75);Rk(e+544|0,i,k,r,t,J[e+560>>2],J[e+564>>2],J[e+568>>2],J[e+572>>2]);r=J[e+552>>2];t=J[e+556>>2];i=J[e+544>>2];k=J[e+548>>2]}if((g|0)>111){break Y}Bk(e+464|0,i,k,r,t,0,0,0,1073676288);if(Tk(J[e+464>>2],J[e+468>>2],J[e+472>>2],J[e+476>>2],0,0,0,0)){break Y}Rk(e+448|0,i,k,r,t,0,0,0,1073676288);r=J[e+456>>2];t=J[e+460>>2];i=J[e+448>>2];k=J[e+452>>2]}Rk(e+432|0,l,o,j,m,i,k,r,t);al(e+416|0,J[e+432>>2],J[e+436>>2],J[e+440>>2],J[e+444>>2],A,C,y,z);j=J[e+424>>2];m=J[e+428>>2];l=J[e+416>>2];o=J[e+420>>2];_:{if((F-2|0)>=(x&2147483647)){break _}J[e+408>>2]=j;J[e+412>>2]=m&2147483647;J[e+400>>2]=l;J[e+404>>2]=o;_k(e+384|0,l,o,j,m,0,0,0,1073610752);d=Uk(J[e+400>>2],J[e+404>>2],J[e+408>>2],J[e+412>>2],1081081856);d=(d|0)>=0;j=d?J[e+392>>2]:j;m=d?J[e+396>>2]:m;l=d?J[e+384>>2]:l;o=d?J[e+388>>2]:o;u=d+u|0;if(!((Tk(i,k,r,t,0,0,0,0)|0)!=0&(d?q&(g|0)!=(n|0):q))&(u+110|0)<=(F|0)){break _}J[4842]=68}Ak(e+368|0,l,o,j,m,u);j=J[e+368>>2];m=J[e+372>>2];i=J[e+380>>2];d=J[e+376>>2]}J[s+40>>2]=d;J[s+44>>2]=i;J[s+32>>2]=j;J[s+36>>2]=m;fa=e+8976|0;i=J[s+40>>2];k=J[s+44>>2];j=J[s+32>>2];m=J[s+36>>2];break a;case 3:break j;default:break m}}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}J[4842]=28;break i}$:{d=J[h+4>>2];aa:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break aa}d=xk(h)}if((d|0)==40){g=1;break $}k=2147450880;if(J[h+116>>2]<0){break a}J[h+4>>2]=J[h+4>>2]-1;break a}while(1){ba:{d=J[h+4>>2];ca:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break ca}d=xk(h)}if(!(d-48>>>0<10|d-65>>>0<26|(d|0)==95)){if(d-97>>>0>=26){break ba}}g=g+1|0;continue}break}k=2147450880;if((d|0)==41){break a}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(!g){break a}while(1){g=g-1|0;if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(g){continue}break}break a}J[h+112>>2]=0;J[h+116>>2]=0;d=J[h+44>>2]-J[h+4>>2]|0;J[h+120>>2]=d;J[h+124>>2]=d>>31;J[h+104>>2]=J[h+8>>2]}}J[w>>2]=j;J[w+4>>2]=m;J[w+8>>2]=i;J[w+12>>2]=k;fa=s+48|0;d=J[w+8>>2];j=J[w+12>>2];i=J[w>>2];l=J[w+4>>2];if(c){J[c>>2]=((J[w+20>>2]+J[w+136>>2]|0)-J[w+60>>2]|0)+b}J[a+8>>2]=d;J[a+12>>2]=j;J[a>>2]=i;J[a+4>>2]=l;fa=w+160|0}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=fa-32|0;fa=l;d=J[b+8>>2];a:{b:{if(K[b+352|0]){d=Vj(d);f=J[b+12>>2];J[b+12>>2]=d;if(f){break b}break a}d=Uj(d);f=J[b+12>>2];J[b+12>>2]=d;if(!f){break a}}Tg(f)}c:{d=J[b+12>>2];d:{if(!(J[d+40>>2]!=((J[d+4>>2]-J[d>>2]>>2>>>0)/3|0)?d:0)){b=ol(32);H[b+29|0]=0;d=K[1828]|K[1829]<<8|(K[1830]<<16|K[1831]<<24);c=K[1824]|K[1825]<<8|(K[1826]<<16|K[1827]<<24);H[b+21|0]=c;H[b+22|0]=c>>>8;H[b+23|0]=c>>>16;H[b+24|0]=c>>>24;H[b+25|0]=d;H[b+26|0]=d>>>8;H[b+27|0]=d>>>16;H[b+28|0]=d>>>24;d=K[1823]|K[1824]<<8|(K[1825]<<16|K[1826]<<24);c=K[1819]|K[1820]<<8|(K[1821]<<16|K[1822]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;H[b+20|0]=d;H[b+21|0]=d>>>8;H[b+22|0]=d>>>16;H[b+23|0]=d>>>24;d=K[1815]|K[1816]<<8|(K[1817]<<16|K[1818]<<24);c=K[1811]|K[1812]<<8|(K[1813]<<16|K[1814]<<24);H[b+8|0]=c;H[b+9|0]=c>>>8;H[b+10|0]=c>>>16;H[b+11|0]=c>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1807]|K[1808]<<8|(K[1809]<<16|K[1810]<<24);c=K[1803]|K[1804]<<8|(K[1805]<<16|K[1806]<<24);H[b|0]=c;H[b+1|0]=c>>>8;H[b+2|0]=c>>>16;H[b+3|0]=c>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;J[a>>2]=-1;sl(a+4|0,b,29);gl(b);break d}j=b+200|0;d=j;J[d+128>>2]=2;J[d+132>>2]=7;J[d+64>>2]=b;c=ka[J[J[b>>2]+32>>2]](b)|0;J[d+88>>2]=c;c=J[c+28>>2]-J[c+24>>2]>>2;e=J[d+108>>2];h=J[d+104>>2];d=e-h>>2;e:{if(c>>>0>d>>>0){La(j+104|0,c-d|0);h=J[j+104>>2];e=J[j+108>>2];break e}if(c>>>0>=d>>>0){break e}e=(c<<2)+h|0;J[j+108>>2]=e}if((e|0)!=(h|0)){h=0;while(1){n=J[j+104>>2];q=n+(h<<2)|0;d=J[j+88>>2];f=-1;f:{if((h|0)==-1){break f}f=0;c=J[J[d+24>>2]+(h<<2)>>2];if((c|0)==-1){break f}k=J[d+12>>2];g=1;d=c;while(1){f=f+1|0;e=g;g:{if(e&255){g=0;i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;if((d|0)==-1){d=c;break g}i=J[k+(d<<2)>>2];if((i|0)==-1){d=c;break g}d=c;p=i+1|0;i=(p>>>0)%3|0?p:i-2|0;if((i|0)==-1){break g}g=e;d=i;if((c|0)!=(d|0)){break g}break f}h:{if((d>>>0)%3|0){d=d-1|0;break h}d=d+2|0;if((d|0)==-1){break f}}d=J[k+(d<<2)>>2];if((d|0)==-1){break f}d=(d>>>0)%3|0?d-1|0:d+2|0;g=0}if((d|0)!=-1){continue}break}}J[q>>2]=f;h=h+1|0;if(h>>>0>2]-n>>2>>>0){continue}break}}c=j+92|0;h=J[j+88>>2];e=J[h>>2];d=J[h+4>>2]-e>>2;f=J[j+92>>2];g=J[j+96>>2]-f>>2;i:{if(d>>>0>g>>>0){lh(c,d-g|0);h=J[j+88>>2];e=J[h>>2];break i}if(d>>>0>=g>>>0){break i}J[j+96>>2]=f+(d<<2)}d=J[h+4>>2];j:{if((d|0)==(e|0)){break j}d=d-e>>2;g=d>>>0<=1?1:d;i=g&3;d=J[c>>2];h=0;if(g-1>>>0>=3){g=g&-4;f=0;while(1){c=h<<2;J[c+d>>2]=J[c+e>>2];k=c|4;J[k+d>>2]=J[e+k>>2];k=c|8;J[k+d>>2]=J[e+k>>2];c=c|12;J[c+d>>2]=J[c+e>>2];h=h+4|0;f=f+4|0;if((g|0)!=(f|0)){continue}break}}if(!i){break j}while(1){c=h<<2;J[c+d>>2]=J[c+e>>2];h=h+1|0;m=m+1|0;if((i|0)!=(m|0)){continue}break}}c=(J[j+132>>2]-J[j+128>>2]|0)+1|0;e=J[j+140>>2];d=J[j+136>>2];g=(e-d|0)/12|0;k:{if(c>>>0>g>>>0){h=0;c=c-g|0;f=J[j+144>>2];d=J[j+140>>2];if(c>>>0<=(f-d|0)/12>>>0){if(c){e=d;d=P(c,12)-12|0;d=(d-((d>>>0)%12|0)|0)+12|0;d=ok(e,0,d)+d|0}J[j+140>>2]=d;break k}l:{m:{n:{e=J[j+136>>2];i=(d-e|0)/12|0;g=i+c|0;if(g>>>0<357913942){f=(f-e|0)/12|0;m=f<<1;f=f>>>0>=178956970?357913941:g>>>0>>0?m:g;if(f){if(f>>>0>=357913942){break n}h=ol(P(f,12))}g=P(i,12)+h|0;c=P(c,12)-12|0;i=(c-((c>>>0)%12|0)|0)+12|0;c=ok(g,0,i);i=c+i|0;f=P(f,12)+h|0;if((d|0)==(e|0)){break m}while(1){g=g-12|0;d=d-12|0;J[g>>2]=J[d>>2];J[g+4>>2]=J[d+4>>2];J[g+8>>2]=J[d+8>>2];J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if((d|0)!=(e|0)){continue}break}J[j+144>>2]=f;e=J[j+140>>2];J[j+140>>2]=i;d=J[j+136>>2];J[j+136>>2]=g;if((d|0)==(e|0)){break l}while(1){c=e-12|0;g=J[c>>2];if(g){J[e-8>>2]=g;gl(g)}e=c;if((c|0)!=(d|0)){continue}break}break l}break c}Ya();C()}J[j+144>>2]=f;J[j+140>>2]=i;J[j+136>>2]=c}if(d){gl(d)}break k}if(c>>>0>>0){c=d+P(c,12)|0;if((c|0)!=(e|0)){while(1){d=e-12|0;g=J[d>>2];if(g){J[e-8>>2]=g;gl(g)}e=d;if((d|0)!=(c|0)){continue}break}}J[j+140>>2]=c}}d=J[b+12>>2];yb((J[d+28>>2]-J[d+24>>2]>>2)-J[d+44>>2]|0,J[J[b+4>>2]+44>>2]);d=J[b+12>>2];yb(((J[d+4>>2]-J[d>>2]>>2>>>0)/3|0)-J[d+40>>2]|0,J[J[b+4>>2]+44>>2]);d=J[b+8>>2];c=J[d+100>>2];d=J[d+96>>2];H[l+16|0]=0;m=b+28|0;c=(c-d|0)/12|0;d=l+16|0;Jg(m,c,d);c=J[b+12>>2];e=J[c+28>>2];c=J[c+24>>2];J[l+16>>2]=-1;Ig(b+52|0,e-c>>2,d);d=J[b+40>>2];J[b+44>>2]=d;g=J[b+12>>2];c=J[g+4>>2]-J[g>>2]>>2;c=c-((c>>>0)%3|0)|0;o:{if(c>>>0<=J[b+48>>2]-d>>2>>>0){break o}if(c>>>0>=1073741824){break c}e=c<<2;c=ol(e);J[b+44>>2]=c;J[b+40>>2]=c;J[b+48>>2]=c+e;if(!d){break o}gl(d);g=J[b+12>>2]}d=J[g+28>>2];c=J[g+24>>2];H[l+16|0]=0;Jg(b+84|0,d-c>>2,l+16|0);J[b+164>>2]=-1;J[b+168>>2]=0;J[b+100>>2]=J[b+96>>2];J[b+112>>2]=J[b+108>>2];if(J[b+132>>2]){g=J[b+128>>2];if(g){while(1){d=J[g>>2];gl(g);g=d;if(d){continue}break}}g=0;J[b+128>>2]=0;d=J[b+124>>2];p:{if(!d){break p}if(d>>>0>=4){f=d&-4;e=0;while(1){c=g<<2;J[c+J[b+120>>2]>>2]=0;J[J[b+120>>2]+(c|4)>>2]=0;J[J[b+120>>2]+(c|8)>>2]=0;J[J[b+120>>2]+(c|12)>>2]=0;g=g+4|0;e=e+4|0;if((f|0)!=(e|0)){continue}break}}d=d&3;if(!d){break p}f=0;while(1){J[J[b+120>>2]+(g<<2)>>2]=0;g=g+1|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}}J[b+132>>2]=0}J[b+144>>2]=0;d=J[b+12>>2];c=J[d+28>>2];d=J[d+24>>2];J[l+16>>2]=-1;Ig(b+152|0,c-d>>2,l+16|0);d=J[b+72>>2];J[b+76>>2]=d;q=b+72|0;c=J[b+12>>2];c=J[c+4>>2]-J[c>>2]|0;e=(c>>2>>>0)/3|0;q:{if(e>>>0<=J[b+80>>2]-d>>2>>>0){break q}if((c|0)<0){break c}e=e<<2;c=ol(e);J[b+76>>2]=c;J[b+72>>2]=c;J[b+80>>2]=c+e;if(!d){break q}gl(d)}J[b- -64>>2]=0;if(!Ug(b)){b=ol(32);H[b+29|0]=0;d=K[1768]|K[1769]<<8|(K[1770]<<16|K[1771]<<24);c=K[1764]|K[1765]<<8|(K[1766]<<16|K[1767]<<24);H[b+21|0]=c;H[b+22|0]=c>>>8;H[b+23|0]=c>>>16;H[b+24|0]=c>>>24;H[b+25|0]=d;H[b+26|0]=d>>>8;H[b+27|0]=d>>>16;H[b+28|0]=d>>>24;d=K[1763]|K[1764]<<8|(K[1765]<<16|K[1766]<<24);c=K[1759]|K[1760]<<8|(K[1761]<<16|K[1762]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;H[b+20|0]=d;H[b+21|0]=d>>>8;H[b+22|0]=d>>>16;H[b+23|0]=d>>>24;d=K[1755]|K[1756]<<8|(K[1757]<<16|K[1758]<<24);c=K[1751]|K[1752]<<8|(K[1753]<<16|K[1754]<<24);H[b+8|0]=c;H[b+9|0]=c>>>8;H[b+10|0]=c>>>16;H[b+11|0]=c>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1747]|K[1748]<<8|(K[1749]<<16|K[1750]<<24);c=K[1743]|K[1744]<<8|(K[1745]<<16|K[1746]<<24);H[b|0]=c;H[b+1|0]=c>>>8;H[b+2|0]=c>>>16;H[b+3|0]=c>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;J[a>>2]=-1;sl(a+4|0,b,29);gl(b);break d}g=0;c=b;r:{if(K[b+352|0]){break r}b=J[c+8>>2];e=J[b+12>>2]-J[b+8>>2]|0;f=e>>2;b=f-1|0;d=J[c+176>>2];h=J[c+172>>2];i=(d-h|0)/136|0;s:{if(b>>>0>i>>>0){ah(c+172|0,b-i|0);break s}if(b>>>0>=i>>>0){break s}i=h+P(b,136)|0;if((i|0)!=(d|0)){while(1){b=d-136|0;h=J[b+116>>2];if(h){J[d-16>>2]=h;gl(h)}h=J[d-32>>2];if(h){J[d-28>>2]=h;gl(h)}bh(d-132|0);d=b;if((b|0)!=(i|0)){continue}break}}J[c+176>>2]=i}if((e|0)==4|(e|0)<=0){break r}i=(f|0)<=1?1:f;d=0;t:{while(1){h=J[J[J[c+8>>2]+8>>2]+(d<<2)>>2];if(J[h+56>>2]){k=P(g,136);b=k+J[c+172>>2]|0;J[b>>2]=d;e=J[b+104>>2];J[b+108>>2]=e;f=J[c+12>>2];f=J[f+4>>2]-J[f>>2]|0;n=f>>2;u:{if(n>>>0<=J[b+112>>2]-e>>2>>>0){break u}if((f|0)<0){break t}f=ol(f);J[b+108>>2]=f;J[b+104>>2]=f;J[b+112>>2]=f+(n<<2);if(!e){break u}gl(e)}b=k+J[c+172>>2]|0;J[b+128>>2]=0;Tj(b+4|0,J[c+8>>2],J[c+12>>2],h);g=g+1|0}d=d+1|0;if((i|0)!=(d|0)){continue}break}break r}break c}b=(J[c+176>>2]-J[c+172>>2]|0)/136|0;H[l+31|0]=b;d=J[J[c+4>>2]+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){Ba(d,J[d+4>>2],l+31|0,l+32|0);b=K[l+31|0]}J[c+284>>2]=b&255;b=J[c+12>>2];g=J[b>>2];b=J[b+4>>2];Vg(j);e=0;J[l+24>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;d=0;v:{w:{x:{b=b-g|0;if((b|0)>0){b=b>>>2|0;p=b>>>0<=1?1:b;g=0;while(1){b=(g>>>0)/3|0;s=b>>>5<<2;t=1<>2]>>2]&t){break y}if(Mj(J[c+12>>2],b)){break y}J[l+8>>2]=0;b=Wg(c,b,l+8|0);De(j,b);i=J[l+8>>2];if(b){h=-1;f=-1;k=-1;z:{if((i|0)==-1){break z}n=J[J[c+12>>2]>>2];b=n+(i<<2)|0;h=i+1|0;h=(h>>>0)%3|0?h:i-2|0;if((h|0)!=-1){f=J[n+(h<<2)>>2]}h=J[b>>2];A:{if((i>>>0)%3|0){b=i-1|0;break A}b=i+2|0;k=-1;if((b|0)==-1){break z}}k=J[n+(b<<2)>>2]}b=J[c+84>>2];n=b+(h>>>3&536870908)|0;J[n>>2]=J[n>>2]|1<>>3&536870908)|0;J[h>>2]=J[h>>2]|1<>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];h=J[c+104>>2];B:{if(b>>>0>>0){J[b>>2]=1;J[c+100>>2]=b+4;break B}k=b;b=J[c+96>>2];k=k-b|0;n=k>>2;f=n+1|0;if(f>>>0>=1073741824){break c}r=n<<2;h=h-b|0;n=h>>>1|0;f=h>>>0>=2147483644?1073741823:f>>>0>>0?n:f;if(f){if(f>>>0>=1073741824){break x}h=ol(f<<2)}else{h=0}n=r+h|0;J[n>>2]=1;r=f<<2;f=nk(h,b,k);J[c+104>>2]=r+f;J[c+100>>2]=n+4;J[c+96>>2]=f;if(!b){break B}gl(b)}b=s+J[m>>2]|0;J[b>>2]=t|J[b>>2];h=-1;if((i|0)!=-1){b=i+1|0;h=(b>>>0)%3|0?b:i-2|0}C:{if(e>>>0>>0){J[e>>2]=h;e=e+4|0;J[l+20>>2]=e;break C}f=e-d>>2;b=f+1|0;if(b>>>0>=1073741824){break c}k=o-d|0;o=k>>>1|0;b=k>>>0>=2147483644?1073741823:b>>>0>>0?o:b;if(b){if(b>>>0>=1073741824){break x}k=ol(b<<2)}else{k=0}f=k+(f<<2)|0;J[f>>2]=h;o=k+(b<<2)|0;b=f+4|0;if((d|0)!=(e|0)){while(1){f=f-4|0;e=e-4|0;J[f>>2]=J[e>>2];if((d|0)!=(e|0)){continue}break}}J[l+24>>2]=o;J[l+20>>2]=b;J[l+16>>2]=f;if(d){gl(d)}d=f;e=b}if((i|0)==-1){break y}b=i+1|0;b=(b>>>0)%3|0?b:i-2|0;if((b|0)==-1){break y}b=J[J[J[c+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break y}f=(b>>>0)/3|0;if(J[J[m>>2]+(f>>>3&268435452)>>2]>>>f&1){break y}if(kh(c,b)){break y}break w}if((i|0)!=-1){b=i+1|0;b=(b>>>0)%3|0?b:i-2|0}else{b=-1}Yg(c,b,1);if(!kh(c,J[l+8>>2])){break w}}g=g+1|0;if((p|0)!=(g|0)){continue}break}}g=J[c+72>>2];b=J[c+76>>2];D:{if((g|0)==(b|0)){break D}f=b-4|0;if(g>>>0>=f>>>0){break D}while(1){i=J[g>>2];J[g>>2]=J[f>>2];J[f>>2]=i;f=f-4|0;g=g+4|0;if(f>>>0>g>>>0){continue}break}}Zg(q,b,d,e);E:{if(J[c+172>>2]==J[c+176>>2]){break E}b=J[c+8>>2];e=J[b+100>>2];b=J[b+96>>2];H[l+8|0]=0;Jg(m,(e-b|0)/12|0,l+8|0);g=J[c+72>>2];b=J[c+76>>2];if((g|0)==(b|0)){break E}while(1){_g(c,J[g>>2]);g=g+4|0;if((b|0)!=(g|0)){continue}break}}m=0;g=0;b=j+32|0;Ee(j,b);if(!(!J[j+80>>2]|J[j+84>>2]<=0)){while(1){Ee(J[j+80>>2]+(m<<5)|0,b);m=m+1|0;if((m|0)>2]){continue}break}}m=J[j+136>>2];if((m|0)!=J[j+140>>2]){while(1){e=P(g,12);f=e+m|0;yb(J[f+4>>2]-J[f>>2]>>2,b);m=J[j+136>>2];e=e+m|0;f=J[e+4>>2];e=J[e>>2];if((f|0)!=(e|0)){kf(e,f-e>>2,1,0,b);m=J[j+136>>2]}g=g+1|0;if(g>>>0<(J[j+140>>2]-m|0)/12>>>0){continue}break}}yb(J[c+324>>2],J[J[c+4>>2]+44>>2]);yb(J[c+168>>2],J[J[c+4>>2]+44>>2]);if(!$g(c)){b=ol(32);H[b+28|0]=0;c=K[1909]|K[1910]<<8|(K[1911]<<16|K[1912]<<24);H[b+24|0]=c;H[b+25|0]=c>>>8;H[b+26|0]=c>>>16;H[b+27|0]=c>>>24;c=K[1905]|K[1906]<<8|(K[1907]<<16|K[1908]<<24);e=K[1901]|K[1902]<<8|(K[1903]<<16|K[1904]<<24);H[b+16|0]=e;H[b+17|0]=e>>>8;H[b+18|0]=e>>>16;H[b+19|0]=e>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1897]|K[1898]<<8|(K[1899]<<16|K[1900]<<24);e=K[1893]|K[1894]<<8|(K[1895]<<16|K[1896]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1889]|K[1890]<<8|(K[1891]<<16|K[1892]<<24);e=K[1885]|K[1886]<<8|(K[1887]<<16|K[1888]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;sl(a+4|0,b,28);gl(b);break v}b=J[J[c+4>>2]+44>>2];e=J[b+20>>2];if(!J[b+16>>2]&(e|0)<=0|(e|0)<0){Ba(b,J[b+4>>2],J[c+232>>2],J[c+236>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break v}Ya();C()}b=ol(48);H[b+32|0]=0;c=K[1703]|K[1704]<<8|(K[1705]<<16|K[1706]<<24);e=K[1699]|K[1700]<<8|(K[1701]<<16|K[1702]<<24);H[b+24|0]=e;H[b+25|0]=e>>>8;H[b+26|0]=e>>>16;H[b+27|0]=e>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1695]|K[1696]<<8|(K[1697]<<16|K[1698]<<24);e=K[1691]|K[1692]<<8|(K[1693]<<16|K[1694]<<24);H[b+16|0]=e;H[b+17|0]=e>>>8;H[b+18|0]=e>>>16;H[b+19|0]=e>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1687]|K[1688]<<8|(K[1689]<<16|K[1690]<<24);e=K[1683]|K[1684]<<8|(K[1685]<<16|K[1686]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1679]|K[1680]<<8|(K[1681]<<16|K[1682]<<24);e=K[1675]|K[1676]<<8|(K[1677]<<16|K[1678]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;sl(a+4|0,b,32);gl(b)}if(!d){break d}gl(d)}fa=l+32|0;return}Ia();C()}function ad(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;i=fa-224|0;fa=i;J[a+8>>2]=e;B=a+32|0;h=J[B>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0>>0){La(B,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){d=g;break c}h=1;f=d-1|0;s=f&1;d:{if((d|0)==2){d=g;break d}y=f&-2;d=g;while(1){j=(h<<2)+b|0;f=J[j+4>>2];j=J[j>>2];l=(j|0)<(d|0);d=l?j:d;t=(d|0)>(f|0);d=t?f:d;j=l?g:(g|0)<(j|0)?j:g;g=t?j:(f|0)>(j|0)?f:j;h=h+2|0;k=k+2|0;if((y|0)!=(k|0)){continue}break}}if(!s){break c}f=J[(h<<2)+b>>2];h=(f|0)<(d|0);d=h?f:d;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=d;f=g-d|0;d=(g>>31)-((d>>31)+(d>>>0>g>>>0)|0)|0;if(!d&f>>>0>2147483646|d){break b}d=f+1|0;J[a+20>>2]=d;f=d>>>1|0;J[a+24>>2]=f;J[a+28>>2]=0-f;if(d&1){break b}J[a+24>>2]=f-1}Z=J[a+52>>2];z=J[a+48>>2];J[i+184>>2]=0;J[i+188>>2]=0;J[i+176>>2]=0;J[i+180>>2]=0;J[i+168>>2]=0;J[i+172>>2]=0;J[i+160>>2]=0;J[i+164>>2]=0;J[i+152>>2]=0;J[i+156>>2]=0;J[i+144>>2]=0;J[i+148>>2]=0;e:{if(!e){g=0;d=0;break e}La(i+144|0,e);g=J[i+156>>2];d=J[i+160>>2]}d=d-g>>2;f:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break f}J[i+160>>2]=(e<<2)+g;break f}La(i+144|12,e-d|0)}f=J[i+168>>2];d=J[i+172>>2]-f>>2;g:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break g}J[i+172>>2]=f+(e<<2);break g}La(i+168|0,e-d|0)}h:{i:{f=J[i+180>>2];d=J[i+184>>2]-f>>2;j:{k:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[i+184>>2]=f+(e<<2)}J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0;if(e){break k}d=1;break j}La(i+180|0,e-d|0);J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0}if(e>>>0>=1073741824){break i}d=e<<2;f=ol(d);J[i+128>>2]=f;h=d+f|0;J[i+136>>2]=h;ok(f,0,d);J[i+132>>2]=h;d=0}A=a+152|0;h=J[a+152>>2];f=J[a+156>>2]-h>>2;l:{m:{if(f>>>0>>0){La(A,e-f|0);J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;d=i- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;break m}if(e>>>0>>0){J[a+156>>2]=h+(e<<2)}J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;f=i- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;s=0;if(d){break l}}d=e<<2;r=ol(d);s=ok(r,0,d)+d|0}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break h}L=e&-2;M=e&1;_=e&-4;S=e&3;N=e-1|0;U=e<<2;O=a+112|0;y=d>>>2|0;Q=s-r|0;D=Q>>2;X=(Q-4&-4)+4|0;$=i+36|0;aa=i+24|0;while(1){f=J[a+56>>2];d=J[f>>2];n:{o:{t=y-1|0;if(t>>>0>2]-d>>2>>>0){f=0;j=0;k=J[d+(t<<2)>>2];p:{if((k|0)==-1){break p}o=1;d=k+2|0;j=(k>>>0)%3|0;u=j?k-1|0:d;E=1<>2];G=l+(u>>>3&536870908)|0;h=0;I=(j|0)!=0|(d|0)!=-1;d=k;while(1){q:{if(J[l+(d>>>3&536870908)>>2]>>>d&1){break q}j=J[J[J[z+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break q}n=J[Z>>2];g=J[z+28>>2];m=J[n+(J[g+(j<<2)>>2]<<2)>>2];if((m|0)>=(t|0)){break q}p=j+1|0;p=J[n+(J[g+(((p>>>0)%3|0?p:j-2|0)<<2)>>2]<<2)>>2];if((p|0)>=(t|0)){break q}g=J[n+(J[g+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((g|0)>=(t|0)){break q}r:{if(!e){break r}j=J[(i+144|0)+P(h,12)>>2];n=P(e,g);p=P(e,p);x=P(e,m);g=0;m=0;if(N){while(1){J[j+(g<<2)>>2]=(J[(g+n<<2)+b>>2]+J[(g+p<<2)+b>>2]|0)-J[(g+x<<2)+b>>2];w=g|1;J[j+(w<<2)>>2]=(J[(n+w<<2)+b>>2]+J[(p+w<<2)+b>>2]|0)-J[(x+w<<2)+b>>2];g=g+2|0;m=m+2|0;if((L|0)!=(m|0)){continue}break}}if(!M){break r}J[j+(g<<2)>>2]=(J[(g+n<<2)+b>>2]+J[(g+p<<2)+b>>2]|0)-J[(g+x<<2)+b>>2]}j=4;h=h+1|0;if((h|0)==4){break p}}s:{if(o&1){g=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:g;if((j|0)==-1|J[l+(j>>>3&536870908)>>2]>>>j&1){break s}j=J[J[J[z+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break s}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break s}t:{if((d>>>0)%3|0){g=d-1|0;break t}g=d+2|0;d=-1;if((g|0)==-1){break s}}d=-1;if(J[l+(g>>>3&536870908)>>2]>>>g&1){break s}j=J[J[J[z+64>>2]+12>>2]+(g<<2)>>2];if((j|0)==-1){break s}if((j>>>0)%3|0){d=j-1|0;break s}d=j+2|0}if((d|0)==(k|0)){j=h;break p}if((d|0)==-1&o){if(!I){j=h;break p}if(E&J[G>>2]){j=h;break p}d=J[J[J[z+64>>2]+12>>2]+(u<<2)>>2];if((d|0)==-1){j=h;break p}o=0;d=(d>>>0)%3|0?d-1|0:d+2|0}j=h;if((d|0)!=-1){continue}break}}H[i+16|0]=0;J[i+8>>2]=0;J[i+12>>2]=0;J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;I=P(e,t)<<2;x=I+b|0;k=(P(y-2|0,e)<<2)+b|0;l=J[A>>2];d=0;if(e){while(1){g=f<<2;h=J[g+k>>2]-J[g+x>>2]|0;J[g+r>>2]=h;J[g+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=d;d=h>>31;d=g+((d^h)-d|0)|0;f=f+1|0;if((f|0)!=(e|0)){continue}break}}f=i+200|0;ef(f,O,l,e);l=hf(f);h=J[f+12>>2];f=J[f+16>>2];h=(((h-f|0)+1|0)/64|0)+f<<3;n=f<<3;f=h+n|0;h=(h>>31)+(n>>31)|0;g=ja+(f>>>0>>0?h+1|0:h)|0;h=f;f=f+l|0;h=h>>>0>f>>>0?g+1|0:g;E=(j|0)<=0;if(!E){o=(j<<3)-8|0;g=o+(i+48|0)|0;n=g;l=J[g>>2];g=J[g+4>>2];l=j+l|0;g=l>>>0>>0?g+1|0:g;J[n>>2]=l;J[n+4>>2]=g;v=W(df(l,J[o+(i+80|0)>>2])*(+(l>>>0)+ +(g|0)*4294967296));u:{if(R(v)<0x8000000000000000){l=R(v)>=1?~~(v>0?T(V(v*2.3283064365386963e-10),4294967295):W((v-+(~~v>>>0>>>0))*2.3283064365386963e-10))>>>0:0;g=~~v>>>0;break u}l=-2147483648;g=0}f=f+g|0;h=f}J[i+20>>2]=0;H[i+16|0]=0;J[i+8>>2]=f;J[i+12>>2]=d;Qa(aa,k,k+U|0);ec($,r,s);v:{w:{x:{if(E){break x}n=(i+124|0)+j|0;l=n-1|0;Y=j<<3;d=Y-8|0;G=d+(i+48|0)|0;ba=d+(i+80|0)|0;o=1;w=0;while(1){d=i+124|0;ok(d,1,j);w=w+1|0;ok(d,0,w);y:{z:while(1){if(e){ok(J[i+128>>2],0,U)}m=0;d=J[i+128>>2];u=0;while(1){if(!K[(i+124|0)+m|0]){A:{if(!e){break A}f=J[(i+144|0)+P(m,12)>>2];h=0;g=0;k=0;if(e>>>0>3){while(1){p=g<<2;q=p+d|0;J[q>>2]=J[q>>2]+J[f+p>>2];q=p|4;F=q+d|0;J[F>>2]=J[F>>2]+J[f+q>>2];q=p|8;F=q+d|0;J[F>>2]=J[F>>2]+J[f+q>>2];p=p|12;q=p+d|0;J[q>>2]=J[q>>2]+J[f+p>>2];g=g+4|0;k=k+4|0;if((_|0)!=(k|0)){continue}break}}if(!S){break A}while(1){k=g<<2;p=k+d|0;J[p>>2]=J[p>>2]+J[f+k>>2];g=g+1|0;h=h+1|0;if((S|0)!=(h|0)){continue}break}}u=1<>2];B:{C:{D:{if(e){g=0;d=0;if(N){break D}break C}k=J[A>>2];h=0;break B}while(1){h=g<<2;k=h+f|0;J[k>>2]=J[k>>2]/(o|0);h=(h|4)+f|0;J[h>>2]=J[h>>2]/(o|0);g=g+2|0;d=d+2|0;if((L|0)!=(d|0)){continue}break}}if(M){d=(g<<2)+f|0;J[d>>2]=J[d>>2]/(o|0)}k=J[A>>2];f=J[i+128>>2];d=0;h=0;if(!e){break B}while(1){m=d<<2;g=J[m+f>>2]-J[m+x>>2]|0;J[m+r>>2]=g;J[k+m>>2]=(g|0)<0?(g^-1)<<1|1:g<<1;m=h;h=g>>31;h=m+((h^g)-h|0)|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=i+200|0;ef(d,O,k,e);k=hf(d);g=J[d+12>>2];d=J[d+16>>2];g=(((g-d|0)+1|0)/64|0)+d<<3;m=d<<3;d=g+m|0;g=d+k|0;q=(j|0)>0;if(q){k=J[G+4>>2];d=J[G>>2];v=W(df(d,J[ba>>2]+o|0)*(+(d>>>0)+ +(k|0)*4294967296));E:{if(R(v)<0x8000000000000000){d=~~v>>>0;break E}d=0}g=d+g|0}d=J[i+8>>2];if(!((d|0)<=(g|0)&((d|0)<(g|0)|(h|0)>=J[i+12>>2]))){J[i+20>>2]=o;H[i+16|0]=u;J[i+8>>2]=g;J[i+12>>2]=h;k=J[i+132>>2];m=k-f|0;g=m>>2;d=J[i+32>>2];h=J[i+24>>2];F:{if(g>>>0<=d-h>>2>>>0){m=J[i+28>>2]-h|0;d=m+f|0;u=m>>2;m=u>>>0>>0?d:k;p=m-f|0;if((f|0)!=(m|0)){nk(h,f,p)}if(g>>>0>u>>>0){g=J[i+28>>2];if((k|0)==(m|0)){break F}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((k|0)!=(d|0)){continue}break}break F}g=h+p|0;break F}if(h){J[i+28>>2]=h;gl(h);J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;d=0}if((m|0)<0){break w}h=d>>>1|0;d=d>>>0>=2147483644?1073741823:g>>>0>>0?h:g;if(d>>>0>=1073741824){break w}d=d<<2;g=ol(d);J[i+24>>2]=g;J[i+32>>2]=d+g;if((f|0)==(k|0)){break F}d=(m-4&-4)+4|0;g=mk(g,f,d)+d|0}J[i+28>>2]=g;d=J[i+44>>2];f=J[i+36>>2];G:{if(d-f>>2>>>0>=D>>>0){h=J[i+40>>2]-f|0;d=h+r|0;k=h>>2;h=k>>>0>>0?d:s;g=h-r|0;if((h|0)!=(r|0)){nk(f,r,g)}if(k>>>0>>0){g=J[i+40>>2];if((h|0)==(s|0)){break G}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((s|0)!=(d|0)){continue}break}break G}g=f+g|0;break G}if(f){J[i+40>>2]=f;gl(f);J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;d=0}if((Q|0)<0){break v}f=d>>>1|0;d=d>>>0>=2147483644?1073741823:f>>>0>D>>>0?f:D;if(d>>>0>=1073741824){break v}d=d<<2;g=ol(d);J[i+36>>2]=g;J[i+44>>2]=d+g;if((r|0)==(s|0)){break G}g=mk(g,r,X)+X|0}J[i+40>>2]=g}if((l|0)==(i+124|0)){break y}g=K[l|0];d=-1;while(1){k=g&255;f=d-1|0;h=f+n|0;g=K[h|0];if(k>>>0>g>>>0){f=n;while(1){f=f-1|0;k=K[f|0];if(k>>>0<=g>>>0){continue}break}H[h|0]=k;H[f|0]=g;if((d|0)==-1){continue z}g=d+n|0;d=l;while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}continue z}d=f;if((h|0)!=(i+124|0)){continue}break}break}f=i+124|0;g=f;d=l;if(f>>>0>=d>>>0){break y}while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}}o=o+1|0;if((j|0)!=(w|0)){continue}break}if(!q){break x}h=J[i+20>>2];g=h;d=i+Y|0;f=g+J[d+72>>2]|0;h=J[d+76>>2]+(g>>31)|0;J[d+72>>2]=f;J[d+76>>2]=f>>>0>>0?h+1|0:h}if(!e){break n}d=J[A>>2];g=0;f=J[i+36>>2];k=0;if(!N){break o}while(1){l=g<<2;h=J[l+f>>2];J[d+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;l=l|4;h=J[l+f>>2];J[d+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=g+2|0;k=k+2|0;if((L|0)!=(k|0)){continue}break}break o}Ia();C()}Ia();C()}Xc();C()}if(!M){break n}h=g<<2;f=J[h+f>>2];J[d+h>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}gf(i+200|0,O,J[A>>2],e);H:{if(E){break H}g=P(j,12)+a|0;d=0;while(1){I:{k=J[g+56>>2];l=k<<5;f=J[g+52>>2];J:{if(!(K[i+16|0]>>>d&1)){h=f;K:{if((f|0)!=(l|0)){break K}if((f+1|0)<0){break I}L:{if(f>>>0<=1073741822){k=k<<6;l=(f&-32)+32|0;l=k>>>0>l>>>0?k:l;h=f;if(f>>>0>=l>>>0){break K}if((l|0)>=0){break L}break I}l=2147483647;h=-1;if(f>>>0>=2147483647){break K}}l=(l-1>>>5|0)+1|0;h=ol(l<<2);k=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;M:{N:{if(!f){break N}n=f>>>5|0;if(f>>>0>=32){nk(h,k,n<<2)}o=f&31;if(!o){break N}n=n<<2;m=n+h|0;o=-1>>>32-o|0;J[m>>2]=J[m>>2]&(o^-1)|o&J[k+n>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;break M}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;h=f;if(!k){break K}}gl(k);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0<=1073741822){k=k<<6;l=(f&-32)+32|0;l=k>>>0>l>>>0?k:l;h=f;if(f>>>0>=l>>>0){break O}if((l|0)<0){break I}break P}l=2147483647;h=-1;if(f>>>0>=2147483647){break O}}l=(l-1>>>5|0)+1|0;h=ol(l<<2);k=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;Q:{R:{if(!f){break R}n=f>>>5|0;if(f>>>0>=32){nk(h,k,n<<2)}o=f&31;if(!o){break R}n=n<<2;m=n+h|0;o=-1>>>32-o|0;J[m>>2]=J[m>>2]&(o^-1)|o&J[k+n>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;break Q}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;h=f;if(!k){break O}}gl(k);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;k=J[f>>2];ca=f,da=hm(h)&k,J[ca>>2]=da}d=d+1|0;if((j|0)!=(d|0)){continue}break H}break}Ia();C()}g=J[a+8>>2];if((g|0)>0){n=c+I|0;d=J[B>>2];l=0;k=J[i+24>>2];while(1){h=d;if((g|0)>0){h=J[B>>2];g=0;while(1){f=g<<2;j=J[f+k>>2];o=J[a+16>>2];S:{if((j|0)>(o|0)){J[f+h>>2]=o;break S}f=f+h|0;o=J[a+12>>2];if((o|0)>(j|0)){J[f>>2]=o;break S}J[f>>2]=j}g=g+1|0;if((g|0)>2]){continue}break}}j=l<<2;f=j+n|0;j=J[j+x>>2]-J[h+j>>2]|0;J[f>>2]=j;T:{if((j|0)>2]){g=j+J[a+20>>2]|0}else{if((j|0)<=J[a+24>>2]){break T}g=j-J[a+20>>2]|0}J[f>>2]=g}k=h;g=J[a+8>>2];l=l+1|0;if((g|0)>(l|0)){continue}break}}d=J[i+36>>2];if(d){J[i+40>>2]=d;gl(d)}d=J[i+24>>2];if(d){J[i+28>>2]=d;gl(d)}d=(y|0)>2;y=t;if(d){continue}break}break h}Ia();C()}if((e|0)>0){ok(J[i+144>>2],0,e<<2)}g=J[a+8>>2];if((g|0)>0){d=J[a+32>>2];l=0;k=J[i+144>>2];while(1){h=d;if((g|0)>0){h=J[B>>2];g=0;while(1){e=g<<2;f=J[e+k>>2];j=J[a+16>>2];U:{if((f|0)>(j|0)){J[e+h>>2]=j;break U}e=e+h|0;j=J[a+12>>2];if((j|0)>(f|0)){J[e>>2]=j;break U}J[e>>2]=f}g=g+1|0;if((g|0)>2]){continue}break}}f=l<<2;e=f+c|0;f=J[b+f>>2]-J[f+h>>2]|0;J[e>>2]=f;V:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break V}f=f-J[a+20>>2]|0}J[e>>2]=f}k=h;g=J[a+8>>2];l=l+1|0;if((g|0)>(l|0)){continue}break}}if(r){gl(r)}a=J[i+128>>2];if(a){J[i+132>>2]=a;gl(a)}a=J[i+180>>2];if(a){J[i+184>>2]=a;gl(a)}a=J[i+168>>2];if(a){J[i+172>>2]=a;gl(a)}a=J[i+156>>2];if(a){J[i+160>>2]=a;gl(a)}a=J[i+144>>2];if(a){J[i+148>>2]=a;gl(a)}fa=i+224|0;return 1}function yd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;i=fa-224|0;fa=i;J[a+8>>2]=e;z=a+32|0;h=J[z>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0>>0){La(z,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){d=g;break c}h=1;f=d-1|0;v=f&1;d:{if((d|0)==2){d=g;break d}t=f&-2;d=g;while(1){j=(h<<2)+b|0;f=J[j+4>>2];j=J[j>>2];l=(j|0)<(d|0);d=l?j:d;m=(d|0)>(f|0);d=m?f:d;g=l?g:(g|0)<(j|0)?j:g;g=m?g:(f|0)>(g|0)?f:g;h=h+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(!v){break c}f=J[(h<<2)+b>>2];h=(f|0)<(d|0);d=h?f:d;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=d;f=g-d|0;d=(g>>31)-((d>>31)+(d>>>0>g>>>0)|0)|0;if(!d&f>>>0>2147483646|d){break b}d=f+1|0;J[a+20>>2]=d;f=d>>>1|0;J[a+24>>2]=f;J[a+28>>2]=0-f;if(d&1){break b}J[a+24>>2]=f-1}Z=J[a+52>>2];N=J[a+48>>2];J[i+184>>2]=0;J[i+188>>2]=0;J[i+176>>2]=0;J[i+180>>2]=0;J[i+168>>2]=0;J[i+172>>2]=0;J[i+160>>2]=0;J[i+164>>2]=0;J[i+152>>2]=0;J[i+156>>2]=0;J[i+144>>2]=0;J[i+148>>2]=0;e:{if(!e){g=0;d=0;break e}La(i+144|0,e);g=J[i+156>>2];d=J[i+160>>2]}d=d-g>>2;f:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break f}J[i+160>>2]=(e<<2)+g;break f}La(i+144|12,e-d|0)}f=J[i+168>>2];d=J[i+172>>2]-f>>2;g:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break g}J[i+172>>2]=f+(e<<2);break g}La(i+168|0,e-d|0)}h:{i:{f=J[i+180>>2];d=J[i+184>>2]-f>>2;j:{k:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[i+184>>2]=f+(e<<2)}J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0;if(e){break k}d=1;break j}La(i+180|0,e-d|0);J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0}if(e>>>0>=1073741824){break i}d=e<<2;f=ol(d);J[i+128>>2]=f;h=d+f|0;J[i+136>>2]=h;ok(f,0,d);J[i+132>>2]=h;d=0}x=a+152|0;h=J[a+152>>2];f=J[a+156>>2]-h>>2;l:{m:{if(f>>>0>>0){La(x,e-f|0);J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;d=i- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;break m}if(e>>>0>>0){J[a+156>>2]=h+(e<<2)}J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;f=i- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;t=0;if(d){break l}}d=e<<2;s=ol(d);t=ok(s,0,d)+d|0}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break h}F=e&-2;G=e&1;_=e&-4;O=e&3;I=e-1|0;Q=e<<2;L=a+112|0;E=d>>>2|0;M=t-s|0;A=M>>2;S=(M-4&-4)+4|0;$=i+36|0;aa=i+24|0;while(1){f=J[a+56>>2];d=J[f>>2];n:{o:{v=E-1|0;if(v>>>0>2]-d>>2>>>0){f=0;l=0;d=J[d+(v<<2)>>2];p:{if((d|0)==-1){break p}m=J[N+12>>2];h=d+2|0;g=(d>>>0)%3|0;y=m+((g?d-1|0:h)<<2)|0;j=0;B=(g|0)!=0|(h|0)!=-1;q=1;h=d;while(1){g=J[m+(h<<2)>>2];q:{if((g|0)==-1){break q}k=-1;n=J[Z>>2];l=J[N>>2];p=n+(J[l+(g<<2)>>2]<<2)|0;o=g+1|0;o=(o>>>0)%3|0?o:g-2|0;if((o|0)!=-1){k=J[l+(o<<2)>>2]}p=J[p>>2];r:{s:{if((g>>>0)%3|0){g=g-1|0;break s}g=g+2|0;o=-1;if((g|0)==-1){break r}}o=J[l+(g<<2)>>2]}if((p|0)>=(v|0)){break q}g=J[n+(k<<2)>>2];if((g|0)>=(v|0)){break q}k=J[n+(o<<2)>>2];if((k|0)>=(v|0)){break q}l=J[(i+144|0)+P(j,12)>>2];t:{if(!e){break t}k=P(e,k);n=P(e,g);o=P(e,p);g=0;p=0;if(I){while(1){J[l+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+n<<2)+b>>2]|0)-J[(g+o<<2)+b>>2];w=g|1;J[l+(w<<2)>>2]=(J[(k+w<<2)+b>>2]+J[(n+w<<2)+b>>2]|0)-J[(o+w<<2)+b>>2];g=g+2|0;p=p+2|0;if((F|0)!=(p|0)){continue}break}}if(!G){break t}J[l+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+n<<2)+b>>2]|0)-J[(g+o<<2)+b>>2]}l=4;j=j+1|0;if((j|0)==4){break p}}u:{if(q&1){g=h+1|0;h=(g>>>0)%3|0?g:h-2|0;l=-1;if((h|0)==-1){break u}h=J[m+(h<<2)>>2];l=-1;if((h|0)==-1){break u}g=h+1|0;l=(g>>>0)%3|0?g:h-2|0;break u}v:{if((h>>>0)%3|0){g=h-1|0;break v}g=h+2|0;l=-1;if((g|0)==-1){break u}}h=J[m+(g<<2)>>2];l=-1;if((h|0)==-1){break u}l=h-1|0;if((h>>>0)%3|0){break u}l=h+2|0}h=l;if((d|0)==(h|0)){l=j;break p}if((h|0)==-1&q){if(!B){l=j;break p}h=J[y>>2];if((h|0)==-1){l=j;break p}q=0;h=(h>>>0)%3|0?h-1|0:h+2|0}l=j;if((h|0)!=-1){continue}break}}H[i+16|0]=0;J[i+8>>2]=0;J[i+12>>2]=0;J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;U=P(e,v)<<2;w=U+b|0;j=(P(E-2|0,e)<<2)+b|0;k=J[x>>2];d=0;if(e){while(1){g=f<<2;h=J[g+j>>2]-J[g+w>>2]|0;J[g+s>>2]=h;J[g+k>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=d;d=h>>31;d=g+((d^h)-d|0)|0;f=f+1|0;if((f|0)!=(e|0)){continue}break}}f=i+200|0;ef(f,L,k,e);k=hf(f);h=J[f+12>>2];f=J[f+16>>2];h=(((h-f|0)+1|0)/64|0)+f<<3;m=f<<3;f=h+m|0;h=(h>>31)+(m>>31)|0;g=ja+(f>>>0>>0?h+1|0:h)|0;h=f;f=f+k|0;h=h>>>0>f>>>0?g+1|0:g;B=(l|0)<=0;if(!B){n=(l<<3)-8|0;g=n+(i+48|0)|0;m=g;k=J[g>>2];g=J[g+4>>2];k=k+l|0;g=k>>>0>>0?g+1|0:g;J[m>>2]=k;J[m+4>>2]=g;u=W(df(k,J[n+(i+80|0)>>2])*(+(k>>>0)+ +(g|0)*4294967296));w:{if(R(u)<0x8000000000000000){k=R(u)>=1?~~(u>0?T(V(u*2.3283064365386963e-10),4294967295):W((u-+(~~u>>>0>>>0))*2.3283064365386963e-10))>>>0:0;g=~~u>>>0;break w}k=-2147483648;g=0}f=f+g|0;h=f}J[i+20>>2]=0;H[i+16|0]=0;J[i+8>>2]=f;J[i+12>>2]=d;Qa(aa,j,j+Q|0);ec($,s,t);x:{y:{z:{if(B){break z}n=(i+124|0)+l|0;m=n-1|0;X=l<<3;d=X-8|0;Y=d+(i+48|0)|0;ba=d+(i+80|0)|0;q=1;y=0;while(1){d=i+124|0;ok(d,1,l);y=y+1|0;ok(d,0,y);A:{B:while(1){if(e){ok(J[i+128>>2],0,Q)}p=0;d=J[i+128>>2];j=0;while(1){if(!K[(i+124|0)+p|0]){C:{if(!e){break C}f=J[(i+144|0)+P(p,12)>>2];h=0;g=0;k=0;if(e>>>0>3){while(1){o=g<<2;r=o+d|0;J[r>>2]=J[r>>2]+J[f+o>>2];r=o|4;D=r+d|0;J[D>>2]=J[D>>2]+J[f+r>>2];r=o|8;D=r+d|0;J[D>>2]=J[D>>2]+J[f+r>>2];o=o|12;r=o+d|0;J[r>>2]=J[r>>2]+J[f+o>>2];g=g+4|0;k=k+4|0;if((_|0)!=(k|0)){continue}break}}if(!O){break C}while(1){k=g<<2;o=k+d|0;J[o>>2]=J[o>>2]+J[f+k>>2];g=g+1|0;h=h+1|0;if((O|0)!=(h|0)){continue}break}}j=1<>2];D:{E:{F:{if(e){g=0;d=0;if(I){break F}break E}k=J[x>>2];h=0;break D}while(1){h=g<<2;k=h+f|0;J[k>>2]=J[k>>2]/(q|0);h=(h|4)+f|0;J[h>>2]=J[h>>2]/(q|0);g=g+2|0;d=d+2|0;if((F|0)!=(d|0)){continue}break}}if(G){d=(g<<2)+f|0;J[d>>2]=J[d>>2]/(q|0)}k=J[x>>2];f=J[i+128>>2];d=0;h=0;if(!e){break D}while(1){p=d<<2;g=J[p+f>>2]-J[p+w>>2]|0;J[p+s>>2]=g;J[k+p>>2]=(g|0)<0?(g^-1)<<1|1:g<<1;o=h;h=g>>31;h=o+((h^g)-h|0)|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=i+200|0;ef(d,L,k,e);k=hf(d);g=J[d+12>>2];d=J[d+16>>2];g=(((g-d|0)+1|0)/64|0)+d<<3;p=d<<3;d=g+p|0;g=d+k|0;o=(l|0)>0;if(o){k=J[Y+4>>2];d=J[Y>>2];u=W(df(d,J[ba>>2]+q|0)*(+(d>>>0)+ +(k|0)*4294967296));G:{if(R(u)<0x8000000000000000){d=~~u>>>0;break G}d=0}g=d+g|0}d=J[i+8>>2];if(!((d|0)<=(g|0)&((d|0)<(g|0)|(h|0)>=J[i+12>>2]))){J[i+20>>2]=q;H[i+16|0]=j;J[i+8>>2]=g;J[i+12>>2]=h;j=J[i+132>>2];k=j-f|0;g=k>>2;d=J[i+32>>2];h=J[i+24>>2];H:{if(g>>>0<=d-h>>2>>>0){k=J[i+28>>2]-h|0;d=k+f|0;r=k>>2;k=r>>>0>>0?d:j;p=k-f|0;if((f|0)!=(k|0)){nk(h,f,p)}if(g>>>0>r>>>0){g=J[i+28>>2];if((j|0)==(k|0)){break H}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}break H}g=h+p|0;break H}if(h){J[i+28>>2]=h;gl(h);J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;d=0}if((k|0)<0){break y}h=d>>>1|0;d=d>>>0>=2147483644?1073741823:g>>>0>>0?h:g;if(d>>>0>=1073741824){break y}d=d<<2;g=ol(d);J[i+24>>2]=g;J[i+32>>2]=d+g;if((f|0)==(j|0)){break H}d=(k-4&-4)+4|0;g=mk(g,f,d)+d|0}J[i+28>>2]=g;d=J[i+44>>2];f=J[i+36>>2];I:{if(d-f>>2>>>0>=A>>>0){h=J[i+40>>2]-f|0;d=h+s|0;j=h>>2;h=j>>>0>>0?d:t;g=h-s|0;if((h|0)!=(s|0)){nk(f,s,g)}if(j>>>0>>0){g=J[i+40>>2];if((h|0)==(t|0)){break I}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((t|0)!=(d|0)){continue}break}break I}g=f+g|0;break I}if(f){J[i+40>>2]=f;gl(f);J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;d=0}if((M|0)<0){break x}f=d>>>1|0;d=d>>>0>=2147483644?1073741823:f>>>0>A>>>0?f:A;if(d>>>0>=1073741824){break x}d=d<<2;g=ol(d);J[i+36>>2]=g;J[i+44>>2]=d+g;if((s|0)==(t|0)){break I}g=mk(g,s,S)+S|0}J[i+40>>2]=g}if((m|0)==(i+124|0)){break A}g=K[m|0];d=-1;while(1){j=g&255;f=d-1|0;h=f+n|0;g=K[h|0];if(j>>>0>g>>>0){f=n;while(1){f=f-1|0;j=K[f|0];if(j>>>0<=g>>>0){continue}break}H[h|0]=j;H[f|0]=g;if((d|0)==-1){continue B}g=d+n|0;d=m;while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}continue B}d=f;if((h|0)!=(i+124|0)){continue}break}break}f=i+124|0;g=f;d=m;if(g>>>0>=d>>>0){break A}while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}}q=q+1|0;if((l|0)!=(y|0)){continue}break}if(!o){break z}h=J[i+20>>2];g=h;d=i+X|0;f=g+J[d+72>>2]|0;h=J[d+76>>2]+(g>>31)|0;J[d+72>>2]=f;J[d+76>>2]=f>>>0>>0?h+1|0:h}if(!e){break n}d=J[x>>2];g=0;f=J[i+36>>2];k=0;if(!I){break o}while(1){j=g<<2;h=J[j+f>>2];J[d+j>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;j=j|4;h=J[j+f>>2];J[d+j>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=g+2|0;k=k+2|0;if((F|0)!=(k|0)){continue}break}break o}Ia();C()}Ia();C()}Xc();C()}if(!G){break n}h=g<<2;f=J[h+f>>2];J[d+h>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}gf(i+200|0,L,J[x>>2],e);J:{if(B){break J}g=P(l,12)+a|0;d=0;while(1){K:{j=J[g+56>>2];k=j<<5;f=J[g+52>>2];L:{if(!(K[i+16|0]>>>d&1)){h=f;M:{if((f|0)!=(k|0)){break M}if((f+1|0)<0){break K}N:{if(f>>>0<=1073741822){j=j<<6;k=(f&-32)+32|0;j=j>>>0>k>>>0?j:k;h=f;if(f>>>0>=j>>>0){break M}if((j|0)>=0){break N}break K}j=2147483647;h=-1;if(f>>>0>=2147483647){break M}}k=(j-1>>>5|0)+1|0;h=ol(k<<2);j=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;O:{P:{if(!f){break P}m=f>>>5|0;if(f>>>0>=32){nk(h,j,m<<2)}n=f&31;if(!n){break P}m=m<<2;q=m+h|0;n=-1>>>32-n|0;J[q>>2]=J[q>>2]&(n^-1)|n&J[j+m>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;break O}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;h=f;if(!j){break M}}gl(j);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0<=1073741822){j=j<<6;k=(f&-32)+32|0;j=j>>>0>k>>>0?j:k;h=f;if(f>>>0>=j>>>0){break Q}if((j|0)<0){break K}break R}j=2147483647;h=-1;if(f>>>0>=2147483647){break Q}}k=(j-1>>>5|0)+1|0;h=ol(k<<2);j=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;S:{T:{if(!f){break T}m=f>>>5|0;if(f>>>0>=32){nk(h,j,m<<2)}n=f&31;if(!n){break T}m=m<<2;q=m+h|0;n=-1>>>32-n|0;J[q>>2]=J[q>>2]&(n^-1)|n&J[j+m>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;break S}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;h=f;if(!j){break Q}}gl(j);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;j=J[f>>2];ca=f,da=hm(h)&j,J[ca>>2]=da}d=d+1|0;if((l|0)!=(d|0)){continue}break J}break}Ia();C()}g=J[a+8>>2];if((g|0)>0){m=c+U|0;d=J[z>>2];j=0;k=J[i+24>>2];while(1){h=d;if((g|0)>0){h=J[z>>2];g=0;while(1){f=g<<2;l=J[f+k>>2];n=J[a+16>>2];U:{if((l|0)>(n|0)){J[f+h>>2]=n;break U}f=f+h|0;n=J[a+12>>2];if((n|0)>(l|0)){J[f>>2]=n;break U}J[f>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}g=j<<2;f=g+m|0;g=J[g+w>>2]-J[g+h>>2]|0;J[f>>2]=g;V:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break V}g=g-J[a+20>>2]|0}J[f>>2]=g}k=h;g=J[a+8>>2];j=j+1|0;if((g|0)>(j|0)){continue}break}}d=J[i+36>>2];if(d){J[i+40>>2]=d;gl(d)}d=J[i+24>>2];if(d){J[i+28>>2]=d;gl(d)}d=(E|0)>2;E=v;if(d){continue}break}break h}Ia();C()}if((e|0)>0){ok(J[i+144>>2],0,e<<2)}g=J[a+8>>2];if((g|0)>0){d=J[a+32>>2];j=0;k=J[i+144>>2];while(1){h=d;if((g|0)>0){h=J[z>>2];g=0;while(1){e=g<<2;f=J[e+k>>2];l=J[a+16>>2];W:{if((f|0)>(l|0)){J[e+h>>2]=l;break W}e=e+h|0;l=J[a+12>>2];if((l|0)>(f|0)){J[e>>2]=l;break W}J[e>>2]=f}g=g+1|0;if((g|0)>2]){continue}break}}f=j<<2;e=f+c|0;f=J[b+f>>2]-J[f+h>>2]|0;J[e>>2]=f;X:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break X}f=f-J[a+20>>2]|0}J[e>>2]=f}k=h;g=J[a+8>>2];j=j+1|0;if((g|0)>(j|0)){continue}break}}if(s){gl(s)}a=J[i+128>>2];if(a){J[i+132>>2]=a;gl(a)}a=J[i+180>>2];if(a){J[i+184>>2]=a;gl(a)}a=J[i+168>>2];if(a){J[i+172>>2]=a;gl(a)}a=J[i+156>>2];if(a){J[i+160>>2]=a;gl(a)}a=J[i+144>>2];if(a){J[i+148>>2]=a;gl(a)}fa=i+224|0;return 1}function Ud(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=fa-240|0;fa=g;Z=J[a+36>>2];A=J[a+32>>2];J[g+184>>2]=0;J[g+188>>2]=0;J[g+176>>2]=0;J[g+180>>2]=0;J[g+168>>2]=0;J[g+172>>2]=0;J[g+160>>2]=0;J[g+164>>2]=0;J[g+152>>2]=0;J[g+156>>2]=0;J[g+144>>2]=0;J[g+148>>2]=0;if(e){La(g+144|0,e);h=J[g+156>>2];d=J[g+160>>2]}else{d=0}d=d-h>>2;a:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break a}J[g+160>>2]=(e<<2)+h;break a}La(g+144|12,e-d|0)}d=J[g+168>>2];f=J[g+172>>2]-d>>2;b:{if(f>>>0>=e>>>0){if(e>>>0>=f>>>0){break b}J[g+172>>2]=d+(e<<2);break b}La(g+168|0,e-f|0)}c:{d:{d=J[g+180>>2];f=J[g+184>>2]-d>>2;e:{f:{if(f>>>0>=e>>>0){if(e>>>0>>0){J[g+184>>2]=d+(e<<2)}J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;if(e){break f}d=1;break e}La(g+180|0,e-f|0);J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0}if(e>>>0>=1073741824){break d}j=e<<2;f=ol(j);J[g+128>>2]=f;d=f+j|0;J[g+136>>2]=d;ok(f,0,j);J[g+132>>2]=d;d=0}B=a+136|0;f=J[a+136>>2];j=J[a+140>>2]-f>>2;g:{h:{if(j>>>0>>0){La(B,e-j|0);J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;d=g- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;break h}if(e>>>0>>0){J[a+140>>2]=f+(e<<2)}J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;f=g- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;f=0;if(d){break g}}d=e<<2;t=ol(d);f=ok(t,0,d)+d|0}d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break c}M=e&-2;N=e&1;_=e&-4;U=e&3;O=e-1|0;X=e<<2;$=a+8|0;Q=a+96|0;G=d>>>2|0;E=f;S=f-t|0;F=S>>2;Y=(S-4&-4)+4|0;aa=g+36|0;ba=g+24|0;while(1){d=J[a+40>>2];f=J[d>>2];i:{j:{z=G-1|0;if(z>>>0>2]-f>>2>>>0){d=0;j=0;k=J[f+(z<<2)>>2];k:{if((k|0)==-1){break k}u=1;i=k+2|0;j=(k>>>0)%3|0;D=j?k-1|0:i;q=1<>2];p=r+(D>>>3&536870908)|0;f=0;n=(j|0)!=0|(i|0)!=-1;i=k;while(1){l:{if(J[r+(i>>>3&536870908)>>2]>>>i&1){break l}s=J[J[J[A+64>>2]+12>>2]+(i<<2)>>2];if((s|0)==-1){break l}x=J[Z>>2];m=J[A+28>>2];h=J[x+(J[m+(s<<2)>>2]<<2)>>2];if((h|0)>=(z|0)){break l}j=s+1|0;l=J[x+(J[m+(((j>>>0)%3|0?j:s-2|0)<<2)>>2]<<2)>>2];if((l|0)>=(z|0)){break l}j=J[x+(J[m+(s+((s>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((j|0)>=(z|0)){break l}m:{if(!e){break m}s=J[(g+144|0)+P(f,12)>>2];m=P(e,j);x=P(e,l);l=P(e,h);h=0;o=0;if(O){while(1){J[s+(h<<2)>>2]=(J[(h+m<<2)+b>>2]+J[(h+x<<2)+b>>2]|0)-J[(h+l<<2)+b>>2];j=h|1;J[s+(j<<2)>>2]=(J[(j+m<<2)+b>>2]+J[(j+x<<2)+b>>2]|0)-J[(j+l<<2)+b>>2];h=h+2|0;o=o+2|0;if((M|0)!=(o|0)){continue}break}}if(!N){break m}J[s+(h<<2)>>2]=(J[(h+m<<2)+b>>2]+J[(h+x<<2)+b>>2]|0)-J[(h+l<<2)+b>>2]}j=4;f=f+1|0;if((f|0)==4){break k}}n:{if(u&1){j=i-2|0;l=i+1|0;i=-1;j=(l>>>0)%3|0?l:j;if((j|0)==-1|J[r+(j>>>3&536870908)>>2]>>>j&1){break n}l=J[J[J[A+64>>2]+12>>2]+(j<<2)>>2];if((l|0)==-1){break n}j=l+1|0;i=(j>>>0)%3|0?j:l-2|0;break n}o:{if((i>>>0)%3|0){h=i-1|0;break o}h=i+2|0;i=-1;if((h|0)==-1){break n}}i=-1;if(J[r+(h>>>3&536870908)>>2]>>>h&1){break n}j=J[J[J[A+64>>2]+12>>2]+(h<<2)>>2];if((j|0)==-1){break n}if((j>>>0)%3|0){i=j-1|0;break n}i=j+2|0}if((i|0)==(k|0)){j=f;break k}if((i|0)==-1&u){if(!n){j=f;break k}if(q&J[p>>2]){j=f;break k}j=J[J[J[A+64>>2]+12>>2]+(D<<2)>>2];if((j|0)==-1){j=f;break k}u=0;i=(j>>>0)%3|0?j-1|0:j+2|0}j=f;if((i|0)!=-1){continue}break}}H[g+16|0]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;J[g+28>>2]=0;J[g+32>>2]=0;J[g+20>>2]=0;J[g+24>>2]=0;x=P(e,z)<<2;I=x+b|0;p=(P(G-2|0,e)<<2)+b|0;k=J[B>>2];i=0;if(e){while(1){f=d<<2;l=J[f+p>>2]-J[f+I>>2]|0;J[f+t>>2]=l;J[f+k>>2]=(l|0)<0?(l^-1)<<1|1:l<<1;f=l>>31;i=((f^l)-f|0)+i|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=g+200|0;ef(d,Q,k,e);l=hf(d);f=J[d+12>>2];d=J[d+16>>2];f=(((f-d|0)+1|0)/64|0)+d<<3;d=d<<3;n=f+d|0;f=(f>>31)+(d>>31)|0;h=ja+(d>>>0>n>>>0?f+1|0:f)|0;f=l+n|0;d=f>>>0>>0?h+1|0:h;s=(j|0)<=0;if(!s){h=(j<<3)-8|0;k=h+(g+48|0)|0;n=k;l=J[k>>2];k=J[k+4>>2];l=j+l|0;k=l>>>0>>0?k+1|0:k;J[n>>2]=l;J[n+4>>2]=k;y=W(df(l,J[h+(g+80|0)>>2])*(+(l>>>0)+ +(k|0)*4294967296));p:{if(R(y)<0x8000000000000000){l=~~y>>>0;k=R(y)>=1?~~(y>0?T(V(y*2.3283064365386963e-10),4294967295):W((y-+(~~y>>>0>>>0))*2.3283064365386963e-10))>>>0:0;break p}l=0;k=-2147483648}f=f+l|0;d=f}J[g+20>>2]=0;H[g+16|0]=0;J[g+8>>2]=f;J[g+12>>2]=i;Qa(ba,p,p+X|0);ec(aa,t,E);q:{r:{s:{if(s){break s}l=(g+124|0)+j|0;k=l-1|0;q=j<<3;d=q-8|0;D=d+(g+48|0)|0;p=d+(g+80|0)|0;u=1;L=0;while(1){d=g+124|0;ok(d,1,j);L=L+1|0;ok(d,0,L);t:{u:while(1){if(e){ok(J[g+128>>2],0,X)}o=0;v=J[g+128>>2];r=0;while(1){if(!K[(g+124|0)+o|0]){v:{if(!e){break v}m=J[(g+144|0)+P(o,12)>>2];f=0;h=0;w=0;if(e>>>0>3){while(1){n=h<<2;d=n+v|0;J[d>>2]=J[d>>2]+J[n+m>>2];i=n|4;d=i+v|0;J[d>>2]=J[d>>2]+J[i+m>>2];i=n|8;d=i+v|0;J[d>>2]=J[d>>2]+J[i+m>>2];i=n|12;d=i+v|0;J[d>>2]=J[d>>2]+J[i+m>>2];h=h+4|0;w=w+4|0;if((_|0)!=(w|0)){continue}break}}if(!U){break v}while(1){i=h<<2;d=i+v|0;J[d>>2]=J[d>>2]+J[i+m>>2];h=h+1|0;f=f+1|0;if((U|0)!=(f|0)){continue}break}}r=1<>2];w:{x:{y:{if(e){h=0;i=0;if(O){break y}break x}w=J[B>>2];f=0;break w}while(1){n=h<<2;f=n+d|0;J[f>>2]=J[f>>2]/(u|0);f=(n|4)+d|0;J[f>>2]=J[f>>2]/(u|0);h=h+2|0;i=i+2|0;if((M|0)!=(i|0)){continue}break}}if(N){d=(h<<2)+d|0;J[d>>2]=J[d>>2]/(u|0)}w=J[B>>2];d=J[g+128>>2];i=0;f=0;if(!e){break w}while(1){h=i<<2;n=J[h+d>>2]-J[h+I>>2]|0;J[h+t>>2]=n;J[h+w>>2]=(n|0)<0?(n^-1)<<1|1:n<<1;h=f;f=n>>31;f=h+((f^n)-f|0)|0;i=i+1|0;if((i|0)!=(e|0)){continue}break}}i=g+200|0;ef(i,Q,w,e);n=hf(i);h=J[i+12>>2];i=J[i+16>>2];h=(((h-i|0)+1|0)/64|0)+i<<3;i=i<<3;m=h+i|0;i=n+m|0;h=i;n=(j|0)>0;if(n){i=J[D+4>>2];m=J[D>>2];y=W(df(m,J[p>>2]+u|0)*(+(m>>>0)+ +(i|0)*4294967296));z:{if(R(y)<0x8000000000000000){i=~~y>>>0;break z}i=0}h=i+h|0}i=J[g+8>>2];if(!((i|0)<=(h|0)&((h|0)>(i|0)|(f|0)>=J[g+12>>2]))){J[g+20>>2]=u;H[g+16|0]=r;J[g+8>>2]=h;J[g+12>>2]=f;v=J[g+132>>2];m=v-d|0;r=m>>2;i=J[g+32>>2];o=J[g+24>>2];A:{if(r>>>0<=i-o>>2>>>0){f=J[g+28>>2]-o|0;i=f+d|0;f=f>>2;m=f>>>0>>0?i:v;h=m-d|0;if((d|0)!=(m|0)){nk(o,d,h)}if(f>>>0>>0){h=J[g+28>>2];if((m|0)==(v|0)){break A}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((v|0)!=(i|0)){continue}break}break A}h=h+o|0;break A}if(o){J[g+28>>2]=o;gl(o);J[g+32>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;i=0}if((m|0)<0){break r}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:f>>>0>r>>>0?f:r;if(f>>>0>=1073741824){break r}f=f<<2;h=ol(f);J[g+24>>2]=h;J[g+32>>2]=f+h;if((d|0)==(v|0)){break A}f=d;d=(m-4&-4)+4|0;h=mk(h,f,d)+d|0}J[g+28>>2]=h;i=J[g+44>>2];h=J[g+36>>2];B:{if(i-h>>2>>>0>=F>>>0){d=J[g+40>>2]-h|0;i=d+t|0;d=d>>2;m=d>>>0>>0?i:E;f=m-t|0;if((m|0)!=(t|0)){nk(h,t,f)}if(d>>>0>>0){h=J[g+40>>2];if((m|0)==(E|0)){break B}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((E|0)!=(i|0)){continue}break}break B}h=f+h|0;break B}if(h){J[g+40>>2]=h;gl(h);J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;i=0}if((S|0)<0){break q}d=i>>>1|0;d=i>>>0>=2147483644?1073741823:d>>>0>F>>>0?d:F;if(d>>>0>=1073741824){break q}d=d<<2;h=ol(d);J[g+36>>2]=h;J[g+44>>2]=d+h;if((t|0)==(E|0)){break B}h=mk(h,t,Y)+Y|0}J[g+40>>2]=h}if((k|0)==(g+124|0)){break t}h=K[k|0];i=-1;while(1){f=h&255;d=i-1|0;m=d+l|0;h=K[m|0];if(f>>>0>h>>>0){d=l;while(1){d=d-1|0;f=K[d|0];if(f>>>0<=h>>>0){continue}break}H[m|0]=f;H[d|0]=h;if((i|0)==-1){continue u}h=i+l|0;i=k;while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0>>0){continue}break}continue u}i=d;if((m|0)!=(g+124|0)){continue}break}break}d=g+124|0;h=d;i=k;if(d>>>0>=i>>>0){break t}while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0>>0){continue}break}}u=u+1|0;if((j|0)!=(L|0)){continue}break}if(!n){break s}d=J[g+20>>2];f=d;k=g+q|0;i=d+J[k+72>>2]|0;d=J[k+76>>2]+(d>>31)|0;J[k+72>>2]=i;J[k+76>>2]=f>>>0>i>>>0?d+1|0:d}if(!e){break i}k=J[B>>2];h=0;i=J[g+36>>2];w=0;if(!O){break j}while(1){d=h<<2;f=J[d+i>>2];J[d+k>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;d=d|4;f=J[d+i>>2];J[d+k>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;h=h+2|0;w=w+2|0;if((M|0)!=(w|0)){continue}break}break j}Ia();C()}Ia();C()}Xc();C()}if(!N){break i}d=h<<2;f=J[d+i>>2];J[d+k>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}gf(g+200|0,Q,J[B>>2],e);C:{if(s){break C}k=P(j,12)+a|0;i=0;while(1){D:{h=J[k+40>>2];l=h<<5;d=J[k+36>>2];E:{if(!(K[g+16|0]>>>i&1)){f=d;F:{if((d|0)!=(l|0)){break F}if((d+1|0)<0){break D}G:{if(d>>>0<=1073741822){h=h<<6;l=(d&-32)+32|0;h=h>>>0>l>>>0?h:l;f=d;if(d>>>0>=h>>>0){break F}if((h|0)>=0){break G}break D}h=2147483647;f=-1;if(d>>>0>=2147483647){break F}}n=(h-1>>>5|0)+1|0;q=ol(n<<2);p=J[k+32>>2];J[q+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;H:{I:{if(!d){break I}f=d>>>5|0;if(d>>>0>=32){nk(q,p,f<<2)}h=d&31;if(!h){break I}l=f<<2;f=l+q|0;m=f;o=J[f>>2];f=-1>>>32-h|0;J[m>>2]=o&(f^-1)|f&J[l+p>>2];J[k+32>>2]=q;J[k+36>>2]=d;J[k+40>>2]=n;break H}J[k+32>>2]=q;J[k+36>>2]=d;J[k+40>>2]=n;f=d;if(!p){break F}}gl(p);f=J[k+36>>2]}J[k+36>>2]=f+1;d=J[k+32>>2]+(f>>>3&536870908)|0;J[d>>2]=J[d>>2]|1<>>0<=1073741822){h=h<<6;l=(d&-32)+32|0;h=h>>>0>l>>>0?h:l;f=d;if(d>>>0>=h>>>0){break J}if((h|0)<0){break D}break K}h=2147483647;f=-1;if(d>>>0>=2147483647){break J}}n=(h-1>>>5|0)+1|0;q=ol(n<<2);p=J[k+32>>2];J[q+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;L:{M:{if(!d){break M}f=d>>>5|0;if(d>>>0>=32){nk(q,p,f<<2)}h=d&31;if(!h){break M}l=f<<2;f=l+q|0;m=f;o=J[f>>2];f=-1>>>32-h|0;J[m>>2]=o&(f^-1)|f&J[l+p>>2];J[k+32>>2]=q;J[k+36>>2]=d;J[k+40>>2]=n;break L}J[k+32>>2]=q;J[k+36>>2]=d;J[k+40>>2]=n;f=d;if(!p){break J}}gl(p);f=J[k+36>>2]}J[k+36>>2]=f+1;l=J[k+32>>2]+(f>>>3&536870908)|0;d=J[l>>2];ca=l,da=hm(f)&d,J[ca>>2]=da}i=i+1|0;if((j|0)!=(i|0)){continue}break C}break}Ia();C()}d=J[g+24>>2];j=J[d>>2];f=J[d+4>>2];d=J[I+4>>2];J[g+232>>2]=J[I>>2];J[g+236>>2]=d;J[g+224>>2]=j;J[g+228>>2]=f;Qd(g+200|0,$,g+232|0,g+224|0);d=c+x|0;J[d>>2]=J[g+200>>2];J[d+4>>2]=J[g+204>>2];d=J[g+36>>2];if(d){J[g+40>>2]=d;gl(d)}d=J[g+24>>2];if(d){J[g+28>>2]=d;gl(d)}d=(G|0)>2;G=z;if(d){continue}break}break c}Ia();C()}d=J[g+144>>2];if((e|0)>0){ok(d,0,e<<2)}f=J[d>>2];e=J[d+4>>2];d=J[b+4>>2];J[g+200>>2]=J[b>>2];J[g+204>>2]=d;J[g+232>>2]=f;J[g+236>>2]=e;Qd(g+8|0,a+8|0,g+200|0,g+232|0);J[c>>2]=J[g+8>>2];J[c+4>>2]=J[g+12>>2];if(t){gl(t)}a=J[g+128>>2];if(a){J[g+132>>2]=a;gl(a)}a=J[g+180>>2];if(a){J[g+184>>2]=a;gl(a)}a=J[g+168>>2];if(a){J[g+172>>2]=a;gl(a)}a=J[g+156>>2];if(a){J[g+160>>2]=a;gl(a)}a=J[g+144>>2];if(a){J[g+148>>2]=a;gl(a)}fa=g+240|0;return 1}function ie(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=fa-240|0;fa=g;Y=J[a+36>>2];M=J[a+32>>2];J[g+184>>2]=0;J[g+188>>2]=0;J[g+176>>2]=0;J[g+180>>2]=0;J[g+168>>2]=0;J[g+172>>2]=0;J[g+160>>2]=0;J[g+164>>2]=0;J[g+152>>2]=0;J[g+156>>2]=0;J[g+144>>2]=0;J[g+148>>2]=0;if(e){La(g+144|0,e);h=J[g+156>>2];d=J[g+160>>2]}else{d=0}d=d-h>>2;a:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break a}J[g+160>>2]=(e<<2)+h;break a}La(g+144|12,e-d|0)}f=J[g+168>>2];d=J[g+172>>2]-f>>2;b:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break b}J[g+172>>2]=f+(e<<2);break b}La(g+168|0,e-d|0)}c:{d:{f=J[g+180>>2];d=J[g+184>>2]-f>>2;e:{f:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[g+184>>2]=f+(e<<2)}J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;if(e){break f}d=1;break e}La(g+180|0,e-d|0);J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0}if(e>>>0>=1073741824){break d}d=e<<2;f=ol(d);J[g+128>>2]=f;i=d+f|0;J[g+136>>2]=i;ok(f,0,d);J[g+132>>2]=i;d=0}x=a+136|0;i=J[a+136>>2];f=J[a+140>>2]-i>>2;g:{h:{if(f>>>0>>0){La(x,e-f|0);J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;d=g- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;break h}if(e>>>0>>0){J[a+140>>2]=i+(e<<2)}J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;f=g- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;v=0;if(d){break g}}d=e<<2;s=ol(d);v=ok(s,0,d)+d|0}d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break c}E=e&-2;F=e&1;Z=e&-4;N=e&3;G=e-1|0;O=e<<2;_=a+8|0;I=a+96|0;D=d>>>2|0;L=v-s|0;z=L>>2;Q=(L-4&-4)+4|0;$=g+36|0;aa=g+24|0;while(1){d=J[a+40>>2];f=J[d>>2];i:{j:{w=D-1|0;if(w>>>0>2]-f>>2>>>0){d=0;l=0;k=J[f+(w<<2)>>2];k:{if((k|0)==-1){break k}j=J[M+12>>2];i=k+2|0;l=(k>>>0)%3|0;y=j+((l?k-1|0:i)<<2)|0;f=0;A=(l|0)!=0|(i|0)!=-1;p=1;i=k;while(1){l=J[j+(i<<2)>>2];l:{if((l|0)==-1){break l}m=J[Y>>2];n=J[M>>2];t=J[m+(J[n+(l<<2)>>2]<<2)>>2];h=l+1|0;h=(h>>>0)%3|0?h:l-2|0;if((h|0)!=-1){o=J[n+(h<<2)>>2]}else{o=-1}m:{n:{if((l>>>0)%3|0){h=l-1|0;break n}h=l+2|0;q=-1;if((h|0)==-1){break m}}q=J[n+(h<<2)>>2]}if((t|0)>=(w|0)){break l}h=J[(o<<2)+m>>2];if((h|0)>=(w|0)){break l}n=J[m+(q<<2)>>2];if((n|0)>=(w|0)){break l}l=J[(g+144|0)+P(f,12)>>2];o:{if(!e){break o}n=P(e,n);o=P(e,h);t=P(e,t);h=0;m=0;if(G){while(1){J[l+(h<<2)>>2]=(J[(h+n<<2)+b>>2]+J[(h+o<<2)+b>>2]|0)-J[(h+t<<2)+b>>2];q=h|1;J[l+(q<<2)>>2]=(J[(n+q<<2)+b>>2]+J[(o+q<<2)+b>>2]|0)-J[(q+t<<2)+b>>2];h=h+2|0;m=m+2|0;if((E|0)!=(m|0)){continue}break}}if(!F){break o}J[l+(h<<2)>>2]=(J[(h+n<<2)+b>>2]+J[(h+o<<2)+b>>2]|0)-J[(h+t<<2)+b>>2]}l=4;f=f+1|0;if((f|0)==4){break k}}p:{if(p&1){h=i+1|0;i=(h>>>0)%3|0?h:i-2|0;l=-1;if((i|0)==-1){break p}i=J[j+(i<<2)>>2];l=-1;if((i|0)==-1){break p}l=i+1|0;l=(l>>>0)%3|0?l:i-2|0;break p}q:{if((i>>>0)%3|0){h=i-1|0;break q}h=i+2|0;l=-1;if((h|0)==-1){break p}}i=J[j+(h<<2)>>2];l=-1;if((i|0)==-1){break p}l=i-1|0;if((i>>>0)%3|0){break p}l=i+2|0}i=l;if((k|0)==(i|0)){l=f;break k}if((i|0)==-1&p){if(!A){l=f;break k}i=J[y>>2];if((i|0)==-1){l=f;break k}p=0;i=(i>>>0)%3|0?i-1|0:i+2|0}l=f;if((i|0)!=-1){continue}break}}H[g+16|0]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;J[g+28>>2]=0;J[g+32>>2]=0;J[g+20>>2]=0;J[g+24>>2]=0;S=P(e,w)<<2;t=S+b|0;k=(P(D-2|0,e)<<2)+b|0;j=J[x>>2];h=0;if(e){while(1){i=d<<2;f=J[i+k>>2]-J[i+t>>2]|0;J[i+s>>2]=f;J[i+j>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;i=f;f=f>>31;h=((i^f)-f|0)+h|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=g+200|0;ef(d,I,j,e);f=hf(d);i=J[d+12>>2];d=J[d+16>>2];i=(((i-d|0)+1|0)/64|0)+d<<3;n=d<<3;d=i+n|0;i=(i>>31)+(n>>31)|0;j=ja+(d>>>0>>0?i+1|0:i)|0;i=d;d=d+f|0;f=i>>>0>d>>>0?j+1|0:j;A=(l|0)<=0;if(!A){p=(l<<3)-8|0;i=p+(g+48|0)|0;n=i;j=J[i>>2];i=J[i+4>>2];j=j+l|0;i=j>>>0>>0?i+1|0:i;J[n>>2]=j;J[n+4>>2]=i;u=W(df(j,J[p+(g+80|0)>>2])*(+(j>>>0)+ +(i|0)*4294967296));r:{if(R(u)<0x8000000000000000){j=R(u)>=1?~~(u>0?T(V(u*2.3283064365386963e-10),4294967295):W((u-+(~~u>>>0>>>0))*2.3283064365386963e-10))>>>0:0;i=~~u>>>0;break r}j=-2147483648;i=0}d=d+i|0;f=d}J[g+20>>2]=0;H[g+16|0]=0;J[g+8>>2]=d;J[g+12>>2]=h;Qa(aa,k,k+O|0);ec($,s,v);s:{t:{u:{if(A){break u}n=(g+124|0)+l|0;k=n-1|0;U=l<<3;d=U-8|0;X=d+(g+48|0)|0;ba=d+(g+80|0)|0;p=1;y=0;while(1){d=g+124|0;ok(d,1,l);y=y+1|0;ok(d,0,y);v:{w:while(1){if(e){ok(J[g+128>>2],0,O)}m=0;d=J[g+128>>2];f=0;while(1){if(!K[(g+124|0)+m|0]){x:{if(!e){break x}o=J[(g+144|0)+P(m,12)>>2];i=0;h=0;j=0;if(e>>>0>3){while(1){q=h<<2;r=q+d|0;J[r>>2]=J[r>>2]+J[o+q>>2];r=q|4;B=r+d|0;J[B>>2]=J[B>>2]+J[o+r>>2];r=q|8;B=r+d|0;J[B>>2]=J[B>>2]+J[o+r>>2];q=q|12;r=q+d|0;J[r>>2]=J[r>>2]+J[o+q>>2];h=h+4|0;j=j+4|0;if((Z|0)!=(j|0)){continue}break}}if(!N){break x}while(1){j=h<<2;q=j+d|0;J[q>>2]=J[q>>2]+J[j+o>>2];h=h+1|0;i=i+1|0;if((N|0)!=(i|0)){continue}break}}f=1<>2];y:{z:{A:{if(e){h=0;i=0;if(G){break A}break z}j=J[x>>2];i=0;break y}while(1){j=h<<2;m=j+d|0;J[m>>2]=J[m>>2]/(p|0);j=(j|4)+d|0;J[j>>2]=J[j>>2]/(p|0);h=h+2|0;i=i+2|0;if((E|0)!=(i|0)){continue}break}}if(F){d=(h<<2)+d|0;J[d>>2]=J[d>>2]/(p|0)}j=J[x>>2];d=J[g+128>>2];h=0;i=0;if(!e){break y}while(1){o=h<<2;m=J[o+d>>2]-J[o+t>>2]|0;J[o+s>>2]=m;J[j+o>>2]=(m|0)<0?(m^-1)<<1|1:m<<1;o=i;i=m>>31;i=o+((i^m)-i|0)|0;h=h+1|0;if((h|0)!=(e|0)){continue}break}}h=g+200|0;ef(h,I,j,e);m=hf(h);o=J[h+12>>2];h=J[h+16>>2];j=(((o-h|0)+1|0)/64|0)+h<<3;o=h<<3;h=j+o|0;h=h+m|0;q=(l|0)>0;if(q){m=J[X+4>>2];j=J[X>>2];u=W(df(j,J[ba>>2]+p|0)*(+(j>>>0)+ +(m|0)*4294967296));B:{if(R(u)<0x8000000000000000){o=~~u>>>0;break B}o=0}h=o+h|0}j=J[g+8>>2];if(!((j|0)<=(h|0)&((h|0)>(j|0)|(i|0)>=J[g+12>>2]))){J[g+20>>2]=p;H[g+16|0]=f;J[g+8>>2]=h;J[g+12>>2]=i;j=J[g+132>>2];m=j-d|0;h=m>>2;i=J[g+32>>2];f=J[g+24>>2];C:{if(h>>>0<=i-f>>2>>>0){m=J[g+28>>2]-f|0;i=m+d|0;r=m>>2;m=r>>>0>>0?i:j;o=m-d|0;if((d|0)!=(m|0)){nk(f,d,o)}if(h>>>0>r>>>0){h=J[g+28>>2];if((j|0)==(m|0)){break C}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((j|0)!=(i|0)){continue}break}break C}h=f+o|0;break C}if(f){J[g+28>>2]=f;gl(f);J[g+32>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;i=0}if((m|0)<0){break t}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:f>>>0>h>>>0?f:h;if(f>>>0>=1073741824){break t}f=f<<2;h=ol(f);J[g+24>>2]=h;J[g+32>>2]=f+h;if((d|0)==(j|0)){break C}f=d;d=(m-4&-4)+4|0;h=mk(h,f,d)+d|0}J[g+28>>2]=h;i=J[g+44>>2];d=J[g+36>>2];D:{if(i-d>>2>>>0>=z>>>0){f=J[g+40>>2]-d|0;i=f+s|0;j=f>>2;f=j>>>0>>0?i:v;h=f-s|0;if((f|0)!=(s|0)){nk(d,s,h)}if(j>>>0>>0){h=J[g+40>>2];if((f|0)==(v|0)){break D}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((v|0)!=(i|0)){continue}break}break D}h=d+h|0;break D}if(d){J[g+40>>2]=d;gl(d);J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;i=0}if((L|0)<0){break s}d=i>>>1|0;d=i>>>0>=2147483644?1073741823:d>>>0>z>>>0?d:z;if(d>>>0>=1073741824){break s}d=d<<2;h=ol(d);J[g+36>>2]=h;J[g+44>>2]=d+h;if((s|0)==(v|0)){break D}h=mk(h,s,Q)+Q|0}J[g+40>>2]=h}if((k|0)==(g+124|0)){break v}h=K[k|0];i=-1;while(1){j=h&255;d=i-1|0;f=d+n|0;h=K[f|0];if(j>>>0>h>>>0){d=n;while(1){d=d-1|0;j=K[d|0];if(j>>>0<=h>>>0){continue}break}H[f|0]=j;H[d|0]=h;if((i|0)==-1){continue w}h=i+n|0;i=k;while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0>>0){continue}break}continue w}i=d;if((f|0)!=(g+124|0)){continue}break}break}d=g+124|0;h=d;i=k;if(d>>>0>=i>>>0){break v}while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0>>0){continue}break}}p=p+1|0;if((l|0)!=(y|0)){continue}break}if(!q){break u}f=J[g+20>>2];h=f;d=g+U|0;i=h+J[d+72>>2]|0;f=J[d+76>>2]+(h>>31)|0;J[d+72>>2]=i;J[d+76>>2]=h>>>0>i>>>0?f+1|0:f}if(!e){break i}d=J[x>>2];h=0;f=J[g+36>>2];j=0;if(!G){break j}while(1){k=h<<2;i=J[k+f>>2];J[d+k>>2]=(i|0)<0?(i^-1)<<1|1:i<<1;k=k|4;i=J[k+f>>2];J[d+k>>2]=(i|0)<0?(i^-1)<<1|1:i<<1;h=h+2|0;j=j+2|0;if((E|0)!=(j|0)){continue}break}break j}Ia();C()}Ia();C()}Xc();C()}if(!F){break i}i=h<<2;f=J[i+f>>2];J[d+i>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}gf(g+200|0,I,J[x>>2],e);E:{if(A){break E}h=P(l,12)+a|0;i=0;while(1){F:{k=J[h+40>>2];j=k<<5;d=J[h+36>>2];G:{if(!(K[g+16|0]>>>i&1)){f=d;H:{if((d|0)!=(j|0)){break H}if((d+1|0)<0){break F}I:{if(d>>>0<=1073741822){k=k<<6;j=(d&-32)+32|0;k=j>>>0>>0?k:j;f=d;if(d>>>0>=k>>>0){break H}if((k|0)>=0){break I}break F}k=2147483647;f=-1;if(d>>>0>=2147483647){break H}}j=(k-1>>>5|0)+1|0;f=ol(j<<2);k=J[h+32>>2];J[f+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;J:{K:{if(!d){break K}n=d>>>5|0;if(d>>>0>=32){nk(f,k,n<<2)}p=d&31;if(!p){break K}n=n<<2;m=n+f|0;p=-1>>>32-p|0;J[m>>2]=J[m>>2]&(p^-1)|p&J[k+n>>2];J[h+32>>2]=f;J[h+36>>2]=d;J[h+40>>2]=j;break J}J[h+32>>2]=f;J[h+36>>2]=d;J[h+40>>2]=j;f=d;if(!k){break H}}gl(k);f=J[h+36>>2]}J[h+36>>2]=f+1;d=J[h+32>>2]+(f>>>3&536870908)|0;J[d>>2]=J[d>>2]|1<>>0<=1073741822){k=k<<6;j=(d&-32)+32|0;k=j>>>0>>0?k:j;f=d;if(d>>>0>=k>>>0){break L}if((k|0)<0){break F}break M}k=2147483647;f=-1;if(d>>>0>=2147483647){break L}}j=(k-1>>>5|0)+1|0;f=ol(j<<2);k=J[h+32>>2];J[f+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;N:{O:{if(!d){break O}n=d>>>5|0;if(d>>>0>=32){nk(f,k,n<<2)}p=d&31;if(!p){break O}n=n<<2;m=n+f|0;p=-1>>>32-p|0;J[m>>2]=J[m>>2]&(p^-1)|p&J[k+n>>2];J[h+32>>2]=f;J[h+36>>2]=d;J[h+40>>2]=j;break N}J[h+32>>2]=f;J[h+36>>2]=d;J[h+40>>2]=j;f=d;if(!k){break L}}gl(k);f=J[h+36>>2]}J[h+36>>2]=f+1;d=J[h+32>>2]+(f>>>3&536870908)|0;k=J[d>>2];ca=d,da=hm(f)&k,J[ca>>2]=da}i=i+1|0;if((l|0)!=(i|0)){continue}break E}break}Ia();C()}d=J[g+24>>2];f=J[d>>2];d=J[d+4>>2];i=J[t+4>>2];J[g+232>>2]=J[t>>2];J[g+236>>2]=i;J[g+224>>2]=f;J[g+228>>2]=d;Qd(g+200|0,_,g+232|0,g+224|0);d=c+S|0;J[d>>2]=J[g+200>>2];J[d+4>>2]=J[g+204>>2];d=J[g+36>>2];if(d){J[g+40>>2]=d;gl(d)}d=J[g+24>>2];if(d){J[g+28>>2]=d;gl(d)}d=(D|0)>2;D=w;if(d){continue}break}break c}Ia();C()}d=J[g+144>>2];if((e|0)>0){ok(d,0,e<<2)}e=J[d>>2];d=J[d+4>>2];f=J[b+4>>2];J[g+200>>2]=J[b>>2];J[g+204>>2]=f;J[g+232>>2]=e;J[g+236>>2]=d;Qd(g+8|0,a+8|0,g+200|0,g+232|0);J[c>>2]=J[g+8>>2];J[c+4>>2]=J[g+12>>2];if(s){gl(s)}a=J[g+128>>2];if(a){J[g+132>>2]=a;gl(a)}a=J[g+180>>2];if(a){J[g+184>>2]=a;gl(a)}a=J[g+168>>2];if(a){J[g+172>>2]=a;gl(a)}a=J[g+156>>2];if(a){J[g+160>>2]=a;gl(a)}a=J[g+144>>2];if(a){J[g+148>>2]=a;gl(a)}fa=g+240|0;return 1}function Sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=fa-32|0;fa=i;c=J[b+8>>2];a:{b:{if(K[b+288|0]){c=Vj(c);e=J[b+12>>2];J[b+12>>2]=c;if(e){break b}break a}c=Uj(c);e=J[b+12>>2];J[b+12>>2]=c;if(!e){break a}}Tg(e)}c=J[b+12>>2];c:{if(!(J[c+40>>2]!=((J[c+4>>2]-J[c>>2]>>2>>>0)/3|0)?c:0)){b=ol(32);H[b+29|0]=0;c=K[1828]|K[1829]<<8|(K[1830]<<16|K[1831]<<24);d=K[1824]|K[1825]<<8|(K[1826]<<16|K[1827]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1823]|K[1824]<<8|(K[1825]<<16|K[1826]<<24);d=K[1819]|K[1820]<<8|(K[1821]<<16|K[1822]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1815]|K[1816]<<8|(K[1817]<<16|K[1818]<<24);d=K[1811]|K[1812]<<8|(K[1813]<<16|K[1814]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1807]|K[1808]<<8|(K[1809]<<16|K[1810]<<24);d=K[1803]|K[1804]<<8|(K[1805]<<16|K[1806]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;sl(a+4|0,b,29);gl(b);break c}J[b+264>>2]=b;yb((J[c+28>>2]-J[c+24>>2]>>2)-J[c+44>>2]|0,J[J[b+4>>2]+44>>2]);c=J[b+12>>2];yb(((J[c+4>>2]-J[c>>2]>>2>>>0)/3|0)-J[c+40>>2]|0,J[J[b+4>>2]+44>>2]);c=J[b+8>>2];d=J[c+100>>2];c=J[c+96>>2];H[i+16|0]=0;o=b+28|0;j=(d-c|0)/12|0;c=i+16|0;Jg(o,j,c);d=J[b+12>>2];e=J[d+28>>2];d=J[d+24>>2];J[i+16>>2]=-1;Ig(b+52|0,e-d>>2,c);c=J[b+40>>2];J[b+44>>2]=c;d:{e:{f:{g:{h:{i:{j:{d=J[b+12>>2];e=J[d+4>>2]-J[d>>2]>>2;e=e-((e>>>0)%3|0)|0;k:{if(e>>>0<=J[b+48>>2]-c>>2>>>0){break k}if(e>>>0>=1073741824){break j}g=e<<2;e=ol(g);J[b+44>>2]=e;J[b+40>>2]=e;J[b+48>>2]=e+g;if(!c){break k}gl(c);d=J[b+12>>2]}c=J[d+28>>2];d=J[d+24>>2];H[i+16|0]=0;Jg(b+84|0,c-d>>2,i+16|0);J[b+164>>2]=-1;J[b+168>>2]=0;J[b+100>>2]=J[b+96>>2];J[b+112>>2]=J[b+108>>2];if(J[b+132>>2]){d=J[b+128>>2];if(d){while(1){c=J[d>>2];gl(d);d=c;if(c){continue}break}}d=0;J[b+128>>2]=0;c=J[b+124>>2];l:{if(!c){break l}if(c>>>0>=4){k=c&-4;g=0;while(1){e=d<<2;J[e+J[b+120>>2]>>2]=0;J[J[b+120>>2]+(e|4)>>2]=0;J[J[b+120>>2]+(e|8)>>2]=0;J[J[b+120>>2]+(e|12)>>2]=0;d=d+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}}c=c&3;if(!c){break l}e=0;while(1){J[J[b+120>>2]+(d<<2)>>2]=0;d=d+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}J[b+132>>2]=0}J[b+144>>2]=0;c=J[b+12>>2];d=J[c+28>>2];c=J[c+24>>2];J[i+16>>2]=-1;Ig(b+152|0,d-c>>2,i+16|0);c=J[b+72>>2];J[b+76>>2]=c;s=b+72|0;d=J[b+12>>2];d=J[d+4>>2]-J[d>>2]|0;e=(d>>2>>>0)/3|0;m:{if(e>>>0<=J[b+80>>2]-c>>2>>>0){break m}if((d|0)<0){break i}e=e<<2;d=ol(e);J[b+76>>2]=d;J[b+72>>2]=d;J[b+80>>2]=d+e;if(!c){break m}gl(c)}J[b- -64>>2]=0;if(!Ug(b)){b=ol(32);H[b+29|0]=0;c=K[1768]|K[1769]<<8|(K[1770]<<16|K[1771]<<24);d=K[1764]|K[1765]<<8|(K[1766]<<16|K[1767]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1763]|K[1764]<<8|(K[1765]<<16|K[1766]<<24);d=K[1759]|K[1760]<<8|(K[1761]<<16|K[1762]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1755]|K[1756]<<8|(K[1757]<<16|K[1758]<<24);d=K[1751]|K[1752]<<8|(K[1753]<<16|K[1754]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1747]|K[1748]<<8|(K[1749]<<16|K[1750]<<24);d=K[1743]|K[1744]<<8|(K[1745]<<16|K[1746]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;sl(a+4|0,b,29);gl(b);break c}c=b;n:{if(K[b+288|0]){break n}b=J[c+8>>2];e=J[b+12>>2]-J[b+8>>2]|0;g=e>>2;d=g-1|0;b=J[c+176>>2];f=J[c+172>>2];k=(b-f|0)/136|0;o:{if(d>>>0>k>>>0){ah(c+172|0,d-k|0);break o}if(d>>>0>=k>>>0){break o}k=f+P(d,136)|0;if((k|0)!=(b|0)){while(1){d=b-136|0;f=J[d+116>>2];if(f){J[b-16>>2]=f;gl(f)}f=J[b-32>>2];if(f){J[b-28>>2]=f;gl(f)}bh(b-132|0);b=d;if((k|0)!=(b|0)){continue}break}}J[c+176>>2]=k}if((e|0)==4|(e|0)<=0){break n}k=(g|0)<=1?1:g;b=0;p:{while(1){f=J[J[J[c+8>>2]+8>>2]+(b<<2)>>2];if(J[f+56>>2]){h=P(n,136);d=h+J[c+172>>2]|0;J[d>>2]=b;e=J[d+104>>2];J[d+108>>2]=e;g=J[c+12>>2];g=J[g+4>>2]-J[g>>2]|0;j=g>>2;q:{if(j>>>0<=J[d+112>>2]-e>>2>>>0){break q}if((g|0)<0){break p}g=ol(g);J[d+108>>2]=g;J[d+104>>2]=g;J[d+112>>2]=g+(j<<2);if(!e){break q}gl(e)}d=h+J[c+172>>2]|0;J[d+128>>2]=0;Tj(d+4|0,J[c+8>>2],J[c+12>>2],f);n=n+1|0}b=b+1|0;if((k|0)!=(b|0)){continue}break}break n}Ia();C()}b=(J[c+176>>2]-J[c+172>>2]|0)/136|0;H[i+31|0]=b;d=J[J[c+4>>2]+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){Ba(d,J[d+4>>2],i+31|0,i+32|0);b=K[i+31|0]}J[c+284>>2]=b&255;b=J[c+12>>2];d=J[b>>2];b=J[b+4>>2];n=c+200|0;Vg(n);g=0;J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;k=0;b=b-d|0;if((b|0)>0){b=b>>>2|0;t=b>>>0<=1?1:b;d=0;while(1){b=(d>>>0)/3|0;p=b>>>5<<2;r=1<>2]+p>>2]){break r}if(Mj(J[c+12>>2],b)){break r}J[i+8>>2]=0;b=Wg(c,b,i+8|0);De(n,b);f=J[i+8>>2];if(b){h=-1;e=-1;j=-1;s:{if((f|0)==-1){break s}l=J[J[c+12>>2]>>2];b=l+(f<<2)|0;h=f+1|0;h=(h>>>0)%3|0?h:f-2|0;if((h|0)!=-1){e=J[l+(h<<2)>>2]}h=J[b>>2];t:{if((f>>>0)%3|0){b=f-1|0;break t}b=f+2|0;j=-1;if((b|0)==-1){break s}}j=J[l+(b<<2)>>2]}b=J[c+84>>2];l=b+(h>>>3&536870908)|0;J[l>>2]=J[l>>2]|1<>>3&536870908)|0;J[h>>2]=J[h>>2]|1<>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];h=J[c+104>>2];u:{if(b>>>0>>0){J[b>>2]=1;J[c+100>>2]=b+4;break u}j=b;b=J[c+96>>2];j=j-b|0;l=j>>2;e=l+1|0;if(e>>>0>=1073741824){break h}q=l<<2;h=h-b|0;l=h>>>1|0;e=h>>>0>=2147483644?1073741823:e>>>0>>0?l:e;if(e){if(e>>>0>=1073741824){break g}h=ol(e<<2)}else{h=0}l=q+h|0;J[l>>2]=1;q=e<<2;e=nk(h,b,j);J[c+104>>2]=q+e;J[c+100>>2]=l+4;J[c+96>>2]=e;if(!b){break u}gl(b)}b=J[o>>2]+p|0;J[b>>2]=J[b>>2]|r;h=-1;if((f|0)!=-1){b=f+1|0;h=(b>>>0)%3|0?b:f-2|0}v:{if(g>>>0>>0){J[g>>2]=h;g=g+4|0;J[i+20>>2]=g;break v}e=g-k>>2;b=e+1|0;if(b>>>0>=1073741824){break f}j=m-k|0;m=j>>>1|0;b=j>>>0>=2147483644?1073741823:b>>>0>>0?m:b;if(b){if(b>>>0>=1073741824){break g}j=ol(b<<2)}else{j=0}e=j+(e<<2)|0;J[e>>2]=h;m=j+(b<<2)|0;b=e+4|0;if((g|0)!=(k|0)){while(1){e=e-4|0;g=g-4|0;J[e>>2]=J[g>>2];if((g|0)!=(k|0)){continue}break}}J[i+24>>2]=m;J[i+20>>2]=b;J[i+16>>2]=e;if(k){gl(k)}k=e;g=b}if((f|0)==-1){break r}b=f+1|0;b=(b>>>0)%3|0?b:f-2|0;if((b|0)==-1){break r}b=J[J[J[c+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break r}e=(b>>>0)/3|0;if(J[J[o>>2]+(e>>>3&268435452)>>2]>>>e&1){break r}if(Xg(c,b)){break r}break e}if((f|0)!=-1){b=f+1|0;b=(b>>>0)%3|0?b:f-2|0}else{b=-1}Yg(c,b,1);if(!Xg(c,J[i+8>>2])){break e}}d=d+1|0;if((t|0)!=(d|0)){continue}break}}d=J[c+72>>2];b=J[c+76>>2];w:{if((d|0)==(b|0)){break w}e=b-4|0;if(e>>>0<=d>>>0){break w}while(1){f=J[d>>2];J[d>>2]=J[e>>2];J[e>>2]=f;d=d+4|0;e=e-4|0;if(d>>>0>>0){continue}break}}Zg(s,b,k,g);x:{if(J[c+172>>2]==J[c+176>>2]){break x}b=J[c+8>>2];d=J[b+100>>2];b=J[b+96>>2];H[i+8|0]=0;Jg(o,(d-b|0)/12|0,i+8|0);d=J[c+72>>2];b=J[c+76>>2];if((d|0)==(b|0)){break x}while(1){_g(c,J[d>>2]);d=d+4|0;if((b|0)!=(d|0)){continue}break}}e=n;h=e+32|0;b=J[e+64>>2];b=J[(ka[J[J[b>>2]+40>>2]](b)|0)+56>>2];li(h,P((J[b+100>>2]-J[b+96>>2]|0)/12|0,3),0,1);b=J[e+72>>2]-J[e+68>>2]|0;y:{if((b|0)<=0){break y}d=J[e+52>>2];if(!J[e+48>>2]&(d|0)<=0|(d|0)<0){break y}b=b>>>2|0;while(1){g=b;b=b-1|0;d=J[e+52>>2];z:{if(!J[e+48>>2]&(d|0)<=0|(d|0)<0){break z}o=J[J[e+68>>2]+(b<<2)>>2];if(!(171>>>o&1)){break z}j=J[(o<<2)+11152>>2];f=J[e+44>>2];d=J[f+4>>2];n=0;while(1){m=d>>>3|0;p=m+J[f>>2]|0;l=K[p|0];d=d&7;u=p,v=hm(d)&l,H[u|0]=v;m=m+J[f>>2]|0;H[m|0]=K[m|0]|(o>>>n&1)<>2]+1|0;J[f+4>>2]=d;n=n+1|0;if((j|0)!=(n|0)){continue}break}}if((g|0)>1){continue}break}}mi(h);b=c+232|0;Ee(e,b);if(!(!J[c+280>>2]|J[c+284>>2]<=0)){d=0;while(1){Ee(J[c+280>>2]+(d<<5)|0,b);d=d+1|0;if((d|0)>2]){continue}break}}yb(J[c+272>>2]-J[c+268>>2]>>2,J[J[c+4>>2]+44>>2]);yb(J[c+168>>2],J[J[c+4>>2]+44>>2]);if(!$g(c)){b=ol(32);H[b+28|0]=0;c=K[1909]|K[1910]<<8|(K[1911]<<16|K[1912]<<24);H[b+24|0]=c;H[b+25|0]=c>>>8;H[b+26|0]=c>>>16;H[b+27|0]=c>>>24;c=K[1905]|K[1906]<<8|(K[1907]<<16|K[1908]<<24);d=K[1901]|K[1902]<<8|(K[1903]<<16|K[1904]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1897]|K[1898]<<8|(K[1899]<<16|K[1900]<<24);d=K[1893]|K[1894]<<8|(K[1895]<<16|K[1896]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1889]|K[1890]<<8|(K[1891]<<16|K[1892]<<24);d=K[1885]|K[1886]<<8|(K[1887]<<16|K[1888]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;sl(a+4|0,b,28);gl(b);break d}b=J[J[c+4>>2]+44>>2];d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){Ba(b,J[b+4>>2],J[c+232>>2],J[c+236>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break d}Ia();C()}Ia();C()}Ia();C()}Ya();C()}Ia();C()}b=ol(48);H[b+32|0]=0;c=K[1703]|K[1704]<<8|(K[1705]<<16|K[1706]<<24);d=K[1699]|K[1700]<<8|(K[1701]<<16|K[1702]<<24);H[b+24|0]=d;H[b+25|0]=d>>>8;H[b+26|0]=d>>>16;H[b+27|0]=d>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1695]|K[1696]<<8|(K[1697]<<16|K[1698]<<24);d=K[1691]|K[1692]<<8|(K[1693]<<16|K[1694]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1687]|K[1688]<<8|(K[1689]<<16|K[1690]<<24);d=K[1683]|K[1684]<<8|(K[1685]<<16|K[1686]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1679]|K[1680]<<8|(K[1681]<<16|K[1682]<<24);d=K[1675]|K[1676]<<8|(K[1677]<<16|K[1678]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;sl(a+4|0,b,32);gl(b)}if(!k){break c}gl(k)}fa=i+32|0}function Tj(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=fa-16|0;fa=f;a:{b:{if(c){J[a+88>>2]=0;J[a+92>>2]=0;e=J[a+84>>2];J[a+84>>2]=0;if(e){gl(e)}J[a+76>>2]=0;J[a+80>>2]=0;e=J[a+72>>2];J[a+72>>2]=0;if(e){gl(e)}e=J[c>>2];g=J[c+4>>2];H[f+15|0]=0;Jg(a,g-e>>2,f+15|0);e=J[c+28>>2];g=J[c+24>>2];H[f+14|0]=0;Jg(a+12|0,e-g>>2,f+14|0);Ig(a+28|0,J[c+4>>2]-J[c>>2]>>2,14948);g=J[c+28>>2]-J[c+24>>2]|0;h=g>>2;j=J[a+52>>2];c:{if(h>>>0<=J[a+60>>2]-j>>2>>>0){break c}if((g|0)<0){break a}e=J[a+56>>2];g=ol(g);h=g+(h<<2)|0;i=g+(e-j&-4)|0;g=i;if((e|0)!=(j|0)){while(1){g=g-4|0;e=e-4|0;J[g>>2]=J[e>>2];if((e|0)!=(j|0)){continue}break}}J[a+60>>2]=h;J[a+56>>2]=i;J[a+52>>2]=g;if(!j){break c}gl(j)}g=J[c+28>>2]-J[c+24>>2]|0;h=g>>2;j=J[a+40>>2];d:{if(h>>>0<=J[a+48>>2]-j>>2>>>0){break d}if((g|0)<0){break a}e=J[a+44>>2];g=ol(g);h=g+(h<<2)|0;i=g+(e-j&-4)|0;g=i;if((e|0)!=(j|0)){while(1){g=g-4|0;e=e-4|0;J[g>>2]=J[e>>2];if((e|0)!=(j|0)){continue}break}}J[a+48>>2]=h;J[a+44>>2]=i;J[a+40>>2]=g;if(!j){break d}gl(j)}H[a+24|0]=1;J[a+64>>2]=c}fa=f+16|0;c=(c|0)!=0;break b}if(c){J[a+88>>2]=0;J[a+92>>2]=0;c=J[a+84>>2];J[a+84>>2]=0;if(c){gl(c)}J[a+76>>2]=0;J[a+80>>2]=0;c=J[a+72>>2];J[a+72>>2]=0;if(c){gl(c)}h=J[a+64>>2];if(J[h+4>>2]!=J[h>>2]){c=0;while(1){m=(c>>>0)/3|0;f=Mj(h,m);h=J[a+64>>2];e:{if(f){break e}j=J[J[h+12>>2]+(c<<2)>>2];f:{g:{if((j|0)==-1){f=J[a>>2]+(c>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0)%3|0?f:c-2|0;if((f|0)!=-1){e=J[J[h>>2]+(f<<2)>>2]}f=J[a+12>>2];g=f+(e>>>3&536870908)|0;J[g>>2]=J[g>>2]|1<>>0)%3|0){e=c-1|0;break g}g=-1;e=c+2|0;if((e|0)!=-1){break g}break f}if(c>>>0>j>>>0){break e}e=-1;k=K[d+84|0];g=-1;l=c+1|0;n=c-2|0;i=(l>>>0)%3|0?l:n;if((i|0)>=0){f=(i>>>0)/3|0;g=J[(J[b+96>>2]+P(f,12)|0)+(i-P(f,3)<<2)>>2]}f=j+((j>>>0)%3|0?-1:2)|0;if((f|0)>=0){e=(f>>>0)/3|0;e=J[(J[b+96>>2]+P(e,12)|0)+(f-P(e,3)<<2)>>2]}if(!k){o=J[d+68>>2];e=J[o+(e<<2)>>2];g=J[(g<<2)+o>>2]}if((e|0)==(g|0)){e=-1;g=-1;if((i|0)!=-1){g=i+1|0;g=(g>>>0)%3|0?g:i-2|0}h:{if((f|0)==-1){break h}if((f>>>0)%3|0){e=f-1|0;break h}e=f+2|0}f=-1;i=-1;if((g|0)>=0){i=(g>>>0)/3|0;i=J[(J[b+96>>2]+P(i,12)|0)+(g-P(i,3)<<2)>>2]}if((e|0)>=0){f=(e>>>0)/3|0;f=J[(J[b+96>>2]+P(f,12)|0)+(e-P(f,3)<<2)>>2]}if(!k){e=J[d+68>>2];f=J[e+(f<<2)>>2];i=J[e+(i<<2)>>2]}if((f|0)==(i|0)){break e}}H[a+24|0]=0;f=J[a>>2];e=f+(c>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0)%3|0?l:n;if((f|0)!=-1){i=J[J[h>>2]+(f<<2)>>2]}f=J[a+12>>2];e=f+(i>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<>2]+(e<<2)>>2]}e=(g>>>3&536870908)+f|0;J[e>>2]=J[e>>2]|1<>>0)%3|0?e:j-2|0;if((e|0)!=-1){g=J[J[h>>2]+(e<<2)>>2]}e=(g>>>3&536870908)+f|0;J[e>>2]=J[e>>2]|1<>>0)%3|0){e=j-1|0;break g}g=-1;e=j+2|0;if((e|0)==-1){break f}}g=J[J[h>>2]+(e<<2)>>2]}f=(g>>>3&536870908)+f|0;J[f>>2]=J[f>>2]|1<>>0>2]-J[h>>2]>>2>>>0){continue}break}}if(!(!b|!d)){h=b;j=d;b=0;l=0;e=a;J[e+56>>2]=J[e+52>>2];J[e+44>>2]=J[e+40>>2];k:{d=J[e+64>>2];f=J[d+24>>2];if((f|0)==J[d+28>>2]){break k}l:{m:{while(1){a=b;b=J[(l<<2)+f>>2];n:{if((b|0)==-1){b=a;break n}if((b|0)<0){c=-1}else{c=(b>>>0)/3|0;c=J[(J[h+96>>2]+P(c,12)|0)+(b-P(c,3)<<2)>>2]}c=K[j+84|0]?c:J[J[j+68>>2]+(c<<2)>>2];d=J[e+56>>2];g=J[e+60>>2];o:{if(d>>>0>>0){J[d>>2]=c;J[e+56>>2]=d+4;break o}i=J[e+52>>2];m=d-i>>2;f=m+1|0;if(f>>>0>=1073741824){break a}g=g-i|0;k=g>>>1|0;k=g>>>0>=2147483644?1073741823:f>>>0>>0?k:f;if(k){if(k>>>0>=1073741824){break m}g=ol(k<<2)}else{g=0}f=g+(m<<2)|0;J[f>>2]=c;c=f+4|0;if((d|0)!=(i|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(i|0)){continue}break}}J[e+60>>2]=g+(k<<2);J[e+56>>2]=c;J[e+52>>2]=f;if(!i){break o}gl(i)}p:{q:{if(!(J[J[e+12>>2]+(l>>>3&536870908)>>2]>>>l&1)){break q}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)==-1|J[J[e>>2]+(c>>>3&536870908)>>2]>>>c&1){break q}c=J[J[J[e+64>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break q}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0;if((d|0)==-1){break q}g=J[e+64>>2];i=J[e>>2];while(1){c=d;d=-1;f=c+1|0;f=(f>>>0)%3|0?f:c-2|0;r:{if((f|0)==-1|J[i+(f>>>3&536870908)>>2]>>>f&1){break r}f=J[J[g+12>>2]+(f<<2)>>2];if((f|0)==-1){break r}d=f+1|0;d=(d>>>0)%3|0?d:f-2|0}if((b|0)!=(d|0)){if((d|0)==-1){break p}continue}break}break k}c=b}J[J[e+28>>2]+(c<<2)>>2]=a;d=J[e+44>>2];s:{if((d|0)!=J[e+48>>2]){J[d>>2]=c;J[e+44>>2]=d+4;break s}g=J[e+40>>2];b=d-g|0;k=b>>2;f=k+1|0;if(f>>>0>=1073741824){break l}i=b>>>1|0;i=b>>>0>=2147483644?1073741823:f>>>0>>0?i:f;if(i){if(i>>>0>=1073741824){break m}b=ol(i<<2)}else{b=0}f=b+(k<<2)|0;J[f>>2]=c;k=f+4|0;if((d|0)!=(g|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+48>>2]=b+(i<<2);J[e+44>>2]=k;J[e+40>>2]=f;if(!g){break s}gl(g)}b=a+1|0;d=J[e+64>>2];if((c|0)==-1){break n}t:{if((c>>>0)%3|0){f=c-1|0;break t}f=c+2|0;if((f|0)==-1){break n}}f=J[J[d+12>>2]+(f<<2)>>2];if((f|0)==-1){break n}i=f+((f>>>0)%3|0?-1:2)|0;if((i|0)==-1|(c|0)==(i|0)){break n}while(1){d=i+1|0;d=(d>>>0)%3|0?d:i-2|0;if(J[J[e>>2]+(d>>>3&536870908)>>2]>>>d&1){g=(i|0)<0?-1:J[(J[h+96>>2]+P((i>>>0)/3|0,12)|0)+((i>>>0)%3<<2)>>2];g=K[j+84|0]?g:J[J[j+68>>2]+(g<<2)>>2];d=J[e+56>>2];f=J[e+60>>2];u:{if(d>>>0>>0){J[d>>2]=g;J[e+56>>2]=d+4;break u}k=J[e+52>>2];n=d-k>>2;a=n+1|0;if(a>>>0>=1073741824){break a}f=f-k|0;m=f>>>1|0;m=f>>>0>=2147483644?1073741823:a>>>0>>0?m:a;if(m){if(m>>>0>=1073741824){break m}a=ol(m<<2)}else{a=0}f=a+(n<<2)|0;J[f>>2]=g;g=f+4|0;if((d|0)!=(k|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(k|0)){continue}break}}J[e+60>>2]=a+(m<<2);J[e+56>>2]=g;J[e+52>>2]=f;if(!k){break u}gl(k)}g=b+1|0;d=J[e+44>>2];v:{if((d|0)!=J[e+48>>2]){J[d>>2]=i;J[e+44>>2]=d+4;break v}k=J[e+40>>2];a=d-k|0;n=a>>2;f=n+1|0;if(f>>>0>=1073741824){break l}m=a>>>1|0;m=a>>>0>=2147483644?1073741823:f>>>0>>0?m:f;if(m){if(m>>>0>=1073741824){break m}a=ol(m<<2)}else{a=0}f=a+(n<<2)|0;J[f>>2]=i;n=f+4|0;if((d|0)!=(k|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(k|0)){continue}break}}J[e+48>>2]=a+(m<<2);J[e+44>>2]=n;J[e+40>>2]=f;if(!k){break v}gl(k)}a=b;b=g}J[J[e+28>>2]+(i<<2)>>2]=a;d=J[e+64>>2];w:{if((i>>>0)%3|0){f=i-1|0;break w}f=i+2|0;if((f|0)==-1){break n}}f=J[J[d+12>>2]+(f<<2)>>2];if((f|0)==-1){break n}i=f+((f>>>0)%3|0?-1:2)|0;if((i|0)==-1){break n}if((c|0)!=(i|0)){continue}break}}l=l+1|0;f=J[d+24>>2];if(l>>>0>2]-f>>2>>>0){continue}break}break k}Ya();C()}break a}return}b=0;f=0;e=a;J[e+56>>2]=J[e+52>>2];J[e+44>>2]=J[e+40>>2];x:{d=J[e+64>>2];h=J[d+24>>2];if((h|0)==J[d+28>>2]){break x}y:{z:{while(1){a=b;b=J[(f<<2)+h>>2];A:{if((b|0)==-1){b=a;break A}d=J[e+56>>2];B:{if((d|0)!=J[e+60>>2]){J[d>>2]=a;J[e+56>>2]=d+4;break B}g=J[e+52>>2];c=d-g|0;h=c>>2;j=h+1|0;if(j>>>0>=1073741824){break a}i=c>>>1|0;j=c>>>0>=2147483644?1073741823:i>>>0>j>>>0?i:j;if(j){if(j>>>0>=1073741824){break z}c=ol(j<<2)}else{c=0}h=c+(h<<2)|0;J[h>>2]=a;i=h+4|0;if((d|0)!=(g|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+60>>2]=c+(j<<2);J[e+56>>2]=i;J[e+52>>2]=h;if(!g){break B}gl(g)}C:{D:{if(!(J[J[e+12>>2]+(f>>>3&536870908)>>2]>>>f&1)){break D}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)==-1|J[J[e>>2]+(c>>>3&536870908)>>2]>>>c&1){break D}c=J[J[J[e+64>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break D}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0;if((d|0)==-1){break D}j=J[e+64>>2];h=J[e>>2];while(1){c=d;d=-1;g=c+1|0;g=(g>>>0)%3|0?g:c-2|0;E:{if((g|0)==-1|J[h+(g>>>3&536870908)>>2]>>>g&1){break E}g=J[J[j+12>>2]+(g<<2)>>2];if((g|0)==-1){break E}d=g+1|0;d=(d>>>0)%3|0?d:g-2|0}if((b|0)!=(d|0)){if((d|0)==-1){break C}continue}break}break x}c=b}J[J[e+28>>2]+(c<<2)>>2]=a;d=J[e+44>>2];F:{if((d|0)!=J[e+48>>2]){J[d>>2]=c;J[e+44>>2]=d+4;break F}g=J[e+40>>2];b=d-g|0;h=b>>2;j=h+1|0;if(j>>>0>=1073741824){break y}i=b>>>1|0;j=b>>>0>=2147483644?1073741823:i>>>0>j>>>0?i:j;if(j){if(j>>>0>=1073741824){break z}b=ol(j<<2)}else{b=0}h=b+(h<<2)|0;J[h>>2]=c;i=h+4|0;if((d|0)!=(g|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+48>>2]=b+(j<<2);J[e+44>>2]=i;J[e+40>>2]=h;if(!g){break F}gl(g)}b=a+1|0;d=J[e+64>>2];if((c|0)==-1){break A}G:{if((c>>>0)%3|0){h=c-1|0;break G}h=c+2|0;if((h|0)==-1){break A}}g=J[J[d+12>>2]+(h<<2)>>2];if((g|0)==-1){break A}g=g+((g>>>0)%3|0?-1:2)|0;if((g|0)==-1|(c|0)==(g|0)){break A}while(1){d=g+1|0;d=(d>>>0)%3|0?d:g-2|0;if(J[J[e>>2]+(d>>>3&536870908)>>2]>>>d&1){d=J[e+56>>2];H:{if((d|0)!=J[e+60>>2]){J[d>>2]=b;J[e+56>>2]=d+4;break H}j=J[e+52>>2];a=d-j|0;l=a>>2;h=l+1|0;if(h>>>0>=1073741824){break a}i=a>>>1|0;i=a>>>0>=2147483644?1073741823:i>>>0>h>>>0?i:h;if(i){if(i>>>0>=1073741824){break z}a=ol(i<<2)}else{a=0}h=a+(l<<2)|0;J[h>>2]=b;l=h+4|0;if((d|0)!=(j|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(j|0)){continue}break}}J[e+60>>2]=a+(i<<2);J[e+56>>2]=l;J[e+52>>2]=h;if(!j){break H}gl(j)}j=b+1|0;d=J[e+44>>2];I:{if((d|0)!=J[e+48>>2]){J[d>>2]=g;J[e+44>>2]=d+4;break I}i=J[e+40>>2];a=d-i|0;k=a>>2;h=k+1|0;if(h>>>0>=1073741824){break y}l=a>>>1|0;l=a>>>0>=2147483644?1073741823:h>>>0>>0?l:h;if(l){if(l>>>0>=1073741824){break z}a=ol(l<<2)}else{a=0}h=a+(k<<2)|0;J[h>>2]=g;k=h+4|0;if((d|0)!=(i|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(i|0)){continue}break}}J[e+48>>2]=a+(l<<2);J[e+44>>2]=k;J[e+40>>2]=h;if(!i){break I}gl(i)}a=b;b=j}J[J[e+28>>2]+(g<<2)>>2]=a;d=J[e+64>>2];J:{if((g>>>0)%3|0){h=g-1|0;break J}h=g+2|0;if((h|0)==-1){break A}}g=J[J[d+12>>2]+(h<<2)>>2];if((g|0)==-1){break A}g=g+((g>>>0)%3|0?-1:2)|0;if((g|0)==-1){break A}if((c|0)!=(g|0)){continue}break}}f=f+1|0;h=J[d+24>>2];if(f>>>0>2]-h>>2>>>0){continue}break}break x}Ya();C()}break a}}return}Ia();C()}function Lj(a){var 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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=fa-16|0;fa=z;b=ol(88);J[b>>2]=0;J[b+4>>2]=0;J[b+56>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;c=b- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+60>>2]=b;c=a;w=fa-16|0;fa=w;J[b+80>>2]=0;J[b+84>>2]=0;d=J[b+76>>2];a=b;J[b+76>>2]=0;if(d){gl(d)}J[a+68>>2]=0;J[a+72>>2]=0;b=a- -64|0;d=J[b>>2];J[b>>2]=0;if(d){gl(d)}f=J[c+4>>2];d=J[c>>2];b=(f-d|0)/12|0;l=P(b,3);i=J[a>>2];e=J[a+4>>2]-i>>2;a:{if(l>>>0>e>>>0){lh(a,l-e|0);f=J[c+4>>2];d=J[c>>2];b=(f-d|0)/12|0;break a}if(e>>>0<=l>>>0){break a}J[a+4>>2]=i+(l<<2)}b:{if((d|0)==(f|0)){break b}f=b>>>0<=1?1:b;e=f&1;g=J[a>>2];c=0;if(b>>>0>=2){i=f&-2;b=0;while(1){j=P(c,12);f=j+g|0;l=d+j|0;J[f>>2]=J[l>>2];J[g+(j|4)>>2]=J[l+4>>2];J[f+8>>2]=J[l+8>>2];f=P(c|1,12);l=f+g|0;f=d+f|0;J[l>>2]=J[f>>2];J[l+4>>2]=J[f+4>>2];J[l+8>>2]=J[f+8>>2];c=c+2|0;b=b+2|0;if((i|0)!=(b|0)){continue}break}}if(!e){break b}c=P(c,12);b=c+g|0;c=c+d|0;J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2]}J[w+12>>2]=-1;c=0;f=0;g=0;o=fa-32|0;fa=o;c:{s=w+12|0;d:{if(!s){break d}b=J[a+4>>2];j=J[a>>2];e=b-j|0;m=e>>2;d=J[a+12>>2];i=J[a+16>>2]-d>>2;e:{if(m>>>0>i>>>0){rb(a+12|0,m-i|0,14880);b=J[a+4>>2];j=J[a>>2];e=b-j|0;m=e>>2;break e}if(i>>>0<=m>>>0){break e}J[a+16>>2]=d+(m<<2)}J[o+24>>2]=0;J[o+16>>2]=0;J[o+20>>2]=0;d=(b|0)==(j|0);if(!d){if((e|0)<0){break c}f=ol(e);J[o+20>>2]=f;J[o+16>>2]=f;J[o+24>>2]=(m<<2)+f}f:{g:{h:{i:{j:{if(e){while(1){d=J[(c<<2)+j>>2];e=J[o+20>>2]-f>>2;k:{if(d>>>0>>0){break k}J[o>>2]=0;i=d+1|0;if(i>>>0>e>>>0){vb(o+16|0,i-e|0,o);j=J[a>>2];b=J[a+4>>2];f=J[o+16>>2];break k}if(e>>>0<=i>>>0){break k}J[o+20>>2]=(i<<2)+f}d=(d<<2)+f|0;J[d>>2]=J[d>>2]+1;c=c+1|0;e=b-j|0;m=e>>2;if(c>>>0>>0){continue}break}break j}e=0;if(!d){break i}break h}if((b|0)==(j|0)){e=0;break h}if(e>>>0>=2147483645){break g}}e=ol(e<<1);ok(e,255,m<<3)}J[o+8>>2]=0;J[o>>2]=0;J[o+4>>2]=0;c=J[o+20>>2];b=c-f|0;y=b>>2;l:{m:{if((c|0)==(f|0)){break m}if((b|0)<0){break l}v=ol(b);J[o>>2]=v;J[o+8>>2]=(y<<2)+v;q=ok(v,0,b);J[o+4>>2]=q+b;b=y>>>0<=1?1:y;l=b&3;c=0;if(b-1>>>0>=3){i=b&-4;while(1){p=g<<2;J[p+q>>2]=c;b=p|4;c=J[f+p>>2]+c|0;J[b+q>>2]=c;d=p|8;c=c+J[b+f>>2]|0;J[d+q>>2]=c;b=p|12;c=c+J[d+f>>2]|0;J[b+q>>2]=c;c=c+J[b+f>>2]|0;g=g+4|0;h=h+4|0;if((i|0)!=(h|0)){continue}break}}if(!l){break m}while(1){b=g<<2;J[b+q>>2]=c;g=g+1|0;c=J[b+f>>2]+c|0;r=r+1|0;if((l|0)!=(r|0)){continue}break}}if(!m){break f}u=J[a+40>>2];k=J[a+12>>2];l=0;while(1){q=l<<2;d=q+j|0;r=-1;b=l+1|0;c=(b>>>0)%3|0?b:l-2|0;if((c|0)!=-1){r=J[(c<<2)+j>>2]}p=J[d>>2];n:{o:{if(!((l>>>0)%3|0)){h=-1;c=l+2|0;if((c|0)!=-1){h=J[(c<<2)+j>>2]}if(!((p|0)==(r|0)|(h|0)==(p|0))&(h|0)!=(r|0)){break o}u=u+1|0;J[a+40>>2]=u;b=l+3|0;break n}h=J[d-4>>2]}c=h<<2;t=J[c+f>>2];p:{q:{if((t|0)<=0){break q}c=J[c+v>>2];g=0;while(1){i=(c<<3)+e|0;d=J[i>>2];if((d|0)==-1){break q}r:{if((d|0)!=(r|0)){break r}n=J[i+4>>2];if((n|0)!=-1){d=J[(n<<2)+j>>2]}else{d=-1}if((d|0)==(p|0)){break r}while(1){s:{d=c;g=g+1|0;if((t|0)<=(g|0)){break s}c=d+1|0;p=(c<<3)+e|0;x=J[p>>2];i=(d<<3)+e|0;J[i+4>>2]=J[p+4>>2];J[i>>2]=x;if((x|0)!=-1){continue}}break}J[(d<<3)+e>>2]=-1;if((n|0)==-1){break q}J[k+q>>2]=n;J[k+(n<<2)>>2]=l;break p}c=c+1|0;g=g+1|0;if((t|0)!=(g|0)){continue}break}}c=r<<2;d=J[c+f>>2];if((d|0)<=0){break p}c=J[c+v>>2];g=0;while(1){i=(c<<3)+e|0;if(J[i>>2]==-1){J[i>>2]=h;J[i+4>>2]=l;break p}c=c+1|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}}}l=b;if(l>>>0>>0){continue}break}break f}break c}Ja(1313);C()}J[s>>2]=y;if(v){gl(v)}if(e){gl(e)}c=J[o+16>>2];if(!c){break d}J[o+20>>2]=c;gl(c)}fa=o+32|0;x=(s|0)!=0;if(x){n=fa-32|0;fa=n;c=J[a>>2];g=J[a+4>>2];J[n+24>>2]=0;J[n+16>>2]=0;J[n+20>>2]=0;if((c|0)==(g|0)){b=g}else{c=g-c|0;if((c|0)<0){break c}d=c>>2;b=(d-1>>>5|0)+1|0;c=ol(b<<2);J[n+24>>2]=b;J[n+20>>2]=0;J[n+16>>2]=c;ci(n+16|0,d);g=J[a>>2];b=J[a+4>>2]}J[n+8>>2]=0;J[n>>2]=0;while(1){t:{k=0;m=0;if((b|0)==(g|0)){break t}while(1){e=J[n+16>>2];u:{if(J[e+(m>>>3&536870908)>>2]>>>m&1){break u}b=J[n>>2];J[n+4>>2]=b;f=J[a+12>>2];c=m;while(1){v:{d=c+1|0;i=c;c=(d>>>0)%3|0?d:c-2|0;if((c|0)==-1){break v}d=J[f+(c<<2)>>2];if((d|0)==-1){break v}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((m|0)==(c|0)|(c|0)==-1){break v}if(!(J[e+(c>>>3&536870908)>>2]>>>c&1)){continue}}break}j=i;w:{x:{y:{while(1){c=J[n+16>>2]+(j>>>3&536870908)|0;J[c>>2]=J[c>>2]|1<>>0)%3|0?c:j-2|0;g=J[a>>2];q=(j>>>0)%3|0;d=(q?-1:2)+j|0;l=J[n>>2];p=(l|0)==(b|0);z:{if(p){break z}t=J[(e<<2)+g>>2];s=J[a+12>>2];c=l;if((d|0)!=-1){f=s+(d<<2)|0;while(1){A:{if((t|0)!=J[c>>2]){break A}u=J[f>>2];h=J[c+4>>2];if((u|0)==(h|0)){break A}f=d;b=-1;c=-1;if((h|0)==-1){break w}break x}c=c+8|0;if((b|0)!=(c|0)){continue}break}break z}while(1){if((t|0)==J[c>>2]){u=-1;f=-1;h=J[c+4>>2];if((h|0)!=-1){break x}}c=c+8|0;if((b|0)!=(c|0)){continue}break}}g=J[(d<<2)+g>>2];B:{if(J[n+8>>2]!=(b|0)){J[b>>2]=g;J[b+4>>2]=e;b=b+8|0;J[n+4>>2]=b;break B}h=b-l|0;d=h>>3;f=d+1|0;if(f>>>0>=536870912){break c}c=h>>>2|0;h=h>>>0>=2147483640?536870911:c>>>0>f>>>0?c:f;if(h){if(h>>>0>=536870912){break y}f=ol(h<<3)}else{f=0}c=f+(d<<3)|0;J[c>>2]=g;J[c+4>>2]=e;d=c+8|0;if(!p){while(1){b=b-8|0;e=J[b+4>>2];c=c-8|0;J[c>>2]=J[b>>2];J[c+4>>2]=e;if((b|0)!=(l|0)){continue}break}b=J[n>>2]}J[n+8>>2]=f+(h<<3);J[n+4>>2]=d;J[n>>2]=c;if(b){gl(b)}b=d}C:{D:{if(q){c=j-1|0;break D}c=j+2|0;if((c|0)==-1){break C}}c=J[J[a+12>>2]+(c<<2)>>2];if((c|0)==-1){break C}j=c+((c>>>0)%3|0?-1:2)|0;if((i|0)==(j|0)){break C}if((j|0)!=-1){continue}}break}g=J[a>>2];break u}Ya();C()}b=J[s+(h<<2)>>2];d=f;c=h}if((u|0)!=-1){J[s+(u<<2)>>2]=-1}if((b|0)!=-1){J[s+(b<<2)>>2]=-1}J[s+(d<<2)>>2]=-1;J[s+(c<<2)>>2]=-1;k=1}m=m+1|0;b=J[a+4>>2];if(m>>>0>2>>>0){continue}break}if(k){continue}}break}c=J[n>>2];if(c){gl(c)}c=J[n+16>>2];if(c){gl(c)}fa=n+32|0;l=0;k=fa-32|0;fa=k;f=J[w+12>>2];J[a+36>>2]=f;t=a+24|0;c=J[a+24>>2];b=J[a+28>>2]-c>>2;E:{F:{if(b>>>0>>0){rb(t,f-b|0,14880);J[k+24>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;break F}if(b>>>0>f>>>0){J[a+28>>2]=c+(f<<2)}J[k+24>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;if(!f){break E}}if((f|0)<0){break c}b=(f-1>>>5|0)+1|0;c=ol(b<<2);J[k+24>>2]=b;J[k+20>>2]=0;J[k+16>>2]=c;ci(k+16|0,f)}c=J[a>>2];d=J[a+4>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;G:{if((c|0)==(d|0)){c=d}else{c=d-c|0;if((c|0)<0){break c}d=c>>2;b=(d-1>>>5|0)+1|0;c=ol(b<<2);J[k+8>>2]=b;J[k+4>>2]=0;J[k>>2]=c;ci(k,d);d=J[a>>2];c=J[a+4>>2]}if(c-d>>>0<12){break G}H:{while(1){q=P(l,3);e=(q<<2)+d|0;h=J[e>>2];b=-1;i=q+1|0;if((i|0)!=-1){b=J[(i<<2)+d>>2]}I:{if((b|0)==(h|0)){break I}i=J[e+8>>2];if((i|0)==(h|0)|(b|0)==(i|0)){break I}r=0;m=J[k>>2];while(1){i=q+r|0;if(!(J[(i>>>3&536870908)+m>>2]>>>i&1)){c=J[(i<<2)+d>>2];b=1<>2];d=c>>>5|0;m=J[e+(d<<2)>>2];p=b&m;if(p){b=J[a+28>>2];J:{if((b|0)!=J[a+32>>2]){J[b>>2]=-1;J[a+28>>2]=b+4;break J}g=J[t>>2];j=b-g|0;e=j>>2;h=e+1|0;if(h>>>0>=1073741824){break c}d=j>>>1|0;j=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(j){if(j>>>0>=1073741824){break H}d=ol(j<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=-1;h=e+4|0;if((b|0)!=(g|0)){while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];if((b|0)!=(g|0)){continue}break}}J[a+32>>2]=d+(j<<2);J[a+28>>2]=h;J[a+24>>2]=e;if(!g){break J}gl(g)}b=J[a+52>>2];K:{if((b|0)!=J[a+56>>2]){J[b>>2]=c;J[a+52>>2]=b+4;break K}g=J[a+48>>2];j=b-g|0;e=j>>2;h=e+1|0;if(h>>>0>=1073741824){break c}d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break H}d=ol(h<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=c;c=e+4|0;if((b|0)!=(g|0)){while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];if((b|0)!=(g|0)){continue}break}}J[a+56>>2]=d+(h<<2);J[a+52>>2]=c;J[a+48>>2]=e;if(!g){break K}gl(g)}b=J[k+20>>2];c=J[k+24>>2];if((b|0)==c<<5){if((b+1|0)<0){break c}e=k+16|0;if(b>>>0<=1073741822){d=c<<6;c=(b&-32)+32|0;c=c>>>0>>0?d:c}else{c=2147483647}Gc(e,c);b=J[k+20>>2]}J[k+20>>2]=b+1;e=J[k+16>>2];d=e+(b>>>3&536870908)|0;c=J[d>>2];A=d,B=hm(b)&c,J[A>>2]=B;b=1<>>5|0;m=J[(d<<2)+e>>2];c=f;f=c+1|0}J[(d<<2)+e>>2]=b|m;j=J[a+24>>2]+(c<<2)|0;g=J[a+12>>2];d=J[a>>2];m=J[k>>2];b=i;L:{M:{N:{while(1){if((b|0)==-1){break N}e=(b>>>3&536870908)+m|0;J[e>>2]=J[e>>2]|1<>2]=b;if(p){J[(b<<2)+d>>2]=c}h=b+1|0;b=(h>>>0)%3|0?h:b-2|0;e=-1;O:{if((b|0)==-1){break O}h=J[g+(b<<2)>>2];e=-1;if((h|0)==-1){break O}b=h+1|0;e=(b>>>0)%3|0?b:h-2|0}b=e;if((i|0)!=(b|0)){continue}break}if((i|0)!=-1){break L}b=1;break M}if((i>>>0)%3|0){b=i-1|0;break M}b=i+2|0;if((b|0)==-1){break L}}b=J[g+(b<<2)>>2];if((b|0)==-1){break L}P:{if((b>>>0)%3|0){b=b-1|0;break P}b=b+2|0;if((b|0)==-1){break L}}e=J[a+12>>2];d=J[a>>2];while(1){i=(b>>>3&536870908)+m|0;J[i>>2]=J[i>>2]|1<>2]=c}Q:{if((b>>>0)%3|0){b=b-1|0;break Q}b=b+2|0;if((b|0)==-1){break L}}b=J[e+(b<<2)>>2];if((b|0)==-1){break L}b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)!=-1){continue}break}}}r=r+1|0;if((r|0)!=3){continue}break}d=J[a>>2];c=J[a+4>>2]}l=l+1|0;if(l>>>0<(c-d>>2>>>0)/3>>>0){continue}break}break G}Ya();C()}b=0;J[a+44>>2]=0;c=J[k+16>>2];d=J[k+20>>2];if(d){i=d&31;f=(d>>>3&536870908)+c|0;e=c;m=0;while(1){if(!(J[e>>2]>>>b&1)){m=m+1|0;J[a+44>>2]=m}d=(b|0)==31;b=d?0:b+1|0;e=(d<<2)+e|0;if((f|0)!=(e|0)|(b|0)!=(i|0)){continue}break}}b=J[k>>2];if(b){gl(b);c=J[k+16>>2]}if(c){gl(c)}fa=k+32|0}fa=w+16|0;if(!x){J[z+8>>2]=0;Tg(a);a=0}fa=z+16|0;return a}Ia();C()}function fl(a){a=a|0;var 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;l=fa-16|0;fa=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(a>>>0<=244){g=J[4892];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+19608|0;d=J[a+19616>>2];a=J[d+8>>2];j:{if((b|0)==(a|0)){m=19568,n=hm(c)&g,J[m>>2]=n;break j}J[a+12>>2]=b;J[b+8>>2]=a}a=d+8|0;b=c<<3;J[d+4>>2]=b|3;b=b+d|0;J[b+4>>2]=J[b+4>>2]|1;break a}k=J[4894];if(k>>>0>=h>>>0){break i}if(b){a=2<>2];a=J[e+8>>2];k:{if((b|0)==(a|0)){g=hm(d)&g;J[4892]=g;break k}J[a+12>>2]=b;J[b+8>>2]=a}J[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;J[c+4>>2]=d|1;J[a+e>>2]=d;if(k){b=(k&-8)+19608|0;f=J[4897];a=1<<(k>>>3);l:{if(!(a&g)){J[4892]=a|g;a=b;break l}a=J[b+8>>2]}J[b+8>>2]=f;J[a+12>>2]=f;J[f+12>>2]=b;J[f+8>>2]=a}a=e+8|0;J[4897]=c;J[4894]=d;break a}j=J[4893];if(!j){break i}c=J[(cm(0-j&j)<<2)+19872>>2];f=(J[c+4>>2]&-8)-h|0;b=c;while(1){m:{a=J[b+16>>2];if(!a){a=J[b+20>>2];if(!a){break m}}b=(J[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=J[c+24>>2];d=J[c+12>>2];if((d|0)!=(c|0)){a=J[c+8>>2];J[a+12>>2]=d;J[d+8>>2]=a;break b}b=c+20|0;a=J[b>>2];if(!a){a=J[c+16>>2];if(!a){break h}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=J[b>>2];if(a){continue}b=d+16|0;a=J[d+16>>2];if(a){continue}break}J[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break i}a=a+11|0;h=a&-8;j=J[4893];if(!j){break i}f=0-h|0;g=0;n:{if(h>>>0<256){break n}g=31;if(h>>>0>16777215){break n}a=S(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=J[(g<<2)+19872>>2];o:{p:{q:{if(!b){a=0;break q}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){r:{e=(J[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break r}d=b;f=e;if(e){break r}f=0;a=b;break p}e=J[b+20>>2];b=J[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break o}}while(1){b=(J[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=J[a+16>>2];if(b){a=b}else{a=J[a+20>>2]}if(a){continue}break}}if(!d|J[4894]-h>>>0<=f>>>0){break i}g=J[d+24>>2];c=J[d+12>>2];if((d|0)!=(c|0)){a=J[d+8>>2];J[a+12>>2]=c;J[c+8>>2]=a;break c}b=d+20|0;a=J[b>>2];if(!a){a=J[d+16>>2];if(!a){break g}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=J[b>>2];if(a){continue}b=c+16|0;a=J[c+16>>2];if(a){continue}break}J[e>>2]=0;break c}a=J[4894];if(a>>>0>=h>>>0){d=J[4897];b=a-h|0;s:{if(b>>>0>=16){c=d+h|0;J[c+4>>2]=b|1;J[a+d>>2]=b;J[d+4>>2]=h|3;break s}J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;c=0;b=0}J[4894]=b;J[4897]=c;a=d+8|0;break a}i=J[4895];if(i>>>0>h>>>0){b=i-h|0;J[4895]=b;c=J[4898];a=c+h|0;J[4898]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(J[5010]){c=J[5012]}else{J[5013]=-1;J[5014]=-1;J[5011]=4096;J[5012]=4096;J[5010]=l+12&-16^1431655768;J[5015]=0;J[5003]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=J[5002];if(d){c=J[5e3];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}t:{if(!(K[20012]&4)){u:{v:{w:{x:{d=J[4898];if(d){a=20016;while(1){c=J[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break x}a=J[a+8>>2];if(a){continue}break}}c=el(0);if((c|0)==-1){break u}g=b;d=J[5011];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break u}d=J[5002];if(d){a=J[5e3];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break u}}a=el(g);if((c|0)!=(a|0)){break w}break t}g=f&e-i;c=el(g);if((c|0)==(J[a>>2]+J[a+4>>2]|0)){break v}a=c}if((a|0)==-1){break u}if(h+48>>>0<=g>>>0){c=a;break t}c=J[5012];c=c+(j-g|0)&0-c;if((el(c)|0)==-1){break u}g=c+g|0;c=a;break t}if((c|0)!=-1){break t}}J[5003]=J[5003]|4}c=el(b);a=el(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}g=a-c|0;if(g>>>0<=h+40>>>0){break d}}a=J[5e3]+g|0;J[5e3]=a;if(a>>>0>M[5001]){J[5001]=a}y:{e=J[4898];if(e){a=20016;while(1){d=J[a>>2];b=J[a+4>>2];if((d+b|0)==(c|0)){break y}a=J[a+8>>2];if(a){continue}break}break f}a=J[4896];if(!(a>>>0<=c>>>0?a:0)){J[4896]=c}a=0;J[5005]=g;J[5004]=c;J[4900]=-1;J[4901]=J[5010];J[5007]=0;while(1){d=a<<3;b=d+19608|0;J[d+19616>>2]=b;J[d+19620>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4895]=b;a=a+c|0;J[4898]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4899]=J[5014];break e}if(K[a+12|0]&8|d>>>0>e>>>0|c>>>0<=e>>>0){break f}J[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;J[4898]=c;b=J[4895]+g|0;a=b-a|0;J[4895]=a;J[c+4>>2]=a|1;J[(b+e|0)+4>>2]=40;J[4899]=J[5014];break e}d=0;break b}c=0;break c}if(M[4896]>c>>>0){J[4896]=c}b=c+g|0;a=20016;z:{A:{B:{C:{D:{E:{while(1){if((b|0)!=J[a>>2]){a=J[a+8>>2];if(a){continue}break E}break}if(!(K[a+12|0]&8)){break D}}a=20016;while(1){b=J[a>>2];if(b>>>0<=e>>>0){f=b+J[a+4>>2]|0;if(f>>>0>e>>>0){break C}}a=J[a+8>>2];continue}}J[a>>2]=c;J[a+4>>2]=J[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;J[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){J[4898]=i;a=J[4895]+a|0;J[4895]=a;J[i+4>>2]=a|1;break A}if(J[4897]==(g|0)){J[4897]=i;a=J[4894]+a|0;J[4894]=a;J[i+4>>2]=a|1;J[a+i>>2]=a;break A}f=J[g+4>>2];if((f&3)==1){e=f&-8;F:{if(f>>>0<=255){d=J[g+8>>2];b=f>>>3|0;c=J[g+12>>2];if((c|0)==(d|0)){m=19568,n=J[4892]&hm(b),J[m>>2]=n;break F}J[d+12>>2]=c;J[c+8>>2]=d;break F}h=J[g+24>>2];c=J[g+12>>2];G:{if((g|0)!=(c|0)){b=J[g+8>>2];J[b+12>>2]=c;J[c+8>>2]=b;break G}H:{f=g+20|0;b=J[f>>2];if(b){break H}f=g+16|0;b=J[f>>2];if(b){break H}c=0;break G}while(1){d=f;c=b;f=c+20|0;b=J[f>>2];if(b){continue}f=c+16|0;b=J[c+16>>2];if(b){continue}break}J[d>>2]=0}if(!h){break F}d=J[g+28>>2];b=(d<<2)+19872|0;I:{if(J[b>>2]==(g|0)){J[b>>2]=c;if(c){break I}m=19572,n=J[4893]&hm(d),J[m>>2]=n;break F}J[h+(J[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break F}}J[c+24>>2]=h;b=J[g+16>>2];if(b){J[c+16>>2]=b;J[b+24>>2]=c}b=J[g+20>>2];if(!b){break F}J[c+20>>2]=b;J[b+24>>2]=c}g=e+g|0;f=J[g+4>>2];a=a+e|0}J[g+4>>2]=f&-2;J[i+4>>2]=a|1;J[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+19608|0;c=J[4892];a=1<<(a>>>3);J:{if(!(c&a)){J[4892]=a|c;a=b;break J}a=J[b+8>>2]}J[b+8>>2]=i;J[a+12>>2]=i;J[i+12>>2]=b;J[i+8>>2]=a;break A}f=31;if(a>>>0<=16777215){b=S(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}J[i+28>>2]=f;J[i+16>>2]=0;J[i+20>>2]=0;b=(f<<2)+19872|0;d=J[4893];c=1<>2]=i;break K}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=J[b>>2];while(1){b=c;if((J[c+4>>2]&-8)==(a|0)){break B}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=J[d+16>>2];if(c){continue}break}J[d+16>>2]=i}J[i+24>>2]=b;J[i+12>>2]=i;J[i+8>>2]=i;break A}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4895]=b;a=a+c|0;J[4898]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4899]=J[5014];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;J[d+4>>2]=27;a=J[5007];J[d+16>>2]=J[5006];J[d+20>>2]=a;a=J[5005];J[d+8>>2]=J[5004];J[d+12>>2]=a;J[5006]=d+8;J[5005]=g;J[5004]=c;J[5007]=0;a=d+24|0;while(1){J[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break e}J[d+4>>2]=J[d+4>>2]&-2;f=d-e|0;J[e+4>>2]=f|1;J[d>>2]=f;if(f>>>0<=255){b=(f&-8)+19608|0;c=J[4892];a=1<<(f>>>3);L:{if(!(c&a)){J[4892]=a|c;a=b;break L}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break e}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+19872|0;d=J[4893];c=1<>2]=e;break M}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=J[b>>2];while(1){b=d;if((f|0)==(J[b+4>>2]&-8)){break z}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=J[c+16>>2];if(d){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break e}a=J[b+8>>2];J[a+12>>2]=i;J[b+8>>2]=i;J[i+24>>2]=0;J[i+12>>2]=b;J[i+8>>2]=a}a=j+8|0;break a}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=J[4895];if(a>>>0<=h>>>0){break d}b=a-h|0;J[4895]=b;c=J[4898];a=c+h|0;J[4898]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[4842]=48;a=0;break a}N:{if(!g){break N}b=J[d+28>>2];a=(b<<2)+19872|0;O:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break O}j=hm(b)&j;J[4893]=j;break N}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break N}}J[c+24>>2]=g;a=J[d+16>>2];if(a){J[c+16>>2]=a;J[a+24>>2]=c}a=J[d+20>>2];if(!a){break N}J[c+20>>2]=a;J[a+24>>2]=c}P:{if(f>>>0<=15){a=f+h|0;J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;break P}J[d+4>>2]=h|3;e=d+h|0;J[e+4>>2]=f|1;J[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+19608|0;c=J[4892];a=1<<(f>>>3);Q:{if(!(c&a)){J[4892]=a|c;a=b;break Q}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break P}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+19872|0;R:{c=1<>2]=e;break S}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=J[b>>2];while(1){b=h;if((J[b+4>>2]&-8)==(f|0)){break R}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=J[c+16>>2];if(h){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break P}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=d+8|0;break a}T:{if(!i){break T}b=J[c+28>>2];a=(b<<2)+19872|0;U:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break U}m=19572,n=hm(b)&j,J[m>>2]=n;break T}J[i+(J[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break T}}J[d+24>>2]=i;a=J[c+16>>2];if(a){J[d+16>>2]=a;J[a+24>>2]=d}a=J[c+20>>2];if(!a){break T}J[d+20>>2]=a;J[a+24>>2]=d}V:{if(f>>>0<=15){a=f+h|0;J[c+4>>2]=a|3;a=a+c|0;J[a+4>>2]=J[a+4>>2]|1;break V}J[c+4>>2]=h|3;d=c+h|0;J[d+4>>2]=f|1;J[d+f>>2]=f;if(k){b=(k&-8)+19608|0;e=J[4897];a=1<<(k>>>3);W:{if(!(a&g)){J[4892]=a|g;a=b;break W}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a}J[4897]=d;J[4894]=f}a=c+8|0}fa=l+16|0;return a|0}function Fb(a){a=a|0;var 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=Q(0);e=fa+-64|0;fa=e;c=J[a+4>>2];i=J[a+8>>2];a:{if((c|0)==(i|0)){J[a+72>>2]=0;b=1;break a}d=i-c>>2;m=d>>>0<=1?1:d;j=m&3;h=J[J[a+28>>2]+4>>2];d=J[h+8>>2];if(m-1>>>0>=3){m=m&-4;while(1){l=g;g=b<<2;g=(((l+K[J[d+(J[g+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|4)+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|8)+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|12)+c>>2]<<2)>>2]+24|0]|0;b=b+4|0;k=k+4|0;if((m|0)!=(k|0)){continue}break}}if(j){while(1){g=K[J[d+(J[(b<<2)+c>>2]<<2)>>2]+24|0]+g|0;b=b+1|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}o=J[h+80>>2];J[a+72>>2]=g;if((c|0)==(i|0)){b=1;break a}m=0;while(1){b=J[(m<<2)+c>>2];J[e+60>>2]=b;b:{c:{d:{e:{f:{c=J[a+28>>2];i=J[J[J[c+4>>2]+8>>2]+(b<<2)>>2];switch(J[i+28>>2]-1|0){case 0:case 2:case 4:break e;case 8:break f;default:break b}}J[e+36>>2]=-1;J[e+32>>2]=2040;J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;g=J[c+48>>2];b=ol(32);J[e+16>>2]=b;J[e+20>>2]=17;J[e+24>>2]=-2147483616;H[b+16|0]=K[1261];c=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);d=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);d=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;g=Gb(g,e+60|0,e+16|0,-1);if(H[e+27|0]<0){gl(J[e+16>>2])}g:{if((g|0)<=0){break g}j=J[J[a+28>>2]+48>>2];b=ol(32);J[e+16>>2]=b;J[e+20>>2]=19;J[e+24>>2]=-2147483616;d=0;c=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);f=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);f=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;h:{if(!Hb(j,e+60|0,e+16|0)){break h}f=J[J[a+28>>2]+48>>2];b=ol(32);J[e>>2]=b;J[e+4>>2]=18;J[e+8>>2]=-2147483616;c=K[1547]|K[1548]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);d=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);d=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;d=Hb(f,e+60|0,e);if(H[e+11|0]>=0){break h}gl(J[e>>2])}if(H[e+27|0]<0){gl(J[e+16>>2])}i:{if(d){b=K[i+24|0];j:{if(!b){d=0;break j}b=b<<2;d=ol(b);ok(d,0,b)}j=J[J[a+28>>2]+48>>2];b=ol(32);J[e+16>>2]=b;J[e+20>>2]=19;J[e+24>>2]=-2147483616;c=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);f=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);f=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;Ib(j,e+60|0,e+16|0,K[i+24|0],d);if(H[e+27|0]<0){gl(J[e+16>>2])}j=J[J[a+28>>2]+48>>2];b=ol(32);J[e+16>>2]=b;J[e+20>>2]=18;J[e+24>>2]=-2147483616;c=K[1547]|K[1548]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);f=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);f=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;p=Jb(j,e+60|0,e+16|0);if(H[e+27|0]<0){gl(J[e+16>>2])}Pa(e+32|0,g,d,K[i+24|0],p);if(!d){break i}gl(d);break i}if(!Ra(e+32|0,i,g)){break g}}d=J[a+40>>2];k:{if((d|0)!=J[a+44>>2]){J[d>>2]=2040;b=J[e+36>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[d+4>>2]=b;b=J[e+44>>2];c=J[e+40>>2];if((b|0)!=(c|0)){b=b-c|0;if((b|0)<0){break d}c=ol(b);J[d+12>>2]=c;J[d+8>>2]=c;J[d+16>>2]=(b&-4)+c;b=J[e+40>>2];g=J[e+44>>2];if((b|0)!=(g|0)){while(1){N[c>>2]=N[b>>2];c=c+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}J[d+12>>2]=c}N[d+20>>2]=N[e+52>>2];J[a+40>>2]=d+24;break k}f=0;l:{m:{n:{o:{b=J[a+40>>2];j=J[a+36>>2];d=(b-j|0)/24|0;c=d+1|0;if(c>>>0<178956971){g=(J[a+44>>2]-j|0)/24|0;h=g<<1;h=g>>>0>=89478485?178956970:c>>>0>>0?h:c;if(h){if(h>>>0>=178956971){break o}f=ol(P(h,24))}c=P(d,24)+f|0;J[c>>2]=2040;d=J[e+36>>2];J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+4>>2]=d;g=J[e+40>>2];k=J[e+44>>2];if((g|0)!=(k|0)){l=k-g|0;if((l|0)<0){break n}d=ol(l);J[c+8>>2]=d;J[c+16>>2]=(l&-4)+d;while(1){N[d>>2]=N[g>>2];d=d+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}J[c+12>>2]=d}d=P(h,24)+f|0;N[c+20>>2]=N[e+52>>2];g=c+24|0;if((b|0)==(j|0)){break m}while(1){c=c-24|0;J[c>>2]=2040;b=b-24|0;J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[b+16>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;N[c+20>>2]=N[b+20>>2];if((b|0)!=(j|0)){continue}break}J[a+44>>2]=d;d=J[a+40>>2];J[a+40>>2]=g;b=J[a+36>>2];J[a+36>>2]=c;if((b|0)==(d|0)){break l}while(1){d=d-24|0;ka[J[J[d>>2]>>2]](d)|0;if((b|0)!=(d|0)){continue}break}break l}Ia();C()}Ya();C()}Ia();C()}J[a+44>>2]=d;J[a+40>>2]=g;J[a+36>>2]=c}if(b){gl(b)}}b=e+32|0;c=Za(b,i,o);J[e>>2]=c;J[e+24>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;Na(b,i,e+16|0,c);b=J[e+16>>2];if(b){J[e+20>>2]=b;gl(b)}b=J[a+64>>2];p:{if(b>>>0>2]){c=J[e>>2];J[e>>2]=0;J[b>>2]=c;J[a+64>>2]=b+4;break p}c=0;q:{r:{s:{d=J[a+60>>2];g=J[a+64>>2]-d>>2;b=g+1|0;if(b>>>0<1073741824){d=J[a+68>>2]-d|0;i=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?i:b;if(d){if(d>>>0>=1073741824){break s}c=ol(d<<2)}i=J[e>>2];J[e>>2]=0;b=(g<<2)+c|0;J[b>>2]=i;d=(d<<2)+c|0;g=b+4|0;c=J[a+64>>2];i=J[a+60>>2];if((c|0)==(i|0)){break r}while(1){c=c-4|0;f=J[c>>2];J[c>>2]=0;b=b-4|0;J[b>>2]=f;if((c|0)!=(i|0)){continue}break}J[a+68>>2]=d;d=J[a+64>>2];J[a+64>>2]=g;c=J[a+60>>2];J[a+60>>2]=b;if((c|0)==(d|0)){break q}while(1){d=d-4|0;b=J[d>>2];J[d>>2]=0;if(b){Kb(b)}if((c|0)!=(d|0)){continue}break}break q}Ia();C()}Ya();C()}J[a+68>>2]=d;J[a+64>>2]=g;J[a+60>>2]=b}if(c){gl(c)}}b=J[e>>2];J[e>>2]=0;if(b){Kb(b)}J[e+32>>2]=2040;b=J[e+40>>2];if(!b){break b}J[e+44>>2]=b;gl(b);break b}J[e+32>>2]=2040;a=J[e+40>>2];if(a){J[e+44>>2]=a;gl(a)}b=0;break a}j=0;t:{u:{g=K[i+24|0];v:{if(!g){d=0;break v}b=0;f=g<<2;d=ol(f);c=d;h=g&7;if(h){while(1){J[c>>2]=2147483647;c=c+4|0;b=b+1|0;if((h|0)!=(b|0)){continue}break}}if((g-1&1073741823)>>>0>=7){b=d+f|0;while(1){J[c+24>>2]=2147483647;J[c+28>>2]=2147483647;J[c+16>>2]=2147483647;J[c+20>>2]=2147483647;J[c+8>>2]=2147483647;J[c+12>>2]=2147483647;J[c>>2]=2147483647;J[c+4>>2]=2147483647;c=c+32|0;if((b|0)!=(c|0)){continue}break}}b=K[i+24|0];if(b){break u}}g=0;b=0;break t}b=b<<2;g=ol(b);ok(g,0,b);b=K[i+24|0]}if(!J[i+80>>2]){break c}while(1){Lb(i,j,b<<24>>24,g);b=K[i+24|0];w:{if(!b){break w}c=0;if((b|0)!=1){l=b&254;f=0;while(1){h=c<<2;k=h+d|0;n=J[g+h>>2];if((n|0)>2]){J[k>>2]=n}h=h|4;k=h+d|0;h=J[g+h>>2];if(J[k>>2]>(h|0)){J[k>>2]=h}c=c+2|0;f=f+2|0;if((l|0)!=(f|0)){continue}break}}if(!(b&1)){break w}c=c<<2;f=c+d|0;c=J[c+g>>2];if(J[f>>2]<=(c|0)){break w}J[f>>2]=c}j=j+1|0;if(j>>>0>2]){continue}break}break c}Ia();C()}c=0;x:{if(!b){break x}y:{while(1){z:{k=(c<<2)+d|0;b=J[a+52>>2];A:{if((b|0)!=J[a+56>>2]){J[b>>2]=J[k>>2];J[a+52>>2]=b+4;break A}h=b;b=J[a+48>>2];f=h-b|0;l=f>>2;j=l+1|0;if(j>>>0>=1073741824){break z}h=f>>>1|0;j=f>>>0>=2147483644?1073741823:j>>>0>>0?h:j;if(j){if(j>>>0>=1073741824){break y}h=ol(j<<2)}else{h=0}l=h+(l<<2)|0;J[l>>2]=J[k>>2];f=nk(h,b,f);J[a+56>>2]=f+(j<<2);J[a+52>>2]=l+4;J[a+48>>2]=f;if(!b){break A}gl(b)}c=c+1|0;if(c>>>0>2];if(m>>>0>2]-c>>2>>>0){continue}break}}fa=e- -64|0;return b|0}function Kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=fa-48|0;fa=i;h=J[a+4>>2];e=J[a+12>>2];J[i+40>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;l=J[J[J[h+4>>2]+8>>2]+(e<<2)>>2];d=i+8|0;if((b|0)==-1){b=ve(e,h)}a:{if((b|0)==-2){break a}if((ka[J[J[h>>2]+8>>2]](h)|0)==1){j=fa-32|0;fa=j;k=J[J[J[h+4>>2]+8>>2]+(e<<2)>>2];b:{c:{d:{if((ka[J[J[h>>2]+8>>2]](h)|0)!=1|b-1>>>0>5){break d}f=ka[J[J[h>>2]+52>>2]](h)|0;g=ka[J[J[h>>2]+60>>2]](h,e)|0;if(!f|!g){break d}c=ka[J[J[h>>2]+56>>2]](h,e)|0;if(c){a=J[h+56>>2];J[j+20>>2]=c;J[j+16>>2]=a;J[j+28>>2]=g;J[j+24>>2]=g+12;e=j+16|0;a=0;e:{f:{switch(b-1|0){case 0:b=ol(60);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=ol(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b>>2]=2756;a=b;break e;case 3:b=ol(168);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=ol(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=3520;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;J[a+160>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;break e;case 4:b=ol(104);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=ol(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b+84>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b>>2]=3768;a=J[e+4>>2];J[b+88>>2]=J[e>>2];J[b+92>>2]=a;a=J[e+12>>2];J[b+96>>2]=J[e+8>>2];J[b+100>>2]=a;a=b;break e;case 5:break f;default:break e}}a=ol(144);J[a+4>>2]=k;J[a>>2]=3464;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;g:{h:{c=J[d+28>>2];b=J[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break h}b=ol(c);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(c&-4)+b;c=J[d+24>>2];f=J[d+28>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=3408;b=J[e+4>>2];J[a+44>>2]=J[e>>2];J[a+48>>2]=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=4632;J[a>>2]=4004;b=J[e+4>>2];J[a+72>>2]=J[e>>2];J[a+76>>2]=b;b=J[e+12>>2];J[a+80>>2]=J[e+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=4240;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;break g}Ia();C()}break e}c=a;break d}a=J[h+56>>2];J[j+20>>2]=f;J[j+16>>2]=a;J[j+28>>2]=g;J[j+24>>2]=g+12;e=j+16|0;a=0;i:{j:{switch(b-1|0){case 0:b=ol(60);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=ol(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b>>2]=4660;a=b;break i;case 3:b=ol(168);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=ol(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=5084;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;J[a+160>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;break i;case 4:b=ol(104);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=ol(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b+84>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b>>2]=5320;a=J[e+4>>2];J[b+88>>2]=J[e>>2];J[b+92>>2]=a;a=J[e+12>>2];J[b+96>>2]=J[e+8>>2];J[b+100>>2]=a;a=b;break i;case 5:break j;default:break i}}a=ol(144);J[a+4>>2]=k;J[a>>2]=3464;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;k:{l:{c=J[d+28>>2];b=J[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break l}b=ol(c);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(c&-4)+b;c=J[d+24>>2];f=J[d+28>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=5028;b=J[e+4>>2];J[a+44>>2]=J[e>>2];J[a+48>>2]=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=6128;J[a>>2]=5544;b=J[e+4>>2];J[a+72>>2]=J[e>>2];J[a+76>>2]=b;b=J[e+12>>2];J[a+80>>2]=J[e+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=5764;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;break k}Ia();C()}break i}c=a}fa=j+32|0;break b}Ia();C()}if(c){break a}}c=ol(44);J[c+4>>2]=l;J[c>>2]=3464;a=J[d+4>>2];J[c+8>>2]=J[d>>2];J[c+12>>2]=a;a=J[d+12>>2];J[c+16>>2]=J[d+8>>2];J[c+20>>2]=a;a=J[d+20>>2];J[c+24>>2]=J[d+16>>2];J[c+28>>2]=a;J[c+40>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;m:{a=J[d+24>>2];l=J[d+28>>2];if((a|0)!=(l|0)){f=l-a|0;if((f|0)<0){break m}b=ol(f);J[c+32>>2]=b;J[c+40>>2]=(f&-4)+b;while(1){J[b>>2]=J[a>>2];b=b+4|0;a=a+4|0;if((l|0)!=(a|0)){continue}break}J[c+36>>2]=b}J[c>>2]=6156;break a}Ia();C()}a=J[i+32>>2];if(a){J[i+36>>2]=a;gl(a)}fa=i+48|0;return c|0}function Vk(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,N=0,O=0,P=0;k=fa-336|0;fa=k;n=h;p=i&65535;o=d;m=e&65535;u=(e^i)&-2147483648;s=i>>>16&32767;q=e>>>16&32767;a:{b:{if(s-32767>>>0>4294934529&q-32767>>>0>=4294934530){break b}j=e&2147483647;if(!(!d&(j|0)==2147418112?!(b|c):j>>>0<2147418112)){r=d;u=e|32768;break a}e=i&2147483647;if(!(!h&(e|0)==2147418112?!(f|g):e>>>0<2147418112)){r=h;u=i|32768;b=f;c=g;break a}if(!(b|d|(j^2147418112|c))){if(!(f|h|(e^2147418112|g))){b=0;c=0;u=2147450880;break a}u=u|2147418112;b=0;c=0;break a}if(!(f|h|(e^2147418112|g))){b=0;c=0;break a}if(!(b|d|(c|j))){b=!(f|h|(e|g));r=b?0:r;u=b?2147450880:u;b=0;c=0;break a}if(!(f|h|(e|g))){u=u|2147418112;b=0;c=0;break a}if((j|0)==65535|j>>>0<65535){d=!(m|o);i=d;j=d?b:o;d=d<<6;h=d;i=S(i?c:m);d=d+((i|0)==32?S(j)+32|0:i)|0;Sk(k+320|0,b,c,o,m,d-15|0);v=16-d|0;o=J[k+328>>2];m=J[k+332>>2];c=J[k+324>>2];b=J[k+320>>2]}if(e>>>0>65535){break b}d=!(n|p);h=d;i=d?f:n;d=d<<6;e=d;h=S(h?g:p);d=d+((h|0)==32?S(i)+32|0:h)|0;Sk(k+304|0,f,g,n,p,d-15|0);v=(d+v|0)-16|0;n=J[k+312>>2];p=J[k+316>>2];f=J[k+304>>2];g=J[k+308>>2]}e=p|65536;A=e;B=n;d=n;j=e<<15|d>>>17;e=d<<15|g>>>17;d=e;i=0-d|0;h=j;j=1963258675-(j+((d|0)!=0)|0)|0;$k(k+288|0,d,h,0,0,i,j,0,0);d=J[k+296>>2];$k(k+272|0,0-d|0,0-(J[k+300>>2]+((d|0)!=0)|0)|0,0,0,i,j,0,0);d=J[k+280>>2];i=d<<1|J[k+276>>2]>>>31;d=J[k+284>>2]<<1|d>>>31;$k(k+256|0,i,d,0,0,e,h,0,0);j=J[k+264>>2];$k(k+240|0,i,d,0,0,0-j|0,0-(J[k+268>>2]+((j|0)!=0)|0)|0,0,0);i=J[k+248>>2];j=i<<1|J[k+244>>2]>>>31;d=J[k+252>>2]<<1|i>>>31;$k(k+224|0,j,d,0,0,e,h,0,0);i=J[k+232>>2];$k(k+208|0,j,d,0,0,0-i|0,0-(J[k+236>>2]+((i|0)!=0)|0)|0,0,0);d=J[k+216>>2];i=d<<1|J[k+212>>2]>>>31;d=J[k+220>>2]<<1|d>>>31;$k(k+192|0,i,d,0,0,e,h,0,0);j=J[k+200>>2];$k(k+176|0,i,d,0,0,0-j|0,0-(J[k+204>>2]+((j|0)!=0)|0)|0,0,0);i=e;e=J[k+184>>2];d=h;n=e<<1|J[k+180>>2]>>>31;h=n-1|0;e=(J[k+188>>2]<<1|e>>>31)-!n|0;$k(k+160|0,i,d,0,0,h,e,0,0);d=h;$k(k+144|0,f<<15,g<<15|f>>>17,0,0,d,e,0,0);t=k+112|0;y=J[k+168>>2];h=J[k+172>>2];n=J[k+160>>2];i=J[k+152>>2];l=n+i|0;p=J[k+164>>2];j=p+J[k+156>>2]|0;j=i>>>0>l>>>0?j+1|0:j;i=j;j=(p|0)==(j|0)&l>>>0>>0|j>>>0

>>0;p=j+y|0;j=j>>>0>p>>>0?h+1|0:h;n=!i&l>>>0>1|(i|0)!=0;h=n+p|0;j=n>>>0>h>>>0?j+1|0:j;$k(t,d,e,0,0,0-h|0,0-(((h|0)!=0)+j|0)|0,0,0);$k(k+128|0,1-l|0,0-((l>>>0>1)+i|0)|0,0,0,d,e,0,0);H=(q-s|0)+v|0;e=J[k+116>>2];t=e;d=J[k+112>>2];j=e<<1|d>>>31;n=d<<1;q=j;d=j;h=J[k+140>>2];z=h;e=J[k+136>>2];j=h<<1|e>>>31;i=e<<1|J[k+132>>2]>>>31;h=i+n|0;d=d+j|0;d=h>>>0>>0?d+1|0:d;e=d;d=d-(h>>>0<13927)|0;x=d;y=d;l=0;j=m|65536;I=j;K=o;d=o;j=j<<1|d>>>31;N=d<<1;O=j;D=j;d=dm(x,l,j,0);j=ja;E=d;w=j;v=b<<1;d=c<<1|b>>>31;s=d;j=0;p=j;i=h-13927|0;x=(e|0)==(x|0)&i>>>0>>0|e>>>0>x>>>0;e=(e|0)==(q|0)&h>>>0>>0|e>>>0>>0;d=J[k+120>>2];h=J[k+124>>2]<<1|d>>>31;d=d<<1|t>>>31;j=h;l=z>>>31|0;d=l+d|0;j=d>>>0>>0?j+1|0:j;h=d;d=d+e|0;l=h>>>0>d>>>0?j+1|0:j;e=d;d=d+x|0;l=e>>>0>d>>>0?l+1|0:l;e=d-1|0;x=l-!d|0;q=0;j=dm(s,p,x,q);d=j+E|0;h=ja+w|0;h=d>>>0>>0?h+1|0:h;t=(w|0)==(h|0)&d>>>0>>0|h>>>0>>0;j=0;z=e;L=c>>>31|0;C=L|o<<1;w=0;e=dm(e,j,C,w);o=e+d|0;j=ja+h|0;l=0;j=e>>>0>o>>>0?j+1|0:j;n=j;d=(j|0)==(h|0)&d>>>0>o>>>0|h>>>0>j>>>0;e=d;d=d+t|0;l=e>>>0>d>>>0?1:l;e=dm(D,p,x,q);d=e+d|0;j=ja+l|0;t=d;d=d>>>0>>0?j+1|0:j;e=dm(D,p,z,w);m=ja;h=e;e=dm(C,w,x,q);l=h+e|0;j=ja+m|0;j=e>>>0>l>>>0?j+1|0:j;e=j;j=(m|0)==(j|0)&h>>>0>l>>>0|j>>>0>>0;m=t+e|0;d=d+j|0;d=m>>>0>>0?d+1|0:d;t=m;m=d;e=0;d=e+o|0;j=l+n|0;j=d>>>0>>0?j+1|0:j;e=j;h=(j|0)==(n|0)&d>>>0>>0|j>>>0>>0;j=m;l=h;h=h+t|0;j=l>>>0>h>>>0?j+1|0:j;F=h;l=j;t=d;m=d;o=e;E=i;d=dm(i,0,C,w);h=ja;e=d;i=dm(y,r,s,r);d=d+i|0;j=ja+h|0;j=d>>>0>>0?j+1|0:j;i=(h|0)==(j|0)&d>>>0>>0|h>>>0>j>>>0;h=j;G=v&-2;e=dm(z,w,G,0);n=e+d|0;j=ja+j|0;j=e>>>0>n>>>0?j+1|0:j;e=j;d=(j|0)==(h|0)&d>>>0>n>>>0|h>>>0>j>>>0;h=0;i=d+i|0;d=(i>>>0>>0?1:h)+o|0;j=l;m=i+m|0;d=m>>>0>>0?d+1|0:d;i=d;d=(d|0)==(o|0)&m>>>0>>0|d>>>0>>0;h=d;d=d+F|0;j=h>>>0>d>>>0?j+1|0:j;P=d;t=j;d=dm(D,p,E,r);F=ja;D=d;h=dm(x,q,G,r);d=d+h|0;j=ja+F|0;o=d;p=dm(y,r,C,w);l=d+p|0;h=d>>>0>>0?j+1|0:j;d=h+ja|0;d=l>>>0

>>0?d+1|0:d;q=l;j=dm(s,r,z,w);p=l+j|0;l=ja+d|0;l=j>>>0>p>>>0?l+1|0:l;z=0;C=(d|0)==(l|0)&p>>>0>>0|d>>>0>l>>>0;j=(h|0)==(F|0)&o>>>0>>0|h>>>0>>0;d=(d|0)==(h|0)&o>>>0>q>>>0|d>>>0>>0;d=d+j|0;d=d+C|0;h=l;q=h+m|0;j=(d|z)+i|0;j=h>>>0>q>>>0?j+1|0:j;o=j;d=(i|0)==(j|0)&m>>>0>q>>>0|i>>>0>j>>>0;j=t;h=d;d=d+P|0;j=h>>>0>d>>>0?j+1|0:j;z=d;i=j;d=dm(y,r,G,r);y=ja;m=d;h=dm(s,r,E,r);d=d+h|0;j=ja+y|0;j=d>>>0>>0?j+1|0:j;t=0;h=(j|0)==(y|0)&d>>>0>>0|j>>>0>>0;m=j;d=j+n|0;j=(h|t)+e|0;j=d>>>0>>0?j+1|0:j;h=j;m=(e|0)==(j|0)&d>>>0>>0|e>>>0>j>>>0;j=p;p=0;n=p+d|0;l=h+j|0;j=0;l=n>>>0

>>0?l+1|0:l;d=(h|0)==(l|0)&d>>>0>n>>>0|h>>>0>l>>>0;e=d;d=d+m|0;j=(e>>>0>d>>>0?1:j)+o|0;l=i;e=d;d=d+q|0;j=e>>>0>d>>>0?j+1|0:j;e=j;h=(o|0)==(j|0)&d>>>0>>0|j>>>0>>0;i=h;h=h+z|0;l=i>>>0>h>>>0?l+1|0:l;i=l;c:{if((l|0)==131071|l>>>0<131071){K=N|L;I=w|O;$k(k+80|0,d,e,h,i,f,g,B,A);l=J[k+84>>2];p=l;j=b<<17;n=0;m=J[k+88>>2];c=n-m|0;b=J[k+80>>2];l=(l|b)!=0;o=c-l|0;m=(j-(J[k+92>>2]+(m>>>0>n>>>0)|0)|0)-(c>>>0>>0)|0;n=0-b|0;p=0-(((b|0)!=0)+p|0)|0;b=H+16382|0;break c}d=(e&1)<<31|d>>>1;e=h<<31|e>>>1;h=(i&1)<<31|h>>>1;i=i>>>1|0;$k(k+96|0,d,e,h,i,f,g,B,A);o=J[k+100>>2];s=o;v=J[k+104>>2];n=0-v|0;l=J[k+96>>2];m=(o|l)!=0;o=n-m|0;m=((b<<16)-(J[k+108>>2]+(p>>>0>>0)|0)|0)-(m>>>0>n>>>0)|0;n=0-l|0;p=0-(((l|0)!=0)+s|0)|0;v=b;s=c;b=H+16383|0}if((b|0)>=32767){u=u|2147418112;b=0;c=0;break a}d:{if((b|0)>0){l=m<<1|o>>>31;o=o<<1|p>>>31;m=l;v=h;s=i&65535|b<<16;l=p<<1|n>>>31;i=n<<1;break d}if((b|0)<=-113){b=0;c=0;break a}Zk(k- -64|0,d,e,h,i,1-b|0);Sk(k+48|0,v,s,K,I,b+112|0);d=J[k+64>>2];e=J[k+68>>2];v=J[k+72>>2];s=J[k+76>>2];$k(k+32|0,f,g,B,A,d,e,v,s);b=J[k+40>>2];c=J[k+56>>2];l=J[k+36>>2];o=b<<1|l>>>31;n=c-o|0;m=J[k+60>>2]-((J[k+44>>2]<<1|b>>>31)+(c>>>0>>0)|0)|0;b=J[k+32>>2];h=l<<1|b>>>31;j=b<<1;i=J[k+52>>2];c=J[k+48>>2];b=(h|0)==(i|0)&j>>>0>c>>>0|h>>>0>i>>>0;o=n-b|0;m=m-(b>>>0>n>>>0)|0;l=i-((c>>>0>>0)+h|0)|0;i=c-j|0}b=i;$k(k+16|0,f,g,B,A,3,0,0,0);$k(k,f,g,B,A,5,0,0,0);c=0;h=l+c|0;j=d&1;b=b+j|0;h=i>>>0>b>>>0?h+1|0:h;i=b;g=(g|0)==(h|0)&b>>>0>f>>>0|g>>>0>>0;l=m;b=(c|0)==(h|0)&b>>>0>>0|c>>>0>h>>>0;f=b+o|0;l=b>>>0>f>>>0?l+1|0:l;j=e;b=(l|0)==(A|0);b=b&(f|0)==(B|0)?g:b&f>>>0>B>>>0|l>>>0>A>>>0;c=b;b=b+d|0;j=c>>>0>b>>>0?j+1|0:j;c=j;d=(e|0)==(j|0)&b>>>0>>0|e>>>0>j>>>0;j=s;e=d;d=d+v|0;j=e>>>0>d>>>0?j+1|0:j;g=d;e=J[k+20>>2];m=(e|0)==(h|0)&M[k+16>>2]>>0|e>>>0>>0;e=J[k+28>>2];d=J[k+24>>2];e=j>>>0<2147418112&((d|0)==(f|0)&(e|0)==(l|0)?m:(e|0)==(l|0)&d>>>0>>0|e>>>0>>0);d=c;m=e;e=b+e|0;d=m>>>0>e>>>0?d+1|0:d;b=(c|0)==(d|0)&b>>>0>e>>>0|c>>>0>d>>>0;c=b;b=b+g|0;j=c>>>0>b>>>0?j+1|0:j;g=b;c=J[k+4>>2];h=(c|0)==(h|0)&M[k>>2]>>0|c>>>0>>0;c=J[k+12>>2];b=J[k+8>>2];b=j>>>0<2147418112&((b|0)==(f|0)&(c|0)==(l|0)?h:(c|0)==(l|0)&b>>>0>>0|c>>>0>>0);c=b;b=b+e|0;l=c>>>0>b>>>0?d+1|0:d;c=l;e=(d|0)==(l|0)&b>>>0>>0|d>>>0>l>>>0;d=j;f=e;e=e+g|0;d=f>>>0>e>>>0?d+1|0:d;r=e|r;u=d|u}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=r;J[a+12>>2]=u;fa=k+336|0}function Ub(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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,K=0,L=0,N=0,O=0,Q=0;s=fa-32|0;fa=s;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;t=J[e+20>>2];if(!J[e+16>>2]&(t|0)<=0|(t|0)<0){d=a+4|0;Ba(e,J[e+4>>2],a,d);t=J[e+20>>2];if(!J[e+16>>2]&(t|0)<=0|(t|0)<0){Ba(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){F=a+12|0;Ce(F);G=a+44|0;d=G;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];H=a- -64|0;d=H;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];I=a+84|0;d=I;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[s+24>>2]=J[b+8>>2];d=J[b+4>>2];J[s+16>>2]=J[b>>2];J[s+20>>2]=d;J[s+8>>2]=J[c+8>>2];b=J[c+4>>2];J[s>>2]=J[c>>2];J[s+4>>2]=b;c=0;b=0;f=fa-32|0;fa=f;o=a;i=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(i){if(i>>>0>=1073741824){break b}a=i<<2;c=ol(a);J[f+8>>2]=c;b=a+c|0;J[f+16>>2]=b;ok(c,0,a);J[f+12>>2]=b}a=J[o+140>>2];d=J[a>>2];if(d){J[a+4>>2]=d;gl(d);i=J[o+8>>2];c=J[f+8>>2];b=J[f+12>>2]}J[a+4>>2]=b;J[a>>2]=c;J[a+8>>2]=J[f+16>>2];c=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b=0;c:{if(i){if(i>>>0>=1073741824){break c}a=i<<2;b=ol(a);J[f+8>>2]=b;c=a+b|0;J[f+16>>2]=c;ok(b,0,a);J[f+12>>2]=c}a=J[o+152>>2];d=J[a>>2];if(d){J[a+4>>2]=d;gl(d);c=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=c;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];t=J[s+20>>2];z=J[s+24>>2];d=J[s+4>>2];B=J[s+8>>2];b=J[s>>2];c=J[s+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;dc(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;v=(a>>>0)/113|0;a=J[J[f+12>>2]+(v<<2)>>2]+P(a-P(v,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=B;J[a+12>>2]=b;J[a+4>>2]=t;J[a+8>>2]=z;J[a>>2]=c;i=J[f+28>>2]+1|0;J[f+28>>2]=i;if(i){a=z;L=a&-4;K=a&3;N=o+44|0;m=o+12|0;O=o+84|0;Q=a>>>0<4;while(1){b=J[f+12>>2];h=J[f+24>>2];g=i-1|0;a=h+g|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;E=J[a+32>>2];c=J[a+24>>2];v=J[a+12>>2];a=J[a>>2];J[f+28>>2]=g;g=J[f+16>>2];if((((b|0)!=(g|0)?P(g-b>>2,113)-1|0:0)-(h+i|0)|0)+1>>>0>=226){gl(J[g-4>>2]);J[f+16>>2]=J[f+16>>2]-4}g=J[o>>2];i=(c|0)!=(J[o+8>>2]-1|0)?c+1|0:0;q=i<<2;D=P(E,12);h=D+J[o+152>>2]|0;c=J[q+J[h>>2]>>2];d:{e:{if((g|0)==(c|0)){break e}f:{g:{j=v-a|0;if(j>>>0<=2){g=J[o+128>>2];J[g>>2]=i;c=1;b=J[o+8>>2];if(b>>>0>1){break g}break f}h=J[o+140>>2];b=h+D|0;n=h;h=D+12|0;ec(n+h|0,J[b>>2],J[b+4>>2]);b=J[h+J[o+140>>2]>>2]+q|0;g=J[b>>2]+(1<>2]=g;b=a;h:{if((a|0)==(v|0)){break h}y=J[t+24>>2];n=y+q|0;b=v;c=a;if(!z){if(g>>>0>M[n>>2]){break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}if(g>>>0<=M[(J[d+24>>2]+q|0)+(P(b,B)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(b|0)){continue}break}break h}while(1){h=P(c,z)<<2;if(g>>>0>M[h+n>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}r=J[d+24>>2]+(P(b,B)<<2)|0;if(g>>>0<=M[r+q>>2]){continue}break}w=h+y|0;u=0;h=0;p=0;if(!Q){while(1){k=h<<2;l=k+w|0;x=J[l>>2];A=l;l=k+r|0;J[A>>2]=J[l>>2];J[l>>2]=x;l=k|4;x=l+w|0;A=J[x>>2];l=l+r|0;J[x>>2]=J[l>>2];J[l>>2]=A;l=k|8;x=l+w|0;A=J[x>>2];l=l+r|0;J[x>>2]=J[l>>2];J[l>>2]=A;k=k|12;l=k+w|0;x=J[l>>2];k=k+r|0;J[l>>2]=J[k>>2];J[k>>2]=x;h=h+4|0;p=p+4|0;if((L|0)!=(p|0)){continue}break}}if(K){while(1){k=h<<2;p=k+w|0;l=J[p>>2];k=k+r|0;J[p>>2]=J[k>>2];J[k>>2]=l;h=h+1|0;u=u+1|0;if((K|0)!=(u|0)){continue}break}}c=c+1|0;if((c|0)!=(b|0)){continue}break}}r=b-a|0;w=v-b|0;if((r|0)!=(w|0)){fc(O,r>>>0>>0)}c=J[m>>2];n=J[c+8>>2];g=J[c+12>>2];h=(j>>>1|0)-(r>>>0>>0?r:w)|0;h=h<<24|(h&65280)<<8|(h>>>8&65280|h>>>24);h=h>>>4&252645135|(h&252645135)<<4;h=h>>>2&858993459|(h&858993459)<<2;l=h>>>1&1431655765|(h&1431655765)<<1;h=S(j)^31;p=32-h|0;k=l>>>p|0;j=gm(k);n=j+n|0;g=j>>>0>n>>>0?g+1|0:g;J[c+8>>2]=n;J[c+12>>2]=g;g=h-j|0;n=g;j=g+J[c>>2]|0;g=J[c+4>>2]+(g>>31)|0;J[c>>2]=j;J[c+4>>2]=j>>>0>>0?g+1|0:g;i:{j:{k:{l:{c=J[m+28>>2];u=32-c|0;m:{if((u|0)>=(h|0)){g=c+h|0;J[m+28>>2]=g;n=J[m+24>>2]&(-1>>>p<>2]=n;if((g|0)!=32){break i}c=J[m+16>>2];if((c|0)!=J[m+20>>2]){J[c>>2]=n;J[m+16>>2]=c+4;h=0;c=0;break m}g=c;c=J[m+12>>2];k=g-c|0;u=k>>2;j=u+1|0;if(j>>>0>=1073741824){break l}h=0;g=0;p=k>>>1|0;j=k>>>0>=2147483644?1073741823:j>>>0

>>0?p:j;if(j){if(j>>>0>=1073741824){break k}g=ol(j<<2)}u=(u<<2)+g|0;J[u>>2]=n;g=nk(g,c,k);J[m+20>>2]=g+(j<<2);J[m+16>>2]=u+4;J[m+12>>2]=g;if(!c){c=0;break m}gl(c);c=0;break m}p=J[m+24>>2]&(-1<>2]=p;c=J[m+16>>2];n:{if((c|0)!=J[m+20>>2]){J[c>>2]=p;J[m+16>>2]=c+4;break n}g=c;c=J[m+12>>2];g=g-c|0;y=g>>2;j=y+1|0;if(j>>>0>=1073741824){break j}n=g>>>1|0;j=g>>>0>=2147483644?1073741823:j>>>0>>0?n:j;if(j){if(j>>>0>=1073741824){break k}n=ol(j<<2)}else{n=0}y=n+(y<<2)|0;J[y>>2]=p;g=nk(n,c,g);J[m+20>>2]=g+(j<<2);J[m+16>>2]=y+4;J[m+12>>2]=g;if(!c){break n}gl(c)}c=h-u|0;h=-1>>>32-c&k>>>u}J[m+28>>2]=c;J[m+24>>2]=h;break i}Ia();C()}Ya();C()}Ia();C()}c=J[o+152>>2];g=c+D|0;h=J[g>>2];q=h+q|0;J[q>>2]=J[q>>2]+1;q=E+1|0;ec(c+P(q,12)|0,h,J[g+4>>2]);if((a|0)!=(b|0)){h=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];g=J[f+12>>2];if((h|0)==(((c|0)!=(g|0)?P(c-g>>2,113)-1|0:0)|0)){dc(f+8|0);h=J[f+24>>2]+J[f+28>>2]|0;g=J[f+12>>2]}c=(h>>>0)/113|0;c=J[g+(c<<2)>>2]+P(h-P(c,113)|0,36)|0;J[c+32>>2]=E;J[c+28>>2]=r;J[c+24>>2]=i;J[c+16>>2]=t;J[c+12>>2]=b;J[c+4>>2]=t;J[c+8>>2]=z;J[c>>2]=a;J[c+20>>2]=z;J[f+28>>2]=J[f+28>>2]+1}if((b|0)==(v|0)){break e}g=J[f+28>>2]+J[f+24>>2]|0;a=J[f+16>>2];c=J[f+12>>2];if((g|0)==(((a|0)!=(c|0)?P(a-c>>2,113)-1|0:0)|0)){dc(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}a=(g>>>0)/113|0;a=J[c+(a<<2)>>2]+P(g-P(a,113)|0,36)|0;J[a+32>>2]=q;J[a+28>>2]=w;J[a+24>>2]=i;J[a+16>>2]=d;J[a+20>>2]=B;J[a+12>>2]=v;J[a+4>>2]=t;J[a>>2]=b;J[a+8>>2]=z;i=J[f+28>>2]+1|0;J[f+28>>2]=i;break d}while(1){i=(b-1|0)!=(i|0)?i+1|0:0;J[g+(c<<2)>>2]=i;b=J[o+8>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}if(!b|(a|0)==(v|0)){break e}g=0;c=1;while(1){i=0;o:{if(!c){c=0;break o}v=J[t+24>>2]+(P(J[t+4>>2],a+g|0)<<2)|0;while(1){c=J[o>>2];q=J[J[o+128>>2]+(i<<2)>>2]<<2;r=J[q+J[h>>2]>>2];if((c|0)!=(r|0)){gc(N,c-r|0,J[v+q>>2]);b=J[o+8>>2]}c=b;i=i+1|0;if(c>>>0>i>>>0){continue}break}}g=g+1|0;if((j|0)!=(g|0)){continue}break}}i=J[f+28>>2]}if(i){continue}break}}J[f+28>>2]=0;a=J[f+16>>2];i=J[f+12>>2];b=a-i|0;if(b>>>0>=9){while(1){gl(J[i>>2]);i=J[f+12>>2]+4|0;J[f+12>>2]=i;a=J[f+16>>2];b=a-i|0;if(b>>>0>8){continue}break}}c=56;p:{switch((b>>>2|0)-1|0){case 1:c=113;case 0:J[f+24>>2]=c;break;default:break p}}q:{if((a|0)==(i|0)){break q}while(1){gl(J[i>>2]);i=i+4|0;if((i|0)!=(a|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break q}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){gl(a)}fa=f+32|0;break a}Ia();C()}Ia();C()}Ee(F,e);ze(G,e);ze(H,e);ze(I,e)}fa=s+32|0;return 1}function gb(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,n=0,o=0,p=0,q=Q(0),r=0,s=0,t=0,u=0,v=Q(0);g=fa-112|0;fa=g;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+96>>2]=1065353216;d=J[a+80>>2];J[g+40>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;a:{if(d){if(d>>>0>=1073741824){break a}e=d<<2;h=ol(e);J[g+32>>2]=h;d=e+h|0;J[g+40>>2]=d;ok(h,0,e);J[g+36>>2]=d;while(1){c=J[J[b>>2]>>2];e=J[b+48>>2];d=dm(J[b+40>>2],J[b+44>>2],n,0);f=d;d=d+e|0;f=d+c|0;d=K[f+12|0]|K[f+13|0]<<8|(K[f+14|0]<<16|K[f+15|0]<<24);J[g+72>>2]=K[f+8|0]|K[f+9|0]<<8|(K[f+10|0]<<16|K[f+11|0]<<24);J[g+76>>2]=d;d=K[f+4|0]|K[f+5|0]<<8|(K[f+6|0]<<16|K[f+7|0]<<24);J[g+64>>2]=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);J[g+68>>2]=d;c=K[f|0]|K[f+1|0]<<8|(K[f+2|0]<<16|K[f+3|0]<<24);e=K[f+4|0]|K[f+5|0]<<8|(K[f+6|0]<<16|K[f+7|0]<<24);d=K[f+12|0]|K[f+13|0]<<8|(K[f+14|0]<<16|K[f+15|0]<<24);J[g+56>>2]=K[f+8|0]|K[f+9|0]<<8|(K[f+10|0]<<16|K[f+11|0]<<24);J[g+60>>2]=d;J[g+48>>2]=c;J[g+52>>2]=e;d=0;l=J[g+84>>2];b:{if(!l){break b}c=J[g+80>>2];f=J[g+60>>2]^(J[g+56>>2]^(J[g+52>>2]^(J[g+48>>2]^318)+239)+239)+239;e=f&l-1;o=gm(l);c:{if(o>>>0<=1){break c}e=f;if(f>>>0>>0){break c}e=(f>>>0)%(l>>>0)|0}u=c;c=e;e=J[u+(c<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(o>>>0>=2){o=J[g+60>>2];m=J[g+56>>2];r=J[g+52>>2];p=J[g+48>>2];while(1){e=J[j+4>>2];e:{if((e|0)!=(f|0)){if(e>>>0>=l>>>0){e=(e>>>0)%(l>>>0)|0}if((c|0)!=(e|0)){break b}break e}e=J[j+8>>2];f:{if((e|0)!=(p|0)){e=(e|0)==(p|0);break f}e=J[j+12>>2];if((e|0)!=(r|0)){e=(e|0)==(r|0);break f}e=J[j+16>>2];if((e|0)!=(m|0)){e=(e|0)==(m|0);break f}e=(o|0)==J[j+20>>2]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}p=l-1|0;o=J[g+60>>2];l=J[g+56>>2];m=J[g+52>>2];r=J[g+48>>2];while(1){e=J[j+4>>2];g:{if((e|0)!=(f|0)){if((c|0)!=(e&p)){break b}break g}e=J[j+8>>2];if((e|0)!=(r|0)){if((e|0)!=(r|0)){break g}break d}e=J[j+12>>2];if((e|0)!=(m|0)){if((e|0)!=(m|0)){break g}break d}e=J[j+16>>2];if((e|0)!=(l|0)){if((e|0)!=(l|0)){break g}break d}if((o|0)==J[j+20>>2]){break d}}j=J[j>>2];if(j){continue}break}break b}d=j}h:{if(d){J[(n<<2)+h>>2]=J[d+24>>2];break h}d=J[g+60>>2];J[g+16>>2]=J[g+56>>2];J[g+20>>2]=d;d=J[g+52>>2];J[g+8>>2]=J[g+48>>2];J[g+12>>2]=d;J[g+24>>2]=s;d=0;l=g+8|0;e=J[l+12>>2]^(J[l+8>>2]^(J[l+4>>2]^(J[l>>2]^318)+239)+239)+239;u=g;i:{j:{m=g+80|0;h=J[m+4>>2];if(!h){break j}c=gm(h);k:{if(c>>>0>=2){d=e;if(d>>>0>=h>>>0){d=(e>>>0)%(h>>>0)|0}k=J[J[m>>2]+(d<<2)>>2];if(!k){break j}if(c>>>0<2){break k}f=J[l+12>>2];p=J[l+8>>2];o=J[l+4>>2];j=J[l>>2];while(1){k=J[k>>2];if(!k){break j}c=J[k+4>>2];if((c|0)!=(e|0)){if(c>>>0>=h>>>0){c=(c>>>0)%(h>>>0)|0}if((d|0)!=(c|0)){break j}}c=J[k+8>>2];l:{if((c|0)!=(j|0)){c=(c|0)==(j|0);break l}c=J[k+12>>2];if((c|0)!=(o|0)){c=(c|0)==(o|0);break l}c=J[k+16>>2];if((c|0)!=(p|0)){c=(c|0)==(p|0);break l}c=(f|0)==J[k+20>>2]}if(!c){continue}break}c=0;break i}d=e&h-1;k=J[J[m>>2]+(d<<2)>>2];if(!k){break j}}j=h-1|0;f=J[l+12>>2];r=J[l+8>>2];p=J[l+4>>2];o=J[l>>2];while(1){k=J[k>>2];if(!k){break j}c=J[k+4>>2];if((c|0)!=(e|0)&(c&j)!=(d|0)){break j}c=J[k+8>>2];m:{if((c|0)!=(o|0)){c=(c|0)==(o|0);break m}c=J[k+12>>2];if((c|0)!=(p|0)){c=(c|0)==(p|0);break m}c=J[k+16>>2];if((c|0)!=(r|0)){c=(c|0)==(r|0);break m}c=(f|0)==J[k+20>>2]}if(!c){continue}break}c=0;break i}k=ol(28);c=J[l+12>>2];J[k+16>>2]=J[l+8>>2];J[k+20>>2]=c;c=J[l+4>>2];J[k+8>>2]=J[l>>2];J[k+12>>2]=c;c=J[l+16>>2];J[k>>2]=0;J[k+4>>2]=e;J[k+24>>2]=c;q=Q(J[m+12>>2]+1>>>0);v=N[m+16>>2];n:{if(q>Q(v*Q(h>>>0))?0:h){break n}d=2;c=(h-1&h)!=0|h>>>0<3|h<<1;q=Q(W(Q(q/v)));o:{if(q=Q(0)){f=~~q>>>0;break o}f=0}c=c>>>0>f>>>0?c:f;p:{if((c|0)==1){break p}if(!(c&c-1)){d=c;break p}d=cl(c);h=J[m+4>>2]}q:{if(d>>>0<=h>>>0){if(d>>>0>=h>>>0){break q}f=h>>>0<3;q=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));r:{if(q=Q(0)){c=~~q>>>0;break r}c=0}s:{t:{if(f){break t}if(gm(h)>>>0>1){break t}c=c>>>0<2?c:1<<32-S(c-1|0);break s}c=cl(c)}d=d>>>0>c>>>0?d:c;if(d>>>0>=h>>>0){break q}}sb(m,d)}h=J[m+4>>2];d=h-1|0;if(!(d&h)){d=d&e;break n}if(e>>>0>>0){d=e;break n}d=(e>>>0)%(h>>>0)|0}e=J[m>>2]+(d<<2)|0;d=J[e>>2];u:{v:{if(!d){d=m+8|0;J[k>>2]=J[d>>2];J[m+8>>2]=k;J[e>>2]=d;d=J[k>>2];if(!d){break u}d=J[d+4>>2];e=h-1|0;w:{if(!(e&h)){d=d&e;break w}if(d>>>0>>0){break w}d=(d>>>0)%(h>>>0)|0}d=J[m>>2]+(d<<2)|0;break v}J[k>>2]=J[d>>2]}J[d>>2]=k}J[m+12>>2]=J[m+12>>2]+1;c=1}H[u+108|0]=c;J[g+104>>2]=k;d=J[a+40>>2];mk(J[J[a>>2]>>2]+P(d,s)|0,g- -64|0,d);h=J[g+32>>2];J[h+(n<<2)>>2]=s;s=s+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(s|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];f=J[a+68>>2];if((b|0)==(f|0)){break x}b=b-f>>2;i=b>>>0<=1?1:b;n=i&3;d=0;b=0;if(i-1>>>0>=3){e=i&-4;while(1){c=b<<2;i=c+f|0;J[i>>2]=J[(J[i>>2]<<2)+h>>2];i=f+(c|4)|0;J[i>>2]=J[(J[i>>2]<<2)+h>>2];i=f+(c|8)|0;J[i>>2]=J[(J[i>>2]<<2)+h>>2];i=f+(c|12)|0;J[i>>2]=J[(J[i>>2]<<2)+h>>2];b=b+4|0;t=t+4|0;if((e|0)!=(t|0)){continue}break}}if(!n){break x}while(1){i=f+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+h>>2];b=b+1|0;d=d+1|0;if((n|0)!=(d|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];d=J[a+72>>2]-b>>2;y:{if(d>>>0>>0){rb(i,j-d|0,2184);j=J[a+80>>2];break y}if(d>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}c=J[i>>2];d=0;b=0;if(j>>>0>=4){e=j&-4;while(1){n=b<<2;J[n+c>>2]=J[h+n>>2];i=n|4;J[i+c>>2]=J[h+i>>2];i=n|8;J[i+c>>2]=J[h+i>>2];i=n|12;J[i+c>>2]=J[h+i>>2];b=b+4|0;t=t+4|0;if((e|0)!=(t|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+c>>2]=J[h+i>>2];b=b+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}J[a+80>>2]=s}gl(h)}b=J[g+88>>2];if(b){while(1){a=J[b>>2];gl(b);b=a;if(b){continue}break}}a=J[g+80>>2];J[g+80>>2]=0;if(a){gl(a)}fa=g+112|0;return s}Ia();C()}function Ok(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,B=0,C=0;m=fa-560|0;fa=m;J[m+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<0){s=1;y=1173;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){s=1;y=1176;break a}s=e&1;y=s?1179:1174;z=!s}b:{if((g&2146435072)==2146435072){g=s+3|0;Mk(a,32,c,g,e&-65537);Ik(a,y,s);d=f&32;Ik(a,b!=b?d?1434:1643:d?1506:1647,3);Mk(a,32,c,g,e^8192);n=(c|0)<(g|0)?g:c;break b}u=m+16|0;c:{d:{e:{b=Fk(b,m+44|0);b=b+b;if(b!=0){g=J[m+44>>2];J[m+44>>2]=g-1;w=f|32;if((w|0)!=97){break e}break c}w=f|32;if((w|0)==97){break c}k=J[m+44>>2];l=(d|0)<0?6:d;break d}k=g-29|0;J[m+44>>2]=k;b=b*268435456;l=(d|0)<0?6:d}q=(m+48|0)+((k|0)>=0?288:0)|0;h=q;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}J[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((k|0)<=0){d=k;g=h;i=q;break f}i=q;d=k;while(1){o=(d|0)>=29?29:d;g=h-4|0;g:{if(i>>>0>g>>>0){break g}d=0;while(1){j=J[g>>2];x=d;d=o&31;if((o&63)>>>0>=32){n=j<>>32-d;d=j<>>0>x>>>0?j+1|0:j,1e9,0);B=g,C=x-dm(d,ja,1e9,0)|0,J[B>>2]=C;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!d){break g}i=i-4|0;J[i>>2]=d}while(1){g=h;if(i>>>0>>0){h=g-4|0;if(!J[h>>2]){continue}}break}d=J[m+44>>2]-o|0;J[m+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){t=((l+25>>>0)/9|0)+1|0;p=(w|0)==102;while(1){d=0-d|0;n=(d|0)>=9?9:d;h:{if(g>>>0<=i>>>0){h=J[i>>2];break h}o=1e9>>>n|0;j=-1<>2];J[h>>2]=x+(d>>>n|0);d=P(o,d&j);h=h+4|0;if(h>>>0>>0){continue}break}h=J[i>>2];if(!d){break h}J[g>>2]=d;g=g+4|0}d=n+J[m+44>>2]|0;J[m+44>>2]=d;i=(!h<<2)+i|0;h=p?q:i;g=g-h>>2>(t|0)?h+(t<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=i>>>0){break i}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break i}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=(l-((w|0)!=102?d:0)|0)-((w|0)==103&(l|0)!=0)|0;if((h|0)<(P(g-q>>2,9)-9|0)){o=h+9216|0;j=(o|0)/9|0;k=((((k|0)<0?4:292)+m|0)+(j<<2)|0)-4048|0;h=10;n=o-P(j,9)|0;if((n|0)<=7){while(1){h=P(h,10);n=n+1|0;if((n|0)!=8){continue}break}}o=J[k>>2];t=(o>>>0)/(h>>>0)|0;p=o-P(h,t)|0;j=k+4|0;j:{if(!p&(j|0)==(g|0)){break j}k:{if(!(t&1)){b=9007199254740992;if(!(H[k-4|0]&1)|((h|0)!=1e9|i>>>0>=k>>>0)){break k}}b=9007199254740994}r=(g|0)==(j|0)?1:1.5;j=h>>>1|0;r=j>>>0>p>>>0?.5:(j|0)==(p|0)?r:1.5;if(!(K[y|0]!=45|z)){r=-r;b=-b}j=o-p|0;J[k>>2]=j;if(b+r==b){break j}d=h+j|0;J[k>>2]=d;if(d>>>0>=1e9){while(1){J[k>>2]=0;k=k-4|0;if(k>>>0>>0){i=i-4|0;J[i>>2]=0}d=J[k>>2]+1|0;J[k>>2]=d;if(d>>>0>999999999){continue}break}}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break j}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=k+4|0;g=g>>>0>h>>>0?h:g}while(1){j=g;o=g>>>0<=i>>>0;if(!o){g=j-4|0;if(!J[g>>2]){continue}}break}l:{if((w|0)!=103){k=e&8;break l}h=l?l:1;g=(h|0)>(d|0)&(d|0)>-5;l=(g?d^-1:-1)+h|0;f=(g?-1:-2)+f|0;k=e&8;if(k){break l}g=-9;m:{if(o){break m}k=J[j-4>>2];if(!k){break m}n=10;g=0;if((k>>>0)%10|0){break m}while(1){h=g;g=g+1|0;n=P(n,10);if(!((k>>>0)%(n>>>0)|0)){continue}break}g=h^-1}h=P(j-q>>2,9);if((f&-33)==70){k=0;g=(g+h|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g;break l}k=0;g=((d+h|0)+g|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g}n=-1;o=k|l;if(((o?2147483645:2147483646)|0)<(l|0)){break b}p=(((o|0)!=0)+l|0)+1|0;h=f&-33;n:{if((h|0)==70){if((p^2147483647)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=Lk((g^d)-g|0,0,u);if((u-g|0)<=1){while(1){g=g-1|0;H[g|0]=48;if((u-g|0)<2){continue}break}}t=g-2|0;H[t|0]=f;H[g-1|0]=(d|0)<0?45:43;g=u-t|0;if((g|0)>(p^2147483647)){break b}}d=g+p|0;if((d|0)>(s^2147483647)){break b}p=d+s|0;Mk(a,32,c,p,e);Ik(a,y,s);Mk(a,48,c,p,e^65536);o:{p:{q:{if((h|0)==70){f=m+16|0;d=f|8;k=f|9;h=i>>>0>q>>>0?q:i;i=h;while(1){g=Lk(J[i>>2],0,k);r:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break r}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break r}if((g|0)!=(k|0)){break r}H[m+24|0]=48;g=d}Ik(a,g,k-g|0);i=i+4|0;if(q>>>0>=i>>>0){continue}break}if(o){Ik(a,1981,1)}if((l|0)<=0|i>>>0>=j>>>0){break q}while(1){g=Lk(J[i>>2],0,k);if(g>>>0>m+16>>>0){while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}}Ik(a,g,(l|0)>=9?9:l);g=l-9|0;i=i+4|0;if(j>>>0<=i>>>0){break p}d=(l|0)>9;l=g;if(d){continue}break}break p}s:{if((l|0)<0){break s}q=i>>>0>>0?j:i+4|0;f=m+16|0;d=f|8;j=f|9;h=i;while(1){g=Lk(J[h>>2],0,j);if((j|0)==(g|0)){H[m+24|0]=48;g=d}t:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break t}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break t}Ik(a,g,1);g=g+1|0;if(!(k|l)){break t}Ik(a,1981,1)}f=j-g|0;Ik(a,g,(f|0)>(l|0)?l:f);l=l-f|0;h=h+4|0;if(q>>>0<=h>>>0){break s}if((l|0)>=0){continue}break}}Mk(a,48,l+18|0,18,0);Ik(a,t,u-t|0);break o}g=l}Mk(a,48,g+9|0,9,0)}Mk(a,32,c,p,e^8192);n=(c|0)<(p|0)?p:c;break b}k=(f<<26>>31&9)+y|0;u:{if(d>>>0>11){break u}g=12-d|0;r=16;while(1){r=r*16;g=g-1|0;if(g){continue}break}if(K[k|0]==45){b=-(r+(-b-r));break u}b=b+r-r}g=J[m+44>>2];h=g>>31;g=Lk((g^h)-h|0,0,u);if((u|0)==(g|0)){H[m+15|0]=48;g=m+15|0}q=s|2;i=f&32;h=J[m+44>>2];l=g-2|0;H[l|0]=f+15;H[g-1|0]=(h|0)<0?45:43;g=e&8;h=m+16|0;while(1){f=h;if(R(b)<2147483648){j=~~b}else{j=-2147483648}H[h|0]=i|K[j+17776|0];b=(b-+(j|0))*16;h=f+1|0;if(!(!((d|0)>0|g)&b==0|(h-(m+16|0)|0)!=1)){H[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}n=-1;g=u-l|0;f=g+q|0;if((2147483645-f|0)<(d|0)){break b}v:{w:{if(!d){break w}i=h-(m+16|0)|0;if((i-2|0)>=(d|0)){break w}d=d+2|0;break v}i=h-(m+16|0)|0;d=i}f=d+f|0;Mk(a,32,c,f,e);Ik(a,k,q);Mk(a,48,c,f,e^65536);Ik(a,m+16|0,i);Mk(a,48,d-i|0,0,0);Ik(a,l,g);Mk(a,32,c,f,e^8192);n=(c|0)<(f|0)?f:c}fa=m+560|0;return n|0}function Sb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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,K=0,L=0,N=0,O=0,Q=0;o=fa-32|0;fa=o;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){d=a+4|0;Ba(e,J[e+4>>2],a,d);p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){Ba(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){B=a+12|0;Zb(B);D=a+1068|0;d=D;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];E=a+1088|0;d=E;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];F=a+1108|0;d=F;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[o+24>>2]=J[b+8>>2];d=J[b+4>>2];J[o+16>>2]=J[b>>2];J[o+20>>2]=d;J[o+8>>2]=J[c+8>>2];b=J[c+4>>2];J[o>>2]=J[c>>2];J[o+4>>2]=b;b=0;f=fa-32|0;fa=f;l=a;h=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(h){if(h>>>0>=1073741824){break b}a=h<<2;b=ol(a);J[f+8>>2]=b;g=a+b|0;J[f+16>>2]=g;ok(b,0,a);J[f+12>>2]=g}a=J[l+1164>>2];c=J[a>>2];if(c){J[a+4>>2]=c;gl(c);h=J[l+8>>2];g=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=g;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];b=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a=0;c:{if(h){if(h>>>0>=1073741824){break c}c=h<<2;a=ol(c);J[f+8>>2]=a;b=a+c|0;J[f+16>>2]=b;ok(a,0,c);J[f+12>>2]=b}c=J[l+1176>>2];d=J[c>>2];if(d){J[c+4>>2]=d;gl(d);b=J[f+12>>2];a=J[f+8>>2]}J[c+4>>2]=b;J[c>>2]=a;J[c+8>>2]=J[f+16>>2];p=J[o+20>>2];u=J[o+24>>2];d=J[o+4>>2];x=J[o+8>>2];b=J[o>>2];c=J[o+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;dc(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;r=(a>>>0)/113|0;a=J[J[f+12>>2]+(r<<2)>>2]+P(a-P(r,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=x;J[a+12>>2]=b;J[a+4>>2]=p;J[a+8>>2]=u;J[a>>2]=c;h=J[f+28>>2]+1|0;J[f+28>>2]=h;if(h){a=u;L=a&-4;G=a&3;N=l+1068|0;H=l+12|0;O=l+1108|0;Q=a>>>0<4;while(1){b=J[f+12>>2];m=J[f+24>>2];j=h-1|0;a=m+j|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;z=J[a+32>>2];g=J[a+24>>2];r=J[a+12>>2];c=J[a>>2];J[f+28>>2]=j;a=J[f+16>>2];if((((a|0)!=(b|0)?P(a-b>>2,113)-1|0:0)-(h+m|0)|0)+1>>>0>=226){gl(J[a-4>>2]);J[f+16>>2]=J[f+16>>2]-4}b=J[l>>2];h=(g|0)!=(J[l+8>>2]-1|0)?g+1|0:0;m=h<<2;y=P(z,12);j=y+J[l+1176>>2]|0;g=J[m+J[j>>2]>>2];d:{e:{if((b|0)==(g|0)){break e}f:{g:{t=r-c|0;if(t>>>0<=2){g=J[l+1152>>2];J[g>>2]=h;b=1;a=J[l+8>>2];if(a>>>0>1){break g}break f}j=J[l+1164>>2];a=j+y|0;i=j;j=y+12|0;ec(i+j|0,J[a>>2],J[a+4>>2]);a=m+J[j+J[l+1164>>2]>>2]|0;j=J[a>>2]+(1<>2]=j;a=c;h:{if((r|0)==(a|0)){break h}I=J[p+24>>2];K=m+I|0;a=r;b=c;if(!u){if(j>>>0>M[K>>2]){break h}while(1){a=a-1|0;if((b|0)==(a|0)){a=b;break h}if(j>>>0<=M[(m+J[d+24>>2]|0)+(P(a,x)<<2)>>2]){continue}b=b+1|0;if((b|0)!=(a|0)){continue}break}break h}while(1){g=P(b,u)<<2;if(j>>>0>M[g+K>>2]){b=b+1|0;if((b|0)!=(a|0)){continue}break h}while(1){a=a-1|0;if((b|0)==(a|0)){a=b;break h}n=J[d+24>>2]+(P(a,x)<<2)|0;if(j>>>0<=M[n+m>>2]){continue}break}q=g+I|0;A=0;g=0;v=0;if(!Q){while(1){k=g<<2;i=k+q|0;s=J[i>>2];w=i;i=k+n|0;J[w>>2]=J[i>>2];J[i>>2]=s;i=k|4;s=i+q|0;w=J[s>>2];i=i+n|0;J[s>>2]=J[i>>2];J[i>>2]=w;i=k|8;s=i+q|0;w=J[s>>2];i=i+n|0;J[s>>2]=J[i>>2];J[i>>2]=w;k=k|12;i=k+q|0;s=J[i>>2];k=k+n|0;J[i>>2]=J[k>>2];J[k>>2]=s;g=g+4|0;v=v+4|0;if((L|0)!=(v|0)){continue}break}}if(G){while(1){k=g<<2;v=k+q|0;i=J[v>>2];k=k+n|0;J[v>>2]=J[k>>2];J[k>>2]=i;g=g+1|0;A=A+1|0;if((A|0)!=(G|0)){continue}break}}b=b+1|0;if((b|0)!=(a|0)){continue}break}}j=a-c|0;n=r-a|0;if((j|0)!=(n|0)){fc(O,j>>>0>>0)}k=z+1|0;b=S(t);q=b^31;g=t>>>1|0;i:{if(j>>>0>>0){if(!q){break i}t=g-j|0;b=1<<30-b;g=0;while(1){De((g<<5)+H|0,(b&t)!=0);b=b>>>1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}break i}if(!q){break i}t=g-n|0;b=1<<30-b;g=0;while(1){De((g<<5)+H|0,(b&t)!=0);b=b>>>1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}}i=m;b=J[l+1176>>2];g=b+y|0;m=J[g>>2];q=i+m|0;J[q>>2]=J[q>>2]+1;ec(b+P(k,12)|0,m,J[g+4>>2]);if((a|0)!=(c|0)){g=J[f+28>>2]+J[f+24>>2]|0;m=J[f+16>>2];b=J[f+12>>2];if((g|0)==(((b|0)!=(m|0)?P(m-b>>2,113)-1|0:0)|0)){dc(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;i=J[f+12>>2]}else{i=b}b=(g>>>0)/113|0;b=J[i+(b<<2)>>2]+P(g-P(b,113)|0,36)|0;J[b+32>>2]=z;J[b+28>>2]=j;J[b+24>>2]=h;J[b+16>>2]=p;J[b+12>>2]=a;J[b+4>>2]=p;J[b+8>>2]=u;J[b>>2]=c;J[b+20>>2]=u;J[f+28>>2]=J[f+28>>2]+1}if((a|0)==(r|0)){break e}g=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];b=J[f+12>>2];if((g|0)==(((b|0)!=(c|0)?P(c-b>>2,113)-1|0:0)|0)){dc(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}else{c=b}b=(g>>>0)/113|0;b=J[c+(b<<2)>>2]+P(g-P(b,113)|0,36)|0;J[b+32>>2]=k;J[b+28>>2]=n;J[b+24>>2]=h;J[b+16>>2]=d;J[b+20>>2]=x;J[b+12>>2]=r;J[b+4>>2]=p;J[b>>2]=a;J[b+8>>2]=u;h=J[f+28>>2]+1|0;J[f+28>>2]=h;break d}while(1){h=(a-1|0)!=(h|0)?h+1|0:0;J[g+(b<<2)>>2]=h;a=J[l+8>>2];b=b+1|0;if(a>>>0>b>>>0){continue}break}}g=0;b=a;if((c|0)==(r|0)){break e}while(1){j:{if(!b){b=0;break j}r=J[p+24>>2]+(P(J[p+4>>2],c+g|0)<<2)|0;h=0;while(1){b=J[l>>2];m=J[J[l+1152>>2]+(h<<2)>>2]<<2;n=J[m+J[j>>2]>>2];if((b|0)!=(n|0)){gc(N,b-n|0,J[m+r>>2]);a=J[l+8>>2]}b=a;h=h+1|0;if(h>>>0>>0){continue}break}}g=g+1|0;if((t|0)!=(g|0)){continue}break}}h=J[f+28>>2]}if(h){continue}break}}J[f+28>>2]=0;c=J[f+16>>2];h=J[f+12>>2];a=c-h|0;if(a>>>0>=9){while(1){gl(J[h>>2]);h=J[f+12>>2]+4|0;J[f+12>>2]=h;c=J[f+16>>2];a=c-h|0;if(a>>>0>8){continue}break}}b=56;k:{switch((a>>>2|0)-1|0){case 1:b=113;case 0:J[f+24>>2]=b;break;default:break k}}l:{if((c|0)==(h|0)){break l}while(1){gl(J[h>>2]);h=h+4|0;if((h|0)!=(c|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break l}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){gl(a)}fa=f+32|0;break a}Ia();C()}Ia();C()}_b(B,e);ze(D,e);ze(E,e);ze(F,e)}fa=o+32|0;return 1}function Hk(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=fa-80|0;fa=h;J[h+76>>2]=b;w=h+55|0;r=h+56|0;a:{b:{c:{d:{e:while(1){i=b;if((o^2147483647)<(f|0)){break d}o=f+o|0;f:{g:{h:{f=i;g=K[f|0];if(g){while(1){i:{b=g&255;j:{if(!b){b=f;break j}if((b|0)!=37){break i}g=f;while(1){if(K[g+1|0]!=37){b=g;break j}f=f+1|0;k=K[g+2|0];b=g+2|0;g=b;if((k|0)==37){continue}break}}f=f-i|0;v=o^2147483647;if((f|0)>(v|0)){break d}if(a){Ik(a,i,f)}if(f){continue e}J[h+76>>2]=b;f=b+1|0;p=-1;if(!(K[b+2|0]!=36|H[b+1|0]-48>>>0>=10)){p=H[b+1|0]-48|0;s=1;f=b+3|0}J[h+76>>2]=f;m=0;g=H[f|0];b=g-32|0;k:{if(b>>>0>31){l=f;break k}l=f;b=1<>2]=l;m=b|m;g=H[f+1|0];b=g-32|0;if(b>>>0>=32){break k}f=l;b=1<>>0>=10)){J[((H[l+1|0]<<2)+e|0)-192>>2]=10;g=l+3|0;s=1;b=J[((H[l+1|0]<<3)+d|0)-384>>2];break m}if(s){break h}g=l+1|0;if(!a){J[h+76>>2]=g;s=0;q=0;break l}b=J[c>>2];J[c>>2]=b+4;s=0;b=J[b>>2]}J[h+76>>2]=g;q=b;if((b|0)>=0){break l}q=0-q|0;m=m|8192;break l}q=Jk(h+76|0);if((q|0)<0){break d}g=J[h+76>>2]}f=0;j=-1;n:{if(K[g|0]!=46){b=g;u=0;break n}if(K[g+1|0]==42){o:{if(!(K[g+3|0]!=36|H[g+2|0]-48>>>0>=10)){J[((H[g+2|0]<<2)+e|0)-192>>2]=10;b=g+4|0;j=J[((H[g+2|0]<<3)+d|0)-384>>2];break o}if(s){break h}b=g+2|0;j=0;if(!a){break o}g=J[c>>2];J[c>>2]=g+4;j=J[g>>2]}J[h+76>>2]=b;u=(j^-1)>>>31|0;break n}J[h+76>>2]=g+1;j=Jk(h+76|0);b=J[h+76>>2];u=1}while(1){n=f;l=28;k=b;f=H[b|0];if(f-123>>>0<4294967238){break c}b=k+1|0;f=K[(f+P(n,58)|0)+17247|0];if(f-1>>>0<8){continue}break}J[h+76>>2]=b;p:{q:{if((f|0)!=27){if(!f){break c}if((p|0)>=0){J[(p<<2)+e>>2]=f;g=(p<<3)+d|0;f=J[g+4>>2];J[h+64>>2]=J[g>>2];J[h+68>>2]=f;break q}if(!a){break f}Kk(h- -64|0,f,c);break p}if((p|0)>=0){break c}}f=0;if(!a){continue e}}g=m&-65537;m=m&8192?g:m;p=0;t=1163;l=r;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{f=H[k|0];f=n?(f&15)==3?f&-33:f:f;switch(f-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(f-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((f|0)==83){break w}break g}g=J[h+64>>2];k=J[h+68>>2];t=1163;break z}f=0;I:{switch(n&255){case 0:J[J[h+64>>2]>>2]=o;continue e;case 1:J[J[h+64>>2]>>2]=o;continue e;case 2:i=J[h+64>>2];J[i>>2]=o;J[i+4>>2]=o>>31;continue e;case 3:I[J[h+64>>2]>>1]=o;continue e;case 4:H[J[h+64>>2]]=o;continue e;case 6:J[J[h+64>>2]>>2]=o;continue e;case 7:break I;default:continue e}}i=J[h+64>>2];J[i>>2]=o;J[i+4>>2]=o>>31;continue e}j=j>>>0<=8?8:j;m=m|8;f=120}i=r;g=J[h+64>>2];k=J[h+68>>2];if(g|k){x=f&32;while(1){i=i-1|0;H[i|0]=x|K[(g&15)+17776|0];y=!k&g>>>0>15|(k|0)!=0;n=k;k=k>>>4|0;g=(n&15)<<28|g>>>4;if(y){continue}break}}if(!(J[h+64>>2]|J[h+68>>2])|!(m&8)){break y}t=(f>>>4|0)+1163|0;p=2;break y}f=r;i=J[h+68>>2];k=i;g=J[h+64>>2];if(i|g){while(1){f=f-1|0;H[f|0]=g&7|48;n=!k&g>>>0>7|(k|0)!=0;i=k;k=i>>>3|0;g=(i&7)<<29|g>>>3;if(n){continue}break}}i=f;if(!(m&8)){break y}f=r-i|0;j=(f|0)<(j|0)?j:f+1|0;break y}g=J[h+64>>2];f=J[h+68>>2];k=f;if((f|0)<0){i=0-(k+((g|0)!=0)|0)|0;k=i;g=0-g|0;J[h+64>>2]=g;J[h+68>>2]=i;p=1;t=1163;break z}if(m&2048){p=1;t=1164;break z}p=m&1;t=p?1165:1163}i=Lk(g,k,r)}if((j|0)<0?u:0){break d}m=u?m&-65537:m;f=J[h+64>>2];g=J[h+68>>2];if(!(j|(f|g)!=0)){i=r;j=0;break g}f=!(f|g)+(r-i|0)|0;j=(f|0)<(j|0)?j:f;break g}l=j>>>0>=2147483647?2147483647:j;n=l;m=(l|0)!=0;f=J[h+64>>2];i=f?f:1983;f=i;J:{K:{L:{M:{if(!(f&3)|!l){break M}while(1){if(!K[f|0]){break L}n=n-1|0;m=(n|0)!=0;f=f+1|0;if(!(f&3)){break M}if(n){continue}break}}if(!m){break K}if(!(!K[f|0]|n>>>0<4)){while(1){k=J[f>>2];if((k^-1)&k-16843009&-2139062144){break L}f=f+4|0;n=n-4|0;if(n>>>0>3){continue}break}}if(!n){break K}}while(1){if(!K[f|0]){break J}f=f+1|0;n=n-1|0;if(n){continue}break}}f=0}f=f?f-i|0:l;l=f+i|0;if((j|0)>=0){m=g;j=f;break g}m=g;j=f;if(K[l|0]){break d}break g}if(j){g=J[h+64>>2];break u}f=0;Mk(a,32,q,0,m);break t}J[h+12>>2]=0;J[h+8>>2]=J[h+64>>2];g=h+8|0;J[h+64>>2]=g;j=-1}f=0;N:{while(1){i=J[g>>2];if(!i){break N}k=Qk(h+4|0,i);i=(k|0)<0;if(!(i|k>>>0>j-f>>>0)){g=g+4|0;f=f+k|0;if(j>>>0>f>>>0){continue}break N}break}if(i){break b}}l=61;if((f|0)<0){break c}Mk(a,32,q,f,m);if(!f){f=0;break t}l=0;g=J[h+64>>2];while(1){i=J[g>>2];if(!i){break t}i=Qk(h+4|0,i);l=i+l|0;if(l>>>0>f>>>0){break t}Ik(a,h+4|0,i);g=g+4|0;if(f>>>0>l>>>0){continue}break}}Mk(a,32,q,f,m^8192);f=(f|0)<(q|0)?q:f;continue e}if((j|0)<0?u:0){break d}l=61;f=Ok(a,O[h+64>>3],q,j,m,f);if((f|0)>=0){continue e}break c}H[h+55|0]=J[h+64>>2];j=1;i=w;m=g;break g}g=K[f+1|0];f=f+1|0;continue}}if(a){break a}if(!s){break f}f=1;while(1){a=J[(f<<2)+e>>2];if(a){Kk((f<<3)+d|0,a,c);o=1;f=f+1|0;if((f|0)!=10){continue}break a}break}o=1;if(f>>>0>=10){break a}while(1){if(J[(f<<2)+e>>2]){break h}f=f+1|0;if((f|0)!=10){continue}break}break a}l=28;break c}k=l-i|0;g=(j|0)>(k|0)?j:k;if((g|0)>(p^2147483647)){break d}l=61;j=g+p|0;f=(j|0)<(q|0)?q:j;if((v|0)<(f|0)){break c}Mk(a,32,f,j,m);Ik(a,t,p);Mk(a,48,f,j,m^65536);Mk(a,48,g,k,0);Ik(a,i,k);Mk(a,32,f,j,m^8192);continue}break}o=0;break a}l=61}J[4842]=l}o=-1}fa=h+80|0;return o}function ai(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=fa-16|0;fa=g;J[b+44>>2]=d;J[b+48>>2]=c;d=J[b+12>>2];f=J[b+8>>2];if((d|0)!=(f|0)){while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){ka[J[J[e>>2]+4>>2]](e)}if((d|0)!=(f|0)){continue}break}}J[b+12>>2]=f;J[b+24>>2]=J[b+20>>2];J[b+36>>2]=J[b+32>>2];a:{if(!J[b+4>>2]){b=ol(32);H[b+23|0]=0;c=K[1670]|K[1671]<<8|(K[1672]<<16|K[1673]<<24);d=K[1666]|K[1667]<<8|(K[1668]<<16|K[1669]<<24);H[b+15|0]=d;H[b+16|0]=d>>>8;H[b+17|0]=d>>>16;H[b+18|0]=d>>>24;H[b+19|0]=c;H[b+20|0]=c>>>8;H[b+21|0]=c>>>16;H[b+22|0]=c>>>24;c=K[1663]|K[1664]<<8|(K[1665]<<16|K[1666]<<24);d=K[1659]|K[1660]<<8|(K[1661]<<16|K[1662]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1655]|K[1656]<<8|(K[1657]<<16|K[1658]<<24);d=K[1651]|K[1652]<<8|(K[1653]<<16|K[1654]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;sl(a+4|0,b,23);gl(b);break a}d=fa-16|0;fa=d;e=J[b+44>>2];f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){Ba(e,J[e+4>>2],1637,1642)}e=ka[J[J[b>>2]+8>>2]](b)|0;H[d+15|0]=e;H[d+14|0]=2;H[d+13|0]=e&255?2:3;e=J[b+44>>2];f=J[e+20>>2];b:{if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}Ba(e,J[e+4>>2],d+14|0,d+15|0);e=J[b+44>>2];f=J[e+20>>2];if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}Ba(e,J[e+4>>2],d+13|0,d+14|0);e=J[b+44>>2];f=J[e+20>>2];if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}Ba(e,J[e+4>>2],d+15|0,d+16|0);e=J[b+44>>2]}j=d,k=ka[J[J[b>>2]+12>>2]](b)|0,H[j+12|0]=k;f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){Ba(e,J[e+4>>2],d+12|0,d+13|0)}I[d+10>>1]=(J[J[b+4>>2]+4>>2]!=0)<<15;e=J[b+44>>2];f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){Ba(e,J[e+4>>2],d+10|0,d+12|0)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;fa=d+16|0;if(J[a>>2]){break a}if(H[a+15|0]<0){gl(J[a+4>>2])}d=J[J[b+4>>2]+4>>2];c:{if(!d){J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break c}e=J[b+44>>2];if(d){yb(J[d+28>>2]-J[d+24>>2]>>2,e);f=J[d+24>>2];i=J[d+28>>2];if((f|0)!=(i|0)){while(1){h=J[f>>2];if(h){yb(J[h+24>>2],e);Wj(g,e,h)}f=f+4|0;if((i|0)!=(f|0)){continue}break}}Wj(g,e,d)}if(d){J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break c}d=ol(32);H[d+26|0]=0;e=K[1882]|K[1883]<<8;H[d+24|0]=e;H[d+25|0]=e>>>8;e=K[1878]|K[1879]<<8|(K[1880]<<16|K[1881]<<24);f=K[1874]|K[1875]<<8|(K[1876]<<16|K[1877]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=e;H[d+21|0]=e>>>8;H[d+22|0]=e>>>16;H[d+23|0]=e>>>24;e=K[1870]|K[1871]<<8|(K[1872]<<16|K[1873]<<24);f=K[1866]|K[1867]<<8|(K[1868]<<16|K[1869]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1862]|K[1863]<<8|(K[1864]<<16|K[1865]<<24);f=K[1858]|K[1859]<<8|(K[1860]<<16|K[1861]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;J[a>>2]=-1;sl(a+4|0,d,26);gl(d);if(J[a>>2]){break a}if(H[a+15|0]>=0){break c}gl(J[a+4>>2])}if(!(ka[J[J[b>>2]+16>>2]](b)|0)){b=ol(32);H[b+29|0]=0;c=K[1798]|K[1799]<<8|(K[1800]<<16|K[1801]<<24);d=K[1794]|K[1795]<<8|(K[1796]<<16|K[1797]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1793]|K[1794]<<8|(K[1795]<<16|K[1796]<<24);d=K[1789]|K[1790]<<8|(K[1791]<<16|K[1792]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1785]|K[1786]<<8|(K[1787]<<16|K[1788]<<24);d=K[1781]|K[1782]<<8|(K[1783]<<16|K[1784]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1777]|K[1778]<<8|(K[1779]<<16|K[1780]<<24);d=K[1773]|K[1774]<<8|(K[1775]<<16|K[1776]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;sl(a+4|0,b,29);gl(b);break a}if(!(ka[J[J[b>>2]+20>>2]](b)|0)){b=ol(32);H[b+31|0]=0;c=K[1941]|K[1942]<<8|(K[1943]<<16|K[1944]<<24);d=K[1937]|K[1938]<<8|(K[1939]<<16|K[1940]<<24);H[b+23|0]=d;H[b+24|0]=d>>>8;H[b+25|0]=d>>>16;H[b+26|0]=d>>>24;H[b+27|0]=c;H[b+28|0]=c>>>8;H[b+29|0]=c>>>16;H[b+30|0]=c>>>24;c=K[1934]|K[1935]<<8|(K[1936]<<16|K[1937]<<24);d=K[1930]|K[1931]<<8|(K[1932]<<16|K[1933]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1926]|K[1927]<<8|(K[1928]<<16|K[1929]<<24);d=K[1922]|K[1923]<<8|(K[1924]<<16|K[1925]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1918]|K[1919]<<8|(K[1920]<<16|K[1921]<<24);d=K[1914]|K[1915]<<8|(K[1916]<<16|K[1917]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;sl(a+4|0,b,31);gl(b);break a}ka[J[J[b>>2]+24>>2]](a,b);if(J[a>>2]){break a}if(H[a+15|0]<0){gl(J[a+4>>2])}if(!(ka[J[J[b>>2]+28>>2]](b)|0)){b=we(g,1708);J[a>>2]=-1;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break a}sl(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break a}gl(J[b>>2]);break a}d=c;c=we(g,1214);d=si(d,c,0);if(H[c+11|0]<0){gl(J[c>>2])}if(d){ka[J[J[b>>2]+48>>2]](b)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}fa=g+16|0}function Xb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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,K=0,L=0,N=0,O=0,Q=0;o=fa-32|0;fa=o;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){d=a+4|0;Ba(e,J[e+4>>2],a,d);p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){Ba(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){B=a+12|0;d=B;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];D=a+32|0;d=D;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];E=a+52|0;d=E;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];F=a+72|0;d=F;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[o+24>>2]=J[b+8>>2];d=J[b+4>>2];J[o+16>>2]=J[b>>2];J[o+20>>2]=d;J[o+8>>2]=J[c+8>>2];b=J[c+4>>2];J[o>>2]=J[c>>2];J[o+4>>2]=b;c=0;b=0;f=fa-32|0;fa=f;l=a;g=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(g){if(g>>>0>=1073741824){break b}a=g<<2;c=ol(a);J[f+8>>2]=c;b=a+c|0;J[f+16>>2]=b;ok(c,0,a);J[f+12>>2]=b}a=J[l+128>>2];d=J[a>>2];if(d){J[a+4>>2]=d;gl(d);g=J[l+8>>2];c=J[f+8>>2];b=J[f+12>>2]}J[a+4>>2]=b;J[a>>2]=c;J[a+8>>2]=J[f+16>>2];c=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b=0;c:{if(g){if(g>>>0>=1073741824){break c}a=g<<2;b=ol(a);J[f+8>>2]=b;c=a+b|0;J[f+16>>2]=c;ok(b,0,a);J[f+12>>2]=c}a=J[l+140>>2];d=J[a>>2];if(d){J[a+4>>2]=d;gl(d);c=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=c;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];p=J[o+20>>2];t=J[o+24>>2];d=J[o+4>>2];w=J[o+8>>2];b=J[o>>2];c=J[o+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;dc(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;q=(a>>>0)/113|0;a=J[J[f+12>>2]+(q<<2)>>2]+P(a-P(q,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=w;J[a+12>>2]=b;J[a+4>>2]=p;J[a+8>>2]=t;J[a>>2]=c;g=J[f+28>>2]+1|0;J[f+28>>2]=g;if(g){a=t;K=a&-4;G=a&3;L=l+32|0;N=l+12|0;O=l+72|0;Q=a>>>0<4;while(1){b=J[f+12>>2];i=J[f+24>>2];h=g-1|0;a=i+h|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;z=J[a+32>>2];c=J[a+24>>2];q=J[a+12>>2];a=J[a>>2];J[f+28>>2]=h;h=J[f+16>>2];if((((b|0)!=(h|0)?P(h-b>>2,113)-1|0:0)-(g+i|0)|0)+1>>>0>=226){gl(J[h-4>>2]);J[f+16>>2]=J[f+16>>2]-4}i=J[l>>2];g=(c|0)!=(J[l+8>>2]-1|0)?c+1|0:0;h=g<<2;x=P(z,12);k=x+J[l+140>>2]|0;c=J[h+J[k>>2]>>2];d:{e:{if((i|0)==(c|0)){break e}f:{g:{y=q-a|0;if(y>>>0<=2){h=J[l+116>>2];J[h>>2]=g;c=1;b=J[l+8>>2];if(b>>>0>1){break g}break f}k=J[l+128>>2];b=k+x|0;j=k;k=x+12|0;ec(j+k|0,J[b>>2],J[b+4>>2]);b=h+J[k+J[l+128>>2]>>2]|0;k=J[b>>2]+(1<>2]=k;b=a;h:{if((a|0)==(q|0)){break h}H=J[p+24>>2];I=h+H|0;b=q;c=a;if(!t){if(k>>>0>M[I>>2]){break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}if(k>>>0<=M[(h+J[d+24>>2]|0)+(P(b,w)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(b|0)){continue}break}break h}while(1){i=P(c,t)<<2;if(k>>>0>M[i+I>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}n=J[d+24>>2]+(P(b,w)<<2)|0;if(k>>>0<=M[n+h>>2]){continue}break}r=i+H|0;A=0;i=0;u=0;if(!Q){while(1){m=i<<2;j=m+r|0;s=J[j>>2];v=j;j=n+m|0;J[v>>2]=J[j>>2];J[j>>2]=s;j=m|4;s=j+r|0;v=J[s>>2];j=j+n|0;J[s>>2]=J[j>>2];J[j>>2]=v;j=m|8;s=j+r|0;v=J[s>>2];j=j+n|0;J[s>>2]=J[j>>2];J[j>>2]=v;m=m|12;j=m+r|0;s=J[j>>2];m=n+m|0;J[j>>2]=J[m>>2];J[m>>2]=s;i=i+4|0;u=u+4|0;if((K|0)!=(u|0)){continue}break}}if(G){while(1){m=i<<2;u=m+r|0;j=J[u>>2];m=n+m|0;J[u>>2]=J[m>>2];J[m>>2]=j;i=i+1|0;A=A+1|0;if((A|0)!=(G|0)){continue}break}}c=c+1|0;if((c|0)!=(b|0)){continue}break}}k=b-a|0;n=q-b|0;if((k|0)!=(n|0)){fc(O,k>>>0>>0)}gc(N,S(y)^31,(y>>>1|0)-(k>>>0>>0?k:n)|0);j=h;c=J[l+140>>2];h=c+x|0;i=J[h>>2];r=j+i|0;J[r>>2]=J[r>>2]+1;r=z+1|0;ec(c+P(r,12)|0,i,J[h+4>>2]);if((a|0)!=(b|0)){i=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];h=J[f+12>>2];if((i|0)==(((c|0)!=(h|0)?P(c-h>>2,113)-1|0:0)|0)){dc(f+8|0);i=J[f+24>>2]+J[f+28>>2]|0;h=J[f+12>>2]}c=(i>>>0)/113|0;c=J[h+(c<<2)>>2]+P(i-P(c,113)|0,36)|0;J[c+32>>2]=z;J[c+28>>2]=k;J[c+24>>2]=g;J[c+16>>2]=p;J[c+12>>2]=b;J[c+4>>2]=p;J[c+8>>2]=t;J[c>>2]=a;J[c+20>>2]=t;J[f+28>>2]=J[f+28>>2]+1}if((b|0)==(q|0)){break e}h=J[f+28>>2]+J[f+24>>2]|0;a=J[f+16>>2];c=J[f+12>>2];if((h|0)==(((a|0)!=(c|0)?P(a-c>>2,113)-1|0:0)|0)){dc(f+8|0);h=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}a=(h>>>0)/113|0;a=J[c+(a<<2)>>2]+P(h-P(a,113)|0,36)|0;J[a+32>>2]=r;J[a+28>>2]=n;J[a+24>>2]=g;J[a+16>>2]=d;J[a+20>>2]=w;J[a+12>>2]=q;J[a+4>>2]=p;J[a>>2]=b;J[a+8>>2]=t;g=J[f+28>>2]+1|0;J[f+28>>2]=g;break d}while(1){g=(b-1|0)!=(g|0)?g+1|0:0;J[h+(c<<2)>>2]=g;b=J[l+8>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}if(!b|(a|0)==(q|0)){break e}h=0;c=1;while(1){g=0;i:{if(!c){c=0;break i}q=J[p+24>>2]+(P(J[p+4>>2],a+h|0)<<2)|0;while(1){c=J[l>>2];i=J[J[l+116>>2]+(g<<2)>>2]<<2;n=J[i+J[k>>2]>>2];if((c|0)!=(n|0)){gc(L,c-n|0,J[i+q>>2]);b=J[l+8>>2]}c=b;g=g+1|0;if(c>>>0>g>>>0){continue}break}}h=h+1|0;if((y|0)!=(h|0)){continue}break}}g=J[f+28>>2]}if(g){continue}break}}J[f+28>>2]=0;a=J[f+16>>2];g=J[f+12>>2];b=a-g|0;if(b>>>0>=9){while(1){gl(J[g>>2]);g=J[f+12>>2]+4|0;J[f+12>>2]=g;a=J[f+16>>2];b=a-g|0;if(b>>>0>8){continue}break}}c=56;j:{switch((b>>>2|0)-1|0){case 1:c=113;case 0:J[f+24>>2]=c;break;default:break j}}k:{if((a|0)==(g|0)){break k}while(1){gl(J[g>>2]);g=g+4|0;if((g|0)!=(a|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break k}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){gl(a)}fa=f+32|0;break a}Ia();C()}Ia();C()}ze(B,e);ze(D,e);ze(E,e);ze(F,e)}fa=o+32|0;return 1}function Xg(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,n=0,o=0,p=0,q=0,r=0;l=fa-32|0;fa=l;d=J[a+16>>2];J[a+20>>2]=d;a:{b:{c:{d:{e:{f:{g:{h:{if((d|0)!=J[a+24>>2]){J[d>>2]=b;b=d+4|0;J[a+20>>2]=b;e=d;break h}e=ol(4);J[e>>2]=b;b=e+4|0;J[a+24>>2]=b;J[a+20>>2]=b;J[a+16>>2]=e;if(d){break g}}d=J[a+8>>2];d=J[d+100>>2]-J[d+96>>2]|0;break f}gl(d);b=J[a+20>>2];e=J[a+16>>2];if((b|0)==(e|0)){break e}d=J[a+8>>2];d=J[d+100>>2]-J[d+96>>2]|0}if((d|0)>0){q=a+120|0;d=(d|0)/12|0;r=(d|0)<=1?1:d;while(1){i:{j:{e=b-4|0;b=J[e>>2];if((b|0)==-1){break j}d=(b>>>0)/3|0;if(J[J[a+28>>2]+(d>>>3&268435452)>>2]>>>d&1){break j}m=0;while(1){J[a+164>>2]=J[a+164>>2]+1;e=b;g=(b>>>0)/3|0;f=(b|0)==-1;n=f?-1:g;b=J[a+28>>2]+(n>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];k:{if((b|0)!=J[a+80>>2]){J[b>>2]=e;J[a+76>>2]=b+4;break k}i=J[a+72>>2];j=b-i|0;c=j>>2;k=c+1|0;if(k>>>0>1073741823){break d}d=j>>>1|0;k=j>>>0>=2147483644?1073741823:d>>>0>k>>>0?d:k;if(k){if(k>>>0>1073741823){break a}d=ol(k<<2)}else{d=0}h=d+(c<<2)|0;J[h>>2]=e;c=h+4|0;if((b|0)!=(i|0)){while(1){h=h-4|0;b=b-4|0;J[h>>2]=J[b>>2];if((b|0)!=(i|0)){continue}break}}J[a+80>>2]=d+(k<<2);J[a+76>>2]=c;J[a+72>>2]=h;if(!i){break k}gl(i)}b=-1;h=J[a+12>>2];b=(e|0)!=-1?J[J[h>>2]+(e<<2)>>2]:b;k=b<<2;p=J[k+J[a+152>>2]>>2];l:{m:{c=J[a+84>>2]+(b>>>3&536870908)|0;d=J[c>>2];b=1<>2]=b|d;if((p|0)==-1){break m}}n:{if(f){break n}b=-1;d=e+1|0;f=(d>>>0)%3|0?d:e-2|0;if((f|0)!=-1){b=J[J[h+12>>2]+(f<<2)>>2]}i=e-P(g,3)|0;o:{p:{if(i){c=e-1|0;break p}c=e+2|0;d=-1;if((c|0)==-1){break o}}d=J[J[h+12>>2]+(c<<2)>>2]}o=(d|0)==-1;j=o?-1:(d>>>0)/3|0;q:{if((f|0)==-1){break q}g=J[h+12>>2];c=J[g+(f<<2)>>2];if((c|0)==-1){break q}f=J[a+28>>2];c=(c>>>0)/3|0;if(J[f+(c>>>3&268435452)>>2]>>>c&1){break q}r:{s:{if(i){h=e-1|0;break s}h=e+2|0;if((h|0)==-1){break r}}c=J[(h<<2)+g>>2];if((c|0)==-1){break r}c=(c>>>0)/3|0;if(J[f+(c>>>3&268435452)>>2]>>>c&1){break r}c=J[a+272>>2];t:{if((c|0)!=J[a+276>>2]){J[c>>2]=1;J[a+272>>2]=c+4;break t}i=J[a+268>>2];j=c-i|0;f=j>>2;g=f+1|0;if(g>>>0>1073741823){break c}c=j>>>1|0;g=j>>>0>=2147483644?1073741823:c>>>0>g>>>0?c:g;if(g){if(g>>>0>1073741823){break a}c=ol(g<<2)}else{c=0}f=c+(f<<2)|0;J[f>>2]=1;c=nk(c,i,j);J[a+276>>2]=c+(g<<2);J[a+272>>2]=f+4;J[a+268>>2]=c;if(!i){break t}gl(i)}J[a+168>>2]=J[a+168>>2]+1;u:{if((p|0)==-1){break u}c=J[J[a+152>>2]+k>>2];if(J[J[a+140>>2]+(c>>>3&536870908)>>2]>>>c&1){break u}Yg(a,e,0)}c=J[a+164>>2];J[l+4>>2]=n;e=l+4|0;J[l+16>>2]=e;ch(l+24|0,q,e,l+16|0);J[J[l+24>>2]+12>>2]=c;h=J[a+20>>2];J[h-4>>2]=d;if(J[a+24>>2]!=(h|0)){J[h>>2]=b;J[a+20>>2]=h+4;break i}g=J[a+16>>2];f=h-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break b}d=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?d:c;if(c){if(c>>>0>1073741823){break a}d=ol(c<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=b;b=e+4|0;if((g|0)!=(h|0)){while(1){e=e-4|0;h=h-4|0;J[e>>2]=J[h>>2];if((g|0)!=(h|0)){continue}break}}J[a+24>>2]=d+(c<<2);J[a+20>>2]=b;J[a+16>>2]=e;if(!g){break i}gl(g);break i}if(!o){dh(a,J[a+164>>2],0,j)}d=J[a+272>>2];if((d|0)!=J[a+276>>2]){J[d>>2]=3;J[a+272>>2]=d+4;break l}g=J[a+268>>2];f=d-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break c}d=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?d:c;if(c){if(c>>>0>1073741823){break a}d=ol(c<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=3;d=nk(d,g,f);J[a+276>>2]=d+(c<<2);J[a+272>>2]=e+4;J[a+268>>2]=d;if(!g){break l}gl(g);break l}c=(b|0)==-1;if(!c){dh(a,J[a+164>>2],1,c?-1:(b>>>0)/3|0)}v:{w:{if(i){b=e-1|0;break w}b=e+2|0;if((b|0)==-1){break v}}b=J[J[J[a+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break v}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break v}b=J[a+272>>2];if((b|0)!=J[a+276>>2]){J[b>>2]=5;J[a+272>>2]=b+4;b=d;break l}g=J[a+268>>2];f=b-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break c}b=f>>>1|0;c=f>>>0>=2147483644?1073741823:b>>>0>c>>>0?b:c;if(c){if(c>>>0>1073741823){break a}b=ol(c<<2)}else{b=0}e=b+(e<<2)|0;J[e>>2]=5;b=nk(b,g,f);J[a+276>>2]=b+(c<<2);J[a+272>>2]=e+4;J[a+268>>2]=b;if(!g){b=d;break l}gl(g);b=d;break l}if(o){break n}dh(a,J[a+164>>2],0,j)}b=J[a+272>>2];x:{if((b|0)!=J[a+276>>2]){J[b>>2]=7;J[a+272>>2]=b+4;break x}f=J[a+268>>2];c=b-f|0;d=c>>2;e=d+1|0;if(e>>>0>1073741823){break c}b=c>>>1|0;e=c>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(e){if(e>>>0>1073741823){break a}b=ol(e<<2)}else{b=0}d=b+(d<<2)|0;J[d>>2]=7;b=nk(b,f,c);J[a+276>>2]=b+(e<<2);J[a+272>>2]=d+4;J[a+268>>2]=b;if(!f){break x}gl(f)}J[a+20>>2]=J[a+20>>2]-4;break i}b=J[a+272>>2];y:{if((b|0)!=J[a+276>>2]){J[b>>2]=0;J[a+272>>2]=b+4;break y}g=J[a+268>>2];f=b-g|0;d=f>>2;c=d+1|0;if(c>>>0>1073741823){break c}b=f>>>1|0;c=f>>>0>=2147483644?1073741823:b>>>0>c>>>0?b:c;if(c){if(c>>>0>1073741823){break a}b=ol(c<<2)}else{b=0}d=b+(d<<2)|0;J[d>>2]=0;b=nk(b,g,f);J[a+276>>2]=b+(c<<2);J[a+272>>2]=d+4;J[a+268>>2]=b;if(!g){break y}gl(g)}b=-1;if((e|0)==-1){break l}d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;if((d|0)==-1){break l}b=J[J[J[a+12>>2]+12>>2]+(d<<2)>>2]}m=m+1|0;if((r|0)!=(m|0)){continue}break}break i}J[a+20>>2]=e}b=J[a+20>>2];if((b|0)!=J[a+16>>2]){continue}break}break e}f=J[a+28>>2];while(1){d=b-4|0;c=J[d>>2];z:{if((c|0)!=-1){c=(c>>>0)/3|0;if(!(J[f+(c>>>3&268435452)>>2]>>>c&1)){break z}}J[a+20>>2]=d;b=d}if((b|0)!=(e|0)){continue}break}}fa=l+32|0;return 1}Ia();C()}Ia();C()}Ia();C()}Ya();C()}function ob(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,n=0,o=0,p=0,q=Q(0),r=0,s=0,t=0,u=Q(0);f=fa-80|0;fa=f;J[f+56>>2]=0;J[f+60>>2]=0;J[f+48>>2]=0;J[f+52>>2]=0;J[f+64>>2]=1065353216;c=J[a+80>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;m=ol(e);J[f+16>>2]=m;c=e+m|0;J[f+24>>2]=c;ok(m,0,e);J[f+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=dm(J[b+40>>2],J[b+44>>2],n,0);k=c;c=c+e|0;c=c+d|0;e=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);c=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+32>>2]=e;J[f+36>>2]=c;J[f+40>>2]=e;J[f+44>>2]=c;c=0;g=J[f+52>>2];b:{if(!g){break b}d=J[f+48>>2];k=L[f+38>>1]^(L[f+36>>1]^(L[f+34>>1]^(L[f+32>>1]^318)+239)+239)+239;e=k&g-1;o=gm(g);c:{if(o>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(g>>>0)|0}t=d;d=e;e=J[t+(d<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(o>>>0>=2){l=L[f+32>>1];r=L[f+34>>1];p=L[f+36>>1];o=L[f+38>>1];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((d|0)!=(e|0)){break b}break e}e=L[j+8>>1];f:{if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=L[j+10>>1];if((e|0)!=(r|0)){e=(e|0)==(r|0);break f}e=L[j+12>>1];if((e|0)!=(p|0)){e=(e|0)==(p|0);break f}e=(o|0)==L[j+14>>1]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}p=g-1|0;g=L[f+32>>1];l=L[f+34>>1];r=L[f+36>>1];o=L[f+38>>1];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((d|0)!=(e&p)){break b}break g}e=L[j+8>>1];if((e|0)!=(g|0)){if((e|0)!=(g|0)){break g}break d}e=L[j+10>>1];if((e|0)!=(l|0)){if((e|0)!=(l|0)){break g}break d}e=L[j+12>>1];if((e|0)!=(r|0)){if((e|0)!=(r|0)){break g}break d}if((o|0)==L[j+14>>1]){break d}}j=J[j>>2];if(j){continue}break}break b}c=j}h:{if(c){J[(n<<2)+m>>2]=J[c+16>>2];break h}J[f+8>>2]=s;c=J[f+36>>2];J[f>>2]=J[f+32>>2];J[f+4>>2]=c;c=0;e=L[f+6>>1]^(L[f+4>>1]^(L[f+2>>1]^(L[f>>1]^318)+239)+239)+239;t=f;i:{j:{l=f+48|0;h=J[l+4>>2];if(!h){break j}d=gm(h);k:{if(d>>>0>=2){c=e;if(c>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}if(d>>>0<2){break k}p=L[f>>1];o=L[f+2>>1];j=L[f+4>>1];k=L[f+6>>1];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break j}}d=L[g+8>>1];l:{if((d|0)!=(p|0)){d=(d|0)==(p|0);break l}d=L[g+10>>1];if((d|0)!=(o|0)){d=(d|0)==(o|0);break l}d=L[g+12>>1];if((d|0)!=(j|0)){d=(d|0)==(j|0);break l}d=(k|0)==L[g+14>>1]}if(!d){continue}break}d=0;break i}c=e&h-1;g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}}j=h-1|0;r=L[f>>1];p=L[f+2>>1];o=L[f+4>>1];k=L[f+6>>1];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break j}d=L[g+8>>1];m:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break m}d=L[g+10>>1];if((d|0)!=(p|0)){d=(d|0)==(p|0);break m}d=L[g+12>>1];if((d|0)!=(o|0)){d=(d|0)==(o|0);break m}d=(k|0)==L[g+14>>1]}if(!d){continue}break}d=0;break i}g=ol(20);d=J[f+4>>2];J[g+8>>2]=J[f>>2];J[g+12>>2]=d;d=J[f+8>>2];J[g+4>>2]=e;J[g+16>>2]=d;J[g>>2]=0;q=Q(J[l+12>>2]+1>>>0);u=N[l+16>>2];n:{if(q>Q(u*Q(h>>>0))?0:h){break n}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;q=Q(W(Q(q/u)));o:{if(q=Q(0)){k=~~q>>>0;break o}k=0}d=d>>>0>k>>>0?d:k;p:{if((d|0)==1){break p}if(!(d&d-1)){c=d;break p}c=cl(d);h=J[l+4>>2]}q:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break q}k=h>>>0<3;q=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(q=Q(0)){d=~~q>>>0;break r}d=0}s:{t:{if(k){break t}if(gm(h)>>>0>1){break t}d=d>>>0<2?d:1<<32-S(d-1|0);break s}d=cl(d)}c=c>>>0>d>>>0?c:d;if(c>>>0>=h>>>0){break q}}sb(l,c)}h=J[l+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break n}if(e>>>0>>0){c=e;break n}c=(e>>>0)%(h>>>0)|0}e=J[l>>2]+(c<<2)|0;c=J[e>>2];u:{v:{if(!c){c=l+8|0;J[g>>2]=J[c>>2];J[l+8>>2]=g;J[e>>2]=c;c=J[g>>2];if(!c){break u}c=J[c+4>>2];e=h-1|0;w:{if(!(e&h)){c=c&e;break w}if(c>>>0>>0){break w}c=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(c<<2)|0;break v}J[g>>2]=J[c>>2]}J[c>>2]=g}J[l+12>>2]=J[l+12>>2]+1;d=1}H[t+76|0]=d;J[f+72>>2]=g;c=J[a+40>>2];mk(J[J[a>>2]>>2]+P(c,s)|0,f+40|0,c);m=J[f+16>>2];J[m+(n<<2)>>2]=s;s=s+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(s|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;c=0;b=0;if(i-1>>>0>=3){e=i&-4;h=0;while(1){d=b<<2;i=d+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;y:{if(c>>>0>>0){rb(i,j-c|0,2184);j=J[a+80>>2];break y}if(c>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}d=J[i>>2];c=0;b=0;if(j>>>0>=4){e=j&-4;h=0;while(1){n=b<<2;J[n+d>>2]=J[m+n>>2];i=n|4;J[i+d>>2]=J[i+m>>2];i=n|8;J[i+d>>2]=J[i+m>>2];i=n|12;J[i+d>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+d>>2]=J[i+m>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}J[a+80>>2]=s}gl(m)}b=J[f+56>>2];if(b){while(1){a=J[b>>2];gl(b);b=a;if(b){continue}break}}a=J[f+48>>2];J[f+48>>2]=0;if(a){gl(a)}fa=f+80|0;return s}Ia();C()}function fb(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,n=0,o=Q(0),p=0,q=0,r=0,s=0,t=Q(0);f=fa-96|0;fa=f;J[f+72>>2]=0;J[f+76>>2]=0;J[f+64>>2]=0;J[f+68>>2]=0;J[f+80>>2]=1065353216;d=J[a+80>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;a:{if(d){if(d>>>0>=1073741824){break a}e=d<<2;g=ol(e);J[f+16>>2]=g;d=e+g|0;J[f+24>>2]=d;ok(g,0,e);J[f+20>>2]=d;while(1){c=J[J[b>>2]>>2];e=J[b+48>>2];d=dm(J[b+40>>2],J[b+44>>2],m,0);k=d;d=d+e|0;c=c+d|0;J[f+56>>2]=K[c+8|0]|K[c+9|0]<<8|(K[c+10|0]<<16|K[c+11|0]<<24);d=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+48>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+52>>2]=d;e=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);d=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+40>>2]=K[c+8|0]|K[c+9|0]<<8|(K[c+10|0]<<16|K[c+11|0]<<24);J[f+32>>2]=d;J[f+36>>2]=e;d=0;e=f- -64|0;h=J[e+4>>2];b:{if(!h){break b}c=J[e>>2];k=J[f+40>>2]^(J[f+36>>2]^(J[f+32>>2]^318)+239)+239;e=k&h-1;n=gm(h);c:{if(n>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(h>>>0)|0}s=c;c=e;e=J[s+(c<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(n>>>0>=2){n=J[f+40>>2];l=J[f+36>>2];p=J[f+32>>2];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=h>>>0){e=(e>>>0)%(h>>>0)|0}if((c|0)!=(e|0)){break b}break e}e=J[j+8>>2];f:{if((e|0)!=(p|0)){e=(e|0)==(p|0);break f}e=J[j+12>>2];if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=(n|0)==J[j+16>>2]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}p=h-1|0;n=J[f+40>>2];h=J[f+36>>2];l=J[f+32>>2];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((c|0)!=(e&p)){break b}break g}e=J[j+8>>2];if((e|0)!=(l|0)){if((e|0)!=(l|0)){break g}break d}e=J[j+12>>2];if((e|0)!=(h|0)){if((e|0)!=(h|0)){break g}break d}if((n|0)==J[j+16>>2]){break d}}j=J[j>>2];if(j){continue}break}break b}d=j}h:{if(d){J[(m<<2)+g>>2]=J[d+20>>2];break h}J[f+8>>2]=J[f+40>>2];d=J[f+36>>2];J[f>>2]=J[f+32>>2];J[f+4>>2]=d;J[f+12>>2]=q;d=0;e=J[f+8>>2]^(J[f+4>>2]^(J[f>>2]^318)+239)+239;s=f;i:{j:{l=f- -64|0;g=J[l+4>>2];if(!g){break j}c=gm(g);k:{if(c>>>0>=2){d=e;if(d>>>0>=g>>>0){d=(e>>>0)%(g>>>0)|0}h=J[J[l>>2]+(d<<2)>>2];if(!h){break j}if(c>>>0<2){break k}k=J[f+8>>2];n=J[f+4>>2];j=J[f>>2];while(1){h=J[h>>2];if(!h){break j}c=J[h+4>>2];if((c|0)!=(e|0)){if(c>>>0>=g>>>0){c=(c>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break j}}c=J[h+8>>2];l:{if((c|0)!=(j|0)){c=(c|0)==(j|0);break l}c=J[h+12>>2];if((c|0)!=(n|0)){c=(c|0)==(n|0);break l}c=(k|0)==J[h+16>>2]}if(!c){continue}break}d=0;break i}d=e&g-1;h=J[J[l>>2]+(d<<2)>>2];if(!h){break j}}j=g-1|0;k=J[f+8>>2];p=J[f+4>>2];n=J[f>>2];while(1){h=J[h>>2];if(!h){break j}c=J[h+4>>2];if((c|0)!=(e|0)&(c&j)!=(d|0)){break j}c=J[h+8>>2];m:{if((c|0)!=(n|0)){c=(c|0)==(n|0);break m}c=J[h+12>>2];if((c|0)!=(p|0)){c=(c|0)==(p|0);break m}c=(k|0)==J[h+16>>2]}if(!c){continue}break}d=0;break i}h=ol(24);J[h+16>>2]=J[f+8>>2];c=J[f+4>>2];J[h+8>>2]=J[f>>2];J[h+12>>2]=c;c=J[f+12>>2];J[h>>2]=0;J[h+4>>2]=e;J[h+20>>2]=c;o=Q(J[l+12>>2]+1>>>0);t=N[l+16>>2];n:{if(o>Q(t*Q(g>>>0))?0:g){break n}d=2;c=(g-1&g)!=0|g>>>0<3|g<<1;o=Q(W(Q(o/t)));o:{if(o=Q(0)){k=~~o>>>0;break o}k=0}c=c>>>0>k>>>0?c:k;p:{if((c|0)==1){break p}if(!(c&c-1)){d=c;break p}d=cl(c);g=J[l+4>>2]}q:{if(d>>>0<=g>>>0){if(d>>>0>=g>>>0){break q}k=g>>>0<3;o=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(o=Q(0)){c=~~o>>>0;break r}c=0}s:{t:{if(k){break t}if(gm(g)>>>0>1){break t}c=c>>>0<2?c:1<<32-S(c-1|0);break s}c=cl(c)}d=c>>>0>>0?d:c;if(d>>>0>=g>>>0){break q}}sb(l,d)}g=J[l+4>>2];d=g-1|0;if(!(d&g)){d=d&e;break n}if(e>>>0>>0){d=e;break n}d=(e>>>0)%(g>>>0)|0}e=J[l>>2]+(d<<2)|0;d=J[e>>2];u:{v:{if(!d){d=l+8|0;J[h>>2]=J[d>>2];J[l+8>>2]=h;J[e>>2]=d;d=J[h>>2];if(!d){break u}d=J[d+4>>2];e=g-1|0;w:{if(!(e&g)){d=d&e;break w}if(d>>>0>>0){break w}d=(d>>>0)%(g>>>0)|0}d=J[l>>2]+(d<<2)|0;break v}J[h>>2]=J[d>>2]}J[d>>2]=h}J[l+12>>2]=J[l+12>>2]+1;d=1}H[s+92|0]=d;J[f+88>>2]=h;d=J[a+40>>2];mk(J[J[a>>2]>>2]+P(d,q)|0,f+48|0,d);g=J[f+16>>2];J[g+(m<<2)>>2]=q;q=q+1|0}m=m+1|0;i=m?i:i+1|0;j=J[a+80>>2];if(!i&m>>>0>>0){continue}break}if((j|0)!=(q|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;m=i&3;d=0;b=0;if(i-1>>>0>=3){e=i&-4;while(1){c=b<<2;i=c+k|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];i=k+(c|4)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];i=k+(c|8)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];i=k+(c|12)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];b=b+4|0;r=r+4|0;if((e|0)!=(r|0)){continue}break}}if(!m){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];b=b+1|0;d=d+1|0;if((m|0)!=(d|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];d=J[a+72>>2]-b>>2;y:{if(d>>>0>>0){rb(i,j-d|0,2184);j=J[a+80>>2];break y}if(d>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}c=J[i>>2];d=0;b=0;if(j>>>0>=4){e=j&-4;while(1){m=b<<2;J[m+c>>2]=J[g+m>>2];i=m|4;J[i+c>>2]=J[g+i>>2];i=m|8;J[i+c>>2]=J[g+i>>2];i=m|12;J[i+c>>2]=J[g+i>>2];b=b+4|0;r=r+4|0;if((e|0)!=(r|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+c>>2]=J[g+i>>2];b=b+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}J[a+80>>2]=q}gl(g)}b=J[f+72>>2];if(b){while(1){a=J[b>>2];gl(b);b=a;if(b){continue}break}}a=J[f+64>>2];J[f+64>>2]=0;if(a){gl(a)}fa=f+96|0;return q}Ia();C()}function Lb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=I[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=J[b>>2];if((e|0)<0){break b}J[(g<<2)+d>>2]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=J[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=J[b+4>>2];e=J[b>>2];if(e- -2147483648>>>0<2147483648?h+1|0:h){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>2147483647|k){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|m>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|mQ(1)){break d}e=(b<<2)+d|0;l=V(+m*2147483647+.5);f:{if(R(l)<2147483648){i=~~l;break f}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}ok((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|l!=l){break g}o=R(l);if(o==Infinity){break g}e=(b<<2)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|(R(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<2)+d|0;l=V(l*2147483647+.5);i:{if(R(l)<2147483648){i=~~l;break i}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}ok((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}ok((e<<2)+d|0,0,(c&255)-e<<2)}return j}ok((e<<2)+d|0,0,(c&255)-e<<2);return 1}function af(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=J[b+48>>2];if(!g){b=ol(32);H[b+23|0]=0;c=K[1670]|K[1671]<<8|(K[1672]<<16|K[1673]<<24);e=K[1666]|K[1667]<<8|(K[1668]<<16|K[1669]<<24);H[b+15|0]=e;H[b+16|0]=e>>>8;H[b+17|0]=e>>>16;H[b+18|0]=e>>>24;H[b+19|0]=c;H[b+20|0]=c>>>8;H[b+21|0]=c>>>16;H[b+22|0]=c>>>24;c=K[1663]|K[1664]<<8|(K[1665]<<16|K[1666]<<24);e=K[1659]|K[1660]<<8|(K[1661]<<16|K[1662]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1655]|K[1656]<<8|(K[1657]<<16|K[1658]<<24);e=K[1651]|K[1652]<<8|(K[1653]<<16|K[1654]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;sl(a+4|0,b,23);gl(b);return}h=J[b+52>>2];if(!h){e=fa-32|0;fa=e;d=ol(16);J[e+16>>2]=d;J[e+20>>2]=15;J[e+24>>2]=-2147483632;f=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);h=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[d+7|0]=h;H[d+8|0]=h>>>8;H[d+9|0]=h>>>16;H[d+10|0]=h>>>24;H[d+11|0]=f;H[d+12|0]=f>>>8;H[d+13|0]=f>>>16;H[d+14|0]=f>>>24;f=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);h=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[d|0]=h;H[d+1|0]=h>>>8;H[d+2|0]=h>>>16;H[d+3|0]=h>>>24;H[d+4|0]=f;H[d+5|0]=f>>>8;H[d+6|0]=f>>>16;H[d+7|0]=f>>>24;H[d+15|0]=0;h=b+4|0;j=pi(h,e+16|0,-1);if(H[e+27|0]<0){gl(J[e+16>>2])}a:{b:{c:{d:{e:{switch(j+1|0){case 1:d=ol(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=$h(d);J[d>>2]=12672;break c;case 0:break e;default:break d}}if((Pb(h)|0)!=10){break d}d=ol(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=$h(d);J[d>>2]=12672;break c}J[e+12>>2]=0;f:{i=J[g+12>>2];f=J[g+8>>2];if((i-f|0)>0){d=0;while(1){k=J[J[(d<<2)+f>>2]+28>>2];if(k-1>>>0>=6){if((k|0)!=9){break f}d=ol(32);J[e+16>>2]=d;J[e+20>>2]=17;J[e+24>>2]=-2147483616;H[d+16|0]=K[1261];f=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);i=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[d+8|0]=i;H[d+9|0]=i>>>8;H[d+10|0]=i>>>16;H[d+11|0]=i>>>24;H[d+12|0]=f;H[d+13|0]=f>>>8;H[d+14|0]=f>>>16;H[d+15|0]=f>>>24;f=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);i=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[d|0]=i;H[d+1|0]=i>>>8;H[d+2|0]=i>>>16;H[d+3|0]=i>>>24;H[d+4|0]=f;H[d+5|0]=f>>>8;H[d+6|0]=f>>>16;H[d+7|0]=f>>>24;H[d+17|0]=0;d=Gb(h,e+12|0,e+16|0,-1);if(H[e+27|0]<0){gl(J[e+16>>2])}if((d|0)<=0){break f}f=J[g+8>>2];i=J[g+12>>2];d=J[e+12>>2]}d=d+1|0;J[e+12>>2]=d;if(i-f>>2>(d|0)){continue}break}}d=ol(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=$h(d);J[d>>2]=12564;break c}if((j|0)==1){break b}d=ol(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=$h(d);J[d>>2]=12672}J[d+4>>2]=g;ai(a,d,h,c);if(!J[a>>2]){if(H[a+15|0]<0){gl(J[a+4>>2])}c=J[d+52>>2];J[b+44>>2]=0;J[b+40>>2]=c;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}ka[J[J[d>>2]+4>>2]](d);break a}b=ol(32);H[b+24|0]=0;c=K[1853]|K[1854]<<8|(K[1855]<<16|K[1856]<<24);d=K[1849]|K[1850]<<8|(K[1851]<<16|K[1852]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1845]|K[1846]<<8|(K[1847]<<16|K[1848]<<24);d=K[1841]|K[1842]<<8|(K[1843]<<16|K[1844]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1837]|K[1838]<<8|(K[1839]<<16|K[1840]<<24);d=K[1833]|K[1834]<<8|(K[1835]<<16|K[1836]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;sl(a+4|0,b,24);gl(b)}fa=e+32|0;return}d=fa-16|0;fa=d;e=ol(16);J[d>>2]=e;J[d+4>>2]=15;J[d+8>>2]=-2147483632;g=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);f=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[e+7|0]=f;H[e+8|0]=f>>>8;H[e+9|0]=f>>>16;H[e+10|0]=f>>>24;H[e+11|0]=g;H[e+12|0]=g>>>8;H[e+13|0]=g>>>16;H[e+14|0]=g>>>24;g=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);f=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[e|0]=f;H[e+1|0]=f>>>8;H[e+2|0]=f>>>16;H[e+3|0]=f>>>24;H[e+4|0]=g;H[e+5|0]=g>>>8;H[e+6|0]=g>>>16;H[e+7|0]=g>>>24;H[e+15|0]=0;g=b+4|0;e=pi(g,d,-1);if(H[d+11|0]<0){gl(J[d>>2])}g:{h:{i:{switch(e+1|0){case 0:if((Pb(g)|0)==10){break h}break;case 2:break i;default:break h}}e=Rh(ol(68));J[e+64>>2]=0;J[e>>2]=10412;break g}e=Rh(ol(64));J[e>>2]=12280}J[e+56>>2]=h;J[e+4>>2]=h;ai(a,e,g,c);if(!J[a>>2]){if(H[a+15|0]<0){gl(J[a+4>>2])}J[b+40>>2]=J[e+52>>2];J[b+44>>2]=J[e+60>>2];J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}ka[J[J[e>>2]+4>>2]](e);fa=d+16|0}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,n=0,o=0,p=0,q=Q(0),r=0,s=0,t=0,u=Q(0);f=fa+-64|0;fa=f;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;J[f+48>>2]=1065353216;c=J[a+80>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;m=ol(e);J[f+8>>2]=m;c=e+m|0;J[f+16>>2]=c;ok(m,0,e);J[f+12>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=dm(J[b+40>>2],J[b+44>>2],n,0);k=c;c=c+e|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+24>>2]=c;J[f+28>>2]=c;c=0;g=J[f+36>>2];b:{if(!g){break b}d=J[f+32>>2];k=K[f+27|0]^(K[f+26|0]^(K[f+25|0]^(K[f+24|0]^318)+239)+239)+239;e=k&g-1;o=gm(g);c:{if(o>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(g>>>0)|0}t=d;d=e;e=J[t+(d<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(o>>>0>=2){l=K[f+24|0];r=K[f+25|0];p=K[f+26|0];o=K[f+27|0];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((d|0)!=(e|0)){break b}break e}e=K[j+8|0];f:{if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=K[j+9|0];if((e|0)!=(r|0)){e=(e|0)==(r|0);break f}e=K[j+10|0];if((e|0)!=(p|0)){e=(e|0)==(p|0);break f}e=(o|0)==K[j+11|0]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}p=g-1|0;g=K[f+24|0];l=K[f+25|0];r=K[f+26|0];o=K[f+27|0];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((d|0)!=(e&p)){break b}break g}e=K[j+8|0];if((e|0)!=(g|0)){if((e|0)!=(g|0)){break g}break d}e=K[j+9|0];if((e|0)!=(l|0)){if((e|0)!=(l|0)){break g}break d}e=K[j+10|0];if((e|0)!=(r|0)){if((e|0)!=(r|0)){break g}break d}if((o|0)==K[j+11|0]){break d}}j=J[j>>2];if(j){continue}break}break b}c=j}h:{if(c){J[(n<<2)+m>>2]=J[c+12>>2];break h}J[f+4>>2]=s;J[f>>2]=J[f+24>>2];c=0;e=K[f+3|0]^(K[f+2|0]^(K[f+1|0]^(K[f|0]^318)+239)+239)+239;t=f;i:{j:{l=f+32|0;h=J[l+4>>2];if(!h){break j}d=gm(h);k:{if(d>>>0>=2){c=e;if(c>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}if(d>>>0<2){break k}p=K[f|0];o=K[f+1|0];j=K[f+2|0];k=K[f+3|0];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break j}}d=K[g+8|0];l:{if((d|0)!=(p|0)){d=(d|0)==(p|0);break l}d=K[g+9|0];if((d|0)!=(o|0)){d=(d|0)==(o|0);break l}d=K[g+10|0];if((d|0)!=(j|0)){d=(d|0)==(j|0);break l}d=(k|0)==K[g+11|0]}if(!d){continue}break}d=0;break i}c=e&h-1;g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}}j=h-1|0;r=K[f|0];p=K[f+1|0];o=K[f+2|0];k=K[f+3|0];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break j}d=K[g+8|0];m:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break m}d=K[g+9|0];if((d|0)!=(p|0)){d=(d|0)==(p|0);break m}d=K[g+10|0];if((d|0)!=(o|0)){d=(d|0)==(o|0);break m}d=(k|0)==K[g+11|0]}if(!d){continue}break}d=0;break i}g=ol(16);J[g+8>>2]=J[f>>2];d=J[f+4>>2];J[g+4>>2]=e;J[g+12>>2]=d;J[g>>2]=0;q=Q(J[l+12>>2]+1>>>0);u=N[l+16>>2];n:{if(q>Q(u*Q(h>>>0))?0:h){break n}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;q=Q(W(Q(q/u)));o:{if(q=Q(0)){k=~~q>>>0;break o}k=0}d=d>>>0>k>>>0?d:k;p:{if((d|0)==1){break p}if(!(d&d-1)){c=d;break p}c=cl(d);h=J[l+4>>2]}q:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break q}k=h>>>0<3;q=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(q=Q(0)){d=~~q>>>0;break r}d=0}s:{t:{if(k){break t}if(gm(h)>>>0>1){break t}d=d>>>0<2?d:1<<32-S(d-1|0);break s}d=cl(d)}c=c>>>0>d>>>0?c:d;if(c>>>0>=h>>>0){break q}}sb(l,c)}h=J[l+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break n}if(e>>>0>>0){c=e;break n}c=(e>>>0)%(h>>>0)|0}e=J[l>>2]+(c<<2)|0;c=J[e>>2];u:{v:{if(!c){c=l+8|0;J[g>>2]=J[c>>2];J[l+8>>2]=g;J[e>>2]=c;c=J[g>>2];if(!c){break u}c=J[c+4>>2];e=h-1|0;w:{if(!(e&h)){c=c&e;break w}if(c>>>0>>0){break w}c=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(c<<2)|0;break v}J[g>>2]=J[c>>2]}J[c>>2]=g}J[l+12>>2]=J[l+12>>2]+1;d=1}H[t+60|0]=d;J[f+56>>2]=g;c=J[a+40>>2];mk(J[J[a>>2]>>2]+P(c,s)|0,f+28|0,c);m=J[f+8>>2];J[m+(n<<2)>>2]=s;s=s+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(s|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;c=0;b=0;if(i-1>>>0>=3){e=i&-4;h=0;while(1){d=b<<2;i=d+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;y:{if(c>>>0>>0){rb(i,j-c|0,2184);j=J[a+80>>2];break y}if(c>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}d=J[i>>2];c=0;b=0;if(j>>>0>=4){e=j&-4;h=0;while(1){n=b<<2;J[n+d>>2]=J[m+n>>2];i=n|4;J[i+d>>2]=J[i+m>>2];i=n|8;J[i+d>>2]=J[i+m>>2];i=n|12;J[i+d>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+d>>2]=J[i+m>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}J[a+80>>2]=s}gl(m)}b=J[f+40>>2];if(b){while(1){a=J[b>>2];gl(b);b=a;if(b){continue}break}}a=J[f+32>>2];J[f+32>>2]=0;if(a){gl(a)}fa=f- -64|0;return s}Ia();C()}function gk(a){a=a|0;var 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,q=0,r=0,s=0,t=Q(0),u=0,v=0,w=0,x=0,y=Q(0),z=0,A=0;c=fa+-64|0;fa=c;f=J[a+80>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+56>>2]=a;J[c+48>>2]=a;J[c+32>>2]=0;J[c+36>>2]=0;J[c+52>>2]=1065353216;hk(c+32|0,f);f=J[a+80>>2];J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;a:{b:{c:{d:{if(!f){break d}if(f>>>0>=1073741824){break a}f=f<<2;s=ol(f);J[c+16>>2]=s;b=f+s|0;J[c+24>>2]=b;ok(s,0,f);J[c+20>>2]=b;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;z=c+40|0;f=0;while(1){e=0;b=J[c+48>>2];m=J[b+8>>2];n=J[b+12>>2]-m|0;v=(n|0)<=0;e:{if(v){break e}b=n>>>2|0;b=b>>>0<=1?1:b;i=b&1;h=0;if(n>>>0>=8){g=b&1073741822;b=0;while(1){j=h<<2;d=J[j+m>>2];if(K[d+84|0]){d=f}else{d=J[J[d+68>>2]+(f<<2)>>2]}h=h+2|0;l=d<<3^e<<2;e=J[m+(j|4)>>2];if(K[e+84|0]){d=f}else{d=J[J[e+68>>2]+(f<<2)>>2]}e=l^d<<2;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(!i){break e}b=J[m+(h<<2)>>2];if(K[b+84|0]){b=f}else{b=J[J[b+68>>2]+(f<<2)>>2]}e=b<<2^e<<1}f:{g:{j=J[c+36>>2];if(!j){break g}g=J[c+32>>2];i=gm(j)>>>0>1;b=j-1&e;h:{if(!i){break h}b=e;if(b>>>0>>0){break h}b=(e>>>0)%(j>>>0)|0}d=b;b=J[g+(d<<2)>>2];if(!b){break g}k=J[b>>2];if(!k){break g}p=J[c+56>>2];i:{j:{if(!i){w=j-1|0;while(1){b=J[k+4>>2];k:{if((b|0)!=(e|0)){if((d|0)==(b&w)){break k}break g}x=J[p+8>>2];b=J[p+12>>2]-x|0;if((b|0)<4){break i}i=J[k+8>>2];o=b>>2;A=(o|0)<=1?1:o;l=0;h=0;while(1){b=f;g=J[x+(h<<2)>>2];if(K[g+84|0]){g=i}else{g=J[g+68>>2];b=J[g+(f<<2)>>2];g=J[g+(i<<2)>>2]}if((b|0)==(g|0)){h=h+1|0;l=(o|0)<=(h|0);if((h|0)!=(A|0)){continue}}break}if(l){break j}}k=J[k>>2];if(k){continue}break}break g}while(1){b=J[k+4>>2];l:{if((b|0)!=(e|0)){if(b>>>0>=j>>>0){b=(b>>>0)%(j>>>0)|0}if((b|0)==(d|0)){break l}break g}w=J[p+8>>2];b=J[p+12>>2]-w|0;if((b|0)<4){break i}i=J[k+8>>2];o=b>>2;x=(o|0)<=1?1:o;l=0;h=0;while(1){b=f;g=J[w+(h<<2)>>2];if(K[g+84|0]){g=i}else{g=J[g+68>>2];b=J[g+(f<<2)>>2];g=J[g+(i<<2)>>2]}if((b|0)==(g|0)){h=h+1|0;l=(o|0)<=(h|0);if((h|0)!=(x|0)){continue}}break}if(l){break j}}k=J[k>>2];if(k){continue}break}break g}if(!k){break g}}J[(f<<2)+s>>2]=J[k+12>>2];break f}m:{if(v){e=0;break m}b=n>>>2|0;b=b>>>0<=1?1:b;i=b&1;e=0;h=0;if(n>>>0>=8){g=b&1073741822;b=0;while(1){l=h<<2;d=J[l+m>>2];if(K[d+84|0]){d=f}else{d=J[J[d+68>>2]+(f<<2)>>2]}h=h+2|0;n=d<<3^e<<2;e=J[m+(l|4)>>2];if(K[e+84|0]){d=f}else{d=J[J[e+68>>2]+(f<<2)>>2]}e=n^d<<2;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(!i){break m}b=J[m+(h<<2)>>2];if(K[b+84|0]){b=f}else{b=J[J[b+68>>2]+(f<<2)>>2]}e=b<<2^e<<1}n:{o:{if(!j){break o}m=j-1|0;if(m&j){k=e>>>0>=j>>>0?(e>>>0)%(j>>>0)|0:e;g=J[J[c+32>>2]+(k<<2)>>2];if(!g){break o}m=J[c+56>>2];while(1){g=J[g>>2];if(!g){break o}b=J[g+4>>2];if((b|0)!=(e|0)){if(b>>>0>=j>>>0){b=(b>>>0)%(j>>>0)|0}if((b|0)!=(k|0)){break o}}p=J[m+8>>2];b=J[m+12>>2]-p|0;if((b|0)<4){break n}d=J[g+8>>2];n=b>>2;o=(n|0)<=1?1:n;l=0;h=0;while(1){b=f;i=J[p+(h<<2)>>2];if(K[i+84|0]){i=d}else{i=J[i+68>>2];b=J[i+(f<<2)>>2];i=J[i+(d<<2)>>2]}if((b|0)==(i|0)){h=h+1|0;l=(n|0)<=(h|0);if((h|0)!=(o|0)){continue}}break}if(!l){continue}break}break n}k=e&m;g=J[J[c+32>>2]+(k<<2)>>2];if(!g){break o}n=J[c+56>>2];while(1){g=J[g>>2];if(!g){break o}b=J[g+4>>2];if((b|0)!=(e|0)&(b&m)!=(k|0)){break o}o=J[n+8>>2];b=J[n+12>>2]-o|0;if((b|0)<4){break n}d=J[g+8>>2];p=b>>2;v=(p|0)<=1?1:p;l=0;h=0;while(1){b=f;i=J[o+(h<<2)>>2];if(K[i+84|0]){i=d}else{i=J[i+68>>2];b=J[i+(f<<2)>>2];i=J[i+(d<<2)>>2]}if((b|0)==(i|0)){h=h+1|0;l=(p|0)<=(h|0);if((h|0)!=(v|0)){continue}}break}if(!l){continue}break}break n}d=ol(16);J[d+8>>2]=f;J[d+4>>2]=e;J[d>>2]=0;J[d+12>>2]=u;y=Q(J[c+44>>2]+1>>>0);t=N[c+52>>2];p:{if(y>Q(t*Q(j>>>0))?0:j){break p}g=c+32|0;i=(j-1&j)!=0|j>>>0<3|j<<1;t=Q(W(Q(y/t)));q:{if(t=Q(0)){b=~~t>>>0;break q}b=0}hk(g,b>>>0>>0?i:b);j=J[c+36>>2];b=j-1|0;if(!(b&j)){k=b&e;break p}if(e>>>0>>0){k=e;break p}k=(e>>>0)%(j>>>0)|0}e=J[c+32>>2]+(k<<2)|0;b=J[e>>2];r:{s:{if(!b){J[d>>2]=J[c+40>>2];J[c+40>>2]=d;J[e>>2]=z;b=J[d>>2];if(!b){break r}b=J[b+4>>2];e=j-1|0;t:{if(!(e&j)){b=b&e;break t}if(b>>>0>>0){break t}b=(b>>>0)%(j>>>0)|0}b=J[c+32>>2]+(b<<2)|0;break s}J[d>>2]=J[b>>2]}J[b>>2]=d}J[c+44>>2]=J[c+44>>2]+1;q=J[c+8>>2];r=J[c+4>>2];s=J[c+16>>2]}J[(f<<2)+s>>2]=u;u=u+1|0;if((q|0)!=(r|0)){J[r>>2]=f;r=r+4|0;J[c+4>>2]=r;break f}e=J[c>>2];b=q-e|0;i=b>>2;d=i+1|0;if(d>>>0>=1073741824){break c}g=b>>>1|0;d=b>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(d){if(d>>>0>=1073741824){break b}b=ol(d<<2)}else{b=0}h=b+(i<<2)|0;J[h>>2]=f;r=h+4|0;if((e|0)!=(q|0)){while(1){h=h-4|0;q=q-4|0;J[h>>2]=J[q>>2];if((e|0)!=(q|0)){continue}break}}q=b+(d<<2)|0;J[c+8>>2]=q;J[c+4>>2]=r;J[c>>2]=h;if(e){gl(e)}}f=f+1|0;b=J[a+80>>2];if(f>>>0>>0){continue}break}if((b|0)!=(u|0)){ka[J[J[a>>2]+24>>2]](a,c+16|0,c);J[a+80>>2]=u}a=J[c>>2];if(!a){break d}J[c+4>>2]=a;gl(a)}a=J[c+16>>2];if(a){J[c+20>>2]=a;gl(a)}f=J[c+40>>2];if(f){while(1){a=J[f>>2];gl(f);f=a;if(f){continue}break}}a=J[c+32>>2];J[c+32>>2]=0;if(a){gl(a)}fa=c- -64|0;return}Ia();C()}Ya();C()}Ia();C()}function kd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0,n=Q(0),o=0;a:{if(!d){break a}b:{c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=H[b|0];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=I[b>>1];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=L[b>>1];J[e+4>>2]=0;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=J[b>>2];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=0;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=J[b+4>>2];e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=J[b>>2];i=J[b+4>>2];if((i|0)<0){break a}j=(g<<3)+d|0;J[j>>2]=e;J[j+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=K[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break d}if(K[a+32|0]){break a}e=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=N[g>>2];if(k>=Q(0x8000000000000000)|k=Q(1)?~~(k>Q(0)?Q(T(Q(V(Q(k*Q(2.3283064365386963e-10)))),Q(4294967296))):Q(W(Q(Q(k-Q(~~k>>>0>>>0))*Q(2.3283064365386963e-10)))))>>>0:0;m=~~k>>>0;break e}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=K[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break f}if(K[a+32|0]){break a}e=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){l=O[g>>3];if(l>=0x8000000000000000|l<-0x8000000000000000|l!=l){break a}o=R(l);if(o==Infinity){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){j=R(l)>=1?~~(l>0?T(V(l*2.3283064365386963e-10),4294967295):W((l-+(~~l>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~l>>>0;break g}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=dm(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}ok(d,0,a<<3)}}function tg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=fa-16|0;fa=e;f=J[a+48>>2];b=ol(32);J[e>>2]=b;J[e+4>>2]=20;J[e+8>>2]=-2147483616;c=K[1359]|K[1360]<<8|(K[1361]<<16|K[1362]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1355]|K[1356]<<8|(K[1357]<<16|K[1358]<<24);d=K[1351]|K[1352]<<8|(K[1353]<<16|K[1354]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1347]|K[1348]<<8|(K[1349]<<16|K[1350]<<24);d=K[1343]|K[1344]<<8|(K[1345]<<16|K[1346]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+20|0]=0;f=ri(f+24|0,e);if(H[e+11|0]<0){gl(J[e>>2])}g=J[a+48>>2];b=ol(32);J[e>>2]=b;J[e+4>>2]=22;J[e+8>>2]=-2147483616;c=K[1338]|K[1339]<<8|(K[1340]<<16|K[1341]<<24);d=K[1334]|K[1335]<<8|(K[1336]<<16|K[1337]<<24);H[b+14|0]=d;H[b+15|0]=d>>>8;H[b+16|0]=d>>>16;H[b+17|0]=d>>>24;H[b+18|0]=c;H[b+19|0]=c>>>8;H[b+20|0]=c>>>16;H[b+21|0]=c>>>24;c=K[1332]|K[1333]<<8|(K[1334]<<16|K[1335]<<24);d=K[1328]|K[1329]<<8|(K[1330]<<16|K[1331]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1324]|K[1325]<<8|(K[1326]<<16|K[1327]<<24);d=K[1320]|K[1321]<<8|(K[1322]<<16|K[1323]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+22|0]=0;g=ri(g+24|0,e);if(H[e+11|0]<0){gl(J[e>>2])}b=J[a+64>>2];J[a+64>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}b=J[a+56>>2];h=J[b+100>>2];i=J[a+48>>2];j=J[b+96>>2];b=ol(32);J[e>>2]=b;J[e+4>>2]=18;J[e+8>>2]=-2147483616;c=K[1566]|K[1567]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1562]|K[1563]<<8|(K[1564]<<16|K[1565]<<24);d=K[1558]|K[1559]<<8|(K[1560]<<16|K[1561]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1554]|K[1555]<<8|(K[1556]<<16|K[1557]<<24);d=K[1550]|K[1551]<<8|(K[1552]<<16|K[1553]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;b=pi(i,e,-1);if(H[e+11|0]<0){gl(J[e>>2])}c=(h-j|0)/12|0;a:{b:{c:{d:{e:{f:{g:{h:{switch(b+1|0){case 1:break f;case 3:break g;case 0:break h;default:break c}}if(!f){break g}if(c>>>0<1e3|(Pb(J[a+48>>2])|0)>4|g^1){break e}}b=J[a+44>>2];H[e|0]=2;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],e,e+1|0)}b=ol(360);J[b+4>>2]=0;J[b+8>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b>>2]=10592;J[b+12>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+88>>2]=0;J[b+92>>2]=0;J[b+96>>2]=0;J[b+100>>2]=0;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=1065353216;J[b+156>>2]=0;J[b+160>>2]=0;J[b+148>>2]=0;J[b+152>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+164>>2]=-1;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;c=b+200|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=b+232|0;J[c>>2]=0;J[c+4>>2]=0;H[c+24|0]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[b+304>>2]=0;J[b+308>>2]=0;J[b+296>>2]=0;J[b+300>>2]=0;J[b+288>>2]=0;J[b+292>>2]=0;J[b+280>>2]=0;J[b+284>>2]=0;J[b+272>>2]=0;J[b+276>>2]=0;J[b+264>>2]=0;J[b+268>>2]=0;H[b+352|0]=0;J[b+344>>2]=0;J[b+336>>2]=0;J[b+340>>2]=0;J[b+328>>2]=2;J[b+332>>2]=7;J[b+320>>2]=-1;J[b+324>>2]=0;J[b+312>>2]=0;J[b+316>>2]=-1;break d}if(!f){break c}}b=J[a+44>>2];H[e|0]=0;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],e,e+1|0)}b=ol(296);J[b+4>>2]=0;J[b+8>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b>>2]=10540;J[b+12>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+88>>2]=0;J[b+92>>2]=0;J[b+96>>2]=0;J[b+100>>2]=0;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=1065353216;J[b+156>>2]=0;J[b+160>>2]=0;J[b+148>>2]=0;J[b+152>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+164>>2]=-1;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;c=b+200|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=b+232|0;J[c>>2]=0;J[c+4>>2]=0;H[c+24|0]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;H[b+288|0]=0;J[b+280>>2]=0;J[b+284>>2]=0;J[b+272>>2]=0;J[b+276>>2]=0;J[b+264>>2]=0;J[b+268>>2]=0}c=J[a+64>>2];J[a+64>>2]=b;if(!c){break b}ka[J[J[c>>2]+4>>2]](c)}b=J[a+64>>2];if(b){break b}a=0;break a}a=ka[J[J[b>>2]+8>>2]](b,a)|0}fa=e+16|0;return a|0}function nb(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,n=0,o=0,p=Q(0),q=0,r=0,s=0,t=Q(0);f=fa-80|0;fa=f;J[f+56>>2]=0;J[f+60>>2]=0;J[f+48>>2]=0;J[f+52>>2]=0;J[f+64>>2]=1065353216;d=J[a+80>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;a:{if(d){if(d>>>0>=1073741824){break a}c=d<<2;m=ol(c);J[f+16>>2]=m;d=c+m|0;J[f+24>>2]=d;ok(m,0,c);J[f+20>>2]=d;while(1){e=J[J[b>>2]>>2];c=J[b+48>>2];d=dm(J[b+40>>2],J[b+44>>2],n,0);k=d;d=d+c|0;c=d+e|0;I[f+44>>1]=K[c+4|0]|K[c+5|0]<<8;J[f+40>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);d=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);I[f+36>>1]=K[c+4|0]|K[c+5|0]<<8;J[f+32>>2]=d;d=0;g=J[f+52>>2];b:{if(!g){break b}e=J[f+48>>2];k=L[f+36>>1]^(L[f+34>>1]^(L[f+32>>1]^318)+239)+239;c=k&g+262143;o=gm(g);c:{if(o>>>0<=1){break c}c=k;if(c>>>0>>0){break c}c=(k>>>0)%(g>>>0)|0}s=e;e=c;c=J[s+(c<<2)>>2];if(!c){break b}j=J[c>>2];if(!j){break b}d:{if(o>>>0>=2){l=L[f+32>>1];q=L[f+34>>1];o=L[f+36>>1];while(1){c=J[j+4>>2];e:{if((c|0)!=(k|0)){if(c>>>0>=g>>>0){c=(c>>>0)%(g>>>0)|0}if((c|0)!=(e|0)){break b}break e}c=L[j+8>>1];f:{if((c|0)!=(l|0)){c=(c|0)==(l|0);break f}c=L[j+10>>1];if((c|0)!=(q|0)){c=(c|0)==(q|0);break f}c=(o|0)==L[j+12>>1]}if(c){break d}}j=J[j>>2];if(j){continue}break}break b}q=g-1|0;g=L[f+32>>1];l=L[f+34>>1];o=L[f+36>>1];while(1){c=J[j+4>>2];g:{if((c|0)!=(k|0)){if((e|0)!=(c&q)){break b}break g}c=L[j+8>>1];if((c|0)!=(g|0)){if((c|0)!=(g|0)){break g}break d}c=L[j+10>>1];if((c|0)!=(l|0)){if((c|0)!=(l|0)){break g}break d}if((o|0)==L[j+12>>1]){break d}}j=J[j>>2];if(j){continue}break}break b}d=j}h:{if(d){J[(n<<2)+m>>2]=J[d+16>>2];break h}I[f+4>>1]=L[f+36>>1];J[f>>2]=J[f+32>>2];J[f+8>>2]=r;d=0;c=L[f+4>>1]^(L[f+2>>1]^(L[f>>1]^318)+239)+239;s=f;i:{j:{l=f+48|0;h=J[l+4>>2];if(!h){break j}e=gm(h);k:{if(e>>>0>=2){d=c;if(c>>>0>=h>>>0){d=(c>>>0)%(h>>>0)|0}g=J[J[l>>2]+(d<<2)>>2];if(!g){break j}if(e>>>0<2){break k}o=L[f>>1];j=L[f+2>>1];k=L[f+4>>1];while(1){g=J[g>>2];if(!g){break j}e=J[g+4>>2];if((e|0)!=(c|0)){if(e>>>0>=h>>>0){e=(e>>>0)%(h>>>0)|0}if((d|0)!=(e|0)){break j}}e=L[g+8>>1];l:{if((e|0)!=(o|0)){e=(e|0)==(o|0);break l}e=L[g+10>>1];if((e|0)!=(j|0)){e=(e|0)==(j|0);break l}e=(k|0)==L[g+12>>1]}if(!e){continue}break}e=0;break i}d=c&h+262143;g=J[J[l>>2]+(d<<2)>>2];if(!g){break j}}j=h-1|0;q=L[f>>1];o=L[f+2>>1];k=L[f+4>>1];while(1){g=J[g>>2];if(!g){break j}e=J[g+4>>2];if((e|0)!=(c|0)&(e&j)!=(d|0)){break j}e=L[g+8>>1];m:{if((e|0)!=(q|0)){e=(e|0)==(q|0);break m}e=L[g+10>>1];if((e|0)!=(o|0)){e=(e|0)==(o|0);break m}e=(k|0)==L[g+12>>1]}if(!e){continue}break}e=0;break i}g=ol(20);I[g+12>>1]=L[f+4>>1];J[g+8>>2]=J[f>>2];e=J[f+8>>2];J[g>>2]=0;J[g+4>>2]=c;J[g+16>>2]=e;p=Q(J[l+12>>2]+1>>>0);t=N[l+16>>2];n:{if(p>Q(t*Q(h>>>0))?0:h){break n}d=2;e=(h-1&h)!=0|h>>>0<3|h<<1;p=Q(W(Q(p/t)));o:{if(p=Q(0)){k=~~p>>>0;break o}k=0}e=e>>>0>k>>>0?e:k;p:{if((e|0)==1){break p}if(!(e&e-1)){d=e;break p}d=cl(e);h=J[l+4>>2]}q:{if(d>>>0<=h>>>0){if(d>>>0>=h>>>0){break q}k=h>>>0<3;p=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(p=Q(0)){e=~~p>>>0;break r}e=0}s:{t:{if(k){break t}if(gm(h)>>>0>1){break t}e=e>>>0<2?e:1<<32-S(e-1|0);break s}e=cl(e)}d=d>>>0>e>>>0?d:e;if(d>>>0>=h>>>0){break q}}sb(l,d)}h=J[l+4>>2];d=h-1|0;if(!(d&h)){d=d&c;break n}if(c>>>0>>0){d=c;break n}d=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(d<<2)|0;d=J[c>>2];u:{v:{if(!d){d=l+8|0;J[g>>2]=J[d>>2];J[l+8>>2]=g;J[c>>2]=d;d=J[g>>2];if(!d){break u}d=J[d+4>>2];c=h-1|0;w:{if(!(c&h)){d=d&c;break w}if(d>>>0>>0){break w}d=(d>>>0)%(h>>>0)|0}d=J[l>>2]+(d<<2)|0;break v}J[g>>2]=J[d>>2]}J[d>>2]=g}J[l+12>>2]=J[l+12>>2]+1;e=1}H[s+76|0]=e;J[f+72>>2]=g;d=J[a+40>>2];mk(J[J[a>>2]>>2]+P(d,r)|0,f+40|0,d);m=J[f+16>>2];J[m+(n<<2)>>2]=r;r=r+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(r|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;d=0;b=0;if(i-1>>>0>=3){c=i&-4;h=0;while(1){e=b<<2;i=e+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(e|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(e|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(e|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((c|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;d=d+1|0;if((n|0)!=(d|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];d=J[a+72>>2]-b>>2;y:{if(d>>>0>>0){rb(i,j-d|0,2184);j=J[a+80>>2];break y}if(d>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}e=J[i>>2];d=0;b=0;if(j>>>0>=4){c=j&-4;h=0;while(1){n=b<<2;J[n+e>>2]=J[m+n>>2];i=n|4;J[i+e>>2]=J[i+m>>2];i=n|8;J[i+e>>2]=J[i+m>>2];i=n|12;J[i+e>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((c|0)!=(h|0)){continue}break}}c=j&3;if(!c){break x}while(1){i=b<<2;J[i+e>>2]=J[i+m>>2];b=b+1|0;d=d+1|0;if((c|0)!=(d|0)){continue}break}}J[a+80>>2]=r}gl(m)}b=J[f+56>>2];if(b){while(1){a=J[b>>2];gl(b);b=a;if(b){continue}break}}a=J[f+48>>2];J[f+48>>2]=0;if(a){gl(a)}fa=f+80|0;return r}Ia();C()}function Rb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=fa-16|0;fa=e;J[a+8>>2]=b;J[a>>2]=0;d=a+12|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=d+32|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+96|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+128|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+160|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+192|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+224|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+256|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+288|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+320|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+352|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+384|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+416|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+448|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+480|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+512|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+544|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+576|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+608|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+640|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+672|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+704|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+736|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+768|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+800|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+832|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+864|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+896|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+928|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+960|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;d=d+992|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1036|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1068|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1088|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1108|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[a+1136>>2]=0;J[a+1128>>2]=0;J[a+1132>>2]=0;h=a+1164|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+1140>>2]=0;J[a+1144>>2]=0;d=a+1156|0;J[d>>2]=0;J[d+4>>2]=0;d=a+1148|0;J[d>>2]=0;J[d+4>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;d=1;break a}d=b<<2;c=ol(d);J[a+1128>>2]=c;f=c+d|0;J[a+1136>>2]=f;ok(c,0,d);g=a+1148|0;J[g>>2]=0;J[a+1140>>2]=0;J[a+1144>>2]=0;J[a+1132>>2]=f;c=ol(d);J[a+1140>>2]=c;f=c+d|0;J[g>>2]=f;ok(c,0,d);g=a+1160|0;J[g>>2]=0;J[a+1152>>2]=0;J[a+1156>>2]=0;J[a+1144>>2]=f;c=ol(d);J[a+1152>>2]=c;f=c+d|0;J[g>>2]=f;ok(c,0,d);J[a+1156>>2]=f;c=ol(d);J[e>>2]=c;f=c+d|0;J[e+8>>2]=f;ok(c,0,d);J[e+4>>2]=f;d=b<<5|1}$b(h,d,e);c=J[e>>2];if(c){J[e+4>>2]=c;gl(c)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;c=ol(b);J[e>>2]=c;f=b+c|0;J[e+8>>2]=f;ok(c,0,b);J[e+4>>2]=f}$b(a+1176|0,d,e);b=J[e>>2];if(b){J[e+4>>2]=b;gl(b)}fa=e+16|0;return a}function jb(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,n=0,o=0,p=Q(0),q=0,r=0,s=0,t=Q(0);f=fa+-64|0;fa=f;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;J[f+48>>2]=1065353216;c=J[a+80>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;m=ol(e);J[f+8>>2]=m;c=e+m|0;J[f+16>>2]=c;ok(m,0,e);J[f+12>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=dm(J[b+40>>2],J[b+44>>2],n,0);k=c;c=c+e|0;e=c+d|0;H[f+30|0]=K[e+2|0];I[f+28>>1]=K[e|0]|K[e+1|0]<<8;c=K[e|0]|K[e+1|0]<<8;H[f+26|0]=K[e+2|0];I[f+24>>1]=c;c=0;g=J[f+36>>2];b:{if(!g){break b}d=J[f+32>>2];k=K[f+26|0]^(K[f+25|0]^(K[f+24|0]^318)+239)+239;e=k&g-1;o=gm(g);c:{if(o>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(g>>>0)|0}s=d;d=e;e=J[s+(e<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(o>>>0>=2){l=K[f+24|0];q=K[f+25|0];o=K[f+26|0];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((e|0)!=(d|0)){break b}break e}e=K[j+8|0];f:{if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=K[j+9|0];if((e|0)!=(q|0)){e=(e|0)==(q|0);break f}e=(o|0)==K[j+10|0]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}q=g-1|0;g=K[f+24|0];l=K[f+25|0];o=K[f+26|0];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((d|0)!=(e&q)){break b}break g}e=K[j+8|0];if((e|0)!=(g|0)){if((e|0)!=(g|0)){break g}break d}e=K[j+9|0];if((e|0)!=(l|0)){if((e|0)!=(l|0)){break g}break d}if((o|0)==K[j+10|0]){break d}}j=J[j>>2];if(j){continue}break}break b}c=j}h:{if(c){J[(n<<2)+m>>2]=J[c+12>>2];break h}H[f+2|0]=K[f+26|0];I[f>>1]=L[f+24>>1];J[f+4>>2]=r;c=0;e=K[f+2|0]^(K[f+1|0]^(K[f|0]^318)+239)+239;s=f;i:{j:{l=f+32|0;h=J[l+4>>2];if(!h){break j}d=gm(h);k:{if(d>>>0>=2){c=e;if(e>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}if(d>>>0<2){break k}o=K[f|0];j=K[f+1|0];k=K[f+2|0];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break j}}d=K[g+8|0];l:{if((d|0)!=(o|0)){d=(d|0)==(o|0);break l}d=K[g+9|0];if((d|0)!=(j|0)){d=(d|0)==(j|0);break l}d=(k|0)==K[g+10|0]}if(!d){continue}break}d=0;break i}c=e&h-1;g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}}j=h-1|0;q=K[f|0];o=K[f+1|0];k=K[f+2|0];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break j}d=K[g+8|0];m:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break m}d=K[g+9|0];if((d|0)!=(o|0)){d=(d|0)==(o|0);break m}d=(k|0)==K[g+10|0]}if(!d){continue}break}d=0;break i}g=ol(16);H[g+10|0]=K[f+2|0];I[g+8>>1]=L[f>>1];d=J[f+4>>2];J[g>>2]=0;J[g+4>>2]=e;J[g+12>>2]=d;p=Q(J[l+12>>2]+1>>>0);t=N[l+16>>2];n:{if(p>Q(t*Q(h>>>0))?0:h){break n}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;p=Q(W(Q(p/t)));o:{if(p=Q(0)){k=~~p>>>0;break o}k=0}d=d>>>0>k>>>0?d:k;p:{if((d|0)==1){break p}if(!(d&d-1)){c=d;break p}c=cl(d);h=J[l+4>>2]}q:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break q}k=h>>>0<3;p=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(p=Q(0)){d=~~p>>>0;break r}d=0}s:{t:{if(k){break t}if(gm(h)>>>0>1){break t}d=d>>>0<2?d:1<<32-S(d-1|0);break s}d=cl(d)}c=c>>>0>d>>>0?c:d;if(c>>>0>=h>>>0){break q}}sb(l,c)}h=J[l+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break n}if(e>>>0>>0){c=e;break n}c=(e>>>0)%(h>>>0)|0}e=J[l>>2]+(c<<2)|0;c=J[e>>2];u:{v:{if(!c){c=l+8|0;J[g>>2]=J[c>>2];J[l+8>>2]=g;J[e>>2]=c;c=J[g>>2];if(!c){break u}c=J[c+4>>2];e=h-1|0;w:{if(!(e&h)){c=c&e;break w}if(c>>>0>>0){break w}c=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(c<<2)|0;break v}J[g>>2]=J[c>>2]}J[c>>2]=g}J[l+12>>2]=J[l+12>>2]+1;d=1}H[s+60|0]=d;J[f+56>>2]=g;c=J[a+40>>2];mk(J[J[a>>2]>>2]+P(c,r)|0,f+28|0,c);m=J[f+8>>2];J[m+(n<<2)>>2]=r;r=r+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(r|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;c=0;b=0;if(i-1>>>0>=3){e=i&-4;h=0;while(1){d=b<<2;i=d+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;y:{if(c>>>0>>0){rb(i,j-c|0,2184);j=J[a+80>>2];break y}if(c>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}d=J[i>>2];c=0;b=0;if(j>>>0>=4){e=j&-4;h=0;while(1){n=b<<2;J[n+d>>2]=J[m+n>>2];i=n|4;J[i+d>>2]=J[i+m>>2];i=n|8;J[i+d>>2]=J[i+m>>2];i=n|12;J[i+d>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+d>>2]=J[i+m>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}J[a+80>>2]=r}gl(m)}b=J[f+40>>2];if(b){while(1){a=J[b>>2];gl(b);b=a;if(b){continue}break}}a=J[f+32>>2];J[f+32>>2]=0;if(a){gl(a)}fa=f- -64|0;return r}Ia();C()}function jd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;i=fa-80|0;fa=i;e=-1;k=-1;a:{if((b|0)==-1){break a}k=b+1|0;e=(k>>>0)%3|0?k:b-2|0;k=b-1|0;if((b>>>0)%3|0){break a}k=b+2|0}h=J[a+36>>2];b=J[h>>2];b:{c:{d:{e:{f:{g:{h=J[h+4>>2]-b>>2;f=e<<2;e=J[J[a+32>>2]+28>>2];g=J[f+e>>2];if(h>>>0<=g>>>0){break g}k=J[e+(k<<2)>>2];if(k>>>0>=h>>>0){break g}h:{j=J[b+(k<<2)>>2];g=J[b+(g<<2)>>2];if((j|0)>=(d|0)|(g|0)>=(d|0)){break h}b=(j<<3)+c|0;y=J[b+4>>2];e=(g<<3)+c|0;k=J[e+4>>2];h=J[e>>2];l=J[b>>2];if(!((h|0)!=(l|0)|(k|0)!=(y|0))){J[a+8>>2]=h;J[a+12>>2]=k;break c}b=J[J[a+4>>2]+(d<<2)>>2];J[i+72>>2]=0;J[i+76>>2]=0;e=i- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+56|0);b=J[J[a+4>>2]+(g<<2)>>2];J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+32|0);b=J[J[a+4>>2]+(j<<2)>>2];J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+8|0);b=J[i+16>>2];o=J[i+40>>2];s=b-o|0;L=J[i+44>>2];b=J[i+20>>2]-(L+(b>>>0>>0)|0)|0;F=b;e=dm(s,b,s,b);j=ja;b=J[i+8>>2];v=J[i+32>>2];z=b-v|0;M=J[i+36>>2];b=J[i+12>>2]-(M+(b>>>0>>0)|0)|0;G=b;f=e;e=dm(z,b,z,b);b=f+e|0;n=ja+j|0;n=b>>>0>>0?n+1|0:n;e=J[i+24>>2];w=J[i+48>>2];B=e-w|0;N=J[i+52>>2];e=J[i+28>>2]-(N+(e>>>0>>0)|0)|0;I=e;f=b;b=dm(B,e,B,e);q=f+b|0;e=ja+n|0;r=b>>>0>q>>>0?e+1|0:e;if(!(r|q)){break h}b=0;D=fm(-1,2147483647,q,r);e=h>>31;E=e;f=e>>31;t=h;g=f;m=h^g;h=m-g|0;e=(e^g)-((g>>>0>m>>>0)+g|0)|0;g=e;e=k>>31;P=e;j=h;m=e>>31;p=m^k;f=p-m|0;n=e>>31;e=(n^e)-((m>>>0>p>>>0)+n|0)|0;h=(e|0)==(g|0)&f>>>0>>0|e>>>0>>0;m=h?j:f;j=ja;e=h?g:e;if((j|0)==(e|0)&m>>>0>D>>>0|e>>>0>j>>>0){break b}j=J[i+64>>2];Q=J[i+68>>2];e=dm(j-o|0,Q-((j>>>0>>0)+L|0)|0,s,F);h=ja;m=J[i+56>>2];R=J[i+60>>2];g=dm(m-v|0,R-((m>>>0>>0)+M|0)|0,z,G);e=g+e|0;f=ja+h|0;f=e>>>0>>0?f+1|0:f;p=J[i+72>>2];S=J[i+76>>2];g=dm(p-w|0,S-((p>>>0>>0)+N|0)|0,B,I);h=g+e|0;e=ja+f|0;g=g>>>0>h>>>0?e+1|0:e;e=l;D=e-t|0;f=(e>>31)-((e>>>0>>0)+E|0)|0;T=f;e=f>>31;n=e^D;l=n-e|0;e=(e^f)-((n>>>0>>0)+e|0)|0;n=e;O=y-k|0;f=(y>>31)-((k>>>0>y>>>0)+P|0)|0;y=f;u=f>>31;x=u^O;A=x-u|0;e=f>>31;e=(e^f)-((u>>>0>x>>>0)+e|0)|0;f=(n|0)==(e|0)&l>>>0>A>>>0|e>>>0>>0;f=fm(-1,2147483647,f?l:A,f?n:e)>>>0>>0;e=ja;if(f&(e|0)<=(g|0)|(e|0)<(g|0)){break b}e=G>>31;f=e;l=e^z;e=l-e|0;f=(f^G)-((f>>>0>l>>>0)+f|0)|0;n=F>>31;l=n;u=l^s;x=u-l|0;l=(l^F)-((l>>>0>u>>>0)+l|0)|0;n=(f|0)==(l|0)&e>>>0>x>>>0|f>>>0>l>>>0;e=n?e:x;f=n?f:l;n=I>>31;A=e;l=n;u=l^B;x=u-l|0;l=(l^I)-((l>>>0>u>>>0)+l|0)|0;e=(f|0)==(l|0)&e>>>0>x>>>0|f>>>0>l>>>0;f=fm(-1,2147483647,e?A:x,e?f:l)>>>0>>0;e=ja;if(f&(e|0)<=(g|0)|(e|0)<(g|0)){break b}b=dm(h,g,O,y);e=ja;f=b;b=dm(q,r,k,P);l=f+b|0;f=ja+e|0;n=b>>>0>l>>>0?f+1|0:f;b=dm(h,g,D,T);k=ja;e=b;b=dm(t,E,q,r);t=e+b|0;e=ja+k|0;E=b>>>0>t>>>0?e+1|0:e;k=1;b=0;e=o;o=em(dm(h,g,s,F),ja,q,r);f=e+o|0;e=ja+L|0;e=f>>>0>>0?e+1|0:e;o=j-f|0;e=Q-((f>>>0>j>>>0)+e|0)|0;o=dm(o,e,o,e);s=ja;f=em(dm(h,g,z,G),ja,q,r);j=f+v|0;e=ja+M|0;e=f>>>0>j>>>0?e+1|0:e;f=m-j|0;e=R-((j>>>0>m>>>0)+e|0)|0;m=dm(f,e,f,e);j=m+o|0;e=ja+s|0;e=j>>>0>>0?e+1|0:e;m=j;j=e;g=em(dm(h,g,B,I),ja,q,r);h=g+w|0;e=ja+N|0;e=g>>>0>h>>>0?e+1|0:e;g=p-h|0;e=S-((h>>>0>p>>>0)+e|0)|0;g=dm(g,e,g,e);h=g+m|0;e=ja+j|0;h=dm(h,g>>>0>h>>>0?e+1|0:e,q,r);e=ja;j=e;if(!e&h>>>0<=1){break f}m=h;g=j;while(1){e=b<<1|k>>>31;k=k<<1;b=e;p=!g&m>>>0>7|(g|0)!=0;m=(g&3)<<30|m>>>2;g=g>>>2|0;if(p){continue}break}break e}if((d|0)>(g|0)){b=g<<1}else{if((d|0)<=0){J[a+8>>2]=0;J[a+12>>2]=0;break c}b=(d<<1)-2|0}b=(b<<2)+c|0;J[a+8>>2]=J[b>>2];J[a+12>>2]=J[b+4>>2];break c}Xc();C()}b=j;k=h;if(h-1|0){break d}}while(1){e=fm(h,j,k,b);f=b+ja|0;b=e+k|0;f=b>>>0>>0?f+1|0:f;k=(f&1)<<31|b>>>1;b=f>>>1|0;e=dm(k,b,k,b);g=ja;if((j|0)==(g|0)&e>>>0>h>>>0|g>>>0>j>>>0){continue}break}}s=a+16|0;g=(d<<3)+c|0;d=J[g+4>>2];h=dm(k,b,D,T);v=ja;c=em(l-h|0,n-(v+(h>>>0>l>>>0)|0)|0,q,r);e=d-c|0;p=d>>31;j=p-(ja+(c>>>0>d>>>0)|0)|0;m=dm(e,j,e,j);z=ja;g=J[g>>2];e=g>>31;o=e;j=dm(k,b,O,y);w=ja;f=E+w|0;b=j+t|0;f=b>>>0>>0?f+1|0:f;A=m;k=em(b,f,q,r);b=g-k|0;e=e-(ja+(g>>>0>>0)|0)|0;m=dm(b,e,b,e);b=A+m|0;e=ja+z|0;f=b;m=b>>>0>>0?e+1|0:e;e=n+v|0;b=h+l|0;e=b>>>0>>0?e+1|0:e;b=em(b,e,q,r);e=d-b|0;d=p-(ja+(b>>>0>d>>>0)|0)|0;h=dm(e,d,e,d);p=ja;d=em(t-j|0,E-((j>>>0>t>>>0)+w|0)|0,q,r);e=g-d|0;g=o-(ja+(d>>>0>g>>>0)|0)|0;j=dm(e,g,e,g);g=j+h|0;e=ja+p|0;e=g>>>0>>0?e+1|0:e;i:{if((e|0)==(m|0)&g>>>0>f>>>0|e>>>0>m>>>0){H[i+7|0]=1;bd(s,i+7|0);break i}H[i+7|0]=0;bd(s,i+7|0);c=b;k=d}J[a+8>>2]=k;J[a+12>>2]=c}b=1}fa=i+80|0;return b}function Cd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;i=fa-80|0;fa=i;l=-1;a:{if((b|0)==-1){break a}e=J[a+32>>2];h=b+1|0;h=(h>>>0)%3|0?h:b-2|0;if((h|0)!=-1){l=J[J[e>>2]+(h<<2)>>2]}h=((b>>>0)%3|0?-1:2)+b|0;b=-1;b=(h|0)!=-1?J[J[e>>2]+(h<<2)>>2]:b;h=J[a+36>>2];e=J[h>>2];h=J[h+4>>2]-e>>2;if(h>>>0<=l>>>0|b>>>0>=h>>>0){break a}b:{c:{d:{e:{f:{g:{j=J[e+(b<<2)>>2];g=J[e+(l<<2)>>2];if((j|0)>=(d|0)|(g|0)>=(d|0)){break g}b=(j<<3)+c|0;y=J[b+4>>2];e=(g<<3)+c|0;l=J[e+4>>2];h=J[e>>2];k=J[b>>2];if(!((h|0)!=(k|0)|(l|0)!=(y|0))){J[a+8>>2]=h;J[a+12>>2]=l;break c}b=J[J[a+4>>2]+(d<<2)>>2];J[i+72>>2]=0;J[i+76>>2]=0;e=i- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+56|0);b=J[J[a+4>>2]+(g<<2)>>2];J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+32|0);b=J[J[a+4>>2]+(j<<2)>>2];J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+8|0);b=J[i+16>>2];o=J[i+40>>2];s=b-o|0;L=J[i+44>>2];b=J[i+20>>2]-(L+(b>>>0>>0)|0)|0;F=b;e=dm(s,b,s,b);j=ja;b=J[i+8>>2];v=J[i+32>>2];z=b-v|0;M=J[i+36>>2];b=J[i+12>>2]-(M+(b>>>0>>0)|0)|0;G=b;f=e;e=dm(z,b,z,b);b=f+e|0;n=ja+j|0;n=b>>>0>>0?n+1|0:n;e=J[i+24>>2];w=J[i+48>>2];B=e-w|0;N=J[i+52>>2];e=J[i+28>>2]-(N+(e>>>0>>0)|0)|0;I=e;f=b;b=dm(B,e,B,e);q=f+b|0;e=ja+n|0;r=b>>>0>q>>>0?e+1|0:e;if(!(r|q)){break g}b=0;D=fm(-1,2147483647,q,r);e=h>>31;E=e;f=e>>31;t=h;g=f;m=h^g;h=m-g|0;e=(e^g)-((g>>>0>m>>>0)+g|0)|0;g=e;e=l>>31;P=e;j=h;m=e>>31;p=m^l;f=p-m|0;n=e>>31;e=(n^e)-((m>>>0>p>>>0)+n|0)|0;h=(e|0)==(g|0)&f>>>0>>0|e>>>0>>0;m=h?j:f;j=ja;e=h?g:e;if((j|0)==(e|0)&m>>>0>D>>>0|e>>>0>j>>>0){break b}j=J[i+64>>2];Q=J[i+68>>2];e=dm(j-o|0,Q-((j>>>0>>0)+L|0)|0,s,F);h=ja;m=J[i+56>>2];R=J[i+60>>2];g=dm(m-v|0,R-((m>>>0>>0)+M|0)|0,z,G);e=g+e|0;f=ja+h|0;f=e>>>0>>0?f+1|0:f;p=J[i+72>>2];S=J[i+76>>2];g=dm(p-w|0,S-((p>>>0>>0)+N|0)|0,B,I);h=g+e|0;e=ja+f|0;g=g>>>0>h>>>0?e+1|0:e;e=k;D=e-t|0;f=(e>>31)-((e>>>0>>0)+E|0)|0;T=f;e=f>>31;n=e^D;k=n-e|0;e=(e^f)-((n>>>0>>0)+e|0)|0;n=e;O=y-l|0;f=(y>>31)-((l>>>0>y>>>0)+P|0)|0;y=f;u=f>>31;x=u^O;A=x-u|0;e=f>>31;e=(e^f)-((u>>>0>x>>>0)+e|0)|0;f=(n|0)==(e|0)&k>>>0>A>>>0|e>>>0>>0;f=fm(-1,2147483647,f?k:A,f?n:e)>>>0>>0;e=ja;if(f&(e|0)<=(g|0)|(e|0)<(g|0)){break b}e=G>>31;f=e;k=e^z;e=k-e|0;f=(f^G)-((f>>>0>k>>>0)+f|0)|0;n=F>>31;k=n;u=k^s;x=u-k|0;k=(k^F)-((k>>>0>u>>>0)+k|0)|0;n=(f|0)==(k|0)&e>>>0>x>>>0|f>>>0>k>>>0;e=n?e:x;f=n?f:k;n=I>>31;A=e;k=n;u=k^B;x=u-k|0;k=(k^I)-((k>>>0>u>>>0)+k|0)|0;e=(f|0)==(k|0)&e>>>0>x>>>0|f>>>0>k>>>0;f=fm(-1,2147483647,e?A:x,e?f:k)>>>0>>0;e=ja;if(f&(e|0)<=(g|0)|(e|0)<(g|0)){break b}b=dm(h,g,O,y);e=ja;f=b;b=dm(q,r,l,P);k=f+b|0;f=ja+e|0;n=b>>>0>k>>>0?f+1|0:f;b=dm(h,g,D,T);l=ja;e=b;b=dm(t,E,q,r);t=e+b|0;e=ja+l|0;E=b>>>0>t>>>0?e+1|0:e;l=1;b=0;e=o;o=em(dm(h,g,s,F),ja,q,r);f=e+o|0;e=ja+L|0;e=f>>>0>>0?e+1|0:e;o=j-f|0;e=Q-((f>>>0>j>>>0)+e|0)|0;o=dm(o,e,o,e);s=ja;f=em(dm(h,g,z,G),ja,q,r);j=f+v|0;e=ja+M|0;e=f>>>0>j>>>0?e+1|0:e;f=m-j|0;e=R-((j>>>0>m>>>0)+e|0)|0;m=dm(f,e,f,e);j=m+o|0;e=ja+s|0;e=j>>>0>>0?e+1|0:e;m=j;j=e;g=em(dm(h,g,B,I),ja,q,r);h=g+w|0;e=ja+N|0;e=g>>>0>h>>>0?e+1|0:e;g=p-h|0;e=S-((h>>>0>p>>>0)+e|0)|0;g=dm(g,e,g,e);h=g+m|0;e=ja+j|0;h=dm(h,g>>>0>h>>>0?e+1|0:e,q,r);e=ja;j=e;if(!e&h>>>0<=1){break f}m=h;g=j;while(1){e=b<<1|l>>>31;l=l<<1;b=e;p=!g&m>>>0>7|(g|0)!=0;m=(g&3)<<30|m>>>2;g=g>>>2|0;if(p){continue}break}break e}if((d|0)>(g|0)){b=g<<1}else{if((d|0)<=0){J[a+8>>2]=0;J[a+12>>2]=0;break c}b=(d<<1)-2|0}b=(b<<2)+c|0;J[a+8>>2]=J[b>>2];J[a+12>>2]=J[b+4>>2];break c}b=j;l=h;if(h-1|0){break d}}while(1){e=fm(h,j,l,b);f=b+ja|0;b=e+l|0;f=b>>>0>>0?f+1|0:f;l=(f&1)<<31|b>>>1;b=f>>>1|0;e=dm(l,b,l,b);g=ja;if((j|0)==(g|0)&e>>>0>h>>>0|g>>>0>j>>>0){continue}break}}s=a+16|0;g=(d<<3)+c|0;d=J[g+4>>2];h=dm(l,b,D,T);v=ja;c=em(k-h|0,n-(v+(h>>>0>k>>>0)|0)|0,q,r);e=d-c|0;p=d>>31;j=p-(ja+(c>>>0>d>>>0)|0)|0;m=dm(e,j,e,j);z=ja;g=J[g>>2];e=g>>31;o=e;j=dm(l,b,O,y);w=ja;f=E+w|0;b=j+t|0;f=b>>>0>>0?f+1|0:f;A=m;l=em(b,f,q,r);b=g-l|0;e=e-(ja+(g>>>0>>0)|0)|0;m=dm(b,e,b,e);b=A+m|0;e=ja+z|0;f=b;m=b>>>0>>0?e+1|0:e;e=n+v|0;b=h+k|0;e=b>>>0>>0?e+1|0:e;b=em(b,e,q,r);e=d-b|0;d=p-(ja+(b>>>0>d>>>0)|0)|0;h=dm(e,d,e,d);p=ja;d=em(t-j|0,E-((j>>>0>t>>>0)+w|0)|0,q,r);e=g-d|0;g=o-(ja+(d>>>0>g>>>0)|0)|0;j=dm(e,g,e,g);g=j+h|0;e=ja+p|0;e=g>>>0>>0?e+1|0:e;h:{if((e|0)==(m|0)&g>>>0>f>>>0|e>>>0>m>>>0){H[i+7|0]=1;bd(s,i+7|0);break h}H[i+7|0]=0;bd(s,i+7|0);c=b;l=d}J[a+8>>2]=l;J[a+12>>2]=c}b=1}fa=i+80|0;return b}Xc();C()}function Ah(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{if(J[a+92>>2]==J[a+88>>2]){break e}c=J[a+52>>2];f:{if((c|0)!=J[a+56>>2]){J[c>>2]=b;J[a+52>>2]=c+4;break f}h=J[a+48>>2];g=c-h|0;d=g>>2;f=d+1|0;if(f>>>0>=1073741824){break a}e=g>>>1|0;g=g>>>0>=2147483644?1073741823:f>>>0>>0?e:f;if(g){if(g>>>0>=1073741824){break d}e=ol(g<<2)}else{e=0}f=e+(d<<2)|0;J[f>>2]=b;d=f+4|0;if((c|0)!=(h|0)){while(1){f=f-4|0;c=c-4|0;J[f>>2]=J[c>>2];if((c|0)!=(h|0)){continue}break}}J[a+56>>2]=e+(g<<2);J[a+52>>2]=d;J[a+48>>2]=f;if(!h){break f}gl(h)}J[a+84>>2]=0;c=-1;e=-1;g:{if((b|0)==-1){break g}d=J[a+4>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){c=J[J[d>>2]+(e<<2)>>2]}h:{if((b>>>0)%3|0){l=b-1|0;break h}l=b+2|0;e=-1;if((l|0)==-1){break g}}e=J[J[d>>2]+(l<<2)>>2]}i=e>>>3&536870908;d=J[a+36>>2];h=d+(c>>>3&536870908)|0;g=J[h>>2];f=1<>2]=f|g;f=a+8|0;if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}else{d=-1}Bh(f,c,d);d=J[a+36>>2]}f=d+i|0;d=J[f>>2];c=1<>2]=c|d;d=a+8|0;c=-1;i:{if((b|0)==-1){break i}c=b-1|0;if((b>>>0)%3|0){break i}c=b+2|0}Bh(d,e,c)}c=-1;c=(b|0)!=-1?J[J[J[a+4>>2]>>2]+(b<<2)>>2]:c;f=J[a+36>>2]+(c>>>3&536870908)|0;d=J[f>>2];e=1<>2]=d|e;Bh(a+8|0,c,b)}d=J[a+84>>2];if((d|0)>2){break e}while(1){e=P(d,12)+a|0;b=J[e+52>>2];if((b|0)==J[e+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}b=b-4|0;c=J[b>>2];J[e+52>>2]=b;J[a+84>>2]=d;if((c|0)==-1){break e}f=J[a+24>>2];b=(c>>>0)/3|0;j:{if(J[f+(b>>>3&268435452)>>2]>>>b&1){break j}k:{while(1){k=(c>>>0)/3|0;b=(k>>>3&268435452)+f|0;J[b>>2]=J[b>>2]|1<>2]>>2]+(c<<2)>>2]:d;f=J[a+36>>2]+(d>>>3&536870908)|0;e=J[f>>2];b=1<>2]=b|e;i=J[(J[J[a+16>>2]+96>>2]+P(k,12)|0)+((c>>>0)%3<<2)>>2];l=J[J[a+20>>2]+4>>2];f=J[l+4>>2];t:{if((f|0)!=J[l+8>>2]){J[f>>2]=i;J[l+4>>2]=f+4;break t}j=J[l>>2];h=f-j|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break s}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=ol(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=i;g=b+4|0;if((f|0)!=(j|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(j|0)){continue}break}}J[l+8>>2]=e+(h<<2);J[l+4>>2]=g;J[l>>2]=b;if(!j){break t}gl(j)}j=J[a+12>>2];f=J[j+4>>2];u:{if((f|0)!=J[j+8>>2]){J[f>>2]=c;J[j+4>>2]=f+4;break u}i=J[j>>2];h=f-i|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break r}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=ol(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=c;g=b+4|0;if((f|0)!=(i|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(i|0)){continue}break}}J[j+8>>2]=e+(h<<2);J[j+4>>2]=g;J[j>>2]=b;if(!i){break u}gl(i)}b=J[a+12>>2];J[J[b+12>>2]+(d<<2)>>2]=J[b+24>>2];J[b+24>>2]=J[b+24>>2]+1}if((c|0)==-1){break k}g=J[a+4>>2];f=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){f=J[J[g+12>>2]+(b<<2)>>2]}v:{w:{if((P(k,3)|0)!=(c|0)){d=c-1|0;break w}d=c+2|0;c=-1;if((d|0)==-1){break v}}c=J[J[g+12>>2]+(d<<2)>>2]}d=(c|0)==-1;e=(c>>>0)/3|0;if((f|0)!=-1){b=(f>>>0)/3|0;b=J[J[a+24>>2]+(b>>>3&268435452)>>2]&1<>2]+(b>>>3&536870908)>>2]>>>b&1){break x}k=0;b=J[J[g>>2]+(c<<2)>>2];if(!(J[J[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=J[a+88>>2]+(b<<2)|0;e=J[b>>2];J[b>>2]=e+1;k=(e|0)<=0?2:1}if(J[a+84>>2]>=(k|0)&l){break m}j=P(k,12)+a|0;b=J[j+52>>2];y:{if((b|0)!=J[j+56>>2]){J[b>>2]=c;J[j+52>>2]=b+4;break y}i=J[j+48>>2];h=b-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break c}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=ol(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=c;c=d+4|0;if((b|0)!=(i|0)){while(1){d=d-4|0;b=b-4|0;J[d>>2]=J[b>>2];if((b|0)!=(i|0)){continue}break}}J[j+48>>2]=d;J[j+52>>2]=c;J[j+56>>2]=e+(g<<2);if(!i){break y}gl(i)}if(J[a+84>>2]<=(k|0)){break x}J[a+84>>2]=k}if(l){break k}c=-1;if((f|0)==-1){break n}}c=J[J[J[a+4>>2]>>2]+(f<<2)>>2]}b=0;if(!(J[J[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){b=J[a+88>>2]+(c<<2)|0;c=J[b>>2];J[b>>2]=c+1;b=(c|0)<=0?2:1}if(J[a+84>>2]<(b|0)){break l}c=f}f=J[a+24>>2];continue}break}k=P(b,12)+a|0;c=J[k+52>>2];z:{if((c|0)!=J[k+56>>2]){J[c>>2]=f;J[k+52>>2]=c+4;break z}i=J[k+48>>2];h=c-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break b}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=ol(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=f;f=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[k+48>>2]=d;J[k+52>>2]=f;J[k+56>>2]=e+(g<<2);if(!i){break z}gl(i)}d=J[a+84>>2];if((d|0)<=(b|0)){break j}J[a+84>>2]=b;d=b;break j}d=J[a+84>>2]}if((d|0)<3){continue}break}}return 1}Ya();C()}Ia();C()}Ia();C()}Ia();C()}function cl(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;J[e+12>>2]=a;a:{if(a>>>0<=211){d=J[dl(17792,17984,e+12|0)>>2];break a}if(a>>>0>=4294967292){ca();C()}f=(a>>>0)/210|0;d=P(f,210);J[e+8>>2]=a-d;g=dl(17984,18176,e+8|0)-17984>>2;while(1){d=J[(g<<2)+17984>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0>>0){break a}if((P(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((P(b,c)|0)!=(d|0)){continue}break}break b}b=J[(a<<2)+17792>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((P(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=P(f,210);continue}}fa=e+16|0;return d}function eb(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);f=fa-80|0;fa=f;J[f+56>>2]=0;J[f+60>>2]=0;J[f+48>>2]=0;J[f+52>>2]=0;J[f+64>>2]=1065353216;c=J[a+80>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;m=ol(e);J[f+16>>2]=m;c=e+m|0;J[f+24>>2]=c;ok(m,0,e);J[f+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=dm(J[b+40>>2],J[b+44>>2],n,0);k=c;c=c+e|0;c=c+d|0;e=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);c=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+32>>2]=e;J[f+36>>2]=c;J[f+40>>2]=e;J[f+44>>2]=c;c=0;g=J[f+52>>2];b:{if(!g){break b}d=J[f+48>>2];k=J[f+36>>2]^(J[f+32>>2]^318)+239;e=k&g-1;p=gm(g);c:{if(p>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(g>>>0)|0}r=d;d=e;e=J[r+(d<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(p>>>0>=2){p=J[f+36>>2];l=J[f+32>>2];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((d|0)!=(e|0)){break b}break e}e=J[j+8>>2];f:{if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=(p|0)==J[j+12>>2]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}l=g-1|0;p=J[f+36>>2];g=J[f+32>>2];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((d|0)!=(e&l)){break b}break g}e=J[j+8>>2];if((e|0)!=(g|0)){if((e|0)!=(g|0)){break g}break d}if((p|0)==J[j+12>>2]){break d}}j=J[j>>2];if(j){continue}break}break b}c=j}h:{if(c){J[(n<<2)+m>>2]=J[c+16>>2];break h}J[f+8>>2]=q;c=J[f+36>>2];J[f>>2]=J[f+32>>2];J[f+4>>2]=c;c=0;e=J[f+4>>2]^(J[f>>2]^318)+239;r=f;i:{j:{l=f+48|0;h=J[l+4>>2];if(!h){break j}d=gm(h);k:{if(d>>>0>=2){c=e;if(c>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}if(d>>>0<2){break k}k=J[f+4>>2];j=J[f>>2];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break j}}d=J[g+8>>2];l:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break l}d=(k|0)==J[g+12>>2]}if(!d){continue}break}d=0;break i}c=e&h-1;g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}}j=h-1|0;k=J[f+4>>2];p=J[f>>2];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break j}d=J[g+8>>2];m:{if((d|0)!=(p|0)){d=(d|0)==(p|0);break m}d=(k|0)==J[g+12>>2]}if(!d){continue}break}d=0;break i}g=ol(20);d=J[f+4>>2];J[g+8>>2]=J[f>>2];J[g+12>>2]=d;d=J[f+8>>2];J[g+4>>2]=e;J[g+16>>2]=d;J[g>>2]=0;o=Q(J[l+12>>2]+1>>>0);s=N[l+16>>2];n:{if(o>Q(s*Q(h>>>0))?0:h){break n}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));o:{if(o=Q(0)){k=~~o>>>0;break o}k=0}d=d>>>0>k>>>0?d:k;p:{if((d|0)==1){break p}if(!(d&d-1)){c=d;break p}c=cl(d);h=J[l+4>>2]}q:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break q}k=h>>>0<3;o=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(o=Q(0)){d=~~o>>>0;break r}d=0}s:{t:{if(k){break t}if(gm(h)>>>0>1){break t}d=d>>>0<2?d:1<<32-S(d-1|0);break s}d=cl(d)}c=c>>>0>d>>>0?c:d;if(c>>>0>=h>>>0){break q}}sb(l,c)}h=J[l+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break n}if(e>>>0>>0){c=e;break n}c=(e>>>0)%(h>>>0)|0}e=J[l>>2]+(c<<2)|0;c=J[e>>2];u:{v:{if(!c){c=l+8|0;J[g>>2]=J[c>>2];J[l+8>>2]=g;J[e>>2]=c;c=J[g>>2];if(!c){break u}c=J[c+4>>2];e=h-1|0;w:{if(!(e&h)){c=c&e;break w}if(c>>>0>>0){break w}c=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(c<<2)|0;break v}J[g>>2]=J[c>>2]}J[c>>2]=g}J[l+12>>2]=J[l+12>>2]+1;d=1}H[r+76|0]=d;J[f+72>>2]=g;c=J[a+40>>2];mk(J[J[a>>2]>>2]+P(c,q)|0,f+40|0,c);m=J[f+16>>2];J[m+(n<<2)>>2]=q;q=q+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(q|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;c=0;b=0;if(i-1>>>0>=3){e=i&-4;h=0;while(1){d=b<<2;i=d+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;y:{if(c>>>0>>0){rb(i,j-c|0,2184);j=J[a+80>>2];break y}if(c>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}d=J[i>>2];c=0;b=0;if(j>>>0>=4){e=j&-4;h=0;while(1){n=b<<2;J[n+d>>2]=J[m+n>>2];i=n|4;J[i+d>>2]=J[i+m>>2];i=n|8;J[i+d>>2]=J[i+m>>2];i=n|12;J[i+d>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+d>>2]=J[i+m>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}J[a+80>>2]=q}gl(m)}b=J[f+56>>2];if(b){while(1){a=J[b>>2];gl(b);b=a;if(b){continue}break}}a=J[f+48>>2];J[f+48>>2]=0;if(a){gl(a)}fa=f+80|0;return q}Ia();C()}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=fa-32|0;fa=h;a:{b:{if(!J[J[a+8>>2]+80>>2]){e=1;break b}H[h+31|0]=254;d=J[a+36>>2];if(d){if(!(ka[J[J[a>>2]+40>>2]](a,d)|0)){break b}d=J[a+36>>2];n=h,o=ka[J[J[d>>2]+8>>2]](d)|0,H[n+31|0]=o}d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){Ba(c,J[c+4>>2],h+31|0,h+32|0)}d=J[a+36>>2];c:{if(!d){break c}n=h,o=ka[J[J[d>>2]+36>>2]](d)|0,H[n+16|0]=o;d=J[c+20>>2];if(!!J[c+16>>2]&(d|0)>=0|(d|0)>0){break c}Ba(c,J[c+4>>2],h+16|0,h+17|0)}d=J[a+32>>2];e=J[d+48>>2];f=J[J[d>>2]>>2];g=J[d+80>>2];k=K[d+24|0];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;g=P(g,k);if(g){if(g>>>0>=1073741824){break a}d=g<<2;i=ol(d);ok(i,0,d)}d=e+f|0;f=J[a+36>>2];d:{e:{f:{if(!f){break f}e=0;if(!(ka[J[J[f>>2]+44>>2]](f,d,i,g,k,J[b>>2])|0)){break d}e=J[a+36>>2];if(!e){break f}if(ka[J[J[e>>2]+32>>2]](e)|0){break e}d=J[a+36>>2]?i:d}e=0;f=0;g:{if((g|0)<=0){break g}if((g|0)!=1){m=g&-2;while(1){l=e<<2;j=J[l+d>>2];J[i+l>>2]=(j|0)<0?(j^-1)<<1|1:j<<1;l=l|4;j=J[l+d>>2];J[i+l>>2]=(j|0)<0?(j^-1)<<1|1:j<<1;e=e+2|0;f=f+2|0;if((m|0)!=(f|0)){continue}break}}if(!(g&1)){break g}e=e<<2;d=J[e+d>>2];J[e+i>>2]=(d|0)<0?(d^-1)<<1|1:d<<1}}h:{i:{j:{k:{d=J[a+4>>2];if(!d){break k}j=J[d+48>>2];d=ol(48);J[h>>2]=d;J[h+4>>2]=34;J[h+8>>2]=-2147483600;e=K[1411]|K[1412]<<8;H[d+32|0]=e;H[d+33|0]=e>>>8;e=K[1407]|K[1408]<<8|(K[1409]<<16|K[1410]<<24);f=K[1403]|K[1404]<<8|(K[1405]<<16|K[1406]<<24);H[d+24|0]=f;H[d+25|0]=f>>>8;H[d+26|0]=f>>>16;H[d+27|0]=f>>>24;H[d+28|0]=e;H[d+29|0]=e>>>8;H[d+30|0]=e>>>16;H[d+31|0]=e>>>24;e=K[1399]|K[1400]<<8|(K[1401]<<16|K[1402]<<24);f=K[1395]|K[1396]<<8|(K[1397]<<16|K[1398]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=e;H[d+21|0]=e>>>8;H[d+22|0]=e>>>16;H[d+23|0]=e>>>24;e=K[1391]|K[1392]<<8|(K[1393]<<16|K[1394]<<24);f=K[1387]|K[1388]<<8|(K[1389]<<16|K[1390]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1383]|K[1384]<<8|(K[1385]<<16|K[1386]<<24);f=K[1379]|K[1380]<<8|(K[1381]<<16|K[1382]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;H[d+34|0]=0;d=si(j,h,1);if(H[h+11|0]<0){gl(J[h>>2])}if(d){break k}if(!g){break j}d=0;e=0;b=0;if(g>>>0>=4){j=g&-4;f=0;while(1){k=e<<2;b=J[(k|12)+i>>2]|(J[(k|8)+i>>2]|(J[(k|4)+i>>2]|(J[i+k>>2]|b)));e=e+4|0;f=f+4|0;if((j|0)!=(f|0)){continue}break}}f=g&3;if(f){while(1){b=J[(e<<2)+i>>2]|b;e=e+1|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}if(!b){break j}d=4-(S(b)>>>3|0)|0;break i}H[h|0]=1;d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){Ba(c,J[c+4>>2],h,h+1|0)}J[h>>2]=h|4;J[h+4>>2]=0;J[h+8>>2]=0;d=J[a+4>>2];if(d){j=10-Pb(J[d+48>>2])|0;e=fa-16|0;fa=e;l:{if(j>>>0>10){break l}d=ol(48);J[e>>2]=d;J[e+4>>2]=33;J[e+8>>2]=-2147483600;H[d+32|0]=K[1470];g=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);f=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[d+24|0]=f;H[d+25|0]=f>>>8;H[d+26|0]=f>>>16;H[d+27|0]=f>>>24;H[d+28|0]=g;H[d+29|0]=g>>>8;H[d+30|0]=g>>>16;H[d+31|0]=g>>>24;g=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);f=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=g;H[d+21|0]=g>>>8;H[d+22|0]=g>>>16;H[d+23|0]=g>>>24;g=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);f=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=g;H[d+13|0]=g>>>8;H[d+14|0]=g>>>16;H[d+15|0]=g>>>24;g=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);f=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=g;H[d+5|0]=g>>>8;H[d+6|0]=g>>>16;H[d+7|0]=g>>>24;H[d+33|0]=0;ni(h,e,j);if(H[e+11|0]>=0){break l}gl(J[e>>2])}fa=e+16|0}b=kf(i,P(k,J[b+4>>2]-J[b>>2]>>2),k,h,c);Mc(h,J[h+4>>2]);e=0;if(b){break h}break d}d=1}H[h|0]=0;b=J[c+20>>2];m:{if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){break m}e=h+1|0;Ba(c,J[c+4>>2],h,e);f=J[c+16>>2];b=J[c+20>>2];H[h|0]=d;if(!!f&(b|0)>=0|(b|0)>0){break m}Ba(c,J[c+4>>2],h,e)}n:{if((d|0)!=J[3712]){if(!g){break h}e=J[c+20>>2];f=e;b=J[c+16>>2];if(!!b&(e|0)>=0|(e|0)>0){break h}e=0;break n}b=J[c+20>>2];if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){break h}Ba(c,J[c+4>>2],i,(g<<2)+i|0);break h}while(1){if(!b&(f|0)<=0|(f|0)<0){b=(e<<2)+i|0;Ba(c,J[c+4>>2],b,b+d|0)}e=e+1|0;if((g|0)==(e|0)){break h}b=J[c+16>>2];f=J[c+20>>2];continue}}e=1;a=J[a+36>>2];if(!a){break d}ka[J[J[a>>2]+40>>2]](a,c)|0}if(!i){break b}gl(i)}fa=h+32|0;return e|0}Ia();C()}function mb(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);f=fa+-64|0;fa=f;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;J[f+48>>2]=1065353216;c=J[a+80>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;m=ol(e);J[f+8>>2]=m;c=e+m|0;J[f+16>>2]=c;ok(m,0,e);J[f+12>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=dm(J[b+40>>2],J[b+44>>2],n,0);k=c;c=c+e|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+24>>2]=c;J[f+28>>2]=c;c=0;g=J[f+36>>2];b:{if(!g){break b}d=J[f+32>>2];k=L[f+26>>1]^(L[f+24>>1]^318)+239;e=k&g+131071;p=gm(g);c:{if(p>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(g>>>0)|0}r=d;d=e;e=J[r+(d<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(p>>>0>=2){l=L[f+24>>1];p=L[f+26>>1];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((d|0)!=(e|0)){break b}break e}e=L[j+8>>1];f:{if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=(p|0)==L[j+10>>1]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}l=g-1|0;g=L[f+24>>1];p=L[f+26>>1];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((d|0)!=(e&l)){break b}break g}e=L[j+8>>1];if((e|0)!=(g|0)){if((e|0)!=(g|0)){break g}break d}if((p|0)==L[j+10>>1]){break d}}j=J[j>>2];if(j){continue}break}break b}c=j}h:{if(c){J[(n<<2)+m>>2]=J[c+12>>2];break h}J[f+4>>2]=q;J[f>>2]=J[f+24>>2];c=0;e=L[f+2>>1]^(L[f>>1]^318)+239;r=f;i:{j:{l=f+32|0;h=J[l+4>>2];if(!h){break j}d=gm(h);k:{if(d>>>0>=2){c=e;if(c>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}if(d>>>0<2){break k}j=L[f>>1];k=L[f+2>>1];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break j}}d=L[g+8>>1];l:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break l}d=(k|0)==L[g+10>>1]}if(!d){continue}break}d=0;break i}c=e&h+131071;g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}}j=h-1|0;p=L[f>>1];k=L[f+2>>1];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break j}d=L[g+8>>1];m:{if((d|0)!=(p|0)){d=(d|0)==(p|0);break m}d=(k|0)==L[g+10>>1]}if(!d){continue}break}d=0;break i}g=ol(16);J[g+8>>2]=J[f>>2];d=J[f+4>>2];J[g+4>>2]=e;J[g+12>>2]=d;J[g>>2]=0;o=Q(J[l+12>>2]+1>>>0);s=N[l+16>>2];n:{if(o>Q(s*Q(h>>>0))?0:h){break n}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));o:{if(o=Q(0)){k=~~o>>>0;break o}k=0}d=d>>>0>k>>>0?d:k;p:{if((d|0)==1){break p}if(!(d&d-1)){c=d;break p}c=cl(d);h=J[l+4>>2]}q:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break q}k=h>>>0<3;o=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(o=Q(0)){d=~~o>>>0;break r}d=0}s:{t:{if(k){break t}if(gm(h)>>>0>1){break t}d=d>>>0<2?d:1<<32-S(d-1|0);break s}d=cl(d)}c=c>>>0>d>>>0?c:d;if(c>>>0>=h>>>0){break q}}sb(l,c)}h=J[l+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break n}if(e>>>0>>0){c=e;break n}c=(e>>>0)%(h>>>0)|0}e=J[l>>2]+(c<<2)|0;c=J[e>>2];u:{v:{if(!c){c=l+8|0;J[g>>2]=J[c>>2];J[l+8>>2]=g;J[e>>2]=c;c=J[g>>2];if(!c){break u}c=J[c+4>>2];e=h-1|0;w:{if(!(e&h)){c=c&e;break w}if(c>>>0>>0){break w}c=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(c<<2)|0;break v}J[g>>2]=J[c>>2]}J[c>>2]=g}J[l+12>>2]=J[l+12>>2]+1;d=1}H[r+60|0]=d;J[f+56>>2]=g;c=J[a+40>>2];mk(J[J[a>>2]>>2]+P(c,q)|0,f+28|0,c);m=J[f+8>>2];J[m+(n<<2)>>2]=q;q=q+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(q|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;c=0;b=0;if(i-1>>>0>=3){e=i&-4;h=0;while(1){d=b<<2;i=d+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;y:{if(c>>>0>>0){rb(i,j-c|0,2184);j=J[a+80>>2];break y}if(c>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}d=J[i>>2];c=0;b=0;if(j>>>0>=4){e=j&-4;h=0;while(1){n=b<<2;J[n+d>>2]=J[m+n>>2];i=n|4;J[i+d>>2]=J[i+m>>2];i=n|8;J[i+d>>2]=J[i+m>>2];i=n|12;J[i+d>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+d>>2]=J[i+m>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}J[a+80>>2]=q}gl(m)}b=J[f+40>>2];if(b){while(1){a=J[b>>2];gl(b);b=a;if(b){continue}break}}a=J[f+32>>2];J[f+32>>2]=0;if(a){gl(a)}fa=f- -64|0;return q}Ia();C()}function ib(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);f=fa+-64|0;fa=f;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;J[f+48>>2]=1065353216;c=J[a+80>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;m=ol(e);J[f+8>>2]=m;c=e+m|0;J[f+16>>2]=c;ok(m,0,e);J[f+12>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=dm(J[b+40>>2],J[b+44>>2],n,0);k=c;c=c+e|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8;I[f+24>>1]=c;I[f+30>>1]=c;c=0;g=J[f+36>>2];b:{if(!g){break b}d=J[f+32>>2];k=K[f+25|0]^(K[f+24|0]^318)+239;e=k&g+1023;p=gm(g);c:{if(p>>>0<=1){break c}e=k;if(e>>>0>>0){break c}e=(k>>>0)%(g>>>0)|0}r=d;d=e;e=J[r+(d<<2)>>2];if(!e){break b}j=J[e>>2];if(!j){break b}d:{if(p>>>0>=2){l=K[f+24|0];p=K[f+25|0];while(1){e=J[j+4>>2];e:{if((e|0)!=(k|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((d|0)!=(e|0)){break b}break e}e=K[j+8|0];f:{if((e|0)!=(l|0)){e=(e|0)==(l|0);break f}e=(p|0)==K[j+9|0]}if(e){break d}}j=J[j>>2];if(j){continue}break}break b}l=g-1|0;g=K[f+24|0];p=K[f+25|0];while(1){e=J[j+4>>2];g:{if((e|0)!=(k|0)){if((d|0)!=(e&l)){break b}break g}e=K[j+8|0];if((e|0)!=(g|0)){if((e|0)!=(g|0)){break g}break d}if((p|0)==K[j+9|0]){break d}}j=J[j>>2];if(j){continue}break}break b}c=j}h:{if(c){J[(n<<2)+m>>2]=J[c+12>>2];break h}J[f+4>>2]=q;I[f>>1]=L[f+24>>1];c=0;e=K[f+1|0]^(K[f|0]^318)+239;r=f;i:{j:{l=f+32|0;h=J[l+4>>2];if(!h){break j}d=gm(h);k:{if(d>>>0>=2){c=e;if(c>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}if(d>>>0<2){break k}j=K[f|0];k=K[f+1|0];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break j}}d=K[g+8|0];l:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break l}d=(k|0)==K[g+9|0]}if(!d){continue}break}d=0;break i}c=e&h+1023;g=J[J[l>>2]+(c<<2)>>2];if(!g){break j}}j=h-1|0;p=K[f|0];k=K[f+1|0];while(1){g=J[g>>2];if(!g){break j}d=J[g+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break j}d=K[g+8|0];m:{if((d|0)!=(p|0)){d=(d|0)==(p|0);break m}d=(k|0)==K[g+9|0]}if(!d){continue}break}d=0;break i}g=ol(16);I[g+8>>1]=L[f>>1];d=J[f+4>>2];J[g+4>>2]=e;J[g+12>>2]=d;J[g>>2]=0;o=Q(J[l+12>>2]+1>>>0);s=N[l+16>>2];n:{if(o>Q(s*Q(h>>>0))?0:h){break n}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));o:{if(o=Q(0)){k=~~o>>>0;break o}k=0}d=d>>>0>k>>>0?d:k;p:{if((d|0)==1){break p}if(!(d&d-1)){c=d;break p}c=cl(d);h=J[l+4>>2]}q:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break q}k=h>>>0<3;o=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));r:{if(o=Q(0)){d=~~o>>>0;break r}d=0}s:{t:{if(k){break t}if(gm(h)>>>0>1){break t}d=d>>>0<2?d:1<<32-S(d-1|0);break s}d=cl(d)}c=c>>>0>d>>>0?c:d;if(c>>>0>=h>>>0){break q}}sb(l,c)}h=J[l+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break n}if(e>>>0>>0){c=e;break n}c=(e>>>0)%(h>>>0)|0}e=J[l>>2]+(c<<2)|0;c=J[e>>2];u:{v:{if(!c){c=l+8|0;J[g>>2]=J[c>>2];J[l+8>>2]=g;J[e>>2]=c;c=J[g>>2];if(!c){break u}c=J[c+4>>2];e=h-1|0;w:{if(!(e&h)){c=c&e;break w}if(c>>>0>>0){break w}c=(c>>>0)%(h>>>0)|0}c=J[l>>2]+(c<<2)|0;break v}J[g>>2]=J[c>>2]}J[c>>2]=g}J[l+12>>2]=J[l+12>>2]+1;d=1}H[r+60|0]=d;J[f+56>>2]=g;c=J[a+40>>2];mk(J[J[a>>2]>>2]+P(c,q)|0,f+30|0,c);m=J[f+8>>2];J[m+(n<<2)>>2]=q;q=q+1|0}n=n+1|0;i=n?i:i+1|0;j=J[a+80>>2];if(!i&n>>>0>>0){continue}break}if((j|0)!=(q|0)){x:{if(!K[a+84|0]){b=J[a+72>>2];k=J[a+68>>2];if((b|0)==(k|0)){break x}b=b-k>>2;i=b>>>0<=1?1:b;n=i&3;c=0;b=0;if(i-1>>>0>=3){e=i&-4;h=0;while(1){d=b<<2;i=d+k|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];i=k+(d|12)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}if(!n){break x}while(1){i=k+(b<<2)|0;J[i>>2]=J[(J[i>>2]<<2)+m>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}break x}H[a+84|0]=0;i=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;y:{if(c>>>0>>0){rb(i,j-c|0,2184);j=J[a+80>>2];break y}if(c>>>0<=j>>>0){break y}J[a+72>>2]=b+(j<<2)}if(!j){break x}d=J[i>>2];c=0;b=0;if(j>>>0>=4){e=j&-4;h=0;while(1){n=b<<2;J[n+d>>2]=J[m+n>>2];i=n|4;J[i+d>>2]=J[i+m>>2];i=n|8;J[i+d>>2]=J[i+m>>2];i=n|12;J[i+d>>2]=J[i+m>>2];b=b+4|0;h=h+4|0;if((e|0)!=(h|0)){continue}break}}e=j&3;if(!e){break x}while(1){i=b<<2;J[i+d>>2]=J[i+m>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}J[a+80>>2]=q}gl(m)}b=J[f+40>>2];if(b){while(1){a=J[b>>2];gl(b);b=a;if(b){continue}break}}a=J[f+32>>2];J[f+32>>2]=0;if(a){gl(a)}fa=f- -64|0;return q}Ia();C()}function _k(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=fa-96|0;fa=k;u=i&65535;o=(e^i)&-2147483648;q=e&65535;z=q;Q=i>>>16&32767;R=e>>>16&32767;a:{b:{if(Q-32767>>>0>4294934529&R-32767>>>0>=4294934530){break b}s=e&2147483647;r=s;j=d;if(!(!d&(r|0)==2147418112?!(b|c):r>>>0<2147418112)){m=d;o=e|32768;break a}s=i&2147483647;p=s;e=h;if(!(!e&(p|0)==2147418112?!(f|g):p>>>0<2147418112)){m=h;o=i|32768;b=f;c=g;break a}if(!(b|j|(r^2147418112|c))){if(!(e|f|(g|p))){o=2147450880;b=0;c=0;break a}o=o|2147418112;b=0;c=0;break a}if(!(e|f|(p^2147418112|g))){e=b|j;d=c|r;b=0;c=0;if(!(d|e)){o=2147450880;break a}o=o|2147418112;break a}if(!(b|j|(c|r))){b=0;c=0;break a}if(!(e|f|(g|p))){b=0;c=0;break a}if((r|0)==65535|r>>>0<65535){j=!(d|q);i=j?b:d;s=j<<6;e=S(i)+32|0;i=S(j?c:q);i=s+((i|0)==32?e:i)|0;Sk(k+80|0,b,c,d,q,i-15|0);t=16-i|0;d=J[k+88>>2];z=J[k+92>>2];c=J[k+84>>2];b=J[k+80>>2]}if(p>>>0>65535){break b}i=!(h|u);e=i?f:h;q=i<<6;j=S(e)+32|0;e=S(i?g:u);e=q+((e|0)==32?j:e)|0;Sk(k- -64|0,f,g,h,u,e-15|0);t=(t-e|0)+16|0;h=J[k+72>>2];u=J[k+76>>2];f=J[k+64>>2];g=J[k+68>>2]}e=f;f=g<<15|f>>>17;i=e<<15;e=0;v=i&-32768;K=c;s=dm(v,e,c,0);e=ja;y=e;L=f;r=b;b=dm(f,0,b,0);i=b+s|0;f=ja+e|0;c=b>>>0>i>>>0?f+1|0:f;j=0;b=dm(r,l,v,l);p=j+b|0;f=i;e=f+ja|0;e=b>>>0>p>>>0?e+1|0:e;q=e;M=(f|0)==(e|0)&j>>>0>p>>>0|e>>>0>>0;N=d;w=dm(v,l,d,0);O=ja;b=dm(K,l,L,l);x=b+w|0;j=ja+O|0;j=b>>>0>x>>>0?j+1|0:j;b=u<<15|h>>>17;A=h<<15|g>>>17;d=dm(A,0,r,l);B=d+x|0;f=ja+j|0;f=d>>>0>B>>>0?f+1|0:f;C=f;d=(c|0)==(y|0)&i>>>0>>0|c>>>0>>0;D=c+B|0;f=d+f|0;f=c>>>0>D>>>0?f+1|0:f;u=f;g=D;c=f;E=z|65536;z=dm(v,l,E,n);P=ja;d=dm(N,m,L,l);F=d+z|0;e=ja+P|0;e=d>>>0>F>>>0?e+1|0:e;i=e;G=b|-2147483648;b=dm(G,0,r,l);H=b+F|0;f=ja+e|0;f=b>>>0>H>>>0?f+1|0:f;b=dm(A,m,K,l);y=b+H|0;I=f;f=f+ja|0;s=b>>>0>y>>>0?f+1|0:f;b=0;r=b+g|0;e=c+y|0;v=b>>>0>r>>>0?e+1|0:e;f=v;b=r+M|0;c=b>>>0>>0?f+1|0:f;t=((R+Q|0)+t|0)-16383|0;d=dm(G,m,K,l);h=ja;e=dm(E,m,L,l);g=e+d|0;f=ja+h|0;f=e>>>0>g>>>0?f+1|0:f;n=(h|0)==(f|0)&d>>>0>g>>>0|f>>>0>>0;h=f;e=dm(A,m,N,m);d=e+g|0;f=ja+f|0;f=d>>>0>>0?f+1|0:f;e=f;g=(f|0)==(h|0)&d>>>0>>0|f>>>0>>0;f=0;h=g;g=g+n|0;f=h>>>0>g>>>0?1:f;h=g;g=dm(G,m,E,m);h=h+g|0;f=ja+f|0;M=h;g=g>>>0>h>>>0?f+1|0:f;h=d;l=e;e=(j|0)==(O|0)&w>>>0>x>>>0|j>>>0>>0;f=0;j=(j|0)==(C|0)&x>>>0>B>>>0|j>>>0>C>>>0;n=j;j=e+j|0;e=(n>>>0>j>>>0?1:f)+l|0;f=g;d=d+j|0;e=d>>>0>>0?e+1|0:e;n=e;w=d;d=(e|0)==(l|0)&d>>>0>>0|e>>>0>>0;e=d;d=d+M|0;f=e>>>0>d>>>0?f+1|0:f;j=d;g=f;e=dm(A,m,E,m);l=ja;d=dm(G,m,N,m);h=d+e|0;f=ja+l|0;f=d>>>0>h>>>0?f+1|0:f;d=f;f=(l|0)==(f|0)&e>>>0>h>>>0|f>>>0>>0;x=d+j|0;e=f+g|0;e=d>>>0>x>>>0?e+1|0:e;l=x;g=e;e=0;d=e+w|0;f=h+n|0;f=d>>>0>>0?f+1|0:f;e=f;h=(n|0)==(f|0)&d>>>0>>0|f>>>0>>0;f=g;g=h+l|0;f=g>>>0>>0?f+1|0:f;w=g;g=f;h=d;j=e;e=(s|0)==(I|0)&y>>>0>>0|s>>>0>>0;d=(i|0)==(P|0)&z>>>0>F>>>0|i>>>0

>>0;i=(i|0)==(I|0)&F>>>0>H>>>0|i>>>0>I>>>0;d=d+i|0;d=d+e|0;n=s;i=n+h|0;e=d+j|0;f=g;d=i;e=d>>>0>>0?e+1|0:e;h=(e|0)==(j|0)&h>>>0>d>>>0|e>>>0>>0;g=h+w|0;f=h>>>0>g>>>0?f+1|0:f;j=g;g=f;h=d;f=0;i=e;n=(u|0)==(v|0)&r>>>0>>0|u>>>0>v>>>0;l=n;n=n+((u|0)==(C|0)&B>>>0>D>>>0|u>>>0>>0)|0;e=e+(l>>>0>n>>>0?1:f)|0;f=g;d=d+n|0;e=d>>>0>>0?e+1|0:e;h=(e|0)==(i|0)&d>>>0>>0|e>>>0>>0;g=h;h=h+j|0;f=g>>>0>h>>>0?f+1|0:f;i=f;c:{if(f&65536){t=t+1|0;break c}j=q>>>31|0;g=0;f=i<<1|h>>>31;h=h<<1|e>>>31;i=f;f=e<<1|d>>>31;d=d<<1|c>>>31;e=f;f=q<<1|p>>>31;p=p<<1;q=f;f=c<<1|b>>>31;b=b<<1|j;c=f|g}if((t|0)>=32767){o=o|2147418112;b=0;c=0;break a}d:{if((t|0)<=0){g=1-t|0;if(g>>>0<=127){f=t+127|0;Sk(k+48|0,p,q,b,c,f);Sk(k+32|0,d,e,h,i,f);Zk(k+16|0,p,q,b,c,g);Zk(k,d,e,h,i,g);p=J[k+32>>2]|J[k+16>>2]|(J[k+48>>2]|J[k+56>>2]|(J[k+52>>2]|J[k+60>>2]))!=0;q=J[k+36>>2]|J[k+20>>2];b=J[k+40>>2]|J[k+24>>2];c=J[k+44>>2]|J[k+28>>2];d=J[k>>2];e=J[k+4>>2];g=J[k+8>>2];f=J[k+12>>2];break d}b=0;c=0;break a}g=h;f=i&65535|t<<16}m=g|m;o=f|o;if(!(!b&(c|0)==-2147483648?!(p|q):(c|0)>0|(c|0)>=0)){b=d+1|0;c=b?e:e+1|0;d=(e|0)==(c|0)&b>>>0>>0|c>>>0>>0;e=o;m=d+m|0;o=m>>>0>>0?e+1|0:e;break a}if(b|p|(c^-2147483648|q)){b=d;c=e;break a}j=o;f=e;b=d&1;c=b;b=b+d|0;c=c>>>0>b>>>0?f+1|0:f;d=(f|0)==(c|0)&b>>>0>>0|c>>>0>>0;m=d+m|0;o=d>>>0>m>>>0?j+1|0:j}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=m;J[a+12>>2]=o;fa=k+96|0}function bi(a){a=a|0;var 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,q=0,r=0;o=fa-16|0;fa=o;a:{if(!(ka[J[J[a>>2]+32>>2]](a)|0)){break a}e=J[a+44>>2];c=J[a+12>>2];b=J[a+8>>2];H[o+15|0]=c-b>>>2;d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){Ba(e,J[e+4>>2],o+15|0,o+16|0);c=J[a+12>>2];b=J[a+8>>2]}if((b|0)!=(c|0)){while(1){e=J[b>>2];if(!(ka[J[J[e>>2]+8>>2]](e,a,J[a+4>>2])|0)){break a}b=b+4|0;if((c|0)!=(b|0)){continue}break}}f=fa-48|0;fa=f;e=a;q=a+32|0;g=J[a+12>>2];a=J[a+8>>2];d=g-a|0;c=d>>2;h=J[e+32>>2];b=J[e+36>>2]-h>>2;b:{if(c>>>0>b>>>0){La(q,c-b|0);g=J[e+12>>2];a=J[e+8>>2];d=g-a|0;c=d>>2;break b}if(b>>>0<=c>>>0){break b}J[e+36>>2]=h+(c<<2)}J[f+40>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;b=a;c:{d:{if((a|0)!=(g|0)){if((d|0)<0){break d}a=(c-1>>>5|0)+1|0;b=ol(a<<2);J[f+40>>2]=a;J[f+36>>2]=0;J[f+32>>2]=b;ci(f+32|0,c);b=J[e+12>>2];a=J[e+8>>2]}e:{while(1){f:{c=b-a>>2;if(k>>>0>>0){g=(a|0)!=(b|0);m=0;b=a;d=0;if(!g){break f}while(1){i=J[f+32>>2];n=d>>>5<<2;h=J[i+n>>2];p=1<>2];c=J[g+4>>2];if((c|0)!=J[g+8>>2]){while(1){a=0;c=J[(b<<2)+c>>2];h:{if((ka[J[J[g>>2]+24>>2]](g,c)|0)<=0){break h}while(1){i:{g=J[l+J[e+8>>2]>>2];g=ka[J[J[g>>2]+28>>2]](g,c,a)|0;if((g|0)==(d|0)){break i}g=J[J[e+20>>2]+(g<<2)>>2];if(J[J[f+32>>2]+(g>>>3&536870908)>>2]>>>g&1){break i}j=0;break h}g=J[l+J[e+8>>2]>>2];a=a+1|0;if((ka[J[J[g>>2]+24>>2]](g,c)|0)>(a|0)){continue}break}}a=J[e+8>>2];g=J[l+a>>2];c=J[g+4>>2];b=b+1|0;if(b>>>0>2]-c>>2>>>0){continue}break}if(!j){break g}i=J[f+32>>2];h=J[n+i>>2]}J[J[q>>2]+(k<<2)>>2]=d;J[i+n>>2]=h|p;m=1;k=k+1|0}b=J[e+12>>2];c=b-a>>2;d=d+1|0;if(c>>>0>d>>>0){continue}break}break f}m=0;J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;d=J[e+4>>2];c=J[d+12>>2];d=J[d+8>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;j:{k:{l:{if((c|0)!=(d|0)){a=c-d|0;if((a|0)<0){break l}a=a>>2;b=(a-1>>>5|0)+1|0;c=ol(b<<2);J[f+8>>2]=b;J[f+4>>2]=0;J[f>>2]=c;ci(f,a);b=J[e+12>>2];a=J[e+8>>2]}m:{if((a|0)==(b|0)){b=1;break m}while(1){g=J[J[q>>2]+(m<<2)>>2]<<2;b=J[g+a>>2];b=J[b+8>>2]-J[b+4>>2]|0;n:{if((b|0)<8){break n}c=b>>2;b=J[f+16>>2];a=J[f+20>>2]-b>>2;o:{if(c>>>0>a>>>0){La(f+16|0,c-a|0);break o}if(a>>>0<=c>>>0){break o}J[f+20>>2]=b+(c<<2)}i=(c|0)<=1?1:c;h=0;p:{while(1){if((c|0)<=(h|0)){break p}b=0;d=J[f>>2];j=0;while(1){p=1<>>5<<2;q:{if(p&J[n+d>>2]){break q}a=0;d=J[g+J[e+8>>2]>>2];k=J[J[d+4>>2]+(b<<2)>>2];if((ka[J[J[d>>2]+24>>2]](d,k)|0)>0){while(1){d=J[g+J[e+8>>2]>>2];l=ka[J[J[d>>2]+28>>2]](d,k,a)|0;d=J[f>>2];if(!(J[d+(l>>>3&536870908)>>2]>>>l&1)){break q}d=J[g+J[e+8>>2]>>2];a=a+1|0;if((ka[J[J[d>>2]+24>>2]](d,k)|0)>(a|0)){continue}break}}J[J[f+16>>2]+(h<<2)>>2]=b;d=J[f>>2];a=n+d|0;J[a>>2]=p|J[a>>2];j=1;h=h+1|0}b=b+1|0;if((i|0)!=(b|0)){continue}break}if((c|0)<=(h|0)|j){continue}break}b=0;break m}a=J[e+8>>2];b=J[g+a>>2];d=J[b+4>>2];J[b+8>>2]=d;J[b+20>>2]=J[b+16>>2];g=J[f+16>>2];l=J[f+20>>2];if((g|0)==(l|0)){break n}k=b+16|0;c=d;while(1){a=J[g>>2];r:{if(J[b+12>>2]!=(c|0)){J[c>>2]=a;J[b+8>>2]=c+4;break r}c=c-d|0;i=c>>2;h=i+1|0;if(h>>>0>=1073741824){break k}j=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?j:h;if(h){if(h>>>0>=1073741824){break j}j=ol(h<<2)}else{j=0}i=j+(i<<2)|0;J[i>>2]=a;c=nk(j,d,c);J[b+12>>2]=c+(h<<2);J[b+8>>2]=i+4;J[b+4>>2]=c;if(!d){break r}gl(d)}c=J[b+16>>2];d=J[b+20>>2]-c>>2;s:{if((d|0)>(a|0)){break s}J[f+44>>2]=-1;h=a+1|0;if(h>>>0>d>>>0){vb(k,h-d|0,f+44|0);c=J[k>>2];break s}if(d>>>0<=h>>>0){break s}J[b+20>>2]=(h<<2)+c}a=(a<<2)+c|0;c=J[b+8>>2];d=J[b+4>>2];J[a>>2]=(c-d>>2)-1;g=g+4|0;if((l|0)!=(g|0)){continue}break}a=J[e+8>>2]}b=1;m=m+1|0;if(m>>>0>2]-a>>2>>>0){continue}break}}a=J[f>>2];if(a){gl(a)}a=J[f+16>>2];if(!a){break e}J[f+20>>2]=a;gl(a);break e}Ia();C()}Ia();C()}Ya();C()}if(m&1|c>>>0<=k>>>0){continue}break}b=0}a=J[f+32>>2];if(a){gl(a)}fa=f+48|0;break c}Ia();C()}if(!b){break a}b=J[e+32>>2];a=J[e+36>>2];t:{if((b|0)==(a|0)){break t}while(1){if(!(ka[J[J[e>>2]+40>>2]](e,J[b>>2])|0)){break a}b=b+4|0;if((a|0)!=(b|0)){continue}break}b=J[e+32>>2];a=J[e+36>>2];if((b|0)==(a|0)){break t}while(1){c=J[J[e+8>>2]+(J[b>>2]<<2)>>2];if(!(ka[J[J[c>>2]+12>>2]](c,J[e+44>>2])|0)){break a}b=b+4|0;if((a|0)!=(b|0)){continue}break}}r=ka[J[J[e>>2]+44>>2]](e)|0}fa=o+16|0;return r|0}function Uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=fa-16|0;fa=j;c=J[b+56>>2];f=J[c+100>>2];e=J[c+96>>2];d=(f-e|0)/12|0;yb(d,J[b+44>>2]);yb(J[J[b+56>>2]+80>>2],J[b+44>>2]);k=J[b+48>>2];c=ol(32);J[j>>2]=c;J[j+4>>2]=21;J[j+8>>2]=-2147483616;g=K[1149]|K[1150]<<8|(K[1151]<<16|K[1152]<<24);i=K[1145]|K[1146]<<8|(K[1147]<<16|K[1148]<<24);H[c+13|0]=i;H[c+14|0]=i>>>8;H[c+15|0]=i>>>16;H[c+16|0]=i>>>24;H[c+17|0]=g;H[c+18|0]=g>>>8;H[c+19|0]=g>>>16;H[c+20|0]=g>>>24;g=K[1144]|K[1145]<<8|(K[1146]<<16|K[1147]<<24);i=K[1140]|K[1141]<<8|(K[1142]<<16|K[1143]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=g;H[c+13|0]=g>>>8;H[c+14|0]=g>>>16;H[c+15|0]=g>>>24;g=K[1136]|K[1137]<<8|(K[1138]<<16|K[1139]<<24);i=K[1132]|K[1133]<<8|(K[1134]<<16|K[1135]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=g;H[c+5|0]=g>>>8;H[c+6|0]=g>>>16;H[c+7|0]=g>>>24;H[c+21|0]=0;g=si(k,j,0);if(H[j+11|0]<0){gl(J[j>>2])}c=J[b+44>>2];a:{if(g){H[j|0]=0;d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){Ba(c,J[c+4>>2],j,j+1|0)}e=0;c=0;g=fa-16|0;fa=g;J[g>>2]=0;J[g+4>>2]=0;d=J[b+56>>2];f=J[d+100>>2];d=J[d+96>>2];if((f|0)!=(d|0)){c=(f-d|0)/12|0;p=c>>>0<=1?1:c;c=0;d=J[g>>2];b:{c:{while(1){d:{i=J[J[b+56>>2]+96>>2]+P(n,12)|0;l=J[i>>2];f=l-m|0;k=f>>31;k=(f^k)-k<<1|f>>>31;e:{if((e|0)!=(h|0)){J[e>>2]=k;e=e+4|0;J[g+4>>2]=e;break e}f=e-c|0;m=f>>2;h=m+1|0;if(h>>>0>=1073741824){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>=1073741824){break c}d=ol(h<<2)}else{d=0}e=d+(m<<2)|0;J[e>>2]=k;f=nk(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){gl(c)}c=f}o=J[i+4>>2];f=o-l|0;k=f>>31;k=(f^k)-k<<1|f>>>31;f:{if((e|0)!=(h|0)){J[e>>2]=k;e=e+4|0;J[g+4>>2]=e;break f}f=e-c|0;l=f>>2;h=l+1|0;if(h>>>0>1073741823){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>1073741823){break c}d=ol(h<<2)}else{d=0}e=d+(l<<2)|0;J[e>>2]=k;f=nk(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){gl(c)}c=f}m=J[i+8>>2];f=m-o|0;i=f>>31;i=(f^i)-i<<1|f>>>31;g:{if((e|0)!=(h|0)){J[e>>2]=i;e=e+4|0;J[g+4>>2]=e;break g}f=e-c|0;k=f>>2;h=k+1|0;if(h>>>0>1073741823){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>1073741823){break c}d=ol(h<<2)}else{d=0}e=d+(k<<2)|0;J[e>>2]=i;f=nk(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){gl(c)}c=f}n=n+1|0;if((p|0)!=(n|0)){continue}break b}break}J[g+8>>2]=e;J[g>>2]=d;Ia();C()}J[g>>2]=d;Ya();C()}J[g>>2]=d}kf(c,e-c>>2,1,0,J[b+44>>2]);if(c){gl(c)}fa=g+16|0;break a}H[j|0]=1;g=J[c+20>>2];if(!J[c+16>>2]&(g|0)<=0|(g|0)<0){Ba(c,J[c+4>>2],j,j+1|0)}c=J[J[b+56>>2]+80>>2];if(c>>>0<=255){if((f|0)==(e|0)){break a}h=d>>>0<=1?1:d;f=j+1|0;c=0;while(1){d=J[b+44>>2];e=J[J[b+56>>2]+96>>2]+P(c,12)|0;H[j|0]=J[e>>2];g=J[d+20>>2];h:{if(!!J[d+16>>2]&(g|0)>=0|(g|0)>0){break h}Ba(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];H[j|0]=J[e+4>>2];if(!!i&(g|0)>=0|(g|0)>0){break h}Ba(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];H[j|0]=J[e+8>>2];if(!!i&(g|0)>=0|(g|0)>0){break h}Ba(d,J[d+4>>2],j,f)}c=c+1|0;if((h|0)!=(c|0)){continue}break}break a}if(c>>>0<=65535){if((f|0)==(e|0)){break a}h=d>>>0<=1?1:d;f=j+2|0;c=0;while(1){d=J[b+44>>2];e=J[J[b+56>>2]+96>>2]+P(c,12)|0;I[j>>1]=J[e>>2];g=J[d+20>>2];i:{if(!!J[d+16>>2]&(g|0)>=0|(g|0)>0){break i}Ba(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];I[j>>1]=J[e+4>>2];if(!!i&(g|0)>=0|(g|0)>0){break i}Ba(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];I[j>>1]=J[e+8>>2];if(!!i&(g|0)>=0|(g|0)>0){break i}Ba(d,J[d+4>>2],j,f)}c=c+1|0;if((h|0)!=(c|0)){continue}break}break a}if(c>>>0>=2097152){if((f|0)==(e|0)){break a}c=J[b+44>>2];f=!!J[c+16>>2];c=J[c+20>>2];if(f&(c|0)>=0|(c|0)>0){break a}f=d>>>0<=1?1:d;c=0;while(1){d=J[b+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){e=d;g=J[d+4>>2];d=J[J[b+56>>2]+96>>2]+P(c,12)|0;Ba(e,g,d,d+12|0)}c=c+1|0;if((f|0)!=(c|0)){continue}break}break a}if((f|0)==(e|0)){break a}f=d>>>0<=1?1:d;c=0;while(1){d=J[J[b+56>>2]+96>>2]+P(c,12)|0;yb(J[d>>2],J[b+44>>2]);yb(J[d+4>>2],J[b+44>>2]);yb(J[d+8>>2],J[b+44>>2]);c=c+1|0;if((f|0)!=(c|0)){continue}break}}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;fa=j+16|0}function lb(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,n=Q(0),o=0,p=0,q=Q(0);h=fa+-64|0;fa=h;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+48>>2]=1065353216;c=J[a+80>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;g=ol(e);J[h+16>>2]=g;c=e+g|0;J[h+24>>2]=c;ok(g,0,e);J[h+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=dm(J[b+40>>2],J[b+44>>2],l,0);j=c;c=c+e|0;c=c+d|0;o=K[c|0]|K[c+1|0]<<8;I[h+30>>1]=o;b:{c:{m=J[h+36>>2];d:{if(!m){break d}f=J[h+32>>2];j=o^318;e=gm(m)>>>0>1;c=j&m-1;e:{if(!e){break e}c=j;if(c>>>0>>0){break e}c=(j>>>0)%(m>>>0)|0}d=c;c=J[f+(d<<2)>>2];if(!c){break d}c=J[c>>2];if(!c){break d}if(!e){m=m-1|0;while(1){e=J[c+4>>2];f:{if((e|0)!=(j|0)){if((d|0)==(e&m)){break f}break d}if((o|0)==L[c+8>>1]){break c}}c=J[c>>2];if(c){continue}break}break d}while(1){e=J[c+4>>2];g:{if((e|0)!=(j|0)){if(e>>>0>=m>>>0){e=(e>>>0)%(m>>>0)|0}if((d|0)==(e|0)){break g}break d}if((o|0)==L[c+8>>1]){break c}}c=J[c>>2];if(c){continue}break}}J[h+12>>2]=p;I[h+8>>1]=o;c=0;o=h+8|0;m=L[o>>1];e=m^318;h:{i:{g=h+32|0;f=J[g+4>>2];if(!f){break i}d=gm(f);j:{if(d>>>0>=2){c=e;if(f>>>0<=c>>>0){c=(e>>>0)%(f>>>0)|0}i=J[J[g>>2]+(c<<2)>>2];if(!i){break i}if(d>>>0<=1){break j}while(1){i=J[i>>2];if(!i){break i}d=J[i+4>>2];if((d|0)!=(e|0)){if(d>>>0>=f>>>0){d=(d>>>0)%(f>>>0)|0}if((c|0)!=(d|0)){break i}}if(L[i+8>>1]!=(m|0)){continue}break}c=0;break h}c=e&f-1;i=J[J[g>>2]+(c<<2)>>2];if(!i){break i}}j=f-1|0;while(1){i=J[i>>2];if(!i){break i}d=J[i+4>>2];if((e|0)!=(d|0)&(d&j)!=(c|0)){break i}if(L[i+8>>1]!=(m|0)){continue}break}c=0;break h}i=ol(16);I[i+8>>1]=L[o>>1];d=J[o+4>>2];J[i+4>>2]=e;J[i+12>>2]=d;J[i>>2]=0;n=Q(J[g+12>>2]+1>>>0);q=N[g+16>>2];k:{if(n>Q(q*Q(f>>>0))?0:f){break k}c=2;d=(f-1&f)!=0|f>>>0<3|f<<1;n=Q(W(Q(n/q)));l:{if(n=Q(0)){j=~~n>>>0;break l}j=0}d=d>>>0>j>>>0?d:j;m:{if((d|0)==1){break m}if(!(d&d-1)){c=d;break m}c=cl(d);f=J[g+4>>2]}n:{if(c>>>0<=f>>>0){if(c>>>0>=f>>>0){break n}j=f>>>0<3;n=Q(W(Q(Q(M[g+12>>2])/N[g+16>>2])));o:{if(n=Q(0)){d=~~n>>>0;break o}d=0}p:{q:{if(j){break q}if(gm(f)>>>0>1){break q}d=d>>>0<2?d:1<<32-S(d-1|0);break p}d=cl(d)}c=c>>>0>d>>>0?c:d;if(f>>>0<=c>>>0){break n}}sb(g,c)}f=J[g+4>>2];c=f-1|0;if(!(c&f)){c=c&e;break k}if(e>>>0>>0){c=e;break k}c=(e>>>0)%(f>>>0)|0}e=J[g>>2]+(c<<2)|0;c=J[e>>2];r:{s:{if(!c){c=g+8|0;J[i>>2]=J[c>>2];J[g+8>>2]=i;J[e>>2]=c;c=J[i>>2];if(!c){break r}c=J[c+4>>2];e=f-1|0;t:{if(!(e&f)){c=c&e;break t}if(c>>>0>>0){break t}c=(c>>>0)%(f>>>0)|0}c=J[g>>2]+(c<<2)|0;break s}J[i>>2]=J[c>>2]}J[c>>2]=i}J[g+12>>2]=J[g+12>>2]+1;c=1}H[h+60|0]=c;J[h+56>>2]=i;c=J[a+40>>2];mk(J[J[a>>2]>>2]+P(c,p)|0,h+30|0,c);g=J[h+16>>2];J[g+(l<<2)>>2]=p;p=p+1|0;break b}J[(l<<2)+g>>2]=J[c+12>>2]}l=l+1|0;k=l?k:k+1|0;c=J[a+80>>2];if(!k&l>>>0>>0){continue}break}if((c|0)!=(p|0)){u:{if(!K[a+84|0]){b=J[a+72>>2];d=J[a+68>>2];if((b|0)==(d|0)){break u}b=b-d>>2;b=b>>>0<=1?1:b;l=b&3;j=0;c=0;if(b-1>>>0>=3){k=b&-4;f=0;while(1){e=c<<2;b=e+d|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];b=d+(e|4)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];b=d+(e|8)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];b=d+(e|12)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];c=c+4|0;f=f+4|0;if((k|0)!=(f|0)){continue}break}}if(!l){break u}while(1){b=d+(c<<2)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];c=c+1|0;j=j+1|0;if((l|0)!=(j|0)){continue}break}break u}H[a+84|0]=0;l=a+68|0;b=J[a+68>>2];k=J[a+72>>2]-b>>2;v:{if(k>>>0>>0){rb(l,c-k|0,2184);c=J[a+80>>2];break v}if(c>>>0>=k>>>0){break v}J[a+72>>2]=b+(c<<2)}if(!c){break u}d=J[l>>2];j=0;b=0;if(c>>>0>=4){l=c&-4;f=0;while(1){e=b<<2;J[e+d>>2]=J[e+g>>2];k=e|4;J[k+d>>2]=J[g+k>>2];k=e|8;J[k+d>>2]=J[g+k>>2];k=e|12;J[k+d>>2]=J[g+k>>2];b=b+4|0;f=f+4|0;if((l|0)!=(f|0)){continue}break}}k=c&3;if(!k){break u}while(1){c=b<<2;J[c+d>>2]=J[c+g>>2];b=b+1|0;j=j+1|0;if((k|0)!=(j|0)){continue}break}}J[a+80>>2]=p}gl(g)}c=J[h+40>>2];if(c){while(1){a=J[c>>2];gl(c);c=a;if(c){continue}break}}a=J[h+32>>2];J[h+32>>2]=0;if(a){gl(a)}fa=h- -64|0;return p}Ia();C()}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=fa-96|0;fa=e;f=J[a+16>>2];H[e+92|0]=1;J[e+88>>2]=b;J[e+84>>2]=b;J[e+80>>2]=f;j=J[a+20>>2];d=J[j>>2];a:{b:{f=J[J[f+28>>2]+(b<<2)>>2];if(f>>>0>2]-d>>2>>>0){d=J[J[a+8>>2]+(J[d+(f<<2)>>2]<<2)>>2];f=J[a+4>>2];if(!K[f+84|0]){d=J[J[f+68>>2]+(d<<2)>>2]}J[e+72>>2]=0;J[e+76>>2]=0;j=e- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[e+56>>2]=0;J[e+60>>2]=0;kd(f,d,H[f+24|0],e+56|0);if((b|0)!=-1){f=b+1|0;j=(f>>>0)%3|0?f:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;while(1){d=j;f=m;c:{if(!J[a+28>>2]){break c}f=b+1|0;d=(f>>>0)%3|0?f:b-2|0;f=b-1|0;if((b>>>0)%3|0){break c}f=b+2|0}n=J[a+20>>2];b=J[n>>2];d=J[J[J[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=J[n+4>>2]-b>>2>>>0){break b}d=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;kd(b,d,H[b+24|0],e+32|0);d=J[a+20>>2];b=J[d>>2];f=J[J[J[a+16>>2]+28>>2]+(f<<2)>>2];if(f>>>0>=J[d+4>>2]-b>>2>>>0){break a}d=J[J[a+8>>2]+(J[b+(f<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;kd(b,d,H[b+24|0],e+8|0);g=J[e+8>>2];b=J[e+56>>2];d=g-b|0;p=J[e+60>>2];t=J[e+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=J[e+40>>2];f=J[e+64>>2];n=h-f|0;u=J[e+68>>2];x=J[e+44>>2]-(u+(f>>>0>h>>>0)|0)|0;g=dm(d,t,n,x);v=o-g|0;w=i-(ja+(g>>>0>o>>>0)|0)|0;i=v;h=J[e+16>>2];g=h-f|0;u=J[e+20>>2]-((f>>>0>h>>>0)+u|0)|0;k=J[e+32>>2];h=k-b|0;v=J[e+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=dm(g,u,h,v);o=i+b|0;i=ja+w|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=d;p=t;k=J[e+48>>2];f=J[e+72>>2];d=k-f|0;t=J[e+76>>2];w=J[e+52>>2]-(t+(f>>>0>k>>>0)|0)|0;l=dm(l,p,d,w);k=b+l|0;b=ja+q|0;b=k>>>0>>0?b+1|0:b;l=J[e+24>>2];p=l-f|0;f=J[e+28>>2]-((f>>>0>l>>>0)+t|0)|0;q=dm(p,f,h,v);l=k-q|0;q=b-(ja+(k>>>0>>0)|0)|0;b=dm(g,u,d,w);d=r-b|0;b=s-(ja+(b>>>0>r>>>0)|0)|0;s=dm(p,f,n,x);r=s+d|0;b=ja+b|0;s=r>>>0>>0?b+1|0:b;b=J[e+88>>2];f=J[e+80>>2];d:{if(K[e+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}J[e+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[e+88>>2]=b;if((b|0)!=-1){break e}}b=J[e+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}H[e+92|0]=0;J[e+88>>2]=d;break d}if((b|0)!=J[e+84>>2]){break d}J[e+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}J[e+88>>2]=d}b=J[e+88>>2];if((b|0)!=-1){continue}break}}b=s>>31;f=b^r;d=f-b|0;b=(b^s)-((b>>>0>f>>>0)+b|0)|0;m=-1;f=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;m:{n:{if(!J[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break m}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;f=a;g=i;a=g>>31;d=a;m=d^o;a=m-d|0;i=a;d=(d^g)-((d>>>0>m>>>0)+d|0)|0;a=a+f|0;d=d^2147483647;i=(d|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>d>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break o}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=i;d=i>>31;h=d^o;i=h-d|0;j=(d^k)-((d>>>0>h>>>0)+d|0)|0;g=j^2147483647;d=a;a=i;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break o}b=b+j|0;m=a+d|0;b=m>>>0>>0?b+1|0:b;f=b;if(!b&m>>>0<536870913){break m}}b=f>>>29|0;a=(f&536870911)<<3|m>>>29}o=em(o,n,a,b);l=em(l,q,a,b);r=em(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;fa=e+96|0;return}Xc();C()}Xc();C()}Xc();C()}function hb(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,n=Q(0),o=0,p=0,q=Q(0);h=fa+-64|0;fa=h;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+48>>2]=1065353216;c=J[a+80>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;g=ol(e);J[h+16>>2]=g;c=e+g|0;J[h+24>>2]=c;ok(g,0,e);J[h+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=dm(J[b+40>>2],J[b+44>>2],l,0);j=c;c=c+e|0;o=K[c+d|0];H[h+31|0]=o;b:{c:{m=J[h+36>>2];d:{if(!m){break d}f=J[h+32>>2];j=o^318;e=gm(m)>>>0>1;c=j&m-1;e:{if(!e){break e}c=j;if(c>>>0>>0){break e}c=(j>>>0)%(m>>>0)|0}d=c;c=J[f+(d<<2)>>2];if(!c){break d}c=J[c>>2];if(!c){break d}if(!e){m=m-1|0;while(1){e=J[c+4>>2];f:{if((e|0)!=(j|0)){if((d|0)==(e&m)){break f}break d}if((o|0)==K[c+8|0]){break c}}c=J[c>>2];if(c){continue}break}break d}while(1){e=J[c+4>>2];g:{if((e|0)!=(j|0)){if(e>>>0>=m>>>0){e=(e>>>0)%(m>>>0)|0}if((d|0)==(e|0)){break g}break d}if((o|0)==K[c+8|0]){break c}}c=J[c>>2];if(c){continue}break}}J[h+12>>2]=p;H[h+8|0]=o;c=0;o=h+8|0;m=K[o|0];e=m^318;h:{i:{g=h+32|0;f=J[g+4>>2];if(!f){break i}d=gm(f);j:{if(d>>>0>=2){c=e;if(f>>>0<=c>>>0){c=(e>>>0)%(f>>>0)|0}i=J[J[g>>2]+(c<<2)>>2];if(!i){break i}if(d>>>0<=1){break j}while(1){i=J[i>>2];if(!i){break i}d=J[i+4>>2];if((d|0)!=(e|0)){if(d>>>0>=f>>>0){d=(d>>>0)%(f>>>0)|0}if((c|0)!=(d|0)){break i}}if(K[i+8|0]!=(m|0)){continue}break}c=0;break h}c=e&f-1;i=J[J[g>>2]+(c<<2)>>2];if(!i){break i}}j=f-1|0;while(1){i=J[i>>2];if(!i){break i}d=J[i+4>>2];if((e|0)!=(d|0)&(d&j)!=(c|0)){break i}if(K[i+8|0]!=(m|0)){continue}break}c=0;break h}i=ol(16);H[i+8|0]=K[o|0];d=J[o+4>>2];J[i+4>>2]=e;J[i+12>>2]=d;J[i>>2]=0;n=Q(J[g+12>>2]+1>>>0);q=N[g+16>>2];k:{if(n>Q(q*Q(f>>>0))?0:f){break k}c=2;d=(f-1&f)!=0|f>>>0<3|f<<1;n=Q(W(Q(n/q)));l:{if(n=Q(0)){j=~~n>>>0;break l}j=0}d=d>>>0>j>>>0?d:j;m:{if((d|0)==1){break m}if(!(d&d-1)){c=d;break m}c=cl(d);f=J[g+4>>2]}n:{if(c>>>0<=f>>>0){if(c>>>0>=f>>>0){break n}j=f>>>0<3;n=Q(W(Q(Q(M[g+12>>2])/N[g+16>>2])));o:{if(n=Q(0)){d=~~n>>>0;break o}d=0}p:{q:{if(j){break q}if(gm(f)>>>0>1){break q}d=d>>>0<2?d:1<<32-S(d-1|0);break p}d=cl(d)}c=c>>>0>d>>>0?c:d;if(f>>>0<=c>>>0){break n}}sb(g,c)}f=J[g+4>>2];c=f-1|0;if(!(c&f)){c=c&e;break k}if(e>>>0>>0){c=e;break k}c=(e>>>0)%(f>>>0)|0}e=J[g>>2]+(c<<2)|0;c=J[e>>2];r:{s:{if(!c){c=g+8|0;J[i>>2]=J[c>>2];J[g+8>>2]=i;J[e>>2]=c;c=J[i>>2];if(!c){break r}c=J[c+4>>2];e=f-1|0;t:{if(!(e&f)){c=c&e;break t}if(c>>>0>>0){break t}c=(c>>>0)%(f>>>0)|0}c=J[g>>2]+(c<<2)|0;break s}J[i>>2]=J[c>>2]}J[c>>2]=i}J[g+12>>2]=J[g+12>>2]+1;c=1}H[h+60|0]=c;J[h+56>>2]=i;c=J[a+40>>2];mk(J[J[a>>2]>>2]+P(c,p)|0,h+31|0,c);g=J[h+16>>2];J[g+(l<<2)>>2]=p;p=p+1|0;break b}J[(l<<2)+g>>2]=J[c+12>>2]}l=l+1|0;k=l?k:k+1|0;c=J[a+80>>2];if(!k&l>>>0>>0){continue}break}if((c|0)!=(p|0)){u:{if(!K[a+84|0]){b=J[a+72>>2];d=J[a+68>>2];if((b|0)==(d|0)){break u}b=b-d>>2;b=b>>>0<=1?1:b;l=b&3;j=0;c=0;if(b-1>>>0>=3){k=b&-4;f=0;while(1){e=c<<2;b=e+d|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];b=d+(e|4)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];b=d+(e|8)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];b=d+(e|12)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];c=c+4|0;f=f+4|0;if((k|0)!=(f|0)){continue}break}}if(!l){break u}while(1){b=d+(c<<2)|0;J[b>>2]=J[(J[b>>2]<<2)+g>>2];c=c+1|0;j=j+1|0;if((l|0)!=(j|0)){continue}break}break u}H[a+84|0]=0;l=a+68|0;b=J[a+68>>2];k=J[a+72>>2]-b>>2;v:{if(k>>>0>>0){rb(l,c-k|0,2184);c=J[a+80>>2];break v}if(c>>>0>=k>>>0){break v}J[a+72>>2]=b+(c<<2)}if(!c){break u}d=J[l>>2];j=0;b=0;if(c>>>0>=4){l=c&-4;f=0;while(1){e=b<<2;J[e+d>>2]=J[e+g>>2];k=e|4;J[k+d>>2]=J[g+k>>2];k=e|8;J[k+d>>2]=J[g+k>>2];k=e|12;J[k+d>>2]=J[g+k>>2];b=b+4|0;f=f+4|0;if((l|0)!=(f|0)){continue}break}}k=c&3;if(!k){break u}while(1){c=b<<2;J[c+d>>2]=J[c+g>>2];b=b+1|0;j=j+1|0;if((k|0)!=(j|0)){continue}break}}J[a+80>>2]=p}gl(g)}c=J[h+40>>2];if(c){while(1){a=J[c>>2];gl(c);c=a;if(c){continue}break}}a=J[h+32>>2];J[h+32>>2]=0;if(a){gl(a)}fa=h- -64|0;return p}Ia();C()}function jk(a){a=a|0;var 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=Q(0),p=0;e=1;a:{if(!J[a+80>>2]){break a}b=J[a+8>>2];if((J[a+12>>2]-b|0)<4){break a}while(1){c=J[(n<<2)+b>>2];m=0;e=0;j=0;b=-1;b:{c:{d:{e:{switch(J[c+28>>2]-1|0){case 8:f:{switch(K[c+24|0]-1|0){case 0:g=fa+-64|0;fa=g;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+48>>2]=1065353216;b=J[c+80>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;g:{h:{if(b){if(b>>>0>=1073741824){break h}b=b<<2;i=ol(b);J[g+16>>2]=i;d=b+i|0;J[g+24>>2]=d;ok(i,0,b);J[g+20>>2]=d;while(1){b=J[J[c>>2]>>2];d=J[c+48>>2];f=dm(J[c+40>>2],J[c+44>>2],e,0);d=d+f|0;b=b+d|0;o=(x(2,K[b|0]|K[b+1|0]<<8|(K[b+2|0]<<16|K[b+3|0]<<24)),D());N[g+28>>2]=o;i:{j:{k=J[g+36>>2];k:{if(!k){break k}p=J[g+32>>2];h=(B(o),v(2));d=h^318;f=gm(k)>>>0>1;b=d&k-1;l:{if(!f){break l}b=d;if(b>>>0>>0){break l}b=(d>>>0)%(k>>>0)|0}l=b;b=J[p+(l<<2)>>2];if(!b){break k}b=J[b>>2];if(!b){break k}if(!f){f=k-1|0;while(1){k=J[b+4>>2];m:{if((k|0)!=(d|0)){if((l|0)==(f&k)){break m}break k}if((h|0)==J[b+8>>2]){break j}}b=J[b>>2];if(b){continue}break}break k}while(1){f=J[b+4>>2];n:{if((f|0)!=(d|0)){if(f>>>0>=k>>>0){f=(f>>>0)%(k>>>0)|0}if((f|0)==(l|0)){break n}break k}if((h|0)==J[b+8>>2]){break j}}b=J[b>>2];if(b){continue}break}}J[g+12>>2]=m;N[g+8>>2]=o;b=g+8|0;qb(g+56|0,g+32|0,b,b);b=J[c+40>>2];mk(J[J[c>>2]>>2]+P(b,m)|0,g+28|0,b);i=J[g+16>>2];J[i+(e<<2)>>2]=m;m=m+1|0;break i}J[(e<<2)+i>>2]=J[b+12>>2]}e=e+1|0;j=e?j:j+1|0;b=J[c+80>>2];if(!j&e>>>0>>0){continue}break}if((b|0)!=(m|0)){o:{if(!K[c+84|0]){b=J[c+72>>2];e=J[c+68>>2];if((b|0)==(e|0)){break o}b=b-e>>2;d=b>>>0<=1?1:b;l=d&3;j=0;b=0;if(d-1>>>0>=3){k=d&-4;d=0;while(1){f=b<<2;h=f+e|0;J[h>>2]=J[(J[h>>2]<<2)+i>>2];h=e+(f|4)|0;J[h>>2]=J[(J[h>>2]<<2)+i>>2];h=e+(f|8)|0;J[h>>2]=J[(J[h>>2]<<2)+i>>2];f=e+(f|12)|0;J[f>>2]=J[(J[f>>2]<<2)+i>>2];b=b+4|0;d=d+4|0;if((k|0)!=(d|0)){continue}break}}if(!l){break o}while(1){d=e+(b<<2)|0;J[d>>2]=J[(J[d>>2]<<2)+i>>2];b=b+1|0;j=j+1|0;if((l|0)!=(j|0)){continue}break}break o}H[c+84|0]=0;e=c+68|0;d=J[c+68>>2];j=J[c+72>>2]-d>>2;p:{if(j>>>0>>0){rb(e,b-j|0,2184);b=J[c+80>>2];break p}if(b>>>0>=j>>>0){break p}J[c+72>>2]=d+(b<<2)}if(!b){break o}f=J[e>>2];j=0;e=0;if(b>>>0>=4){k=b&-4;d=0;while(1){l=e<<2;J[l+f>>2]=J[i+l>>2];h=l|4;J[h+f>>2]=J[i+h>>2];h=l|8;J[h+f>>2]=J[i+h>>2];l=l|12;J[l+f>>2]=J[i+l>>2];e=e+4|0;d=d+4|0;if((k|0)!=(d|0)){continue}break}}b=b&3;if(!b){break o}while(1){d=e<<2;J[d+f>>2]=J[d+i>>2];e=e+1|0;j=j+1|0;if((b|0)!=(j|0)){continue}break}}J[c+80>>2]=m}gl(i)}b=J[g+40>>2];if(b){while(1){e=J[b>>2];gl(b);b=e;if(b){continue}break}}b=J[g+32>>2];J[g+32>>2]=0;if(b){gl(b)}fa=g- -64|0;b=m;break g}Ia();C()}break d;case 1:b=eb(c,c);break d;case 2:b=fb(c,c);break d;case 3:break f;default:break c}}b=gb(c,c);break d;case 0:q:{switch(K[c+24|0]-1|0){case 0:b=hb(c,c);break d;case 1:b=ib(c,c);break d;case 2:b=jb(c,c);break d;case 3:break q;default:break c}}b=kb(c,c);break d;case 1:case 10:r:{switch(K[c+24|0]-1|0){case 0:b=hb(c,c);break d;case 1:b=ib(c,c);break d;case 2:b=jb(c,c);break d;case 3:break r;default:break c}}b=kb(c,c);break d;case 3:s:{switch(K[c+24|0]-1|0){case 0:b=lb(c,c);break d;case 1:b=mb(c,c);break d;case 2:b=nb(c,c);break d;case 3:break s;default:break c}}b=ob(c,c);break d;case 2:t:{switch(K[c+24|0]-1|0){case 0:b=lb(c,c);break d;case 1:b=mb(c,c);break d;case 2:b=nb(c,c);break d;case 3:break t;default:break c}}b=ob(c,c);break d;case 5:u:{switch(K[c+24|0]-1|0){case 0:b=pb(c,c);break d;case 1:b=eb(c,c);break d;case 2:b=fb(c,c);break d;case 3:break u;default:break c}}b=gb(c,c);break d;case 4:break e;default:break b}}v:{switch(K[c+24|0]-1|0){case 0:b=pb(c,c);break d;case 1:b=eb(c,c);break d;case 2:b=fb(c,c);break d;case 3:break v;default:break c}}b=gb(c,c)}if(b){break b}}b=-1}e=(b|0)!=0;if(!b){break a}n=n+1|0;b=J[a+8>>2];if((n|0)>2]-b>>2){continue}break}}return e|0}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=fa-96|0;fa=f;d=J[a+16>>2];H[f+92|0]=1;J[f+88>>2]=b;J[f+84>>2]=b;J[f+80>>2]=d;a:{if((b|0)==-1){break a}j=J[a+20>>2];e=J[j>>2];d=J[J[d>>2]+(b<<2)>>2];if(d>>>0>=J[j+4>>2]-e>>2>>>0){break a}e=J[J[a+8>>2]+(J[e+(d<<2)>>2]<<2)>>2];d=J[a+4>>2];if(!K[d+84|0]){e=J[J[d+68>>2]+(e<<2)>>2]}J[f+72>>2]=0;J[f+76>>2]=0;j=f- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[f+56>>2]=0;J[f+60>>2]=0;kd(d,e,H[d+24|0],f+56|0);d=b+1|0;j=(d>>>0)%3|0?d:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){e=j;d=m;d:{if(!J[a+28>>2]){break d}d=b+1|0;e=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break d}d=b+2|0}if((e|0)==-1){break b}n=J[a+20>>2];b=J[n>>2];e=J[J[J[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=J[n+4>>2]-b>>2>>>0){break b}e=J[J[a+8>>2]+(J[b+(e<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){e=J[J[b+68>>2]+(e<<2)>>2]}J[f+48>>2]=0;J[f+52>>2]=0;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;kd(b,e,H[b+24|0],f+32|0);if((d|0)==-1){break c}e=J[a+20>>2];b=J[e>>2];d=J[J[J[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=J[e+4>>2]-b>>2>>>0){break c}e=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){e=J[J[b+68>>2]+(e<<2)>>2]}J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;kd(b,e,H[b+24|0],f+8|0);g=J[f+8>>2];b=J[f+56>>2];e=g-b|0;p=J[f+60>>2];t=J[f+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=J[f+40>>2];d=J[f+64>>2];n=h-d|0;u=J[f+68>>2];x=J[f+44>>2]-(u+(d>>>0>h>>>0)|0)|0;g=dm(e,t,n,x);v=o-g|0;w=i-(ja+(g>>>0>o>>>0)|0)|0;i=v;h=J[f+16>>2];g=h-d|0;u=J[f+20>>2]-((d>>>0>h>>>0)+u|0)|0;k=J[f+32>>2];h=k-b|0;v=J[f+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=dm(g,u,h,v);o=i+b|0;i=ja+w|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=e;p=t;k=J[f+48>>2];d=J[f+72>>2];e=k-d|0;t=J[f+76>>2];w=J[f+52>>2]-(t+(d>>>0>k>>>0)|0)|0;l=dm(l,p,e,w);k=b+l|0;b=ja+q|0;b=k>>>0>>0?b+1|0:b;l=J[f+24>>2];p=l-d|0;d=J[f+28>>2]-((d>>>0>l>>>0)+t|0)|0;q=dm(p,d,h,v);l=k-q|0;q=b-(ja+(k>>>0>>0)|0)|0;b=dm(g,u,e,w);e=r-b|0;b=s-(ja+(b>>>0>r>>>0)|0)|0;s=dm(p,d,n,x);r=s+e|0;b=ja+b|0;s=r>>>0>>0?b+1|0:b;b=J[f+88>>2];e=J[f+80>>2];e:{if(K[f+92|0]){f:{g:{h:{i:{if((b|0)==-1){break i}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break i}b=J[J[e+12>>2]+(b<<2)>>2];if((b|0)!=-1){break h}}J[f+88>>2]=-1;break g}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[f+88>>2]=b;if((b|0)!=-1){break f}}b=J[f+84>>2];d=-1;j:{if((b|0)==-1){break j}k:{if((b>>>0)%3|0){b=b-1|0;break k}b=b+2|0;d=-1;if((b|0)==-1){break j}}b=J[J[e+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break j}d=b-1|0;if((b>>>0)%3|0){break j}d=b+2|0}H[f+92|0]=0;J[f+88>>2]=d;break e}if((b|0)!=J[f+84>>2]){break e}J[f+88>>2]=-1;break e}d=-1;l:{if((b|0)==-1){break l}m:{if((b>>>0)%3|0){b=b-1|0;break m}b=b+2|0;d=-1;if((b|0)==-1){break l}}b=J[J[e+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break l}d=b-1|0;if((b>>>0)%3|0){break l}d=b+2|0}J[f+88>>2]=d}b=J[f+88>>2];if((b|0)!=-1){continue}break}b=s>>31;d=b^r;e=d-b|0;b=(b^s)-((b>>>0>d>>>0)+b|0)|0;m=-1;d=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;n:{o:{if(!J[a+28>>2]){if((b|0)==(g|0)&e>>>0>k>>>0|b>>>0>g>>>0){break n}b=b+h|0;a=e+j|0;b=a>>>0>>0?b+1|0:b;d=a;g=i;a=g>>31;e=a;m=e^o;a=m-e|0;i=a;e=(e^g)-((e>>>0>m>>>0)+e|0)|0;a=a+d|0;e=e^2147483647;i=(e|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>e>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break n}b=0;a=a>>>29|0;break o}p:{if((b|0)==(g|0)&e>>>0>k>>>0|b>>>0>g>>>0){break p}b=b+h|0;a=e+j|0;b=a>>>0>>0?b+1|0:b;k=i;e=i>>31;h=e^o;i=h-e|0;j=(e^k)-((e>>>0>h>>>0)+e|0)|0;g=j^2147483647;e=a;a=i;if((g|0)==(b|0)&e>>>0>(a^-1)>>>0|b>>>0>g>>>0){break p}b=b+j|0;m=a+e|0;b=m>>>0>>0?b+1|0:b;d=b;if(!b&m>>>0<536870913){break n}}b=d>>>29|0;a=(d&536870911)<<3|m>>>29}o=em(o,n,a,b);l=em(l,q,a,b);r=em(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;fa=f+96|0;return}Xc();C()}Xc();C()}Xc();C()}function dc(a){var 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;f=fa-32|0;fa=f;a:{b=J[a+16>>2];b:{if(b>>>0>=113){J[a+16>>2]=b-113;b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];c:{if((b|0)!=J[a+12>>2]){d=b;break c}k=J[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=nk(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break c}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=ol(e);l=e+h|0;e=h+(d&-4)|0;d=e;d:{if((b|0)==(c|0)){break d}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;e:{if(!g){b=e;break e}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break d}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break c}gl(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}c=J[a+8>>2];b=J[a+4>>2];l=c-b|0;h=l>>2;g=J[a+12>>2];d=J[a>>2];e=g-d|0;if(h>>>0>2>>>0){if((c|0)!=(g|0)){n=f,o=ol(4068),J[n+8>>2]=o;d=a;f:{g:{b=J[a+8>>2];h:{if((b|0)!=J[a+12>>2]){e=b;break h}c=J[d+4>>2];h=J[d>>2];if(c>>>0>h>>>0){g=((c-h>>2)+1|0)/-2<<2;a=b-c|0;e=nk(g+c|0,c,a)+a|0;J[d+8>>2]=e;J[d+4>>2]=g+J[d+4>>2];break h}e=(b|0)==(h|0)?1:b-h>>1;if(e>>>0>=1073741824){break g}a=e<<2;j=ol(a);l=a+j|0;a=j+(e&-4)|0;e=a;i:{if((b|0)==(c|0)){break i}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;j:{if(!g){b=a;break j}e=0;b=a;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}}e=a+m|0;if(i>>>0<28){break i}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((e|0)!=(b|0)){continue}break}}J[d+12>>2]=l;J[d+8>>2]=e;J[d+4>>2]=a;J[d>>2]=j;if(!h){break h}gl(h);e=J[d+8>>2]}J[e>>2]=J[f+8>>2];J[d+8>>2]=J[d+8>>2]+4;break f}Ya();C()}break b}n=f,o=ol(4068),J[n+8>>2]=o;hc(a,f+8|0);b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];k:{if((b|0)!=J[a+12>>2]){d=b;break k}k=J[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=nk(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break k}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=ol(e);l=e+h|0;e=h+(d&-4)|0;d=e;l:{if((b|0)==(c|0)){break l}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;m:{if(!g){b=e;break m}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break l}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break k}gl(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}J[f+24>>2]=a+12;m=(d|0)==(g|0)?1:e>>1;if(m>>>0>=1073741824){break a}e=m<<2;g=ol(e);J[f+8>>2]=g;j=e+g|0;J[f+20>>2]=j;d=(h<<2)+g|0;J[f+12>>2]=d;i=ol(4068);n:{if((h|0)!=(m|0)){break n}if((l|0)>0){d=((h+1|0)/-2<<2)+d|0;J[f+12>>2]=d;break n}d=(b|0)==(c|0)?1:l>>1;if(d>>>0>=1073741824){break a}b=d<<2;e=ol(b);J[f+8>>2]=e;j=b+e|0;J[f+20>>2]=j;d=e+(d&-4)|0;J[f+12>>2]=d;gl(g);b=J[a+4>>2];c=J[a+8>>2];g=e}J[d>>2]=i;i=d+4|0;J[f+16>>2]=i;e=b;if((b|0)!=(c|0)){while(1){c=c-4|0;hc(f+8|0,c);if(J[a+4>>2]!=(c|0)){continue}break}j=J[f+20>>2];i=J[f+16>>2];d=J[f+12>>2];g=J[f+8>>2];e=c;b=J[a+8>>2]}c=J[a>>2];J[a>>2]=g;J[f+8>>2]=c;J[a+4>>2]=d;J[f+12>>2]=e;J[a+8>>2]=i;J[f+16>>2]=b;d=J[a+12>>2];J[a+12>>2]=j;J[f+20>>2]=d;if((b|0)!=(e|0)){J[f+16>>2]=((e-b|0)+3&-4)+b}if(!c){break b}gl(c)}fa=f+32|0;return}Ya();C()}function rd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=fa-48|0;fa=k;J[a+68>>2]=f;o=a+112|0;Ce(o);d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[k+40>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+60|0;d=d>>>2|0;q=d>>>0<=1?1:d;r=c+4|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}sd(p,J[d+(n<<2)>>2],k+32|0);f=J[k+36>>2];d=f>>31;g=J[k+32>>2];e=g>>31;i=(d^f)-d+((e^g)-e)|0;h=J[k+40>>2];d=h>>31;e=(d^h)-d|0;d=0;m=e;e=e+i|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+108>>2];i=j;break b}j=J[a+108>>2];i=j>>31;f=em(dm(j,i,f,f>>31),ja,e,d);l=f>>31;i=em(dm(j,i,g,g>>31),ja,e,d);d=i>>31;d=(f^l)-l+((d^i)-d)|0;h=(h|0)<0?d-j|0:j-d|0}c:{if((i|0)>=0){e=f+j|0;l=h+j|0;break c}d:{if((f|0)<0){d=h>>31;e=(d^h)-d|0;break d}d=h>>31;e=J[a+100>>2]+(d-(d^h)|0)|0}if((h|0)<0){d=f>>31;l=(d^f)-d|0;break c}d=f>>31;l=J[a+100>>2]+(d-(d^f)|0)|0}d=J[a+100>>2];m=d;g=d;e:{if(!(e|l)){break e}if(!((d|0)!=(l|0)|e)){m=l;g=l;break e}if(!((d|0)!=(e|0)|l)){m=e;g=e;break e}if(!((j|0)>=(l|0)|e)){m=(j<<1)-l|0;g=0;break e}if(!((d|0)!=(e|0)|(j|0)<=(l|0))){m=(j<<1)-l|0;g=e;break e}if(!((d|0)!=(l|0)|(e|0)>=(j|0))){m=l;g=(j<<1)-e|0;break e}if(l){m=l;g=e;break e}m=0;g=e;if((e|0)<=(j|0)){break e}g=(j<<1)-e|0}J[k+28>>2]=m;J[k+24>>2]=g;J[k+40>>2]=0-h;J[k+36>>2]=0-f;J[k+32>>2]=0-i;f:{if((i|0)<=0){i=j-h|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;i=(h|0)>0?e:d-e|0;e=h>>31;e=(e^h)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|i)){i=d;break g}if(!((d|0)!=(i|0)|e)){i=d;break g}f=(d|0)!=(e|0);if(!(i|f)){i=d;break g}if(!((i|0)<=(j|0)|e)){i=(j<<1)-i|0;d=0;break g}if(!((i|0)>=(j|0)|f)){i=(j<<1)-i|0;break g}if(!((d|0)!=(i|0)|(e|0)>=(j|0))){i=d;d=(j<<1)-e|0;break g}if(i){d=e;break g}i=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}J[k+20>>2]=i;J[k+16>>2]=d;h=J[a+8>>2];h:{if((h|0)<=0){break h}l=(n<<3)+b|0;i=J[a+32>>2];e=0;g=k+24|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];i:{if((m|0)>(h|0)){J[d+j>>2]=h;break i}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break i}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}}f=e<<2;d=f+(k+8|0)|0;g=J[f+l>>2]-J[f+j>>2]|0;J[d>>2]=g;f=d;d=J[a+28>>2];j:{if((g|0)<(d|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break j}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}if((h|0)<=0){break h}i=J[a+32>>2];e=0;g=k+16|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];k:{if((m|0)>(h|0)){J[d+j>>2]=h;break k}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break k}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}d=J[a+28>>2]}g=e<<2;f=g+k|0;g=J[g+l>>2]-J[j+g>>2]|0;J[f>>2]=g;l:{if((d|0)>(g|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break l}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}}f=J[k+8>>2];e=J[a+108>>2];m:{if((f|0)>(e|0)){f=f-J[a+96>>2]|0;break m}if((0-e|0)<=(f|0)){break m}f=J[a+96>>2]+f|0}J[k+8>>2]=f;h=J[k+12>>2];n:{if((e|0)<(h|0)){h=h-J[a+96>>2]|0;break n}if((0-e|0)<=(h|0)){break n}h=J[a+96>>2]+h|0}J[k+12>>2]=h;d=J[k>>2];o:{if((e|0)<(d|0)){d=d-J[a+96>>2]|0;break o}if((0-e|0)<=(d|0)){break o}d=J[a+96>>2]+d|0}g=n<<1;J[k>>2]=d;i=J[k+4>>2];p:{if((e|0)<(i|0)){i=i-J[a+96>>2]|0;break p}if((0-e|0)<=(i|0)){break p}i=J[a+96>>2]+i|0}J[k+4>>2]=i;e=h>>31;e=(e^h)-e|0;l=f>>31;l=(l^f)-l|0;m=l>>>0>(e^2147483647)>>>0?2147483647:e+l|0;e=i>>31;e=(e^i)-e|0;l=d>>31;l=(l^d)-l|0;e=m>>>0>=(l>>>0>(e^2147483647)>>>0?2147483647:e+l|0)>>>0;De(o,e);g=g<<2;d=e?d:f;J[g+c>>2]=(J[a+96>>2]&d>>31)+d;d=e?i:h;J[g+r>>2]=(J[a+96>>2]&d>>31)+d;n=n+1|0;if((q|0)!=(n|0)){continue}break}}fa=k+48|0;return 1}Xc();C()}function Fd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=fa-48|0;fa=k;J[a+68>>2]=f;o=a+112|0;Ce(o);d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[k+40>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+60|0;d=d>>>2|0;q=d>>>0<=1?1:d;r=c+4|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Gd(p,J[d+(n<<2)>>2],k+32|0);f=J[k+36>>2];d=f>>31;g=J[k+32>>2];e=g>>31;i=(d^f)-d+((e^g)-e)|0;h=J[k+40>>2];d=h>>31;e=(d^h)-d|0;d=0;m=e;e=e+i|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+108>>2];i=j;break b}j=J[a+108>>2];i=j>>31;f=em(dm(j,i,f,f>>31),ja,e,d);l=f>>31;i=em(dm(j,i,g,g>>31),ja,e,d);d=i>>31;d=(f^l)-l+((d^i)-d)|0;h=(h|0)<0?d-j|0:j-d|0}c:{if((i|0)>=0){e=f+j|0;l=h+j|0;break c}d:{if((f|0)<0){d=h>>31;e=(d^h)-d|0;break d}d=h>>31;e=J[a+100>>2]+(d-(d^h)|0)|0}if((h|0)<0){d=f>>31;l=(d^f)-d|0;break c}d=f>>31;l=J[a+100>>2]+(d-(d^f)|0)|0}d=J[a+100>>2];m=d;g=d;e:{if(!(e|l)){break e}if(!((d|0)!=(l|0)|e)){m=l;g=l;break e}if(!((d|0)!=(e|0)|l)){m=e;g=e;break e}if(!((j|0)>=(l|0)|e)){m=(j<<1)-l|0;g=0;break e}if(!((d|0)!=(e|0)|(j|0)<=(l|0))){m=(j<<1)-l|0;g=e;break e}if(!((d|0)!=(l|0)|(e|0)>=(j|0))){m=l;g=(j<<1)-e|0;break e}if(l){m=l;g=e;break e}m=0;g=e;if((e|0)<=(j|0)){break e}g=(j<<1)-e|0}J[k+28>>2]=m;J[k+24>>2]=g;J[k+40>>2]=0-h;J[k+36>>2]=0-f;J[k+32>>2]=0-i;f:{if((i|0)<=0){i=j-h|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;i=(h|0)>0?e:d-e|0;e=h>>31;e=(e^h)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|i)){i=d;break g}if(!((d|0)!=(i|0)|e)){i=d;break g}f=(d|0)!=(e|0);if(!(i|f)){i=d;break g}if(!((i|0)<=(j|0)|e)){i=(j<<1)-i|0;d=0;break g}if(!((i|0)>=(j|0)|f)){i=(j<<1)-i|0;break g}if(!((d|0)!=(i|0)|(e|0)>=(j|0))){i=d;d=(j<<1)-e|0;break g}if(i){d=e;break g}i=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}J[k+20>>2]=i;J[k+16>>2]=d;h=J[a+8>>2];h:{if((h|0)<=0){break h}l=(n<<3)+b|0;i=J[a+32>>2];e=0;g=k+24|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];i:{if((m|0)>(h|0)){J[d+j>>2]=h;break i}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break i}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}}f=e<<2;d=f+(k+8|0)|0;g=J[f+l>>2]-J[f+j>>2]|0;J[d>>2]=g;f=d;d=J[a+28>>2];j:{if((g|0)<(d|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break j}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}if((h|0)<=0){break h}i=J[a+32>>2];e=0;g=k+16|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];k:{if((m|0)>(h|0)){J[d+j>>2]=h;break k}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break k}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}d=J[a+28>>2]}g=e<<2;f=g+k|0;g=J[g+l>>2]-J[j+g>>2]|0;J[f>>2]=g;l:{if((d|0)>(g|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break l}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}}f=J[k+8>>2];e=J[a+108>>2];m:{if((f|0)>(e|0)){f=f-J[a+96>>2]|0;break m}if((0-e|0)<=(f|0)){break m}f=J[a+96>>2]+f|0}J[k+8>>2]=f;h=J[k+12>>2];n:{if((e|0)<(h|0)){h=h-J[a+96>>2]|0;break n}if((0-e|0)<=(h|0)){break n}h=J[a+96>>2]+h|0}J[k+12>>2]=h;d=J[k>>2];o:{if((e|0)<(d|0)){d=d-J[a+96>>2]|0;break o}if((0-e|0)<=(d|0)){break o}d=J[a+96>>2]+d|0}g=n<<1;J[k>>2]=d;i=J[k+4>>2];p:{if((e|0)<(i|0)){i=i-J[a+96>>2]|0;break p}if((0-e|0)<=(i|0)){break p}i=J[a+96>>2]+i|0}J[k+4>>2]=i;e=h>>31;e=(e^h)-e|0;l=f>>31;l=(l^f)-l|0;m=l>>>0>(e^2147483647)>>>0?2147483647:e+l|0;e=i>>31;e=(e^i)-e|0;l=d>>31;l=(l^d)-l|0;e=m>>>0>=(l>>>0>(e^2147483647)>>>0?2147483647:e+l|0)>>>0;De(o,e);g=g<<2;d=e?d:f;J[g+c>>2]=(J[a+96>>2]&d>>31)+d;d=e?i:h;J[g+r>>2]=(J[a+96>>2]&d>>31)+d;n=n+1|0;if((q|0)!=(n|0)){continue}break}}fa=k+48|0;return 1}Xc();C()}function lf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;p=fa-32|0;fa=p;a:{if((c|0)<=0){break a}t=c&3;b:{if(c>>>0<4){c=0;break b}z=c&-4;c=0;while(1){g=(c<<3)+b|0;s=J[g>>2];u=J[g+4>>2];v=c|1;g=(v<<3)+b|0;i=J[g>>2];w=c|2;h=(w<<3)+b|0;m=J[h>>2];x=c|3;j=(x<<3)+b|0;y=J[j>>2];g=J[g+4>>2];h=J[h+4>>2];j=J[j+4>>2];n=j|y?x:h|m?w:g|i?v:s|u?c:n;f=f+u|0;e=e+s|0;f=(e>>>0>>0?f+1|0:f)+g|0;g=e;e=e+i|0;f=(g>>>0>e>>>0?f+1|0:f)+h|0;g=e;e=e+m|0;f=(g>>>0>e>>>0?f+1|0:f)+j|0;g=e;e=e+y|0;f=g>>>0>e>>>0?f+1|0:f;c=c+4|0;l=l+4|0;if((z|0)!=(l|0)){continue}break}}if(!t){break a}while(1){g=(c<<3)+b|0;i=J[g>>2];g=J[g+4>>2];n=i|g?c:n;c=c+1|0;f=f+g|0;e=e+i|0;f=e>>>0>>0?f+1|0:f;o=o+1|0;if((t|0)!=(o|0)){continue}break}}m=n+1|0;J[a+12>>2]=m;c=J[a>>2];g=J[a+4>>2]-c>>3;c:{if(g>>>0>>0){jf(a,m-g|0);break c}if(g>>>0<=m>>>0){break c}J[a+4>>2]=c+(m<<3)}j=0;d:{e:{f:{g:{h:{if((n|0)>=0){k=+(e>>>0)+ +(f>>>0)*4294967296;i=J[a>>2];c=0;while(1){f=c<<3;e=f+b|0;h=J[e>>2];e=J[e+4>>2];g=(h|e)!=0;l=f+i|0;r=(+(h>>>0)+ +(e>>>0)*4294967296)/k*4096+.5;i:{if(r<4294967296&r>=0){e=~~r>>>0;break i}e=0}e=e?e:g?1:e;J[l>>2]=e;j=e+j|0;e=(c|0)==(n|0);c=c+1|0;if(!e){continue}break}if((j|0)==4096){break h}}J[p+16>>2]=0;J[p+8>>2]=0;J[p+12>>2]=0;i=0;j:{if(!m){break j}if(m>>>0>=1073741824){break g}g=m<<2;q=ol(g);J[p+8>>2]=q;l=0;h=ok(q,0,g);c=0;if(n>>>0>=7){f=m&-8;while(1){J[h+(c<<2)>>2]=c;e=c|1;J[h+(e<<2)>>2]=e;e=c|2;J[h+(e<<2)>>2]=e;e=c|3;J[h+(e<<2)>>2]=e;e=c|4;J[h+(e<<2)>>2]=e;e=c|5;J[h+(e<<2)>>2]=e;e=c|6;J[h+(e<<2)>>2]=e;e=c|7;J[h+(e<<2)>>2]=e;c=c+8|0;i=i+8|0;if((f|0)!=(i|0)){continue}break}}i=h+g|0;e=m&7;if(!e){break j}while(1){J[h+(c<<2)>>2]=c;c=c+1|0;l=l+1|0;if((e|0)!=(l|0)){continue}break}}J[p+24>>2]=a;c=i-q|0;e=c>>2;k:{l:{if((c|0)>=513){c=e;while(1){f=ol(c<<2);if(f){break l}f=c>>>0>1;c=c>>>1|0;if(f){continue}break}}nf(q,i,p+24|0,e,0,0);break k}nf(q,i,p+24|0,e,f,c);gl(f)}if((j|0)<4096){c=J[a>>2]+(J[i-4>>2]<<3)|0;J[c>>2]=(J[c>>2]-j|0)+4096;c=0;break f}if((n|0)>0){f=J[a>>2];o=j-4096|0;while(1){r=4096/+(j|0);l=n;while(1){m:{n:{e=f+(J[(l<<2)+q>>2]<<3)|0;c=J[e>>2];if(c>>>0>=2){h=e;i=c;k=V(r*+(c>>>0));o:{if(R(k)<2147483648){g=~~k;break o}g=-2147483648}e=(c|0)==(g|0)?1:c-g|0;c=(c|0)>(e|0)?e:c-1|0;c=(c|0)<(o|0)?c:o;J[h>>2]=i-c;o=o-c|0;j=j-c|0;if((j|0)!=4096){break n}j=4096;break m}if((n|0)!=(l|0)){break m}c=1;break f}c=(l|0)>1;l=l-1|0;if(c){continue}}break}c=0;if((o|0)>0){continue}break}break f}c=0;if(j>>>0<4097){break f}while(1)continue}if((n|0)<0){break d}break e}Ia();C()}e=J[p+8>>2];if(e){gl(e)}if((n|0)<0|c){break d}}h=J[a>>2];j=0;o=0;c=0;if(n>>>0>=3){g=m&-4;q=0;while(1){i=o<<3;f=i+h|0;J[f+4>>2]=c;e=h+(i|8)|0;c=J[f>>2]+c|0;J[e+4>>2]=c;f=h+(i|16)|0;c=c+J[e>>2]|0;J[f+4>>2]=c;e=h+(i|24)|0;c=c+J[f>>2]|0;J[e+4>>2]=c;c=c+J[e>>2]|0;o=o+4|0;q=q+4|0;if((g|0)!=(q|0)){continue}break}}f=m&3;if(f){while(1){e=h+(o<<3)|0;J[e+4>>2]=c;o=o+1|0;c=J[e>>2]+c|0;j=j+1|0;if((f|0)!=(j|0)){continue}break}}if((c|0)!=4096){break d}c=0;k=0;p:{if((n|0)<0){break p}h=J[a>>2];if(n){i=m&-2;l=0;while(1){e=c<<3;g=J[e+h>>2];if(g){f=b+e|0;k=(+M[f>>2]+ +M[f+4>>2]*4294967296)*rk(+(g>>>0)*.000244140625)+k}e=(c|1)<<3;g=J[e+h>>2];if(g){f=b+e|0;k=(+M[f>>2]+ +M[f+4>>2]*4294967296)*rk(+(g>>>0)*.000244140625)+k}c=c+2|0;l=l+2|0;if((i|0)!=(l|0)){continue}break}}if(!(m&1)){break p}c=c<<3;e=J[c+h>>2];if(!e){break p}c=b+c|0;k=(+M[c>>2]+ +M[c+4>>2]*4294967296)*rk(+(e>>>0)*.000244140625)+k}k=W(-k);q:{if(k<0x10000000000000000&k>=0){c=~~k>>>0;b=R(k)>=1?~~(k>0?T(V(k*2.3283064365386963e-10),4294967295):W((k-+(~~k>>>0>>>0))*2.3283064365386963e-10))>>>0:0;break q}c=0;b=0}J[a+16>>2]=c;J[a+20>>2]=b;of(a,d)}fa=p+32|0}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=fa-48|0;fa=b;g=J[J[a+4>>2]+48>>2];J[b+8>>2]=J[a+12>>2];c=ol(32);J[b+24>>2]=c;J[b+28>>2]=17;J[b+32>>2]=-2147483616;H[c+16|0]=K[1261];f=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);e=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);e=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+17|0]=0;c=Gb(g,b+8|0,b+24|0,-1);if(H[b+35|0]<0){gl(J[b+24>>2])}J[b+32>>2]=-1;J[b+36>>2]=1065353216;J[b+24>>2]=-1;J[b+28>>2]=-1;J[b+40>>2]=-1;c=-1<>>0>28){break a}J[b+24>>2]=c+1;c=-2<>2]=c^-1;c=c^-2;J[b+32>>2]=c;J[b+40>>2]=c>>1;N[b+36>>2]=Q(2)/Q(c|0)}g=ve(J[a+12>>2],J[a+4>>2]);h=J[J[a+4>>2]+48>>2];J[b+20>>2]=J[a+12>>2];c=ol(32);J[b+8>>2]=c;J[b+12>>2]=17;J[b+16>>2]=-2147483616;H[c+16|0]=K[1529];f=K[1525]|K[1526]<<8|(K[1527]<<16|K[1528]<<24);e=K[1521]|K[1522]<<8|(K[1523]<<16|K[1524]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1517]|K[1518]<<8|(K[1519]<<16|K[1520]<<24);e=K[1513]|K[1514]<<8|(K[1515]<<16|K[1516]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+17|0]=0;c=Gb(h,b+20|0,b+8|0,g);if(H[b+19|0]<0){gl(J[b+8>>2])}b:{c:{d:{switch(c|0){case 6:e=J[a+4>>2];h=J[a+12>>2];a=J[J[J[e+4>>2]+8>>2]+(h<<2)>>2];if((ka[J[J[e>>2]+8>>2]](e)|0)!=1){break c}c=b+24|0;f=fa-32|0;fa=f;i=J[J[J[e+4>>2]+8>>2]+(h<<2)>>2];e:{if((ka[J[J[e>>2]+8>>2]](e)|0)!=1){break e}j=ka[J[J[e>>2]+52>>2]](e)|0;g=ka[J[J[e>>2]+60>>2]](e,h)|0;if(!j|!g){break e}d=ka[J[J[e>>2]+56>>2]](e,h)|0;if(d){e=J[e+56>>2];J[f+20>>2]=d;J[f+16>>2]=e;J[f+28>>2]=g;J[f+24>>2]=g+12;d=ol(128);J[d+4>>2]=i;e=J[c+4>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=e;e=J[c+12>>2];J[d+16>>2]=J[c+8>>2];J[d+20>>2]=e;J[d+24>>2]=J[c+16>>2];c=J[f+20>>2];J[d+28>>2]=J[f+16>>2];J[d+32>>2]=c;c=J[f+28>>2];J[d+36>>2]=J[f+24>>2];J[d+40>>2]=c;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=7532;c=J[f+20>>2];J[d+56>>2]=J[f+16>>2];J[d+60>>2]=c;e=J[f+28>>2];c=d- -64|0;J[c>>2]=J[f+24>>2];J[c+4>>2]=e;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=7792;J[d+96>>2]=0;J[d+100>>2]=0;J[d+120>>2]=0;J[d+124>>2]=0;J[d+112>>2]=0;J[d+116>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0;break e}d=J[e+56>>2];J[f+20>>2]=j;J[f+16>>2]=d;J[f+28>>2]=g;J[f+24>>2]=g+12;d=ol(128);J[d+4>>2]=i;e=J[c+4>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=e;e=J[c+12>>2];J[d+16>>2]=J[c+8>>2];J[d+20>>2]=e;J[d+24>>2]=J[c+16>>2];c=J[f+20>>2];J[d+28>>2]=J[f+16>>2];J[d+32>>2]=c;c=J[f+28>>2];J[d+36>>2]=J[f+24>>2];J[d+40>>2]=c;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=9156;c=J[f+20>>2];J[d+56>>2]=J[f+16>>2];J[d+60>>2]=c;e=J[f+28>>2];c=d- -64|0;J[c>>2]=J[f+24>>2];J[c+4>>2]=e;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=9400;J[d+96>>2]=0;J[d+100>>2]=0;J[d+120>>2]=0;J[d+124>>2]=0;J[d+112>>2]=0;J[d+116>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0}fa=f+32|0;if(!d){break c}break b;case 0:break d;default:break b}}c=J[a+4>>2];a=J[J[J[c+4>>2]+8>>2]+(J[a+12>>2]<<2)>>2];if((ka[J[J[c>>2]+8>>2]](c)|0)!=1){break c}ka[J[J[c>>2]+8>>2]](c)|0}d=ol(28);J[d+4>>2]=a;a=J[b+28>>2];J[d+8>>2]=J[b+24>>2];J[d+12>>2]=a;a=J[b+36>>2];J[d+16>>2]=J[b+32>>2];J[d+20>>2]=a;J[d+24>>2]=J[b+40>>2];J[d>>2]=9812}fa=b+48|0;return d|0}function Re(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0;h=fa-16|0;fa=h;J[h+12>>2]=b;b=ol(32);J[h>>2]=b;J[h+4>>2]=17;J[h+8>>2]=-2147483616;H[b+16|0]=K[1261];g=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);i=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=i;H[b+9|0]=i>>>8;H[b+10|0]=i>>>16;H[b+11|0]=i>>>24;H[b+12|0]=g;H[b+13|0]=g>>>8;H[b+14|0]=g>>>16;H[b+15|0]=g>>>24;g=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);i=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=i;H[b+1|0]=i>>>8;H[b+2|0]=i>>>16;H[b+3|0]=i>>>24;H[b+4|0]=g;H[b+5|0]=g>>>8;H[b+6|0]=g>>>16;H[b+7|0]=g>>>24;H[b+17|0]=0;i=a+4|0;Qe(i,h+12|0,h,c);if(H[h+11|0]<0){gl(J[h>>2])}a=ol(32);J[h>>2]=a;J[h+4>>2]=19;J[h+8>>2]=-2147483616;b=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[a+15|0]=b;H[a+16|0]=b>>>8;H[a+17|0]=b>>>16;H[a+18|0]=b>>>24;b=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);c=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);c=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+19|0]=0;g=fa-48|0;fa=g;j=J[h+12>>2];a=i+16|0;c=J[a>>2];a:{b:{if(!c){break b}b=a;while(1){k=(j|0)>J[c+16>>2];b=k?b:c;c=J[(k?c+4|0:c)>>2];if(c){continue}break}if((a|0)==(b|0)){break b}if((j|0)>=J[b+16>>2]){break a}}J[g+28>>2]=0;J[g+32>>2]=0;c=g+24|0;J[g+24>>2]=c|4;a=g+16|0;J[a>>2]=0;J[a+4>>2]=0;J[g+8>>2]=j;J[g+12>>2]=a;a=g+8|0;Me(g+40|0,i+12|0,a,a);b=J[g+40>>2];Mc(a|4,J[g+16>>2]);Mc(c,J[g+28>>2])}b=b+20|0;a=fa-48|0;fa=a;J[a+24>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;c:{if((d|0)<=0){break c}wl(a,N[e>>2]);c=K[a+11|0];j=c<<24>>24<0;tl(a+16|0,j?J[a>>2]:a,j?J[a+4>>2]:c);if(H[a+11|0]<0){gl(J[a>>2])}c=1;if((d|0)==1){break c}while(1){j=a+16|0;tl(j,2030,wk(2030));wl(a,N[(c<<2)+e>>2]);l=j;j=K[a+11|0];k=j<<24>>24<0;tl(l,k?J[a>>2]:a,k?J[a+4>>2]:j);if(H[a+11|0]<0){gl(J[a>>2])}c=c+1|0;if((d|0)!=(c|0)){continue}break}}J[a+40>>2]=h;Ze(a,b,h,a+40|0);d=J[a>>2];b=d+28|0;d:{if((b|0)==(a+16|0)){break d}e=K[a+27|0];c=e<<24>>24;if(H[d+39|0]>=0){if((c|0)>=0){c=J[a+20>>2];J[b>>2]=J[a+16>>2];J[b+4>>2]=c;J[b+8>>2]=J[a+24>>2];break d}vl(b,J[a+16>>2],J[a+20>>2]);break d}d=b;b=(c|0)<0;ul(d,b?J[a+16>>2]:a+16|0,b?J[a+20>>2]:e)}if(H[a+27|0]<0){gl(J[a+16>>2])}fa=a+48|0;fa=g+48|0;if(H[h+11|0]<0){gl(J[h>>2])}a=ol(32);J[h>>2]=a;J[h+4>>2]=18;J[h+8>>2]=-2147483616;b=K[1547]|K[1548]<<8;H[a+16|0]=b;H[a+17|0]=b>>>8;b=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);c=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);c=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+18|0]=0;b=fa-48|0;fa=b;c=J[h+12>>2];a=i+16|0;e=J[a>>2];e:{f:{if(!e){break f}d=a;while(1){g=(c|0)>J[e+16>>2];d=g?d:e;e=J[(g?e+4|0:e)>>2];if(e){continue}break}if((a|0)==(d|0)){break f}if((c|0)>=J[d+16>>2]){break e}}J[b+28>>2]=0;J[b+32>>2]=0;e=b+24|0;J[b+24>>2]=e|4;a=b+16|0;J[a>>2]=0;J[a+4>>2]=0;J[b+8>>2]=c;J[b+12>>2]=a;a=b+8|0;Me(b+40|0,i+12|0,a,a);d=J[b+40>>2];Mc(a|4,J[b+16>>2]);Mc(e,J[b+28>>2])}a=fa-48|0;fa=a;wl(a+8|0,f);J[a+32>>2]=h;Ze(a+40|0,d+20|0,h,a+32|0);c=J[a+40>>2];if(H[c+39|0]<0){gl(J[c+28>>2])}d=J[a+12>>2];J[c+28>>2]=J[a+8>>2];J[c+32>>2]=d;J[c+36>>2]=J[a+16>>2];fa=a+48|0;fa=b+48|0;if(H[h+11|0]<0){gl(J[h>>2])}fa=h+16|0}function qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0);f=fa-32|0;fa=f;J[f+28>>2]=c;a:{if(!Ic(a,b,c)){break a}i=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];if(J[i+28>>2]!=9){break a}g=J[b+48>>2];c=ol(32);J[f+16>>2]=c;J[f+20>>2]=17;J[f+24>>2]=-2147483616;H[c+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);h=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[c+8|0]=h;H[c+9|0]=h>>>8;H[c+10|0]=h>>>16;H[c+11|0]=h>>>24;H[c+12|0]=e;H[c+13|0]=e>>>8;H[c+14|0]=e>>>16;H[c+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);h=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[c|0]=h;H[c+1|0]=h>>>8;H[c+2|0]=h>>>16;H[c+3|0]=h>>>24;H[c+4|0]=e;H[c+5|0]=e>>>8;H[c+6|0]=e>>>16;H[c+7|0]=e>>>24;H[c+17|0]=0;h=Gb(g,f+28|0,f+16|0,-1);if(H[f+27|0]<0){gl(J[f+16>>2])}if((h|0)<=0){break a}j=J[b+48>>2];c=ol(32);J[f+16>>2]=c;J[f+20>>2]=19;J[f+24>>2]=-2147483616;e=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[c+15|0]=e;H[c+16|0]=e>>>8;H[c+17|0]=e>>>16;H[c+18|0]=e>>>24;e=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);g=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[c+8|0]=g;H[c+9|0]=g>>>8;H[c+10|0]=g>>>16;H[c+11|0]=g>>>24;H[c+12|0]=e;H[c+13|0]=e>>>8;H[c+14|0]=e>>>16;H[c+15|0]=e>>>24;e=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);g=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[c|0]=g;H[c+1|0]=g>>>8;H[c+2|0]=g>>>16;H[c+3|0]=g>>>24;H[c+4|0]=e;H[c+5|0]=e>>>8;H[c+6|0]=e>>>16;H[c+7|0]=e>>>24;H[c+19|0]=0;b:{if(!Hb(j,f+28|0,f+16|0)){break b}g=J[b+48>>2];c=ol(32);J[f>>2]=c;J[f+4>>2]=18;J[f+8>>2]=-2147483616;d=K[1547]|K[1548]<<8;H[c+16|0]=d;H[c+17|0]=d>>>8;d=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);e=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);e=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+18|0]=0;d=Hb(g,f+28|0,f);if(H[f+11|0]>=0){break b}gl(J[f>>2])}if(H[f+27|0]<0){gl(J[f+16>>2])}c:{if(d){c=0;d=K[i+24|0];if(d){d=d<<2;c=ol(d);ok(c,0,d)}j=J[b+48>>2];d=ol(32);J[f+16>>2]=d;J[f+20>>2]=19;J[f+24>>2]=-2147483616;e=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[d+15|0]=e;H[d+16|0]=e>>>8;H[d+17|0]=e>>>16;H[d+18|0]=e>>>24;e=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);g=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[d+8|0]=g;H[d+9|0]=g>>>8;H[d+10|0]=g>>>16;H[d+11|0]=g>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);g=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[d|0]=g;H[d+1|0]=g>>>8;H[d+2|0]=g>>>16;H[d+3|0]=g>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;H[d+19|0]=0;Ib(j,f+28|0,f+16|0,K[i+24|0],c);if(H[f+27|0]<0){gl(J[f+16>>2])}g=J[b+48>>2];b=ol(32);J[f+16>>2]=b;J[f+20>>2]=18;J[f+24>>2]=-2147483616;d=K[1547]|K[1548]<<8;H[b+16|0]=d;H[b+17|0]=d>>>8;d=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);e=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);e=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;H[b+18|0]=0;k=Jb(g,f+28|0,f+16|0);if(H[f+27|0]<0){gl(J[f+16>>2])}a=Pa(a+40|0,h,c,K[i+24|0],k);if(c){gl(c)}d=0;if(a){break c}break a}d=0;if(!Ra(a+40|0,i,h)){break a}}d=1}fa=f+32|0;return d|0}function kh(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,n=0,o=0,p=0,q=0,r=0,s=0;k=fa-32|0;fa=k;c=J[a+16>>2];J[a+20>>2]=c;a:{b:{c:{d:{e:{f:{g:{if((c|0)!=J[a+24>>2]){J[c>>2]=b;b=c+4|0;J[a+20>>2]=b;d=c;break g}d=ol(4);J[d>>2]=b;b=d+4|0;J[a+24>>2]=b;J[a+20>>2]=b;J[a+16>>2]=d;if(c){break f}}c=J[a+8>>2];c=J[c+100>>2]-J[c+96>>2]|0;break e}gl(c);b=J[a+20>>2];d=J[a+16>>2];if((b|0)==(d|0)){break d}c=J[a+8>>2];c=J[c+100>>2]-J[c+96>>2]|0}if((c|0)>0){r=a+120|0;m=a+200|0;c=(c|0)/12|0;s=(c|0)<=1?1:c;while(1){h:{i:{d=b-4|0;b=J[d>>2];if((b|0)==-1){break i}c=(b>>>0)/3|0;if(J[J[a+28>>2]+(c>>>3&268435452)>>2]>>>c&1){break i}n=0;while(1){J[a+164>>2]=J[a+164>>2]+1;e=b;h=(b>>>0)/3|0;g=(b|0)==-1;o=g?-1:h;b=J[a+28>>2]+(o>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];j:{if((b|0)!=J[a+80>>2]){J[b>>2]=e;J[a+76>>2]=b+4;break j}j=J[a+72>>2];l=b-j|0;d=l>>2;i=d+1|0;if(i>>>0>1073741823){break c}c=l>>>1|0;i=l>>>0>=2147483644?1073741823:c>>>0>i>>>0?c:i;if(i){if(i>>>0>1073741823){break a}c=ol(i<<2)}else{c=0}f=c+(d<<2)|0;J[f>>2]=e;d=f+4|0;if((b|0)!=(j|0)){while(1){f=f-4|0;b=b-4|0;J[f>>2]=J[b>>2];if((b|0)!=(j|0)){continue}break}}J[a+80>>2]=c+(i<<2);J[a+76>>2]=d;J[a+72>>2]=f;if(!j){break j}gl(j)}J[a+320>>2]=e;b=-1;f=J[a+12>>2];b=(e|0)!=-1?J[J[f>>2]+(e<<2)>>2]:b;i=b<<2;q=J[i+J[a+152>>2]>>2];k:{l:{d=J[a+84>>2]+(b>>>3&536870908)|0;c=J[d>>2];b=1<>2]=b|c;if((q|0)==-1){break l}}m:{if(g){break m}b=-1;c=e+1|0;g=(c>>>0)%3|0?c:e-2|0;if((g|0)!=-1){b=J[J[f+12>>2]+(g<<2)>>2]}j=e-P(h,3)|0;n:{o:{if(j){d=e-1|0;break o}d=e+2|0;c=-1;if((d|0)==-1){break n}}c=J[J[f+12>>2]+(d<<2)>>2]}p=(c|0)==-1;l=p?-1:(c>>>0)/3|0;p:{if((g|0)==-1){break p}h=J[f+12>>2];d=J[h+(g<<2)>>2];if((d|0)==-1){break p}g=J[a+28>>2];d=(d>>>0)/3|0;if(J[g+(d>>>3&268435452)>>2]>>>d&1){break p}q:{r:{if(j){f=e-1|0;break r}f=e+2|0;if((f|0)==-1){break q}}d=J[(f<<2)+h>>2];if((d|0)==-1){break q}d=(d>>>0)/3|0;if(J[g+(d>>>3&268435452)>>2]>>>d&1){break q}mh(m,1);J[a+168>>2]=J[a+168>>2]+1;s:{if((q|0)==-1){break s}d=J[J[a+152>>2]+i>>2];if(J[J[a+140>>2]+(d>>>3&536870908)>>2]>>>d&1){break s}Yg(a,e,0)}e=J[a+164>>2];J[k+4>>2]=o;d=k+4|0;J[k+16>>2]=d;ch(k+24|0,r,d,k+16|0);J[J[k+24>>2]+12>>2]=e;f=J[a+20>>2];J[f-4>>2]=c;if(J[a+24>>2]!=(f|0)){J[f>>2]=b;J[a+20>>2]=f+4;break h}h=J[a+16>>2];g=f-h|0;d=g>>2;e=d+1|0;if(e>>>0>1073741823){break b}c=g>>>1|0;e=g>>>0>=2147483644?1073741823:c>>>0>e>>>0?c:e;if(e){if(e>>>0>1073741823){break a}c=ol(e<<2)}else{c=0}d=c+(d<<2)|0;J[d>>2]=b;b=d+4|0;if((f|0)!=(h|0)){while(1){d=d-4|0;f=f-4|0;J[d>>2]=J[f>>2];if((f|0)!=(h|0)){continue}break}}J[a+24>>2]=c+(e<<2);J[a+20>>2]=b;J[a+16>>2]=d;if(!h){break h}gl(h);break h}if(!p){dh(a,J[a+164>>2],0,l)}mh(m,3);break k}d=(b|0)==-1;if(!d){dh(a,J[a+164>>2],1,d?-1:(b>>>0)/3|0)}t:{u:{if(j){b=e-1|0;break u}b=e+2|0;if((b|0)==-1){break t}}b=J[J[J[a+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break t}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break t}mh(m,5);b=c;break k}if(p){break m}dh(a,J[a+164>>2],0,l)}mh(m,7);J[a+20>>2]=J[a+20>>2]-4;break h}mh(m,0);b=-1;if((e|0)==-1){break k}c=e+1|0;c=(c>>>0)%3|0?c:e-2|0;if((c|0)==-1){break k}b=J[J[J[a+12>>2]+12>>2]+(c<<2)>>2]}n=n+1|0;if((s|0)!=(n|0)){continue}break}break h}J[a+20>>2]=d}b=J[a+20>>2];if((b|0)!=J[a+16>>2]){continue}break}break d}g=J[a+28>>2];while(1){c=b-4|0;e=J[c>>2];v:{if((e|0)!=-1){e=(e>>>0)/3|0;if(!(J[g+(e>>>3&268435452)>>2]>>>e&1)){break v}}J[a+20>>2]=c;b=c}if((b|0)!=(d|0)){continue}break}}fa=k+32|0;return 1}Ia();C()}Ia();C()}Ya();C()}function vd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;J[a+8>>2]=e;q=a+32|0;f=J[q>>2];h=J[a+36>>2]-f>>2;a:{if(h>>>0>>0){La(q,e-h|0);break a}if(e>>>0>=h>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){h=g;break c}f=1;h=d-1|0;l=h&1;d:{if((d|0)==2){h=g;break d}o=h&-2;d=0;h=g;while(1){i=(f<<2)+b|0;p=J[i+4>>2];k=J[i>>2];j=(k|0)<(h|0);h=j?k:h;i=(h|0)>(p|0);h=i?p:h;g=j?g:(g|0)<(k|0)?k:g;g=i?g:(g|0)<(p|0)?p:g;f=f+2|0;d=d+2|0;if((o|0)!=(d|0)){continue}break}}if(!l){break c}f=J[(f<<2)+b>>2];d=(f|0)<(h|0);h=d?f:h;g=d?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=h;f=(g>>31)-((h>>31)+(g>>>0>>0)|0)|0;d=g-h|0;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}s=e<<2;d=e>>>0>1073741823?-1:s;h=ok(ol(d),0,d);d=J[a+56>>2];t=J[d>>2];d=J[d+4>>2]-t|0;if((d|0)>=5){w=J[a+52>>2];u=J[a+48>>2];x=e&-2;y=e&1;v=d>>2;l=v;while(1){o=l;e:{f:{l=l-1|0;if(v>>>0>l>>>0){p=P(e,l);d=J[(l<<2)+t>>2];if((d|0)==-1){break f}g=J[J[u+12>>2]+(d<<2)>>2];if((g|0)==-1){break f}j=J[w>>2];k=J[u>>2];i=J[j+(J[k+(g<<2)>>2]<<2)>>2];d=g+1|0;d=(d>>>0)%3|0?d:g-2|0;if((d|0)!=-1){f=J[k+(d<<2)>>2]}else{f=-1}g:{h:{if((g>>>0)%3|0){g=g-1|0;break h}g=g+2|0;d=-1;if((g|0)==-1){break g}}d=J[k+(g<<2)>>2]}if((i|0)>=(l|0)){break f}f=J[(f<<2)+j>>2];if((f|0)>=(l|0)){break f}d=J[j+(d<<2)>>2];if((d|0)>=(l|0)){break f}i:{if((e|0)<=0){break i}k=P(d,e);j=P(e,f);i=P(e,i);g=0;d=0;if((e|0)!=1){while(1){J[h+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+j<<2)+b>>2]|0)-J[(g+i<<2)+b>>2];f=g|1;J[h+(f<<2)>>2]=(J[(f+k<<2)+b>>2]+J[(f+j<<2)+b>>2]|0)-J[(f+i<<2)+b>>2];g=g+2|0;d=d+2|0;if((x|0)!=(d|0)){continue}break}}if(!y){break i}J[h+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+j<<2)+b>>2]|0)-J[(g+i<<2)+b>>2]}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;p=d+c|0;k=b+d|0;i=J[q>>2];m=0;d=h;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];j:{if((r|0)>(j|0)){J[f+n>>2]=j;break j}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break j}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=m<<2;d=g+p|0;g=J[g+k>>2]-J[f+g>>2]|0;J[d>>2]=g;k:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break k}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}break e}Xc();C()}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;p=d+c|0;k=b+d|0;d=(P(o-2|0,e)<<2)+b|0;i=J[q>>2];m=0;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];l:{if((r|0)>(j|0)){J[f+n>>2]=j;break l}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break l}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=m<<2;d=g+p|0;g=J[g+k>>2]-J[f+g>>2]|0;J[d>>2]=g;m:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break m}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}}if((o|0)>2){continue}break}}if((e|0)>0){ok(h,0,s)}g=J[a+8>>2];if((g|0)>0){e=J[a+32>>2];m=0;d=h;while(1){f=e;if((g|0)>0){f=J[q>>2];g=0;while(1){o=g<<2;l=J[o+d>>2];i=J[a+16>>2];n:{if((l|0)>(i|0)){J[f+o>>2]=i;break n}o=f+o|0;i=J[a+12>>2];if((i|0)>(l|0)){J[o>>2]=i;break n}J[o>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}g=m<<2;d=g+c|0;g=J[b+g>>2]-J[f+g>>2]|0;J[d>>2]=g;o:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break o}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}}gl(h);return 1}function Wc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;J[a+8>>2]=e;q=a+32|0;f=J[q>>2];h=J[a+36>>2]-f>>2;a:{if(h>>>0>>0){La(q,e-h|0);break a}if(e>>>0>=h>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){h=g;break c}f=1;h=d-1|0;l=h&1;d:{if((d|0)==2){h=g;break d}o=h&-2;d=0;h=g;while(1){i=(f<<2)+b|0;m=J[i+4>>2];p=J[i>>2];j=(p|0)<(h|0);h=j?p:h;i=(h|0)>(m|0);h=i?m:h;g=j?g:(g|0)<(p|0)?p:g;g=i?g:(g|0)<(m|0)?m:g;f=f+2|0;d=d+2|0;if((o|0)!=(d|0)){continue}break}}if(!l){break c}f=J[(f<<2)+b>>2];d=(f|0)<(h|0);h=d?f:h;g=d?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=h;f=(g>>31)-((h>>31)+(g>>>0>>0)|0)|0;d=g-h|0;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}t=e<<2;d=e>>>0>1073741823?-1:t;h=ok(ol(d),0,d);d=J[a+56>>2];u=J[d>>2];d=J[d+4>>2]-u|0;if((d|0)>=5){w=J[a+52>>2];s=J[a+48>>2];x=e&-2;y=e&1;v=d>>2;l=v;while(1){o=l;e:{f:{l=l-1|0;if(v>>>0>l>>>0){p=P(e,l);d=J[(l<<2)+u>>2];if((d|0)==-1|J[J[s>>2]+(d>>>3&536870908)>>2]>>>d&1){break f}m=J[J[J[s+64>>2]+12>>2]+(d<<2)>>2];if((m|0)==-1){break f}i=J[w>>2];j=J[s+28>>2];g=J[i+(J[j+(m<<2)>>2]<<2)>>2];if((g|0)>=(l|0)){break f}d=m+1|0;f=J[i+(J[j+(((d>>>0)%3|0?d:m-2|0)<<2)>>2]<<2)>>2];if((f|0)>=(l|0)){break f}d=J[i+(J[j+(m+((m>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((d|0)>=(l|0)){break f}g:{if((e|0)<=0){break g}j=P(d,e);i=P(e,f);f=P(e,g);g=0;k=0;if((e|0)!=1){while(1){J[h+(g<<2)>>2]=(J[(g+j<<2)+b>>2]+J[(g+i<<2)+b>>2]|0)-J[(f+g<<2)+b>>2];d=g|1;J[h+(d<<2)>>2]=(J[(d+j<<2)+b>>2]+J[(d+i<<2)+b>>2]|0)-J[(d+f<<2)+b>>2];g=g+2|0;k=k+2|0;if((x|0)!=(k|0)){continue}break}}if(!y){break g}J[h+(g<<2)>>2]=(J[(g+j<<2)+b>>2]+J[(g+i<<2)+b>>2]|0)-J[(f+g<<2)+b>>2]}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;m=d+c|0;p=b+d|0;i=J[q>>2];k=0;d=h;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];h:{if((r|0)>(j|0)){J[f+n>>2]=j;break h}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break h}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=k<<2;d=g+m|0;g=J[g+p>>2]-J[f+g>>2]|0;J[d>>2]=g;i:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break i}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}break e}Xc();C()}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;m=d+c|0;p=b+d|0;d=(P(o-2|0,e)<<2)+b|0;i=J[q>>2];k=0;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];j:{if((r|0)>(j|0)){J[f+n>>2]=j;break j}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break j}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=k<<2;d=g+m|0;g=J[g+p>>2]-J[f+g>>2]|0;J[d>>2]=g;k:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break k}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}}if((o|0)>2){continue}break}}if((e|0)>0){ok(h,0,t)}g=J[a+8>>2];if((g|0)>0){e=J[a+32>>2];k=0;d=h;while(1){f=e;if((g|0)>0){f=J[q>>2];g=0;while(1){o=g<<2;l=J[o+d>>2];i=J[a+16>>2];l:{if((l|0)>(i|0)){J[f+o>>2]=i;break l}o=f+o|0;i=J[a+12>>2];if((i|0)>(l|0)){J[o>>2]=i;break l}J[o>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}g=k<<2;d=g+c|0;g=J[b+g>>2]-J[f+g>>2]|0;J[d>>2]=g;m:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break m}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}}gl(h);return 1}function Na(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Q(0),p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(J[c>>2]==J[c+4>>2]){m=J[d+80>>2];u=fa-16|0;fa=u;g=J[a+4>>2];k=K[b+24|0];h=J[d+48>>2];n=J[J[d>>2]>>2];c=u+8|0;J[c>>2]=1065353216;d=c;N[c>>2]=Q(-1<>2];c=ol(k<<2);a:{if(!m|!k){break a}p=h+n|0;o=N[d>>2];n=J[a+8>>2];v=J[b>>2];d=J[b+48>>2];g=J[b+40>>2];w=J[b+44>>2];if(!K[b+84|0]){f=J[b+68>>2];s=k&254;t=k&1;a=0;while(1){b=J[v>>2];l=dm(g,w,J[f+(i<<2)>>2],0)+d|0;h=mk(c,b+l|0,g);b=0;q=0;if((k|0)!=1){while(1){l=p+(a<<2)|0;j=b<<2;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));b:{if(Q(R(e))>2]=r;j=j|4;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));c:{if(Q(R(e))>2]=j;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){l=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+h>>2]-N[b+n>>2]))+Q(.5))));d:{if(Q(R(e))>2]=b;a=a+1|0}i=i+1|0;if((m|0)!=(i|0)){continue}break}break a}s=k&254;t=k&1;a=0;while(1){b=J[v>>2];h=dm(g,w,i,l)+d|0;j=mk(c,b+h|0,g);b=0;q=0;if((k|0)!=1){while(1){h=p+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));e:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));f:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){h=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+j>>2]-N[b+n>>2]))+Q(.5))));g:{if(Q(R(e))>2]=b;a=a+1|0}b=l;i=i+1|0;b=i?b:b+1|0;l=b;if((i|0)!=(m|0)|b){continue}break}}gl(c);fa=u+16|0;return 1}j=fa-16|0;fa=j;m=J[a+4>>2];i=K[b+24|0];g=J[d+48>>2];h=J[J[d>>2]>>2];d=j+8|0;J[d>>2]=1065353216;l=d;N[d>>2]=Q(-1<>2];d=ol(i<<2);m=J[c+4>>2];q=J[c>>2];h:{if(!i|(m|0)==(q|0)){break h}n=h+g|0;c=m-q>>2;u=c>>>0<=1?1:c;o=N[l>>2];h=J[a+8>>2];v=J[b>>2];l=J[b+48>>2];m=J[b+40>>2];w=J[b+44>>2];if(K[b+84|0]){s=i&254;t=i&1;a=0;c=0;while(1){b=J[v>>2];g=dm(m,w,J[q+(c<<2)>>2],0)+l|0;p=mk(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));i:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));j:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(t){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));k:{if(Q(R(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}break h}s=J[b+68>>2];t=i&254;x=i&1;a=0;c=0;while(1){b=J[v>>2];g=dm(m,w,J[s+(J[q+(c<<2)>>2]<<2)>>2],0)+l|0;p=mk(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));l:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));m:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(x){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));n:{if(Q(R(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}}gl(d);fa=j+16|0;return 1}function Je(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=fa-16|0;fa=k;a:{if(!J[a+8>>2]){break a}e=J[a>>2];J[a>>2]=a+4;J[J[a+4>>2]+8>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;f=J[e+4>>2];e=f?f:e;if(!e){Mc(a,e);break a}h=J[e+8>>2];b:{if(!h){break b}f=J[h>>2];if((f|0)==(e|0)){J[h>>2]=0;d=h;f=J[d+4>>2];if(!f){break b}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}break b}J[h+4>>2]=0;d=h;if(!f){break b}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}}c:{if((b|0)==(c|0)){h=e;break c}f=b;while(1){h=d;J[k+12>>2]=e+28;J[k+8>>2]=e+16;b=f+16|0;d=J[k+8>>2];d:{if((b|0)==(d|0)){break d}i=K[b+11|0];g=i<<24>>24;if(H[d+11|0]>=0){if((g|0)>=0){g=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=g;J[d+8>>2]=J[b+8>>2];break d}vl(d,J[b>>2],J[b+4>>2]);break d}l=d;d=(g|0)<0;ul(l,d?J[b>>2]:b,d?J[b+4>>2]:i)}d=J[k+12>>2];g=b+12|0;if((d|0)!=(g|0)){e:{j=K[b+23|0];i=j<<24>>24;if(H[d+11|0]>=0){if((i|0)>=0){b=J[g+4>>2];J[d>>2]=J[g>>2];J[d+4>>2]=b;J[d+8>>2]=J[g+8>>2];break e}vl(d,J[b+12>>2],J[b+16>>2]);break e}l=d;d=(i|0)<0;ul(l,d?J[b+12>>2]:g,d?J[b+16>>2]:j)}}g=J[a+4>>2];f:{if(!g){b=a+4|0;d=b;break f}b=K[e+27|0];d=b<<24>>24<0;j=d?J[e+16>>2]:e+16|0;i=d?J[e+20>>2]:b;while(1){b=g;g=K[b+27|0];d=g<<24>>24<0;g:{h:{i:{g=d?J[b+20>>2]:g;l=g>>>0>>0?g:i;if(l){d=sk(j,d?J[b+16>>2]:b+16|0,l);if(d){break i}}if(g>>>0>i>>>0){break h}break g}if((d|0)>=0){break g}}d=b;g=J[b>>2];if(g){continue}break f}g=J[b+4>>2];if(g){continue}break}d=b+4|0}J[e+8>>2]=b;J[e>>2]=0;J[e+4>>2]=0;J[d>>2]=e;b=e;e=J[J[a>>2]>>2];if(e){J[a>>2]=e;b=J[d>>2]}We(J[a+4>>2],b);J[a+8>>2]=J[a+8>>2]+1;d=0;j:{if(!h){break j}e=J[h+8>>2];if(!e){break j}b=J[e>>2];if((h|0)==(b|0)){J[e>>2]=0;d=e;b=J[d+4>>2];if(!b){break j}while(1){d=b;b=J[b>>2];if(b){continue}b=J[d+4>>2];if(b){continue}break}break j}J[e+4>>2]=0;d=e;if(!b){break j}while(1){d=b;b=J[b>>2];if(b){continue}b=J[d+4>>2];if(b){continue}break}}e=J[f+4>>2];k:{if(e){while(1){b=e;e=J[b>>2];if(e){continue}break k}}while(1){b=J[f+8>>2];e=J[b>>2]!=(f|0);f=b;if(e){continue}break}}if(!h){break c}f=b;e=h;if((b|0)!=(c|0)){continue}break}}Mc(a,h);if(!d){break a}while(1){e=J[d+8>>2];if(e){d=e;continue}break}Mc(a,d)}if((b|0)!=(c|0)){while(1){f=ol(40);g=f+16|0;l:{if(H[b+27|0]>=0){d=J[b+20>>2];J[g>>2]=J[b+16>>2];J[g+4>>2]=d;J[g+8>>2]=J[b+24>>2];break l}sl(g,J[b+16>>2],J[b+20>>2])}d=a+4|0;e=f+28|0;m:{if(H[b+39|0]>=0){h=J[b+32>>2];J[e>>2]=J[b+28>>2];J[e+4>>2]=h;J[e+8>>2]=J[b+36>>2];break m}sl(e,J[b+28>>2],J[b+32>>2])}e=d;h=J[d>>2];n:{if(!h){break n}e=K[f+27|0];d=e<<24>>24<0;i=d?J[f+20>>2]:e;g=d?J[f+16>>2]:g;while(1){d=h;h=K[d+27|0];e=h<<24>>24<0;o:{p:{q:{h=e?J[d+20>>2]:h;j=h>>>0>>0?h:i;if(j){e=sk(g,e?J[d+16>>2]:d+16|0,j);if(e){break q}}if(h>>>0>i>>>0){break p}break o}if((e|0)>=0){break o}}e=d;h=J[d>>2];if(h){continue}break n}h=J[d+4>>2];if(h){continue}break}e=d+4|0}J[f+8>>2]=d;J[f>>2]=0;J[f+4>>2]=0;J[e>>2]=f;d=f;f=J[J[a>>2]>>2];if(f){J[a>>2]=f;d=J[e>>2]}We(J[a+4>>2],d);J[a+8>>2]=J[a+8>>2]+1;f=J[b+4>>2];r:{if(f){while(1){e=f;f=J[e>>2];if(f){continue}break r}}while(1){e=J[b+8>>2];d=J[e>>2]!=(b|0);b=e;if(d){continue}break}}b=e;if((c|0)!=(b|0)){continue}break}}fa=k+16|0}function fk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if((b|0)<0){break a}c=J[a+12>>2];d=J[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=J[d>>2];i=J[e+60>>2];f=J[e+56>>2];e=d+4|0;if((e|0)!=(c|0)){while(1){h=J[e>>2];J[e>>2]=0;g=J[d>>2];J[d>>2]=h;if(g){Kb(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=J[a+12>>2]}if((c|0)!=(d|0)){while(1){c=c-4|0;e=J[c>>2];J[c>>2]=0;if(e){Kb(e)}if((c|0)!=(d|0)){continue}break}}J[a+12>>2]=d;g=J[a+4>>2];b:{if(!g|(i|0)<0){break b}c=J[g+24>>2];d=J[g+28>>2];if((c|0)==(d|0)){break b}while(1){if((i|0)==J[J[c>>2]+24>>2]){d=c+4|0;i=J[g+28>>2];if((d|0)!=(i|0)){while(1){h=J[d>>2];J[d>>2]=0;e=J[c>>2];J[c>>2]=h;if(e){Li(e+12|0,J[e+16>>2]);Mi(e,J[e+4>>2]);gl(e)}c=c+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}d=J[g+28>>2]}if((c|0)!=(d|0)){while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){Li(e+12|0,J[e+16>>2]);Mi(e,J[e+4>>2]);gl(e)}if((c|0)!=(d|0)){continue}break}}J[g+28>>2]=c;break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}c:{if((f|0)>4){break c}d:{e=P(f,12)+a|0;c=J[e+20>>2];d=J[e+24>>2];if((c|0)==(d|0)){break d}while(1){if(J[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c;c=c+4|0;nk(f,c,d-c|0);J[e+24>>2]=d-4}c=J[a+24>>2];d=J[a+20>>2];e:{if((c|0)==(d|0)){break e}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break e}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break e}J[c>>2]=d-1}c=J[a+36>>2];d=J[a+32>>2];f:{if((c|0)==(d|0)){break f}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break f}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break f}J[c>>2]=d-1}c=J[a+48>>2];d=J[a+44>>2];g:{if((c|0)==(d|0)){break g}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break g}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break g}J[c>>2]=d-1}c=J[a+60>>2];d=J[a+56>>2];h:{if((c|0)==(d|0)){break h}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break h}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break h}J[c>>2]=d-1}c=J[a+72>>2];a=J[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;g=e&1;c=0;if(d>>>0>=8){d=e&-2;e=0;while(1){i=c<<2;f=i+a|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}i=a+(i|4)|0;f=J[i>>2];if((f|0)>(b|0)){J[i>>2]=f-1}c=c+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!g){break a}f=b;a=a+(c<<2)|0;b=J[a>>2];if((f|0)>=(b|0)){break a}J[a>>2]=b-1}}function Rk(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=fa-112|0;fa=j;k=i&2147483647;a:{b:{l=e&2147483647;m=!(b|c);if(!(d|l?l-2147418112>>>0<2147549184:m)){o=k-2147418112|0;if(!h&(o|0)==-2147418112?f|g:(o|0)==-2147418112&(h|0)!=0|o>>>0>2147549184){break b}}if(!(!d&(l|0)==2147418112?m:l>>>0<2147418112)){h=d;i=e|32768;f=b;g=c;break a}if(!(!h&(k|0)==2147418112?!(f|g):k>>>0<2147418112)){i=i|32768;break a}if(!(b|d|(l^2147418112|c))){n=d;d=!(b^f|d^h|(c^g|e^i^-2147483648));h=d?0:n;i=d?2147450880:e;f=d?0:b;g=d?0:c;break a}if(!(f|h|(k^2147418112|g))){break a}if(!(b|d|(c|l))){if(f|h|(g|k)){break a}f=b&f;g=c&g;h=d&h;i=e&i;break a}if(f|h|(g|k)){break b}f=b;g=c;h=d;i=e;break a}n=(k|0)==(l|0);r=n&(d|0)==(h|0)?(c|0)==(g|0)&b>>>0>>0|c>>>0>>0:n&d>>>0>>0|k>>>0>l>>>0;m=r;l=m?f:b;o=m?g:c;n=m?i:e;s=n;m=m?h:d;q=n&65535;d=r?d:h;e=r?e:i;t=e;n=e>>>16&32767;p=s>>>16&32767;if(!p){e=!(m|q);i=e;k=e?l:m;e=e<<6;h=e;i=S(i?o:q);e=e+((i|0)==32?S(k)+32|0:i)|0;Sk(j+96|0,l,o,m,q,e-15|0);m=J[j+104>>2];q=J[j+108>>2];o=J[j+100>>2];p=16-e|0;l=J[j+96>>2]}f=r?b:f;g=r?c:g;h=d;i=t&65535;if(!n){b=!(h|i);e=b;k=b?f:h;b=b<<6;c=b;e=S(e?g:i);b=b+((e|0)==32?S(k)+32|0:e)|0;Sk(j+80|0,f,g,h,i,b-15|0);n=16-b|0;h=J[j+88>>2];i=J[j+92>>2];g=J[j+84>>2];f=J[j+80>>2]}c=i<<3|h>>>29;b=h<<3|g>>>29;c=c|524288;h=m<<3|o>>>29;i=q<<3|m>>>29;r=s^t;e=g<<3|f>>>29;d=f<<3;c:{if((n|0)==(p|0)){break c}f=p-n|0;if(f>>>0>127){b=0;c=0;e=0;d=1;break c}Sk(j- -64|0,d,e,b,c,128-f|0);Zk(j+48|0,d,e,b,c,f);b=J[j+56>>2];c=J[j+60>>2];e=J[j+52>>2];d=J[j+48>>2]|(J[j+64>>2]|J[j+72>>2]|(J[j+68>>2]|J[j+76>>2]))!=0}m=d;k=e;n=h;q=i|524288;e=o<<3|l>>>29;o=l<<3;l=e;d:{if((r|0)<0){f=0;g=0;h=0;i=0;if(!(m^o|b^n|(k^l|c^q))){break a}d=o-m|0;e=l-((m>>>0>o>>>0)+k|0)|0;f=n-b|0;g=(k|0)==(l|0)&m>>>0>o>>>0|k>>>0>l>>>0;h=f-g|0;b=(q-((b>>>0>n>>>0)+c|0)|0)-(f>>>0>>0)|0;i=b;if(b>>>0>524287){break d}b=!(h|i);f=b;g=b?d:h;b=b<<6;c=b;f=S(f?e:i);b=b+((f|0)==32?S(g)+32|0:f)|0;b=b-12|0;Sk(j+32|0,d,e,h,i,b);p=p-b|0;h=J[j+40>>2];i=J[j+44>>2];d=J[j+32>>2];e=J[j+36>>2];break d}e=k+l|0;d=m+o|0;e=d>>>0>>0?e+1|0:e;f=(k|0)==(e|0)&d>>>0>>0|e>>>0>>0;k=c+q|0;b=b+n|0;k=b>>>0>>0?k+1|0:k;h=b+f|0;i=h>>>0>>0?k+1|0:k;if(!(i&1048576)){break d}d=m&1|((e&1)<<31|d>>>1);e=h<<31|e>>>1;p=p+1|0;h=(i&1)<<31|h>>>1;i=i>>>1|0}c=0;l=s&-2147483648;if((p|0)>=32767){h=c;i=l|2147418112;f=0;g=0;break a}n=0;e:{if((p|0)>0){n=p;break e}Sk(j+16|0,d,e,h,i,p+127|0);Zk(j,d,e,h,i,1-p|0);d=J[j>>2]|(J[j+16>>2]|J[j+24>>2]|(J[j+20>>2]|J[j+28>>2]))!=0;e=J[j+4>>2];h=J[j+8>>2];i=J[j+12>>2]}o=d&7;d=(e&7)<<29|d>>>3;f=(o>>>0>4)+d|0;b=h<<29|e>>>3;g=d>>>0>f>>>0?b+1|0:b;d=(b|0)==(g|0)&d>>>0>f>>>0|b>>>0>g>>>0;b=c|((i&7)<<29|h>>>3);h=d+b|0;i=l|(i>>>3&65535|n<<16);i=b>>>0>h>>>0?i+1|0:i;f:{if((o|0)==4){b=0;k=g+b|0;d=f;c=f&1;f=f+c|0;g=d>>>0>f>>>0?k+1|0:k;b=(b|0)==(g|0)&c>>>0>f>>>0|b>>>0>g>>>0;h=b+h|0;i=b>>>0>h>>>0?i+1|0:i;break f}if(!o){break a}}}J[a>>2]=f;J[a+4>>2]=g;J[a+8>>2]=h;J[a+12>>2]=i;fa=j+112|0}function gl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=J[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=J[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=J[d+8>>2];b=b>>>3|0;c=J[d+12>>2];if((c|0)==(e|0)){i=19568,j=J[4892]&hm(b),J[i>>2]=j;break b}J[e+12>>2]=c;J[c+8>>2]=e;break b}h=J[d+24>>2];b=J[d+12>>2];c:{if((d|0)!=(b|0)){c=J[d+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break c}d:{e=d+20|0;c=J[e>>2];if(c){break d}e=d+16|0;c=J[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break b}e=J[d+28>>2];c=(e<<2)+19872|0;e:{if(J[c>>2]==(d|0)){J[c>>2]=b;if(b){break e}i=19572,j=J[4893]&hm(e),J[i>>2]=j;break b}J[h+(J[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}J[b+24>>2]=h;c=J[d+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[d+20>>2];if(!c){break b}J[b+20>>2]=c;J[c+24>>2]=b;break b}b=J[f+4>>2];if((b&3)!=3){break b}J[4894]=a;J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=J[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(J[4898]==(f|0)){J[4898]=d;a=J[4895]+a|0;J[4895]=a;J[d+4>>2]=a|1;if(J[4897]!=(d|0)){break a}J[4894]=0;J[4897]=0;return}if(J[4897]==(f|0)){J[4897]=d;a=J[4894]+a|0;J[4894]=a;J[d+4>>2]=a|1;J[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=J[f+8>>2];b=b>>>3|0;c=J[f+12>>2];if((c|0)==(e|0)){i=19568,j=J[4892]&hm(b),J[i>>2]=j;break g}J[e+12>>2]=c;J[c+8>>2]=e;break g}h=J[f+24>>2];b=J[f+12>>2];h:{if((f|0)!=(b|0)){c=J[f+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break h}i:{e=f+20|0;c=J[e>>2];if(c){break i}e=f+16|0;c=J[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break g}e=J[f+28>>2];c=(e<<2)+19872|0;j:{if(J[c>>2]==(f|0)){J[c>>2]=b;if(b){break j}i=19572,j=J[4893]&hm(e),J[i>>2]=j;break g}J[h+(J[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}J[b+24>>2]=h;c=J[f+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[f+20>>2];if(!c){break g}J[b+20>>2]=c;J[c+24>>2]=b}J[d+4>>2]=a|1;J[a+d>>2]=a;if(J[4897]!=(d|0)){break f}J[4894]=a;return}J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+19608|0;c=J[4892];a=1<<(a>>>3);k:{if(!(c&a)){J[4892]=a|c;a=b;break k}a=J[b+8>>2]}J[b+8>>2]=d;J[a+12>>2]=d;J[d+12>>2]=b;J[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=S(a>>>8|0);e=((a>>>38-b&1)-(b<<1)|0)+62|0}J[d+28>>2]=e;J[d+16>>2]=0;J[d+20>>2]=0;g=(e<<2)+19872|0;l:{m:{c=J[4893];b=1<>2]=d;J[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=J[g>>2];while(1){c=b;if((J[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=J[g+16>>2];if(b){continue}break}J[g+16>>2]=d;J[d+24>>2]=c}J[d+12>>2]=d;J[d+8>>2]=d;break l}a=J[c+8>>2];J[a+12>>2]=d;J[c+8>>2]=d;J[d+24>>2]=0;J[d+12>>2]=c;J[d+8>>2]=a}a=J[4900]-1|0;J[4900]=a?a:-1}}function oe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=fa-48|0;fa=k;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;o=a+96|0;Ce(o);d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+8|0;q=a+44|0;d=d>>>2|0;r=d>>>0<=1?1:d;s=c+4|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Gd(q,J[d+(n<<2)>>2],k+8|0);f=J[k+12>>2];d=f>>31;i=J[k+8>>2];e=i>>31;g=(d^f)-d+((e^i)-e)|0;l=J[k+16>>2];d=l>>31;e=(d^l)-d|0;d=0;m=e;e=e+g|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+92>>2];g=j;break b}j=J[a+92>>2];g=j>>31;f=em(dm(j,g,f,f>>31),ja,e,d);h=f>>31;g=em(dm(j,g,i,i>>31),ja,e,d);d=g>>31;d=(f^h)-h+((d^g)-d)|0;l=(l|0)<0?d-j|0:j-d|0}c:{if((g|0)>=0){i=f+j|0;h=j+l|0;break c}d:{if((f|0)<0){d=l>>31;i=(d^l)-d|0;break d}d=l>>31;i=J[a+84>>2]+(d-(d^l)|0)|0}if((l|0)<0){d=f>>31;h=(d^f)-d|0;break c}d=f>>31;h=J[a+84>>2]+(d-(d^f)|0)|0}d=J[a+84>>2];m=d;e=d;e:{if(!(h|i)){break e}if(!((d|0)!=(h|0)|i)){m=h;e=h;break e}if(!((d|0)!=(i|0)|h)){m=i;e=i;break e}if(!((h|0)<=(j|0)|i)){m=(j<<1)-h|0;e=0;break e}if(!((d|0)!=(i|0)|(h|0)>=(j|0))){m=(j<<1)-h|0;e=i;break e}if(!((d|0)!=(h|0)|(j|0)<=(i|0))){m=h;e=(j<<1)-i|0;break e}if(h){m=h;e=i;break e}m=0;e=i;if((e|0)<=(j|0)){break e}e=(j<<1)-i|0}i=e;J[k+16>>2]=0-l;J[k+12>>2]=0-f;J[k+8>>2]=0-g;f:{if((g|0)<=0){g=j-l|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;g=(l|0)>0?e:d-e|0;e=l>>31;e=(e^l)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|g)){g=d;break g}if(!((d|0)!=(g|0)|e)){g=d;break g}f=(d|0)!=(e|0);if(!(g|f)){g=d;break g}if(!((g|0)<=(j|0)|e)){g=(j<<1)-g|0;d=0;break g}if(!((g|0)>=(j|0)|f)){g=(j<<1)-g|0;break g}if(!((d|0)!=(g|0)|(e|0)>=(j|0))){g=d;d=(j<<1)-e|0;break g}if(g){d=e;break g}g=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}e=(n<<3)+b|0;f=J[e>>2];h=J[e+4>>2];J[k+28>>2]=m;J[k+24>>2]=i;J[k+32>>2]=f;J[k+36>>2]=h;i=k+40|0;h=k+32|0;m=k+24|0;Qd(i,p,h,m);f=J[k+44>>2];l=J[k+40>>2];j=J[e>>2];e=J[e+4>>2];J[k+28>>2]=g;J[k+24>>2]=d;J[k+32>>2]=j;J[k+36>>2]=e;Qd(i,p,h,m);d=J[k+44>>2];g=J[k+40>>2];e=J[a+92>>2];h:{if((e|0)<(l|0)){l=l-J[a+80>>2]|0;break h}if((0-e|0)<=(l|0)){break h}l=J[a+80>>2]+l|0}i:{if((e|0)<(f|0)){f=f-J[a+80>>2]|0;break i}if((0-e|0)<=(f|0)){break i}f=J[a+80>>2]+f|0}j:{if((e|0)<(g|0)){g=g-J[a+80>>2]|0;break j}if((0-e|0)<=(g|0)){break j}g=J[a+80>>2]+g|0}i=n<<1;k:{if((d|0)>(e|0)){d=d-J[a+80>>2]|0;break k}if((0-e|0)<=(d|0)){break k}d=J[a+80>>2]+d|0}e=f>>31;e=(e^f)-e|0;h=l>>31;h=(h^l)-h|0;m=h>>>0>(e^2147483647)>>>0?2147483647:e+h|0;e=d>>31;e=(e^d)-e|0;h=g>>31;h=(h^g)-h|0;e=m>>>0>=(h>>>0>(e^2147483647)>>>0?2147483647:e+h|0)>>>0;De(o,e);i=i<<2;g=e?g:l;J[i+c>>2]=(J[a+80>>2]&g>>31)+g;d=e?d:f;J[i+s>>2]=(J[a+80>>2]&d>>31)+d;n=n+1|0;if((r|0)!=(n|0)){continue}break}}fa=k+48|0;return 1}Xc();C()}function ee(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=fa-48|0;fa=k;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;o=a+96|0;Ce(o);d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+8|0;q=a+44|0;d=d>>>2|0;r=d>>>0<=1?1:d;s=c+4|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}sd(q,J[d+(n<<2)>>2],k+8|0);f=J[k+12>>2];d=f>>31;i=J[k+8>>2];e=i>>31;g=(d^f)-d+((e^i)-e)|0;l=J[k+16>>2];d=l>>31;e=(d^l)-d|0;d=0;m=e;e=e+g|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+92>>2];g=j;break b}j=J[a+92>>2];g=j>>31;f=em(dm(j,g,f,f>>31),ja,e,d);h=f>>31;g=em(dm(j,g,i,i>>31),ja,e,d);d=g>>31;d=(f^h)-h+((d^g)-d)|0;l=(l|0)<0?d-j|0:j-d|0}c:{if((g|0)>=0){i=f+j|0;h=j+l|0;break c}d:{if((f|0)<0){d=l>>31;i=(d^l)-d|0;break d}d=l>>31;i=J[a+84>>2]+(d-(d^l)|0)|0}if((l|0)<0){d=f>>31;h=(d^f)-d|0;break c}d=f>>31;h=J[a+84>>2]+(d-(d^f)|0)|0}d=J[a+84>>2];m=d;e=d;e:{if(!(h|i)){break e}if(!((d|0)!=(h|0)|i)){m=h;e=h;break e}if(!((d|0)!=(i|0)|h)){m=i;e=i;break e}if(!((h|0)<=(j|0)|i)){m=(j<<1)-h|0;e=0;break e}if(!((d|0)!=(i|0)|(h|0)>=(j|0))){m=(j<<1)-h|0;e=i;break e}if(!((d|0)!=(h|0)|(j|0)<=(i|0))){m=h;e=(j<<1)-i|0;break e}if(h){m=h;e=i;break e}m=0;e=i;if((e|0)<=(j|0)){break e}e=(j<<1)-i|0}i=e;J[k+16>>2]=0-l;J[k+12>>2]=0-f;J[k+8>>2]=0-g;f:{if((g|0)<=0){g=j-l|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;g=(l|0)>0?e:d-e|0;e=l>>31;e=(e^l)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|g)){g=d;break g}if(!((d|0)!=(g|0)|e)){g=d;break g}f=(d|0)!=(e|0);if(!(g|f)){g=d;break g}if(!((g|0)<=(j|0)|e)){g=(j<<1)-g|0;d=0;break g}if(!((g|0)>=(j|0)|f)){g=(j<<1)-g|0;break g}if(!((d|0)!=(g|0)|(e|0)>=(j|0))){g=d;d=(j<<1)-e|0;break g}if(g){d=e;break g}g=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}e=(n<<3)+b|0;f=J[e>>2];h=J[e+4>>2];J[k+28>>2]=m;J[k+24>>2]=i;J[k+32>>2]=f;J[k+36>>2]=h;i=k+40|0;h=k+32|0;m=k+24|0;Qd(i,p,h,m);f=J[k+44>>2];l=J[k+40>>2];j=J[e>>2];e=J[e+4>>2];J[k+28>>2]=g;J[k+24>>2]=d;J[k+32>>2]=j;J[k+36>>2]=e;Qd(i,p,h,m);d=J[k+44>>2];g=J[k+40>>2];e=J[a+92>>2];h:{if((e|0)<(l|0)){l=l-J[a+80>>2]|0;break h}if((0-e|0)<=(l|0)){break h}l=J[a+80>>2]+l|0}i:{if((e|0)<(f|0)){f=f-J[a+80>>2]|0;break i}if((0-e|0)<=(f|0)){break i}f=J[a+80>>2]+f|0}j:{if((e|0)<(g|0)){g=g-J[a+80>>2]|0;break j}if((0-e|0)<=(g|0)){break j}g=J[a+80>>2]+g|0}i=n<<1;k:{if((d|0)>(e|0)){d=d-J[a+80>>2]|0;break k}if((0-e|0)<=(d|0)){break k}d=J[a+80>>2]+d|0}e=f>>31;e=(e^f)-e|0;h=l>>31;h=(h^l)-h|0;m=h>>>0>(e^2147483647)>>>0?2147483647:e+h|0;e=d>>31;e=(e^d)-e|0;h=g>>31;h=(h^g)-h|0;e=m>>>0>=(h>>>0>(e^2147483647)>>>0?2147483647:e+h|0)>>>0;De(o,e);i=i<<2;g=e?g:l;J[i+c>>2]=(J[a+80>>2]&g>>31)+g;d=e?d:f;J[i+s>>2]=(J[a+80>>2]&d>>31)+d;n=n+1|0;if((r|0)!=(n|0)){continue}break}}fa=k+48|0;return 1}Xc();C()}function Qh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){e=J[a+48>>2];J[a+52>>2]=e;a:{if((e|0)!=J[a+56>>2]){J[e>>2]=b;J[a+52>>2]=e+4;break a}d=ol(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!e){break a}gl(e)}c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;c=J[J[a+4>>2]+28>>2];k=J[(i<<2)+c>>2];if((k|0)==-1){return 0}e=(b-P(g,3)|0?-1:2)+b|0;j=J[c+(e<<2)>>2];if((j|0)==-1){return 0}b=J[a+36>>2];g=b+(k>>>3&536870908)|0;d=J[g>>2];c=1<>2]=c|d;Bh(a+8|0,k,i);b=J[a+36>>2]}d=(j>>>3&536870908)+b|0;c=J[d>>2];b=1<>2]=b|c;Bh(a+8|0,j,e)}f=J[a+52>>2];if((f|0)==J[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{f=f-4|0;b=J[f>>2];if((b|0)==-1){break c}c=(b>>>0)/3|0;g=J[a+24>>2]+(c>>>3&268435452)|0;d=J[g>>2];c=1<>2]=c|d;h=J[a+4>>2];c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{e:{j=J[a+36>>2]+(c>>>3&536870908)|0;i=J[j>>2];e=1<>2]+(c<<2)>>2];g:{if((g|0)==-1){break g}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}g=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2];if((g|0)!=-1){break f}}J[j>>2]=e|i;Bh(k,c,d);h=J[a+4>>2];break e}J[j>>2]=e|i;Bh(k,c,d);h=J[a+4>>2];b=g+1|0;if((((b>>>0)%3|0?b:g-2|0)|0)==-1){break e}b=-1;h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1|J[J[h>>2]+(c>>>3&536870908)>>2]>>>c&1){break h}b=J[J[J[h+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];e=c>>>5|0;j=J[f+(e<<2)>>2];break d}i:{j:{if((d|0)==-1){break j}c=-1;b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if(!((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1)){c=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((d>>>0)%3|0){f=d-1|0;break l}f=d+2|0;b=-1;if((f|0)==-1){break k}}b=-1;if(J[J[h>>2]+(f>>>3&536870908)>>2]>>>f&1){break k}b=J[J[J[h+64>>2]+12>>2]+(f<<2)>>2]}g=(b|0)==-1;i=g?-1:(b>>>0)/3|0;if((c|0)!=-1){f=J[a+24>>2];d=(c>>>0)/3|0;e=d>>>5|0;j=J[f+(e<<2)>>2];d=1<>2];e=i>>>5|0;j=J[f+(e<<2)>>2];if(!(d&j)){break d}}f=J[a+52>>2]-4|0;J[a+52>>2]=f;break b}if(g){b=c;break d}if(J[(i>>>3&536870908)+f>>2]>>>i&1){b=c;break d}h=J[a+52>>2];J[h-4>>2]=b;if(J[a+56>>2]!=(h|0)){J[h>>2]=c;f=h+4|0;break c}m:{i=J[a+48>>2];e=h-i|0;g=e>>2;d=g+1|0;if(d>>>0<1073741824){b=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(e){if(e>>>0>=1073741824){break m}d=ol(e<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;f=b+4|0;if((h|0)!=(i|0)){while(1){b=b-4|0;h=h-4|0;J[b>>2]=J[h>>2];if((h|0)!=(i|0)){continue}break}}J[a+56>>2]=d+(e<<2);J[a+52>>2]=f;J[a+48>>2]=b;if(!i){break b}gl(i);f=J[a+52>>2];break b}Ia();C()}Ya();C()}J[(e<<2)+f>>2]=d|j;c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}J[a+52>>2]=f}if(J[a+48>>2]!=(f|0)){continue}break}}return 1}function ah(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=J[a+8>>2];d=J[a+4>>2];if((h-d|0)/136>>>0>=b>>>0){a:{if(!b){break a}c=d;f=b&7;if(f){while(1){gh(c);c=c+136|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}d=P(b,136)+d|0;if((b-1&536870911)>>>0<7){break a}while(1){gh(c);gh(c+136|0);gh(c+272|0);gh(c+408|0);gh(c+544|0);gh(c+680|0);gh(c+816|0);gh(c+952|0);c=c+1088|0;if((c|0)!=(d|0)){continue}break}}J[a+4>>2]=d;return}b:{c:{d:{c=J[a>>2];f=(d-c|0)/136|0;g=f+b|0;if(g>>>0<31580642){d=(h-c|0)/136|0;c=d<<1;g=d>>>0>=15790320?31580641:c>>>0>g>>>0?c:g;if(g){if(g>>>0>=31580642){break d}i=ol(P(g,136))}d=P(f,136)+i|0;c=d;f=b&7;if(f){while(1){gh(c);c=c+136|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}h=P(b,136)+d|0;if((b-1&536870911)>>>0>=7){while(1){gh(c);gh(c+136|0);gh(c+272|0);gh(c+408|0);gh(c+544|0);gh(c+680|0);gh(c+816|0);gh(c+952|0);c=c+1088|0;if((h|0)!=(c|0)){continue}break}}f=P(g,136)+i|0;c=J[a+4>>2];e=J[a>>2];if((c|0)==(e|0)){break c}while(1){d=d-136|0;c=c-136|0;J[d>>2]=J[c>>2];J[d+4>>2]=J[c+4>>2];J[d+8>>2]=J[c+8>>2];J[d+12>>2]=J[c+12>>2];J[c+12>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;J[d+16>>2]=J[c+16>>2];J[d+20>>2]=J[c+20>>2];J[d+24>>2]=J[c+24>>2];J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;b=K[c+28|0];J[d+40>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;H[d+28|0]=b;J[d+32>>2]=J[c+32>>2];J[d+36>>2]=J[c+36>>2];J[d+40>>2]=J[c+40>>2];J[c+40>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[d+52>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+44>>2]=J[c+44>>2];J[d+48>>2]=J[c+48>>2];J[d+52>>2]=J[c+52>>2];J[c+52>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;b=d- -64|0;J[b>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+56>>2]=J[c+56>>2];J[d+60>>2]=J[c+60>>2];i=b;b=c- -64|0;J[i>>2]=J[b>>2];J[b>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[d+68>>2]=J[c+68>>2];b=J[c+72>>2];J[d+84>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+72>>2]=b;J[d+76>>2]=J[c+76>>2];J[d+80>>2]=J[c+80>>2];J[d+84>>2]=J[c+84>>2];J[c+84>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[d+96>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+88>>2]=J[c+88>>2];J[d+92>>2]=J[c+92>>2];J[d+96>>2]=J[c+96>>2];J[c+96>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;b=K[c+100|0];J[d+112>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0;H[d+100|0]=b;J[d+104>>2]=J[c+104>>2];J[d+108>>2]=J[c+108>>2];J[d+112>>2]=J[c+112>>2];J[c+112>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;J[d+124>>2]=0;J[d+116>>2]=0;J[d+120>>2]=0;J[d+116>>2]=J[c+116>>2];J[d+120>>2]=J[c+120>>2];J[d+124>>2]=J[c+124>>2];J[c+124>>2]=0;J[c+116>>2]=0;J[c+120>>2]=0;J[d+128>>2]=J[c+128>>2];J[d+132>>2]=J[c+132>>2];if((c|0)!=(e|0)){continue}break}J[a+8>>2]=f;e=J[a+4>>2];J[a+4>>2]=h;c=J[a>>2];J[a>>2]=d;if((c|0)==(e|0)){break b}while(1){a=e-136|0;b=J[a+116>>2];if(b){J[e-16>>2]=b;gl(b)}b=J[e-32>>2];if(b){J[e-28>>2]=b;gl(b)}bh(e-132|0);e=a;if((a|0)!=(c|0)){continue}break}break b}Ia();C()}Ya();C()}J[a+8>>2]=f;J[a+4>>2]=h;J[a>>2]=d}if(c){gl(c)}}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=fa+-64|0;fa=e;a:{b:{c:{d:{if(!K[a+352|0]){break d}c=1;h=ka[J[J[a>>2]+40>>2]](a)|0;if((J[h+12>>2]-J[h+8>>2]|0)<=0){break d}ub(J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+8>>2]>>2],b);break c}c=b<<2;f=J[c+J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+56>>2]+84>>2]>>2];i=J[c+J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+4>>2]+8>>2]>>2];h=-1;c=J[a+176>>2];d=J[a+172>>2];e:{if((c|0)==(d|0)){break e}c=(c-d|0)/136|0;g=c>>>0<=1?1:c;c=0;while(1){if(J[d+P(c,136)>>2]==(b|0)){h=c;break e}c=c+1|0;if((g|0)!=(c|0)){continue}break}}f:{g:{h:{i:{if(!K[a+352|0]){c=J[i+56>>2];if(!(!f|!c)){if(!K[(d+P(h,136)|0)+28|0]|(f|0)!=1){break i}break h}if(c){break h}}c=a+40|0;break g}d=d+P(h,136)|0;c=J[d+56>>2];f=J[d+60>>2];J[e>>2]=-1;Ig(d+116|0,f-c>>2,e);c=ol(80);f=J[a+8>>2];J[c+12>>2]=0;J[c+16>>2]=0;J[c>>2]=11984;J[c+4>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+76>>2]=0;i=d+104|0;J[c+72>>2]=i;J[c+68>>2]=f;J[c- -64>>2]=0;g=c+56|0;J[g>>2]=0;J[g+4>>2]=0;J[c+8>>2]=10884;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;j=e+24|0;J[j>>2]=0;J[j+4>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+56>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e>>2]=10884;l=d+4|0;J[e+4>>2]=l;d=J[d+68>>2];k=J[d>>2];d=J[d+4>>2];H[e+63|0]=0;k=(d-k>>2>>>0)/3|0;d=e+63|0;Jg(j,k,d);j=J[e+4>>2];k=J[j+56>>2];j=J[j+52>>2];H[e+63|0]=0;Jg(e+36|0,k-j>>2,d);J[e+20>>2]=c;J[e+16>>2]=f;J[e+12>>2]=i;J[e+8>>2]=l;J[c+76>>2]=a+72;Kg(c+8|0,e);Lg(g,J[e+48>>2],J[e+52>>2]);J[e>>2]=10884;d=J[e+48>>2];if(d){J[e+52>>2]=d;gl(d)}J[e>>2]=11136;d=J[e+36>>2];if(d){gl(d)}d=J[e+24>>2];if(d){gl(d)}d=0;break f}c=J[a+12>>2];f=J[c+28>>2];c=J[c+24>>2];J[e>>2]=-1;g=d;d=P(h,136);g=g+d|0;Ig(g+116|0,f-c>>2,e);H[(d+J[a+172>>2]|0)+100|0]=0;c=g+104|0}j:{k:{if(Pb(J[(ka[J[J[a>>2]+40>>2]](a)|0)+48>>2])|J[i+56>>2]){break k}if(K[a+352|0]){d=J[a+8>>2];if((J[d+12>>2]-J[d+8>>2]|0)>4){break k}}d=1;c=Mg(a,c);break j}d=0;c=Ng(a,c)}if(c){break f}c=0;break c}J[((h|0)==-1?a+68|0:(J[a+172>>2]+P(h,136)|0)+132|0)>>2]=d;i=rc(ol(76),c,b);b=J[a+188>>2];l:{if((b|0)!=J[a+192>>2]){J[b>>2]=h;J[a+188>>2]=b+4;break l}c=b;b=J[a+184>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=ol(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=h;c=nk(f,b,c);J[a+192>>2]=c+(d<<2);J[a+188>>2]=g+4;J[a+184>>2]=c;if(!b){break l}gl(b)}a=ka[J[J[a>>2]+40>>2]](a)|0;J[e>>2]=i;b=J[a+12>>2];m:{if(b>>>0>2]){J[e>>2]=0;J[b>>2]=i;J[a+12>>2]=b+4;break m}Og(a+8|0,e)}a=J[e>>2];J[e>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}c=1}fa=e- -64|0;return c|0}Ia();C()}Ya();C()}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=fa+-64|0;fa=e;a:{b:{c:{d:{if(!K[a+288|0]){break d}c=1;h=ka[J[J[a>>2]+40>>2]](a)|0;if((J[h+12>>2]-J[h+8>>2]|0)<=0){break d}ub(J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+8>>2]>>2],b);break c}c=b<<2;f=J[c+J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+56>>2]+84>>2]>>2];i=J[c+J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+4>>2]+8>>2]>>2];h=-1;c=J[a+176>>2];d=J[a+172>>2];e:{if((c|0)==(d|0)){break e}c=(c-d|0)/136|0;g=c>>>0<=1?1:c;c=0;while(1){if(J[d+P(c,136)>>2]==(b|0)){h=c;break e}c=c+1|0;if((g|0)!=(c|0)){continue}break}}f:{g:{h:{i:{if(!K[a+288|0]){c=J[i+56>>2];if(!(!f|!c)){if(!K[(d+P(h,136)|0)+28|0]|(f|0)!=1){break i}break h}if(c){break h}}c=a+40|0;break g}d=d+P(h,136)|0;c=J[d+56>>2];f=J[d+60>>2];J[e>>2]=-1;Ig(d+116|0,f-c>>2,e);c=ol(80);f=J[a+8>>2];J[c+12>>2]=0;J[c+16>>2]=0;J[c>>2]=11984;J[c+4>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+76>>2]=0;i=d+104|0;J[c+72>>2]=i;J[c+68>>2]=f;J[c- -64>>2]=0;g=c+56|0;J[g>>2]=0;J[g+4>>2]=0;J[c+8>>2]=10884;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;j=e+24|0;J[j>>2]=0;J[j+4>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+56>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e>>2]=10884;l=d+4|0;J[e+4>>2]=l;d=J[d+68>>2];k=J[d>>2];d=J[d+4>>2];H[e+63|0]=0;k=(d-k>>2>>>0)/3|0;d=e+63|0;Jg(j,k,d);j=J[e+4>>2];k=J[j+56>>2];j=J[j+52>>2];H[e+63|0]=0;Jg(e+36|0,k-j>>2,d);J[e+20>>2]=c;J[e+16>>2]=f;J[e+12>>2]=i;J[e+8>>2]=l;J[c+76>>2]=a+72;Kg(c+8|0,e);Lg(g,J[e+48>>2],J[e+52>>2]);J[e>>2]=10884;d=J[e+48>>2];if(d){J[e+52>>2]=d;gl(d)}J[e>>2]=11136;d=J[e+36>>2];if(d){gl(d)}d=J[e+24>>2];if(d){gl(d)}d=0;break f}c=J[a+12>>2];f=J[c+28>>2];c=J[c+24>>2];J[e>>2]=-1;g=d;d=P(h,136);g=g+d|0;Ig(g+116|0,f-c>>2,e);H[(d+J[a+172>>2]|0)+100|0]=0;c=g+104|0}j:{k:{if(Pb(J[(ka[J[J[a>>2]+40>>2]](a)|0)+48>>2])|J[i+56>>2]){break k}if(K[a+288|0]){d=J[a+8>>2];if((J[d+12>>2]-J[d+8>>2]|0)>4){break k}}d=1;c=Mg(a,c);break j}d=0;c=Ng(a,c)}if(c){break f}c=0;break c}J[((h|0)==-1?a+68|0:(J[a+172>>2]+P(h,136)|0)+132|0)>>2]=d;i=rc(ol(76),c,b);b=J[a+188>>2];l:{if((b|0)!=J[a+192>>2]){J[b>>2]=h;J[a+188>>2]=b+4;break l}c=b;b=J[a+184>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=ol(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=h;c=nk(f,b,c);J[a+192>>2]=c+(d<<2);J[a+188>>2]=g+4;J[a+184>>2]=c;if(!b){break l}gl(b)}a=ka[J[J[a>>2]+40>>2]](a)|0;J[e>>2]=i;b=J[a+12>>2];m:{if(b>>>0>2]){J[e>>2]=0;J[b>>2]=i;J[a+12>>2]=b+4;break m}Og(a+8|0,e)}a=J[e>>2];J[e>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}c=1}fa=e- -64|0;return c|0}Ia();C()}Ya();C()}function mh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=fa-16|0;fa=j;J[a+124>>2]=J[a+124>>2]+1;h=-1;d=J[a+120>>2];c=-1;a:{if((d|0)==-1){break a}c=d+1|0;h=(c>>>0)%3|0?c:d-2|0;c=d-1|0;if((d>>>0)%3|0){break a}c=d+2|0}e=J[a+104>>2];f=J[a+92>>2];g=f+(h<<2)|0;k=e+(J[g>>2]<<2)|0;i=J[k>>2];b:{c:{switch(b|0){case 0:case 1:J[k>>2]=i-1;d=(J[(c<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;if((b|0)!=1){break b}g=0;d:{if((c|0)==-1){d=0;break d}d=0;c=J[J[J[a+88>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break d}while(1){e:{e=J[a+64>>2];if(ka[J[J[e>>2]+36>>2]](e,(c>>>0)/3|0)|0){break e}d=d+1|0;e=c+1|0;c=(e>>>0)%3|0?e:c-2|0;if((c|0)==-1){break e}c=J[J[J[a+88>>2]+12>>2]+(c<<2)>>2];if((c|0)!=-1){continue}}break}e=J[a+104>>2];f=J[a+92>>2]}J[(J[(J[a+120>>2]<<2)+f>>2]<<2)+e>>2]=d+1;f:{if((h|0)==-1){break f}c=J[J[J[a+88>>2]+12>>2]+(h<<2)>>2];if((c|0)==-1){break f}e=J[a+108>>2]-e>>2;while(1){f=J[a+64>>2];d=(c>>>0)/3|0;if(ka[J[J[f>>2]+36>>2]](f,d)|0){break f}f=c+1|0;J[J[a+92>>2]+(((f>>>0)%3|0?f:c-2|0)<<2)>>2]=e;g=g+1|0;f=J[a+88>>2];g:{if((P(d,3)|0)!=(c|0)){c=c-1|0;break g}c=c+2|0;if((c|0)==-1){break f}}c=J[J[f+12>>2]+(c<<2)>>2];if((c|0)!=-1){continue}break}}J[j+12>>2]=g+1;h:{c=J[a+108>>2];f=J[a+112>>2];if(c>>>0>>0){J[c>>2]=J[j+12>>2];J[a+108>>2]=c+4;break h}i:{d=c;c=J[a+104>>2];d=d-c|0;h=d>>2;e=h+1|0;if(e>>>0<1073741824){f=f-c|0;g=f>>>1|0;e=f>>>0>=2147483644?1073741823:e>>>0>>0?g:e;if(e){if(e>>>0>=1073741824){break i}f=ol(e<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=J[j+12>>2];g=e<<2;e=nk(f,c,d);J[a+112>>2]=g+e;J[a+108>>2]=h+4;J[a+104>>2]=e;if(c){gl(c)}break h}Ia();C()}Ya();C()}break b;case 5:d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-2;break b;case 3:d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-1;break b;case 7:break c;default:break b}}d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-2}j:{k:{c=J[a+116>>2];l:{if((c|0)==-1){break l}h=J[(c<<2)+11184>>2];c=J[a+132>>2];d=(c|0)>(i|0)?i:c;c=J[a+128>>2];c=J[a+136>>2]+P((c|0)<=(i|0)?d-c|0:0,12)|0;e=J[c+4>>2];d=J[c+8>>2];if(e>>>0>>0){J[e>>2]=h;J[c+4>>2]=e+4;break l}f=e;e=J[c>>2];i=f-e|0;g=i>>2;f=g+1|0;if(f>>>0>=1073741824){break k}d=d-e|0;k=d>>>1|0;f=d>>>0>=2147483644?1073741823:f>>>0>>0?k:f;if(f){if(f>>>0>=1073741824){break j}d=ol(f<<2)}else{d=0}g=d+(g<<2)|0;J[g>>2]=h;d=nk(d,e,i);J[c>>2]=d;J[c+4>>2]=g+4;J[c+8>>2]=d+(f<<2);if(!e){break l}gl(e)}J[a+116>>2]=b;fa=j+16|0;return}Ia();C()}Ya();C()}function Kh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){f=J[a+48>>2];J[a+52>>2]=f;a:{if((f|0)!=J[a+56>>2]){J[f>>2]=b;J[a+52>>2]=f+4;break a}d=ol(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!f){break a}gl(f)}e=-1;d=J[a+4>>2];c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;if((i|0)!=-1){e=J[J[d>>2]+(i<<2)>>2]}b:{h=b-P(g,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}j=J[J[d>>2]+(c<<2)>>2];if((j|0)==-1){return 0}c=J[a+36>>2];f=c+(e>>>3&536870908)|0;g=J[f>>2];d=1<>2]=d|g;Bh(a+8|0,e,i);c=J[a+36>>2]}g=(j>>>3&536870908)+c|0;d=J[g>>2];c=1<>2]=c|d;Bh(a+8|0,j,(h?-1:2)+b|0)}c=J[a+52>>2];if((c|0)==J[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=J[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;f=J[a+24>>2]+(d>>>3&268435452)|0;g=J[f>>2];d=1<>2]=d|g;while(1){i=J[a+4>>2];e=J[J[i>>2]+(b<<2)>>2];if((e|0)==-1){return 0}e:{f:{h=J[a+36>>2]+(e>>>3&536870908)|0;f=J[h>>2];g=1<>2]+(e<<2)>>2];h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break h}d=J[J[i+12>>2]+(c<<2)>>2];if((d|0)!=-1){break g}}J[h>>2]=f|g;Bh(j,e,b);break f}J[h>>2]=f|g;Bh(j,e,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}c=b-2|0;d=b+1|0;b=-1;c=(d>>>0)%3|0?d:c;if((c|0)!=-1){b=J[J[J[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];f=c>>>5|0;i=J[e+(f<<2)>>2];break e}c=-1;g=J[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=J[J[g+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=J[J[g+12>>2]+(e<<2)>>2]}g=(b|0)==-1;h=g?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=J[a+24>>2];d=(c>>>0)/3|0;f=d>>>5|0;i=J[e+(f<<2)>>2];d=1<>2];f=h>>>5|0;i=J[e+(f<<2)>>2];if(!(d&i)){break e}}c=J[a+52>>2]-4|0;J[a+52>>2]=c;break c}if(g){b=c;break e}if(J[(h>>>3&536870908)+e>>2]>>>h&1){b=c;break e}e=J[a+52>>2];J[e-4>>2]=b;if(J[a+56>>2]!=(e|0)){J[e>>2]=c;c=e+4|0;break d}l:{h=J[a+48>>2];f=e-h|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){b=f>>>1|0;f=f>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(f){if(f>>>0>=1073741824){break l}d=ol(f<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;c=b+4|0;if((e|0)!=(h|0)){while(1){b=b-4|0;e=e-4|0;J[b>>2]=J[e>>2];if((e|0)!=(h|0)){continue}break}}J[a+56>>2]=d+(f<<2);J[a+52>>2]=c;J[a+48>>2]=b;if(!h){break c}gl(h);c=J[a+52>>2];break c}Ia();C()}Ya();C()}J[(f<<2)+e>>2]=d|i;if((b|0)!=-1){continue}break}return 0}J[a+52>>2]=c}if(J[a+48>>2]!=(c|0)){continue}break}}return 1}function bf(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,n=0;d=a+4|0;if((d|0)!=(b|0)){Je(d,J[b>>2],b+4|0);f=J[b+12>>2];k=b+16|0;d=0;h=a+16|0;a:{if(!J[h+8>>2]){break a}e=J[h>>2];j=h+4|0;J[h>>2]=j;J[J[h+4>>2]+8>>2]=0;J[h+4>>2]=0;J[h+8>>2]=0;c=J[e+4>>2];g=c?c:e;if(!g){Ie(h,g);break a}e=J[g+8>>2];b:{if(!e){break b}c=J[e>>2];if((g|0)==(c|0)){J[e>>2]=0;d=e;c=J[e+4>>2];if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}c=J[d+4>>2];if(c){continue}break}break b}J[e+4>>2]=0;d=e;if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}c=J[d+4>>2];if(c){continue}break}}c:{if((f|0)==(k|0)){i=g;break c}c=f;while(1){i=d;J[g+16>>2]=J[c+16>>2];if((c|0)!=(g|0)){Je(g+20|0,J[c+20>>2],c+24|0)}f=j;d=f;e=J[d>>2];d:{if(!e){break d}l=J[g+16>>2];while(1){f=e;if((l|0)>2]){d=f;e=J[d>>2];if(e){continue}break d}e=J[f+4>>2];if(e){continue}break}d=f+4|0}J[g+8>>2]=f;J[g>>2]=0;J[g+4>>2]=0;J[d>>2]=g;f=J[J[h>>2]>>2];if(f){J[h>>2]=f;g=J[d>>2]}We(J[h+4>>2],g);J[h+8>>2]=J[h+8>>2]+1;d=0;e:{if(!i){break e}e=J[i+8>>2];if(!e){break e}f=J[e>>2];if((i|0)==(f|0)){J[e>>2]=0;d=e;f=J[e+4>>2];if(!f){break e}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}break e}J[e+4>>2]=0;d=e;if(!f){break e}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}}e=J[c+4>>2];f:{if(e){while(1){f=e;e=J[e>>2];if(e){continue}break f}}while(1){f=J[c+8>>2];e=J[f>>2]!=(c|0);c=f;if(e){continue}break}}if(!i){break c}g=i;c=f;if((k|0)!=(c|0)){continue}break}}Ie(h,i);if(!d){break a}while(1){c=J[d+8>>2];if(c){d=c;continue}break}Ie(h,d)}if((f|0)!=(k|0)){while(1){n=fa-16|0;fa=n;i=ol(32);g=f+16|0;d=J[g>>2];m=i+24|0;J[m>>2]=0;J[m+4>>2]=0;J[i+16>>2]=d;l=i+20|0;J[l>>2]=m;e=h+4|0;c=J[g+4>>2];j=g+8|0;if((c|0)!=(j|0)){while(1){d=c+16|0;Xe(n+8|0,l,m,d,d);g=J[c+4>>2];g:{if(g){while(1){d=g;g=J[d>>2];if(g){continue}break g}}while(1){d=J[c+8>>2];g=J[d>>2]!=(c|0);c=d;if(g){continue}break}}c=d;if((j|0)!=(c|0)){continue}break}}c=e;d=J[c>>2];h:{if(!d){break h}g=J[i+16>>2];while(1){e=d;if((g|0)>2]){c=e;d=J[c>>2];if(d){continue}break h}d=J[e+4>>2];if(d){continue}break}c=e+4|0}J[i+8>>2]=e;J[i>>2]=0;J[i+4>>2]=0;J[c>>2]=i;d=i;e=J[J[h>>2]>>2];if(e){J[h>>2]=e;d=J[c>>2]}We(J[h+4>>2],d);J[h+8>>2]=J[h+8>>2]+1;fa=n+16|0;e=J[f+4>>2];i:{if(e){while(1){c=e;e=J[c>>2];if(e){continue}break i}}while(1){c=J[f+8>>2];d=J[c>>2]!=(f|0);f=c;if(d){continue}break}}f=c;if((c|0)!=(k|0)){continue}break}}Je(a+28|0,J[b+24>>2],b+28|0)}}function pb(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,n=0;f=fa+-64|0;fa=f;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;J[f+48>>2]=1065353216;c=J[a+80>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;h=ol(e);J[f+16>>2]=h;c=e+h|0;J[f+24>>2]=c;ok(h,0,e);J[f+20>>2]=c;while(1){d=J[J[b>>2]>>2];j=J[b+48>>2];e=dm(J[b+40>>2],J[b+44>>2],i,0);c=e;e=e+j|0;c=d+e|0;n=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+28>>2]=n;b:{c:{l=J[f+36>>2];d:{if(!l){break d}d=J[f+32>>2];j=n^318;k=gm(l)>>>0>1;e=j&l-1;e:{if(!k){break e}c=j;e=c;if(c>>>0>>0){break e}e=(j>>>0)%(l>>>0)|0}c=J[d+(e<<2)>>2];if(!c){break d}d=J[c>>2];if(!d){break d}if(!k){k=l-1|0;while(1){c=J[d+4>>2];f:{if((c|0)!=(j|0)){if((e|0)==(c&k)){break f}break d}if((n|0)==J[d+8>>2]){break c}}d=J[d>>2];if(d){continue}break}break d}while(1){c=J[d+4>>2];g:{if((c|0)!=(j|0)){if(c>>>0>=l>>>0){c=(c>>>0)%(l>>>0)|0}if((c|0)==(e|0)){break g}break d}if((n|0)==J[d+8>>2]){break c}}d=J[d>>2];if(d){continue}break}}J[f+12>>2]=m;J[f+8>>2]=n;c=f+8|0;qb(f+56|0,f+32|0,c,c);c=J[a+40>>2];mk(J[J[a>>2]>>2]+P(c,m)|0,f+28|0,c);h=J[f+16>>2];J[h+(i<<2)>>2]=m;m=m+1|0;break b}J[(i<<2)+h>>2]=J[d+12>>2]}i=i+1|0;g=i?g:g+1|0;d=J[a+80>>2];if(!g&i>>>0>>0){continue}break}if((d|0)!=(m|0)){h:{if(!K[a+84|0]){b=J[a+72>>2];e=J[a+68>>2];if((b|0)==(e|0)){break h}b=b-e>>2;b=b>>>0<=1?1:b;c=b&3;k=0;d=0;if(b-1>>>0>=3){g=b&-4;j=0;while(1){i=d<<2;b=i+e|0;J[b>>2]=J[(J[b>>2]<<2)+h>>2];b=e+(i|4)|0;J[b>>2]=J[(J[b>>2]<<2)+h>>2];b=e+(i|8)|0;J[b>>2]=J[(J[b>>2]<<2)+h>>2];b=e+(i|12)|0;J[b>>2]=J[(J[b>>2]<<2)+h>>2];d=d+4|0;j=j+4|0;if((g|0)!=(j|0)){continue}break}}if(!c){break h}while(1){b=e+(d<<2)|0;J[b>>2]=J[(J[b>>2]<<2)+h>>2];d=d+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break h}H[a+84|0]=0;c=a+68|0;b=J[a+68>>2];g=J[a+72>>2]-b>>2;i:{if(g>>>0>>0){rb(c,d-g|0,2184);d=J[a+80>>2];break i}if(d>>>0>=g>>>0){break i}J[a+72>>2]=b+(d<<2)}if(!d){break h}e=J[c>>2];k=0;b=0;if(d>>>0>=4){c=d&-4;j=0;while(1){i=b<<2;J[i+e>>2]=J[h+i>>2];g=i|4;J[g+e>>2]=J[h+g>>2];g=i|8;J[g+e>>2]=J[h+g>>2];g=i|12;J[g+e>>2]=J[h+g>>2];b=b+4|0;j=j+4|0;if((c|0)!=(j|0)){continue}break}}c=d&3;if(!c){break h}while(1){g=b<<2;J[g+e>>2]=J[h+g>>2];b=b+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}}J[a+80>>2]=m}gl(h)}d=J[f+40>>2];if(d){while(1){a=J[d>>2];gl(d);d=a;if(d){continue}break}}a=J[f+32>>2];J[f+32>>2]=0;if(a){gl(a)}fa=f- -64|0;return m}Ia();C()}function Jc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=fa-16|0;fa=m;f=J[a+4>>2];a:{b:{if(f){if(ka[J[J[a>>2]+52>>2]](a,b,J[J[f+4>>2]+80>>2])|0){break b}break a}if(!(ka[J[J[a>>2]+52>>2]](a,b,0)|0)){break a}}n=1;if(!K[a+28|0]){break a}d=J[a+32>>2];i=J[a+8>>2];c=J[i+80>>2];f=0;J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;c:{d:{e:{if(c){if(c>>>0>=1073741824){break e}c=c<<2;f=ol(c);ok(f,0,c)}e=J[b+4>>2];c=J[b>>2];f:{if((e|0)==(c|0)){break f}b=e-c>>2;if(K[i+84|0]){e=b>>>0<=1?1:b;h=e&3;b=0;if(e-1>>>0>=3){j=e&-4;e=0;while(1){J[(J[c+(b<<2)>>2]<<2)+f>>2]=b;k=b|1;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;k=b|2;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;k=b|3;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;b=b+4|0;e=e+4|0;if((j|0)!=(e|0)){continue}break}}if(!h){break f}while(1){J[(J[c+(b<<2)>>2]<<2)+f>>2]=b;b=b+1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}break f}g=b>>>0<=1?1:b;j=g&3;h=J[i+68>>2];e=0;b=0;if(g-1>>>0>=3){k=g&-4;g=0;while(1){J[(J[h+(J[c+(b<<2)>>2]<<2)>>2]<<2)+f>>2]=b;l=b|1;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;l=b|2;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;l=b|3;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;b=b+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}}if(!j){break f}while(1){J[(J[h+(J[c+(b<<2)>>2]<<2)>>2]<<2)+f>>2]=b;b=b+1|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}b=J[a+4>>2];g:{if(!K[d+84|0]){break g}c=J[J[b+4>>2]+80>>2];H[d+84|0]=0;g=J[d+68>>2];e=J[d+72>>2]-g>>2;if(e>>>0>>0){rb(d+68|0,c-e|0,2744);b=J[a+4>>2];break g}if(c>>>0>=e>>>0){break g}J[d+72>>2]=g+(c<<2)}h=J[J[b+4>>2]+80>>2];if(!h){break d}c=J[d+68>>2];if(K[i+84|0]){a=0;b=0;if(h>>>0>=4){g=h&-4;e=0;while(1){d=b<<2;J[d+c>>2]=J[f+d>>2];i=d|4;J[i+c>>2]=J[f+i>>2];i=d|8;J[i+c>>2]=J[f+i>>2];d=d|12;J[d+c>>2]=J[f+d>>2];b=b+4|0;e=e+4|0;if((g|0)!=(e|0)){continue}break}}e=h&3;if(!e){break c}while(1){d=b<<2;J[d+c>>2]=J[f+d>>2];b=b+1|0;a=a+1|0;if((e|0)!=(a|0)){continue}break}break c}a=J[i+68>>2];e=0;b=0;if(h>>>0>=4){i=h&-4;g=0;while(1){d=b<<2;J[d+c>>2]=J[(J[a+d>>2]<<2)+f>>2];j=d|4;J[j+c>>2]=J[(J[a+j>>2]<<2)+f>>2];j=d|8;J[j+c>>2]=J[(J[a+j>>2]<<2)+f>>2];d=d|12;J[d+c>>2]=J[(J[a+d>>2]<<2)+f>>2];b=b+4|0;g=g+4|0;if((i|0)!=(g|0)){continue}break}}d=h&3;if(!d){break c}while(1){g=b<<2;J[g+c>>2]=J[(J[a+g>>2]<<2)+f>>2];b=b+1|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}break c}Ia();C()}if(!f){break a}}gl(f)}fa=m+16|0;return n|0} -function Ye(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{b:{c:{d:{e:{f:{i=a+4|0;g:{if((i|0)==(b|0)){break g}f=K[b+27|0];g=f<<24>>24<0;h=K[e+11|0];j=h<<24>>24;k=(j|0)<0;f=g?J[b+20>>2]:f;h=k?J[e+4>>2]:h;l=f>>>0>>0;m=l?f:h;if(m){k=k?J[e>>2]:e;g=g?J[b+16>>2]:b+16|0;n=sk(k,g,m);if(!n){if(f>>>0>h>>>0){break g}break f}if((n|0)>=0){break f}break g}if(f>>>0<=h>>>0){break e}}d=J[b>>2];h:{f=b;i:{if((f|0)==J[a>>2]){break i}j:{if(!d){a=b;while(1){f=J[a+8>>2];h=J[f>>2]==(a|0);a=f;if(h){continue}break}break j}a=d;while(1){f=a;a=J[f+4>>2];if(a){continue}break}}a=K[e+11|0];k=a<<24>>24;h=(k|0)<0;j=K[f+27|0];g=j<<24>>24<0;k:{a=h?J[e+4>>2]:a;j=g?J[f+20>>2]:j;l=a>>>0>>0?a:j;if(l){h=sk(g?J[f+16>>2]:f+16|0,h?J[e>>2]:e,l);if(h){break k}}if(a>>>0>j>>>0){break i}break h}if((h|0)>=0){break h}}if(!d){J[c>>2]=b;return b}J[c>>2]=f;return f+4|0}d=J[i>>2];if(!d){J[c>>2]=i;return i}e=(k|0)<0?J[e>>2]:e;b=i;while(1){f=d;d=K[f+27|0];i=d<<24>>24<0;d=i?J[f+20>>2]:d;h=d>>>0>>0;l:{m:{n:{o:{g=h?d:a;p:{if(g){i=i?J[f+16>>2]:f+16|0;j=sk(e,i,g);if(!j){if(a>>>0>>0){break p}break o}if((j|0)>=0){break o}break p}if(a>>>0>=d>>>0){break n}}b=f;d=J[f>>2];if(d){continue}break b}d=sk(i,e,g);if(d){break m}}if(h){break l}break b}if((d|0)>=0){break b}}b=f+4|0;d=J[f+4>>2];if(d){continue}break}break b}a=sk(g,k,m);if(a){break d}}if(l){break c}break a}if((a|0)>=0){break a}}d=J[b+4>>2];q:{if(!d){a=b;while(1){f=J[a+8>>2];g=J[f>>2]!=(a|0);a=f;if(g){continue}break}break q}a=d;while(1){f=a;a=J[f>>2];if(a){continue}break}}r:{s:{if((f|0)==(i|0)){break s}g=K[f+27|0];a=g<<24>>24<0;t:{g=a?J[f+20>>2]:g;k=h>>>0>g>>>0?g:h;if(k){a=sk((j|0)<0?J[e>>2]:e,a?J[f+16>>2]:f+16|0,k);if(a){break t}}if(h>>>0>>0){break s}break r}if((a|0)>=0){break r}}if(!d){J[c>>2]=b;return b+4|0}J[c>>2]=f;return f}a=J[i>>2];if(!a){J[c>>2]=i;return i}d=(j|0)<0?J[e>>2]:e;b=i;while(1){f=a;a=K[f+27|0];e=a<<24>>24<0;a=e?J[f+20>>2]:a;i=a>>>0>>0;u:{v:{w:{x:{g=i?a:h;y:{if(g){e=e?J[f+16>>2]:f+16|0;j=sk(d,e,g);if(!j){if(a>>>0>h>>>0){break y}break x}if((j|0)>=0){break x}break y}if(a>>>0<=h>>>0){break w}}b=f;a=J[f>>2];if(a){continue}break b}a=sk(e,d,g);if(a){break v}}if(i){break u}break b}if((a|0)>=0){break b}}b=f+4|0;a=J[f+4>>2];if(a){continue}break}}J[c>>2]=f;return b}J[c>>2]=b;J[d>>2]=b;return d}function _j(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{d=b;g=J[b>>2];if(g){c=J[b+4>>2];if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}break}}g=J[d+4>>2];if(g){break b}g=0;e=1;break a}J[g+8>>2]=J[d+8>>2];e=0}f=J[d+8>>2];c=J[f>>2];c:{if((d|0)==(c|0)){J[f>>2]=g;if((a|0)==(d|0)){c=0;a=g;break c}c=J[f+4>>2];break c}J[f+4>>2]=g}h=!K[d+12|0];if((b|0)!=(d|0)){f=J[b+8>>2];J[d+8>>2]=f;J[f+((J[J[b+8>>2]>>2]!=(b|0))<<2)>>2]=d;f=J[b>>2];J[d>>2]=f;J[f+8>>2]=d;f=J[b+4>>2];J[d+4>>2]=f;if(f){J[f+8>>2]=d}H[d+12|0]=K[b+12|0];a=(a|0)==(b|0)?d:a}if(!(h|!a)){if(e){while(1){b=K[c+12|0];d:{e=J[c+8>>2];if(J[e>>2]!=(c|0)){if(!b){H[c+12|0]=1;H[e+12|0]=0;d=J[e+4>>2];b=J[d>>2];J[e+4>>2]=b;if(b){J[b+8>>2]=e}J[d+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=d;J[d>>2]=e;J[e+8>>2]=d;b=J[c>>2];a=(b|0)==(a|0)?c:a;c=J[b+4>>2]}e:{f:{d=J[c>>2];g:{if(!(K[d+12|0]?0:d)){b=J[c+4>>2];if(K[b+12|0]?0:b){break g}H[c+12|0]=0;c=J[c+8>>2];h:{if((c|0)==(a|0)){c=a;break h}if(K[c+12|0]){break d}}H[c+12|0]=1;return}b=J[c+4>>2];if(!b){break f}}if(K[b+12|0]){break f}d=c;break e}H[d+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;b=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[b+12|0]=1;b=J[c+4>>2];a=J[b>>2];J[c+4>>2]=a;if(a){J[a+8>>2]=c}J[b+8>>2]=J[c+8>>2];a=J[c+8>>2];J[(((c|0)!=J[a>>2])<<2)+a>>2]=b;J[b>>2]=c;J[c+8>>2]=b;return}if(!b){H[c+12|0]=1;H[e+12|0]=0;b=J[c+4>>2];J[e>>2]=b;if(b){J[b+8>>2]=e}J[c+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=c;J[c+4>>2]=e;J[e+8>>2]=c;a=(a|0)==(e|0)?c:a;c=J[e>>2]}b=J[c>>2];i:{if(!(!b|K[b+12|0])){d=c;break i}d=J[c+4>>2];if(!(K[d+12|0]?0:d)){H[c+12|0]=0;c=J[c+8>>2];if((a|0)!=(c|0)?K[c+12|0]:0){break d}H[c+12|0]=1;return}if(b){if(!K[b+12|0]){d=c;break i}d=J[c+4>>2]}H[d+12|0]=1;H[c+12|0]=0;a=J[d>>2];J[c+4>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d>>2]=c;J[c+8>>2]=d;b=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[b+12|0]=1;b=J[c>>2];a=J[b+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[b+8>>2]=J[c+8>>2];a=J[c+8>>2];J[(((c|0)!=J[a>>2])<<2)+a>>2]=b;J[b+4>>2]=c;J[c+8>>2]=b;return}b=J[c+8>>2];c=J[((J[b>>2]==(c|0))<<2)+b>>2];continue}}H[g+12|0]=1}}function Gc(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;h=fa-32|0;fa=h;a:{b:{if(J[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=ol(b<<2);J[h+24>>2]=b;J[h+20>>2]=0;J[h+16>>2]=c;b=J[a>>2];J[h+12>>2]=0;J[h+8>>2]=b;c=J[a+4>>2];J[h+4>>2]=c&31;J[h>>2]=b+(c>>>3&536870908);e=fa-32|0;fa=e;i=J[h+4>>2];g=J[h+12>>2];j=J[h>>2];d=J[h+8>>2];b=(i-g|0)+(j-d<<3)|0;f=J[h+20>>2];c=b+f|0;J[h+20>>2]=c;if(!((c-1^f-1)>>>0<32?f:0)){J[J[h+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=J[h+16>>2]+(f>>>3&536870908)|0;f=f&31;c:{if((f|0)==(g|0)){if((b|0)<=0){break c}if(g){i=32-g|0;f=(b|0)<(i|0)?b:i;i=-1<>>i-f;J[c>>2]=J[c>>2]&(i^-1)|i&J[d>>2];d=d+4|0;c=(g+f>>>3&536870908)+c|0;b=b-f|0}g=(b|0)/32|0;if(b+31>>>0>=63){nk(c,d,g<<2)}b=b-(g<<5)|0;if((b|0)<=0){break c}f=c;c=g<<2;g=f+c|0;b=-1>>>32-b|0;J[g>>2]=J[g>>2]&(b^-1)|b&J[c+d>>2];break c}J[e+28>>2]=g;J[e+24>>2]=d;J[e+20>>2]=i;J[e+16>>2]=j;J[e+12>>2]=f;J[e+8>>2]=c;b=J[e+28>>2];c=J[e+24>>2];g=(J[e+20>>2]-b|0)+(J[e+16>>2]-c<<3)|0;d:{if((g|0)<=0){b=J[e+12>>2];d=J[e+8>>2];break d}e:{if(!b){b=J[e+12>>2];break e}d=J[e+12>>2];j=32-d|0;k=32-b|0;f=(g|0)<(k|0)?g:k;i=f>>>0>j>>>0?j:f;l=J[e+8>>2];m=J[l>>2]&(-1<>>j-i^-1);j=J[c>>2]&(-1<>>k-f);J[l>>2]=m|(b>>>0>>0?j<>>b-d|0);c=d+i|0;b=c&31;J[e+12>>2]=b;d=l+(c>>>3&536870908)|0;J[e+8>>2]=d;c=f-i|0;if((c|0)>0){J[d>>2]=J[d>>2]&(-1>>>32-c^-1)|j>>>i+J[e+28>>2];J[e+12>>2]=c;b=c}g=g-f|0;c=J[e+24>>2]+4|0;J[e+24>>2]=c}i=-1<=32){j=i^-1;while(1){d=J[e+8>>2];c=J[c>>2];J[d>>2]=j&J[d>>2]|c<>2]=d+4;J[d+4>>2]=i&J[d+4>>2]|c>>>f;c=J[e+24>>2]+4|0;J[e+24>>2]=c;d=g>>>0>63;g=g-32|0;if(d){continue}break}}d=J[e+8>>2];if((g|0)<=0){break d}j=f;f=(g|0)>(f|0)?f:g;j=J[d>>2]&(i&-1>>>j-f^-1);i=J[c>>2]&-1>>>32-g;J[d>>2]=j|i<>2]=c;d=(b>>>3&536870908)+d|0;J[e+8>>2]=d;b=g-f|0;if((b|0)<=0){b=c;break d}J[d>>2]=J[d>>2]&(-1>>>32-b^-1)|i>>>f;J[e+12>>2]=b}J[e+4>>2]=b;J[e>>2]=d}fa=e+32|0;b=J[a>>2];J[a>>2]=J[h+16>>2];J[h+16>>2]=b;c=J[a+4>>2];J[a+4>>2]=J[h+20>>2];J[h+20>>2]=c;c=J[a+8>>2];J[a+8>>2]=J[h+24>>2];J[h+24>>2]=c;if(!b){break b}gl(b)}fa=h+32|0;return}Ia();C()}function xg(a){a=a|0;var 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,q=0,r=0;g=fa-16|0;fa=g;b=J[a+64>>2];a:{if(!b){break a}i=ka[J[J[b>>2]+32>>2]](b)|0;if(!i){break a}n=(J[i+28>>2]-J[i+24>>2]>>2)-J[i+44>>2]|0;b=J[a+56>>2];d=J[b+8>>2];b:{if((J[b+12>>2]-d|0)<5){break b}J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;c:{d:{while(1){e:{f:{if(!J[J[(c<<2)+d>>2]+56>>2]){break f}j=ka[J[J[a>>2]+56>>2]](a,c)|0;if(!j){break f}if(J[g+8>>2]!=(f|0)){J[f>>2]=j;f=f+4|0;J[g+4>>2]=f;break f}b=J[g>>2];h=f-b|0;f=h>>2;d=f+1|0;if(d>>>0>=1073741824){break e}e=h>>>1|0;d=h>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break d}e=ol(d<<2)}else{e=0}f=e+(f<<2)|0;J[f>>2]=j;h=nk(e,b,h);J[g+8>>2]=h+(d<<2);f=f+4|0;J[g+4>>2]=f;J[g>>2]=h;if(!b){break f}gl(b)}m=J[a+56>>2];d=J[m+8>>2];c=c+1|0;if((c|0)>2]-d>>2){continue}break c}break}Ia();C()}Ya();C()}j=J[g>>2];o=J[i+24>>2];b=J[i+28>>2];if((o|0)!=(b|0)){b=b-o>>2;q=b>>>0<=1?1:b;b=f-j>>2;r=b>>>0<=1?1:b;while(1){e=J[(p<<2)+o>>2];if((e|0)!=-1){g:{if((e|0)<0){c=(e>>>0)%3|0;b=-1;break g}b=(e>>>0)/3|0;c=e-P(b,3)|0;b=J[(J[m+96>>2]+P(b,12)|0)+(c<<2)>>2]}h:{i:{if(c){c=e-1|0;break i}c=e+2|0;if((c|0)!=-1){break i}l=0;break h}l=0;c=J[J[i+12>>2]+(c<<2)>>2];if((c|0)==-1){break h}j:{if((c>>>0)%3|0){d=c-1|0;break j}d=c+2|0;if((d|0)==-1){break h}}h=e;while(1){c=(d|0)<0?-1:J[(J[m+96>>2]+P((d>>>0)/3|0,12)|0)+((d>>>0)%3<<2)>>2];k:{if((b|0)==(c|0)){c=0;if((f|0)==(j|0)){c=b;break k}l:{while(1){k=J[J[(c<<2)+j>>2]+28>>2];if(J[k+(d<<2)>>2]!=J[k+(h<<2)>>2]){break l}c=c+1|0;if((r|0)!=(c|0)){continue}break}c=b;break k}c=b}l=l+1|0}if((d|0)==(e|0)|(d|0)==-1){break h}m:{if((d>>>0)%3|0){b=d-1|0;break m}b=d+2|0;if((b|0)==-1){break h}}k=J[J[i+12>>2]+(b<<2)>>2];if((k|0)==-1){break h}b=c;h=d;c=k+((k>>>0)%3|0?-1:2)|0;d=c;if((c|0)!=-1){continue}break}}c=1;b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;n:{if((b|0)==-1){break n}b=J[J[i+12>>2]+(b<<2)>>2];if((b|0)==-1){break n}c=b+1|0;c=(((c>>>0)%3|0?c:b-2|0)|0)==-1}n=(l+n|0)-((c^-1)&(l|0)!=0)|0}p=p+1|0;if((q|0)!=(p|0)){continue}break}}if(!j){break b}gl(j)}J[a+52>>2]=n}fa=g+16|0}function Bk(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=fa-128|0;fa=j;a:{b:{c:{if(!Tk(f,g,h,i,0,0,0,0)){break c}l=i&65535;n=i>>>16&32767;d:{e:{if((n|0)!=32767){k=4;if(n){break e}k=f|h|(g|l)?3:2;break d}k=!(f|h|(g|l))}}s=e>>>16|0;o=s&32767;if((o|0)==32767){break c}if(k){break b}}_k(j+16|0,b,c,d,e,f,g,h,i);b=J[j+16>>2];d=J[j+20>>2];e=J[j+24>>2];c=J[j+28>>2];Vk(j,b,d,e,c,b,d,e,c);d=J[j+8>>2];e=J[j+12>>2];h=J[j>>2];i=J[j+4>>2];break a}k=d;p=e&2147483647;n=h;m=i&2147483647;if((Tk(b,c,k,p,f,g,h,m)|0)<=0){if(Tk(b,c,k,p,f,g,n,m)){h=b;i=c;break a}_k(j+112|0,b,c,d,e,0,0,0,0);d=J[j+120>>2];e=J[j+124>>2];h=J[j+112>>2];i=J[j+116>>2];break a}q=i>>>16&32767;if(o){i=c;h=b}else{_k(j+96|0,b,c,k,p,0,0,0,1081540608);k=J[j+104>>2];h=J[j+108>>2];p=h;o=(h>>>16|0)-120|0;i=J[j+100>>2];h=J[j+96>>2]}if(!q){_k(j+80|0,f,g,n,m,0,0,0,1081540608);n=J[j+88>>2];f=J[j+92>>2];m=f;q=(f>>>16|0)-120|0;g=J[j+84>>2];f=J[j+80>>2]}r=n;t=m&65535|65536;p=p&65535|65536;if((o|0)>(q|0)){while(1){m=k-r|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;n=m-l|0;l=(p-((k>>>0>>0)+t|0)|0)-(l>>>0>m>>>0)|0;f:{if((l|0)>0|(l|0)>=0){k=h;h=h-f|0;i=i-((f>>>0>k>>>0)+g|0)|0;if(!(h|n|(i|l))){_k(j+32|0,b,c,d,e,0,0,0,0);d=J[j+40>>2];e=J[j+44>>2];h=J[j+32>>2];i=J[j+36>>2];break a}l=l<<1|n>>>31;k=n<<1|i>>>31;break f}l=p<<1|k>>>31;k=k<<1|i>>>31}p=l;l=i<<1|h>>>31;h=h<<1;i=l;o=o-1|0;if((o|0)>(q|0)){continue}break}o=q}m=k-r|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;n=m-l|0;l=(p-((k>>>0>>0)+t|0)|0)-(l>>>0>m>>>0)|0;m=l;g:{if((l|0)<0){n=k;m=p;break g}k=h;h=h-f|0;i=i-((f>>>0>k>>>0)+g|0)|0;if(h|n|(i|m)){break g}_k(j+48|0,b,c,d,e,0,0,0,0);d=J[j+56>>2];e=J[j+60>>2];h=J[j+48>>2];i=J[j+52>>2];break a}if((m|0)==65535|m>>>0<65535){while(1){b=i>>>31|0;o=o-1|0;p=i<<1|h>>>31;h=h<<1;i=p;c=b;b=m<<1|n>>>31;n=c|n<<1;m=b;if(b>>>0<65536){continue}break}}b=s&32768;if((o|0)<=0){_k(j- -64|0,h,i,n,m&65535|(b|o+120)<<16,0,0,0,1065811968);d=J[j+72>>2];e=J[j+76>>2];h=J[j+64>>2];i=J[j+68>>2];break a}d=n;e=m&65535|(b|o)<<16}J[a>>2]=h;J[a+4>>2]=i;J[a+8>>2]=d;J[a+12>>2]=e;fa=j+128|0}function Si(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;f=fa+-64|0;fa=f;a:{b:{c:{d:{e:{f:{if(!b){break f}e=wk(c);if(e>>>0>=2147483632){break e}g:{h:{if(e>>>0>=11){a=(e|15)+1|0;g=ol(a);J[f+56>>2]=a|-2147483648;J[f+48>>2]=g;a=e+g|0;break h}H[f+59|0]=e;g=f+48|0;a=e+g|0;if(!e){break g}}mk(g,c,e)}H[a|0]=0;e=wk(d);if(e>>>0>=2147483632){break d}i:{j:{if(e>>>0>=11){a=(e|15)+1|0;g=ol(a);J[f+40>>2]=a|-2147483648;J[f+32>>2]=g;a=e+g|0;break j}H[f+43|0]=e;g=f+32|0;a=e+g|0;if(!e){break i}}mk(g,d,e)}H[a|0]=0;e=wk(c);if(e>>>0>=2147483632){break c}k:{l:{if(e>>>0>=11){a=(e|15)+1|0;g=ol(a);J[f+24>>2]=a|-2147483648;J[f+16>>2]=g;J[f+20>>2]=e;a=e+g|0;break l}H[f+27|0]=e;g=f+16|0;a=e+g|0;if(!e){break k}}mk(g,c,e)}H[a|0]=0;c=wk(d);if(c>>>0>=2147483632){break b}m:{n:{if(c>>>0>=11){e=(c|15)+1|0;a=ol(e);J[f+8>>2]=e|-2147483648;J[f>>2]=a;J[f+4>>2]=c;g=a+c|0;break n}H[f+11|0]=c;g=c+f|0;a=f;if(!c){break m}}mk(a,d,c)}H[g|0]=0;e=fa-48|0;fa=e;d=cc(b,f+16|0);if((d|0)!=(b+4|0)){a=J[d+4>>2];o:{if(!a){a=d;while(1){c=J[a+8>>2];g=J[c>>2]!=(a|0);a=c;if(g){continue}break}break o}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((d|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;_j(J[b+4>>2],d);a=J[d+28>>2];if(a){J[d+32>>2]=a;gl(a)}if(H[d+27|0]<0){gl(J[d+16>>2])}gl(d)}g=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;c=K[f+11|0];d=c<<24>>24;p:{q:{h=J[f+4>>2];a=(d|0)<0?h:c;if(a){if((a|0)<0){break q}c=a;g=ol(a);a=ok(g,0,a);c=c+a|0;J[e+8>>2]=c;J[e+4>>2]=c;J[e>>2]=a;h=J[f+4>>2];c=K[f+11|0];d=c}a=d<<24>>24<0;mk(g,a?J[f>>2]:f,a?h:c);break p}Ia();C()}r:{if(H[f+27|0]>=0){J[e+24>>2]=J[f+24>>2];a=J[f+20>>2];J[e+16>>2]=J[f+16>>2];J[e+20>>2]=a;break r}sl(e+16|0,J[f+16>>2],J[f+20>>2])}Yj(e+28|0,e);a=e+16|0;$j(e+40|0,b,a,a);a=J[e+28>>2];if(a){J[e+32>>2]=a;gl(a)}if(H[e+27|0]<0){gl(J[e+16>>2])}a=J[e>>2];if(a){J[e+4>>2]=a;gl(a)}fa=e+48|0;if(H[f+11|0]<0){gl(J[f>>2])}if(H[f+27|0]<0){gl(J[f+16>>2])}if(H[f+43|0]<0){gl(J[f+32>>2])}if(H[f+59|0]>=0){break f}gl(J[f+48>>2])}fa=f- -64|0;a=(b|0)!=0;break a}xe();C()}xe();C()}xe();C()}xe();C()}return a|0}function Kj(a,b){var c=0,d=0,e=0,f=0;f=fa-16|0;fa=f;e=ol(32);J[f>>2]=e;J[f+4>>2]=30;J[f+8>>2]=-2147483616;c=K[1240]|K[1241]<<8|(K[1242]<<16|K[1243]<<24);d=K[1236]|K[1237]<<8|(K[1238]<<16|K[1239]<<24);H[e+22|0]=d;H[e+23|0]=d>>>8;H[e+24|0]=d>>>16;H[e+25|0]=d>>>24;H[e+26|0]=c;H[e+27|0]=c>>>8;H[e+28|0]=c>>>16;H[e+29|0]=c>>>24;c=K[1234]|K[1235]<<8|(K[1236]<<16|K[1237]<<24);d=K[1230]|K[1231]<<8|(K[1232]<<16|K[1233]<<24);H[e+16|0]=d;H[e+17|0]=d>>>8;H[e+18|0]=d>>>16;H[e+19|0]=d>>>24;H[e+20|0]=c;H[e+21|0]=c>>>8;H[e+22|0]=c>>>16;H[e+23|0]=c>>>24;c=K[1226]|K[1227]<<8|(K[1228]<<16|K[1229]<<24);d=K[1222]|K[1223]<<8|(K[1224]<<16|K[1225]<<24);H[e+8|0]=d;H[e+9|0]=d>>>8;H[e+10|0]=d>>>16;H[e+11|0]=d>>>24;H[e+12|0]=c;H[e+13|0]=c>>>8;H[e+14|0]=c>>>16;H[e+15|0]=c>>>24;c=K[1218]|K[1219]<<8|(K[1220]<<16|K[1221]<<24);d=K[1214]|K[1215]<<8|(K[1216]<<16|K[1217]<<24);H[e|0]=d;H[e+1|0]=d>>>8;H[e+2|0]=d>>>16;H[e+3|0]=d>>>24;H[e+4|0]=c;H[e+5|0]=c>>>8;H[e+6|0]=c>>>16;H[e+7|0]=c>>>24;H[e+30|0]=0;e=a+4|0;ni(e,f,b);if(H[f+11|0]<0){gl(J[f>>2])}a=ol(32);J[f>>2]=a;J[f+4>>2]=29;J[f+8>>2]=-2147483616;c=K[1308]|K[1309]<<8|(K[1310]<<16|K[1311]<<24);d=K[1304]|K[1305]<<8|(K[1306]<<16|K[1307]<<24);H[a+21|0]=d;H[a+22|0]=d>>>8;H[a+23|0]=d>>>16;H[a+24|0]=d>>>24;H[a+25|0]=c;H[a+26|0]=c>>>8;H[a+27|0]=c>>>16;H[a+28|0]=c>>>24;c=K[1303]|K[1304]<<8|(K[1305]<<16|K[1306]<<24);d=K[1299]|K[1300]<<8|(K[1301]<<16|K[1302]<<24);H[a+16|0]=d;H[a+17|0]=d>>>8;H[a+18|0]=d>>>16;H[a+19|0]=d>>>24;H[a+20|0]=c;H[a+21|0]=c>>>8;H[a+22|0]=c>>>16;H[a+23|0]=c>>>24;c=K[1295]|K[1296]<<8|(K[1297]<<16|K[1298]<<24);d=K[1291]|K[1292]<<8|(K[1293]<<16|K[1294]<<24);H[a+8|0]=d;H[a+9|0]=d>>>8;H[a+10|0]=d>>>16;H[a+11|0]=d>>>24;H[a+12|0]=c;H[a+13|0]=c>>>8;H[a+14|0]=c>>>16;H[a+15|0]=c>>>24;c=K[1287]|K[1288]<<8|(K[1289]<<16|K[1290]<<24);d=K[1283]|K[1284]<<8|(K[1285]<<16|K[1286]<<24);H[a|0]=d;H[a+1|0]=d>>>8;H[a+2|0]=d>>>16;H[a+3|0]=d>>>24;H[a+4|0]=c;H[a+5|0]=c>>>8;H[a+6|0]=c>>>16;H[a+7|0]=c>>>24;H[a+29|0]=0;ni(e,f,b);if(H[f+11|0]<0){gl(J[f>>2])}fa=f+16|0}function Zj(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,n=0;j=fa-32|0;fa=j;J[a+4>>2]=0;J[a+8>>2]=0;c=a+16|0;J[c>>2]=0;J[c+4>>2]=0;i=a+4|0;J[a>>2]=i;J[a+12>>2]=c;f=J[b>>2];k=b+4|0;if((f|0)!=(k|0)){while(1){g=fa-16|0;fa=g;c=f+16|0;h=Ye(a,i,g+12|0,g+8|0,c);d=J[h>>2];if(d){c=0}else{d=ol(40);e=d+16|0;a:{if(H[c+11|0]>=0){l=J[c+4>>2];J[e>>2]=J[c>>2];J[e+4>>2]=l;J[e+8>>2]=J[c+8>>2];break a}sl(e,J[c>>2],J[c+4>>2])}Yj(d+28|0,c+12|0);J[d+8>>2]=J[g+12>>2];J[d>>2]=0;J[d+4>>2]=0;J[h>>2]=d;c=d;e=J[J[a>>2]>>2];if(e){J[a>>2]=e;c=J[h>>2]}We(J[a+4>>2],c);J[a+8>>2]=J[a+8>>2]+1;c=1}H[j+28|0]=c;J[j+24>>2]=d;fa=g+16|0;c=J[f+4>>2];b:{if(c){while(1){f=c;c=J[c>>2];if(c){continue}break b}}while(1){c=f;f=J[f+8>>2];if((c|0)!=J[f>>2]){continue}break}}if((f|0)!=(k|0)){continue}break}}f=J[b+12>>2];l=b+16|0;if((f|0)!=(l|0)){g=a+12|0;while(1){m=ol(24);Zj(m,J[f+28>>2]);b=f+16|0;J[j+16>>2]=b;c:{d:{c=J[g+4>>2];e:{if(!c){d=g+4|0;b=d;break e}d=K[b+11|0];e=d<<24>>24<0;h=e?J[b>>2]:b;e=e?J[b+4>>2]:d;while(1){b=c;i=K[c+27|0];d=i<<24>>24<0;c=d?J[c+20>>2]:i;i=c>>>0>>0;f:{g:{h:{i:{k=i?c:e;j:{if(k){d=d?J[b+16>>2]:b+16|0;n=sk(h,d,k);if(!n){if(c>>>0>e>>>0){break j}break i}if((n|0)>=0){break i}break j}if(c>>>0<=e>>>0){break h}}d=b;c=J[b>>2];if(c){continue}break e}c=sk(d,h,k);if(c){break g}}if(i){break f}break d}if((c|0)>=0){break d}}c=J[b+4>>2];if(c){continue}break}d=b+4|0}c=ol(32);h=c+16|0;e=J[j+16>>2];k:{if(H[e+11|0]>=0){i=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=i;J[h+8>>2]=J[e+8>>2];break k}sl(h,J[e>>2],J[e+4>>2])}J[c+8>>2]=b;J[c>>2]=0;J[c+4>>2]=0;J[c+28>>2]=0;J[d>>2]=c;b=c;e=J[J[g>>2]>>2];if(e){J[g>>2]=e;b=J[d>>2]}We(J[g+4>>2],b);J[g+8>>2]=J[g+8>>2]+1;b=1;break c}c=b;b=0}H[j+28|0]=b;J[j+24>>2]=c;c=J[j+24>>2];b=J[c+28>>2];J[c+28>>2]=m;if(b){Li(b+12|0,J[b+16>>2]);Mi(b,J[b+4>>2]);gl(b)}c=J[f+4>>2];l:{if(c){while(1){f=c;c=J[c>>2];if(c){continue}break l}}while(1){b=f;f=J[f+8>>2];if((b|0)!=J[f>>2]){continue}break}}if((f|0)!=(l|0)){continue}break}}fa=j+32|0;return a}function Hd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;J[a+8>>2]=e;m=a+32|0;g=J[m>>2];f=J[a+36>>2]-g>>2;a:{if(f>>>0>>0){La(m,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=g+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){i=g;break c}f=1;i=d-1|0;q=i&1;d:{if((d|0)==2){i=g;break d}o=i&-2;i=g;while(1){j=(f<<2)+b|0;k=J[j+4>>2];j=J[j>>2];l=(j|0)<(i|0);i=l?j:i;p=(i|0)>(k|0);i=p?k:i;g=l?g:(g|0)<(j|0)?j:g;g=p?g:(g|0)<(k|0)?k:g;f=f+2|0;h=h+2|0;if((o|0)!=(h|0)){continue}break}}if(!q){break c}f=J[(f<<2)+b>>2];h=(f|0)<(i|0);i=h?f:i;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=i;f=g-i|0;g=(g>>31)-((i>>31)+(g>>>0>>0)|0)|0;if(!g&f>>>0>2147483646|g){break b}f=f+1|0;J[a+20>>2]=f;g=f>>>1|0;J[a+24>>2]=g;J[a+28>>2]=0-g;if(f&1){break b}J[a+24>>2]=g-1}k=d-e|0;g=J[a+8>>2];if(!((k|0)<=0|(g|0)<=0)){p=0-e<<2;while(1){if((g|0)>0){d=k<<2;q=d+c|0;o=b+d|0;h=o+p|0;d=J[m>>2];i=0;while(1){f=d;if((g|0)>0){f=J[m>>2];g=0;while(1){j=g<<2;l=J[j+h>>2];n=J[a+16>>2];e:{if((l|0)>(n|0)){J[f+j>>2]=n;break e}j=f+j|0;n=J[a+12>>2];if((n|0)>(l|0)){J[j>>2]=n;break e}J[j>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}h=i<<2;g=h+q|0;h=J[h+o>>2]-J[f+h>>2]|0;J[g>>2]=h;f:{if((h|0)>2]){h=h+J[a+20>>2]|0}else{if((h|0)<=J[a+24>>2]){break f}h=h-J[a+20>>2]|0}J[g>>2]=h}h=f;g=J[a+8>>2];i=i+1|0;if((g|0)>(i|0)){continue}break}}k=k-e|0;if((k|0)>0){continue}break}}i=0;d=e>>>0>1073741823?-1:e<<2;d=ok(ol(d),0,d);if((g|0)>0){e=J[a+32>>2];h=d;while(1){f=e;if((g|0)>0){f=J[m>>2];g=0;while(1){k=g<<2;j=J[k+h>>2];l=J[a+16>>2];g:{if((j|0)>(l|0)){J[f+k>>2]=l;break g}k=f+k|0;l=J[a+12>>2];if((l|0)>(j|0)){J[k>>2]=l;break g}J[k>>2]=j}g=g+1|0;if((g|0)>2]){continue}break}}h=i<<2;g=h+c|0;h=J[b+h>>2]-J[f+h>>2]|0;J[g>>2]=h;h:{if((h|0)>2]){h=h+J[a+20>>2]|0}else{if((h|0)<=J[a+24>>2]){break h}h=h-J[a+20>>2]|0}J[g>>2]=h}h=f;g=J[a+8>>2];i=i+1|0;if((g|0)>(i|0)){continue}break}}gl(d);return 1}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=fa-16|0;fa=f;J[a+4>>2]=b;J[a+8>>2]=J[b+56>>2];J[a+188>>2]=J[a+184>>2];e=J[b+48>>2];c=ol(32);H[c+19|0]=0;b=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[c+15|0]=b;H[c+16|0]=b>>>8;H[c+17|0]=b>>>16;H[c+18|0]=b>>>24;b=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;H[c+12|0]=b;H[c+13|0]=b>>>8;H[c+14|0]=b>>>16;H[c+15|0]=b>>>24;b=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=b;H[c+5|0]=b>>>8;H[c+6|0]=b>>>16;H[c+7|0]=b>>>24;a:{b:{b=J[e+4>>2];if(b){while(1){d=K[b+27|0];e=d<<24>>24<0;d=e?J[b+20>>2]:d;h=d>>>0<19;c:{d:{e:{f:{g:{h:{g=h?d:19;if(g){e=e?J[b+16>>2]:b+16|0;i=sk(c,e,g);if(i){break h}if(d>>>0<=19){break g}break c}if(d>>>0<=19){break f}break c}if((i|0)<0){break c}}d=sk(e,c,g);if(d){break e}}if(h){break d}break b}if((d|0)>=0){break b}}b=b+4|0}b=J[b>>2];if(b){continue}break}}gl(c);if((Pb(J[J[a+4>>2]+48>>2])|0)>=6){H[a+352|0]=1;break a}H[a+352|0]=0;break a}gl(c);e=J[J[a+4>>2]+48>>2];b=ol(32);J[f>>2]=b;J[f+4>>2]=19;J[f+8>>2]=-2147483616;c=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;j=a,k=si(e,f,0),H[j+352|0]=k;if(H[f+11|0]>=0){break a}gl(J[f>>2])}fa=f+16|0;return 1}function Eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=fa-16|0;fa=f;J[a+4>>2]=b;J[a+8>>2]=J[b+56>>2];J[a+188>>2]=J[a+184>>2];e=J[b+48>>2];c=ol(32);H[c+19|0]=0;b=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[c+15|0]=b;H[c+16|0]=b>>>8;H[c+17|0]=b>>>16;H[c+18|0]=b>>>24;b=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;H[c+12|0]=b;H[c+13|0]=b>>>8;H[c+14|0]=b>>>16;H[c+15|0]=b>>>24;b=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=b;H[c+5|0]=b>>>8;H[c+6|0]=b>>>16;H[c+7|0]=b>>>24;a:{b:{b=J[e+4>>2];if(b){while(1){d=K[b+27|0];e=d<<24>>24<0;d=e?J[b+20>>2]:d;h=d>>>0<19;c:{d:{e:{f:{g:{h:{g=h?d:19;if(g){e=e?J[b+16>>2]:b+16|0;i=sk(c,e,g);if(i){break h}if(d>>>0<=19){break g}break c}if(d>>>0<=19){break f}break c}if((i|0)<0){break c}}d=sk(e,c,g);if(d){break e}}if(h){break d}break b}if((d|0)>=0){break b}}b=b+4|0}b=J[b>>2];if(b){continue}break}}gl(c);if((Pb(J[J[a+4>>2]+48>>2])|0)>=6){H[a+288|0]=1;break a}H[a+288|0]=0;break a}gl(c);e=J[J[a+4>>2]+48>>2];b=ol(32);J[f>>2]=b;J[f+4>>2]=19;J[f+8>>2]=-2147483616;c=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;j=a,k=si(e,f,0),H[j+288|0]=k;if(H[f+11|0]>=0){break a}gl(J[f>>2])}fa=f+16|0;return 1}function $c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=fa-32|0;fa=c;d=a- -64|0;yb(J[d>>2],b);if(J[d>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+64>>2];if((d|0)>0){while(1){f=d-1|0;De(c,J[J[a+60>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d>>>0>1;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+76>>2],b);if(J[a+76>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+76>>2];if((d|0)>=2){while(1){f=d-2|0;De(c,J[J[a+72>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-1|0;De(c,J[J[a+72>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>3;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+88>>2],b);if(J[a+88>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+88>>2];if((d|0)>=3){while(1){f=d-3|0;De(c,J[J[a+84>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-2|0;De(c,J[J[a+84>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;De(c,J[J[a+84>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>5;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+100>>2],b);if(J[a+100>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+100>>2];if((d|0)>=4){while(1){f=d-4|0;De(c,J[J[a+96>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-3|0;De(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-2|0;De(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;De(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>7;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}J[c>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}f=c+4|0;Ba(b,J[b+4>>2],c,f);d=J[b+20>>2];e=J[b+16>>2];J[c>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c,f)}fa=c+32|0;return 1}function Td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=fa-32|0;fa=c;yb(J[a+48>>2],b);if(J[a+48>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+48>>2];if((d|0)>0){while(1){f=d-1|0;De(c,J[J[a+44>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d>>>0>1;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+60>>2],b);if(J[a+60>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+60>>2];if((d|0)>=2){while(1){f=d-2|0;De(c,J[J[a+56>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-1|0;De(c,J[J[a+56>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>3;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+72>>2],b);if(J[a+72>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+72>>2];if((d|0)>=3){while(1){f=d-3|0;De(c,J[J[a+68>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-2|0;De(c,J[J[a+68>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;De(c,J[J[a+68>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>5;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+84>>2],b);if(J[a+84>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+84>>2];if((d|0)>=4){while(1){f=d-4|0;De(c,J[J[a+80>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-3|0;De(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-2|0;De(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;De(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>7;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}J[c>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}f=c+4|0;Ba(b,J[b+4>>2],c,f);d=J[b+20>>2];e=J[b+16>>2];J[c>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c,f)}fa=c+32|0;return 1}function fe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=fa-32|0;fa=d;o=e<<2;f=e>>>0>1073741823?-1:o;l=ok(ol(f),0,f);f=J[a+40>>2];f=J[f+4>>2]-J[f>>2]|0;if((f|0)>=5){q=J[a+36>>2];p=J[a+32>>2];r=e&-2;s=e&1;t=a+8|0;f=f>>>2|0;while(1){j=J[a+40>>2];g=J[j>>2];a:{b:{h=J[j+4>>2]-g>>2;j=f-1|0;if(h>>>0>j>>>0){u=P(e,j);g=J[g+(j<<2)>>2];if((g|0)==-1){break b}g=J[J[p+12>>2]+(g<<2)>>2];if((g|0)==-1){break b}k=J[q>>2];h=J[p>>2];m=J[k+(J[h+(g<<2)>>2]<<2)>>2];i=g+1|0;i=(i>>>0)%3|0?i:g-2|0;if((i|0)!=-1){i=J[h+(i<<2)>>2]}else{i=-1}c:{d:{if((g>>>0)%3|0){g=g-1|0;break d}g=g+2|0;n=-1;if((g|0)==-1){break c}}n=J[h+(g<<2)>>2]}if((j|0)<=(m|0)){break b}g=J[(i<<2)+k>>2];if((g|0)>=(j|0)){break b}h=J[k+(n<<2)>>2];if((h|0)>=(j|0)){break b}e:{if((e|0)<=0){break e}h=P(e,h);k=P(e,g);m=P(e,m);g=0;n=0;if((e|0)!=1){while(1){J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2];i=g|1;J[(i<<2)+l>>2]=(J[(h+i<<2)+b>>2]+J[(i+k<<2)+b>>2]|0)-J[(i+m<<2)+b>>2];g=g+2|0;n=n+2|0;if((r|0)!=(n|0)){continue}break}}if(!s){break e}J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2]}g=J[l>>2];h=J[l+4>>2];break a}Xc();C()}h=(P(f-2|0,e)<<2)+b|0;g=J[h>>2];h=J[h+4>>2]}k=u<<2;m=k+b|0;i=J[m+4>>2];J[d+16>>2]=J[m>>2];J[d+20>>2]=i;J[d+8>>2]=g;J[d+12>>2]=h;Qd(d+24|0,t,d+16|0,d+8|0);g=c+k|0;J[g>>2]=J[d+24>>2];J[g+4>>2]=J[d+28>>2];g=(f|0)>2;f=j;if(g){continue}break}}if((e|0)>0){ok(l,0,o)}e=J[l>>2];f=J[l+4>>2];g=J[b+4>>2];J[d+16>>2]=J[b>>2];J[d+20>>2]=g;J[d+8>>2]=e;J[d+12>>2]=f;Qd(d+24|0,a+8|0,d+16|0,d+8|0);J[c>>2]=J[d+24>>2];J[c+4>>2]=J[d+28>>2];gl(l);fa=d+32|0;return 1}function Zg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=J[a>>2];n=b-k|0;h=(n&-4)+k|0;i=d-c|0;if((i|0)<=0){return}a:{l=i>>2;g=J[a+8>>2];j=J[a+4>>2];if((l|0)<=g-j>>2){f=j-h|0;g=f>>2;if((g|0)>=(l|0)){b=j;g=d;break a}b=j;g=(g<<2)+c|0;if((g|0)!=(d|0)){e=g;while(1){J[b>>2]=J[e>>2];b=b+4|0;e=e+4|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=b;if((f|0)>0){break a}return}b:{f=l+(j-k>>2)|0;if(f>>>0<1073741824){e=g-k|0;g=e>>>1|0;m=e>>>0>=2147483644?1073741823:f>>>0>>0?g:f;if(m){if(m>>>0>=1073741824){break b}g=ol(m<<2)}else{g=0}e=g+(n&-4)|0;f=e;if((c|0)!=(d|0)){f=mk(e,c,i&-4)+(l<<2)|0}c:{if((b|0)==(k|0)){break c}i=n-4|0;d=(i>>>2|0)+1&3;d:{if(!d){b=h;break d}c=0;b=h;while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];c=c+1|0;if((d|0)!=(c|0)){continue}break}}if(i>>>0<12){break c}while(1){J[e-4>>2]=J[b-4>>2];J[e-8>>2]=J[b-8>>2];J[e-12>>2]=J[b-12>>2];e=e-16|0;b=b-16|0;J[e>>2]=J[b>>2];if((b|0)!=(k|0)){continue}break}}if((h|0)!=(j|0)){while(1){J[f>>2]=J[h>>2];f=f+4|0;h=h+4|0;if((j|0)!=(h|0)){continue}break}}J[a+8>>2]=(m<<2)+g;J[a+4>>2]=f;J[a>>2]=e;if(k){gl(k)}return}Ia();C()}Ya();C()}d=l<<2;i=d+h|0;f=b;e=b-d|0;if(j>>>0>e>>>0){d=e;while(1){J[f>>2]=J[d>>2];f=f+4|0;d=d+4|0;if(j>>>0>d>>>0){continue}break}}J[a+4>>2]=f;e:{if((b|0)==(i|0)){break e}d=(b-i|0)-4|0;a=(d>>>2|0)+1&3;if(a){f=0;while(1){b=b-4|0;e=e-4|0;J[b>>2]=J[e>>2];f=f+1|0;if((a|0)!=(f|0)){continue}break}}if(d>>>0<12){break e}while(1){J[b-4>>2]=J[e-4>>2];J[b-8>>2]=J[e-8>>2];J[b-12>>2]=J[e-12>>2];b=b-16|0;e=e-16|0;J[b>>2]=J[e>>2];if((e|0)!=(h|0)){continue}break}}if((c|0)==(g|0)){return}b=h;while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((g|0)!=(c|0)){continue}break}}function ek(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=fa-16|0;fa=k;J[k+8>>2]=c;h=J[a+12>>2];d=J[a+8>>2];g=h-d>>2;a:{if((g|0)>(b|0)){break a}e=b+1|0;if(e>>>0>g>>>0){l=e-g|0;f=J[a+16>>2];d=J[a+12>>2];if(l>>>0<=f-d>>2>>>0){if(l){e=d;d=l<<2;d=ok(e,0,d)+d|0}J[a+12>>2]=d;break a}b:{c:{d:{m=J[a+8>>2];g=d-m>>2;i=g+l|0;if(i>>>0<1073741824){e=f-m|0;f=e>>>1|0;e=e>>>0>=2147483644?1073741823:f>>>0>i>>>0?f:i;if(e){if(e>>>0>=1073741824){break d}j=ol(e<<2)}h=(g<<2)+j|0;f=l<<2;i=ok(h,0,f);g=f+i|0;e=(e<<2)+j|0;if((d|0)==(m|0)){break c}while(1){d=d-4|0;f=J[d>>2];J[d>>2]=0;h=h-4|0;J[h>>2]=f;if((d|0)!=(m|0)){continue}break}J[a+16>>2]=e;e=J[a+12>>2];J[a+12>>2]=g;d=J[a+8>>2];J[a+8>>2]=h;if((d|0)==(e|0)){break b}while(1){e=e-4|0;f=J[e>>2];J[e>>2]=0;if(f){Kb(f)}if((d|0)!=(e|0)){continue}break}break b}Ia();C()}Ya();C()}J[a+16>>2]=e;J[a+12>>2]=g;J[a+8>>2]=i}if(d){gl(d)}break a}if(e>>>0>=g>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(h|0)){while(1){h=h-4|0;c=J[h>>2];J[h>>2]=0;if(c){Kb(c)}if((d|0)!=(h|0)){continue}break}c=J[k+8>>2]}J[a+12>>2]=d}e:{f:{d=J[c+56>>2];g:{if((d|0)>4){break g}j=P(d,12)+a|0;d=J[j+24>>2];if((d|0)!=J[j+28>>2]){J[d>>2]=b;J[j+24>>2]=d+4;break g}i=J[j+20>>2];g=d-i|0;f=g>>2;e=f+1|0;if(e>>>0>=1073741824){break f}d=g>>>1|0;e=g>>>0>=2147483644?1073741823:d>>>0>e>>>0?d:e;if(e){if(e>>>0>=1073741824){break e}d=ol(e<<2)}else{d=0}f=d+(f<<2)|0;J[f>>2]=b;d=nk(d,i,g);J[j+20>>2]=d;J[j+24>>2]=f+4;J[j+28>>2]=d+(e<<2);if(!i){break g}gl(i)}J[c+60>>2]=b;a=J[a+8>>2];J[k+8>>2]=0;a=a+(b<<2)|0;b=J[a>>2];J[a>>2]=c;if(b){Kb(b)}a=J[k+8>>2];J[k+8>>2]=0;if(a){Kb(a)}fa=k+16|0;return}Ia();C()}Ya();C()}function qb(a,b,c,d){var e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=Q(0);j=J[c>>2];g=j^318;a:{b:{f=J[b+4>>2];if(!f){break b}h=gm(f);c:{if(h>>>0>=2){e=g;if(e>>>0>=f>>>0){e=(g>>>0)%(f>>>0)|0}c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}if(h>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}h=J[c+4>>2];if((h|0)!=(g|0)){if(f>>>0<=h>>>0){h=(h>>>0)%(f>>>0)|0}if((e|0)!=(h|0)){break b}}if(J[c+8>>2]!=(j|0)){continue}break}b=0;break a}e=f-1&g;c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}}h=f-1|0;while(1){c=J[c>>2];if(!c){break b}k=J[c+4>>2];if((k|0)!=(g|0)&(h&k)!=(e|0)){break b}if(J[c+8>>2]!=(j|0)){continue}break}b=0;break a}c=ol(16);J[c+8>>2]=J[d>>2];d=J[d+4>>2];J[c+4>>2]=g;J[c+12>>2]=d;J[c>>2]=0;i=Q(J[b+12>>2]+1>>>0);l=N[b+16>>2];d:{if(i>Q(l*Q(f>>>0))?0:f){break d}d=2;h=(f-1&f)!=0|f>>>0<3|f<<1;i=Q(W(Q(i/l)));e:{if(i=Q(0)){e=~~i>>>0;break e}e=0}e=e>>>0>>0?h:e;f:{if((e|0)==1){break f}if(!(e&e-1)){d=e;break f}d=cl(e);f=J[b+4>>2]}g:{if(d>>>0<=f>>>0){if(d>>>0>=f>>>0){break g}h=f>>>0<3;i=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(i=Q(0)){e=~~i>>>0;break h}e=0}i:{j:{if(h){break j}if(gm(f)>>>0>1){break j}e=e>>>0<2?e:1<<32-S(e-1|0);break i}e=cl(e)}d=d>>>0>e>>>0?d:e;if(f>>>0<=d>>>0){break g}}sb(b,d)}f=J[b+4>>2];d=f-1|0;if(!(d&f)){e=d&g;break d}if(f>>>0>g>>>0){e=g;break d}e=(g>>>0)%(f>>>0)|0}g=J[b>>2]+(e<<2)|0;d=J[g>>2];k:{l:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[g>>2]=d;d=J[c>>2];if(!d){break k}d=J[d+4>>2];g=f-1|0;m:{if(!(g&f)){d=d&g;break m}if(d>>>0>>0){break m}d=(d>>>0)%(f>>>0)|0}d=J[b>>2]+(d<<2)|0;break l}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function id(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;J[a+8>>2]=e;J[a- -64>>2]=f;o=a+32|0;f=J[o>>2];g=J[a+36>>2]-f>>2;a:{if(g>>>0>>0){La(o,e-g|0);break a}if(e>>>0>=g>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}f=J[b>>2];c:{if((d|0)<2){d=f;break c}h=1;g=d-1|0;n=g&1;d:{if((d|0)==2){d=f;break d}q=g&-2;g=0;d=f;while(1){j=(h<<2)+b|0;k=J[j+4>>2];l=J[j>>2];i=(l|0)<(d|0);d=i?l:d;j=(d|0)>(k|0);d=j?k:d;f=i?f:(f|0)<(l|0)?l:f;f=j?f:(f|0)<(k|0)?k:f;h=h+2|0;g=g+2|0;if((q|0)!=(g|0)){continue}break}}if(!n){break c}h=J[(h<<2)+b>>2];g=(h|0)<(d|0);d=g?h:d;f=g?f:(f|0)<(h|0)?h:f}J[a+16>>2]=f;J[a+12>>2]=d;g=f-d|0;f=(f>>31)-((d>>31)+(d>>>0>f>>>0)|0)|0;d=g;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}r=1;e:{d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)>=4){t=a+60|0;q=a+68|0;n=d>>>2|0;while(1){d=J[a+56>>2];f=J[d>>2];i=n-1|0;if(i>>>0>=J[d+4>>2]-f>>2>>>0){break e}r=jd(t,J[f+(i<<2)>>2],b,i);if(!r){return 0}f=J[a+8>>2];if((f|0)>0){d=P(e,i)<<2;k=d+c|0;l=b+d|0;j=J[o>>2];p=0;g=q;while(1){h=j;if((f|0)>0){h=J[o>>2];f=0;while(1){m=f<<2;s=J[m+g>>2];d=J[a+16>>2];f:{if((s|0)>(d|0)){J[h+m>>2]=d;break f}m=h+m|0;d=J[a+12>>2];if((d|0)>(s|0)){J[m>>2]=d;break f}J[m>>2]=s}f=f+1|0;if((f|0)>2]){continue}break}}f=p<<2;d=f+k|0;f=J[f+l>>2]-J[f+h>>2]|0;J[d>>2]=f;g:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break g}f=f-J[a+20>>2]|0}J[d>>2]=f}g=h;f=J[a+8>>2];p=p+1|0;if((f|0)>(p|0)){continue}break}}d=(n|0)>1;n=i;if(d){continue}break}}return r|0}Xc();C()}function Bd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;J[a+8>>2]=e;J[a- -64>>2]=f;o=a+32|0;f=J[o>>2];g=J[a+36>>2]-f>>2;a:{if(g>>>0>>0){La(o,e-g|0);break a}if(e>>>0>=g>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}f=J[b>>2];c:{if((d|0)<2){d=f;break c}h=1;g=d-1|0;n=g&1;d:{if((d|0)==2){d=f;break d}q=g&-2;g=0;d=f;while(1){j=(h<<2)+b|0;k=J[j+4>>2];l=J[j>>2];i=(l|0)<(d|0);d=i?l:d;j=(d|0)>(k|0);d=j?k:d;f=i?f:(f|0)<(l|0)?l:f;f=j?f:(f|0)<(k|0)?k:f;h=h+2|0;g=g+2|0;if((q|0)!=(g|0)){continue}break}}if(!n){break c}h=J[(h<<2)+b>>2];g=(h|0)<(d|0);d=g?h:d;f=g?f:(f|0)<(h|0)?h:f}J[a+16>>2]=f;J[a+12>>2]=d;g=f-d|0;f=(f>>31)-((d>>31)+(d>>>0>f>>>0)|0)|0;d=g;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}r=1;e:{d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)>=4){t=a+60|0;q=a+68|0;n=d>>>2|0;while(1){d=J[a+56>>2];f=J[d>>2];i=n-1|0;if(i>>>0>=J[d+4>>2]-f>>2>>>0){break e}r=Cd(t,J[f+(i<<2)>>2],b,i);if(!r){return 0}f=J[a+8>>2];if((f|0)>0){d=P(e,i)<<2;k=d+c|0;l=b+d|0;j=J[o>>2];p=0;g=q;while(1){h=j;if((f|0)>0){h=J[o>>2];f=0;while(1){m=f<<2;s=J[m+g>>2];d=J[a+16>>2];f:{if((s|0)>(d|0)){J[h+m>>2]=d;break f}m=h+m|0;d=J[a+12>>2];if((d|0)>(s|0)){J[m>>2]=d;break f}J[m>>2]=s}f=f+1|0;if((f|0)>2]){continue}break}}f=p<<2;d=f+k|0;f=J[f+l>>2]-J[f+h>>2]|0;J[d>>2]=f;g:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break g}f=f-J[a+20>>2]|0}J[d>>2]=f}g=h;f=J[a+8>>2];p=p+1|0;if((f|0)>(p|0)){continue}break}}d=(n|0)>1;n=i;if(d){continue}break}}return r|0}Xc();C()}function ch(a,b,c,d){var e=0,f=0,g=0,h=0,i=Q(0),j=0,k=Q(0);h=J[c>>2];a:{b:{e=J[b+4>>2];if(!e){break b}g=gm(e);c:{if(g>>>0>=2){f=h;if(f>>>0>=e>>>0){f=(h>>>0)%(e>>>0)|0}c=J[J[b>>2]+(f<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}g=J[c+4>>2];if((g|0)!=(h|0)){if(e>>>0<=g>>>0){g=(g>>>0)%(e>>>0)|0}if((f|0)!=(g|0)){break b}}if(J[c+8>>2]!=(h|0)){continue}break}b=0;break a}f=e-1&h;c=J[J[b>>2]+(f<<2)>>2];if(!c){break b}}g=e-1|0;while(1){c=J[c>>2];if(!c){break b}j=J[c+4>>2];if((j|0)!=(h|0)&(g&j)!=(f|0)){break b}if(J[c+8>>2]!=(h|0)){continue}break}b=0;break a}c=ol(16);d=J[J[d>>2]>>2];J[c+12>>2]=0;J[c+8>>2]=d;J[c+4>>2]=h;J[c>>2]=0;k=Q(J[b+12>>2]+1>>>0);i=N[b+16>>2];d:{if(k>Q(i*Q(e>>>0))?0:e){break d}f=2;g=(e-1&e)!=0|e>>>0<3|e<<1;i=Q(W(Q(k/i)));e:{if(i=Q(0)){d=~~i>>>0;break e}d=0}d=d>>>0>>0?g:d;f:{if((d|0)==1){break f}if(!(d&d-1)){f=d;break f}f=cl(d);e=J[b+4>>2]}g:{if(e>>>0>=f>>>0){if(e>>>0<=f>>>0){break g}g=e>>>0<3;i=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(i=Q(0)){d=~~i>>>0;break h}d=0}i:{j:{if(g){break j}if(gm(e)>>>0>1){break j}d=d>>>0<2?d:1<<32-S(d-1|0);break i}d=cl(d)}f=d>>>0>>0?f:d;if(f>>>0>=e>>>0){break g}}sb(b,f)}e=J[b+4>>2];d=e-1|0;if(!(d&e)){f=d&h;break d}if(e>>>0>h>>>0){f=h;break d}f=(h>>>0)%(e>>>0)|0}f=J[b>>2]+(f<<2)|0;d=J[f>>2];k:{l:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[f>>2]=d;d=J[c>>2];if(!d){break k}d=J[d+4>>2];f=e-1|0;m:{if(!(f&e)){d=d&f;break m}if(d>>>0>>0){break m}d=(d>>>0)%(e>>>0)|0}d=J[b>>2]+(d<<2)|0;break l}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function Pd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=fa-32|0;fa=d;p=e<<2;f=e>>>0>1073741823?-1:p;l=ok(ol(f),0,f);f=J[a+40>>2];f=J[f+4>>2]-J[f>>2]|0;if((f|0)>=5){q=J[a+36>>2];n=J[a+32>>2];r=e&-2;s=e&1;t=a+8|0;f=f>>>2|0;while(1){j=J[a+40>>2];g=J[j>>2];a:{b:{h=J[j+4>>2]-g>>2;j=f-1|0;if(h>>>0>j>>>0){u=P(e,j);g=J[g+(j<<2)>>2];if((g|0)==-1|J[J[n>>2]+(g>>>3&536870908)>>2]>>>g&1){break b}g=J[J[J[n+64>>2]+12>>2]+(g<<2)>>2];if((g|0)==-1){break b}k=J[q>>2];h=J[n+28>>2];m=J[k+(J[h+(g<<2)>>2]<<2)>>2];if((m|0)>=(j|0)){break b}i=g+1|0;i=J[k+(J[h+(((i>>>0)%3|0?i:g-2|0)<<2)>>2]<<2)>>2];if((i|0)>=(j|0)){break b}g=J[k+(J[h+(g+((g>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((g|0)>=(j|0)){break b}c:{if((e|0)<=0){break c}h=P(e,g);k=P(e,i);m=P(e,m);g=0;o=0;if((e|0)!=1){while(1){J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2];i=g|1;J[(i<<2)+l>>2]=(J[(h+i<<2)+b>>2]+J[(i+k<<2)+b>>2]|0)-J[(i+m<<2)+b>>2];g=g+2|0;o=o+2|0;if((r|0)!=(o|0)){continue}break}}if(!s){break c}J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2]}g=J[l>>2];h=J[l+4>>2];break a}Xc();C()}h=(P(f-2|0,e)<<2)+b|0;g=J[h>>2];h=J[h+4>>2]}k=u<<2;m=k+b|0;i=J[m+4>>2];J[d+16>>2]=J[m>>2];J[d+20>>2]=i;J[d+8>>2]=g;J[d+12>>2]=h;Qd(d+24|0,t,d+16|0,d+8|0);g=c+k|0;J[g>>2]=J[d+24>>2];J[g+4>>2]=J[d+28>>2];g=(f|0)>2;f=j;if(g){continue}break}}if((e|0)>0){ok(l,0,p)}e=J[l>>2];f=J[l+4>>2];g=J[b+4>>2];J[d+16>>2]=J[b>>2];J[d+20>>2]=g;J[d+8>>2]=e;J[d+12>>2]=f;Qd(d+24|0,a+8|0,d+16|0,d+8|0);J[c>>2]=J[d+24>>2];J[c+4>>2]=J[d+28>>2];gl(l);fa=d+32|0;return 1}function Ee(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,n=0,o=0,p=0,q=0;g=fa-32|0;fa=g;e=J[a>>2];d=J[e>>2];c=J[e+4>>2];k=+(d>>>0)+ +(c>>>0)*4294967296;c=J[e+12>>2]+c|0;i=d;d=J[e+8>>2];e=i+d|0;c=e>>>0>>0?c+1|0:c;i=e;e=!(c|e);k=k/(+((e?1:i)>>>0)+ +((e?0:c)>>>0)*4294967296)*256+.5;a:{if(k<4294967296&k>=0){c=~~k>>>0;break a}c=0}c=c>>>0>=255?255:c;l=!c+c|0;H[g+23|0]=l;j=J[a+16>>2];p=J[a+12>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;b:{c:{c=(j-p<<1)- -64|0;if(c){if((c|0)<0){break c}h=ol(c);ok(h,0,c)}c=J[a+28>>2]-1|0;if((c|0)<0){d=4096;break b}m=0-l|0;q=m&255;i=J[a+24>>2];d=4096;while(1){n=i&1<>>0<=d>>>0){H[f+h|0]=d;f=f+1|0;d=d>>>8|0}o=(e<<3)+12784|0;dm(J[o>>2],0,d,0);d=((n?0:q)+d|0)+P(256-e|0,ja+d>>>J[o+4>>2]|0)|0;c=c-1|0;if((c|0)>=0){continue}break}break b}Ia();C()}if((j|0)!=(p|0)){m=0-l|0;q=m&255;while(1){j=j-4|0;i=J[j>>2];c=31;while(1){e=c;n=i&1<>>0<=d>>>0){H[f+h|0]=d;f=f+1|0;d=d>>>8|0}o=(c<<3)+12784|0;dm(J[o>>2],0,d,0);d=((n?0:q)+d|0)+P(256-c|0,ja+d>>>J[o+4>>2]|0)|0;c=e-1|0;if(e){continue}break}if((j|0)!=(p|0)){continue}break}}c=d-4096|0;d:{if(c>>>0<=63){H[f+h|0]=d;f=f+1|0;break d}if(c>>>0<=16383){c=f+h|0;H[c|0]=d;H[c+1|0]=d+12288>>>8;f=f+2|0;break d}if(c>>>0>4194303){break d}c=f+h|0;H[c|0]=d;e=d+8384512|0;H[c+2|0]=e>>>16;H[c+1|0]=e>>>8;f=f+3|0}c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],g+23|0,g+24|0)}yb(f,b);c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],h,f+h|0)}J[g+24>>2]=0;J[g+28>>2]=0;Be(a,g+24|0);J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=J[a+12>>2];if(h){gl(h)}fa=g+32|0}function Fe(a){var b=0,c=0,d=0,e=0;d=fa-16|0;fa=d;J[a+4>>2]=0;J[a+8>>2]=0;c=a+16|0;b=c;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;b=a+28|0;J[b>>2]=0;J[b+4>>2]=0;J[a+12>>2]=c;J[a+24>>2]=b;b=ol(32);J[d>>2]=b;J[d+4>>2]=20;J[d+8>>2]=-2147483616;c=K[1359]|K[1360]<<8|(K[1361]<<16|K[1362]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1355]|K[1356]<<8|(K[1357]<<16|K[1358]<<24);e=K[1351]|K[1352]<<8|(K[1353]<<16|K[1354]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1347]|K[1348]<<8|(K[1349]<<16|K[1350]<<24);e=K[1343]|K[1344]<<8|(K[1345]<<16|K[1346]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+20|0]=0;e=a+24|0;ni(e,d,1);if(H[d+11|0]<0){gl(J[d>>2])}a=ol(32);J[d>>2]=a;J[d+4>>2]=22;J[d+8>>2]=-2147483616;b=K[1338]|K[1339]<<8|(K[1340]<<16|K[1341]<<24);c=K[1334]|K[1335]<<8|(K[1336]<<16|K[1337]<<24);H[a+14|0]=c;H[a+15|0]=c>>>8;H[a+16|0]=c>>>16;H[a+17|0]=c>>>24;H[a+18|0]=b;H[a+19|0]=b>>>8;H[a+20|0]=b>>>16;H[a+21|0]=b>>>24;b=K[1332]|K[1333]<<8|(K[1334]<<16|K[1335]<<24);c=K[1328]|K[1329]<<8|(K[1330]<<16|K[1331]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1324]|K[1325]<<8|(K[1326]<<16|K[1327]<<24);c=K[1320]|K[1321]<<8|(K[1322]<<16|K[1323]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+22|0]=0;ni(e,d,1);if(H[d+11|0]<0){gl(J[d>>2])}fa=d+16|0}function Jj(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=J[a+8>>2];e=J[a+4>>2];if((f-e|0)/12>>>0>=b>>>0){a:{if(!b){break a}d=e;g=P(b,12)-12|0;h=((g>>>0)/12|0)+1&3;if(h){while(1){f=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=f;J[d+8>>2]=J[c+8>>2];d=d+12|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}e=P(b,12)+e|0;if(g>>>0<36){break a}while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];J[d+20>>2]=J[c+8>>2];b=J[c+4>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=b;J[d+32>>2]=J[c+8>>2];b=J[c+4>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=b;b=J[c+4>>2];J[d+36>>2]=J[c>>2];J[d+40>>2]=b;J[d+44>>2]=J[c+8>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{d=J[a>>2];h=(e-d|0)/12|0;g=h+b|0;if(g>>>0<357913942){f=(f-d|0)/12|0;d=f<<1;k=f>>>0>=178956970?357913941:d>>>0>g>>>0?d:g;if(k){if(k>>>0>=357913942){break b}l=ol(P(k,12))}i=P(h,12)+l|0;d=i;g=P(b,12);h=g-12|0;f=((h>>>0)/12|0)+1&3;if(f){while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];d=d+12|0;j=j+1|0;if((f|0)!=(j|0)){continue}break}}f=g+i|0;if(h>>>0>=36){while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];J[d+20>>2]=J[c+8>>2];b=J[c+4>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=b;J[d+32>>2]=J[c+8>>2];b=J[c+4>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=b;b=J[c+4>>2];J[d+36>>2]=J[c>>2];J[d+40>>2]=b;J[d+44>>2]=J[c+8>>2];d=d+48|0;if((f|0)!=(d|0)){continue}break}}c=J[a>>2];if((c|0)!=(e|0)){while(1){e=e-12|0;b=J[e+4>>2];i=i-12|0;d=i;J[d>>2]=J[e>>2];J[d+4>>2]=b;J[d+8>>2]=J[e+8>>2];if((c|0)!=(e|0)){continue}break}e=J[a>>2]}J[a+8>>2]=P(k,12)+l;J[a+4>>2]=f;J[a>>2]=i;if(e){gl(e)}return}Ia();C()}Ya();C()}function Mg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=fa-112|0;fa=c;d=ol(120);i=J[a+8>>2];J[d+12>>2]=0;J[d+16>>2]=0;J[d>>2]=11224;J[d+4>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+8>>2]=11436;e=d- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[d+72>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;J[d+88>>2]=0;J[d+116>>2]=0;J[d+112>>2]=b;J[d+108>>2]=i;J[d+104>>2]=0;J[d+96>>2]=0;J[d+100>>2]=0;g=J[a+12>>2];J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;f=c+32|0;e=f;J[e>>2]=0;J[e+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;e=c- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+104>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+8>>2]=11436;J[c+96>>2]=0;J[c+100>>2]=0;J[c+12>>2]=g;h=J[g>>2];e=J[g+4>>2];H[c+111|0]=0;j=f;f=c+111|0;Jg(j,(e-h>>2>>>0)/3|0,f);e=J[c+12>>2];h=J[e+28>>2];e=J[e+24>>2];H[c+111|0]=0;Jg(c+44|0,h-e>>2,f);J[c+28>>2]=d;J[c+24>>2]=i;J[c+20>>2]=b;J[c+16>>2]=g;J[d+116>>2]=a+72;a=d+8|0;b=c+8|0;Kg(a,b);a:{if((a|0)==(b|0)){J[d+92>>2]=J[b+84>>2];break a}Lg(d+56|0,J[b+48>>2],J[b+52>>2]);Lg(d+68|0,J[b+60>>2],J[b- -64>>2]);Lg(d+80|0,J[b+72>>2],J[b+76>>2]);J[d+92>>2]=J[b+84>>2];ec(d+96|0,J[b+88>>2],J[b+92>>2])}J[c+8>>2]=11436;a=J[c+96>>2];if(a){J[c+100>>2]=a;gl(a)}a=J[c+80>>2];if(a){J[c+84>>2]=a;gl(a)}a=J[c+68>>2];if(a){J[c+72>>2]=a;gl(a)}a=J[c+56>>2];if(a){J[c+60>>2]=a;gl(a)}J[c+8>>2]=11672;a=J[c+44>>2];if(a){gl(a)}a=J[c+32>>2];if(a){gl(a)}fa=c+112|0;return d}function ni(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=fa-48|0;fa=g;f=fa-32|0;fa=f;h=f+21|0;d=h;l=f+32|0;e=l;if(!((d|0)==(e|0)|(c|0)>=0)){H[d|0]=45;d=d+1|0;c=0-c|0}i=e-d|0;a:{if((i|0)<=9){j=P(32-S(c|1)|0,1233)>>12;k=61;if((i|0)<((M[(j<<2)+18192>>2]<=c>>>0)+j|0)){break a}}b:{if(c>>>0<=999999){if(c>>>0<=9999){if(c>>>0<=99){if(c>>>0<=9){H[d|0]=c+48;e=d+1|0;break b}e=xl(d,c);break b}if(c>>>0<=999){e=(c>>>0)/100|0;H[d|0]=e+48;e=xl(d+1|0,c-P(e,100)|0);break b}e=yl(d,c);break b}if(c>>>0<=99999){e=(c>>>0)/1e4|0;H[d|0]=e+48;e=yl(d+1|0,c-P(e,1e4)|0);break b}e=zl(d,c);break b}if(c>>>0<=99999999){if(c>>>0<=9999999){e=(c>>>0)/1e6|0;H[d|0]=e+48;e=zl(d+1|0,c-P(e,1e6)|0);break b}e=Al(d,c);break b}if(c>>>0<=999999999){e=(c>>>0)/1e8|0;H[d|0]=e+48;e=Al(d+1|0,c-P(e,1e8)|0);break b}e=d;d=(c>>>0)/1e8|0;e=Al(xl(e,d),c-P(d,1e8)|0)}k=0}J[f+12>>2]=k;J[f+8>>2]=e;j=fa-16|0;fa=j;e=fa-16|0;fa=e;c=g+8|0;c:{i=J[f+8>>2];f=i-h|0;if(f>>>0<=2147483631){d:{if(f>>>0<11){H[c+11|0]=f|K[c+11|0]&128;H[c+11|0]=K[c+11|0]&127;d=c;break d}k=e+8|0;if(f>>>0>=11){m=f+16&-16;d=m-1|0;d=(d|0)==11?m:d}else{d=10}ll(k,d+1|0);d=J[e+8>>2];J[c>>2]=d;J[c+8>>2]=J[c+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[c+8>>2]=J[c+8>>2]|-2147483648;J[c+4>>2]=f}while(1){if((h|0)!=(i|0)){H[d|0]=K[h|0];d=d+1|0;h=h+1|0;continue}break}H[e+7|0]=0;H[d|0]=K[e+7|0];fa=e+16|0;break c}xe();C()}fa=j+16|0;fa=l;J[g+32>>2]=b;Ze(g+40|0,a,b,g+32|0);a=J[g+40>>2];if(H[a+39|0]<0){gl(J[a+28>>2])}b=J[g+12>>2];J[a+28>>2]=J[g+8>>2];J[a+32>>2]=b;J[a+36>>2]=J[g+16>>2];fa=g+48|0}function hk(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=Q(0);a:{b:{c:{d:{d=2;e:{if((b|0)==1){break e}d=b;if(!(b-1&b)){break e}d=cl(b)}b=J[a+4>>2];if(d>>>0<=b>>>0){if(b>>>0<=d>>>0){break a}e=b>>>0<3;i=Q(W(Q(Q(M[a+12>>2])/N[a+20>>2])));f:{if(i=Q(0)){c=~~i>>>0;break f}c=0}g:{h:{if(e){break h}if(gm(b)>>>0>1){break h}c=c>>>0<2?c:1<<32-S(c-1|0);break g}c=cl(c)}d=c>>>0>>0?d:c;if(b>>>0<=d>>>0){break a}if(!d){break d}}if(d>>>0>=1073741824){break c}c=ol(d<<2);b=J[a>>2];J[a>>2]=c;if(b){gl(b)}J[a+4>>2]=d;e=0;b=0;if(d-1>>>0>=3){g=d&-4;while(1){c=b<<2;J[c+J[a>>2]>>2]=0;J[J[a>>2]+(c|4)>>2]=0;J[J[a>>2]+(c|8)>>2]=0;J[J[a>>2]+(c|12)>>2]=0;b=b+4|0;f=f+4|0;if((g|0)!=(f|0)){continue}break}}c=d&3;if(c){while(1){J[J[a>>2]+(b<<2)>>2]=0;b=b+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}b=J[a+8>>2];if(!b){break a}c=a+8|0;f=J[b+4>>2];e=d-1|0;if(!(e&d)){break b}f=d>>>0<=f>>>0?(f>>>0)%(d>>>0)|0:f;J[J[a>>2]+(f<<2)>>2]=c;while(1){c=J[b>>2];if(!c){break a}e=J[c+4>>2];if(e>>>0>=d>>>0){e=(e>>>0)%(d>>>0)|0}if((e|0)==(f|0)){b=c;continue}g=e<<2;h=g+J[a>>2]|0;if(J[h>>2]){J[b>>2]=J[c>>2];J[c>>2]=J[J[g+J[a>>2]>>2]>>2];J[J[g+J[a>>2]>>2]>>2]=c}else{J[h>>2]=b;b=c;f=e}continue}}b=J[a>>2];J[a>>2]=0;if(b){gl(b)}J[a+4>>2]=0;break a}Ya();C()}f=e&f;J[J[a>>2]+(f<<2)>>2]=c;while(1){c=J[b>>2];if(!c){break a}d=e&J[c+4>>2];if((d|0)==(f|0)){b=c;continue}g=d<<2;h=g+J[a>>2]|0;if(J[h>>2]){J[b>>2]=J[c>>2];J[c>>2]=J[J[g+J[a>>2]>>2]>>2];J[J[g+J[a>>2]>>2]>>2]=c}else{J[h>>2]=b;b=c;f=d}continue}}}function Mb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=fa-32|0;fa=h;e=a+4|0;a=cc(a,b);a:{if((e|0)==(a|0)){break a}b:{if(H[a+39|0]>=0){J[h+24>>2]=J[a+36>>2];b=J[a+32>>2];J[h+16>>2]=J[a+28>>2];J[h+20>>2]=b;break b}sl(h+16|0,J[a+28>>2],J[a+32>>2])}b=K[h+27|0];a=b<<24>>24;if(!(!((a|0)<0?J[h+20>>2]:b)|(c|0)<=0)){b=0;a=(a|0)<0?J[h+16>>2]:h+16|0;while(1){c:{l=fa-16|0;fa=l;Dk(l,a,h+12|0,0);j=J[l>>2];k=J[l+4>>2];i=fa-32|0;fa=i;n=J[l+12>>2];g=n&2147483647;e=g-1065418752|0;m=g-1082064896|0;f=J[l+8>>2];d:{if((e|0)==(m|0)&f>>>0>>0|e>>>0>>0){g=(n&33554431)<<7|f>>>25;e=0;m=e;f=f&33554431;if(!(!e&(f|0)==16777216?!(j|k):!e&f>>>0<16777216)){e=g+1073741825|0;break d}e=g+1073741824|0;if(f^16777216|j|(k|m)){break d}e=(g&1)+e|0;break d}if(!(!f&(g|0)==2147418112?!(j|k):g>>>0<2147418112)){e=((n&33554431)<<7|f>>>25)&4194303|2143289344;break d}e=2139095040;if(g>>>0>1082064895){break d}e=0;g=g>>>16|0;if(g>>>0<16145){break d}e=n&65535|65536;Sk(i+16|0,j,k,f,e,g-16129|0);Zk(i,j,k,f,e,16257-g|0);f=J[i+8>>2];e=(J[i+12>>2]&33554431)<<7|f>>>25;g=J[i>>2]|(J[i+16>>2]|J[i+24>>2]|(J[i+20>>2]|J[i+28>>2]))!=0;k=J[i+4>>2];j=0;f=f&33554431;if(!(!j&(f|0)==16777216?!(g|k):!j&f>>>0<16777216)){e=e+1|0;break d}if(f^16777216|g|(j|k)){break d}e=(e&1)+e|0}fa=i+32|0;fa=l+16|0;m=a;a=J[h+12>>2];if((m|0)==(a|0)){break c}J[(b<<2)+d>>2]=n&-2147483648|e;b=b+1|0;if((c|0)!=(b|0)){continue}}break}a=K[h+27|0]}if(a<<24>>24>=0){break a}gl(J[h+16>>2])}fa=h+32|0}function ve(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=J[b+48>>2];d=fa-32|0;fa=d;J[d+28>>2]=a;a=0;a:{if((Pb(f)|0)>9){break a}if((ka[J[J[b>>2]+8>>2]](b)|0)!=1){break a}a=ol(32);J[d+16>>2]=a;J[d+20>>2]=17;J[d+24>>2]=-2147483616;H[a+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);c=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=e;H[a+13|0]=e>>>8;H[a+14|0]=e>>>16;H[a+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);c=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=e;H[a+5|0]=e>>>8;H[a+6|0]=e>>>16;H[a+7|0]=e>>>24;H[a+17|0]=0;a=Gb(f,d+28|0,d+16|0,-1);if(H[d+27|0]<0){gl(J[d+16>>2])}c=J[b+4>>2];e=J[J[c+8>>2]+(J[d+28>>2]<<2)>>2];b:{if((a|0)==-1|J[e+56>>2]!=3|K[e+24|0]!=2){break b}c=ck(c);if(!c){break b}c=J[c+28>>2];if(!(2558>>>c&c>>>0<12)){h=d,i=bk(J[b+4>>2],0),J[h+12>>2]=i;c=we(d+16|0,1245);g=Gb(f,d+12|0,c,-1);if(H[c+11|0]<0){gl(J[c>>2])}if((a+(g<<1)|0)>63|g-1>>>0>20){break b}}a=5;if((Pb(f)|0)<4){break a}}a=J[e+56>>2];e=Pb(f);if((a|0)==1){c:{if((e|0)>3){break c}h=d,i=bk(J[b+4>>2],0),J[h+12>>2]=i;a=ck(J[b+4>>2]);if(!a){break c}a=J[a+28>>2];if(2558>>>a&a>>>0<12){a=6;break a}a=we(d+16|0,1245);b=Gb(f,d+12|0,a,-1);if(H[a+11|0]<0){gl(J[a>>2])}a=6;if((b|0)>0){break a}}a=0;break a}a=0;if((e|0)>7){break a}a=1;if((Pb(f)|0)>1){break a}a=M[J[b+4>>2]+80>>2]<40?1:4}fa=d+32|0;return a}function zf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Af(a,i,c,h,e);f=b;b=e+j|0;Af(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}zf(a,i,c,h,e,f);zf(i,b,c,g,e,f);Bf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function wf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){xf(a,i,c,h,e);f=b;b=e+j|0;xf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}wf(a,i,c,h,e,f);wf(i,b,c,g,e,f);yf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function qg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){rg(a,i,c,h,e);f=b;b=e+j|0;rg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}qg(a,i,c,h,e,f);qg(i,b,c,g,e,f);sg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function ng(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){og(a,i,c,h,e);f=b;b=e+j|0;og(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}ng(a,i,c,h,e,f);ng(i,b,c,g,e,f);pg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function nf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){qf(a,i,c,h,e);f=b;b=e+j|0;qf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}nf(a,i,c,h,e,f);nf(i,b,c,g,e,f);rf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function kg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){lg(a,i,c,h,e);f=b;b=e+j|0;lg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}kg(a,i,c,h,e,f);kg(i,b,c,g,e,f);mg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function hg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){ig(a,i,c,h,e);f=b;b=e+j|0;ig(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}hg(a,i,c,h,e,f);hg(i,b,c,g,e,f);jg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function eg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){fg(a,i,c,h,e);f=b;b=e+j|0;fg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}eg(a,i,c,h,e,f);eg(i,b,c,g,e,f);gg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function bg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){cg(a,i,c,h,e);f=b;b=e+j|0;cg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}bg(a,i,c,h,e,f);bg(i,b,c,g,e,f);dg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function _f(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){$f(a,i,c,h,e);f=b;b=e+j|0;$f(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}_f(a,i,c,h,e,f);_f(i,b,c,g,e,f);ag(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Xf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Yf(a,i,c,h,e);f=b;b=e+j|0;Yf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Xf(a,i,c,h,e,f);Xf(i,b,c,g,e,f);Zf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Uf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Vf(a,i,c,h,e);f=b;b=e+j|0;Vf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Uf(a,i,c,h,e,f);Uf(i,b,c,g,e,f);Wf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Rf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Sf(a,i,c,h,e);f=b;b=e+j|0;Sf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Rf(a,i,c,h,e,f);Rf(i,b,c,g,e,f);Tf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Of(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Pf(a,i,c,h,e);f=b;b=e+j|0;Pf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Of(a,i,c,h,e,f);Of(i,b,c,g,e,f);Qf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Lf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Mf(a,i,c,h,e);f=b;b=e+j|0;Mf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Lf(a,i,c,h,e,f);Lf(i,b,c,g,e,f);Nf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function If(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Jf(a,i,c,h,e);f=b;b=e+j|0;Jf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}If(a,i,c,h,e,f);If(i,b,c,g,e,f);Kf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Ff(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Gf(a,i,c,h,e);f=b;b=e+j|0;Gf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Ff(a,i,c,h,e,f);Ff(i,b,c,g,e,f);Hf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Cf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Df(a,i,c,h,e);f=b;b=e+j|0;Df(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Cf(a,i,c,h,e,f);Cf(i,b,c,g,e,f);Ef(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Ui(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=fa-32|0;fa=a;a:{b:{c:{d:{if(!b){break d}f=wk(c);if(f>>>0>=2147483632){break c}e:{f:{if(f>>>0>=11){g=(f|15)+1|0;h=ol(g);J[a+24>>2]=g|-2147483648;J[a+16>>2]=h;J[a+20>>2]=f;g=f+h|0;break f}H[a+27|0]=f;h=a+16|0;g=f+h|0;if(!f){break e}}mk(h,c,f)}H[g|0]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;if(e){if((e|0)<0){break b}c=e<<2;e=ol(c);J[a>>2]=e;f=c+e|0;J[a+8>>2]=f;mk(e,d,c);J[a+4>>2]=f}f=fa-48|0;fa=f;e=cc(b,a+16|0);if((e|0)!=(b+4|0)){c=J[e+4>>2];g:{if(!c){c=e;while(1){d=J[c+8>>2];g=J[d>>2]!=(c|0);c=d;if(g){continue}break}break g}while(1){d=c;c=J[c>>2];if(c){continue}break}}if((e|0)==J[b>>2]){J[b>>2]=d}J[b+8>>2]=J[b+8>>2]-1;_j(J[b+4>>2],e);c=J[e+28>>2];if(c){J[e+32>>2]=c;gl(c)}if(H[e+27|0]<0){gl(J[e+16>>2])}gl(e)}J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;c=J[a+4>>2];d=J[a>>2];e=c-d|0;g=0;h:{i:{if((c|0)!=(d|0)){if((e|0)<0){break i}g=ol(e);c=ok(g,0,e);h=c+e|0;J[f+8>>2]=h;J[f+4>>2]=h;J[f>>2]=c;c=d}mk(g,c,e);j:{if(H[a+27|0]>=0){J[f+24>>2]=J[a+24>>2];c=J[a+20>>2];J[f+16>>2]=J[a+16>>2];J[f+20>>2]=c;break j}sl(f+16|0,J[a+16>>2],J[a+20>>2])}Yj(f+28|0,f);c=f+16|0;$j(f+40|0,b,c,c);c=J[f+28>>2];if(c){J[f+32>>2]=c;gl(c)}if(H[f+27|0]<0){gl(J[f+16>>2])}c=J[f>>2];if(c){J[f+4>>2]=c;gl(c)}fa=f+48|0;break h}Ia();C()}c=J[a>>2];if(c){J[a+4>>2]=c;gl(c)}if(H[a+27|0]>=0){break d}gl(J[a+16>>2])}fa=a+32|0;a=(b|0)!=0;break a}xe();C()}Ia();C()}return a|0}function zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=fa-16|0;fa=c;b=J[J[a+4>>2]+(b<<2)>>2];J[c+12>>2]=b;a=J[a+28>>2];e=J[J[J[a+4>>2]+8>>2]+(b<<2)>>2];b=J[e+28>>2];a:{if(b-1>>>0>=6){b:{if((b|0)!=9){break b}f=J[a+48>>2];a=ol(32);J[c>>2]=a;J[c+4>>2]=17;J[c+8>>2]=-2147483616;H[a+16|0]=K[1261];b=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);d=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[a+8|0]=d;H[a+9|0]=d>>>8;H[a+10|0]=d>>>16;H[a+11|0]=d>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);d=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[a|0]=d;H[a+1|0]=d>>>8;H[a+2|0]=d>>>16;H[a+3|0]=d>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+17|0]=0;a=Gb(f,c+12|0,c,-1);if(H[c+11|0]<0){gl(J[c>>2])}if((a|0)<=0){break b}if(J[e+56>>2]==1){a=ol(48);J[a>>2]=0;J[a+4>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;a=Hc(a);J[a+40>>2]=1032;J[a>>2]=6316;J[a+44>>2]=-1;break a}a=Hc(ol(64));J[a+40>>2]=2040;J[a>>2]=9996;J[a+48>>2]=0;J[a+52>>2]=0;J[a+44>>2]=-1;J[a+56>>2]=0;J[a+60>>2]=0;break a}a=ol(36);J[a+32>>2]=0;J[a+12>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=2400;H[a+21|0]=0;H[a+22|0]=0;H[a+23|0]=0;H[a+24|0]=0;H[a+25|0]=0;H[a+26|0]=0;H[a+27|0]=0;H[a+28|0]=0;break a}a=Hc(ol(40))}fa=c+16|0;return a|0}function yc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=J[a+8>>2]-J[a+4>>2]>>2;b=J[a+40>>2];d=J[a+36>>2];c=b-d>>2;a:{if(e>>>0>c>>>0){g=e-c|0;d=J[a+44>>2];b=J[a+40>>2];if(g>>>0<=d-b>>2>>>0){if(g){i=b;b=g<<2;b=ok(i,0,b)+b|0}J[a+40>>2]=b;break a}b:{c:{d:{j=J[a+36>>2];e=b-j>>2;f=e+g|0;if(f>>>0<1073741824){c=d-j|0;d=c>>>1|0;c=c>>>0>=2147483644?1073741823:d>>>0>f>>>0?d:f;if(c){if(c>>>0>=1073741824){break d}i=ol(c<<2)}h=(e<<2)+i|0;d=g<<2;f=ok(h,0,d);e=d+f|0;c=(c<<2)+i|0;if((b|0)==(j|0)){break c}while(1){b=b-4|0;d=J[b>>2];J[b>>2]=0;h=h-4|0;J[h>>2]=d;if((b|0)!=(j|0)){continue}break}J[a+44>>2]=c;c=J[a+40>>2];J[a+40>>2]=e;b=J[a+36>>2];J[a+36>>2]=h;if((b|0)==(c|0)){break b}while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){ka[J[J[d>>2]+4>>2]](d)}if((b|0)!=(c|0)){continue}break}break b}Ia();C()}Ya();C()}J[a+44>>2]=c;J[a+40>>2]=e;J[a+36>>2]=f}if(b){gl(b)}break a}if(c>>>0<=e>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(b|0)){while(1){b=b-4|0;c=J[b>>2];J[b>>2]=0;if(c){ka[J[J[c>>2]+4>>2]](c)}if((b|0)!=(d|0)){continue}break}}J[a+40>>2]=d}if(J[a+8>>2]==J[a+4>>2]){return 1}b=0;while(1){e=ka[J[J[a>>2]+56>>2]](a,b)|0;c=b<<2;d=c+J[a+36>>2]|0;f=J[d>>2];J[d>>2]=e;if(f){ka[J[J[f>>2]+4>>2]](f)}c=J[c+J[a+36>>2]>>2];d=(c|0)!=0;if(c){if(!(!(J[J[a+48>>2]+(b>>>3&536870908)>>2]>>>b&1)|M[a+52>>2]<=b>>>0)){H[c+28|0]=1}b=b+1|0;if(b>>>0>2]-J[a+4>>2]>>2>>>0){continue}}break}return d|0}function ph(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;J[a>>2]=10592;c=a+200|0;d=J[c+136>>2];if(d){b=d;e=J[c+140>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=J[b>>2];if(f){J[e-8>>2]=f;gl(f)}e=b;if((b|0)!=(d|0)){continue}break}b=J[c+136>>2]}J[c+140>>2]=d;gl(b)}b=J[c+104>>2];if(b){J[c+108>>2]=b;gl(b)}b=J[c+92>>2];if(b){J[c+96>>2]=b;gl(b)}d=J[c+80>>2];J[c+80>>2]=0;if(d){e=d-4|0;b=J[e>>2];if(b){b=d+(b<<5)|0;while(1){b=Ae(b-32|0);if((d|0)!=(b|0)){continue}break}}gl(e)}b=J[c+68>>2];if(b){J[c+72>>2]=b;gl(b)}b=J[c+44>>2];J[c+44>>2]=0;if(b){gl(b)}b=J[c+32>>2];if(b){J[c+36>>2]=b;gl(b)}Ae(c);b=J[a+184>>2];if(b){J[a+188>>2]=b;gl(b)}d=J[a+172>>2];if(d){b=J[a+176>>2];e=d;if((b|0)!=(d|0)){while(1){e=b-136|0;f=J[e+116>>2];if(f){J[b-16>>2]=f;gl(f)}f=J[b-32>>2];if(f){J[b-28>>2]=f;gl(f)}bh(b-132|0);b=e;if((d|0)!=(b|0)){continue}break}e=J[a+172>>2]}J[a+176>>2]=d;gl(e)}b=J[a+152>>2];if(b){J[a+156>>2]=b;gl(b)}b=J[a+140>>2];if(b){gl(b)}b=J[a+128>>2];if(b){while(1){e=J[b>>2];gl(b);b=e;if(b){continue}break}}b=J[a+120>>2];J[a+120>>2]=0;if(b){gl(b)}b=J[a+108>>2];if(b){J[a+112>>2]=b;gl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;gl(b)}b=J[a+84>>2];if(b){gl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;gl(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;gl(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;gl(b)}b=J[a+28>>2];if(b){gl(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;gl(b)}b=J[a+12>>2];J[a+12>>2]=0;if(b){Tg(b)}return a|0}function yf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}yf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}yf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function sg(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}sg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}sg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function rf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}rf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}rf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function pg(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}pg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}pg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function mg(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}mg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}mg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function jg(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}jg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}jg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function gg(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}gg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}gg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function dg(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}dg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}dg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function ag(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}ag(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}ag(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Zf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Zf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Zf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Wf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Wf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Wf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Tf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Tf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Tf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Qf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Qf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Qf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Nf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Nf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Nf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Kf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Kf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Kf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Hf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Hf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Hf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Ef(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Ef(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Ef(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Bf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Bf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Bf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function ff(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=fa-16|0;fa=m;f=J[b+28>>2];g=J[b+24>>2];J[a+8>>2]=g;J[a+12>>2]=f;f=J[b+20>>2];J[a>>2]=J[b+16>>2];J[a+4>>2]=f;f=J[b+36>>2];J[a+16>>2]=J[b+32>>2];J[a+20>>2]=f;J[a+8>>2]=d+g;a:{b:{if((d|0)>0){j=J[b>>2];f=J[a+12>>2];n=J[a+16>>2];o=O[a>>3];while(1){i=J[b+4>>2]-j>>2;g=J[(h<<2)+c>>2];c:{if(i>>>0>g>>>0){break c}J[m+12>>2]=0;k=g+1|0;if(k>>>0>i>>>0){vb(b,k-i|0,m+12|0);j=J[b>>2];break c}if(i>>>0<=k>>>0){break c}J[b+4>>2]=(k<<2)+j}k=(g<<2)+j|0;i=J[k>>2];d:{if((i|0)>=2){l=+(i|0);l=rk(l)*l;break d}l=0;if(i){break d}n=n+1|0;J[a+16>>2]=n;if(f>>>0>=g>>>0){break d}J[a+12>>2]=g;f=g}g=i+1|0;J[k>>2]=g;p=+(g|0);o=rk(p)*p-l+o;O[a>>3]=o;h=h+1|0;if((h|0)!=(d|0)){continue}break}if(e){break b}if((d|0)<=0){break a}a=J[b>>2];j=0;h=0;if(d>>>0>=4){g=d&-4;e=0;while(1){b=h<<2;f=a+(J[b+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;f=a+(J[(b|4)+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;f=a+(J[(b|8)+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;b=a+(J[(b|12)+c>>2]<<2)|0;J[b>>2]=J[b>>2]-1;h=h+4|0;e=e+4|0;if((g|0)!=(e|0)){continue}break}}b=d&3;if(!b){break a}while(1){d=a+(J[(h<<2)+c>>2]<<2)|0;J[d>>2]=J[d>>2]-1;h=h+1|0;j=j+1|0;if((b|0)!=(j|0)){continue}break}break a}if(!e){break a}}c=J[a+4>>2];J[b+16>>2]=J[a>>2];J[b+20>>2]=c;J[b+32>>2]=J[a+16>>2];c=J[a+12>>2];J[b+24>>2]=J[a+8>>2];J[b+28>>2]=c}fa=m+16|0}function Qd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=J[b+16>>2];f=J[c+4>>2]-e|0;J[c>>2]=0|J[c>>2]-e;J[c+4>>2]=f;f=J[d+4>>2]-e|0;e=J[d>>2]-e|0;J[d>>2]=g|e;J[d+4>>2]=f;i=J[b+16>>2];g=f>>31;h=(g^f)-g|0;g=e>>31;if(i>>>0>>0){j=J[c+4>>2];k=J[c>>2];a:{b:{if((k|0)>=0){h=1;g=1;if((j|0)>=0){break a}e=1;h=-1;g=-1;if(k){break b}break a}e=-1;h=-1;g=-1;if((j|0)<=0){break a}}h=(j|0)<=0?-1:1;g=e}f=1;e=-1;l=k<<1;k=P(g,i);l=l-k|0;g=(P(g,h)|0)>=0;h=P(h,i);J[c+4>>2]=((g?0-l|0:l)+h|0)/2;h=(j<<1)-h|0;J[c>>2]=(k+(g?0-h|0:h)|0)/2;g=J[d+4>>2];h=J[d>>2];c:{d:{if((h|0)>=0){e=1;if((g|0)>=0){break c}if(h){break d}f=-1;e=-1;break c}f=-1;if((g|0)<=0){break c}}f=(g|0)<=0?-1:1}i=h<<1;h=J[b+16>>2];j=P(h,e);i=i-j|0;e=(P(f,e)|0)>=0;h=P(f,h);f=((e?0-i|0:i)+h|0)/2|0;J[d+4>>2]=f;g=(g<<1)-h|0;e=(j+(e?0-g|0:g)|0)/2|0;J[d>>2]=e}e:{f:{g:{h:{i:{j:{if(e){if((e|0)>=0){break j}if((f|0)>0){break h}break e}if(f){break i}f=0;e=0;break e}if((f|0)<0){break g}f=0-J[c+4>>2]|0;J[c>>2]=0-J[c>>2];J[c+4>>2]=f;e=0-J[d>>2]|0;f=0-J[d+4>>2]|0;break f}if((f|0)<=0){break g}}f=J[c>>2];J[c>>2]=0-J[c+4>>2];J[c+4>>2]=f;e=0-J[d+4>>2]|0;f=J[d>>2];break f}f=0-J[c>>2]|0;J[c>>2]=J[c+4>>2];J[c+4>>2]=f;e=J[d+4>>2];f=0-J[d>>2]|0}J[d>>2]=e;J[d+4>>2]=f}d=J[c>>2];b=J[b+4>>2];c=J[c+4>>2]-f|0;J[a+4>>2]=(b&c>>31)+c;c=a;a=d-e|0;J[c>>2]=(b&a>>31)+a}function _g(a,b){var c=0,d=0,e=0,f=0,g=0;e=-1;c=(b|0)==-1;d=-1;a:{if(c){break a}d=b+1|0;e=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}f=c?-1:(b>>>0)/3|0;g=J[a+28>>2]+(f>>>3&536870908)|0;J[g>>2]=J[g>>2]|1<>2]+12>>2]+(b<<2)>>2];if((c|0)==-1){break b}c=(c>>>0)/3|0;if(J[J[a+28>>2]+(c>>>3&268435452)>>2]>>>c&1){break b}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break b}f=1<>>5<<2;b=0;while(1){De(J[a+280>>2]+(b<<5)|0,(f&J[g+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}c:{if((e|0)==-1){break c}b=J[J[J[a+12>>2]+12>>2]+(e<<2)>>2];if((b|0)==-1){break c}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break c}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break c}f=1<>>5<<2;b=0;while(1){De(J[a+280>>2]+(b<<5)|0,(f&J[e+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}d:{if((d|0)==-1){break d}b=J[J[J[a+12>>2]+12>>2]+(d<<2)>>2];if((b|0)==-1){break d}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break d}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break d}e=1<>>5<<2;b=0;while(1){De(J[a+280>>2]+(b<<5)|0,(e&J[d+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}}function cj(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;a=0;a:{if(!d|(!b|(c|0)<0)){break a}f=J[b+8>>2];if(J[b+12>>2]-f>>2<=(c|0)){break a}if(!J[b+4>>2]){a=ol(36);J[a+4>>2]=0;J[a+8>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;e=a+16|0;J[e>>2]=0;J[e+4>>2]=0;J[a>>2]=a+4;J[a+32>>2]=0;J[a+12>>2]=e;J[b+4>>2]=a}a=J[J[f+(c<<2)>>2]+60>>2];d=Zj(ol(28),d);J[d+24>>2]=a;a=J[b+4>>2];c=fa-16|0;fa=c;J[c+8>>2]=d;b:{if(!d){break b}b=J[a+28>>2];c:{if(b>>>0>2]){J[c+8>>2]=0;J[b>>2]=d;J[a+28>>2]=b+4;break c}b=0;d:{e:{f:{e=J[a+24>>2];f=J[a+28>>2]-e>>2;d=f+1|0;if(d>>>0<1073741824){e=J[a+32>>2]-e|0;g=e>>>1|0;e=e>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(e){if(e>>>0>=1073741824){break f}b=ol(e<<2)}g=J[c+8>>2];J[c+8>>2]=0;d=(f<<2)+b|0;J[d>>2]=g;e=(e<<2)+b|0;f=d+4|0;b=J[a+28>>2];g=J[a+24>>2];if((b|0)==(g|0)){break e}while(1){b=b-4|0;h=J[b>>2];J[b>>2]=0;d=d-4|0;J[d>>2]=h;if((b|0)!=(g|0)){continue}break}J[a+32>>2]=e;e=J[a+28>>2];J[a+28>>2]=f;b=J[a+24>>2];J[a+24>>2]=d;if((b|0)==(e|0)){break d}while(1){e=e-4|0;a=J[e>>2];J[e>>2]=0;if(a){Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);gl(a)}if((b|0)!=(e|0)){continue}break}break d}Ia();C()}Ya();C()}J[a+32>>2]=e;J[a+28>>2]=f;J[a+24>>2]=d}if(b){gl(b)}}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break b}Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);gl(a)}fa=c+16|0;a=1}return a|0}function Ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+16>>2];a:{if(J[a+20>>2]-e>>2<=(b|0)){break a}h=J[e+(b<<2)>>2];if((h|0)<0){break a}if(M[a+52>>2]<=h>>>0){b:{b=fa-16|0;fa=b;c:{f=J[a+52>>2];c=h+1|0;d:{if(f>>>0>>0){e=c-f|0;g=J[a+56>>2];d=g<<5;e:{if(!(e>>>0>d>>>0|f>>>0>d-e>>>0)){J[a+52>>2]=c;d=f&31;c=J[a+48>>2]+(f>>>3&536870908)|0;break e}J[b+8>>2]=0;J[b>>2]=0;J[b+4>>2]=0;if((c|0)<0){break c}if(d>>>0<=1073741822){d=g<<6;c=c+31&-32;c=c>>>0>>0?d:c}else{c=2147483647}Gc(b,c);d=J[a+52>>2];J[b+4>>2]=d+e;f=J[a+48>>2];c=J[b>>2];f:{if((d|0)<=0){d=0;break f}g=d>>>5|0;if(d>>>0>=32){nk(c,f,g<<2)}g=g<<2;c=g+c|0;d=d&31;if(d){i=-1>>>32-d|0;J[c>>2]=J[c>>2]&(i^-1)|J[f+g>>2]&i}f=J[a+48>>2]}J[a+48>>2]=J[b>>2];J[b>>2]=f;g=J[a+52>>2];J[a+52>>2]=J[b+4>>2];J[b+4>>2]=g;g=J[a+56>>2];J[a+56>>2]=J[b+8>>2];J[b+8>>2]=g;if(!f){break e}gl(f)}if(!e){break d}if(d){f=32-d|0;g=e>>>0>f>>>0?f:e;J[c>>2]=J[c>>2]&(-1<>>f-g^-1);e=e-g|0;c=c+4|0}d=e>>>5|0;if(e>>>0>=32){ok(c,0,d<<2)}if((e&-32)==(e|0)){break d}c=(d<<2)+c|0;J[c>>2]=J[c>>2]&(-1>>>32-(e&31)^-1);break d}J[a+52>>2]=c}fa=b+16|0;break b}Ia();C()}}c=1;b=J[a+48>>2]+(h>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];a=J[a+36>>2];if(b-a>>2>>>0<=h>>>0){break a}H[J[a+(h<<2)>>2]+28|0]=1}return c|0}function of(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,n=0,o=0,p=0;g=fa-16|0;fa=g;yb(J[a+12>>2],b);a:{if(!J[a+12>>2]){break a}n=g+15|0;o=g+16|0;while(1){b:{c:{e=J[a>>2];j=J[e+(h<<3)>>2];c=j>>>0<64;if(!c){d=1;if(j>>>0<16384){break c}d=2;if(j>>>0<=4194303){break c}break a}d=0;if(j){break c}while(1){d:{if(J[(e+(d+h<<3)|0)+8>>2]){c=d;break d}c=d+1|0;if(J[(e+(h+c<<3)|0)+8>>2]){break d}c=d+2|0;if(J[(e+(h+c<<3)|0)+8>>2]){break d}c=63;d=d+3|0;if((d|0)!=63){continue}}break}H[g+15|0]=c<<2|3;d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){Ba(b,J[b+4>>2],g+15|0,o)}h=c+h|0;break b}H[g+14|0]=j<<2|d;e=J[b+20>>2];if(!J[b+16>>2]&(e|0)<=0|(e|0)<0){Ba(b,J[b+4>>2],g+14|0,n)}if(c){break b}c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break b}p=d>>>0<=1?1:d;d=0;while(1){d=d+1|0;e:{c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break e}m=j>>>(d<<3)-2|0;f=J[b+8>>2];e=J[b+4>>2];if((f-e|0)>0){H[e|0]=m;J[b+4>>2]=e+1;break e}k=J[b>>2];c=e-k|0;i=c+1|0;if((i|0)>=0){f=f-k|0;l=f<<1;f=f>>>0>=1073741823?2147483647:i>>>0>>0?l:i;if(f){i=ol(f)}else{i=0}l=i+c|0;H[l|0]=m;c=nk(i,k,c);e=nk(l+1|0,e,0);J[b+8>>2]=c+f;J[b+4>>2]=e;J[b>>2]=c;if(!k){break e}gl(k);break e}Ia();C()}if((d|0)!=(p|0)){continue}break}}h=h+1|0;if(h>>>0>2]){continue}break}}fa=g+16|0}function Ck(a){var b=0,c=0,d=0,e=0,f=0;a:{b:{c:{d:{e:{b=J[a+4>>2];f:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break f}b=xk(a)}switch(b-43|0){case 0:case 2:break e;default:break d}}f=(b|0)==45;b=J[a+4>>2];g:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break g}b=xk(a)}e=b-58|0;if(e>>>0>4294967285){break c}if(J[a+116>>2]<0){break b}J[a+4>>2]=J[a+4>>2]-1;break b}e=b-58|0}if(e>>>0<4294967286){break b}e=b-48|0;if(e>>>0<10){while(1){d=(P(d,10)+b|0)-48|0;c=(d|0)<214748364;b=J[a+4>>2];h:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break h}b=xk(a)}e=b-48|0;if(c&e>>>0<=9){continue}break}c=d>>31}i:{if(e>>>0>=10){break i}while(1){d=dm(d,c,10,0);b=d+b|0;c=ja;c=b>>>0>>0?c+1|0:c;d=b-48|0;c=c-(b>>>0<48)|0;b=J[a+4>>2];j:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break j}b=xk(a)}e=b-48|0;if(e>>>0>9){break i}if(d>>>0<2061584302&(c|0)<=21474836|(c|0)<21474836){continue}break}}if(e>>>0<10){while(1){b=J[a+4>>2];k:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break k}b=xk(a)}if(b-48>>>0<10){continue}break}}b=J[a+116>>2];if((b|0)>0|(b|0)>=0){J[a+4>>2]=J[a+4>>2]-1}a=d;d=f?0-a|0:a;c=f?0-(((a|0)!=0)+c|0)|0:c;break a}c=-2147483648;if(J[a+116>>2]<0){break a}J[a+4>>2]=J[a+4>>2]-1;ja=-2147483648;return 0}ja=c;return d}function Vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0,g=0,h=0,i=0;g=fa-16|0;fa=g;a:{b:{c:{if(!b){break c}e=wk(c);if(e>>>0>=2147483632){break b}d:{e:{if(e>>>0>=11){f=(e|15)+1|0;a=ol(f);J[g+8>>2]=f|-2147483648;J[g>>2]=a;J[g+4>>2]=e;f=a+e|0;break e}H[g+11|0]=e;f=e+g|0;a=g;if(!e){break d}}mk(a,c,e)}H[f|0]=0;h=fa-16|0;fa=h;O[h+8>>3]=d;f=fa-48|0;fa=f;e=cc(b,g);if((e|0)!=(b+4|0)){a=J[e+4>>2];f:{if(!a){a=e;while(1){c=J[a+8>>2];i=J[c>>2]!=(a|0);a=c;if(i){continue}break}break f}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((e|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;_j(J[b+4>>2],e);a=J[e+28>>2];if(a){J[e+32>>2]=a;gl(a)}if(H[e+27|0]<0){gl(J[e+16>>2])}gl(e)}a=ol(8);J[f>>2]=a;c=a+8|0;J[f+8>>2]=c;J[f+4>>2]=c;c=J[h+12>>2];e=J[h+8>>2];H[a|0]=e;H[a+1|0]=e>>>8;H[a+2|0]=e>>>16;H[a+3|0]=e>>>24;H[a+4|0]=c;H[a+5|0]=c>>>8;H[a+6|0]=c>>>16;H[a+7|0]=c>>>24;g:{if(H[g+11|0]>=0){J[f+24>>2]=J[g+8>>2];a=J[g+4>>2];J[f+16>>2]=J[g>>2];J[f+20>>2]=a;break g}sl(f+16|0,J[g>>2],J[g+4>>2])}Yj(f+28|0,f);a=f+16|0;$j(f+40|0,b,a,a);a=J[f+28>>2];if(a){J[f+32>>2]=a;gl(a)}if(H[f+27|0]<0){gl(J[f+16>>2])}a=J[f>>2];if(a){J[f+4>>2]=a;gl(a)}fa=f+48|0;fa=h+16|0;if(H[g+11|0]>=0){break c}gl(J[g>>2])}fa=g+16|0;a=(b|0)!=0;break a}xe();C()}return a|0}function Tb(a,b){var c=0,d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;J[a+8>>2]=b;J[a>>2]=0;c=a+12|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+60>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;c=a- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;g=a+140|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+116>>2]=0;J[a+120>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;c=1;break a}c=b<<2;d=ol(c);J[a+104>>2]=d;f=c+d|0;J[a+112>>2]=f;ok(d,0,c);J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+108>>2]=f;d=ol(c);J[a+116>>2]=d;f=c+d|0;J[a+124>>2]=f;ok(d,0,c);J[a+136>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=f;d=ol(c);J[a+128>>2]=d;f=c+d|0;J[a+136>>2]=f;ok(d,0,c);J[a+132>>2]=f;d=ol(c);J[e>>2]=d;f=c+d|0;J[e+8>>2]=f;ok(d,0,c);J[e+4>>2]=f;c=b<<5|1}$b(g,c,e);d=J[e>>2];if(d){J[e+4>>2]=d;gl(d)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;d=ol(b);J[e>>2]=d;f=b+d|0;J[e+8>>2]=f;ok(d,0,b);J[e+4>>2]=f}$b(a+152|0,c,e);b=J[e>>2];if(b){J[e+4>>2]=b;gl(b)}fa=e+16|0;return a}function Sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=fa-16|0;fa=f;ka[J[J[b>>2]+64>>2]](a,b);if(!J[a>>2]){if(H[a+15|0]<0){gl(J[a+4>>2])}g=J[b+48>>2];c=ol(32);J[f>>2]=c;J[f+4>>2]=29;J[f+8>>2]=-2147483616;d=K[1308]|K[1309]<<8|(K[1310]<<16|K[1311]<<24);e=K[1304]|K[1305]<<8|(K[1306]<<16|K[1307]<<24);H[c+21|0]=e;H[c+22|0]=e>>>8;H[c+23|0]=e>>>16;H[c+24|0]=e>>>24;H[c+25|0]=d;H[c+26|0]=d>>>8;H[c+27|0]=d>>>16;H[c+28|0]=d>>>24;d=K[1303]|K[1304]<<8|(K[1305]<<16|K[1306]<<24);e=K[1299]|K[1300]<<8|(K[1301]<<16|K[1302]<<24);H[c+16|0]=e;H[c+17|0]=e>>>8;H[c+18|0]=e>>>16;H[c+19|0]=e>>>24;H[c+20|0]=d;H[c+21|0]=d>>>8;H[c+22|0]=d>>>16;H[c+23|0]=d>>>24;d=K[1295]|K[1296]<<8|(K[1297]<<16|K[1298]<<24);e=K[1291]|K[1292]<<8|(K[1293]<<16|K[1294]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1287]|K[1288]<<8|(K[1289]<<16|K[1290]<<24);e=K[1283]|K[1284]<<8|(K[1285]<<16|K[1286]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+29|0]=0;c=si(g,f,0);if(H[f+11|0]<0){gl(J[f>>2])}if(c){ka[J[J[b>>2]+68>>2]](b)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}fa=f+16|0}function sb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{c:{d:{if(b){if(b>>>0>=1073741824){break d}d=ol(b<<2);c=J[a>>2];J[a>>2]=d;if(c){gl(c)}J[a+4>>2]=b;c=0;if(b>>>0>=4){d=b&-4;while(1){g=c<<2;J[g+J[a>>2]>>2]=0;J[J[a>>2]+(g|4)>>2]=0;J[J[a>>2]+(g|8)>>2]=0;J[J[a>>2]+(g|12)>>2]=0;c=c+4|0;e=e+4|0;if((d|0)!=(e|0)){continue}break}}d=b&3;if(d){while(1){J[J[a>>2]+(c<<2)>>2]=0;c=c+1|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}}d=J[a+8>>2];if(!d){break a}c=a+8|0;f=J[d+4>>2];e=gm(b);if(e>>>0<2){break c}f=b>>>0<=f>>>0?(f>>>0)%(b>>>0)|0:f;J[J[a>>2]+(f<<2)>>2]=c;c=J[d>>2];if(!c){break a}if(e>>>0<=1){break b}while(1){e=J[c+4>>2];if(e>>>0>=b>>>0){e=(e>>>0)%(b>>>0)|0}e:{if((f|0)==(e|0)){d=c;break e}h=e<<2;g=h+J[a>>2]|0;if(!J[g>>2]){J[g>>2]=d;d=c;f=e;break e}J[d>>2]=J[c>>2];J[c>>2]=J[J[h+J[a>>2]>>2]>>2];J[J[h+J[a>>2]>>2]>>2]=c}c=J[d>>2];if(c){continue}break}break a}b=J[a>>2];J[a>>2]=0;if(b){gl(b)}J[a+4>>2]=0;break a}Ya();C()}f=b-1&f;J[J[a>>2]+(f<<2)>>2]=c;c=J[d>>2];if(!c){break a}}g=b-1|0;while(1){b=g&J[c+4>>2];f:{if((b|0)==(f|0)){d=c;break f}h=b<<2;e=h+J[a>>2]|0;if(J[e>>2]){J[d>>2]=J[c>>2];J[c>>2]=J[J[h+J[a>>2]>>2]>>2];J[J[h+J[a>>2]>>2]>>2]=c;break f}J[e>>2]=d;d=c;f=b}c=J[d>>2];if(c){continue}break}}}function Pb(a){var b=0,c=0,d=0,e=0,f=0;e=fa-16|0;fa=e;b=ol(16);J[e>>2]=b;J[e+4>>2]=14;J[e+8>>2]=-2147483632;c=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);d=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[b+6|0]=d;H[b+7|0]=d>>>8;H[b+8|0]=d>>>16;H[b+9|0]=d>>>24;H[b+10|0]=c;H[b+11|0]=c>>>8;H[b+12|0]=c>>>16;H[b+13|0]=c>>>24;c=K[1596]|K[1597]<<8|(K[1598]<<16|K[1599]<<24);d=K[1592]|K[1593]<<8|(K[1594]<<16|K[1595]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+14|0]=0;f=pi(a,e,-1);if(H[e+11|0]<0){gl(J[e>>2])}b=ol(16);J[e>>2]=b;J[e+4>>2]=14;J[e+8>>2]=-2147483632;c=K[1617]|K[1618]<<8|(K[1619]<<16|K[1620]<<24);d=K[1613]|K[1614]<<8|(K[1615]<<16|K[1616]<<24);H[b+6|0]=d;H[b+7|0]=d>>>8;H[b+8|0]=d>>>16;H[b+9|0]=d>>>24;H[b+10|0]=c;H[b+11|0]=c>>>8;H[b+12|0]=c>>>16;H[b+13|0]=c>>>24;c=K[1611]|K[1612]<<8|(K[1613]<<16|K[1614]<<24);d=K[1607]|K[1608]<<8|(K[1609]<<16|K[1610]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+14|0]=0;a=pi(a,e,-1);if(H[e+11|0]<0){gl(J[e>>2])}fa=e+16|0;a=(a|0)<(f|0)?f:a;return(a|0)==-1?5:a}function Rj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;ek(a,b,c);c=J[a+84>>2];d=J[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=J[a+92>>2];c=J[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;e=d&7;if(e){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}J[a+88>>2]=c;break b}d:{b=c;c=J[a+84>>2];i=b-c|0;g=i>>2;b=g+d|0;if(b>>>0<1073741824){e=e-c|0;h=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>>0?h:b;if(e){if(e>>>0>=1073741824){break d}j=ol(e<<2)}g=(g<<2)+j|0;b=g;h=d&7;if(h){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=g+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((f|0)!=(b|0)){continue}break}}b=nk(j,c,i);J[a+88>>2]=f;J[a+84>>2]=b;J[a+92>>2]=b+(e<<2);if(c){gl(c)}break b}Ia();C()}Ya();C()}return}if(b>>>0>=d>>>0){break a}J[a+88>>2]=c+(b<<2)}}function Be(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{c=J[a+8>>2];e=J[a>>2];if(c-e>>3>>>0>=2){f=J[a+4>>2];h=f-e>>3;d=h>>>0>=2?2:h;b:{if(!d){break b}c=e;g=d;i=d&7;if(i){while(1){k=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=k;g=g-1|0;c=c+8|0;j=j+1|0;if((j|0)!=(i|0)){continue}break}}if(d>>>0<8){break b}while(1){d=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=d;d=J[b+4>>2];J[c+8>>2]=J[b>>2];J[c+12>>2]=d;d=J[b+4>>2];J[c+16>>2]=J[b>>2];J[c+20>>2]=d;d=J[b+4>>2];J[c+24>>2]=J[b>>2];J[c+28>>2]=d;d=J[b+4>>2];J[c+32>>2]=J[b>>2];J[c+36>>2]=d;d=J[b+4>>2];J[c+40>>2]=J[b>>2];J[c+44>>2]=d;d=J[b+4>>2];J[c+48>>2]=J[b>>2];J[c+52>>2]=d;d=J[b+4>>2];J[c+56>>2]=J[b>>2];J[c+60>>2]=d;c=c- -64|0;g=g-8|0;if(g){continue}break}}if(h>>>0<2){c=(2-h<<3)+f|0;while(1){e=J[b+4>>2];J[f>>2]=J[b>>2];J[f+4>>2]=e;f=f+8|0;if((c|0)!=(f|0)){continue}break}J[a+4>>2]=c;return}break a}if(e){J[a+4>>2]=e;gl(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;c=0}e=c>>>2|0;e=c>>>0>=2147483640?536870911:e>>>0<=2?2:e;if(e>>>0<536870912){c=e<<3;e=ol(c);J[a>>2]=e;J[a+8>>2]=c+e;d=J[b>>2];g=J[b+4>>2];c=e;b=0;while(1){J[c>>2]=d;J[c+4>>2]=g;c=c+8|0;b=b+1|0;if((b|0)!=2){continue}break}break a}Ia();C()}J[a+4>>2]=e+16}function Wb(a,b){var c=0,d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;J[a+8>>2]=b;J[a>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+28>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+48>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+68>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+88>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;g=a+128|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+104>>2]=0;J[a+108>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;e=1;break a}e=b<<2;c=ol(e);J[a+92>>2]=c;f=c+e|0;J[a+100>>2]=f;ok(c,0,e);J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+96>>2]=f;c=ol(e);J[a+104>>2]=c;f=c+e|0;J[a+112>>2]=f;ok(c,0,e);J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+108>>2]=f;c=ol(e);J[a+116>>2]=c;f=c+e|0;J[a+124>>2]=f;ok(c,0,e);J[a+120>>2]=f;c=ol(e);J[d>>2]=c;f=c+e|0;J[d+8>>2]=f;ok(c,0,e);J[d+4>>2]=f;e=b<<5|1}$b(g,e,d);c=J[d>>2];if(c){J[d+4>>2]=c;gl(c)}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if(b){b=b<<2;c=ol(b);J[d>>2]=c;f=b+c|0;J[d+8>>2]=f;ok(c,0,b);J[d+4>>2]=f}$b(a+140|0,e,d);b=J[d>>2];if(b){J[d+4>>2]=b;gl(b)}fa=d+16|0;return a}function Ti(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;f=fa-16|0;fa=f;a:{b:{c:{if(!b){break c}e=wk(c);if(e>>>0>=2147483632){break b}d:{e:{if(e>>>0>=11){g=(e|15)+1|0;a=ol(g);J[f+8>>2]=g|-2147483648;J[f>>2]=a;J[f+4>>2]=e;g=a+e|0;break e}H[f+11|0]=e;g=e+f|0;a=f;if(!e){break d}}mk(a,c,e)}H[g|0]=0;g=fa-16|0;fa=g;J[g+12>>2]=d;e=fa-48|0;fa=e;d=cc(b,f);if((d|0)!=(b+4|0)){a=J[d+4>>2];f:{if(!a){a=d;while(1){c=J[a+8>>2];h=J[c>>2]!=(a|0);a=c;if(h){continue}break}break f}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((d|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;_j(J[b+4>>2],d);a=J[d+28>>2];if(a){J[d+32>>2]=a;gl(a)}if(H[d+27|0]<0){gl(J[d+16>>2])}gl(d)}a=ol(4);J[e>>2]=a;c=a+4|0;J[e+8>>2]=c;J[e+4>>2]=c;c=J[g+12>>2];H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;g:{if(H[f+11|0]>=0){J[e+24>>2]=J[f+8>>2];a=J[f+4>>2];J[e+16>>2]=J[f>>2];J[e+20>>2]=a;break g}sl(e+16|0,J[f>>2],J[f+4>>2])}Yj(e+28|0,e);a=e+16|0;$j(e+40|0,b,a,a);a=J[e+28>>2];if(a){J[e+32>>2]=a;gl(a)}if(H[e+27|0]<0){gl(J[e+16>>2])}a=J[e>>2];if(a){J[e+4>>2]=a;gl(a)}fa=e+48|0;fa=g+16|0;if(H[f+11|0]>=0){break c}gl(J[f>>2])}fa=f+16|0;a=(b|0)!=0;break a}xe();C()}return a|0}function rb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){J[d>>2]=J[c>>2];d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];f=e-i>>2;h=f+b|0;if(h>>>0<1073741824){j=d-i|0;d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break b}k=ol(h<<2)}f=(f<<2)+k|0;d=f;j=b&7;if(j){while(1){J[d>>2]=J[c>>2];d=d+4|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}g=(b<<2)+f|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((g|0)!=(d|0)){continue}break}}if((e|0)!=(i|0)){while(1){f=f-4|0;e=e-4|0;J[f>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[a+8>>2]=(h<<2)+k;J[a+4>>2]=g;J[a>>2]=f;if(i){gl(i)}return}Ia();C()}Ya();C()}function Ig(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a>>2];if(d-e>>2>>>0>=b>>>0){f=J[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){J[d>>2]=J[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){J[f>>2]=J[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}J[a+4>>2]=b;return}J[a+4>>2]=e+(b<<2);return}if(e){J[a+4>>2]=e;gl(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=ol(d);J[a>>2]=e;J[a+8>>2]=d+e;c=J[c>>2];d=e;g=b&7;if(g){while(1){J[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d+28>>2]=c;J[d+24>>2]=c;J[d+20>>2]=c;J[d+16>>2]=c;J[d+12>>2]=c;J[d+8>>2]=c;J[d+4>>2]=c;J[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}Ia();C()}function Ug(a){var 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;a:{b=J[a+12>>2];c=J[b+4>>2];b=J[b>>2];if((c|0)!=(b|0)){b=c-b>>2;j=b>>>0<=1?1:b;k=a+140|0;while(1){b:{if(Mj(J[a+12>>2],(e>>>0)/3|0)){break b}b=J[a+12>>2];if(J[J[b+12>>2]+(e<<2)>>2]!=-1){break b}f=J[a+152>>2];d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;if((d|0)!=-1){b=J[J[b>>2]+(d<<2)>>2]}else{b=-1}c=b<<2;if(J[f+c>>2]!=-1){break b}g=-1;h=J[a+144>>2];b=h;d=J[a+148>>2];if((b|0)==d<<5){if((h+1|0)<0){break a}if(h>>>0<=1073741822){b=d<<6;d=(h&-32)+32|0;b=b>>>0>d>>>0?b:d}else{b=2147483647}Gc(k,b);f=J[a+152>>2];g=J[c+f>>2];b=J[a+144>>2]}J[a+144>>2]=b+1;d=J[a+140>>2]+(b>>>3&536870908)|0;i=J[d>>2];m=d,n=hm(b)&i,J[m>>2]=n;if((g|0)!=-1){break b}c=c+f|0;i=J[a+12>>2];b=e;while(1){d=b;J[c>>2]=h;b=-1;g=-1;c:{if((d|0)==-1){break c}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break c}l=J[i+12>>2];while(1){d=J[(c<<2)+l>>2];if((d|0)!=-1){c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)!=-1){continue}break c}break}b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){g=J[J[i>>2]+(b<<2)>>2]}b=c}c=(g<<2)+f|0;if(J[c>>2]==-1){continue}break}}e=e+1|0;if((j|0)!=(e|0)){continue}break}}return 1}Ia();C()}function Bh(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=(c>>>0)/3|0;j=J[(J[J[a+8>>2]+96>>2]+P(f,12)|0)+(c-P(f,3)<<2)>>2];a:{h=J[J[a+12>>2]+4>>2];e=J[h+4>>2];if((e|0)!=J[h+8>>2]){J[e>>2]=j;J[h+4>>2]=e+4;break a}b:{i=J[h>>2];f=e-i|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){k=g<<2;g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break b}f=ol(g<<2)}else{f=0}d=k+f|0;J[d>>2]=j;j=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=j;J[h>>2]=d;if(i){gl(i)}break a}Ia();C()}Ya();C()}c:{d:{h=J[a+4>>2];e=J[h+4>>2];e:{if((e|0)!=J[h+8>>2]){J[e>>2]=c;J[h+4>>2]=e+4;break e}i=J[h>>2];f=e-i|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break d}g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break c}f=ol(g<<2)}else{f=0}d=f+(j<<2)|0;J[d>>2]=c;c=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=c;J[h>>2]=d;if(!i){break e}gl(i)}a=J[a+4>>2];J[J[a+12>>2]+(b<<2)>>2]=J[a+24>>2];J[a+24>>2]=J[a+24>>2]+1;return}Ia();C()}Ya();C()}function He(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=fa-16|0;fa=i;J[a+4>>2]=0;J[a+8>>2]=0;d=a+16|0;J[d>>2]=0;J[d+4>>2]=0;J[a>>2]=a+4;g=a+28|0;J[g>>2]=0;J[g+4>>2]=0;J[a+12>>2]=d;J[a+24>>2]=g;if((b+4|0)!=(a|0)){Je(a,J[b+4>>2],b+8|0)}d=a+24|0;if((d|0)!=(b+28|0)){Je(d,J[b+28>>2],b+32|0)}J[i+12>>2]=0;h=J[c+12>>2];f=J[c+8>>2];a:{if((h-f|0)<=0){break a}g=b+20|0;if(!J[g>>2]){break a}while(1){b=J[g>>2];b:{if(!b){break b}j=J[J[(e<<2)+f>>2]+56>>2];d=g;while(1){k=(j|0)>J[b+16>>2];d=k?d:b;b=J[(k?b+4|0:b)>>2];if(b){continue}break}if((d|0)==(g|0)|(j|0)>2]){break b}h=d+20|0;e=fa-48|0;fa=e;j=J[i+12>>2];d=a+16|0;f=J[d>>2];c:{d:{if(!f){break d}b=d;while(1){k=(j|0)>J[f+16>>2];b=k?b:f;f=J[(k?f+4|0:f)>>2];if(f){continue}break}if((b|0)==(d|0)){break d}if((j|0)>=J[b+16>>2]){break c}}J[e+28>>2]=0;J[e+32>>2]=0;f=e+24|0;J[e+24>>2]=f|4;b=e+16|0;J[b>>2]=0;J[b+4>>2]=0;J[e+8>>2]=j;J[e+12>>2]=b;d=e+8|0;Me(e+40|0,a+12|0,d,d);b=J[e+40>>2];Mc(d|4,J[e+16>>2]);Mc(f,J[e+28>>2])}b=b+20|0;if((b|0)!=(h|0)){Je(b,J[h>>2],h+4|0)}fa=e+48|0;f=J[c+8>>2];h=J[c+12>>2];e=J[i+12>>2]}e=e+1|0;J[i+12>>2]=e;if(h-f>>2>(e|0)){continue}break}}fa=i+16|0}function Oe(a,b,c){var d=0,e=0,f=0,g=0;f=fa-16|0;fa=f;d=ol(16);J[f>>2]=d;J[f+4>>2]=14;J[f+8>>2]=-2147483632;g=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);e=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[d+6|0]=e;H[d+7|0]=e>>>8;H[d+8|0]=e>>>16;H[d+9|0]=e>>>24;H[d+10|0]=g;H[d+11|0]=g>>>8;H[d+12|0]=g>>>16;H[d+13|0]=g>>>24;g=K[1596]|K[1597]<<8|(K[1598]<<16|K[1599]<<24);e=K[1592]|K[1593]<<8|(K[1594]<<16|K[1595]<<24);H[d|0]=e;H[d+1|0]=e>>>8;H[d+2|0]=e>>>16;H[d+3|0]=e>>>24;H[d+4|0]=g;H[d+5|0]=g>>>8;H[d+6|0]=g>>>16;H[d+7|0]=g>>>24;H[d+14|0]=0;d=a+4|0;ni(d,f,b);if(H[f+11|0]<0){gl(J[f>>2])}a=ol(16);J[f>>2]=a;J[f+4>>2]=14;J[f+8>>2]=-2147483632;e=K[1617]|K[1618]<<8|(K[1619]<<16|K[1620]<<24);b=K[1613]|K[1614]<<8|(K[1615]<<16|K[1616]<<24);H[a+6|0]=b;H[a+7|0]=b>>>8;H[a+8|0]=b>>>16;H[a+9|0]=b>>>24;H[a+10|0]=e;H[a+11|0]=e>>>8;H[a+12|0]=e>>>16;H[a+13|0]=e>>>24;e=K[1611]|K[1612]<<8|(K[1613]<<16|K[1614]<<24);b=K[1607]|K[1608]<<8|(K[1609]<<16|K[1610]<<24);H[a|0]=b;H[a+1|0]=b>>>8;H[a+2|0]=b>>>16;H[a+3|0]=b>>>24;H[a+4|0]=e;H[a+5|0]=e>>>8;H[a+6|0]=e>>>16;H[a+7|0]=e>>>24;H[a+14|0]=0;ni(d,f,c);if(H[f+11|0]<0){gl(J[f>>2])}fa=f+16|0}function Ba(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=d-c|0;if((h|0)<=0){return}a:{e=J[a+8>>2];i=J[a+4>>2];if((e-i|0)>=(h|0)){j=i-b|0;if((j|0)>=(h|0)){f=i;g=d;break a}f=i;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){H[f|0]=K[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=f;if((j|0)>0){break a}return}k=J[a>>2];g=(i-k|0)+h|0;if((g|0)>=0){j=b-k|0;f=e-k|0;e=f<<1;f=f>>>0>=1073741823?2147483647:e>>>0>g>>>0?e:g;if(f){e=ol(f)}else{e=0}g=j+e|0;if((c|0)!=(d|0)){g=mk(g,c,h)+h|0}d=nk(e,k,j);c=i-b|0;b=nk(g,b,c);J[a+8>>2]=e+f;J[a+4>>2]=b+c;J[a>>2]=d;if(k){gl(k)}return}Ia();C()}e=f;d=e-h|0;if(i>>>0>d>>>0){while(1){H[e|0]=K[d|0];e=e+1|0;d=d+1|0;if(i>>>0>d>>>0){continue}break}}J[a+4>>2]=e;a=b+h|0;if((a|0)!=(f|0)){a=f-a|0;nk(f-a|0,b,a)}if((c|0)==(g|0)){return}f=(c^-1)+g|0;a=g-c&7;b:{if(!a){e=b;break b}d=0;e=b;while(1){H[e|0]=K[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((a|0)!=(d|0)){continue}break}}if(f>>>0<7){return}while(1){H[e|0]=K[c|0];H[e+1|0]=K[c+1|0];H[e+2|0]=K[c+2|0];H[e+3|0]=K[c+3|0];H[e+4|0]=K[c+4|0];H[e+5|0]=K[c+5|0];H[e+6|0]=K[c+6|0];H[e+7|0]=K[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function xk(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=J[a+112>>2];e=J[a+116>>2];h=(b|e)!=0;c=b;d=J[a+4>>2];g=J[a+44>>2];b=d-g|0;i=b;f=b+J[a+120>>2]|0;b=J[a+124>>2]+(b>>31)|0;a:{b=f>>>0>>0?b+1|0:b;if(!((c>>>0<=f>>>0&(b|0)>=(e|0)|(b|0)>(e|0))&h)){e=fa-16|0;fa=e;d=-1;c=J[a+72>>2];J[a+72>>2]=c-1|c;if(J[a+20>>2]!=J[a+28>>2]){ka[J[a+36>>2]](a,0,0)|0}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;c=J[a>>2];b:{if(c&4){J[a>>2]=c|32;c=-1;break b}g=J[a+44>>2]+J[a+48>>2]|0;J[a+8>>2]=g;J[a+4>>2]=g;c=c<<27>>31}c:{if(c){break c}if((ka[J[a+32>>2]](a,e+15|0,1)|0)!=1){break c}d=K[e+15|0]}fa=e+16|0;e=d;if((d|0)>=0){break a}g=J[a+44>>2];d=J[a+4>>2]}J[a+112>>2]=-1;J[a+116>>2]=-1;J[a+104>>2]=d;e=g-d|0;d=e+f|0;b=(e>>31)+b|0;J[a+120>>2]=d;J[a+124>>2]=d>>>0>>0?b+1|0:b;return-1}d=f+1|0;b=d?b:b+1|0;h=J[a+4>>2];g=J[a+8>>2];c=J[a+116>>2];i=c;f=J[a+112>>2];d:{if(!(c|f)){break d}c=f-d|0;f=i-(b+(d>>>0>f>>>0)|0)|0;j=g-h|0;i=j>>31;if((f|0)>=(i|0)&c>>>0>=j>>>0|(f|0)>(i|0)){break d}g=c+h|0}J[a+104>>2]=g;f=J[a+44>>2];c=f-h|0;d=c+d|0;b=(c>>31)+b|0;J[a+120>>2]=d;J[a+124>>2]=d>>>0>>0?b+1|0:b;if(f>>>0>=h>>>0){H[h-1|0]=e}return e}function Hb(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{b:{f=a+16|0;d=J[f>>2];if(!d){break b}g=J[b>>2];b=f;while(1){e=(g|0)>J[d+16>>2];b=e?b:d;d=J[(e?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(f|0)|(g|0)>2]){break b}d=J[b+24>>2];if(!d){break a}a=K[c+11|0];b=a<<24>>24<0;f=b?J[c>>2]:c;a=b?J[c+4>>2]:a;while(1){b=K[d+27|0];c=b<<24>>24<0;b=c?J[d+20>>2]:b;g=b>>>0>>0;c:{d:{e:{f:{g:{h:{e=g?b:a;if(e){c=c?J[d+16>>2]:d+16|0;h=sk(f,c,e);if(h){break h}if(a>>>0>=b>>>0){break g}break c}if(a>>>0>=b>>>0){break f}break c}if((h|0)<0){break c}}b=sk(c,f,e);if(b){break e}}if(g){break d}return 1}if((b|0)<0){break d}return 1}d=d+4|0}d=J[d>>2];if(d){continue}break}break a}d=J[a+4>>2];if(!d){break a}a=K[c+11|0];b=a<<24>>24<0;f=b?J[c>>2]:c;a=b?J[c+4>>2]:a;while(1){b=K[d+27|0];c=b<<24>>24<0;b=c?J[d+20>>2]:b;g=b>>>0>>0;i:{j:{k:{l:{m:{n:{e=g?b:a;if(e){c=c?J[d+16>>2]:d+16|0;h=sk(f,c,e);if(h){break n}if(a>>>0>=b>>>0){break m}break i}if(a>>>0>=b>>>0){break l}break i}if((h|0)<0){break i}}b=sk(c,f,e);if(b){break k}}if(g){break j}return 1}if((b|0)<0){break j}return 1}d=d+4|0}d=J[d>>2];if(d){continue}break}}return 0}function mk(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){_(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=J[b+36>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=J[b+44>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=J[b+52>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=J[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){J[c>>2]=J[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){H[c|0]=K[b|0];H[c+1|0]=K[b+1|0];H[c+2|0]=K[b+2|0];H[c+3|0]=K[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function nh(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=10540;c=J[a+280>>2];J[a+280>>2]=0;if(c){d=c-4|0;b=J[d>>2];if(b){b=c+(b<<5)|0;while(1){b=Ae(b-32|0);if((c|0)!=(b|0)){continue}break}}gl(d)}b=J[a+268>>2];if(b){J[a+272>>2]=b;gl(b)}b=J[a+244>>2];J[a+244>>2]=0;if(b){gl(b)}b=J[a+232>>2];if(b){J[a+236>>2]=b;gl(b)}Ae(a+200|0);b=J[a+184>>2];if(b){J[a+188>>2]=b;gl(b)}c=J[a+172>>2];if(c){d=c;b=J[a+176>>2];if((c|0)!=(b|0)){while(1){d=b-136|0;e=J[d+116>>2];if(e){J[b-16>>2]=e;gl(e)}e=J[b-32>>2];if(e){J[b-28>>2]=e;gl(e)}bh(b-132|0);b=d;if((c|0)!=(b|0)){continue}break}d=J[a+172>>2]}J[a+176>>2]=c;gl(d)}b=J[a+152>>2];if(b){J[a+156>>2]=b;gl(b)}b=J[a+140>>2];if(b){gl(b)}b=J[a+128>>2];if(b){while(1){c=J[b>>2];gl(b);b=c;if(b){continue}break}}b=J[a+120>>2];J[a+120>>2]=0;if(b){gl(b)}b=J[a+108>>2];if(b){J[a+112>>2]=b;gl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;gl(b)}b=J[a+84>>2];if(b){gl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;gl(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;gl(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;gl(b)}b=J[a+28>>2];if(b){gl(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;gl(b)}b=J[a+12>>2];J[a+12>>2]=0;if(b){Tg(b)}return a|0}function Ra(a,b,c){var d=0,e=Q(0),f=0,g=0,h=Q(0),i=0,j=Q(0),k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(J[a+4>>2]!=-1|c-1>>>0>29)){J[a+4>>2]=c;f=K[b+24|0];J[a+20>>2]=0;c=0;if(f){c=f<<2;d=ol(c);c=ok(d,0,c)+c|0}i=J[a+8>>2];if(i){J[a+12>>2]=i;gl(i)}J[a+8>>2]=d;J[a+16>>2]=c;J[a+12>>2]=c;c=f<<2;k=ol(c);o=ol(c);c=J[b+40>>2];r=J[b+44>>2];p=c;i=J[b+48>>2];l=J[b>>2];m=mk(d,i+J[l>>2]|0,c);n=mk(k,i+J[l>>2]|0,c);b=J[b+80>>2];if(!(!f|b>>>0<2)){k=b;d=1;c=0;while(1){b=J[l>>2];g=dm(d,c,p,r)+i|0;s=mk(o,b+g|0,p);b=0;while(1){g=b<<2;q=g+m|0;h=N[g+s>>2];if(N[q>>2]>h){N[q>>2]=h}g=g+n|0;if(h>N[g>>2]){N[g>>2]=h}b=b+1|0;if((f|0)!=(b|0)){continue}break}d=d+1|0;c=d?c:c+1|0;if((d|0)!=(k|0)|c){continue}break}}h=N[a+20>>2];a:{b:{if(!f){d=1;break b}b=0;e=N[m>>2];if(e!=e){d=0;break a}if(Q(R(e))==Q(Infinity)){d=0;break a}d=0;while(1){j=N[n+(b<<2)>>2];if(j!=j|Q(R(j))==Q(Infinity)){break a}e=Q(j-e);if(e>h){N[a+20>>2]=e;h=e}b=b+1|0;d=f>>>0<=b>>>0;if((b|0)==(f|0)){break b}e=N[m+(b<<2)>>2];if(e!=e){break a}if(Q(R(e))!=Q(Infinity)){continue}break}break a}if(h!=Q(0)){break a}J[a+20>>2]=1065353216}gl(o);gl(n)}return d&1}function Yg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=-1;a:{if((b|0)==-1){h=J[a+12>>2];d=1;g=-1;break a}h=J[a+12>>2];b:{c:{if((b>>>0)%3|0){e=b-1|0;break c}e=b+2|0;if((e|0)!=-1){break c}d=1;break b}g=J[h+12>>2];while(1){f=e;d=J[g+(e<<2)>>2];if((d|0)!=-1){f=-1;e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)!=-1){continue}}break}d=(d|0)!=-1;g=-1;if((b|0)==-1){break a}}g=J[J[h>>2]+(b<<2)>>2]}b=0;if(c){b=J[a+84>>2]+(g>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2]+(g<<2)>>2];e=J[a+140>>2]+(c>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<>>0)%3|0){e=f-1|0;break e}e=f+2|0;c=-1;if((e|0)==-1){break d}}c=J[J[h>>2]+(e<<2)>>2]}if((g|0)!=(c|0)){i=J[a+84>>2];while(1){a=f;f=(c>>>3&536870908)+i|0;J[f>>2]=J[f>>2]|1<>>0)%3|0?d:a-2|0;if((d|0)==-1){break f}e=J[h+12>>2];while(1){a=J[e+(d<<2)>>2];if((a|0)!=-1){d=a+1|0;d=(d>>>0)%3|0?d:a-2|0;if((d|0)!=-1){continue}break f}break}g:{if((d>>>0)%3|0){e=d-1|0;break g}e=d+2|0;if((e|0)!=-1){break g}f=-3;break f}c=J[J[h>>2]+(e<<2)>>2];f=d}b=b+1|0;if((c|0)!=(g|0)){continue}break}}}function dh(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;a:{b:{g=J[a+124>>2];c:{if(!g){break c}e=J[a+120>>2];i=gm(g);h=g-1&d;d:{if(i>>>0<=1){break d}h=d;if(d>>>0>>0){break d}h=(d>>>0)%(g>>>0)|0}e=J[e+(h<<2)>>2];if(!e){break c}f=J[e>>2];if(!f){break c}e:{if(i>>>0<=1){e=g-1|0;while(1){g=J[f+4>>2];f:{if((g|0)!=(d|0)){if((h|0)==(e&g)){break f}break c}if(J[f+8>>2]==(d|0)){break e}}f=J[f>>2];if(f){continue}break}break c}while(1){e=J[f+4>>2];g:{if((e|0)!=(d|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((e|0)==(h|0)){break g}break c}if(J[f+8>>2]==(d|0)){break e}}f=J[f>>2];if(f){continue}break}break c}f=J[f+12>>2];if((f|0)==-1){break c}g=c&1;c=J[a+112>>2];if((c|0)!=J[a+116>>2]){H[c+8|0]=g;J[c+4>>2]=b;J[c>>2]=f;J[a+112>>2]=c+12;return}d=J[a+108>>2];i=c-d|0;c=(i|0)/12|0;e=c+1|0;if(e>>>0>=357913942){break b}h=c<<1;e=c>>>0>=178956970?357913941:e>>>0>>0?h:e;if(e){if(e>>>0>=357913942){break a}h=ol(P(e,12))}else{h=0}c=h+P(c,12)|0;H[c+8|0]=g;J[c+4>>2]=b;J[c>>2]=f;b=nk(c+P((i|0)/-12|0,12)|0,d,i);J[a+116>>2]=h+P(e,12);J[a+112>>2]=c+12;J[a+108>>2]=b;if(!d){break c}gl(d)}return}Ia();C()}Ya();C()}function vb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;f=b&7;if(f){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];j=e-i|0;f=j>>2;g=f+b|0;if(g>>>0<1073741824){d=d-i|0;e=d>>>1|0;g=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break b}k=ol(g<<2)}f=(f<<2)+k|0;d=f;e=b&7;if(e){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}e=f+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}b=nk(k,i,j);J[a+4>>2]=e;J[a>>2]=b;J[a+8>>2]=b+(g<<2);if(i){gl(i)}return}Ia();C()}Ya();C()}function ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=J[c>>2];m=J[c+4>>2];a:{if((f|0)==(m|0)){h=J[a+12>>2];b=J[a+8>>2];i=h-b|0;c=0;break a}o=J[b>>2];h=J[a+12>>2];b=J[a+8>>2];i=h-b|0;if((i|0)<=0){c=0;while(1){e=J[(J[f>>2]<<2)+o>>2];c=c>>>0>e>>>0?c:e+1|0;f=f+4|0;if((m|0)!=(f|0)){continue}break}break a}c=i>>>2|0;c=c>>>0<=1?1:c;q=c&1073741822;r=c&1;c=0;s=i>>>0<8;while(1){e=J[f>>2];k=e<<2;l=J[o+k>>2];if(l>>>0>=c>>>0){c=0;j=0;if(!s){while(1){p=c<<2;d=J[p+b>>2];g=J[d+68>>2];d=K[d+84|0]?e:J[g+k>>2];n=g;g=l<<2;J[n+g>>2]=d;n=g;d=J[(p|4)+b>>2];g=J[d+68>>2];J[n+g>>2]=K[d+84|0]?e:J[g+k>>2];c=c+2|0;j=j+2|0;if((q|0)!=(j|0)){continue}break}}if(r){c=J[(c<<2)+b>>2];d=J[c+68>>2];j=d+(l<<2)|0;if(!K[c+84|0]){e=J[d+k>>2]}J[j>>2]=e}c=l+1|0}f=f+4|0;if((m|0)!=(f|0)){continue}break}}d=0;if((i|0)>0){while(1){b=J[(d<<2)+b>>2];H[b+84|0]=0;f=J[b+68>>2];e=J[b+72>>2]-f>>2;b:{if(e>>>0>>0){rb(b+68|0,c-e|0,15024);h=J[a+12>>2];break b}if(c>>>0>=e>>>0){break b}J[b+72>>2]=f+(c<<2)}d=d+1|0;b=J[a+8>>2];if((d|0)>2){continue}break}}}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;J[a+4>>2]=b;d=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=d;a:{if((ka[J[J[a>>2]+32>>2]](a)|0)==1&J[J[a+8>>2]+28>>2]-1>>>0>5){break a}f=J[b+48>>2];d=fa-16|0;fa=d;J[d+12>>2]=c;b=ol(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1529];c=K[1525]|K[1526]<<8|(K[1527]<<16|K[1528]<<24);e=K[1521]|K[1522]<<8|(K[1523]<<16|K[1524]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1517]|K[1518]<<8|(K[1519]<<16|K[1520]<<24);e=K[1513]|K[1514]<<8|(K[1515]<<16|K[1516]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;b=Gb(f,d+12|0,d,-1);if(H[d+11|0]<0){gl(J[d>>2])}fa=d+16|0;c=ka[J[J[a>>2]+48>>2]](a,(b|0)==-1?-1:b>>>0>6?-2:b)|0;b=J[a+36>>2];J[a+36>>2]=c;e=1;if(b){ka[J[J[b>>2]+4>>2]](b);c=J[a+36>>2]}if(!c){break a}if(ka[J[J[a>>2]+36>>2]](a,c)|0){break a}b=J[a+36>>2];J[a+36>>2]=0;if(!b){break a}ka[J[J[b>>2]+4>>2]](b)}return e|0}function kl(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(K[a+11|0]>>>7|0){e=J[a+4>>2]}else{e=K[a+11|0]&127}if(e>>>0>>0){h=fa-16|0;fa=h;g=b-e|0;if(g){f=K[a+11|0]>>>7|0?(J[a+8>>2]&2147483647)-1|0:10;if(K[a+11|0]>>>7|0){b=J[a+4>>2]}else{b=K[a+11|0]&127}i=b+g|0;if(f-b>>>0>>0){b:{d=fa-16|0;fa=d;c=i-f|0;if(c>>>0<=2147483631-f>>>0){if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}if(f>>>0<1073741799){J[d+12>>2]=f<<1;J[d>>2]=c+f;c=fa-16|0;fa=c;fa=c+16|0;c=d+12|0;c=J[(M[d>>2]>2]?c:d)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}ll(d,c);c=J[d>>2];if(b){il(c,e,b)}if((f|0)!=10){gl(e)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[d+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;fa=d+16|0;break b}xe();C()}}if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}b=e+b|0;d=fa-16|0;fa=d;H[d+15|0]=0;while(1){if(g){H[b|0]=K[d+15|0];g=g-1|0;b=b+1|0;continue}break}fa=d+16|0;nl(a,i);H[h+15|0]=0;H[e+i|0]=K[h+15|0]}fa=h+16|0;break a}if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}d=fa-16|0;fa=d;nl(a,b);H[d+15|0]=0;H[b+e|0]=K[d+15|0];fa=d+16|0}}function Uj(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=fa-16|0;fa=f;a:{d=ck(a);b:{if(!d){a=0;break b}e=J[a+100>>2];g=J[a+96>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=e-g|0;c=(b|0)/12|0;c:{if((e|0)==(g|0)){break c}if(c>>>0>=357913942){break a}e=ol(b);J[f>>2]=e;J[f+8>>2]=e+P(c,12);a=0;h=e;e=b-12|0;b=(e-((e>>>0)%12|0)|0)+12|0;e=ok(h,0,b);J[f+4>>2]=b+e;if(K[d+84|0]){d=c>>>0<=1?1:c;i=d&1;if(c>>>0>=2){j=d&-2;c=0;while(1){b=P(a,12);d=b+g|0;h=J[d>>2];k=J[d+4>>2];b=b+e|0;J[b+8>>2]=J[d+8>>2];J[b>>2]=h;J[b+4>>2]=k;b=P(a|1,12);d=b+g|0;h=J[d>>2];k=J[d+4>>2];b=b+e|0;J[b+8>>2]=J[d+8>>2];J[b>>2]=h;J[b+4>>2]=k;a=a+2|0;c=c+2|0;if((j|0)!=(c|0)){continue}break}}if(!i){break c}c=P(a,12);a=c+g|0;g=J[a+4>>2];d=J[a>>2];c=c+e|0;J[c+8>>2]=J[a+8>>2];J[c>>2]=d;J[c+4>>2]=g;break c}i=c>>>0<=1?1:c;a=J[d+68>>2];c=0;while(1){b=P(c,12);d=b+g|0;j=J[a+(J[d>>2]<<2)>>2];h=J[a+(J[d+4>>2]<<2)>>2];b=b+e|0;J[b+8>>2]=J[a+(J[d+8>>2]<<2)>>2];J[b+4>>2]=h;J[b>>2]=j;c=c+1|0;if((i|0)!=(c|0)){continue}break}}a=Lj(f);c=J[f>>2];if(!c){break b}J[f+4>>2]=c;gl(c)}fa=f+16|0;return a}Ia();C()}function db(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;a:{if(J[a+64>>2]){break a}c=ol(32);J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;d=J[a+64>>2];J[a+64>>2]=c;if(!d){break a}c=J[d>>2];if(c){J[d+4>>2]=c;gl(c)}gl(d)}d=J[a+64>>2];c=J[a+28>>2]-1|0;if(c>>>0<=10){i=J[(c<<2)+14832>>2]}else{i=-1}c=P(i,K[a+24|0]);i=c;k=c>>31;c=dm(c,k,b,0);b:{if((ja|0)<0){break b}c:{f=J[d+4>>2];e=J[d>>2];g=f-e|0;d:{if(c>>>0>g>>>0){j=c-g|0;h=J[d+8>>2];if(j>>>0<=h-f>>>0){l=d,m=ok(f,0,j)+j|0,J[l+4>>2]=m;break d}if((c|0)<0){break c}f=h-e|0;h=f<<1;f=f>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=ol(f);ok(h+g|0,0,j);g=nk(h,e,g);J[d+8>>2]=g+f;J[d+4>>2]=c+g;J[d>>2]=g;if(!e){break d}gl(e);break d}if(c>>>0>=g>>>0){break d}J[d+4>>2]=c+e}c=J[d+28>>2];e=J[d+24>>2]+1|0;c=e?c:c+1|0;J[d+24>>2]=e;J[d+28>>2]=c;e=1;break b}Ia();C()}if(e){c=J[a+64>>2];J[a>>2]=c;d=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=d;d=J[c+24>>2];c=J[c+28>>2];J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=i;J[a+44>>2]=k;J[a+16>>2]=d;J[a+20>>2]=c;J[a+80>>2]=b}}function rk(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;A(+a);d=v(1)|0;b=v(0)|0;c=d>>>16|0;f=d-1072604335|0;if((f|0)==135337|f>>>0<135337){if(!b&(d|0)==1072693248){return 0}g=O[1879];a=a+-1;A(+a);b=v(1)|0;v(0)|0;x(0,0);x(1,b|0);h=+z();i=g*h;e=a*a;j=e*(a*O[1888]+O[1887]);k=i+j;l=e*e;return k+(l*(l*(e*(a*O[1896]+O[1895])+(a*O[1894]+O[1893]))+(e*(a*O[1892]+O[1891])+(a*O[1890]+O[1889])))+((a-h)*g+a*O[1880]+(j+(i-k))))}a:{if(c-32752>>>0<=4294934559){if(!(d&2147483647|b)){b=fa-16|0;O[b+8>>3]=-1;return O[b+8>>3]/0}if(!b&(d|0)==2146435072){break a}if(!(!(c&32768)&(c&32752)!=32752)){a=a-a;return a/a}A(+(a*4503599627370496));d=v(1)|0;b=v(0)|0;d=d-54525952|0}c=d-1072037888|0;f=c;c=(c>>>14&63)<<4;g=O[c+15184>>3]+ +(f>>20);h=O[1879];a=O[c+15176>>3];x(0,b-0|0);x(1,d-((f&-1048576)+(b>>>0>>0)|0)|0);a=a*(+z()-O[c+16200>>3]-O[c+16208>>3]);A(+a);b=v(1)|0;v(0)|0;x(0,0);x(1,b|0);i=+z();j=h*i;k=g+j;e=a*a;a=k+(e*(e*e*(a*O[1886]+O[1885])+(e*(a*O[1884]+O[1883])+(a*O[1882]+O[1881])))+((a-i)*h+O[1880]*a+(j+(g-k))))}return a}function gc(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=32-b|0;c=c<>2];f=32-d|0;c:{if((f|0)>=(b|0)){b=b+d|0;J[a+16>>2]=b;f=J[a+12>>2]|c>>>d;J[a+12>>2]=f;if((b|0)!=32){break c}b=J[a+4>>2];d:{if((b|0)!=J[a+8>>2]){J[b>>2]=f;J[a+4>>2]=b+4;break d}c=b;b=J[a>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break a}e=ol(d<<2)}else{e=0}g=e+(g<<2)|0;J[g>>2]=f;c=nk(e,b,c);J[a+8>>2]=c+(d<<2);J[a+4>>2]=g+4;J[a>>2]=c;if(!b){break d}gl(b)}J[a+12>>2]=0;J[a+16>>2]=0;return}b=b-f|0;J[a+16>>2]=b;g=c>>>e|0;f=J[a+12>>2]|g>>>b;J[a+12>>2]=f;b=J[a+4>>2];e:{if((b|0)!=J[a+8>>2]){J[b>>2]=f;J[a+4>>2]=b+4;break e}c=b;b=J[a>>2];c=c-b|0;h=c>>2;d=h+1|0;if(d>>>0>=1073741824){break b}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break a}e=ol(d<<2)}else{e=0}h=e+(h<<2)|0;J[h>>2]=f;c=nk(e,b,c);J[a+8>>2]=c+(d<<2);J[a+4>>2]=h+4;J[a>>2]=c;if(!b){break e}gl(b)}J[a+12>>2]=g<<32-J[a+16>>2]}return}Ia();C()}Ya();C()}function We(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);H[b+12|0]=c;a:{if(c){break a}while(1){d=J[b+8>>2];if(K[d+12|0]){break a}b:{c=J[d+8>>2];e=J[c>>2];if((e|0)==(d|0)){e=J[c+4>>2];if(!(!e|K[e+12|0])){break b}c:{if(J[d>>2]==(b|0)){b=d;break c}b=J[d+4>>2];a=J[b>>2];J[d+4>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b>>2]=d;J[d+8>>2]=b;c=J[b+8>>2];d=J[c>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;return}if(!(K[e+12|0]|!e)){break b}d:{if(J[d>>2]!=(b|0)){b=d;break d}a=J[b+4>>2];J[d>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b+4>>2]=d;J[d+8>>2]=b;c=J[b+8>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[c+4>>2];b=J[a>>2];J[c+4>>2]=b;if(b){J[b+8>>2]=c}J[a+8>>2]=J[c+8>>2];b=J[c+8>>2];J[((J[b>>2]!=(c|0))<<2)+b>>2]=a;J[a>>2]=c;J[c+8>>2]=a;break a}H[d+12|0]=1;H[c+12|0]=(a|0)==(c|0);H[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function fm(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!c){break k}if(!d){break j}e=S(d)-S(b)|0;if(e>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}ja=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}if(!d|d-1&d){break g}a=b>>>cm(d)|0;ja=0;break a}if(!(c-1&c)){break f}h=(S(c)+33|0)-S(b)|0;g=0-h|0;break d}h=e+1|0;g=63-e|0;break d}ja=0;a=(b>>>0)/(d>>>0)|0;break a}e=S(d)-S(b)|0;if(e>>>0<31){break e}break c}if((c|0)==1){break b}d=cm(c);c=d&31;if((d&63)>>>0>=32){a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}ja=e;break a}h=e+1|0;g=63-e|0}e=h&63;f=e&31;if(e>>>0>=32){e=0;i=b>>>f|0}else{e=b>>>f|0;i=((1<>>f}g=g&63;f=g&31;if(g>>>0>=32){b=a<>>32-f|b<>>31;e=i<<1|b>>>31;f=m-(j+(e>>>0>g>>>0)|0)>>31;k=c&f;i=e-k|0;e=j-((d&f)+(e>>>0>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=f&1;h=h-1|0;if(h){continue}break}}ja=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}ja=b}return a}function cf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=fa-16|0;fa=j;J[j+8>>2]=0;J[j>>2]=0;J[j+4>>2]=0;a:{b:{e=c+1|0;if(e){if(e>>>0>=1073741824){break b}h=ol(e<<2);ok(h,0,(c<<2)+4|0)}c:{if((b|0)<=0){break c}e=0;if(b>>>0>=4){k=b&-4;while(1){f=e<<2;i=(J[f+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;i=(J[(f|4)+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;i=(J[(f|8)+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;f=(J[(f|12)+a>>2]<<2)+h|0;J[f>>2]=J[f>>2]+1;e=e+4|0;l=l+4|0;if((k|0)!=(l|0)){continue}break}}f=b&3;if(!f){break c}while(1){k=(J[(e<<2)+a>>2]<<2)+h|0;J[k>>2]=J[k>>2]+1;e=e+1|0;m=m+1|0;if((f|0)!=(m|0)){continue}break}}e=0;if((c|0)<0){a=0;break a}o=+(b|0);a=0;while(1){b=J[(e<<2)+h>>2];if((b|0)>0){n=+(b|0);g=n*rk(n/o)+g;a=a+1|0}b=(c|0)==(e|0);e=e+1|0;if(!b){continue}break}break a}Ia();C()}if(d){J[d>>2]=a}if(h){gl(h)}g=-g;d:{if(R(g)<0x8000000000000000){b=R(g)>=1?~~(g>0?T(V(g*2.3283064365386963e-10),4294967295):W((g-+(~~g>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~g>>>0;break d}b=-2147483648;a=0}fa=j+16|0;ja=b;return a}function Yf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Xf(a,h,c,g,e,g);d=d-g|0;Xf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}} -function xf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;wf(a,h,c,g,e,g);d=d-g|0;wf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function rg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;qg(a,h,c,g,e,g);d=d-g|0;qg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function qf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;nf(a,h,c,g,e,g);d=d-g|0;nf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function og(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;ng(a,h,c,g,e,g);d=d-g|0;ng(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function lg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;kg(a,h,c,g,e,g);d=d-g|0;kg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function ig(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;hg(a,h,c,g,e,g);d=d-g|0;hg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function fg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;eg(a,h,c,g,e,g);d=d-g|0;eg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function cg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;bg(a,h,c,g,e,g);d=d-g|0;bg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Vf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Uf(a,h,c,g,e,g);d=d-g|0;Uf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Sf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Rf(a,h,c,g,e,g);d=d-g|0;Rf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Pf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Of(a,h,c,g,e,g);d=d-g|0;Of(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Mf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Lf(a,h,c,g,e,g);d=d-g|0;Lf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Jf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;If(a,h,c,g,e,g);d=d-g|0;If(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Gf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Ff(a,h,c,g,e,g);d=d-g|0;Ff(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Df(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Cf(a,h,c,g,e,g);d=d-g|0;Cf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Af(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;zf(a,h,c,g,e,g);d=d-g|0;zf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function $f(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;_f(a,h,c,g,e,g);d=d-g|0;_f(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function zh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=fa-16|0;fa=g;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=ol(c);f=c+(f<<2)|0;h=c+(b-d&-4)|0;c=h;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=h;J[e>>2]=c;if(!d){break b}gl(d)}b=J[a+12>>2];c=J[b+28>>2];b=J[b+24>>2];J[g+12>>2]=0;b=c-b>>2;d=a+96|0;e=J[d>>2];c=J[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){vb(d,b-c|0,g+12|0);break c}if(b>>>0>=c>>>0){break c}J[a+100>>2]=e+(b<<2)}e=a+8|0;b=J[a+116>>2];d:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){c=1;break d}b=0;while(1){c=Ah(e,J[(b<<2)+d>>2]);if(!c){break d}f=J[a+116>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break d}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){c=Ah(e,P(b,3));if(!c){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}fa=g+16|0;return c|0}Ia();C()}function Ka(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=J[b+88>>2];if(!(!c|J[c>>2]!=1)){e=J[c+8>>2];J[a+4>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);f=a+8|0;d=K[b+24|0];h=J[a+8>>2];g=J[a+12>>2]-h>>2;a:{if(d>>>0>g>>>0){La(f,d-g|0);d=K[b+24|0];e=J[c+8>>2];break a}if(d>>>0>=g>>>0){break a}J[a+12>>2]=h+(d<<2)}b:{if(!d){b=4;break b}h=d&3;f=J[f>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){g=d<<2;c=b+e|0;J[g+f>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+(g|4)>>2]=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+(g|8)>>2]=K[c+8|0]|K[c+9|0]<<8|(K[c+10|0]<<16|K[c+11|0]<<24);J[f+(g|12)>>2]=K[c+12|0]|K[c+13|0]<<8|(K[c+14|0]<<16|K[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+e|0;J[f+(d<<2)>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}d=a;a=b+e|0;J[d+20>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);d=1}return d|0}function bl(a,b,c,d){var e=0,f=0,g=0,h=0;g=fa-32|0;fa=g;e=d&2147483647;h=e;f=e-1006698496|0;e=e-1140785152|0;a:{if((f|0)==(e|0)&0|e>>>0>f>>>0){e=c<<4|b>>>28;c=d<<4|c>>>28;b=b&268435455;if((b|0)==134217728&(a|0)!=0|b>>>0>134217728){f=c+1073741824|0;e=e+1|0;f=e?f:f+1|0;break a}f=c+1073741824|0;if(a|(b|0)!=134217728){break a}a=e&1;e=a+e|0;f=a>>>0>e>>>0?f+1|0:f;break a}if(!(!c&(h|0)==2147418112?!(a|b):h>>>0<2147418112)){a=d<<4|c>>>28;e=c<<4|b>>>28;f=a&524287|2146959360;break a}e=0;f=2146435072;if(h>>>0>1140785151){break a}f=0;h=h>>>16|0;if(h>>>0<15249){break a}e=d&65535|65536;Sk(g+16|0,a,b,c,e,h-15233|0);Zk(g,a,b,c,e,15361-h|0);b=J[g+8>>2];e=b<<4;b=J[g+12>>2]<<4|b>>>28;c=J[g>>2];f=J[g+4>>2];h=f;e=f>>>28|e;f=b;a=h&268435455;b=c|(J[g+16>>2]|J[g+24>>2]|(J[g+20>>2]|J[g+28>>2]))!=0;if((a|0)==134217728&(b|0)!=0|a>>>0>134217728){e=e+1|0;f=e?f:f+1|0;break a}if(b|(a|0)!=134217728){break a}a=e;e=e+(e&1)|0;f=a>>>0>e>>>0?f+1|0:f}fa=g+32|0;x(0,e|0);x(1,d&-2147483648|f);return+z()}function Oh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=J[a+12>>2];c=J[a+68>>2];d=J[c+80>>2];H[b+84|0]=0;n=b+68|0;i=J[b+68>>2];e=J[b+72>>2]-i>>2;a:{if(e>>>0>>0){rb(n,d-e|0,11424);c=J[a+68>>2];d=J[c+80>>2];break a}if(d>>>0>=e>>>0){break a}J[b+72>>2]=i+(d<<2)}b=J[c+100>>2];e=J[c+96>>2];i=(b-e|0)/12|0;m=1;b:{if((b|0)==(e|0)){break b}k=J[k+28>>2];f=J[k>>2];if((f|0)==-1){return 0}o=i>>>0<=1?1:i;c=e;b=0;m=0;while(1){g=J[c>>2];if(g>>>0>=d>>>0){break b}j=J[J[a+72>>2]+12>>2];h=J[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=J[n>>2];J[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=J[g+4>>2];if((h|0)==-1){break b}l=J[c+4>>2];if(l>>>0>=d>>>0){break b}h=J[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}J[f+(l<<2)>>2]=h;g=J[g+8>>2];if((g|0)==-1){break b}c=J[c+8>>2];if(c>>>0>=d>>>0){break b}j=J[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}J[f+(c<<2)>>2]=j;b=b+1|0;m=i>>>0<=b>>>0;if((b|0)==(o|0)){break b}c=e+P(b,12)|0;l=P(b,3);f=J[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return m|0}function xa(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,l=0,m=0;h=J[d+80>>2];e=fa-48|0;fa=e;a=J[a+4>>2];m=a-2|0;a:{if(m>>>0>28){break a}j=J[J[d>>2]>>2]+J[d+48>>2]|0;J[e+16>>2]=a;a=-1<>2]=a^-1;a=-2-a|0;J[e+24>>2]=a;J[e+32>>2]=(a|0)/2;N[e+28>>2]=Q(2)/Q(a|0);f=J[c>>2];if((f|0)!=J[c+4>>2]){a=0;d=0;while(1){g=J[(d<<2)+f>>2];h=e+36|0;k=J[J[b>>2]>>2];l=J[b+48>>2];f=J[b+40>>2];i=J[b+44>>2];if(!K[b+84|0]){g=J[J[b+68>>2]+(g<<2)>>2]}g=dm(f,i,g,0);i=g;g=g+l|0;mk(h,g+k|0,f);ya(e+16|0,h,e+12|0,e+8|0);f=a<<2;J[f+j>>2]=J[e+12>>2];J[(f|4)+j>>2]=J[e+8>>2];a=a+2|0;d=d+1|0;f=J[c>>2];if(d>>>0>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){k=e+36|0;l=J[J[b>>2]>>2];i=J[b+48>>2];c=J[b+40>>2];f=dm(c,J[b+44>>2],K[b+84|0]?a:J[J[b+68>>2]+(a<<2)>>2],0);g=f;f=f+i|0;mk(k,f+l|0,c);ya(e+16|0,k,e+12|0,e+8|0);c=d<<2;J[c+j>>2]=J[e+12>>2];J[(c|4)+j>>2]=J[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}fa=e+48|0;return m>>>0<29|0}function Oa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=fa-16|0;fa=k;if(J[c+28>>2]==9){d=J[a+4>>2];h=K[c+24|0];e=h<<2;f=ol(e);l=k+8|0;J[l>>2]=1065353216;i=N[a+20>>2];d=-1<0){N[l>>2]=i/Q(d|0)}o=(d|0)>0;a:{if(!o){break a}j=J[c+80>>2];if(!j){break a}if(h){p=J[J[b>>2]>>2]+J[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=J[a+8>>2];i=N[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;N[g+f>>2]=Q(i*Q(J[q>>2]))+N[g+m>>2];g=g|4;N[g+f>>2]=Q(i*Q(J[q+4>>2]))+N[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;N[d+f>>2]=Q(i*Q(J[(b<<2)+p>>2]))+N[d+m>>2];b=b+1|0}mk(J[J[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){mk(J[J[c+64>>2]>>2]+b|0,f,e);b=b+e|0;mk(b+J[J[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}mk(J[J[c+64>>2]>>2]+b|0,f,e)}gl(f)}fa=k+16|0;return o|0}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+108>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0>>0){rb(m,e-f|0,11424);d=J[a+108>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+112>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+68>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0>>0){rb(m,e-f|0,11424);d=J[a+68>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+72>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Ng(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=fa+-64|0;fa=c;d=ol(80);i=J[a+8>>2];J[d+12>>2]=0;J[d+16>>2]=0;J[d>>2]=11692;J[d+4>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+76>>2]=0;J[d+72>>2]=b;J[d+68>>2]=i;J[d- -64>>2]=0;j=d+56|0;e=j;J[e>>2]=0;J[e+4>>2]=0;J[d+8>>2]=11856;e=J[a+12>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;f=c+24|0;J[f>>2]=0;J[f+4>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c>>2]=11856;J[c+4>>2]=e;g=J[e>>2];h=J[e+4>>2];H[c+63|0]=0;k=f;f=c+63|0;Jg(k,(h-g>>2>>>0)/3|0,f);g=J[c+4>>2];h=J[g+28>>2];g=J[g+24>>2];H[c+63|0]=0;Jg(c+36|0,h-g>>2,f);J[c+20>>2]=d;J[c+16>>2]=i;J[c+12>>2]=b;J[c+8>>2]=e;J[d+76>>2]=a+72;Kg(d+8|0,c);Lg(j,J[c+48>>2],J[c+52>>2]);J[c>>2]=11856;a=J[c+48>>2];if(a){J[c+52>>2]=a;gl(a)}J[c>>2]=11672;a=J[c+36>>2];if(a){gl(a)}a=J[c+24>>2];if(a){gl(a)}fa=c- -64|0;return d}function uf(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0;a:{b:{if((e|0)<=(f|0)){if((a|0)==(b|0)){break b}f=g;e=a;while(1){J[f>>2]=J[e>>2];f=f+4|0;e=e+4|0;if((e|0)!=(b|0)){continue}break}if((f|0)==(g|0)){break b}d=J[d>>2];while(1){if((b|0)==(c|0)){nk(a,g,f-g|0);return}c:{e=J[d>>2];h=J[d+4>>2]-e>>3;i=J[b>>2];if(h>>>0<=i>>>0){break c}j=h;h=J[g>>2];if(j>>>0<=h>>>0){break c}j=h;k=i;i=J[e+(i<<3)>>2];e=J[e+(h<<3)>>2];h=i>>>0>=e>>>0;J[a>>2]=h?j:k;b=((e>>>0>i>>>0)<<2)+b|0;a=a+4|0;g=(h<<2)+g|0;if((g|0)!=(f|0)){continue}break b}break}Xc();C()}if((b|0)==(c|0)){break b}f=g;e=b;while(1){J[f>>2]=J[e>>2];f=f+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}if((f|0)==(g|0)){break b}while(1){if((a|0)==(b|0)){a=f-g|0;nk(c-a|0,g,a);return}i=J[d>>2];e=J[i>>2];h=J[i+4>>2]-e>>3;k=f-4|0;i=J[k>>2];if(h>>>0<=i>>>0){break a}j=h;l=b-4|0;h=J[l>>2];if(j>>>0<=h>>>0){break a}c=c-4|0;e=M[e+(i<<3)>>2]>2];J[c>>2]=e?h:i;b=e?l:b;f=e?f:k;if((g|0)!=(f|0)){continue}break}}return}Xc();C()}function mi(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=fa-32|0;fa=d;a:{b=J[a+16>>2];c=J[a+20>>2];if(!!b&(c|0)>=0|(c|0)>0){e=J[J[a+12>>2]+4>>2]+7|0;f=e>>>0<7?1:f;c=f>>>3|0;f=f<<29|e>>>3;if(K[a+24|0]){e=J[a+4>>2];J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;pf(f,c,d);c=e-b|0;e=c-8|0;b=J[d+4>>2]-J[d>>2]|0;nk(e+b|0,c,f);mk(e,J[d>>2],b);c=8-b|0;b=J[a+20>>2];e=c;c=c+J[a+16>>2]|0;b=e>>>0>c>>>0?b+1|0:b;J[a+16>>2]=c;J[a+20>>2]=b;b=J[d+12>>2];J[d+12>>2]=0;if(b){gl(b)}b=J[d>>2];if(b){J[d+4>>2]=b;gl(b)}b=J[a+16>>2]}b=f-b|0;g=J[a+4>>2];f=J[a>>2];e=g-f|0;c=b+e|0;b:{if(c>>>0>e>>>0){h=J[a+8>>2];if(h-g>>>0>=b>>>0){i=a,j=ok(g,0,b)+b|0,J[i+4>>2]=j;break b}if((c|0)<0){break a}g=h-f|0;h=g<<1;g=g>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=ol(g);ok(h+e|0,0,b);b=nk(h,f,e);J[a+8>>2]=b+g;J[a+4>>2]=b+c;J[a>>2]=b;if(!f){break b}gl(f);break b}if(c>>>0>=e>>>0){break b}J[a+4>>2]=c+f}J[a+16>>2]=0;J[a+20>>2]=0}fa=d+32|0;return}Ia();C()}function Qb(a){var b=0,c=0,d=0,e=0;c=J[a+1176>>2];if(c){d=c;b=J[a+1180>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;gl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+1176>>2]}J[a+1180>>2]=c;gl(d)}c=J[a+1164>>2];if(c){d=c;b=J[a+1168>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;gl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+1164>>2]}J[a+1168>>2]=c;gl(d)}b=J[a+1152>>2];if(b){J[a+1156>>2]=b;gl(b)}b=J[a+1140>>2];if(b){J[a+1144>>2]=b;gl(b)}b=J[a+1128>>2];if(b){J[a+1132>>2]=b;gl(b)}ye(a+1108|0);ye(a+1088|0);ye(a+1068|0);Ae(a+1036|0);a=a+12|0;Ae(a+992|0);Ae(a+960|0);Ae(a+928|0);Ae(a+896|0);Ae(a+864|0);Ae(a+832|0);Ae(a+800|0);Ae(a+768|0);Ae(a+736|0);Ae(a+704|0);Ae(a+672|0);Ae(a+640|0);Ae(a+608|0);Ae(a+576|0);Ae(a+544|0);Ae(a+512|0);Ae(a+480|0);Ae(a+448|0);Ae(a+416|0);Ae(a+384|0);Ae(a+352|0);Ae(a+320|0);Ae(a+288|0);Ae(a+256|0);Ae(a+224|0);Ae(a+192|0);Ae(a+160|0);Ae(a+128|0);Ae(a+96|0);Ae(a- -64|0);Ae(a+32|0);Ae(a)}function di(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=J[a+4>>2];b=J[b+12>>2]-J[b+8>>2]|0;a:{if((b|0)>3){b=0;while(1){if(ka[J[J[a>>2]+36>>2]](a,b)|0){b=b+1|0;c=J[a+4>>2];c=J[c+12>>2]-J[c+8>>2]>>2;if((b|0)<(c|0)){continue}break a}break}return 0}c=b>>2}b=a+20|0;d=J[a+20>>2];e=J[a+24>>2]-d>>2;b:{if(e>>>0>>0){La(b,c-e|0);break b}if(c>>>0>=e>>>0){break b}J[a+24>>2]=d+(c<<2)}f=J[a+8>>2];a=J[a+12>>2];if((f|0)==(a|0)){return 1}a=a-f>>2;j=a>>>0<=1?1:a;e=J[b>>2];b=0;while(1){a=J[(b<<2)+f>>2];d=J[a+8>>2];c=J[a+4>>2];c:{if((d|0)==(c|0)){break c}a=d-c>>2;d=a>>>0<=1?1:a;i=d&3;g=0;a=0;if(d-1>>>0>=3){k=d&-4;h=0;while(1){d=a<<2;J[e+(J[d+c>>2]<<2)>>2]=b;J[e+(J[c+(d|4)>>2]<<2)>>2]=b;J[e+(J[c+(d|8)>>2]<<2)>>2]=b;J[e+(J[c+(d|12)>>2]<<2)>>2]=b;a=a+4|0;h=h+4|0;if((k|0)!=(h|0)){continue}break}}if(!i){break c}while(1){J[e+(J[c+(a<<2)>>2]<<2)>>2]=b;a=a+1|0;g=g+1|0;if((g|0)!=(i|0)){continue}break}}b=b+1|0;if((j|0)!=(b|0)){continue}break}return 1}function Ta(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=J[a+12>>2];i=J[a+8>>2];d=e-i>>2;b=K[b+24|0];a:{if(d>>>0>>0){La(a+8|0,b-d|0);i=J[a+8>>2];e=J[a+12>>2];break a}if(b>>>0>=d>>>0){break a}e=(b<<2)+i|0;J[a+12>>2]=e}b=0;f=J[c+8>>2];h=J[c+12>>2];j=J[c+20>>2];e=e-i|0;d=J[c+16>>2];g=e+d|0;j=e>>>0>g>>>0?j+1|0:j;b:{if(f>>>0>>0&(h|0)<=(j|0)|(h|0)<(j|0)){break b}mk(i,d+J[c>>2]|0,e);d=J[c+20>>2];g=e;e=e+J[c+16>>2]|0;d=g>>>0>e>>>0?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;f=J[c+8>>2];h=J[c+12>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;if(f>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break b}d=e+J[c>>2]|0;J[a+20>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[c+20>>2];g=d;f=d;e=J[c+16>>2];d=e+4|0;f=d>>>0<4?f+1|0:f;J[c+16>>2]=d;J[c+20>>2]=f;h=J[c+12>>2];if((f|0)>=(h|0)&d>>>0>=M[c+8>>2]|(f|0)>(h|0)){break b}f=K[d+J[c>>2]|0];d=g;e=e+5|0;d=e>>>0<5?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;if(f-1>>>0>29){break b}J[a+4>>2]=f;b=1}return b|0}function hc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{f=J[a+4>>2];b:{if((f|0)!=J[a>>2]){c=f;break b}g=J[a+8>>2];c=J[a+12>>2];if(g>>>0>>0){e=((c-g>>2)+1|0)/2<<2;c=e+g|0;if((f|0)!=(g|0)){d=g-f|0;c=c-d|0;nk(c,f,d);f=J[a+8>>2]}J[a+4>>2]=c;J[a+8>>2]=e+f;break b}d=(c|0)==(f|0)?1:c-f>>1;if(d>>>0>=1073741824){break a}c=d<<2;i=ol(c);k=i+c|0;c=(d+3&-4)+i|0;h=c;c:{if((f|0)==(g|0)){break c}g=g-f|0;l=g&-4;e=c;d=f;j=g-4|0;g=(j>>>2|0)+1&7;if(g){h=0;while(1){J[e>>2]=J[d>>2];d=d+4|0;e=e+4|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}h=c+l|0;if(j>>>0<28){break c}while(1){J[e>>2]=J[d>>2];J[e+4>>2]=J[d+4>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=J[d+12>>2];J[e+16>>2]=J[d+16>>2];J[e+20>>2]=J[d+20>>2];J[e+24>>2]=J[d+24>>2];J[e+28>>2]=J[d+28>>2];d=d+32|0;e=e+32|0;if((h|0)!=(e|0)){continue}break}}J[a+12>>2]=k;J[a+8>>2]=h;J[a+4>>2]=c;J[a>>2]=i;if(!f){break b}gl(f);c=J[a+4>>2]}J[c-4>>2]=J[b>>2];J[a+4>>2]=J[a+4>>2]-4;return}Ya();C()}function Ej(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c-b|0;e=J[a+8>>2];d=J[a>>2];if(f>>>0<=e-d>>>0){h=J[a+4>>2]-d|0;e=h+b|0;g=f>>>0>h>>>0?e:c;a:{if((g|0)==(b|0)){break a}k=(b^-1)+g|0;i=g-b&7;if(i){while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;j=j+1|0;if((j|0)!=(i|0)){continue}break}}if(k>>>0<7){break a}while(1){H[d|0]=K[b|0];H[d+1|0]=K[b+1|0];H[d+2|0]=K[b+2|0];H[d+3|0]=K[b+3|0];H[d+4|0]=K[b+4|0];H[d+5|0]=K[b+5|0];H[d+6|0]=K[b+6|0];H[d+7|0]=K[b+7|0];d=d+8|0;b=b+8|0;if((g|0)!=(b|0)){continue}break}}if(f>>>0>h>>>0){b=J[a+4>>2];if((c|0)!=(g|0)){while(1){H[b|0]=K[e|0];b=b+1|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}J[a+4>>2]=b;return}J[a+4>>2]=d;return}if(d){J[a+4>>2]=d;gl(d);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=0}b:{if((f|0)<0){break b}d=e<<1;e=e>>>0>=1073741823?2147483647:d>>>0>f>>>0?d:f;if((e|0)<0){break b}d=ol(e);J[a+4>>2]=d;J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){d=mk(d,b,f)+f|0}J[a+4>>2]=d;return}Ia();C()}function ya(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+N[b>>2];k=+N[b+4>>2];l=+N[b+8>>2];g=R(j)+R(k)+R(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=J[a+16>>2];l=+(h|0);g=V(j*l+.5);b:{if(R(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=V(k*l+.5);c:{if(R(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=J[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=J[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}J[c>>2]=a;J[d>>2]=b}function Ze(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{e=J[b+4>>2];c:{if(!e){f=b+4|0;c=f;break c}f=K[c+11|0];g=f<<24>>24<0;i=g?J[c>>2]:c;g=g?J[c+4>>2]:f;while(1){c=e;h=K[e+27|0];f=h<<24>>24<0;e=f?J[e+20>>2]:h;h=e>>>0>>0;d:{e:{f:{g:{j=h?e:g;h:{if(j){f=f?J[c+16>>2]:c+16|0;k=sk(i,f,j);if(!k){if(e>>>0>g>>>0){break h}break g}if((k|0)>=0){break g}break h}if(e>>>0<=g>>>0){break f}}f=c;e=J[c>>2];if(e){continue}break c}e=sk(f,i,j);if(e){break e}}if(h){break d}break b}if((e|0)>=0){break b}}e=J[c+4>>2];if(e){continue}break}f=c+4|0}e=ol(40);g=e+16|0;d=J[d>>2];i:{if(H[d+11|0]>=0){i=J[d+4>>2];J[g>>2]=J[d>>2];J[g+4>>2]=i;J[g+8>>2]=J[d+8>>2];break i}sl(g,J[d>>2],J[d+4>>2])}J[e+8>>2]=c;J[e>>2]=0;J[e+4>>2]=0;J[e+36>>2]=0;J[e+28>>2]=0;J[e+32>>2]=0;J[f>>2]=e;c=e;d=J[J[b>>2]>>2];if(d){J[b>>2]=d;c=J[f>>2]}We(J[b+4>>2],c);J[b+8>>2]=J[b+8>>2]+1;b=1;break a}e=c;b=0}H[a+4|0]=b;J[a>>2]=e}function vf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=fa-32|0;fa=d;h=J[b>>2]+J[a+40>>2]|0;e=J[a+32>>2];c=e-4194304|0;a:{if(c>>>0<=63){H[J[a+24>>2]+J[a+28>>2]|0]=e;g=J[a+28>>2]+1|0;break a}if(c>>>0<=16383){c=J[a+24>>2]+J[a+28>>2]|0;H[c+1|0]=e+16384>>>8;H[c|0]=e;g=J[a+28>>2]+2|0;break a}if(c>>>0<=4194303){c=J[a+24>>2]+J[a+28>>2]|0;H[c+2|0]=e+4194304>>>16;H[c+1|0]=e>>>8;H[c|0]=e;g=J[a+28>>2]+3|0;break a}if(c>>>0<=1073741823){f=J[a+24>>2]+J[a+28>>2]|0;c=e-1077936128|0;H[f+3|0]=c>>>24;H[f+2|0]=c>>>16;H[f+1|0]=e>>>8;H[f|0]=e;g=J[a+28>>2]+4|0;break a}g=J[a+28>>2]}f=g;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=f>>31;pf(f,c,d);e=J[d+4>>2]-J[d>>2]|0;nk(e+h|0,h,f);mk(h,J[d>>2],e);h=J[a+40>>2];a=J[a+44>>2];f=e+f|0;c=a+(g>>>0>f>>>0?c+1|0:c)|0;a=f+h|0;ki(b,a);a=J[d+12>>2];J[d+12>>2]=0;if(a){gl(a)}a=J[d>>2];if(a){J[d+4>>2]=a;gl(a)}fa=d+32|0}function mf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=fa-32|0;fa=d;h=J[b>>2]+J[a+40>>2]|0;f=J[a+32>>2];c=f-16384|0;a:{if(c>>>0<=63){H[J[a+24>>2]+J[a+28>>2]|0]=f;g=J[a+28>>2]+1|0;break a}if(c>>>0<=16383){c=J[a+24>>2]+J[a+28>>2]|0;H[c|0]=f;H[c+1|0]=f>>>8;g=J[a+28>>2]+2|0;break a}if(c>>>0<=4194303){e=J[a+24>>2]+J[a+28>>2]|0;c=f+8372224|0;H[e+2|0]=c>>>16;H[e+1|0]=c>>>8;H[e|0]=f;g=J[a+28>>2]+3|0;break a}if(c>>>0<=1073741823){e=J[a+24>>2]+J[a+28>>2]|0;c=f-1073758208|0;H[e+3|0]=c>>>24;H[e+2|0]=c>>>16;H[e+1|0]=c>>>8;H[e|0]=f;g=J[a+28>>2]+4|0;break a}g=J[a+28>>2]}e=g;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=e>>31;pf(e,c,d);f=J[d+4>>2]-J[d>>2]|0;nk(f+h|0,h,e);mk(h,J[d>>2],f);h=J[a+40>>2];a=J[a+44>>2];e=e+f|0;c=a+(g>>>0>e>>>0?c+1|0:c)|0;a=e+h|0;ki(b,a);a=J[d+12>>2];J[d+12>>2]=0;if(a){gl(a)}a=J[d>>2];if(a){J[d+4>>2]=a;gl(a)}fa=d+32|0}function za(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0;a:{if(J[c+28>>2]!=9|K[c+24|0]!=3){break a}a=J[a+4>>2];if(a-2>>>0>28){break a}o=1;j=J[c+80>>2];if(!j){break a}k=Q(Q(2)/Q((1<>2]>>2]+J[c+48>>2]|0;a=J[J[b>>2]>>2]+J[b+48>>2]|0;b=0;while(1){g=Q(0);l=Q(0);m=Q(0);e=Q(Q(Q(J[a>>2])*k)+Q(-1));f=Q(Q(Q(J[a+4>>2])*k)+Q(-1));i=Q(Q(Q(1)-Q(R(e)))-Q(R(f)));h=Q(U(Q(-i),Q(0)));n=Q(-h);f=Q(f+(f>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;d=(B(l),v(2));H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;d=(B(g),v(2));H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=fa-16|0;fa=c;b=J[J[a+184>>2]+(b<<2)>>2];H[c+15|0]=b;e=J[J[a+4>>2]+44>>2];d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){Ba(e,J[e+4>>2],c+15|0,c+16|0);b=K[c+15|0]}a:{b:{c:{if(b<<24>>24<0){e=J[a+68>>2];break c}b=J[J[a+172>>2]+P(b&255,136)>>2];d=ka[J[J[a>>2]+40>>2]](a)|0;f=J[a+172>>2]+P(H[c+15|0],136)|0;e=J[f+132>>2];d:{switch(J[J[J[d+56>>2]+84>>2]+(b<<2)>>2]){case 0:break c;case 1:break d;default:break b}}if(!K[f+28|0]){break b}}b=J[J[a+4>>2]+44>>2];H[c+14|0]=0;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+14|0,c+15|0);break a}b=J[J[a+4>>2]+44>>2];H[c+13|0]=1;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+13|0,c+14|0)}a=J[J[a+4>>2]+44>>2];H[c+12|0]=e;b=J[a+20>>2];if(!J[a+16>>2]&(b|0)<=0|(b|0)<0){Ba(a,J[a+4>>2],c+12|0,c+13|0)}fa=c+16|0;return 1}function wl(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=fa-16|0;fa=c;e=fa-16|0;fa=e;J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;fa=e+16|0;kl(c,K[c+11|0]>>>7|0?(J[c+8>>2]&2147483647)-1|0:10);g=fa-16|0;fa=g;l=+b;if(K[c+11|0]>>>7|0){e=J[c+4>>2]}else{e=K[c+11|0]&127}while(1){a:{if(K[c+11|0]>>>7|0){f=J[c>>2]}else{f=c}O[g>>3]=l;i=fa-16|0;fa=i;J[i+12>>2]=g;d=fa-160|0;fa=d;h=e+1|0;j=h?f:d+158|0;J[d+144>>2]=j;f=-1;k=h-1|0;J[d+148>>2]=h>>>0>=k>>>0?k:0;d=ok(d,0,144);J[d+76>>2]=-1;J[d+36>>2]=374;J[d+80>>2]=-1;J[d+44>>2]=d+159;J[d+84>>2]=d+144;b:{if((h|0)<0){J[4842]=61;break b}H[j|0]=0;f=Nk(d,1510,g)}fa=d+160|0;fa=i+16|0;c:{if((f|0)>=0){if(e>>>0>=f>>>0){break a}e=f;break c}e=e<<1|1}kl(c,e);continue}break}kl(c,f);e=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=e;J[a+8>>2]=J[c+8>>2];J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;fa=g+16|0;if(K[c+11|0]>>>7|0){gl(J[c>>2])}fa=c+16|0}function $j(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{e=J[b+4>>2];c:{if(!e){f=b+4|0;c=f;break c}f=K[c+11|0];g=f<<24>>24<0;h=g?J[c>>2]:c;g=g?J[c+4>>2]:f;while(1){c=e;e=K[e+27|0];f=e<<24>>24<0;e=f?J[c+20>>2]:e;j=e>>>0>>0;d:{e:{f:{g:{i=j?e:g;h:{if(i){f=f?J[c+16>>2]:c+16|0;k=sk(h,f,i);if(!k){if(e>>>0>g>>>0){break h}break g}if((k|0)>=0){break g}break h}if(e>>>0<=g>>>0){break f}}f=c;e=J[c>>2];if(e){continue}break c}e=sk(f,h,i);if(e){break e}}if(j){break d}break b}if((e|0)>=0){break b}}e=J[c+4>>2];if(e){continue}break}f=c+4|0}e=ol(40);J[e+24>>2]=J[d+8>>2];g=J[d+4>>2];h=J[d>>2];J[e+16>>2]=h;J[e+20>>2]=g;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;Yj(e+28|0,d+12|0);J[e+8>>2]=c;J[e>>2]=0;J[e+4>>2]=0;J[f>>2]=e;c=e;d=J[J[b>>2]>>2];if(d){J[b>>2]=d;c=J[f>>2]}We(J[b+4>>2],c);J[b+8>>2]=J[b+8>>2]+1;b=1;break a}e=c;b=0}H[a+4|0]=b;J[a>>2]=e}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=1;a:{b:{c:{if((ka[J[J[b>>2]+20>>2]](b)|0)<=0){break c}while(1){e=bk(J[J[a+4>>2]+4>>2],ka[J[J[b>>2]+24>>2]](b,i)|0);j=(e|0)!=-1;if((e|0)==-1){break c}c=J[a+20>>2];d:{if((c|0)!=J[a+24>>2]){J[c>>2]=e;J[a+20>>2]=c+4;break d}f=c;c=J[a+16>>2];d=f-c|0;h=d>>2;g=h+1|0;if(g>>>0>=1073741824){break b}f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(g){if(g>>>0>=1073741824){break a}f=ol(g<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=e;d=nk(f,c,d);J[a+24>>2]=d+(g<<2);J[a+20>>2]=h+4;J[a+16>>2]=d;if(!c){break d}gl(c)}c=J[a+4>>2];e:{if((e|0)<0){break e}d=J[c+4>>2];if(J[d+12>>2]-J[d+8>>2]>>2<=(e|0)){break e}c=J[J[c+8>>2]+(J[J[c+20>>2]+(e<<2)>>2]<<2)>>2];ka[J[J[c>>2]+32>>2]](c,e)|0}i=i+1|0;if((ka[J[J[b>>2]+20>>2]](b)|0)>(i|0)){continue}break}}return j|0}Ia();C()}Ya();C()}function tf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==(c|0)){J[a+4>>2]=d;J[a>>2]=d;return}if((c|0)==(d|0)){J[a+4>>2]=c;J[a>>2]=b;return}a:{if((b+4|0)==(c|0)){f=J[b>>2];e=b;b=d-c|0;c=nk(e,c,b)+b|0;J[c>>2]=f;break a}if((c+4|0)==(d|0)){f=d-4|0;e=J[f>>2];c=d;if((b|0)!=(f|0)){f=f-b|0;c=d-f|0;nk(c,b,f)}J[b>>2]=e;break a}g=c-b>>2;h=d-c>>2;if((g|0)==(h|0)){e=c;while(1){f=J[b>>2];J[b>>2]=J[e>>2];J[e>>2]=f;b=b+4|0;if((c|0)==(b|0)){break a}e=e+4|0;if((e|0)!=(d|0)){continue}break}break a}e=h;f=g;while(1){c=f;f=e;e=(c|0)%(e|0)|0;if(e){continue}break}if(f){e=(f<<2)+b|0;while(1){e=e-4|0;j=g<<2;c=e+j|0;k=J[e>>2];f=e;while(1){i=f;f=c;J[i>>2]=J[c>>2];i=c+j|0;c=d-c>>2;c=(c|0)>(g|0)?i:(g-c<<2)+b|0;if((e|0)!=(c|0)){continue}break}J[f>>2]=k;if((b|0)!=(e|0)){continue}break}}c=(h<<2)+b|0}J[a+4>>2]=d;J[a>>2]=c}function Kg(a,b){var c=0,d=0;c=J[b+8>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=c;J[a+20>>2]=J[b+20>>2];c=J[b+16>>2];J[a+12>>2]=J[b+12>>2];J[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=J[b+28>>2];if(c){d=J[a+24>>2];if(J[a+32>>2]<<5>>>0>>0){if(d){gl(d);J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;c=J[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=ol(c<<2);J[a+32>>2]=c;J[a+28>>2]=0;J[a+24>>2]=d;c=J[b+28>>2]}nk(d,J[b+24>>2],(c-1>>>3&536870908)+4|0);c=J[b+28>>2]}else{c=0}J[a+28>>2]=c;c=J[b+40>>2];if(c){d=J[a+36>>2];if(J[a+44>>2]<<5>>>0>>0){if(d){gl(d);J[a+44>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;c=J[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=ol(c<<2);J[a+44>>2]=c;J[a+40>>2]=0;J[a+36>>2]=d;c=J[b+40>>2]}nk(d,J[b+36>>2],(c-1>>>3&536870908)+4|0);b=J[b+40>>2]}else{b=0}J[a+40>>2]=b}return}Ia();C()}Ia();C()}function Vj(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=fa-16|0;fa=f;d=J[a+100>>2];e=J[a+96>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=d-e|0;g=(b|0)/12|0;a:{b:{if((d|0)==(e|0)){break b}if(g>>>0>=357913942){break a}d=ol(b);J[f>>2]=d;J[f+8>>2]=d+P(g,12);a=0;c=d;d=b-12|0;b=(d-((d>>>0)%12|0)|0)+12|0;d=ok(c,0,b);J[f+4>>2]=b+d;b=g>>>0<=1?1:g;j=b&1;if(g>>>0>=2){k=b&-2;g=0;while(1){c=P(a,12);b=c+e|0;h=J[b>>2];i=J[b+4>>2];c=d+c|0;J[c+8>>2]=J[b+8>>2];J[c>>2]=h;J[c+4>>2]=i;c=P(a|1,12);b=c+e|0;h=J[b>>2];i=J[b+4>>2];c=d+c|0;J[c+8>>2]=J[b+8>>2];J[c>>2]=h;J[c+4>>2]=i;a=a+2|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}}if(!j){break b}c=e;e=P(a,12);a=c+e|0;g=J[a+4>>2];b=J[a>>2];e=d+e|0;J[e+8>>2]=J[a+8>>2];J[e>>2]=b;J[e+4>>2]=g}e=Lj(f);a=J[f>>2];if(a){J[f+4>>2]=a;gl(a)}fa=f+16|0;return e}Ia();C()}function uk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=fa-32|0;fa=f;d=J[a+28>>2];J[f+16>>2]=d;g=J[a+20>>2];J[f+28>>2]=c;J[f+24>>2]=b;b=g-d|0;J[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=ba(J[a+60>>2],b|0,2,f+12|0)|0;if(d){J[4842]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=J[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=J[b+4>>2];j=h>>>0>>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;J[d>>2]=h+J[d>>2];b=(j?12:4)+b|0;J[b>>2]=J[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=ba(J[a+60>>2],b|0,i|0,f+12|0)|0;if(e){J[4842]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];a=c;break a}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=J[a>>2]|32;a=0;if((i|0)==2){break a}a=c-J[d+4>>2]|0}fa=f+32|0;return a|0}function $g(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+112>>2];b=J[a+108>>2];c=(d-b|0)/12|0;yb(c,J[J[a+4>>2]+44>>2]);if((b|0)!=(d|0)){f=c>>>0<=1?1:c;d=0;while(1){b=J[a+108>>2]+P(d,12)|0;yb(J[b+4>>2]-g|0,J[J[a+4>>2]+44>>2]);yb(J[b+4>>2]-J[b>>2]|0,J[J[a+4>>2]+44>>2]);g=J[b+4>>2];d=d+1|0;if((f|0)!=(d|0)){continue}break}d=0;li(J[J[a+4>>2]+44>>2],c,0,0);b=J[J[a+4>>2]+44>>2];e=!!J[b+16>>2];b=J[b+20>>2];if(e&(b|0)>=0|(b|0)>0){f=c>>>0<=1?1:c;while(1){c=J[J[a+4>>2]+44>>2];b=J[c+20>>2];if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){g=K[(J[a+108>>2]+P(d,12)|0)+8|0];c=J[c+12>>2];e=J[c+4>>2];b=e>>>3|0;h=b+J[c>>2]|0;i=K[h|0];e=e&7;j=h,k=hm(e)&i,H[j|0]=k;b=b+J[c>>2]|0;H[b|0]=K[b|0]|(g&1)<>2]=J[c+4>>2]+1}d=d+1|0;if((f|0)!=(d|0)){continue}break}}mi(J[J[a+4>>2]+44>>2])}return 1}function Ph(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+56>>2]-J[b+52>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=ol(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}gl(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Qh(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=J[J[a+12>>2]+64>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Qh(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}Ia();C()}function Jh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=ol(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}gl(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Kh(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Kh(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}Ia();C()}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;J[d+12>>2]=c;a:{if(!Ic(a,b,c)|K[J[a+8>>2]+24|0]!=3){break a}f=J[b+48>>2];b=ol(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1261];c=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);e=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);e=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;b=Gb(f,d+12|0,d,-1);if(H[d+11|0]<0){gl(J[d>>2])}if((b|0)<=0){break a}J[a+44>>2]=b;g=1}fa=d+16|0;return g|0}function Me(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=fa-16|0;fa=i;e=J[b+4>>2];a:{b:{if(!e){h=b+4|0;g=h;break b}f=J[c>>2];while(1){g=e;c=J[e+16>>2];if((c|0)>(f|0)){h=g;e=J[g>>2];if(e){continue}break b}if((c|0)>=(f|0)){f=g;b=0;break a}e=J[g+4>>2];if(e){continue}break}h=g+4|0}f=ol(32);c=J[d>>2];j=f+24|0;e=j;J[e>>2]=0;J[e+4>>2]=0;J[f+16>>2]=c;k=f+20|0;J[k>>2]=e;e=J[d+4>>2];d=d+8|0;if((e|0)!=(d|0)){while(1){c=e+16|0;Xe(i+8|0,k,j,c,c);c=J[e+4>>2];c:{if(c){while(1){e=c;c=J[e>>2];if(c){continue}break c}}while(1){c=e;e=J[e+8>>2];if((c|0)!=J[e>>2]){continue}break}}if((d|0)!=(e|0)){continue}break}}J[f+8>>2]=g;J[f>>2]=0;J[f+4>>2]=0;J[h>>2]=f;e=f;c=J[J[b>>2]>>2];if(c){J[b>>2]=c;e=J[h>>2]}We(J[b+4>>2],e);J[b+8>>2]=J[b+8>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=f;fa=i+16|0}function xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=fa-16|0;fa=c;yb(J[a+8>>2]-J[a+4>>2]>>2,b);e=J[a+4>>2];if((e|0)!=J[a+8>>2]){h=c+13|0;i=c+14|0;j=c+15|0;k=c+16|0;while(1){e=J[J[J[a+32>>2]+8>>2]+(J[(g<<2)+e>>2]<<2)>>2];H[c+15|0]=J[e+56>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+15|0,k);d=J[b+20>>2];f=J[b+16>>2];H[c+14|0]=J[e+28>>2];if(!!f&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+14|0,j);d=J[b+20>>2];f=J[b+16>>2];H[c+13|0]=K[e+24|0];if(!!f&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+13|0,i);d=J[b+20>>2];f=J[b+16>>2];H[c+12|0]=K[e+32|0];if(!!f&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,h)}yb(J[e+60>>2],b);g=g+1|0;e=J[a+4>>2];if(g>>>0>2]-e>>2>>>0){continue}break}}fa=c+16|0;return 1}function ze(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=fa-16|0;fa=g;a:{b:{c=J[a+4>>2];c:{if((c|0)!=J[a+8>>2]){J[c>>2]=J[a+12>>2];c=c+4|0;J[a+4>>2]=c;break c}e=J[a>>2];c=c-e|0;h=c>>2;d=h+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=ol(d<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=J[a+12>>2];i=d<<2;d=nk(f,e,c);J[a+8>>2]=i+d;c=h+4|0;J[a+4>>2]=c;J[a>>2]=d;if(!e){break c}gl(e);c=J[a+4>>2]}f=c;c=J[a>>2];J[g+12>>2]=f-c;e=J[b+20>>2];d:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break d}Ba(b,J[b+4>>2],g+12|0,g+16|0);c=J[a>>2];e=J[b+20>>2];if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break d}Ba(b,J[b+4>>2],c,J[g+12>>2]+c|0);c=J[a>>2]}J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=c;fa=g+16|0;return}Ia();C()}Ya();C()}function nk(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return mk(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}H[d|0]=K[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;H[d|0]=K[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;J[c+a>>2]=J[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;H[c+a|0]=K[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){J[d>>2]=J[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function Wg(a,b,c){var d=0,e=0,f=0,g=0;a:{b=P(b,3);if((b|0)==-1){break a}b:{e=J[a+12>>2];f=J[e+12>>2];d=b<<2;c:{if(J[f+d>>2]==-1){break c}a=J[a+152>>2];e=J[e>>2];if(J[a+(J[e+d>>2]<<2)>>2]!=-1){break b}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break a}d=b<<2;if(J[d+f>>2]==-1){break c}if(J[a+(J[d+e>>2]<<2)>>2]!=-1){break b}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break a}d=b<<2;if(J[d+f>>2]==-1){break c}if(J[a+(J[d+e>>2]<<2)>>2]!=-1){break b}g=1;a=b+1|0;b=(a>>>0)%3|0?a:b-2|0}J[c>>2]=b;return g}while(1){d:{a=b;e:{if((b>>>0)%3|0){b=a-1|0;break e}b=a+2|0;if((b|0)==-1){break d}}b=J[(b<<2)+f>>2];if((b|0)==-1){break d}b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)!=-1){continue}}break}J[c>>2]=a+((a>>>0)%3|0?-1:2);return 0}J[c>>2]=-1;return 0}function Kk(a,b,c){a:{switch(b-9|0){case 0:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];return;case 6:b=J[c>>2];J[c>>2]=b+4;b=I[b>>1];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 7:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=L[b>>1];J[a+4>>2]=0;return;case 8:b=J[c>>2];J[c>>2]=b+4;b=H[b|0];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 9:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=K[b|0];J[a+4>>2]=0;return;case 16:b=J[c>>2]+7&-8;J[c>>2]=b+8;O[a>>3]=O[b>>3];return;case 17:Pk(a,c);default:return;case 1:case 4:case 14:b=J[c>>2];J[c>>2]=b+4;b=J[b>>2];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];J[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=J[c>>2]+7&-8;J[c>>2]=b+8;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c}function Ak(a,b,c,d,e,f){var g=0;g=fa-80|0;fa=g;a:{if((f|0)>=16384){_k(g+32|0,b,c,d,e,0,0,0,2147352576);d=J[g+40>>2];e=J[g+44>>2];b=J[g+32>>2];c=J[g+36>>2];if(f>>>0<32767){f=f-16383|0;break a}_k(g+16|0,b,c,d,e,0,0,0,2147352576);f=((f|0)>=49149?49149:f)-32766|0;d=J[g+24>>2];e=J[g+28>>2];b=J[g+16>>2];c=J[g+20>>2];break a}if((f|0)>-16383){break a}_k(g- -64|0,b,c,d,e,0,0,0,7471104);d=J[g+72>>2];e=J[g+76>>2];b=J[g+64>>2];c=J[g+68>>2];if(f>>>0>4294934644){f=f+16269|0;break a}_k(g+48|0,b,c,d,e,0,0,0,7471104);f=((f|0)<=-48920?-48920:f)+32538|0;d=J[g+56>>2];e=J[g+60>>2];b=J[g+48>>2];c=J[g+52>>2]}_k(g,b,c,d,e,0,0,0,f+16383<<16);b=J[g+12>>2];J[a+8>>2]=J[g+8>>2];J[a+12>>2]=b;b=J[g+4>>2];J[a>>2]=J[g>>2];J[a+4>>2]=b;fa=g+80|0}function Fl(a,b,c){var d=0,e=0,f=0;d=fa+-64|0;fa=d;f=J[a>>2];e=J[f-4>>2];f=J[f-8>>2];J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;H[d+55|0]=0;H[d+56|0]=0;H[d+57|0]=0;H[d+58|0]=0;H[d+59|0]=0;H[d+60|0]=0;H[d+61|0]=0;H[d+62|0]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+20>>2]=0;J[d+16>>2]=b;J[d+12>>2]=a;J[d+8>>2]=c;a=a+f|0;b=0;a:{if(Dl(e,c,0)){J[d+56>>2]=1;ka[J[J[e>>2]+20>>2]](e,d+8|0,a,a,1,0);b=J[d+32>>2]==1?a:0;break a}ka[J[J[e>>2]+24>>2]](e,d+8|0,a,1,0);b:{switch(J[d+44>>2]){case 0:b=J[d+48>>2]==1?J[d+36>>2]==1?J[d+40>>2]==1?J[d+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(J[d+32>>2]!=1){if(J[d+48>>2]|J[d+36>>2]!=1|J[d+40>>2]!=1){break a}}b=J[d+24>>2]}fa=d- -64|0;return b}function De(a,b){var c=0,d=0,e=0,f=0;c=J[a>>2];a:{if(b){b=J[c+12>>2];d=J[c+8>>2]+1|0;b=d?b:b+1|0;J[c+8>>2]=d;J[c+12>>2]=b;b=J[a+28>>2];J[a+24>>2]=J[a+24>>2]|1<>2];d=J[c>>2]+1|0;b=d?b:b+1|0;J[c>>2]=d;J[c+4>>2]=b;b=J[a+28>>2]}b=b+1|0;J[a+28>>2]=b;b:{c:{if((b|0)==32){b=J[a+16>>2];d:{if((b|0)!=J[a+20>>2]){J[b>>2]=J[a+24>>2];J[a+16>>2]=b+4;break d}e=b;b=J[a+12>>2];c=e-b|0;f=c>>2;d=f+1|0;if(d>>>0>=1073741824){break c}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break b}e=ol(d<<2)}else{e=0}f=e+(f<<2)|0;J[f>>2]=J[a+24>>2];c=nk(e,b,c);J[a+20>>2]=c+(d<<2);J[a+16>>2]=f+4;J[a+12>>2]=c;if(!b){break d}gl(b)}J[a+24>>2]=0;J[a+28>>2]=0}return}Ia();C()}Ya();C()}function ok(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}H[a|0]=b;d=a+c|0;H[d-1|0]=b;if(c>>>0<3){break a}H[a+2|0]=b;H[a+1|0]=b;H[d-3|0]=b;H[d-2|0]=b;if(c>>>0<7){break a}H[a+3|0]=b;H[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=P(b&255,16843009);J[e>>2]=b;d=c-d&-4;c=d+e|0;J[c-4>>2]=b;if(d>>>0<9){break a}J[e+8>>2]=b;J[e+4>>2]=b;J[c-8>>2]=b;J[c-12>>2]=b;if(d>>>0<25){break a}J[e+24>>2]=b;J[e+20>>2]=b;J[e+16>>2]=b;J[e+12>>2]=b;J[c-16>>2]=b;J[c-20>>2]=b;J[c-24>>2]=b;J[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=dm(b,0,1,1);f=ja;b=e+g|0;while(1){J[b+24>>2]=d;J[b+28>>2]=f;J[b+16>>2]=d;J[b+20>>2]=f;J[b+8>>2]=d;J[b+12>>2]=f;J[b>>2]=d;J[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Ib(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{g=a+16|0;f=J[g>>2];b:{if(!f){break b}i=J[b>>2];b=g;while(1){h=(i|0)>J[f+16>>2];b=h?b:f;f=J[(h?f+4|0:f)>>2];if(f){continue}break}if((b|0)==(g|0)|(i|0)>2]){break b}f=J[b+24>>2];if(!f){break b}m=b+20|0;b=K[c+11|0];g=b<<24>>24<0;i=g?J[c>>2]:c;b=g?J[c+4>>2]:b;while(1){g=K[f+27|0];h=g<<24>>24<0;g=h?J[f+20>>2]:g;k=g>>>0>>0;c:{d:{e:{f:{g:{h:{j=k?g:b;if(j){h=h?J[f+16>>2]:f+16|0;l=sk(i,h,j);if(l){break h}if(b>>>0>=g>>>0){break g}break c}if(b>>>0>=g>>>0){break f}break c}if((l|0)<0){break c}}g=sk(h,i,j);if(g){break e}}if(k){break d}break a}if((g|0)<0){break d}break a}f=f+4|0}f=J[f>>2];if(f){continue}break}}Mb(a,c,d,e);return}Mb(m,c,d,e)}function Gb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+16|0;e=J[f>>2];a:{if(!e){break a}g=J[b>>2];b=f;while(1){h=(g|0)>J[e+16>>2];b=h?b:e;e=J[(h?e+4|0:e)>>2];if(e){continue}break}if((b|0)==(f|0)|(g|0)>2]){break a}e=J[b+24>>2];if(!e){break a}g=b+20|0;b=K[c+11|0];f=b<<24>>24<0;h=f?J[c>>2]:c;b=f?J[c+4>>2]:b;while(1){f=K[e+27|0];i=f<<24>>24<0;f=i?J[e+20>>2]:f;k=f>>>0>>0;b:{c:{d:{e:{f:{g:{j=k?f:b;if(j){i=i?J[e+16>>2]:e+16|0;l=sk(h,i,j);if(l){break g}if(b>>>0>=f>>>0){break f}break b}if(b>>>0>=f>>>0){break e}break b}if((l|0)<0){break b}}f=sk(i,h,j);if(f){break d}}if(k){break c}return pi(g,c,d)}if((f|0)<0){break c}return pi(g,c,d)}e=e+4|0}e=J[e>>2];if(e){continue}break}}return pi(a,c,d)}function li(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{e=J[a+20>>2];b:{if(!((!J[a+16>>2]&(e|0)<=0|(e|0)<0)&(!!b&(c|0)>=0|(c|0)>0))){break b}H[a+24|0]=d;e=b+7|0;c=e>>>0<7?c+1|0:c;e=(c&7)<<29|e>>>3;J[a+16>>2]=e;J[a+20>>2]=c>>>3;f=J[a+4>>2];h=J[a>>2];c=f-h|0;b=c+8|0;d=d?b:c;b=d+e|0;c:{if(b>>>0>c>>>0){e=b-c|0;g=J[a+8>>2];if(e>>>0<=g-f>>>0){i=a,j=ok(f,0,e)+e|0,J[i+4>>2]=j;break c}if((b|0)<0){break a}f=g-h|0;g=f<<1;f=f>>>0>=1073741823?2147483647:b>>>0>>0?g:b;g=ol(f);ok(g+c|0,0,e);c=nk(g,h,c);J[a+8>>2]=c+f;J[a+4>>2]=b+c;J[a>>2]=c;if(!h){break c}gl(h);break c}if(b>>>0>=c>>>0){break c}J[a+4>>2]=b+h}c=J[a>>2];b=ol(8);J[b+4>>2]=0;J[b>>2]=c+d;c=J[a+12>>2];J[a+12>>2]=b;if(!c){break b}gl(c)}return}Ia();C()}function Jb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+16|0;d=J[e>>2];a:{if(!d){break a}f=J[b>>2];b=e;while(1){g=(f|0)>J[d+16>>2];b=g?b:d;d=J[(g?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(e|0)|(f|0)>2]){break a}d=J[b+24>>2];if(!d){break a}f=b+20|0;b=K[c+11|0];e=b<<24>>24<0;g=e?J[c>>2]:c;b=e?J[c+4>>2]:b;while(1){e=K[d+27|0];h=e<<24>>24<0;e=h?J[d+20>>2]:e;j=e>>>0>>0;b:{c:{d:{e:{f:{g:{i=j?e:b;if(i){h=h?J[d+16>>2]:d+16|0;k=sk(g,h,i);if(k){break g}if(b>>>0>=e>>>0){break f}break b}if(b>>>0>=e>>>0){break e}break b}if((k|0)<0){break b}}e=sk(h,g,i);if(e){break d}}if(j){break c}return qi(f,c)}if((e|0)<0){break c}return qi(f,c)}d=d+4|0}d=J[d>>2];if(d){continue}break}}return qi(a,c)}function Wj(a,b,c){var d=0,e=0,f=0,g=0;yb(J[c+8>>2],b);e=J[c>>2];g=c+4|0;if((e|0)!=(g|0)){while(1){if(!Xj(b,e+16|0)){return}d=J[e+32>>2]-J[e+28>>2]|0;yb(d,b);f=J[b+20>>2];if(!J[b+16>>2]&(f|0)<=0|(f|0)<0){f=J[e+28>>2];Ba(b,J[b+4>>2],f,d+f|0)}f=J[e+4>>2];a:{if(f){while(1){d=f;f=J[d>>2];if(f){continue}break a}}while(1){d=J[e+8>>2];f=J[d>>2]!=(e|0);e=d;if(f){continue}break}}e=d;if((d|0)!=(g|0)){continue}break}}yb(J[c+20>>2],b);d=J[c+12>>2];c=c+16|0;if((d|0)==(c|0)){return}while(1){if(!Xj(b,d+16|0)){return}Wj(a,b,J[d+28>>2]);f=d;e=J[d+4>>2];b:{if(e){while(1){d=e;e=J[d>>2];if(e){continue}break b}}while(1){d=J[f+8>>2];e=J[d>>2]!=(f|0);f=d;if(e){continue}break}}if((c|0)!=(d|0)){continue}break}}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=J[b+4>>2]-J[b>>2]>>2;f=J[a+8>>2];i=K[f+24|0];d=i;g=fa+-64|0;fa=g;e=_a(g);h=P(d,J[3712]);$a(e,J[J[a+8>>2]+56>>2],0,d,5,h,h>>31);e=bb(ol(96),e);db(e,j);d=J[a+32>>2];J[a+32>>2]=e;if(d){Kb(d)}a:{if(!c){break a}d=J[a+32>>2];H[d+84|0]=0;h=J[d+68>>2];e=J[d+72>>2]-h>>2;if(e>>>0>>0){rb(d+68|0,c-e|0,2744);break a}if(c>>>0>=e>>>0){break a}J[d+72>>2]=h+(c<<2)}fa=g- -64|0;c=J[b>>2];d=J[b+4>>2];if((c|0)==(d|0)){return 1}a=J[a+32>>2];g=J[J[a>>2]>>2]+J[a+48>>2]|0;b=0;while(1){a=J[c>>2];if(!K[f+84|0]){a=J[J[f+68>>2]+(a<<2)>>2]}a=Lb(f,a,H[f+24|0],g+(b<<2)|0);if(a){b=b+i|0;c=c+4|0;if((d|0)!=(c|0)){continue}}break}return a|0}function Lg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;h=f>>2;d=J[a+8>>2];e=J[a>>2];if(h>>>0<=d-e>>2>>>0){d=J[a+4>>2];g=d-e|0;f=g+b|0;i=g>>2;g=i>>>0>>0?f:c;if((g|0)!=(b|0)){while(1){J[e>>2]=J[b>>2];e=e+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}if(h>>>0>i>>>0){if((c|0)!=(g|0)){while(1){J[d>>2]=J[f>>2];d=d+4|0;f=f+4|0;if((f|0)!=(c|0)){continue}break}}J[a+4>>2]=d;return}J[a+4>>2]=e;return}if(e){J[a+4>>2]=e;gl(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(d>>>0>=1073741824){break a}e=d<<2;d=ol(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=mk(d,c,b)+b|0}J[a+4>>2]=d;return}Ia();C()}function Jg(a,b,c){var d=0,e=0,f=0;e=fa-16|0;fa=e;J[a+4>>2]=0;a:{b:{if(!b){break b}f=J[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){J[a+4>>2]=b;break c}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if((b|0)<0){break a}if(d>>>0<=1073741822){f=f<<6;d=b+31&-32;d=d>>>0>>0?f:d}else{d=2147483647}Gc(e,d);f=J[a>>2];J[a>>2]=J[e>>2];J[e>>2]=f;d=J[a+4>>2];J[a+4>>2]=b;J[e+4>>2]=d;d=J[a+8>>2];J[a+8>>2]=J[e+8>>2];J[e+8>>2]=d;if(!f){break c}gl(f)}d=b>>>5|0;a=J[a>>2];if(K[c|0]){if(b>>>0>=32){ok(a,255,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]|-1>>>32-(b&31);break b}if(b>>>0>=32){ok(a,0,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}fa=e+16|0;return}Ia();C()}function ub(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;h=fa-16|0;fa=h;a:{b:{c=J[a+8>>2];c:{if((c|0)!=J[a+12>>2]){J[c>>2]=b;J[a+8>>2]=c+4;break c}f=c;c=J[a+4>>2];e=f-c|0;g=e>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=ol(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=b;e=nk(f,c,e);J[a+12>>2]=e+(d<<2);J[a+8>>2]=g+4;J[a+4>>2]=e;if(!c){break c}gl(c)}c=J[a+16>>2];e=J[a+20>>2]-c>>2;d:{if((e|0)>(b|0)){break d}J[h+12>>2]=-1;d=b+1|0;if(d>>>0>e>>>0){vb(a+16|0,d-e|0,h+12|0);c=J[a+16>>2];break d}if(d>>>0>=e>>>0){break d}J[a+20>>2]=(d<<2)+c}J[(b<<2)+c>>2]=(J[a+8>>2]-J[a+4>>2]>>2)-1;fa=h+16|0;return}Ia();C()}Ya();C()}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=fa-48|0;fa=d;J[d+40>>2]=J[a- -64>>2];c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],d+40|0,d+44|0)}c=d+8|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);if(J[d+40>>2]>0){f=1;while(1){g=f;f=J[J[a+60>>2]+(e>>>3&536870908)>>2]>>>e|0;De(c,(g^f^-1)&1);f=f&1;e=e+1|0;if((e|0)>2]){continue}break}}Ee(c,b);J[d+44>>2]=J[a+12>>2];e=J[b+20>>2];a:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break a}f=d+48|0;Ba(b,J[b+4>>2],d+44|0,f);e=J[b+20>>2];g=J[b+16>>2];J[d+44>>2]=J[a+24>>2];if(!!g&(e|0)>=0|(e|0)>0){break a}Ba(b,J[b+4>>2],d+44|0,f)}Ae(c);fa=d+48|0;return 1}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=fa-48|0;fa=d;J[d+40>>2]=J[a+80>>2];c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],d+40|0,d+44|0)}c=d+8|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);if(J[d+40>>2]>0){f=1;while(1){g=f;f=J[J[a+76>>2]+(e>>>3&536870908)>>2]>>>e|0;De(c,(g^f^-1)&1);f=f&1;e=e+1|0;if((e|0)>2]){continue}break}}Ee(c,b);J[d+44>>2]=J[a+12>>2];e=J[b+20>>2];a:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break a}f=d+48|0;Ba(b,J[b+4>>2],d+44|0,f);e=J[b+20>>2];g=J[b+16>>2];J[d+44>>2]=J[a+16>>2];if(!!g&(e|0)>=0|(e|0)>0){break a}Ba(b,J[b+4>>2],d+44|0,f)}Ae(c);fa=d+48|0;return 1}function Og(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{e=J[a>>2];f=J[a+4>>2]-e>>2;c=f+1|0;if(c>>>0<1073741824){e=J[a+8>>2]-e|0;g=e>>>1|0;c=e>>>0>=2147483644?1073741823:c>>>0>>0?g:c;if(c){if(c>>>0>=1073741824){break c}d=ol(c<<2)}e=J[b>>2];J[b>>2]=0;b=(f<<2)+d|0;J[b>>2]=e;c=(c<<2)+d|0;e=b+4|0;d=J[a+4>>2];f=J[a>>2];if((d|0)==(f|0)){break b}while(1){d=d-4|0;g=J[d>>2];J[d>>2]=0;b=b-4|0;J[b>>2]=g;if((d|0)!=(f|0)){continue}break}J[a+8>>2]=c;c=J[a+4>>2];J[a+4>>2]=e;d=J[a>>2];J[a>>2]=b;if((c|0)==(d|0)){break a}while(1){c=c-4|0;a=J[c>>2];J[c>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}if((c|0)!=(d|0)){continue}break}break a}Ia();C()}Ya();C()}J[a+8>>2]=c;J[a+4>>2]=e;J[a>>2]=b}if(d){gl(d)}}function rl(a,b,c,d,e,f,g,h){var i=0,j=0,k=0;i=fa-16|0;fa=i;if((b^-1)+2147483631>>>0>=c>>>0){if(K[a+11|0]>>>7|0){k=J[a>>2]}else{k=a}if(b>>>0<1073741799){J[i+12>>2]=b<<1;J[i>>2]=b+c;c=fa-16|0;fa=c;fa=c+16|0;c=i+12|0;c=J[(M[i>>2]>2]?c:i)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}ll(i,c);c=J[i>>2];if(e){il(c,k,e)}if(g){il(c+e|0,h,g)}j=e+f|0;h=d-j|0;if((d|0)!=(j|0)){il((c+e|0)+g|0,(e+k|0)+f|0,h)}if((b|0)!=10){gl(k)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[i+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;b=a;a=h+(e+g|0)|0;J[b+4>>2]=a;H[i+12|0]=0;H[a+c|0]=K[i+12|0];fa=i+16|0;return}xe();C()}function Ma(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;J[b>>2]=1;f=b+8|0;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){ji(f,d+4|0);c=J[f>>2]}c=c+d|0;d=J[a+4>>2];H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=J[a+8>>2];if((c|0)!=J[a+12>>2]){d=0;while(1){g=(d<<2)+c|0;c=J[b+8>>2];e=J[b+12>>2]-c|0;if(e>>>0<=4294967291){ji(f,e+4|0);c=J[f>>2]}c=c+e|0;e=J[g>>2];H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;d=d+1|0;c=J[a+8>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}c=J[b+12>>2];b=J[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){ji(f,c+4|0);b=J[f>>2]}b=b+c|0;a=J[a+20>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function ec(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;g=f>>2;d=J[a+8>>2];e=J[a>>2];if(g>>>0<=d-e>>2>>>0){f=J[a+4>>2]-e|0;d=f+b|0;h=f>>2;f=h>>>0>>0?d:c;i=f-b|0;if((b|0)!=(f|0)){nk(e,b,i)}if(g>>>0>h>>>0){b=J[a+4>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}}J[a+4>>2]=b;return}J[a+4>>2]=e+i;return}if(e){J[a+4>>2]=e;gl(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(d>>>0>=1073741824){break a}e=d<<2;d=ol(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=mk(d,c,b)+b|0}J[a+4>>2]=d;return}Ia();C()}function Pe(a,b,c){var d=0,e=0,f=0;d=fa-16|0;fa=d;J[d+12>>2]=b;b=ol(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);f=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=e;H[b+13|0]=e>>>8;H[b+14|0]=e>>>16;H[b+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);f=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=e;H[b+5|0]=e>>>8;H[b+6|0]=e>>>16;H[b+7|0]=e>>>24;H[b+17|0]=0;Qe(a+4|0,d+12|0,d,c);if(H[d+11|0]<0){gl(J[d>>2])}fa=d+16|0}function sf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{if((a|0)==(b|0)){break b}J[c>>2]=J[a>>2];e=a+4|0;if((e|0)==(b|0)){break b}a=J[d>>2];g=J[a>>2];i=J[a+4>>2]-g>>3;a=c;while(1){d=J[e>>2];if(d>>>0>=i>>>0){break a}f=J[a>>2];if(f>>>0>=i>>>0){break a}j=a+4|0;c:{if(M[(d<<3)+g>>2]>2]){J[a+4>>2]=f;h=c;d:{if((a|0)==(c|0)){break d}while(1){k=J[e>>2];if(k>>>0>=i>>>0){break a}f=a-4|0;d=J[f>>2];if(d>>>0>=i>>>0){break a}h=a;if(M[(k<<3)+g>>2]>=M[(d<<3)+g>>2]){break d}J[a>>2]=d;a=f;if((c|0)!=(a|0)){continue}break}h=c}J[h>>2]=J[e>>2];break c}J[j>>2]=d}a=j;e=e+4|0;if((e|0)!=(b|0)){continue}break}}return}Xc();C()}function Nk(a,b,c){var d=0,e=0,f=0,g=0;d=fa-208|0;fa=d;J[d+204>>2]=c;c=d+160|0;ok(c,0,40);J[d+200>>2]=J[d+204>>2];a:{if((Hk(0,b,d+200|0,d+80|0,c)|0)<0){a=-1;break a}g=J[a+76>>2]>=0;e=J[a>>2];if(J[a+72>>2]<=0){J[a>>2]=e&-33}b:{c:{d:{if(!J[a+48>>2]){J[a+48>>2]=80;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;f=J[a+44>>2];J[a+44>>2]=d;break d}if(J[a+16>>2]){break c}}c=-1;if(Ek(a)){break b}}c=Hk(a,b,d+200|0,d+80|0,d+160|0)}b=c;if(f){ka[J[a+36>>2]](a,0,0)|0;J[a+48>>2]=0;J[a+44>>2]=f;J[a+28>>2]=0;c=J[a+20>>2];J[a+16>>2]=0;J[a+20>>2]=0;b=c?b:-1}c=a;a=J[a>>2];J[c>>2]=a|e&32;a=a&32?-1:b;if(!g){break a}}fa=d+208|0;return a}function pe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=fa-32|0;fa=f;d=d-e|0;if((d|0)>0){i=a+8|0;k=0-e<<2;while(1){j=d<<2;g=j+b|0;h=g+k|0;l=J[h>>2];h=J[h+4>>2];m=J[g+4>>2];J[f+16>>2]=J[g>>2];J[f+20>>2]=m;J[f+8>>2]=l;J[f+12>>2]=h;Qd(f+24|0,i,f+16|0,f+8|0);g=c+j|0;J[g>>2]=J[f+24>>2];J[g+4>>2]=J[f+28>>2];d=d-e|0;if((d|0)>0){continue}break}}d=e>>>0>1073741823?-1:e<<2;d=ok(ol(d),0,d);e=J[d>>2];g=J[d+4>>2];i=J[b+4>>2];J[f+16>>2]=J[b>>2];J[f+20>>2]=i;J[f+8>>2]=e;J[f+12>>2]=g;Qd(f+24|0,a+8|0,f+16|0,f+8|0);J[c>>2]=J[f+24>>2];J[c+4>>2]=J[f+28>>2];gl(d);fa=f+32|0;return 1}function le(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=fa-32|0;fa=g;J[a+48>>2]=f;i=1;a:{d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;b:{if((d|0)<4){break b}l=a+44|0;m=a+8|0;f=d>>>2|0;while(1){d=J[a+40>>2];i=J[d>>2];h=J[d+4>>2]-i>>2;d=f-1|0;if(h>>>0<=d>>>0){break a}i=Cd(l,J[i+(d<<2)>>2],b,d);if(!i){break b}h=J[a+52>>2];n=J[a+56>>2];j=P(d,e)<<2;k=j+b|0;o=J[k+4>>2];J[g+16>>2]=J[k>>2];J[g+20>>2]=o;J[g+8>>2]=h;J[g+12>>2]=n;Qd(g+24|0,m,g+16|0,g+8|0);h=c+j|0;J[h>>2]=J[g+24>>2];J[h+4>>2]=J[g+28>>2];h=f>>>0>1;f=d;if(h){continue}break}}fa=g+32|0;return i|0}Xc();C()}function _d(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=fa-32|0;fa=g;J[a+48>>2]=f;i=1;a:{d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;b:{if((d|0)<4){break b}l=a+44|0;m=a+8|0;f=d>>>2|0;while(1){d=J[a+40>>2];i=J[d>>2];h=J[d+4>>2]-i>>2;d=f-1|0;if(h>>>0<=d>>>0){break a}i=jd(l,J[i+(d<<2)>>2],b,d);if(!i){break b}h=J[a+52>>2];n=J[a+56>>2];j=P(d,e)<<2;k=j+b|0;o=J[k+4>>2];J[g+16>>2]=J[k>>2];J[g+20>>2]=o;J[g+8>>2]=h;J[g+12>>2]=n;Qd(g+24|0,m,g+16|0,g+8|0);h=c+j|0;J[h>>2]=J[g+24>>2];J[h+4>>2]=J[g+28>>2];h=f>>>0>1;f=d;if(h){continue}break}}fa=g+32|0;return i|0}Xc();C()}function Nj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;ik(a,b,c);e=J[a+96>>2];a=J[a+100>>2];a:{if((e|0)==(a|0)){break a}d=(a-e|0)/12|0;f=d>>>0<=1?1:d;g=f&1;a=J[b>>2];c=0;if(d>>>0>=2){f=f&-2;d=0;while(1){b=P(c,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2];b=P(c|1,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2];c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!g){break a}b=P(c,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2]}}function dj(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,l=0;a=fa-16|0;fa=a;a:{if(!b){break a}J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;h=b+96|0;g=J[b+96>>2];e=(J[b+100>>2]-g|0)/12|0;b:{if(e>>>0>>0){Jj(h,c-e|0,a);break b}if(c>>>0>>0){J[b+100>>2]=g+P(c,12)}if(!c){break a}}g=J[h>>2];e=0;while(1){i=P(e,12);f=i+d|0;j=J[f>>2];k=J[f+8>>2];l=J[f+4>>2];f=(J[b+100>>2]-g|0)/12|0;c:{if(f>>>0>e>>>0){e=e+1|0;break c}J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=e+1|0;Jj(h,e-f|0,a);g=J[h>>2]}f=g+i|0;J[f+8>>2]=k;J[f+4>>2]=l;J[f>>2]=j;if((c|0)!=(e|0)){continue}break}}fa=a+16|0;return(b|0)!=0|0}function Se(a,b){var c=0,d=0,e=0,f=0;f=fa-16|0;fa=f;c=ol(16);J[f>>2]=c;J[f+4>>2]=15;J[f+8>>2]=-2147483632;d=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);e=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[c+7|0]=e;H[c+8|0]=e>>>8;H[c+9|0]=e>>>16;H[c+10|0]=e>>>24;H[c+11|0]=d;H[c+12|0]=d>>>8;H[c+13|0]=d>>>16;H[c+14|0]=d>>>24;d=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);e=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+15|0]=0;ni(a+4|0,f,b);if(H[f+11|0]<0){gl(J[f>>2])}fa=f+16|0}function Tk(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0;i=1;j=d&2147483647;l=j;k=(j|0)==2147418112;a:{if(k&!c?a|b:k&(c|0)!=0|j>>>0>2147418112){break a}j=h&2147483647;k=(j|0)==2147418112;if(k&!g?e|f:k&(g|0)!=0|j>>>0>2147418112){break a}if(!(a|e|(c|g)|(b|f|(j|l)))){return 0}i=d&h;if((i|0)>0|(i|0)>=0){i=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>>0|b>>>0>>0:c>>>0>>0&(d|0)<=(h|0)|(d|0)<(h|0)){break a}return(a^e|c^g|(b^f|d^h))!=0}i=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>e>>>0|b>>>0>f>>>0:c>>>0>g>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}i=(a^e|c^g|(b^f|d^h))!=0}return i}function $b(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{b:{if(b){if(b>>>0>=357913942){break b}b=P(b,12);d=ol(b);J[a+4>>2]=d;J[a>>2]=d;e=b+d|0;J[a+8>>2]=e;f=J[c+4>>2];g=J[c>>2];c:{if((f|0)==(g|0)){b=b-12|0;ok(d,0,(b-((b>>>0)%12|0)|0)+12|0);break c}h=f-g|0;if((h|0)<0){break a}i=h&-4;while(1){J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;b=ol(h);J[d>>2]=b;J[d+8>>2]=b+i;c=g;while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}J[d+4>>2]=b;d=d+12|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e}return}Ia();C()}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;Ia();C()}function Qa(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=c-b|0;g=f>>2;e=J[a+8>>2];d=J[a>>2];if(g>>>0<=e-d>>2>>>0){e=J[a+4>>2]-d|0;f=e>>2;e=f>>>0>>0?b+e|0:c;h=e-b|0;if((b|0)!=(e|0)){nk(d,b,h)}if(f>>>0>>0){b=c-e|0;d=J[a+4>>2];if((c|0)!=(e|0)){nk(d,e,b)}J[a+4>>2]=b+d;return}J[a+4>>2]=d+h;return}if(d){J[a+4>>2]=d;gl(d);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=0}a:{if((f|0)<0){break a}d=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>g>>>0?d:g;if(d>>>0>=1073741824){break a}e=d<<2;d=ol(e);J[a+4>>2]=d;J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){mk(d,b,f)}J[a+4>>2]=d+(g<<2);return}Ia();C()}function bb(a,b){var c=0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+60>>2];J[a+56>>2]=J[b+56>>2];J[a+60>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+36>>2];J[a+32>>2]=J[b+32>>2];J[a+36>>2]=c;c=J[b+28>>2];J[a+24>>2]=J[b+24>>2];J[a+28>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;J[a+88>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a}function cc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;a=J[a+4>>2];a:{b:{if(!a){break b}d=K[b+11|0];c=d<<24>>24<0;g=c?J[b>>2]:b;d=c?J[b+4>>2]:d;b=f;while(1){e=K[a+27|0];c=e<<24>>24<0;e=c?J[a+20>>2]:e;h=e>>>0>d>>>0;i=h?d:e;c:{if(i){c=sk(c?J[a+16>>2]:a+16|0,g,i);if(c){break c}}c=d>>>0>e>>>0?-1:h}c=(c|0)<0;b=c?b:a;a=J[(c?a+4|0:a)>>2];if(a){continue}break}if((b|0)==(f|0)){break b}c=K[b+27|0];a=c<<24>>24<0;d:{c=a?J[b+20>>2]:c;e=c>>>0>>0?c:d;if(e){a=sk(g,a?J[b+16>>2]:b+16|0,e);if(a){break d}}if(c>>>0>d>>>0){break b}break a}if((a|0)>=0){break a}}b=f}return b}function Vb(a){var b=0,c=0,d=0,e=0;c=J[a+152>>2];if(c){d=c;b=J[a+156>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;gl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+152>>2]}J[a+156>>2]=c;gl(d)}c=J[a+140>>2];if(c){d=c;b=J[a+144>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;gl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+140>>2]}J[a+144>>2]=c;gl(d)}b=J[a+128>>2];if(b){J[a+132>>2]=b;gl(b)}b=J[a+116>>2];if(b){J[a+120>>2]=b;gl(b)}b=J[a+104>>2];if(b){J[a+108>>2]=b;gl(b)}ye(a+84|0);ye(a- -64|0);ye(a+44|0);Ae(a+12|0)}function Kl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Dl(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(Dl(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;b:{if(J[b+44>>2]==4){break b}I[b+52>>1]=0;a=J[a+8>>2];ka[J[J[a>>2]+20>>2]](a,b,c,c,1,e);if(K[b+53|0]){J[b+44>>2]=3;if(!K[b+52|0]){break b}break a}J[b+44>>2]=4}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}a=J[a+8>>2];ka[J[J[a>>2]+24>>2]](a,b,c,d,e)}}function fc(a,b){var c=0,d=0,e=0,f=0;c=J[a+16>>2];if(b){J[a+12>>2]=J[a+12>>2]|-2147483648>>>c}b=c+1|0;J[a+16>>2]=b;a:{b:{if((b|0)==32){b=J[a+4>>2];c:{if((b|0)!=J[a+8>>2]){J[b>>2]=J[a+12>>2];J[a+4>>2]=b+4;break c}d=b;b=J[a>>2];c=d-b|0;f=c>>2;e=f+1|0;if(e>>>0>=1073741824){break b}d=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0>>0?d:e;if(e){if(e>>>0>=1073741824){break a}d=ol(e<<2)}else{d=0}f=d+(f<<2)|0;J[f>>2]=J[a+12>>2];c=nk(d,b,c);J[a+8>>2]=c+(e<<2);J[a+4>>2]=f+4;J[a>>2]=c;if(!b){break c}gl(b)}J[a+12>>2]=0;J[a+16>>2]=0}return}Ia();C()}Ya();C()}function Yb(a){var b=0,c=0,d=0,e=0;c=J[a+140>>2];if(c){d=c;b=J[a+144>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;gl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+140>>2]}J[a+144>>2]=c;gl(d)}c=J[a+128>>2];if(c){d=c;b=J[a+132>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;gl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+128>>2]}J[a+132>>2]=c;gl(d)}b=J[a+116>>2];if(b){J[a+120>>2]=b;gl(b)}b=J[a+104>>2];if(b){J[a+108>>2]=b;gl(b)}b=J[a+92>>2];if(b){J[a+96>>2]=b;gl(b)}ye(a+72|0);ye(a+52|0);ye(a+32|0);ye(a+12|0)}function Xe(a,b,c,d,e){var f=0,g=0,h=0;f=fa-16|0;fa=f;g=Ye(b,c,f+12|0,f+8|0,d);d=J[g>>2];if(d){b=0}else{d=ol(40);c=d+16|0;a:{if(H[e+11|0]>=0){h=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=h;J[c+8>>2]=J[e+8>>2];break a}sl(c,J[e>>2],J[e+4>>2])}c=d+28|0;b:{if(H[e+23|0]>=0){e=e+12|0;h=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=h;J[c+8>>2]=J[e+8>>2];break b}sl(c,J[e+12>>2],J[e+16>>2])}J[d+8>>2]=J[f+12>>2];J[d>>2]=0;J[d+4>>2]=0;J[g>>2]=d;e=d;c=J[J[b>>2]>>2];if(c){J[b>>2]=c;e=J[g>>2]}We(J[b+4>>2],e);J[b+8>>2]=J[b+8>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=d;fa=f+16|0}function Vg(a){var b=0,c=0,d=0,e=0;Ce(a);c=J[a+84>>2];a:{if((c|0)<=0){break a}b=c<<5;d=ol(c>>>0>134217727?-1:b|4);J[d>>2]=c;d=d+4|0;c=d+b|0;b=d;while(1){J[b>>2]=0;J[b+4>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;b=b+32|0;if((c|0)!=(b|0)){continue}break}e=J[a+80>>2];J[a+80>>2]=d;if(e){c=e-4|0;d=J[c>>2];if(d){b=(d<<5)+e|0;while(1){b=Ae(b-32|0);if((e|0)!=(b|0)){continue}break}}gl(c)}if(J[a+84>>2]<=0){break a}b=0;while(1){Ce(J[a+80>>2]+(b<<5)|0);b=b+1|0;if((b|0)>2]){continue}break}}}function Wk(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=fa-16|0;fa=f;A(+b);g=v(1)|0;d=v(0)|0;c=g&2147483647;e=c+-1048576|0;a:{if((e|0)==2145386495|e>>>0<2145386495){h=d<<28;e=c>>>4|0;c=(c&15)<<28|d>>>4;d=e+1006632960|0;break a}if((c|0)==2146435072|c>>>0>2146435072){h=d<<28;c=(g&15)<<28|d>>>4;d=g>>>4|2147418112;break a}if(!(c|d)){c=0;d=0;break a}e=c;c=c?S(c):S(d)+32|0;Sk(f,d,e,0,0,c+49|0);i=J[f>>2];h=J[f+4>>2];e=15372-c<<16;c=J[f+8>>2];d=e|J[f+12>>2]^65536}J[a>>2]=i;J[a+4>>2]=h;J[a+8>>2]=c;J[a+12>>2]=g&-2147483648|d;fa=f+16|0}function lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=fa-48|0;fa=f;a:{if(!b){a=0;break a}e=f+16|0;J[e>>2]=0;J[e+4>>2]=0;H[e+24|0]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;g=0;b:{if((bk(b,0)|0)==-1){break b}if(c){g=0;if(!(ka[J[J[b>>2]+16>>2]](b)|0)){break b}ka[J[J[b>>2]+20>>2]](b)}Ge(f,a,b,e);a=J[f>>2];if(H[f+15|0]<0){gl(J[f+4>>2])}g=0;if(a){break b}Ej(d,J[e>>2],J[e+4>>2]);g=J[e+4>>2]-J[e>>2]|0}a=g;b=J[e+12>>2];J[e+12>>2]=0;if(b){gl(b)}b=J[e>>2];if(!b){break a}J[e+4>>2]=b;gl(b)}fa=f+48|0;return a|0}function ac(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2292;d=J[a+60>>2];if(d){b=d;c=J[a- -64>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){Kb(b)}if((c|0)!=(d|0)){continue}break}b=J[a+60>>2]}J[a+64>>2]=d;gl(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;gl(b)}d=J[a+36>>2];if(d){b=d;c=J[a+40>>2];if((b|0)!=(c|0)){while(1){c=c-24|0;ka[J[J[c>>2]>>2]](c)|0;if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;gl(b)}J[a>>2]=2196;b=J[a+16>>2];if(b){J[a+20>>2]=b;gl(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;gl(b)}return a|0}function lh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=J[a+8>>2];d=J[a+4>>2];if(c-d>>2>>>0>=b>>>0){if(b){b=b<<2;d=ok(d,0,b)+b|0}J[a+4>>2]=d;return}a:{f=J[a>>2];g=d-f>>2;e=g+b|0;if(e>>>0<1073741824){c=c-f|0;h=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break a}i=ol(e<<2)}c=(g<<2)+i|0;b=b<<2;b=ok(c,0,b)+b|0;if((d|0)!=(f|0)){while(1){c=c-4|0;d=d-4|0;J[c>>2]=J[d>>2];if((d|0)!=(f|0)){continue}break}}J[a+8>>2]=(e<<2)+i;J[a+4>>2]=b;J[a>>2]=c;if(f){gl(f)}return}Ia();C()}Ya();C()}function kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=fa-48|0;fa=e;a:{if(!b){a=0;break a}d=e+16|0;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;f=0;b:{if((bk(b,0)|0)==-1){break b}f=0;if(!(ka[J[J[b>>2]+16>>2]](b)|0)){break b}ka[J[J[b>>2]+20>>2]](b);Le(e,a,b,d);a=J[e>>2];if(H[e+15|0]<0){gl(J[e+4>>2])}f=0;if(a){break b}Ej(c,J[d>>2],J[d+4>>2]);f=J[d+4>>2]-J[d>>2]|0}a=f;b=J[d+12>>2];J[d+12>>2]=0;if(b){gl(b)}b=J[d>>2];if(!b){break a}J[d+4>>2]=b;gl(b)}fa=e+48|0;return a|0}function Zk(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;a:{if(f&64){c=f+-64|0;b=c&31;if((c&63)>>>0>=32){c=0;b=e>>>b|0}else{c=e>>>b|0;b=((1<>>b}d=0;e=0;break a}if(!f){break a}i=d;h=64-f|0;g=h&31;if((h&63)>>>0>=32){h=i<>>32-g|e<>>0>=32){g=0;b=c>>>b|0}else{g=c>>>b|0;b=((1<>>b}b=j|b;c=g|h;g=d;d=f&31;if((f&63)>>>0>=32){h=0;d=e>>>d|0}else{h=e>>>d|0;d=((1<>>d}e=h}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e}function Xj(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=fa-16|0;fa=c;e=K[b+11|0];e=e<<24>>24<0?J[b+4>>2]:e;a:{if(e>>>0>255){break a}if(!e){H[c+15|0]=0;b=J[a+20>>2];if(!!J[a+16>>2]&(b|0)>=0|(b|0)>0){break a}Ba(a,J[a+4>>2],c+15|0,c+16|0);break a}H[c+14|0]=e;d=J[a+20>>2];if(!!J[a+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(a,J[a+4>>2],c+14|0,c+15|0);d=J[a+20>>2];if(!!J[a+16>>2]&(d|0)>=0|(d|0)>0){break a}g=a;h=J[a+4>>2];a=K[b+11|0];d=a<<24>>24<0;f=d?J[b>>2]:b;Ba(g,h,f,(d?J[b+4>>2]:a)+f|0)}fa=c+16|0;return e>>>0<256}function hl(a){a=a|0;var b=0,c=0,d=0;if(!a){if(J[4847]){b=hl(J[4847])}if(J[4810]){b=hl(J[4810])|b}a=J[4846];if(a){while(1){if(J[a+20>>2]!=J[a+28>>2]){b=hl(a)|b}a=J[a+56>>2];if(a){continue}break}}return b|0}d=J[a+76>>2]>=0;a:{b:{if(J[a+20>>2]==J[a+28>>2]){break b}ka[J[a+36>>2]](a,0,0)|0;if(J[a+20>>2]){break b}b=-1;break a}b=J[a+8>>2];c=J[a+4>>2];if((b|0)!=(c|0)){b=c-b|0;ka[J[a+40>>2]](a,b,b>>31,1)|0}b=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;if(!d){break a}}return b|0}function ji(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=J[a+4>>2];e=J[a>>2];d=c-e|0;b:{if(d>>>0>>0){g=b-d|0;f=J[a+8>>2];if(g>>>0<=f-c>>>0){h=a,i=ok(c,0,g)+g|0,J[h+4>>2]=i;break b}if((b|0)<0){break a}c=f-e|0;f=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0>>0?f:b;f=ol(c);ok(f+d|0,0,g);d=nk(f,e,d);J[a+8>>2]=d+c;J[a+4>>2]=b+d;J[a>>2]=d;if(!e){break b}gl(e);break b}if(b>>>0>=d>>>0){break b}J[a+4>>2]=b+e}b=J[a+28>>2];c=b;d=b+1|0;b=J[a+24>>2]+1|0;e=b?c:d;J[a+24>>2]=b;J[a+28>>2]=e;return}Ia();C()}function uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=fa-48|0;fa=d;e=J[a+4>>2];a:{if(!e){break a}if(b){if(!(ka[J[J[e>>2]+16>>2]](e)|0)){break a}b=J[a+4>>2];ka[J[J[b>>2]+20>>2]](b)}b=d+16|0;J[b>>2]=0;J[b+4>>2]=0;H[b+24|0]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;af(d,J[a>>2],b);a=J[d>>2];if(H[d+15|0]<0){gl(J[d+4>>2])}if(!a){Ej(c,J[b>>2],J[b+4>>2]);f=J[b+4>>2]-J[b>>2]|0}a=J[b+12>>2];J[b+12>>2]=0;if(a){gl(a)}a=J[b>>2];if(!a){break a}J[b+4>>2]=a;gl(a)}fa=d+48|0;return f|0}function nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=1;a:{if((ka[J[J[b>>2]+20>>2]](b)|0)<=0){break a}while(1){e=0;d=bk(J[J[a+4>>2]+4>>2],ka[J[J[b>>2]+24>>2]](b,f)|0);if((d|0)==-1){break a}c=J[a+4>>2];g=0;b:{if((d|0)<0){break b}h=J[c+4>>2];if(J[h+12>>2]-J[h+8>>2]>>2<=(d|0)){break b}c=J[J[c+8>>2]+(J[J[c+20>>2]+(d<<2)>>2]<<2)>>2];g=ka[J[J[c>>2]+36>>2]](c,d)|0}if(!(ka[J[J[b>>2]+28>>2]](b,g)|0)){break a}e=1;f=f+1|0;if((ka[J[J[b>>2]+20>>2]](b)|0)>(f|0)){continue}break}}return e|0}function Sk(a,b,c,d,e,f){var g=0,h=0,i=0;a:{if(f&64){d=b;e=f+-64|0;b=e&31;if((e&63)>>>0>=32){e=d<>>32-b|c<>>0>=32){h=g<>>32-d|e<>>0>=32){e=0;b=c>>>d|0}else{e=c>>>d|0;b=((1<>>d}d=i|b;e=e|h;b=f&31;if((f&63)>>>0>=32){h=g<>>32-b|c<>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e}function _b(a,b){Ee(a,b);Ee(a+32|0,b);Ee(a- -64|0,b);Ee(a+96|0,b);Ee(a+128|0,b);Ee(a+160|0,b);Ee(a+192|0,b);Ee(a+224|0,b);Ee(a+256|0,b);Ee(a+288|0,b);Ee(a+320|0,b);Ee(a+352|0,b);Ee(a+384|0,b);Ee(a+416|0,b);Ee(a+448|0,b);Ee(a+480|0,b);Ee(a+512|0,b);Ee(a+544|0,b);Ee(a+576|0,b);Ee(a+608|0,b);Ee(a+640|0,b);Ee(a+672|0,b);Ee(a+704|0,b);Ee(a+736|0,b);Ee(a+768|0,b);Ee(a+800|0,b);Ee(a+832|0,b);Ee(a+864|0,b);Ee(a+896|0,b);Ee(a+928|0,b);Ee(a+960|0,b);Ee(a+992|0,b);Ee(a+1024|0,b)}function lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=J[J[a+8>>2]+40>>2];h=ol((d|0)<0?-1:d);g=J[b>>2];i=J[b+4>>2];if((g|0)!=(i|0)){k=d+h|0;while(1){e=J[(j<<2)+g>>2];f=J[a+8>>2];if(!K[f+84|0]){e=J[J[f+68>>2]+(e<<2)>>2]}l=J[J[f>>2]>>2];d=J[f+40>>2];e=J[f+48>>2]+dm(d,J[f+44>>2],e,0)|0;e=mk(h,e+l|0,d);d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){Ba(c,J[c+4>>2],e,k);g=J[b>>2];i=J[b+4>>2]}j=j+1|0;if(j>>>0>2>>>0){continue}break}}gl(h);return 1}function Qk(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!J[J[4886]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){H[a+1|0]=b&63|128;H[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){H[a+2|0]=b&63|128;H[a|0]=b>>>12|224;H[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){H[a+3|0]=b&63|128;H[a|0]=b>>>18|240;H[a+2|0]=b>>>6&63|128;H[a+1|0]=b>>>12&63|128;a=4;break a}}J[4842]=25;a=-1}else{a=1}break a}H[a|0]=b;a=1}return a}function jl(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=fa-16|0;fa=f;d=fa-32|0;fa=d;e=fa-16|0;fa=e;J[e+12>>2]=a;J[e+8>>2]=a+b;J[d+24>>2]=J[e+12>>2];J[d+28>>2]=J[e+8>>2];fa=e+16|0;b=fa-16|0;fa=b;h=J[d+28>>2];e=J[d+24>>2];g=h-e|0;if((e|0)!=(h|0)){nk(c,e,g)}J[b+12>>2]=e+g;J[b+8>>2]=c+g;J[d+16>>2]=J[b+12>>2];J[d+20>>2]=J[b+8>>2];fa=b+16|0;J[d+12>>2]=(J[d+16>>2]-a|0)+a;J[d+8>>2]=(J[d+20>>2]-c|0)+c;J[f+8>>2]=J[d+12>>2];J[f+12>>2]=J[d+8>>2];fa=d+32|0;fa=f+16|0;return J[f+12>>2]}function hi(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;d=J[a+8>>2];a:{if((d|0)==J[a+12>>2]){b=tb(ol(76),b);J[b+36>>2]=0;J[b+40>>2]=0;J[b>>2]=2292;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+68>>2]=0;J[b+72>>2]=0;J[c+8>>2]=b;d=J[a+12>>2];b:{if(d>>>0>2]){J[c+8>>2]=0;J[d>>2]=b;J[a+12>>2]=d+4;break b}Og(a+8|0,c+8|0)}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break a}ka[J[J[a>>2]+4>>2]](a);break a}ub(J[d>>2],b)}fa=c+16|0;return 1}function Qe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=fa-48|0;fa=e;h=J[b>>2];f=a+16|0;b=J[f>>2];a:{b:{if(!b){break b}g=f;while(1){i=J[b+16>>2]<(h|0);g=i?g:b;b=J[(i?b+4|0:b)>>2];if(b){continue}break}if((g|0)==(f|0)){break b}if(J[g+16>>2]<=(h|0)){break a}}J[e+28>>2]=0;J[e+32>>2]=0;f=e+24|0;J[e+24>>2]=f|4;b=e+16|0;J[b>>2]=0;J[b+4>>2]=0;J[e+8>>2]=h;J[e+12>>2]=b;b=a+12|0;a=e+8|0;Me(e+40|0,b,a,a);g=J[e+40>>2];Mc(a|4,J[e+16>>2]);Mc(f,J[e+28>>2])}ni(g+20|0,c,d);fa=e+48|0}function Pj(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=14964;b=J[a+68>>2];if(b){J[a+72>>2]=b;gl(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;gl(b)}b=J[a+44>>2];if(b){J[a+48>>2]=b;gl(b)}b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;gl(b)}b=J[a+8>>2];if(b){d=b;c=J[a+12>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){Kb(d)}if((b|0)!=(c|0)){continue}break}d=J[a+8>>2]}J[a+12>>2]=b;gl(d)}b=J[a+4>>2];J[a+4>>2]=0;if(b){Ij(b)}return a|0}function Ac(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2504;b=J[a+72>>2];J[a+72>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;gl(b)}b=J[a+48>>2];if(b){gl(b)}d=J[a+36>>2];if(d){c=J[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;gl(b)}J[a>>2]=2196;b=J[a+16>>2];if(b){J[a+20>>2]=b;gl(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;gl(b)}return a|0}function Cl(){var a=0,b=0;a=fa-16|0;fa=a;b=J[4306];Gk(2020,11,b);J[a+12>>2]=0;Nk(b,1990,0);a=J[b+76>>2];a:{if(!((a|0)>=0&(!a|J[4868]!=(a&-1073741825)))){b:{if(J[b+80>>2]==10){break b}a=J[b+20>>2];if((a|0)==J[b+16>>2]){break b}J[b+20>>2]=a+1;H[a|0]=10;break a}ql(b);break a}a=J[b+76>>2];J[b+76>>2]=a?a:1073741823;c:{d:{if(J[b+80>>2]==10){break d}a=J[b+20>>2];if((a|0)==J[b+16>>2]){break d}J[b+20>>2]=a+1;H[a|0]=10;break c}ql(b)}J[b+76>>2]=0}ca();C()}function gh(a){J[a>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;H[a+28|0]=1;J[a+20>>2]=0;J[a+24>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+72>>2]=a+4;J[a+104>>2]=0;J[a+108>>2]=0;H[a+100|0]=1;J[a+112>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0}function La(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=ok(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>2;d=h+b|0;if(d>>>0<1073741824){e=e-c|0;f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}i=ol(d<<2)}b=b<<2;e=ok((h<<2)+i|0,0,b);f=d<<2;d=nk(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){gl(c)}return}Ia();C()}Ya();C()}function jf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=ok(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){e=e-c|0;f=e>>>2|0;d=e>>>0>=2147483640?536870911:d>>>0>>0?f:d;if(d){if(d>>>0>=536870912){break a}i=ol(d<<3)}b=b<<3;e=ok((h<<3)+i|0,0,b);f=d<<3;d=nk(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){gl(c)}return}Ia();C()}Ya();C()} -function Uk(a,b,c,d,e){var f=0,g=0,h=0;h=-1;g=d&2147483647;f=(g|0)==2147418112;a:{if(f&!c?a|b:f&(c|0)!=0|g>>>0>2147418112){break a}f=e&2147483647;if(((f|0)==2147418112&0|f>>>0>2147418112)&(f|0)!=2147418112){break a}if(!(a|c|(f|g|b))){return 0}f=d&e;if((f|0)>0|(f|0)>=0){if(((c|0)!=0|(d|0)!=(e|0))&(d|0)<(e|0)){break a}return(a|c|(d^e|b))!=0}if(!c&(d|0)==(e|0)?a|b:(c|0)!=0&(d|0)>=(e|0)|(d|0)>(e|0)){break a}h=(a|c|(d^e|b))!=0}return h}function $k(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0;i=dm(b,c,h,i);h=ja;e=dm(d,e,f,g);i=e+i|0;d=ja+h|0;h=e>>>0>i>>>0?d+1|0:d;j=g;e=0;k=c;d=0;c=dm(g,e,c,d);g=c+i|0;i=ja+h|0;l=g;c=c>>>0>g>>>0?i+1|0:i;g=dm(f,0,b,0);h=ja;i=0;d=dm(f,i,k,d);h=h+d|0;f=ja+i|0;f=d>>>0>h>>>0?f+1|0:f;i=f+l|0;d=c;f=f>>>0>i>>>0?d+1|0:d;c=dm(b,m,j,e)+h|0;e=ja;e=c>>>0>>0?e+1|0:e;h=e+i|0;i=f;J[a+8>>2]=h;J[a+12>>2]=e>>>0>h>>>0?i+1|0:i;J[a>>2]=g;J[a+4>>2]=c}function ki(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=J[a+4>>2];f=J[a>>2];d=c-f|0;b:{if(d>>>0>>0){g=b-d|0;e=J[a+8>>2];if(g>>>0<=e-c>>>0){h=a,i=ok(c,0,g)+g|0,J[h+4>>2]=i;return}if((b|0)<0){break a}c=e-f|0;e=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0>>0?e:b;e=ol(c);ok(e+d|0,0,g);d=nk(e,f,d);J[a+8>>2]=d+c;J[a+4>>2]=b+d;J[a>>2]=d;if(!f){break b}gl(f);return}if(b>>>0>=d>>>0){break b}J[a+4>>2]=b+f}return}Ia();C()}function Sa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=fa-16|0;fa=d;e=J[a+4>>2];a:{if((e|0)==-1){break a}c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],J[a+8>>2],J[a+12>>2]);c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],a+20|0,a+24|0);c=J[b+20>>2];f=J[b+16>>2];H[d+15|0]=J[a+4>>2];if(!!f&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],d+15|0,d+16|0)}fa=d+16|0;return(e|0)!=-1|0}function _h(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;a:{b=J[a+8>>2];b:{if((b|0)<0){break b}c=J[a+4>>2];e=J[c>>2];d=J[c+4>>2]-e>>2;c:{if(d>>>0>>0){lh(c,b-d|0);f=J[a+8>>2];break c}f=b;if(b>>>0>=d>>>0){break c}J[c+4>>2]=e+(b<<2);f=b}d=f;if((d|0)<=0){break b}a=J[a+4>>2];c=J[a>>2];e=J[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(e|0)){break a}J[c+(a<<2)>>2]=a;a=a+1|0;if((d|0)!=(a|0)){continue}break}}return(b^-1)>>>31|0}Xc();C()}function Zb(a){Ce(a);Ce(a+32|0);Ce(a- -64|0);Ce(a+96|0);Ce(a+128|0);Ce(a+160|0);Ce(a+192|0);Ce(a+224|0);Ce(a+256|0);Ce(a+288|0);Ce(a+320|0);Ce(a+352|0);Ce(a+384|0);Ce(a+416|0);Ce(a+448|0);Ce(a+480|0);Ce(a+512|0);Ce(a+544|0);Ce(a+576|0);Ce(a+608|0);Ce(a+640|0);Ce(a+672|0);Ce(a+704|0);Ce(a+736|0);Ce(a+768|0);Ce(a+800|0);Ce(a+832|0);Ce(a+864|0);Ce(a+896|0);Ce(a+928|0);Ce(a+960|0);Ce(a+992|0);Ce(a+1024|0)}function sl(a,b,c){var d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;a:{b:{if(c>>>0<11){d=a;H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;break b}if(c>>>0>2147483631){break a}g=e+8|0;if(c>>>0>=11){f=c+16&-16;d=f-1|0;d=(d|0)==11?f:d}else{d=10}ll(g,d+1|0);d=J[e+8>>2];J[a>>2]=d;J[a+8>>2]=J[a+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;J[a+4>>2]=c}il(d,b,c+1|0);fa=e+16|0;return}xe();C()}function Le(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=fa-96|0;fa=e;f=$e(e+40|0,c);He(e,b,c);bf(f,e);Mc(e+24|0,J[e+28>>2]);Ie(e+12|0,J[e+16>>2]);Mc(e,J[e+4>>2]);af(a,f,d);if(!J[a>>2]){if(H[a+15|0]<0){gl(J[a+4>>2])}J[b+40>>2]=J[f+40>>2];J[b+44>>2]=J[f+44>>2];J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}J[f>>2]=10264;Mc(f+28|0,J[f+32>>2]);Ie(f+16|0,J[f+20>>2]);Mc(f+4|0,J[f+8>>2]);fa=e+96|0}function ci(a,b){var c=0,d=0,e=0;c=J[a+4>>2];d=c+b|0;J[a+4>>2]=d;if(!((d-1^c-1)>>>0<32?c:0)){J[J[a>>2]+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0}a:{if(!b){break a}a=J[a>>2]+(c>>>3&536870908)|0;c=c&31;if(c){d=32-c|0;e=b>>>0>d>>>0?d:b;J[a>>2]=J[a>>2]&(-1<>>d-e^-1);b=b-e|0;a=a+4|0}c=b>>>5|0;if(b>>>0>=32){ok(a,0,c<<2)}if((b&-32)==(b|0)){break a}a=(c<<2)+a|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}}function zg(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=10412;b=J[a+64>>2];J[a+64>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;gl(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;gl(b)}return a|0}function tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=fa-16|0;fa=d;f=xb(a,b);a:{if(!f){break a}c=J[a+36>>2];if((c|0)==J[a+40>>2]){break a}g=d+16|0;while(1){c=J[(e<<2)+c>>2];h=d,i=ka[J[J[c>>2]+32>>2]](c)|0,H[h+15|0]=i;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],d+15|0,g)}e=e+1|0;c=J[a+36>>2];if(e>>>0>2]-c>>2>>>0){continue}break}}fa=d+16|0;return f|0}function Ag(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=10412;b=J[a+64>>2];J[a+64>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;gl(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;gl(b)}gl(a)}function Gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+176>>2];d=J[a+172>>2];e=(c-d|0)/136|0;a:{if((c|0)==(d|0)){break a}c=0;b:{c:{d:{if(J[d>>2]==(b|0)){b=1}else{f=e>>>0<=1?1:e;while(1){c=c+1|0;if((f|0)==(c|0)){break d}if(J[P(c,136)+d>>2]!=(b|0)){continue}break}b=c>>>0>>0}if(b){break c}break a}if(c>>>0>>0){break b}break a}d=(P(c,136)+d|0)+104|0}return d|0}return a+40|0}function Vh(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;a:{if(!b){d=ol(76);b=ol(12);J[b+8>>2]=J[J[a+4>>2]+80>>2];J[b>>2]=12404;J[b+4>>2]=0;d=rc(d,b,0);J[c+8>>2]=d;b=J[a+12>>2];b:{if(b>>>0>2]){J[c+8>>2]=0;J[b>>2]=d;J[a+12>>2]=b+4;break b}Og(a+8|0,c+8|0)}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break a}ka[J[J[a>>2]+4>>2]](a);break a}ub(J[J[a+8>>2]>>2],b)}fa=c+16|0;return 1}function Nb(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+36>>2];if((c|0)!=J[a+40>>2]){while(1){c=P(d,24)+c|0;ka[J[J[c>>2]+28>>2]](c,b)|0;d=d+1|0;c=J[a+36>>2];if(d>>>0<(J[a+40>>2]-c|0)/24>>>0){continue}break}}c=J[a+48>>2];if((c|0)!=J[a+52>>2]){d=0;while(1){c=J[(d<<2)+c>>2];yb((c|0)<0?(c^-1)<<1|1:c<<1,b);d=d+1|0;c=J[a+48>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}return 1}function Hj(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=ab(ol(96));cb(g,b,d<<24>>24,f,c);b=dk(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];mk(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,(P(d,h)<<1)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function Fj(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=ab(ol(96));cb(g,b,d<<24>>24,f,c);b=dk(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];mk(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,(P(d,h)<<2)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function Za(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=fa+-64|0;fa=e;d=ka[J[J[a>>2]+44>>2]](a,b)|0;a=ka[J[J[a>>2]+40>>2]](a,b)|0;f=_a(e);g=J[b+56>>2];h=d&255;i=a;a=a-1|0;if(a>>>0<=10){a=J[(a<<2)+14832>>2]}else{a=-1}d=P(a,d);$a(f,g,0,h,i,d,d>>31);a=bb(ol(96),f);db(a,c);H[a+84|0]=1;J[a+72>>2]=J[a+68>>2];J[a+60>>2]=J[b+60>>2];fa=e- -64|0;return a|0}function Ll(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Dl(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(!Dl(a,J[b>>2],e)){break a}if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+20>>2]=c;J[b+32>>2]=d;J[b+40>>2]=J[b+40>>2]+1;if(!(J[b+36>>2]!=1|J[b+24>>2]!=2)){H[b+54|0]=1}J[b+44>>2]=4}}function Gj(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=ab(ol(96));cb(g,b,d<<24>>24,f,c);b=dk(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];mk(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,P(d,h)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function Gk(a,b,c){var d=0,e=0,f=0;a:{d=J[c+16>>2];if(!d){if(Ek(c)){break a}d=J[c+16>>2]}f=J[c+20>>2];if(d-f>>>0>>0){ka[J[c+36>>2]](c,a,b)|0;return}b:{if(J[c+80>>2]<0){break b}d=b;while(1){e=d;if(!e){break b}d=e-1|0;if(K[d+a|0]!=10){continue}break}if(ka[J[c+36>>2]](c,a,e)>>>0>>0){break a}a=a+e|0;b=b-e|0;f=J[c+20>>2]}mk(f,a,b);J[c+20>>2]=J[c+20>>2]+b}}function cb(a,b,c,d,e){var f=0,g=0,h=0;f=ol(32);J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+24>>2]=0;J[f+28>>2]=0;g=J[a+64>>2];J[a+64>>2]=f;if(g){f=J[g>>2];if(f){J[g+4>>2]=f;gl(f)}gl(g);f=J[a+64>>2]}h=c&255;g=d-1|0;if(g>>>0<=10){g=J[(g<<2)+14832>>2]}else{g=-1}c=P(g,c);$a(a,b,f,h,d,c,c>>31);db(a,e);H[a+84|0]=1;J[a+72>>2]=J[a+68>>2]}function ml(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=J[a+84>>2];f=J[e>>2];d=J[e+4>>2];h=J[a+28>>2];g=J[a+20>>2]-h|0;g=d>>>0>>0?d:g;if(g){mk(f,h,g);f=g+J[e>>2]|0;J[e>>2]=f;d=J[e+4>>2]-g|0;J[e+4>>2]=d}d=c>>>0>d>>>0?d:c;if(d){mk(f,b,d);f=d+J[e>>2]|0;J[e>>2]=f;J[e+4>>2]=J[e+4>>2]-d}H[f|0]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;return c|0}function pf(a,b,c){var d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;H[d+15|0]=a&127;a:{if(!b&a>>>0>=128|b){H[d+15|0]=a|128;e=J[c+20>>2];if(!!J[c+16>>2]&(e|0)>=0|(e|0)>0){break a}Ba(c,J[c+4>>2],d+15|0,d+16|0);f=pf((b&127)<<25|a>>>7,b>>>7|0,c);break a}a=J[c+20>>2];if(!!J[c+16>>2]&(a|0)>=0|(a|0)>0){break a}g=1;Ba(c,J[c+4>>2],d+15|0,d+16|0)}fa=d+16|0;return g|f}function Jl(a,b,c,d){H[a+53|0]=1;a:{if(J[a+4>>2]!=(c|0)){break a}H[a+52|0]=1;c=J[a+16>>2];b:{if(!c){J[a+36>>2]=1;J[a+24>>2]=d;J[a+16>>2]=b;if((d|0)!=1){break a}if(J[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=J[a+24>>2];if((c|0)==2){J[a+24>>2]=d;c=d}if(J[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}J[a+36>>2]=J[a+36>>2]+1}H[a+54|0]=1}}function Mj(a,b){var c=0,d=0,e=0,f=0;d=1;a:{if((b|0)==-1){break a}b=P(b,3);if((b|0)==-1){break a}d=-1;e=J[a>>2];a=e+(b<<2)|0;c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)!=-1){d=J[(c<<2)+e>>2]}a=J[a>>2];f=(a|0)==(d|0);b:{c:{if((b>>>0)%3|0){b=b-1|0;break c}b=b+2|0;c=-1;if((b|0)==-1){break b}}c=J[(b<<2)+e>>2]}d=f|(c|0)==(a|0)|(d|0)==(c|0)}return d}function tl(a,b,c){var d=0,e=0,f=0;f=fa-16|0;fa=f;d=K[a+11|0]>>>7|0?(J[a+8>>2]&2147483647)-1|0:10;if(K[a+11|0]>>>7|0){e=J[a+4>>2]}else{e=K[a+11|0]&127}a:{if(d-e>>>0>=c>>>0){if(!c){break a}if(K[a+11|0]>>>7|0){d=J[a>>2]}else{d=a}il(d+e|0,b,c);b=a;a=c+e|0;nl(b,a);H[f+15|0]=0;H[a+d|0]=K[f+15|0];break a}rl(a,d,(c+e|0)-d|0,e,e,0,c,b)}fa=f+16|0}function El(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=fa+-64|0;fa=e;d=1;a:{if(Dl(a,b,0)){break a}d=0;if(!b){break a}b=Fl(b,18476,18524);d=0;if(!b){break a}d=e+8|0;ok(d|4,0,52);J[e+56>>2]=1;J[e+20>>2]=-1;J[e+16>>2]=a;J[e+8>>2]=b;ka[J[J[b>>2]+28>>2]](b,d,J[c>>2],1);a=J[e+32>>2];if((a|0)==1){J[c>>2]=J[e+24>>2]}d=(a|0)==1}fa=e- -64|0;return d|0}function sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;J[a+32>>2]=c;J[a+28>>2]=b;a:{if(!(ka[J[J[a>>2]+52>>2]](a)|0)){break a}e=J[a+4>>2];if((e|0)==J[a+8>>2]){return 1}c=0;while(1){d=c<<2;f=J[d+J[a+36>>2]>>2];d=ka[J[J[f>>2]+8>>2]](f,b,J[d+e>>2])|0;if(!d){break a}c=c+1|0;e=J[a+4>>2];if(c>>>0>2]-e>>2>>>0){continue}break}}return d|0}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=fa-16|0;fa=d;J[a+4>>2]=b;b=J[b+64>>2];e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Jg(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+56>>2];b=J[b+52>>2];H[d+14|0]=0;Jg(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;fa=d+16|0}function yb(a,b){var c=0,d=0,e=0;c=fa-16|0;fa=c;H[c+15|0]=a&127;a:{if(a>>>0>=128){H[c+15|0]=a|128;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){a=0;break a}Ba(b,J[b+4>>2],c+15|0,c+16|0);a=yb(a>>>7|0,b);break a}a=0;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}e=1;Ba(b,J[b+4>>2],c+15|0,c+16|0)}fa=c+16|0;return a|e}function uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=fa-16|0;fa=d;J[a+4>>2]=b;e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Jg(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+28>>2];b=J[b+24>>2];H[d+14|0]=0;Jg(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;fa=d+16|0}function lk(a){var b=0,c=0,d=0,e=0;while(1){b=a;a=b+1|0;c=H[b|0];if((c|0)==32|c-9>>>0<5){continue}break}a:{b:{c:{c=H[b|0];switch(c-43|0){case 0:break b;case 2:break c;default:break a}}e=1}c=H[a|0];b=a}if(c-48>>>0<10){while(1){d=(P(d,10)-H[b|0]|0)+48|0;a=H[b+1|0];b=b+1|0;if(a-48>>>0<10){continue}break}}return e?d:0-d|0}function bd(a,b){var c=0,d=0;a:{c=J[a+4>>2];d=J[a+8>>2];if((c|0)==d<<5){if((c+1|0)<0){break a}if(c>>>0<=1073741822){d=d<<6;c=(c&-32)+32|0;c=c>>>0>>0?d:c}else{c=2147483647}Gc(a,c);c=J[a+4>>2]}J[a+4>>2]=c+1;d=1<>2]+(c>>>3&536870908)|0;if(K[b|0]){J[a>>2]=d|J[a>>2];return}J[a>>2]=J[a>>2]&(d^-1);return}Ia();C()}function Th(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;gl(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;gl(b)}return a|0}function Yh(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;gl(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;gl(b)}gl(a)}function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=fa-16|0;fa=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+8|0,c+12|0)}Ee(a+112|0,b);fa=c+16|0;return 1}function yk(a){var b=0;b=1;a:{if((a|0)>=1024){b=898846567431158e293;if(a>>>0<2047){a=a-1023|0;break a}b=Infinity;a=((a|0)>=3069?3069:a)-2046|0;break a}if((a|0)>-1023){break a}b=2004168360008973e-307;if(a>>>0>4294965304){a=a+969|0;break a}b=0;a=((a|0)<=-2960?-2960:a)+1938|0}x(0,0);x(1,a+1023<<20);return b*+z()}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=fa-16|0;fa=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+8|0,c+12|0)}Ee(a+96|0,b);fa=c+16|0;return 1}function Vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=fa-16|0;fa=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+8|0,c+12|0)}fa=c+16|0;return 1}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=fa-16|0;fa=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+8|0,c+12|0)}fa=c+16|0;return 1}function sk(a,b,c){var d=0,e=0;a:{b:{if(c>>>0>=4){if((a|b)&3){break b}while(1){if(J[a>>2]!=J[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}while(1){d=K[a|0];e=K[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function Xk(a,b){var c=0,d=0,e=0,f=0;d=fa-16|0;fa=d;a:{if(!b){b=0;break a}c=b>>31;e=(c^b)-c|0;c=S(e);Sk(d,e,0,0,0,c+81|0);e=0+J[d+8>>2]|0;c=(J[d+12>>2]^65536)+(16414-c<<16)|0;c=e>>>0>>0?c+1|0:c;f=b&-2147483648|c;c=J[d+4>>2];b=J[d>>2]}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=e;J[a+12>>2]=f;fa=d+16|0}function wh(a){a=a|0;var b=0;J[a+8>>2]=11436;J[a>>2]=11224;b=J[a+96>>2];if(b){J[a+100>>2]=b;gl(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;gl(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;gl(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;gl(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){gl(b)}b=J[a+32>>2];if(b){gl(b)}return a|0}function Ij(a){var b=0,c=0,d=0;if(a){d=J[a+24>>2];if(d){b=d;c=J[a+28>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){Li(b+12|0,J[b+16>>2]);Mi(b,J[b+4>>2]);gl(b)}if((c|0)!=(d|0)){continue}break}b=J[a+24>>2]}J[a+28>>2]=d;gl(b)}Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);gl(a)}}function xh(a){a=a|0;var b=0;J[a+8>>2]=11436;J[a>>2]=11224;b=J[a+96>>2];if(b){J[a+100>>2]=b;gl(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;gl(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;gl(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;gl(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){gl(b)}b=J[a+32>>2];if(b){gl(b)}gl(a)}function wd(a){a=a|0;var b=0;J[a>>2]=5084;b=J[a+152>>2];if(b){J[a+156>>2]=b;gl(b)}b=J[a+112>>2];if(b){J[a+116>>2]=b;gl(b)}b=J[a+96>>2];if(b){gl(b)}b=J[a+84>>2];if(b){gl(b)}b=J[a+72>>2];if(b){gl(b)}b=J[a+60>>2];if(b){gl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}return a|0}function Yc(a){a=a|0;var b=0;J[a>>2]=3520;b=J[a+152>>2];if(b){J[a+156>>2]=b;gl(b)}b=J[a+112>>2];if(b){J[a+116>>2]=b;gl(b)}b=J[a+96>>2];if(b){gl(b)}b=J[a+84>>2];if(b){gl(b)}b=J[a+72>>2];if(b){gl(b)}b=J[a+60>>2];if(b){gl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}return a|0}function Ca(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=J[c+8>>2];e=J[c+16>>2];g=J[c+12>>2];f=g;d=J[c+20>>2];if(h>>>0>e>>>0&(f|0)>=(d|0)|(d|0)<(f|0)){b=K[J[c>>2]+e|0];i=e+1|0;f=i?d:d+1|0;J[c+16>>2]=i;J[c+20>>2]=f;J[a+4>>2]=b}return e>>>0>>0&(d|0)<=(g|0)|(d|0)<(g|0)}function Dl(a,b,c){var d=0;if(!c){return J[a+4>>2]==J[b+4>>2]}if((a|0)==(b|0)){return 1}d=J[a+4>>2];a=K[d|0];c=J[b+4>>2];b=K[c|0];a:{if(!a|(b|0)!=(a|0)){break a}while(1){b=K[c+1|0];a=K[d+1|0];if(!a){break a}c=c+1|0;d=d+1|0;if((a|0)==(b|0)){continue}break}}return(a|0)==(b|0)}function hf(a){var b=0,c=0;c=J[a+8>>2];if((c|0)>=2){b=+(c|0);b=W(b*rk(b)-O[a>>3]);if(R(b)<0x8000000000000000){ja=R(b)>=1?~~(b>0?T(V(b*2.3283064365386963e-10),4294967295):W((b-+(~~b>>>0>>>0))*2.3283064365386963e-10))>>>0:0;return~~b>>>0}a=-2147483648}else{a=0}ja=a;return 0}function vh(a){a=a|0;var b=0;J[a>>2]=11436;b=J[a+88>>2];if(b){J[a+92>>2]=b;gl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;gl(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;gl(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;gl(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){gl(b)}b=J[a+24>>2];if(b){gl(b)}return a|0}function Yj(a,b){var c=0,d=0,e=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{c=J[b+4>>2];d=J[b>>2];b:{if((c|0)==(d|0)){a=c;break b}c=c-d|0;if((c|0)<0){break a}d=c;e=ol(c);c=ok(e,0,c);d=d+c|0;J[a+8>>2]=d;J[a+4>>2]=d;J[a>>2]=c;c=J[b>>2];a=J[b+4>>2]}mk(e,c,a-c|0);return}Ia();C()}function Ch(a){a=a|0;var b=0;J[a>>2]=11436;b=J[a+88>>2];if(b){J[a+92>>2]=b;gl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;gl(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;gl(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;gl(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){gl(b)}b=J[a+24>>2];if(b){gl(b)}gl(a)}function te(a){a=a|0;var b=0;J[a+40>>2]=2040;J[a>>2]=9996;b=J[a+48>>2];if(b){J[a+52>>2]=b;gl(b)}J[a>>2]=2632;b=J[a+36>>2];J[a+36>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;gl(b)}return a|0}function oj(a){a=a|0;var b=0,c=0;b=ol(8);J[b+4>>2]=a;J[b>>2]=0;a:{b:{c:{if(!a){break c}c=Fl(a,15016,14936);if(!c){break c}c=$e(ol(56),c);a=J[b>>2];J[b>>2]=c;if(a){break b}break a}c=_e(ol(56),a);a=J[b>>2];J[b>>2]=c;if(!a){break a}}ka[J[J[a>>2]+4>>2]](a)}return b|0}function Ge(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=fa-96|0;fa=e;f=_e(e+40|0,c);He(e,b,c);bf(f,e);Mc(e+24|0,J[e+28>>2]);Ie(e+12|0,J[e+16>>2]);Mc(e,J[e+4>>2]);af(a,f,d);J[f>>2]=10264;Mc(f+28|0,J[f+32>>2]);Ie(f+16|0,J[f+20>>2]);Mc(f+4|0,J[f+8>>2]);fa=e+96|0}function dl(a,b,c){var d=0,e=0,f=0,g=0;f=fa-16|0;fa=f;d=fa-16|0;fa=d;b=b-a>>2;while(1){if(b){J[d+12>>2]=a;e=b>>>1|0;J[d+12>>2]=J[d+12>>2]+(e<<2);g=(e^-1)+b|0;b=e;e=M[J[d+12>>2]>>2]>2];b=e?g:b;a=e?J[d+12>>2]+4|0:a;continue}break}fa=d+16|0;fa=f+16|0;return a}function Tg(a){var b=0;if(a){b=J[a+76>>2];if(b){J[a+80>>2]=b;gl(b)}b=J[a- -64>>2];if(b){J[a+68>>2]=b;gl(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;gl(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;gl(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;gl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;gl(b)}gl(a)}}function bh(a){var b=0;b=J[a+84>>2];if(b){J[a+88>>2]=b;gl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;gl(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;gl(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;gl(b)}b=J[a+28>>2];if(b){J[a+32>>2]=b;gl(b)}b=J[a+12>>2];if(b){gl(b)}a=J[a>>2];if(a){gl(a)}}function Yk(a,b){var c=0,d=0,e=0,f=0;c=fa-16|0;fa=c;a:{if(!b){b=0;break a}d=b;b=S(b);Sk(c,d,0,0,0,b+81|0);d=0+J[c+8>>2]|0;b=(J[c+12>>2]^65536)+(16414-b<<16)|0;f=e>>>0>d>>>0?b+1|0:b;e=J[c+4>>2];b=J[c>>2]}J[a>>2]=b;J[a+4>>2]=e;J[a+8>>2]=d;J[a+12>>2]=f;fa=c+16|0}function ue(a){a=a|0;var b=0;J[a+40>>2]=2040;J[a>>2]=9996;b=J[a+48>>2];if(b){J[a+52>>2]=b;gl(b)}J[a>>2]=2632;b=J[a+36>>2];J[a+36>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;gl(b)}gl(a)}function Lk(a,b,c){var d=0,e=0,f=0,g=0;if(b){while(1){c=c-1|0;e=a;a=fm(a,b,10,0);d=ja;f=c,g=e-dm(a,d,10,0)|48,H[f|0]=g;e=b>>>0>9;b=d;if(e){continue}break}}if(a){while(1){c=c-1|0;b=(a>>>0)/10|0;H[c|0]=a-P(b,10)|48;d=a>>>0>9;a=b;if(d){continue}break}}return c}function ql(a){var b=0,c=0,d=0;c=fa-16|0;fa=c;H[c+15|0]=10;b=J[a+16>>2];a:{if(!b){if(Ek(a)){break a}b=J[a+16>>2]}d=b;b=J[a+20>>2];if(!((d|0)==(b|0)|J[a+80>>2]==10)){J[a+20>>2]=b+1;H[b|0]=10;break a}if((ka[J[a+36>>2]](a,c+15|0,1)|0)!=1){break a}}fa=c+16|0}function uc(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+72>>2];a:{if(!c){break a}J[c+4>>2]=a+60;if(!(ka[J[J[c>>2]+12>>2]](c)|0)){break a}if(!(ka[J[J[a>>2]+40>>2]](a)|0)){break a}if(!(ka[J[J[a>>2]+44>>2]](a,b)|0)){break a}d=ka[J[J[a>>2]+48>>2]](a,b)|0}return d|0}function se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=fa-16|0;fa=e;d=a+40|0;c=Za(d,J[a+8>>2],J[b+4>>2]-J[b>>2]>>2);d=Na(d,J[a+8>>2],b,c);a:{if(d){b=J[a+32>>2];J[a+32>>2]=c;if(!b){break a}Kb(b);break a}J[e+8>>2]=0;if(!c){break a}Kb(c)}fa=e+16|0;return d|0}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=fa-16|0;fa=e;d=a+40|0;c=Za(d,J[a+8>>2],J[b+4>>2]-J[b>>2]>>2);d=xa(d,J[a+8>>2],b,c);a:{if(d){b=J[a+32>>2];J[a+32>>2]=c;if(!b){break a}Kb(b);break a}J[e+8>>2]=0;if(!c){break a}Kb(c)}fa=e+16|0;return d|0}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+172>>2];a=J[a+176>>2];if((c|0)!=(a|0)){a=(a-c|0)/136|0;d=a>>>0<=1?1:a;a=0;while(1){if(J[P(a,136)+c>>2]==(b|0)){a=P(a,136)+c|0;return(K[a+100|0]?a+4|0:0)|0}a=a+1|0;if((d|0)!=(a|0)){continue}break}}return 0}function wk(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!K[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=J[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(K[b|0]){continue}break}}return b-a|0}function $a(a,b,c,d,e,f,g){var h=0;J[a>>2]=c;if(c){h=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=h;h=J[c+28>>2];J[a+16>>2]=J[c+24>>2];J[a+20>>2]=h}J[a+56>>2]=b;J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=f;J[a+44>>2]=g;H[a+32|0]=0;J[a+28>>2]=e;H[a+24|0]=d}function Fk(a,b){var c=0,d=0,e=0;A(+a);d=v(1)|0;e=v(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=Fk(a*0x10000000000000000,b);c=J[b>>2]+-64|0}J[b>>2]=c;return a}J[b>>2]=c-1022;x(0,e|0);x(1,d&-2146435073|1071644672);a=+z()}return a}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+36>>2];if((c|0)==J[a+40>>2]){return 1}f=a+60|0;while(1){c=J[(d<<2)+c>>2];e=ka[J[J[c>>2]+20>>2]](c,f,b)|0;if(e){d=d+1|0;c=J[a+36>>2];if(d>>>0>2]-c>>2>>>0){continue}}break}return e|0}function we(a,b){var c=0,d=0,e=0;c=wk(b);if(c>>>0<2147483632){a:{b:{if(c>>>0>=11){d=(c|15)+1|0;e=ol(d);J[a+8>>2]=d|-2147483648;J[a>>2]=e;J[a+4>>2]=c;d=c+e|0;break b}H[a+11|0]=c;d=a+c|0;e=a;if(!c){break a}}nk(e,b,c)}H[d|0]=0;return a}xe();C()}function Hc(a){J[a+32>>2]=0;J[a+12>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=2400;H[a+21|0]=0;H[a+22|0]=0;H[a+23|0]=0;H[a+24|0]=0;H[a+25|0]=0;H[a+26|0]=0;H[a+27|0]=0;H[a+28|0]=0;J[a+36>>2]=0;J[a>>2]=2632;return a}function vc(a){a=a|0;var b=0,c=0,d=0,e=0;b=J[a+36>>2];if((b|0)==J[a+40>>2]){return 1}e=a+60|0;while(1){b=J[(c<<2)+b>>2];d=ka[J[J[b>>2]+16>>2]](b,e)|0;if(d){c=c+1|0;b=J[a+36>>2];if(c>>>0>2]-b>>2>>>0){continue}}break}return d|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;J[c+12>>2]=J[J[b+4>>2]+80>>2];b=J[b+44>>2];d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){Ba(b,J[b+4>>2],c+12|0,c+16|0)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;fa=c+16|0}function ge(a){a=a|0;var b=0;J[a>>2]=8648;b=J[a+136>>2];if(b){J[a+140>>2]=b;gl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;gl(b)}b=J[a+80>>2];if(b){gl(b)}b=J[a+68>>2];if(b){gl(b)}b=J[a+56>>2];if(b){gl(b)}b=J[a+44>>2];if(b){gl(b)}return a|0}function Rd(a){a=a|0;var b=0;J[a>>2]=7e3;b=J[a+136>>2];if(b){J[a+140>>2]=b;gl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;gl(b)}b=J[a+80>>2];if(b){gl(b)}b=J[a+68>>2];if(b){gl(b)}b=J[a+56>>2];if(b){gl(b)}b=J[a+44>>2];if(b){gl(b)}return a|0}function Kb(a){a=a|0;var b=0,c=0;if(a){b=J[a+88>>2];J[a+88>>2]=0;if(b){c=J[b+8>>2];if(c){J[b+12>>2]=c;gl(c)}gl(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;gl(b)}b=J[a+64>>2];J[a+64>>2]=0;if(b){c=J[b>>2];if(c){J[b+4>>2]=c;gl(c)}gl(b)}gl(a)}}function Jk(a){var b=0,c=0,d=0;if(H[J[a>>2]]-48>>>0>=10){return 0}while(1){d=J[a>>2];c=-1;if(b>>>0<=214748364){c=H[d|0]-48|0;b=P(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}J[a>>2]=d+1;b=c;if(H[d+1|0]-48>>>0<10){continue}break}return b}function xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[a+36>>2];if((c|0)==J[a+40>>2]){return 1}while(1){c=J[(d<<2)+c>>2];e=ka[J[J[c>>2]+24>>2]](c,b)|0;if(e){d=d+1|0;c=J[a+36>>2];if(d>>>0>2]-c>>2>>>0){continue}}break}return e|0}function he(a){a=a|0;var b=0;J[a>>2]=8648;b=J[a+136>>2];if(b){J[a+140>>2]=b;gl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;gl(b)}b=J[a+80>>2];if(b){gl(b)}b=J[a+68>>2];if(b){gl(b)}b=J[a+56>>2];if(b){gl(b)}b=J[a+44>>2];if(b){gl(b)}gl(a)}function ei(a){a=a|0;var b=0,c=0,d=0;b=J[a+32>>2];d=J[a+36>>2];if((b|0)==(d|0)){return 1}while(1){c=J[J[a+8>>2]+(J[b>>2]<<2)>>2];c=ka[J[J[c>>2]+20>>2]](c,J[a+44>>2])|0;if(c){b=b+4|0;if((d|0)!=(b|0)){continue}}break}return c|0}function Sd(a){a=a|0;var b=0;J[a>>2]=7e3;b=J[a+136>>2];if(b){J[a+140>>2]=b;gl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;gl(b)}b=J[a+80>>2];if(b){gl(b)}b=J[a+68>>2];if(b){gl(b)}b=J[a+56>>2];if(b){gl(b)}b=J[a+44>>2];if(b){gl(b)}gl(a)}function em(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=fm(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;ja=(g^ja)-((a>>>0>>0)+g|0)|0;return b}function ul(a,b,c){var d=0,e=0,f=0;e=fa-16|0;fa=e;d=J[a+8>>2]&2147483647;a:{if(d>>>0>c>>>0){d=J[a>>2];J[a+4>>2]=c;il(d,b,c);H[e+15|0]=0;H[c+d|0]=K[e+15|0];break a}f=a;a=J[a+4>>2];rl(f,d-1|0,(c-d|0)+1|0,a,0,a,c,b)}fa=e+16|0}function vl(a,b,c){var d=0,e=0;d=fa-16|0;fa=d;a:{if(c>>>0<=10){H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;il(a,b,c);H[d+15|0]=0;H[a+c|0]=K[d+15|0];break a}e=a;a=K[a+11|0]&127;rl(e,10,c-10|0,a,0,a,c,b)}fa=d+16|0}function Aa(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;a=J[a+4>>2];a:{if((a|0)==-1){break a}H[c+15|0]=a;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+15|0,c+16|0)}fa=c+16|0;return(a|0)!=-1|0}function dm(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=P(e,f);g=c&65535;h=a&65535;i=P(g,h);f=(i>>>16|0)+P(f,g)|0;e=(f&65535)+P(e,h)|0;ja=(P(b,c)+j|0)+P(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function Gl(a,b,c){var d=0;d=J[a+16>>2];if(!d){J[a+36>>2]=1;J[a+24>>2]=c;J[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(J[a+24>>2]!=2){break a}J[a+24>>2]=c;return}H[a+54|0]=1;J[a+24>>2]=2;J[a+36>>2]=J[a+36>>2]+1}}function wa(a,b){a=a|0;b=b|0;var c=0,d=0;J[b>>2]=2;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){ji(b+8|0,d+4|0);c=J[b+8>>2]}b=c+d|0;a=J[a+4>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function qi(a,b){var c=0,d=Q(0),e=0;b=cc(a,b);if((b|0)!=(a+4|0)){a=fa-16|0;fa=a;c=b+28|0;Dk(a,H[b+39|0]<0?J[c>>2]:c,0,1);e=bl(J[a>>2],J[a+4>>2],J[a+8>>2],J[a+12>>2]);fa=a+16|0;d=Q(e)}else{d=Q(1)}return d}function Mk(a,b,c,d,e){var f=0;f=fa-256|0;fa=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;ok(f,b&255,c?d:256);if(!c){while(1){Ik(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}Ik(a,f,d)}fa=f+256|0}function Fc(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+16>>2];c=0;a:{if(J[a+20>>2]-d>>2<=(b|0)){break a}b=J[(b<<2)+d>>2];c=0;if((b|0)<0){break a}a=J[J[a+36>>2]+(b<<2)>>2];b=J[a+32>>2];c=b?b:J[a+8>>2]}return c|0}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=-1;e=J[a+16>>2];a:{if(J[a+20>>2]-e>>2<=(b|0)){break a}b=J[(b<<2)+e>>2];if((b|0)<0){break a}d=J[J[J[J[a+36>>2]+(b<<2)>>2]+16>>2]+(c<<2)>>2]}return d|0}function Cc(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+16>>2];c=0;a:{if(J[a+20>>2]-d>>2<=(b|0)){break a}b=J[(b<<2)+d>>2];c=0;if((b|0)<0){break a}a=J[J[a+36>>2]+(b<<2)>>2];c=J[a+20>>2]-J[a+16>>2]>>2}return c|0}function Oc(a){a=a|0;var b=0;J[a>>2]=2632;b=J[a+36>>2];J[a+36>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;gl(b)}return a|0}function Ae(a){var b=0,c=0;c=fa-16|0;fa=c;J[c+8>>2]=0;J[c+12>>2]=0;Be(a,c+8|0);J[a+24>>2]=0;J[a+28>>2]=0;b=J[a+12>>2];J[a+16>>2]=b;if(b){gl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;gl(b)}fa=c+16|0;return a}function ab(a){a=_a(a);J[a+64>>2]=0;J[a+68>>2]=0;J[a+88>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a}function Pc(a){a=a|0;var b=0;J[a>>2]=2632;b=J[a+36>>2];J[a+36>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;gl(b)}gl(a)}function $h(a){J[a+52>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=12468;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;return a}function vk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=fa-16|0;fa=e;a=ea(J[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){J[4842]=a;a=-1}else{a=0}fa=e+16|0;ja=a?-1:J[e+12>>2];return(a?-1:J[e+8>>2])|0}function _a(a){J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+28>>2]=9;H[a+24|0]=1;J[a+56>>2]=-1;J[a+60>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;return a}function Ek(a){var b=0;b=J[a+72>>2];J[a+72>>2]=b-1|b;b=J[a>>2];if(b&8){J[a>>2]=b|32;return-1}J[a+4>>2]=0;J[a+8>>2]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];return 0}function al(a,b,c,d,e,f,g,h,i){var j=0;j=fa-16|0;fa=j;Rk(j,b,c,d,e,f,g,h,i^-2147483648);d=J[j>>2];c=J[j+4>>2];b=J[j+12>>2];J[a+8>>2]=J[j+8>>2];J[a+12>>2]=b;J[a>>2]=d;J[a+4>>2]=c;fa=j+16|0}function bj(a,b,c){a=a|0;b=b|0;c=c|0;a=0;a:{if(J[b+4>>2]|!b){break a}a=Zj(ol(36),c);J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;c=J[b+4>>2];J[b+4>>2]=a;a=1;if(!c){break a}Ij(c)}return a|0}function rc(a,b,c){a=tb(a,c);J[a+36>>2]=0;J[a+40>>2]=0;J[a>>2]=2504;J[a+72>>2]=b;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;return a}function Sj(a,b){a=a|0;b=b|0;var c=0,d=0;fk(a,b);a:{if((b|0)<0){break a}d=J[a+88>>2];c=J[a+84>>2];if(d-c>>2<=(b|0)){break a}c=(b<<2)+c|0;b=c+4|0;nk(c,b,d-b|0);J[a+88>>2]=d-4}} -function el(a){var b=0,c=0;b=J[4811];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>la()<<16>>>0){if(!(da(a|0)|0)){break a}}J[4811]=a;return b}J[4842]=48;return-1}function Mh(a){a=a|0;var b=0;J[a+8>>2]=10884;J[a>>2]=11984;b=J[a+56>>2];if(b){J[a+60>>2]=b;gl(b)}J[a+8>>2]=11136;b=J[a+44>>2];if(b){gl(b)}b=J[a+32>>2];if(b){gl(b)}return a|0}function Gh(a){a=a|0;var b=0;J[a+8>>2]=11856;J[a>>2]=11692;b=J[a+56>>2];if(b){J[a+60>>2]=b;gl(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){gl(b)}b=J[a+32>>2];if(b){gl(b)}return a|0}function Nh(a){a=a|0;var b=0;J[a+8>>2]=10884;J[a>>2]=11984;b=J[a+56>>2];if(b){J[a+60>>2]=b;gl(b)}J[a+8>>2]=11136;b=J[a+44>>2];if(b){gl(b)}b=J[a+32>>2];if(b){gl(b)}gl(a)}function Hh(a){a=a|0;var b=0;J[a+8>>2]=11856;J[a>>2]=11692;b=J[a+56>>2];if(b){J[a+60>>2]=b;gl(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){gl(b)}b=J[a+32>>2];if(b){gl(b)}gl(a)}function Li(a,b){if(b){Li(a,J[b>>2]);Li(a,J[b+4>>2]);a=J[b+28>>2];J[b+28>>2]=0;if(a){Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);gl(a)}if(H[b+27|0]<0){gl(J[b+16>>2])}gl(b)}}function pl(a,b){var c=0,d=0,e=0,f=0;J[a>>2]=18812;J[a>>2]=18924;c=wk(b);d=ol(c+13|0);J[d+8>>2]=0;J[d+4>>2]=c;J[d>>2]=c;e=a,f=mk(d+12|0,b,c+1|0),J[e+4>>2]=f;return a}function Bb(a,b){a=a|0;b=b|0;var c=0;a:{if(!(ka[J[J[a>>2]+40>>2]](a)|0)){break a}if(!(ka[J[J[a>>2]+44>>2]](a,b)|0)){break a}c=ka[J[J[a>>2]+48>>2]](a,b)|0}return c|0}function yg(a){a=a|0;var b=0;a:{b=J[a+64>>2];if(!b){break a}b=ka[J[J[b>>2]+32>>2]](b)|0;if(!b){break a}J[a+60>>2]=((J[b+4>>2]-J[b>>2]>>2>>>0)/3|0)-J[b+40>>2]}}function va(a,b){a=a|0;b=b|0;var c=0;b=J[b+88>>2];if(!(!b|J[b>>2]!=2)){c=a;a=J[b+8>>2];J[c+4>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);c=1}return c|0}function Qg(a){a=a|0;var b=0;J[a>>2]=10884;b=J[a+48>>2];if(b){J[a+52>>2]=b;gl(b)}J[a>>2]=11136;b=J[a+36>>2];if(b){gl(b)}b=J[a+24>>2];if(b){gl(b)}return a|0}function Fh(a){a=a|0;var b=0;J[a>>2]=11856;b=J[a+48>>2];if(b){J[a+52>>2]=b;gl(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){gl(b)}b=J[a+24>>2];if(b){gl(b)}return a|0}function ri(a,b){var c=0;a:{c=a+4|0;a=cc(a,b);if((c|0)==(a|0)){break a}b=a+28|0;a=lk(H[a+39|0]<0?J[b>>2]:b);if((a|0)==-1){break a}return(a|0)!=0}return 0}function si(a,b,c){var d=0;d=a+4|0;a=cc(a,b);a:{if((d|0)==(a|0)){break a}b=a+28|0;a=lk(H[a+39|0]<0?J[b>>2]:b);if((a|0)==-1){break a}c=(a|0)!=0}return c}function rh(a){a=a|0;var b=0;J[a>>2]=10884;b=J[a+48>>2];if(b){J[a+52>>2]=b;gl(b)}J[a>>2]=11136;b=J[a+36>>2];if(b){gl(b)}b=J[a+24>>2];if(b){gl(b)}gl(a)}function Lh(a){a=a|0;var b=0;J[a>>2]=11856;b=J[a+48>>2];if(b){J[a+52>>2]=b;gl(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){gl(b)}b=J[a+24>>2];if(b){gl(b)}gl(a)}function tb(a,b){J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2196;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;ub(a,b);return a}function Ml(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Dl(a,J[b+8>>2],f)){Jl(b,c,d,e);return}a=J[a+8>>2];ka[J[J[a>>2]+20>>2]](a,b,c,d,e,f)}function od(a){a=a|0;var b=0;a:{if(!J[a- -64>>2]|!J[a+68>>2]|(!J[a+44>>2]|!J[a+48>>2])){break a}if(!J[a+52>>2]){break a}b=J[a+56>>2]!=0}return b|0}function be(a){a=a|0;var b=0;a:{if(!J[a+48>>2]|!J[a+52>>2]|(!J[a+28>>2]|!J[a+32>>2])){break a}if(!J[a+36>>2]){break a}b=J[a+40>>2]!=0}return b|0}function ck(a){var b=0,c=0;b=J[a+20>>2];a:{if((J[a+24>>2]-b|0)<=0){break a}b=J[b>>2];if((b|0)==-1){break a}c=J[J[a+8>>2]+(b<<2)>>2]}return c}function bk(a,b){var c=0;c=-1;a:{if((b|0)==-1|(b|0)>4){break a}b=P(b,12)+a|0;a=J[b+20>>2];if((J[b+24>>2]-a|0)<=0){break a}c=J[a>>2]}return c}function Gi(){var a=0;a=ak(ol(108));J[a+84>>2]=0;J[a+88>>2]=0;J[a>>2]=14892;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;return a|0}function Pk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b;b=J[b>>2]+7&-8;J[c>>2]=b+16;d=a,e=bl(J[b>>2],J[b+4>>2],J[b+8>>2],J[b+12>>2]),O[d>>3]=e}function Oj(a){a=a|0;var b=0;J[a>>2]=14892;b=J[a+96>>2];if(b){J[a+100>>2]=b;gl(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;gl(b)}return Pj(a)|0}function Ce(a){var b=0;b=fa-16|0;fa=b;J[b+8>>2]=0;J[b+12>>2]=0;Be(a,b+8|0);J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=J[a+12>>2];fa=b+16|0}function Qj(a){a=a|0;var b=0;J[a>>2]=14892;b=J[a+96>>2];if(b){J[a+100>>2]=b;gl(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;gl(b)}gl(Pj(a))}function zd(a){a=a|0;var b=0;J[a>>2]=5320;b=J[a+76>>2];if(b){gl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}return a|0}function oc(a){a=a|0;var b=0;J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;gl(b)}return a|0}function cd(a){a=a|0;var b=0;J[a>>2]=3768;b=J[a+76>>2];if(b){gl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}return a|0}function Mi(a,b){if(b){Mi(a,J[b>>2]);Mi(a,J[b+4>>2]);a=J[b+28>>2];if(a){J[b+32>>2]=a;gl(a)}if(H[b+27|0]<0){gl(J[b+16>>2])}gl(b)}}function zb(a){a=a|0;var b=0;J[a>>2]=2196;b=J[a+16>>2];if(b){J[a+20>>2]=b;gl(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;gl(b)}return a|0}function Ji(){var a=0,b=0;a=ol(24);J[a+4>>2]=0;J[a+8>>2]=0;b=a+16|0;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;J[a+12>>2]=b;return a|0}function Il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Dl(a,J[b+8>>2],0)){Gl(b,c,d);return}a=J[a+8>>2];ka[J[J[a>>2]+28>>2]](a,b,c,d)}function pc(a){a=a|0;var b=0;J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;gl(b)}gl(a)}function ol(a){var b=0;a=a?a:1;a:{while(1){b=fl(a);if(b){break a}b=J[5016];if(b){ka[b|0]();continue}break}ca();C()}return b}function dd(a){a=a|0;var b=0;J[a>>2]=3768;b=J[a+76>>2];if(b){gl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}gl(a)}function Ad(a){a=a|0;var b=0;J[a>>2]=5320;b=J[a+76>>2];if(b){gl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}gl(a)}function Mc(a,b){if(b){Mc(a,J[b>>2]);Mc(a,J[b+4>>2]);if(H[b+39|0]<0){gl(J[b+28>>2])}if(H[b+27|0]<0){gl(J[b+16>>2])}gl(b)}}function Sl(a){a=a|0;var b=0,c=0;J[a>>2]=18924;b=J[a+4>>2]-12|0;c=J[b+8>>2]-1|0;J[b+8>>2]=c;if((c|0)<0){gl(b)}return a|0}function Pa(a,b,c,d,e){var f=0;f=b-1|0;if(f>>>0<=29){J[a+4>>2]=b;Qa(a+8|0,c,(d<<2)+c|0);N[a+20>>2]=e}return f>>>0<30}function zk(a,b,c,d,e,f,g,h,i){J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e&65535|(i>>>16&32768|e>>>16&32767)<<16}function ld(a){a=a|0;var b=0;J[a>>2]=4004;Ae(a+112|0);J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}return a|0}function ic(a,b,c){a=a|0;b=b|0;c=c|0;J[a+4>>2]=b;b=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=b;return 1}function _e(a,b){J[a>>2]=10264;Fe(a+4|0);J[a+52>>2]=0;J[a+48>>2]=b;J[a>>2]=10360;J[a+40>>2]=0;J[a+44>>2]=0;return a}function Dd(a){a=a|0;var b=0;J[a>>2]=5544;Ae(a+112|0);J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}return a|0}function $e(a,b){J[a>>2]=10264;Fe(a+4|0);J[a+52>>2]=b;J[a+48>>2]=b;J[a>>2]=10360;J[a+40>>2]=0;J[a+44>>2]=0;return a}function fd(a){a=a|0;var b=0;if(!(!J[a+60>>2]|!J[a+44>>2]|(!J[a+48>>2]|!J[a+52>>2]))){b=J[a+56>>2]!=0}return b|0}function Xd(a){a=a|0;var b=0;if(!(!J[a+44>>2]|!J[a+28>>2]|(!J[a+32>>2]|!J[a+36>>2]))){b=J[a+40>>2]!=0}return b|0}function nj(a){a=a|0;if(a){J[a>>2]=10340;Mc(a+28|0,J[a+32>>2]);Ne(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);gl(a)}}function oi(a,b){var c=0;c=a+4|0;a=cc(a,b);if((c|0)==(a|0)){return-1}b=a+28|0;return lk(H[a+39|0]<0?J[b>>2]:b)}function md(a){a=a|0;var b=0;J[a>>2]=4004;Ae(a+112|0);J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}gl(a)}function df(a,b){var c=0,d=0;if(!(!a|!b|(a|0)==(b|0))){c=+(b>>>0)/+(a>>>0);d=1-c;c=-(c*rk(c)+d*rk(d))}return c}function Ed(a){a=a|0;var b=0;J[a>>2]=5544;Ae(a+112|0);J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}gl(a)}function Te(a){a=a|0;J[a>>2]=10340;Mc(a+28|0,J[a+32>>2]);Ne(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);return a|0}function Ke(a){a=a|0;J[a>>2]=10264;Mc(a+28|0,J[a+32>>2]);Ie(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);return a|0}function pi(a,b,c){var d=0;d=a+4|0;a=cc(a,b);if((d|0)!=(a|0)){b=a+28|0;c=lk(H[a+39|0]<0?J[b>>2]:b)}return c}function nl(a,b){if(K[a+11|0]>>>7|0){J[a+4>>2]=b;return}H[a+11|0]=K[a+11|0]&128|b;H[a+11|0]=K[a+11|0]&127}function ej(){var a=0;a=ol(48);J[a>>2]=10340;Fe(a+4|0);J[a>>2]=10124;J[a+40>>2]=0;J[a+44>>2]=0;return a|0}function Ve(a){a=a|0;J[a>>2]=10264;Mc(a+28|0,J[a+32>>2]);Ie(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);gl(a)}function Ue(a){a=a|0;J[a>>2]=10340;Mc(a+28|0,J[a+32>>2]);Ne(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);gl(a)}function sh(a){a=a|0;var b=0;J[a>>2]=11136;b=J[a+36>>2];if(b){gl(b)}b=J[a+24>>2];if(b){gl(b)}return a|0}function Dh(a){a=a|0;var b=0;J[a>>2]=11672;b=J[a+36>>2];if(b){gl(b)}b=J[a+24>>2];if(b){gl(b)}return a|0}function dk(a,b){ka[J[J[a>>2]+8>>2]](a,J[a+12>>2]-J[a+8>>2]>>2,b);return(J[a+12>>2]-J[a+8>>2]>>2)-1|0}function Tc(a){a=a|0;var b=0;if(!(!J[a+52>>2]|(!J[a+44>>2]|!J[a+48>>2]))){b=J[a+56>>2]!=0}return b|0}function Nd(a){a=a|0;var b=0;if(!(!J[a+36>>2]|(!J[a+28>>2]|!J[a+32>>2]))){b=J[a+40>>2]!=0}return b|0}function th(a){a=a|0;var b=0;J[a>>2]=11136;b=J[a+36>>2];if(b){gl(b)}b=J[a+24>>2];if(b){gl(b)}gl(a)}function Eh(a){a=a|0;var b=0;J[a>>2]=11672;b=J[a+36>>2];if(b){gl(b)}b=J[a+24>>2];if(b){gl(b)}gl(a)}function pd(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a- -64>>2]=b;c=1}return c|0}function gd(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+60>>2]=b;c=1}return c|0}function ce(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+48>>2]=b;c=1}return c|0}function Yd(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+44>>2]=b;c=1}return c|0}function Nl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Dl(a,J[b+8>>2],f)){Jl(b,c,d,e)}}function Ya(){var a=0;a=Bl(4);J[a>>2]=18812;J[a>>2]=18772;J[a>>2]=18792;Z(a|0,18904,14);C()}function xj(a){a=a|0;var b=0;if(a){b=J[a>>2];J[a>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}gl(a)}}function bm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=ka[a|0](b,c,d,e)|0;ga=ja;return a|0}function Qc(a){a=a|0;var b=0;J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}return a|0}function Ua(a){a=a|0;var b=0;J[a>>2]=2040;b=J[a+8>>2];if(b){J[a+12>>2]=b;gl(b)}return a|0}function ye(a){var b=0;J[a+12>>2]=0;J[a+16>>2]=0;b=a;a=J[a>>2];J[b+4>>2]=a;if(a){gl(a)}}function Xh(a){a=a|0;var b=0;b=a;a=J[a+56>>2];J[b+60>>2]=(J[a+100>>2]-J[a+96>>2]|0)/12}function aj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Fj(b,c,d,e,f,6)|0}function _i(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Hj(b,c,d,e,f,4)|0}function Zi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Hj(b,c,d,e,f,3)|0}function Yi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Gj(b,c,d,e,f,2)|0}function Xi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Gj(b,c,d,e,f,1)|0}function Wi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Fj(b,c,d,e,f,9)|0}function Rc(a){a=a|0;var b=0;J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;gl(b)}gl(a)}function $i(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Fj(b,c,d,e,f,5)|0}function Va(a){a=a|0;var b=0;J[a>>2]=2040;b=J[a+8>>2];if(b){J[a+12>>2]=b;gl(b)}gl(a)}function rj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);Re(J[a>>2],b,c,d,e,f)}function Ne(a,b){if(b){Ne(a,J[b>>2]);Ne(a,J[b+4>>2]);Mc(b+20|0,J[b+24>>2]);gl(b)}}function Ie(a,b){if(b){Ie(a,J[b>>2]);Ie(a,J[b+4>>2]);Mc(b+20|0,J[b+24>>2]);gl(b)}}function wg(a,b){a=a|0;b=b|0;var c=0;c=a;a=J[b+64>>2];ka[J[J[a>>2]+28>>2]](c,a)}function je(a){a=a|0;var b=0;J[a>>2]=8908;b=J[a+60>>2];if(b){gl(b)}return a|0}function hj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);Re(a,b,c,d,e,f)}function gm(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Vd(a){a=a|0;var b=0;J[a>>2]=7272;b=J[a+60>>2];if(b){gl(b)}return a|0}function Hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Dl(a,J[b+8>>2],0)){Gl(b,c,d)}}function zl(a,b){var c=0;c=a;a=(b>>>0)/1e4|0;return yl(xl(c,a),b-P(a,1e4)|0)}function yl(a,b){var c=0;c=a;a=(b>>>0)/100|0;return xl(xl(c,a),b-P(a,100)|0)}function vg(a,b){a=a|0;b=b|0;a=J[a+64>>2];return ka[J[J[a>>2]+24>>2]](a,b)|0}function ug(a,b){a=a|0;b=b|0;a=J[a+64>>2];return ka[J[J[a>>2]+20>>2]](a,b)|0}function fh(a,b){a=a|0;b=b|0;return J[J[a+28>>2]+(b>>>3&536870908)>>2]>>>b&1}function Dg(a,b){a=a|0;b=b|0;a=J[a+64>>2];return ka[J[J[a>>2]+16>>2]](a,b)|0}function Cg(a,b){a=a|0;b=b|0;a=J[a+64>>2];return ka[J[J[a>>2]+12>>2]](a,b)|0}function Al(a,b){var c=0;c=a;a=(b>>>0)/1e6|0;return zl(xl(c,a),b-P(a,1e6)|0)}function hm(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} -function fi(a,b){a=a|0;b=b|0;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}function Qi(a){a=a|0;var b=0;if(a){b=J[a>>2];if(b){J[a+4>>2]=b;gl(b)}gl(a)}}function Ni(){var a=0;a=ol(12);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;return a|0}function kc(a,b,c){a=a|0;b=b|0;c=c|0;return ka[J[J[a>>2]+44>>2]](a,b,c)|0}function ke(a){a=a|0;var b=0;J[a>>2]=8908;b=J[a+60>>2];if(b){gl(b)}gl(a)}function Wd(a){a=a|0;var b=0;J[a>>2]=7272;b=J[a+60>>2];if(b){gl(b)}gl(a)}function wb(a,b,c){a=a|0;b=b|0;c=c|0;J[a+32>>2]=c;J[a+28>>2]=b;return 1}function td(a,b){a=a|0;b=b|0;if(b>>>0<=1){J[a+28>>2]=b}return b>>>0<2|0}function Zh(a,b){a=a|0;b=b|0;H[b+84|0]=1;J[b+72>>2]=J[b+68>>2];return 1}function Xc(){var a=0;a=pl(Bl(8),1313);J[a>>2]=19024;Z(a|0,19056,1);C()}function Rh(a){a=$h(a);J[a+56>>2]=0;J[a+60>>2]=0;J[a>>2]=12164;return a}function Ki(a){a=a|0;if(a){Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);gl(a)}}function Ol(a){a=a|0;if(!a){return 0}return(Fl(a,18476,18620)|0)!=0|0}function Bg(a){a=a|0;a=J[a+64>>2];return ka[J[J[a>>2]+32>>2]](a)|0}function jc(a,b){a=a|0;b=b|0;J[a+12>>2]=-1;J[a+8>>2]=b;return 1}function Ja(a){a=pl(Bl(8),a);J[a>>2]=18972;Z(a|0,19004,1);C()}function Hi(a){a=a|0;return(J[a+100>>2]-J[a+96>>2]|0)/12|0}function ua(){ia=85616;ha=20080;J[4886]=19424;J[4868]=42}function me(a){a=a|0;J[a>>2]=9156;Ae(a+96|0);return a|0}function $d(a){a=a|0;J[a>>2]=7532;Ae(a+96|0);return a|0}function ll(a,b){var c=0;c=ol(b);J[a+4>>2]=b;J[a>>2]=c}function sj(a,b,c){a=a|0;b=b|0;c=c|0;Oe(J[a>>2],b,c)}function qj(a,b,c){a=a|0;b=b|0;c=c|0;Pe(J[a>>2],b,c)}function ak(a){J[a>>2]=14964;ok(a+4|0,0,80);return a}function cm(a){if(a){return 31-S(a-1^a)|0}return 32}function Wh(a){a=a|0;J[a+52>>2]=J[J[a+56>>2]+80>>2]}function Ei(a){a=a|0;return J[a+12>>2]-J[a+8>>2]>>2}function re(a,b){a=a|0;b=b|0;return Sa(a+40|0,b)|0}function ne(a){a=a|0;J[a>>2]=9156;Ae(a+96|0);gl(a)}function ii(a){a=a|0;J[a+52>>2]=J[J[a+4>>2]+80>>2]}function ae(a){a=a|0;J[a>>2]=7532;Ae(a+96|0);gl(a)}function Oi(a,b){a=a|0;b=b|0;return H[J[a>>2]+b|0]}function Jd(a,b){a=a|0;b=b|0;return Aa(a+40|0,b)|0}function Fi(a){a=a|0;if(a){ka[J[J[a>>2]+4>>2]](a)}}function Yl(a){a=a|0;a=fa-a&-16;fa=a;return a|0}function Pi(a){a=a|0;return J[a+4>>2]-J[a>>2]|0}function xl(a,b){return jl((b<<1)+18240|0,2,a)}function ij(a,b,c){a=a|0;b=b|0;c=c|0;Oe(a,b,c)}function gj(a,b,c){a=a|0;b=b|0;c=c|0;Pe(a,b,c)}function Ik(a,b,c){if(!(K[a|0]&32)){Gk(b,c,a)}}function Xa(a,b){a=a|0;b=b|0;return K[b+24|0]}function Db(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function wj(a){a=a|0;return J[J[a>>2]+44>>2]}function vj(a){a=a|0;return J[J[a>>2]+40>>2]}function tk(a){a=a|0;return aa(J[a+60>>2])|0}function tj(a,b){a=a|0;b=b|0;Kj(J[a>>2],b)}function pj(a,b){a=a|0;b=b|0;Se(J[a>>2],b)}function Ii(a,b){a=a|0;b=b|0;J[a+80>>2]=b}function xi(a){a=a|0;return J[a+56>>2]}function wi(a){a=a|0;return J[a+80>>2]}function ud(a){a=a|0;return J[a+28>>2]}function mj(a){a=a|0;return J[a+44>>2]}function eh(a){a=a|0;return J[a+12>>2]}function Ci(a){a=a|0;return J[a+60>>2]}function Bi(a){a=a|0;return J[a+48>>2]}function Ai(a){a=a|0;return J[a+40>>2]}function zi(a){a=a|0;return K[a+32|0]}function yi(a){a=a|0;return H[a+24|0]}function Uc(a,b){a=a|0;b=b|0;return-1}function Sc(a){a=a|0;return J[a+4>>2]}function Ha(a,b){a=a|0;b=b|0;return 2}function Ga(a,b){a=a|0;b=b|0;return 6}function Eb(a,b){a=a|0;b=b|0;return 1}function Cb(a,b){a=a|0;b=b|0;return 0}function Bl(a){return fl(a+80|0)+80|0}function jj(a,b){a=a|0;b=b|0;Kj(a,b)}function fj(a,b){a=a|0;b=b|0;Se(a,b)}function gf(a,b,c,d){ff(a,b,c,d,1)}function ef(a,b,c,d){ff(a,b,c,d,0)}function vi(){return ab(ol(96))|0}function ui(){return _a(ol(64))|0}function ti(a){a=a|0;if(a){gl(a)}}function Di(){return ak(ol(84))|0}function Tl(a){a=a|0;Sl(a);gl(a)}function Rl(a){a=a|0;return 1472}function Ql(a){a=a|0;return 1622}function Pl(a){a=a|0;return 1364}function Zl(){ia=85616;ha=20080}function Da(a){a=a|0;return a|0}function xd(a){a=a|0;gl(wd(a))}function qh(a){a=a|0;gl(ph(a))}function oh(a){a=a|0;gl(nh(a))}function kk(a){a=a|0;gl(Pj(a))}function bc(a){a=a|0;gl(ac(a))}function Zc(a){a=a|0;gl(Yc(a))}function Bc(a){a=a|0;gl(Ac(a))}function qc(a){a=a|0;return 0}function nd(a){a=a|0;return 6}function ed(a){a=a|0;return 5}function _c(a){a=a|0;return 4}function Wa(a){a=a|0;return 1}function Ld(a){a=a|0;return 3}function Fa(a){a=a|0;return 2}function il(a,b,c){jl(b,c,a)}function _l(){return fa-ha|0}function Ri(){return ol(1)|0}function xe(){Ja(1493);C()}function pk(){return 19368}function Ia(){Ja(1313);C()}function Ea(a){a=a|0;gl(a)}function am(){return ha|0}function Xl(a){a=a|0;fa=a}function Wl(){return fa|0}function Vl(){return ga|0}function Ul(a){a=a|0;ga=a}function $l(){return ia|0}function Ab(a){a=a|0;C()}function zj(){return 0}function yj(){return-1}function Dj(){return 4}function Cj(){return 3}function Bj(){return 2}function Aj(){return 1}function qk(a){a=a|0} +function kf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0;B=fa-48|0;fa=B;a:{b:{if((b|0)<0){break b}if(!b){h=1;break b}J[B+40>>2]=0;J[B+32>>2]=0;J[B+36>>2]=0;c:{d:{if(b>>>0<1073741824){g=b<<2;n=pl(g);J[B+36>>2]=n;J[B+32>>2]=n;j=g+n|0;u=(c|0)<=1?1:c;c=u-1|0;v=c&-4;l=c&3;r=u-2>>>0>2;F=n;g=n;e:{f:{g:{while(1){h=J[(s<<2)+a>>2];h:{if(u>>>0<2){break h}m=0;c=1;if(r){while(1){q=(c+s<<2)+a|0;k=J[q>>2];h=h>>>0>k>>>0?h:k;k=J[q+4>>2];h=h>>>0>k>>>0?h:k;k=J[q+8>>2];h=h>>>0>k>>>0?h:k;q=J[q+12>>2];h=h>>>0>q>>>0?h:q;c=c+4|0;m=m+4|0;if((v|0)!=(m|0)){continue}break}}k=0;if(!l){break h}while(1){m=J[(c+s<<2)+a>>2];h=h>>>0>m>>>0?h:m;c=c+1|0;k=k+1|0;if((l|0)!=(k|0)){continue}break}}c=h?(S(h)^31)+1|0:1;i:{if(g>>>0>>0){J[g>>2]=c;g=g+4|0;J[B+36>>2]=g;break i}m=g-F|0;q=m>>2;g=q+1|0;if(g>>>0>=1073741824){break g}j=j-F|0;k=j>>>1|0;j=j>>>0>=2147483644?1073741823:g>>>0>>0?k:g;if(j){if(j>>>0>=1073741824){break f}n=pl(j<<2)}else{n=0}g=n+(q<<2)|0;J[g>>2]=c;c=ok(n,F,m);g=g+4|0;J[B+36>>2]=g;j=c+(j<<2)|0;if(F){hl(F)}F=c}p=h>>>0>p>>>0?h:p;s=s+u|0;if((s|0)<(b|0)){continue}break}J[B+40>>2]=j;J[B+32>>2]=n;c=0;J[B+24>>2]=0;J[B+16>>2]=0;J[B+20>>2]=0;j:{if((g|0)==(F|0)){k=0;break j}c=g-F|0;if((c|0)<0){break e}k=pl(c);J[B+16>>2]=k;J[B+24>>2]=(c&-4)+k;c=F;h=k;while(1){J[h>>2]=J[c>>2];h=h+4|0;c=c+4|0;if((g|0)!=(c|0)){continue}break}J[B+20>>2]=h;c=h-k>>2;if((h|0)==(k|0)){break j}g=c>>>0<=1?1:c;q=g&3;s=0;k:{if(g-1>>>0<3){h=0;break k}n=g&-4;h=0;m=0;while(1){g=f;f=h<<2;l=J[f+k>>2];g=g+l|0;j=i;j=g>>>0>>0?j+1|0:j;l=J[(f|4)+k>>2];i=l+g|0;g=j;g=l>>>0>i>>>0?g+1|0:g;j=J[(f|8)+k>>2];i=j+i|0;g=j>>>0>i>>>0?g+1|0:g;l=i;i=J[(f|12)+k>>2];f=l+i|0;i=f>>>0>>0?g+1|0:g;h=h+4|0;m=m+4|0;if((n|0)!=(m|0)){continue}break}}if(!q){break j}while(1){j=J[(h<<2)+k>>2];f=j+f|0;g=i;i=f>>>0>>0?g+1|0:g;h=h+1|0;s=s+1|0;if((q|0)!=(s|0)){continue}break}}c=cf(k,c,32,B);v=ja;r=J[B>>2];if(k){J[B+20>>2]=k;hl(k)}m=cf(a,b,p,B);s=ja;k=J[B>>2];G=(p-k|0)/64|0;if(d){g=pl(32);H[g+22|0]=0;h=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);j=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[g+14|0]=j;H[g+15|0]=j>>>8;H[g+16|0]=j>>>16;H[g+17|0]=j>>>24;H[g+18|0]=h;H[g+19|0]=h>>>8;H[g+20|0]=h>>>16;H[g+21|0]=h>>>24;h=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);j=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[g+8|0]=j;H[g+9|0]=j>>>8;H[g+10|0]=j>>>16;H[g+11|0]=j>>>24;H[g+12|0]=h;H[g+13|0]=h>>>8;H[g+14|0]=h>>>16;H[g+15|0]=h>>>24;h=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);j=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[g|0]=j;H[g+1|0]=j>>>8;H[g+2|0]=j>>>16;H[g+3|0]=j>>>24;H[g+4|0]=h;H[g+5|0]=h>>>8;H[g+6|0]=h>>>16;H[g+7|0]=h>>>24;h=J[d+4>>2];if(h){while(1){j=K[h+27|0];q=j<<24>>24<0;j=q?J[h+20>>2]:j;n=j>>>0<22;l:{m:{n:{o:{p:{q:{l=n?j:22;if(l){q=q?J[h+16>>2]:h+16|0;t=tk(g,q,l);if(t){break q}if(j>>>0<=22){break p}break l}if(j>>>0<=22){break o}break l}if((t|0)<0){break l}}j=tk(q,g,l);if(j){break n}}if(n){break m}break d}if((j|0)>=0){break d}}h=h+4|0}h=J[h>>2];if(h){continue}break}}hl(g)}if((S(p>>>0<=1?1:p)^30)>>>0<18){g=c;c=em(f,i,u,0);f=g+c|0;g=ja+v|0;g=c>>>0>f>>>0?g+1|0:g;c=r<<3;q=c>>31<<1|c>>>31;i=f;f=c<<1;c=i+f|0;j=g+q|0;j=c>>>0>>0?j+1|0:j;f=c;c=k+G<<3;i=c;h=c>>31;c=m;g=k<<3;m=g;c=c+g|0;g=(g>>31)+s|0;h=(c>>>0>>0?g+1|0:g)+h|0;g=c;c=c+i|0;h=g>>>0>c>>>0?h+1|0:h;c=(h|0)<=(j|0)&c>>>0<=f>>>0|(h|0)<(j|0)}else{c=0}break c}J[B+40>>2]=j;J[B+32>>2]=n;break a}J[B+32>>2]=n;Ya();C()}break a}break a}hl(g);c=pl(32);J[B>>2]=c;J[B+4>>2]=22;J[B+8>>2]=-2147483616;f=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);i=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[c+14|0]=i;H[c+15|0]=i>>>8;H[c+16|0]=i>>>16;H[c+17|0]=i>>>24;H[c+18|0]=f;H[c+19|0]=f>>>8;H[c+20|0]=f>>>16;H[c+21|0]=f>>>24;f=K[1581]|K[1582]<<8|(K[1583]<<16|K[1584]<<24);i=K[1577]|K[1578]<<8|(K[1579]<<16|K[1580]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1573]|K[1574]<<8|(K[1575]<<16|K[1576]<<24);i=K[1569]|K[1570]<<8|(K[1571]<<16|K[1572]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+22|0]=0;c=oi(d,B);if(H[B+11|0]>=0){break c}hl(J[B>>2])}H[B|0]=c;f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){Ba(e,J[e+4>>2],B,B+1|0)}h=0;r:{s:{switch(c|0){case 0:p=0;k=fa-336|0;fa=k;pk(k+80|0,0,256);d=J[B+36>>2];c=J[B+32>>2];t:{if((d|0)==(c|0)){break t}d=d-c>>2;d=d>>>0<=1?1:d;i=d&3;if(d-1>>>0>=3){n=d&-4;while(1){f=k+80|0;d=p<<2;g=f+(J[d+c>>2]<<3)|0;j=g;m=J[g>>2];g=J[g+4>>2];m=m+1|0;g=m?g:g+1|0;J[j>>2]=m;J[j+4>>2]=g;g=f+(J[c+(d|4)>>2]<<3)|0;j=J[g>>2];q=J[g+4>>2];j=j+1|0;q=j?q:q+1|0;J[g>>2]=j;J[g+4>>2]=q;g=f+(J[c+(d|8)>>2]<<3)|0;j=J[g>>2];m=J[g+4>>2];j=j+1|0;m=j?m:m+1|0;J[g>>2]=j;J[g+4>>2]=m;d=f+(J[c+(d|12)>>2]<<3)|0;f=J[d>>2];g=J[d+4>>2];f=f+1|0;g=f?g:g+1|0;J[d>>2]=f;J[d+4>>2]=g;p=p+4|0;h=h+4|0;if((n|0)!=(h|0)){continue}break}}if(!i){break t}h=0;while(1){d=(k+80|0)+(J[c+(p<<2)>>2]<<3)|0;f=J[d>>2];q=J[d+4>>2];f=f+1|0;q=f?q:q+1|0;J[d>>2]=f;J[d+4>>2]=q;p=p+1|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}l=k+48|0;J[l>>2]=0;J[l+4>>2]=0;H[l+24|0]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+8>>2]=0;J[l+12>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;lf(k,k+80|0,32,e);d=J[k+16>>2];f=J[k+20>>2];c=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=c;J[k+44>>2]=0;q=f<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?q+1|0:q;d=c+((m&7)<<29|d>>>3)|0;g=m>>>3|0;g=c>>>0>d>>>0?g+1|0:g;c=d+8|0;ki(e,c);c=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=16384;J[k+24>>2]=c+J[k+40>>2];li(l,b<<5,b>>31<<5|b>>>27,0);b=b-u|0;if((b|0)>=0){j=(u|0)<=0;c=b;while(1){p=J[k+32>>2];n=J[B+32>>2];f=J[k>>2]+(J[n+((c|0)/(u|0)<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(p>>>0>=i>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=p;p=J[k+32>>2]>>>8|0;J[k+32>>2]=p;if(i>>>0<=p>>>0){continue}break}n=J[B+32>>2]}g=J[f+4>>2];f=(p>>>0)/(d>>>0)|0;J[k+32>>2]=g+((f<<12)+(p-P(d,f)|0)|0);m=b-c|0;g=(m|0)/(u|0)|0;u:{if(j){break u}d=J[l+20>>2];i=d;f=J[l+16>>2];if(!f&(d|0)<=0|(d|0)<0){break u}g=J[(g<<2)+n>>2];n=0;while(1){if(!(!f&(i|0)<=0|(i|0)<0|(g|0)<=0)){f=J[(n+m<<2)+a>>2];d=J[l+12>>2];F=J[d+4>>2];h=0;while(1){i=F>>>3|0;q=i+J[d>>2]|0;v=K[q|0];D=q;q=F&7;I=D,L=im(q)&v,H[I|0]=L;i=i+J[d>>2]|0;H[i|0]=K[i|0]|(f>>>h&1)<>2]+1|0;J[d+4>>2]=F;h=h+1|0;if((g|0)!=(h|0)){continue}break}}n=n+1|0;if((u|0)==(n|0)){break u}f=J[l+16>>2];i=J[l+20>>2];continue}}c=c-u|0;if((c|0)>=0){continue}break}}mf(k,e);mi(l);a=J[e+20>>2];if(!J[e+16>>2]&(a|0)<=0|(a|0)<0){Ba(e,J[e+4>>2],J[l>>2],J[l+4>>2])}a=J[k>>2];if(a){J[k+4>>2]=a;hl(a)}a=J[l+12>>2];J[l+12>>2]=0;if(a){hl(a)}a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}fa=k+336|0;h=1;F=J[B+32>>2];break r;case 1:break s;default:break r}}G=fa-32|0;fa=G;n=1;v:{if((k|0)>0){c=S(k);if((c^30)>>>0>17){break v}n=32-c|0}w:{if(!d){break w}c=pl(48);H[c+33|0]=0;H[c+32|0]=K[1470];f=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);i=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[c+24|0]=i;H[c+25|0]=i>>>8;H[c+26|0]=i>>>16;H[c+27|0]=i>>>24;H[c+28|0]=f;H[c+29|0]=f>>>8;H[c+30|0]=f>>>16;H[c+31|0]=f>>>24;f=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);i=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[c+16|0]=i;H[c+17|0]=i>>>8;H[c+18|0]=i>>>16;H[c+19|0]=i>>>24;H[c+20|0]=f;H[c+21|0]=f>>>8;H[c+22|0]=f>>>16;H[c+23|0]=f>>>24;f=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);i=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);i=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;x:{h=J[d+4>>2];if(h){while(1){f=K[h+27|0];i=f<<24>>24<0;f=i?J[h+20>>2]:f;g=f>>>0<33;y:{z:{A:{B:{C:{D:{j=g?f:33;if(j){i=i?J[h+16>>2]:h+16|0;m=tk(c,i,j);if(m){break D}if(f>>>0<=33){break C}break y}if(f>>>0<=33){break B}break y}if((m|0)<0){break y}}f=tk(i,c,j);if(f){break A}}if(g){break z}break x}if((f|0)>=0){break x}}h=h+4|0}h=J[h>>2];if(h){continue}break}}hl(c);break w}hl(c);c=pl(48);J[G+16>>2]=c;J[G+20>>2]=33;J[G+24>>2]=-2147483600;H[c+32|0]=K[1470];f=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);i=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[c+24|0]=i;H[c+25|0]=i>>>8;H[c+26|0]=i>>>16;H[c+27|0]=i>>>24;H[c+28|0]=f;H[c+29|0]=f>>>8;H[c+30|0]=f>>>16;H[c+31|0]=f>>>24;f=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);i=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[c+16|0]=i;H[c+17|0]=i>>>8;H[c+18|0]=i>>>16;H[c+19|0]=i>>>24;H[c+20|0]=f;H[c+21|0]=f>>>8;H[c+22|0]=f>>>16;H[c+23|0]=f>>>24;f=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);i=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);i=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+33|0]=0;c=oi(d,G+16|0);if(H[G+27|0]<0){hl(J[G+16>>2])}if((c|0)<=3){n=n-2|0;break w}if(c>>>0<=5){n=n-1|0;break w}if(c>>>0>=10){n=n+2|0;break w}n=(c>>>0>7)+n|0}c=(n|0)<=1?1:n;c=(c|0)>=18?18:c;H[G+15|0]=c;d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){Ba(e,J[e+4>>2],G+15|0,G+16|0)}h=0;E:{switch(c-1|0){case 0:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;F:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}G:{if((b|0)<=0){break G}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];q=J[c+4>>2];d=d+1|0;q=d?q:q+1|0;J[c>>2]=d;J[c+4>>2]=q;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break G}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;H:{if((a|0)<=0){break H}A=a&3;I:{if(a>>>0<4){a=0;break I}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;g=i+D|0;f=f+x|0;q=(f>>>0>>0?g+1|0:g)+m|0;g=f;f=f+p|0;g=(g>>>0>f>>>0?q+1|0:q)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break H}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;J:{if(a>>>0>>0){jf(l,g-a|0);break J}if(a>>>0<=g>>>0){break J}J[l+4>>2]=e+(g<<3)}k=0;K:{L:{M:{N:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;O:{if(o<4294967296&o>=0){e=~~o>>>0;break O}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break N}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;P:{if(!g){break P}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break P}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Q:{R:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break R}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}wf(s,p,t+24|0,e,0,0);break Q}wf(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break M}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){S:{T:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));U:{if(R(w)<2147483648){i=~~w;break U}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break T}k=4096;break S}if((d|0)!=(e|0)){break S}a=1;break M}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break M}a=0;if(k>>>0<4097){break M}while(1)continue}if((d|0)<0){break K}break L}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break K}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break K}a=0;o=0;V:{if((d|0)<0){break V}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break V}a=a<<3;d=J[a+f>>2];if(!d){break V}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);W:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break W}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;g=d>>>0<39?g+1|0:g;d=a+((g&7)<<29|d>>>3)|0;h=g>>>3|0;j=a>>>0>d>>>0?h+1|0:h;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break F}h=1;break v;case 1:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;X:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}Y:{if((b|0)<=0){break Y}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Y}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Z:{if((a|0)<=0){break Z}A=a&3;_:{if(a>>>0<4){a=0;break _}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=h;h=g;j=i+D|0;f=f+x|0;g=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+p|0;q=(g>>>0>f>>>0?h+1|0:h)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?q+1|0:q;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Z}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;g=g+i|0;f=e+f|0;i=f>>>0>>0?g+1|0:g;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;$:{if(a>>>0>>0){jf(l,g-a|0);break $}if(a>>>0<=g>>>0){break $}J[l+4>>2]=e+(g<<3)}k=0;aa:{ba:{ca:{da:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;ea:{if(o<4294967296&o>=0){e=~~o>>>0;break ea}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break da}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;fa:{if(!g){break fa}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break fa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ga:{ha:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break ha}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}zf(s,p,t+24|0,e,0,0);break ga}zf(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break ca}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){ia:{ja:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));ka:{if(R(w)<2147483648){i=~~w;break ka}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break ja}k=4096;break ia}if((d|0)!=(e|0)){break ia}a=1;break ca}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break ca}a=0;if(k>>>0<4097){break ca}while(1)continue}if((d|0)<0){break aa}break ba}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break aa}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break aa}a=0;o=0;la:{if((d|0)<0){break la}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break la}a=a<<3;d=J[a+f>>2];if(!d){break la}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);ma:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break ma}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;h=e<<1|d>>>31;d=(d<<1)+39|0;j=h;j=d>>>0<39?j+1|0:j;d=a+((j&7)<<29|d>>>3)|0;q=j>>>3|0;m=a>>>0>d>>>0?q+1|0:q;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break X}h=1;break v;case 2:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;na:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}oa:{if((b|0)<=0){break oa}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|4)>>2]<<3)+n|0;h=J[d>>2];j=J[d+4>>2];h=h+1|0;j=h?j:j+1|0;J[d>>2]=h;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];h=J[c+4>>2];d=d+1|0;h=d?h:h+1|0;J[c>>2]=d;J[c+4>>2]=h;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break oa}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;pa:{if((a|0)<=0){break pa}x=a&3;qa:{if(a>>>0<4){a=0;break qa}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;h=m;m=i+E|0;f=f+p|0;h=(f>>>0

>>0?m+1|0:m)+h|0;m=f;f=g+f|0;q=(m>>>0>f>>>0?h+1|0:h)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?q+1|0:q)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break pa}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0>>0?j+1|0:j;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ra:{if(a>>>0>>0){jf(l,g-a|0);break ra}if(a>>>0<=g>>>0){break ra}J[l+4>>2]=e+(g<<3)}k=0;sa:{ta:{ua:{va:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;wa:{if(o<4294967296&o>=0){e=~~o>>>0;break wa}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break va}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;xa:{if(!g){break xa}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break xa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ya:{za:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break za}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Cf(s,p,t+24|0,e,0,0);break ya}Cf(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break ua}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Aa:{Ba:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Ca:{if(R(w)<2147483648){i=~~w;break Ca}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Ba}k=4096;break Aa}if((d|0)!=(e|0)){break Aa}a=1;break ua}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break ua}a=0;if(k>>>0<4097){break ua}while(1)continue}if((d|0)<0){break sa}break ta}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break sa}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break sa}a=0;o=0;Da:{if((d|0)<0){break Da}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Da}a=a<<3;d=J[a+f>>2];if(!d){break Da}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);Ea:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Ea}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;q=e<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?q+1|0:q;d=a+((m&7)<<29|d>>>3)|0;g=m>>>3|0;g=a>>>0>d>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break na}h=1;break v;case 3:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Fa:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}Ga:{if((b|0)<=0){break Ga}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];q=J[c+4>>2];d=d+1|0;q=d?q:q+1|0;J[c>>2]=d;J[c+4>>2]=q;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ga}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Ha:{if((a|0)<=0){break Ha}A=a&3;Ia:{if(a>>>0<4){a=0;break Ia}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;g=i+D|0;f=f+x|0;q=(f>>>0>>0?g+1|0:g)+m|0;g=f;f=f+p|0;g=(g>>>0>f>>>0?q+1|0:q)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Ha}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Ja:{if(a>>>0>>0){jf(l,g-a|0);break Ja}if(a>>>0<=g>>>0){break Ja}J[l+4>>2]=e+(g<<3)}k=0;Ka:{La:{Ma:{Na:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;Oa:{if(o<4294967296&o>=0){e=~~o>>>0;break Oa}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break Na}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Pa:{if(!g){break Pa}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Pa}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Qa:{Ra:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break Ra}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Ff(s,p,t+24|0,e,0,0);break Qa}Ff(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break Ma}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Sa:{Ta:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Ua:{if(R(w)<2147483648){i=~~w;break Ua}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Ta}k=4096;break Sa}if((d|0)!=(e|0)){break Sa}a=1;break Ma}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Ma}a=0;if(k>>>0<4097){break Ma}while(1)continue}if((d|0)<0){break Ka}break La}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break Ka}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break Ka}a=0;o=0;Va:{if((d|0)<0){break Va}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Va}a=a<<3;d=J[a+f>>2];if(!d){break Va}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);Wa:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Wa}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;g=d>>>0<39?g+1|0:g;d=a+((g&7)<<29|d>>>3)|0;h=g>>>3|0;j=a>>>0>d>>>0?h+1|0:h;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break Fa}h=1;break v;case 4:c=0;k=0;n=0;r=0;i=fa+-64|0;fa=i;J[i+56>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;Xa:{d=p+1|0;if(d){if(d>>>0>=536870912){break a}d=d<<3;c=pl(d);J[i+48>>2]=c;k=pk(c,0,(p<<3)+8|0)+d|0}Ya:{if((b|0)<=0){break Ya}p=0;if(b>>>0>=4){h=b&-4;while(1){d=p<<2;f=(J[d+a>>2]<<3)+c|0;j=J[f>>2];g=J[f+4>>2];j=j+1|0;g=j?g:g+1|0;J[f>>2]=j;J[f+4>>2]=g;f=(J[(d|4)+a>>2]<<3)+c|0;j=J[f>>2];g=J[f+4>>2];j=j+1|0;g=j?g:g+1|0;J[f>>2]=j;J[f+4>>2]=g;f=(J[(d|8)+a>>2]<<3)+c|0;g=J[f>>2];j=J[f+4>>2];g=g+1|0;j=g?j:j+1|0;J[f>>2]=g;J[f+4>>2]=j;d=(J[(d|12)+a>>2]<<3)+c|0;f=J[d>>2];g=J[d+4>>2];f=f+1|0;g=f?g:g+1|0;J[d>>2]=f;J[d+4>>2]=g;p=p+4|0;n=n+4|0;if((h|0)!=(n|0)){continue}break}}f=b&3;if(!f){break Ya}while(1){d=(J[(p<<2)+a>>2]<<3)+c|0;h=J[d>>2];g=J[d+4>>2];h=h+1|0;g=h?g:g+1|0;J[d>>2]=h;J[d+4>>2]=g;p=p+1|0;r=r+1|0;if((f|0)!=(r|0)){continue}break}}J[i+8>>2]=0;J[i+12>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i>>2]=0;J[i+4>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;lf(i,c,k-c>>3,e);d=J[i+16>>2];f=J[i+20>>2];c=J[e+4>>2]-J[e>>2]|0;J[i+40>>2]=c;J[i+44>>2]=0;g=f<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=c+((j&7)<<29|d>>>3)|0;g=j>>>3|0;q=c>>>0>d>>>0?g+1|0:g;c=d+8|0;ki(e,c);c=J[e>>2];J[i+28>>2]=0;J[i+32>>2]=16384;J[i+24>>2]=c+J[i+40>>2];if((b|0)>0){p=16384;while(1){c=b-1|0;f=J[i>>2]+(J[(c<<2)+a>>2]<<3)|0;d=J[f>>2];g=d<<10;if(g>>>0<=p>>>0){while(1){h=J[i+28>>2];J[i+28>>2]=h+1;H[h+J[i+24>>2]|0]=p;p=J[i+32>>2]>>>8|0;J[i+32>>2]=p;if(g>>>0<=p>>>0){continue}break}}g=J[f+4>>2];f=(p>>>0)/(d>>>0)|0;p=g+((f<<12)+(p-P(d,f)|0)|0)|0;J[i+32>>2]=p;d=(b|0)>1;b=c;if(d){continue}break}}mf(i,e);a=J[i>>2];if(a){J[i+4>>2]=a;hl(a)}a=J[i+48>>2];if(a){hl(a)}fa=i- -64|0;break Xa}h=1;break v;case 5:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Za:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}_a:{if((b|0)<=0){break _a}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break _a}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;$a:{if((a|0)<=0){break $a}A=a&3;ab:{if(a>>>0<4){a=0;break ab}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;p=g;q=i+D|0;f=f+x|0;g=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+v|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break $a}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0>>0?j+1|0:j;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;bb:{if(a>>>0>>0){jf(l,g-a|0);break bb}if(a>>>0<=g>>>0){break bb}J[l+4>>2]=e+(g<<3)}k=0;cb:{db:{eb:{fb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;gb:{if(o<4294967296&o>=0){e=~~o>>>0;break gb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break fb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;hb:{if(!g){break hb}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break hb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ib:{jb:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break jb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}If(s,p,t+24|0,e,0,0);break ib}If(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break eb}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){kb:{lb:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));mb:{if(R(w)<2147483648){i=~~w;break mb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break lb}k=4096;break kb}if((d|0)!=(e|0)){break kb}a=1;break eb}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break eb}a=0;if(k>>>0<4097){break eb}while(1)continue}if((d|0)<0){break cb}break db}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break cb}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break cb}a=0;o=0;nb:{if((d|0)<0){break nb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break nb}a=a<<3;d=J[a+f>>2];if(!d){break nb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);ob:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break ob}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;h=q>>>3|0;m=a>>>0>d>>>0?h+1|0:h;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break Za}h=1;break v;case 6:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;pb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}qb:{if((b|0)<=0){break qb}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];m=J[d+4>>2];g=g+1|0;m=g?m:m+1|0;J[d>>2]=g;J[d+4>>2]=m;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break qb}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;rb:{if((a|0)<=0){break rb}x=a&3;sb:{if(a>>>0<4){a=0;break sb}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;h=g;g=m;m=i+E|0;f=f+p|0;g=(f>>>0

>>0?m+1|0:m)+g|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?h+1|0:h)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break rb}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0>>0?q+1|0:q;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;tb:{if(a>>>0>>0){jf(l,g-a|0);break tb}if(a>>>0<=g>>>0){break tb}J[l+4>>2]=e+(g<<3)}k=0;ub:{vb:{wb:{xb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;yb:{if(o<4294967296&o>=0){e=~~o>>>0;break yb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break xb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;zb:{if(!g){break zb}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break zb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Ab:{Bb:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break Bb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Lf(s,p,t+24|0,e,0,0);break Ab}Lf(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break wb}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Cb:{Db:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Eb:{if(R(w)<2147483648){i=~~w;break Eb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Db}k=4096;break Cb}if((d|0)!=(e|0)){break Cb}a=1;break wb}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break wb}a=0;if(k>>>0<4097){break wb}while(1)continue}if((d|0)<0){break ub}break vb}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break ub}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break ub}a=0;o=0;Fb:{if((d|0)<0){break Fb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Fb}a=a<<3;d=J[a+f>>2];if(!d){break Fb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);Gb:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Gb}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;h=e<<1|d>>>31;d=(d<<1)+39|0;m=d>>>0<39?h+1|0:h;g=m>>>3|0;d=a+((m&7)<<29|d>>>3)|0;j=d>>>0>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break pb}h=1;break v;case 7:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Hb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}Ib:{if((b|0)<=0){break Ib}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|4)>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];j=J[d+4>>2];h=h+1|0;j=h?j:j+1|0;J[d>>2]=h;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];h=J[c+4>>2];d=d+1|0;h=d?h:h+1|0;J[c>>2]=d;J[c+4>>2]=h;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ib}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Jb:{if((a|0)<=0){break Jb}A=a&3;Kb:{if(a>>>0<4){a=0;break Kb}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=h;j=i+D|0;f=f+x|0;h=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?h+1|0:h)+q|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+v|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break Jb}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;m=g+i|0;f=e+f|0;i=f>>>0>>0?m+1|0:m;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Lb:{if(a>>>0>>0){jf(l,g-a|0);break Lb}if(a>>>0<=g>>>0){break Lb}J[l+4>>2]=e+(g<<3)}k=0;Mb:{Nb:{Ob:{Pb:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*4096+.5;Qb:{if(o<4294967296&o>=0){e=~~o>>>0;break Qb}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==4096){break Pb}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Rb:{if(!g){break Rb}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Rb}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Sb:{Tb:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break Tb}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Of(s,p,t+24|0,e,0,0);break Sb}Of(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<4096){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)+4096;a=0;break Ob}if((d|0)>0){h=J[l>>2];r=k-4096|0;while(1){o=4096/+(k|0);e=d;while(1){Ub:{Vb:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Wb:{if(R(w)<2147483648){i=~~w;break Wb}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=4096){break Vb}k=4096;break Ub}if((d|0)!=(e|0)){break Ub}a=1;break Ob}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Ob}a=0;if(k>>>0<4097){break Ob}while(1)continue}if((d|0)<0){break Mb}break Nb}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break Mb}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=4096){break Mb}a=0;o=0;Xb:{if((d|0)<0){break Xb}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.000244140625)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Xb}a=a<<3;d=J[a+f>>2];if(!d){break Xb}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*.000244140625)+o}o=W(-o);Yb:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Yb}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;g=j>>>3|0;q=a>>>0>d>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=16384;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=16384;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<12)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}mf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break Hb}h=1;break v;case 8:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;Zb:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=pl(a);J[k+48>>2]=r;n=pk(r,0,(p<<3)+8|0)+a|0}_b:{if((b|0)<=0){break _b}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break _b}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=fa-32|0;fa=t;a=n-r>>3;$b:{if((a|0)<=0){break $b}A=a&3;ac:{if(a>>>0<4){a=0;break ac}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;v=g;q=i+D|0;f=f+x|0;g=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=f+v|0;g=(m>>>0>f>>>0?g+1|0:g)+u|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break $b}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;j=g+i|0;f=d+f|0;i=f>>>0>>0?j+1|0:j;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;bc:{if(a>>>0>>0){jf(k,g-a|0);break bc}if(a>>>0<=g>>>0){break bc}J[k+4>>2]=d+(g<<3)}n=0;cc:{dc:{ec:{fc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*8192+.5;gc:{if(o<4294967296&o>=0){d=~~o>>>0;break gc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==8192){break fc}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;hc:{if(!g){break hc}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;d=0;f=pk(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break hc}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;ic:{jc:{if((a|0)>=513){a=d;while(1){f=pl(a<<2);if(f){break jc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Rf(s,p,t+24|0,d,0,0);break ic}Rf(s,p,t+24|0,d,f,a);hl(f)}if((n|0)<8192){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)- -8192;a=0;break ec}if((c|0)>0){h=J[k>>2];p=n+-8192|0;while(1){o=8192/+(n|0);d=c;while(1){kc:{lc:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));mc:{if(R(w)<2147483648){i=~~w;break mc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=8192){break lc}n=8192;break kc}if((c|0)!=(d|0)){break kc}a=1;break ec}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break ec}a=0;if(n>>>0<8193){break ec}while(1)continue}if((c|0)<0){break cc}break dc}d=J[t+8>>2];if(d){hl(d)}if((c|0)<0|a){break cc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=8192){break cc}a=0;o=0;nc:{if((c|0)<0){break nc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.0001220703125)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*.0001220703125)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break nc}a=a<<3;c=J[a+f>>2];if(!c){break nc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(c>>>0)*.0001220703125)+o}o=W(-o);oc:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break oc}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;h=q>>>3|0;m=a>>>0>c>>>0?h+1|0:h;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=32768;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=32768;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<13)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-32768|0;pc:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break pc}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+49152>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break pc}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;f=b+8355840|0;H[d+2|0]=f>>>16;H[d+1|0]=f>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break pc}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1073774592|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=f>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break pc}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ok(d+c|0,c,b);nk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;hl(a)}a=J[k+48>>2];if(a){hl(a)}fa=k- -64|0;break Zb}h=1;break v;case 9:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;qc:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=pl(a);J[k+48>>2]=r;n=pk(r,0,(p<<3)+8|0)+a|0}rc:{if((b|0)<=0){break rc}a=0;if(b>>>0>=4){j=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=J[g>>2];m=J[g+4>>2];h=h+1|0;m=h?m:m+1|0;J[g>>2]=h;J[g+4>>2]=m;g=(J[l+(c|4)>>2]<<3)+r|0;m=J[g>>2];h=J[g+4>>2];m=m+1|0;h=m?h:h+1|0;J[g>>2]=m;J[g+4>>2]=h;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}d=b&3;if(!d){break rc}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;v=fa-32|0;fa=v;a=n-r>>3;sc:{if((a|0)<=0){break sc}x=a&3;tc:{if(a>>>0<4){a=0;break tc}A=a&-4;a=0;while(1){g=(a<<3)+r|0;t=J[g>>2];m=J[g+4>>2];E=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;D=(u<<3)+r|0;h=J[D>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|t?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[D+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;q=i+E|0;f=f+t|0;m=(f>>>0>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+u|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+n|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;d=d+4|0;if((A|0)!=(d|0)){continue}break}}if(!x){break sc}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;h=g+i|0;f=d+f|0;i=f>>>0>>0?h+1|0:h;p=p+1|0;if((x|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;uc:{if(a>>>0>>0){jf(k,g-a|0);break uc}if(a>>>0<=g>>>0){break uc}J[k+4>>2]=d+(g<<3)}n=0;vc:{wc:{xc:{yc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*32768+.5;zc:{if(o<4294967296&o>=0){d=~~o>>>0;break zc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==32768){break yc}}J[v+16>>2]=0;J[v+8>>2]=0;J[v+12>>2]=0;p=0;Ac:{if(!g){break Ac}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[v+8>>2]=s;d=0;f=pk(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Ac}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[v+24>>2]=k;a=p-s|0;d=a>>2;Bc:{Cc:{if((a|0)>=513){a=d;while(1){f=pl(a<<2);if(f){break Cc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Uf(s,p,v+24|0,d,0,0);break Bc}Uf(s,p,v+24|0,d,f,a);hl(f)}if((n|0)<32768){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+32768;a=0;break xc}if((c|0)>0){h=J[k>>2];p=n-32768|0;while(1){o=32768/+(n|0);d=c;while(1){Dc:{Ec:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Fc:{if(R(w)<2147483648){i=~~w;break Fc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=32768){break Ec}n=32768;break Dc}if((c|0)!=(d|0)){break Dc}a=1;break xc}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break xc}a=0;if(n>>>0<32769){break xc}while(1)continue}if((c|0)<0){break vc}break wc}d=J[v+8>>2];if(d){hl(d)}if((c|0)<0|a){break vc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=32768){break vc}a=0;o=0;Gc:{if((c|0)<0){break Gc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*30517578125e-15)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*30517578125e-15)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Gc}a=a<<3;c=J[a+f>>2];if(!c){break Gc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(c>>>0)*30517578125e-15)+o}o=W(-o);Hc:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Hc}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=v+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;g=q>>>3|0;j=a>>>0>c>>>0?g+1|0:g;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=131072;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=131072;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<15)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-131072|0;Ic:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break Ic}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break Ic}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+8257536>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break Ic}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1073872896|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break Ic}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ok(d+c|0,c,b);nk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;hl(a)}a=J[k+48>>2];if(a){hl(a)}fa=k- -64|0;break qc}h=1;break v;case 10:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;Jc:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=pl(a);J[k+48>>2]=r;n=pk(r,0,(p<<3)+8|0)+a|0}Kc:{if((b|0)<=0){break Kc}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|4)>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break Kc}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=fa-32|0;fa=t;a=n-r>>3;Lc:{if((a|0)<=0){break Lc}A=a&3;Mc:{if(a>>>0<4){a=0;break Mc}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=j;v=q;q=i+D|0;f=f+x|0;j=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?j+1|0:j)+v|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+u|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break Lc}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;g=g+i|0;f=d+f|0;i=f>>>0>>0?g+1|0:g;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;Nc:{if(a>>>0>>0){jf(k,g-a|0);break Nc}if(a>>>0<=g>>>0){break Nc}J[k+4>>2]=d+(g<<3)}n=0;Oc:{Pc:{Qc:{Rc:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*65536+.5;Sc:{if(o<4294967296&o>=0){d=~~o>>>0;break Sc}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==65536){break Rc}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Tc:{if(!g){break Tc}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;d=0;f=pk(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Tc}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;Uc:{Vc:{if((a|0)>=513){a=d;while(1){f=pl(a<<2);if(f){break Vc}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}Xf(s,p,t+24|0,d,0,0);break Uc}Xf(s,p,t+24|0,d,f,a);hl(f)}if((n|0)<65536){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+65536;a=0;break Qc}if((c|0)>0){h=J[k>>2];p=n-65536|0;while(1){o=65536/+(n|0);d=c;while(1){Wc:{Xc:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Yc:{if(R(w)<2147483648){i=~~w;break Yc}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=65536){break Xc}n=65536;break Wc}if((c|0)!=(d|0)){break Wc}a=1;break Qc}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break Qc}a=0;if(n>>>0<65537){break Qc}while(1)continue}if((c|0)<0){break Oc}break Pc}d=J[t+8>>2];if(d){hl(d)}if((c|0)<0|a){break Oc}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=65536){break Oc}a=0;o=0;Zc:{if((c|0)<0){break Zc}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*152587890625e-16)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*152587890625e-16)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Zc}a=a<<3;c=J[a+f>>2];if(!c){break Zc}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(c>>>0)*152587890625e-16)+o}o=W(-o);_c:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break _c}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;m=q>>>3|0;h=a>>>0>c>>>0?m+1|0:m;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=262144;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=262144;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<16)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-262144|0;$c:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break $c}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break $c}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+8126464>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break $c}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1074003968|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break $c}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ok(d+c|0,c,b);nk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;hl(a)}a=J[k+48>>2];if(a){hl(a)}fa=k- -64|0;break Jc}h=1;break v;case 11:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;ad:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=pl(a);J[k+48>>2]=r;n=pk(r,0,(p<<3)+8|0)+a|0}bd:{if((b|0)<=0){break bd}a=0;if(b>>>0>=4){j=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;m=J[g>>2];h=J[g+4>>2];m=m+1|0;h=m?h:h+1|0;J[g>>2]=m;J[g+4>>2]=h;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];m=J[g+4>>2];h=h+1|0;m=h?m:m+1|0;J[g>>2]=h;J[g+4>>2]=m;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}d=b&3;if(!d){break bd}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];m=J[c+4>>2];g=g+1|0;m=g?m:m+1|0;J[c>>2]=g;J[c+4>>2]=m;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=fa-32|0;fa=t;a=n-r>>3;cd:{if((a|0)<=0){break cd}A=a&3;dd:{if(a>>>0<4){a=0;break dd}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=j;j=h;v=q;q=i+D|0;f=f+x|0;h=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=g+f|0;g=(m>>>0>f>>>0?h+1|0:h)+v|0;m=f;f=f+j|0;j=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+u|0;i=g>>>0>f>>>0?j+1|0:j;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break cd}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;m=g+i|0;f=d+f|0;i=f>>>0>>0?m+1|0:m;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;ed:{if(a>>>0>>0){jf(k,g-a|0);break ed}if(a>>>0<=g>>>0){break ed}J[k+4>>2]=d+(g<<3)}n=0;fd:{gd:{hd:{id:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*262144+.5;jd:{if(o<4294967296&o>=0){d=~~o>>>0;break jd}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==262144){break id}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;kd:{if(!g){break kd}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;d=0;f=pk(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break kd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;ld:{md:{if((a|0)>=513){a=d;while(1){f=pl(a<<2);if(f){break md}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}_f(s,p,t+24|0,d,0,0);break ld}_f(s,p,t+24|0,d,f,a);hl(f)}if((n|0)<262144){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+262144;a=0;break hd}if((c|0)>0){h=J[k>>2];p=n-262144|0;while(1){o=262144/+(n|0);d=c;while(1){nd:{od:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));pd:{if(R(w)<2147483648){i=~~w;break pd}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=262144){break od}n=262144;break nd}if((c|0)!=(d|0)){break nd}a=1;break hd}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break hd}a=0;if(n>>>0<262145){break hd}while(1)continue}if((c|0)<0){break fd}break gd}d=J[t+8>>2];if(d){hl(d)}if((c|0)<0|a){break fd}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=262144){break fd}a=0;o=0;qd:{if((c|0)<0){break qd}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*3814697265625e-18)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*3814697265625e-18)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break qd}a=a<<3;c=J[a+f>>2];if(!c){break qd}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(c>>>0)*3814697265625e-18)+o}o=W(-o);rd:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break rd}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;j=q>>>3|0;g=a>>>0>c>>>0?j+1|0:j;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=1048576;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=1048576;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<18)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b+-1048576|0;sd:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break sd}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break sd}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+7340032>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break sd}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1074790400|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break sd}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ok(d+c|0,c,b);nk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;hl(a)}a=J[k+48>>2];if(a){hl(a)}fa=k- -64|0;break ad}h=1;break v;case 12:l=a;n=0;r=0;d=0;s=0;f=0;i=0;k=fa+-64|0;fa=k;J[k+56>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;td:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;r=pl(a);J[k+48>>2]=r;n=pk(r,0,(p<<3)+8|0)+a|0}ud:{if((b|0)<=0){break ud}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;g=(J[c+l>>2]<<3)+r|0;h=g;j=J[g>>2];g=J[g+4>>2];j=j+1|0;g=j?g:g+1|0;J[h>>2]=j;J[h+4>>2]=g;g=(J[l+(c|4)>>2]<<3)+r|0;h=J[g>>2];j=J[g+4>>2];h=h+1|0;j=h?j:j+1|0;J[g>>2]=h;J[g+4>>2]=j;g=(J[l+(c|8)>>2]<<3)+r|0;h=J[g>>2];q=J[g+4>>2];h=h+1|0;q=h?q:q+1|0;J[g>>2]=h;J[g+4>>2]=q;c=(J[l+(c|12)>>2]<<3)+r|0;h=J[c>>2];g=J[c+4>>2];h=h+1|0;g=h?g:g+1|0;J[c>>2]=h;J[c+4>>2]=g;a=a+4|0;d=d+4|0;if((m|0)!=(d|0)){continue}break}}d=b&3;if(!d){break ud}while(1){c=(J[l+(a<<2)>>2]<<3)+r|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[k+8>>2]=0;J[k+12>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+24>>2]=0;J[k+28>>2]=0;J[k+32>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k+40>>2]=0;J[k+44>>2]=0;d=0;p=0;c=0;s=0;t=fa-32|0;fa=t;a=n-r>>3;vd:{if((a|0)<=0){break vd}A=a&3;wd:{if(a>>>0<4){a=0;break wd}E=a&-4;a=0;while(1){g=(a<<3)+r|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;n=(q<<3)+r|0;g=J[n>>2];u=a|2;v=(u<<3)+r|0;h=J[v>>2];y=a|3;z=(y<<3)+r|0;j=J[z>>2];c=m|x?a:c;m=J[n+4>>2];c=m|g?q:c;q=J[v+4>>2];n=J[z+4>>2];c=n|j?y:q|h?u:c;u=q;v=g;q=i+D|0;f=f+x|0;g=(f>>>0>>0?q+1|0:q)+m|0;m=f;f=f+v|0;g=(m>>>0>f>>>0?g+1|0:g)+u|0;m=f;f=f+h|0;h=(m>>>0>f>>>0?g+1|0:g)+n|0;g=f;f=f+j|0;i=g>>>0>f>>>0?h+1|0:h;a=a+4|0;d=d+4|0;if((E|0)!=(d|0)){continue}break}}if(!A){break vd}while(1){g=(a<<3)+r|0;d=J[g>>2];g=J[g+4>>2];c=d|g?a:c;a=a+1|0;j=g+i|0;f=d+f|0;i=f>>>0>>0?j+1|0:j;p=p+1|0;if((A|0)!=(p|0)){continue}break}}g=c+1|0;J[k+12>>2]=g;d=J[k>>2];a=J[k+4>>2]-d>>3;xd:{if(a>>>0>>0){jf(k,g-a|0);break xd}if(a>>>0<=g>>>0){break xd}J[k+4>>2]=d+(g<<3)}n=0;yd:{zd:{Ad:{Bd:{if((c|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[k>>2];a=0;while(1){i=a<<3;h=i+r|0;d=J[h>>2];h=J[h+4>>2];j=(d|h)!=0;m=f+i|0;o=(+(d>>>0)+ +(h>>>0)*4294967296)/w*524288+.5;Cd:{if(o<4294967296&o>=0){d=~~o>>>0;break Cd}d=0}d=d?d:j?1:d;J[m>>2]=d;n=d+n|0;d=(a|0)==(c|0);a=a+1|0;if(!d){continue}break}if((n|0)==524288){break Bd}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Dd:{if(!g){break Dd}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;d=0;f=pk(s,0,i);a=0;if(c>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Dd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}}J[t+24>>2]=k;a=p-s|0;d=a>>2;Ed:{Fd:{if((a|0)>=513){a=d;while(1){f=pl(a<<2);if(f){break Fd}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}bg(s,p,t+24|0,d,0,0);break Ed}bg(s,p,t+24|0,d,f,a);hl(f)}if((n|0)<524288){a=J[k>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-n|0)+524288;a=0;break Ad}if((c|0)>0){h=J[k>>2];p=n-524288|0;while(1){o=524288/+(n|0);d=c;while(1){Gd:{Hd:{f=h+(J[(d<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Id:{if(R(w)<2147483648){i=~~w;break Id}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(p|0)?a:p;J[q>>2]=m-a;p=p-a|0;n=n-a|0;if((n|0)!=524288){break Hd}n=524288;break Gd}if((c|0)!=(d|0)){break Gd}a=1;break Ad}a=(d|0)>1;d=d-1|0;if(a){continue}}break}a=0;if((p|0)>0){continue}break}break Ad}a=0;if(n>>>0<524289){break Ad}while(1)continue}if((c|0)<0){break yd}break zd}d=J[t+8>>2];if(d){hl(d)}if((c|0)<0|a){break yd}}d=J[k>>2];n=0;p=0;a=0;if(c>>>0>=3){i=g&-4;s=0;while(1){f=p<<3;h=f+d|0;J[h+4>>2]=a;j=d+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=d+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=d+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;p=p+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=d+(p<<3)|0;J[i+4>>2]=a;p=p+1|0;a=J[i>>2]+a|0;n=n+1|0;if((f|0)!=(n|0)){continue}break}}if((a|0)!=524288){break yd}a=0;o=0;Jd:{if((c|0)<0){break Jd}f=J[k>>2];if(c){c=g&-2;d=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*19073486328125e-19)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+r|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*19073486328125e-19)+o}a=a+2|0;d=d+2|0;if((c|0)!=(d|0)){continue}break}}if(!(g&1)){break Jd}a=a<<3;c=J[a+f>>2];if(!c){break Jd}a=a+r|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(c>>>0)*19073486328125e-19)+o}o=W(-o);Kd:{if(o<0x10000000000000000&o>=0){c=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Kd}c=0;a=0}J[k+16>>2]=a;J[k+20>>2]=c;of(k,e)}fa=t+32|0;c=J[k+16>>2];d=J[k+20>>2];a=J[e+4>>2]-J[e>>2]|0;J[k+40>>2]=a;J[k+44>>2]=0;g=d<<1|c>>>31;c=(c<<1)+39|0;q=c>>>0<39?g+1|0:g;c=a+((q&7)<<29|c>>>3)|0;h=q>>>3|0;m=a>>>0>c>>>0?h+1|0:h;a=c+8|0;ki(e,a);a=J[e>>2];J[k+28>>2]=0;J[k+32>>2]=2097152;J[k+24>>2]=a+J[k+40>>2];if((b|0)>0){a=2097152;while(1){c=b-1|0;f=J[k>>2]+(J[l+(c<<2)>>2]<<3)|0;d=J[f>>2];i=d<<10;if(i>>>0<=a>>>0){while(1){g=J[k+28>>2];J[k+28>>2]=g+1;H[g+J[k+24>>2]|0]=a;a=J[k+32>>2]>>>8|0;J[k+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(d>>>0)|0;a=g+((f<<19)+(a-P(d,f)|0)|0)|0;J[k+32>>2]=a;d=(b|0)>1;b=c;if(d){continue}break}}a=fa-32|0;fa=a;c=J[e>>2]+J[k+40>>2]|0;b=J[k+32>>2];d=b-2097152|0;Ld:{if(d>>>0<=63){H[J[k+24>>2]+J[k+28>>2]|0]=b;f=J[k+28>>2]+1|0;break Ld}if(d>>>0<=16383){d=J[k+24>>2]+J[k+28>>2]|0;H[d+1|0]=b+16384>>>8;H[d|0]=b;f=J[k+28>>2]+2|0;break Ld}if(d>>>0<=4194303){d=J[k+24>>2]+J[k+28>>2]|0;H[d+2|0]=b+6291456>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+3|0;break Ld}if(d>>>0<=1073741823){d=J[k+24>>2]+J[k+28>>2]|0;f=b-1075838976|0;H[d+3|0]=f>>>24;H[d+2|0]=f>>>16;H[d+1|0]=b>>>8;H[d|0]=b;f=J[k+28>>2]+4|0;break Ld}f=J[k+28>>2]}b=f;J[a>>2]=0;J[a+4>>2]=0;H[a+24|0]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=b>>31;pf(b,g,a);d=J[a+4>>2]-J[a>>2]|0;ok(d+c|0,c,b);nk(c,J[a>>2],d);c=J[k+40>>2];b=b+d|0;q=J[k+44>>2]+(f>>>0>b>>>0?g+1|0:g)|0;d=b;b=b+c|0;ki(e,b);b=J[a+12>>2];J[a+12>>2]=0;if(b){hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}fa=a+32|0;a=J[k>>2];if(a){J[k+4>>2]=a;hl(a)}a=J[k+48>>2];if(a){hl(a)}fa=k- -64|0;break td}h=1;break v;case 13:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Md:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}Nd:{if((b|0)<=0){break Nd}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];q=J[d+4>>2];h=h+1|0;q=h?q:q+1|0;J[d>>2]=h;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];m=J[c+4>>2];d=d+1|0;m=d?m:m+1|0;J[c>>2]=d;J[c+4>>2]=m;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Nd}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Od:{if((a|0)<=0){break Od}x=a&3;Pd:{if(a>>>0<4){a=0;break Pd}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;q=i+E|0;f=f+p|0;m=(f>>>0

>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+v|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break Od}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;h=g+i|0;f=e+f|0;i=f>>>0>>0?h+1|0:h;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Qd:{if(a>>>0>>0){jf(l,g-a|0);break Qd}if(a>>>0<=g>>>0){break Qd}J[l+4>>2]=e+(g<<3)}k=0;Rd:{Sd:{Td:{Ud:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;Vd:{if(o<4294967296&o>=0){e=~~o>>>0;break Vd}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ud}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Wd:{if(!g){break Wd}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Wd}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Xd:{Yd:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break Yd}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}eg(s,p,t+24|0,e,0,0);break Xd}eg(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Td}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){Zd:{_d:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));$d:{if(R(w)<2147483648){i=~~w;break $d}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break _d}k=1048576;break Zd}if((d|0)!=(e|0)){break Zd}a=1;break Td}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Td}a=0;if(k>>>0<1048577){break Td}while(1)continue}if((d|0)<0){break Rd}break Sd}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break Rd}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break Rd}a=0;o=0;ae:{if((d|0)<0){break ae}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break ae}a=a<<3;d=J[a+f>>2];if(!d){break ae}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);be:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break be}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;g=q>>>3|0;j=a>>>0>d>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break Md}h=1;break v;case 14:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;ce:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}de:{if((b|0)<=0){break de}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break de}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;ee:{if((a|0)<=0){break ee}A=a&3;fe:{if(a>>>0<4){a=0;break fe}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=g;j=i+D|0;f=f+x|0;g=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+q|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break ee}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0>>0?q+1|0:q;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ge:{if(a>>>0>>0){jf(l,g-a|0);break ge}if(a>>>0<=g>>>0){break ge}J[l+4>>2]=e+(g<<3)}k=0;he:{ie:{je:{ke:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;le:{if(o<4294967296&o>=0){e=~~o>>>0;break le}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break ke}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;me:{if(!g){break me}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break me}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;ne:{oe:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break oe}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}hg(s,p,t+24|0,e,0,0);break ne}hg(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break je}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){pe:{qe:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));re:{if(R(w)<2147483648){i=~~w;break re}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break qe}k=1048576;break pe}if((d|0)!=(e|0)){break pe}a=1;break je}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break je}a=0;if(k>>>0<1048577){break je}while(1)continue}if((d|0)<0){break he}break ie}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break he}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break he}a=0;o=0;se:{if((d|0)<0){break se}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break se}a=a<<3;d=J[a+f>>2];if(!d){break se}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);te:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break te}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;m=j>>>3|0;h=a>>>0>d>>>0?m+1|0:m;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break ce}h=1;break v;case 15:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;ue:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}ve:{if((b|0)<=0){break ve}a=0;if(b>>>0>=4){m=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];g=J[d+4>>2];h=h+1|0;g=h?g:g+1|0;J[d>>2]=h;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];h=J[d+4>>2];g=g+1|0;h=g?h:h+1|0;J[d>>2]=g;J[d+4>>2]=h;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((m|0)!=(r|0)){continue}break}}d=b&3;if(!d){break ve}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];j=J[c+4>>2];g=g+1|0;j=g?j:j+1|0;J[c>>2]=g;J[c+4>>2]=j;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;we:{if((a|0)<=0){break we}A=a&3;xe:{if(a>>>0<4){a=0;break xe}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=h;p=g;h=i+D|0;f=f+x|0;g=(f>>>0>>0?h+1|0:h)+m|0;m=f;f=f+p|0;m=(m>>>0>f>>>0?g+1|0:g)+q|0;g=f;f=f+v|0;g=(g>>>0>f>>>0?m+1|0:m)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break we}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;j=g+i|0;f=e+f|0;i=f>>>0>>0?j+1|0:j;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;ye:{if(a>>>0>>0){jf(l,g-a|0);break ye}if(a>>>0<=g>>>0){break ye}J[l+4>>2]=e+(g<<3)}k=0;ze:{Ae:{Be:{Ce:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;De:{if(o<4294967296&o>=0){e=~~o>>>0;break De}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ce}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;Ee:{if(!g){break Ee}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break Ee}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Fe:{Ge:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break Ge}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}kg(s,p,t+24|0,e,0,0);break Fe}kg(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Be}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){He:{Ie:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));Je:{if(R(w)<2147483648){i=~~w;break Je}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break Ie}k=1048576;break He}if((d|0)!=(e|0)){break He}a=1;break Be}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Be}a=0;if(k>>>0<1048577){break Be}while(1)continue}if((d|0)<0){break ze}break Ae}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break ze}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break ze}a=0;o=0;Ke:{if((d|0)<0){break Ke}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break Ke}a=a<<3;d=J[a+f>>2];if(!d){break Ke}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);Le:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break Le}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;m=e<<1|d>>>31;d=(d<<1)+39|0;h=m;h=d>>>0<39?h+1|0:h;g=h>>>3|0;d=a+((h&7)<<29|d>>>3)|0;q=d>>>0>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break ue}h=1;break v;case 16:u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;Me:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}Ne:{if((b|0)<=0){break Ne}a=0;if(b>>>0>=4){g=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;h=J[d>>2];m=J[d+4>>2];h=h+1|0;m=h?m:m+1|0;J[d>>2]=h;J[d+4>>2]=m;d=(J[u+(c|4)>>2]<<3)+n|0;j=J[d>>2];h=J[d+4>>2];j=j+1|0;h=j?h:h+1|0;J[d>>2]=j;J[d+4>>2]=h;d=(J[u+(c|8)>>2]<<3)+n|0;h=J[d>>2];q=J[d+4>>2];h=h+1|0;q=h?q:q+1|0;J[d>>2]=h;J[d+4>>2]=q;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];m=J[c+4>>2];d=d+1|0;m=d?m:m+1|0;J[c>>2]=d;J[c+4>>2]=m;a=a+4|0;r=r+4|0;if((g|0)!=(r|0)){continue}break}}d=b&3;if(!d){break Ne}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];h=J[c+4>>2];g=g+1|0;h=g?h:h+1|0;J[c>>2]=g;J[c+4>>2]=h;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;Oe:{if((a|0)<=0){break Oe}x=a&3;Pe:{if(a>>>0<4){a=0;break Pe}A=a&-4;a=0;while(1){g=(a<<3)+n|0;p=J[g>>2];m=J[g+4>>2];E=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;D=(v<<3)+n|0;h=J[D>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=p|m?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[D+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=q;q=i+E|0;f=f+p|0;m=(f>>>0

>>0?q+1|0:q)+m|0;i=f;f=g+f|0;g=(i>>>0>f>>>0?m+1|0:m)+v|0;m=f;f=f+h|0;g=(m>>>0>f>>>0?g+1|0:g)+k|0;m=f;f=f+j|0;i=m>>>0>f>>>0?g+1|0:g;a=a+4|0;e=e+4|0;if((A|0)!=(e|0)){continue}break}}if(!x){break Oe}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;h=g+i|0;f=e+f|0;i=f>>>0>>0?h+1|0:h;r=r+1|0;if((x|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;Qe:{if(a>>>0>>0){jf(l,g-a|0);break Qe}if(a>>>0<=g>>>0){break Qe}J[l+4>>2]=e+(g<<3)}k=0;Re:{Se:{Te:{Ue:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;Ve:{if(o<4294967296&o>=0){e=~~o>>>0;break Ve}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break Ue}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;We:{if(!g){break We}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break We}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;Xe:{Ye:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break Ye}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}ng(s,p,t+24|0,e,0,0);break Xe}ng(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break Te}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){Ze:{_e:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));$e:{if(R(w)<2147483648){i=~~w;break $e}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break _e}k=1048576;break Ze}if((d|0)!=(e|0)){break Ze}a=1;break Te}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break Te}a=0;if(k>>>0<1048577){break Te}while(1)continue}if((d|0)<0){break Re}break Se}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break Re}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break Re}a=0;o=0;af:{if((d|0)<0){break af}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break af}a=a<<3;d=J[a+f>>2];if(!d){break af}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);bf:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break bf}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;q=d>>>0<39?g+1|0:g;d=a+((q&7)<<29|d>>>3)|0;g=q>>>3|0;j=a>>>0>d>>>0?g+1|0:g;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break Me}h=1;break v;case 17:break E;default:break v}}u=a;k=0;n=0;r=0;s=0;f=0;i=0;l=fa+-64|0;fa=l;J[l+56>>2]=0;J[l+48>>2]=0;J[l+52>>2]=0;cf:{a=p+1|0;if(a){if(a>>>0>=536870912){break a}a=a<<3;n=pl(a);J[l+48>>2]=n;k=pk(n,0,(p<<3)+8|0)+a|0}df:{if((b|0)<=0){break df}a=0;if(b>>>0>=4){h=b&-4;while(1){c=a<<2;d=(J[c+u>>2]<<3)+n|0;j=J[d>>2];g=J[d+4>>2];j=j+1|0;g=j?g:g+1|0;J[d>>2]=j;J[d+4>>2]=g;d=(J[u+(c|4)>>2]<<3)+n|0;g=J[d>>2];q=J[d+4>>2];g=g+1|0;q=g?q:q+1|0;J[d>>2]=g;J[d+4>>2]=q;d=(J[u+(c|8)>>2]<<3)+n|0;g=J[d>>2];j=J[d+4>>2];g=g+1|0;j=g?j:j+1|0;J[d>>2]=g;J[d+4>>2]=j;c=(J[u+(c|12)>>2]<<3)+n|0;d=J[c>>2];g=J[c+4>>2];d=d+1|0;g=d?g:g+1|0;J[c>>2]=d;J[c+4>>2]=g;a=a+4|0;r=r+4|0;if((h|0)!=(r|0)){continue}break}}d=b&3;if(!d){break df}while(1){c=(J[u+(a<<2)>>2]<<3)+n|0;g=J[c>>2];q=J[c+4>>2];g=g+1|0;q=g?q:q+1|0;J[c>>2]=g;J[c+4>>2]=q;a=a+1|0;s=s+1|0;if((d|0)!=(s|0)){continue}break}}J[l+8>>2]=0;J[l+12>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;J[l+24>>2]=0;J[l+28>>2]=0;J[l+32>>2]=0;J[l>>2]=0;J[l+4>>2]=0;J[l+40>>2]=0;J[l+44>>2]=0;c=e;e=0;r=0;d=0;s=0;t=fa-32|0;fa=t;a=k-n>>3;ef:{if((a|0)<=0){break ef}A=a&3;ff:{if(a>>>0<4){a=0;break ff}E=a&-4;a=0;while(1){g=(a<<3)+n|0;x=J[g>>2];m=J[g+4>>2];D=m;q=a|1;k=(q<<3)+n|0;g=J[k>>2];v=a|2;p=(v<<3)+n|0;h=J[p>>2];y=a|3;z=(y<<3)+n|0;j=J[z>>2];d=m|x?a:d;m=J[k+4>>2];d=m|g?q:d;q=J[p+4>>2];k=J[z+4>>2];d=k|j?y:q|h?v:d;v=j;p=g;j=i+D|0;f=f+x|0;g=(f>>>0>>0?j+1|0:j)+m|0;m=f;f=f+p|0;g=(m>>>0>f>>>0?g+1|0:g)+q|0;m=f;f=f+h|0;m=(m>>>0>f>>>0?g+1|0:g)+k|0;g=f;f=f+v|0;i=g>>>0>f>>>0?m+1|0:m;a=a+4|0;e=e+4|0;if((E|0)!=(e|0)){continue}break}}if(!A){break ef}while(1){g=(a<<3)+n|0;e=J[g>>2];g=J[g+4>>2];d=e|g?a:d;a=a+1|0;q=g+i|0;f=e+f|0;i=f>>>0>>0?q+1|0:q;r=r+1|0;if((A|0)!=(r|0)){continue}break}}g=d+1|0;J[l+12>>2]=g;e=J[l>>2];a=J[l+4>>2]-e>>3;gf:{if(a>>>0>>0){jf(l,g-a|0);break gf}if(a>>>0<=g>>>0){break gf}J[l+4>>2]=e+(g<<3)}k=0;hf:{jf:{kf:{lf:{if((d|0)>=0){w=+(f>>>0)+ +(i>>>0)*4294967296;f=J[l>>2];a=0;while(1){i=a<<3;h=i+n|0;e=J[h>>2];h=J[h+4>>2];j=(e|h)!=0;m=f+i|0;o=(+(e>>>0)+ +(h>>>0)*4294967296)/w*1048576+.5;mf:{if(o<4294967296&o>=0){e=~~o>>>0;break mf}e=0}e=e?e:j?1:e;J[m>>2]=e;k=e+k|0;e=(a|0)==(d|0);a=a+1|0;if(!e){continue}break}if((k|0)==1048576){break lf}}J[t+16>>2]=0;J[t+8>>2]=0;J[t+12>>2]=0;p=0;nf:{if(!g){break nf}if(g>>>0>=1073741824){break a}i=g<<2;s=pl(i);J[t+8>>2]=s;e=0;f=pk(s,0,i);a=0;if(d>>>0>=7){h=g&-8;while(1){J[f+(a<<2)>>2]=a;j=a|1;J[f+(j<<2)>>2]=j;j=a|2;J[f+(j<<2)>>2]=j;j=a|3;J[f+(j<<2)>>2]=j;j=a|4;J[f+(j<<2)>>2]=j;j=a|5;J[f+(j<<2)>>2]=j;j=a|6;J[f+(j<<2)>>2]=j;j=a|7;J[f+(j<<2)>>2]=j;a=a+8|0;p=p+8|0;if((h|0)!=(p|0)){continue}break}}p=f+i|0;i=g&7;if(!i){break nf}while(1){J[f+(a<<2)>>2]=a;a=a+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}J[t+24>>2]=l;a=p-s|0;e=a>>2;of:{pf:{if((a|0)>=513){a=e;while(1){f=pl(a<<2);if(f){break pf}f=a>>>0>1;a=a>>>1|0;if(f){continue}break}}qg(s,p,t+24|0,e,0,0);break of}qg(s,p,t+24|0,e,f,a);hl(f)}if((k|0)<1048576){a=J[l>>2]+(J[p-4>>2]<<3)|0;J[a>>2]=(J[a>>2]-k|0)- -1048576;a=0;break kf}if((d|0)>0){h=J[l>>2];r=k+-1048576|0;while(1){o=1048576/+(k|0);e=d;while(1){qf:{rf:{f=h+(J[(e<<2)+s>>2]<<3)|0;a=J[f>>2];if(a>>>0>=2){q=f;m=a;w=V(o*+(a>>>0));sf:{if(R(w)<2147483648){i=~~w;break sf}i=-2147483648}f=(a|0)==(i|0)?1:a-i|0;a=(a|0)>(f|0)?f:a-1|0;a=(a|0)<(r|0)?a:r;J[q>>2]=m-a;r=r-a|0;k=k-a|0;if((k|0)!=1048576){break rf}k=1048576;break qf}if((d|0)!=(e|0)){break qf}a=1;break kf}a=(e|0)>1;e=e-1|0;if(a){continue}}break}a=0;if((r|0)>0){continue}break}break kf}a=0;if(k>>>0<1048577){break kf}while(1)continue}if((d|0)<0){break hf}break jf}e=J[t+8>>2];if(e){hl(e)}if((d|0)<0|a){break hf}}e=J[l>>2];k=0;r=0;a=0;if(d>>>0>=3){i=g&-4;s=0;while(1){f=r<<3;h=f+e|0;J[h+4>>2]=a;j=e+(f|8)|0;a=J[h>>2]+a|0;J[j+4>>2]=a;h=e+(f|16)|0;a=a+J[j>>2]|0;J[h+4>>2]=a;f=e+(f|24)|0;a=a+J[h>>2]|0;J[f+4>>2]=a;a=a+J[f>>2]|0;r=r+4|0;s=s+4|0;if((i|0)!=(s|0)){continue}break}}f=g&3;if(f){while(1){i=e+(r<<3)|0;J[i+4>>2]=a;r=r+1|0;a=J[i>>2]+a|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}if((a|0)!=1048576){break hf}a=0;o=0;tf:{if((d|0)<0){break tf}f=J[l>>2];if(d){d=g&-2;e=0;while(1){i=a<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}i=(a|1)<<3;h=J[i+f>>2];if(h){i=i+n|0;o=(+M[i>>2]+ +M[i+4>>2]*4294967296)*sk(+(h>>>0)*9.5367431640625e-7)+o}a=a+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!(g&1)){break tf}a=a<<3;d=J[a+f>>2];if(!d){break tf}a=a+n|0;o=(+M[a>>2]+ +M[a+4>>2]*4294967296)*sk(+(d>>>0)*9.5367431640625e-7)+o}o=W(-o);uf:{if(o<0x10000000000000000&o>=0){d=R(o)>=1?~~(o>0?T(V(o*2.3283064365386963e-10),4294967295):W((o-+(~~o>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~o>>>0;break uf}d=0;a=0}J[l+16>>2]=a;J[l+20>>2]=d;of(l,c)}fa=t+32|0;d=J[l+16>>2];e=J[l+20>>2];a=J[c+4>>2]-J[c>>2]|0;J[l+40>>2]=a;J[l+44>>2]=0;g=e<<1|d>>>31;d=(d<<1)+39|0;j=d>>>0<39?g+1|0:g;d=a+((j&7)<<29|d>>>3)|0;m=j>>>3|0;h=a>>>0>d>>>0?m+1|0:m;a=d+8|0;ki(c,a);a=J[c>>2];J[l+28>>2]=0;J[l+32>>2]=4194304;J[l+24>>2]=a+J[l+40>>2];if((b|0)>0){a=4194304;while(1){d=b-1|0;f=J[l>>2]+(J[u+(d<<2)>>2]<<3)|0;e=J[f>>2];i=e<<10;if(i>>>0<=a>>>0){while(1){g=J[l+28>>2];J[l+28>>2]=g+1;H[g+J[l+24>>2]|0]=a;a=J[l+32>>2]>>>8|0;J[l+32>>2]=a;if(a>>>0>=i>>>0){continue}break}}g=J[f+4>>2];f=(a>>>0)/(e>>>0)|0;a=g+((f<<20)+(a-P(e,f)|0)|0)|0;J[l+32>>2]=a;e=(b|0)>1;b=d;if(e){continue}break}}vf(l,c);a=J[l>>2];if(a){J[l+4>>2]=a;hl(a)}a=J[l+48>>2];if(a){hl(a)}fa=l- -64|0;break cf}h=1}fa=G+32|0}if(!F){break b}J[B+36>>2]=F;hl(F)}fa=B+48|0;return h}Ia();C()}function Ob(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=Q(0),x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,T=0,U=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,ga=0,ha=0;d=fa-1680|0;fa=d;c=10-Pb(J[J[a+28>>2]+48>>2])|0;c=(c|0)>=6?6:c;f=J[a+72>>2];H[d+1679|0]=(c&255)==6?(f|0)>15?5:c:c;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],d+1679|0,d+1680|0);f=J[a+72>>2]}y=J[J[J[a+28>>2]+4>>2]+80>>2];J[d+1668>>2]=0;J[d+1660>>2]=0;J[d+1664>>2]=0;J[d+1648>>2]=y;J[d+1652>>2]=f;J[d+1656>>2]=f<<2;a:{b:{c:{d:{g=P(f,y);if(g){if(g>>>0>=1073741824){break d}c=g<<2;h=pl(c);J[d+1660>>2]=h;k=c+h|0;J[d+1668>>2]=k;pk(h,0,c);J[d+1664>>2]=k}J[d+1672>>2]=h;k=J[a+4>>2];if((k|0)!=J[a+8>>2]){while(1){e=J[J[J[J[a+28>>2]+4>>2]+8>>2]+(J[(i<<2)+k>>2]<<2)>>2];c=J[e+28>>2];if(c-1>>>0>=6){if((c|0)!=9){break a}e=J[J[a+60>>2]+(p<<2)>>2];if(!e){break a}p=p+1|0;c=J[e+28>>2]}e:{f:{g:{switch(c-1|0){case 5:if(!y){break e}k=0;while(1){f=(J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],k)<<2)|0;h=J[J[e>>2]>>2];g=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],K[e+84|0]?k:J[J[e+68>>2]+(k<<2)>>2],0);j=c;c=c+g|0;nk(f,c+h|0,K[e+24|0]<<2);k=k+1|0;if((y|0)!=(k|0)){continue}break};break e;case 0:case 2:case 4:c=K[e+24|0];h:{if(!c){g=0;h=0;break h}h=0;c=c<<2;g=pl(c);pk(g,0,c);c=K[e+24|0];if(!c){break h}c=c<<2;h=pl(c);pk(h,0,c)}if(y){f=0;while(1){Lb(e,K[e+84|0]?f:J[J[e+68>>2]+(f<<2)>>2],H[e+24|0],g);j=K[e+24|0];i:{if(!j){break i}l=J[a+48>>2];k=0;if((j|0)!=1){n=j&254;c=0;while(1){r=k<<2;J[r+h>>2]=J[g+r>>2]-J[l+(k+q<<2)>>2];r=k|1;v=r<<2;J[v+h>>2]=J[g+v>>2]-J[l+(q+r<<2)>>2];k=k+2|0;c=c+2|0;if((n|0)!=(c|0)){continue}break}}if(!(j&1)){break i}c=k<<2;J[c+h>>2]=J[c+g>>2]-J[l+(k+q<<2)>>2]}nk((J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],f)<<2)|0,h,j<<2);f=f+1|0;if((y|0)!=(f|0)){continue}break}}c=K[e+24|0];if(h){hl(h)}q=c+q|0;if(g){break f}break e;default:break g}}c=K[e+24|0];j:{if(!c){g=0;break j}c=c<<2;g=pl(c);pk(g,0,c)}if(y){k=0;while(1){c=K[e+84|0]?k:J[J[e+68>>2]+(k<<2)>>2];j=K[e+24|0];l=0;k:{if(!g){break k}l:{m:{switch(J[e+28>>2]-1|0){case 0:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=H[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 1:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=K[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 2:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=I[f>>1];f=f+2|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 3:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=L[f>>1];f=f+2|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 4:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=J[f>>2];f=f+4|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 5:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=J[f>>2];f=f+4|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 6:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;n=J[h+4>>2];while(1){if(f>>>0>=n>>>0){break k}c=J[f>>2];if(J[f+4>>2]){break k}J[(l<<2)+g>>2]=c;f=f+8|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 7:h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;n=J[h+4>>2];while(1){if(f>>>0>=n>>>0){break k}c=J[f>>2];if(J[f+4>>2]){break k}J[(l<<2)+g>>2]=c;f=f+8|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}break l;case 8:n:{o:{h=K[e+24|0];if(!(h>>>0>>0?h:j)){break o}f=J[e>>2];h=J[f>>2];l=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+l|0;l=c+h|0;n=J[f+4>>2];f=n-h|0;if(!K[e+32|0]){if((c|0)>=(f|0)){break n}f=0;while(1){w=N[l>>2];if(w>=Q(4294967296)|w=Q(0)){c=~~w>>>0}else{c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break o}l=l+4|0;if(n>>>0>l>>>0){continue}break}break n}if((c|0)>=(f|0)){break n}f=0;while(1){w=N[l>>2];if(w>=Q(4294967296)|wQ(1)){break n}m=(f<<2)+g|0;t=V(+w*4294967295+.5);p:{if(t<4294967296&t>=0){c=~~t>>>0;break p}c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break o}l=l+4|0;if(n>>>0>l>>>0){continue}break}break n}if(h>>>0>=j>>>0){break n}pk((h<<2)+g|0,0,j-h<<2)}break k;case 9:q:{r:{h=K[e+24|0];if(!(h>>>0>>0?h:j)){break r}f=J[e>>2];h=J[f>>2];l=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+l|0;l=c+h|0;n=J[f+4>>2];f=n-h|0;if(!K[e+32|0]){if((c|0)>=(f|0)){break q}f=0;while(1){t=O[l>>3];if(t>=4294967295|t<0|(R(t)==Infinity|t!=t)){break q}m=(f<<2)+g|0;if(t<4294967296&t>=0){c=~~t>>>0}else{c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break r}l=l+8|0;if(n>>>0>l>>>0){continue}break}break q}if((c|0)>=(f|0)){break q}f=0;while(1){t=O[l>>3];if(t>=4294967295|t<0|(R(t)==Infinity|t!=t)){break q}if(t>1){break q}m=(f<<2)+g|0;t=V(t*4294967295+.5);s:{if(t<4294967296&t>=0){c=~~t>>>0;break s}c=0}J[m>>2]=c;f=f+1|0;h=K[e+24|0];if(f>>>0>=(h>>>0>>0?h:j)>>>0){break r}l=l+8|0;if(n>>>0>l>>>0){continue}break}break q}if(h>>>0>=j>>>0){break q}pk((h<<2)+g|0,0,j-h<<2)}break k;case 10:break m;default:break k}}h=K[e+24|0];if(h>>>0>>0?h:j){h=J[e>>2];f=J[h>>2];n=J[e+48>>2];c=em(J[e+40>>2],J[e+44>>2],c,0);m=c;c=c+n|0;f=c+f|0;c=J[h+4>>2];while(1){if(c>>>0<=f>>>0){break k}J[(l<<2)+g>>2]=K[f|0];f=f+1|0;l=l+1|0;h=K[e+24|0];if(l>>>0<(h>>>0>>0?h:j)>>>0){continue}break}}if(h>>>0>=j>>>0){break k}pk((h<<2)+g|0,0,j-h<<2);break k}if(h>>>0>=j>>>0){break k}pk((h<<2)+g|0,0,j-h<<2)}nk((J[d+1672>>2]+(o<<2)|0)+(P(J[d+1652>>2],k)<<2)|0,g,K[e+24|0]<<2);k=k+1|0;if((y|0)!=(k|0)){continue}break}}if(!g){break e}}hl(g)}o=K[e+24|0]+o|0;i=i+1|0;k=J[a+4>>2];if(i>>>0>2]-k>>2>>>0){continue}break}f=J[a+72>>2];g=P(y,f);h=J[d+1672>>2]}k=0;if((g|0)<=0){break b}c=g&1;if((g|0)==1){g=0;break c}e=g&-2;g=0;a=0;while(1){j=g<<2;l=J[j+h>>2];if(l){l=S(l);k=(l^31)<(k|0)?k:32-l|0}j=J[(j|4)+h>>2];if(j){j=S(j);k=(j^31)<(k|0)?k:32-j|0}g=g+2|0;a=a+2|0;if((e|0)!=(a|0)){continue}break}break c}Ia();C()}if(!c){break b}a=J[(g<<2)+h>>2];if(!a){break b}a=S(a);k=(a^31)<(k|0)?k:32-a|0}t:{u:{switch(K[d+1679|0]){case 6:p=Rb(d+456|0,f);a=J[d+1652>>2];J[d+448>>2]=a;J[d+432>>2]=a;J[d+32>>2]=a;J[d+16>>2]=a;J[d+440>>2]=0;J[d+424>>2]=J[d+1648>>2];a=d+1648|0;J[d+444>>2]=a;c=J[d+444>>2];J[d+24>>2]=J[d+440>>2];J[d+28>>2]=c;J[d+428>>2]=a;J[d+420>>2]=k;a=J[d+428>>2];J[d+8>>2]=J[d+424>>2];J[d+12>>2]=a;n=fa-32|0;fa=n;J[p>>2]=J[d+420>>2];a=J[d+8>>2]-J[d+24>>2]|0;J[p+4>>2]=a;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){a=p+4|0;Ba(b,J[b+4>>2],p,a);c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],a,p+8|0)}a=J[a>>2]}if(a){W=p+12|0;Zb(W);X=p+1068|0;a=X;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];Y=p+1088|0;a=Y;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];Z=p+1108|0;a=Z;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=J[a>>2];J[n+24>>2]=J[d+32>>2];a=J[d+28>>2];J[n+16>>2]=J[d+24>>2];J[n+20>>2]=a;J[n+8>>2]=J[d+16>>2];a=J[d+12>>2];J[n>>2]=J[d+8>>2];J[n+4>>2]=a;c=0;g=0;i=fa+-64|0;fa=i;e=J[p+8>>2];J[i+48>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;v:{w:{if(e){if(e>>>0>=1073741824){break w}a=e<<2;c=pl(a);J[i+40>>2]=c;g=a+c|0;J[i+48>>2]=g;pk(c,0,a);J[i+44>>2]=g}a=J[p+1164>>2];k=J[a>>2];if(k){J[a+4>>2]=k;hl(k);e=J[p+8>>2];g=J[i+44>>2];c=J[i+40>>2]}J[a+4>>2]=g;J[a>>2]=c;J[a+8>>2]=J[i+48>>2];c=0;J[i+48>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;a=0;x:{if(e){if(e>>>0>=1073741824){break x}k=e<<2;a=pl(k);J[i+40>>2]=a;c=a+k|0;J[i+48>>2]=c;pk(a,0,k);J[i+44>>2]=c}k=J[p+1176>>2];f=J[k>>2];if(f){J[k+4>>2]=f;hl(f);c=J[i+44>>2];a=J[i+40>>2]}J[k+4>>2]=c;J[k>>2]=a;J[k+8>>2]=J[i+48>>2];h=J[n+20>>2];l=J[n+24>>2];f=J[n+4>>2];y=J[n+8>>2];c=J[n>>2];k=J[n+16>>2];J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;dc(i+40|0);a=J[i+56>>2]+J[i+60>>2]|0;e=(a>>>0)/113|0;a=J[J[i+44>>2]+(e<<2)>>2]+P(a-P(e,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=c-k;J[a+24>>2]=0;J[a+16>>2]=f;J[a+20>>2]=y;J[a+12>>2]=c;J[a+4>>2]=h;J[a+8>>2]=l;J[a>>2]=k;e=J[i+60>>2]+1|0;J[i+60>>2]=e;if(e){a=l;aa=a&-4;_=a&3;ba=p+1068|0;$=p+12|0;ca=p+1108|0;da=a>>>0<4;while(1){a=J[i+44>>2];g=J[i+56>>2];o=e-1|0;c=g+o|0;k=(c>>>0)/113|0;c=J[a+(k<<2)>>2]+P(c-P(k,113)|0,36)|0;T=J[c+32>>2];j=J[c+12>>2];k=J[c>>2];J[i+60>>2]=o;c=J[i+48>>2];if((((a|0)!=(c|0)?P(c-a>>2,113)-1|0:0)-(e+g|0)|0)+1>>>0>=226){hl(J[c-4>>2]);J[i+48>>2]=J[i+48>>2]-4}J[n+16>>2]=k;J[n>>2]=j;a=J[p+1164>>2];c=J[p+1176>>2];J[i+32>>2]=J[n+24>>2];e=J[n+20>>2];J[i+24>>2]=J[n+16>>2];J[i+28>>2]=e;J[i+16>>2]=J[n+8>>2];e=J[n+4>>2];J[i+8>>2]=J[n>>2];J[i+12>>2]=e;U=P(T,12);v=a+U|0;q=v;D=c+U|0;a=D;e=0;g=J[p+8>>2];y:{z:{A:{B:{s=J[i+8>>2];o=J[i+24>>2];u=s-o|0;if(u>>>0>=64){if(!g){break z}E=J[p+1140>>2];F=J[a>>2];G=J[p+1128>>2];if((o|0)!=(s|0)){break B}g=0;while(1){a=g<<2;c=a+G|0;J[c>>2]=0;q=a+E|0;e=J[p>>2];a=J[a+F>>2];J[q>>2]=e-a;if((a|0)!=(e|0)){q=c;a=J[c>>2];c=u-a|0;J[q>>2]=a>>>0>>0?c:a}c=J[p+8>>2];g=g+1|0;if(c>>>0>g>>>0){continue}break}break A}if(g>>>0<2){break y}o=g-1|0;q=o&3;c=J[a>>2];a=0;C:{if(g-2>>>0<3){g=1;break C}r=o&-4;g=1;o=0;while(1){s=g+3|0;u=g+2|0;x=g+1|0;e=M[c+(e<<2)>>2]>M[c+(g<<2)>>2]?g:e;e=M[c+(e<<2)>>2]>M[c+(x<<2)>>2]?x:e;e=M[c+(e<<2)>>2]>M[c+(u<<2)>>2]?u:e;e=M[c+(e<<2)>>2]>M[c+(s<<2)>>2]?s:e;g=g+4|0;o=o+4|0;if((r|0)!=(o|0)){continue}break}}if(!q){break y}while(1){e=M[c+(e<<2)>>2]>M[c+(g<<2)>>2]?g:e;g=g+1|0;a=a+1|0;if((q|0)!=(a|0)){continue}break}break y}z=J[i+28>>2];B=J[q>>2];ea=u&1;q=o+1|0;ga=(q|0)!=(s|0);m=J[i+32>>2];ha=P(m,o)<<2;while(1){a=e<<2;r=a+G|0;J[r>>2]=0;c=J[p>>2];g=J[a+F>>2];x=c-g|0;J[a+E>>2]=x;if((c|0)!=(g|0)){x=J[a+B>>2]+(1<>2]|0;c=J[r>>2];if(ea){c=(x>>>0>M[A+ha>>2])+c|0;J[r>>2]=c;a=q}else{a=o}g=a;if(ga){while(1){a=(x>>>0>M[A+(P(g,m)<<2)>>2])+c|0;J[r>>2]=a;c=a+(x>>>0>M[A+(P(m,g+1|0)<<2)>>2])|0;J[r>>2]=c;g=g+2|0;if((s|0)!=(g|0)){continue}break}}a=u-c|0;J[r>>2]=a>>>0>c>>>0?a:c}c=J[p+8>>2];e=e+1|0;if(c>>>0>e>>>0){continue}break}}if(!c){e=0;break z}u=c&1;q=J[p+1128>>2];r=J[p+1140>>2];D:{if((c|0)==1){g=0;c=0;e=0;break D}x=c&-2;g=0;c=0;e=0;o=0;while(1){a=g<<2;E:{if(!J[a+r>>2]){a=c;break E}s=J[a+q>>2];a=c>>>0>s>>>0?c:s;e=c>>>0>>0?g:e}A=g|1;c=A<<2;F:{if(!J[c+r>>2]){c=a;break F}s=J[c+q>>2];c=a>>>0>s>>>0?a:s;e=a>>>0>>0?A:e}g=g+2|0;o=o+2|0;if((x|0)!=(o|0)){continue}break}}if(!u){break z}a=g<<2;if(!J[a+r>>2]){break z}e=M[a+q>>2]>c>>>0?g:e}gc(p+1088|0,4,e)}c=J[p>>2];q=e<<2;g=J[q+J[D>>2]>>2];G:{H:{if((c|0)==(g|0)){break H}I:{J:{x=j-k|0;if(x>>>0<=2){g=J[p+1152>>2];J[g>>2]=e;c=1;a=J[p+8>>2];if(a>>>0>1){break J}break I}a=J[p+1164>>2];F=T+1|0;A=P(F,12);o=a+A|0;if((o|0)!=(v|0)){ec(o,J[v>>2],J[v+4>>2]);a=J[p+1164>>2]}a=q+J[a+A>>2]|0;r=J[a>>2]+(1<>2]=r;a=k;K:{if((j|0)==(a|0)){break K}G=J[h+24>>2];D=G+q|0;a=j;c=k;if(!l){if(r>>>0>M[D>>2]){break K}while(1){a=a-1|0;if((c|0)==(a|0)){a=c;break K}if(r>>>0<=M[(q+J[f+24>>2]|0)+(P(a,y)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(a|0)){continue}break}break K}while(1){g=P(c,l)<<2;if(r>>>0>M[g+D>>2]){c=c+1|0;if((c|0)!=(a|0)){continue}break K}while(1){a=a-1|0;if((c|0)==(a|0)){a=c;break K}v=J[f+24>>2]+(P(a,y)<<2)|0;if(r>>>0<=M[v+q>>2]){continue}break}s=g+G|0;E=0;g=0;o=0;if(!da){while(1){u=g<<2;m=u+s|0;z=J[m>>2];B=m;m=v+u|0;J[B>>2]=J[m>>2];J[m>>2]=z;m=u|4;z=m+s|0;B=J[z>>2];m=v+m|0;J[z>>2]=J[m>>2];J[m>>2]=B;m=u|8;z=m+s|0;B=J[z>>2];m=v+m|0;J[z>>2]=J[m>>2];J[m>>2]=B;u=u|12;m=u+s|0;z=J[m>>2];u=v+u|0;J[m>>2]=J[u>>2];J[u>>2]=z;g=g+4|0;o=o+4|0;if((aa|0)!=(o|0)){continue}break}}if(_){while(1){o=g<<2;u=o+s|0;m=J[u>>2];o=o+v|0;J[u>>2]=J[o>>2];J[o>>2]=m;g=g+1|0;E=E+1|0;if((_|0)!=(E|0)){continue}break}}c=c+1|0;if((c|0)!=(a|0)){continue}break}}o=a-k|0;r=j-a|0;if((o|0)!=(r|0)){fc(ca,o>>>0>>0)}c=S(x);v=c^31;g=x>>>1|0;L:{if(o>>>0>>0){if(!v){break L}s=g-o|0;c=1<<30-c;g=0;while(1){De((g<<5)+$|0,(c&s)!=0);c=c>>>1|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}break L}if(!v){break L}s=g-r|0;c=1<<30-c;g=0;while(1){De((g<<5)+$|0,(c&s)!=0);c=c>>>1|0;g=g+1|0;if((v|0)!=(g|0)){continue}break}}m=q;c=J[p+1176>>2];g=c+U|0;q=J[g>>2];v=m+q|0;J[v>>2]=J[v>>2]+1;ec(c+A|0,q,J[g+4>>2]);if((a|0)!=(k|0)){g=J[i+60>>2]+J[i+56>>2]|0;q=J[i+48>>2];c=J[i+44>>2];if((g|0)==(((c|0)!=(q|0)?P(q-c>>2,113)-1|0:0)|0)){dc(i+40|0);g=J[i+56>>2]+J[i+60>>2]|0;q=J[i+44>>2]}else{q=c}c=(g>>>0)/113|0;c=J[q+(c<<2)>>2]+P(g-P(c,113)|0,36)|0;J[c+32>>2]=T;J[c+28>>2]=o;J[c+24>>2]=e;J[c+16>>2]=h;J[c+12>>2]=a;J[c+4>>2]=h;J[c+8>>2]=l;J[c>>2]=k;J[c+20>>2]=l;J[i+60>>2]=J[i+60>>2]+1}if((a|0)==(j|0)){break H}g=J[i+60>>2]+J[i+56>>2]|0;k=J[i+48>>2];c=J[i+44>>2];if((g|0)==(((c|0)!=(k|0)?P(k-c>>2,113)-1|0:0)|0)){dc(i+40|0);g=J[i+56>>2]+J[i+60>>2]|0;q=J[i+44>>2]}else{q=c}c=(g>>>0)/113|0;c=J[q+(c<<2)>>2]+P(g-P(c,113)|0,36)|0;J[c+32>>2]=F;J[c+28>>2]=r;J[c+24>>2]=e;J[c+16>>2]=f;J[c+20>>2]=y;J[c+12>>2]=j;J[c+4>>2]=h;J[c>>2]=a;J[c+8>>2]=l;e=J[i+60>>2]+1|0;J[i+60>>2]=e;break G}while(1){e=(a-1|0)!=(e|0)?e+1|0:0;J[g+(c<<2)>>2]=e;a=J[p+8>>2];c=c+1|0;if(a>>>0>c>>>0){continue}break}}g=0;c=a;if((j|0)==(k|0)){break H}while(1){M:{if(!c){c=0;break M}j=J[h+24>>2]+(P(J[h+4>>2],g+k|0)<<2)|0;e=0;while(1){c=J[p>>2];o=J[J[p+1152>>2]+(e<<2)>>2]<<2;q=J[o+J[D>>2]>>2];if((c|0)!=(q|0)){gc(ba,c-q|0,J[j+o>>2]);a=J[p+8>>2]}c=a;e=e+1|0;if(c>>>0>e>>>0){continue}break}}g=g+1|0;if((x|0)!=(g|0)){continue}break}}e=J[i+60>>2]}if(e){continue}break}}J[i+60>>2]=0;f=J[i+48>>2];e=J[i+44>>2];a=f-e|0;if(a>>>0>=9){while(1){hl(J[e>>2]);e=J[i+44>>2]+4|0;J[i+44>>2]=e;f=J[i+48>>2];a=f-e|0;if(a>>>0>8){continue}break}}c=56;N:{switch((a>>>2|0)-1|0){case 1:c=113;case 0:J[i+56>>2]=c;break;default:break N}}O:{if((e|0)==(f|0)){break O}while(1){hl(J[e>>2]);e=e+4|0;if((f|0)!=(e|0)){continue}break}a=J[i+48>>2];c=J[i+44>>2];if((a|0)==(c|0)){break O}J[i+48>>2]=a+((c-a|0)+3&-4)}a=J[i+40>>2];if(a){hl(a)}fa=i- -64|0;break v}Ia();C()}Ia();C()}_b(W,b);ze(X,b);ze(Y,b);ze(Z,b)}fa=n+32|0;Qb(p);break t;case 5:c=Rb(d+456|0,f);a=J[d+1652>>2];J[d+416>>2]=a;J[d+400>>2]=a;J[d- -64>>2]=a;J[d+48>>2]=a;J[d+408>>2]=0;J[d+392>>2]=J[d+1648>>2];a=d+1648|0;J[d+412>>2]=a;f=J[d+412>>2];J[d+56>>2]=J[d+408>>2];J[d+60>>2]=f;J[d+396>>2]=a;J[d+420>>2]=k;a=J[d+396>>2];J[d+40>>2]=J[d+392>>2];J[d+44>>2]=a;a=Sb(c,d+56|0,d+40|0,d+420|0,b);Qb(c);if(a){break t}break a;case 4:c=Rb(d+456|0,f);a=J[d+1652>>2];J[d+384>>2]=a;J[d+368>>2]=a;J[d+96>>2]=a;J[d+80>>2]=a;J[d+376>>2]=0;J[d+360>>2]=J[d+1648>>2];a=d+1648|0;J[d+380>>2]=a;f=J[d+380>>2];J[d+88>>2]=J[d+376>>2];J[d+92>>2]=f;J[d+364>>2]=a;J[d+420>>2]=k;a=J[d+364>>2];J[d+72>>2]=J[d+360>>2];J[d+76>>2]=a;a=Sb(c,d+88|0,d+72|0,d+420|0,b);Qb(c);if(a){break t}break a;case 3:c=Tb(d+456|0,f);a=J[d+1652>>2];J[d+352>>2]=a;J[d+336>>2]=a;J[d+128>>2]=a;J[d+112>>2]=a;J[d+344>>2]=0;J[d+328>>2]=J[d+1648>>2];a=d+1648|0;J[d+348>>2]=a;f=J[d+348>>2];J[d+120>>2]=J[d+344>>2];J[d+124>>2]=f;J[d+332>>2]=a;J[d+420>>2]=k;a=J[d+332>>2];J[d+104>>2]=J[d+328>>2];J[d+108>>2]=a;a=Ub(c,d+120|0,d+104|0,d+420|0,b);Vb(c);if(a){break t}break a;case 2:c=Tb(d+456|0,f);a=J[d+1652>>2];J[d+320>>2]=a;J[d+304>>2]=a;J[d+160>>2]=a;J[d+144>>2]=a;J[d+312>>2]=0;J[d+296>>2]=J[d+1648>>2];a=d+1648|0;J[d+316>>2]=a;f=J[d+316>>2];J[d+152>>2]=J[d+312>>2];J[d+156>>2]=f;J[d+300>>2]=a;J[d+420>>2]=k;a=J[d+300>>2];J[d+136>>2]=J[d+296>>2];J[d+140>>2]=a;a=Ub(c,d+152|0,d+136|0,d+420|0,b);Vb(c);if(a){break t}break a;case 1:c=Wb(d+456|0,f);a=J[d+1652>>2];J[d+288>>2]=a;J[d+272>>2]=a;J[d+192>>2]=a;J[d+176>>2]=a;J[d+280>>2]=0;J[d+264>>2]=J[d+1648>>2];a=d+1648|0;J[d+284>>2]=a;f=J[d+284>>2];J[d+184>>2]=J[d+280>>2];J[d+188>>2]=f;J[d+268>>2]=a;J[d+420>>2]=k;a=J[d+268>>2];J[d+168>>2]=J[d+264>>2];J[d+172>>2]=a;a=Xb(c,d+184|0,d+168|0,d+420|0,b);Yb(c);if(a){break t}break a;case 0:break u;default:break a}}c=Wb(d+456|0,f);a=J[d+1652>>2];J[d+256>>2]=a;J[d+240>>2]=a;J[d+224>>2]=a;J[d+208>>2]=a;J[d+248>>2]=0;J[d+232>>2]=J[d+1648>>2];a=d+1648|0;J[d+252>>2]=a;f=J[d+252>>2];J[d+216>>2]=J[d+248>>2];J[d+220>>2]=f;J[d+236>>2]=a;J[d+420>>2]=k;a=J[d+236>>2];J[d+200>>2]=J[d+232>>2];J[d+204>>2]=a;a=Xb(c,d+216|0,d+200|0,d+420|0,b);Yb(c);if(!a){break a}}s=1}a=J[d+1660>>2];if(a){J[d+1664>>2]=a;hl(a)}fa=d+1680|0;return s|0}function Ek(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0;w=fa-160|0;fa=w;J[w+60>>2]=b;J[w+20>>2]=b;J[w+24>>2]=-1;h=w+16|0;J[h+112>>2]=0;J[h+116>>2]=0;n=J[h+44>>2]-J[h+4>>2]|0;J[h+120>>2]=n;J[h+124>>2]=n>>31;J[h+104>>2]=J[h+8>>2];s=fa-48|0;fa=s;if(d>>>0<=2){a:{d=d<<2;D=J[d+17292>>2];E=J[d+17280>>2];while(1){d=J[h+4>>2];b:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break b}d=yk(h)}if((d|0)==32|d-9>>>0<5){continue}break}n=1;c:{d:{switch(d-43|0){case 0:case 2:break d;default:break c}}n=(d|0)==45?-1:1;d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break c}d=yk(h)}e:{f:{while(1){if(H[g+1154|0]==(d|32)){g:{if(g>>>0>6){break g}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break g}d=yk(h)}g=g+1|0;if((g|0)!=8){continue}break f}break}if((g|0)!=3){if((g|0)==8){break f}if(g>>>0<4){break e}if((g|0)==8){break f}}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(g>>>0<4){break f}d=(d|0)<0;while(1){if(!d){J[h+4>>2]=J[h+4>>2]-1}g=g-1|0;if(g>>>0>3){continue}break}}m=fa-16|0;fa=m;r=(B(Q(Q(n|0)*Q(Infinity))),v(2));d=r&2147483647;h:{if(d-8388608>>>0<=2130706431){l=(d>>>7|0)+1065353216|0;j=d<<25;break h}l=r>>>7|2147418112;j=r<<25;if(d>>>0>=2139095040){break h}l=0;j=0;if(!d){break h}g=d;d=S(d);Tk(m,g,0,0,0,d+81|0);i=J[m>>2];k=J[m+4>>2];l=J[m+12>>2]^65536|16265-d<<16;j=J[m+8>>2]}J[s>>2]=i;J[s+4>>2]=k;J[s+8>>2]=j;J[s+12>>2]=r&-2147483648|l;fa=m+16|0;i=J[s+8>>2];k=J[s+12>>2];j=J[s>>2];m=J[s+4>>2];break a}i:{j:{k:{if(g){break k}g=0;while(1){if(H[g+1434|0]!=(d|32)){break k}l:{if(g>>>0>1){break l}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break l}d=yk(h)}g=g+1|0;if((g|0)!=3){continue}break}break j}m:{switch(g|0){case 0:n:{if((d|0)!=48){break n}g=J[h+4>>2];o:{if((g|0)!=J[h+104>>2]){J[h+4>>2]=g+1;g=K[g|0];break o}g=yk(h)}if((g&-33)==88){f=fa-432|0;fa=f;d=J[h+4>>2];p:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0];break p}g=yk(h)}q:{r:{while(1){if((g|0)!=48){s:{if((g|0)!=46){break q}d=J[h+4>>2];if((d|0)==J[h+104>>2]){break s}J[h+4>>2]=d+1;g=K[d|0];break r}}else{d=J[h+4>>2];if((d|0)!=J[h+104>>2]){x=1;J[h+4>>2]=d+1;g=K[d|0]}else{x=1;g=yk(h)}continue}break}g=yk(h)}e=1;if((g|0)!=48){break q}while(1){d=r;r=d-1|0;t=t-!d|0;d=J[h+4>>2];t:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0];break t}g=yk(h)}if((g|0)==48){continue}break}x=1}m=1073676288;while(1){u:{d=g|32;v:{w:{F=g-48|0;if(F>>>0<10){break w}if((g|0)!=46&d-97>>>0>=6){break u}if((g|0)!=46){break w}if(e){break u}e=1;r=i;t=k;break v}d=(g|0)>57?d-87|0:F;x:{if((k|0)<=0&i>>>0<=7|(k|0)<0){p=d+(p<<4)|0;break x}if(!k&i>>>0<=28){Yk(f+48|0,d);$k(f+32|0,A,C,j,m,0,0,0,1073414144);A=J[f+32>>2];C=J[f+36>>2];j=J[f+40>>2];m=J[f+44>>2];$k(f+16|0,J[f+48>>2],J[f+52>>2],J[f+56>>2],J[f+60>>2],A,C,j,m);Sk(f,J[f+16>>2],J[f+20>>2],J[f+24>>2],J[f+28>>2],l,o,y,z);y=J[f+8>>2];z=J[f+12>>2];l=J[f>>2];o=J[f+4>>2];break x}if(G|!d){break x}$k(f+80|0,A,C,j,m,0,0,0,1073610752);Sk(f- -64|0,J[f+80>>2],J[f+84>>2],J[f+88>>2],J[f+92>>2],l,o,y,z);y=J[f+72>>2];z=J[f+76>>2];G=1;l=J[f+64>>2];o=J[f+68>>2]}i=i+1|0;k=i?k:k+1|0;x=1}d=J[h+4>>2];if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;g=K[d|0]}else{g=yk(h)}continue}break}y:{if(!x){d=J[h+116>>2];if((d|0)>0|(d|0)>=0){z:{d=J[h+4>>2];J[h+4>>2]=d-1;J[h+4>>2]=d-2;if(!e){break z}J[h+4>>2]=d-3}}Xk(f+96|0,+(n|0)*0);l=J[f+96>>2];o=J[f+100>>2];i=J[f+108>>2];d=J[f+104>>2];break y}if((k|0)<=0&i>>>0<=7|(k|0)<0){j=i;m=k;while(1){p=p<<4;j=j+1|0;m=j?m:m+1|0;if((j|0)!=8|m){continue}break}}A:{B:{C:{if((g&-33)==80){j=Dk(h);d=ja;m=d;if(j|(d|0)!=-2147483648){break A}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){break C}break B}j=0;m=0;if(J[h+116>>2]<0){break A}}J[h+4>>2]=J[h+4>>2]-1}j=0;m=0}if(!p){Xk(f+112|0,+(n|0)*0);l=J[f+112>>2];o=J[f+116>>2];i=J[f+124>>2];d=J[f+120>>2];break y}d=e?r:i;k=(e?t:k)<<2|d>>>30;d=j+(d<<2)|0;g=k+m|0;g=d>>>0>>0?g+1|0:g;i=d-32|0;k=g-(d>>>0<32)|0;d=k;if(i>>>0>0-D>>>0&(d|0)>=0|(d|0)>0){J[4842]=68;Yk(f+160|0,n);$k(f+144|0,J[f+160>>2],J[f+164>>2],J[f+168>>2],J[f+172>>2],-1,-1,-1,2147418111);$k(f+128|0,J[f+144>>2],J[f+148>>2],J[f+152>>2],J[f+156>>2],-1,-1,-1,2147418111);l=J[f+128>>2];o=J[f+132>>2];i=J[f+140>>2];d=J[f+136>>2];break y}d=D-226|0;j=d>>31;if((k|0)>=(j|0)&d>>>0<=i>>>0|(j|0)<(k|0)){if((p|0)>=0){while(1){Sk(f+416|0,l,o,y,z,0,0,0,-1073807360);d=Vk(l,o,y,z,1073610752);j=(d|0)>=0;d=j;Sk(f+400|0,l,o,y,z,d?J[f+416>>2]:l,d?J[f+420>>2]:o,d?J[f+424>>2]:y,d?J[f+428>>2]:z);d=i;i=d-1|0;k=k-!d|0;y=J[f+408>>2];z=J[f+412>>2];l=J[f+400>>2];o=J[f+404>>2];p=j|p<<1;if((p|0)>=0){continue}break}}g=k-((D>>31)+(i>>>0>>0)|0)|0;d=(i-D|0)+32|0;g=d>>>0<32?g+1|0:g;j=d>>>0>>0&(g|0)<=0|(g|0)<0?(d|0)>0?d:0:E;D:{if((j|0)>=113){Yk(f+384|0,n);r=J[f+392>>2];t=J[f+396>>2];A=J[f+384>>2];C=J[f+388>>2];g=0;d=0;break D}Xk(f+352|0,zk(144-j|0));Yk(f+336|0,n);A=J[f+336>>2];C=J[f+340>>2];r=J[f+344>>2];t=J[f+348>>2];Ak(f+368|0,J[f+352>>2],J[f+356>>2],J[f+360>>2],J[f+364>>2],A,C,r,t);q=J[f+376>>2];u=J[f+380>>2];g=J[f+372>>2];d=J[f+368>>2]}k=!(p&1)&((Uk(l,o,y,z,0,0,0,0)|0)!=0&(j|0)<32);Zk(f+320|0,k+p|0);$k(f+304|0,A,C,r,t,J[f+320>>2],J[f+324>>2],J[f+328>>2],J[f+332>>2]);j=d;Sk(f+272|0,J[f+304>>2],J[f+308>>2],J[f+312>>2],J[f+316>>2],d,g,q,u);d=k;$k(f+288|0,A,C,r,t,d?0:l,d?0:o,d?0:y,d?0:z);Sk(f+256|0,J[f+288>>2],J[f+292>>2],J[f+296>>2],J[f+300>>2],J[f+272>>2],J[f+276>>2],J[f+280>>2],J[f+284>>2]);bl(f+240|0,J[f+256>>2],J[f+260>>2],J[f+264>>2],J[f+268>>2],j,g,q,u);d=J[f+240>>2];l=J[f+244>>2];j=J[f+248>>2];r=J[f+252>>2];if(!Uk(d,l,j,r,0,0,0,0)){J[4842]=68}Bk(f+224|0,d,l,j,r,i);l=J[f+224>>2];o=J[f+228>>2];i=J[f+236>>2];d=J[f+232>>2];break y}J[4842]=68;Yk(f+208|0,n);$k(f+192|0,J[f+208>>2],J[f+212>>2],J[f+216>>2],J[f+220>>2],0,0,0,65536);$k(f+176|0,J[f+192>>2],J[f+196>>2],J[f+200>>2],J[f+204>>2],0,0,0,65536);l=J[f+176>>2];o=J[f+180>>2];i=J[f+188>>2];d=J[f+184>>2]}J[s+16>>2]=l;J[s+20>>2]=o;J[s+24>>2]=d;J[s+28>>2]=i;fa=f+432|0;i=J[s+24>>2];k=J[s+28>>2];j=J[s+16>>2];m=J[s+20>>2];break a}if(J[h+116>>2]<0){break n}J[h+4>>2]=J[h+4>>2]-1}g=h;f=n;h=0;e=fa-8976|0;fa=e;G=0-D|0;F=G-E|0;E:{F:{while(1){if((d|0)!=48){G:{if((d|0)!=46){break E}d=J[g+4>>2];if((d|0)==J[g+104>>2]){break G}J[g+4>>2]=d+1;d=K[d|0];break F}}else{d=J[g+4>>2];if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0]}else{d=yk(g)}h=1;continue}break}d=yk(g)}q=1;if((d|0)!=48){break E}while(1){d=i;i=d-1|0;k=k-!d|0;d=J[g+4>>2];H:{if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0];break H}d=yk(g)}if((d|0)==48){continue}break}h=1}J[e+784>>2]=0;I:{J:{n=(d|0)==46;l=d-48|0;K:{L:{if(n|l>>>0<=9){while(1){M:{if(n&1){if(!q){i=j;k=m;q=1;break M}n=!h;break L}j=j+1|0;m=j?m:m+1|0;if((p|0)<=2044){x=(d|0)==48?x:j;n=(e+784|0)+(p<<2)|0;if(u){l=(P(J[n>>2],10)+d|0)-48|0}J[n>>2]=l;h=1;l=u+1|0;d=(l|0)==9;u=d?0:l;p=d+p|0;break M}if((d|0)==48){break M}J[e+8960>>2]=J[e+8960>>2]|1;x=18396}d=J[g+4>>2];N:{if((d|0)!=J[g+104>>2]){J[g+4>>2]=d+1;d=K[d|0];break N}d=yk(g)}n=(d|0)==46;l=d-48|0;if(n|l>>>0<10){continue}break}}i=q?i:j;k=q?k:m;if(!(!h|(d&-33)!=69)){l=Dk(g);d=ja;o=d;O:{if(l|(d|0)!=-2147483648){break O}l=0;o=0;if(J[g+116>>2]<0){break O}J[g+4>>2]=J[g+4>>2]-1}k=k+o|0;i=i+l|0;k=i>>>0>>0?k+1|0:k;break J}n=!h;if((d|0)<0){break K}}if(J[g+116>>2]<0){break K}J[g+4>>2]=J[g+4>>2]-1}if(!n){break J}J[4842]=28;j=0;m=0;J[g+112>>2]=0;J[g+116>>2]=0;d=J[g+44>>2]-J[g+4>>2]|0;J[g+120>>2]=d;J[g+124>>2]=d>>31;J[g+104>>2]=J[g+8>>2];i=0;d=0;break I}d=J[e+784>>2];if(!d){Xk(e,+(f|0)*0);j=J[e>>2];m=J[e+4>>2];i=J[e+12>>2];d=J[e+8>>2];break I}if(!(j>>>0>9&(m|0)>=0|(m|0)>0|((i|0)!=(j|0)|(k|0)!=(m|0))|(d>>>E|0?(E|0)<=30:0))){Yk(e+48|0,f);Zk(e+32|0,d);$k(e+16|0,J[e+48>>2],J[e+52>>2],J[e+56>>2],J[e+60>>2],J[e+32>>2],J[e+36>>2],J[e+40>>2],J[e+44>>2]);j=J[e+16>>2];m=J[e+20>>2];i=J[e+28>>2];d=J[e+24>>2];break I}if(i>>>0>G>>>1>>>0&(k|0)>=0|(k|0)>0){J[4842]=68;Yk(e+96|0,f);$k(e+80|0,J[e+96>>2],J[e+100>>2],J[e+104>>2],J[e+108>>2],-1,-1,-1,2147418111);$k(e- -64|0,J[e+80>>2],J[e+84>>2],J[e+88>>2],J[e+92>>2],-1,-1,-1,2147418111);j=J[e+64>>2];m=J[e+68>>2];i=J[e+76>>2];d=J[e+72>>2];break I}d=D-226|0;g=i>>>0>>0;d=d>>31;if(g&(k|0)<=(d|0)|(d|0)>(k|0)){J[4842]=68;Yk(e+144|0,f);$k(e+128|0,J[e+144>>2],J[e+148>>2],J[e+152>>2],J[e+156>>2],0,0,0,65536);$k(e+112|0,J[e+128>>2],J[e+132>>2],J[e+136>>2],J[e+140>>2],0,0,0,65536);j=J[e+112>>2];m=J[e+116>>2];i=J[e+124>>2];d=J[e+120>>2];break I}if(u){if((u|0)<=8){d=(e+784|0)+(p<<2)|0;g=J[d>>2];while(1){g=P(g,10);u=u+1|0;if((u|0)!=9){continue}break}J[d>>2]=g}p=p+1|0}P:{q=i;if((x|0)>(i|0)|(x|0)>=9|(i|0)>17){break P}if((q|0)==9){Yk(e+192|0,f);Zk(e+176|0,J[e+784>>2]);$k(e+160|0,J[e+192>>2],J[e+196>>2],J[e+200>>2],J[e+204>>2],J[e+176>>2],J[e+180>>2],J[e+184>>2],J[e+188>>2]);j=J[e+160>>2];m=J[e+164>>2];i=J[e+172>>2];d=J[e+168>>2];break I}if((q|0)<=8){Yk(e+272|0,f);Zk(e+256|0,J[e+784>>2]);$k(e+240|0,J[e+272>>2],J[e+276>>2],J[e+280>>2],J[e+284>>2],J[e+256>>2],J[e+260>>2],J[e+264>>2],J[e+268>>2]);Yk(e+224|0,J[(0-q<<2)+17280>>2]);Wk(e+208|0,J[e+240>>2],J[e+244>>2],J[e+248>>2],J[e+252>>2],J[e+224>>2],J[e+228>>2],J[e+232>>2],J[e+236>>2]);j=J[e+208>>2];m=J[e+212>>2];i=J[e+220>>2];d=J[e+216>>2];break I}d=(P(q,-3)+E|0)+27|0;i=J[e+784>>2];if(i>>>d|0?(d|0)<=30:0){break P}Yk(e+352|0,f);Zk(e+336|0,i);$k(e+320|0,J[e+352>>2],J[e+356>>2],J[e+360>>2],J[e+364>>2],J[e+336>>2],J[e+340>>2],J[e+344>>2],J[e+348>>2]);Yk(e+304|0,J[(q<<2)+17208>>2]);$k(e+288|0,J[e+320>>2],J[e+324>>2],J[e+328>>2],J[e+332>>2],J[e+304>>2],J[e+308>>2],J[e+312>>2],J[e+316>>2]);j=J[e+288>>2];m=J[e+292>>2];i=J[e+300>>2];d=J[e+296>>2];break I}while(1){d=p;p=d-1|0;if(!J[(e+784|0)+(p<<2)>>2]){continue}break}u=0;i=(q|0)%9|0;Q:{if(!i){n=0;break Q}n=0;i=(q|0)<0?i+9|0:i;R:{if(!d){d=0;break R}j=J[(0-i<<2)+17280>>2];k=1e9/(j|0)|0;l=0;g=0;while(1){m=(e+784|0)+(g<<2)|0;h=J[m>>2];p=(h>>>0)/(j>>>0)|0;l=p+l|0;J[m>>2]=l;l=!l&(g|0)==(n|0);n=l?n+1&2047:n;q=l?q-9|0:q;l=P(k,h-P(j,p)|0);g=g+1|0;if((g|0)!=(d|0)){continue}break}if(!l){break R}J[(e+784|0)+(d<<2)>>2]=l;d=d+1|0}q=(q-i|0)+9|0}while(1){x=(e+784|0)+(n<<2)|0;S:{while(1){if(((q|0)!=36|M[x>>2]>=10384593)&(q|0)>=36){break S}p=d+2047|0;l=0;h=d;while(1){d=h;o=p&2047;h=(e+784|0)+(o<<2)|0;i=J[h>>2];m=i>>>3|0;j=i<<29;i=j+l|0;g=m;k=i>>>0>>0?g+1|0:g;if(!k&i>>>0<1000000001){l=0}else{l=gm(i,k,1e9,0);i=i-em(l,ja,1e9,0)|0}J[h>>2]=i;h=(o|0)!=(d-1&2047)?d:(n|0)==(o|0)?d:i?d:o;p=o-1|0;if((n|0)!=(o|0)){continue}break}u=u-29|0;if(!l){continue}break}n=n-1&2047;if((n|0)==(h|0)){i=e+784|0;d=i+((h+2046&2047)<<2)|0;g=d;k=J[d>>2];d=h-1&2047;J[g>>2]=k|J[i+(d<<2)>>2]}q=q+9|0;J[(e+784|0)+(n<<2)>>2]=l;continue}break}T:{U:while(1){i=d+1&2047;l=(e+784|0)+((d-1&2047)<<2)|0;while(1){j=(q|0)>45?9:1;V:{while(1){h=n;g=0;W:{while(1){X:{k=g+h&2047;if((k|0)==(d|0)){break X}k=J[(e+784|0)+(k<<2)>>2];m=J[(g<<2)+17232>>2];if(k>>>0>>0){break X}if(k>>>0>m>>>0){break W}g=g+1|0;if((g|0)!=4){continue}}break}if((q|0)!=36){break W}i=0;k=0;g=0;j=0;m=0;while(1){l=g+h&2047;if((l|0)==(d|0)){d=d+1&2047;J[(e+(d<<2)|0)+780>>2]=0}Zk(e+768|0,J[(e+784|0)+(l<<2)>>2]);$k(e+752|0,i,k,j,m,0,0,1342177280,1075633366);Sk(e+736|0,J[e+752>>2],J[e+756>>2],J[e+760>>2],J[e+764>>2],J[e+768>>2],J[e+772>>2],J[e+776>>2],J[e+780>>2]);j=J[e+744>>2];m=J[e+748>>2];i=J[e+736>>2];k=J[e+740>>2];g=g+1|0;if((g|0)!=4){continue}break}Yk(e+720|0,f);$k(e+704|0,i,k,j,m,J[e+720>>2],J[e+724>>2],J[e+728>>2],J[e+732>>2]);j=J[e+712>>2];m=J[e+716>>2];i=0;k=0;l=J[e+704>>2];o=J[e+708>>2];x=u+113|0;n=x-D|0;q=(n|0)<(E|0);g=q?(n|0)>0?n:0:E;if((g|0)<=112){break V}break T}u=j+u|0;n=d;if((d|0)==(h|0)){continue}break}m=1e9>>>j|0;p=-1<>2];k=k+(o>>>j|0)|0;J[g>>2]=k;k=!k&(h|0)==(n|0);n=k?n+1&2047:n;q=k?q-9|0:q;g=P(m,o&p);h=h+1&2047;if((h|0)!=(d|0)){continue}break}if(!g){continue}if((i|0)!=(n|0)){J[(e+784|0)+(d<<2)>>2]=g;d=i;continue U}J[l>>2]=J[l>>2]|1;continue}break}break}Xk(e+656|0,zk(225-g|0));Ak(e+688|0,J[e+656>>2],J[e+660>>2],J[e+664>>2],J[e+668>>2],l,o,j,m);y=J[e+696>>2];z=J[e+700>>2];A=J[e+688>>2];C=J[e+692>>2];Xk(e+640|0,zk(113-g|0));Ck(e+672|0,l,o,j,m,J[e+640>>2],J[e+644>>2],J[e+648>>2],J[e+652>>2]);i=J[e+672>>2];k=J[e+676>>2];r=J[e+680>>2];t=J[e+684>>2];bl(e+624|0,l,o,j,m,i,k,r,t);Sk(e+608|0,A,C,y,z,J[e+624>>2],J[e+628>>2],J[e+632>>2],J[e+636>>2]);j=J[e+616>>2];m=J[e+620>>2];l=J[e+608>>2];o=J[e+612>>2]}p=h+4&2047;Y:{if((p|0)==(d|0)){break Y}p=J[(e+784|0)+(p<<2)>>2];Z:{if(p>>>0<=499999999){if(!p&(h+5&2047)==(d|0)){break Z}Xk(e+496|0,+(f|0)*.25);Sk(e+480|0,i,k,r,t,J[e+496>>2],J[e+500>>2],J[e+504>>2],J[e+508>>2]);r=J[e+488>>2];t=J[e+492>>2];i=J[e+480>>2];k=J[e+484>>2];break Z}if((p|0)!=5e8){Xk(e+592|0,+(f|0)*.75);Sk(e+576|0,i,k,r,t,J[e+592>>2],J[e+596>>2],J[e+600>>2],J[e+604>>2]);r=J[e+584>>2];t=J[e+588>>2];i=J[e+576>>2];k=J[e+580>>2];break Z}I=+(f|0);if((h+5&2047)==(d|0)){Xk(e+528|0,I*.5);Sk(e+512|0,i,k,r,t,J[e+528>>2],J[e+532>>2],J[e+536>>2],J[e+540>>2]);r=J[e+520>>2];t=J[e+524>>2];i=J[e+512>>2];k=J[e+516>>2];break Z}Xk(e+560|0,I*.75);Sk(e+544|0,i,k,r,t,J[e+560>>2],J[e+564>>2],J[e+568>>2],J[e+572>>2]);r=J[e+552>>2];t=J[e+556>>2];i=J[e+544>>2];k=J[e+548>>2]}if((g|0)>111){break Y}Ck(e+464|0,i,k,r,t,0,0,0,1073676288);if(Uk(J[e+464>>2],J[e+468>>2],J[e+472>>2],J[e+476>>2],0,0,0,0)){break Y}Sk(e+448|0,i,k,r,t,0,0,0,1073676288);r=J[e+456>>2];t=J[e+460>>2];i=J[e+448>>2];k=J[e+452>>2]}Sk(e+432|0,l,o,j,m,i,k,r,t);bl(e+416|0,J[e+432>>2],J[e+436>>2],J[e+440>>2],J[e+444>>2],A,C,y,z);j=J[e+424>>2];m=J[e+428>>2];l=J[e+416>>2];o=J[e+420>>2];_:{if((F-2|0)>=(x&2147483647)){break _}J[e+408>>2]=j;J[e+412>>2]=m&2147483647;J[e+400>>2]=l;J[e+404>>2]=o;$k(e+384|0,l,o,j,m,0,0,0,1073610752);d=Vk(J[e+400>>2],J[e+404>>2],J[e+408>>2],J[e+412>>2],1081081856);d=(d|0)>=0;j=d?J[e+392>>2]:j;m=d?J[e+396>>2]:m;l=d?J[e+384>>2]:l;o=d?J[e+388>>2]:o;u=d+u|0;if(!((Uk(i,k,r,t,0,0,0,0)|0)!=0&(d?q&(g|0)!=(n|0):q))&(u+110|0)<=(F|0)){break _}J[4842]=68}Bk(e+368|0,l,o,j,m,u);j=J[e+368>>2];m=J[e+372>>2];i=J[e+380>>2];d=J[e+376>>2]}J[s+40>>2]=d;J[s+44>>2]=i;J[s+32>>2]=j;J[s+36>>2]=m;fa=e+8976|0;i=J[s+40>>2];k=J[s+44>>2];j=J[s+32>>2];m=J[s+36>>2];break a;case 3:break j;default:break m}}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}J[4842]=28;break i}$:{d=J[h+4>>2];aa:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break aa}d=yk(h)}if((d|0)==40){g=1;break $}k=2147450880;if(J[h+116>>2]<0){break a}J[h+4>>2]=J[h+4>>2]-1;break a}while(1){ba:{d=J[h+4>>2];ca:{if((d|0)!=J[h+104>>2]){J[h+4>>2]=d+1;d=K[d|0];break ca}d=yk(h)}if(!(d-48>>>0<10|d-65>>>0<26|(d|0)==95)){if(d-97>>>0>=26){break ba}}g=g+1|0;continue}break}k=2147450880;if((d|0)==41){break a}d=J[h+116>>2];if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(!g){break a}while(1){g=g-1|0;if((d|0)>0|(d|0)>=0){J[h+4>>2]=J[h+4>>2]-1}if(g){continue}break}break a}J[h+112>>2]=0;J[h+116>>2]=0;d=J[h+44>>2]-J[h+4>>2]|0;J[h+120>>2]=d;J[h+124>>2]=d>>31;J[h+104>>2]=J[h+8>>2]}}J[w>>2]=j;J[w+4>>2]=m;J[w+8>>2]=i;J[w+12>>2]=k;fa=s+48|0;d=J[w+8>>2];j=J[w+12>>2];i=J[w>>2];l=J[w+4>>2];if(c){J[c>>2]=((J[w+20>>2]+J[w+136>>2]|0)-J[w+60>>2]|0)+b}J[a+8>>2]=d;J[a+12>>2]=j;J[a>>2]=i;J[a+4>>2]=l;fa=w+160|0}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=fa-32|0;fa=l;d=J[b+8>>2];a:{b:{if(K[b+352|0]){d=Wj(d);f=J[b+12>>2];J[b+12>>2]=d;if(f){break b}break a}d=Vj(d);f=J[b+12>>2];J[b+12>>2]=d;if(!f){break a}}Tg(f)}c:{d=J[b+12>>2];d:{if(!(J[d+40>>2]!=((J[d+4>>2]-J[d>>2]>>2>>>0)/3|0)?d:0)){b=pl(32);H[b+29|0]=0;d=K[1828]|K[1829]<<8|(K[1830]<<16|K[1831]<<24);c=K[1824]|K[1825]<<8|(K[1826]<<16|K[1827]<<24);H[b+21|0]=c;H[b+22|0]=c>>>8;H[b+23|0]=c>>>16;H[b+24|0]=c>>>24;H[b+25|0]=d;H[b+26|0]=d>>>8;H[b+27|0]=d>>>16;H[b+28|0]=d>>>24;d=K[1823]|K[1824]<<8|(K[1825]<<16|K[1826]<<24);c=K[1819]|K[1820]<<8|(K[1821]<<16|K[1822]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;H[b+20|0]=d;H[b+21|0]=d>>>8;H[b+22|0]=d>>>16;H[b+23|0]=d>>>24;d=K[1815]|K[1816]<<8|(K[1817]<<16|K[1818]<<24);c=K[1811]|K[1812]<<8|(K[1813]<<16|K[1814]<<24);H[b+8|0]=c;H[b+9|0]=c>>>8;H[b+10|0]=c>>>16;H[b+11|0]=c>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1807]|K[1808]<<8|(K[1809]<<16|K[1810]<<24);c=K[1803]|K[1804]<<8|(K[1805]<<16|K[1806]<<24);H[b|0]=c;H[b+1|0]=c>>>8;H[b+2|0]=c>>>16;H[b+3|0]=c>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;J[a>>2]=-1;tl(a+4|0,b,29);hl(b);break d}j=b+200|0;d=j;J[d+128>>2]=2;J[d+132>>2]=7;J[d+64>>2]=b;c=ka[J[J[b>>2]+32>>2]](b)|0;J[d+88>>2]=c;c=J[c+28>>2]-J[c+24>>2]>>2;e=J[d+108>>2];h=J[d+104>>2];d=e-h>>2;e:{if(c>>>0>d>>>0){La(j+104|0,c-d|0);h=J[j+104>>2];e=J[j+108>>2];break e}if(c>>>0>=d>>>0){break e}e=(c<<2)+h|0;J[j+108>>2]=e}if((e|0)!=(h|0)){h=0;while(1){n=J[j+104>>2];q=n+(h<<2)|0;d=J[j+88>>2];f=-1;f:{if((h|0)==-1){break f}f=0;c=J[J[d+24>>2]+(h<<2)>>2];if((c|0)==-1){break f}k=J[d+12>>2];g=1;d=c;while(1){f=f+1|0;e=g;g:{if(e&255){g=0;i=d+1|0;d=(i>>>0)%3|0?i:d-2|0;if((d|0)==-1){d=c;break g}i=J[k+(d<<2)>>2];if((i|0)==-1){d=c;break g}d=c;p=i+1|0;i=(p>>>0)%3|0?p:i-2|0;if((i|0)==-1){break g}g=e;d=i;if((c|0)!=(d|0)){break g}break f}h:{if((d>>>0)%3|0){d=d-1|0;break h}d=d+2|0;if((d|0)==-1){break f}}d=J[k+(d<<2)>>2];if((d|0)==-1){break f}d=(d>>>0)%3|0?d-1|0:d+2|0;g=0}if((d|0)!=-1){continue}break}}J[q>>2]=f;h=h+1|0;if(h>>>0>2]-n>>2>>>0){continue}break}}c=j+92|0;h=J[j+88>>2];e=J[h>>2];d=J[h+4>>2]-e>>2;f=J[j+92>>2];g=J[j+96>>2]-f>>2;i:{if(d>>>0>g>>>0){lh(c,d-g|0);h=J[j+88>>2];e=J[h>>2];break i}if(d>>>0>=g>>>0){break i}J[j+96>>2]=f+(d<<2)}d=J[h+4>>2];j:{if((d|0)==(e|0)){break j}d=d-e>>2;g=d>>>0<=1?1:d;i=g&3;d=J[c>>2];h=0;if(g-1>>>0>=3){g=g&-4;f=0;while(1){c=h<<2;J[c+d>>2]=J[c+e>>2];k=c|4;J[k+d>>2]=J[e+k>>2];k=c|8;J[k+d>>2]=J[e+k>>2];c=c|12;J[c+d>>2]=J[c+e>>2];h=h+4|0;f=f+4|0;if((g|0)!=(f|0)){continue}break}}if(!i){break j}while(1){c=h<<2;J[c+d>>2]=J[c+e>>2];h=h+1|0;m=m+1|0;if((i|0)!=(m|0)){continue}break}}c=(J[j+132>>2]-J[j+128>>2]|0)+1|0;e=J[j+140>>2];d=J[j+136>>2];g=(e-d|0)/12|0;k:{if(c>>>0>g>>>0){h=0;c=c-g|0;f=J[j+144>>2];d=J[j+140>>2];if(c>>>0<=(f-d|0)/12>>>0){if(c){e=d;d=P(c,12)-12|0;d=(d-((d>>>0)%12|0)|0)+12|0;d=pk(e,0,d)+d|0}J[j+140>>2]=d;break k}l:{m:{n:{e=J[j+136>>2];i=(d-e|0)/12|0;g=i+c|0;if(g>>>0<357913942){f=(f-e|0)/12|0;m=f<<1;f=f>>>0>=178956970?357913941:g>>>0>>0?m:g;if(f){if(f>>>0>=357913942){break n}h=pl(P(f,12))}g=P(i,12)+h|0;c=P(c,12)-12|0;i=(c-((c>>>0)%12|0)|0)+12|0;c=pk(g,0,i);i=c+i|0;f=P(f,12)+h|0;if((d|0)==(e|0)){break m}while(1){g=g-12|0;d=d-12|0;J[g>>2]=J[d>>2];J[g+4>>2]=J[d+4>>2];J[g+8>>2]=J[d+8>>2];J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if((d|0)!=(e|0)){continue}break}J[j+144>>2]=f;e=J[j+140>>2];J[j+140>>2]=i;d=J[j+136>>2];J[j+136>>2]=g;if((d|0)==(e|0)){break l}while(1){c=e-12|0;g=J[c>>2];if(g){J[e-8>>2]=g;hl(g)}e=c;if((c|0)!=(d|0)){continue}break}break l}break c}Ya();C()}J[j+144>>2]=f;J[j+140>>2]=i;J[j+136>>2]=c}if(d){hl(d)}break k}if(c>>>0>>0){c=d+P(c,12)|0;if((c|0)!=(e|0)){while(1){d=e-12|0;g=J[d>>2];if(g){J[e-8>>2]=g;hl(g)}e=d;if((d|0)!=(c|0)){continue}break}}J[j+140>>2]=c}}d=J[b+12>>2];yb((J[d+28>>2]-J[d+24>>2]>>2)-J[d+44>>2]|0,J[J[b+4>>2]+44>>2]);d=J[b+12>>2];yb(((J[d+4>>2]-J[d>>2]>>2>>>0)/3|0)-J[d+40>>2]|0,J[J[b+4>>2]+44>>2]);d=J[b+8>>2];c=J[d+100>>2];d=J[d+96>>2];H[l+16|0]=0;m=b+28|0;c=(c-d|0)/12|0;d=l+16|0;Jg(m,c,d);c=J[b+12>>2];e=J[c+28>>2];c=J[c+24>>2];J[l+16>>2]=-1;Ig(b+52|0,e-c>>2,d);d=J[b+40>>2];J[b+44>>2]=d;g=J[b+12>>2];c=J[g+4>>2]-J[g>>2]>>2;c=c-((c>>>0)%3|0)|0;o:{if(c>>>0<=J[b+48>>2]-d>>2>>>0){break o}if(c>>>0>=1073741824){break c}e=c<<2;c=pl(e);J[b+44>>2]=c;J[b+40>>2]=c;J[b+48>>2]=c+e;if(!d){break o}hl(d);g=J[b+12>>2]}d=J[g+28>>2];c=J[g+24>>2];H[l+16|0]=0;Jg(b+84|0,d-c>>2,l+16|0);J[b+164>>2]=-1;J[b+168>>2]=0;J[b+100>>2]=J[b+96>>2];J[b+112>>2]=J[b+108>>2];if(J[b+132>>2]){g=J[b+128>>2];if(g){while(1){d=J[g>>2];hl(g);g=d;if(d){continue}break}}g=0;J[b+128>>2]=0;d=J[b+124>>2];p:{if(!d){break p}if(d>>>0>=4){f=d&-4;e=0;while(1){c=g<<2;J[c+J[b+120>>2]>>2]=0;J[J[b+120>>2]+(c|4)>>2]=0;J[J[b+120>>2]+(c|8)>>2]=0;J[J[b+120>>2]+(c|12)>>2]=0;g=g+4|0;e=e+4|0;if((f|0)!=(e|0)){continue}break}}d=d&3;if(!d){break p}f=0;while(1){J[J[b+120>>2]+(g<<2)>>2]=0;g=g+1|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}}J[b+132>>2]=0}J[b+144>>2]=0;d=J[b+12>>2];c=J[d+28>>2];d=J[d+24>>2];J[l+16>>2]=-1;Ig(b+152|0,c-d>>2,l+16|0);d=J[b+72>>2];J[b+76>>2]=d;q=b+72|0;c=J[b+12>>2];c=J[c+4>>2]-J[c>>2]|0;e=(c>>2>>>0)/3|0;q:{if(e>>>0<=J[b+80>>2]-d>>2>>>0){break q}if((c|0)<0){break c}e=e<<2;c=pl(e);J[b+76>>2]=c;J[b+72>>2]=c;J[b+80>>2]=c+e;if(!d){break q}hl(d)}J[b- -64>>2]=0;if(!Ug(b)){b=pl(32);H[b+29|0]=0;d=K[1768]|K[1769]<<8|(K[1770]<<16|K[1771]<<24);c=K[1764]|K[1765]<<8|(K[1766]<<16|K[1767]<<24);H[b+21|0]=c;H[b+22|0]=c>>>8;H[b+23|0]=c>>>16;H[b+24|0]=c>>>24;H[b+25|0]=d;H[b+26|0]=d>>>8;H[b+27|0]=d>>>16;H[b+28|0]=d>>>24;d=K[1763]|K[1764]<<8|(K[1765]<<16|K[1766]<<24);c=K[1759]|K[1760]<<8|(K[1761]<<16|K[1762]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;H[b+20|0]=d;H[b+21|0]=d>>>8;H[b+22|0]=d>>>16;H[b+23|0]=d>>>24;d=K[1755]|K[1756]<<8|(K[1757]<<16|K[1758]<<24);c=K[1751]|K[1752]<<8|(K[1753]<<16|K[1754]<<24);H[b+8|0]=c;H[b+9|0]=c>>>8;H[b+10|0]=c>>>16;H[b+11|0]=c>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1747]|K[1748]<<8|(K[1749]<<16|K[1750]<<24);c=K[1743]|K[1744]<<8|(K[1745]<<16|K[1746]<<24);H[b|0]=c;H[b+1|0]=c>>>8;H[b+2|0]=c>>>16;H[b+3|0]=c>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;J[a>>2]=-1;tl(a+4|0,b,29);hl(b);break d}g=0;c=b;r:{if(K[b+352|0]){break r}b=J[c+8>>2];e=J[b+12>>2]-J[b+8>>2]|0;f=e>>2;b=f-1|0;d=J[c+176>>2];h=J[c+172>>2];i=(d-h|0)/136|0;s:{if(b>>>0>i>>>0){ah(c+172|0,b-i|0);break s}if(b>>>0>=i>>>0){break s}i=h+P(b,136)|0;if((i|0)!=(d|0)){while(1){b=d-136|0;h=J[b+116>>2];if(h){J[d-16>>2]=h;hl(h)}h=J[d-32>>2];if(h){J[d-28>>2]=h;hl(h)}bh(d-132|0);d=b;if((b|0)!=(i|0)){continue}break}}J[c+176>>2]=i}if((e|0)==4|(e|0)<=0){break r}i=(f|0)<=1?1:f;d=0;t:{while(1){h=J[J[J[c+8>>2]+8>>2]+(d<<2)>>2];if(J[h+56>>2]){k=P(g,136);b=k+J[c+172>>2]|0;J[b>>2]=d;e=J[b+104>>2];J[b+108>>2]=e;f=J[c+12>>2];f=J[f+4>>2]-J[f>>2]|0;n=f>>2;u:{if(n>>>0<=J[b+112>>2]-e>>2>>>0){break u}if((f|0)<0){break t}f=pl(f);J[b+108>>2]=f;J[b+104>>2]=f;J[b+112>>2]=f+(n<<2);if(!e){break u}hl(e)}b=k+J[c+172>>2]|0;J[b+128>>2]=0;Uj(b+4|0,J[c+8>>2],J[c+12>>2],h);g=g+1|0}d=d+1|0;if((i|0)!=(d|0)){continue}break}break r}break c}b=(J[c+176>>2]-J[c+172>>2]|0)/136|0;H[l+31|0]=b;d=J[J[c+4>>2]+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){Ba(d,J[d+4>>2],l+31|0,l+32|0);b=K[l+31|0]}J[c+284>>2]=b&255;b=J[c+12>>2];g=J[b>>2];b=J[b+4>>2];Vg(j);e=0;J[l+24>>2]=0;J[l+16>>2]=0;J[l+20>>2]=0;d=0;v:{w:{x:{b=b-g|0;if((b|0)>0){b=b>>>2|0;p=b>>>0<=1?1:b;g=0;while(1){b=(g>>>0)/3|0;s=b>>>5<<2;t=1<>2]>>2]&t){break y}if(Nj(J[c+12>>2],b)){break y}J[l+8>>2]=0;b=Wg(c,b,l+8|0);De(j,b);i=J[l+8>>2];if(b){h=-1;f=-1;k=-1;z:{if((i|0)==-1){break z}n=J[J[c+12>>2]>>2];b=n+(i<<2)|0;h=i+1|0;h=(h>>>0)%3|0?h:i-2|0;if((h|0)!=-1){f=J[n+(h<<2)>>2]}h=J[b>>2];A:{if((i>>>0)%3|0){b=i-1|0;break A}b=i+2|0;k=-1;if((b|0)==-1){break z}}k=J[n+(b<<2)>>2]}b=J[c+84>>2];n=b+(h>>>3&536870908)|0;J[n>>2]=J[n>>2]|1<>>3&536870908)|0;J[h>>2]=J[h>>2]|1<>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];h=J[c+104>>2];B:{if(b>>>0>>0){J[b>>2]=1;J[c+100>>2]=b+4;break B}k=b;b=J[c+96>>2];k=k-b|0;n=k>>2;f=n+1|0;if(f>>>0>=1073741824){break c}r=n<<2;h=h-b|0;n=h>>>1|0;f=h>>>0>=2147483644?1073741823:f>>>0>>0?n:f;if(f){if(f>>>0>=1073741824){break x}h=pl(f<<2)}else{h=0}n=r+h|0;J[n>>2]=1;r=f<<2;f=ok(h,b,k);J[c+104>>2]=r+f;J[c+100>>2]=n+4;J[c+96>>2]=f;if(!b){break B}hl(b)}b=s+J[m>>2]|0;J[b>>2]=t|J[b>>2];h=-1;if((i|0)!=-1){b=i+1|0;h=(b>>>0)%3|0?b:i-2|0}C:{if(e>>>0>>0){J[e>>2]=h;e=e+4|0;J[l+20>>2]=e;break C}f=e-d>>2;b=f+1|0;if(b>>>0>=1073741824){break c}k=o-d|0;o=k>>>1|0;b=k>>>0>=2147483644?1073741823:b>>>0>>0?o:b;if(b){if(b>>>0>=1073741824){break x}k=pl(b<<2)}else{k=0}f=k+(f<<2)|0;J[f>>2]=h;o=k+(b<<2)|0;b=f+4|0;if((d|0)!=(e|0)){while(1){f=f-4|0;e=e-4|0;J[f>>2]=J[e>>2];if((d|0)!=(e|0)){continue}break}}J[l+24>>2]=o;J[l+20>>2]=b;J[l+16>>2]=f;if(d){hl(d)}d=f;e=b}if((i|0)==-1){break y}b=i+1|0;b=(b>>>0)%3|0?b:i-2|0;if((b|0)==-1){break y}b=J[J[J[c+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break y}f=(b>>>0)/3|0;if(J[J[m>>2]+(f>>>3&268435452)>>2]>>>f&1){break y}if(kh(c,b)){break y}break w}if((i|0)!=-1){b=i+1|0;b=(b>>>0)%3|0?b:i-2|0}else{b=-1}Yg(c,b,1);if(!kh(c,J[l+8>>2])){break w}}g=g+1|0;if((p|0)!=(g|0)){continue}break}}g=J[c+72>>2];b=J[c+76>>2];D:{if((g|0)==(b|0)){break D}f=b-4|0;if(g>>>0>=f>>>0){break D}while(1){i=J[g>>2];J[g>>2]=J[f>>2];J[f>>2]=i;f=f-4|0;g=g+4|0;if(f>>>0>g>>>0){continue}break}}Zg(q,b,d,e);E:{if(J[c+172>>2]==J[c+176>>2]){break E}b=J[c+8>>2];e=J[b+100>>2];b=J[b+96>>2];H[l+8|0]=0;Jg(m,(e-b|0)/12|0,l+8|0);g=J[c+72>>2];b=J[c+76>>2];if((g|0)==(b|0)){break E}while(1){_g(c,J[g>>2]);g=g+4|0;if((b|0)!=(g|0)){continue}break}}m=0;g=0;b=j+32|0;Ee(j,b);if(!(!J[j+80>>2]|J[j+84>>2]<=0)){while(1){Ee(J[j+80>>2]+(m<<5)|0,b);m=m+1|0;if((m|0)>2]){continue}break}}m=J[j+136>>2];if((m|0)!=J[j+140>>2]){while(1){e=P(g,12);f=e+m|0;yb(J[f+4>>2]-J[f>>2]>>2,b);m=J[j+136>>2];e=e+m|0;f=J[e+4>>2];e=J[e>>2];if((f|0)!=(e|0)){kf(e,f-e>>2,1,0,b);m=J[j+136>>2]}g=g+1|0;if(g>>>0<(J[j+140>>2]-m|0)/12>>>0){continue}break}}yb(J[c+324>>2],J[J[c+4>>2]+44>>2]);yb(J[c+168>>2],J[J[c+4>>2]+44>>2]);if(!$g(c)){b=pl(32);H[b+28|0]=0;c=K[1909]|K[1910]<<8|(K[1911]<<16|K[1912]<<24);H[b+24|0]=c;H[b+25|0]=c>>>8;H[b+26|0]=c>>>16;H[b+27|0]=c>>>24;c=K[1905]|K[1906]<<8|(K[1907]<<16|K[1908]<<24);e=K[1901]|K[1902]<<8|(K[1903]<<16|K[1904]<<24);H[b+16|0]=e;H[b+17|0]=e>>>8;H[b+18|0]=e>>>16;H[b+19|0]=e>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1897]|K[1898]<<8|(K[1899]<<16|K[1900]<<24);e=K[1893]|K[1894]<<8|(K[1895]<<16|K[1896]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1889]|K[1890]<<8|(K[1891]<<16|K[1892]<<24);e=K[1885]|K[1886]<<8|(K[1887]<<16|K[1888]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,28);hl(b);break v}b=J[J[c+4>>2]+44>>2];e=J[b+20>>2];if(!J[b+16>>2]&(e|0)<=0|(e|0)<0){Ba(b,J[b+4>>2],J[c+232>>2],J[c+236>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break v}Ya();C()}b=pl(48);H[b+32|0]=0;c=K[1703]|K[1704]<<8|(K[1705]<<16|K[1706]<<24);e=K[1699]|K[1700]<<8|(K[1701]<<16|K[1702]<<24);H[b+24|0]=e;H[b+25|0]=e>>>8;H[b+26|0]=e>>>16;H[b+27|0]=e>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1695]|K[1696]<<8|(K[1697]<<16|K[1698]<<24);e=K[1691]|K[1692]<<8|(K[1693]<<16|K[1694]<<24);H[b+16|0]=e;H[b+17|0]=e>>>8;H[b+18|0]=e>>>16;H[b+19|0]=e>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1687]|K[1688]<<8|(K[1689]<<16|K[1690]<<24);e=K[1683]|K[1684]<<8|(K[1685]<<16|K[1686]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1679]|K[1680]<<8|(K[1681]<<16|K[1682]<<24);e=K[1675]|K[1676]<<8|(K[1677]<<16|K[1678]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,32);hl(b)}if(!d){break d}hl(d)}fa=l+32|0;return}Ia();C()}function ad(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;i=fa-224|0;fa=i;J[a+8>>2]=e;B=a+32|0;h=J[B>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0>>0){La(B,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){d=g;break c}h=1;f=d-1|0;s=f&1;d:{if((d|0)==2){d=g;break d}y=f&-2;d=g;while(1){j=(h<<2)+b|0;f=J[j+4>>2];j=J[j>>2];l=(j|0)<(d|0);d=l?j:d;t=(d|0)>(f|0);d=t?f:d;j=l?g:(g|0)<(j|0)?j:g;g=t?j:(f|0)>(j|0)?f:j;h=h+2|0;k=k+2|0;if((y|0)!=(k|0)){continue}break}}if(!s){break c}f=J[(h<<2)+b>>2];h=(f|0)<(d|0);d=h?f:d;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=d;f=g-d|0;d=(g>>31)-((d>>31)+(d>>>0>g>>>0)|0)|0;if(!d&f>>>0>2147483646|d){break b}d=f+1|0;J[a+20>>2]=d;f=d>>>1|0;J[a+24>>2]=f;J[a+28>>2]=0-f;if(d&1){break b}J[a+24>>2]=f-1}Z=J[a+52>>2];z=J[a+48>>2];J[i+184>>2]=0;J[i+188>>2]=0;J[i+176>>2]=0;J[i+180>>2]=0;J[i+168>>2]=0;J[i+172>>2]=0;J[i+160>>2]=0;J[i+164>>2]=0;J[i+152>>2]=0;J[i+156>>2]=0;J[i+144>>2]=0;J[i+148>>2]=0;e:{if(!e){g=0;d=0;break e}La(i+144|0,e);g=J[i+156>>2];d=J[i+160>>2]}d=d-g>>2;f:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break f}J[i+160>>2]=(e<<2)+g;break f}La(i+144|12,e-d|0)}f=J[i+168>>2];d=J[i+172>>2]-f>>2;g:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break g}J[i+172>>2]=f+(e<<2);break g}La(i+168|0,e-d|0)}h:{i:{f=J[i+180>>2];d=J[i+184>>2]-f>>2;j:{k:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[i+184>>2]=f+(e<<2)}J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0;if(e){break k}d=1;break j}La(i+180|0,e-d|0);J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0}if(e>>>0>=1073741824){break i}d=e<<2;f=pl(d);J[i+128>>2]=f;h=d+f|0;J[i+136>>2]=h;pk(f,0,d);J[i+132>>2]=h;d=0}A=a+152|0;h=J[a+152>>2];f=J[a+156>>2]-h>>2;l:{m:{if(f>>>0>>0){La(A,e-f|0);J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;d=i- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;break m}if(e>>>0>>0){J[a+156>>2]=h+(e<<2)}J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;f=i- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;s=0;if(d){break l}}d=e<<2;q=pl(d);s=pk(q,0,d)+d|0}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break h}L=e&-2;M=e&1;_=e&-4;S=e&3;N=e-1|0;U=e<<2;O=a+112|0;y=d>>>2|0;Q=s-q|0;D=Q>>2;X=(Q-4&-4)+4|0;$=i+36|0;aa=i+24|0;while(1){f=J[a+56>>2];d=J[f>>2];n:{o:{t=y-1|0;if(t>>>0>2]-d>>2>>>0){f=0;j=0;k=J[d+(t<<2)>>2];p:{if((k|0)==-1){break p}o=1;d=k+2|0;j=(k>>>0)%3|0;u=j?k-1|0:d;E=1<>2];G=l+(u>>>3&536870908)|0;h=0;I=(j|0)!=0|(d|0)!=-1;d=k;while(1){q:{if(J[l+(d>>>3&536870908)>>2]>>>d&1){break q}j=J[J[J[z+64>>2]+12>>2]+(d<<2)>>2];if((j|0)==-1){break q}n=J[Z>>2];g=J[z+28>>2];m=J[n+(J[g+(j<<2)>>2]<<2)>>2];if((m|0)>=(t|0)){break q}p=j+1|0;p=J[n+(J[g+(((p>>>0)%3|0?p:j-2|0)<<2)>>2]<<2)>>2];if((p|0)>=(t|0)){break q}g=J[n+(J[g+(j+((j>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((g|0)>=(t|0)){break q}r:{if(!e){break r}j=J[(i+144|0)+P(h,12)>>2];n=P(e,g);p=P(e,p);x=P(e,m);g=0;m=0;if(N){while(1){J[j+(g<<2)>>2]=(J[(g+n<<2)+b>>2]+J[(g+p<<2)+b>>2]|0)-J[(g+x<<2)+b>>2];w=g|1;J[j+(w<<2)>>2]=(J[(n+w<<2)+b>>2]+J[(p+w<<2)+b>>2]|0)-J[(x+w<<2)+b>>2];g=g+2|0;m=m+2|0;if((L|0)!=(m|0)){continue}break}}if(!M){break r}J[j+(g<<2)>>2]=(J[(g+n<<2)+b>>2]+J[(g+p<<2)+b>>2]|0)-J[(g+x<<2)+b>>2]}j=4;h=h+1|0;if((h|0)==4){break p}}s:{if(o&1){g=d-2|0;j=d+1|0;d=-1;j=(j>>>0)%3|0?j:g;if((j|0)==-1|J[l+(j>>>3&536870908)>>2]>>>j&1){break s}j=J[J[J[z+64>>2]+12>>2]+(j<<2)>>2];if((j|0)==-1){break s}d=j+1|0;d=(d>>>0)%3|0?d:j-2|0;break s}t:{if((d>>>0)%3|0){g=d-1|0;break t}g=d+2|0;d=-1;if((g|0)==-1){break s}}d=-1;if(J[l+(g>>>3&536870908)>>2]>>>g&1){break s}j=J[J[J[z+64>>2]+12>>2]+(g<<2)>>2];if((j|0)==-1){break s}if((j>>>0)%3|0){d=j-1|0;break s}d=j+2|0}if((d|0)==(k|0)){j=h;break p}if((d|0)==-1&o){if(!I){j=h;break p}if(E&J[G>>2]){j=h;break p}d=J[J[J[z+64>>2]+12>>2]+(u<<2)>>2];if((d|0)==-1){j=h;break p}o=0;d=(d>>>0)%3|0?d-1|0:d+2|0}j=h;if((d|0)!=-1){continue}break}}H[i+16|0]=0;J[i+8>>2]=0;J[i+12>>2]=0;J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;I=P(e,t)<<2;x=I+b|0;k=(P(y-2|0,e)<<2)+b|0;l=J[A>>2];d=0;if(e){while(1){g=f<<2;h=J[g+k>>2]-J[g+x>>2]|0;J[g+q>>2]=h;J[g+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=d;d=h>>31;d=g+((d^h)-d|0)|0;f=f+1|0;if((f|0)!=(e|0)){continue}break}}f=i+200|0;ef(f,O,l,e);l=hf(f);h=J[f+12>>2];f=J[f+16>>2];h=(((h-f|0)+1|0)/64|0)+f<<3;n=f<<3;f=h+n|0;h=(h>>31)+(n>>31)|0;g=ja+(f>>>0>>0?h+1|0:h)|0;h=f;f=f+l|0;h=h>>>0>f>>>0?g+1|0:g;E=(j|0)<=0;if(!E){o=(j<<3)-8|0;g=o+(i+48|0)|0;n=g;l=J[g>>2];g=J[g+4>>2];l=j+l|0;g=l>>>0>>0?g+1|0:g;J[n>>2]=l;J[n+4>>2]=g;v=W(df(l,J[o+(i+80|0)>>2])*(+(l>>>0)+ +(g|0)*4294967296));u:{if(R(v)<0x8000000000000000){l=R(v)>=1?~~(v>0?T(V(v*2.3283064365386963e-10),4294967295):W((v-+(~~v>>>0>>>0))*2.3283064365386963e-10))>>>0:0;g=~~v>>>0;break u}l=-2147483648;g=0}f=f+g|0;h=f}J[i+20>>2]=0;H[i+16|0]=0;J[i+8>>2]=f;J[i+12>>2]=d;Qa(aa,k,k+U|0);ec($,q,s);v:{w:{x:{if(E){break x}n=(i+124|0)+j|0;l=n-1|0;Y=j<<3;d=Y-8|0;G=d+(i+48|0)|0;ba=d+(i+80|0)|0;o=1;w=0;while(1){d=i+124|0;pk(d,1,j);w=w+1|0;pk(d,0,w);y:{z:while(1){if(e){pk(J[i+128>>2],0,U)}m=0;d=J[i+128>>2];u=0;while(1){if(!K[(i+124|0)+m|0]){A:{if(!e){break A}f=J[(i+144|0)+P(m,12)>>2];h=0;g=0;k=0;if(e>>>0>3){while(1){p=g<<2;r=p+d|0;J[r>>2]=J[r>>2]+J[f+p>>2];r=p|4;F=r+d|0;J[F>>2]=J[F>>2]+J[f+r>>2];r=p|8;F=r+d|0;J[F>>2]=J[F>>2]+J[f+r>>2];p=p|12;r=p+d|0;J[r>>2]=J[r>>2]+J[f+p>>2];g=g+4|0;k=k+4|0;if((_|0)!=(k|0)){continue}break}}if(!S){break A}while(1){k=g<<2;p=k+d|0;J[p>>2]=J[p>>2]+J[f+k>>2];g=g+1|0;h=h+1|0;if((S|0)!=(h|0)){continue}break}}u=1<>2];B:{C:{D:{if(e){g=0;d=0;if(N){break D}break C}k=J[A>>2];h=0;break B}while(1){h=g<<2;k=h+f|0;J[k>>2]=J[k>>2]/(o|0);h=(h|4)+f|0;J[h>>2]=J[h>>2]/(o|0);g=g+2|0;d=d+2|0;if((L|0)!=(d|0)){continue}break}}if(M){d=(g<<2)+f|0;J[d>>2]=J[d>>2]/(o|0)}k=J[A>>2];f=J[i+128>>2];d=0;h=0;if(!e){break B}while(1){m=d<<2;g=J[m+f>>2]-J[m+x>>2]|0;J[m+q>>2]=g;J[k+m>>2]=(g|0)<0?(g^-1)<<1|1:g<<1;m=h;h=g>>31;h=m+((h^g)-h|0)|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=i+200|0;ef(d,O,k,e);k=hf(d);g=J[d+12>>2];d=J[d+16>>2];g=(((g-d|0)+1|0)/64|0)+d<<3;m=d<<3;d=g+m|0;d=d+k|0;k=J[G+4>>2];g=J[G>>2];v=W(df(g,J[ba>>2]+o|0)*(+(g>>>0)+ +(k|0)*4294967296));E:{if(R(v)<0x8000000000000000){g=~~v>>>0;break E}g=0}d=g+d|0;g=J[i+8>>2];if(!((d|0)>=(g|0)&((d|0)>(g|0)|(h|0)>=J[i+12>>2]))){J[i+20>>2]=o;H[i+16|0]=u;J[i+8>>2]=d;J[i+12>>2]=h;k=J[i+132>>2];m=k-f|0;g=m>>2;d=J[i+32>>2];h=J[i+24>>2];F:{if(g>>>0<=d-h>>2>>>0){m=J[i+28>>2]-h|0;d=m+f|0;u=m>>2;m=u>>>0>>0?d:k;p=m-f|0;if((f|0)!=(m|0)){ok(h,f,p)}if(g>>>0>u>>>0){g=J[i+28>>2];if((k|0)==(m|0)){break F}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((k|0)!=(d|0)){continue}break}break F}g=h+p|0;break F}if(h){J[i+28>>2]=h;hl(h);J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;d=0}if((m|0)<0){break w}h=d>>>1|0;d=d>>>0>=2147483644?1073741823:g>>>0>>0?h:g;if(d>>>0>=1073741824){break w}d=d<<2;g=pl(d);J[i+24>>2]=g;J[i+32>>2]=d+g;if((f|0)==(k|0)){break F}d=(m-4&-4)+4|0;g=nk(g,f,d)+d|0}J[i+28>>2]=g;d=J[i+44>>2];f=J[i+36>>2];G:{if(d-f>>2>>>0>=D>>>0){h=J[i+40>>2]-f|0;d=h+q|0;k=h>>2;h=k>>>0>>0?d:s;g=h-q|0;if((h|0)!=(q|0)){ok(f,q,g)}if(k>>>0>>0){g=J[i+40>>2];if((h|0)==(s|0)){break G}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((s|0)!=(d|0)){continue}break}break G}g=f+g|0;break G}if(f){J[i+40>>2]=f;hl(f);J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;d=0}if((Q|0)<0){break v}f=d>>>1|0;d=d>>>0>=2147483644?1073741823:f>>>0>D>>>0?f:D;if(d>>>0>=1073741824){break v}d=d<<2;g=pl(d);J[i+36>>2]=g;J[i+44>>2]=d+g;if((q|0)==(s|0)){break G}g=nk(g,q,X)+X|0}J[i+40>>2]=g}if((l|0)==(i+124|0)){break y}g=K[l|0];d=-1;while(1){k=g&255;f=d-1|0;h=f+n|0;g=K[h|0];if(k>>>0>g>>>0){f=n;while(1){f=f-1|0;k=K[f|0];if(k>>>0<=g>>>0){continue}break}H[h|0]=k;H[f|0]=g;if((d|0)==-1){continue z}g=d+n|0;d=l;while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}continue z}d=f;if((h|0)!=(i+124|0)){continue}break}break}f=i+124|0;g=f;d=l;if(f>>>0>=d>>>0){break y}while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}}o=o+1|0;if((j|0)!=(w|0)){continue}break}if((j|0)<=0){break x}h=J[i+20>>2];g=h;d=i+Y|0;f=g+J[d+72>>2]|0;h=J[d+76>>2]+(g>>31)|0;J[d+72>>2]=f;J[d+76>>2]=f>>>0>>0?h+1|0:h}if(!e){break n}d=J[A>>2];g=0;f=J[i+36>>2];k=0;if(!N){break o}while(1){l=g<<2;h=J[l+f>>2];J[d+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;l=l|4;h=J[l+f>>2];J[d+l>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=g+2|0;k=k+2|0;if((L|0)!=(k|0)){continue}break}break o}Ia();C()}Ia();C()}Xc();C()}if(!M){break n}h=g<<2;f=J[h+f>>2];J[d+h>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}gf(i+200|0,O,J[A>>2],e);H:{if(E){break H}g=P(j,12)+a|0;d=0;while(1){I:{k=J[g+56>>2];l=k<<5;f=J[g+52>>2];J:{if(!(K[i+16|0]>>>d&1)){h=f;K:{if((f|0)!=(l|0)){break K}if((f+1|0)<0){break I}L:{if(f>>>0<=1073741822){k=k<<6;l=(f&-32)+32|0;l=k>>>0>l>>>0?k:l;h=f;if(f>>>0>=l>>>0){break K}if((l|0)>=0){break L}break I}l=2147483647;h=-1;if(f>>>0>=2147483647){break K}}l=(l-1>>>5|0)+1|0;h=pl(l<<2);k=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;M:{N:{if(!f){break N}n=f>>>5|0;if(f>>>0>=32){ok(h,k,n<<2)}o=f&31;if(!o){break N}n=n<<2;m=n+h|0;o=-1>>>32-o|0;J[m>>2]=J[m>>2]&(o^-1)|o&J[k+n>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;break M}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;h=f;if(!k){break K}}hl(k);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0<=1073741822){k=k<<6;l=(f&-32)+32|0;l=k>>>0>l>>>0?k:l;h=f;if(f>>>0>=l>>>0){break O}if((l|0)<0){break I}break P}l=2147483647;h=-1;if(f>>>0>=2147483647){break O}}l=(l-1>>>5|0)+1|0;h=pl(l<<2);k=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;Q:{R:{if(!f){break R}n=f>>>5|0;if(f>>>0>=32){ok(h,k,n<<2)}o=f&31;if(!o){break R}n=n<<2;m=n+h|0;o=-1>>>32-o|0;J[m>>2]=J[m>>2]&(o^-1)|o&J[k+n>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;break Q}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=l;h=f;if(!k){break O}}hl(k);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;k=J[f>>2];ca=f,da=im(h)&k,J[ca>>2]=da}d=d+1|0;if((j|0)!=(d|0)){continue}break H}break}Ia();C()}g=J[a+8>>2];if((g|0)>0){n=c+I|0;d=J[B>>2];l=0;k=J[i+24>>2];while(1){h=d;if((g|0)>0){h=J[B>>2];g=0;while(1){f=g<<2;j=J[f+k>>2];o=J[a+16>>2];S:{if((j|0)>(o|0)){J[f+h>>2]=o;break S}f=f+h|0;o=J[a+12>>2];if((o|0)>(j|0)){J[f>>2]=o;break S}J[f>>2]=j}g=g+1|0;if((g|0)>2]){continue}break}}j=l<<2;f=j+n|0;j=J[j+x>>2]-J[h+j>>2]|0;J[f>>2]=j;T:{if((j|0)>2]){g=j+J[a+20>>2]|0}else{if((j|0)<=J[a+24>>2]){break T}g=j-J[a+20>>2]|0}J[f>>2]=g}k=h;g=J[a+8>>2];l=l+1|0;if((g|0)>(l|0)){continue}break}}d=J[i+36>>2];if(d){J[i+40>>2]=d;hl(d)}d=J[i+24>>2];if(d){J[i+28>>2]=d;hl(d)}d=(y|0)>2;y=t;if(d){continue}break}break h}Ia();C()}if((e|0)>0){pk(J[i+144>>2],0,e<<2)}g=J[a+8>>2];if((g|0)>0){d=J[a+32>>2];l=0;k=J[i+144>>2];while(1){h=d;if((g|0)>0){h=J[B>>2];g=0;while(1){e=g<<2;f=J[e+k>>2];j=J[a+16>>2];U:{if((f|0)>(j|0)){J[e+h>>2]=j;break U}e=e+h|0;j=J[a+12>>2];if((j|0)>(f|0)){J[e>>2]=j;break U}J[e>>2]=f}g=g+1|0;if((g|0)>2]){continue}break}}f=l<<2;e=f+c|0;f=J[b+f>>2]-J[f+h>>2]|0;J[e>>2]=f;V:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break V}f=f-J[a+20>>2]|0}J[e>>2]=f}k=h;g=J[a+8>>2];l=l+1|0;if((g|0)>(l|0)){continue}break}}if(q){hl(q)}a=J[i+128>>2];if(a){J[i+132>>2]=a;hl(a)}a=J[i+180>>2];if(a){J[i+184>>2]=a;hl(a)}a=J[i+168>>2];if(a){J[i+172>>2]=a;hl(a)}a=J[i+156>>2];if(a){J[i+160>>2]=a;hl(a)}a=J[i+144>>2];if(a){J[i+148>>2]=a;hl(a)}fa=i+224|0;return 1}function yd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;i=fa-224|0;fa=i;J[a+8>>2]=e;z=a+32|0;h=J[z>>2];f=J[a+36>>2]-h>>2;a:{if(f>>>0>>0){La(z,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=h+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){d=g;break c}h=1;f=d-1|0;w=f&1;d:{if((d|0)==2){d=g;break d}u=f&-2;d=g;while(1){j=(h<<2)+b|0;f=J[j+4>>2];j=J[j>>2];l=(j|0)<(d|0);d=l?j:d;m=(d|0)>(f|0);d=m?f:d;j=l?g:(g|0)<(j|0)?j:g;g=m?j:(f|0)>(j|0)?f:j;h=h+2|0;k=k+2|0;if((u|0)!=(k|0)){continue}break}}if(!w){break c}f=J[(h<<2)+b>>2];h=(f|0)<(d|0);d=h?f:d;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=d;f=g-d|0;d=(g>>31)-((d>>31)+(d>>>0>g>>>0)|0)|0;if(!d&f>>>0>2147483646|d){break b}d=f+1|0;J[a+20>>2]=d;f=d>>>1|0;J[a+24>>2]=f;J[a+28>>2]=0-f;if(d&1){break b}J[a+24>>2]=f-1}Z=J[a+52>>2];N=J[a+48>>2];J[i+184>>2]=0;J[i+188>>2]=0;J[i+176>>2]=0;J[i+180>>2]=0;J[i+168>>2]=0;J[i+172>>2]=0;J[i+160>>2]=0;J[i+164>>2]=0;J[i+152>>2]=0;J[i+156>>2]=0;J[i+144>>2]=0;J[i+148>>2]=0;e:{if(!e){g=0;d=0;break e}La(i+144|0,e);g=J[i+156>>2];d=J[i+160>>2]}d=d-g>>2;f:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break f}J[i+160>>2]=(e<<2)+g;break f}La(i+144|12,e-d|0)}f=J[i+168>>2];d=J[i+172>>2]-f>>2;g:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break g}J[i+172>>2]=f+(e<<2);break g}La(i+168|0,e-d|0)}h:{i:{f=J[i+180>>2];d=J[i+184>>2]-f>>2;j:{k:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[i+184>>2]=f+(e<<2)}J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0;if(e){break k}d=1;break j}La(i+180|0,e-d|0);J[i+136>>2]=0;J[i+128>>2]=0;J[i+132>>2]=0}if(e>>>0>=1073741824){break i}d=e<<2;f=pl(d);J[i+128>>2]=f;h=d+f|0;J[i+136>>2]=h;pk(f,0,d);J[i+132>>2]=h;d=0}x=a+152|0;h=J[a+152>>2];f=J[a+156>>2]-h>>2;l:{m:{if(f>>>0>>0){La(x,e-f|0);J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;d=i- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;break m}if(e>>>0>>0){J[a+156>>2]=h+(e<<2)}J[i+104>>2]=0;J[i+108>>2]=0;J[i+96>>2]=0;J[i+100>>2]=0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;f=i- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;u=0;if(d){break l}}d=e<<2;r=pl(d);u=pk(r,0,d)+d|0}d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break h}F=e&-2;G=e&1;_=e&-4;O=e&3;I=e-1|0;Q=e<<2;L=a+112|0;E=d>>>2|0;M=u-r|0;A=M>>2;S=(M-4&-4)+4|0;$=i+36|0;aa=i+24|0;while(1){f=J[a+56>>2];d=J[f>>2];n:{o:{w=E-1|0;if(w>>>0>2]-d>>2>>>0){f=0;l=0;d=J[d+(w<<2)>>2];p:{if((d|0)==-1){break p}m=J[N+12>>2];h=d+2|0;l=(d>>>0)%3|0;y=m+((l?d-1|0:h)<<2)|0;j=0;B=(l|0)!=0|(h|0)!=-1;q=1;h=d;while(1){l=J[m+(h<<2)>>2];q:{if((l|0)==-1){break q}k=-1;p=J[Z>>2];n=J[N>>2];g=p+(J[n+(l<<2)>>2]<<2)|0;o=l+1|0;o=(o>>>0)%3|0?o:l-2|0;if((o|0)!=-1){k=J[n+(o<<2)>>2]}o=J[g>>2];r:{s:{if((l>>>0)%3|0){g=l-1|0;break s}g=l+2|0;s=-1;if((g|0)==-1){break r}}s=J[n+(g<<2)>>2]}if((o|0)>=(w|0)){break q}g=J[p+(k<<2)>>2];if((g|0)>=(w|0)){break q}k=J[p+(s<<2)>>2];if((k|0)>=(w|0)){break q}l=J[(i+144|0)+P(j,12)>>2];t:{if(!e){break t}k=P(e,k);n=P(e,g);o=P(e,o);g=0;p=0;if(I){while(1){J[l+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+n<<2)+b>>2]|0)-J[(g+o<<2)+b>>2];s=g|1;J[l+(s<<2)>>2]=(J[(k+s<<2)+b>>2]+J[(n+s<<2)+b>>2]|0)-J[(o+s<<2)+b>>2];g=g+2|0;p=p+2|0;if((F|0)!=(p|0)){continue}break}}if(!G){break t}J[l+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+n<<2)+b>>2]|0)-J[(g+o<<2)+b>>2]}l=4;j=j+1|0;if((j|0)==4){break p}}u:{if(q&1){g=h+1|0;h=(g>>>0)%3|0?g:h-2|0;l=-1;if((h|0)==-1){break u}h=J[m+(h<<2)>>2];l=-1;if((h|0)==-1){break u}l=h+1|0;l=(l>>>0)%3|0?l:h-2|0;break u}v:{if((h>>>0)%3|0){g=h-1|0;break v}g=h+2|0;l=-1;if((g|0)==-1){break u}}h=J[m+(g<<2)>>2];l=-1;if((h|0)==-1){break u}l=h-1|0;if((h>>>0)%3|0){break u}l=h+2|0}h=l;if((d|0)==(h|0)){l=j;break p}if((h|0)==-1&q){if(!B){l=j;break p}h=J[y>>2];if((h|0)==-1){l=j;break p}q=0;h=(h>>>0)%3|0?h-1|0:h+2|0}l=j;if((h|0)!=-1){continue}break}}H[i+16|0]=0;J[i+8>>2]=0;J[i+12>>2]=0;J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;J[i+28>>2]=0;J[i+32>>2]=0;J[i+20>>2]=0;J[i+24>>2]=0;U=P(e,w)<<2;s=U+b|0;k=(P(E-2|0,e)<<2)+b|0;g=J[x>>2];d=0;if(e){while(1){j=f<<2;h=J[j+k>>2]-J[j+s>>2]|0;J[j+r>>2]=h;J[g+j>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;j=d;d=h>>31;d=j+((d^h)-d|0)|0;f=f+1|0;if((f|0)!=(e|0)){continue}break}}f=i+200|0;ef(f,L,g,e);j=hf(f);h=J[f+12>>2];f=J[f+16>>2];h=(((h-f|0)+1|0)/64|0)+f<<3;m=f<<3;f=h+m|0;h=(h>>31)+(m>>31)|0;g=ja+(f>>>0>>0?h+1|0:h)|0;h=f;f=f+j|0;h=h>>>0>f>>>0?g+1|0:g;B=(l|0)<=0;if(!B){n=(l<<3)-8|0;j=n+(i+48|0)|0;m=j;g=J[j>>2];j=J[j+4>>2];g=g+l|0;j=g>>>0>>0?j+1|0:j;J[m>>2]=g;J[m+4>>2]=j;v=W(df(g,J[n+(i+80|0)>>2])*(+(g>>>0)+ +(j|0)*4294967296));w:{if(R(v)<0x8000000000000000){g=R(v)>=1?~~(v>0?T(V(v*2.3283064365386963e-10),4294967295):W((v-+(~~v>>>0>>>0))*2.3283064365386963e-10))>>>0:0;j=~~v>>>0;break w}g=-2147483648;j=0}f=f+j|0;h=f}J[i+20>>2]=0;H[i+16|0]=0;J[i+8>>2]=f;J[i+12>>2]=d;Qa(aa,k,k+Q|0);ec($,r,u);x:{y:{z:{if(B){break z}n=(i+124|0)+l|0;m=n-1|0;X=l<<3;d=X-8|0;Y=d+(i+48|0)|0;ba=d+(i+80|0)|0;q=1;y=0;while(1){d=i+124|0;pk(d,1,l);y=y+1|0;pk(d,0,y);A:{B:while(1){if(e){pk(J[i+128>>2],0,Q)}p=0;d=J[i+128>>2];j=0;while(1){if(!K[(i+124|0)+p|0]){C:{if(!e){break C}f=J[(i+144|0)+P(p,12)>>2];h=0;g=0;k=0;if(e>>>0>3){while(1){o=g<<2;t=o+d|0;J[t>>2]=J[t>>2]+J[f+o>>2];t=o|4;D=t+d|0;J[D>>2]=J[D>>2]+J[f+t>>2];t=o|8;D=t+d|0;J[D>>2]=J[D>>2]+J[f+t>>2];o=o|12;t=o+d|0;J[t>>2]=J[t>>2]+J[f+o>>2];g=g+4|0;k=k+4|0;if((_|0)!=(k|0)){continue}break}}if(!O){break C}while(1){k=g<<2;o=k+d|0;J[o>>2]=J[o>>2]+J[f+k>>2];g=g+1|0;h=h+1|0;if((O|0)!=(h|0)){continue}break}}j=1<>2];D:{E:{F:{if(e){g=0;d=0;if(I){break F}break E}k=J[x>>2];h=0;break D}while(1){h=g<<2;k=h+f|0;J[k>>2]=J[k>>2]/(q|0);h=(h|4)+f|0;J[h>>2]=J[h>>2]/(q|0);g=g+2|0;d=d+2|0;if((F|0)!=(d|0)){continue}break}}if(G){d=(g<<2)+f|0;J[d>>2]=J[d>>2]/(q|0)}k=J[x>>2];f=J[i+128>>2];d=0;h=0;if(!e){break D}while(1){p=d<<2;g=J[p+f>>2]-J[p+s>>2]|0;J[p+r>>2]=g;J[k+p>>2]=(g|0)<0?(g^-1)<<1|1:g<<1;o=h;h=g>>31;h=o+((h^g)-h|0)|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=i+200|0;ef(d,L,k,e);k=hf(d);g=J[d+12>>2];d=J[d+16>>2];g=(((g-d|0)+1|0)/64|0)+d<<3;p=d<<3;d=g+p|0;d=d+k|0;k=J[Y+4>>2];g=J[Y>>2];v=W(df(g,J[ba>>2]+q|0)*(+(g>>>0)+ +(k|0)*4294967296));G:{if(R(v)<0x8000000000000000){g=~~v>>>0;break G}g=0}d=g+d|0;g=J[i+8>>2];if(!((d|0)>=(g|0)&((d|0)>(g|0)|(h|0)>=J[i+12>>2]))){J[i+20>>2]=q;H[i+16|0]=j;J[i+8>>2]=d;J[i+12>>2]=h;j=J[i+132>>2];k=j-f|0;g=k>>2;d=J[i+32>>2];h=J[i+24>>2];H:{if(g>>>0<=d-h>>2>>>0){k=J[i+28>>2]-h|0;d=k+f|0;o=k>>2;k=o>>>0>>0?d:j;p=k-f|0;if((f|0)!=(k|0)){ok(h,f,p)}if(g>>>0>o>>>0){g=J[i+28>>2];if((j|0)==(k|0)){break H}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}break H}g=h+p|0;break H}if(h){J[i+28>>2]=h;hl(h);J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;d=0}if((k|0)<0){break y}h=d>>>1|0;d=d>>>0>=2147483644?1073741823:g>>>0>>0?h:g;if(d>>>0>=1073741824){break y}d=d<<2;g=pl(d);J[i+24>>2]=g;J[i+32>>2]=d+g;if((f|0)==(j|0)){break H}d=(k-4&-4)+4|0;g=nk(g,f,d)+d|0}J[i+28>>2]=g;d=J[i+44>>2];f=J[i+36>>2];I:{if(d-f>>2>>>0>=A>>>0){h=J[i+40>>2]-f|0;d=h+r|0;g=h>>2;h=g>>>0>>0?d:u;j=h-r|0;if((h|0)!=(r|0)){ok(f,r,j)}if(g>>>0>>0){g=J[i+40>>2];if((h|0)==(u|0)){break I}while(1){J[g>>2]=J[d>>2];g=g+4|0;d=d+4|0;if((u|0)!=(d|0)){continue}break}break I}g=f+j|0;break I}if(f){J[i+40>>2]=f;hl(f);J[i+44>>2]=0;J[i+36>>2]=0;J[i+40>>2]=0;d=0}if((M|0)<0){break x}f=d>>>1|0;d=d>>>0>=2147483644?1073741823:f>>>0>A>>>0?f:A;if(d>>>0>=1073741824){break x}d=d<<2;g=pl(d);J[i+36>>2]=g;J[i+44>>2]=d+g;if((r|0)==(u|0)){break I}g=nk(g,r,S)+S|0}J[i+40>>2]=g}if((m|0)==(i+124|0)){break A}g=K[m|0];d=-1;while(1){j=g&255;f=d-1|0;h=f+n|0;g=K[h|0];if(j>>>0>g>>>0){f=n;while(1){f=f-1|0;j=K[f|0];if(j>>>0<=g>>>0){continue}break}H[h|0]=j;H[f|0]=g;if((d|0)==-1){continue B}g=d+n|0;d=m;while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}continue B}d=f;if((h|0)!=(i+124|0)){continue}break}break}f=i+124|0;g=f;d=m;if(f>>>0>=d>>>0){break A}while(1){f=K[g|0];H[g|0]=K[d|0];H[d|0]=f;d=d-1|0;g=g+1|0;if(d>>>0>g>>>0){continue}break}}q=q+1|0;if((l|0)!=(y|0)){continue}break}if((l|0)<=0){break z}h=J[i+20>>2];j=h;d=i+X|0;f=h+J[d+72>>2]|0;h=J[d+76>>2]+(h>>31)|0;J[d+72>>2]=f;J[d+76>>2]=f>>>0>>0?h+1|0:h}if(!e){break n}d=J[x>>2];g=0;f=J[i+36>>2];k=0;if(!I){break o}while(1){j=g<<2;h=J[j+f>>2];J[d+j>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;j=j|4;h=J[j+f>>2];J[d+j>>2]=(h|0)<0?(h^-1)<<1|1:h<<1;g=g+2|0;k=k+2|0;if((F|0)!=(k|0)){continue}break}break o}Ia();C()}Ia();C()}Xc();C()}if(!G){break n}h=g<<2;f=J[h+f>>2];J[d+h>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}gf(i+200|0,L,J[x>>2],e);J:{if(B){break J}g=P(l,12)+a|0;d=0;while(1){K:{j=J[g+56>>2];k=j<<5;f=J[g+52>>2];L:{if(!(K[i+16|0]>>>d&1)){h=f;M:{if((f|0)!=(k|0)){break M}if((f+1|0)<0){break K}N:{if(f>>>0<=1073741822){j=j<<6;k=(f&-32)+32|0;j=j>>>0>k>>>0?j:k;h=f;if(f>>>0>=j>>>0){break M}if((j|0)>=0){break N}break K}j=2147483647;h=-1;if(f>>>0>=2147483647){break M}}k=(j-1>>>5|0)+1|0;h=pl(k<<2);j=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;O:{P:{if(!f){break P}m=f>>>5|0;if(f>>>0>=32){ok(h,j,m<<2)}n=f&31;if(!n){break P}m=m<<2;q=m+h|0;n=-1>>>32-n|0;J[q>>2]=J[q>>2]&(n^-1)|n&J[j+m>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;break O}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;h=f;if(!j){break M}}hl(j);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0<=1073741822){j=j<<6;k=(f&-32)+32|0;j=j>>>0>k>>>0?j:k;h=f;if(f>>>0>=j>>>0){break Q}if((j|0)<0){break K}break R}j=2147483647;h=-1;if(f>>>0>=2147483647){break Q}}k=(j-1>>>5|0)+1|0;h=pl(k<<2);j=J[g+48>>2];J[h+((f>>>0>=33?f-1>>>5|0:0)<<2)>>2]=0;S:{T:{if(!f){break T}m=f>>>5|0;if(f>>>0>=32){ok(h,j,m<<2)}n=f&31;if(!n){break T}m=m<<2;q=m+h|0;n=-1>>>32-n|0;J[q>>2]=J[q>>2]&(n^-1)|n&J[j+m>>2];J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;break S}J[g+48>>2]=h;J[g+52>>2]=f;J[g+56>>2]=k;h=f;if(!j){break Q}}hl(j);h=J[g+52>>2]}J[g+52>>2]=h+1;f=J[g+48>>2]+(h>>>3&536870908)|0;j=J[f>>2];ca=f,da=im(h)&j,J[ca>>2]=da}d=d+1|0;if((l|0)!=(d|0)){continue}break J}break}Ia();C()}g=J[a+8>>2];if((g|0)>0){m=c+U|0;d=J[z>>2];j=0;k=J[i+24>>2];while(1){h=d;if((g|0)>0){h=J[z>>2];g=0;while(1){f=g<<2;l=J[f+k>>2];n=J[a+16>>2];U:{if((l|0)>(n|0)){J[f+h>>2]=n;break U}f=f+h|0;n=J[a+12>>2];if((n|0)>(l|0)){J[f>>2]=n;break U}J[f>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}l=j<<2;f=l+m|0;l=J[l+s>>2]-J[h+l>>2]|0;J[f>>2]=l;V:{if((l|0)>2]){g=l+J[a+20>>2]|0}else{if((l|0)<=J[a+24>>2]){break V}g=l-J[a+20>>2]|0}J[f>>2]=g}k=h;g=J[a+8>>2];j=j+1|0;if((g|0)>(j|0)){continue}break}}d=J[i+36>>2];if(d){J[i+40>>2]=d;hl(d)}d=J[i+24>>2];if(d){J[i+28>>2]=d;hl(d)}d=(E|0)>2;E=w;if(d){continue}break}break h}Ia();C()}if((e|0)>0){pk(J[i+144>>2],0,e<<2)}g=J[a+8>>2];if((g|0)>0){d=J[a+32>>2];j=0;k=J[i+144>>2];while(1){h=d;if((g|0)>0){h=J[z>>2];g=0;while(1){e=g<<2;f=J[e+k>>2];l=J[a+16>>2];W:{if((f|0)>(l|0)){J[e+h>>2]=l;break W}e=e+h|0;l=J[a+12>>2];if((l|0)>(f|0)){J[e>>2]=l;break W}J[e>>2]=f}g=g+1|0;if((g|0)>2]){continue}break}}f=j<<2;e=f+c|0;f=J[b+f>>2]-J[f+h>>2]|0;J[e>>2]=f;X:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break X}f=f-J[a+20>>2]|0}J[e>>2]=f}k=h;g=J[a+8>>2];j=j+1|0;if((g|0)>(j|0)){continue}break}}if(r){hl(r)}a=J[i+128>>2];if(a){J[i+132>>2]=a;hl(a)}a=J[i+180>>2];if(a){J[i+184>>2]=a;hl(a)}a=J[i+168>>2];if(a){J[i+172>>2]=a;hl(a)}a=J[i+156>>2];if(a){J[i+160>>2]=a;hl(a)}a=J[i+144>>2];if(a){J[i+148>>2]=a;hl(a)}fa=i+224|0;return 1}function Ud(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=fa-240|0;fa=g;Z=J[a+36>>2];B=J[a+32>>2];J[g+184>>2]=0;J[g+188>>2]=0;J[g+176>>2]=0;J[g+180>>2]=0;J[g+168>>2]=0;J[g+172>>2]=0;J[g+160>>2]=0;J[g+164>>2]=0;J[g+152>>2]=0;J[g+156>>2]=0;J[g+144>>2]=0;J[g+148>>2]=0;if(e){La(g+144|0,e);i=J[g+156>>2];d=J[g+160>>2]}else{d=0}d=d-i>>2;a:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break a}J[g+160>>2]=(e<<2)+i;break a}La(g+144|12,e-d|0)}d=J[g+168>>2];f=J[g+172>>2]-d>>2;b:{if(f>>>0>=e>>>0){if(e>>>0>=f>>>0){break b}J[g+172>>2]=d+(e<<2);break b}La(g+168|0,e-f|0)}c:{d:{d=J[g+180>>2];f=J[g+184>>2]-d>>2;e:{f:{if(f>>>0>=e>>>0){if(e>>>0>>0){J[g+184>>2]=d+(e<<2)}J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;if(e){break f}d=1;break e}La(g+180|0,e-f|0);J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0}if(e>>>0>=1073741824){break d}j=e<<2;f=pl(j);J[g+128>>2]=f;d=f+j|0;J[g+136>>2]=d;pk(f,0,j);J[g+132>>2]=d;d=0}D=a+136|0;f=J[a+136>>2];j=J[a+140>>2]-f>>2;g:{h:{if(j>>>0>>0){La(D,e-j|0);J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;d=g- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;break h}if(e>>>0>>0){J[a+140>>2]=f+(e<<2)}J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;f=g- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;f=0;if(d){break g}}d=e<<2;t=pl(d);f=pk(t,0,d)+d|0}d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break c}M=e&-2;N=e&1;_=e&-4;U=e&3;O=e-1|0;X=e<<2;$=a+8|0;Q=a+96|0;G=d>>>2|0;E=f;S=f-t|0;F=S>>2;Y=(S-4&-4)+4|0;aa=g+36|0;ba=g+24|0;while(1){d=J[a+40>>2];f=J[d>>2];i:{j:{z=G-1|0;if(z>>>0>2]-f>>2>>>0){d=0;j=0;l=J[f+(z<<2)>>2];k:{if((l|0)==-1){break k}u=1;h=l+2|0;j=(l>>>0)%3|0;A=j?l-1|0:h;r=1<>2];q=s+(A>>>3&536870908)|0;f=0;n=(j|0)!=0|(h|0)!=-1;h=l;while(1){l:{if(J[s+(h>>>3&536870908)>>2]>>>h&1){break l}o=J[J[J[B+64>>2]+12>>2]+(h<<2)>>2];if((o|0)==-1){break l}w=J[Z>>2];x=J[B+28>>2];k=J[w+(J[x+(o<<2)>>2]<<2)>>2];if((k|0)>=(z|0)){break l}j=o+1|0;m=J[w+(J[x+(((j>>>0)%3|0?j:o-2|0)<<2)>>2]<<2)>>2];if((m|0)>=(z|0)){break l}j=J[w+(J[x+(o+((o>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((j|0)>=(z|0)){break l}m:{if(!e){break m}o=J[(g+144|0)+P(f,12)>>2];x=P(e,j);w=P(e,m);m=P(e,k);i=0;p=0;if(O){while(1){J[o+(i<<2)>>2]=(J[(i+x<<2)+b>>2]+J[(i+w<<2)+b>>2]|0)-J[(i+m<<2)+b>>2];j=i|1;J[o+(j<<2)>>2]=(J[(j+x<<2)+b>>2]+J[(j+w<<2)+b>>2]|0)-J[(j+m<<2)+b>>2];i=i+2|0;p=p+2|0;if((M|0)!=(p|0)){continue}break}}if(!N){break m}J[o+(i<<2)>>2]=(J[(i+x<<2)+b>>2]+J[(i+w<<2)+b>>2]|0)-J[(i+m<<2)+b>>2]}j=4;f=f+1|0;if((f|0)==4){break k}}n:{if(u&1){j=h-2|0;m=h+1|0;h=-1;j=(m>>>0)%3|0?m:j;if((j|0)==-1|J[s+(j>>>3&536870908)>>2]>>>j&1){break n}m=J[J[J[B+64>>2]+12>>2]+(j<<2)>>2];if((m|0)==-1){break n}j=m+1|0;h=(j>>>0)%3|0?j:m-2|0;break n}o:{if((h>>>0)%3|0){i=h-1|0;break o}i=h+2|0;h=-1;if((i|0)==-1){break n}}h=-1;if(J[s+(i>>>3&536870908)>>2]>>>i&1){break n}j=J[J[J[B+64>>2]+12>>2]+(i<<2)>>2];if((j|0)==-1){break n}if((j>>>0)%3|0){h=j-1|0;break n}h=j+2|0}if((h|0)==(l|0)){j=f;break k}if((h|0)==-1&u){if(!n){j=f;break k}if(r&J[q>>2]){j=f;break k}j=J[J[J[B+64>>2]+12>>2]+(A<<2)>>2];if((j|0)==-1){j=f;break k}u=0;h=(j>>>0)%3|0?j-1|0:j+2|0}j=f;if((h|0)!=-1){continue}break}}H[g+16|0]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;J[g+28>>2]=0;J[g+32>>2]=0;J[g+20>>2]=0;J[g+24>>2]=0;w=P(e,z)<<2;I=w+b|0;q=(P(G-2|0,e)<<2)+b|0;l=J[D>>2];h=0;if(e){while(1){f=d<<2;m=J[f+q>>2]-J[f+I>>2]|0;J[f+t>>2]=m;J[f+l>>2]=(m|0)<0?(m^-1)<<1|1:m<<1;f=m>>31;h=((f^m)-f|0)+h|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=g+200|0;ef(d,Q,l,e);m=hf(d);f=J[d+12>>2];d=J[d+16>>2];f=(((f-d|0)+1|0)/64|0)+d<<3;d=d<<3;n=f+d|0;f=(f>>31)+(d>>31)|0;k=ja+(d>>>0>n>>>0?f+1|0:f)|0;f=m+n|0;d=f>>>0>>0?k+1|0:k;A=(j|0)<=0;if(!A){k=(j<<3)-8|0;l=k+(g+48|0)|0;n=l;m=J[l>>2];l=J[l+4>>2];m=j+m|0;l=m>>>0>>0?l+1|0:l;J[n>>2]=m;J[n+4>>2]=l;y=W(df(m,J[k+(g+80|0)>>2])*(+(m>>>0)+ +(l|0)*4294967296));p:{if(R(y)<0x8000000000000000){m=~~y>>>0;l=R(y)>=1?~~(y>0?T(V(y*2.3283064365386963e-10),4294967295):W((y-+(~~y>>>0>>>0))*2.3283064365386963e-10))>>>0:0;break p}m=0;l=-2147483648}f=f+m|0;d=f}J[g+20>>2]=0;H[g+16|0]=0;J[g+8>>2]=f;J[g+12>>2]=h;Qa(ba,q,q+X|0);ec(aa,t,E);q:{r:{s:{if(A){break s}m=(g+124|0)+j|0;l=m-1|0;r=j<<3;d=r-8|0;x=d+(g+48|0)|0;q=d+(g+80|0)|0;u=1;L=0;while(1){d=g+124|0;pk(d,1,j);L=L+1|0;pk(d,0,L);t:{u:while(1){if(e){pk(J[g+128>>2],0,X)}p=0;o=J[g+128>>2];s=0;while(1){if(!K[(g+124|0)+p|0]){v:{if(!e){break v}n=J[(g+144|0)+P(p,12)>>2];f=0;i=0;v=0;if(e>>>0>3){while(1){k=i<<2;d=k+o|0;J[d>>2]=J[d>>2]+J[k+n>>2];h=k|4;d=h+o|0;J[d>>2]=J[d>>2]+J[h+n>>2];h=k|8;d=h+o|0;J[d>>2]=J[d>>2]+J[h+n>>2];h=k|12;d=h+o|0;J[d>>2]=J[d>>2]+J[h+n>>2];i=i+4|0;v=v+4|0;if((_|0)!=(v|0)){continue}break}}if(!U){break v}while(1){h=i<<2;d=h+o|0;J[d>>2]=J[d>>2]+J[h+n>>2];i=i+1|0;f=f+1|0;if((U|0)!=(f|0)){continue}break}}s=1<>2];w:{x:{y:{if(e){i=0;h=0;if(O){break y}break x}v=J[D>>2];f=0;break w}while(1){k=i<<2;f=k+d|0;J[f>>2]=J[f>>2]/(u|0);f=(k|4)+d|0;J[f>>2]=J[f>>2]/(u|0);i=i+2|0;h=h+2|0;if((M|0)!=(h|0)){continue}break}}if(N){d=(i<<2)+d|0;J[d>>2]=J[d>>2]/(u|0)}v=J[D>>2];d=J[g+128>>2];h=0;f=0;if(!e){break w}while(1){k=h<<2;n=J[k+d>>2]-J[k+I>>2]|0;J[k+t>>2]=n;J[k+v>>2]=(n|0)<0?(n^-1)<<1|1:n<<1;i=f;f=n>>31;f=i+((f^n)-f|0)|0;h=h+1|0;if((h|0)!=(e|0)){continue}break}}h=g+200|0;ef(h,Q,v,e);n=hf(h);i=J[h+12>>2];h=J[h+16>>2];k=(((i-h|0)+1|0)/64|0)+h<<3;h=h<<3;o=k+h|0;h=n+o|0;k=J[x+4>>2];n=J[x>>2];y=W(df(n,J[q>>2]+u|0)*(+(n>>>0)+ +(k|0)*4294967296));z:{if(R(y)<0x8000000000000000){i=~~y>>>0;break z}i=0}k=i+h|0;h=J[g+8>>2];if(!((k|0)>=(h|0)&((h|0)<(k|0)|(f|0)>=J[g+12>>2]))){J[g+20>>2]=u;H[g+16|0]=s;J[g+8>>2]=k;J[g+12>>2]=f;s=J[g+132>>2];k=s-d|0;o=k>>2;h=J[g+32>>2];p=J[g+24>>2];A:{if(o>>>0<=h-p>>2>>>0){f=J[g+28>>2]-p|0;h=f+d|0;f=f>>2;n=f>>>0>>0?h:s;k=n-d|0;if((d|0)!=(n|0)){ok(p,d,k)}if(f>>>0>>0){i=J[g+28>>2];if((n|0)==(s|0)){break A}while(1){J[i>>2]=J[h>>2];i=i+4|0;h=h+4|0;if((s|0)!=(h|0)){continue}break}break A}i=k+p|0;break A}if(p){J[g+28>>2]=p;hl(p);J[g+32>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;h=0}if((k|0)<0){break r}f=h>>>1|0;f=h>>>0>=2147483644?1073741823:f>>>0>o>>>0?f:o;if(f>>>0>=1073741824){break r}f=f<<2;i=pl(f);J[g+24>>2]=i;J[g+32>>2]=f+i;if((d|0)==(s|0)){break A}f=d;d=(k-4&-4)+4|0;i=nk(i,f,d)+d|0}J[g+28>>2]=i;h=J[g+44>>2];n=J[g+36>>2];B:{if(h-n>>2>>>0>=F>>>0){d=J[g+40>>2]-n|0;h=d+t|0;d=d>>2;k=d>>>0>>0?h:E;f=k-t|0;if((k|0)!=(t|0)){ok(n,t,f)}if(d>>>0>>0){i=J[g+40>>2];if((k|0)==(E|0)){break B}while(1){J[i>>2]=J[h>>2];i=i+4|0;h=h+4|0;if((E|0)!=(h|0)){continue}break}break B}i=f+n|0;break B}if(n){J[g+40>>2]=n;hl(n);J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;h=0}if((S|0)<0){break q}d=h>>>1|0;d=h>>>0>=2147483644?1073741823:d>>>0>F>>>0?d:F;if(d>>>0>=1073741824){break q}d=d<<2;i=pl(d);J[g+36>>2]=i;J[g+44>>2]=d+i;if((t|0)==(E|0)){break B}i=nk(i,t,Y)+Y|0}J[g+40>>2]=i}if((l|0)==(g+124|0)){break t}i=K[l|0];h=-1;while(1){f=i&255;d=h-1|0;k=d+m|0;i=K[k|0];if(f>>>0>i>>>0){d=m;while(1){d=d-1|0;f=K[d|0];if(f>>>0<=i>>>0){continue}break}H[k|0]=f;H[d|0]=i;if((h|0)==-1){continue u}i=h+m|0;h=l;while(1){d=K[i|0];H[i|0]=K[h|0];H[h|0]=d;i=i+1|0;h=h-1|0;if(i>>>0>>0){continue}break}continue u}h=d;if((k|0)!=(g+124|0)){continue}break}break}d=g+124|0;i=d;h=l;if(d>>>0>=h>>>0){break t}while(1){d=K[i|0];H[i|0]=K[h|0];H[h|0]=d;i=i+1|0;h=h-1|0;if(i>>>0>>0){continue}break}}u=u+1|0;if((j|0)!=(L|0)){continue}break}if((j|0)<=0){break s}d=J[g+20>>2];f=d;l=g+r|0;h=d+J[l+72>>2]|0;d=J[l+76>>2]+(d>>31)|0;J[l+72>>2]=h;J[l+76>>2]=f>>>0>h>>>0?d+1|0:d}if(!e){break i}l=J[D>>2];i=0;h=J[g+36>>2];v=0;if(!O){break j}while(1){d=i<<2;f=J[d+h>>2];J[d+l>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;d=d|4;f=J[d+h>>2];J[d+l>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;i=i+2|0;v=v+2|0;if((M|0)!=(v|0)){continue}break}break j}Ia();C()}Ia();C()}Xc();C()}if(!N){break i}d=i<<2;f=J[d+h>>2];J[d+l>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}gf(g+200|0,Q,J[D>>2],e);C:{if(A){break C}l=P(j,12)+a|0;h=0;while(1){D:{k=J[l+40>>2];m=k<<5;d=J[l+36>>2];E:{if(!(K[g+16|0]>>>h&1)){f=d;F:{if((d|0)!=(m|0)){break F}if((d+1|0)<0){break D}G:{if(d>>>0<=1073741822){k=k<<6;m=(d&-32)+32|0;i=k>>>0>m>>>0?k:m;f=d;if(d>>>0>=i>>>0){break F}if((i|0)>=0){break G}break D}i=2147483647;f=-1;if(d>>>0>=2147483647){break F}}n=(i-1>>>5|0)+1|0;r=pl(n<<2);q=J[l+32>>2];J[r+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;H:{I:{if(!d){break I}f=d>>>5|0;if(d>>>0>=32){ok(r,q,f<<2)}k=d&31;if(!k){break I}m=f<<2;f=m+r|0;i=f;o=J[f>>2];f=-1>>>32-k|0;J[i>>2]=o&(f^-1)|f&J[m+q>>2];J[l+32>>2]=r;J[l+36>>2]=d;J[l+40>>2]=n;break H}J[l+32>>2]=r;J[l+36>>2]=d;J[l+40>>2]=n;f=d;if(!q){break F}}hl(q);f=J[l+36>>2]}J[l+36>>2]=f+1;d=J[l+32>>2]+(f>>>3&536870908)|0;J[d>>2]=J[d>>2]|1<>>0<=1073741822){k=k<<6;m=(d&-32)+32|0;i=k>>>0>m>>>0?k:m;f=d;if(d>>>0>=i>>>0){break J}if((i|0)<0){break D}break K}i=2147483647;f=-1;if(d>>>0>=2147483647){break J}}n=(i-1>>>5|0)+1|0;r=pl(n<<2);q=J[l+32>>2];J[r+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;L:{M:{if(!d){break M}f=d>>>5|0;if(d>>>0>=32){ok(r,q,f<<2)}k=d&31;if(!k){break M}m=f<<2;f=m+r|0;i=f;o=J[f>>2];f=-1>>>32-k|0;J[i>>2]=o&(f^-1)|f&J[m+q>>2];J[l+32>>2]=r;J[l+36>>2]=d;J[l+40>>2]=n;break L}J[l+32>>2]=r;J[l+36>>2]=d;J[l+40>>2]=n;f=d;if(!q){break J}}hl(q);f=J[l+36>>2]}J[l+36>>2]=f+1;m=J[l+32>>2]+(f>>>3&536870908)|0;d=J[m>>2];ca=m,da=im(f)&d,J[ca>>2]=da}h=h+1|0;if((j|0)!=(h|0)){continue}break C}break}Ia();C()}d=J[g+24>>2];j=J[d>>2];f=J[d+4>>2];d=J[I+4>>2];J[g+232>>2]=J[I>>2];J[g+236>>2]=d;J[g+224>>2]=j;J[g+228>>2]=f;Qd(g+200|0,$,g+232|0,g+224|0);d=c+w|0;J[d>>2]=J[g+200>>2];J[d+4>>2]=J[g+204>>2];d=J[g+36>>2];if(d){J[g+40>>2]=d;hl(d)}d=J[g+24>>2];if(d){J[g+28>>2]=d;hl(d)}d=(G|0)>2;G=z;if(d){continue}break}break c}Ia();C()}d=J[g+144>>2];if((e|0)>0){pk(d,0,e<<2)}f=J[d>>2];e=J[d+4>>2];d=J[b+4>>2];J[g+200>>2]=J[b>>2];J[g+204>>2]=d;J[g+232>>2]=f;J[g+236>>2]=e;Qd(g+8|0,a+8|0,g+200|0,g+232|0);J[c>>2]=J[g+8>>2];J[c+4>>2]=J[g+12>>2];if(t){hl(t)}a=J[g+128>>2];if(a){J[g+132>>2]=a;hl(a)}a=J[g+180>>2];if(a){J[g+184>>2]=a;hl(a)}a=J[g+168>>2];if(a){J[g+172>>2]=a;hl(a)}a=J[g+156>>2];if(a){J[g+160>>2]=a;hl(a)}a=J[g+144>>2];if(a){J[g+148>>2]=a;hl(a)}fa=g+240|0;return 1}function ie(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,Q=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=fa-240|0;fa=g;Y=J[a+36>>2];M=J[a+32>>2];J[g+184>>2]=0;J[g+188>>2]=0;J[g+176>>2]=0;J[g+180>>2]=0;J[g+168>>2]=0;J[g+172>>2]=0;J[g+160>>2]=0;J[g+164>>2]=0;J[g+152>>2]=0;J[g+156>>2]=0;J[g+144>>2]=0;J[g+148>>2]=0;if(e){La(g+144|0,e);h=J[g+156>>2];d=J[g+160>>2]}else{d=0}d=d-h>>2;a:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break a}J[g+160>>2]=(e<<2)+h;break a}La(g+144|12,e-d|0)}f=J[g+168>>2];d=J[g+172>>2]-f>>2;b:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break b}J[g+172>>2]=f+(e<<2);break b}La(g+168|0,e-d|0)}c:{d:{f=J[g+180>>2];d=J[g+184>>2]-f>>2;e:{f:{if(d>>>0>=e>>>0){if(d>>>0>e>>>0){J[g+184>>2]=f+(e<<2)}J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;if(e){break f}d=1;break e}La(g+180|0,e-d|0);J[g+136>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0}if(e>>>0>=1073741824){break d}d=e<<2;f=pl(d);J[g+128>>2]=f;i=d+f|0;J[g+136>>2]=i;pk(f,0,d);J[g+132>>2]=i;d=0}x=a+136|0;i=J[a+136>>2];f=J[a+140>>2]-i>>2;g:{h:{if(f>>>0>>0){La(x,e-f|0);J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;d=g- -64|0;J[d>>2]=0;J[d+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;break h}if(e>>>0>>0){J[a+140>>2]=i+(e<<2)}J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+72>>2]=0;J[g+76>>2]=0;f=g- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;v=0;if(d){break g}}d=e<<2;r=pl(d);v=pk(r,0,d)+d|0}d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)<5){break c}E=e&-2;F=e&1;Z=e&-4;N=e&3;G=e-1|0;O=e<<2;_=a+8|0;I=a+96|0;D=d>>>2|0;L=v-r|0;z=L>>2;Q=(L-4&-4)+4|0;$=g+36|0;aa=g+24|0;while(1){d=J[a+40>>2];f=J[d>>2];i:{j:{w=D-1|0;if(w>>>0>2]-f>>2>>>0){d=0;k=0;l=J[f+(w<<2)>>2];k:{if((l|0)==-1){break k}j=J[M+12>>2];i=l+2|0;k=(l>>>0)%3|0;y=j+((k?l-1|0:i)<<2)|0;f=0;A=(k|0)!=0|(i|0)!=-1;p=1;i=l;while(1){k=J[j+(i<<2)>>2];l:{if((k|0)==-1){break l}m=J[Y>>2];n=J[M>>2];s=J[m+(J[n+(k<<2)>>2]<<2)>>2];h=k+1|0;h=(h>>>0)%3|0?h:k-2|0;if((h|0)!=-1){o=J[n+(h<<2)>>2]}else{o=-1}m:{n:{if((k>>>0)%3|0){h=k-1|0;break n}h=k+2|0;q=-1;if((h|0)==-1){break m}}q=J[n+(h<<2)>>2]}if((s|0)>=(w|0)){break l}h=J[(o<<2)+m>>2];if((h|0)>=(w|0)){break l}n=J[m+(q<<2)>>2];if((n|0)>=(w|0)){break l}k=J[(g+144|0)+P(f,12)>>2];o:{if(!e){break o}n=P(e,n);o=P(e,h);s=P(e,s);h=0;m=0;if(G){while(1){J[k+(h<<2)>>2]=(J[(h+n<<2)+b>>2]+J[(h+o<<2)+b>>2]|0)-J[(h+s<<2)+b>>2];q=h|1;J[k+(q<<2)>>2]=(J[(n+q<<2)+b>>2]+J[(o+q<<2)+b>>2]|0)-J[(q+s<<2)+b>>2];h=h+2|0;m=m+2|0;if((E|0)!=(m|0)){continue}break}}if(!F){break o}J[k+(h<<2)>>2]=(J[(h+n<<2)+b>>2]+J[(h+o<<2)+b>>2]|0)-J[(h+s<<2)+b>>2]}k=4;f=f+1|0;if((f|0)==4){break k}}p:{if(p&1){h=i+1|0;i=(h>>>0)%3|0?h:i-2|0;k=-1;if((i|0)==-1){break p}i=J[j+(i<<2)>>2];k=-1;if((i|0)==-1){break p}k=i+1|0;k=(k>>>0)%3|0?k:i-2|0;break p}q:{if((i>>>0)%3|0){h=i-1|0;break q}h=i+2|0;k=-1;if((h|0)==-1){break p}}i=J[j+(h<<2)>>2];k=-1;if((i|0)==-1){break p}k=i-1|0;if((i>>>0)%3|0){break p}k=i+2|0}i=k;if((l|0)==(i|0)){k=f;break k}if((i|0)==-1&p){if(!A){k=f;break k}i=J[y>>2];if((i|0)==-1){k=f;break k}p=0;i=(i>>>0)%3|0?i-1|0:i+2|0}k=f;if((i|0)!=-1){continue}break}}H[g+16|0]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;J[g+28>>2]=0;J[g+32>>2]=0;J[g+20>>2]=0;J[g+24>>2]=0;S=P(e,w)<<2;s=S+b|0;l=(P(D-2|0,e)<<2)+b|0;j=J[x>>2];h=0;if(e){while(1){i=d<<2;f=J[i+l>>2]-J[i+s>>2]|0;J[i+r>>2]=f;J[i+j>>2]=(f|0)<0?(f^-1)<<1|1:f<<1;i=f;f=f>>31;h=((i^f)-f|0)+h|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=g+200|0;ef(d,I,j,e);f=hf(d);i=J[d+12>>2];d=J[d+16>>2];i=(((i-d|0)+1|0)/64|0)+d<<3;n=d<<3;d=i+n|0;i=(i>>31)+(n>>31)|0;j=ja+(d>>>0>>0?i+1|0:i)|0;i=d;d=d+f|0;f=i>>>0>d>>>0?j+1|0:j;A=(k|0)<=0;if(!A){p=(k<<3)-8|0;i=p+(g+48|0)|0;n=i;j=J[i>>2];i=J[i+4>>2];j=j+k|0;i=j>>>0>>0?i+1|0:i;J[n>>2]=j;J[n+4>>2]=i;u=W(df(j,J[p+(g+80|0)>>2])*(+(j>>>0)+ +(i|0)*4294967296));r:{if(R(u)<0x8000000000000000){j=R(u)>=1?~~(u>0?T(V(u*2.3283064365386963e-10),4294967295):W((u-+(~~u>>>0>>>0))*2.3283064365386963e-10))>>>0:0;i=~~u>>>0;break r}j=-2147483648;i=0}d=d+i|0;f=d}J[g+20>>2]=0;H[g+16|0]=0;J[g+8>>2]=d;J[g+12>>2]=h;Qa(aa,l,l+O|0);ec($,r,v);s:{t:{u:{if(A){break u}n=(g+124|0)+k|0;l=n-1|0;U=k<<3;d=U-8|0;X=d+(g+48|0)|0;ba=d+(g+80|0)|0;p=1;y=0;while(1){d=g+124|0;pk(d,1,k);y=y+1|0;pk(d,0,y);v:{w:while(1){if(e){pk(J[g+128>>2],0,O)}m=0;d=J[g+128>>2];f=0;while(1){if(!K[(g+124|0)+m|0]){x:{if(!e){break x}o=J[(g+144|0)+P(m,12)>>2];i=0;h=0;j=0;if(e>>>0>3){while(1){q=h<<2;t=q+d|0;J[t>>2]=J[t>>2]+J[o+q>>2];t=q|4;B=t+d|0;J[B>>2]=J[B>>2]+J[o+t>>2];t=q|8;B=t+d|0;J[B>>2]=J[B>>2]+J[o+t>>2];q=q|12;t=q+d|0;J[t>>2]=J[t>>2]+J[o+q>>2];h=h+4|0;j=j+4|0;if((Z|0)!=(j|0)){continue}break}}if(!N){break x}while(1){j=h<<2;q=j+d|0;J[q>>2]=J[q>>2]+J[j+o>>2];h=h+1|0;i=i+1|0;if((N|0)!=(i|0)){continue}break}}f=1<>2];y:{z:{A:{if(e){h=0;i=0;if(G){break A}break z}j=J[x>>2];i=0;break y}while(1){j=h<<2;m=j+d|0;J[m>>2]=J[m>>2]/(p|0);j=(j|4)+d|0;J[j>>2]=J[j>>2]/(p|0);h=h+2|0;i=i+2|0;if((E|0)!=(i|0)){continue}break}}if(F){d=(h<<2)+d|0;J[d>>2]=J[d>>2]/(p|0)}j=J[x>>2];d=J[g+128>>2];h=0;i=0;if(!e){break y}while(1){o=h<<2;m=J[o+d>>2]-J[o+s>>2]|0;J[o+r>>2]=m;J[j+o>>2]=(m|0)<0?(m^-1)<<1|1:m<<1;o=i;i=m>>31;i=o+((i^m)-i|0)|0;h=h+1|0;if((h|0)!=(e|0)){continue}break}}h=g+200|0;ef(h,I,j,e);m=hf(h);o=J[h+12>>2];h=J[h+16>>2];j=(((o-h|0)+1|0)/64|0)+h<<3;o=h<<3;h=j+o|0;h=h+m|0;m=J[X+4>>2];j=J[X>>2];u=W(df(j,J[ba>>2]+p|0)*(+(j>>>0)+ +(m|0)*4294967296));B:{if(R(u)<0x8000000000000000){o=~~u>>>0;break B}o=0}h=o+h|0;j=J[g+8>>2];if(!((h|0)>=(j|0)&((h|0)>(j|0)|(i|0)>=J[g+12>>2]))){J[g+20>>2]=p;H[g+16|0]=f;J[g+8>>2]=h;J[g+12>>2]=i;j=J[g+132>>2];m=j-d|0;h=m>>2;i=J[g+32>>2];f=J[g+24>>2];C:{if(h>>>0<=i-f>>2>>>0){m=J[g+28>>2]-f|0;i=m+d|0;q=m>>2;m=q>>>0>>0?i:j;o=m-d|0;if((d|0)!=(m|0)){ok(f,d,o)}if(h>>>0>q>>>0){h=J[g+28>>2];if((j|0)==(m|0)){break C}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((j|0)!=(i|0)){continue}break}break C}h=f+o|0;break C}if(f){J[g+28>>2]=f;hl(f);J[g+32>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;i=0}if((m|0)<0){break t}f=i>>>1|0;f=i>>>0>=2147483644?1073741823:f>>>0>h>>>0?f:h;if(f>>>0>=1073741824){break t}f=f<<2;h=pl(f);J[g+24>>2]=h;J[g+32>>2]=f+h;if((d|0)==(j|0)){break C}f=d;d=(m-4&-4)+4|0;h=nk(h,f,d)+d|0}J[g+28>>2]=h;i=J[g+44>>2];d=J[g+36>>2];D:{if(i-d>>2>>>0>=z>>>0){f=J[g+40>>2]-d|0;i=f+r|0;j=f>>2;f=j>>>0>>0?i:v;h=f-r|0;if((f|0)!=(r|0)){ok(d,r,h)}if(j>>>0>>0){h=J[g+40>>2];if((f|0)==(v|0)){break D}while(1){J[h>>2]=J[i>>2];h=h+4|0;i=i+4|0;if((v|0)!=(i|0)){continue}break}break D}h=d+h|0;break D}if(d){J[g+40>>2]=d;hl(d);J[g+44>>2]=0;J[g+36>>2]=0;J[g+40>>2]=0;i=0}if((L|0)<0){break s}d=i>>>1|0;d=i>>>0>=2147483644?1073741823:d>>>0>z>>>0?d:z;if(d>>>0>=1073741824){break s}d=d<<2;h=pl(d);J[g+36>>2]=h;J[g+44>>2]=d+h;if((r|0)==(v|0)){break D}h=nk(h,r,Q)+Q|0}J[g+40>>2]=h}if((l|0)==(g+124|0)){break v}h=K[l|0];i=-1;while(1){j=h&255;d=i-1|0;f=d+n|0;h=K[f|0];if(j>>>0>h>>>0){d=n;while(1){d=d-1|0;j=K[d|0];if(j>>>0<=h>>>0){continue}break}H[f|0]=j;H[d|0]=h;if((i|0)==-1){continue w}h=i+n|0;i=l;while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0>>0){continue}break}continue w}i=d;if((f|0)!=(g+124|0)){continue}break}break}d=g+124|0;h=d;i=l;if(d>>>0>=i>>>0){break v}while(1){d=K[h|0];H[h|0]=K[i|0];H[i|0]=d;h=h+1|0;i=i-1|0;if(h>>>0>>0){continue}break}}p=p+1|0;if((k|0)!=(y|0)){continue}break}if((k|0)<=0){break u}f=J[g+20>>2];l=f;d=g+U|0;i=f+J[d+72>>2]|0;f=J[d+76>>2]+(f>>31)|0;J[d+72>>2]=i;J[d+76>>2]=i>>>0>>0?f+1|0:f}if(!e){break i}d=J[x>>2];h=0;f=J[g+36>>2];j=0;if(!G){break j}while(1){l=h<<2;i=J[l+f>>2];J[d+l>>2]=(i|0)<0?(i^-1)<<1|1:i<<1;l=l|4;i=J[l+f>>2];J[d+l>>2]=(i|0)<0?(i^-1)<<1|1:i<<1;h=h+2|0;j=j+2|0;if((E|0)!=(j|0)){continue}break}break j}Ia();C()}Ia();C()}Xc();C()}if(!F){break i}i=h<<2;f=J[i+f>>2];J[d+i>>2]=(f|0)<0?(f^-1)<<1|1:f<<1}gf(g+200|0,I,J[x>>2],e);E:{if(A){break E}l=P(k,12)+a|0;i=0;while(1){F:{h=J[l+40>>2];j=h<<5;d=J[l+36>>2];G:{if(!(K[g+16|0]>>>i&1)){f=d;H:{if((d|0)!=(j|0)){break H}if((d+1|0)<0){break F}I:{if(d>>>0<=1073741822){h=h<<6;j=(d&-32)+32|0;h=h>>>0>j>>>0?h:j;f=d;if(d>>>0>=h>>>0){break H}if((h|0)>=0){break I}break F}h=2147483647;f=-1;if(d>>>0>=2147483647){break H}}j=(h-1>>>5|0)+1|0;f=pl(j<<2);h=J[l+32>>2];J[f+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;J:{K:{if(!d){break K}n=d>>>5|0;if(d>>>0>=32){ok(f,h,n<<2)}p=d&31;if(!p){break K}n=n<<2;m=n+f|0;p=-1>>>32-p|0;J[m>>2]=J[m>>2]&(p^-1)|p&J[h+n>>2];J[l+32>>2]=f;J[l+36>>2]=d;J[l+40>>2]=j;break J}J[l+32>>2]=f;J[l+36>>2]=d;J[l+40>>2]=j;f=d;if(!h){break H}}hl(h);f=J[l+36>>2]}J[l+36>>2]=f+1;d=J[l+32>>2]+(f>>>3&536870908)|0;J[d>>2]=J[d>>2]|1<>>0<=1073741822){h=h<<6;j=(d&-32)+32|0;h=h>>>0>j>>>0?h:j;f=d;if(d>>>0>=h>>>0){break L}if((h|0)<0){break F}break M}h=2147483647;f=-1;if(d>>>0>=2147483647){break L}}j=(h-1>>>5|0)+1|0;f=pl(j<<2);h=J[l+32>>2];J[f+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0;N:{O:{if(!d){break O}n=d>>>5|0;if(d>>>0>=32){ok(f,h,n<<2)}p=d&31;if(!p){break O}n=n<<2;m=n+f|0;p=-1>>>32-p|0;J[m>>2]=J[m>>2]&(p^-1)|p&J[h+n>>2];J[l+32>>2]=f;J[l+36>>2]=d;J[l+40>>2]=j;break N}J[l+32>>2]=f;J[l+36>>2]=d;J[l+40>>2]=j;f=d;if(!h){break L}}hl(h);f=J[l+36>>2]}J[l+36>>2]=f+1;d=J[l+32>>2]+(f>>>3&536870908)|0;h=J[d>>2];ca=d,da=im(f)&h,J[ca>>2]=da}i=i+1|0;if((k|0)!=(i|0)){continue}break E}break}Ia();C()}d=J[g+24>>2];f=J[d>>2];d=J[d+4>>2];i=J[s+4>>2];J[g+232>>2]=J[s>>2];J[g+236>>2]=i;J[g+224>>2]=f;J[g+228>>2]=d;Qd(g+200|0,_,g+232|0,g+224|0);d=c+S|0;J[d>>2]=J[g+200>>2];J[d+4>>2]=J[g+204>>2];d=J[g+36>>2];if(d){J[g+40>>2]=d;hl(d)}d=J[g+24>>2];if(d){J[g+28>>2]=d;hl(d)}d=(D|0)>2;D=w;if(d){continue}break}break c}Ia();C()}d=J[g+144>>2];if((e|0)>0){pk(d,0,e<<2)}e=J[d>>2];d=J[d+4>>2];f=J[b+4>>2];J[g+200>>2]=J[b>>2];J[g+204>>2]=f;J[g+232>>2]=e;J[g+236>>2]=d;Qd(g+8|0,a+8|0,g+200|0,g+232|0);J[c>>2]=J[g+8>>2];J[c+4>>2]=J[g+12>>2];if(r){hl(r)}a=J[g+128>>2];if(a){J[g+132>>2]=a;hl(a)}a=J[g+180>>2];if(a){J[g+184>>2]=a;hl(a)}a=J[g+168>>2];if(a){J[g+172>>2]=a;hl(a)}a=J[g+156>>2];if(a){J[g+160>>2]=a;hl(a)}a=J[g+144>>2];if(a){J[g+148>>2]=a;hl(a)}fa=g+240|0;return 1}function Sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=fa-32|0;fa=i;c=J[b+8>>2];a:{b:{if(K[b+288|0]){c=Wj(c);e=J[b+12>>2];J[b+12>>2]=c;if(e){break b}break a}c=Vj(c);e=J[b+12>>2];J[b+12>>2]=c;if(!e){break a}}Tg(e)}c=J[b+12>>2];c:{if(!(J[c+40>>2]!=((J[c+4>>2]-J[c>>2]>>2>>>0)/3|0)?c:0)){b=pl(32);H[b+29|0]=0;c=K[1828]|K[1829]<<8|(K[1830]<<16|K[1831]<<24);d=K[1824]|K[1825]<<8|(K[1826]<<16|K[1827]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1823]|K[1824]<<8|(K[1825]<<16|K[1826]<<24);d=K[1819]|K[1820]<<8|(K[1821]<<16|K[1822]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1815]|K[1816]<<8|(K[1817]<<16|K[1818]<<24);d=K[1811]|K[1812]<<8|(K[1813]<<16|K[1814]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1807]|K[1808]<<8|(K[1809]<<16|K[1810]<<24);d=K[1803]|K[1804]<<8|(K[1805]<<16|K[1806]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,29);hl(b);break c}J[b+264>>2]=b;yb((J[c+28>>2]-J[c+24>>2]>>2)-J[c+44>>2]|0,J[J[b+4>>2]+44>>2]);c=J[b+12>>2];yb(((J[c+4>>2]-J[c>>2]>>2>>>0)/3|0)-J[c+40>>2]|0,J[J[b+4>>2]+44>>2]);c=J[b+8>>2];d=J[c+100>>2];c=J[c+96>>2];H[i+16|0]=0;o=b+28|0;j=(d-c|0)/12|0;c=i+16|0;Jg(o,j,c);d=J[b+12>>2];e=J[d+28>>2];d=J[d+24>>2];J[i+16>>2]=-1;Ig(b+52|0,e-d>>2,c);c=J[b+40>>2];J[b+44>>2]=c;d:{e:{f:{g:{h:{i:{j:{d=J[b+12>>2];e=J[d+4>>2]-J[d>>2]>>2;e=e-((e>>>0)%3|0)|0;k:{if(e>>>0<=J[b+48>>2]-c>>2>>>0){break k}if(e>>>0>=1073741824){break j}g=e<<2;e=pl(g);J[b+44>>2]=e;J[b+40>>2]=e;J[b+48>>2]=e+g;if(!c){break k}hl(c);d=J[b+12>>2]}c=J[d+28>>2];d=J[d+24>>2];H[i+16|0]=0;Jg(b+84|0,c-d>>2,i+16|0);J[b+164>>2]=-1;J[b+168>>2]=0;J[b+100>>2]=J[b+96>>2];J[b+112>>2]=J[b+108>>2];if(J[b+132>>2]){d=J[b+128>>2];if(d){while(1){c=J[d>>2];hl(d);d=c;if(c){continue}break}}d=0;J[b+128>>2]=0;c=J[b+124>>2];l:{if(!c){break l}if(c>>>0>=4){k=c&-4;g=0;while(1){e=d<<2;J[e+J[b+120>>2]>>2]=0;J[J[b+120>>2]+(e|4)>>2]=0;J[J[b+120>>2]+(e|8)>>2]=0;J[J[b+120>>2]+(e|12)>>2]=0;d=d+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}}c=c&3;if(!c){break l}e=0;while(1){J[J[b+120>>2]+(d<<2)>>2]=0;d=d+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}J[b+132>>2]=0}J[b+144>>2]=0;c=J[b+12>>2];d=J[c+28>>2];c=J[c+24>>2];J[i+16>>2]=-1;Ig(b+152|0,d-c>>2,i+16|0);c=J[b+72>>2];J[b+76>>2]=c;s=b+72|0;d=J[b+12>>2];d=J[d+4>>2]-J[d>>2]|0;e=(d>>2>>>0)/3|0;m:{if(e>>>0<=J[b+80>>2]-c>>2>>>0){break m}if((d|0)<0){break i}e=e<<2;d=pl(e);J[b+76>>2]=d;J[b+72>>2]=d;J[b+80>>2]=d+e;if(!c){break m}hl(c)}J[b- -64>>2]=0;if(!Ug(b)){b=pl(32);H[b+29|0]=0;c=K[1768]|K[1769]<<8|(K[1770]<<16|K[1771]<<24);d=K[1764]|K[1765]<<8|(K[1766]<<16|K[1767]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1763]|K[1764]<<8|(K[1765]<<16|K[1766]<<24);d=K[1759]|K[1760]<<8|(K[1761]<<16|K[1762]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1755]|K[1756]<<8|(K[1757]<<16|K[1758]<<24);d=K[1751]|K[1752]<<8|(K[1753]<<16|K[1754]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1747]|K[1748]<<8|(K[1749]<<16|K[1750]<<24);d=K[1743]|K[1744]<<8|(K[1745]<<16|K[1746]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,29);hl(b);break c}c=b;n:{if(K[b+288|0]){break n}b=J[c+8>>2];e=J[b+12>>2]-J[b+8>>2]|0;g=e>>2;d=g-1|0;b=J[c+176>>2];f=J[c+172>>2];k=(b-f|0)/136|0;o:{if(d>>>0>k>>>0){ah(c+172|0,d-k|0);break o}if(d>>>0>=k>>>0){break o}k=f+P(d,136)|0;if((k|0)!=(b|0)){while(1){d=b-136|0;f=J[d+116>>2];if(f){J[b-16>>2]=f;hl(f)}f=J[b-32>>2];if(f){J[b-28>>2]=f;hl(f)}bh(b-132|0);b=d;if((k|0)!=(b|0)){continue}break}}J[c+176>>2]=k}if((e|0)==4|(e|0)<=0){break n}k=(g|0)<=1?1:g;b=0;p:{while(1){f=J[J[J[c+8>>2]+8>>2]+(b<<2)>>2];if(J[f+56>>2]){h=P(n,136);d=h+J[c+172>>2]|0;J[d>>2]=b;e=J[d+104>>2];J[d+108>>2]=e;g=J[c+12>>2];g=J[g+4>>2]-J[g>>2]|0;j=g>>2;q:{if(j>>>0<=J[d+112>>2]-e>>2>>>0){break q}if((g|0)<0){break p}g=pl(g);J[d+108>>2]=g;J[d+104>>2]=g;J[d+112>>2]=g+(j<<2);if(!e){break q}hl(e)}d=h+J[c+172>>2]|0;J[d+128>>2]=0;Uj(d+4|0,J[c+8>>2],J[c+12>>2],f);n=n+1|0}b=b+1|0;if((k|0)!=(b|0)){continue}break}break n}Ia();C()}b=(J[c+176>>2]-J[c+172>>2]|0)/136|0;H[i+31|0]=b;d=J[J[c+4>>2]+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){Ba(d,J[d+4>>2],i+31|0,i+32|0);b=K[i+31|0]}J[c+284>>2]=b&255;b=J[c+12>>2];d=J[b>>2];b=J[b+4>>2];n=c+200|0;Vg(n);g=0;J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;k=0;b=b-d|0;if((b|0)>0){b=b>>>2|0;t=b>>>0<=1?1:b;d=0;while(1){b=(d>>>0)/3|0;p=b>>>5<<2;r=1<>2]+p>>2]){break r}if(Nj(J[c+12>>2],b)){break r}J[i+8>>2]=0;b=Wg(c,b,i+8|0);De(n,b);f=J[i+8>>2];if(b){h=-1;e=-1;j=-1;s:{if((f|0)==-1){break s}l=J[J[c+12>>2]>>2];b=l+(f<<2)|0;h=f+1|0;h=(h>>>0)%3|0?h:f-2|0;if((h|0)!=-1){e=J[l+(h<<2)>>2]}h=J[b>>2];t:{if((f>>>0)%3|0){b=f-1|0;break t}b=f+2|0;j=-1;if((b|0)==-1){break s}}j=J[l+(b<<2)>>2]}b=J[c+84>>2];l=b+(h>>>3&536870908)|0;J[l>>2]=J[l>>2]|1<>>3&536870908)|0;J[h>>2]=J[h>>2]|1<>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];h=J[c+104>>2];u:{if(b>>>0>>0){J[b>>2]=1;J[c+100>>2]=b+4;break u}j=b;b=J[c+96>>2];j=j-b|0;l=j>>2;e=l+1|0;if(e>>>0>=1073741824){break h}q=l<<2;h=h-b|0;l=h>>>1|0;e=h>>>0>=2147483644?1073741823:e>>>0>>0?l:e;if(e){if(e>>>0>=1073741824){break g}h=pl(e<<2)}else{h=0}l=q+h|0;J[l>>2]=1;q=e<<2;e=ok(h,b,j);J[c+104>>2]=q+e;J[c+100>>2]=l+4;J[c+96>>2]=e;if(!b){break u}hl(b)}b=J[o>>2]+p|0;J[b>>2]=J[b>>2]|r;h=-1;if((f|0)!=-1){b=f+1|0;h=(b>>>0)%3|0?b:f-2|0}v:{if(g>>>0>>0){J[g>>2]=h;g=g+4|0;J[i+20>>2]=g;break v}e=g-k>>2;b=e+1|0;if(b>>>0>=1073741824){break f}j=m-k|0;m=j>>>1|0;b=j>>>0>=2147483644?1073741823:b>>>0>>0?m:b;if(b){if(b>>>0>=1073741824){break g}j=pl(b<<2)}else{j=0}e=j+(e<<2)|0;J[e>>2]=h;m=j+(b<<2)|0;b=e+4|0;if((g|0)!=(k|0)){while(1){e=e-4|0;g=g-4|0;J[e>>2]=J[g>>2];if((g|0)!=(k|0)){continue}break}}J[i+24>>2]=m;J[i+20>>2]=b;J[i+16>>2]=e;if(k){hl(k)}k=e;g=b}if((f|0)==-1){break r}b=f+1|0;b=(b>>>0)%3|0?b:f-2|0;if((b|0)==-1){break r}b=J[J[J[c+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break r}e=(b>>>0)/3|0;if(J[J[o>>2]+(e>>>3&268435452)>>2]>>>e&1){break r}if(Xg(c,b)){break r}break e}if((f|0)!=-1){b=f+1|0;b=(b>>>0)%3|0?b:f-2|0}else{b=-1}Yg(c,b,1);if(!Xg(c,J[i+8>>2])){break e}}d=d+1|0;if((t|0)!=(d|0)){continue}break}}d=J[c+72>>2];b=J[c+76>>2];w:{if((d|0)==(b|0)){break w}e=b-4|0;if(e>>>0<=d>>>0){break w}while(1){f=J[d>>2];J[d>>2]=J[e>>2];J[e>>2]=f;d=d+4|0;e=e-4|0;if(d>>>0>>0){continue}break}}Zg(s,b,k,g);x:{if(J[c+172>>2]==J[c+176>>2]){break x}b=J[c+8>>2];d=J[b+100>>2];b=J[b+96>>2];H[i+8|0]=0;Jg(o,(d-b|0)/12|0,i+8|0);d=J[c+72>>2];b=J[c+76>>2];if((d|0)==(b|0)){break x}while(1){_g(c,J[d>>2]);d=d+4|0;if((b|0)!=(d|0)){continue}break}}e=n;h=e+32|0;b=J[e+64>>2];b=J[(ka[J[J[b>>2]+40>>2]](b)|0)+56>>2];li(h,P((J[b+100>>2]-J[b+96>>2]|0)/12|0,3),0,1);b=J[e+72>>2]-J[e+68>>2]|0;y:{if((b|0)<=0){break y}d=J[e+52>>2];if(!J[e+48>>2]&(d|0)<=0|(d|0)<0){break y}b=b>>>2|0;while(1){g=b;b=b-1|0;d=J[e+52>>2];z:{if(!J[e+48>>2]&(d|0)<=0|(d|0)<0){break z}o=J[J[e+68>>2]+(b<<2)>>2];if(!(171>>>o&1)){break z}j=J[(o<<2)+11152>>2];f=J[e+44>>2];d=J[f+4>>2];n=0;while(1){m=d>>>3|0;p=m+J[f>>2]|0;l=K[p|0];d=d&7;u=p,v=im(d)&l,H[u|0]=v;m=m+J[f>>2]|0;H[m|0]=K[m|0]|(o>>>n&1)<>2]+1|0;J[f+4>>2]=d;n=n+1|0;if((j|0)!=(n|0)){continue}break}}if((g|0)>1){continue}break}}mi(h);b=c+232|0;Ee(e,b);if(!(!J[c+280>>2]|J[c+284>>2]<=0)){d=0;while(1){Ee(J[c+280>>2]+(d<<5)|0,b);d=d+1|0;if((d|0)>2]){continue}break}}yb(J[c+272>>2]-J[c+268>>2]>>2,J[J[c+4>>2]+44>>2]);yb(J[c+168>>2],J[J[c+4>>2]+44>>2]);if(!$g(c)){b=pl(32);H[b+28|0]=0;c=K[1909]|K[1910]<<8|(K[1911]<<16|K[1912]<<24);H[b+24|0]=c;H[b+25|0]=c>>>8;H[b+26|0]=c>>>16;H[b+27|0]=c>>>24;c=K[1905]|K[1906]<<8|(K[1907]<<16|K[1908]<<24);d=K[1901]|K[1902]<<8|(K[1903]<<16|K[1904]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1897]|K[1898]<<8|(K[1899]<<16|K[1900]<<24);d=K[1893]|K[1894]<<8|(K[1895]<<16|K[1896]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1889]|K[1890]<<8|(K[1891]<<16|K[1892]<<24);d=K[1885]|K[1886]<<8|(K[1887]<<16|K[1888]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,28);hl(b);break d}b=J[J[c+4>>2]+44>>2];d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){Ba(b,J[b+4>>2],J[c+232>>2],J[c+236>>2])}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break d}Ia();C()}Ia();C()}Ia();C()}Ya();C()}Ia();C()}b=pl(48);H[b+32|0]=0;c=K[1703]|K[1704]<<8|(K[1705]<<16|K[1706]<<24);d=K[1699]|K[1700]<<8|(K[1701]<<16|K[1702]<<24);H[b+24|0]=d;H[b+25|0]=d>>>8;H[b+26|0]=d>>>16;H[b+27|0]=d>>>24;H[b+28|0]=c;H[b+29|0]=c>>>8;H[b+30|0]=c>>>16;H[b+31|0]=c>>>24;c=K[1695]|K[1696]<<8|(K[1697]<<16|K[1698]<<24);d=K[1691]|K[1692]<<8|(K[1693]<<16|K[1694]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1687]|K[1688]<<8|(K[1689]<<16|K[1690]<<24);d=K[1683]|K[1684]<<8|(K[1685]<<16|K[1686]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1679]|K[1680]<<8|(K[1681]<<16|K[1682]<<24);d=K[1675]|K[1676]<<8|(K[1677]<<16|K[1678]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,32);hl(b)}if(!k){break c}hl(k)}fa=i+32|0}function Uj(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=fa-16|0;fa=f;a:{b:{if(c){J[a+88>>2]=0;J[a+92>>2]=0;e=J[a+84>>2];J[a+84>>2]=0;if(e){hl(e)}J[a+76>>2]=0;J[a+80>>2]=0;e=J[a+72>>2];J[a+72>>2]=0;if(e){hl(e)}e=J[c>>2];g=J[c+4>>2];H[f+15|0]=0;Jg(a,g-e>>2,f+15|0);e=J[c+28>>2];g=J[c+24>>2];H[f+14|0]=0;Jg(a+12|0,e-g>>2,f+14|0);Ig(a+28|0,J[c+4>>2]-J[c>>2]>>2,14948);g=J[c+28>>2]-J[c+24>>2]|0;h=g>>2;j=J[a+52>>2];c:{if(h>>>0<=J[a+60>>2]-j>>2>>>0){break c}if((g|0)<0){break a}e=J[a+56>>2];g=pl(g);h=g+(h<<2)|0;i=g+(e-j&-4)|0;g=i;if((e|0)!=(j|0)){while(1){g=g-4|0;e=e-4|0;J[g>>2]=J[e>>2];if((e|0)!=(j|0)){continue}break}}J[a+60>>2]=h;J[a+56>>2]=i;J[a+52>>2]=g;if(!j){break c}hl(j)}g=J[c+28>>2]-J[c+24>>2]|0;h=g>>2;j=J[a+40>>2];d:{if(h>>>0<=J[a+48>>2]-j>>2>>>0){break d}if((g|0)<0){break a}e=J[a+44>>2];g=pl(g);h=g+(h<<2)|0;i=g+(e-j&-4)|0;g=i;if((e|0)!=(j|0)){while(1){g=g-4|0;e=e-4|0;J[g>>2]=J[e>>2];if((e|0)!=(j|0)){continue}break}}J[a+48>>2]=h;J[a+44>>2]=i;J[a+40>>2]=g;if(!j){break d}hl(j)}H[a+24|0]=1;J[a+64>>2]=c}fa=f+16|0;c=(c|0)!=0;break b}if(c){J[a+88>>2]=0;J[a+92>>2]=0;c=J[a+84>>2];J[a+84>>2]=0;if(c){hl(c)}J[a+76>>2]=0;J[a+80>>2]=0;c=J[a+72>>2];J[a+72>>2]=0;if(c){hl(c)}h=J[a+64>>2];if(J[h+4>>2]!=J[h>>2]){c=0;while(1){m=(c>>>0)/3|0;f=Nj(h,m);h=J[a+64>>2];e:{if(f){break e}j=J[J[h+12>>2]+(c<<2)>>2];f:{g:{if((j|0)==-1){f=J[a>>2]+(c>>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0)%3|0?f:c-2|0;if((f|0)!=-1){e=J[J[h>>2]+(f<<2)>>2]}f=J[a+12>>2];g=f+(e>>>3&536870908)|0;J[g>>2]=J[g>>2]|1<>>0)%3|0){e=c-1|0;break g}g=-1;e=c+2|0;if((e|0)!=-1){break g}break f}if(c>>>0>j>>>0){break e}e=-1;k=K[d+84|0];g=-1;l=c+1|0;n=c-2|0;i=(l>>>0)%3|0?l:n;if((i|0)>=0){f=(i>>>0)/3|0;g=J[(J[b+96>>2]+P(f,12)|0)+(i-P(f,3)<<2)>>2]}f=j+((j>>>0)%3|0?-1:2)|0;if((f|0)>=0){e=(f>>>0)/3|0;e=J[(J[b+96>>2]+P(e,12)|0)+(f-P(e,3)<<2)>>2]}if(!k){o=J[d+68>>2];e=J[o+(e<<2)>>2];g=J[(g<<2)+o>>2]}if((e|0)==(g|0)){e=-1;g=-1;if((i|0)!=-1){g=i+1|0;g=(g>>>0)%3|0?g:i-2|0}h:{if((f|0)==-1){break h}if((f>>>0)%3|0){e=f-1|0;break h}e=f+2|0}f=-1;i=-1;if((g|0)>=0){i=(g>>>0)/3|0;i=J[(J[b+96>>2]+P(i,12)|0)+(g-P(i,3)<<2)>>2]}if((e|0)>=0){f=(e>>>0)/3|0;f=J[(J[b+96>>2]+P(f,12)|0)+(e-P(f,3)<<2)>>2]}if(!k){e=J[d+68>>2];f=J[e+(f<<2)>>2];i=J[e+(i<<2)>>2]}if((f|0)==(i|0)){break e}}H[a+24|0]=0;f=J[a>>2];e=f+(c>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<>>3&536870908)|0;J[f>>2]=J[f>>2]|1<>>0)%3|0?l:n;if((f|0)!=-1){i=J[J[h>>2]+(f<<2)>>2]}f=J[a+12>>2];e=f+(i>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<>2]+(e<<2)>>2]}e=(g>>>3&536870908)+f|0;J[e>>2]=J[e>>2]|1<>>0)%3|0?e:j-2|0;if((e|0)!=-1){g=J[J[h>>2]+(e<<2)>>2]}e=(g>>>3&536870908)+f|0;J[e>>2]=J[e>>2]|1<>>0)%3|0){e=j-1|0;break g}g=-1;e=j+2|0;if((e|0)==-1){break f}}g=J[J[h>>2]+(e<<2)>>2]}f=(g>>>3&536870908)+f|0;J[f>>2]=J[f>>2]|1<>>0>2]-J[h>>2]>>2>>>0){continue}break}}if(!(!b|!d)){h=b;j=d;b=0;l=0;e=a;J[e+56>>2]=J[e+52>>2];J[e+44>>2]=J[e+40>>2];k:{d=J[e+64>>2];f=J[d+24>>2];if((f|0)==J[d+28>>2]){break k}l:{m:{while(1){a=b;b=J[(l<<2)+f>>2];n:{if((b|0)==-1){b=a;break n}if((b|0)<0){c=-1}else{c=(b>>>0)/3|0;c=J[(J[h+96>>2]+P(c,12)|0)+(b-P(c,3)<<2)>>2]}c=K[j+84|0]?c:J[J[j+68>>2]+(c<<2)>>2];d=J[e+56>>2];g=J[e+60>>2];o:{if(d>>>0>>0){J[d>>2]=c;J[e+56>>2]=d+4;break o}i=J[e+52>>2];m=d-i>>2;f=m+1|0;if(f>>>0>=1073741824){break a}g=g-i|0;k=g>>>1|0;k=g>>>0>=2147483644?1073741823:f>>>0>>0?k:f;if(k){if(k>>>0>=1073741824){break m}g=pl(k<<2)}else{g=0}f=g+(m<<2)|0;J[f>>2]=c;c=f+4|0;if((d|0)!=(i|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(i|0)){continue}break}}J[e+60>>2]=g+(k<<2);J[e+56>>2]=c;J[e+52>>2]=f;if(!i){break o}hl(i)}p:{q:{if(!(J[J[e+12>>2]+(l>>>3&536870908)>>2]>>>l&1)){break q}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)==-1|J[J[e>>2]+(c>>>3&536870908)>>2]>>>c&1){break q}c=J[J[J[e+64>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break q}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0;if((d|0)==-1){break q}g=J[e+64>>2];i=J[e>>2];while(1){c=d;d=-1;f=c+1|0;f=(f>>>0)%3|0?f:c-2|0;r:{if((f|0)==-1|J[i+(f>>>3&536870908)>>2]>>>f&1){break r}f=J[J[g+12>>2]+(f<<2)>>2];if((f|0)==-1){break r}d=f+1|0;d=(d>>>0)%3|0?d:f-2|0}if((b|0)!=(d|0)){if((d|0)==-1){break p}continue}break}break k}c=b}J[J[e+28>>2]+(c<<2)>>2]=a;d=J[e+44>>2];s:{if((d|0)!=J[e+48>>2]){J[d>>2]=c;J[e+44>>2]=d+4;break s}g=J[e+40>>2];b=d-g|0;k=b>>2;f=k+1|0;if(f>>>0>=1073741824){break l}i=b>>>1|0;i=b>>>0>=2147483644?1073741823:f>>>0>>0?i:f;if(i){if(i>>>0>=1073741824){break m}b=pl(i<<2)}else{b=0}f=b+(k<<2)|0;J[f>>2]=c;k=f+4|0;if((d|0)!=(g|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+48>>2]=b+(i<<2);J[e+44>>2]=k;J[e+40>>2]=f;if(!g){break s}hl(g)}b=a+1|0;d=J[e+64>>2];if((c|0)==-1){break n}t:{if((c>>>0)%3|0){f=c-1|0;break t}f=c+2|0;if((f|0)==-1){break n}}f=J[J[d+12>>2]+(f<<2)>>2];if((f|0)==-1){break n}i=f+((f>>>0)%3|0?-1:2)|0;if((i|0)==-1|(c|0)==(i|0)){break n}while(1){d=i+1|0;d=(d>>>0)%3|0?d:i-2|0;if(J[J[e>>2]+(d>>>3&536870908)>>2]>>>d&1){g=(i|0)<0?-1:J[(J[h+96>>2]+P((i>>>0)/3|0,12)|0)+((i>>>0)%3<<2)>>2];g=K[j+84|0]?g:J[J[j+68>>2]+(g<<2)>>2];d=J[e+56>>2];f=J[e+60>>2];u:{if(d>>>0>>0){J[d>>2]=g;J[e+56>>2]=d+4;break u}k=J[e+52>>2];n=d-k>>2;a=n+1|0;if(a>>>0>=1073741824){break a}f=f-k|0;m=f>>>1|0;m=f>>>0>=2147483644?1073741823:a>>>0>>0?m:a;if(m){if(m>>>0>=1073741824){break m}a=pl(m<<2)}else{a=0}f=a+(n<<2)|0;J[f>>2]=g;g=f+4|0;if((d|0)!=(k|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(k|0)){continue}break}}J[e+60>>2]=a+(m<<2);J[e+56>>2]=g;J[e+52>>2]=f;if(!k){break u}hl(k)}g=b+1|0;d=J[e+44>>2];v:{if((d|0)!=J[e+48>>2]){J[d>>2]=i;J[e+44>>2]=d+4;break v}k=J[e+40>>2];a=d-k|0;n=a>>2;f=n+1|0;if(f>>>0>=1073741824){break l}m=a>>>1|0;m=a>>>0>=2147483644?1073741823:f>>>0>>0?m:f;if(m){if(m>>>0>=1073741824){break m}a=pl(m<<2)}else{a=0}f=a+(n<<2)|0;J[f>>2]=i;n=f+4|0;if((d|0)!=(k|0)){while(1){f=f-4|0;d=d-4|0;J[f>>2]=J[d>>2];if((d|0)!=(k|0)){continue}break}}J[e+48>>2]=a+(m<<2);J[e+44>>2]=n;J[e+40>>2]=f;if(!k){break v}hl(k)}a=b;b=g}J[J[e+28>>2]+(i<<2)>>2]=a;d=J[e+64>>2];w:{if((i>>>0)%3|0){f=i-1|0;break w}f=i+2|0;if((f|0)==-1){break n}}f=J[J[d+12>>2]+(f<<2)>>2];if((f|0)==-1){break n}i=f+((f>>>0)%3|0?-1:2)|0;if((i|0)==-1){break n}if((c|0)!=(i|0)){continue}break}}l=l+1|0;f=J[d+24>>2];if(l>>>0>2]-f>>2>>>0){continue}break}break k}Ya();C()}break a}return}b=0;f=0;e=a;J[e+56>>2]=J[e+52>>2];J[e+44>>2]=J[e+40>>2];x:{d=J[e+64>>2];h=J[d+24>>2];if((h|0)==J[d+28>>2]){break x}y:{z:{while(1){a=b;b=J[(f<<2)+h>>2];A:{if((b|0)==-1){b=a;break A}d=J[e+56>>2];B:{if((d|0)!=J[e+60>>2]){J[d>>2]=a;J[e+56>>2]=d+4;break B}g=J[e+52>>2];c=d-g|0;h=c>>2;j=h+1|0;if(j>>>0>=1073741824){break a}i=c>>>1|0;j=c>>>0>=2147483644?1073741823:i>>>0>j>>>0?i:j;if(j){if(j>>>0>=1073741824){break z}c=pl(j<<2)}else{c=0}h=c+(h<<2)|0;J[h>>2]=a;i=h+4|0;if((d|0)!=(g|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+60>>2]=c+(j<<2);J[e+56>>2]=i;J[e+52>>2]=h;if(!g){break B}hl(g)}C:{D:{if(!(J[J[e+12>>2]+(f>>>3&536870908)>>2]>>>f&1)){break D}c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)==-1|J[J[e>>2]+(c>>>3&536870908)>>2]>>>c&1){break D}c=J[J[J[e+64>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break D}d=c+1|0;d=(d>>>0)%3|0?d:c-2|0;if((d|0)==-1){break D}j=J[e+64>>2];h=J[e>>2];while(1){c=d;d=-1;g=c+1|0;g=(g>>>0)%3|0?g:c-2|0;E:{if((g|0)==-1|J[h+(g>>>3&536870908)>>2]>>>g&1){break E}g=J[J[j+12>>2]+(g<<2)>>2];if((g|0)==-1){break E}d=g+1|0;d=(d>>>0)%3|0?d:g-2|0}if((b|0)!=(d|0)){if((d|0)==-1){break C}continue}break}break x}c=b}J[J[e+28>>2]+(c<<2)>>2]=a;d=J[e+44>>2];F:{if((d|0)!=J[e+48>>2]){J[d>>2]=c;J[e+44>>2]=d+4;break F}g=J[e+40>>2];b=d-g|0;h=b>>2;j=h+1|0;if(j>>>0>=1073741824){break y}i=b>>>1|0;j=b>>>0>=2147483644?1073741823:i>>>0>j>>>0?i:j;if(j){if(j>>>0>=1073741824){break z}b=pl(j<<2)}else{b=0}h=b+(h<<2)|0;J[h>>2]=c;i=h+4|0;if((d|0)!=(g|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(g|0)){continue}break}}J[e+48>>2]=b+(j<<2);J[e+44>>2]=i;J[e+40>>2]=h;if(!g){break F}hl(g)}b=a+1|0;d=J[e+64>>2];if((c|0)==-1){break A}G:{if((c>>>0)%3|0){h=c-1|0;break G}h=c+2|0;if((h|0)==-1){break A}}g=J[J[d+12>>2]+(h<<2)>>2];if((g|0)==-1){break A}g=g+((g>>>0)%3|0?-1:2)|0;if((g|0)==-1|(c|0)==(g|0)){break A}while(1){d=g+1|0;d=(d>>>0)%3|0?d:g-2|0;if(J[J[e>>2]+(d>>>3&536870908)>>2]>>>d&1){d=J[e+56>>2];H:{if((d|0)!=J[e+60>>2]){J[d>>2]=b;J[e+56>>2]=d+4;break H}j=J[e+52>>2];a=d-j|0;l=a>>2;h=l+1|0;if(h>>>0>=1073741824){break a}i=a>>>1|0;i=a>>>0>=2147483644?1073741823:i>>>0>h>>>0?i:h;if(i){if(i>>>0>=1073741824){break z}a=pl(i<<2)}else{a=0}h=a+(l<<2)|0;J[h>>2]=b;l=h+4|0;if((d|0)!=(j|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(j|0)){continue}break}}J[e+60>>2]=a+(i<<2);J[e+56>>2]=l;J[e+52>>2]=h;if(!j){break H}hl(j)}j=b+1|0;d=J[e+44>>2];I:{if((d|0)!=J[e+48>>2]){J[d>>2]=g;J[e+44>>2]=d+4;break I}i=J[e+40>>2];a=d-i|0;k=a>>2;h=k+1|0;if(h>>>0>=1073741824){break y}l=a>>>1|0;l=a>>>0>=2147483644?1073741823:h>>>0>>0?l:h;if(l){if(l>>>0>=1073741824){break z}a=pl(l<<2)}else{a=0}h=a+(k<<2)|0;J[h>>2]=g;k=h+4|0;if((d|0)!=(i|0)){while(1){h=h-4|0;d=d-4|0;J[h>>2]=J[d>>2];if((d|0)!=(i|0)){continue}break}}J[e+48>>2]=a+(l<<2);J[e+44>>2]=k;J[e+40>>2]=h;if(!i){break I}hl(i)}a=b;b=j}J[J[e+28>>2]+(g<<2)>>2]=a;d=J[e+64>>2];J:{if((g>>>0)%3|0){h=g-1|0;break J}h=g+2|0;if((h|0)==-1){break A}}g=J[J[d+12>>2]+(h<<2)>>2];if((g|0)==-1){break A}g=g+((g>>>0)%3|0?-1:2)|0;if((g|0)==-1){break A}if((c|0)!=(g|0)){continue}break}}f=f+1|0;h=J[d+24>>2];if(f>>>0>2]-h>>2>>>0){continue}break}break x}Ya();C()}break a}}return}Ia();C()}function Mj(a){var 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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=fa-16|0;fa=z;b=pl(88);J[b>>2]=0;J[b+4>>2]=0;J[b+56>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;c=b- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+60>>2]=b;c=a;w=fa-16|0;fa=w;J[b+80>>2]=0;J[b+84>>2]=0;d=J[b+76>>2];a=b;J[b+76>>2]=0;if(d){hl(d)}J[a+68>>2]=0;J[a+72>>2]=0;b=a- -64|0;d=J[b>>2];J[b>>2]=0;if(d){hl(d)}f=J[c+4>>2];d=J[c>>2];b=(f-d|0)/12|0;l=P(b,3);i=J[a>>2];e=J[a+4>>2]-i>>2;a:{if(l>>>0>e>>>0){lh(a,l-e|0);f=J[c+4>>2];d=J[c>>2];b=(f-d|0)/12|0;break a}if(e>>>0<=l>>>0){break a}J[a+4>>2]=i+(l<<2)}b:{if((d|0)==(f|0)){break b}f=b>>>0<=1?1:b;e=f&1;g=J[a>>2];c=0;if(b>>>0>=2){i=f&-2;b=0;while(1){j=P(c,12);f=j+g|0;l=d+j|0;J[f>>2]=J[l>>2];J[g+(j|4)>>2]=J[l+4>>2];J[f+8>>2]=J[l+8>>2];f=P(c|1,12);l=f+g|0;f=d+f|0;J[l>>2]=J[f>>2];J[l+4>>2]=J[f+4>>2];J[l+8>>2]=J[f+8>>2];c=c+2|0;b=b+2|0;if((i|0)!=(b|0)){continue}break}}if(!e){break b}c=P(c,12);b=c+g|0;c=c+d|0;J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2]}J[w+12>>2]=-1;c=0;f=0;g=0;o=fa-32|0;fa=o;c:{s=w+12|0;d:{if(!s){break d}b=J[a+4>>2];j=J[a>>2];e=b-j|0;m=e>>2;d=J[a+12>>2];i=J[a+16>>2]-d>>2;e:{if(m>>>0>i>>>0){rb(a+12|0,m-i|0,14880);b=J[a+4>>2];j=J[a>>2];e=b-j|0;m=e>>2;break e}if(i>>>0<=m>>>0){break e}J[a+16>>2]=d+(m<<2)}J[o+24>>2]=0;J[o+16>>2]=0;J[o+20>>2]=0;d=(b|0)==(j|0);if(!d){if((e|0)<0){break c}f=pl(e);J[o+20>>2]=f;J[o+16>>2]=f;J[o+24>>2]=(m<<2)+f}f:{g:{h:{i:{j:{if(e){while(1){d=J[(c<<2)+j>>2];e=J[o+20>>2]-f>>2;k:{if(d>>>0>>0){break k}J[o>>2]=0;i=d+1|0;if(i>>>0>e>>>0){vb(o+16|0,i-e|0,o);j=J[a>>2];b=J[a+4>>2];f=J[o+16>>2];break k}if(e>>>0<=i>>>0){break k}J[o+20>>2]=(i<<2)+f}d=(d<<2)+f|0;J[d>>2]=J[d>>2]+1;c=c+1|0;e=b-j|0;m=e>>2;if(c>>>0>>0){continue}break}break j}e=0;if(!d){break i}break h}if((b|0)==(j|0)){e=0;break h}if(e>>>0>=2147483645){break g}}e=pl(e<<1);pk(e,255,m<<3)}J[o+8>>2]=0;J[o>>2]=0;J[o+4>>2]=0;c=J[o+20>>2];b=c-f|0;y=b>>2;l:{m:{if((c|0)==(f|0)){break m}if((b|0)<0){break l}v=pl(b);J[o>>2]=v;J[o+8>>2]=(y<<2)+v;q=pk(v,0,b);J[o+4>>2]=q+b;b=y>>>0<=1?1:y;l=b&3;c=0;if(b-1>>>0>=3){i=b&-4;while(1){p=g<<2;J[p+q>>2]=c;b=p|4;c=J[f+p>>2]+c|0;J[b+q>>2]=c;d=p|8;c=c+J[b+f>>2]|0;J[d+q>>2]=c;b=p|12;c=c+J[d+f>>2]|0;J[b+q>>2]=c;c=c+J[b+f>>2]|0;g=g+4|0;h=h+4|0;if((i|0)!=(h|0)){continue}break}}if(!l){break m}while(1){b=g<<2;J[b+q>>2]=c;g=g+1|0;c=J[b+f>>2]+c|0;r=r+1|0;if((l|0)!=(r|0)){continue}break}}if(!m){break f}u=J[a+40>>2];k=J[a+12>>2];l=0;while(1){q=l<<2;d=q+j|0;r=-1;b=l+1|0;c=(b>>>0)%3|0?b:l-2|0;if((c|0)!=-1){r=J[(c<<2)+j>>2]}p=J[d>>2];n:{o:{if(!((l>>>0)%3|0)){h=-1;c=l+2|0;if((c|0)!=-1){h=J[(c<<2)+j>>2]}if(!((p|0)==(r|0)|(h|0)==(p|0))&(h|0)!=(r|0)){break o}u=u+1|0;J[a+40>>2]=u;b=l+3|0;break n}h=J[d-4>>2]}c=h<<2;t=J[c+f>>2];p:{q:{if((t|0)<=0){break q}c=J[c+v>>2];g=0;while(1){i=(c<<3)+e|0;d=J[i>>2];if((d|0)==-1){break q}r:{if((d|0)!=(r|0)){break r}n=J[i+4>>2];if((n|0)!=-1){d=J[(n<<2)+j>>2]}else{d=-1}if((d|0)==(p|0)){break r}while(1){s:{d=c;g=g+1|0;if((t|0)<=(g|0)){break s}c=d+1|0;p=(c<<3)+e|0;x=J[p>>2];i=(d<<3)+e|0;J[i+4>>2]=J[p+4>>2];J[i>>2]=x;if((x|0)!=-1){continue}}break}J[(d<<3)+e>>2]=-1;if((n|0)==-1){break q}J[k+q>>2]=n;J[k+(n<<2)>>2]=l;break p}c=c+1|0;g=g+1|0;if((t|0)!=(g|0)){continue}break}}c=r<<2;d=J[c+f>>2];if((d|0)<=0){break p}c=J[c+v>>2];g=0;while(1){i=(c<<3)+e|0;if(J[i>>2]==-1){J[i>>2]=h;J[i+4>>2]=l;break p}c=c+1|0;g=g+1|0;if((d|0)!=(g|0)){continue}break}}}l=b;if(l>>>0>>0){continue}break}break f}break c}Ja(1313);C()}J[s>>2]=y;if(v){hl(v)}if(e){hl(e)}c=J[o+16>>2];if(!c){break d}J[o+20>>2]=c;hl(c)}fa=o+32|0;x=(s|0)!=0;if(x){n=fa-32|0;fa=n;c=J[a>>2];g=J[a+4>>2];J[n+24>>2]=0;J[n+16>>2]=0;J[n+20>>2]=0;if((c|0)==(g|0)){b=g}else{c=g-c|0;if((c|0)<0){break c}d=c>>2;b=(d-1>>>5|0)+1|0;c=pl(b<<2);J[n+24>>2]=b;J[n+20>>2]=0;J[n+16>>2]=c;ci(n+16|0,d);g=J[a>>2];b=J[a+4>>2]}J[n+8>>2]=0;J[n>>2]=0;while(1){t:{k=0;m=0;if((b|0)==(g|0)){break t}while(1){e=J[n+16>>2];u:{if(J[e+(m>>>3&536870908)>>2]>>>m&1){break u}b=J[n>>2];J[n+4>>2]=b;f=J[a+12>>2];c=m;while(1){v:{d=c+1|0;i=c;c=(d>>>0)%3|0?d:c-2|0;if((c|0)==-1){break v}d=J[f+(c<<2)>>2];if((d|0)==-1){break v}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((m|0)==(c|0)|(c|0)==-1){break v}if(!(J[e+(c>>>3&536870908)>>2]>>>c&1)){continue}}break}j=i;w:{x:{y:{while(1){c=J[n+16>>2]+(j>>>3&536870908)|0;J[c>>2]=J[c>>2]|1<>>0)%3|0?c:j-2|0;g=J[a>>2];q=(j>>>0)%3|0;d=(q?-1:2)+j|0;l=J[n>>2];p=(l|0)==(b|0);z:{if(p){break z}t=J[(e<<2)+g>>2];s=J[a+12>>2];c=l;if((d|0)!=-1){f=s+(d<<2)|0;while(1){A:{if((t|0)!=J[c>>2]){break A}u=J[f>>2];h=J[c+4>>2];if((u|0)==(h|0)){break A}f=d;b=-1;c=-1;if((h|0)==-1){break w}break x}c=c+8|0;if((b|0)!=(c|0)){continue}break}break z}while(1){if((t|0)==J[c>>2]){u=-1;f=-1;h=J[c+4>>2];if((h|0)!=-1){break x}}c=c+8|0;if((b|0)!=(c|0)){continue}break}}g=J[(d<<2)+g>>2];B:{if(J[n+8>>2]!=(b|0)){J[b>>2]=g;J[b+4>>2]=e;b=b+8|0;J[n+4>>2]=b;break B}h=b-l|0;d=h>>3;f=d+1|0;if(f>>>0>=536870912){break c}c=h>>>2|0;h=h>>>0>=2147483640?536870911:c>>>0>f>>>0?c:f;if(h){if(h>>>0>=536870912){break y}f=pl(h<<3)}else{f=0}c=f+(d<<3)|0;J[c>>2]=g;J[c+4>>2]=e;d=c+8|0;if(!p){while(1){b=b-8|0;e=J[b+4>>2];c=c-8|0;J[c>>2]=J[b>>2];J[c+4>>2]=e;if((b|0)!=(l|0)){continue}break}b=J[n>>2]}J[n+8>>2]=f+(h<<3);J[n+4>>2]=d;J[n>>2]=c;if(b){hl(b)}b=d}C:{D:{if(q){c=j-1|0;break D}c=j+2|0;if((c|0)==-1){break C}}c=J[J[a+12>>2]+(c<<2)>>2];if((c|0)==-1){break C}j=c+((c>>>0)%3|0?-1:2)|0;if((i|0)==(j|0)){break C}if((j|0)!=-1){continue}}break}g=J[a>>2];break u}Ya();C()}b=J[s+(h<<2)>>2];d=f;c=h}if((u|0)!=-1){J[s+(u<<2)>>2]=-1}if((b|0)!=-1){J[s+(b<<2)>>2]=-1}J[s+(d<<2)>>2]=-1;J[s+(c<<2)>>2]=-1;k=1}m=m+1|0;b=J[a+4>>2];if(m>>>0>2>>>0){continue}break}if(k){continue}}break}c=J[n>>2];if(c){hl(c)}c=J[n+16>>2];if(c){hl(c)}fa=n+32|0;l=0;k=fa-32|0;fa=k;f=J[w+12>>2];J[a+36>>2]=f;t=a+24|0;c=J[a+24>>2];b=J[a+28>>2]-c>>2;E:{F:{if(b>>>0>>0){rb(t,f-b|0,14880);J[k+24>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;break F}if(b>>>0>f>>>0){J[a+28>>2]=c+(f<<2)}J[k+24>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;if(!f){break E}}if((f|0)<0){break c}b=(f-1>>>5|0)+1|0;c=pl(b<<2);J[k+24>>2]=b;J[k+20>>2]=0;J[k+16>>2]=c;ci(k+16|0,f)}c=J[a>>2];d=J[a+4>>2];J[k+8>>2]=0;J[k>>2]=0;J[k+4>>2]=0;G:{if((c|0)==(d|0)){c=d}else{c=d-c|0;if((c|0)<0){break c}d=c>>2;b=(d-1>>>5|0)+1|0;c=pl(b<<2);J[k+8>>2]=b;J[k+4>>2]=0;J[k>>2]=c;ci(k,d);d=J[a>>2];c=J[a+4>>2]}if(c-d>>>0<12){break G}H:{while(1){q=P(l,3);e=(q<<2)+d|0;h=J[e>>2];b=-1;i=q+1|0;if((i|0)!=-1){b=J[(i<<2)+d>>2]}I:{if((b|0)==(h|0)){break I}i=J[e+8>>2];if((i|0)==(h|0)|(b|0)==(i|0)){break I}r=0;m=J[k>>2];while(1){i=q+r|0;if(!(J[(i>>>3&536870908)+m>>2]>>>i&1)){c=J[(i<<2)+d>>2];b=1<>2];d=c>>>5|0;m=J[e+(d<<2)>>2];p=b&m;if(p){b=J[a+28>>2];J:{if((b|0)!=J[a+32>>2]){J[b>>2]=-1;J[a+28>>2]=b+4;break J}g=J[t>>2];j=b-g|0;e=j>>2;h=e+1|0;if(h>>>0>=1073741824){break c}d=j>>>1|0;j=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(j){if(j>>>0>=1073741824){break H}d=pl(j<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=-1;h=e+4|0;if((b|0)!=(g|0)){while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];if((b|0)!=(g|0)){continue}break}}J[a+32>>2]=d+(j<<2);J[a+28>>2]=h;J[a+24>>2]=e;if(!g){break J}hl(g)}b=J[a+52>>2];K:{if((b|0)!=J[a+56>>2]){J[b>>2]=c;J[a+52>>2]=b+4;break K}g=J[a+48>>2];j=b-g|0;e=j>>2;h=e+1|0;if(h>>>0>=1073741824){break c}d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break H}d=pl(h<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=c;c=e+4|0;if((b|0)!=(g|0)){while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];if((b|0)!=(g|0)){continue}break}}J[a+56>>2]=d+(h<<2);J[a+52>>2]=c;J[a+48>>2]=e;if(!g){break K}hl(g)}b=J[k+20>>2];c=J[k+24>>2];if((b|0)==c<<5){if((b+1|0)<0){break c}e=k+16|0;if(b>>>0<=1073741822){d=c<<6;c=(b&-32)+32|0;c=c>>>0>>0?d:c}else{c=2147483647}Gc(e,c);b=J[k+20>>2]}J[k+20>>2]=b+1;e=J[k+16>>2];d=e+(b>>>3&536870908)|0;c=J[d>>2];A=d,B=im(b)&c,J[A>>2]=B;b=1<>>5|0;m=J[(d<<2)+e>>2];c=f;f=c+1|0}J[(d<<2)+e>>2]=b|m;j=J[a+24>>2]+(c<<2)|0;g=J[a+12>>2];d=J[a>>2];m=J[k>>2];b=i;L:{M:{N:{while(1){if((b|0)==-1){break N}e=(b>>>3&536870908)+m|0;J[e>>2]=J[e>>2]|1<>2]=b;if(p){J[(b<<2)+d>>2]=c}h=b+1|0;b=(h>>>0)%3|0?h:b-2|0;e=-1;O:{if((b|0)==-1){break O}h=J[g+(b<<2)>>2];e=-1;if((h|0)==-1){break O}b=h+1|0;e=(b>>>0)%3|0?b:h-2|0}b=e;if((i|0)!=(b|0)){continue}break}if((i|0)!=-1){break L}b=1;break M}if((i>>>0)%3|0){b=i-1|0;break M}b=i+2|0;if((b|0)==-1){break L}}b=J[g+(b<<2)>>2];if((b|0)==-1){break L}P:{if((b>>>0)%3|0){b=b-1|0;break P}b=b+2|0;if((b|0)==-1){break L}}e=J[a+12>>2];d=J[a>>2];while(1){i=(b>>>3&536870908)+m|0;J[i>>2]=J[i>>2]|1<>2]=c}Q:{if((b>>>0)%3|0){b=b-1|0;break Q}b=b+2|0;if((b|0)==-1){break L}}b=J[e+(b<<2)>>2];if((b|0)==-1){break L}b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)!=-1){continue}break}}}r=r+1|0;if((r|0)!=3){continue}break}d=J[a>>2];c=J[a+4>>2]}l=l+1|0;if(l>>>0<(c-d>>2>>>0)/3>>>0){continue}break}break G}Ya();C()}b=0;J[a+44>>2]=0;c=J[k+16>>2];d=J[k+20>>2];if(d){i=d&31;f=(d>>>3&536870908)+c|0;e=c;m=0;while(1){if(!(J[e>>2]>>>b&1)){m=m+1|0;J[a+44>>2]=m}d=(b|0)==31;b=d?0:b+1|0;e=(d<<2)+e|0;if((f|0)!=(e|0)|(b|0)!=(i|0)){continue}break}}b=J[k>>2];if(b){hl(b);c=J[k+16>>2]}if(c){hl(c)}fa=k+32|0}fa=w+16|0;if(!x){J[z+8>>2]=0;Tg(a);a=0}fa=z+16|0;return a}Ia();C()}function gl(a){a=a|0;var 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;l=fa-16|0;fa=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{if(a>>>0<=244){g=J[4892];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+19608|0;d=J[a+19616>>2];a=J[d+8>>2];j:{if((b|0)==(a|0)){m=19568,n=im(c)&g,J[m>>2]=n;break j}J[a+12>>2]=b;J[b+8>>2]=a}a=d+8|0;b=c<<3;J[d+4>>2]=b|3;b=b+d|0;J[b+4>>2]=J[b+4>>2]|1;break a}k=J[4894];if(k>>>0>=h>>>0){break i}if(b){a=2<>2];a=J[e+8>>2];k:{if((b|0)==(a|0)){g=im(d)&g;J[4892]=g;break k}J[a+12>>2]=b;J[b+8>>2]=a}J[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;J[c+4>>2]=d|1;J[a+e>>2]=d;if(k){b=(k&-8)+19608|0;f=J[4897];a=1<<(k>>>3);l:{if(!(a&g)){J[4892]=a|g;a=b;break l}a=J[b+8>>2]}J[b+8>>2]=f;J[a+12>>2]=f;J[f+12>>2]=b;J[f+8>>2]=a}a=e+8|0;J[4897]=c;J[4894]=d;break a}j=J[4893];if(!j){break i}c=J[(dm(0-j&j)<<2)+19872>>2];f=(J[c+4>>2]&-8)-h|0;b=c;while(1){m:{a=J[b+16>>2];if(!a){a=J[b+20>>2];if(!a){break m}}b=(J[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=J[c+24>>2];d=J[c+12>>2];if((d|0)!=(c|0)){a=J[c+8>>2];J[a+12>>2]=d;J[d+8>>2]=a;break b}b=c+20|0;a=J[b>>2];if(!a){a=J[c+16>>2];if(!a){break h}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=J[b>>2];if(a){continue}b=d+16|0;a=J[d+16>>2];if(a){continue}break}J[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break i}a=a+11|0;h=a&-8;j=J[4893];if(!j){break i}f=0-h|0;g=0;n:{if(h>>>0<256){break n}g=31;if(h>>>0>16777215){break n}a=S(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=J[(g<<2)+19872>>2];o:{p:{q:{if(!b){a=0;break q}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){r:{e=(J[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break r}d=b;f=e;if(e){break r}f=0;a=b;break p}e=J[b+20>>2];b=J[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break o}}while(1){b=(J[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=J[a+16>>2];if(b){a=b}else{a=J[a+20>>2]}if(a){continue}break}}if(!d|J[4894]-h>>>0<=f>>>0){break i}g=J[d+24>>2];c=J[d+12>>2];if((d|0)!=(c|0)){a=J[d+8>>2];J[a+12>>2]=c;J[c+8>>2]=a;break c}b=d+20|0;a=J[b>>2];if(!a){a=J[d+16>>2];if(!a){break g}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=J[b>>2];if(a){continue}b=c+16|0;a=J[c+16>>2];if(a){continue}break}J[e>>2]=0;break c}a=J[4894];if(a>>>0>=h>>>0){d=J[4897];b=a-h|0;s:{if(b>>>0>=16){c=d+h|0;J[c+4>>2]=b|1;J[a+d>>2]=b;J[d+4>>2]=h|3;break s}J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;c=0;b=0}J[4894]=b;J[4897]=c;a=d+8|0;break a}i=J[4895];if(i>>>0>h>>>0){b=i-h|0;J[4895]=b;c=J[4898];a=c+h|0;J[4898]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(J[5010]){c=J[5012]}else{J[5013]=-1;J[5014]=-1;J[5011]=4096;J[5012]=4096;J[5010]=l+12&-16^1431655768;J[5015]=0;J[5003]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=J[5002];if(d){c=J[5e3];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}t:{if(!(K[20012]&4)){u:{v:{w:{x:{d=J[4898];if(d){a=20016;while(1){c=J[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break x}a=J[a+8>>2];if(a){continue}break}}c=fl(0);if((c|0)==-1){break u}g=b;d=J[5011];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break u}d=J[5002];if(d){a=J[5e3];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break u}}a=fl(g);if((c|0)!=(a|0)){break w}break t}g=f&e-i;c=fl(g);if((c|0)==(J[a>>2]+J[a+4>>2]|0)){break v}a=c}if((a|0)==-1){break u}if(h+48>>>0<=g>>>0){c=a;break t}c=J[5012];c=c+(j-g|0)&0-c;if((fl(c)|0)==-1){break u}g=c+g|0;c=a;break t}if((c|0)!=-1){break t}}J[5003]=J[5003]|4}c=fl(b);a=fl(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break d}g=a-c|0;if(g>>>0<=h+40>>>0){break d}}a=J[5e3]+g|0;J[5e3]=a;if(a>>>0>M[5001]){J[5001]=a}y:{e=J[4898];if(e){a=20016;while(1){d=J[a>>2];b=J[a+4>>2];if((d+b|0)==(c|0)){break y}a=J[a+8>>2];if(a){continue}break}break f}a=J[4896];if(!(a>>>0<=c>>>0?a:0)){J[4896]=c}a=0;J[5005]=g;J[5004]=c;J[4900]=-1;J[4901]=J[5010];J[5007]=0;while(1){d=a<<3;b=d+19608|0;J[d+19616>>2]=b;J[d+19620>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4895]=b;a=a+c|0;J[4898]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4899]=J[5014];break e}if(K[a+12|0]&8|d>>>0>e>>>0|c>>>0<=e>>>0){break f}J[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;J[4898]=c;b=J[4895]+g|0;a=b-a|0;J[4895]=a;J[c+4>>2]=a|1;J[(b+e|0)+4>>2]=40;J[4899]=J[5014];break e}d=0;break b}c=0;break c}if(M[4896]>c>>>0){J[4896]=c}b=c+g|0;a=20016;z:{A:{B:{C:{D:{E:{while(1){if((b|0)!=J[a>>2]){a=J[a+8>>2];if(a){continue}break E}break}if(!(K[a+12|0]&8)){break D}}a=20016;while(1){b=J[a>>2];if(b>>>0<=e>>>0){f=b+J[a+4>>2]|0;if(f>>>0>e>>>0){break C}}a=J[a+8>>2];continue}}J[a>>2]=c;J[a+4>>2]=J[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;J[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){J[4898]=i;a=J[4895]+a|0;J[4895]=a;J[i+4>>2]=a|1;break A}if(J[4897]==(g|0)){J[4897]=i;a=J[4894]+a|0;J[4894]=a;J[i+4>>2]=a|1;J[a+i>>2]=a;break A}f=J[g+4>>2];if((f&3)==1){e=f&-8;F:{if(f>>>0<=255){d=J[g+8>>2];b=f>>>3|0;c=J[g+12>>2];if((c|0)==(d|0)){m=19568,n=J[4892]&im(b),J[m>>2]=n;break F}J[d+12>>2]=c;J[c+8>>2]=d;break F}h=J[g+24>>2];c=J[g+12>>2];G:{if((g|0)!=(c|0)){b=J[g+8>>2];J[b+12>>2]=c;J[c+8>>2]=b;break G}H:{f=g+20|0;b=J[f>>2];if(b){break H}f=g+16|0;b=J[f>>2];if(b){break H}c=0;break G}while(1){d=f;c=b;f=c+20|0;b=J[f>>2];if(b){continue}f=c+16|0;b=J[c+16>>2];if(b){continue}break}J[d>>2]=0}if(!h){break F}d=J[g+28>>2];b=(d<<2)+19872|0;I:{if(J[b>>2]==(g|0)){J[b>>2]=c;if(c){break I}m=19572,n=J[4893]&im(d),J[m>>2]=n;break F}J[h+(J[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break F}}J[c+24>>2]=h;b=J[g+16>>2];if(b){J[c+16>>2]=b;J[b+24>>2]=c}b=J[g+20>>2];if(!b){break F}J[c+20>>2]=b;J[b+24>>2]=c}g=e+g|0;f=J[g+4>>2];a=a+e|0}J[g+4>>2]=f&-2;J[i+4>>2]=a|1;J[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+19608|0;c=J[4892];a=1<<(a>>>3);J:{if(!(c&a)){J[4892]=a|c;a=b;break J}a=J[b+8>>2]}J[b+8>>2]=i;J[a+12>>2]=i;J[i+12>>2]=b;J[i+8>>2]=a;break A}f=31;if(a>>>0<=16777215){b=S(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}J[i+28>>2]=f;J[i+16>>2]=0;J[i+20>>2]=0;b=(f<<2)+19872|0;d=J[4893];c=1<>2]=i;break K}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=J[b>>2];while(1){b=c;if((J[c+4>>2]&-8)==(a|0)){break B}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=J[d+16>>2];if(c){continue}break}J[d+16>>2]=i}J[i+24>>2]=b;J[i+12>>2]=i;J[i+8>>2]=i;break A}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[4895]=b;a=a+c|0;J[4898]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[4899]=J[5014];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;J[d+4>>2]=27;a=J[5007];J[d+16>>2]=J[5006];J[d+20>>2]=a;a=J[5005];J[d+8>>2]=J[5004];J[d+12>>2]=a;J[5006]=d+8;J[5005]=g;J[5004]=c;J[5007]=0;a=d+24|0;while(1){J[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break e}J[d+4>>2]=J[d+4>>2]&-2;f=d-e|0;J[e+4>>2]=f|1;J[d>>2]=f;if(f>>>0<=255){b=(f&-8)+19608|0;c=J[4892];a=1<<(f>>>3);L:{if(!(c&a)){J[4892]=a|c;a=b;break L}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break e}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+19872|0;d=J[4893];c=1<>2]=e;break M}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=J[b>>2];while(1){b=d;if((f|0)==(J[b+4>>2]&-8)){break z}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=J[c+16>>2];if(d){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break e}a=J[b+8>>2];J[a+12>>2]=i;J[b+8>>2]=i;J[i+24>>2]=0;J[i+12>>2]=b;J[i+8>>2]=a}a=j+8|0;break a}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=J[4895];if(a>>>0<=h>>>0){break d}b=a-h|0;J[4895]=b;c=J[4898];a=c+h|0;J[4898]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[4842]=48;a=0;break a}N:{if(!g){break N}b=J[d+28>>2];a=(b<<2)+19872|0;O:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break O}j=im(b)&j;J[4893]=j;break N}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break N}}J[c+24>>2]=g;a=J[d+16>>2];if(a){J[c+16>>2]=a;J[a+24>>2]=c}a=J[d+20>>2];if(!a){break N}J[c+20>>2]=a;J[a+24>>2]=c}P:{if(f>>>0<=15){a=f+h|0;J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;break P}J[d+4>>2]=h|3;e=d+h|0;J[e+4>>2]=f|1;J[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+19608|0;c=J[4892];a=1<<(f>>>3);Q:{if(!(c&a)){J[4892]=a|c;a=b;break Q}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break P}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+19872|0;R:{c=1<>2]=e;break S}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=J[b>>2];while(1){b=h;if((J[b+4>>2]&-8)==(f|0)){break R}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=J[c+16>>2];if(h){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break P}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=d+8|0;break a}T:{if(!i){break T}b=J[c+28>>2];a=(b<<2)+19872|0;U:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break U}m=19572,n=im(b)&j,J[m>>2]=n;break T}J[i+(J[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break T}}J[d+24>>2]=i;a=J[c+16>>2];if(a){J[d+16>>2]=a;J[a+24>>2]=d}a=J[c+20>>2];if(!a){break T}J[d+20>>2]=a;J[a+24>>2]=d}V:{if(f>>>0<=15){a=f+h|0;J[c+4>>2]=a|3;a=a+c|0;J[a+4>>2]=J[a+4>>2]|1;break V}J[c+4>>2]=h|3;d=c+h|0;J[d+4>>2]=f|1;J[d+f>>2]=f;if(k){b=(k&-8)+19608|0;e=J[4897];a=1<<(k>>>3);W:{if(!(a&g)){J[4892]=a|g;a=b;break W}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a}J[4897]=d;J[4894]=f}a=c+8|0}fa=l+16|0;return a|0}function Fb(a){a=a|0;var 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=Q(0);e=fa+-64|0;fa=e;c=J[a+4>>2];i=J[a+8>>2];a:{if((c|0)==(i|0)){J[a+72>>2]=0;b=1;break a}d=i-c>>2;m=d>>>0<=1?1:d;j=m&3;h=J[J[a+28>>2]+4>>2];d=J[h+8>>2];if(m-1>>>0>=3){m=m&-4;while(1){l=g;g=b<<2;g=(((l+K[J[d+(J[g+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|4)+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|8)+c>>2]<<2)>>2]+24|0]|0)+K[J[d+(J[(g|12)+c>>2]<<2)>>2]+24|0]|0;b=b+4|0;k=k+4|0;if((m|0)!=(k|0)){continue}break}}if(j){while(1){g=K[J[d+(J[(b<<2)+c>>2]<<2)>>2]+24|0]+g|0;b=b+1|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}o=J[h+80>>2];J[a+72>>2]=g;if((c|0)==(i|0)){b=1;break a}m=0;while(1){b=J[(m<<2)+c>>2];J[e+60>>2]=b;b:{c:{d:{e:{f:{c=J[a+28>>2];i=J[J[J[c+4>>2]+8>>2]+(b<<2)>>2];switch(J[i+28>>2]-1|0){case 0:case 2:case 4:break e;case 8:break f;default:break b}}J[e+36>>2]=-1;J[e+32>>2]=2040;J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;g=J[c+48>>2];b=pl(32);J[e+16>>2]=b;J[e+20>>2]=17;J[e+24>>2]=-2147483616;H[b+16|0]=K[1261];c=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);d=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);d=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;g=Gb(g,e+60|0,e+16|0,-1);if(H[e+27|0]<0){hl(J[e+16>>2])}g:{if((g|0)<=0){break g}j=J[J[a+28>>2]+48>>2];b=pl(32);J[e+16>>2]=b;J[e+20>>2]=19;J[e+24>>2]=-2147483616;d=0;c=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);f=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);f=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;h:{if(!Hb(j,e+60|0,e+16|0)){break h}f=J[J[a+28>>2]+48>>2];b=pl(32);J[e>>2]=b;J[e+4>>2]=18;J[e+8>>2]=-2147483616;c=K[1547]|K[1548]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);d=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);d=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;d=Hb(f,e+60|0,e);if(H[e+11|0]>=0){break h}hl(J[e>>2])}if(H[e+27|0]<0){hl(J[e+16>>2])}i:{if(d){b=K[i+24|0];j:{if(!b){d=0;break j}b=b<<2;d=pl(b);pk(d,0,b)}j=J[J[a+28>>2]+48>>2];b=pl(32);J[e+16>>2]=b;J[e+20>>2]=19;J[e+24>>2]=-2147483616;c=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);f=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);f=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;Ib(j,e+60|0,e+16|0,K[i+24|0],d);if(H[e+27|0]<0){hl(J[e+16>>2])}j=J[J[a+28>>2]+48>>2];b=pl(32);J[e+16>>2]=b;J[e+20>>2]=18;J[e+24>>2]=-2147483616;c=K[1547]|K[1548]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);f=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);f=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;p=Jb(j,e+60|0,e+16|0);if(H[e+27|0]<0){hl(J[e+16>>2])}Pa(e+32|0,g,d,K[i+24|0],p);if(!d){break i}hl(d);break i}if(!Ra(e+32|0,i,g)){break g}}d=J[a+40>>2];k:{if((d|0)!=J[a+44>>2]){J[d>>2]=2040;b=J[e+36>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[d+4>>2]=b;b=J[e+44>>2];c=J[e+40>>2];if((b|0)!=(c|0)){b=b-c|0;if((b|0)<0){break d}c=pl(b);J[d+12>>2]=c;J[d+8>>2]=c;J[d+16>>2]=(b&-4)+c;b=J[e+40>>2];g=J[e+44>>2];if((b|0)!=(g|0)){while(1){N[c>>2]=N[b>>2];c=c+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}J[d+12>>2]=c}N[d+20>>2]=N[e+52>>2];J[a+40>>2]=d+24;break k}f=0;l:{m:{n:{o:{b=J[a+40>>2];j=J[a+36>>2];d=(b-j|0)/24|0;c=d+1|0;if(c>>>0<178956971){g=(J[a+44>>2]-j|0)/24|0;h=g<<1;h=g>>>0>=89478485?178956970:c>>>0>>0?h:c;if(h){if(h>>>0>=178956971){break o}f=pl(P(h,24))}c=P(d,24)+f|0;J[c>>2]=2040;d=J[e+36>>2];J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+4>>2]=d;g=J[e+40>>2];k=J[e+44>>2];if((g|0)!=(k|0)){l=k-g|0;if((l|0)<0){break n}d=pl(l);J[c+8>>2]=d;J[c+16>>2]=(l&-4)+d;while(1){N[d>>2]=N[g>>2];d=d+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}J[c+12>>2]=d}d=P(h,24)+f|0;N[c+20>>2]=N[e+52>>2];g=c+24|0;if((b|0)==(j|0)){break m}while(1){c=c-24|0;J[c>>2]=2040;b=b-24|0;J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[b+16>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;N[c+20>>2]=N[b+20>>2];if((b|0)!=(j|0)){continue}break}J[a+44>>2]=d;d=J[a+40>>2];J[a+40>>2]=g;b=J[a+36>>2];J[a+36>>2]=c;if((b|0)==(d|0)){break l}while(1){d=d-24|0;ka[J[J[d>>2]>>2]](d)|0;if((b|0)!=(d|0)){continue}break}break l}Ia();C()}Ya();C()}Ia();C()}J[a+44>>2]=d;J[a+40>>2]=g;J[a+36>>2]=c}if(b){hl(b)}}b=e+32|0;c=Za(b,i,o);J[e>>2]=c;J[e+24>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;Na(b,i,e+16|0,c);b=J[e+16>>2];if(b){J[e+20>>2]=b;hl(b)}b=J[a+64>>2];p:{if(b>>>0>2]){c=J[e>>2];J[e>>2]=0;J[b>>2]=c;J[a+64>>2]=b+4;break p}c=0;q:{r:{s:{d=J[a+60>>2];g=J[a+64>>2]-d>>2;b=g+1|0;if(b>>>0<1073741824){d=J[a+68>>2]-d|0;i=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?i:b;if(d){if(d>>>0>=1073741824){break s}c=pl(d<<2)}i=J[e>>2];J[e>>2]=0;b=(g<<2)+c|0;J[b>>2]=i;d=(d<<2)+c|0;g=b+4|0;c=J[a+64>>2];i=J[a+60>>2];if((c|0)==(i|0)){break r}while(1){c=c-4|0;f=J[c>>2];J[c>>2]=0;b=b-4|0;J[b>>2]=f;if((c|0)!=(i|0)){continue}break}J[a+68>>2]=d;d=J[a+64>>2];J[a+64>>2]=g;c=J[a+60>>2];J[a+60>>2]=b;if((c|0)==(d|0)){break q}while(1){d=d-4|0;b=J[d>>2];J[d>>2]=0;if(b){Kb(b)}if((c|0)!=(d|0)){continue}break}break q}Ia();C()}Ya();C()}J[a+68>>2]=d;J[a+64>>2]=g;J[a+60>>2]=b}if(c){hl(c)}}b=J[e>>2];J[e>>2]=0;if(b){Kb(b)}J[e+32>>2]=2040;b=J[e+40>>2];if(!b){break b}J[e+44>>2]=b;hl(b);break b}J[e+32>>2]=2040;a=J[e+40>>2];if(a){J[e+44>>2]=a;hl(a)}b=0;break a}j=0;t:{u:{g=K[i+24|0];v:{if(!g){d=0;break v}b=0;f=g<<2;d=pl(f);c=d;h=g&7;if(h){while(1){J[c>>2]=2147483647;c=c+4|0;b=b+1|0;if((h|0)!=(b|0)){continue}break}}if((g-1&1073741823)>>>0>=7){b=d+f|0;while(1){J[c+24>>2]=2147483647;J[c+28>>2]=2147483647;J[c+16>>2]=2147483647;J[c+20>>2]=2147483647;J[c+8>>2]=2147483647;J[c+12>>2]=2147483647;J[c>>2]=2147483647;J[c+4>>2]=2147483647;c=c+32|0;if((b|0)!=(c|0)){continue}break}}b=K[i+24|0];if(b){break u}}g=0;b=0;break t}b=b<<2;g=pl(b);pk(g,0,b);b=K[i+24|0]}if(!J[i+80>>2]){break c}while(1){Lb(i,j,b<<24>>24,g);b=K[i+24|0];w:{if(!b){break w}c=0;if((b|0)!=1){l=b&254;f=0;while(1){h=c<<2;k=h+d|0;n=J[g+h>>2];if((n|0)>2]){J[k>>2]=n}h=h|4;k=h+d|0;h=J[g+h>>2];if(J[k>>2]>(h|0)){J[k>>2]=h}c=c+2|0;f=f+2|0;if((l|0)!=(f|0)){continue}break}}if(!(b&1)){break w}c=c<<2;f=c+d|0;c=J[c+g>>2];if(J[f>>2]<=(c|0)){break w}J[f>>2]=c}j=j+1|0;if(j>>>0>2]){continue}break}break c}Ia();C()}c=0;x:{if(!b){break x}y:{while(1){z:{k=(c<<2)+d|0;b=J[a+52>>2];A:{if((b|0)!=J[a+56>>2]){J[b>>2]=J[k>>2];J[a+52>>2]=b+4;break A}h=b;b=J[a+48>>2];f=h-b|0;l=f>>2;j=l+1|0;if(j>>>0>=1073741824){break z}h=f>>>1|0;j=f>>>0>=2147483644?1073741823:j>>>0>>0?h:j;if(j){if(j>>>0>=1073741824){break y}h=pl(j<<2)}else{h=0}l=h+(l<<2)|0;J[l>>2]=J[k>>2];f=ok(h,b,f);J[a+56>>2]=f+(j<<2);J[a+52>>2]=l+4;J[a+48>>2]=f;if(!b){break A}hl(b)}c=c+1|0;if(c>>>0>2];if(m>>>0>2]-c>>2>>>0){continue}break}}fa=e- -64|0;return b|0}function Kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=fa-48|0;fa=i;h=J[a+4>>2];e=J[a+12>>2];J[i+40>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;l=J[J[J[h+4>>2]+8>>2]+(e<<2)>>2];d=i+8|0;if((b|0)==-1){b=ve(e,h)}a:{if((b|0)==-2){break a}if((ka[J[J[h>>2]+8>>2]](h)|0)==1){j=fa-32|0;fa=j;k=J[J[J[h+4>>2]+8>>2]+(e<<2)>>2];b:{c:{d:{if((ka[J[J[h>>2]+8>>2]](h)|0)!=1|b-1>>>0>5){break d}f=ka[J[J[h>>2]+52>>2]](h)|0;g=ka[J[J[h>>2]+60>>2]](h,e)|0;if(!f|!g){break d}c=ka[J[J[h>>2]+56>>2]](h,e)|0;if(c){a=J[h+56>>2];J[j+20>>2]=c;J[j+16>>2]=a;J[j+28>>2]=g;J[j+24>>2]=g+12;e=j+16|0;a=0;e:{f:{switch(b-1|0){case 0:b=pl(60);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=pl(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b>>2]=2756;a=b;break e;case 3:b=pl(168);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=pl(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=3520;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;J[a+160>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;break e;case 4:b=pl(104);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=pl(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b+84>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b>>2]=3768;a=J[e+4>>2];J[b+88>>2]=J[e>>2];J[b+92>>2]=a;a=J[e+12>>2];J[b+96>>2]=J[e+8>>2];J[b+100>>2]=a;a=b;break e;case 5:break f;default:break e}}a=pl(144);J[a+4>>2]=k;J[a>>2]=3464;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;g:{h:{c=J[d+28>>2];b=J[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break h}b=pl(c);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(c&-4)+b;c=J[d+24>>2];f=J[d+28>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=3408;b=J[e+4>>2];J[a+44>>2]=J[e>>2];J[a+48>>2]=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=4632;J[a>>2]=4004;b=J[e+4>>2];J[a+72>>2]=J[e>>2];J[a+76>>2]=b;b=J[e+12>>2];J[a+80>>2]=J[e+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=4240;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;break g}Ia();C()}break e}c=a;break d}a=J[h+56>>2];J[j+20>>2]=f;J[j+16>>2]=a;J[j+28>>2]=g;J[j+24>>2]=g+12;e=j+16|0;a=0;i:{j:{switch(b-1|0){case 0:b=pl(60);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=pl(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b>>2]=4660;a=b;break i;case 3:b=pl(168);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=pl(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=5084;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;J[a+160>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;break i;case 4:b=pl(104);J[b+4>>2]=k;J[b>>2]=3464;a=J[d+4>>2];J[b+8>>2]=J[d>>2];J[b+12>>2]=a;a=J[d+12>>2];J[b+16>>2]=J[d+8>>2];J[b+20>>2]=a;a=J[d+20>>2];J[b+24>>2]=J[d+16>>2];J[b+28>>2]=a;J[b+40>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;a=J[d+24>>2];g=J[d+28>>2];if((a|0)!=(g|0)){f=g-a|0;if((f|0)<0){break c}c=pl(f);J[b+32>>2]=c;J[b+40>>2]=(f&-4)+c;while(1){J[c>>2]=J[a>>2];c=c+4|0;a=a+4|0;if((g|0)!=(a|0)){continue}break}J[b+36>>2]=c}a=J[e+4>>2];J[b+44>>2]=J[e>>2];J[b+48>>2]=a;a=J[e+12>>2];J[b+52>>2]=J[e+8>>2];J[b+56>>2]=a;J[b+84>>2]=0;J[b+76>>2]=0;J[b+80>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b>>2]=5320;a=J[e+4>>2];J[b+88>>2]=J[e>>2];J[b+92>>2]=a;a=J[e+12>>2];J[b+96>>2]=J[e+8>>2];J[b+100>>2]=a;a=b;break i;case 5:break j;default:break i}}a=pl(144);J[a+4>>2]=k;J[a>>2]=3464;b=J[d+4>>2];J[a+8>>2]=J[d>>2];J[a+12>>2]=b;b=J[d+12>>2];J[a+16>>2]=J[d+8>>2];J[a+20>>2]=b;b=J[d+20>>2];J[a+24>>2]=J[d+16>>2];J[a+28>>2]=b;J[a+40>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;k:{l:{c=J[d+28>>2];b=J[d+24>>2];if((c|0)!=(b|0)){c=c-b|0;if((c|0)<0){break l}b=pl(c);J[a+36>>2]=b;J[a+32>>2]=b;J[a+40>>2]=(c&-4)+b;c=J[d+24>>2];f=J[d+28>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}J[a+36>>2]=b}J[a>>2]=5028;b=J[e+4>>2];J[a+44>>2]=J[e>>2];J[a+48>>2]=b;b=J[e+12>>2];J[a+52>>2]=J[e+8>>2];J[a+56>>2]=b;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=0;J[a+60>>2]=6128;J[a>>2]=5544;b=J[e+4>>2];J[a+72>>2]=J[e>>2];J[a+76>>2]=b;b=J[e+12>>2];J[a+80>>2]=J[e+8>>2];J[a+84>>2]=b;J[a+104>>2]=1065353216;J[a+108>>2]=-1;J[a+96>>2]=-1;J[a+100>>2]=-1;J[a+88>>2]=1;J[a+92>>2]=-1;J[a+60>>2]=5764;J[a+112>>2]=0;J[a+116>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;break k}Ia();C()}break i}c=a}fa=j+32|0;break b}Ia();C()}if(c){break a}}c=pl(44);J[c+4>>2]=l;J[c>>2]=3464;a=J[d+4>>2];J[c+8>>2]=J[d>>2];J[c+12>>2]=a;a=J[d+12>>2];J[c+16>>2]=J[d+8>>2];J[c+20>>2]=a;a=J[d+20>>2];J[c+24>>2]=J[d+16>>2];J[c+28>>2]=a;J[c+40>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;m:{a=J[d+24>>2];l=J[d+28>>2];if((a|0)!=(l|0)){f=l-a|0;if((f|0)<0){break m}b=pl(f);J[c+32>>2]=b;J[c+40>>2]=(f&-4)+b;while(1){J[b>>2]=J[a>>2];b=b+4|0;a=a+4|0;if((l|0)!=(a|0)){continue}break}J[c+36>>2]=b}J[c>>2]=6156;break a}Ia();C()}a=J[i+32>>2];if(a){J[i+36>>2]=a;hl(a)}fa=i+48|0;return c|0}function Wk(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,N=0,O=0,P=0;k=fa-336|0;fa=k;n=h;p=i&65535;o=d;m=e&65535;u=(e^i)&-2147483648;s=i>>>16&32767;q=e>>>16&32767;a:{b:{if(s-32767>>>0>4294934529&q-32767>>>0>=4294934530){break b}j=e&2147483647;if(!(!d&(j|0)==2147418112?!(b|c):j>>>0<2147418112)){r=d;u=e|32768;break a}e=i&2147483647;if(!(!h&(e|0)==2147418112?!(f|g):e>>>0<2147418112)){r=h;u=i|32768;b=f;c=g;break a}if(!(b|d|(j^2147418112|c))){if(!(f|h|(e^2147418112|g))){b=0;c=0;u=2147450880;break a}u=u|2147418112;b=0;c=0;break a}if(!(f|h|(e^2147418112|g))){b=0;c=0;break a}if(!(b|d|(c|j))){b=!(f|h|(e|g));r=b?0:r;u=b?2147450880:u;b=0;c=0;break a}if(!(f|h|(e|g))){u=u|2147418112;b=0;c=0;break a}if((j|0)==65535|j>>>0<65535){d=!(m|o);i=d;j=d?b:o;d=d<<6;h=d;i=S(i?c:m);d=d+((i|0)==32?S(j)+32|0:i)|0;Tk(k+320|0,b,c,o,m,d-15|0);v=16-d|0;o=J[k+328>>2];m=J[k+332>>2];c=J[k+324>>2];b=J[k+320>>2]}if(e>>>0>65535){break b}d=!(n|p);h=d;i=d?f:n;d=d<<6;e=d;h=S(h?g:p);d=d+((h|0)==32?S(i)+32|0:h)|0;Tk(k+304|0,f,g,n,p,d-15|0);v=(d+v|0)-16|0;n=J[k+312>>2];p=J[k+316>>2];f=J[k+304>>2];g=J[k+308>>2]}e=p|65536;A=e;B=n;d=n;j=e<<15|d>>>17;e=d<<15|g>>>17;d=e;i=0-d|0;h=j;j=1963258675-(j+((d|0)!=0)|0)|0;al(k+288|0,d,h,0,0,i,j,0,0);d=J[k+296>>2];al(k+272|0,0-d|0,0-(J[k+300>>2]+((d|0)!=0)|0)|0,0,0,i,j,0,0);d=J[k+280>>2];i=d<<1|J[k+276>>2]>>>31;d=J[k+284>>2]<<1|d>>>31;al(k+256|0,i,d,0,0,e,h,0,0);j=J[k+264>>2];al(k+240|0,i,d,0,0,0-j|0,0-(J[k+268>>2]+((j|0)!=0)|0)|0,0,0);i=J[k+248>>2];j=i<<1|J[k+244>>2]>>>31;d=J[k+252>>2]<<1|i>>>31;al(k+224|0,j,d,0,0,e,h,0,0);i=J[k+232>>2];al(k+208|0,j,d,0,0,0-i|0,0-(J[k+236>>2]+((i|0)!=0)|0)|0,0,0);d=J[k+216>>2];i=d<<1|J[k+212>>2]>>>31;d=J[k+220>>2]<<1|d>>>31;al(k+192|0,i,d,0,0,e,h,0,0);j=J[k+200>>2];al(k+176|0,i,d,0,0,0-j|0,0-(J[k+204>>2]+((j|0)!=0)|0)|0,0,0);i=e;e=J[k+184>>2];d=h;n=e<<1|J[k+180>>2]>>>31;h=n-1|0;e=(J[k+188>>2]<<1|e>>>31)-!n|0;al(k+160|0,i,d,0,0,h,e,0,0);d=h;al(k+144|0,f<<15,g<<15|f>>>17,0,0,d,e,0,0);t=k+112|0;y=J[k+168>>2];h=J[k+172>>2];n=J[k+160>>2];i=J[k+152>>2];l=n+i|0;p=J[k+164>>2];j=p+J[k+156>>2]|0;j=i>>>0>l>>>0?j+1|0:j;i=j;j=(p|0)==(j|0)&l>>>0>>0|j>>>0

>>0;p=j+y|0;j=j>>>0>p>>>0?h+1|0:h;n=!i&l>>>0>1|(i|0)!=0;h=n+p|0;j=n>>>0>h>>>0?j+1|0:j;al(t,d,e,0,0,0-h|0,0-(((h|0)!=0)+j|0)|0,0,0);al(k+128|0,1-l|0,0-((l>>>0>1)+i|0)|0,0,0,d,e,0,0);H=(q-s|0)+v|0;e=J[k+116>>2];t=e;d=J[k+112>>2];j=e<<1|d>>>31;n=d<<1;q=j;d=j;h=J[k+140>>2];z=h;e=J[k+136>>2];j=h<<1|e>>>31;i=e<<1|J[k+132>>2]>>>31;h=i+n|0;d=d+j|0;d=h>>>0>>0?d+1|0:d;e=d;d=d-(h>>>0<13927)|0;x=d;y=d;l=0;j=m|65536;I=j;K=o;d=o;j=j<<1|d>>>31;N=d<<1;O=j;D=j;d=em(x,l,j,0);j=ja;E=d;w=j;v=b<<1;d=c<<1|b>>>31;s=d;j=0;p=j;i=h-13927|0;x=(e|0)==(x|0)&i>>>0>>0|e>>>0>x>>>0;e=(e|0)==(q|0)&h>>>0>>0|e>>>0>>0;d=J[k+120>>2];h=J[k+124>>2]<<1|d>>>31;d=d<<1|t>>>31;j=h;l=z>>>31|0;d=l+d|0;j=d>>>0>>0?j+1|0:j;h=d;d=d+e|0;l=h>>>0>d>>>0?j+1|0:j;e=d;d=d+x|0;l=e>>>0>d>>>0?l+1|0:l;e=d-1|0;x=l-!d|0;q=0;j=em(s,p,x,q);d=j+E|0;h=ja+w|0;h=d>>>0>>0?h+1|0:h;t=(w|0)==(h|0)&d>>>0>>0|h>>>0>>0;j=0;z=e;L=c>>>31|0;C=L|o<<1;w=0;e=em(e,j,C,w);o=e+d|0;j=ja+h|0;l=0;j=e>>>0>o>>>0?j+1|0:j;n=j;d=(j|0)==(h|0)&d>>>0>o>>>0|h>>>0>j>>>0;e=d;d=d+t|0;l=e>>>0>d>>>0?1:l;e=em(D,p,x,q);d=e+d|0;j=ja+l|0;t=d;d=d>>>0>>0?j+1|0:j;e=em(D,p,z,w);m=ja;h=e;e=em(C,w,x,q);l=h+e|0;j=ja+m|0;j=e>>>0>l>>>0?j+1|0:j;e=j;j=(m|0)==(j|0)&h>>>0>l>>>0|j>>>0>>0;m=t+e|0;d=d+j|0;d=m>>>0>>0?d+1|0:d;t=m;m=d;e=0;d=e+o|0;j=l+n|0;j=d>>>0>>0?j+1|0:j;e=j;h=(j|0)==(n|0)&d>>>0>>0|j>>>0>>0;j=m;l=h;h=h+t|0;j=l>>>0>h>>>0?j+1|0:j;F=h;l=j;t=d;m=d;o=e;E=i;d=em(i,0,C,w);h=ja;e=d;i=em(y,r,s,r);d=d+i|0;j=ja+h|0;j=d>>>0>>0?j+1|0:j;i=(h|0)==(j|0)&d>>>0>>0|h>>>0>j>>>0;h=j;G=v&-2;e=em(z,w,G,0);n=e+d|0;j=ja+j|0;j=e>>>0>n>>>0?j+1|0:j;e=j;d=(j|0)==(h|0)&d>>>0>n>>>0|h>>>0>j>>>0;h=0;i=d+i|0;d=(i>>>0>>0?1:h)+o|0;j=l;m=i+m|0;d=m>>>0>>0?d+1|0:d;i=d;d=(d|0)==(o|0)&m>>>0>>0|d>>>0>>0;h=d;d=d+F|0;j=h>>>0>d>>>0?j+1|0:j;P=d;t=j;d=em(D,p,E,r);F=ja;D=d;h=em(x,q,G,r);d=d+h|0;j=ja+F|0;o=d;p=em(y,r,C,w);l=d+p|0;h=d>>>0>>0?j+1|0:j;d=h+ja|0;d=l>>>0

>>0?d+1|0:d;q=l;j=em(s,r,z,w);p=l+j|0;l=ja+d|0;l=j>>>0>p>>>0?l+1|0:l;z=0;C=(d|0)==(l|0)&p>>>0>>0|d>>>0>l>>>0;j=(h|0)==(F|0)&o>>>0>>0|h>>>0>>0;d=(d|0)==(h|0)&o>>>0>q>>>0|d>>>0>>0;d=d+j|0;d=d+C|0;h=l;q=h+m|0;j=(d|z)+i|0;j=h>>>0>q>>>0?j+1|0:j;o=j;d=(i|0)==(j|0)&m>>>0>q>>>0|i>>>0>j>>>0;j=t;h=d;d=d+P|0;j=h>>>0>d>>>0?j+1|0:j;z=d;i=j;d=em(y,r,G,r);y=ja;m=d;h=em(s,r,E,r);d=d+h|0;j=ja+y|0;j=d>>>0>>0?j+1|0:j;t=0;h=(j|0)==(y|0)&d>>>0>>0|j>>>0>>0;m=j;d=j+n|0;j=(h|t)+e|0;j=d>>>0>>0?j+1|0:j;h=j;m=(e|0)==(j|0)&d>>>0>>0|e>>>0>j>>>0;j=p;p=0;n=p+d|0;l=h+j|0;j=0;l=n>>>0

>>0?l+1|0:l;d=(h|0)==(l|0)&d>>>0>n>>>0|h>>>0>l>>>0;e=d;d=d+m|0;j=(e>>>0>d>>>0?1:j)+o|0;l=i;e=d;d=d+q|0;j=e>>>0>d>>>0?j+1|0:j;e=j;h=(o|0)==(j|0)&d>>>0>>0|j>>>0>>0;i=h;h=h+z|0;l=i>>>0>h>>>0?l+1|0:l;i=l;c:{if((l|0)==131071|l>>>0<131071){K=N|L;I=w|O;al(k+80|0,d,e,h,i,f,g,B,A);l=J[k+84>>2];p=l;j=b<<17;n=0;m=J[k+88>>2];c=n-m|0;b=J[k+80>>2];l=(l|b)!=0;o=c-l|0;m=(j-(J[k+92>>2]+(m>>>0>n>>>0)|0)|0)-(c>>>0>>0)|0;n=0-b|0;p=0-(((b|0)!=0)+p|0)|0;b=H+16382|0;break c}d=(e&1)<<31|d>>>1;e=h<<31|e>>>1;h=(i&1)<<31|h>>>1;i=i>>>1|0;al(k+96|0,d,e,h,i,f,g,B,A);o=J[k+100>>2];s=o;v=J[k+104>>2];n=0-v|0;l=J[k+96>>2];m=(o|l)!=0;o=n-m|0;m=((b<<16)-(J[k+108>>2]+(p>>>0>>0)|0)|0)-(m>>>0>n>>>0)|0;n=0-l|0;p=0-(((l|0)!=0)+s|0)|0;v=b;s=c;b=H+16383|0}if((b|0)>=32767){u=u|2147418112;b=0;c=0;break a}d:{if((b|0)>0){l=m<<1|o>>>31;o=o<<1|p>>>31;m=l;v=h;s=i&65535|b<<16;l=p<<1|n>>>31;i=n<<1;break d}if((b|0)<=-113){b=0;c=0;break a}_k(k- -64|0,d,e,h,i,1-b|0);Tk(k+48|0,v,s,K,I,b+112|0);d=J[k+64>>2];e=J[k+68>>2];v=J[k+72>>2];s=J[k+76>>2];al(k+32|0,f,g,B,A,d,e,v,s);b=J[k+40>>2];c=J[k+56>>2];l=J[k+36>>2];o=b<<1|l>>>31;n=c-o|0;m=J[k+60>>2]-((J[k+44>>2]<<1|b>>>31)+(c>>>0>>0)|0)|0;b=J[k+32>>2];h=l<<1|b>>>31;j=b<<1;i=J[k+52>>2];c=J[k+48>>2];b=(h|0)==(i|0)&j>>>0>c>>>0|h>>>0>i>>>0;o=n-b|0;m=m-(b>>>0>n>>>0)|0;l=i-((c>>>0>>0)+h|0)|0;i=c-j|0}b=i;al(k+16|0,f,g,B,A,3,0,0,0);al(k,f,g,B,A,5,0,0,0);c=0;h=l+c|0;j=d&1;b=b+j|0;h=i>>>0>b>>>0?h+1|0:h;i=b;g=(g|0)==(h|0)&b>>>0>f>>>0|g>>>0>>0;l=m;b=(c|0)==(h|0)&b>>>0>>0|c>>>0>h>>>0;f=b+o|0;l=b>>>0>f>>>0?l+1|0:l;j=e;b=(l|0)==(A|0);b=b&(f|0)==(B|0)?g:b&f>>>0>B>>>0|l>>>0>A>>>0;c=b;b=b+d|0;j=c>>>0>b>>>0?j+1|0:j;c=j;d=(e|0)==(j|0)&b>>>0>>0|e>>>0>j>>>0;j=s;e=d;d=d+v|0;j=e>>>0>d>>>0?j+1|0:j;g=d;e=J[k+20>>2];m=(e|0)==(h|0)&M[k+16>>2]>>0|e>>>0>>0;e=J[k+28>>2];d=J[k+24>>2];e=j>>>0<2147418112&((d|0)==(f|0)&(e|0)==(l|0)?m:(e|0)==(l|0)&d>>>0>>0|e>>>0>>0);d=c;m=e;e=b+e|0;d=m>>>0>e>>>0?d+1|0:d;b=(c|0)==(d|0)&b>>>0>e>>>0|c>>>0>d>>>0;c=b;b=b+g|0;j=c>>>0>b>>>0?j+1|0:j;g=b;c=J[k+4>>2];h=(c|0)==(h|0)&M[k>>2]>>0|c>>>0>>0;c=J[k+12>>2];b=J[k+8>>2];b=j>>>0<2147418112&((b|0)==(f|0)&(c|0)==(l|0)?h:(c|0)==(l|0)&b>>>0>>0|c>>>0>>0);c=b;b=b+e|0;l=c>>>0>b>>>0?d+1|0:d;c=l;e=(d|0)==(l|0)&b>>>0>>0|d>>>0>l>>>0;d=j;f=e;e=e+g|0;d=f>>>0>e>>>0?d+1|0:d;r=e|r;u=d|u}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=r;J[a+12>>2]=u;fa=k+336|0}function Ub(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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,K=0,L=0,N=0,O=0,Q=0;s=fa-32|0;fa=s;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;t=J[e+20>>2];if(!J[e+16>>2]&(t|0)<=0|(t|0)<0){d=a+4|0;Ba(e,J[e+4>>2],a,d);t=J[e+20>>2];if(!J[e+16>>2]&(t|0)<=0|(t|0)<0){Ba(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){F=a+12|0;Ce(F);G=a+44|0;d=G;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];H=a- -64|0;d=H;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];I=a+84|0;d=I;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[s+24>>2]=J[b+8>>2];d=J[b+4>>2];J[s+16>>2]=J[b>>2];J[s+20>>2]=d;J[s+8>>2]=J[c+8>>2];b=J[c+4>>2];J[s>>2]=J[c>>2];J[s+4>>2]=b;c=0;b=0;f=fa-32|0;fa=f;o=a;i=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(i){if(i>>>0>=1073741824){break b}a=i<<2;c=pl(a);J[f+8>>2]=c;b=a+c|0;J[f+16>>2]=b;pk(c,0,a);J[f+12>>2]=b}a=J[o+140>>2];d=J[a>>2];if(d){J[a+4>>2]=d;hl(d);i=J[o+8>>2];c=J[f+8>>2];b=J[f+12>>2]}J[a+4>>2]=b;J[a>>2]=c;J[a+8>>2]=J[f+16>>2];c=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b=0;c:{if(i){if(i>>>0>=1073741824){break c}a=i<<2;b=pl(a);J[f+8>>2]=b;c=a+b|0;J[f+16>>2]=c;pk(b,0,a);J[f+12>>2]=c}a=J[o+152>>2];d=J[a>>2];if(d){J[a+4>>2]=d;hl(d);c=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=c;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];t=J[s+20>>2];z=J[s+24>>2];d=J[s+4>>2];B=J[s+8>>2];b=J[s>>2];c=J[s+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;dc(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;v=(a>>>0)/113|0;a=J[J[f+12>>2]+(v<<2)>>2]+P(a-P(v,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=B;J[a+12>>2]=b;J[a+4>>2]=t;J[a+8>>2]=z;J[a>>2]=c;i=J[f+28>>2]+1|0;J[f+28>>2]=i;if(i){a=z;L=a&-4;K=a&3;N=o+44|0;m=o+12|0;O=o+84|0;Q=a>>>0<4;while(1){b=J[f+12>>2];h=J[f+24>>2];g=i-1|0;a=h+g|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;E=J[a+32>>2];c=J[a+24>>2];v=J[a+12>>2];a=J[a>>2];J[f+28>>2]=g;g=J[f+16>>2];if((((b|0)!=(g|0)?P(g-b>>2,113)-1|0:0)-(h+i|0)|0)+1>>>0>=226){hl(J[g-4>>2]);J[f+16>>2]=J[f+16>>2]-4}g=J[o>>2];i=(c|0)!=(J[o+8>>2]-1|0)?c+1|0:0;q=i<<2;D=P(E,12);h=D+J[o+152>>2]|0;c=J[q+J[h>>2]>>2];d:{e:{if((g|0)==(c|0)){break e}f:{g:{j=v-a|0;if(j>>>0<=2){g=J[o+128>>2];J[g>>2]=i;c=1;b=J[o+8>>2];if(b>>>0>1){break g}break f}h=J[o+140>>2];b=h+D|0;n=h;h=D+12|0;ec(n+h|0,J[b>>2],J[b+4>>2]);b=J[h+J[o+140>>2]>>2]+q|0;g=J[b>>2]+(1<>2]=g;b=a;h:{if((a|0)==(v|0)){break h}y=J[t+24>>2];n=y+q|0;b=v;c=a;if(!z){if(g>>>0>M[n>>2]){break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}if(g>>>0<=M[(J[d+24>>2]+q|0)+(P(b,B)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(b|0)){continue}break}break h}while(1){h=P(c,z)<<2;if(g>>>0>M[h+n>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}r=J[d+24>>2]+(P(b,B)<<2)|0;if(g>>>0<=M[r+q>>2]){continue}break}w=h+y|0;u=0;h=0;p=0;if(!Q){while(1){k=h<<2;l=k+w|0;x=J[l>>2];A=l;l=k+r|0;J[A>>2]=J[l>>2];J[l>>2]=x;l=k|4;x=l+w|0;A=J[x>>2];l=l+r|0;J[x>>2]=J[l>>2];J[l>>2]=A;l=k|8;x=l+w|0;A=J[x>>2];l=l+r|0;J[x>>2]=J[l>>2];J[l>>2]=A;k=k|12;l=k+w|0;x=J[l>>2];k=k+r|0;J[l>>2]=J[k>>2];J[k>>2]=x;h=h+4|0;p=p+4|0;if((L|0)!=(p|0)){continue}break}}if(K){while(1){k=h<<2;p=k+w|0;l=J[p>>2];k=k+r|0;J[p>>2]=J[k>>2];J[k>>2]=l;h=h+1|0;u=u+1|0;if((K|0)!=(u|0)){continue}break}}c=c+1|0;if((c|0)!=(b|0)){continue}break}}r=b-a|0;w=v-b|0;if((r|0)!=(w|0)){fc(O,r>>>0>>0)}c=J[m>>2];n=J[c+8>>2];g=J[c+12>>2];h=(j>>>1|0)-(r>>>0>>0?r:w)|0;h=h<<24|(h&65280)<<8|(h>>>8&65280|h>>>24);h=h>>>4&252645135|(h&252645135)<<4;h=h>>>2&858993459|(h&858993459)<<2;l=h>>>1&1431655765|(h&1431655765)<<1;h=S(j)^31;p=32-h|0;k=l>>>p|0;j=hm(k);n=j+n|0;g=j>>>0>n>>>0?g+1|0:g;J[c+8>>2]=n;J[c+12>>2]=g;g=h-j|0;n=g;j=g+J[c>>2]|0;g=J[c+4>>2]+(g>>31)|0;J[c>>2]=j;J[c+4>>2]=j>>>0>>0?g+1|0:g;i:{j:{k:{l:{c=J[m+28>>2];u=32-c|0;m:{if((u|0)>=(h|0)){g=c+h|0;J[m+28>>2]=g;n=J[m+24>>2]&(-1>>>p<>2]=n;if((g|0)!=32){break i}c=J[m+16>>2];if((c|0)!=J[m+20>>2]){J[c>>2]=n;J[m+16>>2]=c+4;h=0;c=0;break m}g=c;c=J[m+12>>2];k=g-c|0;u=k>>2;j=u+1|0;if(j>>>0>=1073741824){break l}h=0;g=0;p=k>>>1|0;j=k>>>0>=2147483644?1073741823:j>>>0

>>0?p:j;if(j){if(j>>>0>=1073741824){break k}g=pl(j<<2)}u=(u<<2)+g|0;J[u>>2]=n;g=ok(g,c,k);J[m+20>>2]=g+(j<<2);J[m+16>>2]=u+4;J[m+12>>2]=g;if(!c){c=0;break m}hl(c);c=0;break m}p=J[m+24>>2]&(-1<>2]=p;c=J[m+16>>2];n:{if((c|0)!=J[m+20>>2]){J[c>>2]=p;J[m+16>>2]=c+4;break n}g=c;c=J[m+12>>2];g=g-c|0;y=g>>2;j=y+1|0;if(j>>>0>=1073741824){break j}n=g>>>1|0;j=g>>>0>=2147483644?1073741823:j>>>0>>0?n:j;if(j){if(j>>>0>=1073741824){break k}n=pl(j<<2)}else{n=0}y=n+(y<<2)|0;J[y>>2]=p;g=ok(n,c,g);J[m+20>>2]=g+(j<<2);J[m+16>>2]=y+4;J[m+12>>2]=g;if(!c){break n}hl(c)}c=h-u|0;h=-1>>>32-c&k>>>u}J[m+28>>2]=c;J[m+24>>2]=h;break i}Ia();C()}Ya();C()}Ia();C()}c=J[o+152>>2];g=c+D|0;h=J[g>>2];q=h+q|0;J[q>>2]=J[q>>2]+1;q=E+1|0;ec(c+P(q,12)|0,h,J[g+4>>2]);if((a|0)!=(b|0)){h=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];g=J[f+12>>2];if((h|0)==(((c|0)!=(g|0)?P(c-g>>2,113)-1|0:0)|0)){dc(f+8|0);h=J[f+24>>2]+J[f+28>>2]|0;g=J[f+12>>2]}c=(h>>>0)/113|0;c=J[g+(c<<2)>>2]+P(h-P(c,113)|0,36)|0;J[c+32>>2]=E;J[c+28>>2]=r;J[c+24>>2]=i;J[c+16>>2]=t;J[c+12>>2]=b;J[c+4>>2]=t;J[c+8>>2]=z;J[c>>2]=a;J[c+20>>2]=z;J[f+28>>2]=J[f+28>>2]+1}if((b|0)==(v|0)){break e}g=J[f+28>>2]+J[f+24>>2]|0;a=J[f+16>>2];c=J[f+12>>2];if((g|0)==(((a|0)!=(c|0)?P(a-c>>2,113)-1|0:0)|0)){dc(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}a=(g>>>0)/113|0;a=J[c+(a<<2)>>2]+P(g-P(a,113)|0,36)|0;J[a+32>>2]=q;J[a+28>>2]=w;J[a+24>>2]=i;J[a+16>>2]=d;J[a+20>>2]=B;J[a+12>>2]=v;J[a+4>>2]=t;J[a>>2]=b;J[a+8>>2]=z;i=J[f+28>>2]+1|0;J[f+28>>2]=i;break d}while(1){i=(b-1|0)!=(i|0)?i+1|0:0;J[g+(c<<2)>>2]=i;b=J[o+8>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}if(!b|(a|0)==(v|0)){break e}g=0;c=1;while(1){i=0;o:{if(!c){c=0;break o}v=J[t+24>>2]+(P(J[t+4>>2],a+g|0)<<2)|0;while(1){c=J[o>>2];q=J[J[o+128>>2]+(i<<2)>>2]<<2;r=J[q+J[h>>2]>>2];if((c|0)!=(r|0)){gc(N,c-r|0,J[v+q>>2]);b=J[o+8>>2]}c=b;i=i+1|0;if(c>>>0>i>>>0){continue}break}}g=g+1|0;if((j|0)!=(g|0)){continue}break}}i=J[f+28>>2]}if(i){continue}break}}J[f+28>>2]=0;a=J[f+16>>2];i=J[f+12>>2];b=a-i|0;if(b>>>0>=9){while(1){hl(J[i>>2]);i=J[f+12>>2]+4|0;J[f+12>>2]=i;a=J[f+16>>2];b=a-i|0;if(b>>>0>8){continue}break}}c=56;p:{switch((b>>>2|0)-1|0){case 1:c=113;case 0:J[f+24>>2]=c;break;default:break p}}q:{if((a|0)==(i|0)){break q}while(1){hl(J[i>>2]);i=i+4|0;if((i|0)!=(a|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break q}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){hl(a)}fa=f+32|0;break a}Ia();C()}Ia();C()}Ee(F,e);ze(G,e);ze(H,e);ze(I,e)}fa=s+32|0;return 1}function Pk(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,B=0,C=0;m=fa-560|0;fa=m;J[m+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<0){s=1;y=1173;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){s=1;y=1176;break a}s=e&1;y=s?1179:1174;z=!s}b:{if((g&2146435072)==2146435072){g=s+3|0;Nk(a,32,c,g,e&-65537);Jk(a,y,s);d=f&32;Jk(a,b!=b?d?1434:1643:d?1506:1647,3);Nk(a,32,c,g,e^8192);n=(c|0)<(g|0)?g:c;break b}u=m+16|0;c:{d:{e:{b=Gk(b,m+44|0);b=b+b;if(b!=0){g=J[m+44>>2];J[m+44>>2]=g-1;w=f|32;if((w|0)!=97){break e}break c}w=f|32;if((w|0)==97){break c}k=J[m+44>>2];l=(d|0)<0?6:d;break d}k=g-29|0;J[m+44>>2]=k;b=b*268435456;l=(d|0)<0?6:d}q=(m+48|0)+((k|0)>=0?288:0)|0;h=q;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}J[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((k|0)<=0){d=k;g=h;i=q;break f}i=q;d=k;while(1){o=(d|0)>=29?29:d;g=h-4|0;g:{if(i>>>0>g>>>0){break g}d=0;while(1){j=J[g>>2];x=d;d=o&31;if((o&63)>>>0>=32){n=j<>>32-d;d=j<>>0>x>>>0?j+1|0:j,1e9,0);B=g,C=x-em(d,ja,1e9,0)|0,J[B>>2]=C;g=g-4|0;if(i>>>0<=g>>>0){continue}break}if(!d){break g}i=i-4|0;J[i>>2]=d}while(1){g=h;if(i>>>0>>0){h=g-4|0;if(!J[h>>2]){continue}}break}d=J[m+44>>2]-o|0;J[m+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){t=((l+25>>>0)/9|0)+1|0;p=(w|0)==102;while(1){d=0-d|0;n=(d|0)>=9?9:d;h:{if(g>>>0<=i>>>0){h=J[i>>2];break h}o=1e9>>>n|0;j=-1<>2];J[h>>2]=x+(d>>>n|0);d=P(o,d&j);h=h+4|0;if(h>>>0>>0){continue}break}h=J[i>>2];if(!d){break h}J[g>>2]=d;g=g+4|0}d=n+J[m+44>>2]|0;J[m+44>>2]=d;i=(!h<<2)+i|0;h=p?q:i;g=g-h>>2>(t|0)?h+(t<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=i>>>0){break i}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break i}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=(l-((w|0)!=102?d:0)|0)-((w|0)==103&(l|0)!=0)|0;if((h|0)<(P(g-q>>2,9)-9|0)){o=h+9216|0;j=(o|0)/9|0;k=((((k|0)<0?4:292)+m|0)+(j<<2)|0)-4048|0;h=10;n=o-P(j,9)|0;if((n|0)<=7){while(1){h=P(h,10);n=n+1|0;if((n|0)!=8){continue}break}}o=J[k>>2];t=(o>>>0)/(h>>>0)|0;p=o-P(h,t)|0;j=k+4|0;j:{if(!p&(j|0)==(g|0)){break j}k:{if(!(t&1)){b=9007199254740992;if(!(H[k-4|0]&1)|((h|0)!=1e9|i>>>0>=k>>>0)){break k}}b=9007199254740994}r=(g|0)==(j|0)?1:1.5;j=h>>>1|0;r=j>>>0>p>>>0?.5:(j|0)==(p|0)?r:1.5;if(!(K[y|0]!=45|z)){r=-r;b=-b}j=o-p|0;J[k>>2]=j;if(b+r==b){break j}d=h+j|0;J[k>>2]=d;if(d>>>0>=1e9){while(1){J[k>>2]=0;k=k-4|0;if(k>>>0>>0){i=i-4|0;J[i>>2]=0}d=J[k>>2]+1|0;J[k>>2]=d;if(d>>>0>999999999){continue}break}}d=P(q-i>>2,9);h=10;j=J[i>>2];if(j>>>0<10){break j}while(1){d=d+1|0;h=P(h,10);if(j>>>0>=h>>>0){continue}break}}h=k+4|0;g=g>>>0>h>>>0?h:g}while(1){j=g;o=g>>>0<=i>>>0;if(!o){g=j-4|0;if(!J[g>>2]){continue}}break}l:{if((w|0)!=103){k=e&8;break l}h=l?l:1;g=(h|0)>(d|0)&(d|0)>-5;l=(g?d^-1:-1)+h|0;f=(g?-1:-2)+f|0;k=e&8;if(k){break l}g=-9;m:{if(o){break m}k=J[j-4>>2];if(!k){break m}n=10;g=0;if((k>>>0)%10|0){break m}while(1){h=g;g=g+1|0;n=P(n,10);if(!((k>>>0)%(n>>>0)|0)){continue}break}g=h^-1}h=P(j-q>>2,9);if((f&-33)==70){k=0;g=(g+h|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g;break l}k=0;g=((d+h|0)+g|0)-9|0;g=(g|0)>0?g:0;l=(g|0)>(l|0)?l:g}n=-1;o=k|l;if(((o?2147483645:2147483646)|0)<(l|0)){break b}p=(((o|0)!=0)+l|0)+1|0;h=f&-33;n:{if((h|0)==70){if((p^2147483647)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=Mk((g^d)-g|0,0,u);if((u-g|0)<=1){while(1){g=g-1|0;H[g|0]=48;if((u-g|0)<2){continue}break}}t=g-2|0;H[t|0]=f;H[g-1|0]=(d|0)<0?45:43;g=u-t|0;if((g|0)>(p^2147483647)){break b}}d=g+p|0;if((d|0)>(s^2147483647)){break b}p=d+s|0;Nk(a,32,c,p,e);Jk(a,y,s);Nk(a,48,c,p,e^65536);o:{p:{q:{if((h|0)==70){f=m+16|0;d=f|8;k=f|9;h=i>>>0>q>>>0?q:i;i=h;while(1){g=Mk(J[i>>2],0,k);r:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break r}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break r}if((g|0)!=(k|0)){break r}H[m+24|0]=48;g=d}Jk(a,g,k-g|0);i=i+4|0;if(q>>>0>=i>>>0){continue}break}if(o){Jk(a,1981,1)}if((l|0)<=0|i>>>0>=j>>>0){break q}while(1){g=Mk(J[i>>2],0,k);if(g>>>0>m+16>>>0){while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}}Jk(a,g,(l|0)>=9?9:l);g=l-9|0;i=i+4|0;if(j>>>0<=i>>>0){break p}d=(l|0)>9;l=g;if(d){continue}break}break p}s:{if((l|0)<0){break s}q=i>>>0>>0?j:i+4|0;f=m+16|0;d=f|8;j=f|9;h=i;while(1){g=Mk(J[h>>2],0,j);if((j|0)==(g|0)){H[m+24|0]=48;g=d}t:{if((h|0)!=(i|0)){if(m+16>>>0>=g>>>0){break t}while(1){g=g-1|0;H[g|0]=48;if(m+16>>>0>>0){continue}break}break t}Jk(a,g,1);g=g+1|0;if(!(k|l)){break t}Jk(a,1981,1)}f=j-g|0;Jk(a,g,(f|0)>(l|0)?l:f);l=l-f|0;h=h+4|0;if(q>>>0<=h>>>0){break s}if((l|0)>=0){continue}break}}Nk(a,48,l+18|0,18,0);Jk(a,t,u-t|0);break o}g=l}Nk(a,48,g+9|0,9,0)}Nk(a,32,c,p,e^8192);n=(c|0)<(p|0)?p:c;break b}k=(f<<26>>31&9)+y|0;u:{if(d>>>0>11){break u}g=12-d|0;r=16;while(1){r=r*16;g=g-1|0;if(g){continue}break}if(K[k|0]==45){b=-(r+(-b-r));break u}b=b+r-r}g=J[m+44>>2];h=g>>31;g=Mk((g^h)-h|0,0,u);if((u|0)==(g|0)){H[m+15|0]=48;g=m+15|0}q=s|2;i=f&32;h=J[m+44>>2];l=g-2|0;H[l|0]=f+15;H[g-1|0]=(h|0)<0?45:43;g=e&8;h=m+16|0;while(1){f=h;if(R(b)<2147483648){j=~~b}else{j=-2147483648}H[h|0]=i|K[j+17776|0];b=(b-+(j|0))*16;h=f+1|0;if(!(!((d|0)>0|g)&b==0|(h-(m+16|0)|0)!=1)){H[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}n=-1;g=u-l|0;f=g+q|0;if((2147483645-f|0)<(d|0)){break b}v:{w:{if(!d){break w}i=h-(m+16|0)|0;if((i-2|0)>=(d|0)){break w}d=d+2|0;break v}i=h-(m+16|0)|0;d=i}f=d+f|0;Nk(a,32,c,f,e);Jk(a,k,q);Nk(a,48,c,f,e^65536);Jk(a,m+16|0,i);Nk(a,48,d-i|0,0,0);Jk(a,l,g);Nk(a,32,c,f,e^8192);n=(c|0)<(f|0)?f:c}fa=m+560|0;return n|0}function Sb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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,K=0,L=0,N=0,O=0,Q=0;o=fa-32|0;fa=o;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){d=a+4|0;Ba(e,J[e+4>>2],a,d);p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){Ba(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){B=a+12|0;Zb(B);D=a+1068|0;d=D;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];E=a+1088|0;d=E;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];F=a+1108|0;d=F;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[o+24>>2]=J[b+8>>2];d=J[b+4>>2];J[o+16>>2]=J[b>>2];J[o+20>>2]=d;J[o+8>>2]=J[c+8>>2];b=J[c+4>>2];J[o>>2]=J[c>>2];J[o+4>>2]=b;b=0;f=fa-32|0;fa=f;l=a;h=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(h){if(h>>>0>=1073741824){break b}a=h<<2;b=pl(a);J[f+8>>2]=b;g=a+b|0;J[f+16>>2]=g;pk(b,0,a);J[f+12>>2]=g}a=J[l+1164>>2];c=J[a>>2];if(c){J[a+4>>2]=c;hl(c);h=J[l+8>>2];g=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=g;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];b=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a=0;c:{if(h){if(h>>>0>=1073741824){break c}c=h<<2;a=pl(c);J[f+8>>2]=a;b=a+c|0;J[f+16>>2]=b;pk(a,0,c);J[f+12>>2]=b}c=J[l+1176>>2];d=J[c>>2];if(d){J[c+4>>2]=d;hl(d);b=J[f+12>>2];a=J[f+8>>2]}J[c+4>>2]=b;J[c>>2]=a;J[c+8>>2]=J[f+16>>2];p=J[o+20>>2];u=J[o+24>>2];d=J[o+4>>2];x=J[o+8>>2];b=J[o>>2];c=J[o+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;dc(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;r=(a>>>0)/113|0;a=J[J[f+12>>2]+(r<<2)>>2]+P(a-P(r,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=x;J[a+12>>2]=b;J[a+4>>2]=p;J[a+8>>2]=u;J[a>>2]=c;h=J[f+28>>2]+1|0;J[f+28>>2]=h;if(h){a=u;L=a&-4;G=a&3;N=l+1068|0;H=l+12|0;O=l+1108|0;Q=a>>>0<4;while(1){b=J[f+12>>2];m=J[f+24>>2];j=h-1|0;a=m+j|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;z=J[a+32>>2];g=J[a+24>>2];r=J[a+12>>2];c=J[a>>2];J[f+28>>2]=j;a=J[f+16>>2];if((((a|0)!=(b|0)?P(a-b>>2,113)-1|0:0)-(h+m|0)|0)+1>>>0>=226){hl(J[a-4>>2]);J[f+16>>2]=J[f+16>>2]-4}b=J[l>>2];h=(g|0)!=(J[l+8>>2]-1|0)?g+1|0:0;m=h<<2;y=P(z,12);j=y+J[l+1176>>2]|0;g=J[m+J[j>>2]>>2];d:{e:{if((b|0)==(g|0)){break e}f:{g:{t=r-c|0;if(t>>>0<=2){g=J[l+1152>>2];J[g>>2]=h;b=1;a=J[l+8>>2];if(a>>>0>1){break g}break f}j=J[l+1164>>2];a=j+y|0;i=j;j=y+12|0;ec(i+j|0,J[a>>2],J[a+4>>2]);a=m+J[j+J[l+1164>>2]>>2]|0;j=J[a>>2]+(1<>2]=j;a=c;h:{if((r|0)==(a|0)){break h}I=J[p+24>>2];K=m+I|0;a=r;b=c;if(!u){if(j>>>0>M[K>>2]){break h}while(1){a=a-1|0;if((b|0)==(a|0)){a=b;break h}if(j>>>0<=M[(m+J[d+24>>2]|0)+(P(a,x)<<2)>>2]){continue}b=b+1|0;if((b|0)!=(a|0)){continue}break}break h}while(1){g=P(b,u)<<2;if(j>>>0>M[g+K>>2]){b=b+1|0;if((b|0)!=(a|0)){continue}break h}while(1){a=a-1|0;if((b|0)==(a|0)){a=b;break h}n=J[d+24>>2]+(P(a,x)<<2)|0;if(j>>>0<=M[n+m>>2]){continue}break}q=g+I|0;A=0;g=0;v=0;if(!Q){while(1){k=g<<2;i=k+q|0;s=J[i>>2];w=i;i=k+n|0;J[w>>2]=J[i>>2];J[i>>2]=s;i=k|4;s=i+q|0;w=J[s>>2];i=i+n|0;J[s>>2]=J[i>>2];J[i>>2]=w;i=k|8;s=i+q|0;w=J[s>>2];i=i+n|0;J[s>>2]=J[i>>2];J[i>>2]=w;k=k|12;i=k+q|0;s=J[i>>2];k=k+n|0;J[i>>2]=J[k>>2];J[k>>2]=s;g=g+4|0;v=v+4|0;if((L|0)!=(v|0)){continue}break}}if(G){while(1){k=g<<2;v=k+q|0;i=J[v>>2];k=k+n|0;J[v>>2]=J[k>>2];J[k>>2]=i;g=g+1|0;A=A+1|0;if((A|0)!=(G|0)){continue}break}}b=b+1|0;if((b|0)!=(a|0)){continue}break}}j=a-c|0;n=r-a|0;if((j|0)!=(n|0)){fc(O,j>>>0>>0)}k=z+1|0;b=S(t);q=b^31;g=t>>>1|0;i:{if(j>>>0>>0){if(!q){break i}t=g-j|0;b=1<<30-b;g=0;while(1){De((g<<5)+H|0,(b&t)!=0);b=b>>>1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}break i}if(!q){break i}t=g-n|0;b=1<<30-b;g=0;while(1){De((g<<5)+H|0,(b&t)!=0);b=b>>>1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}}i=m;b=J[l+1176>>2];g=b+y|0;m=J[g>>2];q=i+m|0;J[q>>2]=J[q>>2]+1;ec(b+P(k,12)|0,m,J[g+4>>2]);if((a|0)!=(c|0)){g=J[f+28>>2]+J[f+24>>2]|0;m=J[f+16>>2];b=J[f+12>>2];if((g|0)==(((b|0)!=(m|0)?P(m-b>>2,113)-1|0:0)|0)){dc(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;i=J[f+12>>2]}else{i=b}b=(g>>>0)/113|0;b=J[i+(b<<2)>>2]+P(g-P(b,113)|0,36)|0;J[b+32>>2]=z;J[b+28>>2]=j;J[b+24>>2]=h;J[b+16>>2]=p;J[b+12>>2]=a;J[b+4>>2]=p;J[b+8>>2]=u;J[b>>2]=c;J[b+20>>2]=u;J[f+28>>2]=J[f+28>>2]+1}if((a|0)==(r|0)){break e}g=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];b=J[f+12>>2];if((g|0)==(((b|0)!=(c|0)?P(c-b>>2,113)-1|0:0)|0)){dc(f+8|0);g=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}else{c=b}b=(g>>>0)/113|0;b=J[c+(b<<2)>>2]+P(g-P(b,113)|0,36)|0;J[b+32>>2]=k;J[b+28>>2]=n;J[b+24>>2]=h;J[b+16>>2]=d;J[b+20>>2]=x;J[b+12>>2]=r;J[b+4>>2]=p;J[b>>2]=a;J[b+8>>2]=u;h=J[f+28>>2]+1|0;J[f+28>>2]=h;break d}while(1){h=(a-1|0)!=(h|0)?h+1|0:0;J[g+(b<<2)>>2]=h;a=J[l+8>>2];b=b+1|0;if(a>>>0>b>>>0){continue}break}}g=0;b=a;if((c|0)==(r|0)){break e}while(1){j:{if(!b){b=0;break j}r=J[p+24>>2]+(P(J[p+4>>2],c+g|0)<<2)|0;h=0;while(1){b=J[l>>2];m=J[J[l+1152>>2]+(h<<2)>>2]<<2;n=J[m+J[j>>2]>>2];if((b|0)!=(n|0)){gc(N,b-n|0,J[m+r>>2]);a=J[l+8>>2]}b=a;h=h+1|0;if(h>>>0>>0){continue}break}}g=g+1|0;if((t|0)!=(g|0)){continue}break}}h=J[f+28>>2]}if(h){continue}break}}J[f+28>>2]=0;c=J[f+16>>2];h=J[f+12>>2];a=c-h|0;if(a>>>0>=9){while(1){hl(J[h>>2]);h=J[f+12>>2]+4|0;J[f+12>>2]=h;c=J[f+16>>2];a=c-h|0;if(a>>>0>8){continue}break}}b=56;k:{switch((a>>>2|0)-1|0){case 1:b=113;case 0:J[f+24>>2]=b;break;default:break k}}l:{if((c|0)==(h|0)){break l}while(1){hl(J[h>>2]);h=h+4|0;if((h|0)!=(c|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break l}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){hl(a)}fa=f+32|0;break a}Ia();C()}Ia();C()}_b(B,e);ze(D,e);ze(E,e);ze(F,e)}fa=o+32|0;return 1}function Ik(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=fa-80|0;fa=h;J[h+76>>2]=b;w=h+55|0;r=h+56|0;a:{b:{c:{d:{e:while(1){i=b;if((o^2147483647)<(f|0)){break d}o=f+o|0;f:{g:{h:{f=i;g=K[f|0];if(g){while(1){i:{b=g&255;j:{if(!b){b=f;break j}if((b|0)!=37){break i}g=f;while(1){if(K[g+1|0]!=37){b=g;break j}f=f+1|0;k=K[g+2|0];b=g+2|0;g=b;if((k|0)==37){continue}break}}f=f-i|0;v=o^2147483647;if((f|0)>(v|0)){break d}if(a){Jk(a,i,f)}if(f){continue e}J[h+76>>2]=b;f=b+1|0;p=-1;if(!(K[b+2|0]!=36|H[b+1|0]-48>>>0>=10)){p=H[b+1|0]-48|0;s=1;f=b+3|0}J[h+76>>2]=f;m=0;g=H[f|0];b=g-32|0;k:{if(b>>>0>31){l=f;break k}l=f;b=1<>2]=l;m=b|m;g=H[f+1|0];b=g-32|0;if(b>>>0>=32){break k}f=l;b=1<>>0>=10)){J[((H[l+1|0]<<2)+e|0)-192>>2]=10;g=l+3|0;s=1;b=J[((H[l+1|0]<<3)+d|0)-384>>2];break m}if(s){break h}g=l+1|0;if(!a){J[h+76>>2]=g;s=0;q=0;break l}b=J[c>>2];J[c>>2]=b+4;s=0;b=J[b>>2]}J[h+76>>2]=g;q=b;if((b|0)>=0){break l}q=0-q|0;m=m|8192;break l}q=Kk(h+76|0);if((q|0)<0){break d}g=J[h+76>>2]}f=0;j=-1;n:{if(K[g|0]!=46){b=g;u=0;break n}if(K[g+1|0]==42){o:{if(!(K[g+3|0]!=36|H[g+2|0]-48>>>0>=10)){J[((H[g+2|0]<<2)+e|0)-192>>2]=10;b=g+4|0;j=J[((H[g+2|0]<<3)+d|0)-384>>2];break o}if(s){break h}b=g+2|0;j=0;if(!a){break o}g=J[c>>2];J[c>>2]=g+4;j=J[g>>2]}J[h+76>>2]=b;u=(j^-1)>>>31|0;break n}J[h+76>>2]=g+1;j=Kk(h+76|0);b=J[h+76>>2];u=1}while(1){n=f;l=28;k=b;f=H[b|0];if(f-123>>>0<4294967238){break c}b=k+1|0;f=K[(f+P(n,58)|0)+17247|0];if(f-1>>>0<8){continue}break}J[h+76>>2]=b;p:{q:{if((f|0)!=27){if(!f){break c}if((p|0)>=0){J[(p<<2)+e>>2]=f;g=(p<<3)+d|0;f=J[g+4>>2];J[h+64>>2]=J[g>>2];J[h+68>>2]=f;break q}if(!a){break f}Lk(h- -64|0,f,c);break p}if((p|0)>=0){break c}}f=0;if(!a){continue e}}g=m&-65537;m=m&8192?g:m;p=0;t=1163;l=r;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{f=H[k|0];f=n?(f&15)==3?f&-33:f:f;switch(f-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break G}}H:{switch(f-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break g;default:break H}}if((f|0)==83){break w}break g}g=J[h+64>>2];k=J[h+68>>2];t=1163;break z}f=0;I:{switch(n&255){case 0:J[J[h+64>>2]>>2]=o;continue e;case 1:J[J[h+64>>2]>>2]=o;continue e;case 2:i=J[h+64>>2];J[i>>2]=o;J[i+4>>2]=o>>31;continue e;case 3:I[J[h+64>>2]>>1]=o;continue e;case 4:H[J[h+64>>2]]=o;continue e;case 6:J[J[h+64>>2]>>2]=o;continue e;case 7:break I;default:continue e}}i=J[h+64>>2];J[i>>2]=o;J[i+4>>2]=o>>31;continue e}j=j>>>0<=8?8:j;m=m|8;f=120}i=r;g=J[h+64>>2];k=J[h+68>>2];if(g|k){x=f&32;while(1){i=i-1|0;H[i|0]=x|K[(g&15)+17776|0];y=!k&g>>>0>15|(k|0)!=0;n=k;k=k>>>4|0;g=(n&15)<<28|g>>>4;if(y){continue}break}}if(!(J[h+64>>2]|J[h+68>>2])|!(m&8)){break y}t=(f>>>4|0)+1163|0;p=2;break y}f=r;i=J[h+68>>2];k=i;g=J[h+64>>2];if(i|g){while(1){f=f-1|0;H[f|0]=g&7|48;n=!k&g>>>0>7|(k|0)!=0;i=k;k=i>>>3|0;g=(i&7)<<29|g>>>3;if(n){continue}break}}i=f;if(!(m&8)){break y}f=r-i|0;j=(f|0)<(j|0)?j:f+1|0;break y}g=J[h+64>>2];f=J[h+68>>2];k=f;if((f|0)<0){i=0-(k+((g|0)!=0)|0)|0;k=i;g=0-g|0;J[h+64>>2]=g;J[h+68>>2]=i;p=1;t=1163;break z}if(m&2048){p=1;t=1164;break z}p=m&1;t=p?1165:1163}i=Mk(g,k,r)}if((j|0)<0?u:0){break d}m=u?m&-65537:m;f=J[h+64>>2];g=J[h+68>>2];if(!(j|(f|g)!=0)){i=r;j=0;break g}f=!(f|g)+(r-i|0)|0;j=(f|0)<(j|0)?j:f;break g}l=j>>>0>=2147483647?2147483647:j;n=l;m=(l|0)!=0;f=J[h+64>>2];i=f?f:1983;f=i;J:{K:{L:{M:{if(!(f&3)|!l){break M}while(1){if(!K[f|0]){break L}n=n-1|0;m=(n|0)!=0;f=f+1|0;if(!(f&3)){break M}if(n){continue}break}}if(!m){break K}if(!(!K[f|0]|n>>>0<4)){while(1){k=J[f>>2];if((k^-1)&k-16843009&-2139062144){break L}f=f+4|0;n=n-4|0;if(n>>>0>3){continue}break}}if(!n){break K}}while(1){if(!K[f|0]){break J}f=f+1|0;n=n-1|0;if(n){continue}break}}f=0}f=f?f-i|0:l;l=f+i|0;if((j|0)>=0){m=g;j=f;break g}m=g;j=f;if(K[l|0]){break d}break g}if(j){g=J[h+64>>2];break u}f=0;Nk(a,32,q,0,m);break t}J[h+12>>2]=0;J[h+8>>2]=J[h+64>>2];g=h+8|0;J[h+64>>2]=g;j=-1}f=0;N:{while(1){i=J[g>>2];if(!i){break N}k=Rk(h+4|0,i);i=(k|0)<0;if(!(i|k>>>0>j-f>>>0)){g=g+4|0;f=f+k|0;if(j>>>0>f>>>0){continue}break N}break}if(i){break b}}l=61;if((f|0)<0){break c}Nk(a,32,q,f,m);if(!f){f=0;break t}l=0;g=J[h+64>>2];while(1){i=J[g>>2];if(!i){break t}i=Rk(h+4|0,i);l=i+l|0;if(l>>>0>f>>>0){break t}Jk(a,h+4|0,i);g=g+4|0;if(f>>>0>l>>>0){continue}break}}Nk(a,32,q,f,m^8192);f=(f|0)<(q|0)?q:f;continue e}if((j|0)<0?u:0){break d}l=61;f=Pk(a,O[h+64>>3],q,j,m,f);if((f|0)>=0){continue e}break c}H[h+55|0]=J[h+64>>2];j=1;i=w;m=g;break g}g=K[f+1|0];f=f+1|0;continue}}if(a){break a}if(!s){break f}f=1;while(1){a=J[(f<<2)+e>>2];if(a){Lk((f<<3)+d|0,a,c);o=1;f=f+1|0;if((f|0)!=10){continue}break a}break}o=1;if(f>>>0>=10){break a}while(1){if(J[(f<<2)+e>>2]){break h}f=f+1|0;if((f|0)!=10){continue}break}break a}l=28;break c}k=l-i|0;g=(j|0)>(k|0)?j:k;if((g|0)>(p^2147483647)){break d}l=61;j=g+p|0;f=(j|0)<(q|0)?q:j;if((v|0)<(f|0)){break c}Nk(a,32,f,j,m);Jk(a,t,p);Nk(a,48,f,j,m^65536);Nk(a,48,g,k,0);Jk(a,i,k);Nk(a,32,f,j,m^8192);continue}break}o=0;break a}l=61}J[4842]=l}o=-1}fa=h+80|0;return o}function ai(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=fa-16|0;fa=g;J[b+44>>2]=d;J[b+48>>2]=c;d=J[b+12>>2];f=J[b+8>>2];if((d|0)!=(f|0)){while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){ka[J[J[e>>2]+4>>2]](e)}if((d|0)!=(f|0)){continue}break}}J[b+12>>2]=f;J[b+24>>2]=J[b+20>>2];J[b+36>>2]=J[b+32>>2];a:{if(!J[b+4>>2]){b=pl(32);H[b+23|0]=0;c=K[1670]|K[1671]<<8|(K[1672]<<16|K[1673]<<24);d=K[1666]|K[1667]<<8|(K[1668]<<16|K[1669]<<24);H[b+15|0]=d;H[b+16|0]=d>>>8;H[b+17|0]=d>>>16;H[b+18|0]=d>>>24;H[b+19|0]=c;H[b+20|0]=c>>>8;H[b+21|0]=c>>>16;H[b+22|0]=c>>>24;c=K[1663]|K[1664]<<8|(K[1665]<<16|K[1666]<<24);d=K[1659]|K[1660]<<8|(K[1661]<<16|K[1662]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1655]|K[1656]<<8|(K[1657]<<16|K[1658]<<24);d=K[1651]|K[1652]<<8|(K[1653]<<16|K[1654]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,23);hl(b);break a}d=fa-16|0;fa=d;e=J[b+44>>2];f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){Ba(e,J[e+4>>2],1637,1642)}e=ka[J[J[b>>2]+8>>2]](b)|0;H[d+15|0]=e;H[d+14|0]=2;H[d+13|0]=e&255?2:3;e=J[b+44>>2];f=J[e+20>>2];b:{if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}Ba(e,J[e+4>>2],d+14|0,d+15|0);e=J[b+44>>2];f=J[e+20>>2];if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}Ba(e,J[e+4>>2],d+13|0,d+14|0);e=J[b+44>>2];f=J[e+20>>2];if(!!J[e+16>>2]&(f|0)>=0|(f|0)>0){break b}Ba(e,J[e+4>>2],d+15|0,d+16|0);e=J[b+44>>2]}j=d,k=ka[J[J[b>>2]+12>>2]](b)|0,H[j+12|0]=k;f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){Ba(e,J[e+4>>2],d+12|0,d+13|0)}I[d+10>>1]=(J[J[b+4>>2]+4>>2]!=0)<<15;e=J[b+44>>2];f=J[e+20>>2];if(!J[e+16>>2]&(f|0)<=0|(f|0)<0){Ba(e,J[e+4>>2],d+10|0,d+12|0)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;fa=d+16|0;if(J[a>>2]){break a}if(H[a+15|0]<0){hl(J[a+4>>2])}d=J[J[b+4>>2]+4>>2];c:{if(!d){J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break c}e=J[b+44>>2];if(d){yb(J[d+28>>2]-J[d+24>>2]>>2,e);f=J[d+24>>2];i=J[d+28>>2];if((f|0)!=(i|0)){while(1){h=J[f>>2];if(h){yb(J[h+24>>2],e);Xj(g,e,h)}f=f+4|0;if((i|0)!=(f|0)){continue}break}}Xj(g,e,d)}if(d){J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break c}d=pl(32);H[d+26|0]=0;e=K[1882]|K[1883]<<8;H[d+24|0]=e;H[d+25|0]=e>>>8;e=K[1878]|K[1879]<<8|(K[1880]<<16|K[1881]<<24);f=K[1874]|K[1875]<<8|(K[1876]<<16|K[1877]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=e;H[d+21|0]=e>>>8;H[d+22|0]=e>>>16;H[d+23|0]=e>>>24;e=K[1870]|K[1871]<<8|(K[1872]<<16|K[1873]<<24);f=K[1866]|K[1867]<<8|(K[1868]<<16|K[1869]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1862]|K[1863]<<8|(K[1864]<<16|K[1865]<<24);f=K[1858]|K[1859]<<8|(K[1860]<<16|K[1861]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;J[a>>2]=-1;tl(a+4|0,d,26);hl(d);if(J[a>>2]){break a}if(H[a+15|0]>=0){break c}hl(J[a+4>>2])}if(!(ka[J[J[b>>2]+16>>2]](b)|0)){b=pl(32);H[b+29|0]=0;c=K[1798]|K[1799]<<8|(K[1800]<<16|K[1801]<<24);d=K[1794]|K[1795]<<8|(K[1796]<<16|K[1797]<<24);H[b+21|0]=d;H[b+22|0]=d>>>8;H[b+23|0]=d>>>16;H[b+24|0]=d>>>24;H[b+25|0]=c;H[b+26|0]=c>>>8;H[b+27|0]=c>>>16;H[b+28|0]=c>>>24;c=K[1793]|K[1794]<<8|(K[1795]<<16|K[1796]<<24);d=K[1789]|K[1790]<<8|(K[1791]<<16|K[1792]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1785]|K[1786]<<8|(K[1787]<<16|K[1788]<<24);d=K[1781]|K[1782]<<8|(K[1783]<<16|K[1784]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1777]|K[1778]<<8|(K[1779]<<16|K[1780]<<24);d=K[1773]|K[1774]<<8|(K[1775]<<16|K[1776]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,29);hl(b);break a}if(!(ka[J[J[b>>2]+20>>2]](b)|0)){b=pl(32);H[b+31|0]=0;c=K[1941]|K[1942]<<8|(K[1943]<<16|K[1944]<<24);d=K[1937]|K[1938]<<8|(K[1939]<<16|K[1940]<<24);H[b+23|0]=d;H[b+24|0]=d>>>8;H[b+25|0]=d>>>16;H[b+26|0]=d>>>24;H[b+27|0]=c;H[b+28|0]=c>>>8;H[b+29|0]=c>>>16;H[b+30|0]=c>>>24;c=K[1934]|K[1935]<<8|(K[1936]<<16|K[1937]<<24);d=K[1930]|K[1931]<<8|(K[1932]<<16|K[1933]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1926]|K[1927]<<8|(K[1928]<<16|K[1929]<<24);d=K[1922]|K[1923]<<8|(K[1924]<<16|K[1925]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1918]|K[1919]<<8|(K[1920]<<16|K[1921]<<24);d=K[1914]|K[1915]<<8|(K[1916]<<16|K[1917]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,31);hl(b);break a}ka[J[J[b>>2]+24>>2]](a,b);if(J[a>>2]){break a}if(H[a+15|0]<0){hl(J[a+4>>2])}if(!(ka[J[J[b>>2]+28>>2]](b)|0)){b=we(g,1708);J[a>>2]=-1;a=a+4|0;if(H[b+11|0]>=0){c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;J[a+8>>2]=J[b+8>>2];break a}tl(a,J[b>>2],J[b+4>>2]);if(H[b+11|0]>=0){break a}hl(J[b>>2]);break a}d=c;c=we(g,1214);d=si(d,c,0);if(H[c+11|0]<0){hl(J[c>>2])}if(d){ka[J[J[b>>2]+48>>2]](b)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}fa=g+16|0}function Xb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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,K=0,L=0,N=0,O=0,Q=0;o=fa-32|0;fa=o;J[a>>2]=J[d>>2];d=J[c>>2]-J[b>>2]|0;J[a+4>>2]=d;p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){d=a+4|0;Ba(e,J[e+4>>2],a,d);p=J[e+20>>2];if(!J[e+16>>2]&(p|0)<=0|(p|0)<0){Ba(e,J[e+4>>2],d,a+8|0)}d=J[d>>2]}if(d){B=a+12|0;d=B;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];D=a+32|0;d=D;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];E=a+52|0;d=E;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];F=a+72|0;d=F;J[d+12>>2]=0;J[d+16>>2]=0;J[d+4>>2]=J[d>>2];J[o+24>>2]=J[b+8>>2];d=J[b+4>>2];J[o+16>>2]=J[b>>2];J[o+20>>2]=d;J[o+8>>2]=J[c+8>>2];b=J[c+4>>2];J[o>>2]=J[c>>2];J[o+4>>2]=b;c=0;b=0;f=fa-32|0;fa=f;l=a;g=J[a+8>>2];J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;a:{b:{if(g){if(g>>>0>=1073741824){break b}a=g<<2;c=pl(a);J[f+8>>2]=c;b=a+c|0;J[f+16>>2]=b;pk(c,0,a);J[f+12>>2]=b}a=J[l+128>>2];d=J[a>>2];if(d){J[a+4>>2]=d;hl(d);g=J[l+8>>2];c=J[f+8>>2];b=J[f+12>>2]}J[a+4>>2]=b;J[a>>2]=c;J[a+8>>2]=J[f+16>>2];c=0;J[f+16>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;b=0;c:{if(g){if(g>>>0>=1073741824){break c}a=g<<2;b=pl(a);J[f+8>>2]=b;c=a+b|0;J[f+16>>2]=c;pk(b,0,a);J[f+12>>2]=c}a=J[l+140>>2];d=J[a>>2];if(d){J[a+4>>2]=d;hl(d);c=J[f+12>>2];b=J[f+8>>2]}J[a+4>>2]=c;J[a>>2]=b;J[a+8>>2]=J[f+16>>2];p=J[o+20>>2];t=J[o+24>>2];d=J[o+4>>2];w=J[o+8>>2];b=J[o>>2];c=J[o+16>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;dc(f+8|0);a=J[f+24>>2]+J[f+28>>2]|0;q=(a>>>0)/113|0;a=J[J[f+12>>2]+(q<<2)>>2]+P(a-P(q,113)|0,36)|0;J[a+32>>2]=0;J[a+28>>2]=b-c;J[a+24>>2]=0;J[a+16>>2]=d;J[a+20>>2]=w;J[a+12>>2]=b;J[a+4>>2]=p;J[a+8>>2]=t;J[a>>2]=c;g=J[f+28>>2]+1|0;J[f+28>>2]=g;if(g){a=t;K=a&-4;G=a&3;L=l+32|0;N=l+12|0;O=l+72|0;Q=a>>>0<4;while(1){b=J[f+12>>2];i=J[f+24>>2];h=g-1|0;a=i+h|0;c=(a>>>0)/113|0;a=J[b+(c<<2)>>2]+P(a-P(c,113)|0,36)|0;z=J[a+32>>2];c=J[a+24>>2];q=J[a+12>>2];a=J[a>>2];J[f+28>>2]=h;h=J[f+16>>2];if((((b|0)!=(h|0)?P(h-b>>2,113)-1|0:0)-(g+i|0)|0)+1>>>0>=226){hl(J[h-4>>2]);J[f+16>>2]=J[f+16>>2]-4}i=J[l>>2];g=(c|0)!=(J[l+8>>2]-1|0)?c+1|0:0;h=g<<2;x=P(z,12);k=x+J[l+140>>2]|0;c=J[h+J[k>>2]>>2];d:{e:{if((i|0)==(c|0)){break e}f:{g:{y=q-a|0;if(y>>>0<=2){h=J[l+116>>2];J[h>>2]=g;c=1;b=J[l+8>>2];if(b>>>0>1){break g}break f}k=J[l+128>>2];b=k+x|0;j=k;k=x+12|0;ec(j+k|0,J[b>>2],J[b+4>>2]);b=h+J[k+J[l+128>>2]>>2]|0;k=J[b>>2]+(1<>2]=k;b=a;h:{if((a|0)==(q|0)){break h}H=J[p+24>>2];I=h+H|0;b=q;c=a;if(!t){if(k>>>0>M[I>>2]){break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}if(k>>>0<=M[(h+J[d+24>>2]|0)+(P(b,w)<<2)>>2]){continue}c=c+1|0;if((c|0)!=(b|0)){continue}break}break h}while(1){i=P(c,t)<<2;if(k>>>0>M[i+I>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break h}while(1){b=b-1|0;if((c|0)==(b|0)){b=c;break h}n=J[d+24>>2]+(P(b,w)<<2)|0;if(k>>>0<=M[n+h>>2]){continue}break}r=i+H|0;A=0;i=0;u=0;if(!Q){while(1){m=i<<2;j=m+r|0;s=J[j>>2];v=j;j=n+m|0;J[v>>2]=J[j>>2];J[j>>2]=s;j=m|4;s=j+r|0;v=J[s>>2];j=j+n|0;J[s>>2]=J[j>>2];J[j>>2]=v;j=m|8;s=j+r|0;v=J[s>>2];j=j+n|0;J[s>>2]=J[j>>2];J[j>>2]=v;m=m|12;j=m+r|0;s=J[j>>2];m=n+m|0;J[j>>2]=J[m>>2];J[m>>2]=s;i=i+4|0;u=u+4|0;if((K|0)!=(u|0)){continue}break}}if(G){while(1){m=i<<2;u=m+r|0;j=J[u>>2];m=n+m|0;J[u>>2]=J[m>>2];J[m>>2]=j;i=i+1|0;A=A+1|0;if((A|0)!=(G|0)){continue}break}}c=c+1|0;if((c|0)!=(b|0)){continue}break}}k=b-a|0;n=q-b|0;if((k|0)!=(n|0)){fc(O,k>>>0>>0)}gc(N,S(y)^31,(y>>>1|0)-(k>>>0>>0?k:n)|0);j=h;c=J[l+140>>2];h=c+x|0;i=J[h>>2];r=j+i|0;J[r>>2]=J[r>>2]+1;r=z+1|0;ec(c+P(r,12)|0,i,J[h+4>>2]);if((a|0)!=(b|0)){i=J[f+28>>2]+J[f+24>>2]|0;c=J[f+16>>2];h=J[f+12>>2];if((i|0)==(((c|0)!=(h|0)?P(c-h>>2,113)-1|0:0)|0)){dc(f+8|0);i=J[f+24>>2]+J[f+28>>2]|0;h=J[f+12>>2]}c=(i>>>0)/113|0;c=J[h+(c<<2)>>2]+P(i-P(c,113)|0,36)|0;J[c+32>>2]=z;J[c+28>>2]=k;J[c+24>>2]=g;J[c+16>>2]=p;J[c+12>>2]=b;J[c+4>>2]=p;J[c+8>>2]=t;J[c>>2]=a;J[c+20>>2]=t;J[f+28>>2]=J[f+28>>2]+1}if((b|0)==(q|0)){break e}h=J[f+28>>2]+J[f+24>>2]|0;a=J[f+16>>2];c=J[f+12>>2];if((h|0)==(((a|0)!=(c|0)?P(a-c>>2,113)-1|0:0)|0)){dc(f+8|0);h=J[f+24>>2]+J[f+28>>2]|0;c=J[f+12>>2]}a=(h>>>0)/113|0;a=J[c+(a<<2)>>2]+P(h-P(a,113)|0,36)|0;J[a+32>>2]=r;J[a+28>>2]=n;J[a+24>>2]=g;J[a+16>>2]=d;J[a+20>>2]=w;J[a+12>>2]=q;J[a+4>>2]=p;J[a>>2]=b;J[a+8>>2]=t;g=J[f+28>>2]+1|0;J[f+28>>2]=g;break d}while(1){g=(b-1|0)!=(g|0)?g+1|0:0;J[h+(c<<2)>>2]=g;b=J[l+8>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}if(!b|(a|0)==(q|0)){break e}h=0;c=1;while(1){g=0;i:{if(!c){c=0;break i}q=J[p+24>>2]+(P(J[p+4>>2],a+h|0)<<2)|0;while(1){c=J[l>>2];i=J[J[l+116>>2]+(g<<2)>>2]<<2;n=J[i+J[k>>2]>>2];if((c|0)!=(n|0)){gc(L,c-n|0,J[i+q>>2]);b=J[l+8>>2]}c=b;g=g+1|0;if(c>>>0>g>>>0){continue}break}}h=h+1|0;if((y|0)!=(h|0)){continue}break}}g=J[f+28>>2]}if(g){continue}break}}J[f+28>>2]=0;a=J[f+16>>2];g=J[f+12>>2];b=a-g|0;if(b>>>0>=9){while(1){hl(J[g>>2]);g=J[f+12>>2]+4|0;J[f+12>>2]=g;a=J[f+16>>2];b=a-g|0;if(b>>>0>8){continue}break}}c=56;j:{switch((b>>>2|0)-1|0){case 1:c=113;case 0:J[f+24>>2]=c;break;default:break j}}k:{if((a|0)==(g|0)){break k}while(1){hl(J[g>>2]);g=g+4|0;if((g|0)!=(a|0)){continue}break}a=J[f+16>>2];b=J[f+12>>2];if((a|0)==(b|0)){break k}J[f+16>>2]=a+((b-a|0)+3&-4)}a=J[f+8>>2];if(a){hl(a)}fa=f+32|0;break a}Ia();C()}Ia();C()}ze(B,e);ze(D,e);ze(E,e);ze(F,e)}fa=o+32|0;return 1}function Xg(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,n=0,o=0,p=0,q=0,r=0;l=fa-32|0;fa=l;d=J[a+16>>2];J[a+20>>2]=d;a:{b:{c:{d:{e:{f:{g:{h:{if((d|0)!=J[a+24>>2]){J[d>>2]=b;b=d+4|0;J[a+20>>2]=b;e=d;break h}e=pl(4);J[e>>2]=b;b=e+4|0;J[a+24>>2]=b;J[a+20>>2]=b;J[a+16>>2]=e;if(d){break g}}d=J[a+8>>2];d=J[d+100>>2]-J[d+96>>2]|0;break f}hl(d);b=J[a+20>>2];e=J[a+16>>2];if((b|0)==(e|0)){break e}d=J[a+8>>2];d=J[d+100>>2]-J[d+96>>2]|0}if((d|0)>0){q=a+120|0;d=(d|0)/12|0;r=(d|0)<=1?1:d;while(1){i:{j:{e=b-4|0;b=J[e>>2];if((b|0)==-1){break j}d=(b>>>0)/3|0;if(J[J[a+28>>2]+(d>>>3&268435452)>>2]>>>d&1){break j}m=0;while(1){J[a+164>>2]=J[a+164>>2]+1;e=b;g=(b>>>0)/3|0;f=(b|0)==-1;n=f?-1:g;b=J[a+28>>2]+(n>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];k:{if((b|0)!=J[a+80>>2]){J[b>>2]=e;J[a+76>>2]=b+4;break k}i=J[a+72>>2];j=b-i|0;c=j>>2;k=c+1|0;if(k>>>0>1073741823){break d}d=j>>>1|0;k=j>>>0>=2147483644?1073741823:d>>>0>k>>>0?d:k;if(k){if(k>>>0>1073741823){break a}d=pl(k<<2)}else{d=0}h=d+(c<<2)|0;J[h>>2]=e;c=h+4|0;if((b|0)!=(i|0)){while(1){h=h-4|0;b=b-4|0;J[h>>2]=J[b>>2];if((b|0)!=(i|0)){continue}break}}J[a+80>>2]=d+(k<<2);J[a+76>>2]=c;J[a+72>>2]=h;if(!i){break k}hl(i)}b=-1;h=J[a+12>>2];b=(e|0)!=-1?J[J[h>>2]+(e<<2)>>2]:b;k=b<<2;p=J[k+J[a+152>>2]>>2];l:{m:{c=J[a+84>>2]+(b>>>3&536870908)|0;d=J[c>>2];b=1<>2]=b|d;if((p|0)==-1){break m}}n:{if(f){break n}b=-1;d=e+1|0;f=(d>>>0)%3|0?d:e-2|0;if((f|0)!=-1){b=J[J[h+12>>2]+(f<<2)>>2]}i=e-P(g,3)|0;o:{p:{if(i){c=e-1|0;break p}c=e+2|0;d=-1;if((c|0)==-1){break o}}d=J[J[h+12>>2]+(c<<2)>>2]}o=(d|0)==-1;j=o?-1:(d>>>0)/3|0;q:{if((f|0)==-1){break q}g=J[h+12>>2];c=J[g+(f<<2)>>2];if((c|0)==-1){break q}f=J[a+28>>2];c=(c>>>0)/3|0;if(J[f+(c>>>3&268435452)>>2]>>>c&1){break q}r:{s:{if(i){h=e-1|0;break s}h=e+2|0;if((h|0)==-1){break r}}c=J[(h<<2)+g>>2];if((c|0)==-1){break r}c=(c>>>0)/3|0;if(J[f+(c>>>3&268435452)>>2]>>>c&1){break r}c=J[a+272>>2];t:{if((c|0)!=J[a+276>>2]){J[c>>2]=1;J[a+272>>2]=c+4;break t}i=J[a+268>>2];j=c-i|0;f=j>>2;g=f+1|0;if(g>>>0>1073741823){break c}c=j>>>1|0;g=j>>>0>=2147483644?1073741823:c>>>0>g>>>0?c:g;if(g){if(g>>>0>1073741823){break a}c=pl(g<<2)}else{c=0}f=c+(f<<2)|0;J[f>>2]=1;c=ok(c,i,j);J[a+276>>2]=c+(g<<2);J[a+272>>2]=f+4;J[a+268>>2]=c;if(!i){break t}hl(i)}J[a+168>>2]=J[a+168>>2]+1;u:{if((p|0)==-1){break u}c=J[J[a+152>>2]+k>>2];if(J[J[a+140>>2]+(c>>>3&536870908)>>2]>>>c&1){break u}Yg(a,e,0)}c=J[a+164>>2];J[l+4>>2]=n;e=l+4|0;J[l+16>>2]=e;ch(l+24|0,q,e,l+16|0);J[J[l+24>>2]+12>>2]=c;h=J[a+20>>2];J[h-4>>2]=d;if(J[a+24>>2]!=(h|0)){J[h>>2]=b;J[a+20>>2]=h+4;break i}g=J[a+16>>2];f=h-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break b}d=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?d:c;if(c){if(c>>>0>1073741823){break a}d=pl(c<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=b;b=e+4|0;if((g|0)!=(h|0)){while(1){e=e-4|0;h=h-4|0;J[e>>2]=J[h>>2];if((g|0)!=(h|0)){continue}break}}J[a+24>>2]=d+(c<<2);J[a+20>>2]=b;J[a+16>>2]=e;if(!g){break i}hl(g);break i}if(!o){dh(a,J[a+164>>2],0,j)}d=J[a+272>>2];if((d|0)!=J[a+276>>2]){J[d>>2]=3;J[a+272>>2]=d+4;break l}g=J[a+268>>2];f=d-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break c}d=f>>>1|0;c=f>>>0>=2147483644?1073741823:c>>>0>>0?d:c;if(c){if(c>>>0>1073741823){break a}d=pl(c<<2)}else{d=0}e=d+(e<<2)|0;J[e>>2]=3;d=ok(d,g,f);J[a+276>>2]=d+(c<<2);J[a+272>>2]=e+4;J[a+268>>2]=d;if(!g){break l}hl(g);break l}c=(b|0)==-1;if(!c){dh(a,J[a+164>>2],1,c?-1:(b>>>0)/3|0)}v:{w:{if(i){b=e-1|0;break w}b=e+2|0;if((b|0)==-1){break v}}b=J[J[J[a+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break v}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break v}b=J[a+272>>2];if((b|0)!=J[a+276>>2]){J[b>>2]=5;J[a+272>>2]=b+4;b=d;break l}g=J[a+268>>2];f=b-g|0;e=f>>2;c=e+1|0;if(c>>>0>1073741823){break c}b=f>>>1|0;c=f>>>0>=2147483644?1073741823:b>>>0>c>>>0?b:c;if(c){if(c>>>0>1073741823){break a}b=pl(c<<2)}else{b=0}e=b+(e<<2)|0;J[e>>2]=5;b=ok(b,g,f);J[a+276>>2]=b+(c<<2);J[a+272>>2]=e+4;J[a+268>>2]=b;if(!g){b=d;break l}hl(g);b=d;break l}if(o){break n}dh(a,J[a+164>>2],0,j)}b=J[a+272>>2];x:{if((b|0)!=J[a+276>>2]){J[b>>2]=7;J[a+272>>2]=b+4;break x}f=J[a+268>>2];c=b-f|0;d=c>>2;e=d+1|0;if(e>>>0>1073741823){break c}b=c>>>1|0;e=c>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(e){if(e>>>0>1073741823){break a}b=pl(e<<2)}else{b=0}d=b+(d<<2)|0;J[d>>2]=7;b=ok(b,f,c);J[a+276>>2]=b+(e<<2);J[a+272>>2]=d+4;J[a+268>>2]=b;if(!f){break x}hl(f)}J[a+20>>2]=J[a+20>>2]-4;break i}b=J[a+272>>2];y:{if((b|0)!=J[a+276>>2]){J[b>>2]=0;J[a+272>>2]=b+4;break y}g=J[a+268>>2];f=b-g|0;d=f>>2;c=d+1|0;if(c>>>0>1073741823){break c}b=f>>>1|0;c=f>>>0>=2147483644?1073741823:b>>>0>c>>>0?b:c;if(c){if(c>>>0>1073741823){break a}b=pl(c<<2)}else{b=0}d=b+(d<<2)|0;J[d>>2]=0;b=ok(b,g,f);J[a+276>>2]=b+(c<<2);J[a+272>>2]=d+4;J[a+268>>2]=b;if(!g){break y}hl(g)}b=-1;if((e|0)==-1){break l}d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;if((d|0)==-1){break l}b=J[J[J[a+12>>2]+12>>2]+(d<<2)>>2]}m=m+1|0;if((r|0)!=(m|0)){continue}break}break i}J[a+20>>2]=e}b=J[a+20>>2];if((b|0)!=J[a+16>>2]){continue}break}break e}f=J[a+28>>2];while(1){d=b-4|0;c=J[d>>2];z:{if((c|0)!=-1){c=(c>>>0)/3|0;if(!(J[f+(c>>>3&268435452)>>2]>>>c&1)){break z}}J[a+20>>2]=d;b=d}if((b|0)!=(e|0)){continue}break}}fa=l+32|0;return 1}Ia();C()}Ia();C()}Ia();C()}Ya();C()}function Lb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=0;a:{b:{if(!d){break b}c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=H[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=I[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=L[b>>1];b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=J[b>>2];b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){return 0}e=J[b>>2];if((e|0)<0){break b}J[(g<<2)+d>>2]=e;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;k=J[e+4>>2];while(1){if(b>>>0>=k>>>0){break b}h=J[b+4>>2];e=J[b>>2];if(e- -2147483648>>>0<2147483648?h+1|0:h){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}k=J[b+4>>2];e=J[b>>2];if(!k&e>>>0>2147483647|k){break b}J[(g<<2)+d>>2]=e;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}break a;case 8:d:{e:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break e}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|m>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=0;if((b|0)>=(e|0)){break d}b=0;while(1){m=N[g>>2];if(m>=Q(2147483648)|mQ(1)){break d}e=(b<<2)+d|0;l=V(+m*2147483647+.5);f:{if(R(l)<2147483648){i=~~l;break f}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break e}g=g+4|0;if(f>>>0>g>>>0){continue}break}break d}j=1;if(c>>>0<=e>>>0){break d}pk((e<<2)+d|0,0,c-e<<2)}return j;case 9:g:{h:{e=K[a+24|0];c=c&255;if(!(c>>>0>e>>>0?e:c)){break h}e=J[a>>2];j=J[e>>2];g=j;f=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+f|0;g=b+g|0;f=J[e+4>>2];e=f-j|0;if(!K[a+32|0]){j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|l!=l){break g}o=R(l);if(o==Infinity){break g}e=(b<<2)+d|0;if(o<2147483648){i=~~l}else{i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=0;if((b|0)>=(e|0)){break g}b=0;while(1){l=O[g>>3];if(l>=2147483647|l<-2147483648|(R(l)==Infinity|l!=l)){break g}if(l<0|l>1){break g}e=(b<<2)+d|0;l=V(l*2147483647+.5);i:{if(R(l)<2147483648){i=~~l;break i}i=-2147483648}J[e>>2]=i;b=b+1|0;e=K[a+24|0];if(b>>>0>=(c>>>0>e>>>0?e:c)>>>0){break h}g=g+8|0;if(f>>>0>g>>>0){continue}break}break g}j=1;if(c>>>0<=e>>>0){break g}pk((e<<2)+d|0,0,c-e<<2)}return j;case 10:break c;default:break b}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];k=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);i=b;b=b+k|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break b}J[(g<<2)+d>>2]=K[b|0];b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}j=1;if(e>>>0>=f>>>0){break b}pk((e<<2)+d|0,0,(c&255)-e<<2)}return j}pk((e<<2)+d|0,0,(c&255)-e<<2);return 1}function af(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=J[b+48>>2];if(!g){b=pl(32);H[b+23|0]=0;c=K[1670]|K[1671]<<8|(K[1672]<<16|K[1673]<<24);e=K[1666]|K[1667]<<8|(K[1668]<<16|K[1669]<<24);H[b+15|0]=e;H[b+16|0]=e>>>8;H[b+17|0]=e>>>16;H[b+18|0]=e>>>24;H[b+19|0]=c;H[b+20|0]=c>>>8;H[b+21|0]=c>>>16;H[b+22|0]=c>>>24;c=K[1663]|K[1664]<<8|(K[1665]<<16|K[1666]<<24);e=K[1659]|K[1660]<<8|(K[1661]<<16|K[1662]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1655]|K[1656]<<8|(K[1657]<<16|K[1658]<<24);e=K[1651]|K[1652]<<8|(K[1653]<<16|K[1654]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,23);hl(b);return}h=J[b+52>>2];if(!h){e=fa-32|0;fa=e;d=pl(16);J[e+16>>2]=d;J[e+20>>2]=15;J[e+24>>2]=-2147483632;f=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);h=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[d+7|0]=h;H[d+8|0]=h>>>8;H[d+9|0]=h>>>16;H[d+10|0]=h>>>24;H[d+11|0]=f;H[d+12|0]=f>>>8;H[d+13|0]=f>>>16;H[d+14|0]=f>>>24;f=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);h=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[d|0]=h;H[d+1|0]=h>>>8;H[d+2|0]=h>>>16;H[d+3|0]=h>>>24;H[d+4|0]=f;H[d+5|0]=f>>>8;H[d+6|0]=f>>>16;H[d+7|0]=f>>>24;H[d+15|0]=0;h=b+4|0;j=pi(h,e+16|0,-1);if(H[e+27|0]<0){hl(J[e+16>>2])}a:{b:{c:{d:{e:{switch(j+1|0){case 1:d=pl(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=$h(d);J[d>>2]=12672;break c;case 0:break e;default:break d}}if((Pb(h)|0)!=10){break d}d=pl(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=$h(d);J[d>>2]=12672;break c}J[e+12>>2]=0;f:{i=J[g+12>>2];f=J[g+8>>2];if((i-f|0)>0){d=0;while(1){k=J[J[(d<<2)+f>>2]+28>>2];if(k-1>>>0>=6){if((k|0)!=9){break f}d=pl(32);J[e+16>>2]=d;J[e+20>>2]=17;J[e+24>>2]=-2147483616;H[d+16|0]=K[1261];f=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);i=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[d+8|0]=i;H[d+9|0]=i>>>8;H[d+10|0]=i>>>16;H[d+11|0]=i>>>24;H[d+12|0]=f;H[d+13|0]=f>>>8;H[d+14|0]=f>>>16;H[d+15|0]=f>>>24;f=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);i=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[d|0]=i;H[d+1|0]=i>>>8;H[d+2|0]=i>>>16;H[d+3|0]=i>>>24;H[d+4|0]=f;H[d+5|0]=f>>>8;H[d+6|0]=f>>>16;H[d+7|0]=f>>>24;H[d+17|0]=0;d=Gb(h,e+12|0,e+16|0,-1);if(H[e+27|0]<0){hl(J[e+16>>2])}if((d|0)<=0){break f}f=J[g+8>>2];i=J[g+12>>2];d=J[e+12>>2]}d=d+1|0;J[e+12>>2]=d;if(i-f>>2>(d|0)){continue}break}}d=pl(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=$h(d);J[d>>2]=12564;break c}if((j|0)==1){break b}d=pl(56);J[d>>2]=0;J[d+4>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=$h(d);J[d>>2]=12672}J[d+4>>2]=g;ai(a,d,h,c);if(!J[a>>2]){if(H[a+15|0]<0){hl(J[a+4>>2])}c=J[d+52>>2];J[b+44>>2]=0;J[b+40>>2]=c;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}ka[J[J[d>>2]+4>>2]](d);break a}b=pl(32);H[b+24|0]=0;c=K[1853]|K[1854]<<8|(K[1855]<<16|K[1856]<<24);d=K[1849]|K[1850]<<8|(K[1851]<<16|K[1852]<<24);H[b+16|0]=d;H[b+17|0]=d>>>8;H[b+18|0]=d>>>16;H[b+19|0]=d>>>24;H[b+20|0]=c;H[b+21|0]=c>>>8;H[b+22|0]=c>>>16;H[b+23|0]=c>>>24;c=K[1845]|K[1846]<<8|(K[1847]<<16|K[1848]<<24);d=K[1841]|K[1842]<<8|(K[1843]<<16|K[1844]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1837]|K[1838]<<8|(K[1839]<<16|K[1840]<<24);d=K[1833]|K[1834]<<8|(K[1835]<<16|K[1836]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;J[a>>2]=-1;tl(a+4|0,b,24);hl(b)}fa=e+32|0;return}d=fa-16|0;fa=d;e=pl(16);J[d>>2]=e;J[d+4>>2]=15;J[d+8>>2]=-2147483632;g=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);f=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[e+7|0]=f;H[e+8|0]=f>>>8;H[e+9|0]=f>>>16;H[e+10|0]=f>>>24;H[e+11|0]=g;H[e+12|0]=g>>>8;H[e+13|0]=g>>>16;H[e+14|0]=g>>>24;g=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);f=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[e|0]=f;H[e+1|0]=f>>>8;H[e+2|0]=f>>>16;H[e+3|0]=f>>>24;H[e+4|0]=g;H[e+5|0]=g>>>8;H[e+6|0]=g>>>16;H[e+7|0]=g>>>24;H[e+15|0]=0;g=b+4|0;e=pi(g,d,-1);if(H[d+11|0]<0){hl(J[d>>2])}g:{h:{i:{switch(e+1|0){case 0:if((Pb(g)|0)==10){break h}break;case 2:break i;default:break h}}e=Rh(pl(68));J[e+64>>2]=0;J[e>>2]=10412;break g}e=Rh(pl(64));J[e>>2]=12280}J[e+56>>2]=h;J[e+4>>2]=h;ai(a,e,g,c);if(!J[a>>2]){if(H[a+15|0]<0){hl(J[a+4>>2])}J[b+40>>2]=J[e+52>>2];J[b+44>>2]=J[e+60>>2];J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}ka[J[J[e>>2]+4>>2]](e);fa=d+16|0}function hk(a){a=a|0;var 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,q=0,r=0,s=0,t=Q(0),u=0,v=0,w=0,x=0,y=Q(0),z=0,A=0;c=fa+-64|0;fa=c;f=J[a+80>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+56>>2]=a;J[c+48>>2]=a;J[c+32>>2]=0;J[c+36>>2]=0;J[c+52>>2]=1065353216;ik(c+32|0,f);f=J[a+80>>2];J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;a:{b:{c:{d:{if(!f){break d}if(f>>>0>=1073741824){break a}f=f<<2;s=pl(f);J[c+16>>2]=s;b=f+s|0;J[c+24>>2]=b;pk(s,0,f);J[c+20>>2]=b;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;z=c+40|0;f=0;while(1){e=0;b=J[c+48>>2];m=J[b+8>>2];n=J[b+12>>2]-m|0;v=(n|0)<=0;e:{if(v){break e}b=n>>>2|0;b=b>>>0<=1?1:b;i=b&1;h=0;if(n>>>0>=8){g=b&1073741822;b=0;while(1){j=h<<2;d=J[j+m>>2];if(K[d+84|0]){d=f}else{d=J[J[d+68>>2]+(f<<2)>>2]}h=h+2|0;l=d<<3^e<<2;e=J[m+(j|4)>>2];if(K[e+84|0]){d=f}else{d=J[J[e+68>>2]+(f<<2)>>2]}e=l^d<<2;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(!i){break e}b=J[m+(h<<2)>>2];if(K[b+84|0]){b=f}else{b=J[J[b+68>>2]+(f<<2)>>2]}e=b<<2^e<<1}f:{g:{j=J[c+36>>2];if(!j){break g}g=J[c+32>>2];i=hm(j)>>>0>1;b=j-1&e;h:{if(!i){break h}b=e;if(b>>>0>>0){break h}b=(e>>>0)%(j>>>0)|0}d=b;b=J[g+(d<<2)>>2];if(!b){break g}k=J[b>>2];if(!k){break g}p=J[c+56>>2];i:{j:{if(!i){w=j-1|0;while(1){b=J[k+4>>2];k:{if((b|0)!=(e|0)){if((d|0)==(b&w)){break k}break g}x=J[p+8>>2];b=J[p+12>>2]-x|0;if((b|0)<4){break i}i=J[k+8>>2];o=b>>2;A=(o|0)<=1?1:o;l=0;h=0;while(1){b=f;g=J[x+(h<<2)>>2];if(K[g+84|0]){g=i}else{g=J[g+68>>2];b=J[g+(f<<2)>>2];g=J[g+(i<<2)>>2]}if((b|0)==(g|0)){h=h+1|0;l=(o|0)<=(h|0);if((h|0)!=(A|0)){continue}}break}if(l){break j}}k=J[k>>2];if(k){continue}break}break g}while(1){b=J[k+4>>2];l:{if((b|0)!=(e|0)){if(b>>>0>=j>>>0){b=(b>>>0)%(j>>>0)|0}if((b|0)==(d|0)){break l}break g}w=J[p+8>>2];b=J[p+12>>2]-w|0;if((b|0)<4){break i}i=J[k+8>>2];o=b>>2;x=(o|0)<=1?1:o;l=0;h=0;while(1){b=f;g=J[w+(h<<2)>>2];if(K[g+84|0]){g=i}else{g=J[g+68>>2];b=J[g+(f<<2)>>2];g=J[g+(i<<2)>>2]}if((b|0)==(g|0)){h=h+1|0;l=(o|0)<=(h|0);if((h|0)!=(x|0)){continue}}break}if(l){break j}}k=J[k>>2];if(k){continue}break}break g}if(!k){break g}}J[(f<<2)+s>>2]=J[k+12>>2];break f}m:{if(v){e=0;break m}b=n>>>2|0;b=b>>>0<=1?1:b;i=b&1;e=0;h=0;if(n>>>0>=8){g=b&1073741822;b=0;while(1){l=h<<2;d=J[l+m>>2];if(K[d+84|0]){d=f}else{d=J[J[d+68>>2]+(f<<2)>>2]}h=h+2|0;n=d<<3^e<<2;e=J[m+(l|4)>>2];if(K[e+84|0]){d=f}else{d=J[J[e+68>>2]+(f<<2)>>2]}e=n^d<<2;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(!i){break m}b=J[m+(h<<2)>>2];if(K[b+84|0]){b=f}else{b=J[J[b+68>>2]+(f<<2)>>2]}e=b<<2^e<<1}n:{o:{if(!j){break o}m=j-1|0;if(m&j){k=e>>>0>=j>>>0?(e>>>0)%(j>>>0)|0:e;g=J[J[c+32>>2]+(k<<2)>>2];if(!g){break o}m=J[c+56>>2];while(1){g=J[g>>2];if(!g){break o}b=J[g+4>>2];if((b|0)!=(e|0)){if(b>>>0>=j>>>0){b=(b>>>0)%(j>>>0)|0}if((b|0)!=(k|0)){break o}}p=J[m+8>>2];b=J[m+12>>2]-p|0;if((b|0)<4){break n}d=J[g+8>>2];n=b>>2;o=(n|0)<=1?1:n;l=0;h=0;while(1){b=f;i=J[p+(h<<2)>>2];if(K[i+84|0]){i=d}else{i=J[i+68>>2];b=J[i+(f<<2)>>2];i=J[i+(d<<2)>>2]}if((b|0)==(i|0)){h=h+1|0;l=(n|0)<=(h|0);if((h|0)!=(o|0)){continue}}break}if(!l){continue}break}break n}k=e&m;g=J[J[c+32>>2]+(k<<2)>>2];if(!g){break o}n=J[c+56>>2];while(1){g=J[g>>2];if(!g){break o}b=J[g+4>>2];if((b|0)!=(e|0)&(b&m)!=(k|0)){break o}o=J[n+8>>2];b=J[n+12>>2]-o|0;if((b|0)<4){break n}d=J[g+8>>2];p=b>>2;v=(p|0)<=1?1:p;l=0;h=0;while(1){b=f;i=J[o+(h<<2)>>2];if(K[i+84|0]){i=d}else{i=J[i+68>>2];b=J[i+(f<<2)>>2];i=J[i+(d<<2)>>2]}if((b|0)==(i|0)){h=h+1|0;l=(p|0)<=(h|0);if((h|0)!=(v|0)){continue}}break}if(!l){continue}break}break n}d=pl(16);J[d+8>>2]=f;J[d+4>>2]=e;J[d>>2]=0;J[d+12>>2]=u;y=Q(J[c+44>>2]+1>>>0);t=N[c+52>>2];p:{if(y>Q(t*Q(j>>>0))?0:j){break p}g=c+32|0;i=(j-1&j)!=0|j>>>0<3|j<<1;t=Q(W(Q(y/t)));q:{if(t=Q(0)){b=~~t>>>0;break q}b=0}ik(g,b>>>0>>0?i:b);j=J[c+36>>2];b=j-1|0;if(!(b&j)){k=b&e;break p}if(e>>>0>>0){k=e;break p}k=(e>>>0)%(j>>>0)|0}e=J[c+32>>2]+(k<<2)|0;b=J[e>>2];r:{s:{if(!b){J[d>>2]=J[c+40>>2];J[c+40>>2]=d;J[e>>2]=z;b=J[d>>2];if(!b){break r}b=J[b+4>>2];e=j-1|0;t:{if(!(e&j)){b=b&e;break t}if(b>>>0>>0){break t}b=(b>>>0)%(j>>>0)|0}b=J[c+32>>2]+(b<<2)|0;break s}J[d>>2]=J[b>>2]}J[b>>2]=d}J[c+44>>2]=J[c+44>>2]+1;q=J[c+8>>2];r=J[c+4>>2];s=J[c+16>>2]}J[(f<<2)+s>>2]=u;u=u+1|0;if((q|0)!=(r|0)){J[r>>2]=f;r=r+4|0;J[c+4>>2]=r;break f}e=J[c>>2];b=q-e|0;i=b>>2;d=i+1|0;if(d>>>0>=1073741824){break c}g=b>>>1|0;d=b>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(d){if(d>>>0>=1073741824){break b}b=pl(d<<2)}else{b=0}h=b+(i<<2)|0;J[h>>2]=f;r=h+4|0;if((e|0)!=(q|0)){while(1){h=h-4|0;q=q-4|0;J[h>>2]=J[q>>2];if((e|0)!=(q|0)){continue}break}}q=b+(d<<2)|0;J[c+8>>2]=q;J[c+4>>2]=r;J[c>>2]=h;if(e){hl(e)}}f=f+1|0;b=J[a+80>>2];if(f>>>0>>0){continue}break}if((b|0)!=(u|0)){ka[J[J[a>>2]+24>>2]](a,c+16|0,c);J[a+80>>2]=u}a=J[c>>2];if(!a){break d}J[c+4>>2]=a;hl(a)}a=J[c+16>>2];if(a){J[c+20>>2]=a;hl(a)}f=J[c+40>>2];if(f){while(1){a=J[f>>2];hl(f);f=a;if(f){continue}break}}a=J[c+32>>2];J[c+32>>2]=0;if(a){hl(a)}fa=c- -64|0;return}Ia();C()}Ya();C()}Ia();C()}function kd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0,n=Q(0),o=0;a:{if(!d){break a}b:{c:{switch(J[a+28>>2]-1|0){case 0:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=H[b|0];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 1:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 2:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=I[b>>1];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 3:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=L[b>>1];J[e+4>>2]=0;b=b+2|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 4:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;i=J[b>>2];J[e>>2]=i;J[e+4>>2]=i>>31;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 5:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=0;b=b+4|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 6:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}i=J[b+4>>2];e=(g<<3)+d|0;J[e>>2]=J[b>>2];J[e+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 7:e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=J[b>>2];i=J[b+4>>2];if((i|0)<0){break a}j=(g<<3)+d|0;J[j>>2]=e;J[j+4>>2]=i;b=b+8|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 8:d:{e=K[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break d}if(K[a+32|0]){break a}e=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){k=N[g>>2];if(k>=Q(0x8000000000000000)|k=Q(1)?~~(k>Q(0)?Q(T(Q(V(Q(k*Q(2.3283064365386963e-10)))),Q(4294967296))):Q(W(Q(Q(k-Q(~~k>>>0>>>0))*Q(2.3283064365386963e-10)))))>>>0:0;m=~~k>>>0;break e}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break d}g=g+4|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 9:f:{e=K[a+24|0];f=c&255;if(!(e>>>0>>0?e:f)){break f}if(K[a+32|0]){break a}e=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+e|0;e=J[a>>2];i=J[e+4>>2];e=J[e>>2];if((b|0)>=(i-e|0)){break a}g=b+e|0;h=c&255;b=0;while(1){l=O[g>>3];if(l>=0x8000000000000000|l<-0x8000000000000000|l!=l){break a}o=R(l);if(o==Infinity){break a}e=(b<<3)+d|0;g:{if(o<0x8000000000000000){j=R(l)>=1?~~(l>0?T(V(l*2.3283064365386963e-10),4294967295):W((l-+(~~l>>>0>>>0))*2.3283064365386963e-10))>>>0:0;m=~~l>>>0;break g}j=-2147483648;m=0}J[e>>2]=m;J[e+4>>2]=j;b=b+1|0;e=K[a+24|0];if(b>>>0>=(e>>>0>>0?e:h)>>>0){break f}g=g+8|0;if(i>>>0>g>>>0){continue}break}break a}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0;break b;case 10:break c;default:break a}}e=K[a+24|0];f=c&255;if(e>>>0>>0?e:f){e=J[a>>2];h=J[e>>2];i=J[a+48>>2];b=em(J[a+40>>2],J[a+44>>2],b,0);j=b;b=b+i|0;b=b+h|0;h=J[e+4>>2];while(1){if(b>>>0>=h>>>0){break a}e=(g<<3)+d|0;J[e>>2]=K[b|0];J[e+4>>2]=0;b=b+1|0;g=g+1|0;e=K[a+24|0];if(g>>>0<(e>>>0>>0?e:f)>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=(e<<3)+d|0;a=(c&255)-e|0}pk(d,0,a<<3)}}function tg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=fa-16|0;fa=e;f=J[a+48>>2];b=pl(32);J[e>>2]=b;J[e+4>>2]=20;J[e+8>>2]=-2147483616;c=K[1359]|K[1360]<<8|(K[1361]<<16|K[1362]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1355]|K[1356]<<8|(K[1357]<<16|K[1358]<<24);d=K[1351]|K[1352]<<8|(K[1353]<<16|K[1354]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1347]|K[1348]<<8|(K[1349]<<16|K[1350]<<24);d=K[1343]|K[1344]<<8|(K[1345]<<16|K[1346]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+20|0]=0;f=ri(f+24|0,e);if(H[e+11|0]<0){hl(J[e>>2])}g=J[a+48>>2];b=pl(32);J[e>>2]=b;J[e+4>>2]=22;J[e+8>>2]=-2147483616;c=K[1338]|K[1339]<<8|(K[1340]<<16|K[1341]<<24);d=K[1334]|K[1335]<<8|(K[1336]<<16|K[1337]<<24);H[b+14|0]=d;H[b+15|0]=d>>>8;H[b+16|0]=d>>>16;H[b+17|0]=d>>>24;H[b+18|0]=c;H[b+19|0]=c>>>8;H[b+20|0]=c>>>16;H[b+21|0]=c>>>24;c=K[1332]|K[1333]<<8|(K[1334]<<16|K[1335]<<24);d=K[1328]|K[1329]<<8|(K[1330]<<16|K[1331]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1324]|K[1325]<<8|(K[1326]<<16|K[1327]<<24);d=K[1320]|K[1321]<<8|(K[1322]<<16|K[1323]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+22|0]=0;g=ri(g+24|0,e);if(H[e+11|0]<0){hl(J[e>>2])}b=J[a+64>>2];J[a+64>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}b=J[a+56>>2];h=J[b+100>>2];i=J[a+48>>2];j=J[b+96>>2];b=pl(32);J[e>>2]=b;J[e+4>>2]=18;J[e+8>>2]=-2147483616;c=K[1566]|K[1567]<<8;H[b+16|0]=c;H[b+17|0]=c>>>8;c=K[1562]|K[1563]<<8|(K[1564]<<16|K[1565]<<24);d=K[1558]|K[1559]<<8|(K[1560]<<16|K[1561]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1554]|K[1555]<<8|(K[1556]<<16|K[1557]<<24);d=K[1550]|K[1551]<<8|(K[1552]<<16|K[1553]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+18|0]=0;b=pi(i,e,-1);if(H[e+11|0]<0){hl(J[e>>2])}c=(h-j|0)/12|0;a:{b:{c:{d:{e:{f:{g:{h:{switch(b+1|0){case 1:break f;case 3:break g;case 0:break h;default:break c}}if(!f){break g}if(c>>>0<1e3|(Pb(J[a+48>>2])|0)>4|g^1){break e}}b=J[a+44>>2];H[e|0]=2;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],e,e+1|0)}b=pl(360);J[b+4>>2]=0;J[b+8>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b>>2]=10592;J[b+12>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+88>>2]=0;J[b+92>>2]=0;J[b+96>>2]=0;J[b+100>>2]=0;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=1065353216;J[b+156>>2]=0;J[b+160>>2]=0;J[b+148>>2]=0;J[b+152>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+164>>2]=-1;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;c=b+200|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=b+232|0;J[c>>2]=0;J[c+4>>2]=0;H[c+24|0]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[b+304>>2]=0;J[b+308>>2]=0;J[b+296>>2]=0;J[b+300>>2]=0;J[b+288>>2]=0;J[b+292>>2]=0;J[b+280>>2]=0;J[b+284>>2]=0;J[b+272>>2]=0;J[b+276>>2]=0;J[b+264>>2]=0;J[b+268>>2]=0;H[b+352|0]=0;J[b+344>>2]=0;J[b+336>>2]=0;J[b+340>>2]=0;J[b+328>>2]=2;J[b+332>>2]=7;J[b+320>>2]=-1;J[b+324>>2]=0;J[b+312>>2]=0;J[b+316>>2]=-1;break d}if(!f){break c}}b=J[a+44>>2];H[e|0]=0;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],e,e+1|0)}b=pl(296);J[b+4>>2]=0;J[b+8>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b>>2]=10540;J[b+12>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+88>>2]=0;J[b+92>>2]=0;J[b+96>>2]=0;J[b+100>>2]=0;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+136>>2]=1065353216;J[b+156>>2]=0;J[b+160>>2]=0;J[b+148>>2]=0;J[b+152>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+164>>2]=-1;J[b+176>>2]=0;J[b+180>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+192>>2]=0;c=b+200|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=b+232|0;J[c>>2]=0;J[c+4>>2]=0;H[c+24|0]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;H[b+288|0]=0;J[b+280>>2]=0;J[b+284>>2]=0;J[b+272>>2]=0;J[b+276>>2]=0;J[b+264>>2]=0;J[b+268>>2]=0}c=J[a+64>>2];J[a+64>>2]=b;if(!c){break b}ka[J[J[c>>2]+4>>2]](c)}b=J[a+64>>2];if(b){break b}a=0;break a}a=ka[J[J[b>>2]+8>>2]](b,a)|0}fa=e+16|0;return a|0}function jd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;i=fa-80|0;fa=i;f=-1;h=-1;a:{if((b|0)==-1){break a}h=b+1|0;f=(h>>>0)%3|0?h:b-2|0;h=b-1|0;if((b>>>0)%3|0){break a}h=b+2|0}e=J[a+36>>2];b=J[e>>2];b:{c:{d:{e:{f:{g:{e=J[e+4>>2]-b>>2;g=f<<2;f=J[J[a+32>>2]+28>>2];g=J[g+f>>2];if(e>>>0<=g>>>0){break g}h=J[f+(h<<2)>>2];if(h>>>0>=e>>>0){break g}h:{j=J[b+(h<<2)>>2];g=J[b+(g<<2)>>2];if((j|0)>=(d|0)|(g|0)>=(d|0)){break h}b=(j<<3)+c|0;z=J[b+4>>2];f=(g<<3)+c|0;h=J[f+4>>2];f=J[f>>2];B=J[b>>2];if(!((f|0)!=(B|0)|(h|0)!=(z|0))){J[a+8>>2]=f;J[a+12>>2]=h;break c}b=J[J[a+4>>2]+(d<<2)>>2];J[i+72>>2]=0;J[i+76>>2]=0;e=i- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+56|0);b=J[J[a+4>>2]+(g<<2)>>2];J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+32|0);b=J[J[a+4>>2]+(j<<2)>>2];J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+8|0);b=J[i+16>>2];p=J[i+40>>2];u=b-p|0;N=J[i+44>>2];b=J[i+20>>2]-(N+(b>>>0

>>0)|0)|0;I=b;e=em(u,b,u,b);j=ja;b=J[i+8>>2];x=J[i+32>>2];D=b-x|0;O=J[i+36>>2];b=J[i+12>>2]-(O+(b>>>0>>0)|0)|0;L=b;k=e;e=em(D,b,D,b);b=k+e|0;k=ja+j|0;k=b>>>0>>0?k+1|0:k;e=J[i+24>>2];E=J[i+48>>2];F=e-E|0;P=J[i+52>>2];e=J[i+28>>2]-(P+(e>>>0>>0)|0)|0;M=e;m=b;b=em(F,e,F,e);o=m+b|0;e=ja+k|0;q=b>>>0>o>>>0?e+1|0:e;if(!(q|o)){break h}b=0;v=gm(-1,2147483647,o,q);e=f;f=e>>31;G=f;r=e;e=f>>31;g=e;l=r^e;e=l-e|0;f=(f^g)-((g>>>0>l>>>0)+g|0)|0;g=f;f=h>>31;Q=f;s=h;h=f>>31;l=s^h;n=l-h|0;k=f>>31;h=(k^f)-((h>>>0>l>>>0)+k|0)|0;f=(h|0)==(g|0)&e>>>0>n>>>0|g>>>0>h>>>0;e=f?e:n;j=ja;h=f?g:h;if((j|0)==(h|0)&e>>>0>v>>>0|h>>>0>j>>>0){break b}j=J[i+64>>2];R=J[i+68>>2];h=em(j-p|0,R-((j>>>0

>>0)+N|0)|0,u,I);f=ja;l=J[i+56>>2];S=J[i+60>>2];e=em(l-x|0,S-((l>>>0>>0)+O|0)|0,D,L);h=e+h|0;g=ja+f|0;g=e>>>0>h>>>0?g+1|0:g;f=h;n=J[i+72>>2];T=J[i+76>>2];h=em(n-E|0,T-((n>>>0>>0)+P|0)|0,F,M);t=f+h|0;f=ja+g|0;f=h>>>0>t>>>0?f+1|0:f;v=f;e=f>>31;k=e^t;h=k-e|0;k=(e^f)-((e>>>0>k>>>0)+e|0)|0;f=B;B=f-r|0;f=(f>>31)-((f>>>0>>0)+G|0)|0;U=f;A=f>>31;m=A^B;g=m-A|0;e=f>>31;f=(e^f)-((m>>>0>>0)+e|0)|0;m=f;A=z-s|0;f=(z>>31)-((s>>>0>z>>>0)+Q|0)|0;z=f;e=g;W=e;w=f>>31;y=w^A;V=y-w|0;g=f>>31;f=(g^f)-((w>>>0>y>>>0)+g|0)|0;e=(m|0)==(f|0)&e>>>0>V>>>0|f>>>0>>0;f=gm(-1,2147483647,e?W:V,e?m:f);e=ja;if((e|0)==(k|0)&f>>>0>>0|e>>>0>>0){break b}f=h;h=k;e=L>>31;g=e;m=e^D;e=m-e|0;g=(g^L)-((g>>>0>m>>>0)+g|0)|0;k=I>>31;w=k^u;y=w-k|0;k=(k^I)-((k>>>0>w>>>0)+k|0)|0;m=(g|0)==(k|0)&e>>>0>y>>>0|g>>>0>k>>>0;e=m?e:y;g=m?g:k;k=M>>31;m=e;w=k^F;y=w-k|0;k=(k^M)-((k>>>0>w>>>0)+k|0)|0;e=(g|0)==(k|0)&e>>>0>y>>>0|g>>>0>k>>>0;e=gm(-1,2147483647,e?m:y,e?g:k);g=ja;if((g|0)==(h|0)&e>>>0>>0|g>>>0>>0){break b}b=em(t,v,A,z);h=ja;f=em(o,q,s,Q);s=f+b|0;b=ja+h|0;k=f>>>0>s>>>0?b+1|0:b;b=em(t,v,B,U);h=ja;f=b;b=em(r,G,o,q);r=f+b|0;e=ja+h|0;G=b>>>0>r>>>0?e+1|0:e;h=1;b=0;g=fm(em(t,v,u,I),ja,o,q);e=g+p|0;f=ja+N|0;f=e>>>0>>0?f+1|0:f;g=j-e|0;f=R-((e>>>0>j>>>0)+f|0)|0;j=em(g,f,g,f);p=ja;e=fm(em(t,v,D,L),ja,o,q);f=e+x|0;g=ja+O|0;g=e>>>0>f>>>0?g+1|0:g;e=l-f|0;f=S-((f>>>0>l>>>0)+g|0)|0;g=em(e,f,e,f);f=g+j|0;e=ja+p|0;e=f>>>0>>0?e+1|0:e;l=f;j=fm(em(t,v,F,M),ja,o,q);g=j+E|0;f=ja+P|0;f=g>>>0>>0?f+1|0:f;j=n-g|0;f=T-((g>>>0>n>>>0)+f|0)|0;j=em(j,f,j,f);f=j+l|0;g=ja+e|0;f=em(f,f>>>0>>0?g+1|0:g,o,q);e=ja;j=e;if(!e&f>>>0<=1){break f}l=f;while(1){g=b<<1|h>>>31;h=h<<1;b=g;n=!e&l>>>0>7|(e|0)!=0;l=(e&3)<<30|l>>>2;e=e>>>2|0;if(n){continue}break}break e}if((d|0)>(g|0)){b=g<<1}else{if((d|0)<=0){J[a+8>>2]=0;J[a+12>>2]=0;break c}b=(d<<1)-2|0}b=(b<<2)+c|0;J[a+8>>2]=J[b>>2];J[a+12>>2]=J[b+4>>2];break c}Xc();C()}b=j;h=f;if(f-1|0){break d}}while(1){e=gm(f,j,h,b);b=b+ja|0;g=h;h=e+h|0;b=g>>>0>h>>>0?b+1|0:b;h=(b&1)<<31|h>>>1;b=b>>>1|0;e=em(h,b,h,b);g=ja;if((j|0)==(g|0)&e>>>0>f>>>0|g>>>0>j>>>0){continue}break}}t=a+16|0;j=(d<<3)+c|0;d=J[j+4>>2];g=em(h,b,B,U);p=ja;c=fm(s-g|0,k-(p+(g>>>0>s>>>0)|0)|0,o,q);f=d-c|0;e=d>>31;l=e-(ja+(c>>>0>d>>>0)|0)|0;n=em(f,l,f,l);u=ja;j=J[j>>2];f=j>>31;v=f;l=em(h,b,A,z);x=ja;b=G+x|0;h=l+r|0;b=h>>>0>>0?b+1|0:b;m=n;h=fm(h,b,o,q);b=j-h|0;f=f-(ja+(h>>>0>j>>>0)|0)|0;n=em(b,f,b,f);b=m+n|0;f=ja+u|0;u=b;n=b>>>0>>0?f+1|0:f;f=e;e=k+p|0;b=g+s|0;e=b>>>0>>0?e+1|0:e;b=fm(b,e,o,q);e=d-b|0;d=f-(ja+(b>>>0>d>>>0)|0)|0;e=em(e,d,e,d);p=ja;d=fm(r-l|0,G-((l>>>0>r>>>0)+x|0)|0,o,q);f=j-d|0;g=v-(ja+(d>>>0>j>>>0)|0)|0;j=em(f,g,f,g);g=j+e|0;f=ja+p|0;f=g>>>0>>0?f+1|0:f;i:{if((f|0)==(n|0)&g>>>0>u>>>0|f>>>0>n>>>0){H[i+7|0]=1;bd(t,i+7|0);break i}H[i+7|0]=0;bd(t,i+7|0);c=b;h=d}J[a+8>>2]=h;J[a+12>>2]=c}b=1}fa=i+80|0;return b}function Cd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;i=fa-80|0;fa=i;h=-1;a:{if((b|0)==-1){break a}f=J[a+32>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){h=J[J[f>>2]+(e<<2)>>2]}e=((b>>>0)%3|0?-1:2)+b|0;b=-1;b=(e|0)!=-1?J[J[f>>2]+(e<<2)>>2]:b;e=J[a+36>>2];f=J[e>>2];e=J[e+4>>2]-f>>2;if(e>>>0<=h>>>0|b>>>0>=e>>>0){break a}b:{c:{d:{e:{f:{g:{j=J[f+(b<<2)>>2];g=J[f+(h<<2)>>2];if((j|0)>=(d|0)|(g|0)>=(d|0)){break g}b=(j<<3)+c|0;z=J[b+4>>2];f=(g<<3)+c|0;h=J[f+4>>2];f=J[f>>2];B=J[b>>2];if(!((f|0)!=(B|0)|(h|0)!=(z|0))){J[a+8>>2]=f;J[a+12>>2]=h;break c}b=J[J[a+4>>2]+(d<<2)>>2];J[i+72>>2]=0;J[i+76>>2]=0;e=i- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[i+56>>2]=0;J[i+60>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+56|0);b=J[J[a+4>>2]+(g<<2)>>2];J[i+48>>2]=0;J[i+52>>2]=0;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+32|0);b=J[J[a+4>>2]+(j<<2)>>2];J[i+24>>2]=0;J[i+28>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;e=J[a>>2];if(!K[e+84|0]){b=J[J[e+68>>2]+(b<<2)>>2]}kd(e,b,H[e+24|0],i+8|0);b=J[i+16>>2];p=J[i+40>>2];u=b-p|0;N=J[i+44>>2];b=J[i+20>>2]-(N+(b>>>0

>>0)|0)|0;I=b;e=em(u,b,u,b);j=ja;b=J[i+8>>2];x=J[i+32>>2];D=b-x|0;O=J[i+36>>2];b=J[i+12>>2]-(O+(b>>>0>>0)|0)|0;L=b;k=e;e=em(D,b,D,b);b=k+e|0;k=ja+j|0;k=b>>>0>>0?k+1|0:k;e=J[i+24>>2];E=J[i+48>>2];F=e-E|0;P=J[i+52>>2];e=J[i+28>>2]-(P+(e>>>0>>0)|0)|0;M=e;m=b;b=em(F,e,F,e);o=m+b|0;e=ja+k|0;q=b>>>0>o>>>0?e+1|0:e;if(!(q|o)){break g}b=0;v=gm(-1,2147483647,o,q);e=f;f=e>>31;G=f;r=e;e=f>>31;g=e;l=r^e;e=l-e|0;f=(f^g)-((g>>>0>l>>>0)+g|0)|0;g=f;f=h>>31;Q=f;s=h;h=f>>31;l=s^h;n=l-h|0;k=f>>31;h=(k^f)-((h>>>0>l>>>0)+k|0)|0;f=(h|0)==(g|0)&e>>>0>n>>>0|g>>>0>h>>>0;e=f?e:n;j=ja;h=f?g:h;if((j|0)==(h|0)&e>>>0>v>>>0|h>>>0>j>>>0){break b}j=J[i+64>>2];R=J[i+68>>2];h=em(j-p|0,R-((j>>>0

>>0)+N|0)|0,u,I);f=ja;l=J[i+56>>2];S=J[i+60>>2];e=em(l-x|0,S-((l>>>0>>0)+O|0)|0,D,L);h=e+h|0;g=ja+f|0;g=e>>>0>h>>>0?g+1|0:g;f=h;n=J[i+72>>2];T=J[i+76>>2];h=em(n-E|0,T-((n>>>0>>0)+P|0)|0,F,M);t=f+h|0;f=ja+g|0;f=h>>>0>t>>>0?f+1|0:f;v=f;e=f>>31;k=e^t;h=k-e|0;k=(e^f)-((e>>>0>k>>>0)+e|0)|0;f=B;B=f-r|0;f=(f>>31)-((f>>>0>>0)+G|0)|0;U=f;A=f>>31;m=A^B;g=m-A|0;e=f>>31;f=(e^f)-((m>>>0>>0)+e|0)|0;m=f;A=z-s|0;f=(z>>31)-((s>>>0>z>>>0)+Q|0)|0;z=f;e=g;W=e;w=f>>31;y=w^A;V=y-w|0;g=f>>31;f=(g^f)-((w>>>0>y>>>0)+g|0)|0;e=(m|0)==(f|0)&e>>>0>V>>>0|f>>>0>>0;f=gm(-1,2147483647,e?W:V,e?m:f);e=ja;if((e|0)==(k|0)&f>>>0>>0|e>>>0>>0){break b}f=h;h=k;e=L>>31;g=e;m=e^D;e=m-e|0;g=(g^L)-((g>>>0>m>>>0)+g|0)|0;k=I>>31;w=k^u;y=w-k|0;k=(k^I)-((k>>>0>w>>>0)+k|0)|0;m=(g|0)==(k|0)&e>>>0>y>>>0|g>>>0>k>>>0;e=m?e:y;g=m?g:k;k=M>>31;m=e;w=k^F;y=w-k|0;k=(k^M)-((k>>>0>w>>>0)+k|0)|0;e=(g|0)==(k|0)&e>>>0>y>>>0|g>>>0>k>>>0;e=gm(-1,2147483647,e?m:y,e?g:k);g=ja;if((g|0)==(h|0)&e>>>0>>0|g>>>0>>0){break b}b=em(t,v,A,z);h=ja;f=em(o,q,s,Q);s=f+b|0;b=ja+h|0;k=f>>>0>s>>>0?b+1|0:b;b=em(t,v,B,U);h=ja;f=b;b=em(r,G,o,q);r=f+b|0;e=ja+h|0;G=b>>>0>r>>>0?e+1|0:e;h=1;b=0;g=fm(em(t,v,u,I),ja,o,q);e=g+p|0;f=ja+N|0;f=e>>>0>>0?f+1|0:f;g=j-e|0;f=R-((e>>>0>j>>>0)+f|0)|0;j=em(g,f,g,f);p=ja;e=fm(em(t,v,D,L),ja,o,q);f=e+x|0;g=ja+O|0;g=e>>>0>f>>>0?g+1|0:g;e=l-f|0;f=S-((f>>>0>l>>>0)+g|0)|0;g=em(e,f,e,f);f=g+j|0;e=ja+p|0;e=f>>>0>>0?e+1|0:e;l=f;j=fm(em(t,v,F,M),ja,o,q);g=j+E|0;f=ja+P|0;f=g>>>0>>0?f+1|0:f;j=n-g|0;f=T-((g>>>0>n>>>0)+f|0)|0;j=em(j,f,j,f);f=j+l|0;g=ja+e|0;f=em(f,f>>>0>>0?g+1|0:g,o,q);e=ja;j=e;if(!e&f>>>0<=1){break f}l=f;while(1){g=b<<1|h>>>31;h=h<<1;b=g;n=!e&l>>>0>7|(e|0)!=0;l=(e&3)<<30|l>>>2;e=e>>>2|0;if(n){continue}break}break e}if((d|0)>(g|0)){b=g<<1}else{if((d|0)<=0){J[a+8>>2]=0;J[a+12>>2]=0;break c}b=(d<<1)-2|0}b=(b<<2)+c|0;J[a+8>>2]=J[b>>2];J[a+12>>2]=J[b+4>>2];break c}b=j;h=f;if(f-1|0){break d}}while(1){e=gm(f,j,h,b);b=b+ja|0;g=h;h=e+h|0;b=g>>>0>h>>>0?b+1|0:b;h=(b&1)<<31|h>>>1;b=b>>>1|0;e=em(h,b,h,b);g=ja;if((j|0)==(g|0)&e>>>0>f>>>0|g>>>0>j>>>0){continue}break}}t=a+16|0;j=(d<<3)+c|0;d=J[j+4>>2];g=em(h,b,B,U);p=ja;c=fm(s-g|0,k-(p+(g>>>0>s>>>0)|0)|0,o,q);f=d-c|0;e=d>>31;l=e-(ja+(c>>>0>d>>>0)|0)|0;n=em(f,l,f,l);u=ja;j=J[j>>2];f=j>>31;v=f;l=em(h,b,A,z);x=ja;b=G+x|0;h=l+r|0;b=h>>>0>>0?b+1|0:b;m=n;h=fm(h,b,o,q);b=j-h|0;f=f-(ja+(h>>>0>j>>>0)|0)|0;n=em(b,f,b,f);b=m+n|0;f=ja+u|0;u=b;n=b>>>0>>0?f+1|0:f;f=e;e=k+p|0;b=g+s|0;e=b>>>0>>0?e+1|0:e;b=fm(b,e,o,q);e=d-b|0;d=f-(ja+(b>>>0>d>>>0)|0)|0;e=em(e,d,e,d);p=ja;d=fm(r-l|0,G-((l>>>0>r>>>0)+x|0)|0,o,q);f=j-d|0;g=v-(ja+(d>>>0>j>>>0)|0)|0;j=em(f,g,f,g);g=j+e|0;f=ja+p|0;f=g>>>0>>0?f+1|0:f;h:{if((f|0)==(n|0)&g>>>0>u>>>0|f>>>0>n>>>0){H[i+7|0]=1;bd(t,i+7|0);break h}H[i+7|0]=0;bd(t,i+7|0);c=b;h=d}J[a+8>>2]=h;J[a+12>>2]=c}b=1}fa=i+80|0;return b}Xc();C()}function Rb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=fa-16|0;fa=e;J[a+8>>2]=b;J[a>>2]=0;d=a+12|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=d+32|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+96|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+128|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+160|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+192|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+224|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+256|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+288|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+320|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+352|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+384|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+416|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+448|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+480|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+512|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+544|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+576|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+608|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+640|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+672|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+704|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+736|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+768|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+800|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+832|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+864|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+896|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+928|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+960|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;d=d+992|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1036|0;J[d>>2]=0;J[d+4>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1068|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1088|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=a+1108|0;J[d>>2]=0;J[d+4>>2]=0;J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[a+1136>>2]=0;J[a+1128>>2]=0;J[a+1132>>2]=0;h=a+1164|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+1140>>2]=0;J[a+1144>>2]=0;d=a+1156|0;J[d>>2]=0;J[d+4>>2]=0;d=a+1148|0;J[d>>2]=0;J[d+4>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;d=1;break a}d=b<<2;c=pl(d);J[a+1128>>2]=c;f=c+d|0;J[a+1136>>2]=f;pk(c,0,d);g=a+1148|0;J[g>>2]=0;J[a+1140>>2]=0;J[a+1144>>2]=0;J[a+1132>>2]=f;c=pl(d);J[a+1140>>2]=c;f=c+d|0;J[g>>2]=f;pk(c,0,d);g=a+1160|0;J[g>>2]=0;J[a+1152>>2]=0;J[a+1156>>2]=0;J[a+1144>>2]=f;c=pl(d);J[a+1152>>2]=c;f=c+d|0;J[g>>2]=f;pk(c,0,d);J[a+1156>>2]=f;c=pl(d);J[e>>2]=c;f=c+d|0;J[e+8>>2]=f;pk(c,0,d);J[e+4>>2]=f;d=b<<5|1}$b(h,d,e);c=J[e>>2];if(c){J[e+4>>2]=c;hl(c)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;c=pl(b);J[e>>2]=c;f=b+c|0;J[e+8>>2]=f;pk(c,0,b);J[e+4>>2]=f}$b(a+1176|0,d,e);b=J[e>>2];if(b){J[e+4>>2]=b;hl(b)}fa=e+16|0;return a}function Ah(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{if(J[a+92>>2]==J[a+88>>2]){break e}c=J[a+52>>2];f:{if((c|0)!=J[a+56>>2]){J[c>>2]=b;J[a+52>>2]=c+4;break f}h=J[a+48>>2];g=c-h|0;d=g>>2;f=d+1|0;if(f>>>0>=1073741824){break a}e=g>>>1|0;g=g>>>0>=2147483644?1073741823:f>>>0>>0?e:f;if(g){if(g>>>0>=1073741824){break d}e=pl(g<<2)}else{e=0}f=e+(d<<2)|0;J[f>>2]=b;d=f+4|0;if((c|0)!=(h|0)){while(1){f=f-4|0;c=c-4|0;J[f>>2]=J[c>>2];if((c|0)!=(h|0)){continue}break}}J[a+56>>2]=e+(g<<2);J[a+52>>2]=d;J[a+48>>2]=f;if(!h){break f}hl(h)}J[a+84>>2]=0;c=-1;e=-1;g:{if((b|0)==-1){break g}d=J[a+4>>2];e=b+1|0;e=(e>>>0)%3|0?e:b-2|0;if((e|0)!=-1){c=J[J[d>>2]+(e<<2)>>2]}h:{if((b>>>0)%3|0){l=b-1|0;break h}l=b+2|0;e=-1;if((l|0)==-1){break g}}e=J[J[d>>2]+(l<<2)>>2]}i=e>>>3&536870908;d=J[a+36>>2];h=d+(c>>>3&536870908)|0;g=J[h>>2];f=1<>2]=f|g;f=a+8|0;if((b|0)!=-1){d=b+1|0;d=(d>>>0)%3|0?d:b-2|0}else{d=-1}Bh(f,c,d);d=J[a+36>>2]}f=d+i|0;d=J[f>>2];c=1<>2]=c|d;d=a+8|0;c=-1;i:{if((b|0)==-1){break i}c=b-1|0;if((b>>>0)%3|0){break i}c=b+2|0}Bh(d,e,c)}c=-1;c=(b|0)!=-1?J[J[J[a+4>>2]>>2]+(b<<2)>>2]:c;f=J[a+36>>2]+(c>>>3&536870908)|0;d=J[f>>2];e=1<>2]=d|e;Bh(a+8|0,c,b)}d=J[a+84>>2];if((d|0)>2){break e}while(1){e=P(d,12)+a|0;b=J[e+52>>2];if((b|0)==J[e+48>>2]){d=d+1|0;if((d|0)!=3){continue}break e}b=b-4|0;c=J[b>>2];J[e+52>>2]=b;J[a+84>>2]=d;if((c|0)==-1){break e}f=J[a+24>>2];b=(c>>>0)/3|0;j:{if(J[f+(b>>>3&268435452)>>2]>>>b&1){break j}k:{while(1){k=(c>>>0)/3|0;b=(k>>>3&268435452)+f|0;J[b>>2]=J[b>>2]|1<>2]>>2]+(c<<2)>>2]:d;f=J[a+36>>2]+(d>>>3&536870908)|0;e=J[f>>2];b=1<>2]=b|e;i=J[(J[J[a+16>>2]+96>>2]+P(k,12)|0)+((c>>>0)%3<<2)>>2];l=J[J[a+20>>2]+4>>2];f=J[l+4>>2];t:{if((f|0)!=J[l+8>>2]){J[f>>2]=i;J[l+4>>2]=f+4;break t}j=J[l>>2];h=f-j|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break s}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=pl(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=i;g=b+4|0;if((f|0)!=(j|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(j|0)){continue}break}}J[l+8>>2]=e+(h<<2);J[l+4>>2]=g;J[l>>2]=b;if(!j){break t}hl(j)}j=J[a+12>>2];f=J[j+4>>2];u:{if((f|0)!=J[j+8>>2]){J[f>>2]=c;J[j+4>>2]=f+4;break u}i=J[j>>2];h=f-i|0;g=h>>2;e=g+1|0;if(e>>>0>=1073741824){break r}b=h>>>1|0;h=h>>>0>=2147483644?1073741823:b>>>0>e>>>0?b:e;if(h){if(h>>>0>=1073741824){break d}e=pl(h<<2)}else{e=0}b=e+(g<<2)|0;J[b>>2]=c;g=b+4|0;if((f|0)!=(i|0)){while(1){b=b-4|0;f=f-4|0;J[b>>2]=J[f>>2];if((f|0)!=(i|0)){continue}break}}J[j+8>>2]=e+(h<<2);J[j+4>>2]=g;J[j>>2]=b;if(!i){break u}hl(i)}b=J[a+12>>2];J[J[b+12>>2]+(d<<2)>>2]=J[b+24>>2];J[b+24>>2]=J[b+24>>2]+1}if((c|0)==-1){break k}g=J[a+4>>2];f=-1;b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){f=J[J[g+12>>2]+(b<<2)>>2]}v:{w:{if((P(k,3)|0)!=(c|0)){d=c-1|0;break w}d=c+2|0;c=-1;if((d|0)==-1){break v}}c=J[J[g+12>>2]+(d<<2)>>2]}d=(c|0)==-1;e=(c>>>0)/3|0;if((f|0)!=-1){b=(f>>>0)/3|0;b=J[J[a+24>>2]+(b>>>3&268435452)>>2]&1<>2]+(b>>>3&536870908)>>2]>>>b&1){break x}k=0;b=J[J[g>>2]+(c<<2)>>2];if(!(J[J[a+36>>2]+(b>>>3&536870908)>>2]>>>b&1)){b=J[a+88>>2]+(b<<2)|0;e=J[b>>2];J[b>>2]=e+1;k=(e|0)<=0?2:1}if(J[a+84>>2]>=(k|0)&l){break m}j=P(k,12)+a|0;b=J[j+52>>2];y:{if((b|0)!=J[j+56>>2]){J[b>>2]=c;J[j+52>>2]=b+4;break y}i=J[j+48>>2];h=b-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break c}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=pl(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=c;c=d+4|0;if((b|0)!=(i|0)){while(1){d=d-4|0;b=b-4|0;J[d>>2]=J[b>>2];if((b|0)!=(i|0)){continue}break}}J[j+48>>2]=d;J[j+52>>2]=c;J[j+56>>2]=e+(g<<2);if(!i){break y}hl(i)}if(J[a+84>>2]<=(k|0)){break x}J[a+84>>2]=k}if(l){break k}c=-1;if((f|0)==-1){break n}}c=J[J[J[a+4>>2]>>2]+(f<<2)>>2]}b=0;if(!(J[J[a+36>>2]+(c>>>3&536870908)>>2]>>>c&1)){b=J[a+88>>2]+(c<<2)|0;c=J[b>>2];J[b>>2]=c+1;b=(c|0)<=0?2:1}if(J[a+84>>2]<(b|0)){break l}c=f}f=J[a+24>>2];continue}break}k=P(b,12)+a|0;c=J[k+52>>2];z:{if((c|0)!=J[k+56>>2]){J[c>>2]=f;J[k+52>>2]=c+4;break z}i=J[k+48>>2];h=c-i|0;d=h>>2;g=d+1|0;if(g>>>0>=1073741824){break b}e=h>>>1|0;g=h>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break d}e=pl(g<<2)}else{e=0}d=e+(d<<2)|0;J[d>>2]=f;f=d+4|0;if((c|0)!=(i|0)){while(1){d=d-4|0;c=c-4|0;J[d>>2]=J[c>>2];if((c|0)!=(i|0)){continue}break}}J[k+48>>2]=d;J[k+52>>2]=f;J[k+56>>2]=e+(g<<2);if(!i){break z}hl(i)}d=J[a+84>>2];if((d|0)<=(b|0)){break j}J[a+84>>2]=b;d=b;break j}d=J[a+84>>2]}if((d|0)<3){continue}break}}return 1}Ya();C()}Ia();C()}Ia();C()}Ia();C()}function dl(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;J[e+12>>2]=a;a:{if(a>>>0<=211){d=J[el(17792,17984,e+12|0)>>2];break a}if(a>>>0>=4294967292){ca();C()}f=(a>>>0)/210|0;d=P(f,210);J[e+8>>2]=a-d;g=el(17984,18176,e+8|0)-17984>>2;while(1){d=J[(g<<2)+17984>>2]+d|0;a=5;while(1){b:{if((a|0)==47){a=211;while(1){b=(d>>>0)/(a>>>0)|0;if(b>>>0>>0){break a}if((P(a,b)|0)==(d|0)){break b}b=a+10|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+12|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+16|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+18|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+22|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+28|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+30|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+36|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+40|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+42|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+46|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+52|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+58|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+60|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+66|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+70|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+72|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+78|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+82|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+88|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+96|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+100|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+102|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+106|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+108|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+112|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+120|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+126|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+130|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+136|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+138|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+142|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+148|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+150|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+156|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+162|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+166|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+168|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+172|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+178|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+180|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+186|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+190|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+192|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+196|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+198|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}if((P(b,c)|0)==(d|0)){break b}b=a+208|0;c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+210|0;if((P(b,c)|0)!=(d|0)){continue}break}break b}b=J[(a<<2)+17792>>2];c=(d>>>0)/(b>>>0)|0;if(b>>>0>c>>>0){break a}a=a+1|0;if((P(b,c)|0)!=(d|0)){continue}}break}d=g+1|0;a=(d|0)==48;g=a?0:d;f=a+f|0;d=P(f,210);continue}}fa=e+16|0;return d}function gb(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,n=0,o=0,p=Q(0),q=0,r=0,s=0,t=0,u=Q(0);f=fa-112|0;fa=f;J[f+88>>2]=0;J[f+92>>2]=0;J[f+80>>2]=0;J[f+84>>2]=0;J[f+96>>2]=1065353216;c=J[a+80>>2];J[f+40>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}h=c<<2;l=pl(h);J[f+32>>2]=l;c=h+l|0;J[f+40>>2]=c;pk(l,0,h);J[f+36>>2]=c;while(1){d=J[J[b>>2]>>2];h=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],o,0);j=c;c=c+h|0;e=c+d|0;c=K[e+12|0]|K[e+13|0]<<8|(K[e+14|0]<<16|K[e+15|0]<<24);J[f+72>>2]=K[e+8|0]|K[e+9|0]<<8|(K[e+10|0]<<16|K[e+11|0]<<24);J[f+76>>2]=c;c=K[e+4|0]|K[e+5|0]<<8|(K[e+6|0]<<16|K[e+7|0]<<24);J[f+64>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+68>>2]=c;k=K[e+12|0]|K[e+13|0]<<8|(K[e+14|0]<<16|K[e+15|0]<<24);h=K[e+8|0]|K[e+9|0]<<8|(K[e+10|0]<<16|K[e+11|0]<<24);J[f+56>>2]=h;J[f+60>>2]=k;d=K[e+4|0]|K[e+5|0]<<8|(K[e+6|0]<<16|K[e+7|0]<<24);c=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+48>>2]=c;J[f+52>>2]=d;J[f+16>>2]=h;J[f+20>>2]=k;J[f+8>>2]=c;J[f+12>>2]=d;J[f+24>>2]=q;c=0;m=f+8|0;h=J[m+12>>2]^(J[m+8>>2]^(J[m+4>>2]^(J[m>>2]^318)+239)+239)+239;b:{c:{n=f+80|0;j=J[n+4>>2];if(!j){break c}d=hm(j);d:{if(d>>>0>=2){c=h;if(c>>>0>=j>>>0){c=(h>>>0)%(j>>>0)|0}i=J[J[n>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}k=J[m+12>>2];r=J[m+8>>2];s=J[m+4>>2];e=J[m>>2];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(h|0)){if(d>>>0>=j>>>0){d=(d>>>0)%(j>>>0)|0}if((c|0)!=(d|0)){break c}}d=J[i+8>>2];e:{if((d|0)!=(e|0)){d=(d|0)==(e|0);break e}d=J[i+12>>2];if((d|0)!=(s|0)){d=(d|0)==(s|0);break e}d=J[i+16>>2];if((d|0)!=(r|0)){d=(d|0)==(r|0);break e}d=(k|0)==J[i+20>>2]}if(!d){continue}break}c=0;break b}c=h&j-1;i=J[J[n>>2]+(c<<2)>>2];if(!i){break c}}e=j-1|0;k=J[m+12>>2];t=J[m+8>>2];r=J[m+4>>2];s=J[m>>2];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(h|0)&(d&e)!=(c|0)){break c}d=J[i+8>>2];f:{if((d|0)!=(s|0)){d=(d|0)==(s|0);break f}d=J[i+12>>2];if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=J[i+16>>2];if((d|0)!=(t|0)){d=(d|0)==(t|0);break f}d=(k|0)==J[i+20>>2]}if(!d){continue}break}c=0;break b}i=pl(28);d=J[m+12>>2];J[i+16>>2]=J[m+8>>2];J[i+20>>2]=d;d=J[m+4>>2];J[i+8>>2]=J[m>>2];J[i+12>>2]=d;d=J[m+16>>2];J[i>>2]=0;J[i+4>>2]=h;J[i+24>>2]=d;p=Q(J[n+12>>2]+1>>>0);u=N[n+16>>2];g:{if(p>Q(u*Q(j>>>0))?0:j){break g}c=2;d=(j-1&j)!=0|j>>>0<3|j<<1;p=Q(W(Q(p/u)));h:{if(p=Q(0)){k=~~p>>>0;break h}k=0}d=d>>>0>k>>>0?d:k;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);j=J[n+4>>2]}j:{if(c>>>0<=j>>>0){if(c>>>0>=j>>>0){break j}k=j>>>0<3;p=Q(W(Q(Q(M[n+12>>2])/N[n+16>>2])));k:{if(p=Q(0)){d=~~p>>>0;break k}d=0}l:{m:{if(k){break m}if(hm(j)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(j>>>0<=c>>>0){break j}}sb(n,c)}j=J[n+4>>2];c=j-1|0;if(!(c&j)){c=c&h;break g}if(h>>>0>>0){c=h;break g}c=(h>>>0)%(j>>>0)|0}h=J[n>>2]+(c<<2)|0;c=J[h>>2];n:{o:{if(!c){c=n+8|0;J[i>>2]=J[c>>2];J[n+8>>2]=i;J[h>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];h=j-1|0;p:{if(!(h&j)){c=c&h;break p}if(c>>>0>>0){break p}c=(c>>>0)%(j>>>0)|0}c=J[n>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[n+12>>2]=J[n+12>>2]+1;c=1}H[f+108|0]=c;J[f+104>>2]=i;q:{if(!K[f+108|0]){J[(o<<2)+l>>2]=J[J[f+104>>2]+24>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,q)|0,f- -64|0,c);l=J[f+32>>2];J[l+(o<<2)>>2]=q;q=q+1|0}o=o+1|0;g=o?g:g+1|0;e=J[a+80>>2];if(!g&o>>>0>>0){continue}break}if((e|0)!=(q|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];e=J[a+68>>2];if((b|0)==(e|0)){break r}b=b-e>>2;g=b>>>0<=1?1:b;h=g&3;c=0;b=0;if(g-1>>>0>=3){o=g&-4;k=0;while(1){d=b<<2;g=d+e|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];g=e+(d|4)|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];g=e+(d|8)|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];g=e+(d|12)|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];b=b+4|0;k=k+4|0;if((o|0)!=(k|0)){continue}break}}if(!h){break r}while(1){g=e+(b<<2)|0;J[g>>2]=J[(J[g>>2]<<2)+l>>2];b=b+1|0;c=c+1|0;if((h|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;g=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){rb(g,e-c|0,2184);e=J[a+80>>2];break s}if(c>>>0<=e>>>0){break s}J[a+72>>2]=b+(e<<2)}if(!e){break r}d=J[g>>2];c=0;b=0;if(e>>>0>=4){o=e&-4;k=0;while(1){h=b<<2;J[h+d>>2]=J[h+l>>2];g=h|4;J[g+d>>2]=J[g+l>>2];g=h|8;J[g+d>>2]=J[g+l>>2];g=h|12;J[g+d>>2]=J[g+l>>2];b=b+4|0;k=k+4|0;if((o|0)!=(k|0)){continue}break}}o=e&3;if(!o){break r}while(1){g=b<<2;J[g+d>>2]=J[g+l>>2];b=b+1|0;c=c+1|0;if((o|0)!=(c|0)){continue}break}}J[a+80>>2]=q}hl(l)}b=J[f+88>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[f+80>>2];J[f+80>>2]=0;if(a){hl(a)}fa=f+112|0;return q}Ia();C()}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=fa-32|0;fa=h;a:{b:{if(!J[J[a+8>>2]+80>>2]){e=1;break b}H[h+31|0]=254;d=J[a+36>>2];if(d){if(!(ka[J[J[a>>2]+40>>2]](a,d)|0)){break b}d=J[a+36>>2];n=h,o=ka[J[J[d>>2]+8>>2]](d)|0,H[n+31|0]=o}d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){Ba(c,J[c+4>>2],h+31|0,h+32|0)}d=J[a+36>>2];c:{if(!d){break c}n=h,o=ka[J[J[d>>2]+36>>2]](d)|0,H[n+16|0]=o;d=J[c+20>>2];if(!!J[c+16>>2]&(d|0)>=0|(d|0)>0){break c}Ba(c,J[c+4>>2],h+16|0,h+17|0)}d=J[a+32>>2];e=J[d+48>>2];f=J[J[d>>2]>>2];g=J[d+80>>2];k=K[d+24|0];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;g=P(g,k);if(g){if(g>>>0>=1073741824){break a}d=g<<2;i=pl(d);pk(i,0,d)}d=e+f|0;f=J[a+36>>2];d:{e:{f:{if(!f){break f}e=0;if(!(ka[J[J[f>>2]+44>>2]](f,d,i,g,k,J[b>>2])|0)){break d}e=J[a+36>>2];if(!e){break f}if(ka[J[J[e>>2]+32>>2]](e)|0){break e}d=J[a+36>>2]?i:d}e=0;f=0;g:{if((g|0)<=0){break g}if((g|0)!=1){m=g&-2;while(1){l=e<<2;j=J[l+d>>2];J[i+l>>2]=(j|0)<0?(j^-1)<<1|1:j<<1;l=l|4;j=J[l+d>>2];J[i+l>>2]=(j|0)<0?(j^-1)<<1|1:j<<1;e=e+2|0;f=f+2|0;if((m|0)!=(f|0)){continue}break}}if(!(g&1)){break g}e=e<<2;d=J[e+d>>2];J[e+i>>2]=(d|0)<0?(d^-1)<<1|1:d<<1}}h:{i:{j:{k:{d=J[a+4>>2];if(!d){break k}j=J[d+48>>2];d=pl(48);J[h>>2]=d;J[h+4>>2]=34;J[h+8>>2]=-2147483600;e=K[1411]|K[1412]<<8;H[d+32|0]=e;H[d+33|0]=e>>>8;e=K[1407]|K[1408]<<8|(K[1409]<<16|K[1410]<<24);f=K[1403]|K[1404]<<8|(K[1405]<<16|K[1406]<<24);H[d+24|0]=f;H[d+25|0]=f>>>8;H[d+26|0]=f>>>16;H[d+27|0]=f>>>24;H[d+28|0]=e;H[d+29|0]=e>>>8;H[d+30|0]=e>>>16;H[d+31|0]=e>>>24;e=K[1399]|K[1400]<<8|(K[1401]<<16|K[1402]<<24);f=K[1395]|K[1396]<<8|(K[1397]<<16|K[1398]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=e;H[d+21|0]=e>>>8;H[d+22|0]=e>>>16;H[d+23|0]=e>>>24;e=K[1391]|K[1392]<<8|(K[1393]<<16|K[1394]<<24);f=K[1387]|K[1388]<<8|(K[1389]<<16|K[1390]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1383]|K[1384]<<8|(K[1385]<<16|K[1386]<<24);f=K[1379]|K[1380]<<8|(K[1381]<<16|K[1382]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;H[d+34|0]=0;d=si(j,h,1);if(H[h+11|0]<0){hl(J[h>>2])}if(d){break k}if(!g){break j}d=0;e=0;b=0;if(g>>>0>=4){j=g&-4;f=0;while(1){k=e<<2;b=J[(k|12)+i>>2]|(J[(k|8)+i>>2]|(J[(k|4)+i>>2]|(J[i+k>>2]|b)));e=e+4|0;f=f+4|0;if((j|0)!=(f|0)){continue}break}}f=g&3;if(f){while(1){b=J[(e<<2)+i>>2]|b;e=e+1|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}if(!b){break j}d=4-(S(b)>>>3|0)|0;break i}H[h|0]=1;d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){Ba(c,J[c+4>>2],h,h+1|0)}J[h>>2]=h|4;J[h+4>>2]=0;J[h+8>>2]=0;d=J[a+4>>2];if(d){j=10-Pb(J[d+48>>2])|0;e=fa-16|0;fa=e;l:{if(j>>>0>10){break l}d=pl(48);J[e>>2]=d;J[e+4>>2]=33;J[e+8>>2]=-2147483600;H[d+32|0]=K[1470];g=K[1466]|K[1467]<<8|(K[1468]<<16|K[1469]<<24);f=K[1462]|K[1463]<<8|(K[1464]<<16|K[1465]<<24);H[d+24|0]=f;H[d+25|0]=f>>>8;H[d+26|0]=f>>>16;H[d+27|0]=f>>>24;H[d+28|0]=g;H[d+29|0]=g>>>8;H[d+30|0]=g>>>16;H[d+31|0]=g>>>24;g=K[1458]|K[1459]<<8|(K[1460]<<16|K[1461]<<24);f=K[1454]|K[1455]<<8|(K[1456]<<16|K[1457]<<24);H[d+16|0]=f;H[d+17|0]=f>>>8;H[d+18|0]=f>>>16;H[d+19|0]=f>>>24;H[d+20|0]=g;H[d+21|0]=g>>>8;H[d+22|0]=g>>>16;H[d+23|0]=g>>>24;g=K[1450]|K[1451]<<8|(K[1452]<<16|K[1453]<<24);f=K[1446]|K[1447]<<8|(K[1448]<<16|K[1449]<<24);H[d+8|0]=f;H[d+9|0]=f>>>8;H[d+10|0]=f>>>16;H[d+11|0]=f>>>24;H[d+12|0]=g;H[d+13|0]=g>>>8;H[d+14|0]=g>>>16;H[d+15|0]=g>>>24;g=K[1442]|K[1443]<<8|(K[1444]<<16|K[1445]<<24);f=K[1438]|K[1439]<<8|(K[1440]<<16|K[1441]<<24);H[d|0]=f;H[d+1|0]=f>>>8;H[d+2|0]=f>>>16;H[d+3|0]=f>>>24;H[d+4|0]=g;H[d+5|0]=g>>>8;H[d+6|0]=g>>>16;H[d+7|0]=g>>>24;H[d+33|0]=0;ni(h,e,j);if(H[e+11|0]>=0){break l}hl(J[e>>2])}fa=e+16|0}b=kf(i,P(k,J[b+4>>2]-J[b>>2]>>2),k,h,c);Mc(h,J[h+4>>2]);e=0;if(b){break h}break d}d=1}H[h|0]=0;b=J[c+20>>2];m:{if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){break m}e=h+1|0;Ba(c,J[c+4>>2],h,e);f=J[c+16>>2];b=J[c+20>>2];H[h|0]=d;if(!!f&(b|0)>=0|(b|0)>0){break m}Ba(c,J[c+4>>2],h,e)}n:{if((d|0)!=J[3712]){if(!g){break h}e=J[c+20>>2];f=e;b=J[c+16>>2];if(!!b&(e|0)>=0|(e|0)>0){break h}e=0;break n}b=J[c+20>>2];if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){break h}Ba(c,J[c+4>>2],i,(g<<2)+i|0);break h}while(1){if(!b&(f|0)<=0|(f|0)<0){b=(e<<2)+i|0;Ba(c,J[c+4>>2],b,b+d|0)}e=e+1|0;if((g|0)==(e|0)){break h}b=J[c+16>>2];f=J[c+20>>2];continue}}e=1;a=J[a+36>>2];if(!a){break d}ka[J[J[a>>2]+40>>2]](a,c)|0}if(!i){break b}hl(i)}fa=h+32|0;return e|0}Ia();C()}function $k(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=fa-96|0;fa=k;u=i&65535;o=(e^i)&-2147483648;q=e&65535;z=q;Q=i>>>16&32767;R=e>>>16&32767;a:{b:{if(Q-32767>>>0>4294934529&R-32767>>>0>=4294934530){break b}s=e&2147483647;r=s;j=d;if(!(!d&(r|0)==2147418112?!(b|c):r>>>0<2147418112)){m=d;o=e|32768;break a}s=i&2147483647;p=s;e=h;if(!(!e&(p|0)==2147418112?!(f|g):p>>>0<2147418112)){m=h;o=i|32768;b=f;c=g;break a}if(!(b|j|(r^2147418112|c))){if(!(e|f|(g|p))){o=2147450880;b=0;c=0;break a}o=o|2147418112;b=0;c=0;break a}if(!(e|f|(p^2147418112|g))){e=b|j;d=c|r;b=0;c=0;if(!(d|e)){o=2147450880;break a}o=o|2147418112;break a}if(!(b|j|(c|r))){b=0;c=0;break a}if(!(e|f|(g|p))){b=0;c=0;break a}if((r|0)==65535|r>>>0<65535){j=!(d|q);i=j?b:d;s=j<<6;e=S(i)+32|0;i=S(j?c:q);i=s+((i|0)==32?e:i)|0;Tk(k+80|0,b,c,d,q,i-15|0);t=16-i|0;d=J[k+88>>2];z=J[k+92>>2];c=J[k+84>>2];b=J[k+80>>2]}if(p>>>0>65535){break b}i=!(h|u);e=i?f:h;q=i<<6;j=S(e)+32|0;e=S(i?g:u);e=q+((e|0)==32?j:e)|0;Tk(k- -64|0,f,g,h,u,e-15|0);t=(t-e|0)+16|0;h=J[k+72>>2];u=J[k+76>>2];f=J[k+64>>2];g=J[k+68>>2]}e=f;f=g<<15|f>>>17;i=e<<15;e=0;v=i&-32768;K=c;s=em(v,e,c,0);e=ja;y=e;L=f;r=b;b=em(f,0,b,0);i=b+s|0;f=ja+e|0;c=b>>>0>i>>>0?f+1|0:f;j=0;b=em(r,l,v,l);p=j+b|0;f=i;e=f+ja|0;e=b>>>0>p>>>0?e+1|0:e;q=e;M=(f|0)==(e|0)&j>>>0>p>>>0|e>>>0>>0;N=d;w=em(v,l,d,0);O=ja;b=em(K,l,L,l);x=b+w|0;j=ja+O|0;j=b>>>0>x>>>0?j+1|0:j;b=u<<15|h>>>17;A=h<<15|g>>>17;d=em(A,0,r,l);B=d+x|0;f=ja+j|0;f=d>>>0>B>>>0?f+1|0:f;C=f;d=(c|0)==(y|0)&i>>>0>>0|c>>>0>>0;D=c+B|0;f=d+f|0;f=c>>>0>D>>>0?f+1|0:f;u=f;g=D;c=f;E=z|65536;z=em(v,l,E,n);P=ja;d=em(N,m,L,l);F=d+z|0;e=ja+P|0;e=d>>>0>F>>>0?e+1|0:e;i=e;G=b|-2147483648;b=em(G,0,r,l);H=b+F|0;f=ja+e|0;f=b>>>0>H>>>0?f+1|0:f;b=em(A,m,K,l);y=b+H|0;I=f;f=f+ja|0;s=b>>>0>y>>>0?f+1|0:f;b=0;r=b+g|0;e=c+y|0;v=b>>>0>r>>>0?e+1|0:e;f=v;b=r+M|0;c=b>>>0>>0?f+1|0:f;t=((R+Q|0)+t|0)-16383|0;d=em(G,m,K,l);h=ja;e=em(E,m,L,l);g=e+d|0;f=ja+h|0;f=e>>>0>g>>>0?f+1|0:f;n=(h|0)==(f|0)&d>>>0>g>>>0|f>>>0>>0;h=f;e=em(A,m,N,m);d=e+g|0;f=ja+f|0;f=d>>>0>>0?f+1|0:f;e=f;g=(f|0)==(h|0)&d>>>0>>0|f>>>0>>0;f=0;h=g;g=g+n|0;f=h>>>0>g>>>0?1:f;h=g;g=em(G,m,E,m);h=h+g|0;f=ja+f|0;M=h;g=g>>>0>h>>>0?f+1|0:f;h=d;l=e;e=(j|0)==(O|0)&w>>>0>x>>>0|j>>>0>>0;f=0;j=(j|0)==(C|0)&x>>>0>B>>>0|j>>>0>C>>>0;n=j;j=e+j|0;e=(n>>>0>j>>>0?1:f)+l|0;f=g;d=d+j|0;e=d>>>0>>0?e+1|0:e;n=e;w=d;d=(e|0)==(l|0)&d>>>0>>0|e>>>0>>0;e=d;d=d+M|0;f=e>>>0>d>>>0?f+1|0:f;j=d;g=f;e=em(A,m,E,m);l=ja;d=em(G,m,N,m);h=d+e|0;f=ja+l|0;f=d>>>0>h>>>0?f+1|0:f;d=f;f=(l|0)==(f|0)&e>>>0>h>>>0|f>>>0>>0;x=d+j|0;e=f+g|0;e=d>>>0>x>>>0?e+1|0:e;l=x;g=e;e=0;d=e+w|0;f=h+n|0;f=d>>>0>>0?f+1|0:f;e=f;h=(n|0)==(f|0)&d>>>0>>0|f>>>0>>0;f=g;g=h+l|0;f=g>>>0>>0?f+1|0:f;w=g;g=f;h=d;j=e;e=(s|0)==(I|0)&y>>>0>>0|s>>>0>>0;d=(i|0)==(P|0)&z>>>0>F>>>0|i>>>0

>>0;i=(i|0)==(I|0)&F>>>0>H>>>0|i>>>0>I>>>0;d=d+i|0;d=d+e|0;n=s;i=n+h|0;e=d+j|0;f=g;d=i;e=d>>>0>>0?e+1|0:e;h=(e|0)==(j|0)&h>>>0>d>>>0|e>>>0>>0;g=h+w|0;f=h>>>0>g>>>0?f+1|0:f;j=g;g=f;h=d;f=0;i=e;n=(u|0)==(v|0)&r>>>0>>0|u>>>0>v>>>0;l=n;n=n+((u|0)==(C|0)&B>>>0>D>>>0|u>>>0>>0)|0;e=e+(l>>>0>n>>>0?1:f)|0;f=g;d=d+n|0;e=d>>>0>>0?e+1|0:e;h=(e|0)==(i|0)&d>>>0>>0|e>>>0>>0;g=h;h=h+j|0;f=g>>>0>h>>>0?f+1|0:f;i=f;c:{if(f&65536){t=t+1|0;break c}j=q>>>31|0;g=0;f=i<<1|h>>>31;h=h<<1|e>>>31;i=f;f=e<<1|d>>>31;d=d<<1|c>>>31;e=f;f=q<<1|p>>>31;p=p<<1;q=f;f=c<<1|b>>>31;b=b<<1|j;c=f|g}if((t|0)>=32767){o=o|2147418112;b=0;c=0;break a}d:{if((t|0)<=0){g=1-t|0;if(g>>>0<=127){f=t+127|0;Tk(k+48|0,p,q,b,c,f);Tk(k+32|0,d,e,h,i,f);_k(k+16|0,p,q,b,c,g);_k(k,d,e,h,i,g);p=J[k+32>>2]|J[k+16>>2]|(J[k+48>>2]|J[k+56>>2]|(J[k+52>>2]|J[k+60>>2]))!=0;q=J[k+36>>2]|J[k+20>>2];b=J[k+40>>2]|J[k+24>>2];c=J[k+44>>2]|J[k+28>>2];d=J[k>>2];e=J[k+4>>2];g=J[k+8>>2];f=J[k+12>>2];break d}b=0;c=0;break a}g=h;f=i&65535|t<<16}m=g|m;o=f|o;if(!(!b&(c|0)==-2147483648?!(p|q):(c|0)>0|(c|0)>=0)){b=d+1|0;c=b?e:e+1|0;d=(e|0)==(c|0)&b>>>0>>0|c>>>0>>0;e=o;m=d+m|0;o=m>>>0>>0?e+1|0:e;break a}if(b|p|(c^-2147483648|q)){b=d;c=e;break a}j=o;f=e;b=d&1;c=b;b=b+d|0;c=c>>>0>b>>>0?f+1|0:f;d=(f|0)==(c|0)&b>>>0>>0|c>>>0>>0;m=d+m|0;o=d>>>0>m>>>0?j+1|0:j}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=m;J[a+12>>2]=o;fa=k+96|0}function bi(a){a=a|0;var 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,q=0,r=0;o=fa-16|0;fa=o;a:{if(!(ka[J[J[a>>2]+32>>2]](a)|0)){break a}e=J[a+44>>2];c=J[a+12>>2];b=J[a+8>>2];H[o+15|0]=c-b>>>2;d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){Ba(e,J[e+4>>2],o+15|0,o+16|0);c=J[a+12>>2];b=J[a+8>>2]}if((b|0)!=(c|0)){while(1){e=J[b>>2];if(!(ka[J[J[e>>2]+8>>2]](e,a,J[a+4>>2])|0)){break a}b=b+4|0;if((c|0)!=(b|0)){continue}break}}f=fa-48|0;fa=f;e=a;q=a+32|0;g=J[a+12>>2];a=J[a+8>>2];d=g-a|0;c=d>>2;h=J[e+32>>2];b=J[e+36>>2]-h>>2;b:{if(c>>>0>b>>>0){La(q,c-b|0);g=J[e+12>>2];a=J[e+8>>2];d=g-a|0;c=d>>2;break b}if(b>>>0<=c>>>0){break b}J[e+36>>2]=h+(c<<2)}J[f+40>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;b=a;c:{d:{if((a|0)!=(g|0)){if((d|0)<0){break d}a=(c-1>>>5|0)+1|0;b=pl(a<<2);J[f+40>>2]=a;J[f+36>>2]=0;J[f+32>>2]=b;ci(f+32|0,c);b=J[e+12>>2];a=J[e+8>>2]}e:{while(1){f:{c=b-a>>2;if(k>>>0>>0){g=(a|0)!=(b|0);m=0;b=a;d=0;if(!g){break f}while(1){i=J[f+32>>2];n=d>>>5<<2;h=J[i+n>>2];p=1<>2];c=J[g+4>>2];if((c|0)!=J[g+8>>2]){while(1){a=0;c=J[(b<<2)+c>>2];h:{if((ka[J[J[g>>2]+24>>2]](g,c)|0)<=0){break h}while(1){i:{g=J[l+J[e+8>>2]>>2];g=ka[J[J[g>>2]+28>>2]](g,c,a)|0;if((g|0)==(d|0)){break i}g=J[J[e+20>>2]+(g<<2)>>2];if(J[J[f+32>>2]+(g>>>3&536870908)>>2]>>>g&1){break i}j=0;break h}g=J[l+J[e+8>>2]>>2];a=a+1|0;if((ka[J[J[g>>2]+24>>2]](g,c)|0)>(a|0)){continue}break}}a=J[e+8>>2];g=J[l+a>>2];c=J[g+4>>2];b=b+1|0;if(b>>>0>2]-c>>2>>>0){continue}break}if(!j){break g}i=J[f+32>>2];h=J[n+i>>2]}J[J[q>>2]+(k<<2)>>2]=d;J[i+n>>2]=h|p;m=1;k=k+1|0}b=J[e+12>>2];c=b-a>>2;d=d+1|0;if(c>>>0>d>>>0){continue}break}break f}m=0;J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;d=J[e+4>>2];c=J[d+12>>2];d=J[d+8>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;j:{k:{l:{if((c|0)!=(d|0)){a=c-d|0;if((a|0)<0){break l}a=a>>2;b=(a-1>>>5|0)+1|0;c=pl(b<<2);J[f+8>>2]=b;J[f+4>>2]=0;J[f>>2]=c;ci(f,a);b=J[e+12>>2];a=J[e+8>>2]}m:{if((a|0)==(b|0)){b=1;break m}while(1){g=J[J[q>>2]+(m<<2)>>2]<<2;b=J[g+a>>2];b=J[b+8>>2]-J[b+4>>2]|0;n:{if((b|0)<8){break n}c=b>>2;b=J[f+16>>2];a=J[f+20>>2]-b>>2;o:{if(c>>>0>a>>>0){La(f+16|0,c-a|0);break o}if(a>>>0<=c>>>0){break o}J[f+20>>2]=b+(c<<2)}i=(c|0)<=1?1:c;h=0;p:{while(1){if((c|0)<=(h|0)){break p}b=0;d=J[f>>2];j=0;while(1){p=1<>>5<<2;q:{if(p&J[n+d>>2]){break q}a=0;d=J[g+J[e+8>>2]>>2];k=J[J[d+4>>2]+(b<<2)>>2];if((ka[J[J[d>>2]+24>>2]](d,k)|0)>0){while(1){d=J[g+J[e+8>>2]>>2];l=ka[J[J[d>>2]+28>>2]](d,k,a)|0;d=J[f>>2];if(!(J[d+(l>>>3&536870908)>>2]>>>l&1)){break q}d=J[g+J[e+8>>2]>>2];a=a+1|0;if((ka[J[J[d>>2]+24>>2]](d,k)|0)>(a|0)){continue}break}}J[J[f+16>>2]+(h<<2)>>2]=b;d=J[f>>2];a=n+d|0;J[a>>2]=p|J[a>>2];j=1;h=h+1|0}b=b+1|0;if((i|0)!=(b|0)){continue}break}if((c|0)<=(h|0)|j){continue}break}b=0;break m}a=J[e+8>>2];b=J[g+a>>2];d=J[b+4>>2];J[b+8>>2]=d;J[b+20>>2]=J[b+16>>2];g=J[f+16>>2];l=J[f+20>>2];if((g|0)==(l|0)){break n}k=b+16|0;c=d;while(1){a=J[g>>2];r:{if(J[b+12>>2]!=(c|0)){J[c>>2]=a;J[b+8>>2]=c+4;break r}c=c-d|0;i=c>>2;h=i+1|0;if(h>>>0>=1073741824){break k}j=c>>>1|0;h=c>>>0>=2147483644?1073741823:h>>>0>>0?j:h;if(h){if(h>>>0>=1073741824){break j}j=pl(h<<2)}else{j=0}i=j+(i<<2)|0;J[i>>2]=a;c=ok(j,d,c);J[b+12>>2]=c+(h<<2);J[b+8>>2]=i+4;J[b+4>>2]=c;if(!d){break r}hl(d)}c=J[b+16>>2];d=J[b+20>>2]-c>>2;s:{if((d|0)>(a|0)){break s}J[f+44>>2]=-1;h=a+1|0;if(h>>>0>d>>>0){vb(k,h-d|0,f+44|0);c=J[k>>2];break s}if(d>>>0<=h>>>0){break s}J[b+20>>2]=(h<<2)+c}a=(a<<2)+c|0;c=J[b+8>>2];d=J[b+4>>2];J[a>>2]=(c-d>>2)-1;g=g+4|0;if((l|0)!=(g|0)){continue}break}a=J[e+8>>2]}b=1;m=m+1|0;if(m>>>0>2]-a>>2>>>0){continue}break}}a=J[f>>2];if(a){hl(a)}a=J[f+16>>2];if(!a){break e}J[f+20>>2]=a;hl(a);break e}Ia();C()}Ia();C()}Ya();C()}if(m&1|c>>>0<=k>>>0){continue}break}b=0}a=J[f+32>>2];if(a){hl(a)}fa=f+48|0;break c}Ia();C()}if(!b){break a}b=J[e+32>>2];a=J[e+36>>2];t:{if((b|0)==(a|0)){break t}while(1){if(!(ka[J[J[e>>2]+40>>2]](e,J[b>>2])|0)){break a}b=b+4|0;if((a|0)!=(b|0)){continue}break}b=J[e+32>>2];a=J[e+36>>2];if((b|0)==(a|0)){break t}while(1){c=J[J[e+8>>2]+(J[b>>2]<<2)>>2];if(!(ka[J[J[c>>2]+12>>2]](c,J[e+44>>2])|0)){break a}b=b+4|0;if((a|0)!=(b|0)){continue}break}}r=ka[J[J[e>>2]+44>>2]](e)|0}fa=o+16|0;return r|0}function fb(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);f=fa-96|0;fa=f;J[f+72>>2]=0;J[f+76>>2]=0;J[f+64>>2]=0;J[f+68>>2]=0;J[f+80>>2]=1065353216;c=J[a+80>>2];J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;k=pl(e);J[f+16>>2]=k;c=e+k|0;J[f+24>>2]=c;pk(k,0,e);J[f+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],n,0);h=c;c=c+e|0;e=c+d|0;J[f+56>>2]=K[e+8|0]|K[e+9|0]<<8|(K[e+10|0]<<16|K[e+11|0]<<24);c=K[e+4|0]|K[e+5|0]<<8|(K[e+6|0]<<16|K[e+7|0]<<24);J[f+48>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+52>>2]=c;c=K[e+8|0]|K[e+9|0]<<8|(K[e+10|0]<<16|K[e+11|0]<<24);J[f+40>>2]=c;d=K[e+4|0]|K[e+5|0]<<8|(K[e+6|0]<<16|K[e+7|0]<<24);e=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);J[f+32>>2]=e;J[f+36>>2]=d;J[f+8>>2]=c;J[f>>2]=e;J[f+4>>2]=d;J[f+12>>2]=p;c=0;e=J[f+8>>2]^(J[f+4>>2]^(J[f>>2]^318)+239)+239;b:{c:{m=f- -64|0;h=J[m+4>>2];if(!h){break c}d=hm(h);d:{if(d>>>0>=2){c=e;if(e>>>0>=h>>>0){c=(e>>>0)%(h>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}l=J[f+8>>2];q=J[f+4>>2];j=J[f>>2];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(e|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break c}}d=J[i+8>>2];e:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=J[i+12>>2];if((d|0)!=(q|0)){d=(d|0)==(q|0);break e}d=(l|0)==J[i+16>>2]}if(!d){continue}break}c=0;break b}c=e&h-1;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=h-1|0;l=J[f+8>>2];r=J[f+4>>2];q=J[f>>2];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(e|0)&(d&j)!=(c|0)){break c}d=J[i+8>>2];f:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break f}d=J[i+12>>2];if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=(l|0)==J[i+16>>2]}if(!d){continue}break}c=0;break b}i=pl(24);J[i+16>>2]=J[f+8>>2];d=J[f+4>>2];J[i+8>>2]=J[f>>2];J[i+12>>2]=d;d=J[f+12>>2];J[i>>2]=0;J[i+4>>2]=e;J[i+20>>2]=d;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(h>>>0))?0:h){break g}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));h:{if(o=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);h=J[m+4>>2]}j:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break j}l=h>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(hm(h)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(h>>>0<=c>>>0){break j}}sb(m,c)}h=J[m+4>>2];c=h-1|0;if(!(c&h)){c=c&e;break g}if(e>>>0>>0){c=e;break g}c=(e>>>0)%(h>>>0)|0}e=J[m>>2]+(c<<2)|0;c=J[e>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[e>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];e=h-1|0;p:{if(!(e&h)){c=c&e;break p}if(c>>>0>>0){break p}c=(c>>>0)%(h>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[f+92|0]=c;J[f+88>>2]=i;q:{if(!K[f+92|0]){J[(n<<2)+k>>2]=J[J[f+88>>2]+20>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,f+48|0,c);k=J[f+16>>2];J[k+(n<<2)>>2]=p;p=p+1|0}n=n+1|0;g=n?g:g+1|0;j=J[a+80>>2];if(!g&n>>>0>>0){continue}break}if((j|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;g=b>>>0<=1?1:b;e=g&3;c=0;b=0;if(g-1>>>0>=3){n=g&-4;l=0;while(1){d=b<<2;g=d+j|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];g=j+(d|4)|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];g=j+(d|8)|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];g=j+(d|12)|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!e){break r}while(1){g=j+(b<<2)|0;J[g>>2]=J[(J[g>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;g=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){rb(g,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[g>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];g=e|4;J[g+d>>2]=J[g+k>>2];g=e|8;J[g+d>>2]=J[g+k>>2];g=e|12;J[g+d>>2]=J[g+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){g=b<<2;J[g+d>>2]=J[g+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=p}hl(k)}b=J[f+72>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[f+64>>2];J[f+64>>2]=0;if(a){hl(a)}fa=f+96|0;return p}Ia();C()}function Uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=fa-16|0;fa=j;c=J[b+56>>2];f=J[c+100>>2];e=J[c+96>>2];d=(f-e|0)/12|0;yb(d,J[b+44>>2]);yb(J[J[b+56>>2]+80>>2],J[b+44>>2]);k=J[b+48>>2];c=pl(32);J[j>>2]=c;J[j+4>>2]=21;J[j+8>>2]=-2147483616;g=K[1149]|K[1150]<<8|(K[1151]<<16|K[1152]<<24);i=K[1145]|K[1146]<<8|(K[1147]<<16|K[1148]<<24);H[c+13|0]=i;H[c+14|0]=i>>>8;H[c+15|0]=i>>>16;H[c+16|0]=i>>>24;H[c+17|0]=g;H[c+18|0]=g>>>8;H[c+19|0]=g>>>16;H[c+20|0]=g>>>24;g=K[1144]|K[1145]<<8|(K[1146]<<16|K[1147]<<24);i=K[1140]|K[1141]<<8|(K[1142]<<16|K[1143]<<24);H[c+8|0]=i;H[c+9|0]=i>>>8;H[c+10|0]=i>>>16;H[c+11|0]=i>>>24;H[c+12|0]=g;H[c+13|0]=g>>>8;H[c+14|0]=g>>>16;H[c+15|0]=g>>>24;g=K[1136]|K[1137]<<8|(K[1138]<<16|K[1139]<<24);i=K[1132]|K[1133]<<8|(K[1134]<<16|K[1135]<<24);H[c|0]=i;H[c+1|0]=i>>>8;H[c+2|0]=i>>>16;H[c+3|0]=i>>>24;H[c+4|0]=g;H[c+5|0]=g>>>8;H[c+6|0]=g>>>16;H[c+7|0]=g>>>24;H[c+21|0]=0;g=si(k,j,0);if(H[j+11|0]<0){hl(J[j>>2])}c=J[b+44>>2];a:{if(g){H[j|0]=0;d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){Ba(c,J[c+4>>2],j,j+1|0)}e=0;c=0;g=fa-16|0;fa=g;J[g>>2]=0;J[g+4>>2]=0;d=J[b+56>>2];f=J[d+100>>2];d=J[d+96>>2];if((f|0)!=(d|0)){c=(f-d|0)/12|0;p=c>>>0<=1?1:c;c=0;d=J[g>>2];b:{c:{while(1){d:{i=J[J[b+56>>2]+96>>2]+P(n,12)|0;l=J[i>>2];f=l-m|0;k=f>>31;k=(f^k)-k<<1|f>>>31;e:{if((e|0)!=(h|0)){J[e>>2]=k;e=e+4|0;J[g+4>>2]=e;break e}f=e-c|0;m=f>>2;h=m+1|0;if(h>>>0>=1073741824){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>=1073741824){break c}d=pl(h<<2)}else{d=0}e=d+(m<<2)|0;J[e>>2]=k;f=ok(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){hl(c)}c=f}o=J[i+4>>2];f=o-l|0;k=f>>31;k=(f^k)-k<<1|f>>>31;f:{if((e|0)!=(h|0)){J[e>>2]=k;e=e+4|0;J[g+4>>2]=e;break f}f=e-c|0;l=f>>2;h=l+1|0;if(h>>>0>1073741823){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>1073741823){break c}d=pl(h<<2)}else{d=0}e=d+(l<<2)|0;J[e>>2]=k;f=ok(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){hl(c)}c=f}m=J[i+8>>2];f=m-o|0;i=f>>31;i=(f^i)-i<<1|f>>>31;g:{if((e|0)!=(h|0)){J[e>>2]=i;e=e+4|0;J[g+4>>2]=e;break g}f=e-c|0;k=f>>2;h=k+1|0;if(h>>>0>1073741823){break d}e=f>>>1|0;h=f>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(h){if(h>>>0>1073741823){break c}d=pl(h<<2)}else{d=0}e=d+(k<<2)|0;J[e>>2]=i;f=ok(d,c,f);e=e+4|0;J[g+4>>2]=e;h=f+(h<<2)|0;if(c){hl(c)}c=f}n=n+1|0;if((p|0)!=(n|0)){continue}break b}break}J[g+8>>2]=e;J[g>>2]=d;Ia();C()}J[g>>2]=d;Ya();C()}J[g>>2]=d}kf(c,e-c>>2,1,0,J[b+44>>2]);if(c){hl(c)}fa=g+16|0;break a}H[j|0]=1;g=J[c+20>>2];if(!J[c+16>>2]&(g|0)<=0|(g|0)<0){Ba(c,J[c+4>>2],j,j+1|0)}c=J[J[b+56>>2]+80>>2];if(c>>>0<=255){if((f|0)==(e|0)){break a}h=d>>>0<=1?1:d;f=j+1|0;c=0;while(1){d=J[b+44>>2];e=J[J[b+56>>2]+96>>2]+P(c,12)|0;H[j|0]=J[e>>2];g=J[d+20>>2];h:{if(!!J[d+16>>2]&(g|0)>=0|(g|0)>0){break h}Ba(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];H[j|0]=J[e+4>>2];if(!!i&(g|0)>=0|(g|0)>0){break h}Ba(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];H[j|0]=J[e+8>>2];if(!!i&(g|0)>=0|(g|0)>0){break h}Ba(d,J[d+4>>2],j,f)}c=c+1|0;if((h|0)!=(c|0)){continue}break}break a}if(c>>>0<=65535){if((f|0)==(e|0)){break a}h=d>>>0<=1?1:d;f=j+2|0;c=0;while(1){d=J[b+44>>2];e=J[J[b+56>>2]+96>>2]+P(c,12)|0;I[j>>1]=J[e>>2];g=J[d+20>>2];i:{if(!!J[d+16>>2]&(g|0)>=0|(g|0)>0){break i}Ba(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];I[j>>1]=J[e+4>>2];if(!!i&(g|0)>=0|(g|0)>0){break i}Ba(d,J[d+4>>2],j,f);d=J[b+44>>2];g=J[d+20>>2];i=J[d+16>>2];I[j>>1]=J[e+8>>2];if(!!i&(g|0)>=0|(g|0)>0){break i}Ba(d,J[d+4>>2],j,f)}c=c+1|0;if((h|0)!=(c|0)){continue}break}break a}if(c>>>0>=2097152){if((f|0)==(e|0)){break a}c=J[b+44>>2];f=!!J[c+16>>2];c=J[c+20>>2];if(f&(c|0)>=0|(c|0)>0){break a}f=d>>>0<=1?1:d;c=0;while(1){d=J[b+44>>2];e=J[d+20>>2];if(!J[d+16>>2]&(e|0)<=0|(e|0)<0){e=d;g=J[d+4>>2];d=J[J[b+56>>2]+96>>2]+P(c,12)|0;Ba(e,g,d,d+12|0)}c=c+1|0;if((f|0)!=(c|0)){continue}break}break a}if((f|0)==(e|0)){break a}f=d>>>0<=1?1:d;c=0;while(1){d=J[J[b+56>>2]+96>>2]+P(c,12)|0;yb(J[d>>2],J[b+44>>2]);yb(J[d+4>>2],J[b+44>>2]);yb(J[d+8>>2],J[b+44>>2]);c=c+1|0;if((f|0)!=(c|0)){continue}break}}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;fa=j+16|0}function ob(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,n=0,o=Q(0),p=0,q=0,r=0,s=0,t=0,u=0,v=Q(0);i=fa-80|0;fa=i;J[i+56>>2]=0;J[i+60>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;J[i+64>>2]=1065353216;c=J[a+80>>2];J[i+32>>2]=0;J[i+24>>2]=0;J[i+28>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=pl(f);J[i+24>>2]=k;c=f+k|0;J[i+32>>2]=c;pk(k,0,f);J[i+28>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],n,0);g=c;c=c+f|0;c=c+d|0;f=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);c=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[i+40>>2]=f;J[i+44>>2]=c;J[i+16>>2]=p;J[i+8>>2]=f;J[i+12>>2]=c;c=0;m=i+8|0;f=L[m+6>>1]^(L[m+4>>1]^(L[m+2>>1]^(L[m>>1]^318)+239)+239)+239;b:{c:{l=i+48|0;g=J[l+4>>2];if(!g){break c}d=hm(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}h=J[J[l>>2]+(c<<2)>>2];if(!h){break c}if(d>>>0<2){break d}q=L[m>>1];r=L[m+2>>1];t=L[m+4>>1];j=L[m+6>>1];while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=L[h+8>>1];e:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break e}d=L[h+10>>1];if((d|0)!=(r|0)){d=(d|0)==(r|0);break e}d=L[h+12>>1];if((d|0)!=(t|0)){d=(d|0)==(t|0);break e}d=(j|0)==L[h+14>>1]}if(!d){continue}break}c=0;break b}c=f&g-1;h=J[J[l>>2]+(c<<2)>>2];if(!h){break c}}t=g-1|0;u=L[m>>1];q=L[m+2>>1];r=L[m+4>>1];j=L[m+6>>1];while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(f|0)&(d&t)!=(c|0)){break c}d=L[h+8>>1];f:{if((d|0)!=(u|0)){d=(d|0)==(u|0);break f}d=L[h+10>>1];if((d|0)!=(q|0)){d=(d|0)==(q|0);break f}d=L[h+12>>1];if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=(j|0)==L[h+14>>1]}if(!d){continue}break}c=0;break b}h=pl(20);d=J[m+4>>2];J[h+8>>2]=J[m>>2];J[h+12>>2]=d;d=J[m+8>>2];J[h+4>>2]=f;J[h+16>>2]=d;J[h>>2]=0;o=Q(J[l+12>>2]+1>>>0);v=N[l+16>>2];g:{if(o>Q(v*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;o=Q(W(Q(o/v)));h:{if(o=Q(0)){j=~~o>>>0;break h}j=0}d=d>>>0>j>>>0?d:j;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);g=J[l+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}j=g>>>0<3;o=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));k:{if(o=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(j){break m}if(hm(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}sb(l,c)}g=J[l+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[l>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=l+8|0;J[h>>2]=J[c>>2];J[l+8>>2]=h;J[f>>2]=c;c=J[h>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[l>>2]+(c<<2)|0;break o}J[h>>2]=J[c>>2]}J[c>>2]=h}J[l+12>>2]=J[l+12>>2]+1;c=1}H[i+76|0]=c;J[i+72>>2]=h;q:{if(!K[i+76|0]){J[(n<<2)+k>>2]=J[J[i+72>>2]+16>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,i+40|0,c);k=J[i+24>>2];J[k+(n<<2)>>2]=p;p=p+1|0}n=n+1|0;e=n?e:e+1|0;j=J[a+80>>2];if(!e&n>>>0>>0){continue}break}if((j|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){n=e&-4;while(1){d=b<<2;e=d+j|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;s=s+4|0;if((n|0)!=(s|0)){continue}break}}if(!f){break r}while(1){e=j+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){rb(e,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[e>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;s=s+4|0;if((n|0)!=(s|0)){continue}break}}n=j&3;if(!n){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=p}hl(k)}b=J[i+56>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[i+48>>2];J[i+48>>2]=0;if(a){hl(a)}fa=i+80|0;return p}Ia();C()}function nb(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);e=fa-80|0;fa=e;J[e+56>>2]=0;J[e+60>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e+64>>2]=1065353216;c=J[a+80>>2];J[e+24>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}g=c<<2;k=pl(g);J[e+16>>2]=k;c=g+k|0;J[e+24>>2]=c;pk(k,0,g);J[e+20>>2]=c;while(1){d=J[J[b>>2]>>2];g=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],n,0);h=c;c=c+g|0;c=c+d|0;I[e+44>>1]=K[c+4|0]|K[c+5|0]<<8;J[e+40>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);g=K[c+4|0]|K[c+5|0]<<8;I[e+36>>1]=g;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[e+32>>2]=c;I[e+4>>1]=g;J[e>>2]=c;J[e+8>>2]=p;c=0;g=L[e+4>>1]^(L[e+2>>1]^(L[e>>1]^318)+239)+239;b:{c:{m=e+48|0;h=J[m+4>>2];if(!h){break c}d=hm(h);d:{if(d>>>0>=2){c=g;if(c>>>0>=h>>>0){c=(g>>>0)%(h>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}q=L[e>>1];j=L[e+2>>1];l=L[e+4>>1];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(g|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break c}}d=L[i+8>>1];e:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break e}d=L[i+10>>1];if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==L[i+12>>1]}if(!d){continue}break}c=0;break b}c=g&h+262143;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=h-1|0;r=L[e>>1];q=L[e+2>>1];l=L[e+4>>1];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(g|0)&(d&j)!=(c|0)){break c}d=L[i+8>>1];f:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=L[i+10>>1];if((d|0)!=(q|0)){d=(d|0)==(q|0);break f}d=(l|0)==L[i+12>>1]}if(!d){continue}break}c=0;break b}i=pl(20);I[i+12>>1]=L[e+4>>1];J[i+8>>2]=J[e>>2];d=J[e+8>>2];J[i>>2]=0;J[i+4>>2]=g;J[i+16>>2]=d;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(h>>>0))?0:h){break g}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));h:{if(o=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);h=J[m+4>>2]}j:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break j}l=h>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(hm(h)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(h>>>0<=c>>>0){break j}}sb(m,c)}h=J[m+4>>2];c=h-1|0;if(!(c&h)){c=c&g;break g}if(g>>>0>>0){c=g;break g}c=(g>>>0)%(h>>>0)|0}g=J[m>>2]+(c<<2)|0;c=J[g>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[g>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];g=h-1|0;p:{if(!(g&h)){c=c&g;break p}if(c>>>0>>0){break p}c=(c>>>0)%(h>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[e+76|0]=c;J[e+72>>2]=i;q:{if(!K[e+76|0]){J[(n<<2)+k>>2]=J[J[e+72>>2]+16>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,e+40|0,c);k=J[e+16>>2];J[k+(n<<2)>>2]=p;p=p+1|0}n=n+1|0;f=n?f:f+1|0;j=J[a+80>>2];if(!f&n>>>0>>0){continue}break}if((j|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;f=b>>>0<=1?1:b;g=f&3;c=0;b=0;if(f-1>>>0>=3){n=f&-4;l=0;while(1){d=b<<2;f=d+j|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|4)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|8)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|12)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!g){break r}while(1){f=j+(b<<2)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;f=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){rb(f,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[f>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){g=b<<2;J[g+d>>2]=J[g+k>>2];f=g|4;J[f+d>>2]=J[f+k>>2];f=g|8;J[f+d>>2]=J[f+k>>2];f=g|12;J[f+d>>2]=J[f+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=p}hl(k)}b=J[e+56>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[e+48>>2];J[e+48>>2]=0;if(a){hl(a)}fa=e+80|0;return p}Ia();C()}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,n=0,o=0,p=Q(0),q=0,r=0,s=0,t=0,u=Q(0);i=fa+-64|0;fa=i;J[i+40>>2]=0;J[i+44>>2]=0;J[i+32>>2]=0;J[i+36>>2]=0;J[i+48>>2]=1065353216;c=J[a+80>>2];J[i+24>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=pl(f);J[i+16>>2]=k;c=f+k|0;J[i+24>>2]=c;pk(k,0,f);J[i+20>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],o,0);g=c;c=c+f|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[i+28>>2]=c;J[i+12>>2]=q;J[i+8>>2]=c;c=0;n=i+8|0;f=K[n+3|0]^(K[n+2|0]^(K[n+1|0]^(K[n|0]^318)+239)+239)+239;b:{c:{m=i+32|0;g=J[m+4>>2];if(!g){break c}d=hm(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}h=J[J[m>>2]+(c<<2)>>2];if(!h){break c}if(d>>>0<2){break d}r=K[n|0];s=K[n+1|0];j=K[n+2|0];l=K[n+3|0];while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=K[h+8|0];e:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break e}d=K[h+9|0];if((d|0)!=(s|0)){d=(d|0)==(s|0);break e}d=K[h+10|0];if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==K[h+11|0]}if(!d){continue}break}c=0;break b}c=f&g-1;h=J[J[m>>2]+(c<<2)>>2];if(!h){break c}}j=g-1|0;t=K[n|0];r=K[n+1|0];s=K[n+2|0];l=K[n+3|0];while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(f|0)&(d&j)!=(c|0)){break c}d=K[h+8|0];f:{if((d|0)!=(t|0)){d=(d|0)==(t|0);break f}d=K[h+9|0];if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=K[h+10|0];if((d|0)!=(s|0)){d=(d|0)==(s|0);break f}d=(l|0)==K[h+11|0]}if(!d){continue}break}c=0;break b}h=pl(16);J[h+8>>2]=J[n>>2];d=J[n+4>>2];J[h+4>>2]=f;J[h+12>>2]=d;J[h>>2]=0;p=Q(J[m+12>>2]+1>>>0);u=N[m+16>>2];g:{if(p>Q(u*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;p=Q(W(Q(p/u)));h:{if(p=Q(0)){l=~~p>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);g=J[m+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}l=g>>>0<3;p=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(p=Q(0)){d=~~p>>>0;break k}d=0}l:{m:{if(l){break m}if(hm(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}sb(m,c)}g=J[m+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[m>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=m+8|0;J[h>>2]=J[c>>2];J[m+8>>2]=h;J[f>>2]=c;c=J[h>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[h>>2]=J[c>>2]}J[c>>2]=h}J[m+12>>2]=J[m+12>>2]+1;c=1}H[i+60|0]=c;J[i+56>>2]=h;q:{if(!K[i+60|0]){J[(o<<2)+k>>2]=J[J[i+56>>2]+12>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,q)|0,i+28|0,c);k=J[i+16>>2];J[k+(o<<2)>>2]=q;q=q+1|0}o=o+1|0;e=o?e:e+1|0;j=J[a+80>>2];if(!e&o>>>0>>0){continue}break}if((j|0)!=(q|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){o=e&-4;l=0;while(1){d=b<<2;e=d+j|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((o|0)!=(l|0)){continue}break}}if(!f){break r}while(1){e=j+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){rb(e,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[e>>2];c=0;b=0;if(j>>>0>=4){o=j&-4;l=0;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;l=l+4|0;if((o|0)!=(l|0)){continue}break}}o=j&3;if(!o){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((o|0)!=(c|0)){continue}break}}J[a+80>>2]=q}hl(k)}b=J[i+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[i+32>>2];J[i+32>>2]=0;if(a){hl(a)}fa=i- -64|0;return q}Ia();C()}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=fa-96|0;fa=e;f=J[a+16>>2];H[e+92|0]=1;J[e+88>>2]=b;J[e+84>>2]=b;J[e+80>>2]=f;j=J[a+20>>2];d=J[j>>2];a:{b:{f=J[J[f+28>>2]+(b<<2)>>2];if(f>>>0>2]-d>>2>>>0){d=J[J[a+8>>2]+(J[d+(f<<2)>>2]<<2)>>2];f=J[a+4>>2];if(!K[f+84|0]){d=J[J[f+68>>2]+(d<<2)>>2]}J[e+72>>2]=0;J[e+76>>2]=0;j=e- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[e+56>>2]=0;J[e+60>>2]=0;kd(f,d,H[f+24|0],e+56|0);if((b|0)!=-1){f=b+1|0;j=(f>>>0)%3|0?f:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;while(1){d=j;f=m;c:{if(!J[a+28>>2]){break c}f=b+1|0;d=(f>>>0)%3|0?f:b-2|0;f=b-1|0;if((b>>>0)%3|0){break c}f=b+2|0}n=J[a+20>>2];b=J[n>>2];d=J[J[J[a+16>>2]+28>>2]+(d<<2)>>2];if(d>>>0>=J[n+4>>2]-b>>2>>>0){break b}d=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;kd(b,d,H[b+24|0],e+32|0);d=J[a+20>>2];b=J[d>>2];f=J[J[J[a+16>>2]+28>>2]+(f<<2)>>2];if(f>>>0>=J[d+4>>2]-b>>2>>>0){break a}d=J[J[a+8>>2]+(J[b+(f<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){d=J[J[b+68>>2]+(d<<2)>>2]}J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;kd(b,d,H[b+24|0],e+8|0);g=J[e+8>>2];b=J[e+56>>2];d=g-b|0;p=J[e+60>>2];t=J[e+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=J[e+40>>2];f=J[e+64>>2];n=h-f|0;u=J[e+68>>2];x=J[e+44>>2]-(u+(f>>>0>h>>>0)|0)|0;g=em(d,t,n,x);v=o-g|0;w=i-(ja+(g>>>0>o>>>0)|0)|0;i=v;h=J[e+16>>2];g=h-f|0;u=J[e+20>>2]-((f>>>0>h>>>0)+u|0)|0;k=J[e+32>>2];h=k-b|0;v=J[e+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=em(g,u,h,v);o=i+b|0;i=ja+w|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=d;p=t;k=J[e+48>>2];f=J[e+72>>2];d=k-f|0;t=J[e+76>>2];w=J[e+52>>2]-(t+(f>>>0>k>>>0)|0)|0;l=em(l,p,d,w);k=b+l|0;b=ja+q|0;b=k>>>0>>0?b+1|0:b;l=J[e+24>>2];p=l-f|0;f=J[e+28>>2]-((f>>>0>l>>>0)+t|0)|0;q=em(p,f,h,v);l=k-q|0;q=b-(ja+(k>>>0>>0)|0)|0;b=em(g,u,d,w);d=r-b|0;b=s-(ja+(b>>>0>r>>>0)|0)|0;s=em(p,f,n,x);r=s+d|0;b=ja+b|0;s=r>>>0>>0?b+1|0:b;b=J[e+88>>2];f=J[e+80>>2];d:{if(K[e+92|0]){e:{f:{g:{h:{if((b|0)==-1){break h}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1|J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break h}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break g}}J[e+88>>2]=-1;break f}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[e+88>>2]=b;if((b|0)!=-1){break e}}b=J[e+84>>2];d=-1;i:{if((b|0)==-1){break i}j:{if((b>>>0)%3|0){b=b-1|0;break j}b=b+2|0;d=-1;if((b|0)==-1){break i}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break i}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break i}d=b-1|0;if((b>>>0)%3|0){break i}d=b+2|0}H[e+92|0]=0;J[e+88>>2]=d;break d}if((b|0)!=J[e+84>>2]){break d}J[e+88>>2]=-1;break d}d=-1;k:{if((b|0)==-1){break k}l:{if((b>>>0)%3|0){b=b-1|0;break l}b=b+2|0;d=-1;if((b|0)==-1){break k}}d=-1;if(J[J[f>>2]+(b>>>3&536870908)>>2]>>>b&1){break k}b=J[J[J[f+64>>2]+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break k}d=b-1|0;if((b>>>0)%3|0){break k}d=b+2|0}J[e+88>>2]=d}b=J[e+88>>2];if((b|0)!=-1){continue}break}}b=s>>31;f=b^r;d=f-b|0;b=(b^s)-((b>>>0>f>>>0)+b|0)|0;m=-1;f=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;m:{n:{if(!J[a+28>>2]){if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break m}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;f=a;g=i;a=g>>31;d=a;m=d^o;a=m-d|0;i=a;d=(d^g)-((d>>>0>m>>>0)+d|0)|0;a=a+f|0;d=d^2147483647;i=(d|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>d>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break m}b=0;a=a>>>29|0;break n}o:{if((b|0)==(g|0)&d>>>0>k>>>0|b>>>0>g>>>0){break o}b=b+h|0;a=d+j|0;b=a>>>0>>0?b+1|0:b;k=i;d=i>>31;h=d^o;i=h-d|0;j=(d^k)-((d>>>0>h>>>0)+d|0)|0;g=j^2147483647;d=a;a=i;if((g|0)==(b|0)&d>>>0>(a^-1)>>>0|b>>>0>g>>>0){break o}b=b+j|0;m=a+d|0;b=m>>>0>>0?b+1|0:b;f=b;if(!b&m>>>0<536870913){break m}}b=f>>>29|0;a=(f&536870911)<<3|m>>>29}o=fm(o,n,a,b);l=fm(l,q,a,b);r=fm(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;fa=e+96|0;return}Xc();C()}Xc();C()}Xc();C()}function jb(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);e=fa+-64|0;fa=e;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+48>>2]=1065353216;c=J[a+80>>2];J[e+16>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}g=c<<2;k=pl(g);J[e+8>>2]=k;c=g+k|0;J[e+16>>2]=c;pk(k,0,g);J[e+12>>2]=c;while(1){d=J[J[b>>2]>>2];g=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],n,0);h=c;c=c+g|0;c=c+d|0;H[e+30|0]=K[c+2|0];I[e+28>>1]=K[c|0]|K[c+1|0]<<8;g=K[c+2|0];H[e+26|0]=g;c=K[c|0]|K[c+1|0]<<8;I[e+24>>1]=c;H[e+2|0]=g;I[e>>1]=c;J[e+4>>2]=p;c=0;g=K[e+2|0]^(K[e+1|0]^(K[e|0]^318)+239)+239;b:{c:{m=e+32|0;h=J[m+4>>2];if(!h){break c}d=hm(h);d:{if(d>>>0>=2){c=g;if(c>>>0>=h>>>0){c=(g>>>0)%(h>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}q=K[e|0];j=K[e+1|0];l=K[e+2|0];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(g|0)){if(d>>>0>=h>>>0){d=(d>>>0)%(h>>>0)|0}if((c|0)!=(d|0)){break c}}d=K[i+8|0];e:{if((d|0)!=(q|0)){d=(d|0)==(q|0);break e}d=K[i+9|0];if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==K[i+10|0]}if(!d){continue}break}c=0;break b}c=g&h-1;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=h-1|0;r=K[e|0];q=K[e+1|0];l=K[e+2|0];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(g|0)&(d&j)!=(c|0)){break c}d=K[i+8|0];f:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=K[i+9|0];if((d|0)!=(q|0)){d=(d|0)==(q|0);break f}d=(l|0)==K[i+10|0]}if(!d){continue}break}c=0;break b}i=pl(16);H[i+10|0]=K[e+2|0];I[i+8>>1]=L[e>>1];d=J[e+4>>2];J[i>>2]=0;J[i+4>>2]=g;J[i+12>>2]=d;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(h>>>0))?0:h){break g}c=2;d=(h-1&h)!=0|h>>>0<3|h<<1;o=Q(W(Q(o/s)));h:{if(o=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);h=J[m+4>>2]}j:{if(c>>>0<=h>>>0){if(c>>>0>=h>>>0){break j}l=h>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(hm(h)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(h>>>0<=c>>>0){break j}}sb(m,c)}h=J[m+4>>2];c=h-1|0;if(!(c&h)){c=c&g;break g}if(g>>>0>>0){c=g;break g}c=(g>>>0)%(h>>>0)|0}g=J[m>>2]+(c<<2)|0;c=J[g>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[g>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];g=h-1|0;p:{if(!(g&h)){c=c&g;break p}if(c>>>0>>0){break p}c=(c>>>0)%(h>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[e+60|0]=c;J[e+56>>2]=i;q:{if(!K[e+60|0]){J[(n<<2)+k>>2]=J[J[e+56>>2]+12>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,e+28|0,c);k=J[e+8>>2];J[k+(n<<2)>>2]=p;p=p+1|0}n=n+1|0;f=n?f:f+1|0;j=J[a+80>>2];if(!f&n>>>0>>0){continue}break}if((j|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;f=b>>>0<=1?1:b;g=f&3;c=0;b=0;if(f-1>>>0>=3){n=f&-4;l=0;while(1){d=b<<2;f=d+j|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|4)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|8)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];f=j+(d|12)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!g){break r}while(1){f=j+(b<<2)|0;J[f>>2]=J[(J[f>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;f=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){rb(f,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[f>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){g=b<<2;J[g+d>>2]=J[g+k>>2];f=g|4;J[f+d>>2]=J[f+k>>2];f=g|8;J[f+d>>2]=J[f+k>>2];f=g|12;J[f+d>>2]=J[f+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=p}hl(k)}b=J[e+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[e+32>>2];J[e+32>>2]=0;if(a){hl(a)}fa=e- -64|0;return p}Ia();C()}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=fa-96|0;fa=f;d=J[a+16>>2];H[f+92|0]=1;J[f+88>>2]=b;J[f+84>>2]=b;J[f+80>>2]=d;a:{if((b|0)==-1){break a}j=J[a+20>>2];e=J[j>>2];d=J[J[d>>2]+(b<<2)>>2];if(d>>>0>=J[j+4>>2]-e>>2>>>0){break a}e=J[J[a+8>>2]+(J[e+(d<<2)>>2]<<2)>>2];d=J[a+4>>2];if(!K[d+84|0]){e=J[J[d+68>>2]+(e<<2)>>2]}J[f+72>>2]=0;J[f+76>>2]=0;j=f- -64|0;J[j>>2]=0;J[j+4>>2]=0;J[f+56>>2]=0;J[f+60>>2]=0;kd(d,e,H[d+24|0],f+56|0);d=b+1|0;j=(d>>>0)%3|0?d:b-2|0;m=((b>>>0)%3|0?-1:2)+b|0;b:{c:{while(1){e=j;d=m;d:{if(!J[a+28>>2]){break d}d=b+1|0;e=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break d}d=b+2|0}if((e|0)==-1){break b}n=J[a+20>>2];b=J[n>>2];e=J[J[J[a+16>>2]>>2]+(e<<2)>>2];if(e>>>0>=J[n+4>>2]-b>>2>>>0){break b}e=J[J[a+8>>2]+(J[b+(e<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){e=J[J[b+68>>2]+(e<<2)>>2]}J[f+48>>2]=0;J[f+52>>2]=0;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;kd(b,e,H[b+24|0],f+32|0);if((d|0)==-1){break c}e=J[a+20>>2];b=J[e>>2];d=J[J[J[a+16>>2]>>2]+(d<<2)>>2];if(d>>>0>=J[e+4>>2]-b>>2>>>0){break c}e=J[J[a+8>>2]+(J[b+(d<<2)>>2]<<2)>>2];b=J[a+4>>2];if(!K[b+84|0]){e=J[J[b+68>>2]+(e<<2)>>2]}J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;kd(b,e,H[b+24|0],f+8|0);g=J[f+8>>2];b=J[f+56>>2];e=g-b|0;p=J[f+60>>2];t=J[f+12>>2]-(p+(b>>>0>g>>>0)|0)|0;h=J[f+40>>2];d=J[f+64>>2];n=h-d|0;u=J[f+68>>2];x=J[f+44>>2]-(u+(d>>>0>h>>>0)|0)|0;g=em(e,t,n,x);v=o-g|0;w=i-(ja+(g>>>0>o>>>0)|0)|0;i=v;h=J[f+16>>2];g=h-d|0;u=J[f+20>>2]-((d>>>0>h>>>0)+u|0)|0;k=J[f+32>>2];h=k-b|0;v=J[f+36>>2]-((b>>>0>k>>>0)+p|0)|0;b=em(g,u,h,v);o=i+b|0;i=ja+w|0;i=b>>>0>o>>>0?i+1|0:i;b=l;l=e;p=t;k=J[f+48>>2];d=J[f+72>>2];e=k-d|0;t=J[f+76>>2];w=J[f+52>>2]-(t+(d>>>0>k>>>0)|0)|0;l=em(l,p,e,w);k=b+l|0;b=ja+q|0;b=k>>>0>>0?b+1|0:b;l=J[f+24>>2];p=l-d|0;d=J[f+28>>2]-((d>>>0>l>>>0)+t|0)|0;q=em(p,d,h,v);l=k-q|0;q=b-(ja+(k>>>0>>0)|0)|0;b=em(g,u,e,w);e=r-b|0;b=s-(ja+(b>>>0>r>>>0)|0)|0;s=em(p,d,n,x);r=s+e|0;b=ja+b|0;s=r>>>0>>0?b+1|0:b;b=J[f+88>>2];e=J[f+80>>2];e:{if(K[f+92|0]){f:{g:{h:{i:{if((b|0)==-1){break i}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break i}b=J[J[e+12>>2]+(b<<2)>>2];if((b|0)!=-1){break h}}J[f+88>>2]=-1;break g}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;J[f+88>>2]=b;if((b|0)!=-1){break f}}b=J[f+84>>2];d=-1;j:{if((b|0)==-1){break j}k:{if((b>>>0)%3|0){b=b-1|0;break k}b=b+2|0;d=-1;if((b|0)==-1){break j}}b=J[J[e+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break j}d=b-1|0;if((b>>>0)%3|0){break j}d=b+2|0}H[f+92|0]=0;J[f+88>>2]=d;break e}if((b|0)!=J[f+84>>2]){break e}J[f+88>>2]=-1;break e}d=-1;l:{if((b|0)==-1){break l}m:{if((b>>>0)%3|0){b=b-1|0;break m}b=b+2|0;d=-1;if((b|0)==-1){break l}}b=J[J[e+12>>2]+(b<<2)>>2];d=-1;if((b|0)==-1){break l}d=b-1|0;if((b>>>0)%3|0){break l}d=b+2|0}J[f+88>>2]=d}b=J[f+88>>2];if((b|0)!=-1){continue}break}b=s>>31;d=b^r;e=d-b|0;b=(b^s)-((b>>>0>d>>>0)+b|0)|0;m=-1;d=2147483647;g=q>>31;h=g^l;j=h-g|0;n=(g^q)-((h>>>0>>0)+g|0)|0;h=n;k=j^-1;g=h^2147483647;n=i;n:{o:{if(!J[a+28>>2]){if((b|0)==(g|0)&e>>>0>k>>>0|b>>>0>g>>>0){break n}b=b+h|0;a=e+j|0;b=a>>>0>>0?b+1|0:b;d=a;g=i;a=g>>31;e=a;m=e^o;a=m-e|0;i=a;e=(e^g)-((e>>>0>m>>>0)+e|0)|0;a=a+d|0;e=e^2147483647;i=(e|0)==(b|0)&(i^-1)>>>0>>0|b>>>0>e>>>0;a=i?-1:a;if(!(i&0)&(a|0)<=536870912|(a|0)<536870912){break n}b=0;a=a>>>29|0;break o}p:{if((b|0)==(g|0)&e>>>0>k>>>0|b>>>0>g>>>0){break p}b=b+h|0;a=e+j|0;b=a>>>0>>0?b+1|0:b;k=i;e=i>>31;h=e^o;i=h-e|0;j=(e^k)-((e>>>0>h>>>0)+e|0)|0;g=j^2147483647;e=a;a=i;if((g|0)==(b|0)&e>>>0>(a^-1)>>>0|b>>>0>g>>>0){break p}b=b+j|0;m=a+e|0;b=m>>>0>>0?b+1|0:b;d=b;if(!b&m>>>0<536870913){break n}}b=d>>>29|0;a=(d&536870911)<<3|m>>>29}o=fm(o,n,a,b);l=fm(l,q,a,b);r=fm(r,s,a,b)}J[c+8>>2]=o;J[c+4>>2]=l;J[c>>2]=r;fa=f+96|0;return}Xc();C()}Xc();C()}Xc();C()}function eb(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,n=Q(0),o=0,p=0,q=0,r=0,s=0,t=Q(0);h=fa-80|0;fa=h;J[h+56>>2]=0;J[h+60>>2]=0;J[h+48>>2]=0;J[h+52>>2]=0;J[h+64>>2]=1065353216;c=J[a+80>>2];J[h+32>>2]=0;J[h+24>>2]=0;J[h+28>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=pl(f);J[h+24>>2]=k;c=f+k|0;J[h+32>>2]=c;pk(k,0,f);J[h+28>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],m,0);g=c;c=c+f|0;c=c+d|0;f=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);c=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[h+40>>2]=f;J[h+44>>2]=c;J[h+16>>2]=p;J[h+8>>2]=f;J[h+12>>2]=c;c=0;o=h+8|0;f=J[o+4>>2]^(J[o>>2]^318)+239;b:{c:{l=h+48|0;g=J[l+4>>2];if(!g){break c}d=hm(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}j=J[J[l>>2]+(c<<2)>>2];if(!j){break c}if(d>>>0<2){break d}i=J[o+4>>2];r=J[o>>2];while(1){j=J[j>>2];if(!j){break c}d=J[j+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=J[j+8>>2];e:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break e}d=(i|0)==J[j+12>>2]}if(!d){continue}break}c=0;break b}c=f&g-1;j=J[J[l>>2]+(c<<2)>>2];if(!j){break c}}r=g-1|0;i=J[o+4>>2];s=J[o>>2];while(1){j=J[j>>2];if(!j){break c}d=J[j+4>>2];if((d|0)!=(f|0)&(d&r)!=(c|0)){break c}d=J[j+8>>2];f:{if((d|0)!=(s|0)){d=(d|0)==(s|0);break f}d=(i|0)==J[j+12>>2]}if(!d){continue}break}c=0;break b}j=pl(20);d=J[o+4>>2];J[j+8>>2]=J[o>>2];J[j+12>>2]=d;d=J[o+8>>2];J[j+4>>2]=f;J[j+16>>2]=d;J[j>>2]=0;n=Q(J[l+12>>2]+1>>>0);t=N[l+16>>2];g:{if(n>Q(t*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;n=Q(W(Q(n/t)));h:{if(n=Q(0)){i=~~n>>>0;break h}i=0}d=d>>>0>i>>>0?d:i;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);g=J[l+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}i=g>>>0<3;n=Q(W(Q(Q(M[l+12>>2])/N[l+16>>2])));k:{if(n=Q(0)){d=~~n>>>0;break k}d=0}l:{m:{if(i){break m}if(hm(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}sb(l,c)}g=J[l+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[l>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=l+8|0;J[j>>2]=J[c>>2];J[l+8>>2]=j;J[f>>2]=c;c=J[j>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[l>>2]+(c<<2)|0;break o}J[j>>2]=J[c>>2]}J[c>>2]=j}J[l+12>>2]=J[l+12>>2]+1;c=1}H[h+76|0]=c;J[h+72>>2]=j;q:{if(!K[h+76|0]){J[(m<<2)+k>>2]=J[J[h+72>>2]+16>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,h+40|0,c);k=J[h+24>>2];J[k+(m<<2)>>2]=p;p=p+1|0}m=m+1|0;e=m?e:e+1|0;i=J[a+80>>2];if(!e&m>>>0>>0){continue}break}if((i|0)!=(p|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];i=J[a+68>>2];if((b|0)==(i|0)){break r}b=b-i>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){m=e&-4;while(1){d=b<<2;e=d+i|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=i+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=i+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=i+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;q=q+4|0;if((m|0)!=(q|0)){continue}break}}if(!f){break r}while(1){e=i+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){rb(e,i-c|0,2184);i=J[a+80>>2];break s}if(c>>>0<=i>>>0){break s}J[a+72>>2]=b+(i<<2)}if(!i){break r}d=J[e>>2];c=0;b=0;if(i>>>0>=4){m=i&-4;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;q=q+4|0;if((m|0)!=(q|0)){continue}break}}m=i&3;if(!m){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((m|0)!=(c|0)){continue}break}}J[a+80>>2]=p}hl(k)}b=J[h+56>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[h+48>>2];J[h+48>>2]=0;if(a){hl(a)}fa=h+80|0;return p}Ia();C()}function dc(a){var 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;f=fa-32|0;fa=f;a:{b=J[a+16>>2];b:{if(b>>>0>=113){J[a+16>>2]=b-113;b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];c:{if((b|0)!=J[a+12>>2]){d=b;break c}k=J[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=ok(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break c}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=pl(e);l=e+h|0;e=h+(d&-4)|0;d=e;d:{if((b|0)==(c|0)){break d}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;e:{if(!g){b=e;break e}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break d}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break c}hl(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}c=J[a+8>>2];b=J[a+4>>2];l=c-b|0;h=l>>2;g=J[a+12>>2];d=J[a>>2];e=g-d|0;if(h>>>0>2>>>0){if((c|0)!=(g|0)){n=f,o=pl(4068),J[n+8>>2]=o;d=a;f:{g:{b=J[a+8>>2];h:{if((b|0)!=J[a+12>>2]){e=b;break h}c=J[d+4>>2];h=J[d>>2];if(c>>>0>h>>>0){g=((c-h>>2)+1|0)/-2<<2;a=b-c|0;e=ok(g+c|0,c,a)+a|0;J[d+8>>2]=e;J[d+4>>2]=g+J[d+4>>2];break h}e=(b|0)==(h|0)?1:b-h>>1;if(e>>>0>=1073741824){break g}a=e<<2;j=pl(a);l=a+j|0;a=j+(e&-4)|0;e=a;i:{if((b|0)==(c|0)){break i}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;j:{if(!g){b=a;break j}e=0;b=a;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;e=e+1|0;if((g|0)!=(e|0)){continue}break}}e=a+m|0;if(i>>>0<28){break i}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((e|0)!=(b|0)){continue}break}}J[d+12>>2]=l;J[d+8>>2]=e;J[d+4>>2]=a;J[d>>2]=j;if(!h){break h}hl(h);e=J[d+8>>2]}J[e>>2]=J[f+8>>2];J[d+8>>2]=J[d+8>>2]+4;break f}Ya();C()}break b}n=f,o=pl(4068),J[n+8>>2]=o;hc(a,f+8|0);b=J[a+4>>2];j=J[b>>2];c=b+4|0;J[a+4>>2]=c;b=J[a+8>>2];k:{if((b|0)!=J[a+12>>2]){d=b;break k}k=J[a>>2];if(k>>>0>>0){e=((c-k>>2)+1|0)/-2<<2;b=b-c|0;d=ok(e+c|0,c,b)+b|0;J[a+8>>2]=d;J[a+4>>2]=e+J[a+4>>2];break k}d=(b|0)==(k|0)?1:b-k>>1;if(d>>>0>=1073741824){break a}e=d<<2;h=pl(e);l=e+h|0;e=h+(d&-4)|0;d=e;l:{if((b|0)==(c|0)){break l}b=b-c|0;m=b&-4;i=b-4|0;g=(i>>>2|0)+1&7;m:{if(!g){b=e;break m}d=0;b=e;while(1){J[b>>2]=J[c>>2];c=c+4|0;b=b+4|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}d=e+m|0;if(i>>>0<28){break l}while(1){J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=J[c+20>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=J[c+28>>2];c=c+32|0;b=b+32|0;if((d|0)!=(b|0)){continue}break}}J[a+12>>2]=l;J[a+8>>2]=d;J[a+4>>2]=e;J[a>>2]=h;if(!k){break k}hl(k);d=J[a+8>>2]}J[d>>2]=j;J[a+8>>2]=J[a+8>>2]+4;break b}J[f+24>>2]=a+12;m=(d|0)==(g|0)?1:e>>1;if(m>>>0>=1073741824){break a}e=m<<2;g=pl(e);J[f+8>>2]=g;j=e+g|0;J[f+20>>2]=j;d=(h<<2)+g|0;J[f+12>>2]=d;i=pl(4068);n:{if((h|0)!=(m|0)){break n}if((l|0)>0){d=((h+1|0)/-2<<2)+d|0;J[f+12>>2]=d;break n}d=(b|0)==(c|0)?1:l>>1;if(d>>>0>=1073741824){break a}b=d<<2;e=pl(b);J[f+8>>2]=e;j=b+e|0;J[f+20>>2]=j;d=e+(d&-4)|0;J[f+12>>2]=d;hl(g);b=J[a+4>>2];c=J[a+8>>2];g=e}J[d>>2]=i;i=d+4|0;J[f+16>>2]=i;e=b;if((b|0)!=(c|0)){while(1){c=c-4|0;hc(f+8|0,c);if(J[a+4>>2]!=(c|0)){continue}break}j=J[f+20>>2];i=J[f+16>>2];d=J[f+12>>2];g=J[f+8>>2];e=c;b=J[a+8>>2]}c=J[a>>2];J[a>>2]=g;J[f+8>>2]=c;J[a+4>>2]=d;J[f+12>>2]=e;J[a+8>>2]=i;J[f+16>>2]=b;d=J[a+12>>2];J[a+12>>2]=j;J[f+20>>2]=d;if((b|0)!=(e|0)){J[f+16>>2]=((e-b|0)+3&-4)+b}if(!c){break b}hl(c)}fa=f+32|0;return}Ya();C()}function rd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=fa-48|0;fa=k;J[a+68>>2]=f;o=a+112|0;Ce(o);d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[k+40>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+60|0;d=d>>>2|0;q=d>>>0<=1?1:d;r=c+4|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}sd(p,J[d+(n<<2)>>2],k+32|0);f=J[k+36>>2];d=f>>31;g=J[k+32>>2];e=g>>31;i=(d^f)-d+((e^g)-e)|0;h=J[k+40>>2];d=h>>31;e=(d^h)-d|0;d=0;m=e;e=e+i|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+108>>2];i=j;break b}j=J[a+108>>2];i=j>>31;f=fm(em(j,i,f,f>>31),ja,e,d);l=f>>31;i=fm(em(j,i,g,g>>31),ja,e,d);d=i>>31;d=(f^l)-l+((d^i)-d)|0;h=(h|0)<0?d-j|0:j-d|0}c:{if((i|0)>=0){e=f+j|0;l=h+j|0;break c}d:{if((f|0)<0){d=h>>31;e=(d^h)-d|0;break d}d=h>>31;e=J[a+100>>2]+(d-(d^h)|0)|0}if((h|0)<0){d=f>>31;l=(d^f)-d|0;break c}d=f>>31;l=J[a+100>>2]+(d-(d^f)|0)|0}d=J[a+100>>2];m=d;g=d;e:{if(!(e|l)){break e}if(!((d|0)!=(l|0)|e)){m=l;g=l;break e}if(!((d|0)!=(e|0)|l)){m=e;g=e;break e}if(!((j|0)>=(l|0)|e)){m=(j<<1)-l|0;g=0;break e}if(!((d|0)!=(e|0)|(j|0)<=(l|0))){m=(j<<1)-l|0;g=e;break e}if(!((d|0)!=(l|0)|(e|0)>=(j|0))){m=l;g=(j<<1)-e|0;break e}if(l){m=l;g=e;break e}m=0;g=e;if((e|0)<=(j|0)){break e}g=(j<<1)-e|0}J[k+28>>2]=m;J[k+24>>2]=g;J[k+40>>2]=0-h;J[k+36>>2]=0-f;J[k+32>>2]=0-i;f:{if((i|0)<=0){i=j-h|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;i=(h|0)>0?e:d-e|0;e=h>>31;e=(e^h)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|i)){i=d;break g}if(!((d|0)!=(i|0)|e)){i=d;break g}f=(d|0)!=(e|0);if(!(i|f)){i=d;break g}if(!((i|0)<=(j|0)|e)){i=(j<<1)-i|0;d=0;break g}if(!((i|0)>=(j|0)|f)){i=(j<<1)-i|0;break g}if(!((d|0)!=(i|0)|(e|0)>=(j|0))){i=d;d=(j<<1)-e|0;break g}if(i){d=e;break g}i=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}J[k+20>>2]=i;J[k+16>>2]=d;h=J[a+8>>2];h:{if((h|0)<=0){break h}l=(n<<3)+b|0;i=J[a+32>>2];e=0;g=k+24|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];i:{if((m|0)>(h|0)){J[d+j>>2]=h;break i}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break i}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}}f=e<<2;d=f+(k+8|0)|0;g=J[f+l>>2]-J[f+j>>2]|0;J[d>>2]=g;f=d;d=J[a+28>>2];j:{if((g|0)<(d|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break j}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}if((h|0)<=0){break h}i=J[a+32>>2];e=0;g=k+16|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];k:{if((m|0)>(h|0)){J[d+j>>2]=h;break k}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break k}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}d=J[a+28>>2]}g=e<<2;f=g+k|0;g=J[g+l>>2]-J[j+g>>2]|0;J[f>>2]=g;l:{if((d|0)>(g|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break l}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}}f=J[k+8>>2];e=J[a+108>>2];m:{if((f|0)>(e|0)){f=f-J[a+96>>2]|0;break m}if((0-e|0)<=(f|0)){break m}f=J[a+96>>2]+f|0}J[k+8>>2]=f;h=J[k+12>>2];n:{if((e|0)<(h|0)){h=h-J[a+96>>2]|0;break n}if((0-e|0)<=(h|0)){break n}h=J[a+96>>2]+h|0}J[k+12>>2]=h;d=J[k>>2];o:{if((e|0)<(d|0)){d=d-J[a+96>>2]|0;break o}if((0-e|0)<=(d|0)){break o}d=J[a+96>>2]+d|0}g=n<<1;J[k>>2]=d;i=J[k+4>>2];p:{if((e|0)<(i|0)){i=i-J[a+96>>2]|0;break p}if((0-e|0)<=(i|0)){break p}i=J[a+96>>2]+i|0}J[k+4>>2]=i;e=h>>31;e=(e^h)-e|0;l=f>>31;l=(l^f)-l|0;m=l>>>0>(e^2147483647)>>>0?2147483647:e+l|0;e=i>>31;e=(e^i)-e|0;l=d>>31;l=(l^d)-l|0;e=m>>>0>=(l>>>0>(e^2147483647)>>>0?2147483647:e+l|0)>>>0;De(o,e);g=g<<2;d=e?d:f;J[g+c>>2]=(J[a+96>>2]&d>>31)+d;d=e?i:h;J[g+r>>2]=(J[a+96>>2]&d>>31)+d;n=n+1|0;if((q|0)!=(n|0)){continue}break}}fa=k+48|0;return 1}Xc();C()}function Fd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=fa-48|0;fa=k;J[a+68>>2]=f;o=a+112|0;Ce(o);d=J[a+56>>2];e=J[d>>2];d=J[d+4>>2];J[k+40>>2]=0;J[k+32>>2]=0;J[k+36>>2]=0;J[k+16>>2]=0;J[k+20>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+60|0;d=d>>>2|0;q=d>>>0<=1?1:d;r=c+4|0;while(1){e=J[a+56>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Gd(p,J[d+(n<<2)>>2],k+32|0);f=J[k+36>>2];d=f>>31;g=J[k+32>>2];e=g>>31;i=(d^f)-d+((e^g)-e)|0;h=J[k+40>>2];d=h>>31;e=(d^h)-d|0;d=0;m=e;e=e+i|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+108>>2];i=j;break b}j=J[a+108>>2];i=j>>31;f=fm(em(j,i,f,f>>31),ja,e,d);l=f>>31;i=fm(em(j,i,g,g>>31),ja,e,d);d=i>>31;d=(f^l)-l+((d^i)-d)|0;h=(h|0)<0?d-j|0:j-d|0}c:{if((i|0)>=0){e=f+j|0;l=h+j|0;break c}d:{if((f|0)<0){d=h>>31;e=(d^h)-d|0;break d}d=h>>31;e=J[a+100>>2]+(d-(d^h)|0)|0}if((h|0)<0){d=f>>31;l=(d^f)-d|0;break c}d=f>>31;l=J[a+100>>2]+(d-(d^f)|0)|0}d=J[a+100>>2];m=d;g=d;e:{if(!(e|l)){break e}if(!((d|0)!=(l|0)|e)){m=l;g=l;break e}if(!((d|0)!=(e|0)|l)){m=e;g=e;break e}if(!((j|0)>=(l|0)|e)){m=(j<<1)-l|0;g=0;break e}if(!((d|0)!=(e|0)|(j|0)<=(l|0))){m=(j<<1)-l|0;g=e;break e}if(!((d|0)!=(l|0)|(e|0)>=(j|0))){m=l;g=(j<<1)-e|0;break e}if(l){m=l;g=e;break e}m=0;g=e;if((e|0)<=(j|0)){break e}g=(j<<1)-e|0}J[k+28>>2]=m;J[k+24>>2]=g;J[k+40>>2]=0-h;J[k+36>>2]=0-f;J[k+32>>2]=0-i;f:{if((i|0)<=0){i=j-h|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;i=(h|0)>0?e:d-e|0;e=h>>31;e=(e^h)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|i)){i=d;break g}if(!((d|0)!=(i|0)|e)){i=d;break g}f=(d|0)!=(e|0);if(!(i|f)){i=d;break g}if(!((i|0)<=(j|0)|e)){i=(j<<1)-i|0;d=0;break g}if(!((i|0)>=(j|0)|f)){i=(j<<1)-i|0;break g}if(!((d|0)!=(i|0)|(e|0)>=(j|0))){i=d;d=(j<<1)-e|0;break g}if(i){d=e;break g}i=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}J[k+20>>2]=i;J[k+16>>2]=d;h=J[a+8>>2];h:{if((h|0)<=0){break h}l=(n<<3)+b|0;i=J[a+32>>2];e=0;g=k+24|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];i:{if((m|0)>(h|0)){J[d+j>>2]=h;break i}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break i}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}}f=e<<2;d=f+(k+8|0)|0;g=J[f+l>>2]-J[f+j>>2]|0;J[d>>2]=g;f=d;d=J[a+28>>2];j:{if((g|0)<(d|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break j}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}if((h|0)<=0){break h}i=J[a+32>>2];e=0;g=k+16|0;while(1){j=i;if((h|0)>0){j=J[a+32>>2];f=0;while(1){d=f<<2;m=J[d+g>>2];h=J[a+16>>2];k:{if((m|0)>(h|0)){J[d+j>>2]=h;break k}d=d+j|0;h=J[a+12>>2];if((h|0)>(m|0)){J[d>>2]=h;break k}J[d>>2]=m}f=f+1|0;h=J[a+8>>2];if((f|0)<(h|0)){continue}break}d=J[a+28>>2]}g=e<<2;f=g+k|0;g=J[g+l>>2]-J[j+g>>2]|0;J[f>>2]=g;l:{if((d|0)>(g|0)){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break l}g=g-J[a+20>>2]|0}J[f>>2]=g}g=j;e=e+1|0;if((e|0)<(h|0)){continue}break}}f=J[k+8>>2];e=J[a+108>>2];m:{if((f|0)>(e|0)){f=f-J[a+96>>2]|0;break m}if((0-e|0)<=(f|0)){break m}f=J[a+96>>2]+f|0}J[k+8>>2]=f;h=J[k+12>>2];n:{if((e|0)<(h|0)){h=h-J[a+96>>2]|0;break n}if((0-e|0)<=(h|0)){break n}h=J[a+96>>2]+h|0}J[k+12>>2]=h;d=J[k>>2];o:{if((e|0)<(d|0)){d=d-J[a+96>>2]|0;break o}if((0-e|0)<=(d|0)){break o}d=J[a+96>>2]+d|0}g=n<<1;J[k>>2]=d;i=J[k+4>>2];p:{if((e|0)<(i|0)){i=i-J[a+96>>2]|0;break p}if((0-e|0)<=(i|0)){break p}i=J[a+96>>2]+i|0}J[k+4>>2]=i;e=h>>31;e=(e^h)-e|0;l=f>>31;l=(l^f)-l|0;m=l>>>0>(e^2147483647)>>>0?2147483647:e+l|0;e=i>>31;e=(e^i)-e|0;l=d>>31;l=(l^d)-l|0;e=m>>>0>=(l>>>0>(e^2147483647)>>>0?2147483647:e+l|0)>>>0;De(o,e);g=g<<2;d=e?d:f;J[g+c>>2]=(J[a+96>>2]&d>>31)+d;d=e?i:h;J[g+r>>2]=(J[a+96>>2]&d>>31)+d;n=n+1|0;if((q|0)!=(n|0)){continue}break}}fa=k+48|0;return 1}Xc();C()}function mb(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);h=fa+-64|0;fa=h;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+48>>2]=1065353216;c=J[a+80>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=pl(f);J[h+16>>2]=k;c=f+k|0;J[h+24>>2]=c;pk(k,0,f);J[h+20>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],n,0);g=c;c=c+f|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[h+28>>2]=c;J[h+12>>2]=q;J[h+8>>2]=c;c=0;p=h+8|0;f=L[p+2>>1]^(L[p>>1]^318)+239;b:{c:{m=h+32|0;g=J[m+4>>2];if(!g){break c}d=hm(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}j=L[p>>1];l=L[p+2>>1];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=L[i+8>>1];e:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==L[i+10>>1]}if(!d){continue}break}c=0;break b}c=f&g+131071;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=g-1|0;r=L[p>>1];l=L[p+2>>1];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(f|0)&(d&j)!=(c|0)){break c}d=L[i+8>>1];f:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=(l|0)==L[i+10>>1]}if(!d){continue}break}c=0;break b}i=pl(16);J[i+8>>2]=J[p>>2];d=J[p+4>>2];J[i+4>>2]=f;J[i+12>>2]=d;J[i>>2]=0;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;o=Q(W(Q(o/s)));h:{if(o=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);g=J[m+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}l=g>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(hm(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}sb(m,c)}g=J[m+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[m>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[f>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[h+60|0]=c;J[h+56>>2]=i;q:{if(!K[h+60|0]){J[(n<<2)+k>>2]=J[J[h+56>>2]+12>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,q)|0,h+28|0,c);k=J[h+16>>2];J[k+(n<<2)>>2]=q;q=q+1|0}n=n+1|0;e=n?e:e+1|0;j=J[a+80>>2];if(!e&n>>>0>>0){continue}break}if((j|0)!=(q|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){n=e&-4;l=0;while(1){d=b<<2;e=d+j|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!f){break r}while(1){e=j+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){rb(e,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[e>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=q}hl(k)}b=J[h+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[h+32>>2];J[h+32>>2]=0;if(a){hl(a)}fa=h- -64|0;return q}Ia();C()}function lf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;p=fa-32|0;fa=p;a:{if((c|0)<=0){break a}t=c&3;b:{if(c>>>0<4){c=0;break b}z=c&-4;c=0;while(1){g=(c<<3)+b|0;s=J[g>>2];u=J[g+4>>2];v=c|1;g=(v<<3)+b|0;i=J[g>>2];w=c|2;h=(w<<3)+b|0;m=J[h>>2];x=c|3;j=(x<<3)+b|0;y=J[j>>2];g=J[g+4>>2];h=J[h+4>>2];j=J[j+4>>2];n=j|y?x:h|m?w:g|i?v:s|u?c:n;f=f+u|0;e=e+s|0;f=(e>>>0>>0?f+1|0:f)+g|0;g=e;e=e+i|0;f=(g>>>0>e>>>0?f+1|0:f)+h|0;g=e;e=e+m|0;f=(g>>>0>e>>>0?f+1|0:f)+j|0;g=e;e=e+y|0;f=g>>>0>e>>>0?f+1|0:f;c=c+4|0;l=l+4|0;if((z|0)!=(l|0)){continue}break}}if(!t){break a}while(1){g=(c<<3)+b|0;i=J[g>>2];g=J[g+4>>2];n=i|g?c:n;c=c+1|0;f=f+g|0;e=e+i|0;f=e>>>0>>0?f+1|0:f;o=o+1|0;if((t|0)!=(o|0)){continue}break}}m=n+1|0;J[a+12>>2]=m;c=J[a>>2];g=J[a+4>>2]-c>>3;c:{if(g>>>0>>0){jf(a,m-g|0);break c}if(g>>>0<=m>>>0){break c}J[a+4>>2]=c+(m<<3)}j=0;d:{e:{f:{g:{h:{if((n|0)>=0){k=+(e>>>0)+ +(f>>>0)*4294967296;i=J[a>>2];c=0;while(1){f=c<<3;e=f+b|0;h=J[e>>2];e=J[e+4>>2];g=(h|e)!=0;l=f+i|0;r=(+(h>>>0)+ +(e>>>0)*4294967296)/k*4096+.5;i:{if(r<4294967296&r>=0){e=~~r>>>0;break i}e=0}e=e?e:g?1:e;J[l>>2]=e;j=e+j|0;e=(c|0)==(n|0);c=c+1|0;if(!e){continue}break}if((j|0)==4096){break h}}J[p+16>>2]=0;J[p+8>>2]=0;J[p+12>>2]=0;i=0;j:{if(!m){break j}if(m>>>0>=1073741824){break g}g=m<<2;q=pl(g);J[p+8>>2]=q;l=0;h=pk(q,0,g);c=0;if(n>>>0>=7){f=m&-8;while(1){J[h+(c<<2)>>2]=c;e=c|1;J[h+(e<<2)>>2]=e;e=c|2;J[h+(e<<2)>>2]=e;e=c|3;J[h+(e<<2)>>2]=e;e=c|4;J[h+(e<<2)>>2]=e;e=c|5;J[h+(e<<2)>>2]=e;e=c|6;J[h+(e<<2)>>2]=e;e=c|7;J[h+(e<<2)>>2]=e;c=c+8|0;i=i+8|0;if((f|0)!=(i|0)){continue}break}}i=h+g|0;e=m&7;if(!e){break j}while(1){J[h+(c<<2)>>2]=c;c=c+1|0;l=l+1|0;if((e|0)!=(l|0)){continue}break}}J[p+24>>2]=a;c=i-q|0;e=c>>2;k:{l:{if((c|0)>=513){c=e;while(1){f=pl(c<<2);if(f){break l}f=c>>>0>1;c=c>>>1|0;if(f){continue}break}}nf(q,i,p+24|0,e,0,0);break k}nf(q,i,p+24|0,e,f,c);hl(f)}if((j|0)<4096){c=J[a>>2]+(J[i-4>>2]<<3)|0;J[c>>2]=(J[c>>2]-j|0)+4096;c=0;break f}if((n|0)>0){f=J[a>>2];o=j-4096|0;while(1){r=4096/+(j|0);l=n;while(1){m:{n:{e=f+(J[(l<<2)+q>>2]<<3)|0;c=J[e>>2];if(c>>>0>=2){h=e;i=c;k=V(r*+(c>>>0));o:{if(R(k)<2147483648){g=~~k;break o}g=-2147483648}e=(c|0)==(g|0)?1:c-g|0;c=(c|0)>(e|0)?e:c-1|0;c=(c|0)<(o|0)?c:o;J[h>>2]=i-c;o=o-c|0;j=j-c|0;if((j|0)!=4096){break n}j=4096;break m}if((n|0)!=(l|0)){break m}c=1;break f}c=(l|0)>1;l=l-1|0;if(c){continue}}break}c=0;if((o|0)>0){continue}break}break f}c=0;if(j>>>0<4097){break f}while(1)continue}if((n|0)<0){break d}break e}Ia();C()}e=J[p+8>>2];if(e){hl(e)}if((n|0)<0|c){break d}}h=J[a>>2];j=0;o=0;c=0;if(n>>>0>=3){g=m&-4;q=0;while(1){i=o<<3;f=i+h|0;J[f+4>>2]=c;e=h+(i|8)|0;c=J[f>>2]+c|0;J[e+4>>2]=c;f=h+(i|16)|0;c=c+J[e>>2]|0;J[f+4>>2]=c;e=h+(i|24)|0;c=c+J[f>>2]|0;J[e+4>>2]=c;c=c+J[e>>2]|0;o=o+4|0;q=q+4|0;if((g|0)!=(q|0)){continue}break}}f=m&3;if(f){while(1){e=h+(o<<3)|0;J[e+4>>2]=c;o=o+1|0;c=J[e>>2]+c|0;j=j+1|0;if((f|0)!=(j|0)){continue}break}}if((c|0)!=4096){break d}c=0;k=0;p:{if((n|0)<0){break p}h=J[a>>2];if(n){i=m&-2;l=0;while(1){e=c<<3;g=J[e+h>>2];if(g){f=b+e|0;k=(+M[f>>2]+ +M[f+4>>2]*4294967296)*sk(+(g>>>0)*.000244140625)+k}e=(c|1)<<3;g=J[e+h>>2];if(g){f=b+e|0;k=(+M[f>>2]+ +M[f+4>>2]*4294967296)*sk(+(g>>>0)*.000244140625)+k}c=c+2|0;l=l+2|0;if((i|0)!=(l|0)){continue}break}}if(!(m&1)){break p}c=c<<3;e=J[c+h>>2];if(!e){break p}c=b+c|0;k=(+M[c>>2]+ +M[c+4>>2]*4294967296)*sk(+(e>>>0)*.000244140625)+k}k=W(-k);q:{if(k<0x10000000000000000&k>=0){c=~~k>>>0;b=R(k)>=1?~~(k>0?T(V(k*2.3283064365386963e-10),4294967295):W((k-+(~~k>>>0>>>0))*2.3283064365386963e-10))>>>0:0;break q}c=0;b=0}J[a+16>>2]=c;J[a+20>>2]=b;of(a,d)}fa=p+32|0}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=fa-48|0;fa=b;g=J[J[a+4>>2]+48>>2];J[b+8>>2]=J[a+12>>2];c=pl(32);J[b+24>>2]=c;J[b+28>>2]=17;J[b+32>>2]=-2147483616;H[c+16|0]=K[1261];f=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);e=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);e=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+17|0]=0;c=Gb(g,b+8|0,b+24|0,-1);if(H[b+35|0]<0){hl(J[b+24>>2])}J[b+32>>2]=-1;J[b+36>>2]=1065353216;J[b+24>>2]=-1;J[b+28>>2]=-1;J[b+40>>2]=-1;c=-1<>>0>28){break a}J[b+24>>2]=c+1;c=-2<>2]=c^-1;c=c^-2;J[b+32>>2]=c;J[b+40>>2]=c>>1;N[b+36>>2]=Q(2)/Q(c|0)}g=ve(J[a+12>>2],J[a+4>>2]);h=J[J[a+4>>2]+48>>2];J[b+20>>2]=J[a+12>>2];c=pl(32);J[b+8>>2]=c;J[b+12>>2]=17;J[b+16>>2]=-2147483616;H[c+16|0]=K[1529];f=K[1525]|K[1526]<<8|(K[1527]<<16|K[1528]<<24);e=K[1521]|K[1522]<<8|(K[1523]<<16|K[1524]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=f;H[c+13|0]=f>>>8;H[c+14|0]=f>>>16;H[c+15|0]=f>>>24;f=K[1517]|K[1518]<<8|(K[1519]<<16|K[1520]<<24);e=K[1513]|K[1514]<<8|(K[1515]<<16|K[1516]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=f;H[c+5|0]=f>>>8;H[c+6|0]=f>>>16;H[c+7|0]=f>>>24;H[c+17|0]=0;c=Gb(h,b+20|0,b+8|0,g);if(H[b+19|0]<0){hl(J[b+8>>2])}b:{c:{d:{switch(c|0){case 6:e=J[a+4>>2];h=J[a+12>>2];a=J[J[J[e+4>>2]+8>>2]+(h<<2)>>2];if((ka[J[J[e>>2]+8>>2]](e)|0)!=1){break c}c=b+24|0;f=fa-32|0;fa=f;i=J[J[J[e+4>>2]+8>>2]+(h<<2)>>2];e:{if((ka[J[J[e>>2]+8>>2]](e)|0)!=1){break e}j=ka[J[J[e>>2]+52>>2]](e)|0;g=ka[J[J[e>>2]+60>>2]](e,h)|0;if(!j|!g){break e}d=ka[J[J[e>>2]+56>>2]](e,h)|0;if(d){e=J[e+56>>2];J[f+20>>2]=d;J[f+16>>2]=e;J[f+28>>2]=g;J[f+24>>2]=g+12;d=pl(128);J[d+4>>2]=i;e=J[c+4>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=e;e=J[c+12>>2];J[d+16>>2]=J[c+8>>2];J[d+20>>2]=e;J[d+24>>2]=J[c+16>>2];c=J[f+20>>2];J[d+28>>2]=J[f+16>>2];J[d+32>>2]=c;c=J[f+28>>2];J[d+36>>2]=J[f+24>>2];J[d+40>>2]=c;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=7532;c=J[f+20>>2];J[d+56>>2]=J[f+16>>2];J[d+60>>2]=c;e=J[f+28>>2];c=d- -64|0;J[c>>2]=J[f+24>>2];J[c+4>>2]=e;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=7792;J[d+96>>2]=0;J[d+100>>2]=0;J[d+120>>2]=0;J[d+124>>2]=0;J[d+112>>2]=0;J[d+116>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0;break e}d=J[e+56>>2];J[f+20>>2]=j;J[f+16>>2]=d;J[f+28>>2]=g;J[f+24>>2]=g+12;d=pl(128);J[d+4>>2]=i;e=J[c+4>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=e;e=J[c+12>>2];J[d+16>>2]=J[c+8>>2];J[d+20>>2]=e;J[d+24>>2]=J[c+16>>2];c=J[f+20>>2];J[d+28>>2]=J[f+16>>2];J[d+32>>2]=c;c=J[f+28>>2];J[d+36>>2]=J[f+24>>2];J[d+40>>2]=c;J[d+48>>2]=0;J[d+52>>2]=0;J[d>>2]=9156;c=J[f+20>>2];J[d+56>>2]=J[f+16>>2];J[d+60>>2]=c;e=J[f+28>>2];c=d- -64|0;J[c>>2]=J[f+24>>2];J[c+4>>2]=e;J[d+88>>2]=1065353216;J[d+92>>2]=-1;J[d+80>>2]=-1;J[d+84>>2]=-1;J[d+72>>2]=1;J[d+76>>2]=-1;J[d+44>>2]=9400;J[d+96>>2]=0;J[d+100>>2]=0;J[d+120>>2]=0;J[d+124>>2]=0;J[d+112>>2]=0;J[d+116>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0}fa=f+32|0;if(!d){break c}break b;case 0:break d;default:break b}}c=J[a+4>>2];a=J[J[J[c+4>>2]+8>>2]+(J[a+12>>2]<<2)>>2];if((ka[J[J[c>>2]+8>>2]](c)|0)!=1){break c}ka[J[J[c>>2]+8>>2]](c)|0}d=pl(28);J[d+4>>2]=a;a=J[b+28>>2];J[d+8>>2]=J[b+24>>2];J[d+12>>2]=a;a=J[b+36>>2];J[d+16>>2]=J[b+32>>2];J[d+20>>2]=a;J[d+24>>2]=J[b+40>>2];J[d>>2]=9812}fa=b+48|0;return d|0}function ib(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,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0);h=fa+-64|0;fa=h;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;J[h+48>>2]=1065353216;c=J[a+80>>2];J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}f=c<<2;k=pl(f);J[h+16>>2]=k;c=f+k|0;J[h+24>>2]=c;pk(k,0,f);J[h+20>>2]=c;while(1){d=J[J[b>>2]>>2];f=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],n,0);g=c;c=c+f|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8;I[h+30>>1]=c;J[h+12>>2]=q;I[h+8>>1]=c;c=0;p=h+8|0;f=K[p+1|0]^(K[p|0]^318)+239;b:{c:{m=h+32|0;g=J[m+4>>2];if(!g){break c}d=hm(g);d:{if(d>>>0>=2){c=f;if(c>>>0>=g>>>0){c=(f>>>0)%(g>>>0)|0}i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}if(d>>>0<2){break d}j=K[p|0];l=K[p+1|0];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(f|0)){if(d>>>0>=g>>>0){d=(d>>>0)%(g>>>0)|0}if((c|0)!=(d|0)){break c}}d=K[i+8|0];e:{if((d|0)!=(j|0)){d=(d|0)==(j|0);break e}d=(l|0)==K[i+9|0]}if(!d){continue}break}c=0;break b}c=f&g+1023;i=J[J[m>>2]+(c<<2)>>2];if(!i){break c}}j=g-1|0;r=K[p|0];l=K[p+1|0];while(1){i=J[i>>2];if(!i){break c}d=J[i+4>>2];if((d|0)!=(f|0)&(d&j)!=(c|0)){break c}d=K[i+8|0];f:{if((d|0)!=(r|0)){d=(d|0)==(r|0);break f}d=(l|0)==K[i+9|0]}if(!d){continue}break}c=0;break b}i=pl(16);I[i+8>>1]=L[p>>1];d=J[p+4>>2];J[i+4>>2]=f;J[i+12>>2]=d;J[i>>2]=0;o=Q(J[m+12>>2]+1>>>0);s=N[m+16>>2];g:{if(o>Q(s*Q(g>>>0))?0:g){break g}c=2;d=(g-1&g)!=0|g>>>0<3|g<<1;o=Q(W(Q(o/s)));h:{if(o=Q(0)){l=~~o>>>0;break h}l=0}d=d>>>0>l>>>0?d:l;i:{if((d|0)==1){break i}if(!(d&d-1)){c=d;break i}c=dl(d);g=J[m+4>>2]}j:{if(c>>>0<=g>>>0){if(c>>>0>=g>>>0){break j}l=g>>>0<3;o=Q(W(Q(Q(M[m+12>>2])/N[m+16>>2])));k:{if(o=Q(0)){d=~~o>>>0;break k}d=0}l:{m:{if(l){break m}if(hm(g)>>>0>1){break m}d=d>>>0<2?d:1<<32-S(d-1|0);break l}d=dl(d)}c=c>>>0>d>>>0?c:d;if(g>>>0<=c>>>0){break j}}sb(m,c)}g=J[m+4>>2];c=g-1|0;if(!(c&g)){c=c&f;break g}if(f>>>0>>0){c=f;break g}c=(f>>>0)%(g>>>0)|0}f=J[m>>2]+(c<<2)|0;c=J[f>>2];n:{o:{if(!c){c=m+8|0;J[i>>2]=J[c>>2];J[m+8>>2]=i;J[f>>2]=c;c=J[i>>2];if(!c){break n}c=J[c+4>>2];f=g-1|0;p:{if(!(f&g)){c=c&f;break p}if(c>>>0>>0){break p}c=(c>>>0)%(g>>>0)|0}c=J[m>>2]+(c<<2)|0;break o}J[i>>2]=J[c>>2]}J[c>>2]=i}J[m+12>>2]=J[m+12>>2]+1;c=1}H[h+60|0]=c;J[h+56>>2]=i;q:{if(!K[h+60|0]){J[(n<<2)+k>>2]=J[J[h+56>>2]+12>>2];break q}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,q)|0,h+30|0,c);k=J[h+16>>2];J[k+(n<<2)>>2]=q;q=q+1|0}n=n+1|0;e=n?e:e+1|0;j=J[a+80>>2];if(!e&n>>>0>>0){continue}break}if((j|0)!=(q|0)){r:{if(!K[a+84|0]){b=J[a+72>>2];j=J[a+68>>2];if((b|0)==(j|0)){break r}b=b-j>>2;e=b>>>0<=1?1:b;f=e&3;c=0;b=0;if(e-1>>>0>=3){n=e&-4;l=0;while(1){d=b<<2;e=d+j|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|4)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|8)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];e=j+(d|12)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!f){break r}while(1){e=j+(b<<2)|0;J[e>>2]=J[(J[e>>2]<<2)+k>>2];b=b+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break r}H[a+84|0]=0;e=a+68|0;b=J[a+68>>2];c=J[a+72>>2]-b>>2;s:{if(c>>>0>>0){rb(e,j-c|0,2184);j=J[a+80>>2];break s}if(c>>>0<=j>>>0){break s}J[a+72>>2]=b+(j<<2)}if(!j){break r}d=J[e>>2];c=0;b=0;if(j>>>0>=4){n=j&-4;l=0;while(1){f=b<<2;J[f+d>>2]=J[f+k>>2];e=f|4;J[e+d>>2]=J[e+k>>2];e=f|8;J[e+d>>2]=J[e+k>>2];e=f|12;J[e+d>>2]=J[e+k>>2];b=b+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}n=j&3;if(!n){break r}while(1){e=b<<2;J[e+d>>2]=J[e+k>>2];b=b+1|0;c=c+1|0;if((n|0)!=(c|0)){continue}break}}J[a+80>>2]=q}hl(k)}b=J[h+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[h+32>>2];J[h+32>>2]=0;if(a){hl(a)}fa=h- -64|0;return q}Ia();C()}function Re(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0;h=fa-16|0;fa=h;J[h+12>>2]=b;b=pl(32);J[h>>2]=b;J[h+4>>2]=17;J[h+8>>2]=-2147483616;H[b+16|0]=K[1261];g=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);i=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=i;H[b+9|0]=i>>>8;H[b+10|0]=i>>>16;H[b+11|0]=i>>>24;H[b+12|0]=g;H[b+13|0]=g>>>8;H[b+14|0]=g>>>16;H[b+15|0]=g>>>24;g=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);i=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=i;H[b+1|0]=i>>>8;H[b+2|0]=i>>>16;H[b+3|0]=i>>>24;H[b+4|0]=g;H[b+5|0]=g>>>8;H[b+6|0]=g>>>16;H[b+7|0]=g>>>24;H[b+17|0]=0;i=a+4|0;Qe(i,h+12|0,h,c);if(H[h+11|0]<0){hl(J[h>>2])}a=pl(32);J[h>>2]=a;J[h+4>>2]=19;J[h+8>>2]=-2147483616;b=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[a+15|0]=b;H[a+16|0]=b>>>8;H[a+17|0]=b>>>16;H[a+18|0]=b>>>24;b=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);c=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);c=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+19|0]=0;g=fa-48|0;fa=g;j=J[h+12>>2];a=i+16|0;c=J[a>>2];a:{b:{if(!c){break b}b=a;while(1){k=(j|0)>J[c+16>>2];b=k?b:c;c=J[(k?c+4|0:c)>>2];if(c){continue}break}if((a|0)==(b|0)){break b}if((j|0)>=J[b+16>>2]){break a}}J[g+28>>2]=0;J[g+32>>2]=0;c=g+24|0;J[g+24>>2]=c|4;a=g+16|0;J[a>>2]=0;J[a+4>>2]=0;J[g+8>>2]=j;J[g+12>>2]=a;a=g+8|0;Me(g+40|0,i+12|0,a,a);b=J[g+40>>2];Mc(a|4,J[g+16>>2]);Mc(c,J[g+28>>2])}b=b+20|0;a=fa-48|0;fa=a;J[a+24>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;c:{if((d|0)<=0){break c}xl(a,N[e>>2]);c=K[a+11|0];j=c<<24>>24<0;ul(a+16|0,j?J[a>>2]:a,j?J[a+4>>2]:c);if(H[a+11|0]<0){hl(J[a>>2])}c=1;if((d|0)==1){break c}while(1){j=a+16|0;ul(j,2030,xk(2030));xl(a,N[(c<<2)+e>>2]);l=j;j=K[a+11|0];k=j<<24>>24<0;ul(l,k?J[a>>2]:a,k?J[a+4>>2]:j);if(H[a+11|0]<0){hl(J[a>>2])}c=c+1|0;if((d|0)!=(c|0)){continue}break}}J[a+40>>2]=h;Ze(a,b,h,a+40|0);d=J[a>>2];b=d+28|0;d:{if((b|0)==(a+16|0)){break d}e=K[a+27|0];c=e<<24>>24;if(H[d+39|0]>=0){if((c|0)>=0){c=J[a+20>>2];J[b>>2]=J[a+16>>2];J[b+4>>2]=c;J[b+8>>2]=J[a+24>>2];break d}wl(b,J[a+16>>2],J[a+20>>2]);break d}d=b;b=(c|0)<0;vl(d,b?J[a+16>>2]:a+16|0,b?J[a+20>>2]:e)}if(H[a+27|0]<0){hl(J[a+16>>2])}fa=a+48|0;fa=g+48|0;if(H[h+11|0]<0){hl(J[h>>2])}a=pl(32);J[h>>2]=a;J[h+4>>2]=18;J[h+8>>2]=-2147483616;b=K[1547]|K[1548]<<8;H[a+16|0]=b;H[a+17|0]=b>>>8;b=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);c=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);c=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+18|0]=0;b=fa-48|0;fa=b;c=J[h+12>>2];a=i+16|0;e=J[a>>2];e:{f:{if(!e){break f}d=a;while(1){g=(c|0)>J[e+16>>2];d=g?d:e;e=J[(g?e+4|0:e)>>2];if(e){continue}break}if((a|0)==(d|0)){break f}if((c|0)>=J[d+16>>2]){break e}}J[b+28>>2]=0;J[b+32>>2]=0;e=b+24|0;J[b+24>>2]=e|4;a=b+16|0;J[a>>2]=0;J[a+4>>2]=0;J[b+8>>2]=c;J[b+12>>2]=a;a=b+8|0;Me(b+40|0,i+12|0,a,a);d=J[b+40>>2];Mc(a|4,J[b+16>>2]);Mc(e,J[b+28>>2])}a=fa-48|0;fa=a;xl(a+8|0,f);J[a+32>>2]=h;Ze(a+40|0,d+20|0,h,a+32|0);c=J[a+40>>2];if(H[c+39|0]<0){hl(J[c+28>>2])}d=J[a+12>>2];J[c+28>>2]=J[a+8>>2];J[c+32>>2]=d;J[c+36>>2]=J[a+16>>2];fa=a+48|0;fa=b+48|0;if(H[h+11|0]<0){hl(J[h>>2])}fa=h+16|0}function qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0);f=fa-32|0;fa=f;J[f+28>>2]=c;a:{if(!Ic(a,b,c)){break a}i=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];if(J[i+28>>2]!=9){break a}g=J[b+48>>2];c=pl(32);J[f+16>>2]=c;J[f+20>>2]=17;J[f+24>>2]=-2147483616;H[c+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);h=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[c+8|0]=h;H[c+9|0]=h>>>8;H[c+10|0]=h>>>16;H[c+11|0]=h>>>24;H[c+12|0]=e;H[c+13|0]=e>>>8;H[c+14|0]=e>>>16;H[c+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);h=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[c|0]=h;H[c+1|0]=h>>>8;H[c+2|0]=h>>>16;H[c+3|0]=h>>>24;H[c+4|0]=e;H[c+5|0]=e>>>8;H[c+6|0]=e>>>16;H[c+7|0]=e>>>24;H[c+17|0]=0;h=Gb(g,f+28|0,f+16|0,-1);if(H[f+27|0]<0){hl(J[f+16>>2])}if((h|0)<=0){break a}j=J[b+48>>2];c=pl(32);J[f+16>>2]=c;J[f+20>>2]=19;J[f+24>>2]=-2147483616;e=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[c+15|0]=e;H[c+16|0]=e>>>8;H[c+17|0]=e>>>16;H[c+18|0]=e>>>24;e=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);g=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[c+8|0]=g;H[c+9|0]=g>>>8;H[c+10|0]=g>>>16;H[c+11|0]=g>>>24;H[c+12|0]=e;H[c+13|0]=e>>>8;H[c+14|0]=e>>>16;H[c+15|0]=e>>>24;e=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);g=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[c|0]=g;H[c+1|0]=g>>>8;H[c+2|0]=g>>>16;H[c+3|0]=g>>>24;H[c+4|0]=e;H[c+5|0]=e>>>8;H[c+6|0]=e>>>16;H[c+7|0]=e>>>24;H[c+19|0]=0;b:{if(!Hb(j,f+28|0,f+16|0)){break b}g=J[b+48>>2];c=pl(32);J[f>>2]=c;J[f+4>>2]=18;J[f+8>>2]=-2147483616;d=K[1547]|K[1548]<<8;H[c+16|0]=d;H[c+17|0]=d>>>8;d=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);e=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);e=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+18|0]=0;d=Hb(g,f+28|0,f);if(H[f+11|0]>=0){break b}hl(J[f>>2])}if(H[f+27|0]<0){hl(J[f+16>>2])}c:{if(d){c=0;d=K[i+24|0];if(d){d=d<<2;c=pl(d);pk(c,0,d)}j=J[b+48>>2];d=pl(32);J[f+16>>2]=d;J[f+20>>2]=19;J[f+24>>2]=-2147483616;e=K[1429]|K[1430]<<8|(K[1431]<<16|K[1432]<<24);H[d+15|0]=e;H[d+16|0]=e>>>8;H[d+17|0]=e>>>16;H[d+18|0]=e>>>24;e=K[1426]|K[1427]<<8|(K[1428]<<16|K[1429]<<24);g=K[1422]|K[1423]<<8|(K[1424]<<16|K[1425]<<24);H[d+8|0]=g;H[d+9|0]=g>>>8;H[d+10|0]=g>>>16;H[d+11|0]=g>>>24;H[d+12|0]=e;H[d+13|0]=e>>>8;H[d+14|0]=e>>>16;H[d+15|0]=e>>>24;e=K[1418]|K[1419]<<8|(K[1420]<<16|K[1421]<<24);g=K[1414]|K[1415]<<8|(K[1416]<<16|K[1417]<<24);H[d|0]=g;H[d+1|0]=g>>>8;H[d+2|0]=g>>>16;H[d+3|0]=g>>>24;H[d+4|0]=e;H[d+5|0]=e>>>8;H[d+6|0]=e>>>16;H[d+7|0]=e>>>24;H[d+19|0]=0;Ib(j,f+28|0,f+16|0,K[i+24|0],c);if(H[f+27|0]<0){hl(J[f+16>>2])}g=J[b+48>>2];b=pl(32);J[f+16>>2]=b;J[f+20>>2]=18;J[f+24>>2]=-2147483616;d=K[1547]|K[1548]<<8;H[b+16|0]=d;H[b+17|0]=d>>>8;d=K[1543]|K[1544]<<8|(K[1545]<<16|K[1546]<<24);e=K[1539]|K[1540]<<8|(K[1541]<<16|K[1542]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=d;H[b+13|0]=d>>>8;H[b+14|0]=d>>>16;H[b+15|0]=d>>>24;d=K[1535]|K[1536]<<8|(K[1537]<<16|K[1538]<<24);e=K[1531]|K[1532]<<8|(K[1533]<<16|K[1534]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=d;H[b+5|0]=d>>>8;H[b+6|0]=d>>>16;H[b+7|0]=d>>>24;H[b+18|0]=0;k=Jb(g,f+28|0,f+16|0);if(H[f+27|0]<0){hl(J[f+16>>2])}a=Pa(a+40|0,h,c,K[i+24|0],k);if(c){hl(c)}d=0;if(a){break c}break a}d=0;if(!Ra(a+40|0,i,h)){break a}}d=1}fa=f+32|0;return d|0}function kh(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,n=0,o=0,p=0,q=0,r=0,s=0;k=fa-32|0;fa=k;c=J[a+16>>2];J[a+20>>2]=c;a:{b:{c:{d:{e:{f:{g:{if((c|0)!=J[a+24>>2]){J[c>>2]=b;b=c+4|0;J[a+20>>2]=b;d=c;break g}d=pl(4);J[d>>2]=b;b=d+4|0;J[a+24>>2]=b;J[a+20>>2]=b;J[a+16>>2]=d;if(c){break f}}c=J[a+8>>2];c=J[c+100>>2]-J[c+96>>2]|0;break e}hl(c);b=J[a+20>>2];d=J[a+16>>2];if((b|0)==(d|0)){break d}c=J[a+8>>2];c=J[c+100>>2]-J[c+96>>2]|0}if((c|0)>0){r=a+120|0;m=a+200|0;c=(c|0)/12|0;s=(c|0)<=1?1:c;while(1){h:{i:{d=b-4|0;b=J[d>>2];if((b|0)==-1){break i}c=(b>>>0)/3|0;if(J[J[a+28>>2]+(c>>>3&268435452)>>2]>>>c&1){break i}n=0;while(1){J[a+164>>2]=J[a+164>>2]+1;e=b;h=(b>>>0)/3|0;g=(b|0)==-1;o=g?-1:h;b=J[a+28>>2]+(o>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];j:{if((b|0)!=J[a+80>>2]){J[b>>2]=e;J[a+76>>2]=b+4;break j}j=J[a+72>>2];l=b-j|0;d=l>>2;i=d+1|0;if(i>>>0>1073741823){break c}c=l>>>1|0;i=l>>>0>=2147483644?1073741823:c>>>0>i>>>0?c:i;if(i){if(i>>>0>1073741823){break a}c=pl(i<<2)}else{c=0}f=c+(d<<2)|0;J[f>>2]=e;d=f+4|0;if((b|0)!=(j|0)){while(1){f=f-4|0;b=b-4|0;J[f>>2]=J[b>>2];if((b|0)!=(j|0)){continue}break}}J[a+80>>2]=c+(i<<2);J[a+76>>2]=d;J[a+72>>2]=f;if(!j){break j}hl(j)}J[a+320>>2]=e;b=-1;f=J[a+12>>2];b=(e|0)!=-1?J[J[f>>2]+(e<<2)>>2]:b;i=b<<2;q=J[i+J[a+152>>2]>>2];k:{l:{d=J[a+84>>2]+(b>>>3&536870908)|0;c=J[d>>2];b=1<>2]=b|c;if((q|0)==-1){break l}}m:{if(g){break m}b=-1;c=e+1|0;g=(c>>>0)%3|0?c:e-2|0;if((g|0)!=-1){b=J[J[f+12>>2]+(g<<2)>>2]}j=e-P(h,3)|0;n:{o:{if(j){d=e-1|0;break o}d=e+2|0;c=-1;if((d|0)==-1){break n}}c=J[J[f+12>>2]+(d<<2)>>2]}p=(c|0)==-1;l=p?-1:(c>>>0)/3|0;p:{if((g|0)==-1){break p}h=J[f+12>>2];d=J[h+(g<<2)>>2];if((d|0)==-1){break p}g=J[a+28>>2];d=(d>>>0)/3|0;if(J[g+(d>>>3&268435452)>>2]>>>d&1){break p}q:{r:{if(j){f=e-1|0;break r}f=e+2|0;if((f|0)==-1){break q}}d=J[(f<<2)+h>>2];if((d|0)==-1){break q}d=(d>>>0)/3|0;if(J[g+(d>>>3&268435452)>>2]>>>d&1){break q}mh(m,1);J[a+168>>2]=J[a+168>>2]+1;s:{if((q|0)==-1){break s}d=J[J[a+152>>2]+i>>2];if(J[J[a+140>>2]+(d>>>3&536870908)>>2]>>>d&1){break s}Yg(a,e,0)}e=J[a+164>>2];J[k+4>>2]=o;d=k+4|0;J[k+16>>2]=d;ch(k+24|0,r,d,k+16|0);J[J[k+24>>2]+12>>2]=e;f=J[a+20>>2];J[f-4>>2]=c;if(J[a+24>>2]!=(f|0)){J[f>>2]=b;J[a+20>>2]=f+4;break h}h=J[a+16>>2];g=f-h|0;d=g>>2;e=d+1|0;if(e>>>0>1073741823){break b}c=g>>>1|0;e=g>>>0>=2147483644?1073741823:c>>>0>e>>>0?c:e;if(e){if(e>>>0>1073741823){break a}c=pl(e<<2)}else{c=0}d=c+(d<<2)|0;J[d>>2]=b;b=d+4|0;if((f|0)!=(h|0)){while(1){d=d-4|0;f=f-4|0;J[d>>2]=J[f>>2];if((f|0)!=(h|0)){continue}break}}J[a+24>>2]=c+(e<<2);J[a+20>>2]=b;J[a+16>>2]=d;if(!h){break h}hl(h);break h}if(!p){dh(a,J[a+164>>2],0,l)}mh(m,3);break k}d=(b|0)==-1;if(!d){dh(a,J[a+164>>2],1,d?-1:(b>>>0)/3|0)}t:{u:{if(j){b=e-1|0;break u}b=e+2|0;if((b|0)==-1){break t}}b=J[J[J[a+12>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break t}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break t}mh(m,5);b=c;break k}if(p){break m}dh(a,J[a+164>>2],0,l)}mh(m,7);J[a+20>>2]=J[a+20>>2]-4;break h}mh(m,0);b=-1;if((e|0)==-1){break k}c=e+1|0;c=(c>>>0)%3|0?c:e-2|0;if((c|0)==-1){break k}b=J[J[J[a+12>>2]+12>>2]+(c<<2)>>2]}n=n+1|0;if((s|0)!=(n|0)){continue}break}break h}J[a+20>>2]=d}b=J[a+20>>2];if((b|0)!=J[a+16>>2]){continue}break}break d}g=J[a+28>>2];while(1){c=b-4|0;e=J[c>>2];v:{if((e|0)!=-1){e=(e>>>0)/3|0;if(!(J[g+(e>>>3&268435452)>>2]>>>e&1)){break v}}J[a+20>>2]=c;b=c}if((b|0)!=(d|0)){continue}break}}fa=k+32|0;return 1}Ia();C()}Ia();C()}Ya();C()}function lb(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,n=0,o=Q(0),p=0,q=0,r=Q(0);g=fa+-64|0;fa=g;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+48>>2]=1065353216;c=J[a+80>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;j=pl(e);J[g+16>>2]=j;c=e+j|0;J[g+24>>2]=c;pk(j,0,e);J[g+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],m,0);f=c;c=c+e|0;c=c+d|0;c=K[c|0]|K[c+1|0]<<8;I[g+30>>1]=c;J[g+12>>2]=p;I[g+8>>1]=c;c=0;q=g+8|0;n=L[q>>1];e=n^318;b:{c:{k=g+32|0;f=J[k+4>>2];if(!f){break c}d=hm(f);d:{if(d>>>0>=2){c=e;if(f>>>0<=c>>>0){c=(e>>>0)%(f>>>0)|0}h=J[J[k>>2]+(c<<2)>>2];if(!h){break c}if(d>>>0<=1){break d}while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(e|0)){if(d>>>0>=f>>>0){d=(d>>>0)%(f>>>0)|0}if((c|0)!=(d|0)){break c}}if(L[h+8>>1]!=(n|0)){continue}break}c=0;break b}c=e&f-1;h=J[J[k>>2]+(c<<2)>>2];if(!h){break c}}l=f-1|0;while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((e|0)!=(d|0)&(d&l)!=(c|0)){break c}if(L[h+8>>1]!=(n|0)){continue}break}c=0;break b}h=pl(16);I[h+8>>1]=L[q>>1];d=J[q+4>>2];J[h+4>>2]=e;J[h+12>>2]=d;J[h>>2]=0;o=Q(J[k+12>>2]+1>>>0);r=N[k+16>>2];e:{if(o>Q(r*Q(f>>>0))?0:f){break e}c=2;d=(f-1&f)!=0|f>>>0<3|f<<1;o=Q(W(Q(o/r)));f:{if(o=Q(0)){l=~~o>>>0;break f}l=0}d=d>>>0>l>>>0?d:l;g:{if((d|0)==1){break g}if(!(d&d-1)){c=d;break g}c=dl(d);f=J[k+4>>2]}h:{if(c>>>0<=f>>>0){if(c>>>0>=f>>>0){break h}l=f>>>0<3;o=Q(W(Q(Q(M[k+12>>2])/N[k+16>>2])));i:{if(o=Q(0)){d=~~o>>>0;break i}d=0}j:{k:{if(l){break k}if(hm(f)>>>0>1){break k}d=d>>>0<2?d:1<<32-S(d-1|0);break j}d=dl(d)}c=c>>>0>d>>>0?c:d;if(f>>>0<=c>>>0){break h}}sb(k,c)}f=J[k+4>>2];c=f-1|0;if(!(c&f)){c=c&e;break e}if(e>>>0>>0){c=e;break e}c=(e>>>0)%(f>>>0)|0}e=J[k>>2]+(c<<2)|0;c=J[e>>2];l:{m:{if(!c){c=k+8|0;J[h>>2]=J[c>>2];J[k+8>>2]=h;J[e>>2]=c;c=J[h>>2];if(!c){break l}c=J[c+4>>2];e=f-1|0;n:{if(!(e&f)){c=c&e;break n}if(c>>>0>>0){break n}c=(c>>>0)%(f>>>0)|0}c=J[k>>2]+(c<<2)|0;break m}J[h>>2]=J[c>>2]}J[c>>2]=h}J[k+12>>2]=J[k+12>>2]+1;c=1}H[g+60|0]=c;J[g+56>>2]=h;o:{if(!K[g+60|0]){J[(m<<2)+j>>2]=J[J[g+56>>2]+12>>2];break o}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,g+30|0,c);j=J[g+16>>2];J[j+(m<<2)>>2]=p;p=p+1|0}m=m+1|0;i=m?i:i+1|0;c=J[a+80>>2];if(!i&m>>>0>>0){continue}break}if((c|0)!=(p|0)){p:{if(!K[a+84|0]){b=J[a+72>>2];d=J[a+68>>2];if((b|0)==(d|0)){break p}b=b-d>>2;c=b>>>0<=1?1:b;m=c&3;n=0;b=0;if(c-1>>>0>=3){i=c&-4;l=0;while(1){e=b<<2;c=e+d|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|4)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|8)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|12)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];b=b+4|0;l=l+4|0;if((i|0)!=(l|0)){continue}break}}if(!m){break p}while(1){c=d+(b<<2)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];b=b+1|0;n=n+1|0;if((m|0)!=(n|0)){continue}break}break p}H[a+84|0]=0;m=a+68|0;b=J[a+68>>2];i=J[a+72>>2]-b>>2;q:{if(i>>>0>>0){rb(m,c-i|0,2184);c=J[a+80>>2];break q}if(c>>>0>=i>>>0){break q}J[a+72>>2]=b+(c<<2)}if(!c){break p}d=J[m>>2];n=0;b=0;if(c>>>0>=4){m=c&-4;l=0;while(1){e=b<<2;J[e+d>>2]=J[e+j>>2];i=e|4;J[i+d>>2]=J[j+i>>2];i=e|8;J[i+d>>2]=J[j+i>>2];i=e|12;J[i+d>>2]=J[j+i>>2];b=b+4|0;l=l+4|0;if((m|0)!=(l|0)){continue}break}}i=c&3;if(!i){break p}while(1){c=b<<2;J[c+d>>2]=J[c+j>>2];b=b+1|0;n=n+1|0;if((i|0)!=(n|0)){continue}break}}J[a+80>>2]=p}hl(j)}b=J[g+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[g+32>>2];J[g+32>>2]=0;if(a){hl(a)}fa=g- -64|0;return p}Ia();C()}function vd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;J[a+8>>2]=e;q=a+32|0;f=J[q>>2];h=J[a+36>>2]-f>>2;a:{if(h>>>0>>0){La(q,e-h|0);break a}if(e>>>0>=h>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){h=g;break c}f=1;h=d-1|0;l=h&1;d:{if((d|0)==2){h=g;break d}o=h&-2;d=0;h=g;while(1){i=(f<<2)+b|0;p=J[i+4>>2];k=J[i>>2];j=(k|0)<(h|0);h=j?k:h;i=(h|0)>(p|0);h=i?p:h;g=j?g:(g|0)<(k|0)?k:g;g=i?g:(g|0)<(p|0)?p:g;f=f+2|0;d=d+2|0;if((o|0)!=(d|0)){continue}break}}if(!l){break c}f=J[(f<<2)+b>>2];d=(f|0)<(h|0);h=d?f:h;g=d?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=h;f=(g>>31)-((h>>31)+(g>>>0>>0)|0)|0;d=g-h|0;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}s=e<<2;d=e>>>0>1073741823?-1:s;h=pk(pl(d),0,d);d=J[a+56>>2];t=J[d>>2];d=J[d+4>>2]-t|0;if((d|0)>=5){w=J[a+52>>2];u=J[a+48>>2];x=e&-2;y=e&1;v=d>>2;l=v;while(1){o=l;e:{f:{l=l-1|0;if(v>>>0>l>>>0){p=P(e,l);d=J[(l<<2)+t>>2];if((d|0)==-1){break f}g=J[J[u+12>>2]+(d<<2)>>2];if((g|0)==-1){break f}j=J[w>>2];k=J[u>>2];i=J[j+(J[k+(g<<2)>>2]<<2)>>2];d=g+1|0;d=(d>>>0)%3|0?d:g-2|0;if((d|0)!=-1){f=J[k+(d<<2)>>2]}else{f=-1}g:{h:{if((g>>>0)%3|0){g=g-1|0;break h}g=g+2|0;d=-1;if((g|0)==-1){break g}}d=J[k+(g<<2)>>2]}if((i|0)>=(l|0)){break f}f=J[(f<<2)+j>>2];if((f|0)>=(l|0)){break f}d=J[j+(d<<2)>>2];if((d|0)>=(l|0)){break f}i:{if((e|0)<=0){break i}k=P(d,e);j=P(e,f);i=P(e,i);g=0;d=0;if((e|0)!=1){while(1){J[h+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+j<<2)+b>>2]|0)-J[(g+i<<2)+b>>2];f=g|1;J[h+(f<<2)>>2]=(J[(f+k<<2)+b>>2]+J[(f+j<<2)+b>>2]|0)-J[(f+i<<2)+b>>2];g=g+2|0;d=d+2|0;if((x|0)!=(d|0)){continue}break}}if(!y){break i}J[h+(g<<2)>>2]=(J[(g+k<<2)+b>>2]+J[(g+j<<2)+b>>2]|0)-J[(g+i<<2)+b>>2]}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;p=d+c|0;k=b+d|0;i=J[q>>2];m=0;d=h;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];j:{if((r|0)>(j|0)){J[f+n>>2]=j;break j}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break j}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=m<<2;d=g+p|0;g=J[g+k>>2]-J[f+g>>2]|0;J[d>>2]=g;k:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break k}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}break e}Xc();C()}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;p=d+c|0;k=b+d|0;d=(P(o-2|0,e)<<2)+b|0;i=J[q>>2];m=0;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];l:{if((r|0)>(j|0)){J[f+n>>2]=j;break l}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break l}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=m<<2;d=g+p|0;g=J[g+k>>2]-J[f+g>>2]|0;J[d>>2]=g;m:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break m}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}}if((o|0)>2){continue}break}}if((e|0)>0){pk(h,0,s)}g=J[a+8>>2];if((g|0)>0){e=J[a+32>>2];m=0;d=h;while(1){f=e;if((g|0)>0){f=J[q>>2];g=0;while(1){o=g<<2;l=J[o+d>>2];i=J[a+16>>2];n:{if((l|0)>(i|0)){J[f+o>>2]=i;break n}o=f+o|0;i=J[a+12>>2];if((i|0)>(l|0)){J[o>>2]=i;break n}J[o>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}g=m<<2;d=g+c|0;g=J[b+g>>2]-J[f+g>>2]|0;J[d>>2]=g;o:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break o}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];m=m+1|0;if((g|0)>(m|0)){continue}break}}hl(h);return 1}function hb(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,n=0,o=Q(0),p=0,q=0,r=Q(0);g=fa+-64|0;fa=g;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+48>>2]=1065353216;c=J[a+80>>2];J[g+24>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;a:{if(c){if(c>>>0>=1073741824){break a}e=c<<2;j=pl(e);J[g+16>>2]=j;c=e+j|0;J[g+24>>2]=c;pk(j,0,e);J[g+20>>2]=c;while(1){d=J[J[b>>2]>>2];e=J[b+48>>2];c=em(J[b+40>>2],J[b+44>>2],m,0);f=c;c=c+e|0;c=K[c+d|0];H[g+31|0]=c;J[g+12>>2]=p;H[g+8|0]=c;c=0;q=g+8|0;n=K[q|0];e=n^318;b:{c:{k=g+32|0;f=J[k+4>>2];if(!f){break c}d=hm(f);d:{if(d>>>0>=2){c=e;if(f>>>0<=c>>>0){c=(e>>>0)%(f>>>0)|0}h=J[J[k>>2]+(c<<2)>>2];if(!h){break c}if(d>>>0<=1){break d}while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((d|0)!=(e|0)){if(d>>>0>=f>>>0){d=(d>>>0)%(f>>>0)|0}if((c|0)!=(d|0)){break c}}if(K[h+8|0]!=(n|0)){continue}break}c=0;break b}c=e&f-1;h=J[J[k>>2]+(c<<2)>>2];if(!h){break c}}l=f-1|0;while(1){h=J[h>>2];if(!h){break c}d=J[h+4>>2];if((e|0)!=(d|0)&(d&l)!=(c|0)){break c}if(K[h+8|0]!=(n|0)){continue}break}c=0;break b}h=pl(16);H[h+8|0]=K[q|0];d=J[q+4>>2];J[h+4>>2]=e;J[h+12>>2]=d;J[h>>2]=0;o=Q(J[k+12>>2]+1>>>0);r=N[k+16>>2];e:{if(o>Q(r*Q(f>>>0))?0:f){break e}c=2;d=(f-1&f)!=0|f>>>0<3|f<<1;o=Q(W(Q(o/r)));f:{if(o=Q(0)){l=~~o>>>0;break f}l=0}d=d>>>0>l>>>0?d:l;g:{if((d|0)==1){break g}if(!(d&d-1)){c=d;break g}c=dl(d);f=J[k+4>>2]}h:{if(c>>>0<=f>>>0){if(c>>>0>=f>>>0){break h}l=f>>>0<3;o=Q(W(Q(Q(M[k+12>>2])/N[k+16>>2])));i:{if(o=Q(0)){d=~~o>>>0;break i}d=0}j:{k:{if(l){break k}if(hm(f)>>>0>1){break k}d=d>>>0<2?d:1<<32-S(d-1|0);break j}d=dl(d)}c=c>>>0>d>>>0?c:d;if(f>>>0<=c>>>0){break h}}sb(k,c)}f=J[k+4>>2];c=f-1|0;if(!(c&f)){c=c&e;break e}if(e>>>0>>0){c=e;break e}c=(e>>>0)%(f>>>0)|0}e=J[k>>2]+(c<<2)|0;c=J[e>>2];l:{m:{if(!c){c=k+8|0;J[h>>2]=J[c>>2];J[k+8>>2]=h;J[e>>2]=c;c=J[h>>2];if(!c){break l}c=J[c+4>>2];e=f-1|0;n:{if(!(e&f)){c=c&e;break n}if(c>>>0>>0){break n}c=(c>>>0)%(f>>>0)|0}c=J[k>>2]+(c<<2)|0;break m}J[h>>2]=J[c>>2]}J[c>>2]=h}J[k+12>>2]=J[k+12>>2]+1;c=1}H[g+60|0]=c;J[g+56>>2]=h;o:{if(!K[g+60|0]){J[(m<<2)+j>>2]=J[J[g+56>>2]+12>>2];break o}c=J[a+40>>2];nk(J[J[a>>2]>>2]+P(c,p)|0,g+31|0,c);j=J[g+16>>2];J[j+(m<<2)>>2]=p;p=p+1|0}m=m+1|0;i=m?i:i+1|0;c=J[a+80>>2];if(!i&m>>>0>>0){continue}break}if((c|0)!=(p|0)){p:{if(!K[a+84|0]){b=J[a+72>>2];d=J[a+68>>2];if((b|0)==(d|0)){break p}b=b-d>>2;c=b>>>0<=1?1:b;m=c&3;n=0;b=0;if(c-1>>>0>=3){i=c&-4;l=0;while(1){e=b<<2;c=e+d|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|4)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|8)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];c=d+(e|12)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];b=b+4|0;l=l+4|0;if((i|0)!=(l|0)){continue}break}}if(!m){break p}while(1){c=d+(b<<2)|0;J[c>>2]=J[(J[c>>2]<<2)+j>>2];b=b+1|0;n=n+1|0;if((m|0)!=(n|0)){continue}break}break p}H[a+84|0]=0;m=a+68|0;b=J[a+68>>2];i=J[a+72>>2]-b>>2;q:{if(i>>>0>>0){rb(m,c-i|0,2184);c=J[a+80>>2];break q}if(c>>>0>=i>>>0){break q}J[a+72>>2]=b+(c<<2)}if(!c){break p}d=J[m>>2];n=0;b=0;if(c>>>0>=4){m=c&-4;l=0;while(1){e=b<<2;J[e+d>>2]=J[e+j>>2];i=e|4;J[i+d>>2]=J[j+i>>2];i=e|8;J[i+d>>2]=J[j+i>>2];i=e|12;J[i+d>>2]=J[j+i>>2];b=b+4|0;l=l+4|0;if((m|0)!=(l|0)){continue}break}}i=c&3;if(!i){break p}while(1){c=b<<2;J[c+d>>2]=J[c+j>>2];b=b+1|0;n=n+1|0;if((i|0)!=(n|0)){continue}break}}J[a+80>>2]=p}hl(j)}b=J[g+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[g+32>>2];J[g+32>>2]=0;if(a){hl(a)}fa=g- -64|0;return p}Ia();C()}function Wc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;J[a+8>>2]=e;q=a+32|0;f=J[q>>2];h=J[a+36>>2]-f>>2;a:{if(h>>>0>>0){La(q,e-h|0);break a}if(e>>>0>=h>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){h=g;break c}f=1;h=d-1|0;l=h&1;d:{if((d|0)==2){h=g;break d}o=h&-2;d=0;h=g;while(1){i=(f<<2)+b|0;m=J[i+4>>2];p=J[i>>2];j=(p|0)<(h|0);h=j?p:h;i=(h|0)>(m|0);h=i?m:h;g=j?g:(g|0)<(p|0)?p:g;g=i?g:(g|0)<(m|0)?m:g;f=f+2|0;d=d+2|0;if((o|0)!=(d|0)){continue}break}}if(!l){break c}f=J[(f<<2)+b>>2];d=(f|0)<(h|0);h=d?f:h;g=d?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=h;f=(g>>31)-((h>>31)+(g>>>0>>0)|0)|0;d=g-h|0;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}t=e<<2;d=e>>>0>1073741823?-1:t;h=pk(pl(d),0,d);d=J[a+56>>2];u=J[d>>2];d=J[d+4>>2]-u|0;if((d|0)>=5){w=J[a+52>>2];s=J[a+48>>2];x=e&-2;y=e&1;v=d>>2;l=v;while(1){o=l;e:{f:{l=l-1|0;if(v>>>0>l>>>0){p=P(e,l);d=J[(l<<2)+u>>2];if((d|0)==-1|J[J[s>>2]+(d>>>3&536870908)>>2]>>>d&1){break f}m=J[J[J[s+64>>2]+12>>2]+(d<<2)>>2];if((m|0)==-1){break f}i=J[w>>2];j=J[s+28>>2];g=J[i+(J[j+(m<<2)>>2]<<2)>>2];if((g|0)>=(l|0)){break f}d=m+1|0;f=J[i+(J[j+(((d>>>0)%3|0?d:m-2|0)<<2)>>2]<<2)>>2];if((f|0)>=(l|0)){break f}d=J[i+(J[j+(m+((m>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((d|0)>=(l|0)){break f}g:{if((e|0)<=0){break g}j=P(d,e);i=P(e,f);f=P(e,g);g=0;k=0;if((e|0)!=1){while(1){J[h+(g<<2)>>2]=(J[(g+j<<2)+b>>2]+J[(g+i<<2)+b>>2]|0)-J[(f+g<<2)+b>>2];d=g|1;J[h+(d<<2)>>2]=(J[(d+j<<2)+b>>2]+J[(d+i<<2)+b>>2]|0)-J[(d+f<<2)+b>>2];g=g+2|0;k=k+2|0;if((x|0)!=(k|0)){continue}break}}if(!y){break g}J[h+(g<<2)>>2]=(J[(g+j<<2)+b>>2]+J[(g+i<<2)+b>>2]|0)-J[(f+g<<2)+b>>2]}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;m=d+c|0;p=b+d|0;i=J[q>>2];k=0;d=h;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];h:{if((r|0)>(j|0)){J[f+n>>2]=j;break h}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break h}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=k<<2;d=g+m|0;g=J[g+p>>2]-J[f+g>>2]|0;J[d>>2]=g;i:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break i}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}break e}Xc();C()}g=J[a+8>>2];if((g|0)<=0){break e}d=p<<2;m=d+c|0;p=b+d|0;d=(P(o-2|0,e)<<2)+b|0;i=J[q>>2];k=0;while(1){f=i;if((g|0)>0){f=J[q>>2];g=0;while(1){n=g<<2;r=J[n+d>>2];j=J[a+16>>2];j:{if((r|0)>(j|0)){J[f+n>>2]=j;break j}n=f+n|0;j=J[a+12>>2];if((j|0)>(r|0)){J[n>>2]=j;break j}J[n>>2]=r}g=g+1|0;if((g|0)>2]){continue}break}}g=k<<2;d=g+m|0;g=J[g+p>>2]-J[f+g>>2]|0;J[d>>2]=g;k:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break k}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}}if((o|0)>2){continue}break}}if((e|0)>0){pk(h,0,t)}g=J[a+8>>2];if((g|0)>0){e=J[a+32>>2];k=0;d=h;while(1){f=e;if((g|0)>0){f=J[q>>2];g=0;while(1){o=g<<2;l=J[o+d>>2];i=J[a+16>>2];l:{if((l|0)>(i|0)){J[f+o>>2]=i;break l}o=f+o|0;i=J[a+12>>2];if((i|0)>(l|0)){J[o>>2]=i;break l}J[o>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}g=k<<2;d=g+c|0;g=J[b+g>>2]-J[f+g>>2]|0;J[d>>2]=g;m:{if((g|0)>2]){g=g+J[a+20>>2]|0}else{if((g|0)<=J[a+24>>2]){break m}g=g-J[a+20>>2]|0}J[d>>2]=g}d=f;g=J[a+8>>2];k=k+1|0;if((g|0)>(k|0)){continue}break}}hl(h);return 1}function Na(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Q(0),p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(J[c>>2]==J[c+4>>2]){m=J[d+80>>2];u=fa-16|0;fa=u;g=J[a+4>>2];k=K[b+24|0];h=J[d+48>>2];n=J[J[d>>2]>>2];c=u+8|0;J[c>>2]=1065353216;d=c;N[c>>2]=Q(-1<>2];c=pl(k<<2);a:{if(!m|!k){break a}p=h+n|0;o=N[d>>2];n=J[a+8>>2];v=J[b>>2];d=J[b+48>>2];g=J[b+40>>2];w=J[b+44>>2];if(!K[b+84|0]){f=J[b+68>>2];s=k&254;t=k&1;a=0;while(1){b=J[v>>2];l=em(g,w,J[f+(i<<2)>>2],0)+d|0;h=nk(c,b+l|0,g);b=0;q=0;if((k|0)!=1){while(1){l=p+(a<<2)|0;j=b<<2;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));b:{if(Q(R(e))>2]=r;j=j|4;e=Q(V(Q(Q(o*Q(N[j+h>>2]-N[n+j>>2]))+Q(.5))));c:{if(Q(R(e))>2]=j;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){l=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+h>>2]-N[b+n>>2]))+Q(.5))));d:{if(Q(R(e))>2]=b;a=a+1|0}i=i+1|0;if((m|0)!=(i|0)){continue}break}break a}s=k&254;t=k&1;a=0;while(1){b=J[v>>2];h=em(g,w,i,l)+d|0;j=nk(c,b+h|0,g);b=0;q=0;if((k|0)!=1){while(1){h=p+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));e:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+j>>2]-N[f+n>>2]))+Q(.5))));f:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;q=q+2|0;if((s|0)!=(q|0)){continue}break}}if(t){h=p+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+j>>2]-N[b+n>>2]))+Q(.5))));g:{if(Q(R(e))>2]=b;a=a+1|0}b=l;i=i+1|0;b=i?b:b+1|0;l=b;if((i|0)!=(m|0)|b){continue}break}}hl(c);fa=u+16|0;return 1}j=fa-16|0;fa=j;m=J[a+4>>2];i=K[b+24|0];g=J[d+48>>2];h=J[J[d>>2]>>2];d=j+8|0;J[d>>2]=1065353216;l=d;N[d>>2]=Q(-1<>2];d=pl(i<<2);m=J[c+4>>2];q=J[c>>2];h:{if(!i|(m|0)==(q|0)){break h}n=h+g|0;c=m-q>>2;u=c>>>0<=1?1:c;o=N[l>>2];h=J[a+8>>2];v=J[b>>2];l=J[b+48>>2];m=J[b+40>>2];w=J[b+44>>2];if(K[b+84|0]){s=i&254;t=i&1;a=0;c=0;while(1){b=J[v>>2];g=em(m,w,J[q+(c<<2)>>2],0)+l|0;p=nk(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));i:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));j:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(t){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));k:{if(Q(R(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}break h}s=J[b+68>>2];t=i&254;x=i&1;a=0;c=0;while(1){b=J[v>>2];g=em(m,w,J[s+(J[q+(c<<2)>>2]<<2)>>2],0)+l|0;p=nk(d,b+g|0,m);b=0;k=0;if((i|0)!=1){while(1){g=n+(a<<2)|0;f=b<<2;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));l:{if(Q(R(e))>2]=r;f=f|4;e=Q(V(Q(Q(o*Q(N[f+p>>2]-N[h+f>>2]))+Q(.5))));m:{if(Q(R(e))>2]=f;b=b+2|0;a=a+2|0;k=k+2|0;if((t|0)!=(k|0)){continue}break}}if(x){g=n+(a<<2)|0;b=b<<2;e=Q(V(Q(Q(o*Q(N[b+p>>2]-N[b+h>>2]))+Q(.5))));n:{if(Q(R(e))>2]=b;a=a+1|0}c=c+1|0;if((u|0)!=(c|0)){continue}break}}hl(d);fa=j+16|0;return 1}function kk(a){a=a|0;var 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=Q(0);c=1;a:{if(!J[a+80>>2]){break a}f=J[a+8>>2];if((J[a+12>>2]-f|0)<4){break a}while(1){b=J[(n<<2)+f>>2];k=0;l=0;j=0;c=0;f=0;e=-1;b:{c:{d:{e:{switch(J[b+28>>2]-1|0){case 8:f:{switch(K[b+24|0]-1|0){case 0:e=fa+-64|0;fa=e;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+48>>2]=1065353216;g=J[b+80>>2];J[e+24>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;g:{h:{if(g){if(g>>>0>=1073741824){break h}d=g<<2;g=pl(d);J[e+16>>2]=g;h=d+g|0;J[e+24>>2]=h;pk(g,0,d);J[e+20>>2]=h;while(1){d=J[J[b>>2]>>2];h=J[b+48>>2];m=em(J[b+40>>2],J[b+44>>2],c,0);h=h+m|0;d=d+h|0;o=(x(2,K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24)),D());N[e+28>>2]=o;J[e+12>>2]=k;N[e+8>>2]=o;d=e+8|0;qb(e+56|0,e+32|0,d,d);i:{if(!K[e+60|0]){J[(c<<2)+g>>2]=J[J[e+56>>2]+12>>2];break i}g=J[b+40>>2];nk(J[J[b>>2]>>2]+P(g,k)|0,e+28|0,g);g=J[e+16>>2];J[g+(c<<2)>>2]=k;k=k+1|0}c=c+1|0;f=c?f:f+1|0;d=J[b+80>>2];if(!f&c>>>0>>0){continue}break}if((d|0)!=(k|0)){j:{if(!K[b+84|0]){c=J[b+72>>2];f=J[b+68>>2];if((c|0)==(f|0)){break j}c=c-f>>2;d=c>>>0<=1?1:c;h=d&3;c=0;if(d-1>>>0>=3){m=d&-4;while(1){d=c<<2;i=d+f|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];i=f+(d|4)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];i=f+(d|8)|0;J[i>>2]=J[(J[i>>2]<<2)+g>>2];d=f+(d|12)|0;J[d>>2]=J[(J[d>>2]<<2)+g>>2];c=c+4|0;j=j+4|0;if((m|0)!=(j|0)){continue}break}}if(!h){break j}while(1){d=f+(c<<2)|0;J[d>>2]=J[(J[d>>2]<<2)+g>>2];c=c+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}break j}H[b+84|0]=0;c=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;k:{if(f>>>0>>0){rb(c,d-f|0,2184);d=J[b+80>>2];break k}if(d>>>0>=f>>>0){break k}J[b+72>>2]=h+(d<<2)}if(!d){break j}f=J[c>>2];c=0;if(d>>>0>=4){m=d&-4;while(1){h=c<<2;J[h+f>>2]=J[g+h>>2];i=h|4;J[i+f>>2]=J[g+i>>2];i=h|8;J[i+f>>2]=J[g+i>>2];h=h|12;J[h+f>>2]=J[g+h>>2];c=c+4|0;j=j+4|0;if((m|0)!=(j|0)){continue}break}}d=d&3;if(!d){break j}while(1){j=c<<2;J[j+f>>2]=J[g+j>>2];c=c+1|0;l=l+1|0;if((d|0)!=(l|0)){continue}break}}J[b+80>>2]=k}hl(g)}c=J[e+40>>2];if(c){while(1){f=J[c>>2];hl(c);c=f;if(c){continue}break}}c=J[e+32>>2];J[e+32>>2]=0;if(c){hl(c)}fa=e- -64|0;c=k;break g}Ia();C()}break d;case 1:c=eb(b,b);break d;case 2:c=fb(b,b);break d;case 3:break f;default:break c}}c=gb(b,b);break d;case 0:l:{switch(K[b+24|0]-1|0){case 0:c=hb(b,b);break d;case 1:c=ib(b,b);break d;case 2:c=jb(b,b);break d;case 3:break l;default:break c}}c=kb(b,b);break d;case 1:case 10:m:{switch(K[b+24|0]-1|0){case 0:c=hb(b,b);break d;case 1:c=ib(b,b);break d;case 2:c=jb(b,b);break d;case 3:break m;default:break c}}c=kb(b,b);break d;case 3:n:{switch(K[b+24|0]-1|0){case 0:c=lb(b,b);break d;case 1:c=mb(b,b);break d;case 2:c=nb(b,b);break d;case 3:break n;default:break c}}c=ob(b,b);break d;case 2:o:{switch(K[b+24|0]-1|0){case 0:c=lb(b,b);break d;case 1:c=mb(b,b);break d;case 2:c=nb(b,b);break d;case 3:break o;default:break c}}c=ob(b,b);break d;case 5:p:{switch(K[b+24|0]-1|0){case 0:c=pb(b,b);break d;case 1:c=eb(b,b);break d;case 2:c=fb(b,b);break d;case 3:break p;default:break c}}c=gb(b,b);break d;case 4:break e;default:break b}}q:{switch(K[b+24|0]-1|0){case 0:c=pb(b,b);break d;case 1:c=eb(b,b);break d;case 2:c=fb(b,b);break d;case 3:break q;default:break c}}c=gb(b,b)}e=c;if(e){break b}}e=-1}c=(e|0)!=0;if(!e){break a}n=n+1|0;f=J[a+8>>2];if((n|0)>2]-f>>2){continue}break}}return c|0}function Je(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=fa-16|0;fa=k;a:{if(!J[a+8>>2]){break a}e=J[a>>2];J[a>>2]=a+4;J[J[a+4>>2]+8>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;f=J[e+4>>2];e=f?f:e;if(!e){Mc(a,e);break a}h=J[e+8>>2];b:{if(!h){break b}f=J[h>>2];if((f|0)==(e|0)){J[h>>2]=0;d=h;f=J[d+4>>2];if(!f){break b}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}break b}J[h+4>>2]=0;d=h;if(!f){break b}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}}c:{if((b|0)==(c|0)){h=e;break c}f=b;while(1){h=d;J[k+12>>2]=e+28;J[k+8>>2]=e+16;b=f+16|0;d=J[k+8>>2];d:{if((b|0)==(d|0)){break d}i=K[b+11|0];g=i<<24>>24;if(H[d+11|0]>=0){if((g|0)>=0){g=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=g;J[d+8>>2]=J[b+8>>2];break d}wl(d,J[b>>2],J[b+4>>2]);break d}l=d;d=(g|0)<0;vl(l,d?J[b>>2]:b,d?J[b+4>>2]:i)}d=J[k+12>>2];g=b+12|0;if((d|0)!=(g|0)){e:{j=K[b+23|0];i=j<<24>>24;if(H[d+11|0]>=0){if((i|0)>=0){b=J[g+4>>2];J[d>>2]=J[g>>2];J[d+4>>2]=b;J[d+8>>2]=J[g+8>>2];break e}wl(d,J[b+12>>2],J[b+16>>2]);break e}l=d;d=(i|0)<0;vl(l,d?J[b+12>>2]:g,d?J[b+16>>2]:j)}}g=J[a+4>>2];f:{if(!g){b=a+4|0;d=b;break f}b=K[e+27|0];d=b<<24>>24<0;j=d?J[e+16>>2]:e+16|0;i=d?J[e+20>>2]:b;while(1){b=g;g=K[b+27|0];d=g<<24>>24<0;g:{h:{i:{g=d?J[b+20>>2]:g;l=g>>>0>>0?g:i;if(l){d=tk(j,d?J[b+16>>2]:b+16|0,l);if(d){break i}}if(g>>>0>i>>>0){break h}break g}if((d|0)>=0){break g}}d=b;g=J[b>>2];if(g){continue}break f}g=J[b+4>>2];if(g){continue}break}d=b+4|0}J[e+8>>2]=b;J[e>>2]=0;J[e+4>>2]=0;J[d>>2]=e;b=e;e=J[J[a>>2]>>2];if(e){J[a>>2]=e;b=J[d>>2]}We(J[a+4>>2],b);J[a+8>>2]=J[a+8>>2]+1;d=0;j:{if(!h){break j}e=J[h+8>>2];if(!e){break j}b=J[e>>2];if((h|0)==(b|0)){J[e>>2]=0;d=e;b=J[d+4>>2];if(!b){break j}while(1){d=b;b=J[b>>2];if(b){continue}b=J[d+4>>2];if(b){continue}break}break j}J[e+4>>2]=0;d=e;if(!b){break j}while(1){d=b;b=J[b>>2];if(b){continue}b=J[d+4>>2];if(b){continue}break}}e=J[f+4>>2];k:{if(e){while(1){b=e;e=J[b>>2];if(e){continue}break k}}while(1){b=J[f+8>>2];e=J[b>>2]!=(f|0);f=b;if(e){continue}break}}if(!h){break c}f=b;e=h;if((b|0)!=(c|0)){continue}break}}Mc(a,h);if(!d){break a}while(1){e=J[d+8>>2];if(e){d=e;continue}break}Mc(a,d)}if((b|0)!=(c|0)){while(1){f=pl(40);g=f+16|0;l:{if(H[b+27|0]>=0){d=J[b+20>>2];J[g>>2]=J[b+16>>2];J[g+4>>2]=d;J[g+8>>2]=J[b+24>>2];break l}tl(g,J[b+16>>2],J[b+20>>2])}d=a+4|0;e=f+28|0;m:{if(H[b+39|0]>=0){h=J[b+32>>2];J[e>>2]=J[b+28>>2];J[e+4>>2]=h;J[e+8>>2]=J[b+36>>2];break m}tl(e,J[b+28>>2],J[b+32>>2])}e=d;h=J[d>>2];n:{if(!h){break n}e=K[f+27|0];d=e<<24>>24<0;i=d?J[f+20>>2]:e;g=d?J[f+16>>2]:g;while(1){d=h;h=K[d+27|0];e=h<<24>>24<0;o:{p:{q:{h=e?J[d+20>>2]:h;j=h>>>0>>0?h:i;if(j){e=tk(g,e?J[d+16>>2]:d+16|0,j);if(e){break q}}if(h>>>0>i>>>0){break p}break o}if((e|0)>=0){break o}}e=d;h=J[d>>2];if(h){continue}break n}h=J[d+4>>2];if(h){continue}break}e=d+4|0}J[f+8>>2]=d;J[f>>2]=0;J[f+4>>2]=0;J[e>>2]=f;d=f;f=J[J[a>>2]>>2];if(f){J[a>>2]=f;d=J[e>>2]}We(J[a+4>>2],d);J[a+8>>2]=J[a+8>>2]+1;f=J[b+4>>2];r:{if(f){while(1){e=f;f=J[e>>2];if(f){continue}break r}}while(1){e=J[b+8>>2];d=J[e>>2]!=(b|0);b=e;if(d){continue}break}}b=e;if((c|0)!=(b|0)){continue}break}}fa=k+16|0}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if((b|0)<0){break a}c=J[a+12>>2];d=J[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=J[d>>2];i=J[e+60>>2];f=J[e+56>>2];e=d+4|0;if((e|0)!=(c|0)){while(1){h=J[e>>2];J[e>>2]=0;g=J[d>>2];J[d>>2]=h;if(g){Kb(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=J[a+12>>2]}if((c|0)!=(d|0)){while(1){c=c-4|0;e=J[c>>2];J[c>>2]=0;if(e){Kb(e)}if((c|0)!=(d|0)){continue}break}}J[a+12>>2]=d;g=J[a+4>>2];b:{if(!g|(i|0)<0){break b}c=J[g+24>>2];d=J[g+28>>2];if((c|0)==(d|0)){break b}while(1){if((i|0)==J[J[c>>2]+24>>2]){d=c+4|0;i=J[g+28>>2];if((d|0)!=(i|0)){while(1){h=J[d>>2];J[d>>2]=0;e=J[c>>2];J[c>>2]=h;if(e){Li(e+12|0,J[e+16>>2]);Mi(e,J[e+4>>2]);hl(e)}c=c+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}d=J[g+28>>2]}if((c|0)!=(d|0)){while(1){d=d-4|0;e=J[d>>2];J[d>>2]=0;if(e){Li(e+12|0,J[e+16>>2]);Mi(e,J[e+4>>2]);hl(e)}if((c|0)!=(d|0)){continue}break}}J[g+28>>2]=c;break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}c:{if((f|0)>4){break c}d:{e=P(f,12)+a|0;c=J[e+20>>2];d=J[e+24>>2];if((c|0)==(d|0)){break d}while(1){if(J[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c;c=c+4|0;ok(f,c,d-c|0);J[e+24>>2]=d-4}c=J[a+24>>2];d=J[a+20>>2];e:{if((c|0)==(d|0)){break e}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break e}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break e}J[c>>2]=d-1}c=J[a+36>>2];d=J[a+32>>2];f:{if((c|0)==(d|0)){break f}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break f}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break f}J[c>>2]=d-1}c=J[a+48>>2];d=J[a+44>>2];g:{if((c|0)==(d|0)){break g}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break g}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break g}J[c>>2]=d-1}c=J[a+60>>2];d=J[a+56>>2];h:{if((c|0)==(d|0)){break h}e=c-d|0;c=e>>2;g=c>>>0<=1?1:c;i=g&1;c=0;if(e>>>0>=8){g=g&-2;e=0;while(1){f=c<<2;h=f+d|0;j=J[h>>2];if((j|0)>(b|0)){J[h>>2]=j-1}f=d+(f|4)|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}c=c+2|0;e=e+2|0;if((g|0)!=(e|0)){continue}break}}if(!i){break h}c=d+(c<<2)|0;d=J[c>>2];if((d|0)<=(b|0)){break h}J[c>>2]=d-1}c=J[a+72>>2];a=J[a+68>>2];if((c|0)==(a|0)){break a}d=c-a|0;c=d>>2;e=c>>>0<=1?1:c;g=e&1;c=0;if(d>>>0>=8){d=e&-2;e=0;while(1){i=c<<2;f=i+a|0;h=J[f>>2];if((h|0)>(b|0)){J[f>>2]=h-1}i=a+(i|4)|0;f=J[i>>2];if((f|0)>(b|0)){J[i>>2]=f-1}c=c+2|0;e=e+2|0;if((d|0)!=(e|0)){continue}break}}if(!g){break a}f=b;a=a+(c<<2)|0;b=J[a>>2];if((f|0)>=(b|0)){break a}J[a>>2]=b-1}}function Sk(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=fa-112|0;fa=j;k=i&2147483647;a:{b:{l=e&2147483647;m=!(b|c);if(!(d|l?l-2147418112>>>0<2147549184:m)){o=k-2147418112|0;if(!h&(o|0)==-2147418112?f|g:(o|0)==-2147418112&(h|0)!=0|o>>>0>2147549184){break b}}if(!(!d&(l|0)==2147418112?m:l>>>0<2147418112)){h=d;i=e|32768;f=b;g=c;break a}if(!(!h&(k|0)==2147418112?!(f|g):k>>>0<2147418112)){i=i|32768;break a}if(!(b|d|(l^2147418112|c))){n=d;d=!(b^f|d^h|(c^g|e^i^-2147483648));h=d?0:n;i=d?2147450880:e;f=d?0:b;g=d?0:c;break a}if(!(f|h|(k^2147418112|g))){break a}if(!(b|d|(c|l))){if(f|h|(g|k)){break a}f=b&f;g=c&g;h=d&h;i=e&i;break a}if(f|h|(g|k)){break b}f=b;g=c;h=d;i=e;break a}n=(k|0)==(l|0);r=n&(d|0)==(h|0)?(c|0)==(g|0)&b>>>0>>0|c>>>0>>0:n&d>>>0>>0|k>>>0>l>>>0;m=r;l=m?f:b;o=m?g:c;n=m?i:e;s=n;m=m?h:d;q=n&65535;d=r?d:h;e=r?e:i;t=e;n=e>>>16&32767;p=s>>>16&32767;if(!p){e=!(m|q);i=e;k=e?l:m;e=e<<6;h=e;i=S(i?o:q);e=e+((i|0)==32?S(k)+32|0:i)|0;Tk(j+96|0,l,o,m,q,e-15|0);m=J[j+104>>2];q=J[j+108>>2];o=J[j+100>>2];p=16-e|0;l=J[j+96>>2]}f=r?b:f;g=r?c:g;h=d;i=t&65535;if(!n){b=!(h|i);e=b;k=b?f:h;b=b<<6;c=b;e=S(e?g:i);b=b+((e|0)==32?S(k)+32|0:e)|0;Tk(j+80|0,f,g,h,i,b-15|0);n=16-b|0;h=J[j+88>>2];i=J[j+92>>2];g=J[j+84>>2];f=J[j+80>>2]}c=i<<3|h>>>29;b=h<<3|g>>>29;c=c|524288;h=m<<3|o>>>29;i=q<<3|m>>>29;r=s^t;e=g<<3|f>>>29;d=f<<3;c:{if((n|0)==(p|0)){break c}f=p-n|0;if(f>>>0>127){b=0;c=0;e=0;d=1;break c}Tk(j- -64|0,d,e,b,c,128-f|0);_k(j+48|0,d,e,b,c,f);b=J[j+56>>2];c=J[j+60>>2];e=J[j+52>>2];d=J[j+48>>2]|(J[j+64>>2]|J[j+72>>2]|(J[j+68>>2]|J[j+76>>2]))!=0}m=d;k=e;n=h;q=i|524288;e=o<<3|l>>>29;o=l<<3;l=e;d:{if((r|0)<0){f=0;g=0;h=0;i=0;if(!(m^o|b^n|(k^l|c^q))){break a}d=o-m|0;e=l-((m>>>0>o>>>0)+k|0)|0;f=n-b|0;g=(k|0)==(l|0)&m>>>0>o>>>0|k>>>0>l>>>0;h=f-g|0;b=(q-((b>>>0>n>>>0)+c|0)|0)-(f>>>0>>0)|0;i=b;if(b>>>0>524287){break d}b=!(h|i);f=b;g=b?d:h;b=b<<6;c=b;f=S(f?e:i);b=b+((f|0)==32?S(g)+32|0:f)|0;b=b-12|0;Tk(j+32|0,d,e,h,i,b);p=p-b|0;h=J[j+40>>2];i=J[j+44>>2];d=J[j+32>>2];e=J[j+36>>2];break d}e=k+l|0;d=m+o|0;e=d>>>0>>0?e+1|0:e;f=(k|0)==(e|0)&d>>>0>>0|e>>>0>>0;k=c+q|0;b=b+n|0;k=b>>>0>>0?k+1|0:k;h=b+f|0;i=h>>>0>>0?k+1|0:k;if(!(i&1048576)){break d}d=m&1|((e&1)<<31|d>>>1);e=h<<31|e>>>1;p=p+1|0;h=(i&1)<<31|h>>>1;i=i>>>1|0}c=0;l=s&-2147483648;if((p|0)>=32767){h=c;i=l|2147418112;f=0;g=0;break a}n=0;e:{if((p|0)>0){n=p;break e}Tk(j+16|0,d,e,h,i,p+127|0);_k(j,d,e,h,i,1-p|0);d=J[j>>2]|(J[j+16>>2]|J[j+24>>2]|(J[j+20>>2]|J[j+28>>2]))!=0;e=J[j+4>>2];h=J[j+8>>2];i=J[j+12>>2]}o=d&7;d=(e&7)<<29|d>>>3;f=(o>>>0>4)+d|0;b=h<<29|e>>>3;g=d>>>0>f>>>0?b+1|0:b;d=(b|0)==(g|0)&d>>>0>f>>>0|b>>>0>g>>>0;b=c|((i&7)<<29|h>>>3);h=d+b|0;i=l|(i>>>3&65535|n<<16);i=b>>>0>h>>>0?i+1|0:i;f:{if((o|0)==4){b=0;k=g+b|0;d=f;c=f&1;f=f+c|0;g=d>>>0>f>>>0?k+1|0:k;b=(b|0)==(g|0)&c>>>0>f>>>0|b>>>0>g>>>0;h=b+h|0;i=b>>>0>h>>>0?i+1|0:i;break f}if(!o){break a}}}J[a>>2]=f;J[a+4>>2]=g;J[a+8>>2]=h;J[a+12>>2]=i;fa=j+112|0}function hl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=J[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=J[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=J[d+8>>2];b=b>>>3|0;c=J[d+12>>2];if((c|0)==(e|0)){i=19568,j=J[4892]&im(b),J[i>>2]=j;break b}J[e+12>>2]=c;J[c+8>>2]=e;break b}h=J[d+24>>2];b=J[d+12>>2];c:{if((d|0)!=(b|0)){c=J[d+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break c}d:{e=d+20|0;c=J[e>>2];if(c){break d}e=d+16|0;c=J[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break b}e=J[d+28>>2];c=(e<<2)+19872|0;e:{if(J[c>>2]==(d|0)){J[c>>2]=b;if(b){break e}i=19572,j=J[4893]&im(e),J[i>>2]=j;break b}J[h+(J[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}J[b+24>>2]=h;c=J[d+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[d+20>>2];if(!c){break b}J[b+20>>2]=c;J[c+24>>2]=b;break b}b=J[f+4>>2];if((b&3)!=3){break b}J[4894]=a;J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=J[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(J[4898]==(f|0)){J[4898]=d;a=J[4895]+a|0;J[4895]=a;J[d+4>>2]=a|1;if(J[4897]!=(d|0)){break a}J[4894]=0;J[4897]=0;return}if(J[4897]==(f|0)){J[4897]=d;a=J[4894]+a|0;J[4894]=a;J[d+4>>2]=a|1;J[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=J[f+8>>2];b=b>>>3|0;c=J[f+12>>2];if((c|0)==(e|0)){i=19568,j=J[4892]&im(b),J[i>>2]=j;break g}J[e+12>>2]=c;J[c+8>>2]=e;break g}h=J[f+24>>2];b=J[f+12>>2];h:{if((f|0)!=(b|0)){c=J[f+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break h}i:{e=f+20|0;c=J[e>>2];if(c){break i}e=f+16|0;c=J[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[g>>2]=0}if(!h){break g}e=J[f+28>>2];c=(e<<2)+19872|0;j:{if(J[c>>2]==(f|0)){J[c>>2]=b;if(b){break j}i=19572,j=J[4893]&im(e),J[i>>2]=j;break g}J[h+(J[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}J[b+24>>2]=h;c=J[f+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[f+20>>2];if(!c){break g}J[b+20>>2]=c;J[c+24>>2]=b}J[d+4>>2]=a|1;J[a+d>>2]=a;if(J[4897]!=(d|0)){break f}J[4894]=a;return}J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a}if(a>>>0<=255){b=(a&-8)+19608|0;c=J[4892];a=1<<(a>>>3);k:{if(!(c&a)){J[4892]=a|c;a=b;break k}a=J[b+8>>2]}J[b+8>>2]=d;J[a+12>>2]=d;J[d+12>>2]=b;J[d+8>>2]=a;return}e=31;if(a>>>0<=16777215){b=S(a>>>8|0);e=((a>>>38-b&1)-(b<<1)|0)+62|0}J[d+28>>2]=e;J[d+16>>2]=0;J[d+20>>2]=0;g=(e<<2)+19872|0;l:{m:{c=J[4893];b=1<>2]=d;J[d+24>>2]=g;break n}e=a<<((e|0)!=31?25-(e>>>1|0)|0:0);b=J[g>>2];while(1){c=b;if((J[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=J[g+16>>2];if(b){continue}break}J[g+16>>2]=d;J[d+24>>2]=c}J[d+12>>2]=d;J[d+8>>2]=d;break l}a=J[c+8>>2];J[a+12>>2]=d;J[c+8>>2]=d;J[d+24>>2]=0;J[d+12>>2]=c;J[d+8>>2]=a}a=J[4900]-1|0;J[4900]=a?a:-1}}function oe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=fa-48|0;fa=k;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;o=a+96|0;Ce(o);d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+8|0;q=a+44|0;d=d>>>2|0;r=d>>>0<=1?1:d;s=c+4|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}Gd(q,J[d+(n<<2)>>2],k+8|0);f=J[k+12>>2];d=f>>31;i=J[k+8>>2];e=i>>31;g=(d^f)-d+((e^i)-e)|0;l=J[k+16>>2];d=l>>31;e=(d^l)-d|0;d=0;m=e;e=e+g|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+92>>2];g=j;break b}j=J[a+92>>2];g=j>>31;f=fm(em(j,g,f,f>>31),ja,e,d);h=f>>31;g=fm(em(j,g,i,i>>31),ja,e,d);d=g>>31;d=(f^h)-h+((d^g)-d)|0;l=(l|0)<0?d-j|0:j-d|0}c:{if((g|0)>=0){i=f+j|0;h=j+l|0;break c}d:{if((f|0)<0){d=l>>31;i=(d^l)-d|0;break d}d=l>>31;i=J[a+84>>2]+(d-(d^l)|0)|0}if((l|0)<0){d=f>>31;h=(d^f)-d|0;break c}d=f>>31;h=J[a+84>>2]+(d-(d^f)|0)|0}d=J[a+84>>2];m=d;e=d;e:{if(!(h|i)){break e}if(!((d|0)!=(h|0)|i)){m=h;e=h;break e}if(!((d|0)!=(i|0)|h)){m=i;e=i;break e}if(!((h|0)<=(j|0)|i)){m=(j<<1)-h|0;e=0;break e}if(!((d|0)!=(i|0)|(h|0)>=(j|0))){m=(j<<1)-h|0;e=i;break e}if(!((d|0)!=(h|0)|(j|0)<=(i|0))){m=h;e=(j<<1)-i|0;break e}if(h){m=h;e=i;break e}m=0;e=i;if((e|0)<=(j|0)){break e}e=(j<<1)-i|0}i=e;J[k+16>>2]=0-l;J[k+12>>2]=0-f;J[k+8>>2]=0-g;f:{if((g|0)<=0){g=j-l|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;g=(l|0)>0?e:d-e|0;e=l>>31;e=(e^l)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|g)){g=d;break g}if(!((d|0)!=(g|0)|e)){g=d;break g}f=(d|0)!=(e|0);if(!(g|f)){g=d;break g}if(!((g|0)<=(j|0)|e)){g=(j<<1)-g|0;d=0;break g}if(!((g|0)>=(j|0)|f)){g=(j<<1)-g|0;break g}if(!((d|0)!=(g|0)|(e|0)>=(j|0))){g=d;d=(j<<1)-e|0;break g}if(g){d=e;break g}g=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}e=(n<<3)+b|0;f=J[e>>2];h=J[e+4>>2];J[k+28>>2]=m;J[k+24>>2]=i;J[k+32>>2]=f;J[k+36>>2]=h;i=k+40|0;h=k+32|0;m=k+24|0;Qd(i,p,h,m);f=J[k+44>>2];l=J[k+40>>2];j=J[e>>2];e=J[e+4>>2];J[k+28>>2]=g;J[k+24>>2]=d;J[k+32>>2]=j;J[k+36>>2]=e;Qd(i,p,h,m);d=J[k+44>>2];g=J[k+40>>2];e=J[a+92>>2];h:{if((e|0)<(l|0)){l=l-J[a+80>>2]|0;break h}if((0-e|0)<=(l|0)){break h}l=J[a+80>>2]+l|0}i:{if((e|0)<(f|0)){f=f-J[a+80>>2]|0;break i}if((0-e|0)<=(f|0)){break i}f=J[a+80>>2]+f|0}j:{if((e|0)<(g|0)){g=g-J[a+80>>2]|0;break j}if((0-e|0)<=(g|0)){break j}g=J[a+80>>2]+g|0}i=n<<1;k:{if((d|0)>(e|0)){d=d-J[a+80>>2]|0;break k}if((0-e|0)<=(d|0)){break k}d=J[a+80>>2]+d|0}e=f>>31;e=(e^f)-e|0;h=l>>31;h=(h^l)-h|0;m=h>>>0>(e^2147483647)>>>0?2147483647:e+h|0;e=d>>31;e=(e^d)-e|0;h=g>>31;h=(h^g)-h|0;e=m>>>0>=(h>>>0>(e^2147483647)>>>0?2147483647:e+h|0)>>>0;De(o,e);i=i<<2;g=e?g:l;J[i+c>>2]=(J[a+80>>2]&g>>31)+g;d=e?d:f;J[i+s>>2]=(J[a+80>>2]&d>>31)+d;n=n+1|0;if((r|0)!=(n|0)){continue}break}}fa=k+48|0;return 1}Xc();C()}function ee(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=fa-48|0;fa=k;d=J[a+8>>2];if(d-2>>>0<=28){J[a+76>>2]=d;e=-1<>2]=d;J[a+80>>2]=e^-1;J[a+92>>2]=(d|0)/2;N[a+88>>2]=Q(2)/Q(d|0)}J[a+52>>2]=f;o=a+96|0;Ce(o);d=J[a+40>>2];e=J[d>>2];d=J[d+4>>2];J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;a:{d=d-e|0;if((d|0)>0){p=a+8|0;q=a+44|0;d=d>>>2|0;r=d>>>0<=1?1:d;s=c+4|0;while(1){e=J[a+40>>2];d=J[e>>2];if(J[e+4>>2]-d>>2>>>0<=n>>>0){break a}sd(q,J[d+(n<<2)>>2],k+8|0);f=J[k+12>>2];d=f>>31;i=J[k+8>>2];e=i>>31;g=(d^f)-d+((e^i)-e)|0;l=J[k+16>>2];d=l>>31;e=(d^l)-d|0;d=0;m=e;e=e+g|0;d=m>>>0>e>>>0?1:d;b:{if(!(d|e)){j=J[a+92>>2];g=j;break b}j=J[a+92>>2];g=j>>31;f=fm(em(j,g,f,f>>31),ja,e,d);h=f>>31;g=fm(em(j,g,i,i>>31),ja,e,d);d=g>>31;d=(f^h)-h+((d^g)-d)|0;l=(l|0)<0?d-j|0:j-d|0}c:{if((g|0)>=0){i=f+j|0;h=j+l|0;break c}d:{if((f|0)<0){d=l>>31;i=(d^l)-d|0;break d}d=l>>31;i=J[a+84>>2]+(d-(d^l)|0)|0}if((l|0)<0){d=f>>31;h=(d^f)-d|0;break c}d=f>>31;h=J[a+84>>2]+(d-(d^f)|0)|0}d=J[a+84>>2];m=d;e=d;e:{if(!(h|i)){break e}if(!((d|0)!=(h|0)|i)){m=h;e=h;break e}if(!((d|0)!=(i|0)|h)){m=i;e=i;break e}if(!((h|0)<=(j|0)|i)){m=(j<<1)-h|0;e=0;break e}if(!((d|0)!=(i|0)|(h|0)>=(j|0))){m=(j<<1)-h|0;e=i;break e}if(!((d|0)!=(h|0)|(j|0)<=(i|0))){m=h;e=(j<<1)-i|0;break e}if(h){m=h;e=i;break e}m=0;e=i;if((e|0)<=(j|0)){break e}e=(j<<1)-i|0}i=e;J[k+16>>2]=0-l;J[k+12>>2]=0-f;J[k+8>>2]=0-g;f:{if((g|0)<=0){g=j-l|0;e=j-f|0;break f}e=f>>31;e=(e^f)-e|0;g=(l|0)>0?e:d-e|0;e=l>>31;e=(e^l)-e|0;e=(f|0)>0?e:d-e|0}g:{if(!(e|g)){g=d;break g}if(!((d|0)!=(g|0)|e)){g=d;break g}f=(d|0)!=(e|0);if(!(g|f)){g=d;break g}if(!((g|0)<=(j|0)|e)){g=(j<<1)-g|0;d=0;break g}if(!((g|0)>=(j|0)|f)){g=(j<<1)-g|0;break g}if(!((d|0)!=(g|0)|(e|0)>=(j|0))){g=d;d=(j<<1)-e|0;break g}if(g){d=e;break g}g=0;if((e|0)<=(j|0)){d=e;break g}d=(j<<1)-e|0}e=(n<<3)+b|0;f=J[e>>2];h=J[e+4>>2];J[k+28>>2]=m;J[k+24>>2]=i;J[k+32>>2]=f;J[k+36>>2]=h;i=k+40|0;h=k+32|0;m=k+24|0;Qd(i,p,h,m);f=J[k+44>>2];l=J[k+40>>2];j=J[e>>2];e=J[e+4>>2];J[k+28>>2]=g;J[k+24>>2]=d;J[k+32>>2]=j;J[k+36>>2]=e;Qd(i,p,h,m);d=J[k+44>>2];g=J[k+40>>2];e=J[a+92>>2];h:{if((e|0)<(l|0)){l=l-J[a+80>>2]|0;break h}if((0-e|0)<=(l|0)){break h}l=J[a+80>>2]+l|0}i:{if((e|0)<(f|0)){f=f-J[a+80>>2]|0;break i}if((0-e|0)<=(f|0)){break i}f=J[a+80>>2]+f|0}j:{if((e|0)<(g|0)){g=g-J[a+80>>2]|0;break j}if((0-e|0)<=(g|0)){break j}g=J[a+80>>2]+g|0}i=n<<1;k:{if((d|0)>(e|0)){d=d-J[a+80>>2]|0;break k}if((0-e|0)<=(d|0)){break k}d=J[a+80>>2]+d|0}e=f>>31;e=(e^f)-e|0;h=l>>31;h=(h^l)-h|0;m=h>>>0>(e^2147483647)>>>0?2147483647:e+h|0;e=d>>31;e=(e^d)-e|0;h=g>>31;h=(h^g)-h|0;e=m>>>0>=(h>>>0>(e^2147483647)>>>0?2147483647:e+h|0)>>>0;De(o,e);i=i<<2;g=e?g:l;J[i+c>>2]=(J[a+80>>2]&g>>31)+g;d=e?d:f;J[i+s>>2]=(J[a+80>>2]&d>>31)+d;n=n+1|0;if((r|0)!=(n|0)){continue}break}}fa=k+48|0;return 1}Xc();C()}function Qh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){e=J[a+48>>2];J[a+52>>2]=e;a:{if((e|0)!=J[a+56>>2]){J[e>>2]=b;J[a+52>>2]=e+4;break a}d=pl(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!e){break a}hl(e)}c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;c=J[J[a+4>>2]+28>>2];k=J[(i<<2)+c>>2];if((k|0)==-1){return 0}e=(b-P(g,3)|0?-1:2)+b|0;j=J[c+(e<<2)>>2];if((j|0)==-1){return 0}b=J[a+36>>2];g=b+(k>>>3&536870908)|0;d=J[g>>2];c=1<>2]=c|d;Bh(a+8|0,k,i);b=J[a+36>>2]}d=(j>>>3&536870908)+b|0;c=J[d>>2];b=1<>2]=b|c;Bh(a+8|0,j,e)}f=J[a+52>>2];if((f|0)==J[a+48>>2]){return 1}k=a+8|0;while(1){b:{c:{f=f-4|0;b=J[f>>2];if((b|0)==-1){break c}c=(b>>>0)/3|0;g=J[a+24>>2]+(c>>>3&268435452)|0;d=J[g>>2];c=1<>2]=c|d;h=J[a+4>>2];c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{e:{j=J[a+36>>2]+(c>>>3&536870908)|0;i=J[j>>2];e=1<>2]+(c<<2)>>2];g:{if((g|0)==-1){break g}b=g+1|0;b=(b>>>0)%3|0?b:g-2|0;if((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1){break g}g=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2];if((g|0)!=-1){break f}}J[j>>2]=e|i;Bh(k,c,d);h=J[a+4>>2];break e}J[j>>2]=e|i;Bh(k,c,d);h=J[a+4>>2];b=g+1|0;if((((b>>>0)%3|0?b:g-2|0)|0)==-1){break e}b=-1;h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1|J[J[h>>2]+(c>>>3&536870908)>>2]>>>c&1){break h}b=J[J[J[h+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];e=c>>>5|0;j=J[f+(e<<2)>>2];break d}i:{j:{if((d|0)==-1){break j}c=-1;b=d+1|0;b=(b>>>0)%3|0?b:d-2|0;if(!((b|0)==-1|J[J[h>>2]+(b>>>3&536870908)>>2]>>>b&1)){c=J[J[J[h+64>>2]+12>>2]+(b<<2)>>2]}k:{l:{if((d>>>0)%3|0){f=d-1|0;break l}f=d+2|0;b=-1;if((f|0)==-1){break k}}b=-1;if(J[J[h>>2]+(f>>>3&536870908)>>2]>>>f&1){break k}b=J[J[J[h+64>>2]+12>>2]+(f<<2)>>2]}g=(b|0)==-1;i=g?-1:(b>>>0)/3|0;if((c|0)!=-1){f=J[a+24>>2];d=(c>>>0)/3|0;e=d>>>5|0;j=J[f+(e<<2)>>2];d=1<>2];e=i>>>5|0;j=J[f+(e<<2)>>2];if(!(d&j)){break d}}f=J[a+52>>2]-4|0;J[a+52>>2]=f;break b}if(g){b=c;break d}if(J[(i>>>3&536870908)+f>>2]>>>i&1){b=c;break d}h=J[a+52>>2];J[h-4>>2]=b;if(J[a+56>>2]!=(h|0)){J[h>>2]=c;f=h+4|0;break c}m:{i=J[a+48>>2];e=h-i|0;g=e>>2;d=g+1|0;if(d>>>0<1073741824){b=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(e){if(e>>>0>=1073741824){break m}d=pl(e<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;f=b+4|0;if((h|0)!=(i|0)){while(1){b=b-4|0;h=h-4|0;J[b>>2]=J[h>>2];if((h|0)!=(i|0)){continue}break}}J[a+56>>2]=d+(e<<2);J[a+52>>2]=f;J[a+48>>2]=b;if(!i){break b}hl(i);f=J[a+52>>2];break b}Ia();C()}Ya();C()}J[(e<<2)+f>>2]=d|j;c=J[J[h+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}J[a+52>>2]=f}if(J[a+48>>2]!=(f|0)){continue}break}}return 1}function ah(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=J[a+8>>2];d=J[a+4>>2];if((h-d|0)/136>>>0>=b>>>0){a:{if(!b){break a}c=d;f=b&7;if(f){while(1){gh(c);c=c+136|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}d=P(b,136)+d|0;if((b-1&536870911)>>>0<7){break a}while(1){gh(c);gh(c+136|0);gh(c+272|0);gh(c+408|0);gh(c+544|0);gh(c+680|0);gh(c+816|0);gh(c+952|0);c=c+1088|0;if((c|0)!=(d|0)){continue}break}}J[a+4>>2]=d;return}b:{c:{d:{c=J[a>>2];f=(d-c|0)/136|0;g=f+b|0;if(g>>>0<31580642){d=(h-c|0)/136|0;c=d<<1;g=d>>>0>=15790320?31580641:c>>>0>g>>>0?c:g;if(g){if(g>>>0>=31580642){break d}i=pl(P(g,136))}d=P(f,136)+i|0;c=d;f=b&7;if(f){while(1){gh(c);c=c+136|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}h=P(b,136)+d|0;if((b-1&536870911)>>>0>=7){while(1){gh(c);gh(c+136|0);gh(c+272|0);gh(c+408|0);gh(c+544|0);gh(c+680|0);gh(c+816|0);gh(c+952|0);c=c+1088|0;if((h|0)!=(c|0)){continue}break}}f=P(g,136)+i|0;c=J[a+4>>2];e=J[a>>2];if((c|0)==(e|0)){break c}while(1){d=d-136|0;c=c-136|0;J[d>>2]=J[c>>2];J[d+4>>2]=J[c+4>>2];J[d+8>>2]=J[c+8>>2];J[d+12>>2]=J[c+12>>2];J[c+12>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;J[d+16>>2]=J[c+16>>2];J[d+20>>2]=J[c+20>>2];J[d+24>>2]=J[c+24>>2];J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;b=K[c+28|0];J[d+40>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;H[d+28|0]=b;J[d+32>>2]=J[c+32>>2];J[d+36>>2]=J[c+36>>2];J[d+40>>2]=J[c+40>>2];J[c+40>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[d+52>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+44>>2]=J[c+44>>2];J[d+48>>2]=J[c+48>>2];J[d+52>>2]=J[c+52>>2];J[c+52>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;b=d- -64|0;J[b>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+56>>2]=J[c+56>>2];J[d+60>>2]=J[c+60>>2];i=b;b=c- -64|0;J[i>>2]=J[b>>2];J[b>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[d+68>>2]=J[c+68>>2];b=J[c+72>>2];J[d+84>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+72>>2]=b;J[d+76>>2]=J[c+76>>2];J[d+80>>2]=J[c+80>>2];J[d+84>>2]=J[c+84>>2];J[c+84>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[d+96>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+88>>2]=J[c+88>>2];J[d+92>>2]=J[c+92>>2];J[d+96>>2]=J[c+96>>2];J[c+96>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;b=K[c+100|0];J[d+112>>2]=0;J[d+104>>2]=0;J[d+108>>2]=0;H[d+100|0]=b;J[d+104>>2]=J[c+104>>2];J[d+108>>2]=J[c+108>>2];J[d+112>>2]=J[c+112>>2];J[c+112>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;J[d+124>>2]=0;J[d+116>>2]=0;J[d+120>>2]=0;J[d+116>>2]=J[c+116>>2];J[d+120>>2]=J[c+120>>2];J[d+124>>2]=J[c+124>>2];J[c+124>>2]=0;J[c+116>>2]=0;J[c+120>>2]=0;J[d+128>>2]=J[c+128>>2];J[d+132>>2]=J[c+132>>2];if((c|0)!=(e|0)){continue}break}J[a+8>>2]=f;e=J[a+4>>2];J[a+4>>2]=h;c=J[a>>2];J[a>>2]=d;if((c|0)==(e|0)){break b}while(1){a=e-136|0;b=J[a+116>>2];if(b){J[e-16>>2]=b;hl(b)}b=J[e-32>>2];if(b){J[e-28>>2]=b;hl(b)}bh(e-132|0);e=a;if((a|0)!=(c|0)){continue}break}break b}Ia();C()}Ya();C()}J[a+8>>2]=f;J[a+4>>2]=h;J[a>>2]=d}if(c){hl(c)}}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=fa+-64|0;fa=e;a:{b:{c:{d:{if(!K[a+352|0]){break d}c=1;h=ka[J[J[a>>2]+40>>2]](a)|0;if((J[h+12>>2]-J[h+8>>2]|0)<=0){break d}ub(J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+8>>2]>>2],b);break c}c=b<<2;f=J[c+J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+56>>2]+84>>2]>>2];i=J[c+J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+4>>2]+8>>2]>>2];h=-1;c=J[a+176>>2];d=J[a+172>>2];e:{if((c|0)==(d|0)){break e}c=(c-d|0)/136|0;g=c>>>0<=1?1:c;c=0;while(1){if(J[d+P(c,136)>>2]==(b|0)){h=c;break e}c=c+1|0;if((g|0)!=(c|0)){continue}break}}f:{g:{h:{i:{if(!K[a+352|0]){c=J[i+56>>2];if(!(!f|!c)){if(!K[(d+P(h,136)|0)+28|0]|(f|0)!=1){break i}break h}if(c){break h}}c=a+40|0;break g}d=d+P(h,136)|0;c=J[d+56>>2];f=J[d+60>>2];J[e>>2]=-1;Ig(d+116|0,f-c>>2,e);c=pl(80);f=J[a+8>>2];J[c+12>>2]=0;J[c+16>>2]=0;J[c>>2]=11984;J[c+4>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+76>>2]=0;i=d+104|0;J[c+72>>2]=i;J[c+68>>2]=f;J[c- -64>>2]=0;g=c+56|0;J[g>>2]=0;J[g+4>>2]=0;J[c+8>>2]=10884;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;j=e+24|0;J[j>>2]=0;J[j+4>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+56>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e>>2]=10884;l=d+4|0;J[e+4>>2]=l;d=J[d+68>>2];k=J[d>>2];d=J[d+4>>2];H[e+63|0]=0;k=(d-k>>2>>>0)/3|0;d=e+63|0;Jg(j,k,d);j=J[e+4>>2];k=J[j+56>>2];j=J[j+52>>2];H[e+63|0]=0;Jg(e+36|0,k-j>>2,d);J[e+20>>2]=c;J[e+16>>2]=f;J[e+12>>2]=i;J[e+8>>2]=l;J[c+76>>2]=a+72;Kg(c+8|0,e);Lg(g,J[e+48>>2],J[e+52>>2]);J[e>>2]=10884;d=J[e+48>>2];if(d){J[e+52>>2]=d;hl(d)}J[e>>2]=11136;d=J[e+36>>2];if(d){hl(d)}d=J[e+24>>2];if(d){hl(d)}d=0;break f}c=J[a+12>>2];f=J[c+28>>2];c=J[c+24>>2];J[e>>2]=-1;g=d;d=P(h,136);g=g+d|0;Ig(g+116|0,f-c>>2,e);H[(d+J[a+172>>2]|0)+100|0]=0;c=g+104|0}j:{k:{if(Pb(J[(ka[J[J[a>>2]+40>>2]](a)|0)+48>>2])|J[i+56>>2]){break k}if(K[a+352|0]){d=J[a+8>>2];if((J[d+12>>2]-J[d+8>>2]|0)>4){break k}}d=1;c=Mg(a,c);break j}d=0;c=Ng(a,c)}if(c){break f}c=0;break c}J[((h|0)==-1?a+68|0:(J[a+172>>2]+P(h,136)|0)+132|0)>>2]=d;i=rc(pl(76),c,b);b=J[a+188>>2];l:{if((b|0)!=J[a+192>>2]){J[b>>2]=h;J[a+188>>2]=b+4;break l}c=b;b=J[a+184>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=pl(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=h;c=ok(f,b,c);J[a+192>>2]=c+(d<<2);J[a+188>>2]=g+4;J[a+184>>2]=c;if(!b){break l}hl(b)}a=ka[J[J[a>>2]+40>>2]](a)|0;J[e>>2]=i;b=J[a+12>>2];m:{if(b>>>0>2]){J[e>>2]=0;J[b>>2]=i;J[a+12>>2]=b+4;break m}Og(a+8|0,e)}a=J[e>>2];J[e>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}c=1}fa=e- -64|0;return c|0}Ia();C()}Ya();C()}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=fa+-64|0;fa=e;a:{b:{c:{d:{if(!K[a+288|0]){break d}c=1;h=ka[J[J[a>>2]+40>>2]](a)|0;if((J[h+12>>2]-J[h+8>>2]|0)<=0){break d}ub(J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+8>>2]>>2],b);break c}c=b<<2;f=J[c+J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+56>>2]+84>>2]>>2];i=J[c+J[J[(ka[J[J[a>>2]+40>>2]](a)|0)+4>>2]+8>>2]>>2];h=-1;c=J[a+176>>2];d=J[a+172>>2];e:{if((c|0)==(d|0)){break e}c=(c-d|0)/136|0;g=c>>>0<=1?1:c;c=0;while(1){if(J[d+P(c,136)>>2]==(b|0)){h=c;break e}c=c+1|0;if((g|0)!=(c|0)){continue}break}}f:{g:{h:{i:{if(!K[a+288|0]){c=J[i+56>>2];if(!(!f|!c)){if(!K[(d+P(h,136)|0)+28|0]|(f|0)!=1){break i}break h}if(c){break h}}c=a+40|0;break g}d=d+P(h,136)|0;c=J[d+56>>2];f=J[d+60>>2];J[e>>2]=-1;Ig(d+116|0,f-c>>2,e);c=pl(80);f=J[a+8>>2];J[c+12>>2]=0;J[c+16>>2]=0;J[c>>2]=11984;J[c+4>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+76>>2]=0;i=d+104|0;J[c+72>>2]=i;J[c+68>>2]=f;J[c- -64>>2]=0;g=c+56|0;J[g>>2]=0;J[g+4>>2]=0;J[c+8>>2]=10884;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;j=e+24|0;J[j>>2]=0;J[j+4>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+56>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e>>2]=10884;l=d+4|0;J[e+4>>2]=l;d=J[d+68>>2];k=J[d>>2];d=J[d+4>>2];H[e+63|0]=0;k=(d-k>>2>>>0)/3|0;d=e+63|0;Jg(j,k,d);j=J[e+4>>2];k=J[j+56>>2];j=J[j+52>>2];H[e+63|0]=0;Jg(e+36|0,k-j>>2,d);J[e+20>>2]=c;J[e+16>>2]=f;J[e+12>>2]=i;J[e+8>>2]=l;J[c+76>>2]=a+72;Kg(c+8|0,e);Lg(g,J[e+48>>2],J[e+52>>2]);J[e>>2]=10884;d=J[e+48>>2];if(d){J[e+52>>2]=d;hl(d)}J[e>>2]=11136;d=J[e+36>>2];if(d){hl(d)}d=J[e+24>>2];if(d){hl(d)}d=0;break f}c=J[a+12>>2];f=J[c+28>>2];c=J[c+24>>2];J[e>>2]=-1;g=d;d=P(h,136);g=g+d|0;Ig(g+116|0,f-c>>2,e);H[(d+J[a+172>>2]|0)+100|0]=0;c=g+104|0}j:{k:{if(Pb(J[(ka[J[J[a>>2]+40>>2]](a)|0)+48>>2])|J[i+56>>2]){break k}if(K[a+288|0]){d=J[a+8>>2];if((J[d+12>>2]-J[d+8>>2]|0)>4){break k}}d=1;c=Mg(a,c);break j}d=0;c=Ng(a,c)}if(c){break f}c=0;break c}J[((h|0)==-1?a+68|0:(J[a+172>>2]+P(h,136)|0)+132|0)>>2]=d;i=rc(pl(76),c,b);b=J[a+188>>2];l:{if((b|0)!=J[a+192>>2]){J[b>>2]=h;J[a+188>>2]=b+4;break l}c=b;b=J[a+184>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=pl(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=h;c=ok(f,b,c);J[a+192>>2]=c+(d<<2);J[a+188>>2]=g+4;J[a+184>>2]=c;if(!b){break l}hl(b)}a=ka[J[J[a>>2]+40>>2]](a)|0;J[e>>2]=i;b=J[a+12>>2];m:{if(b>>>0>2]){J[e>>2]=0;J[b>>2]=i;J[a+12>>2]=b+4;break m}Og(a+8|0,e)}a=J[e>>2];J[e>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}c=1}fa=e- -64|0;return c|0}Ia();C()}Ya();C()}function mh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=fa-16|0;fa=j;J[a+124>>2]=J[a+124>>2]+1;h=-1;d=J[a+120>>2];c=-1;a:{if((d|0)==-1){break a}c=d+1|0;h=(c>>>0)%3|0?c:d-2|0;c=d-1|0;if((d>>>0)%3|0){break a}c=d+2|0}e=J[a+104>>2];f=J[a+92>>2];g=f+(h<<2)|0;k=e+(J[g>>2]<<2)|0;i=J[k>>2];b:{c:{switch(b|0){case 0:case 1:J[k>>2]=i-1;d=(J[(c<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;if((b|0)!=1){break b}g=0;d:{if((c|0)==-1){d=0;break d}d=0;c=J[J[J[a+88>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break d}while(1){e:{e=J[a+64>>2];if(ka[J[J[e>>2]+36>>2]](e,(c>>>0)/3|0)|0){break e}d=d+1|0;e=c+1|0;c=(e>>>0)%3|0?e:c-2|0;if((c|0)==-1){break e}c=J[J[J[a+88>>2]+12>>2]+(c<<2)>>2];if((c|0)!=-1){continue}}break}e=J[a+104>>2];f=J[a+92>>2]}J[(J[(J[a+120>>2]<<2)+f>>2]<<2)+e>>2]=d+1;f:{if((h|0)==-1){break f}c=J[J[J[a+88>>2]+12>>2]+(h<<2)>>2];if((c|0)==-1){break f}e=J[a+108>>2]-e>>2;while(1){f=J[a+64>>2];d=(c>>>0)/3|0;if(ka[J[J[f>>2]+36>>2]](f,d)|0){break f}f=c+1|0;J[J[a+92>>2]+(((f>>>0)%3|0?f:c-2|0)<<2)>>2]=e;g=g+1|0;f=J[a+88>>2];g:{if((P(d,3)|0)!=(c|0)){c=c-1|0;break g}c=c+2|0;if((c|0)==-1){break f}}c=J[J[f+12>>2]+(c<<2)>>2];if((c|0)!=-1){continue}break}}J[j+12>>2]=g+1;h:{c=J[a+108>>2];f=J[a+112>>2];if(c>>>0>>0){J[c>>2]=J[j+12>>2];J[a+108>>2]=c+4;break h}i:{d=c;c=J[a+104>>2];d=d-c|0;h=d>>2;e=h+1|0;if(e>>>0<1073741824){f=f-c|0;g=f>>>1|0;e=f>>>0>=2147483644?1073741823:e>>>0>>0?g:e;if(e){if(e>>>0>=1073741824){break i}f=pl(e<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=J[j+12>>2];g=e<<2;e=ok(f,c,d);J[a+112>>2]=g+e;J[a+108>>2]=h+4;J[a+104>>2]=e;if(c){hl(c)}break h}Ia();C()}Ya();C()}break b;case 5:d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-2;break b;case 3:d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-1;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-1;break b;case 7:break c;default:break b}}d=(J[(d<<2)+f>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;d=(J[g>>2]<<2)+e|0;J[d>>2]=J[d>>2]-2;c=(J[(c<<2)+f>>2]<<2)+e|0;J[c>>2]=J[c>>2]-2}j:{k:{c=J[a+116>>2];l:{if((c|0)==-1){break l}h=J[(c<<2)+11184>>2];c=J[a+132>>2];d=(c|0)>(i|0)?i:c;c=J[a+128>>2];c=J[a+136>>2]+P((c|0)<=(i|0)?d-c|0:0,12)|0;e=J[c+4>>2];d=J[c+8>>2];if(e>>>0>>0){J[e>>2]=h;J[c+4>>2]=e+4;break l}f=e;e=J[c>>2];i=f-e|0;g=i>>2;f=g+1|0;if(f>>>0>=1073741824){break k}d=d-e|0;k=d>>>1|0;f=d>>>0>=2147483644?1073741823:f>>>0>>0?k:f;if(f){if(f>>>0>=1073741824){break j}d=pl(f<<2)}else{d=0}g=d+(g<<2)|0;J[g>>2]=h;d=ok(d,e,i);J[c>>2]=d;J[c+4>>2]=g+4;J[c+8>>2]=d+(f<<2);if(!e){break l}hl(e)}J[a+116>>2]=b;fa=j+16|0;return}Ia();C()}Ya();C()}function Kh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((b|0)==-1){return 1}g=(b>>>0)/3|0;if(!(J[J[a+24>>2]+(g>>>3&268435452)>>2]>>>g&1)){f=J[a+48>>2];J[a+52>>2]=f;a:{if((f|0)!=J[a+56>>2]){J[f>>2]=b;J[a+52>>2]=f+4;break a}d=pl(4);J[d>>2]=b;c=d+4|0;J[a+56>>2]=c;J[a+52>>2]=c;J[a+48>>2]=d;if(!f){break a}hl(f)}e=-1;d=J[a+4>>2];c=b+1|0;i=(c>>>0)%3|0?c:b-2|0;if((i|0)!=-1){e=J[J[d>>2]+(i<<2)>>2]}b:{h=b-P(g,3)|0;if(h){c=b-1|0;break b}c=b+2|0;if((c|0)!=-1){break b}return 0}if((e|0)==-1){return 0}j=J[J[d>>2]+(c<<2)>>2];if((j|0)==-1){return 0}c=J[a+36>>2];f=c+(e>>>3&536870908)|0;g=J[f>>2];d=1<>2]=d|g;Bh(a+8|0,e,i);c=J[a+36>>2]}g=(j>>>3&536870908)+c|0;d=J[g>>2];c=1<>2]=c|d;Bh(a+8|0,j,(h?-1:2)+b|0)}c=J[a+52>>2];if((c|0)==J[a+48>>2]){return 1}j=a+8|0;while(1){c:{d:{c=c-4|0;b=J[c>>2];if((b|0)==-1){break d}d=(b>>>0)/3|0;f=J[a+24>>2]+(d>>>3&268435452)|0;g=J[f>>2];d=1<>2]=d|g;while(1){i=J[a+4>>2];e=J[J[i>>2]+(b<<2)>>2];if((e|0)==-1){return 0}e:{f:{h=J[a+36>>2]+(e>>>3&536870908)|0;f=J[h>>2];g=1<>2]+(e<<2)>>2];h:{if((d|0)==-1){break h}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break h}d=J[J[i+12>>2]+(c<<2)>>2];if((d|0)!=-1){break g}}J[h>>2]=f|g;Bh(j,e,b);break f}J[h>>2]=f|g;Bh(j,e,b);c=d+1|0;if((((c>>>0)%3|0?c:d-2|0)|0)==-1){break f}c=b-2|0;d=b+1|0;b=-1;c=(d>>>0)%3|0?d:c;if((c|0)!=-1){b=J[J[J[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;d=1<>2];f=c>>>5|0;i=J[e+(f<<2)>>2];break e}c=-1;g=J[a+4>>2];d=b+1|0;d=(d>>>0)%3|0?d:b-2|0;if((d|0)!=-1){c=J[J[g+12>>2]+(d<<2)>>2]}i:{j:{if((b>>>0)%3|0){e=b-1|0;break j}e=b+2|0;b=-1;if((e|0)==-1){break i}}b=J[J[g+12>>2]+(e<<2)>>2]}g=(b|0)==-1;h=g?-1:(b>>>0)/3|0;k:{if((c|0)!=-1){e=J[a+24>>2];d=(c>>>0)/3|0;f=d>>>5|0;i=J[e+(f<<2)>>2];d=1<>2];f=h>>>5|0;i=J[e+(f<<2)>>2];if(!(d&i)){break e}}c=J[a+52>>2]-4|0;J[a+52>>2]=c;break c}if(g){b=c;break e}if(J[(h>>>3&536870908)+e>>2]>>>h&1){b=c;break e}e=J[a+52>>2];J[e-4>>2]=b;if(J[a+56>>2]!=(e|0)){J[e>>2]=c;c=e+4|0;break d}l:{h=J[a+48>>2];f=e-h|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){b=f>>>1|0;f=f>>>0>=2147483644?1073741823:b>>>0>d>>>0?b:d;if(f){if(f>>>0>=1073741824){break l}d=pl(f<<2)}else{d=0}b=d+(g<<2)|0;J[b>>2]=c;c=b+4|0;if((e|0)!=(h|0)){while(1){b=b-4|0;e=e-4|0;J[b>>2]=J[e>>2];if((e|0)!=(h|0)){continue}break}}J[a+56>>2]=d+(f<<2);J[a+52>>2]=c;J[a+48>>2]=b;if(!h){break c}hl(h);c=J[a+52>>2];break c}Ia();C()}Ya();C()}J[(f<<2)+e>>2]=d|i;if((b|0)!=-1){continue}break}return 0}J[a+52>>2]=c}if(J[a+48>>2]!=(c|0)){continue}break}}return 1}function bf(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,n=0;d=a+4|0;if((d|0)!=(b|0)){Je(d,J[b>>2],b+4|0);f=J[b+12>>2];k=b+16|0;d=0;h=a+16|0;a:{if(!J[h+8>>2]){break a}e=J[h>>2];j=h+4|0;J[h>>2]=j;J[J[h+4>>2]+8>>2]=0;J[h+4>>2]=0;J[h+8>>2]=0;c=J[e+4>>2];g=c?c:e;if(!g){Ie(h,g);break a}e=J[g+8>>2];b:{if(!e){break b}c=J[e>>2];if((g|0)==(c|0)){J[e>>2]=0;d=e;c=J[e+4>>2];if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}c=J[d+4>>2];if(c){continue}break}break b}J[e+4>>2]=0;d=e;if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}c=J[d+4>>2];if(c){continue}break}}c:{if((f|0)==(k|0)){i=g;break c}c=f;while(1){i=d;J[g+16>>2]=J[c+16>>2];if((c|0)!=(g|0)){Je(g+20|0,J[c+20>>2],c+24|0)}f=j;d=f;e=J[d>>2];d:{if(!e){break d}l=J[g+16>>2];while(1){f=e;if((l|0)>2]){d=f;e=J[d>>2];if(e){continue}break d}e=J[f+4>>2];if(e){continue}break}d=f+4|0}J[g+8>>2]=f;J[g>>2]=0;J[g+4>>2]=0;J[d>>2]=g;f=J[J[h>>2]>>2];if(f){J[h>>2]=f;g=J[d>>2]}We(J[h+4>>2],g);J[h+8>>2]=J[h+8>>2]+1;d=0;e:{if(!i){break e}e=J[i+8>>2];if(!e){break e}f=J[e>>2];if((i|0)==(f|0)){J[e>>2]=0;d=e;f=J[e+4>>2];if(!f){break e}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}break e}J[e+4>>2]=0;d=e;if(!f){break e}while(1){d=f;f=J[d>>2];if(f){continue}f=J[d+4>>2];if(f){continue}break}}e=J[c+4>>2];f:{if(e){while(1){f=e;e=J[e>>2];if(e){continue}break f}}while(1){f=J[c+8>>2];e=J[f>>2]!=(c|0);c=f;if(e){continue}break}}if(!i){break c}g=i;c=f;if((k|0)!=(c|0)){continue}break}}Ie(h,i);if(!d){break a}while(1){c=J[d+8>>2];if(c){d=c;continue}break}Ie(h,d)}if((f|0)!=(k|0)){while(1){n=fa-16|0;fa=n;i=pl(32);g=f+16|0;d=J[g>>2];m=i+24|0;J[m>>2]=0;J[m+4>>2]=0;J[i+16>>2]=d;l=i+20|0;J[l>>2]=m;e=h+4|0;c=J[g+4>>2];j=g+8|0;if((c|0)!=(j|0)){while(1){d=c+16|0;Xe(n+8|0,l,m,d,d);g=J[c+4>>2];g:{if(g){while(1){d=g;g=J[d>>2];if(g){continue}break g}}while(1){d=J[c+8>>2];g=J[d>>2]!=(c|0);c=d;if(g){continue}break}}c=d;if((j|0)!=(c|0)){continue}break}}c=e;d=J[c>>2];h:{if(!d){break h}g=J[i+16>>2];while(1){e=d;if((g|0)>2]){c=e;d=J[c>>2];if(d){continue}break h}d=J[e+4>>2];if(d){continue}break}c=e+4|0}J[i+8>>2]=e;J[i>>2]=0;J[i+4>>2]=0;J[c>>2]=i;d=i;e=J[J[h>>2]>>2];if(e){J[h>>2]=e;d=J[c>>2]}We(J[h+4>>2],d);J[h+8>>2]=J[h+8>>2]+1;fa=n+16|0;e=J[f+4>>2];i:{if(e){while(1){c=e;e=J[c>>2];if(e){continue}break i}}while(1){c=J[f+8>>2];d=J[c>>2]!=(f|0);f=c;if(d){continue}break}}f=c;if((c|0)!=(k|0)){continue}break}}Je(a+28|0,J[b+24>>2],b+28|0)}}function Jc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=fa-16|0;fa=m;f=J[a+4>>2];a:{b:{if(f){if(ka[J[J[a>>2]+52>>2]](a,b,J[J[f+4>>2]+80>>2])|0){break b}break a}if(!(ka[J[J[a>>2]+52>>2]](a,b,0)|0)){break a}}n=1;if(!K[a+28|0]){break a}d=J[a+32>>2];i=J[a+8>>2];c=J[i+80>>2];f=0;J[m+8>>2]=0;J[m>>2]=0;J[m+4>>2]=0;c:{d:{e:{if(c){if(c>>>0>=1073741824){break e}c=c<<2;f=pl(c);pk(f,0,c)}e=J[b+4>>2];c=J[b>>2];f:{if((e|0)==(c|0)){break f}b=e-c>>2;if(K[i+84|0]){e=b>>>0<=1?1:b;h=e&3;b=0;if(e-1>>>0>=3){j=e&-4;e=0;while(1){J[(J[c+(b<<2)>>2]<<2)+f>>2]=b;k=b|1;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;k=b|2;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;k=b|3;J[(J[c+(k<<2)>>2]<<2)+f>>2]=k;b=b+4|0;e=e+4|0;if((j|0)!=(e|0)){continue}break}}if(!h){break f}while(1){J[(J[c+(b<<2)>>2]<<2)+f>>2]=b;b=b+1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}break f}g=b>>>0<=1?1:b;j=g&3;h=J[i+68>>2];e=0;b=0;if(g-1>>>0>=3){k=g&-4;g=0;while(1){J[(J[h+(J[c+(b<<2)>>2]<<2)>>2]<<2)+f>>2]=b;l=b|1;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;l=b|2;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;l=b|3;J[(J[h+(J[c+(l<<2)>>2]<<2)>>2]<<2)+f>>2]=l;b=b+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}}if(!j){break f}while(1){J[(J[h+(J[c+(b<<2)>>2]<<2)>>2]<<2)+f>>2]=b;b=b+1|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}b=J[a+4>>2];g:{if(!K[d+84|0]){break g}c=J[J[b+4>>2]+80>>2];H[d+84|0]=0;g=J[d+68>>2];e=J[d+72>>2]-g>>2;if(e>>>0>>0){rb(d+68|0,c-e|0,2744);b=J[a+4>>2];break g}if(c>>>0>=e>>>0){break g}J[d+72>>2]=g+(c<<2)}h=J[J[b+4>>2]+80>>2];if(!h){break d}c=J[d+68>>2];if(K[i+84|0]){a=0;b=0;if(h>>>0>=4){g=h&-4;e=0;while(1){d=b<<2;J[d+c>>2]=J[f+d>>2];i=d|4;J[i+c>>2]=J[f+i>>2];i=d|8;J[i+c>>2]=J[f+i>>2];d=d|12;J[d+c>>2]=J[f+d>>2];b=b+4|0;e=e+4|0;if((g|0)!=(e|0)){continue}break}}e=h&3;if(!e){break c}while(1){d=b<<2;J[d+c>>2]=J[f+d>>2];b=b+1|0;a=a+1|0;if((e|0)!=(a|0)){continue}break}break c}a=J[i+68>>2];e=0;b=0;if(h>>>0>=4){i=h&-4;g=0;while(1){d=b<<2;J[d+c>>2]=J[(J[a+d>>2]<<2)+f>>2];j=d|4;J[j+c>>2]=J[(J[a+j>>2]<<2)+f>>2];j=d|8;J[j+c>>2]=J[(J[a+j>>2]<<2)+f>>2];d=d|12;J[d+c>>2]=J[(J[a+d>>2]<<2)+f>>2];b=b+4|0;g=g+4|0;if((i|0)!=(g|0)){continue}break}}d=h&3;if(!d){break c}while(1){g=b<<2;J[g+c>>2]=J[(J[a+g>>2]<<2)+f>>2];b=b+1|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}break c}Ia();C()}if(!f){break a}}hl(f)}fa=m+16|0;return n|0}function Ye(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{b:{c:{d:{e:{f:{i=a+4|0;g:{if((i|0)==(b|0)){break g}f=K[b+27|0];g=f<<24>>24<0;h=K[e+11|0];j=h<<24>>24;k=(j|0)<0;f=g?J[b+20>>2]:f;h=k?J[e+4>>2]:h;l=f>>>0>>0;m=l?f:h;if(m){k=k?J[e>>2]:e;g=g?J[b+16>>2]:b+16|0;n=tk(k,g,m);if(!n){if(f>>>0>h>>>0){break g}break f}if((n|0)>=0){break f}break g}if(f>>>0<=h>>>0){break e}}d=J[b>>2];h:{f=b;i:{if((f|0)==J[a>>2]){break i}j:{if(!d){a=b;while(1){f=J[a+8>>2];h=J[f>>2]==(a|0);a=f;if(h){continue}break}break j}a=d;while(1){f=a;a=J[f+4>>2];if(a){continue}break}}a=K[e+11|0];k=a<<24>>24;h=(k|0)<0;j=K[f+27|0];g=j<<24>>24<0;k:{a=h?J[e+4>>2]:a;j=g?J[f+20>>2]:j;l=a>>>0>>0?a:j;if(l){h=tk(g?J[f+16>>2]:f+16|0,h?J[e>>2]:e,l);if(h){break k}}if(a>>>0>j>>>0){break i}break h}if((h|0)>=0){break h}}if(!d){J[c>>2]=b;return b}J[c>>2]=f;return f+4|0}d=J[i>>2];if(!d){J[c>>2]=i;return i}e=(k|0)<0?J[e>>2]:e;b=i;while(1){f=d;d=K[f+27|0];i=d<<24>>24<0;d=i?J[f+20>>2]:d;h=d>>>0>>0;l:{m:{n:{o:{g=h?d:a;p:{if(g){i=i?J[f+16>>2]:f+16|0;j=tk(e,i,g);if(!j){if(a>>>0>>0){break p}break o}if((j|0)>=0){break o}break p}if(a>>>0>=d>>>0){break n}}b=f;d=J[f>>2];if(d){continue}break b}d=tk(i,e,g);if(d){break m}}if(h){break l}break b}if((d|0)>=0){break b}}b=f+4|0;d=J[f+4>>2];if(d){continue}break}break b}a=tk(g,k,m);if(a){break d}}if(l){break c}break a}if((a|0)>=0){break a}}d=J[b+4>>2];q:{if(!d){a=b;while(1){f=J[a+8>>2];g=J[f>>2]!=(a|0);a=f;if(g){continue}break}break q}a=d;while(1){f=a;a=J[f>>2];if(a){continue}break}}r:{s:{if((f|0)==(i|0)){break s}g=K[f+27|0];a=g<<24>>24<0;t:{g=a?J[f+20>>2]:g;k=h>>>0>g>>>0?g:h;if(k){a=tk((j|0)<0?J[e>>2]:e,a?J[f+16>>2]:f+16|0,k);if(a){break t}}if(h>>>0>>0){break s}break r}if((a|0)>=0){break r}}if(!d){J[c>>2]=b;return b+4|0}J[c>>2]=f;return f}a=J[i>>2];if(!a){J[c>>2]=i;return i}d=(j|0)<0?J[e>>2]:e;b=i;while(1){f=a;a=K[f+27|0];e=a<<24>>24<0;a=e?J[f+20>>2]:a;i=a>>>0>>0;u:{v:{w:{x:{g=i?a:h;y:{if(g){e=e?J[f+16>>2]:f+16|0;j=tk(d,e,g);if(!j){if(a>>>0>h>>>0){break y}break x}if((j|0)>=0){break x}break y}if(a>>>0<=h>>>0){break w}}b=f;a=J[f>>2];if(a){continue}break b}a=tk(e,d,g);if(a){break v}}if(i){break u}break b}if((a|0)>=0){break b}}b=f+4|0;a=J[f+4>>2];if(a){continue}break}}J[c>>2]=f;return b}J[c>>2]=b;J[d>>2]=b;return d}function $j(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{d=b;g=J[b>>2];if(g){c=J[b+4>>2];if(!c){break b}while(1){d=c;c=J[c>>2];if(c){continue}break}}g=J[d+4>>2];if(g){break b}g=0;e=1;break a}J[g+8>>2]=J[d+8>>2];e=0}f=J[d+8>>2];c=J[f>>2];c:{if((d|0)==(c|0)){J[f>>2]=g;if((a|0)==(d|0)){c=0;a=g;break c}c=J[f+4>>2];break c}J[f+4>>2]=g}h=!K[d+12|0];if((b|0)!=(d|0)){f=J[b+8>>2];J[d+8>>2]=f;J[f+((J[J[b+8>>2]>>2]!=(b|0))<<2)>>2]=d;f=J[b>>2];J[d>>2]=f;J[f+8>>2]=d;f=J[b+4>>2];J[d+4>>2]=f;if(f){J[f+8>>2]=d}H[d+12|0]=K[b+12|0];a=(a|0)==(b|0)?d:a}if(!(h|!a)){if(e){while(1){b=K[c+12|0];d:{e=J[c+8>>2];if(J[e>>2]!=(c|0)){if(!b){H[c+12|0]=1;H[e+12|0]=0;d=J[e+4>>2];b=J[d>>2];J[e+4>>2]=b;if(b){J[b+8>>2]=e}J[d+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=d;J[d>>2]=e;J[e+8>>2]=d;b=J[c>>2];a=(b|0)==(a|0)?c:a;c=J[b+4>>2]}e:{f:{d=J[c>>2];g:{if(!(K[d+12|0]?0:d)){b=J[c+4>>2];if(K[b+12|0]?0:b){break g}H[c+12|0]=0;c=J[c+8>>2];h:{if((c|0)==(a|0)){c=a;break h}if(K[c+12|0]){break d}}H[c+12|0]=1;return}b=J[c+4>>2];if(!b){break f}}if(K[b+12|0]){break f}d=c;break e}H[d+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;b=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[b+12|0]=1;b=J[c+4>>2];a=J[b>>2];J[c+4>>2]=a;if(a){J[a+8>>2]=c}J[b+8>>2]=J[c+8>>2];a=J[c+8>>2];J[(((c|0)!=J[a>>2])<<2)+a>>2]=b;J[b>>2]=c;J[c+8>>2]=b;return}if(!b){H[c+12|0]=1;H[e+12|0]=0;b=J[c+4>>2];J[e>>2]=b;if(b){J[b+8>>2]=e}J[c+8>>2]=J[e+8>>2];b=J[e+8>>2];J[(((e|0)!=J[b>>2])<<2)+b>>2]=c;J[c+4>>2]=e;J[e+8>>2]=c;a=(a|0)==(e|0)?c:a;c=J[e>>2]}b=J[c>>2];i:{if(!(!b|K[b+12|0])){d=c;break i}d=J[c+4>>2];if(!(K[d+12|0]?0:d)){H[c+12|0]=0;c=J[c+8>>2];if((a|0)!=(c|0)?K[c+12|0]:0){break d}H[c+12|0]=1;return}if(b){if(!K[b+12|0]){d=c;break i}d=J[c+4>>2]}H[d+12|0]=1;H[c+12|0]=0;a=J[d>>2];J[c+4>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d>>2]=c;J[c+8>>2]=d;b=c}c=J[d+8>>2];H[d+12|0]=K[c+12|0];H[c+12|0]=1;H[b+12|0]=1;b=J[c>>2];a=J[b+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[b+8>>2]=J[c+8>>2];a=J[c+8>>2];J[(((c|0)!=J[a>>2])<<2)+a>>2]=b;J[b+4>>2]=c;J[c+8>>2]=b;return}b=J[c+8>>2];c=J[((J[b>>2]==(c|0))<<2)+b>>2];continue}}H[g+12|0]=1}}function Gc(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;h=fa-32|0;fa=h;a:{b:{if(J[a+8>>2]<<5>>>0>=b>>>0){break b}if((b|0)<0){break a}b=(b-1>>>5|0)+1|0;c=pl(b<<2);J[h+24>>2]=b;J[h+20>>2]=0;J[h+16>>2]=c;b=J[a>>2];J[h+12>>2]=0;J[h+8>>2]=b;c=J[a+4>>2];J[h+4>>2]=c&31;J[h>>2]=b+(c>>>3&536870908);e=fa-32|0;fa=e;i=J[h+4>>2];g=J[h+12>>2];j=J[h>>2];d=J[h+8>>2];b=(i-g|0)+(j-d<<3)|0;f=J[h+20>>2];c=b+f|0;J[h+20>>2]=c;if(!((c-1^f-1)>>>0<32?f:0)){J[J[h+16>>2]+((c>>>0>=33?c-1>>>5|0:0)<<2)>>2]=0}c=J[h+16>>2]+(f>>>3&536870908)|0;f=f&31;c:{if((f|0)==(g|0)){if((b|0)<=0){break c}if(g){i=32-g|0;f=(b|0)<(i|0)?b:i;i=-1<>>i-f;J[c>>2]=J[c>>2]&(i^-1)|i&J[d>>2];d=d+4|0;c=(g+f>>>3&536870908)+c|0;b=b-f|0}g=(b|0)/32|0;if(b+31>>>0>=63){ok(c,d,g<<2)}b=b-(g<<5)|0;if((b|0)<=0){break c}f=c;c=g<<2;g=f+c|0;b=-1>>>32-b|0;J[g>>2]=J[g>>2]&(b^-1)|b&J[c+d>>2];break c}J[e+28>>2]=g;J[e+24>>2]=d;J[e+20>>2]=i;J[e+16>>2]=j;J[e+12>>2]=f;J[e+8>>2]=c;b=J[e+28>>2];c=J[e+24>>2];g=(J[e+20>>2]-b|0)+(J[e+16>>2]-c<<3)|0;d:{if((g|0)<=0){b=J[e+12>>2];d=J[e+8>>2];break d}e:{if(!b){b=J[e+12>>2];break e}d=J[e+12>>2];j=32-d|0;k=32-b|0;f=(g|0)<(k|0)?g:k;i=f>>>0>j>>>0?j:f;l=J[e+8>>2];m=J[l>>2]&(-1<>>j-i^-1);j=J[c>>2]&(-1<>>k-f);J[l>>2]=m|(b>>>0>>0?j<>>b-d|0);c=d+i|0;b=c&31;J[e+12>>2]=b;d=l+(c>>>3&536870908)|0;J[e+8>>2]=d;c=f-i|0;if((c|0)>0){J[d>>2]=J[d>>2]&(-1>>>32-c^-1)|j>>>i+J[e+28>>2];J[e+12>>2]=c;b=c}g=g-f|0;c=J[e+24>>2]+4|0;J[e+24>>2]=c}i=-1<=32){j=i^-1;while(1){d=J[e+8>>2];c=J[c>>2];J[d>>2]=j&J[d>>2]|c<>2]=d+4;J[d+4>>2]=i&J[d+4>>2]|c>>>f;c=J[e+24>>2]+4|0;J[e+24>>2]=c;d=g>>>0>63;g=g-32|0;if(d){continue}break}}d=J[e+8>>2];if((g|0)<=0){break d}j=f;f=(g|0)>(f|0)?f:g;j=J[d>>2]&(i&-1>>>j-f^-1);i=J[c>>2]&-1>>>32-g;J[d>>2]=j|i<>2]=c;d=(b>>>3&536870908)+d|0;J[e+8>>2]=d;b=g-f|0;if((b|0)<=0){b=c;break d}J[d>>2]=J[d>>2]&(-1>>>32-b^-1)|i>>>f;J[e+12>>2]=b}J[e+4>>2]=b;J[e>>2]=d}fa=e+32|0;b=J[a>>2];J[a>>2]=J[h+16>>2];J[h+16>>2]=b;c=J[a+4>>2];J[a+4>>2]=J[h+20>>2];J[h+20>>2]=c;c=J[a+8>>2];J[a+8>>2]=J[h+24>>2];J[h+24>>2]=c;if(!b){break b}hl(b)}fa=h+32|0;return}Ia();C()}function xg(a){a=a|0;var 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,q=0,r=0;g=fa-16|0;fa=g;b=J[a+64>>2];a:{if(!b){break a}i=ka[J[J[b>>2]+32>>2]](b)|0;if(!i){break a}n=(J[i+28>>2]-J[i+24>>2]>>2)-J[i+44>>2]|0;b=J[a+56>>2];d=J[b+8>>2];b:{if((J[b+12>>2]-d|0)<5){break b}J[g+8>>2]=0;J[g>>2]=0;J[g+4>>2]=0;c:{d:{while(1){e:{f:{if(!J[J[(c<<2)+d>>2]+56>>2]){break f}j=ka[J[J[a>>2]+56>>2]](a,c)|0;if(!j){break f}if(J[g+8>>2]!=(f|0)){J[f>>2]=j;f=f+4|0;J[g+4>>2]=f;break f}b=J[g>>2];h=f-b|0;f=h>>2;d=f+1|0;if(d>>>0>=1073741824){break e}e=h>>>1|0;d=h>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break d}e=pl(d<<2)}else{e=0}f=e+(f<<2)|0;J[f>>2]=j;h=ok(e,b,h);J[g+8>>2]=h+(d<<2);f=f+4|0;J[g+4>>2]=f;J[g>>2]=h;if(!b){break f}hl(b)}m=J[a+56>>2];d=J[m+8>>2];c=c+1|0;if((c|0)>2]-d>>2){continue}break c}break}Ia();C()}Ya();C()}j=J[g>>2];o=J[i+24>>2];b=J[i+28>>2];if((o|0)!=(b|0)){b=b-o>>2;q=b>>>0<=1?1:b;b=f-j>>2;r=b>>>0<=1?1:b;while(1){e=J[(p<<2)+o>>2];if((e|0)!=-1){g:{if((e|0)<0){c=(e>>>0)%3|0;b=-1;break g}b=(e>>>0)/3|0;c=e-P(b,3)|0;b=J[(J[m+96>>2]+P(b,12)|0)+(c<<2)>>2]}h:{i:{if(c){c=e-1|0;break i}c=e+2|0;if((c|0)!=-1){break i}l=0;break h}l=0;c=J[J[i+12>>2]+(c<<2)>>2];if((c|0)==-1){break h}j:{if((c>>>0)%3|0){d=c-1|0;break j}d=c+2|0;if((d|0)==-1){break h}}h=e;while(1){c=(d|0)<0?-1:J[(J[m+96>>2]+P((d>>>0)/3|0,12)|0)+((d>>>0)%3<<2)>>2];k:{if((b|0)==(c|0)){c=0;if((f|0)==(j|0)){c=b;break k}l:{while(1){k=J[J[(c<<2)+j>>2]+28>>2];if(J[k+(d<<2)>>2]!=J[k+(h<<2)>>2]){break l}c=c+1|0;if((r|0)!=(c|0)){continue}break}c=b;break k}c=b}l=l+1|0}if((d|0)==(e|0)|(d|0)==-1){break h}m:{if((d>>>0)%3|0){b=d-1|0;break m}b=d+2|0;if((b|0)==-1){break h}}k=J[J[i+12>>2]+(b<<2)>>2];if((k|0)==-1){break h}b=c;h=d;c=k+((k>>>0)%3|0?-1:2)|0;d=c;if((c|0)!=-1){continue}break}}c=1;b=e+1|0;b=(b>>>0)%3|0?b:e-2|0;n:{if((b|0)==-1){break n}b=J[J[i+12>>2]+(b<<2)>>2];if((b|0)==-1){break n}c=b+1|0;c=(((c>>>0)%3|0?c:b-2|0)|0)==-1}n=(l+n|0)-((c^-1)&(l|0)!=0)|0}p=p+1|0;if((q|0)!=(p|0)){continue}break}}if(!j){break b}hl(j)}J[a+52>>2]=n}fa=g+16|0}function Ck(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=fa-128|0;fa=j;a:{b:{c:{if(!Uk(f,g,h,i,0,0,0,0)){break c}l=i&65535;n=i>>>16&32767;d:{e:{if((n|0)!=32767){k=4;if(n){break e}k=f|h|(g|l)?3:2;break d}k=!(f|h|(g|l))}}s=e>>>16|0;o=s&32767;if((o|0)==32767){break c}if(k){break b}}$k(j+16|0,b,c,d,e,f,g,h,i);b=J[j+16>>2];d=J[j+20>>2];e=J[j+24>>2];c=J[j+28>>2];Wk(j,b,d,e,c,b,d,e,c);d=J[j+8>>2];e=J[j+12>>2];h=J[j>>2];i=J[j+4>>2];break a}k=d;p=e&2147483647;n=h;m=i&2147483647;if((Uk(b,c,k,p,f,g,h,m)|0)<=0){if(Uk(b,c,k,p,f,g,n,m)){h=b;i=c;break a}$k(j+112|0,b,c,d,e,0,0,0,0);d=J[j+120>>2];e=J[j+124>>2];h=J[j+112>>2];i=J[j+116>>2];break a}q=i>>>16&32767;if(o){i=c;h=b}else{$k(j+96|0,b,c,k,p,0,0,0,1081540608);k=J[j+104>>2];h=J[j+108>>2];p=h;o=(h>>>16|0)-120|0;i=J[j+100>>2];h=J[j+96>>2]}if(!q){$k(j+80|0,f,g,n,m,0,0,0,1081540608);n=J[j+88>>2];f=J[j+92>>2];m=f;q=(f>>>16|0)-120|0;g=J[j+84>>2];f=J[j+80>>2]}r=n;t=m&65535|65536;p=p&65535|65536;if((o|0)>(q|0)){while(1){m=k-r|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;n=m-l|0;l=(p-((k>>>0>>0)+t|0)|0)-(l>>>0>m>>>0)|0;f:{if((l|0)>0|(l|0)>=0){k=h;h=h-f|0;i=i-((f>>>0>k>>>0)+g|0)|0;if(!(h|n|(i|l))){$k(j+32|0,b,c,d,e,0,0,0,0);d=J[j+40>>2];e=J[j+44>>2];h=J[j+32>>2];i=J[j+36>>2];break a}l=l<<1|n>>>31;k=n<<1|i>>>31;break f}l=p<<1|k>>>31;k=k<<1|i>>>31}p=l;l=i<<1|h>>>31;h=h<<1;i=l;o=o-1|0;if((o|0)>(q|0)){continue}break}o=q}m=k-r|0;l=(g|0)==(i|0)&f>>>0>h>>>0|g>>>0>i>>>0;n=m-l|0;l=(p-((k>>>0>>0)+t|0)|0)-(l>>>0>m>>>0)|0;m=l;g:{if((l|0)<0){n=k;m=p;break g}k=h;h=h-f|0;i=i-((f>>>0>k>>>0)+g|0)|0;if(h|n|(i|m)){break g}$k(j+48|0,b,c,d,e,0,0,0,0);d=J[j+56>>2];e=J[j+60>>2];h=J[j+48>>2];i=J[j+52>>2];break a}if((m|0)==65535|m>>>0<65535){while(1){b=i>>>31|0;o=o-1|0;p=i<<1|h>>>31;h=h<<1;i=p;c=b;b=m<<1|n>>>31;n=c|n<<1;m=b;if(b>>>0<65536){continue}break}}b=s&32768;if((o|0)<=0){$k(j- -64|0,h,i,n,m&65535|(b|o+120)<<16,0,0,0,1065811968);d=J[j+72>>2];e=J[j+76>>2];h=J[j+64>>2];i=J[j+68>>2];break a}d=n;e=m&65535|(b|o)<<16}J[a>>2]=h;J[a+4>>2]=i;J[a+8>>2]=d;J[a+12>>2]=e;fa=j+128|0}function Si(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;f=fa+-64|0;fa=f;a:{b:{c:{d:{e:{f:{if(!b){break f}e=xk(c);if(e>>>0>=2147483632){break e}g:{h:{if(e>>>0>=11){a=(e|15)+1|0;g=pl(a);J[f+56>>2]=a|-2147483648;J[f+48>>2]=g;a=e+g|0;break h}H[f+59|0]=e;g=f+48|0;a=e+g|0;if(!e){break g}}nk(g,c,e)}H[a|0]=0;e=xk(d);if(e>>>0>=2147483632){break d}i:{j:{if(e>>>0>=11){a=(e|15)+1|0;g=pl(a);J[f+40>>2]=a|-2147483648;J[f+32>>2]=g;a=e+g|0;break j}H[f+43|0]=e;g=f+32|0;a=e+g|0;if(!e){break i}}nk(g,d,e)}H[a|0]=0;e=xk(c);if(e>>>0>=2147483632){break c}k:{l:{if(e>>>0>=11){a=(e|15)+1|0;g=pl(a);J[f+24>>2]=a|-2147483648;J[f+16>>2]=g;J[f+20>>2]=e;a=e+g|0;break l}H[f+27|0]=e;g=f+16|0;a=e+g|0;if(!e){break k}}nk(g,c,e)}H[a|0]=0;c=xk(d);if(c>>>0>=2147483632){break b}m:{n:{if(c>>>0>=11){e=(c|15)+1|0;a=pl(e);J[f+8>>2]=e|-2147483648;J[f>>2]=a;J[f+4>>2]=c;g=a+c|0;break n}H[f+11|0]=c;g=c+f|0;a=f;if(!c){break m}}nk(a,d,c)}H[g|0]=0;e=fa-48|0;fa=e;d=cc(b,f+16|0);if((d|0)!=(b+4|0)){a=J[d+4>>2];o:{if(!a){a=d;while(1){c=J[a+8>>2];g=J[c>>2]!=(a|0);a=c;if(g){continue}break}break o}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((d|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;$j(J[b+4>>2],d);a=J[d+28>>2];if(a){J[d+32>>2]=a;hl(a)}if(H[d+27|0]<0){hl(J[d+16>>2])}hl(d)}g=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;c=K[f+11|0];d=c<<24>>24;p:{q:{h=J[f+4>>2];a=(d|0)<0?h:c;if(a){if((a|0)<0){break q}c=a;g=pl(a);a=pk(g,0,a);c=c+a|0;J[e+8>>2]=c;J[e+4>>2]=c;J[e>>2]=a;h=J[f+4>>2];c=K[f+11|0];d=c}a=d<<24>>24<0;nk(g,a?J[f>>2]:f,a?h:c);break p}Ia();C()}r:{if(H[f+27|0]>=0){J[e+24>>2]=J[f+24>>2];a=J[f+20>>2];J[e+16>>2]=J[f+16>>2];J[e+20>>2]=a;break r}tl(e+16|0,J[f+16>>2],J[f+20>>2])}Zj(e+28|0,e);a=e+16|0;ak(e+40|0,b,a,a);a=J[e+28>>2];if(a){J[e+32>>2]=a;hl(a)}if(H[e+27|0]<0){hl(J[e+16>>2])}a=J[e>>2];if(a){J[e+4>>2]=a;hl(a)}fa=e+48|0;if(H[f+11|0]<0){hl(J[f>>2])}if(H[f+27|0]<0){hl(J[f+16>>2])}if(H[f+43|0]<0){hl(J[f+32>>2])}if(H[f+59|0]>=0){break f}hl(J[f+48>>2])}fa=f- -64|0;a=(b|0)!=0;break a}xe();C()}xe();C()}xe();C()}xe();C()}return a|0}function Lj(a,b){var c=0,d=0,e=0,f=0;f=fa-16|0;fa=f;e=pl(32);J[f>>2]=e;J[f+4>>2]=30;J[f+8>>2]=-2147483616;c=K[1240]|K[1241]<<8|(K[1242]<<16|K[1243]<<24);d=K[1236]|K[1237]<<8|(K[1238]<<16|K[1239]<<24);H[e+22|0]=d;H[e+23|0]=d>>>8;H[e+24|0]=d>>>16;H[e+25|0]=d>>>24;H[e+26|0]=c;H[e+27|0]=c>>>8;H[e+28|0]=c>>>16;H[e+29|0]=c>>>24;c=K[1234]|K[1235]<<8|(K[1236]<<16|K[1237]<<24);d=K[1230]|K[1231]<<8|(K[1232]<<16|K[1233]<<24);H[e+16|0]=d;H[e+17|0]=d>>>8;H[e+18|0]=d>>>16;H[e+19|0]=d>>>24;H[e+20|0]=c;H[e+21|0]=c>>>8;H[e+22|0]=c>>>16;H[e+23|0]=c>>>24;c=K[1226]|K[1227]<<8|(K[1228]<<16|K[1229]<<24);d=K[1222]|K[1223]<<8|(K[1224]<<16|K[1225]<<24);H[e+8|0]=d;H[e+9|0]=d>>>8;H[e+10|0]=d>>>16;H[e+11|0]=d>>>24;H[e+12|0]=c;H[e+13|0]=c>>>8;H[e+14|0]=c>>>16;H[e+15|0]=c>>>24;c=K[1218]|K[1219]<<8|(K[1220]<<16|K[1221]<<24);d=K[1214]|K[1215]<<8|(K[1216]<<16|K[1217]<<24);H[e|0]=d;H[e+1|0]=d>>>8;H[e+2|0]=d>>>16;H[e+3|0]=d>>>24;H[e+4|0]=c;H[e+5|0]=c>>>8;H[e+6|0]=c>>>16;H[e+7|0]=c>>>24;H[e+30|0]=0;e=a+4|0;ni(e,f,b);if(H[f+11|0]<0){hl(J[f>>2])}a=pl(32);J[f>>2]=a;J[f+4>>2]=29;J[f+8>>2]=-2147483616;c=K[1308]|K[1309]<<8|(K[1310]<<16|K[1311]<<24);d=K[1304]|K[1305]<<8|(K[1306]<<16|K[1307]<<24);H[a+21|0]=d;H[a+22|0]=d>>>8;H[a+23|0]=d>>>16;H[a+24|0]=d>>>24;H[a+25|0]=c;H[a+26|0]=c>>>8;H[a+27|0]=c>>>16;H[a+28|0]=c>>>24;c=K[1303]|K[1304]<<8|(K[1305]<<16|K[1306]<<24);d=K[1299]|K[1300]<<8|(K[1301]<<16|K[1302]<<24);H[a+16|0]=d;H[a+17|0]=d>>>8;H[a+18|0]=d>>>16;H[a+19|0]=d>>>24;H[a+20|0]=c;H[a+21|0]=c>>>8;H[a+22|0]=c>>>16;H[a+23|0]=c>>>24;c=K[1295]|K[1296]<<8|(K[1297]<<16|K[1298]<<24);d=K[1291]|K[1292]<<8|(K[1293]<<16|K[1294]<<24);H[a+8|0]=d;H[a+9|0]=d>>>8;H[a+10|0]=d>>>16;H[a+11|0]=d>>>24;H[a+12|0]=c;H[a+13|0]=c>>>8;H[a+14|0]=c>>>16;H[a+15|0]=c>>>24;c=K[1287]|K[1288]<<8|(K[1289]<<16|K[1290]<<24);d=K[1283]|K[1284]<<8|(K[1285]<<16|K[1286]<<24);H[a|0]=d;H[a+1|0]=d>>>8;H[a+2|0]=d>>>16;H[a+3|0]=d>>>24;H[a+4|0]=c;H[a+5|0]=c>>>8;H[a+6|0]=c>>>16;H[a+7|0]=c>>>24;H[a+29|0]=0;ni(e,f,b);if(H[f+11|0]<0){hl(J[f>>2])}fa=f+16|0}function _j(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,n=0;j=fa-32|0;fa=j;J[a+4>>2]=0;J[a+8>>2]=0;c=a+16|0;J[c>>2]=0;J[c+4>>2]=0;i=a+4|0;J[a>>2]=i;J[a+12>>2]=c;f=J[b>>2];k=b+4|0;if((f|0)!=(k|0)){while(1){g=fa-16|0;fa=g;c=f+16|0;h=Ye(a,i,g+12|0,g+8|0,c);d=J[h>>2];if(d){c=0}else{d=pl(40);e=d+16|0;a:{if(H[c+11|0]>=0){l=J[c+4>>2];J[e>>2]=J[c>>2];J[e+4>>2]=l;J[e+8>>2]=J[c+8>>2];break a}tl(e,J[c>>2],J[c+4>>2])}Zj(d+28|0,c+12|0);J[d+8>>2]=J[g+12>>2];J[d>>2]=0;J[d+4>>2]=0;J[h>>2]=d;c=d;e=J[J[a>>2]>>2];if(e){J[a>>2]=e;c=J[h>>2]}We(J[a+4>>2],c);J[a+8>>2]=J[a+8>>2]+1;c=1}H[j+28|0]=c;J[j+24>>2]=d;fa=g+16|0;c=J[f+4>>2];b:{if(c){while(1){f=c;c=J[c>>2];if(c){continue}break b}}while(1){c=f;f=J[f+8>>2];if((c|0)!=J[f>>2]){continue}break}}if((f|0)!=(k|0)){continue}break}}f=J[b+12>>2];l=b+16|0;if((f|0)!=(l|0)){g=a+12|0;while(1){m=pl(24);_j(m,J[f+28>>2]);b=f+16|0;J[j+16>>2]=b;c:{d:{c=J[g+4>>2];e:{if(!c){d=g+4|0;b=d;break e}d=K[b+11|0];e=d<<24>>24<0;h=e?J[b>>2]:b;e=e?J[b+4>>2]:d;while(1){b=c;i=K[c+27|0];d=i<<24>>24<0;c=d?J[c+20>>2]:i;i=c>>>0>>0;f:{g:{h:{i:{k=i?c:e;j:{if(k){d=d?J[b+16>>2]:b+16|0;n=tk(h,d,k);if(!n){if(c>>>0>e>>>0){break j}break i}if((n|0)>=0){break i}break j}if(c>>>0<=e>>>0){break h}}d=b;c=J[b>>2];if(c){continue}break e}c=tk(d,h,k);if(c){break g}}if(i){break f}break d}if((c|0)>=0){break d}}c=J[b+4>>2];if(c){continue}break}d=b+4|0}c=pl(32);h=c+16|0;e=J[j+16>>2];k:{if(H[e+11|0]>=0){i=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=i;J[h+8>>2]=J[e+8>>2];break k}tl(h,J[e>>2],J[e+4>>2])}J[c+8>>2]=b;J[c>>2]=0;J[c+4>>2]=0;J[c+28>>2]=0;J[d>>2]=c;b=c;e=J[J[g>>2]>>2];if(e){J[g>>2]=e;b=J[d>>2]}We(J[g+4>>2],b);J[g+8>>2]=J[g+8>>2]+1;b=1;break c}c=b;b=0}H[j+28|0]=b;J[j+24>>2]=c;c=J[j+24>>2];b=J[c+28>>2];J[c+28>>2]=m;if(b){Li(b+12|0,J[b+16>>2]);Mi(b,J[b+4>>2]);hl(b)}c=J[f+4>>2];l:{if(c){while(1){f=c;c=J[c>>2];if(c){continue}break l}}while(1){b=f;f=J[f+8>>2];if((b|0)!=J[f>>2]){continue}break}}if((f|0)!=(l|0)){continue}break}}fa=j+32|0;return a}function Hd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;J[a+8>>2]=e;m=a+32|0;g=J[m>>2];f=J[a+36>>2]-g>>2;a:{if(f>>>0>>0){La(m,e-f|0);break a}if(e>>>0>=f>>>0){break a}J[a+36>>2]=g+(e<<2)}b:{if(!d){break b}g=J[b>>2];c:{if((d|0)<2){i=g;break c}f=1;i=d-1|0;q=i&1;d:{if((d|0)==2){i=g;break d}o=i&-2;i=g;while(1){j=(f<<2)+b|0;k=J[j+4>>2];j=J[j>>2];l=(j|0)<(i|0);i=l?j:i;p=(i|0)>(k|0);i=p?k:i;g=l?g:(g|0)<(j|0)?j:g;g=p?g:(g|0)<(k|0)?k:g;f=f+2|0;h=h+2|0;if((o|0)!=(h|0)){continue}break}}if(!q){break c}f=J[(f<<2)+b>>2];h=(f|0)<(i|0);i=h?f:i;g=h?g:(f|0)>(g|0)?f:g}J[a+16>>2]=g;J[a+12>>2]=i;f=g-i|0;g=(g>>31)-((i>>31)+(g>>>0>>0)|0)|0;if(!g&f>>>0>2147483646|g){break b}f=f+1|0;J[a+20>>2]=f;g=f>>>1|0;J[a+24>>2]=g;J[a+28>>2]=0-g;if(f&1){break b}J[a+24>>2]=g-1}k=d-e|0;g=J[a+8>>2];if(!((k|0)<=0|(g|0)<=0)){p=0-e<<2;while(1){if((g|0)>0){d=k<<2;q=d+c|0;o=b+d|0;h=o+p|0;d=J[m>>2];i=0;while(1){f=d;if((g|0)>0){f=J[m>>2];g=0;while(1){j=g<<2;l=J[j+h>>2];n=J[a+16>>2];e:{if((l|0)>(n|0)){J[f+j>>2]=n;break e}j=f+j|0;n=J[a+12>>2];if((n|0)>(l|0)){J[j>>2]=n;break e}J[j>>2]=l}g=g+1|0;if((g|0)>2]){continue}break}}h=i<<2;g=h+q|0;h=J[h+o>>2]-J[f+h>>2]|0;J[g>>2]=h;f:{if((h|0)>2]){h=h+J[a+20>>2]|0}else{if((h|0)<=J[a+24>>2]){break f}h=h-J[a+20>>2]|0}J[g>>2]=h}h=f;g=J[a+8>>2];i=i+1|0;if((g|0)>(i|0)){continue}break}}k=k-e|0;if((k|0)>0){continue}break}}i=0;d=e>>>0>1073741823?-1:e<<2;d=pk(pl(d),0,d);if((g|0)>0){e=J[a+32>>2];h=d;while(1){f=e;if((g|0)>0){f=J[m>>2];g=0;while(1){k=g<<2;j=J[k+h>>2];l=J[a+16>>2];g:{if((j|0)>(l|0)){J[f+k>>2]=l;break g}k=f+k|0;l=J[a+12>>2];if((l|0)>(j|0)){J[k>>2]=l;break g}J[k>>2]=j}g=g+1|0;if((g|0)>2]){continue}break}}h=i<<2;g=h+c|0;h=J[b+h>>2]-J[f+h>>2]|0;J[g>>2]=h;h:{if((h|0)>2]){h=h+J[a+20>>2]|0}else{if((h|0)<=J[a+24>>2]){break h}h=h-J[a+20>>2]|0}J[g>>2]=h}h=f;g=J[a+8>>2];i=i+1|0;if((g|0)>(i|0)){continue}break}}hl(d);return 1}function pb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=fa+-64|0;fa=d;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+48>>2]=1065353216;e=J[a+80>>2];J[d+24>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;a:{if(e){if(e>>>0>=1073741824){break a}c=e<<2;e=pl(c);J[d+16>>2]=e;g=c+e|0;J[d+24>>2]=g;pk(e,0,c);J[d+20>>2]=g;while(1){c=J[J[b>>2]>>2];g=J[b+48>>2];h=em(J[b+40>>2],J[b+44>>2],f,0);g=g+h|0;c=c+g|0;c=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[d+28>>2]=c;J[d+12>>2]=k;J[d+8>>2]=c;c=d+8|0;qb(d+56|0,d+32|0,c,c);b:{if(!K[d+60|0]){J[(f<<2)+e>>2]=J[J[d+56>>2]+12>>2];break b}e=J[a+40>>2];nk(J[J[a>>2]>>2]+P(e,k)|0,d+28|0,e);e=J[d+16>>2];J[e+(f<<2)>>2]=k;k=k+1|0}f=f+1|0;i=f?i:i+1|0;c=J[a+80>>2];if(!i&f>>>0>>0){continue}break}if((c|0)!=(k|0)){c:{if(!K[a+84|0]){b=J[a+72>>2];f=J[a+68>>2];if((b|0)==(f|0)){break c}b=b-f>>2;c=b>>>0<=1?1:b;h=c&3;i=0;b=0;if(c-1>>>0>=3){l=c&-4;g=0;while(1){c=b<<2;j=c+f|0;J[j>>2]=J[(J[j>>2]<<2)+e>>2];j=f+(c|4)|0;J[j>>2]=J[(J[j>>2]<<2)+e>>2];j=f+(c|8)|0;J[j>>2]=J[(J[j>>2]<<2)+e>>2];c=f+(c|12)|0;J[c>>2]=J[(J[c>>2]<<2)+e>>2];b=b+4|0;g=g+4|0;if((l|0)!=(g|0)){continue}break}}if(!h){break c}while(1){c=f+(b<<2)|0;J[c>>2]=J[(J[c>>2]<<2)+e>>2];b=b+1|0;i=i+1|0;if((h|0)!=(i|0)){continue}break}break c}H[a+84|0]=0;b=a+68|0;i=J[a+68>>2];f=J[a+72>>2]-i>>2;d:{if(f>>>0>>0){rb(b,c-f|0,2184);c=J[a+80>>2];break d}if(c>>>0>=f>>>0){break d}J[a+72>>2]=i+(c<<2)}if(!c){break c}f=J[b>>2];i=0;b=0;if(c>>>0>=4){l=c&-4;g=0;while(1){h=b<<2;J[h+f>>2]=J[e+h>>2];j=h|4;J[j+f>>2]=J[e+j>>2];j=h|8;J[j+f>>2]=J[e+j>>2];h=h|12;J[h+f>>2]=J[e+h>>2];b=b+4|0;g=g+4|0;if((l|0)!=(g|0)){continue}break}}c=c&3;if(!c){break c}while(1){g=b<<2;J[g+f>>2]=J[e+g>>2];b=b+1|0;i=i+1|0;if((c|0)!=(i|0)){continue}break}}J[a+80>>2]=k}hl(e)}b=J[d+40>>2];if(b){while(1){a=J[b>>2];hl(b);b=a;if(b){continue}break}}a=J[d+32>>2];J[d+32>>2]=0;if(a){hl(a)}fa=d- -64|0;return k}Ia();C()}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=fa-16|0;fa=f;J[a+4>>2]=b;J[a+8>>2]=J[b+56>>2];J[a+188>>2]=J[a+184>>2];e=J[b+48>>2];c=pl(32);H[c+19|0]=0;b=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[c+15|0]=b;H[c+16|0]=b>>>8;H[c+17|0]=b>>>16;H[c+18|0]=b>>>24;b=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;H[c+12|0]=b;H[c+13|0]=b>>>8;H[c+14|0]=b>>>16;H[c+15|0]=b>>>24;b=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=b;H[c+5|0]=b>>>8;H[c+6|0]=b>>>16;H[c+7|0]=b>>>24;a:{b:{b=J[e+4>>2];if(b){while(1){d=K[b+27|0];e=d<<24>>24<0;d=e?J[b+20>>2]:d;h=d>>>0<19;c:{d:{e:{f:{g:{h:{g=h?d:19;if(g){e=e?J[b+16>>2]:b+16|0;i=tk(c,e,g);if(i){break h}if(d>>>0<=19){break g}break c}if(d>>>0<=19){break f}break c}if((i|0)<0){break c}}d=tk(e,c,g);if(d){break e}}if(h){break d}break b}if((d|0)>=0){break b}}b=b+4|0}b=J[b>>2];if(b){continue}break}}hl(c);if((Pb(J[J[a+4>>2]+48>>2])|0)>=6){H[a+352|0]=1;break a}H[a+352|0]=0;break a}hl(c);e=J[J[a+4>>2]+48>>2];b=pl(32);J[f>>2]=b;J[f+4>>2]=19;J[f+8>>2]=-2147483616;c=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;j=a,k=si(e,f,0),H[j+352|0]=k;if(H[f+11|0]>=0){break a}hl(J[f>>2])}fa=f+16|0;return 1}function Eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=fa-16|0;fa=f;J[a+4>>2]=b;J[a+8>>2]=J[b+56>>2];J[a+188>>2]=J[a+184>>2];e=J[b+48>>2];c=pl(32);H[c+19|0]=0;b=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[c+15|0]=b;H[c+16|0]=b>>>8;H[c+17|0]=b>>>16;H[c+18|0]=b>>>24;b=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[c+8|0]=d;H[c+9|0]=d>>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;H[c+12|0]=b;H[c+13|0]=b>>>8;H[c+14|0]=b>>>16;H[c+15|0]=b>>>24;b=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;H[c+4|0]=b;H[c+5|0]=b>>>8;H[c+6|0]=b>>>16;H[c+7|0]=b>>>24;a:{b:{b=J[e+4>>2];if(b){while(1){d=K[b+27|0];e=d<<24>>24<0;d=e?J[b+20>>2]:d;h=d>>>0<19;c:{d:{e:{f:{g:{h:{g=h?d:19;if(g){e=e?J[b+16>>2]:b+16|0;i=tk(c,e,g);if(i){break h}if(d>>>0<=19){break g}break c}if(d>>>0<=19){break f}break c}if((i|0)<0){break c}}d=tk(e,c,g);if(d){break e}}if(h){break d}break b}if((d|0)>=0){break b}}b=b+4|0}b=J[b>>2];if(b){continue}break}}hl(c);if((Pb(J[J[a+4>>2]+48>>2])|0)>=6){H[a+288|0]=1;break a}H[a+288|0]=0;break a}hl(c);e=J[J[a+4>>2]+48>>2];b=pl(32);J[f>>2]=b;J[f+4>>2]=19;J[f+8>>2]=-2147483616;c=K[1278]|K[1279]<<8|(K[1280]<<16|K[1281]<<24);H[b+15|0]=c;H[b+16|0]=c>>>8;H[b+17|0]=c>>>16;H[b+18|0]=c>>>24;c=K[1275]|K[1276]<<8|(K[1277]<<16|K[1278]<<24);d=K[1271]|K[1272]<<8|(K[1273]<<16|K[1274]<<24);H[b+8|0]=d;H[b+9|0]=d>>>8;H[b+10|0]=d>>>16;H[b+11|0]=d>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1267]|K[1268]<<8|(K[1269]<<16|K[1270]<<24);d=K[1263]|K[1264]<<8|(K[1265]<<16|K[1266]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+19|0]=0;j=a,k=si(e,f,0),H[j+288|0]=k;if(H[f+11|0]>=0){break a}hl(J[f>>2])}fa=f+16|0;return 1}function $c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=fa-32|0;fa=c;d=a- -64|0;yb(J[d>>2],b);if(J[d>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+64>>2];if((d|0)>0){while(1){f=d-1|0;De(c,J[J[a+60>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d>>>0>1;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+76>>2],b);if(J[a+76>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+76>>2];if((d|0)>=2){while(1){f=d-2|0;De(c,J[J[a+72>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-1|0;De(c,J[J[a+72>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>3;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+88>>2],b);if(J[a+88>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+88>>2];if((d|0)>=3){while(1){f=d-3|0;De(c,J[J[a+84>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-2|0;De(c,J[J[a+84>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;De(c,J[J[a+84>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>5;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+100>>2],b);if(J[a+100>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+100>>2];if((d|0)>=4){while(1){f=d-4|0;De(c,J[J[a+96>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-3|0;De(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-2|0;De(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;De(c,J[J[a+96>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>7;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}J[c>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}f=c+4|0;Ba(b,J[b+4>>2],c,f);d=J[b+20>>2];e=J[b+16>>2];J[c>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c,f)}fa=c+32|0;return 1} +function Td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=fa-32|0;fa=c;yb(J[a+48>>2],b);if(J[a+48>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+48>>2];if((d|0)>0){while(1){f=d-1|0;De(c,J[J[a+44>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d>>>0>1;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+60>>2],b);if(J[a+60>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+60>>2];if((d|0)>=2){while(1){f=d-2|0;De(c,J[J[a+56>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-1|0;De(c,J[J[a+56>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>3;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+72>>2],b);if(J[a+72>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+72>>2];if((d|0)>=3){while(1){f=d-3|0;De(c,J[J[a+68>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-2|0;De(c,J[J[a+68>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;De(c,J[J[a+68>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>5;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}yb(J[a+84>>2],b);if(J[a+84>>2]){J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);d=J[a+84>>2];if((d|0)>=4){while(1){f=d-4|0;De(c,J[J[a+80>>2]+(f>>>3&536870908)>>2]>>>f&1);e=d-3|0;De(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-2|0;De(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d-1|0;De(c,J[J[a+80>>2]+(e>>>3&536870908)>>2]>>>e&1);e=d>>>0>7;d=f;if(e){continue}break}}Ee(c,b);Ae(c)}J[c>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}f=c+4|0;Ba(b,J[b+4>>2],c,f);d=J[b+20>>2];e=J[b+16>>2];J[c>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c,f)}fa=c+32|0;return 1}function fe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=fa-32|0;fa=d;o=e<<2;f=e>>>0>1073741823?-1:o;l=pk(pl(f),0,f);f=J[a+40>>2];f=J[f+4>>2]-J[f>>2]|0;if((f|0)>=5){q=J[a+36>>2];p=J[a+32>>2];r=e&-2;s=e&1;t=a+8|0;f=f>>>2|0;while(1){j=J[a+40>>2];g=J[j>>2];a:{b:{h=J[j+4>>2]-g>>2;j=f-1|0;if(h>>>0>j>>>0){u=P(e,j);g=J[g+(j<<2)>>2];if((g|0)==-1){break b}g=J[J[p+12>>2]+(g<<2)>>2];if((g|0)==-1){break b}k=J[q>>2];h=J[p>>2];m=J[k+(J[h+(g<<2)>>2]<<2)>>2];i=g+1|0;i=(i>>>0)%3|0?i:g-2|0;if((i|0)!=-1){i=J[h+(i<<2)>>2]}else{i=-1}c:{d:{if((g>>>0)%3|0){g=g-1|0;break d}g=g+2|0;n=-1;if((g|0)==-1){break c}}n=J[h+(g<<2)>>2]}if((j|0)<=(m|0)){break b}g=J[(i<<2)+k>>2];if((g|0)>=(j|0)){break b}h=J[k+(n<<2)>>2];if((h|0)>=(j|0)){break b}e:{if((e|0)<=0){break e}h=P(e,h);k=P(e,g);m=P(e,m);g=0;n=0;if((e|0)!=1){while(1){J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2];i=g|1;J[(i<<2)+l>>2]=(J[(h+i<<2)+b>>2]+J[(i+k<<2)+b>>2]|0)-J[(i+m<<2)+b>>2];g=g+2|0;n=n+2|0;if((r|0)!=(n|0)){continue}break}}if(!s){break e}J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2]}g=J[l>>2];h=J[l+4>>2];break a}Xc();C()}h=(P(f-2|0,e)<<2)+b|0;g=J[h>>2];h=J[h+4>>2]}k=u<<2;m=k+b|0;i=J[m+4>>2];J[d+16>>2]=J[m>>2];J[d+20>>2]=i;J[d+8>>2]=g;J[d+12>>2]=h;Qd(d+24|0,t,d+16|0,d+8|0);g=c+k|0;J[g>>2]=J[d+24>>2];J[g+4>>2]=J[d+28>>2];g=(f|0)>2;f=j;if(g){continue}break}}if((e|0)>0){pk(l,0,o)}e=J[l>>2];f=J[l+4>>2];g=J[b+4>>2];J[d+16>>2]=J[b>>2];J[d+20>>2]=g;J[d+8>>2]=e;J[d+12>>2]=f;Qd(d+24|0,a+8|0,d+16|0,d+8|0);J[c>>2]=J[d+24>>2];J[c+4>>2]=J[d+28>>2];hl(l);fa=d+32|0;return 1}function Zg(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=J[a>>2];n=b-k|0;h=(n&-4)+k|0;i=d-c|0;if((i|0)<=0){return}a:{l=i>>2;g=J[a+8>>2];j=J[a+4>>2];if((l|0)<=g-j>>2){f=j-h|0;g=f>>2;if((g|0)>=(l|0)){b=j;g=d;break a}b=j;g=(g<<2)+c|0;if((g|0)!=(d|0)){e=g;while(1){J[b>>2]=J[e>>2];b=b+4|0;e=e+4|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=b;if((f|0)>0){break a}return}b:{f=l+(j-k>>2)|0;if(f>>>0<1073741824){e=g-k|0;g=e>>>1|0;m=e>>>0>=2147483644?1073741823:f>>>0>>0?g:f;if(m){if(m>>>0>=1073741824){break b}g=pl(m<<2)}else{g=0}e=g+(n&-4)|0;f=e;if((c|0)!=(d|0)){f=nk(e,c,i&-4)+(l<<2)|0}c:{if((b|0)==(k|0)){break c}i=n-4|0;d=(i>>>2|0)+1&3;d:{if(!d){b=h;break d}c=0;b=h;while(1){e=e-4|0;b=b-4|0;J[e>>2]=J[b>>2];c=c+1|0;if((d|0)!=(c|0)){continue}break}}if(i>>>0<12){break c}while(1){J[e-4>>2]=J[b-4>>2];J[e-8>>2]=J[b-8>>2];J[e-12>>2]=J[b-12>>2];e=e-16|0;b=b-16|0;J[e>>2]=J[b>>2];if((b|0)!=(k|0)){continue}break}}if((h|0)!=(j|0)){while(1){J[f>>2]=J[h>>2];f=f+4|0;h=h+4|0;if((j|0)!=(h|0)){continue}break}}J[a+8>>2]=(m<<2)+g;J[a+4>>2]=f;J[a>>2]=e;if(k){hl(k)}return}Ia();C()}Ya();C()}d=l<<2;i=d+h|0;f=b;e=b-d|0;if(j>>>0>e>>>0){d=e;while(1){J[f>>2]=J[d>>2];f=f+4|0;d=d+4|0;if(j>>>0>d>>>0){continue}break}}J[a+4>>2]=f;e:{if((b|0)==(i|0)){break e}d=(b-i|0)-4|0;a=(d>>>2|0)+1&3;if(a){f=0;while(1){b=b-4|0;e=e-4|0;J[b>>2]=J[e>>2];f=f+1|0;if((a|0)!=(f|0)){continue}break}}if(d>>>0<12){break e}while(1){J[b-4>>2]=J[e-4>>2];J[b-8>>2]=J[e-8>>2];J[b-12>>2]=J[e-12>>2];b=b-16|0;e=e-16|0;J[b>>2]=J[e>>2];if((e|0)!=(h|0)){continue}break}}if((c|0)==(g|0)){return}b=h;while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((g|0)!=(c|0)){continue}break}}function fk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=fa-16|0;fa=k;J[k+8>>2]=c;h=J[a+12>>2];d=J[a+8>>2];g=h-d>>2;a:{if((g|0)>(b|0)){break a}e=b+1|0;if(e>>>0>g>>>0){l=e-g|0;f=J[a+16>>2];d=J[a+12>>2];if(l>>>0<=f-d>>2>>>0){if(l){e=d;d=l<<2;d=pk(e,0,d)+d|0}J[a+12>>2]=d;break a}b:{c:{d:{m=J[a+8>>2];g=d-m>>2;i=g+l|0;if(i>>>0<1073741824){e=f-m|0;f=e>>>1|0;e=e>>>0>=2147483644?1073741823:f>>>0>i>>>0?f:i;if(e){if(e>>>0>=1073741824){break d}j=pl(e<<2)}h=(g<<2)+j|0;f=l<<2;i=pk(h,0,f);g=f+i|0;e=(e<<2)+j|0;if((d|0)==(m|0)){break c}while(1){d=d-4|0;f=J[d>>2];J[d>>2]=0;h=h-4|0;J[h>>2]=f;if((d|0)!=(m|0)){continue}break}J[a+16>>2]=e;e=J[a+12>>2];J[a+12>>2]=g;d=J[a+8>>2];J[a+8>>2]=h;if((d|0)==(e|0)){break b}while(1){e=e-4|0;f=J[e>>2];J[e>>2]=0;if(f){Kb(f)}if((d|0)!=(e|0)){continue}break}break b}Ia();C()}Ya();C()}J[a+16>>2]=e;J[a+12>>2]=g;J[a+8>>2]=i}if(d){hl(d)}break a}if(e>>>0>=g>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(h|0)){while(1){h=h-4|0;c=J[h>>2];J[h>>2]=0;if(c){Kb(c)}if((d|0)!=(h|0)){continue}break}c=J[k+8>>2]}J[a+12>>2]=d}e:{f:{d=J[c+56>>2];g:{if((d|0)>4){break g}j=P(d,12)+a|0;d=J[j+24>>2];if((d|0)!=J[j+28>>2]){J[d>>2]=b;J[j+24>>2]=d+4;break g}i=J[j+20>>2];g=d-i|0;f=g>>2;e=f+1|0;if(e>>>0>=1073741824){break f}d=g>>>1|0;e=g>>>0>=2147483644?1073741823:d>>>0>e>>>0?d:e;if(e){if(e>>>0>=1073741824){break e}d=pl(e<<2)}else{d=0}f=d+(f<<2)|0;J[f>>2]=b;d=ok(d,i,g);J[j+20>>2]=d;J[j+24>>2]=f+4;J[j+28>>2]=d+(e<<2);if(!i){break g}hl(i)}J[c+60>>2]=b;a=J[a+8>>2];J[k+8>>2]=0;a=a+(b<<2)|0;b=J[a>>2];J[a>>2]=c;if(b){Kb(b)}a=J[k+8>>2];J[k+8>>2]=0;if(a){Kb(a)}fa=k+16|0;return}Ia();C()}Ya();C()}function qb(a,b,c,d){var e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=Q(0);j=J[c>>2];g=j^318;a:{b:{f=J[b+4>>2];if(!f){break b}h=hm(f);c:{if(h>>>0>=2){e=g;if(e>>>0>=f>>>0){e=(g>>>0)%(f>>>0)|0}c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}if(h>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}h=J[c+4>>2];if((h|0)!=(g|0)){if(f>>>0<=h>>>0){h=(h>>>0)%(f>>>0)|0}if((e|0)!=(h|0)){break b}}if(J[c+8>>2]!=(j|0)){continue}break}b=0;break a}e=f-1&g;c=J[J[b>>2]+(e<<2)>>2];if(!c){break b}}h=f-1|0;while(1){c=J[c>>2];if(!c){break b}k=J[c+4>>2];if((k|0)!=(g|0)&(h&k)!=(e|0)){break b}if(J[c+8>>2]!=(j|0)){continue}break}b=0;break a}c=pl(16);J[c+8>>2]=J[d>>2];d=J[d+4>>2];J[c+4>>2]=g;J[c+12>>2]=d;J[c>>2]=0;i=Q(J[b+12>>2]+1>>>0);l=N[b+16>>2];d:{if(i>Q(l*Q(f>>>0))?0:f){break d}d=2;h=(f-1&f)!=0|f>>>0<3|f<<1;i=Q(W(Q(i/l)));e:{if(i=Q(0)){e=~~i>>>0;break e}e=0}e=e>>>0>>0?h:e;f:{if((e|0)==1){break f}if(!(e&e-1)){d=e;break f}d=dl(e);f=J[b+4>>2]}g:{if(d>>>0<=f>>>0){if(d>>>0>=f>>>0){break g}h=f>>>0<3;i=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(i=Q(0)){e=~~i>>>0;break h}e=0}i:{j:{if(h){break j}if(hm(f)>>>0>1){break j}e=e>>>0<2?e:1<<32-S(e-1|0);break i}e=dl(e)}d=d>>>0>e>>>0?d:e;if(f>>>0<=d>>>0){break g}}sb(b,d)}f=J[b+4>>2];d=f-1|0;if(!(d&f)){e=d&g;break d}if(f>>>0>g>>>0){e=g;break d}e=(g>>>0)%(f>>>0)|0}g=J[b>>2]+(e<<2)|0;d=J[g>>2];k:{l:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[g>>2]=d;d=J[c>>2];if(!d){break k}d=J[d+4>>2];g=f-1|0;m:{if(!(g&f)){d=d&g;break m}if(d>>>0>>0){break m}d=(d>>>0)%(f>>>0)|0}d=J[b>>2]+(d<<2)|0;break l}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function id(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;J[a+8>>2]=e;J[a- -64>>2]=f;o=a+32|0;f=J[o>>2];g=J[a+36>>2]-f>>2;a:{if(g>>>0>>0){La(o,e-g|0);break a}if(e>>>0>=g>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}f=J[b>>2];c:{if((d|0)<2){d=f;break c}h=1;g=d-1|0;n=g&1;d:{if((d|0)==2){d=f;break d}q=g&-2;g=0;d=f;while(1){j=(h<<2)+b|0;k=J[j+4>>2];l=J[j>>2];i=(l|0)<(d|0);d=i?l:d;j=(d|0)>(k|0);d=j?k:d;f=i?f:(f|0)<(l|0)?l:f;f=j?f:(f|0)<(k|0)?k:f;h=h+2|0;g=g+2|0;if((q|0)!=(g|0)){continue}break}}if(!n){break c}h=J[(h<<2)+b>>2];g=(h|0)<(d|0);d=g?h:d;f=g?f:(f|0)<(h|0)?h:f}J[a+16>>2]=f;J[a+12>>2]=d;g=f-d|0;f=(f>>31)-((d>>31)+(d>>>0>f>>>0)|0)|0;d=g;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}r=1;e:{d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)>=4){t=a+60|0;q=a+68|0;n=d>>>2|0;while(1){d=J[a+56>>2];f=J[d>>2];i=n-1|0;if(i>>>0>=J[d+4>>2]-f>>2>>>0){break e}r=jd(t,J[f+(i<<2)>>2],b,i);if(!r){return 0}f=J[a+8>>2];if((f|0)>0){d=P(e,i)<<2;k=d+c|0;l=b+d|0;j=J[o>>2];p=0;g=q;while(1){h=j;if((f|0)>0){h=J[o>>2];f=0;while(1){m=f<<2;s=J[m+g>>2];d=J[a+16>>2];f:{if((s|0)>(d|0)){J[h+m>>2]=d;break f}m=h+m|0;d=J[a+12>>2];if((d|0)>(s|0)){J[m>>2]=d;break f}J[m>>2]=s}f=f+1|0;if((f|0)>2]){continue}break}}f=p<<2;d=f+k|0;f=J[f+l>>2]-J[f+h>>2]|0;J[d>>2]=f;g:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break g}f=f-J[a+20>>2]|0}J[d>>2]=f}g=h;f=J[a+8>>2];p=p+1|0;if((f|0)>(p|0)){continue}break}}d=(n|0)>1;n=i;if(d){continue}break}}return r|0}Xc();C()}function Bd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;J[a+8>>2]=e;J[a- -64>>2]=f;o=a+32|0;f=J[o>>2];g=J[a+36>>2]-f>>2;a:{if(g>>>0>>0){La(o,e-g|0);break a}if(e>>>0>=g>>>0){break a}J[a+36>>2]=f+(e<<2)}b:{if(!d){break b}f=J[b>>2];c:{if((d|0)<2){d=f;break c}h=1;g=d-1|0;n=g&1;d:{if((d|0)==2){d=f;break d}q=g&-2;g=0;d=f;while(1){j=(h<<2)+b|0;k=J[j+4>>2];l=J[j>>2];i=(l|0)<(d|0);d=i?l:d;j=(d|0)>(k|0);d=j?k:d;f=i?f:(f|0)<(l|0)?l:f;f=j?f:(f|0)<(k|0)?k:f;h=h+2|0;g=g+2|0;if((q|0)!=(g|0)){continue}break}}if(!n){break c}h=J[(h<<2)+b>>2];g=(h|0)<(d|0);d=g?h:d;f=g?f:(f|0)<(h|0)?h:f}J[a+16>>2]=f;J[a+12>>2]=d;g=f-d|0;f=(f>>31)-((d>>31)+(d>>>0>f>>>0)|0)|0;d=g;if(!f&d>>>0>2147483646|f){break b}f=d+1|0;J[a+20>>2]=f;d=f>>>1|0;J[a+24>>2]=d;J[a+28>>2]=0-d;if(f&1){break b}J[a+24>>2]=d-1}r=1;e:{d=J[a+56>>2];d=J[d+4>>2]-J[d>>2]|0;if((d|0)>=4){t=a+60|0;q=a+68|0;n=d>>>2|0;while(1){d=J[a+56>>2];f=J[d>>2];i=n-1|0;if(i>>>0>=J[d+4>>2]-f>>2>>>0){break e}r=Cd(t,J[f+(i<<2)>>2],b,i);if(!r){return 0}f=J[a+8>>2];if((f|0)>0){d=P(e,i)<<2;k=d+c|0;l=b+d|0;j=J[o>>2];p=0;g=q;while(1){h=j;if((f|0)>0){h=J[o>>2];f=0;while(1){m=f<<2;s=J[m+g>>2];d=J[a+16>>2];f:{if((s|0)>(d|0)){J[h+m>>2]=d;break f}m=h+m|0;d=J[a+12>>2];if((d|0)>(s|0)){J[m>>2]=d;break f}J[m>>2]=s}f=f+1|0;if((f|0)>2]){continue}break}}f=p<<2;d=f+k|0;f=J[f+l>>2]-J[f+h>>2]|0;J[d>>2]=f;g:{if((f|0)>2]){f=f+J[a+20>>2]|0}else{if((f|0)<=J[a+24>>2]){break g}f=f-J[a+20>>2]|0}J[d>>2]=f}g=h;f=J[a+8>>2];p=p+1|0;if((f|0)>(p|0)){continue}break}}d=(n|0)>1;n=i;if(d){continue}break}}return r|0}Xc();C()}function ch(a,b,c,d){var e=0,f=0,g=0,h=0,i=Q(0),j=0,k=Q(0);h=J[c>>2];a:{b:{e=J[b+4>>2];if(!e){break b}g=hm(e);c:{if(g>>>0>=2){f=h;if(f>>>0>=e>>>0){f=(h>>>0)%(e>>>0)|0}c=J[J[b>>2]+(f<<2)>>2];if(!c){break b}if(g>>>0<=1){break c}while(1){c=J[c>>2];if(!c){break b}g=J[c+4>>2];if((g|0)!=(h|0)){if(e>>>0<=g>>>0){g=(g>>>0)%(e>>>0)|0}if((f|0)!=(g|0)){break b}}if(J[c+8>>2]!=(h|0)){continue}break}b=0;break a}f=e-1&h;c=J[J[b>>2]+(f<<2)>>2];if(!c){break b}}g=e-1|0;while(1){c=J[c>>2];if(!c){break b}j=J[c+4>>2];if((j|0)!=(h|0)&(g&j)!=(f|0)){break b}if(J[c+8>>2]!=(h|0)){continue}break}b=0;break a}c=pl(16);d=J[J[d>>2]>>2];J[c+12>>2]=0;J[c+8>>2]=d;J[c+4>>2]=h;J[c>>2]=0;k=Q(J[b+12>>2]+1>>>0);i=N[b+16>>2];d:{if(k>Q(i*Q(e>>>0))?0:e){break d}f=2;g=(e-1&e)!=0|e>>>0<3|e<<1;i=Q(W(Q(k/i)));e:{if(i=Q(0)){d=~~i>>>0;break e}d=0}d=d>>>0>>0?g:d;f:{if((d|0)==1){break f}if(!(d&d-1)){f=d;break f}f=dl(d);e=J[b+4>>2]}g:{if(e>>>0>=f>>>0){if(e>>>0<=f>>>0){break g}g=e>>>0<3;i=Q(W(Q(Q(M[b+12>>2])/N[b+16>>2])));h:{if(i=Q(0)){d=~~i>>>0;break h}d=0}i:{j:{if(g){break j}if(hm(e)>>>0>1){break j}d=d>>>0<2?d:1<<32-S(d-1|0);break i}d=dl(d)}f=d>>>0>>0?f:d;if(f>>>0>=e>>>0){break g}}sb(b,f)}e=J[b+4>>2];d=e-1|0;if(!(d&e)){f=d&h;break d}if(e>>>0>h>>>0){f=h;break d}f=(h>>>0)%(e>>>0)|0}f=J[b>>2]+(f<<2)|0;d=J[f>>2];k:{l:{if(!d){d=b+8|0;J[c>>2]=J[d>>2];J[b+8>>2]=c;J[f>>2]=d;d=J[c>>2];if(!d){break k}d=J[d+4>>2];f=e-1|0;m:{if(!(f&e)){d=d&f;break m}if(d>>>0>>0){break m}d=(d>>>0)%(e>>>0)|0}d=J[b>>2]+(d<<2)|0;break l}J[c>>2]=J[d>>2]}J[d>>2]=c}J[b+12>>2]=J[b+12>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=c}function Pd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=fa-32|0;fa=d;p=e<<2;f=e>>>0>1073741823?-1:p;l=pk(pl(f),0,f);f=J[a+40>>2];f=J[f+4>>2]-J[f>>2]|0;if((f|0)>=5){q=J[a+36>>2];n=J[a+32>>2];r=e&-2;s=e&1;t=a+8|0;f=f>>>2|0;while(1){j=J[a+40>>2];g=J[j>>2];a:{b:{h=J[j+4>>2]-g>>2;j=f-1|0;if(h>>>0>j>>>0){u=P(e,j);g=J[g+(j<<2)>>2];if((g|0)==-1|J[J[n>>2]+(g>>>3&536870908)>>2]>>>g&1){break b}g=J[J[J[n+64>>2]+12>>2]+(g<<2)>>2];if((g|0)==-1){break b}k=J[q>>2];h=J[n+28>>2];m=J[k+(J[h+(g<<2)>>2]<<2)>>2];if((m|0)>=(j|0)){break b}i=g+1|0;i=J[k+(J[h+(((i>>>0)%3|0?i:g-2|0)<<2)>>2]<<2)>>2];if((i|0)>=(j|0)){break b}g=J[k+(J[h+(g+((g>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((g|0)>=(j|0)){break b}c:{if((e|0)<=0){break c}h=P(e,g);k=P(e,i);m=P(e,m);g=0;o=0;if((e|0)!=1){while(1){J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2];i=g|1;J[(i<<2)+l>>2]=(J[(h+i<<2)+b>>2]+J[(i+k<<2)+b>>2]|0)-J[(i+m<<2)+b>>2];g=g+2|0;o=o+2|0;if((r|0)!=(o|0)){continue}break}}if(!s){break c}J[(g<<2)+l>>2]=(J[(g+h<<2)+b>>2]+J[(g+k<<2)+b>>2]|0)-J[(g+m<<2)+b>>2]}g=J[l>>2];h=J[l+4>>2];break a}Xc();C()}h=(P(f-2|0,e)<<2)+b|0;g=J[h>>2];h=J[h+4>>2]}k=u<<2;m=k+b|0;i=J[m+4>>2];J[d+16>>2]=J[m>>2];J[d+20>>2]=i;J[d+8>>2]=g;J[d+12>>2]=h;Qd(d+24|0,t,d+16|0,d+8|0);g=c+k|0;J[g>>2]=J[d+24>>2];J[g+4>>2]=J[d+28>>2];g=(f|0)>2;f=j;if(g){continue}break}}if((e|0)>0){pk(l,0,p)}e=J[l>>2];f=J[l+4>>2];g=J[b+4>>2];J[d+16>>2]=J[b>>2];J[d+20>>2]=g;J[d+8>>2]=e;J[d+12>>2]=f;Qd(d+24|0,a+8|0,d+16|0,d+8|0);J[c>>2]=J[d+24>>2];J[c+4>>2]=J[d+28>>2];hl(l);fa=d+32|0;return 1}function Ee(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,n=0,o=0,p=0,q=0;g=fa-32|0;fa=g;e=J[a>>2];d=J[e>>2];c=J[e+4>>2];k=+(d>>>0)+ +(c>>>0)*4294967296;c=J[e+12>>2]+c|0;i=d;d=J[e+8>>2];e=i+d|0;c=e>>>0>>0?c+1|0:c;i=e;e=!(c|e);k=k/(+((e?1:i)>>>0)+ +((e?0:c)>>>0)*4294967296)*256+.5;a:{if(k<4294967296&k>=0){c=~~k>>>0;break a}c=0}c=c>>>0>=255?255:c;l=!c+c|0;H[g+23|0]=l;j=J[a+16>>2];p=J[a+12>>2];J[g+16>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;b:{c:{c=(j-p<<1)- -64|0;if(c){if((c|0)<0){break c}h=pl(c);pk(h,0,c)}c=J[a+28>>2]-1|0;if((c|0)<0){d=4096;break b}m=0-l|0;q=m&255;i=J[a+24>>2];d=4096;while(1){n=i&1<>>0<=d>>>0){H[f+h|0]=d;f=f+1|0;d=d>>>8|0}o=(e<<3)+12784|0;em(J[o>>2],0,d,0);d=((n?0:q)+d|0)+P(256-e|0,ja+d>>>J[o+4>>2]|0)|0;c=c-1|0;if((c|0)>=0){continue}break}break b}Ia();C()}if((j|0)!=(p|0)){m=0-l|0;q=m&255;while(1){j=j-4|0;i=J[j>>2];c=31;while(1){e=c;n=i&1<>>0<=d>>>0){H[f+h|0]=d;f=f+1|0;d=d>>>8|0}o=(c<<3)+12784|0;em(J[o>>2],0,d,0);d=((n?0:q)+d|0)+P(256-c|0,ja+d>>>J[o+4>>2]|0)|0;c=e-1|0;if(e){continue}break}if((j|0)!=(p|0)){continue}break}}c=d-4096|0;d:{if(c>>>0<=63){H[f+h|0]=d;f=f+1|0;break d}if(c>>>0<=16383){c=f+h|0;H[c|0]=d;H[c+1|0]=d+12288>>>8;f=f+2|0;break d}if(c>>>0>4194303){break d}c=f+h|0;H[c|0]=d;e=d+8384512|0;H[c+2|0]=e>>>16;H[c+1|0]=e>>>8;f=f+3|0}c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],g+23|0,g+24|0)}yb(f,b);c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],h,f+h|0)}J[g+24>>2]=0;J[g+28>>2]=0;Be(a,g+24|0);J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=J[a+12>>2];if(h){hl(h)}fa=g+32|0}function Fe(a){var b=0,c=0,d=0,e=0;d=fa-16|0;fa=d;J[a+4>>2]=0;J[a+8>>2]=0;c=a+16|0;b=c;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;b=a+28|0;J[b>>2]=0;J[b+4>>2]=0;J[a+12>>2]=c;J[a+24>>2]=b;b=pl(32);J[d>>2]=b;J[d+4>>2]=20;J[d+8>>2]=-2147483616;c=K[1359]|K[1360]<<8|(K[1361]<<16|K[1362]<<24);H[b+16|0]=c;H[b+17|0]=c>>>8;H[b+18|0]=c>>>16;H[b+19|0]=c>>>24;c=K[1355]|K[1356]<<8|(K[1357]<<16|K[1358]<<24);e=K[1351]|K[1352]<<8|(K[1353]<<16|K[1354]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1347]|K[1348]<<8|(K[1349]<<16|K[1350]<<24);e=K[1343]|K[1344]<<8|(K[1345]<<16|K[1346]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+20|0]=0;e=a+24|0;ni(e,d,1);if(H[d+11|0]<0){hl(J[d>>2])}a=pl(32);J[d>>2]=a;J[d+4>>2]=22;J[d+8>>2]=-2147483616;b=K[1338]|K[1339]<<8|(K[1340]<<16|K[1341]<<24);c=K[1334]|K[1335]<<8|(K[1336]<<16|K[1337]<<24);H[a+14|0]=c;H[a+15|0]=c>>>8;H[a+16|0]=c>>>16;H[a+17|0]=c>>>24;H[a+18|0]=b;H[a+19|0]=b>>>8;H[a+20|0]=b>>>16;H[a+21|0]=b>>>24;b=K[1332]|K[1333]<<8|(K[1334]<<16|K[1335]<<24);c=K[1328]|K[1329]<<8|(K[1330]<<16|K[1331]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1324]|K[1325]<<8|(K[1326]<<16|K[1327]<<24);c=K[1320]|K[1321]<<8|(K[1322]<<16|K[1323]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+22|0]=0;ni(e,d,1);if(H[d+11|0]<0){hl(J[d>>2])}fa=d+16|0}function Kj(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=J[a+8>>2];e=J[a+4>>2];if((f-e|0)/12>>>0>=b>>>0){a:{if(!b){break a}d=e;g=P(b,12)-12|0;h=((g>>>0)/12|0)+1&3;if(h){while(1){f=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=f;J[d+8>>2]=J[c+8>>2];d=d+12|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}e=P(b,12)+e|0;if(g>>>0<36){break a}while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];J[d+20>>2]=J[c+8>>2];b=J[c+4>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=b;J[d+32>>2]=J[c+8>>2];b=J[c+4>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=b;b=J[c+4>>2];J[d+36>>2]=J[c>>2];J[d+40>>2]=b;J[d+44>>2]=J[c+8>>2];d=d+48|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{d=J[a>>2];h=(e-d|0)/12|0;g=h+b|0;if(g>>>0<357913942){f=(f-d|0)/12|0;d=f<<1;k=f>>>0>=178956970?357913941:d>>>0>g>>>0?d:g;if(k){if(k>>>0>=357913942){break b}l=pl(P(k,12))}i=P(h,12)+l|0;d=i;g=P(b,12);h=g-12|0;f=((h>>>0)/12|0)+1&3;if(f){while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];d=d+12|0;j=j+1|0;if((f|0)!=(j|0)){continue}break}}f=g+i|0;if(h>>>0>=36){while(1){b=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=b;J[d+8>>2]=J[c+8>>2];J[d+20>>2]=J[c+8>>2];b=J[c+4>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=b;J[d+32>>2]=J[c+8>>2];b=J[c+4>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=b;b=J[c+4>>2];J[d+36>>2]=J[c>>2];J[d+40>>2]=b;J[d+44>>2]=J[c+8>>2];d=d+48|0;if((f|0)!=(d|0)){continue}break}}c=J[a>>2];if((c|0)!=(e|0)){while(1){e=e-12|0;b=J[e+4>>2];i=i-12|0;d=i;J[d>>2]=J[e>>2];J[d+4>>2]=b;J[d+8>>2]=J[e+8>>2];if((c|0)!=(e|0)){continue}break}e=J[a>>2]}J[a+8>>2]=P(k,12)+l;J[a+4>>2]=f;J[a>>2]=i;if(e){hl(e)}return}Ia();C()}Ya();C()}function Mg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=fa-112|0;fa=c;d=pl(120);i=J[a+8>>2];J[d+12>>2]=0;J[d+16>>2]=0;J[d>>2]=11224;J[d+4>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+8>>2]=11436;e=d- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[d+72>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;J[d+88>>2]=0;J[d+116>>2]=0;J[d+112>>2]=b;J[d+108>>2]=i;J[d+104>>2]=0;J[d+96>>2]=0;J[d+100>>2]=0;g=J[a+12>>2];J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;f=c+32|0;e=f;J[e>>2]=0;J[e+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;e=c- -64|0;J[e>>2]=0;J[e+4>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+88>>2]=0;J[c+104>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+8>>2]=11436;J[c+96>>2]=0;J[c+100>>2]=0;J[c+12>>2]=g;h=J[g>>2];e=J[g+4>>2];H[c+111|0]=0;j=f;f=c+111|0;Jg(j,(e-h>>2>>>0)/3|0,f);e=J[c+12>>2];h=J[e+28>>2];e=J[e+24>>2];H[c+111|0]=0;Jg(c+44|0,h-e>>2,f);J[c+28>>2]=d;J[c+24>>2]=i;J[c+20>>2]=b;J[c+16>>2]=g;J[d+116>>2]=a+72;a=d+8|0;b=c+8|0;Kg(a,b);a:{if((a|0)==(b|0)){J[d+92>>2]=J[b+84>>2];break a}Lg(d+56|0,J[b+48>>2],J[b+52>>2]);Lg(d+68|0,J[b+60>>2],J[b- -64>>2]);Lg(d+80|0,J[b+72>>2],J[b+76>>2]);J[d+92>>2]=J[b+84>>2];ec(d+96|0,J[b+88>>2],J[b+92>>2])}J[c+8>>2]=11436;a=J[c+96>>2];if(a){J[c+100>>2]=a;hl(a)}a=J[c+80>>2];if(a){J[c+84>>2]=a;hl(a)}a=J[c+68>>2];if(a){J[c+72>>2]=a;hl(a)}a=J[c+56>>2];if(a){J[c+60>>2]=a;hl(a)}J[c+8>>2]=11672;a=J[c+44>>2];if(a){hl(a)}a=J[c+32>>2];if(a){hl(a)}fa=c+112|0;return d}function ni(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=fa-48|0;fa=g;f=fa-32|0;fa=f;h=f+21|0;d=h;l=f+32|0;e=l;if(!((d|0)==(e|0)|(c|0)>=0)){H[d|0]=45;d=d+1|0;c=0-c|0}i=e-d|0;a:{if((i|0)<=9){j=P(32-S(c|1)|0,1233)>>12;k=61;if((i|0)<((M[(j<<2)+18192>>2]<=c>>>0)+j|0)){break a}}b:{if(c>>>0<=999999){if(c>>>0<=9999){if(c>>>0<=99){if(c>>>0<=9){H[d|0]=c+48;e=d+1|0;break b}e=yl(d,c);break b}if(c>>>0<=999){e=(c>>>0)/100|0;H[d|0]=e+48;e=yl(d+1|0,c-P(e,100)|0);break b}e=zl(d,c);break b}if(c>>>0<=99999){e=(c>>>0)/1e4|0;H[d|0]=e+48;e=zl(d+1|0,c-P(e,1e4)|0);break b}e=Al(d,c);break b}if(c>>>0<=99999999){if(c>>>0<=9999999){e=(c>>>0)/1e6|0;H[d|0]=e+48;e=Al(d+1|0,c-P(e,1e6)|0);break b}e=Bl(d,c);break b}if(c>>>0<=999999999){e=(c>>>0)/1e8|0;H[d|0]=e+48;e=Bl(d+1|0,c-P(e,1e8)|0);break b}e=d;d=(c>>>0)/1e8|0;e=Bl(yl(e,d),c-P(d,1e8)|0)}k=0}J[f+12>>2]=k;J[f+8>>2]=e;j=fa-16|0;fa=j;e=fa-16|0;fa=e;c=g+8|0;c:{i=J[f+8>>2];f=i-h|0;if(f>>>0<=2147483631){d:{if(f>>>0<11){H[c+11|0]=f|K[c+11|0]&128;H[c+11|0]=K[c+11|0]&127;d=c;break d}k=e+8|0;if(f>>>0>=11){m=f+16&-16;d=m-1|0;d=(d|0)==11?m:d}else{d=10}ml(k,d+1|0);d=J[e+8>>2];J[c>>2]=d;J[c+8>>2]=J[c+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[c+8>>2]=J[c+8>>2]|-2147483648;J[c+4>>2]=f}while(1){if((h|0)!=(i|0)){H[d|0]=K[h|0];d=d+1|0;h=h+1|0;continue}break}H[e+7|0]=0;H[d|0]=K[e+7|0];fa=e+16|0;break c}xe();C()}fa=j+16|0;fa=l;J[g+32>>2]=b;Ze(g+40|0,a,b,g+32|0);a=J[g+40>>2];if(H[a+39|0]<0){hl(J[a+28>>2])}b=J[g+12>>2];J[a+28>>2]=J[g+8>>2];J[a+32>>2]=b;J[a+36>>2]=J[g+16>>2];fa=g+48|0}function ik(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=Q(0);a:{b:{c:{d:{d=2;e:{if((b|0)==1){break e}d=b;if(!(b-1&b)){break e}d=dl(b)}b=J[a+4>>2];if(d>>>0<=b>>>0){if(b>>>0<=d>>>0){break a}e=b>>>0<3;i=Q(W(Q(Q(M[a+12>>2])/N[a+20>>2])));f:{if(i=Q(0)){c=~~i>>>0;break f}c=0}g:{h:{if(e){break h}if(hm(b)>>>0>1){break h}c=c>>>0<2?c:1<<32-S(c-1|0);break g}c=dl(c)}d=c>>>0>>0?d:c;if(b>>>0<=d>>>0){break a}if(!d){break d}}if(d>>>0>=1073741824){break c}c=pl(d<<2);b=J[a>>2];J[a>>2]=c;if(b){hl(b)}J[a+4>>2]=d;e=0;b=0;if(d-1>>>0>=3){g=d&-4;while(1){c=b<<2;J[c+J[a>>2]>>2]=0;J[J[a>>2]+(c|4)>>2]=0;J[J[a>>2]+(c|8)>>2]=0;J[J[a>>2]+(c|12)>>2]=0;b=b+4|0;f=f+4|0;if((g|0)!=(f|0)){continue}break}}c=d&3;if(c){while(1){J[J[a>>2]+(b<<2)>>2]=0;b=b+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}b=J[a+8>>2];if(!b){break a}c=a+8|0;f=J[b+4>>2];e=d-1|0;if(!(e&d)){break b}f=d>>>0<=f>>>0?(f>>>0)%(d>>>0)|0:f;J[J[a>>2]+(f<<2)>>2]=c;while(1){c=J[b>>2];if(!c){break a}e=J[c+4>>2];if(e>>>0>=d>>>0){e=(e>>>0)%(d>>>0)|0}if((e|0)==(f|0)){b=c;continue}g=e<<2;h=g+J[a>>2]|0;if(J[h>>2]){J[b>>2]=J[c>>2];J[c>>2]=J[J[g+J[a>>2]>>2]>>2];J[J[g+J[a>>2]>>2]>>2]=c}else{J[h>>2]=b;b=c;f=e}continue}}b=J[a>>2];J[a>>2]=0;if(b){hl(b)}J[a+4>>2]=0;break a}Ya();C()}f=e&f;J[J[a>>2]+(f<<2)>>2]=c;while(1){c=J[b>>2];if(!c){break a}d=e&J[c+4>>2];if((d|0)==(f|0)){b=c;continue}g=d<<2;h=g+J[a>>2]|0;if(J[h>>2]){J[b>>2]=J[c>>2];J[c>>2]=J[J[g+J[a>>2]>>2]>>2];J[J[g+J[a>>2]>>2]>>2]=c}else{J[h>>2]=b;b=c;f=d}continue}}}function Mb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=fa-32|0;fa=h;e=a+4|0;a=cc(a,b);a:{if((e|0)==(a|0)){break a}b:{if(H[a+39|0]>=0){J[h+24>>2]=J[a+36>>2];b=J[a+32>>2];J[h+16>>2]=J[a+28>>2];J[h+20>>2]=b;break b}tl(h+16|0,J[a+28>>2],J[a+32>>2])}b=K[h+27|0];a=b<<24>>24;if(!(!((a|0)<0?J[h+20>>2]:b)|(c|0)<=0)){b=0;a=(a|0)<0?J[h+16>>2]:h+16|0;while(1){c:{l=fa-16|0;fa=l;Ek(l,a,h+12|0,0);j=J[l>>2];k=J[l+4>>2];i=fa-32|0;fa=i;n=J[l+12>>2];g=n&2147483647;e=g-1065418752|0;m=g-1082064896|0;f=J[l+8>>2];d:{if((e|0)==(m|0)&f>>>0>>0|e>>>0>>0){g=(n&33554431)<<7|f>>>25;e=0;m=e;f=f&33554431;if(!(!e&(f|0)==16777216?!(j|k):!e&f>>>0<16777216)){e=g+1073741825|0;break d}e=g+1073741824|0;if(f^16777216|j|(k|m)){break d}e=(g&1)+e|0;break d}if(!(!f&(g|0)==2147418112?!(j|k):g>>>0<2147418112)){e=((n&33554431)<<7|f>>>25)&4194303|2143289344;break d}e=2139095040;if(g>>>0>1082064895){break d}e=0;g=g>>>16|0;if(g>>>0<16145){break d}e=n&65535|65536;Tk(i+16|0,j,k,f,e,g-16129|0);_k(i,j,k,f,e,16257-g|0);f=J[i+8>>2];e=(J[i+12>>2]&33554431)<<7|f>>>25;g=J[i>>2]|(J[i+16>>2]|J[i+24>>2]|(J[i+20>>2]|J[i+28>>2]))!=0;k=J[i+4>>2];j=0;f=f&33554431;if(!(!j&(f|0)==16777216?!(g|k):!j&f>>>0<16777216)){e=e+1|0;break d}if(f^16777216|g|(j|k)){break d}e=(e&1)+e|0}fa=i+32|0;fa=l+16|0;m=a;a=J[h+12>>2];if((m|0)==(a|0)){break c}J[(b<<2)+d>>2]=n&-2147483648|e;b=b+1|0;if((c|0)!=(b|0)){continue}}break}a=K[h+27|0]}if(a<<24>>24>=0){break a}hl(J[h+16>>2])}fa=h+32|0}function ve(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=J[b+48>>2];d=fa-32|0;fa=d;J[d+28>>2]=a;a=0;a:{if((Pb(f)|0)>9){break a}if((ka[J[J[b>>2]+8>>2]](b)|0)!=1){break a}a=pl(32);J[d+16>>2]=a;J[d+20>>2]=17;J[d+24>>2]=-2147483616;H[a+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);c=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[a+8|0]=c;H[a+9|0]=c>>>8;H[a+10|0]=c>>>16;H[a+11|0]=c>>>24;H[a+12|0]=e;H[a+13|0]=e>>>8;H[a+14|0]=e>>>16;H[a+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);c=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;H[a+4|0]=e;H[a+5|0]=e>>>8;H[a+6|0]=e>>>16;H[a+7|0]=e>>>24;H[a+17|0]=0;a=Gb(f,d+28|0,d+16|0,-1);if(H[d+27|0]<0){hl(J[d+16>>2])}c=J[b+4>>2];e=J[J[c+8>>2]+(J[d+28>>2]<<2)>>2];b:{if((a|0)==-1|J[e+56>>2]!=3|K[e+24|0]!=2){break b}c=dk(c);if(!c){break b}c=J[c+28>>2];if(!(2558>>>c&c>>>0<12)){h=d,i=ck(J[b+4>>2],0),J[h+12>>2]=i;c=we(d+16|0,1245);g=Gb(f,d+12|0,c,-1);if(H[c+11|0]<0){hl(J[c>>2])}if((a+(g<<1)|0)>63|g-1>>>0>20){break b}}a=5;if((Pb(f)|0)<4){break a}}a=J[e+56>>2];e=Pb(f);if((a|0)==1){c:{if((e|0)>3){break c}h=d,i=ck(J[b+4>>2],0),J[h+12>>2]=i;a=dk(J[b+4>>2]);if(!a){break c}a=J[a+28>>2];if(2558>>>a&a>>>0<12){a=6;break a}a=we(d+16|0,1245);b=Gb(f,d+12|0,a,-1);if(H[a+11|0]<0){hl(J[a>>2])}a=6;if((b|0)>0){break a}}a=0;break a}a=0;if((e|0)>7){break a}a=1;if((Pb(f)|0)>1){break a}a=M[J[b+4>>2]+80>>2]<40?1:4}fa=d+32|0;return a}function zf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Af(a,i,c,h,e);f=b;b=e+j|0;Af(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}zf(a,i,c,h,e,f);zf(i,b,c,g,e,f);Bf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function wf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){xf(a,i,c,h,e);f=b;b=e+j|0;xf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}wf(a,i,c,h,e,f);wf(i,b,c,g,e,f);yf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function qg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){rg(a,i,c,h,e);f=b;b=e+j|0;rg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}qg(a,i,c,h,e,f);qg(i,b,c,g,e,f);sg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function ng(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){og(a,i,c,h,e);f=b;b=e+j|0;og(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}ng(a,i,c,h,e,f);ng(i,b,c,g,e,f);pg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function nf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){qf(a,i,c,h,e);f=b;b=e+j|0;qf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}nf(a,i,c,h,e,f);nf(i,b,c,g,e,f);rf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function kg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){lg(a,i,c,h,e);f=b;b=e+j|0;lg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}kg(a,i,c,h,e,f);kg(i,b,c,g,e,f);mg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function hg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){ig(a,i,c,h,e);f=b;b=e+j|0;ig(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}hg(a,i,c,h,e,f);hg(i,b,c,g,e,f);jg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function eg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){fg(a,i,c,h,e);f=b;b=e+j|0;fg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}eg(a,i,c,h,e,f);eg(i,b,c,g,e,f);gg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function bg(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){cg(a,i,c,h,e);f=b;b=e+j|0;cg(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}bg(a,i,c,h,e,f);bg(i,b,c,g,e,f);dg(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function _f(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){$f(a,i,c,h,e);f=b;b=e+j|0;$f(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}_f(a,i,c,h,e,f);_f(i,b,c,g,e,f);ag(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Xf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Yf(a,i,c,h,e);f=b;b=e+j|0;Yf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Xf(a,i,c,h,e,f);Xf(i,b,c,g,e,f);Zf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Uf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Vf(a,i,c,h,e);f=b;b=e+j|0;Vf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Uf(a,i,c,h,e,f);Uf(i,b,c,g,e,f);Wf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Rf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Sf(a,i,c,h,e);f=b;b=e+j|0;Sf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Rf(a,i,c,h,e,f);Rf(i,b,c,g,e,f);Tf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Of(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Pf(a,i,c,h,e);f=b;b=e+j|0;Pf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Of(a,i,c,h,e,f);Of(i,b,c,g,e,f);Qf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Lf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Mf(a,i,c,h,e);f=b;b=e+j|0;Mf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Lf(a,i,c,h,e,f);Lf(i,b,c,g,e,f);Nf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function If(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Jf(a,i,c,h,e);f=b;b=e+j|0;Jf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}If(a,i,c,h,e,f);If(i,b,c,g,e,f);Kf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Ff(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Gf(a,i,c,h,e);f=b;b=e+j|0;Gf(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Ff(a,i,c,h,e,f);Ff(i,b,c,g,e,f);Hf(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Cf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;e=b-4|0;b=J[e>>2];if(d>>>0<=b>>>0){break c}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break c}if(M[c+(b<<3)>>2]>=M[c+(d<<3)>>2]){break a}J[a>>2]=b;J[e>>2]=d;break a;case 0:case 1:break a;default:break d}}if((d|0)>128){break b}if((a|0)==(b|0)){break a}d=a+4|0;if((d|0)==(b|0)){break a}i=J[c>>2];while(1){f=J[d>>2];e:{e=a;if((e|0)==(d|0)){break e}f:{h=J[i>>2];j=J[i+4>>2]-h>>3;if(j>>>0<=f>>>0){break f}k=h+(f<<3)|0;e=d;while(1){c=e-4|0;g=J[c>>2];if(g>>>0>=j>>>0){break f}if(M[k>>2]>=M[h+(g<<3)>>2]){break e}J[e>>2]=g;e=c;if((e|0)!=(a|0)){continue}break}e=a;break e}Xc();C()}J[e>>2]=f;d=d+4|0;if((d|0)!=(b|0)){continue}break}break a}Xc();C()}h=d>>>1|0;g=d-h|0;j=h<<2;i=j+a|0;g:{h:{if((d|0)<=(f|0)){Df(a,i,c,h,e);f=b;b=e+j|0;Df(i,f,c,g,b);f=(d<<2)+e|0;c=J[c>>2];d=b;while(1){if((d|0)==(f|0)){if((b|0)==(e|0)){break a}while(1){J[a>>2]=J[e>>2];a=a+4|0;e=e+4|0;if((b|0)!=(e|0)){continue}break}break a}i=J[c>>2];g=J[c+4>>2]-i>>3;h=J[d>>2];if(g>>>0<=h>>>0){break h}k=g;g=J[e>>2];if(k>>>0<=g>>>0){break h}j=g;k=h;h=J[i+(h<<3)>>2];i=J[i+(g<<3)>>2];g=h>>>0>=i>>>0;J[a>>2]=g?j:k;d=((i>>>0>h>>>0)<<2)+d|0;a=a+4|0;e=(g<<2)+e|0;if((b|0)!=(e|0)){continue}break}break g}Cf(a,i,c,h,e,f);Cf(i,b,c,g,e,f);Ef(a,i,b,c,h,g,e,f);return}Xc();C()}if((d|0)==(f|0)){break a}while(1){J[a>>2]=J[d>>2];a=a+4|0;d=d+4|0;if((f|0)!=(d|0)){continue}break}}}function Ui(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=fa-32|0;fa=a;a:{b:{c:{d:{if(!b){break d}f=xk(c);if(f>>>0>=2147483632){break c}e:{f:{if(f>>>0>=11){g=(f|15)+1|0;h=pl(g);J[a+24>>2]=g|-2147483648;J[a+16>>2]=h;J[a+20>>2]=f;g=f+h|0;break f}H[a+27|0]=f;h=a+16|0;g=f+h|0;if(!f){break e}}nk(h,c,f)}H[g|0]=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;if(e){if((e|0)<0){break b}c=e<<2;e=pl(c);J[a>>2]=e;f=c+e|0;J[a+8>>2]=f;nk(e,d,c);J[a+4>>2]=f}f=fa-48|0;fa=f;e=cc(b,a+16|0);if((e|0)!=(b+4|0)){c=J[e+4>>2];g:{if(!c){c=e;while(1){d=J[c+8>>2];g=J[d>>2]!=(c|0);c=d;if(g){continue}break}break g}while(1){d=c;c=J[c>>2];if(c){continue}break}}if((e|0)==J[b>>2]){J[b>>2]=d}J[b+8>>2]=J[b+8>>2]-1;$j(J[b+4>>2],e);c=J[e+28>>2];if(c){J[e+32>>2]=c;hl(c)}if(H[e+27|0]<0){hl(J[e+16>>2])}hl(e)}J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;c=J[a+4>>2];d=J[a>>2];e=c-d|0;g=0;h:{i:{if((c|0)!=(d|0)){if((e|0)<0){break i}g=pl(e);c=pk(g,0,e);h=c+e|0;J[f+8>>2]=h;J[f+4>>2]=h;J[f>>2]=c;c=d}nk(g,c,e);j:{if(H[a+27|0]>=0){J[f+24>>2]=J[a+24>>2];c=J[a+20>>2];J[f+16>>2]=J[a+16>>2];J[f+20>>2]=c;break j}tl(f+16|0,J[a+16>>2],J[a+20>>2])}Zj(f+28|0,f);c=f+16|0;ak(f+40|0,b,c,c);c=J[f+28>>2];if(c){J[f+32>>2]=c;hl(c)}if(H[f+27|0]<0){hl(J[f+16>>2])}c=J[f>>2];if(c){J[f+4>>2]=c;hl(c)}fa=f+48|0;break h}Ia();C()}c=J[a>>2];if(c){J[a+4>>2]=c;hl(c)}if(H[a+27|0]>=0){break d}hl(J[a+16>>2])}fa=a+32|0;a=(b|0)!=0;break a}xe();C()}Ia();C()}return a|0}function zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=fa-16|0;fa=c;b=J[J[a+4>>2]+(b<<2)>>2];J[c+12>>2]=b;a=J[a+28>>2];e=J[J[J[a+4>>2]+8>>2]+(b<<2)>>2];b=J[e+28>>2];a:{if(b-1>>>0>=6){b:{if((b|0)!=9){break b}f=J[a+48>>2];a=pl(32);J[c>>2]=a;J[c+4>>2]=17;J[c+8>>2]=-2147483616;H[a+16|0]=K[1261];b=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);d=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[a+8|0]=d;H[a+9|0]=d>>>8;H[a+10|0]=d>>>16;H[a+11|0]=d>>>24;H[a+12|0]=b;H[a+13|0]=b>>>8;H[a+14|0]=b>>>16;H[a+15|0]=b>>>24;b=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);d=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[a|0]=d;H[a+1|0]=d>>>8;H[a+2|0]=d>>>16;H[a+3|0]=d>>>24;H[a+4|0]=b;H[a+5|0]=b>>>8;H[a+6|0]=b>>>16;H[a+7|0]=b>>>24;H[a+17|0]=0;a=Gb(f,c+12|0,c,-1);if(H[c+11|0]<0){hl(J[c>>2])}if((a|0)<=0){break b}if(J[e+56>>2]==1){a=pl(48);J[a>>2]=0;J[a+4>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;a=Hc(a);J[a+40>>2]=1032;J[a>>2]=6316;J[a+44>>2]=-1;break a}a=Hc(pl(64));J[a+40>>2]=2040;J[a>>2]=9996;J[a+48>>2]=0;J[a+52>>2]=0;J[a+44>>2]=-1;J[a+56>>2]=0;J[a+60>>2]=0;break a}a=pl(36);J[a+32>>2]=0;J[a+12>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=2400;H[a+21|0]=0;H[a+22|0]=0;H[a+23|0]=0;H[a+24|0]=0;H[a+25|0]=0;H[a+26|0]=0;H[a+27|0]=0;H[a+28|0]=0;break a}a=Hc(pl(40))}fa=c+16|0;return a|0}function yc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=J[a+8>>2]-J[a+4>>2]>>2;b=J[a+40>>2];d=J[a+36>>2];c=b-d>>2;a:{if(e>>>0>c>>>0){g=e-c|0;d=J[a+44>>2];b=J[a+40>>2];if(g>>>0<=d-b>>2>>>0){if(g){i=b;b=g<<2;b=pk(i,0,b)+b|0}J[a+40>>2]=b;break a}b:{c:{d:{j=J[a+36>>2];e=b-j>>2;f=e+g|0;if(f>>>0<1073741824){c=d-j|0;d=c>>>1|0;c=c>>>0>=2147483644?1073741823:d>>>0>f>>>0?d:f;if(c){if(c>>>0>=1073741824){break d}i=pl(c<<2)}h=(e<<2)+i|0;d=g<<2;f=pk(h,0,d);e=d+f|0;c=(c<<2)+i|0;if((b|0)==(j|0)){break c}while(1){b=b-4|0;d=J[b>>2];J[b>>2]=0;h=h-4|0;J[h>>2]=d;if((b|0)!=(j|0)){continue}break}J[a+44>>2]=c;c=J[a+40>>2];J[a+40>>2]=e;b=J[a+36>>2];J[a+36>>2]=h;if((b|0)==(c|0)){break b}while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){ka[J[J[d>>2]+4>>2]](d)}if((b|0)!=(c|0)){continue}break}break b}Ia();C()}Ya();C()}J[a+44>>2]=c;J[a+40>>2]=e;J[a+36>>2]=f}if(b){hl(b)}break a}if(c>>>0<=e>>>0){break a}d=d+(e<<2)|0;if((d|0)!=(b|0)){while(1){b=b-4|0;c=J[b>>2];J[b>>2]=0;if(c){ka[J[J[c>>2]+4>>2]](c)}if((b|0)!=(d|0)){continue}break}}J[a+40>>2]=d}if(J[a+8>>2]==J[a+4>>2]){return 1}b=0;while(1){e=ka[J[J[a>>2]+56>>2]](a,b)|0;c=b<<2;d=c+J[a+36>>2]|0;f=J[d>>2];J[d>>2]=e;if(f){ka[J[J[f>>2]+4>>2]](f)}c=J[c+J[a+36>>2]>>2];d=(c|0)!=0;if(c){if(!(!(J[J[a+48>>2]+(b>>>3&536870908)>>2]>>>b&1)|M[a+52>>2]<=b>>>0)){H[c+28|0]=1}b=b+1|0;if(b>>>0>2]-J[a+4>>2]>>2>>>0){continue}}break}return d|0}function ph(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;J[a>>2]=10592;c=a+200|0;d=J[c+136>>2];if(d){b=d;e=J[c+140>>2];if((b|0)!=(e|0)){while(1){b=e-12|0;f=J[b>>2];if(f){J[e-8>>2]=f;hl(f)}e=b;if((b|0)!=(d|0)){continue}break}b=J[c+136>>2]}J[c+140>>2]=d;hl(b)}b=J[c+104>>2];if(b){J[c+108>>2]=b;hl(b)}b=J[c+92>>2];if(b){J[c+96>>2]=b;hl(b)}d=J[c+80>>2];J[c+80>>2]=0;if(d){e=d-4|0;b=J[e>>2];if(b){b=d+(b<<5)|0;while(1){b=Ae(b-32|0);if((d|0)!=(b|0)){continue}break}}hl(e)}b=J[c+68>>2];if(b){J[c+72>>2]=b;hl(b)}b=J[c+44>>2];J[c+44>>2]=0;if(b){hl(b)}b=J[c+32>>2];if(b){J[c+36>>2]=b;hl(b)}Ae(c);b=J[a+184>>2];if(b){J[a+188>>2]=b;hl(b)}d=J[a+172>>2];if(d){b=J[a+176>>2];e=d;if((b|0)!=(d|0)){while(1){e=b-136|0;f=J[e+116>>2];if(f){J[b-16>>2]=f;hl(f)}f=J[b-32>>2];if(f){J[b-28>>2]=f;hl(f)}bh(b-132|0);b=e;if((d|0)!=(b|0)){continue}break}e=J[a+172>>2]}J[a+176>>2]=d;hl(e)}b=J[a+152>>2];if(b){J[a+156>>2]=b;hl(b)}b=J[a+140>>2];if(b){hl(b)}b=J[a+128>>2];if(b){while(1){e=J[b>>2];hl(b);b=e;if(b){continue}break}}b=J[a+120>>2];J[a+120>>2]=0;if(b){hl(b)}b=J[a+108>>2];if(b){J[a+112>>2]=b;hl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+84>>2];if(b){hl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;hl(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;hl(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;hl(b)}b=J[a+28>>2];if(b){hl(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}b=J[a+12>>2];J[a+12>>2]=0;if(b){Tg(b)}return a|0}function yf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}yf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}yf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function sg(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}sg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}sg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function rf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}rf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}rf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function pg(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}pg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}pg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function mg(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}mg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}mg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function jg(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}jg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}jg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function gg(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}gg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}gg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function dg(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}dg(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}dg(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function ag(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}ag(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}ag(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Zf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Zf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Zf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Wf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Wf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Wf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Tf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Tf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Tf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Qf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Qf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Qf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Nf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Nf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Nf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Kf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Kf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Kf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Hf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Hf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Hf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Ef(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Ef(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Ef(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function Bf(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=fa-16|0;fa=s;a:{if(!f){break a}while(1){if(!((e|0)<=(h|0)|(f|0)<=(h|0))){if(!e){break a}i=J[d>>2];o=J[i>>2];b:{c:{p=J[i+4>>2]-o>>3;i=J[b>>2];d:{if(p>>>0<=i>>>0){break d}n=(i<<3)+o|0;while(1){j=J[a>>2];if(j>>>0>=p>>>0){break d}if(M[n>>2]>=M[(j<<3)+o>>2]){a=a+4|0;e=e-1|0;if(e){continue}break a}break}e:{f:{if((e|0)<(f|0)){n=(f|0)/2|0;i=(n<<2)+b|0;g:{if((a|0)==(b|0)){j=b;break g}j=J[i>>2];if(j>>>0>=p>>>0){break d}m=b-a>>2;l=m>>>1|0;q=(l<<2)+a|0;k=J[q>>2];if(k>>>0>=p>>>0){break d}r=q+4|0;q=J[(j<<3)+o>>2];k=q>>>0>2];j=k?a:r;m=k?l:m+(l^-1)|0;if(!m){break g}while(1){l=m>>>1|0;k=(l<<2)+j|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=q>>>0>2];j=k?j:t;m=k?l:(l^-1)+m|0;if(m){continue}break}}l=j-a>>2;break f}if((e|0)==1){J[a>>2]=i;J[b>>2]=j;break a}l=(e|0)/2|0;j=(l<<2)+a|0;i=c;if((i|0)!=(b|0)){m=c-b>>2;i=J[j>>2];if(i>>>0>=p>>>0){break e}q=(i<<3)+o|0;i=b;while(1){n=m>>>1|0;k=(n<<2)+i|0;r=J[k>>2];if(r>>>0>=p>>>0){break d}t=k+4|0;k=M[(r<<3)+o>>2]>2];i=k?t:i;m=k?(n^-1)+m|0:n;if(m){continue}break}}n=i-b>>2}tf(s+8|0,j,b,i);b=J[s+8>>2];e=e-l|0;f=f-n|0;if((l+n|0)>=(e+f|0)){break c}Bf(a,j,b,d,l,n,g,h);a=b;b=i;break b}}Xc();C()}Bf(b,i,c,d,e,f,g,h);f=n;e=l;c=b;b=j}if(f){continue}break a}break}uf(a,b,c,d,e,f,g)}fa=s+16|0}function ff(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=fa-16|0;fa=m;f=J[b+28>>2];g=J[b+24>>2];J[a+8>>2]=g;J[a+12>>2]=f;f=J[b+20>>2];J[a>>2]=J[b+16>>2];J[a+4>>2]=f;f=J[b+36>>2];J[a+16>>2]=J[b+32>>2];J[a+20>>2]=f;J[a+8>>2]=d+g;a:{b:{if((d|0)>0){j=J[b>>2];f=J[a+12>>2];n=J[a+16>>2];o=O[a>>3];while(1){i=J[b+4>>2]-j>>2;g=J[(h<<2)+c>>2];c:{if(i>>>0>g>>>0){break c}J[m+12>>2]=0;k=g+1|0;if(k>>>0>i>>>0){vb(b,k-i|0,m+12|0);j=J[b>>2];break c}if(i>>>0<=k>>>0){break c}J[b+4>>2]=(k<<2)+j}k=(g<<2)+j|0;i=J[k>>2];d:{if((i|0)>=2){l=+(i|0);l=sk(l)*l;break d}l=0;if(i){break d}n=n+1|0;J[a+16>>2]=n;if(f>>>0>=g>>>0){break d}J[a+12>>2]=g;f=g}g=i+1|0;J[k>>2]=g;p=+(g|0);o=sk(p)*p-l+o;O[a>>3]=o;h=h+1|0;if((h|0)!=(d|0)){continue}break}if(e){break b}if((d|0)<=0){break a}a=J[b>>2];j=0;h=0;if(d>>>0>=4){g=d&-4;e=0;while(1){b=h<<2;f=a+(J[b+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;f=a+(J[(b|4)+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;f=a+(J[(b|8)+c>>2]<<2)|0;J[f>>2]=J[f>>2]-1;b=a+(J[(b|12)+c>>2]<<2)|0;J[b>>2]=J[b>>2]-1;h=h+4|0;e=e+4|0;if((g|0)!=(e|0)){continue}break}}b=d&3;if(!b){break a}while(1){d=a+(J[(h<<2)+c>>2]<<2)|0;J[d>>2]=J[d>>2]-1;h=h+1|0;j=j+1|0;if((b|0)!=(j|0)){continue}break}break a}if(!e){break a}}c=J[a+4>>2];J[b+16>>2]=J[a>>2];J[b+20>>2]=c;J[b+32>>2]=J[a+16>>2];c=J[a+12>>2];J[b+24>>2]=J[a+8>>2];J[b+28>>2]=c}fa=m+16|0}function Qd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=J[b+16>>2];f=J[c+4>>2]-e|0;J[c>>2]=0|J[c>>2]-e;J[c+4>>2]=f;f=J[d+4>>2]-e|0;e=J[d>>2]-e|0;J[d>>2]=g|e;J[d+4>>2]=f;i=J[b+16>>2];g=f>>31;h=(g^f)-g|0;g=e>>31;if(i>>>0>>0){j=J[c+4>>2];k=J[c>>2];a:{b:{if((k|0)>=0){h=1;g=1;if((j|0)>=0){break a}e=1;h=-1;g=-1;if(k){break b}break a}e=-1;h=-1;g=-1;if((j|0)<=0){break a}}h=(j|0)<=0?-1:1;g=e}f=1;e=-1;l=k<<1;k=P(g,i);l=l-k|0;g=(P(g,h)|0)>=0;h=P(h,i);J[c+4>>2]=((g?0-l|0:l)+h|0)/2;h=(j<<1)-h|0;J[c>>2]=(k+(g?0-h|0:h)|0)/2;g=J[d+4>>2];h=J[d>>2];c:{d:{if((h|0)>=0){e=1;if((g|0)>=0){break c}if(h){break d}f=-1;e=-1;break c}f=-1;if((g|0)<=0){break c}}f=(g|0)<=0?-1:1}i=h<<1;h=J[b+16>>2];j=P(h,e);i=i-j|0;e=(P(f,e)|0)>=0;h=P(f,h);f=((e?0-i|0:i)+h|0)/2|0;J[d+4>>2]=f;g=(g<<1)-h|0;e=(j+(e?0-g|0:g)|0)/2|0;J[d>>2]=e}e:{f:{g:{h:{i:{j:{if(e){if((e|0)>=0){break j}if((f|0)>0){break h}break e}if(f){break i}f=0;e=0;break e}if((f|0)<0){break g}f=0-J[c+4>>2]|0;J[c>>2]=0-J[c>>2];J[c+4>>2]=f;e=0-J[d>>2]|0;f=0-J[d+4>>2]|0;break f}if((f|0)<=0){break g}}f=J[c>>2];J[c>>2]=0-J[c+4>>2];J[c+4>>2]=f;e=0-J[d+4>>2]|0;f=J[d>>2];break f}f=0-J[c>>2]|0;J[c>>2]=J[c+4>>2];J[c+4>>2]=f;e=J[d+4>>2];f=0-J[d>>2]|0}J[d>>2]=e;J[d+4>>2]=f}d=J[c>>2];b=J[b+4>>2];c=J[c+4>>2]-f|0;J[a+4>>2]=(b&c>>31)+c;c=a;a=d-e|0;J[c>>2]=(b&a>>31)+a}function _g(a,b){var c=0,d=0,e=0,f=0,g=0;e=-1;c=(b|0)==-1;d=-1;a:{if(c){break a}d=b+1|0;e=(d>>>0)%3|0?d:b-2|0;d=b-1|0;if((b>>>0)%3|0){break a}d=b+2|0}f=c?-1:(b>>>0)/3|0;g=J[a+28>>2]+(f>>>3&536870908)|0;J[g>>2]=J[g>>2]|1<>2]+12>>2]+(b<<2)>>2];if((c|0)==-1){break b}c=(c>>>0)/3|0;if(J[J[a+28>>2]+(c>>>3&268435452)>>2]>>>c&1){break b}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break b}f=1<>>5<<2;b=0;while(1){De(J[a+280>>2]+(b<<5)|0,(f&J[g+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}c:{if((e|0)==-1){break c}b=J[J[J[a+12>>2]+12>>2]+(e<<2)>>2];if((b|0)==-1){break c}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break c}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break c}f=1<>>5<<2;b=0;while(1){De(J[a+280>>2]+(b<<5)|0,(f&J[e+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}d:{if((d|0)==-1){break d}b=J[J[J[a+12>>2]+12>>2]+(d<<2)>>2];if((b|0)==-1){break d}b=(b>>>0)/3|0;if(J[J[a+28>>2]+(b>>>3&268435452)>>2]>>>b&1){break d}c=J[a+172>>2];if((c|0)==J[a+176>>2]){break d}e=1<>>5<<2;b=0;while(1){De(J[a+280>>2]+(b<<5)|0,(e&J[d+J[(P(b,136)+c|0)+4>>2]>>2])!=0);b=b+1|0;c=J[a+172>>2];if(b>>>0<(J[a+176>>2]-c|0)/136>>>0){continue}break}}}function cj(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;a=0;a:{if(!d|(!b|(c|0)<0)){break a}f=J[b+8>>2];if(J[b+12>>2]-f>>2<=(c|0)){break a}if(!J[b+4>>2]){a=pl(36);J[a+4>>2]=0;J[a+8>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;e=a+16|0;J[e>>2]=0;J[e+4>>2]=0;J[a>>2]=a+4;J[a+32>>2]=0;J[a+12>>2]=e;J[b+4>>2]=a}a=J[J[f+(c<<2)>>2]+60>>2];d=_j(pl(28),d);J[d+24>>2]=a;a=J[b+4>>2];c=fa-16|0;fa=c;J[c+8>>2]=d;b:{if(!d){break b}b=J[a+28>>2];c:{if(b>>>0>2]){J[c+8>>2]=0;J[b>>2]=d;J[a+28>>2]=b+4;break c}b=0;d:{e:{f:{e=J[a+24>>2];f=J[a+28>>2]-e>>2;d=f+1|0;if(d>>>0<1073741824){e=J[a+32>>2]-e|0;g=e>>>1|0;e=e>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(e){if(e>>>0>=1073741824){break f}b=pl(e<<2)}g=J[c+8>>2];J[c+8>>2]=0;d=(f<<2)+b|0;J[d>>2]=g;e=(e<<2)+b|0;f=d+4|0;b=J[a+28>>2];g=J[a+24>>2];if((b|0)==(g|0)){break e}while(1){b=b-4|0;h=J[b>>2];J[b>>2]=0;d=d-4|0;J[d>>2]=h;if((b|0)!=(g|0)){continue}break}J[a+32>>2]=e;e=J[a+28>>2];J[a+28>>2]=f;b=J[a+24>>2];J[a+24>>2]=d;if((b|0)==(e|0)){break d}while(1){e=e-4|0;a=J[e>>2];J[e>>2]=0;if(a){Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);hl(a)}if((b|0)!=(e|0)){continue}break}break d}Ia();C()}Ya();C()}J[a+32>>2]=e;J[a+28>>2]=f;J[a+24>>2]=d}if(b){hl(b)}}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break b}Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);hl(a)}fa=c+16|0;a=1}return a|0}function Ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+16>>2];a:{if(J[a+20>>2]-e>>2<=(b|0)){break a}h=J[e+(b<<2)>>2];if((h|0)<0){break a}if(M[a+52>>2]<=h>>>0){b:{b=fa-16|0;fa=b;c:{f=J[a+52>>2];c=h+1|0;d:{if(f>>>0>>0){e=c-f|0;g=J[a+56>>2];d=g<<5;e:{if(!(e>>>0>d>>>0|f>>>0>d-e>>>0)){J[a+52>>2]=c;d=f&31;c=J[a+48>>2]+(f>>>3&536870908)|0;break e}J[b+8>>2]=0;J[b>>2]=0;J[b+4>>2]=0;if((c|0)<0){break c}if(d>>>0<=1073741822){d=g<<6;c=c+31&-32;c=c>>>0>>0?d:c}else{c=2147483647}Gc(b,c);d=J[a+52>>2];J[b+4>>2]=d+e;f=J[a+48>>2];c=J[b>>2];f:{if((d|0)<=0){d=0;break f}g=d>>>5|0;if(d>>>0>=32){ok(c,f,g<<2)}g=g<<2;c=g+c|0;d=d&31;if(d){i=-1>>>32-d|0;J[c>>2]=J[c>>2]&(i^-1)|J[f+g>>2]&i}f=J[a+48>>2]}J[a+48>>2]=J[b>>2];J[b>>2]=f;g=J[a+52>>2];J[a+52>>2]=J[b+4>>2];J[b+4>>2]=g;g=J[a+56>>2];J[a+56>>2]=J[b+8>>2];J[b+8>>2]=g;if(!f){break e}hl(f)}if(!e){break d}if(d){f=32-d|0;g=e>>>0>f>>>0?f:e;J[c>>2]=J[c>>2]&(-1<>>f-g^-1);e=e-g|0;c=c+4|0}d=e>>>5|0;if(e>>>0>=32){pk(c,0,d<<2)}if((e&-32)==(e|0)){break d}c=(d<<2)+c|0;J[c>>2]=J[c>>2]&(-1>>>32-(e&31)^-1);break d}J[a+52>>2]=c}fa=b+16|0;break b}Ia();C()}}c=1;b=J[a+48>>2]+(h>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2];a=J[a+36>>2];if(b-a>>2>>>0<=h>>>0){break a}H[J[a+(h<<2)>>2]+28|0]=1}return c|0}function of(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,n=0,o=0,p=0;g=fa-16|0;fa=g;yb(J[a+12>>2],b);a:{if(!J[a+12>>2]){break a}n=g+15|0;o=g+16|0;while(1){b:{c:{e=J[a>>2];j=J[e+(h<<3)>>2];c=j>>>0<64;if(!c){d=1;if(j>>>0<16384){break c}d=2;if(j>>>0<=4194303){break c}break a}d=0;if(j){break c}while(1){d:{if(J[(e+(d+h<<3)|0)+8>>2]){c=d;break d}c=d+1|0;if(J[(e+(h+c<<3)|0)+8>>2]){break d}c=d+2|0;if(J[(e+(h+c<<3)|0)+8>>2]){break d}c=63;d=d+3|0;if((d|0)!=63){continue}}break}H[g+15|0]=c<<2|3;d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){Ba(b,J[b+4>>2],g+15|0,o)}h=c+h|0;break b}H[g+14|0]=j<<2|d;e=J[b+20>>2];if(!J[b+16>>2]&(e|0)<=0|(e|0)<0){Ba(b,J[b+4>>2],g+14|0,n)}if(c){break b}c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break b}p=d>>>0<=1?1:d;d=0;while(1){d=d+1|0;e:{c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break e}m=j>>>(d<<3)-2|0;f=J[b+8>>2];e=J[b+4>>2];if((f-e|0)>0){H[e|0]=m;J[b+4>>2]=e+1;break e}k=J[b>>2];c=e-k|0;i=c+1|0;if((i|0)>=0){f=f-k|0;l=f<<1;f=f>>>0>=1073741823?2147483647:i>>>0>>0?l:i;if(f){i=pl(f)}else{i=0}l=i+c|0;H[l|0]=m;c=ok(i,k,c);e=ok(l+1|0,e,0);J[b+8>>2]=c+f;J[b+4>>2]=e;J[b>>2]=c;if(!k){break e}hl(k);break e}Ia();C()}if((d|0)!=(p|0)){continue}break}}h=h+1|0;if(h>>>0>2]){continue}break}}fa=g+16|0}function Dk(a){var b=0,c=0,d=0,e=0,f=0;a:{b:{c:{d:{e:{b=J[a+4>>2];f:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break f}b=yk(a)}switch(b-43|0){case 0:case 2:break e;default:break d}}f=(b|0)==45;b=J[a+4>>2];g:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break g}b=yk(a)}e=b-58|0;if(e>>>0>4294967285){break c}if(J[a+116>>2]<0){break b}J[a+4>>2]=J[a+4>>2]-1;break b}e=b-58|0}if(e>>>0<4294967286){break b}e=b-48|0;if(e>>>0<10){while(1){d=(P(d,10)+b|0)-48|0;c=(d|0)<214748364;b=J[a+4>>2];h:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break h}b=yk(a)}e=b-48|0;if(c&e>>>0<=9){continue}break}c=d>>31}i:{if(e>>>0>=10){break i}while(1){d=em(d,c,10,0);b=d+b|0;c=ja;c=b>>>0>>0?c+1|0:c;d=b-48|0;c=c-(b>>>0<48)|0;b=J[a+4>>2];j:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break j}b=yk(a)}e=b-48|0;if(e>>>0>9){break i}if(d>>>0<2061584302&(c|0)<=21474836|(c|0)<21474836){continue}break}}if(e>>>0<10){while(1){b=J[a+4>>2];k:{if((b|0)!=J[a+104>>2]){J[a+4>>2]=b+1;b=K[b|0];break k}b=yk(a)}if(b-48>>>0<10){continue}break}}b=J[a+116>>2];if((b|0)>0|(b|0)>=0){J[a+4>>2]=J[a+4>>2]-1}a=d;d=f?0-a|0:a;c=f?0-(((a|0)!=0)+c|0)|0:c;break a}c=-2147483648;if(J[a+116>>2]<0){break a}J[a+4>>2]=J[a+4>>2]-1;ja=-2147483648;return 0}ja=c;return d}function Vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0,g=0,h=0,i=0;g=fa-16|0;fa=g;a:{b:{c:{if(!b){break c}e=xk(c);if(e>>>0>=2147483632){break b}d:{e:{if(e>>>0>=11){f=(e|15)+1|0;a=pl(f);J[g+8>>2]=f|-2147483648;J[g>>2]=a;J[g+4>>2]=e;f=a+e|0;break e}H[g+11|0]=e;f=e+g|0;a=g;if(!e){break d}}nk(a,c,e)}H[f|0]=0;h=fa-16|0;fa=h;O[h+8>>3]=d;f=fa-48|0;fa=f;e=cc(b,g);if((e|0)!=(b+4|0)){a=J[e+4>>2];f:{if(!a){a=e;while(1){c=J[a+8>>2];i=J[c>>2]!=(a|0);a=c;if(i){continue}break}break f}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((e|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;$j(J[b+4>>2],e);a=J[e+28>>2];if(a){J[e+32>>2]=a;hl(a)}if(H[e+27|0]<0){hl(J[e+16>>2])}hl(e)}a=pl(8);J[f>>2]=a;c=a+8|0;J[f+8>>2]=c;J[f+4>>2]=c;c=J[h+12>>2];e=J[h+8>>2];H[a|0]=e;H[a+1|0]=e>>>8;H[a+2|0]=e>>>16;H[a+3|0]=e>>>24;H[a+4|0]=c;H[a+5|0]=c>>>8;H[a+6|0]=c>>>16;H[a+7|0]=c>>>24;g:{if(H[g+11|0]>=0){J[f+24>>2]=J[g+8>>2];a=J[g+4>>2];J[f+16>>2]=J[g>>2];J[f+20>>2]=a;break g}tl(f+16|0,J[g>>2],J[g+4>>2])}Zj(f+28|0,f);a=f+16|0;ak(f+40|0,b,a,a);a=J[f+28>>2];if(a){J[f+32>>2]=a;hl(a)}if(H[f+27|0]<0){hl(J[f+16>>2])}a=J[f>>2];if(a){J[f+4>>2]=a;hl(a)}fa=f+48|0;fa=h+16|0;if(H[g+11|0]>=0){break c}hl(J[g>>2])}fa=g+16|0;a=(b|0)!=0;break a}xe();C()}return a|0}function Tb(a,b){var c=0,d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;J[a+8>>2]=b;J[a>>2]=0;c=a+12|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+60>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;c=a- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;g=a+140|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+116>>2]=0;J[a+120>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;c=1;break a}c=b<<2;d=pl(c);J[a+104>>2]=d;f=c+d|0;J[a+112>>2]=f;pk(d,0,c);J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+108>>2]=f;d=pl(c);J[a+116>>2]=d;f=c+d|0;J[a+124>>2]=f;pk(d,0,c);J[a+136>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+120>>2]=f;d=pl(c);J[a+128>>2]=d;f=c+d|0;J[a+136>>2]=f;pk(d,0,c);J[a+132>>2]=f;d=pl(c);J[e>>2]=d;f=c+d|0;J[e+8>>2]=f;pk(d,0,c);J[e+4>>2]=f;c=b<<5|1}$b(g,c,e);d=J[e>>2];if(d){J[e+4>>2]=d;hl(d)}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if(b){b=b<<2;d=pl(b);J[e>>2]=d;f=b+d|0;J[e+8>>2]=f;pk(d,0,b);J[e+4>>2]=f}$b(a+152|0,c,e);b=J[e>>2];if(b){J[e+4>>2]=b;hl(b)}fa=e+16|0;return a}function Sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=fa-16|0;fa=f;ka[J[J[b>>2]+64>>2]](a,b);if(!J[a>>2]){if(H[a+15|0]<0){hl(J[a+4>>2])}g=J[b+48>>2];c=pl(32);J[f>>2]=c;J[f+4>>2]=29;J[f+8>>2]=-2147483616;d=K[1308]|K[1309]<<8|(K[1310]<<16|K[1311]<<24);e=K[1304]|K[1305]<<8|(K[1306]<<16|K[1307]<<24);H[c+21|0]=e;H[c+22|0]=e>>>8;H[c+23|0]=e>>>16;H[c+24|0]=e>>>24;H[c+25|0]=d;H[c+26|0]=d>>>8;H[c+27|0]=d>>>16;H[c+28|0]=d>>>24;d=K[1303]|K[1304]<<8|(K[1305]<<16|K[1306]<<24);e=K[1299]|K[1300]<<8|(K[1301]<<16|K[1302]<<24);H[c+16|0]=e;H[c+17|0]=e>>>8;H[c+18|0]=e>>>16;H[c+19|0]=e>>>24;H[c+20|0]=d;H[c+21|0]=d>>>8;H[c+22|0]=d>>>16;H[c+23|0]=d>>>24;d=K[1295]|K[1296]<<8|(K[1297]<<16|K[1298]<<24);e=K[1291]|K[1292]<<8|(K[1293]<<16|K[1294]<<24);H[c+8|0]=e;H[c+9|0]=e>>>8;H[c+10|0]=e>>>16;H[c+11|0]=e>>>24;H[c+12|0]=d;H[c+13|0]=d>>>8;H[c+14|0]=d>>>16;H[c+15|0]=d>>>24;d=K[1287]|K[1288]<<8|(K[1289]<<16|K[1290]<<24);e=K[1283]|K[1284]<<8|(K[1285]<<16|K[1286]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+29|0]=0;c=si(g,f,0);if(H[f+11|0]<0){hl(J[f>>2])}if(c){ka[J[J[b>>2]+68>>2]](b)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}fa=f+16|0}function sb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{c:{d:{if(b){if(b>>>0>=1073741824){break d}d=pl(b<<2);c=J[a>>2];J[a>>2]=d;if(c){hl(c)}J[a+4>>2]=b;c=0;if(b>>>0>=4){d=b&-4;while(1){g=c<<2;J[g+J[a>>2]>>2]=0;J[J[a>>2]+(g|4)>>2]=0;J[J[a>>2]+(g|8)>>2]=0;J[J[a>>2]+(g|12)>>2]=0;c=c+4|0;e=e+4|0;if((d|0)!=(e|0)){continue}break}}d=b&3;if(d){while(1){J[J[a>>2]+(c<<2)>>2]=0;c=c+1|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}}d=J[a+8>>2];if(!d){break a}c=a+8|0;f=J[d+4>>2];e=hm(b);if(e>>>0<2){break c}f=b>>>0<=f>>>0?(f>>>0)%(b>>>0)|0:f;J[J[a>>2]+(f<<2)>>2]=c;c=J[d>>2];if(!c){break a}if(e>>>0<=1){break b}while(1){e=J[c+4>>2];if(e>>>0>=b>>>0){e=(e>>>0)%(b>>>0)|0}e:{if((f|0)==(e|0)){d=c;break e}h=e<<2;g=h+J[a>>2]|0;if(!J[g>>2]){J[g>>2]=d;d=c;f=e;break e}J[d>>2]=J[c>>2];J[c>>2]=J[J[h+J[a>>2]>>2]>>2];J[J[h+J[a>>2]>>2]>>2]=c}c=J[d>>2];if(c){continue}break}break a}b=J[a>>2];J[a>>2]=0;if(b){hl(b)}J[a+4>>2]=0;break a}Ya();C()}f=b-1&f;J[J[a>>2]+(f<<2)>>2]=c;c=J[d>>2];if(!c){break a}}g=b-1|0;while(1){b=g&J[c+4>>2];f:{if((b|0)==(f|0)){d=c;break f}h=b<<2;e=h+J[a>>2]|0;if(J[e>>2]){J[d>>2]=J[c>>2];J[c>>2]=J[J[h+J[a>>2]>>2]>>2];J[J[h+J[a>>2]>>2]>>2]=c;break f}J[e>>2]=d;d=c;f=b}c=J[d>>2];if(c){continue}break}}}function Pb(a){var b=0,c=0,d=0,e=0,f=0;e=fa-16|0;fa=e;b=pl(16);J[e>>2]=b;J[e+4>>2]=14;J[e+8>>2]=-2147483632;c=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);d=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[b+6|0]=d;H[b+7|0]=d>>>8;H[b+8|0]=d>>>16;H[b+9|0]=d>>>24;H[b+10|0]=c;H[b+11|0]=c>>>8;H[b+12|0]=c>>>16;H[b+13|0]=c>>>24;c=K[1596]|K[1597]<<8|(K[1598]<<16|K[1599]<<24);d=K[1592]|K[1593]<<8|(K[1594]<<16|K[1595]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+14|0]=0;f=pi(a,e,-1);if(H[e+11|0]<0){hl(J[e>>2])}b=pl(16);J[e>>2]=b;J[e+4>>2]=14;J[e+8>>2]=-2147483632;c=K[1617]|K[1618]<<8|(K[1619]<<16|K[1620]<<24);d=K[1613]|K[1614]<<8|(K[1615]<<16|K[1616]<<24);H[b+6|0]=d;H[b+7|0]=d>>>8;H[b+8|0]=d>>>16;H[b+9|0]=d>>>24;H[b+10|0]=c;H[b+11|0]=c>>>8;H[b+12|0]=c>>>16;H[b+13|0]=c>>>24;c=K[1611]|K[1612]<<8|(K[1613]<<16|K[1614]<<24);d=K[1607]|K[1608]<<8|(K[1609]<<16|K[1610]<<24);H[b|0]=d;H[b+1|0]=d>>>8;H[b+2|0]=d>>>16;H[b+3|0]=d>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+14|0]=0;a=pi(a,e,-1);if(H[e+11|0]<0){hl(J[e>>2])}fa=e+16|0;a=(a|0)<(f|0)?f:a;return(a|0)==-1?5:a}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;fk(a,b,c);c=J[a+84>>2];d=J[a+88>>2]-c>>2;a:{if((d|0)>(b|0)){break a}b=b+1|0;if(b>>>0>d>>>0){b:{d=b-d|0;e=J[a+92>>2];c=J[a+88>>2];if(d>>>0<=e-c>>2>>>0){c:{if(!d){break c}b=c;e=d&7;if(e){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}c=(d<<2)+c|0;if((d-1&1073741823)>>>0<7){break c}while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((c|0)!=(b|0)){continue}break}}J[a+88>>2]=c;break b}d:{b=c;c=J[a+84>>2];i=b-c|0;g=i>>2;b=g+d|0;if(b>>>0<1073741824){e=e-c|0;h=e>>>1|0;e=e>>>0>=2147483644?1073741823:b>>>0>>0?h:b;if(e){if(e>>>0>=1073741824){break d}j=pl(e<<2)}g=(g<<2)+j|0;b=g;h=d&7;if(h){while(1){J[b>>2]=1;b=b+4|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=g+(d<<2)|0;if((d-1&1073741823)>>>0>=7){while(1){J[b+24>>2]=1;J[b+28>>2]=1;J[b+16>>2]=1;J[b+20>>2]=1;J[b+8>>2]=1;J[b+12>>2]=1;J[b>>2]=1;J[b+4>>2]=1;b=b+32|0;if((f|0)!=(b|0)){continue}break}}b=ok(j,c,i);J[a+88>>2]=f;J[a+84>>2]=b;J[a+92>>2]=b+(e<<2);if(c){hl(c)}break b}Ia();C()}Ya();C()}return}if(b>>>0>=d>>>0){break a}J[a+88>>2]=c+(b<<2)}}function Be(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{c=J[a+8>>2];e=J[a>>2];if(c-e>>3>>>0>=2){f=J[a+4>>2];h=f-e>>3;d=h>>>0>=2?2:h;b:{if(!d){break b}c=e;g=d;i=d&7;if(i){while(1){k=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=k;g=g-1|0;c=c+8|0;j=j+1|0;if((j|0)!=(i|0)){continue}break}}if(d>>>0<8){break b}while(1){d=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=d;d=J[b+4>>2];J[c+8>>2]=J[b>>2];J[c+12>>2]=d;d=J[b+4>>2];J[c+16>>2]=J[b>>2];J[c+20>>2]=d;d=J[b+4>>2];J[c+24>>2]=J[b>>2];J[c+28>>2]=d;d=J[b+4>>2];J[c+32>>2]=J[b>>2];J[c+36>>2]=d;d=J[b+4>>2];J[c+40>>2]=J[b>>2];J[c+44>>2]=d;d=J[b+4>>2];J[c+48>>2]=J[b>>2];J[c+52>>2]=d;d=J[b+4>>2];J[c+56>>2]=J[b>>2];J[c+60>>2]=d;c=c- -64|0;g=g-8|0;if(g){continue}break}}if(h>>>0<2){c=(2-h<<3)+f|0;while(1){e=J[b+4>>2];J[f>>2]=J[b>>2];J[f+4>>2]=e;f=f+8|0;if((c|0)!=(f|0)){continue}break}J[a+4>>2]=c;return}break a}if(e){J[a+4>>2]=e;hl(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;c=0}e=c>>>2|0;e=c>>>0>=2147483640?536870911:e>>>0<=2?2:e;if(e>>>0<536870912){c=e<<3;e=pl(c);J[a>>2]=e;J[a+8>>2]=c+e;d=J[b>>2];g=J[b+4>>2];c=e;b=0;while(1){J[c>>2]=d;J[c+4>>2]=g;c=c+8|0;b=b+1|0;if((b|0)!=2){continue}break}break a}Ia();C()}J[a+4>>2]=e+16}function Wb(a,b){var c=0,d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;J[a+8>>2]=b;J[a>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+28>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+48>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+68>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+88>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+100>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;g=a+128|0;a:{b:{if(b){if(b>>>0<1073741824){break b}Ia();C()}J[a+104>>2]=0;J[a+108>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;e=1;break a}e=b<<2;c=pl(e);J[a+92>>2]=c;f=c+e|0;J[a+100>>2]=f;pk(c,0,e);J[a+112>>2]=0;J[a+104>>2]=0;J[a+108>>2]=0;J[a+96>>2]=f;c=pl(e);J[a+104>>2]=c;f=c+e|0;J[a+112>>2]=f;pk(c,0,e);J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+108>>2]=f;c=pl(e);J[a+116>>2]=c;f=c+e|0;J[a+124>>2]=f;pk(c,0,e);J[a+120>>2]=f;c=pl(e);J[d>>2]=c;f=c+e|0;J[d+8>>2]=f;pk(c,0,e);J[d+4>>2]=f;e=b<<5|1}$b(g,e,d);c=J[d>>2];if(c){J[d+4>>2]=c;hl(c)}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;if(b){b=b<<2;c=pl(b);J[d>>2]=c;f=b+c|0;J[d+8>>2]=f;pk(c,0,b);J[d+4>>2]=f}$b(a+140|0,e,d);b=J[d>>2];if(b){J[d+4>>2]=b;hl(b)}fa=d+16|0;return a}function Ti(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;f=fa-16|0;fa=f;a:{b:{c:{if(!b){break c}e=xk(c);if(e>>>0>=2147483632){break b}d:{e:{if(e>>>0>=11){g=(e|15)+1|0;a=pl(g);J[f+8>>2]=g|-2147483648;J[f>>2]=a;J[f+4>>2]=e;g=a+e|0;break e}H[f+11|0]=e;g=e+f|0;a=f;if(!e){break d}}nk(a,c,e)}H[g|0]=0;g=fa-16|0;fa=g;J[g+12>>2]=d;e=fa-48|0;fa=e;d=cc(b,f);if((d|0)!=(b+4|0)){a=J[d+4>>2];f:{if(!a){a=d;while(1){c=J[a+8>>2];h=J[c>>2]!=(a|0);a=c;if(h){continue}break}break f}while(1){c=a;a=J[a>>2];if(a){continue}break}}if((d|0)==J[b>>2]){J[b>>2]=c}J[b+8>>2]=J[b+8>>2]-1;$j(J[b+4>>2],d);a=J[d+28>>2];if(a){J[d+32>>2]=a;hl(a)}if(H[d+27|0]<0){hl(J[d+16>>2])}hl(d)}a=pl(4);J[e>>2]=a;c=a+4|0;J[e+8>>2]=c;J[e+4>>2]=c;c=J[g+12>>2];H[a|0]=c;H[a+1|0]=c>>>8;H[a+2|0]=c>>>16;H[a+3|0]=c>>>24;g:{if(H[f+11|0]>=0){J[e+24>>2]=J[f+8>>2];a=J[f+4>>2];J[e+16>>2]=J[f>>2];J[e+20>>2]=a;break g}tl(e+16|0,J[f>>2],J[f+4>>2])}Zj(e+28|0,e);a=e+16|0;ak(e+40|0,b,a,a);a=J[e+28>>2];if(a){J[e+32>>2]=a;hl(a)}if(H[e+27|0]<0){hl(J[e+16>>2])}a=J[e>>2];if(a){J[e+4>>2]=a;hl(a)}fa=e+48|0;fa=g+16|0;if(H[f+11|0]>=0){break c}hl(J[f>>2])}fa=f+16|0;a=(b|0)!=0;break a}xe();C()}return a|0}function rb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;g=b&7;if(g){while(1){J[d>>2]=J[c>>2];d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];f=e-i>>2;h=f+b|0;if(h>>>0<1073741824){j=d-i|0;d=j>>>1|0;h=j>>>0>=2147483644?1073741823:d>>>0>h>>>0?d:h;if(h){if(h>>>0>=1073741824){break b}k=pl(h<<2)}f=(f<<2)+k|0;d=f;j=b&7;if(j){while(1){J[d>>2]=J[c>>2];d=d+4|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}g=(b<<2)+f|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((g|0)!=(d|0)){continue}break}}if((e|0)!=(i|0)){while(1){f=f-4|0;e=e-4|0;J[f>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[a+8>>2]=(h<<2)+k;J[a+4>>2]=g;J[a>>2]=f;if(i){hl(i)}return}Ia();C()}Ya();C()}function Ig(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a>>2];if(d-e>>2>>>0>=b>>>0){f=J[a+4>>2];h=f-e>>2;i=b>>>0>h>>>0?h:b;a:{if(!i){break a}d=e;g=i;j=g&7;if(j){while(1){J[d>>2]=J[c>>2];g=g-1|0;d=d+4|0;k=k+1|0;if((k|0)!=(j|0)){continue}break}}if(i>>>0<8){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;g=g-8|0;if(g){continue}break}}if(b>>>0>h>>>0){b=(b-h<<2)+f|0;while(1){J[f>>2]=J[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}J[a+4>>2]=b;return}J[a+4>>2]=e+(b<<2);return}if(e){J[a+4>>2]=e;hl(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}b:{if(b>>>0>=1073741824){break b}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:b>>>0>>0?e:b;if(d>>>0>=1073741824){break b}d=d<<2;e=pl(d);J[a>>2]=e;J[a+8>>2]=d+e;c=J[c>>2];d=e;g=b&7;if(g){while(1){J[d>>2]=c;d=d+4|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}e=e+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d+28>>2]=c;J[d+24>>2]=c;J[d+20>>2]=c;J[d+16>>2]=c;J[d+12>>2]=c;J[d+8>>2]=c;J[d+4>>2]=c;J[d>>2]=c;d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}Ia();C()}function Ug(a){var 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;a:{b=J[a+12>>2];c=J[b+4>>2];b=J[b>>2];if((c|0)!=(b|0)){b=c-b>>2;j=b>>>0<=1?1:b;k=a+140|0;while(1){b:{if(Nj(J[a+12>>2],(e>>>0)/3|0)){break b}b=J[a+12>>2];if(J[J[b+12>>2]+(e<<2)>>2]!=-1){break b}f=J[a+152>>2];d=e+1|0;d=(d>>>0)%3|0?d:e-2|0;if((d|0)!=-1){b=J[J[b>>2]+(d<<2)>>2]}else{b=-1}c=b<<2;if(J[f+c>>2]!=-1){break b}g=-1;h=J[a+144>>2];b=h;d=J[a+148>>2];if((b|0)==d<<5){if((h+1|0)<0){break a}if(h>>>0<=1073741822){b=d<<6;d=(h&-32)+32|0;b=b>>>0>d>>>0?b:d}else{b=2147483647}Gc(k,b);f=J[a+152>>2];g=J[c+f>>2];b=J[a+144>>2]}J[a+144>>2]=b+1;d=J[a+140>>2]+(b>>>3&536870908)|0;i=J[d>>2];m=d,n=im(b)&i,J[m>>2]=n;if((g|0)!=-1){break b}c=c+f|0;i=J[a+12>>2];b=e;while(1){d=b;J[c>>2]=h;b=-1;g=-1;c:{if((d|0)==-1){break c}c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)==-1){break c}l=J[i+12>>2];while(1){d=J[(c<<2)+l>>2];if((d|0)!=-1){c=d+1|0;c=(c>>>0)%3|0?c:d-2|0;if((c|0)!=-1){continue}break c}break}b=c+1|0;b=(b>>>0)%3|0?b:c-2|0;if((b|0)!=-1){g=J[J[i>>2]+(b<<2)>>2]}b=c}c=(g<<2)+f|0;if(J[c>>2]==-1){continue}break}}e=e+1|0;if((j|0)!=(e|0)){continue}break}}return 1}Ia();C()}function Bh(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=(c>>>0)/3|0;j=J[(J[J[a+8>>2]+96>>2]+P(f,12)|0)+(c-P(f,3)<<2)>>2];a:{h=J[J[a+12>>2]+4>>2];e=J[h+4>>2];if((e|0)!=J[h+8>>2]){J[e>>2]=j;J[h+4>>2]=e+4;break a}b:{i=J[h>>2];f=e-i|0;g=f>>2;d=g+1|0;if(d>>>0<1073741824){k=g<<2;g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break b}f=pl(g<<2)}else{f=0}d=k+f|0;J[d>>2]=j;j=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=j;J[h>>2]=d;if(i){hl(i)}break a}Ia();C()}Ya();C()}c:{d:{h=J[a+4>>2];e=J[h+4>>2];e:{if((e|0)!=J[h+8>>2]){J[e>>2]=c;J[h+4>>2]=e+4;break e}i=J[h>>2];f=e-i|0;j=f>>2;d=j+1|0;if(d>>>0>=1073741824){break d}g=f>>>1|0;g=f>>>0>=2147483644?1073741823:d>>>0>>0?g:d;if(g){if(g>>>0>=1073741824){break c}f=pl(g<<2)}else{f=0}d=f+(j<<2)|0;J[d>>2]=c;c=d+4|0;if((e|0)!=(i|0)){while(1){d=d-4|0;e=e-4|0;J[d>>2]=J[e>>2];if((e|0)!=(i|0)){continue}break}}J[h+8>>2]=f+(g<<2);J[h+4>>2]=c;J[h>>2]=d;if(!i){break e}hl(i)}a=J[a+4>>2];J[J[a+12>>2]+(b<<2)>>2]=J[a+24>>2];J[a+24>>2]=J[a+24>>2]+1;return}Ia();C()}Ya();C()}function He(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=fa-16|0;fa=i;J[a+4>>2]=0;J[a+8>>2]=0;d=a+16|0;J[d>>2]=0;J[d+4>>2]=0;J[a>>2]=a+4;g=a+28|0;J[g>>2]=0;J[g+4>>2]=0;J[a+12>>2]=d;J[a+24>>2]=g;if((b+4|0)!=(a|0)){Je(a,J[b+4>>2],b+8|0)}d=a+24|0;if((d|0)!=(b+28|0)){Je(d,J[b+28>>2],b+32|0)}J[i+12>>2]=0;h=J[c+12>>2];f=J[c+8>>2];a:{if((h-f|0)<=0){break a}g=b+20|0;if(!J[g>>2]){break a}while(1){b=J[g>>2];b:{if(!b){break b}j=J[J[(e<<2)+f>>2]+56>>2];d=g;while(1){k=(j|0)>J[b+16>>2];d=k?d:b;b=J[(k?b+4|0:b)>>2];if(b){continue}break}if((d|0)==(g|0)|(j|0)>2]){break b}h=d+20|0;e=fa-48|0;fa=e;j=J[i+12>>2];d=a+16|0;f=J[d>>2];c:{d:{if(!f){break d}b=d;while(1){k=(j|0)>J[f+16>>2];b=k?b:f;f=J[(k?f+4|0:f)>>2];if(f){continue}break}if((b|0)==(d|0)){break d}if((j|0)>=J[b+16>>2]){break c}}J[e+28>>2]=0;J[e+32>>2]=0;f=e+24|0;J[e+24>>2]=f|4;b=e+16|0;J[b>>2]=0;J[b+4>>2]=0;J[e+8>>2]=j;J[e+12>>2]=b;d=e+8|0;Me(e+40|0,a+12|0,d,d);b=J[e+40>>2];Mc(d|4,J[e+16>>2]);Mc(f,J[e+28>>2])}b=b+20|0;if((b|0)!=(h|0)){Je(b,J[h>>2],h+4|0)}fa=e+48|0;f=J[c+8>>2];h=J[c+12>>2];e=J[i+12>>2]}e=e+1|0;J[i+12>>2]=e;if(h-f>>2>(e|0)){continue}break}}fa=i+16|0}function Oe(a,b,c){var d=0,e=0,f=0,g=0;f=fa-16|0;fa=f;d=pl(16);J[f>>2]=d;J[f+4>>2]=14;J[f+8>>2]=-2147483632;g=K[1602]|K[1603]<<8|(K[1604]<<16|K[1605]<<24);e=K[1598]|K[1599]<<8|(K[1600]<<16|K[1601]<<24);H[d+6|0]=e;H[d+7|0]=e>>>8;H[d+8|0]=e>>>16;H[d+9|0]=e>>>24;H[d+10|0]=g;H[d+11|0]=g>>>8;H[d+12|0]=g>>>16;H[d+13|0]=g>>>24;g=K[1596]|K[1597]<<8|(K[1598]<<16|K[1599]<<24);e=K[1592]|K[1593]<<8|(K[1594]<<16|K[1595]<<24);H[d|0]=e;H[d+1|0]=e>>>8;H[d+2|0]=e>>>16;H[d+3|0]=e>>>24;H[d+4|0]=g;H[d+5|0]=g>>>8;H[d+6|0]=g>>>16;H[d+7|0]=g>>>24;H[d+14|0]=0;d=a+4|0;ni(d,f,b);if(H[f+11|0]<0){hl(J[f>>2])}a=pl(16);J[f>>2]=a;J[f+4>>2]=14;J[f+8>>2]=-2147483632;e=K[1617]|K[1618]<<8|(K[1619]<<16|K[1620]<<24);b=K[1613]|K[1614]<<8|(K[1615]<<16|K[1616]<<24);H[a+6|0]=b;H[a+7|0]=b>>>8;H[a+8|0]=b>>>16;H[a+9|0]=b>>>24;H[a+10|0]=e;H[a+11|0]=e>>>8;H[a+12|0]=e>>>16;H[a+13|0]=e>>>24;e=K[1611]|K[1612]<<8|(K[1613]<<16|K[1614]<<24);b=K[1607]|K[1608]<<8|(K[1609]<<16|K[1610]<<24);H[a|0]=b;H[a+1|0]=b>>>8;H[a+2|0]=b>>>16;H[a+3|0]=b>>>24;H[a+4|0]=e;H[a+5|0]=e>>>8;H[a+6|0]=e>>>16;H[a+7|0]=e>>>24;H[a+14|0]=0;ni(d,f,c);if(H[f+11|0]<0){hl(J[f>>2])}fa=f+16|0}function Ba(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=d-c|0;if((h|0)<=0){return}a:{e=J[a+8>>2];i=J[a+4>>2];if((e-i|0)>=(h|0)){j=i-b|0;if((j|0)>=(h|0)){f=i;g=d;break a}f=i;g=c+j|0;if((g|0)!=(d|0)){e=g;while(1){H[f|0]=K[e|0];f=f+1|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=f;if((j|0)>0){break a}return}k=J[a>>2];g=(i-k|0)+h|0;if((g|0)>=0){j=b-k|0;f=e-k|0;e=f<<1;f=f>>>0>=1073741823?2147483647:e>>>0>g>>>0?e:g;if(f){e=pl(f)}else{e=0}g=j+e|0;if((c|0)!=(d|0)){g=nk(g,c,h)+h|0}d=ok(e,k,j);c=i-b|0;b=ok(g,b,c);J[a+8>>2]=e+f;J[a+4>>2]=b+c;J[a>>2]=d;if(k){hl(k)}return}Ia();C()}e=f;d=e-h|0;if(i>>>0>d>>>0){while(1){H[e|0]=K[d|0];e=e+1|0;d=d+1|0;if(i>>>0>d>>>0){continue}break}}J[a+4>>2]=e;a=b+h|0;if((a|0)!=(f|0)){a=f-a|0;ok(f-a|0,b,a)}if((c|0)==(g|0)){return}f=(c^-1)+g|0;a=g-c&7;b:{if(!a){e=b;break b}d=0;e=b;while(1){H[e|0]=K[c|0];e=e+1|0;c=c+1|0;d=d+1|0;if((a|0)!=(d|0)){continue}break}}if(f>>>0<7){return}while(1){H[e|0]=K[c|0];H[e+1|0]=K[c+1|0];H[e+2|0]=K[c+2|0];H[e+3|0]=K[c+3|0];H[e+4|0]=K[c+4|0];H[e+5|0]=K[c+5|0];H[e+6|0]=K[c+6|0];H[e+7|0]=K[c+7|0];e=e+8|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}function yk(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=J[a+112>>2];e=J[a+116>>2];h=(b|e)!=0;c=b;d=J[a+4>>2];g=J[a+44>>2];b=d-g|0;i=b;f=b+J[a+120>>2]|0;b=J[a+124>>2]+(b>>31)|0;a:{b=f>>>0>>0?b+1|0:b;if(!((c>>>0<=f>>>0&(b|0)>=(e|0)|(b|0)>(e|0))&h)){e=fa-16|0;fa=e;d=-1;c=J[a+72>>2];J[a+72>>2]=c-1|c;if(J[a+20>>2]!=J[a+28>>2]){ka[J[a+36>>2]](a,0,0)|0}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;c=J[a>>2];b:{if(c&4){J[a>>2]=c|32;c=-1;break b}g=J[a+44>>2]+J[a+48>>2]|0;J[a+8>>2]=g;J[a+4>>2]=g;c=c<<27>>31}c:{if(c){break c}if((ka[J[a+32>>2]](a,e+15|0,1)|0)!=1){break c}d=K[e+15|0]}fa=e+16|0;e=d;if((d|0)>=0){break a}g=J[a+44>>2];d=J[a+4>>2]}J[a+112>>2]=-1;J[a+116>>2]=-1;J[a+104>>2]=d;e=g-d|0;d=e+f|0;b=(e>>31)+b|0;J[a+120>>2]=d;J[a+124>>2]=d>>>0>>0?b+1|0:b;return-1}d=f+1|0;b=d?b:b+1|0;h=J[a+4>>2];g=J[a+8>>2];c=J[a+116>>2];i=c;f=J[a+112>>2];d:{if(!(c|f)){break d}c=f-d|0;f=i-(b+(d>>>0>f>>>0)|0)|0;j=g-h|0;i=j>>31;if((f|0)>=(i|0)&c>>>0>=j>>>0|(f|0)>(i|0)){break d}g=c+h|0}J[a+104>>2]=g;f=J[a+44>>2];c=f-h|0;d=c+d|0;b=(c>>31)+b|0;J[a+120>>2]=d;J[a+124>>2]=d>>>0>>0?b+1|0:b;if(f>>>0>=h>>>0){H[h-1|0]=e}return e}function Hb(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{b:{f=a+16|0;d=J[f>>2];if(!d){break b}g=J[b>>2];b=f;while(1){e=(g|0)>J[d+16>>2];b=e?b:d;d=J[(e?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(f|0)|(g|0)>2]){break b}d=J[b+24>>2];if(!d){break a}a=K[c+11|0];b=a<<24>>24<0;f=b?J[c>>2]:c;a=b?J[c+4>>2]:a;while(1){b=K[d+27|0];c=b<<24>>24<0;b=c?J[d+20>>2]:b;g=b>>>0>>0;c:{d:{e:{f:{g:{h:{e=g?b:a;if(e){c=c?J[d+16>>2]:d+16|0;h=tk(f,c,e);if(h){break h}if(a>>>0>=b>>>0){break g}break c}if(a>>>0>=b>>>0){break f}break c}if((h|0)<0){break c}}b=tk(c,f,e);if(b){break e}}if(g){break d}return 1}if((b|0)<0){break d}return 1}d=d+4|0}d=J[d>>2];if(d){continue}break}break a}d=J[a+4>>2];if(!d){break a}a=K[c+11|0];b=a<<24>>24<0;f=b?J[c>>2]:c;a=b?J[c+4>>2]:a;while(1){b=K[d+27|0];c=b<<24>>24<0;b=c?J[d+20>>2]:b;g=b>>>0>>0;i:{j:{k:{l:{m:{n:{e=g?b:a;if(e){c=c?J[d+16>>2]:d+16|0;h=tk(f,c,e);if(h){break n}if(a>>>0>=b>>>0){break m}break i}if(a>>>0>=b>>>0){break l}break i}if((h|0)<0){break i}}b=tk(c,f,e);if(b){break k}}if(g){break j}return 1}if((b|0)<0){break j}return 1}d=d+4|0}d=J[d>>2];if(d){continue}break}}return 0}function nk(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){_(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=J[b+36>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=J[b+44>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=J[b+52>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=J[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){J[c>>2]=J[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){H[c|0]=K[b|0];H[c+1|0]=K[b+1|0];H[c+2|0]=K[b+2|0];H[c+3|0]=K[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function nh(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=10540;c=J[a+280>>2];J[a+280>>2]=0;if(c){d=c-4|0;b=J[d>>2];if(b){b=c+(b<<5)|0;while(1){b=Ae(b-32|0);if((c|0)!=(b|0)){continue}break}}hl(d)}b=J[a+268>>2];if(b){J[a+272>>2]=b;hl(b)}b=J[a+244>>2];J[a+244>>2]=0;if(b){hl(b)}b=J[a+232>>2];if(b){J[a+236>>2]=b;hl(b)}Ae(a+200|0);b=J[a+184>>2];if(b){J[a+188>>2]=b;hl(b)}c=J[a+172>>2];if(c){d=c;b=J[a+176>>2];if((c|0)!=(b|0)){while(1){d=b-136|0;e=J[d+116>>2];if(e){J[b-16>>2]=e;hl(e)}e=J[b-32>>2];if(e){J[b-28>>2]=e;hl(e)}bh(b-132|0);b=d;if((c|0)!=(b|0)){continue}break}d=J[a+172>>2]}J[a+176>>2]=c;hl(d)}b=J[a+152>>2];if(b){J[a+156>>2]=b;hl(b)}b=J[a+140>>2];if(b){hl(b)}b=J[a+128>>2];if(b){while(1){c=J[b>>2];hl(b);b=c;if(b){continue}break}}b=J[a+120>>2];J[a+120>>2]=0;if(b){hl(b)}b=J[a+108>>2];if(b){J[a+112>>2]=b;hl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+84>>2];if(b){hl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;hl(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;hl(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;hl(b)}b=J[a+28>>2];if(b){hl(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}b=J[a+12>>2];J[a+12>>2]=0;if(b){Tg(b)}return a|0}function Yg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=-1;a:{if((b|0)==-1){h=J[a+12>>2];d=1;g=-1;break a}h=J[a+12>>2];b:{c:{if((b>>>0)%3|0){e=b-1|0;break c}e=b+2|0;if((e|0)!=-1){break c}d=1;break b}g=J[h+12>>2];while(1){f=e;d=J[g+(e<<2)>>2];if((d|0)!=-1){f=-1;e=d+1|0;e=(e>>>0)%3|0?e:d-2|0;if((e|0)!=-1){continue}}break}d=(d|0)!=-1;g=-1;if((b|0)==-1){break a}}g=J[J[h>>2]+(b<<2)>>2]}b=0;if(c){b=J[a+84>>2]+(g>>>3&536870908)|0;J[b>>2]=J[b>>2]|1<>2]+(g<<2)>>2];e=J[a+140>>2]+(c>>>3&536870908)|0;J[e>>2]=J[e>>2]|1<>>0)%3|0){e=f-1|0;break e}e=f+2|0;c=-1;if((e|0)==-1){break d}}c=J[J[h>>2]+(e<<2)>>2]}if((g|0)!=(c|0)){i=J[a+84>>2];while(1){a=f;f=(c>>>3&536870908)+i|0;J[f>>2]=J[f>>2]|1<>>0)%3|0?d:a-2|0;if((d|0)==-1){break f}e=J[h+12>>2];while(1){a=J[e+(d<<2)>>2];if((a|0)!=-1){d=a+1|0;d=(d>>>0)%3|0?d:a-2|0;if((d|0)!=-1){continue}break f}break}g:{if((d>>>0)%3|0){e=d-1|0;break g}e=d+2|0;if((e|0)!=-1){break g}f=-3;break f}c=J[J[h>>2]+(e<<2)>>2];f=d}b=b+1|0;if((c|0)!=(g|0)){continue}break}}}function dh(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;a:{b:{g=J[a+124>>2];c:{if(!g){break c}e=J[a+120>>2];i=hm(g);h=g-1&d;d:{if(i>>>0<=1){break d}h=d;if(d>>>0>>0){break d}h=(d>>>0)%(g>>>0)|0}e=J[e+(h<<2)>>2];if(!e){break c}f=J[e>>2];if(!f){break c}e:{if(i>>>0<=1){e=g-1|0;while(1){g=J[f+4>>2];f:{if((g|0)!=(d|0)){if((h|0)==(e&g)){break f}break c}if(J[f+8>>2]==(d|0)){break e}}f=J[f>>2];if(f){continue}break}break c}while(1){e=J[f+4>>2];g:{if((e|0)!=(d|0)){if(e>>>0>=g>>>0){e=(e>>>0)%(g>>>0)|0}if((e|0)==(h|0)){break g}break c}if(J[f+8>>2]==(d|0)){break e}}f=J[f>>2];if(f){continue}break}break c}f=J[f+12>>2];if((f|0)==-1){break c}g=c&1;c=J[a+112>>2];if((c|0)!=J[a+116>>2]){H[c+8|0]=g;J[c+4>>2]=b;J[c>>2]=f;J[a+112>>2]=c+12;return}d=J[a+108>>2];i=c-d|0;c=(i|0)/12|0;e=c+1|0;if(e>>>0>=357913942){break b}h=c<<1;e=c>>>0>=178956970?357913941:e>>>0>>0?h:e;if(e){if(e>>>0>=357913942){break a}h=pl(P(e,12))}else{h=0}c=h+P(c,12)|0;H[c+8|0]=g;J[c+4>>2]=b;J[c>>2]=f;b=ok(c+P((i|0)/-12|0,12)|0,d,i);J[a+116>>2]=h+P(e,12);J[a+112>>2]=c+12;J[a+108>>2]=b;if(!d){break c}hl(d)}return}Ia();C()}Ya();C()}function vb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+8>>2];e=J[a+4>>2];if(d-e>>2>>>0>=b>>>0){a:{if(!b){break a}d=e;f=b&7;if(f){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}e=(b<<2)+e|0;if((b-1&1073741823)>>>0<7){break a}while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e;return}b:{i=J[a>>2];j=e-i|0;f=j>>2;g=f+b|0;if(g>>>0<1073741824){d=d-i|0;e=d>>>1|0;g=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(g){if(g>>>0>=1073741824){break b}k=pl(g<<2)}f=(f<<2)+k|0;d=f;e=b&7;if(e){while(1){J[d>>2]=J[c>>2];d=d+4|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}e=f+(b<<2)|0;if((b-1&1073741823)>>>0>=7){while(1){J[d>>2]=J[c>>2];J[d+4>>2]=J[c>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=J[c>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=J[c>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=J[c>>2];d=d+32|0;if((e|0)!=(d|0)){continue}break}}b=ok(k,i,j);J[a+4>>2]=e;J[a>>2]=b;J[a+8>>2]=b+(g<<2);if(i){hl(i)}return}Ia();C()}Ya();C()}function jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=J[c>>2];m=J[c+4>>2];a:{if((f|0)==(m|0)){h=J[a+12>>2];b=J[a+8>>2];i=h-b|0;c=0;break a}o=J[b>>2];h=J[a+12>>2];b=J[a+8>>2];i=h-b|0;if((i|0)<=0){c=0;while(1){e=J[(J[f>>2]<<2)+o>>2];c=c>>>0>e>>>0?c:e+1|0;f=f+4|0;if((m|0)!=(f|0)){continue}break}break a}c=i>>>2|0;c=c>>>0<=1?1:c;q=c&1073741822;r=c&1;c=0;s=i>>>0<8;while(1){e=J[f>>2];k=e<<2;l=J[o+k>>2];if(l>>>0>=c>>>0){c=0;j=0;if(!s){while(1){p=c<<2;d=J[p+b>>2];g=J[d+68>>2];d=K[d+84|0]?e:J[g+k>>2];n=g;g=l<<2;J[n+g>>2]=d;n=g;d=J[(p|4)+b>>2];g=J[d+68>>2];J[n+g>>2]=K[d+84|0]?e:J[g+k>>2];c=c+2|0;j=j+2|0;if((q|0)!=(j|0)){continue}break}}if(r){c=J[(c<<2)+b>>2];d=J[c+68>>2];j=d+(l<<2)|0;if(!K[c+84|0]){e=J[d+k>>2]}J[j>>2]=e}c=l+1|0}f=f+4|0;if((m|0)!=(f|0)){continue}break}}d=0;if((i|0)>0){while(1){b=J[(d<<2)+b>>2];H[b+84|0]=0;f=J[b+68>>2];e=J[b+72>>2]-f>>2;b:{if(e>>>0>>0){rb(b+68|0,c-e|0,15024);h=J[a+12>>2];break b}if(c>>>0>=e>>>0){break b}J[b+72>>2]=f+(c<<2)}d=d+1|0;b=J[a+8>>2];if((d|0)>2){continue}break}}}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;J[a+4>>2]=b;d=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=d;a:{if((ka[J[J[a>>2]+32>>2]](a)|0)==1&J[J[a+8>>2]+28>>2]-1>>>0>5){break a}f=J[b+48>>2];d=fa-16|0;fa=d;J[d+12>>2]=c;b=pl(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1529];c=K[1525]|K[1526]<<8|(K[1527]<<16|K[1528]<<24);e=K[1521]|K[1522]<<8|(K[1523]<<16|K[1524]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1517]|K[1518]<<8|(K[1519]<<16|K[1520]<<24);e=K[1513]|K[1514]<<8|(K[1515]<<16|K[1516]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;b=Gb(f,d+12|0,d,-1);if(H[d+11|0]<0){hl(J[d>>2])}fa=d+16|0;c=ka[J[J[a>>2]+48>>2]](a,(b|0)==-1?-1:b>>>0>6?-2:b)|0;b=J[a+36>>2];J[a+36>>2]=c;e=1;if(b){ka[J[J[b>>2]+4>>2]](b);c=J[a+36>>2]}if(!c){break a}if(ka[J[J[a>>2]+36>>2]](a,c)|0){break a}b=J[a+36>>2];J[a+36>>2]=0;if(!b){break a}ka[J[J[b>>2]+4>>2]](b)}return e|0}function ll(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(K[a+11|0]>>>7|0){e=J[a+4>>2]}else{e=K[a+11|0]&127}if(e>>>0>>0){h=fa-16|0;fa=h;g=b-e|0;if(g){f=K[a+11|0]>>>7|0?(J[a+8>>2]&2147483647)-1|0:10;if(K[a+11|0]>>>7|0){b=J[a+4>>2]}else{b=K[a+11|0]&127}i=b+g|0;if(f-b>>>0>>0){b:{d=fa-16|0;fa=d;c=i-f|0;if(c>>>0<=2147483631-f>>>0){if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}if(f>>>0<1073741799){J[d+12>>2]=f<<1;J[d>>2]=c+f;c=fa-16|0;fa=c;fa=c+16|0;c=d+12|0;c=J[(M[d>>2]>2]?c:d)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}ml(d,c);c=J[d>>2];if(b){jl(c,e,b)}if((f|0)!=10){hl(e)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[d+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;fa=d+16|0;break b}xe();C()}}if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}b=e+b|0;d=fa-16|0;fa=d;H[d+15|0]=0;while(1){if(g){H[b|0]=K[d+15|0];g=g-1|0;b=b+1|0;continue}break}fa=d+16|0;ol(a,i);H[h+15|0]=0;H[e+i|0]=K[h+15|0]}fa=h+16|0;break a}if(K[a+11|0]>>>7|0){e=J[a>>2]}else{e=a}d=fa-16|0;fa=d;ol(a,b);H[d+15|0]=0;H[b+e|0]=K[d+15|0];fa=d+16|0}}function Vj(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=fa-16|0;fa=f;a:{d=dk(a);b:{if(!d){a=0;break b}e=J[a+100>>2];g=J[a+96>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=e-g|0;c=(b|0)/12|0;c:{if((e|0)==(g|0)){break c}if(c>>>0>=357913942){break a}e=pl(b);J[f>>2]=e;J[f+8>>2]=e+P(c,12);a=0;h=e;e=b-12|0;b=(e-((e>>>0)%12|0)|0)+12|0;e=pk(h,0,b);J[f+4>>2]=b+e;if(K[d+84|0]){d=c>>>0<=1?1:c;i=d&1;if(c>>>0>=2){j=d&-2;c=0;while(1){b=P(a,12);d=b+g|0;h=J[d>>2];k=J[d+4>>2];b=b+e|0;J[b+8>>2]=J[d+8>>2];J[b>>2]=h;J[b+4>>2]=k;b=P(a|1,12);d=b+g|0;h=J[d>>2];k=J[d+4>>2];b=b+e|0;J[b+8>>2]=J[d+8>>2];J[b>>2]=h;J[b+4>>2]=k;a=a+2|0;c=c+2|0;if((j|0)!=(c|0)){continue}break}}if(!i){break c}c=P(a,12);a=c+g|0;g=J[a+4>>2];d=J[a>>2];c=c+e|0;J[c+8>>2]=J[a+8>>2];J[c>>2]=d;J[c+4>>2]=g;break c}i=c>>>0<=1?1:c;a=J[d+68>>2];c=0;while(1){b=P(c,12);d=b+g|0;j=J[a+(J[d>>2]<<2)>>2];h=J[a+(J[d+4>>2]<<2)>>2];b=b+e|0;J[b+8>>2]=J[a+(J[d+8>>2]<<2)>>2];J[b+4>>2]=h;J[b>>2]=j;c=c+1|0;if((i|0)!=(c|0)){continue}break}}a=Mj(f);c=J[f>>2];if(!c){break b}J[f+4>>2]=c;hl(c)}fa=f+16|0;return a}Ia();C()}function db(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;a:{if(J[a+64>>2]){break a}c=pl(32);J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;d=J[a+64>>2];J[a+64>>2]=c;if(!d){break a}c=J[d>>2];if(c){J[d+4>>2]=c;hl(c)}hl(d)}d=J[a+64>>2];c=J[a+28>>2]-1|0;if(c>>>0<=10){i=J[(c<<2)+14832>>2]}else{i=-1}c=P(i,K[a+24|0]);i=c;k=c>>31;c=em(c,k,b,0);b:{if((ja|0)<0){break b}c:{f=J[d+4>>2];e=J[d>>2];g=f-e|0;d:{if(c>>>0>g>>>0){j=c-g|0;h=J[d+8>>2];if(j>>>0<=h-f>>>0){l=d,m=pk(f,0,j)+j|0,J[l+4>>2]=m;break d}if((c|0)<0){break c}f=h-e|0;h=f<<1;f=f>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=pl(f);pk(h+g|0,0,j);g=ok(h,e,g);J[d+8>>2]=g+f;J[d+4>>2]=c+g;J[d>>2]=g;if(!e){break d}hl(e);break d}if(c>>>0>=g>>>0){break d}J[d+4>>2]=c+e}c=J[d+28>>2];e=J[d+24>>2]+1|0;c=e?c:c+1|0;J[d+24>>2]=e;J[d+28>>2]=c;e=1;break b}Ia();C()}if(e){c=J[a+64>>2];J[a>>2]=c;d=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=d;d=J[c+24>>2];c=J[c+28>>2];J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=i;J[a+44>>2]=k;J[a+16>>2]=d;J[a+20>>2]=c;J[a+80>>2]=b}}function Ra(a,b,c){var d=0,e=Q(0),f=0,g=Q(0),h=0,i=0,j=Q(0),k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!(J[a+4>>2]!=-1|c-1>>>0>29)){J[a+4>>2]=c;h=K[b+24|0];c=0;J[a+20>>2]=0;if(h){d=h<<2;c=pl(d);f=pk(c,0,d)+d|0}d=J[a+8>>2];if(d){J[a+12>>2]=d;hl(d)}J[a+8>>2]=c;J[a+16>>2]=f;J[a+12>>2]=f;d=h<<2;k=pl(d);o=pl(d);d=J[b+40>>2];s=J[b+44>>2];p=d;l=J[b+48>>2];m=J[b>>2];nk(c,l+J[m>>2]|0,d);n=nk(k,l+J[m>>2]|0,d);b=J[b+80>>2];a:{if(!(!h|b>>>0<2)){k=b;d=1;c=0;while(1){b=J[m>>2];f=em(d,c,p,s)+l|0;t=nk(o,b+f|0,p);u=J[a+8>>2];f=0;b=0;while(1){i=b<<2;q=t+i|0;e=N[q>>2];if(e!=e){break a}r=i+u|0;if(N[r>>2]>e){N[r>>2]=e;e=N[q>>2]}i=i+n|0;if(N[i>>2]>2]=e}b=b+1|0;if((h|0)!=(b|0)){continue}break}d=d+1|0;c=d?c:c+1|0;if((d|0)!=(k|0)|c){continue}break}}e=N[a+20>>2];if(h){c=J[a+8>>2];f=0;b=0;while(1){d=b<<2;g=N[d+c>>2];if(g!=g|Q(R(g))==Q(Infinity)){break a}j=N[d+n>>2];if(j!=j|Q(R(j))==Q(Infinity)){break a}g=Q(j-g);if(g>e){N[a+20>>2]=g;e=g}b=b+1|0;if((h|0)!=(b|0)){continue}break}}f=1;if(e!=Q(0)){break a}J[a+20>>2]=1065353216}hl(o);hl(n)}return f}function sk(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;A(+a);d=v(1)|0;b=v(0)|0;c=d>>>16|0;f=d-1072604335|0;if((f|0)==135337|f>>>0<135337){if(!b&(d|0)==1072693248){return 0}g=O[1879];a=a+-1;A(+a);b=v(1)|0;v(0)|0;x(0,0);x(1,b|0);h=+z();i=g*h;e=a*a;j=e*(a*O[1888]+O[1887]);k=i+j;l=e*e;return k+(l*(l*(e*(a*O[1896]+O[1895])+(a*O[1894]+O[1893]))+(e*(a*O[1892]+O[1891])+(a*O[1890]+O[1889])))+((a-h)*g+a*O[1880]+(j+(i-k))))}a:{if(c-32752>>>0<=4294934559){if(!(d&2147483647|b)){b=fa-16|0;O[b+8>>3]=-1;return O[b+8>>3]/0}if(!b&(d|0)==2146435072){break a}if(!(!(c&32768)&(c&32752)!=32752)){a=a-a;return a/a}A(+(a*4503599627370496));d=v(1)|0;b=v(0)|0;d=d-54525952|0}c=d-1072037888|0;f=c;c=(c>>>14&63)<<4;g=O[c+15184>>3]+ +(f>>20);h=O[1879];a=O[c+15176>>3];x(0,b-0|0);x(1,d-((f&-1048576)+(b>>>0>>0)|0)|0);a=a*(+z()-O[c+16200>>3]-O[c+16208>>3]);A(+a);b=v(1)|0;v(0)|0;x(0,0);x(1,b|0);i=+z();j=h*i;k=g+j;e=a*a;a=k+(e*(e*e*(a*O[1886]+O[1885])+(e*(a*O[1884]+O[1883])+(a*O[1882]+O[1881])))+((a-i)*h+O[1880]*a+(j+(g-k))))}return a}function gc(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=32-b|0;c=c<>2];f=32-d|0;c:{if((f|0)>=(b|0)){b=b+d|0;J[a+16>>2]=b;f=J[a+12>>2]|c>>>d;J[a+12>>2]=f;if((b|0)!=32){break c}b=J[a+4>>2];d:{if((b|0)!=J[a+8>>2]){J[b>>2]=f;J[a+4>>2]=b+4;break d}c=b;b=J[a>>2];c=c-b|0;g=c>>2;d=g+1|0;if(d>>>0>=1073741824){break b}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break a}e=pl(d<<2)}else{e=0}g=e+(g<<2)|0;J[g>>2]=f;c=ok(e,b,c);J[a+8>>2]=c+(d<<2);J[a+4>>2]=g+4;J[a>>2]=c;if(!b){break d}hl(b)}J[a+12>>2]=0;J[a+16>>2]=0;return}b=b-f|0;J[a+16>>2]=b;g=c>>>e|0;f=J[a+12>>2]|g>>>b;J[a+12>>2]=f;b=J[a+4>>2];e:{if((b|0)!=J[a+8>>2]){J[b>>2]=f;J[a+4>>2]=b+4;break e}c=b;b=J[a>>2];c=c-b|0;h=c>>2;d=h+1|0;if(d>>>0>=1073741824){break b}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break a}e=pl(d<<2)}else{e=0}h=e+(h<<2)|0;J[h>>2]=f;c=ok(e,b,c);J[a+8>>2]=c+(d<<2);J[a+4>>2]=h+4;J[a>>2]=c;if(!b){break e}hl(b)}J[a+12>>2]=g<<32-J[a+16>>2]}return}Ia();C()}Ya();C()}function We(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);H[b+12|0]=c;a:{if(c){break a}while(1){d=J[b+8>>2];if(K[d+12|0]){break a}b:{c=J[d+8>>2];e=J[c>>2];if((e|0)==(d|0)){e=J[c+4>>2];if(!(!e|K[e+12|0])){break b}c:{if(J[d>>2]==(b|0)){b=d;break c}b=J[d+4>>2];a=J[b>>2];J[d+4>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b>>2]=d;J[d+8>>2]=b;c=J[b+8>>2];d=J[c>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[d+4>>2];J[c>>2]=a;if(a){J[a+8>>2]=c}J[d+8>>2]=J[c+8>>2];a=J[c+8>>2];J[((J[a>>2]!=(c|0))<<2)+a>>2]=d;J[d+4>>2]=c;J[c+8>>2]=d;return}if(!(K[e+12|0]|!e)){break b}d:{if(J[d>>2]!=(b|0)){b=d;break d}a=J[b+4>>2];J[d>>2]=a;if(a){J[a+8>>2]=d;c=J[d+8>>2]}J[b+8>>2]=c;a=J[d+8>>2];J[((J[a>>2]!=(d|0))<<2)+a>>2]=b;J[b+4>>2]=d;J[d+8>>2]=b;c=J[b+8>>2]}H[b+12|0]=1;H[c+12|0]=0;a=J[c+4>>2];b=J[a>>2];J[c+4>>2]=b;if(b){J[b+8>>2]=c}J[a+8>>2]=J[c+8>>2];b=J[c+8>>2];J[((J[b>>2]!=(c|0))<<2)+b>>2]=a;J[a>>2]=c;J[c+8>>2]=a;break a}H[d+12|0]=1;H[c+12|0]=(a|0)==(c|0);H[e+12|0]=1;b=c;if((c|0)!=(a|0)){continue}break}}}function gm(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(b){if(!c){break k}if(!d){break j}e=S(d)-S(b)|0;if(e>>>0<=31){break i}break c}if((d|0)==1|d>>>0>1){break c}ja=0;a=(a>>>0)/(c>>>0)|0;break a}if(!a){break h}if(!d|d-1&d){break g}a=b>>>dm(d)|0;ja=0;break a}if(!(c-1&c)){break f}h=(S(c)+33|0)-S(b)|0;g=0-h|0;break d}h=e+1|0;g=63-e|0;break d}ja=0;a=(b>>>0)/(d>>>0)|0;break a}e=S(d)-S(b)|0;if(e>>>0<31){break e}break c}if((c|0)==1){break b}d=dm(c);c=d&31;if((d&63)>>>0>=32){a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}ja=e;break a}h=e+1|0;g=63-e|0}e=h&63;f=e&31;if(e>>>0>=32){e=0;i=b>>>f|0}else{e=b>>>f|0;i=((1<>>f}g=g&63;f=g&31;if(g>>>0>=32){b=a<>>32-f|b<>>31;e=i<<1|b>>>31;f=m-(j+(e>>>0>g>>>0)|0)>>31;k=c&f;i=e-k|0;e=j-((d&f)+(e>>>0>>0)|0)|0;b=b<<1|a>>>31;a=l|a<<1;l=f&1;h=h-1|0;if(h){continue}break}}ja=b<<1|a>>>31;a=l|a<<1;break a}a=0;b=0}ja=b}return a}function cf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=fa-16|0;fa=j;J[j+8>>2]=0;J[j>>2]=0;J[j+4>>2]=0;a:{b:{e=c+1|0;if(e){if(e>>>0>=1073741824){break b}h=pl(e<<2);pk(h,0,(c<<2)+4|0)}c:{if((b|0)<=0){break c}e=0;if(b>>>0>=4){k=b&-4;while(1){f=e<<2;i=(J[f+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;i=(J[(f|4)+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;i=(J[(f|8)+a>>2]<<2)+h|0;J[i>>2]=J[i>>2]+1;f=(J[(f|12)+a>>2]<<2)+h|0;J[f>>2]=J[f>>2]+1;e=e+4|0;l=l+4|0;if((k|0)!=(l|0)){continue}break}}f=b&3;if(!f){break c}while(1){k=(J[(e<<2)+a>>2]<<2)+h|0;J[k>>2]=J[k>>2]+1;e=e+1|0;m=m+1|0;if((f|0)!=(m|0)){continue}break}}e=0;if((c|0)<0){a=0;break a}o=+(b|0);a=0;while(1){b=J[(e<<2)+h>>2];if((b|0)>0){n=+(b|0);g=n*sk(n/o)+g;a=a+1|0}b=(c|0)==(e|0);e=e+1|0;if(!b){continue}break}break a}Ia();C()}if(d){J[d>>2]=a}if(h){hl(h)}g=-g;d:{if(R(g)<0x8000000000000000){b=R(g)>=1?~~(g>0?T(V(g*2.3283064365386963e-10),4294967295):W((g-+(~~g>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~g>>>0;break d}b=-2147483648;a=0}fa=j+16|0;ja=b;return a}function Yf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Xf(a,h,c,g,e,g);d=d-g|0;Xf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}} +function xf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;wf(a,h,c,g,e,g);d=d-g|0;wf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function rg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;qg(a,h,c,g,e,g);d=d-g|0;qg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function qf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;nf(a,h,c,g,e,g);d=d-g|0;nf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function og(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;ng(a,h,c,g,e,g);d=d-g|0;ng(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function lg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;kg(a,h,c,g,e,g);d=d-g|0;kg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function ig(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;hg(a,h,c,g,e,g);d=d-g|0;hg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function fg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;eg(a,h,c,g,e,g);d=d-g|0;eg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function cg(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;bg(a,h,c,g,e,g);d=d-g|0;bg(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Vf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Uf(a,h,c,g,e,g);d=d-g|0;Uf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Sf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Rf(a,h,c,g,e,g);d=d-g|0;Rf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Pf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Of(a,h,c,g,e,g);d=d-g|0;Of(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Mf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Lf(a,h,c,g,e,g);d=d-g|0;Lf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Jf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;If(a,h,c,g,e,g);d=d-g|0;If(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Gf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Ff(a,h,c,g,e,g);d=d-g|0;Ff(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Df(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;Cf(a,h,c,g,e,g);d=d-g|0;Cf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function Af(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;zf(a,h,c,g,e,g);d=d-g|0;zf(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function $f(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{c:{d:{e:{switch(d|0){case 2:d=J[c>>2];c=J[d>>2];d=J[d+4>>2]-c>>3;h=b-4|0;b=J[h>>2];if(d>>>0<=b>>>0){break d}f=d;d=J[a>>2];if(f>>>0<=d>>>0){break d}if(M[c+(b<<3)>>2]>2]){J[e>>2]=b;J[e+4>>2]=J[a>>2];return}J[e>>2]=d;J[e+4>>2]=J[h>>2];return;default:if((d|0)<=8){sf(a,b,e,c);return}g=d>>>1|0;i=g<<2;h=i+a|0;_f(a,h,c,g,e,g);d=d-g|0;_f(h,b,c,d,e+i|0,d);c=J[c>>2];d=h;while(1){if((b|0)==(d|0)){if((a|0)==(h|0)){break a}while(1){J[e>>2]=J[a>>2];e=e+4|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}break a}g=J[c>>2];f=J[c+4>>2]-g>>3;i=J[d>>2];if(f>>>0<=i>>>0){break c}j=f;f=J[a>>2];if(j>>>0<=f>>>0){break c}j=i;k=f;i=J[g+(i<<3)>>2];g=J[g+(f<<3)>>2];f=i>>>0>>0;J[e>>2]=f?j:k;d=(f<<2)+d|0;e=e+4|0;a=((g>>>0<=i>>>0)<<2)+a|0;if((h|0)!=(a|0)){continue}break};break b;case 0:break a;case 1:break e}}J[e>>2]=J[a>>2];break a}Xc();C()}Xc();C()}if((b|0)==(d|0)){break a}while(1){J[e>>2]=J[d>>2];e=e+4|0;d=d+4|0;if((d|0)!=(b|0)){continue}break}}}function zh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=fa-16|0;fa=g;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=pl(c);f=c+(f<<2)|0;h=c+(b-d&-4)|0;c=h;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=h;J[e>>2]=c;if(!d){break b}hl(d)}b=J[a+12>>2];c=J[b+28>>2];b=J[b+24>>2];J[g+12>>2]=0;b=c-b>>2;d=a+96|0;e=J[d>>2];c=J[a+100>>2]-e>>2;c:{if(b>>>0>c>>>0){vb(d,b-c|0,g+12|0);break c}if(b>>>0>=c>>>0){break c}J[a+100>>2]=e+(b<<2)}e=a+8|0;b=J[a+116>>2];d:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){c=1;break d}b=0;while(1){c=Ah(e,J[(b<<2)+d>>2]);if(!c){break d}f=J[a+116>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break d}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break d}a=(a>>2>>>0)/3|0;b=0;while(1){c=Ah(e,P(b,3));if(!c){break d}b=b+1|0;if((a|0)!=(b|0)){continue}break}}fa=g+16|0;return c|0}Ia();C()}function Ka(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=J[b+88>>2];if(!(!c|J[c>>2]!=1)){e=J[c+8>>2];J[a+4>>2]=K[e|0]|K[e+1|0]<<8|(K[e+2|0]<<16|K[e+3|0]<<24);f=a+8|0;d=K[b+24|0];h=J[a+8>>2];g=J[a+12>>2]-h>>2;a:{if(d>>>0>g>>>0){La(f,d-g|0);d=K[b+24|0];e=J[c+8>>2];break a}if(d>>>0>=g>>>0){break a}J[a+12>>2]=h+(d<<2)}b:{if(!d){b=4;break b}h=d&3;f=J[f>>2];c:{if(d-1>>>0<3){b=4;d=0;break c}k=d&252;d=0;b=4;while(1){g=d<<2;c=b+e|0;J[g+f>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);J[f+(g|4)>>2]=K[c+4|0]|K[c+5|0]<<8|(K[c+6|0]<<16|K[c+7|0]<<24);J[f+(g|8)>>2]=K[c+8|0]|K[c+9|0]<<8|(K[c+10|0]<<16|K[c+11|0]<<24);J[f+(g|12)>>2]=K[c+12|0]|K[c+13|0]<<8|(K[c+14|0]<<16|K[c+15|0]<<24);d=d+4|0;b=b+16|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}if(!h){break b}while(1){c=b+e|0;J[f+(d<<2)>>2]=K[c|0]|K[c+1|0]<<8|(K[c+2|0]<<16|K[c+3|0]<<24);d=d+1|0;b=b+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}d=a;a=b+e|0;J[d+20>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);d=1}return d|0}function cl(a,b,c,d){var e=0,f=0,g=0,h=0;g=fa-32|0;fa=g;e=d&2147483647;h=e;f=e-1006698496|0;e=e-1140785152|0;a:{if((f|0)==(e|0)&0|e>>>0>f>>>0){e=c<<4|b>>>28;c=d<<4|c>>>28;b=b&268435455;if((b|0)==134217728&(a|0)!=0|b>>>0>134217728){f=c+1073741824|0;e=e+1|0;f=e?f:f+1|0;break a}f=c+1073741824|0;if(a|(b|0)!=134217728){break a}a=e&1;e=a+e|0;f=a>>>0>e>>>0?f+1|0:f;break a}if(!(!c&(h|0)==2147418112?!(a|b):h>>>0<2147418112)){a=d<<4|c>>>28;e=c<<4|b>>>28;f=a&524287|2146959360;break a}e=0;f=2146435072;if(h>>>0>1140785151){break a}f=0;h=h>>>16|0;if(h>>>0<15249){break a}e=d&65535|65536;Tk(g+16|0,a,b,c,e,h-15233|0);_k(g,a,b,c,e,15361-h|0);b=J[g+8>>2];e=b<<4;b=J[g+12>>2]<<4|b>>>28;c=J[g>>2];f=J[g+4>>2];h=f;e=f>>>28|e;f=b;a=h&268435455;b=c|(J[g+16>>2]|J[g+24>>2]|(J[g+20>>2]|J[g+28>>2]))!=0;if((a|0)==134217728&(b|0)!=0|a>>>0>134217728){e=e+1|0;f=e?f:f+1|0;break a}if(b|(a|0)!=134217728){break a}a=e;e=e+(e&1)|0;f=a>>>0>e>>>0?f+1|0:f}fa=g+32|0;x(0,e|0);x(1,d&-2147483648|f);return+z()}function Oh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=J[a+12>>2];c=J[a+68>>2];d=J[c+80>>2];H[b+84|0]=0;n=b+68|0;i=J[b+68>>2];e=J[b+72>>2]-i>>2;a:{if(e>>>0>>0){rb(n,d-e|0,11424);c=J[a+68>>2];d=J[c+80>>2];break a}if(d>>>0>=e>>>0){break a}J[b+72>>2]=i+(d<<2)}b=J[c+100>>2];e=J[c+96>>2];i=(b-e|0)/12|0;m=1;b:{if((b|0)==(e|0)){break b}k=J[k+28>>2];f=J[k>>2];if((f|0)==-1){return 0}o=i>>>0<=1?1:i;c=e;b=0;m=0;while(1){g=J[c>>2];if(g>>>0>=d>>>0){break b}j=J[J[a+72>>2]+12>>2];h=J[j+(f<<2)>>2];if(h>>>0>=d>>>0){break b}f=J[n>>2];J[f+(g<<2)>>2]=h;g=k+(l<<2)|0;h=J[g+4>>2];if((h|0)==-1){break b}l=J[c+4>>2];if(l>>>0>=d>>>0){break b}h=J[(h<<2)+j>>2];if(h>>>0>=d>>>0){break b}J[f+(l<<2)>>2]=h;g=J[g+8>>2];if((g|0)==-1){break b}c=J[c+8>>2];if(c>>>0>=d>>>0){break b}j=J[(g<<2)+j>>2];if(j>>>0>=d>>>0){break b}J[f+(c<<2)>>2]=j;b=b+1|0;m=i>>>0<=b>>>0;if((b|0)==(o|0)){break b}c=e+P(b,12)|0;l=P(b,3);f=J[k+(l<<2)>>2];if((f|0)!=-1){continue}break}}return m|0}function xa(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,l=0,m=0;h=J[d+80>>2];e=fa-48|0;fa=e;a=J[a+4>>2];m=a-2|0;a:{if(m>>>0>28){break a}j=J[J[d>>2]>>2]+J[d+48>>2]|0;J[e+16>>2]=a;a=-1<>2]=a^-1;a=-2-a|0;J[e+24>>2]=a;J[e+32>>2]=(a|0)/2;N[e+28>>2]=Q(2)/Q(a|0);f=J[c>>2];if((f|0)!=J[c+4>>2]){a=0;d=0;while(1){g=J[(d<<2)+f>>2];h=e+36|0;k=J[J[b>>2]>>2];l=J[b+48>>2];f=J[b+40>>2];i=J[b+44>>2];if(!K[b+84|0]){g=J[J[b+68>>2]+(g<<2)>>2]}g=em(f,i,g,0);i=g;g=g+l|0;nk(h,g+k|0,f);ya(e+16|0,h,e+12|0,e+8|0);f=a<<2;J[f+j>>2]=J[e+12>>2];J[(f|4)+j>>2]=J[e+8>>2];a=a+2|0;d=d+1|0;f=J[c>>2];if(d>>>0>2]-f>>2>>>0){continue}break}break a}if(!h){break a}d=0;a=0;while(1){k=e+36|0;l=J[J[b>>2]>>2];i=J[b+48>>2];c=J[b+40>>2];f=em(c,J[b+44>>2],K[b+84|0]?a:J[J[b+68>>2]+(a<<2)>>2],0);g=f;f=f+i|0;nk(k,f+l|0,c);ya(e+16|0,k,e+12|0,e+8|0);c=d<<2;J[c+j>>2]=J[e+12>>2];J[(c|4)+j>>2]=J[e+8>>2];d=d+2|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}fa=e+48|0;return m>>>0<29|0}function Oa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=fa-16|0;fa=k;if(J[c+28>>2]==9){d=J[a+4>>2];h=K[c+24|0];e=h<<2;f=pl(e);l=k+8|0;J[l>>2]=1065353216;i=N[a+20>>2];d=-1<0){N[l>>2]=i/Q(d|0)}o=(d|0)>0;a:{if(!o){break a}j=J[c+80>>2];if(!j){break a}if(h){p=J[J[b>>2]>>2]+J[b+48>>2]|0;t=h&254;u=h&1;b=0;while(1){m=J[a+8>>2];i=N[l>>2];d=0;n=0;if((h|0)!=1){while(1){g=d<<2;q=(b<<2)+p|0;N[g+f>>2]=Q(i*Q(J[q>>2]))+N[g+m>>2];g=g|4;N[g+f>>2]=Q(i*Q(J[q+4>>2]))+N[g+m>>2];d=d+2|0;b=b+2|0;n=n+2|0;if((t|0)!=(n|0)){continue}break}}if(u){d=d<<2;N[d+f>>2]=Q(i*Q(J[(b<<2)+p>>2]))+N[d+m>>2];b=b+1|0}nk(J[J[c+64>>2]>>2]+r|0,f,e);r=e+r|0;s=s+1|0;if((s|0)!=(j|0)){continue}break}break a}b=0;if((j|0)!=1){a=j&-2;d=0;while(1){nk(J[J[c+64>>2]>>2]+b|0,f,e);b=b+e|0;nk(b+J[J[c+64>>2]>>2]|0,f,e);b=b+e|0;d=d+2|0;if((a|0)!=(d|0)){continue}break}}if(!(j&1)){break a}nk(J[J[c+64>>2]>>2]+b|0,f,e)}hl(f)}fa=k+16|0;return o|0}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+108>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0>>0){rb(m,e-f|0,11424);d=J[a+108>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+112>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=J[a+12>>2];d=J[a+68>>2];e=J[d+80>>2];H[b+84|0]=0;m=b+68|0;h=J[b+68>>2];f=J[b+72>>2]-h>>2;a:{if(f>>>0>>0){rb(m,e-f|0,11424);d=J[a+68>>2];e=J[d+80>>2];break a}if(e>>>0>=f>>>0){break a}J[b+72>>2]=h+(e<<2)}b=J[d+100>>2];f=J[d+96>>2];h=(b-f|0)/12|0;k=1;b:{if((b|0)==(f|0)){break b}n=h>>>0<=1?1:h;o=J[c>>2];c=0;d=f;b=0;k=0;while(1){c=(c<<2)+o|0;i=J[c>>2];if((i|0)==-1){break b}g=J[d>>2];if(g>>>0>=e>>>0){break b}l=J[J[a+72>>2]+12>>2];j=J[l+(i<<2)>>2];if(j>>>0>=e>>>0){break b}i=J[m>>2];J[i+(g<<2)>>2]=j;g=J[c+4>>2];if((g|0)==-1){break b}j=J[d+4>>2];if(j>>>0>=e>>>0){break b}g=J[(g<<2)+l>>2];if(g>>>0>=e>>>0){break b}J[i+(j<<2)>>2]=g;c=J[c+8>>2];if((c|0)==-1){break b}d=J[d+8>>2];if(d>>>0>=e>>>0){break b}c=J[(c<<2)+l>>2];if(c>>>0>=e>>>0){break b}J[i+(d<<2)>>2]=c;b=b+1|0;k=h>>>0<=b>>>0;if((b|0)==(n|0)){break b}c=P(b,3);d=f+P(b,12)|0;if((b|0)!=1431655765){continue}break}}return k|0}function Ng(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=fa+-64|0;fa=c;d=pl(80);i=J[a+8>>2];J[d+12>>2]=0;J[d+16>>2]=0;J[d>>2]=11692;J[d+4>>2]=0;J[d+20>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[d+76>>2]=0;J[d+72>>2]=b;J[d+68>>2]=i;J[d- -64>>2]=0;j=d+56|0;e=j;J[e>>2]=0;J[e+4>>2]=0;J[d+8>>2]=11856;e=J[a+12>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;f=c+24|0;J[f>>2]=0;J[f+4>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+56>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c>>2]=11856;J[c+4>>2]=e;g=J[e>>2];h=J[e+4>>2];H[c+63|0]=0;k=f;f=c+63|0;Jg(k,(h-g>>2>>>0)/3|0,f);g=J[c+4>>2];h=J[g+28>>2];g=J[g+24>>2];H[c+63|0]=0;Jg(c+36|0,h-g>>2,f);J[c+20>>2]=d;J[c+16>>2]=i;J[c+12>>2]=b;J[c+8>>2]=e;J[d+76>>2]=a+72;Kg(d+8|0,c);Lg(j,J[c+48>>2],J[c+52>>2]);J[c>>2]=11856;a=J[c+48>>2];if(a){J[c+52>>2]=a;hl(a)}J[c>>2]=11672;a=J[c+36>>2];if(a){hl(a)}a=J[c+24>>2];if(a){hl(a)}fa=c- -64|0;return d}function uf(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0;a:{b:{if((e|0)<=(f|0)){if((a|0)==(b|0)){break b}f=g;e=a;while(1){J[f>>2]=J[e>>2];f=f+4|0;e=e+4|0;if((e|0)!=(b|0)){continue}break}if((f|0)==(g|0)){break b}d=J[d>>2];while(1){if((b|0)==(c|0)){ok(a,g,f-g|0);return}c:{e=J[d>>2];h=J[d+4>>2]-e>>3;i=J[b>>2];if(h>>>0<=i>>>0){break c}j=h;h=J[g>>2];if(j>>>0<=h>>>0){break c}j=h;k=i;i=J[e+(i<<3)>>2];e=J[e+(h<<3)>>2];h=i>>>0>=e>>>0;J[a>>2]=h?j:k;b=((e>>>0>i>>>0)<<2)+b|0;a=a+4|0;g=(h<<2)+g|0;if((g|0)!=(f|0)){continue}break b}break}Xc();C()}if((b|0)==(c|0)){break b}f=g;e=b;while(1){J[f>>2]=J[e>>2];f=f+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}if((f|0)==(g|0)){break b}while(1){if((a|0)==(b|0)){a=f-g|0;ok(c-a|0,g,a);return}i=J[d>>2];e=J[i>>2];h=J[i+4>>2]-e>>3;k=f-4|0;i=J[k>>2];if(h>>>0<=i>>>0){break a}j=h;l=b-4|0;h=J[l>>2];if(j>>>0<=h>>>0){break a}c=c-4|0;e=M[e+(i<<3)>>2]>2];J[c>>2]=e?h:i;b=e?l:b;f=e?f:k;if((g|0)!=(f|0)){continue}break}}return}Xc();C()}function mi(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=fa-32|0;fa=d;a:{b=J[a+16>>2];c=J[a+20>>2];if(!!b&(c|0)>=0|(c|0)>0){e=J[J[a+12>>2]+4>>2]+7|0;f=e>>>0<7?1:f;c=f>>>3|0;f=f<<29|e>>>3;if(K[a+24|0]){e=J[a+4>>2];J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;pf(f,c,d);c=e-b|0;e=c-8|0;b=J[d+4>>2]-J[d>>2]|0;ok(e+b|0,c,f);nk(e,J[d>>2],b);c=8-b|0;b=J[a+20>>2];e=c;c=c+J[a+16>>2]|0;b=e>>>0>c>>>0?b+1|0:b;J[a+16>>2]=c;J[a+20>>2]=b;b=J[d+12>>2];J[d+12>>2]=0;if(b){hl(b)}b=J[d>>2];if(b){J[d+4>>2]=b;hl(b)}b=J[a+16>>2]}b=f-b|0;g=J[a+4>>2];f=J[a>>2];e=g-f|0;c=b+e|0;b:{if(c>>>0>e>>>0){h=J[a+8>>2];if(h-g>>>0>=b>>>0){i=a,j=pk(g,0,b)+b|0,J[i+4>>2]=j;break b}if((c|0)<0){break a}g=h-f|0;h=g<<1;g=g>>>0>=1073741823?2147483647:c>>>0>>0?h:c;h=pl(g);pk(h+e|0,0,b);b=ok(h,f,e);J[a+8>>2]=b+g;J[a+4>>2]=b+c;J[a>>2]=b;if(!f){break b}hl(f);break b}if(c>>>0>=e>>>0){break b}J[a+4>>2]=c+f}J[a+16>>2]=0;J[a+20>>2]=0}fa=d+32|0;return}Ia();C()}function Qb(a){var b=0,c=0,d=0,e=0;c=J[a+1176>>2];if(c){d=c;b=J[a+1180>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;hl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+1176>>2]}J[a+1180>>2]=c;hl(d)}c=J[a+1164>>2];if(c){d=c;b=J[a+1168>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;hl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+1164>>2]}J[a+1168>>2]=c;hl(d)}b=J[a+1152>>2];if(b){J[a+1156>>2]=b;hl(b)}b=J[a+1140>>2];if(b){J[a+1144>>2]=b;hl(b)}b=J[a+1128>>2];if(b){J[a+1132>>2]=b;hl(b)}ye(a+1108|0);ye(a+1088|0);ye(a+1068|0);Ae(a+1036|0);a=a+12|0;Ae(a+992|0);Ae(a+960|0);Ae(a+928|0);Ae(a+896|0);Ae(a+864|0);Ae(a+832|0);Ae(a+800|0);Ae(a+768|0);Ae(a+736|0);Ae(a+704|0);Ae(a+672|0);Ae(a+640|0);Ae(a+608|0);Ae(a+576|0);Ae(a+544|0);Ae(a+512|0);Ae(a+480|0);Ae(a+448|0);Ae(a+416|0);Ae(a+384|0);Ae(a+352|0);Ae(a+320|0);Ae(a+288|0);Ae(a+256|0);Ae(a+224|0);Ae(a+192|0);Ae(a+160|0);Ae(a+128|0);Ae(a+96|0);Ae(a- -64|0);Ae(a+32|0);Ae(a)}function di(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=J[a+4>>2];b=J[b+12>>2]-J[b+8>>2]|0;a:{if((b|0)>3){b=0;while(1){if(ka[J[J[a>>2]+36>>2]](a,b)|0){b=b+1|0;c=J[a+4>>2];c=J[c+12>>2]-J[c+8>>2]>>2;if((b|0)<(c|0)){continue}break a}break}return 0}c=b>>2}b=a+20|0;d=J[a+20>>2];e=J[a+24>>2]-d>>2;b:{if(e>>>0>>0){La(b,c-e|0);break b}if(c>>>0>=e>>>0){break b}J[a+24>>2]=d+(c<<2)}f=J[a+8>>2];a=J[a+12>>2];if((f|0)==(a|0)){return 1}a=a-f>>2;j=a>>>0<=1?1:a;e=J[b>>2];b=0;while(1){a=J[(b<<2)+f>>2];d=J[a+8>>2];c=J[a+4>>2];c:{if((d|0)==(c|0)){break c}a=d-c>>2;d=a>>>0<=1?1:a;i=d&3;g=0;a=0;if(d-1>>>0>=3){k=d&-4;h=0;while(1){d=a<<2;J[e+(J[d+c>>2]<<2)>>2]=b;J[e+(J[c+(d|4)>>2]<<2)>>2]=b;J[e+(J[c+(d|8)>>2]<<2)>>2]=b;J[e+(J[c+(d|12)>>2]<<2)>>2]=b;a=a+4|0;h=h+4|0;if((k|0)!=(h|0)){continue}break}}if(!i){break c}while(1){J[e+(J[c+(a<<2)>>2]<<2)>>2]=b;a=a+1|0;g=g+1|0;if((g|0)!=(i|0)){continue}break}}b=b+1|0;if((j|0)!=(b|0)){continue}break}return 1}function Ta(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=J[a+12>>2];i=J[a+8>>2];d=e-i>>2;b=K[b+24|0];a:{if(d>>>0>>0){La(a+8|0,b-d|0);i=J[a+8>>2];e=J[a+12>>2];break a}if(b>>>0>=d>>>0){break a}e=(b<<2)+i|0;J[a+12>>2]=e}b=0;f=J[c+8>>2];h=J[c+12>>2];j=J[c+20>>2];e=e-i|0;d=J[c+16>>2];g=e+d|0;j=e>>>0>g>>>0?j+1|0:j;b:{if(f>>>0>>0&(h|0)<=(j|0)|(h|0)<(j|0)){break b}nk(i,d+J[c>>2]|0,e);d=J[c+20>>2];g=e;e=e+J[c+16>>2]|0;d=g>>>0>e>>>0?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;f=J[c+8>>2];h=J[c+12>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;if(f>>>0>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break b}d=e+J[c>>2]|0;J[a+20>>2]=K[d|0]|K[d+1|0]<<8|(K[d+2|0]<<16|K[d+3|0]<<24);d=J[c+20>>2];g=d;f=d;e=J[c+16>>2];d=e+4|0;f=d>>>0<4?f+1|0:f;J[c+16>>2]=d;J[c+20>>2]=f;h=J[c+12>>2];if((f|0)>=(h|0)&d>>>0>=M[c+8>>2]|(f|0)>(h|0)){break b}f=K[d+J[c>>2]|0];d=g;e=e+5|0;d=e>>>0<5?d+1|0:d;J[c+16>>2]=e;J[c+20>>2]=d;if(f-1>>>0>29){break b}J[a+4>>2]=f;b=1}return b|0}function hc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{f=J[a+4>>2];b:{if((f|0)!=J[a>>2]){c=f;break b}g=J[a+8>>2];c=J[a+12>>2];if(g>>>0>>0){e=((c-g>>2)+1|0)/2<<2;c=e+g|0;if((f|0)!=(g|0)){d=g-f|0;c=c-d|0;ok(c,f,d);f=J[a+8>>2]}J[a+4>>2]=c;J[a+8>>2]=e+f;break b}d=(c|0)==(f|0)?1:c-f>>1;if(d>>>0>=1073741824){break a}c=d<<2;i=pl(c);k=i+c|0;c=(d+3&-4)+i|0;h=c;c:{if((f|0)==(g|0)){break c}g=g-f|0;l=g&-4;e=c;d=f;j=g-4|0;g=(j>>>2|0)+1&7;if(g){h=0;while(1){J[e>>2]=J[d>>2];d=d+4|0;e=e+4|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}h=c+l|0;if(j>>>0<28){break c}while(1){J[e>>2]=J[d>>2];J[e+4>>2]=J[d+4>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=J[d+12>>2];J[e+16>>2]=J[d+16>>2];J[e+20>>2]=J[d+20>>2];J[e+24>>2]=J[d+24>>2];J[e+28>>2]=J[d+28>>2];d=d+32|0;e=e+32|0;if((h|0)!=(e|0)){continue}break}}J[a+12>>2]=k;J[a+8>>2]=h;J[a+4>>2]=c;J[a>>2]=i;if(!f){break b}hl(f);c=J[a+4>>2]}J[c-4>>2]=J[b>>2];J[a+4>>2]=J[a+4>>2]-4;return}Ya();C()}function Fj(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c-b|0;e=J[a+8>>2];d=J[a>>2];if(f>>>0<=e-d>>>0){h=J[a+4>>2]-d|0;e=h+b|0;g=f>>>0>h>>>0?e:c;a:{if((g|0)==(b|0)){break a}k=(b^-1)+g|0;i=g-b&7;if(i){while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;j=j+1|0;if((j|0)!=(i|0)){continue}break}}if(k>>>0<7){break a}while(1){H[d|0]=K[b|0];H[d+1|0]=K[b+1|0];H[d+2|0]=K[b+2|0];H[d+3|0]=K[b+3|0];H[d+4|0]=K[b+4|0];H[d+5|0]=K[b+5|0];H[d+6|0]=K[b+6|0];H[d+7|0]=K[b+7|0];d=d+8|0;b=b+8|0;if((g|0)!=(b|0)){continue}break}}if(f>>>0>h>>>0){b=J[a+4>>2];if((c|0)!=(g|0)){while(1){H[b|0]=K[e|0];b=b+1|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}J[a+4>>2]=b;return}J[a+4>>2]=d;return}if(d){J[a+4>>2]=d;hl(d);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=0}b:{if((f|0)<0){break b}d=e<<1;e=e>>>0>=1073741823?2147483647:d>>>0>f>>>0?d:f;if((e|0)<0){break b}d=pl(e);J[a+4>>2]=d;J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){d=nk(d,b,f)+f|0}J[a+4>>2]=d;return}Ia();C()}function ya(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=+N[b>>2];k=+N[b+4>>2];l=+N[b+8>>2];g=R(j)+R(k)+R(l);a:{if(!(g>1e-6)){j=1;k=0;e=0;break a}g=1/g;k=g*k;j=g*j;e=g*l<0}h=J[a+16>>2];l=+(h|0);g=V(j*l+.5);b:{if(R(g)<2147483648){m=~~g;break b}m=-2147483648}f=m>>31;i=(f^m)-f|0;g=V(k*l+.5);c:{if(R(g)<2147483648){f=~~g;break c}f=-2147483648}b=f>>31;b=h-(i+((f^b)-b|0)|0)|0;i=(b|0)>0?b:0;e=e?0-i|0:i;f=f+(b>>31&((f|0)>0?b:0-b|0))|0;d:{if((m|0)>=0){b=e+h|0;a=J[a+8>>2];e=h+f|0;break d}b=f>>31;b=(b^f)-b|0;a=J[a+8>>2];b=(e|0)<0?b:a-b|0;e=(f|0)<0?i:a-i|0}e:{if(!(b|e)){b=a;break e}if(!((a|0)!=(b|0)|e)){b=a;break e}if(!((a|0)!=(e|0)|b)){b=a;break e}if(!((b|0)<=(h|0)|e)){b=(h<<1)-b|0;a=0;break e}if(!((a|0)!=(e|0)|(b|0)>=(h|0))){b=(h<<1)-b|0;break e}if(!((a|0)!=(b|0)|(e|0)>=(h|0))){b=a;a=(h<<1)-e|0;break e}if(b){a=e;break e}b=0;if((e|0)<=(h|0)){a=e;break e}a=(h<<1)-e|0}J[c>>2]=a;J[d>>2]=b}function Ze(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{e=J[b+4>>2];c:{if(!e){f=b+4|0;c=f;break c}f=K[c+11|0];g=f<<24>>24<0;i=g?J[c>>2]:c;g=g?J[c+4>>2]:f;while(1){c=e;h=K[e+27|0];f=h<<24>>24<0;e=f?J[e+20>>2]:h;h=e>>>0>>0;d:{e:{f:{g:{j=h?e:g;h:{if(j){f=f?J[c+16>>2]:c+16|0;k=tk(i,f,j);if(!k){if(e>>>0>g>>>0){break h}break g}if((k|0)>=0){break g}break h}if(e>>>0<=g>>>0){break f}}f=c;e=J[c>>2];if(e){continue}break c}e=tk(f,i,j);if(e){break e}}if(h){break d}break b}if((e|0)>=0){break b}}e=J[c+4>>2];if(e){continue}break}f=c+4|0}e=pl(40);g=e+16|0;d=J[d>>2];i:{if(H[d+11|0]>=0){i=J[d+4>>2];J[g>>2]=J[d>>2];J[g+4>>2]=i;J[g+8>>2]=J[d+8>>2];break i}tl(g,J[d>>2],J[d+4>>2])}J[e+8>>2]=c;J[e>>2]=0;J[e+4>>2]=0;J[e+36>>2]=0;J[e+28>>2]=0;J[e+32>>2]=0;J[f>>2]=e;c=e;d=J[J[b>>2]>>2];if(d){J[b>>2]=d;c=J[f>>2]}We(J[b+4>>2],c);J[b+8>>2]=J[b+8>>2]+1;b=1;break a}e=c;b=0}H[a+4|0]=b;J[a>>2]=e}function vf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=fa-32|0;fa=d;h=J[b>>2]+J[a+40>>2]|0;e=J[a+32>>2];c=e-4194304|0;a:{if(c>>>0<=63){H[J[a+24>>2]+J[a+28>>2]|0]=e;g=J[a+28>>2]+1|0;break a}if(c>>>0<=16383){c=J[a+24>>2]+J[a+28>>2]|0;H[c+1|0]=e+16384>>>8;H[c|0]=e;g=J[a+28>>2]+2|0;break a}if(c>>>0<=4194303){c=J[a+24>>2]+J[a+28>>2]|0;H[c+2|0]=e+4194304>>>16;H[c+1|0]=e>>>8;H[c|0]=e;g=J[a+28>>2]+3|0;break a}if(c>>>0<=1073741823){f=J[a+24>>2]+J[a+28>>2]|0;c=e-1077936128|0;H[f+3|0]=c>>>24;H[f+2|0]=c>>>16;H[f+1|0]=e>>>8;H[f|0]=e;g=J[a+28>>2]+4|0;break a}g=J[a+28>>2]}f=g;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=f>>31;pf(f,c,d);e=J[d+4>>2]-J[d>>2]|0;ok(e+h|0,h,f);nk(h,J[d>>2],e);h=J[a+40>>2];a=J[a+44>>2];f=e+f|0;c=a+(g>>>0>f>>>0?c+1|0:c)|0;a=f+h|0;ki(b,a);a=J[d+12>>2];J[d+12>>2]=0;if(a){hl(a)}a=J[d>>2];if(a){J[d+4>>2]=a;hl(a)}fa=d+32|0}function mf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=fa-32|0;fa=d;h=J[b>>2]+J[a+40>>2]|0;f=J[a+32>>2];c=f-16384|0;a:{if(c>>>0<=63){H[J[a+24>>2]+J[a+28>>2]|0]=f;g=J[a+28>>2]+1|0;break a}if(c>>>0<=16383){c=J[a+24>>2]+J[a+28>>2]|0;H[c|0]=f;H[c+1|0]=f>>>8;g=J[a+28>>2]+2|0;break a}if(c>>>0<=4194303){e=J[a+24>>2]+J[a+28>>2]|0;c=f+8372224|0;H[e+2|0]=c>>>16;H[e+1|0]=c>>>8;H[e|0]=f;g=J[a+28>>2]+3|0;break a}if(c>>>0<=1073741823){e=J[a+24>>2]+J[a+28>>2]|0;c=f-1073758208|0;H[e+3|0]=c>>>24;H[e+2|0]=c>>>16;H[e+1|0]=c>>>8;H[e|0]=f;g=J[a+28>>2]+4|0;break a}g=J[a+28>>2]}e=g;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=e>>31;pf(e,c,d);f=J[d+4>>2]-J[d>>2]|0;ok(f+h|0,h,e);nk(h,J[d>>2],f);h=J[a+40>>2];a=J[a+44>>2];e=e+f|0;c=a+(g>>>0>e>>>0?c+1|0:c)|0;a=e+h|0;ki(b,a);a=J[d+12>>2];J[d+12>>2]=0;if(a){hl(a)}a=J[d>>2];if(a){J[d+4>>2]=a;hl(a)}fa=d+32|0}function za(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0;a:{if(J[c+28>>2]!=9|K[c+24|0]!=3){break a}a=J[a+4>>2];if(a-2>>>0>28){break a}o=1;j=J[c+80>>2];if(!j){break a}k=Q(Q(2)/Q((1<>2]>>2]+J[c+48>>2]|0;a=J[J[b>>2]>>2]+J[b+48>>2]|0;b=0;while(1){g=Q(0);l=Q(0);m=Q(0);e=Q(Q(Q(J[a>>2])*k)+Q(-1));f=Q(Q(Q(J[a+4>>2])*k)+Q(-1));i=Q(Q(Q(1)-Q(R(e)))-Q(R(f)));h=Q(U(Q(-i),Q(0)));n=Q(-h);f=Q(f+(f>>8;H[c+10|0]=d>>>16;H[c+11|0]=d>>>24;d=(B(l),v(2));H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;d=(B(g),v(2));H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((j|0)!=(b|0)){continue}break}}return o|0}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=fa-16|0;fa=c;b=J[J[a+184>>2]+(b<<2)>>2];H[c+15|0]=b;e=J[J[a+4>>2]+44>>2];d=J[e+20>>2];if(!J[e+16>>2]&(d|0)<=0|(d|0)<0){Ba(e,J[e+4>>2],c+15|0,c+16|0);b=K[c+15|0]}a:{b:{c:{if(b<<24>>24<0){e=J[a+68>>2];break c}b=J[J[a+172>>2]+P(b&255,136)>>2];d=ka[J[J[a>>2]+40>>2]](a)|0;f=J[a+172>>2]+P(H[c+15|0],136)|0;e=J[f+132>>2];d:{switch(J[J[J[d+56>>2]+84>>2]+(b<<2)>>2]){case 0:break c;case 1:break d;default:break b}}if(!K[f+28|0]){break b}}b=J[J[a+4>>2]+44>>2];H[c+14|0]=0;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+14|0,c+15|0);break a}b=J[J[a+4>>2]+44>>2];H[c+13|0]=1;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+13|0,c+14|0)}a=J[J[a+4>>2]+44>>2];H[c+12|0]=e;b=J[a+20>>2];if(!J[a+16>>2]&(b|0)<=0|(b|0)<0){Ba(a,J[a+4>>2],c+12|0,c+13|0)}fa=c+16|0;return 1}function xl(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c=fa-16|0;fa=c;e=fa-16|0;fa=e;J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;fa=e+16|0;ll(c,K[c+11|0]>>>7|0?(J[c+8>>2]&2147483647)-1|0:10);g=fa-16|0;fa=g;l=+b;if(K[c+11|0]>>>7|0){e=J[c+4>>2]}else{e=K[c+11|0]&127}while(1){a:{if(K[c+11|0]>>>7|0){f=J[c>>2]}else{f=c}O[g>>3]=l;i=fa-16|0;fa=i;J[i+12>>2]=g;d=fa-160|0;fa=d;h=e+1|0;j=h?f:d+158|0;J[d+144>>2]=j;f=-1;k=h-1|0;J[d+148>>2]=h>>>0>=k>>>0?k:0;d=pk(d,0,144);J[d+76>>2]=-1;J[d+36>>2]=374;J[d+80>>2]=-1;J[d+44>>2]=d+159;J[d+84>>2]=d+144;b:{if((h|0)<0){J[4842]=61;break b}H[j|0]=0;f=Ok(d,1510,g)}fa=d+160|0;fa=i+16|0;c:{if((f|0)>=0){if(e>>>0>=f>>>0){break a}e=f;break c}e=e<<1|1}ll(c,e);continue}break}ll(c,f);e=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=e;J[a+8>>2]=J[c+8>>2];J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;fa=g+16|0;if(K[c+11|0]>>>7|0){hl(J[c>>2])}fa=c+16|0}function ak(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{e=J[b+4>>2];c:{if(!e){f=b+4|0;c=f;break c}f=K[c+11|0];g=f<<24>>24<0;h=g?J[c>>2]:c;g=g?J[c+4>>2]:f;while(1){c=e;e=K[e+27|0];f=e<<24>>24<0;e=f?J[c+20>>2]:e;j=e>>>0>>0;d:{e:{f:{g:{i=j?e:g;h:{if(i){f=f?J[c+16>>2]:c+16|0;k=tk(h,f,i);if(!k){if(e>>>0>g>>>0){break h}break g}if((k|0)>=0){break g}break h}if(e>>>0<=g>>>0){break f}}f=c;e=J[c>>2];if(e){continue}break c}e=tk(f,h,i);if(e){break e}}if(j){break d}break b}if((e|0)>=0){break b}}e=J[c+4>>2];if(e){continue}break}f=c+4|0}e=pl(40);J[e+24>>2]=J[d+8>>2];g=J[d+4>>2];h=J[d>>2];J[e+16>>2]=h;J[e+20>>2]=g;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;Zj(e+28|0,d+12|0);J[e+8>>2]=c;J[e>>2]=0;J[e+4>>2]=0;J[f>>2]=e;c=e;d=J[J[b>>2]>>2];if(d){J[b>>2]=d;c=J[f>>2]}We(J[b+4>>2],c);J[b+8>>2]=J[b+8>>2]+1;b=1;break a}e=c;b=0}H[a+4|0]=b;J[a>>2]=e}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=1;a:{b:{c:{if((ka[J[J[b>>2]+20>>2]](b)|0)<=0){break c}while(1){e=ck(J[J[a+4>>2]+4>>2],ka[J[J[b>>2]+24>>2]](b,i)|0);j=(e|0)!=-1;if((e|0)==-1){break c}c=J[a+20>>2];d:{if((c|0)!=J[a+24>>2]){J[c>>2]=e;J[a+20>>2]=c+4;break d}f=c;c=J[a+16>>2];d=f-c|0;h=d>>2;g=h+1|0;if(g>>>0>=1073741824){break b}f=d>>>1|0;g=d>>>0>=2147483644?1073741823:g>>>0>>0?f:g;if(g){if(g>>>0>=1073741824){break a}f=pl(g<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=e;d=ok(f,c,d);J[a+24>>2]=d+(g<<2);J[a+20>>2]=h+4;J[a+16>>2]=d;if(!c){break d}hl(c)}c=J[a+4>>2];e:{if((e|0)<0){break e}d=J[c+4>>2];if(J[d+12>>2]-J[d+8>>2]>>2<=(e|0)){break e}c=J[J[c+8>>2]+(J[J[c+20>>2]+(e<<2)>>2]<<2)>>2];ka[J[J[c>>2]+32>>2]](c,e)|0}i=i+1|0;if((ka[J[J[b>>2]+20>>2]](b)|0)>(i|0)){continue}break}}return j|0}Ia();C()}Ya();C()}function tf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b|0)==(c|0)){J[a+4>>2]=d;J[a>>2]=d;return}if((c|0)==(d|0)){J[a+4>>2]=c;J[a>>2]=b;return}a:{if((b+4|0)==(c|0)){f=J[b>>2];e=b;b=d-c|0;c=ok(e,c,b)+b|0;J[c>>2]=f;break a}if((c+4|0)==(d|0)){f=d-4|0;e=J[f>>2];c=d;if((b|0)!=(f|0)){f=f-b|0;c=d-f|0;ok(c,b,f)}J[b>>2]=e;break a}g=c-b>>2;h=d-c>>2;if((g|0)==(h|0)){e=c;while(1){f=J[b>>2];J[b>>2]=J[e>>2];J[e>>2]=f;b=b+4|0;if((c|0)==(b|0)){break a}e=e+4|0;if((e|0)!=(d|0)){continue}break}break a}e=h;f=g;while(1){c=f;f=e;e=(c|0)%(e|0)|0;if(e){continue}break}if(f){e=(f<<2)+b|0;while(1){e=e-4|0;j=g<<2;c=e+j|0;k=J[e>>2];f=e;while(1){i=f;f=c;J[i>>2]=J[c>>2];i=c+j|0;c=d-c>>2;c=(c|0)>(g|0)?i:(g-c<<2)+b|0;if((e|0)!=(c|0)){continue}break}J[f>>2]=k;if((b|0)!=(e|0)){continue}break}}c=(h<<2)+b|0}J[a+4>>2]=d;J[a>>2]=c}function Kg(a,b){var c=0,d=0;c=J[b+8>>2];J[a+4>>2]=J[b+4>>2];J[a+8>>2]=c;J[a+20>>2]=J[b+20>>2];c=J[b+16>>2];J[a+12>>2]=J[b+12>>2];J[a+16>>2]=c;a:{b:{if((a|0)!=(b|0)){c=J[b+28>>2];if(c){d=J[a+24>>2];if(J[a+32>>2]<<5>>>0>>0){if(d){hl(d);J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;c=J[b+28>>2]}if((c|0)<0){break b}c=(c-1>>>5|0)+1|0;d=pl(c<<2);J[a+32>>2]=c;J[a+28>>2]=0;J[a+24>>2]=d;c=J[b+28>>2]}ok(d,J[b+24>>2],(c-1>>>3&536870908)+4|0);c=J[b+28>>2]}else{c=0}J[a+28>>2]=c;c=J[b+40>>2];if(c){d=J[a+36>>2];if(J[a+44>>2]<<5>>>0>>0){if(d){hl(d);J[a+44>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;c=J[b+40>>2]}if((c|0)<0){break a}c=(c-1>>>5|0)+1|0;d=pl(c<<2);J[a+44>>2]=c;J[a+40>>2]=0;J[a+36>>2]=d;c=J[b+40>>2]}ok(d,J[b+36>>2],(c-1>>>3&536870908)+4|0);b=J[b+40>>2]}else{b=0}J[a+40>>2]=b}return}Ia();C()}Ia();C()}function Wj(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=fa-16|0;fa=f;d=J[a+100>>2];e=J[a+96>>2];J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;b=d-e|0;g=(b|0)/12|0;a:{b:{if((d|0)==(e|0)){break b}if(g>>>0>=357913942){break a}d=pl(b);J[f>>2]=d;J[f+8>>2]=d+P(g,12);a=0;c=d;d=b-12|0;b=(d-((d>>>0)%12|0)|0)+12|0;d=pk(c,0,b);J[f+4>>2]=b+d;b=g>>>0<=1?1:g;j=b&1;if(g>>>0>=2){k=b&-2;g=0;while(1){c=P(a,12);b=c+e|0;h=J[b>>2];i=J[b+4>>2];c=d+c|0;J[c+8>>2]=J[b+8>>2];J[c>>2]=h;J[c+4>>2]=i;c=P(a|1,12);b=c+e|0;h=J[b>>2];i=J[b+4>>2];c=d+c|0;J[c+8>>2]=J[b+8>>2];J[c>>2]=h;J[c+4>>2]=i;a=a+2|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}}if(!j){break b}c=e;e=P(a,12);a=c+e|0;g=J[a+4>>2];b=J[a>>2];e=d+e|0;J[e+8>>2]=J[a+8>>2];J[e>>2]=b;J[e+4>>2]=g}e=Mj(f);a=J[f>>2];if(a){J[f+4>>2]=a;hl(a)}fa=f+16|0;return e}Ia();C()}function vk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=fa-32|0;fa=f;d=J[a+28>>2];J[f+16>>2]=d;g=J[a+20>>2];J[f+28>>2]=c;J[f+24>>2]=b;b=g-d|0;J[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=ba(J[a+60>>2],b|0,2,f+12|0)|0;if(d){J[4842]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=J[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=J[b+4>>2];j=h>>>0>>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;J[d>>2]=h+J[d>>2];b=(j?12:4)+b|0;J[b>>2]=J[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=ba(J[a+60>>2],b|0,i|0,f+12|0)|0;if(e){J[4842]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];a=c;break a}J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=J[a>>2]|32;a=0;if((i|0)==2){break a}a=c-J[d+4>>2]|0}fa=f+32|0;return a|0}function $g(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+112>>2];b=J[a+108>>2];c=(d-b|0)/12|0;yb(c,J[J[a+4>>2]+44>>2]);if((b|0)!=(d|0)){f=c>>>0<=1?1:c;d=0;while(1){b=J[a+108>>2]+P(d,12)|0;yb(J[b+4>>2]-g|0,J[J[a+4>>2]+44>>2]);yb(J[b+4>>2]-J[b>>2]|0,J[J[a+4>>2]+44>>2]);g=J[b+4>>2];d=d+1|0;if((f|0)!=(d|0)){continue}break}d=0;li(J[J[a+4>>2]+44>>2],c,0,0);b=J[J[a+4>>2]+44>>2];e=!!J[b+16>>2];b=J[b+20>>2];if(e&(b|0)>=0|(b|0)>0){f=c>>>0<=1?1:c;while(1){c=J[J[a+4>>2]+44>>2];b=J[c+20>>2];if(!!J[c+16>>2]&(b|0)>=0|(b|0)>0){g=K[(J[a+108>>2]+P(d,12)|0)+8|0];c=J[c+12>>2];e=J[c+4>>2];b=e>>>3|0;h=b+J[c>>2]|0;i=K[h|0];e=e&7;j=h,k=im(e)&i,H[j|0]=k;b=b+J[c>>2]|0;H[b|0]=K[b|0]|(g&1)<>2]=J[c+4>>2]+1}d=d+1|0;if((f|0)!=(d|0)){continue}break}}mi(J[J[a+4>>2]+44>>2])}return 1}function Ph(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+56>>2]-J[b+52>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=pl(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}hl(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Qh(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=J[J[a+12>>2]+64>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Qh(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}Ia();C()}function Jh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=J[a+4>>2];d=J[e>>2];a:{b=J[a+12>>2];c=J[b+28>>2]-J[b+24>>2]|0;f=c>>2;b:{if(f>>>0<=J[e+8>>2]-d>>2>>>0){break b}if((c|0)<0){break a}b=J[e+4>>2];c=pl(c);f=c+(f<<2)|0;g=c+(b-d&-4)|0;c=g;if((b|0)!=(d|0)){while(1){c=c-4|0;b=b-4|0;J[c>>2]=J[b>>2];if((b|0)!=(d|0)){continue}break}}J[e+8>>2]=f;J[e+4>>2]=g;J[e>>2]=c;if(!d){break b}hl(d)}e=a+8|0;b=J[a+76>>2];c:{if(b){d=J[b>>2];if((d|0)==J[b+4>>2]){return 1}b=0;while(1){c=Kh(e,J[(b<<2)+d>>2]);if(!c){break c}f=J[a+76>>2];d=J[f>>2];b=b+1|0;if(b>>>0>2]-d>>2>>>0){continue}break}break c}c=1;a=J[a+12>>2];a=J[a+4>>2]-J[a>>2]|0;if(a>>>0<12){break c}a=(a>>2>>>0)/3|0;b=0;while(1){c=Kh(e,P(b,3));if(!c){break c}b=b+1|0;if((a|0)!=(b|0)){continue}break}}return c|0}Ia();C()}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;J[d+12>>2]=c;a:{if(!Ic(a,b,c)|K[J[a+8>>2]+24|0]!=3){break a}f=J[b+48>>2];b=pl(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1261];c=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);e=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=e;H[b+9|0]=e>>>8;H[b+10|0]=e>>>16;H[b+11|0]=e>>>24;H[b+12|0]=c;H[b+13|0]=c>>>8;H[b+14|0]=c>>>16;H[b+15|0]=c>>>24;c=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);e=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=e;H[b+1|0]=e>>>8;H[b+2|0]=e>>>16;H[b+3|0]=e>>>24;H[b+4|0]=c;H[b+5|0]=c>>>8;H[b+6|0]=c>>>16;H[b+7|0]=c>>>24;H[b+17|0]=0;b=Gb(f,d+12|0,d,-1);if(H[d+11|0]<0){hl(J[d>>2])}if((b|0)<=0){break a}J[a+44>>2]=b;g=1}fa=d+16|0;return g|0}function Me(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=fa-16|0;fa=i;e=J[b+4>>2];a:{b:{if(!e){h=b+4|0;g=h;break b}f=J[c>>2];while(1){g=e;c=J[e+16>>2];if((c|0)>(f|0)){h=g;e=J[g>>2];if(e){continue}break b}if((c|0)>=(f|0)){f=g;b=0;break a}e=J[g+4>>2];if(e){continue}break}h=g+4|0}f=pl(32);c=J[d>>2];j=f+24|0;e=j;J[e>>2]=0;J[e+4>>2]=0;J[f+16>>2]=c;k=f+20|0;J[k>>2]=e;e=J[d+4>>2];d=d+8|0;if((e|0)!=(d|0)){while(1){c=e+16|0;Xe(i+8|0,k,j,c,c);c=J[e+4>>2];c:{if(c){while(1){e=c;c=J[e>>2];if(c){continue}break c}}while(1){c=e;e=J[e+8>>2];if((c|0)!=J[e>>2]){continue}break}}if((d|0)!=(e|0)){continue}break}}J[f+8>>2]=g;J[f>>2]=0;J[f+4>>2]=0;J[h>>2]=f;e=f;c=J[J[b>>2]>>2];if(c){J[b>>2]=c;e=J[h>>2]}We(J[b+4>>2],e);J[b+8>>2]=J[b+8>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=f;fa=i+16|0}function xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=fa-16|0;fa=c;yb(J[a+8>>2]-J[a+4>>2]>>2,b);e=J[a+4>>2];if((e|0)!=J[a+8>>2]){h=c+13|0;i=c+14|0;j=c+15|0;k=c+16|0;while(1){e=J[J[J[a+32>>2]+8>>2]+(J[(g<<2)+e>>2]<<2)>>2];H[c+15|0]=J[e+56>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+15|0,k);d=J[b+20>>2];f=J[b+16>>2];H[c+14|0]=J[e+28>>2];if(!!f&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+14|0,j);d=J[b+20>>2];f=J[b+16>>2];H[c+13|0]=K[e+24|0];if(!!f&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+13|0,i);d=J[b+20>>2];f=J[b+16>>2];H[c+12|0]=K[e+32|0];if(!!f&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,h)}yb(J[e+60>>2],b);g=g+1|0;e=J[a+4>>2];if(g>>>0>2]-e>>2>>>0){continue}break}}fa=c+16|0;return 1}function ze(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=fa-16|0;fa=g;a:{b:{c=J[a+4>>2];c:{if((c|0)!=J[a+8>>2]){J[c>>2]=J[a+12>>2];c=c+4|0;J[a+4>>2]=c;break c}e=J[a>>2];c=c-e|0;h=c>>2;d=h+1|0;if(d>>>0>=1073741824){break b}f=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=pl(d<<2)}else{f=0}h=f+(h<<2)|0;J[h>>2]=J[a+12>>2];i=d<<2;d=ok(f,e,c);J[a+8>>2]=i+d;c=h+4|0;J[a+4>>2]=c;J[a>>2]=d;if(!e){break c}hl(e);c=J[a+4>>2]}f=c;c=J[a>>2];J[g+12>>2]=f-c;e=J[b+20>>2];d:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break d}Ba(b,J[b+4>>2],g+12|0,g+16|0);c=J[a>>2];e=J[b+20>>2];if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break d}Ba(b,J[b+4>>2],c,J[g+12>>2]+c|0);c=J[a>>2]}J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=c;fa=g+16|0;return}Ia();C()}Ya();C()}function ok(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return nk(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}H[d|0]=K[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;H[d|0]=K[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;J[c+a>>2]=J[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;H[c+a|0]=K[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){J[d>>2]=J[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function Wg(a,b,c){var d=0,e=0,f=0,g=0;a:{b=P(b,3);if((b|0)==-1){break a}b:{e=J[a+12>>2];f=J[e+12>>2];d=b<<2;c:{if(J[f+d>>2]==-1){break c}a=J[a+152>>2];e=J[e>>2];if(J[a+(J[e+d>>2]<<2)>>2]!=-1){break b}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break a}d=b<<2;if(J[d+f>>2]==-1){break c}if(J[a+(J[d+e>>2]<<2)>>2]!=-1){break b}d=b+1|0;b=(d>>>0)%3|0?d:b-2|0;if((b|0)==-1){break a}d=b<<2;if(J[d+f>>2]==-1){break c}if(J[a+(J[d+e>>2]<<2)>>2]!=-1){break b}g=1;a=b+1|0;b=(a>>>0)%3|0?a:b-2|0}J[c>>2]=b;return g}while(1){d:{a=b;e:{if((b>>>0)%3|0){b=a-1|0;break e}b=a+2|0;if((b|0)==-1){break d}}b=J[(b<<2)+f>>2];if((b|0)==-1){break d}b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)!=-1){continue}}break}J[c>>2]=a+((a>>>0)%3|0?-1:2);return 0}J[c>>2]=-1;return 0}function Lk(a,b,c){a:{switch(b-9|0){case 0:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];return;case 6:b=J[c>>2];J[c>>2]=b+4;b=I[b>>1];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 7:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=L[b>>1];J[a+4>>2]=0;return;case 8:b=J[c>>2];J[c>>2]=b+4;b=H[b|0];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 9:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=K[b|0];J[a+4>>2]=0;return;case 16:b=J[c>>2]+7&-8;J[c>>2]=b+8;O[a>>3]=O[b>>3];return;case 17:Qk(a,c);default:return;case 1:case 4:case 14:b=J[c>>2];J[c>>2]=b+4;b=J[b>>2];J[a>>2]=b;J[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=J[c>>2];J[c>>2]=b+4;J[a>>2]=J[b>>2];J[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=J[c>>2]+7&-8;J[c>>2]=b+8;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c}function Bk(a,b,c,d,e,f){var g=0;g=fa-80|0;fa=g;a:{if((f|0)>=16384){$k(g+32|0,b,c,d,e,0,0,0,2147352576);d=J[g+40>>2];e=J[g+44>>2];b=J[g+32>>2];c=J[g+36>>2];if(f>>>0<32767){f=f-16383|0;break a}$k(g+16|0,b,c,d,e,0,0,0,2147352576);f=((f|0)>=49149?49149:f)-32766|0;d=J[g+24>>2];e=J[g+28>>2];b=J[g+16>>2];c=J[g+20>>2];break a}if((f|0)>-16383){break a}$k(g- -64|0,b,c,d,e,0,0,0,7471104);d=J[g+72>>2];e=J[g+76>>2];b=J[g+64>>2];c=J[g+68>>2];if(f>>>0>4294934644){f=f+16269|0;break a}$k(g+48|0,b,c,d,e,0,0,0,7471104);f=((f|0)<=-48920?-48920:f)+32538|0;d=J[g+56>>2];e=J[g+60>>2];b=J[g+48>>2];c=J[g+52>>2]}$k(g,b,c,d,e,0,0,0,f+16383<<16);b=J[g+12>>2];J[a+8>>2]=J[g+8>>2];J[a+12>>2]=b;b=J[g+4>>2];J[a>>2]=J[g>>2];J[a+4>>2]=b;fa=g+80|0}function Gl(a,b,c){var d=0,e=0,f=0;d=fa+-64|0;fa=d;f=J[a>>2];e=J[f-4>>2];f=J[f-8>>2];J[d+32>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;H[d+55|0]=0;H[d+56|0]=0;H[d+57|0]=0;H[d+58|0]=0;H[d+59|0]=0;H[d+60|0]=0;H[d+61|0]=0;H[d+62|0]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+20>>2]=0;J[d+16>>2]=b;J[d+12>>2]=a;J[d+8>>2]=c;a=a+f|0;b=0;a:{if(El(e,c,0)){J[d+56>>2]=1;ka[J[J[e>>2]+20>>2]](e,d+8|0,a,a,1,0);b=J[d+32>>2]==1?a:0;break a}ka[J[J[e>>2]+24>>2]](e,d+8|0,a,1,0);b:{switch(J[d+44>>2]){case 0:b=J[d+48>>2]==1?J[d+36>>2]==1?J[d+40>>2]==1?J[d+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(J[d+32>>2]!=1){if(J[d+48>>2]|J[d+36>>2]!=1|J[d+40>>2]!=1){break a}}b=J[d+24>>2]}fa=d- -64|0;return b}function De(a,b){var c=0,d=0,e=0,f=0;c=J[a>>2];a:{if(b){b=J[c+12>>2];d=J[c+8>>2]+1|0;b=d?b:b+1|0;J[c+8>>2]=d;J[c+12>>2]=b;b=J[a+28>>2];J[a+24>>2]=J[a+24>>2]|1<>2];d=J[c>>2]+1|0;b=d?b:b+1|0;J[c>>2]=d;J[c+4>>2]=b;b=J[a+28>>2]}b=b+1|0;J[a+28>>2]=b;b:{c:{if((b|0)==32){b=J[a+16>>2];d:{if((b|0)!=J[a+20>>2]){J[b>>2]=J[a+24>>2];J[a+16>>2]=b+4;break d}e=b;b=J[a+12>>2];c=e-b|0;f=c>>2;d=f+1|0;if(d>>>0>=1073741824){break c}e=c>>>1|0;d=c>>>0>=2147483644?1073741823:d>>>0>>0?e:d;if(d){if(d>>>0>=1073741824){break b}e=pl(d<<2)}else{e=0}f=e+(f<<2)|0;J[f>>2]=J[a+24>>2];c=ok(e,b,c);J[a+20>>2]=c+(d<<2);J[a+16>>2]=f+4;J[a+12>>2]=c;if(!b){break d}hl(b)}J[a+24>>2]=0;J[a+28>>2]=0}return}Ia();C()}Ya();C()}function pk(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}H[a|0]=b;d=a+c|0;H[d-1|0]=b;if(c>>>0<3){break a}H[a+2|0]=b;H[a+1|0]=b;H[d-3|0]=b;H[d-2|0]=b;if(c>>>0<7){break a}H[a+3|0]=b;H[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=P(b&255,16843009);J[e>>2]=b;d=c-d&-4;c=d+e|0;J[c-4>>2]=b;if(d>>>0<9){break a}J[e+8>>2]=b;J[e+4>>2]=b;J[c-8>>2]=b;J[c-12>>2]=b;if(d>>>0<25){break a}J[e+24>>2]=b;J[e+20>>2]=b;J[e+16>>2]=b;J[e+12>>2]=b;J[c-16>>2]=b;J[c-20>>2]=b;J[c-24>>2]=b;J[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=em(b,0,1,1);f=ja;b=e+g|0;while(1){J[b+24>>2]=d;J[b+28>>2]=f;J[b+16>>2]=d;J[b+20>>2]=f;J[b+8>>2]=d;J[b+12>>2]=f;J[b>>2]=d;J[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Ib(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{g=a+16|0;f=J[g>>2];b:{if(!f){break b}i=J[b>>2];b=g;while(1){h=(i|0)>J[f+16>>2];b=h?b:f;f=J[(h?f+4|0:f)>>2];if(f){continue}break}if((b|0)==(g|0)|(i|0)>2]){break b}f=J[b+24>>2];if(!f){break b}m=b+20|0;b=K[c+11|0];g=b<<24>>24<0;i=g?J[c>>2]:c;b=g?J[c+4>>2]:b;while(1){g=K[f+27|0];h=g<<24>>24<0;g=h?J[f+20>>2]:g;k=g>>>0>>0;c:{d:{e:{f:{g:{h:{j=k?g:b;if(j){h=h?J[f+16>>2]:f+16|0;l=tk(i,h,j);if(l){break h}if(b>>>0>=g>>>0){break g}break c}if(b>>>0>=g>>>0){break f}break c}if((l|0)<0){break c}}g=tk(h,i,j);if(g){break e}}if(k){break d}break a}if((g|0)<0){break d}break a}f=f+4|0}f=J[f>>2];if(f){continue}break}}Mb(a,c,d,e);return}Mb(m,c,d,e)}function Gb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a+16|0;e=J[f>>2];a:{if(!e){break a}g=J[b>>2];b=f;while(1){h=(g|0)>J[e+16>>2];b=h?b:e;e=J[(h?e+4|0:e)>>2];if(e){continue}break}if((b|0)==(f|0)|(g|0)>2]){break a}e=J[b+24>>2];if(!e){break a}g=b+20|0;b=K[c+11|0];f=b<<24>>24<0;h=f?J[c>>2]:c;b=f?J[c+4>>2]:b;while(1){f=K[e+27|0];i=f<<24>>24<0;f=i?J[e+20>>2]:f;k=f>>>0>>0;b:{c:{d:{e:{f:{g:{j=k?f:b;if(j){i=i?J[e+16>>2]:e+16|0;l=tk(h,i,j);if(l){break g}if(b>>>0>=f>>>0){break f}break b}if(b>>>0>=f>>>0){break e}break b}if((l|0)<0){break b}}f=tk(i,h,j);if(f){break d}}if(k){break c}return pi(g,c,d)}if((f|0)<0){break c}return pi(g,c,d)}e=e+4|0}e=J[e>>2];if(e){continue}break}}return pi(a,c,d)}function li(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{e=J[a+20>>2];b:{if(!((!J[a+16>>2]&(e|0)<=0|(e|0)<0)&(!!b&(c|0)>=0|(c|0)>0))){break b}H[a+24|0]=d;e=b+7|0;c=e>>>0<7?c+1|0:c;e=(c&7)<<29|e>>>3;J[a+16>>2]=e;J[a+20>>2]=c>>>3;f=J[a+4>>2];h=J[a>>2];c=f-h|0;b=c+8|0;d=d?b:c;b=d+e|0;c:{if(b>>>0>c>>>0){e=b-c|0;g=J[a+8>>2];if(e>>>0<=g-f>>>0){i=a,j=pk(f,0,e)+e|0,J[i+4>>2]=j;break c}if((b|0)<0){break a}f=g-h|0;g=f<<1;f=f>>>0>=1073741823?2147483647:b>>>0>>0?g:b;g=pl(f);pk(g+c|0,0,e);c=ok(g,h,c);J[a+8>>2]=c+f;J[a+4>>2]=b+c;J[a>>2]=c;if(!h){break c}hl(h);break c}if(b>>>0>=c>>>0){break c}J[a+4>>2]=b+h}c=J[a>>2];b=pl(8);J[b+4>>2]=0;J[b>>2]=c+d;c=J[a+12>>2];J[a+12>>2]=b;if(!c){break b}hl(c)}return}Ia();C()}function Jb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+16|0;d=J[e>>2];a:{if(!d){break a}f=J[b>>2];b=e;while(1){g=(f|0)>J[d+16>>2];b=g?b:d;d=J[(g?d+4|0:d)>>2];if(d){continue}break}if((b|0)==(e|0)|(f|0)>2]){break a}d=J[b+24>>2];if(!d){break a}f=b+20|0;b=K[c+11|0];e=b<<24>>24<0;g=e?J[c>>2]:c;b=e?J[c+4>>2]:b;while(1){e=K[d+27|0];h=e<<24>>24<0;e=h?J[d+20>>2]:e;j=e>>>0>>0;b:{c:{d:{e:{f:{g:{i=j?e:b;if(i){h=h?J[d+16>>2]:d+16|0;k=tk(g,h,i);if(k){break g}if(b>>>0>=e>>>0){break f}break b}if(b>>>0>=e>>>0){break e}break b}if((k|0)<0){break b}}e=tk(h,g,i);if(e){break d}}if(j){break c}return qi(f,c)}if((e|0)<0){break c}return qi(f,c)}d=d+4|0}d=J[d>>2];if(d){continue}break}}return qi(a,c)}function Xj(a,b,c){var d=0,e=0,f=0,g=0;yb(J[c+8>>2],b);e=J[c>>2];g=c+4|0;if((e|0)!=(g|0)){while(1){if(!Yj(b,e+16|0)){return}d=J[e+32>>2]-J[e+28>>2]|0;yb(d,b);f=J[b+20>>2];if(!J[b+16>>2]&(f|0)<=0|(f|0)<0){f=J[e+28>>2];Ba(b,J[b+4>>2],f,d+f|0)}f=J[e+4>>2];a:{if(f){while(1){d=f;f=J[d>>2];if(f){continue}break a}}while(1){d=J[e+8>>2];f=J[d>>2]!=(e|0);e=d;if(f){continue}break}}e=d;if((d|0)!=(g|0)){continue}break}}yb(J[c+20>>2],b);d=J[c+12>>2];c=c+16|0;if((d|0)==(c|0)){return}while(1){if(!Yj(b,d+16|0)){return}Xj(a,b,J[d+28>>2]);f=d;e=J[d+4>>2];b:{if(e){while(1){d=e;e=J[d>>2];if(e){continue}break b}}while(1){d=J[f+8>>2];e=J[d>>2]!=(f|0);f=d;if(e){continue}break}}if((c|0)!=(d|0)){continue}break}}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=J[b+4>>2]-J[b>>2]>>2;f=J[a+8>>2];i=K[f+24|0];d=i;g=fa+-64|0;fa=g;e=_a(g);h=P(d,J[3712]);$a(e,J[J[a+8>>2]+56>>2],0,d,5,h,h>>31);e=bb(pl(96),e);db(e,j);d=J[a+32>>2];J[a+32>>2]=e;if(d){Kb(d)}a:{if(!c){break a}d=J[a+32>>2];H[d+84|0]=0;h=J[d+68>>2];e=J[d+72>>2]-h>>2;if(e>>>0>>0){rb(d+68|0,c-e|0,2744);break a}if(c>>>0>=e>>>0){break a}J[d+72>>2]=h+(c<<2)}fa=g- -64|0;c=J[b>>2];d=J[b+4>>2];if((c|0)==(d|0)){return 1}a=J[a+32>>2];g=J[J[a>>2]>>2]+J[a+48>>2]|0;b=0;while(1){a=J[c>>2];if(!K[f+84|0]){a=J[J[f+68>>2]+(a<<2)>>2]}a=Lb(f,a,H[f+24|0],g+(b<<2)|0);if(a){b=b+i|0;c=c+4|0;if((d|0)!=(c|0)){continue}}break}return a|0}function Lg(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;h=f>>2;d=J[a+8>>2];e=J[a>>2];if(h>>>0<=d-e>>2>>>0){d=J[a+4>>2];g=d-e|0;f=g+b|0;i=g>>2;g=i>>>0>>0?f:c;if((g|0)!=(b|0)){while(1){J[e>>2]=J[b>>2];e=e+4|0;b=b+4|0;if((g|0)!=(b|0)){continue}break}}if(h>>>0>i>>>0){if((c|0)!=(g|0)){while(1){J[d>>2]=J[f>>2];d=d+4|0;f=f+4|0;if((f|0)!=(c|0)){continue}break}}J[a+4>>2]=d;return}J[a+4>>2]=e;return}if(e){J[a+4>>2]=e;hl(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>h>>>0?e:h;if(d>>>0>=1073741824){break a}e=d<<2;d=pl(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=nk(d,c,b)+b|0}J[a+4>>2]=d;return}Ia();C()}function Jg(a,b,c){var d=0,e=0,f=0;e=fa-16|0;fa=e;J[a+4>>2]=0;a:{b:{if(!b){break b}f=J[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){J[a+4>>2]=b;break c}J[e+8>>2]=0;J[e>>2]=0;J[e+4>>2]=0;if((b|0)<0){break a}if(d>>>0<=1073741822){f=f<<6;d=b+31&-32;d=d>>>0>>0?f:d}else{d=2147483647}Gc(e,d);f=J[a>>2];J[a>>2]=J[e>>2];J[e>>2]=f;d=J[a+4>>2];J[a+4>>2]=b;J[e+4>>2]=d;d=J[a+8>>2];J[a+8>>2]=J[e+8>>2];J[e+8>>2]=d;if(!f){break c}hl(f)}d=b>>>5|0;a=J[a>>2];if(K[c|0]){if(b>>>0>=32){pk(a,255,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]|-1>>>32-(b&31);break b}if(b>>>0>=32){pk(a,0,d<<2)}if((b&-32)==(b|0)){break b}a=a+(d<<2)|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}fa=e+16|0;return}Ia();C()}function ub(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;h=fa-16|0;fa=h;a:{b:{c=J[a+8>>2];c:{if((c|0)!=J[a+12>>2]){J[c>>2]=b;J[a+8>>2]=c+4;break c}f=c;c=J[a+4>>2];e=f-c|0;g=e>>2;d=g+1|0;if(d>>>0>=1073741824){break b}f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}f=pl(d<<2)}else{f=0}g=f+(g<<2)|0;J[g>>2]=b;e=ok(f,c,e);J[a+12>>2]=e+(d<<2);J[a+8>>2]=g+4;J[a+4>>2]=e;if(!c){break c}hl(c)}c=J[a+16>>2];e=J[a+20>>2]-c>>2;d:{if((e|0)>(b|0)){break d}J[h+12>>2]=-1;d=b+1|0;if(d>>>0>e>>>0){vb(a+16|0,d-e|0,h+12|0);c=J[a+16>>2];break d}if(d>>>0>=e>>>0){break d}J[a+20>>2]=(d<<2)+c}J[(b<<2)+c>>2]=(J[a+8>>2]-J[a+4>>2]>>2)-1;fa=h+16|0;return}Ia();C()}Ya();C()}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=fa-48|0;fa=d;J[d+40>>2]=J[a- -64>>2];c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],d+40|0,d+44|0)}c=d+8|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);if(J[d+40>>2]>0){f=1;while(1){g=f;f=J[J[a+60>>2]+(e>>>3&536870908)>>2]>>>e|0;De(c,(g^f^-1)&1);f=f&1;e=e+1|0;if((e|0)>2]){continue}break}}Ee(c,b);J[d+44>>2]=J[a+12>>2];e=J[b+20>>2];a:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break a}f=d+48|0;Ba(b,J[b+4>>2],d+44|0,f);e=J[b+20>>2];g=J[b+16>>2];J[d+44>>2]=J[a+24>>2];if(!!g&(e|0)>=0|(e|0)>0){break a}Ba(b,J[b+4>>2],d+44|0,f)}Ae(c);fa=d+48|0;return 1}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=fa-48|0;fa=d;J[d+40>>2]=J[a+80>>2];c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],d+40|0,d+44|0)}c=d+8|0;J[c>>2]=0;J[c+4>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;Ce(c);if(J[d+40>>2]>0){f=1;while(1){g=f;f=J[J[a+76>>2]+(e>>>3&536870908)>>2]>>>e|0;De(c,(g^f^-1)&1);f=f&1;e=e+1|0;if((e|0)>2]){continue}break}}Ee(c,b);J[d+44>>2]=J[a+12>>2];e=J[b+20>>2];a:{if(!!J[b+16>>2]&(e|0)>=0|(e|0)>0){break a}f=d+48|0;Ba(b,J[b+4>>2],d+44|0,f);e=J[b+20>>2];g=J[b+16>>2];J[d+44>>2]=J[a+16>>2];if(!!g&(e|0)>=0|(e|0)>0){break a}Ba(b,J[b+4>>2],d+44|0,f)}Ae(c);fa=d+48|0;return 1}function Og(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{e=J[a>>2];f=J[a+4>>2]-e>>2;c=f+1|0;if(c>>>0<1073741824){e=J[a+8>>2]-e|0;g=e>>>1|0;c=e>>>0>=2147483644?1073741823:c>>>0>>0?g:c;if(c){if(c>>>0>=1073741824){break c}d=pl(c<<2)}e=J[b>>2];J[b>>2]=0;b=(f<<2)+d|0;J[b>>2]=e;c=(c<<2)+d|0;e=b+4|0;d=J[a+4>>2];f=J[a>>2];if((d|0)==(f|0)){break b}while(1){d=d-4|0;g=J[d>>2];J[d>>2]=0;b=b-4|0;J[b>>2]=g;if((d|0)!=(f|0)){continue}break}J[a+8>>2]=c;c=J[a+4>>2];J[a+4>>2]=e;d=J[a>>2];J[a>>2]=b;if((c|0)==(d|0)){break a}while(1){c=c-4|0;a=J[c>>2];J[c>>2]=0;if(a){ka[J[J[a>>2]+4>>2]](a)}if((c|0)!=(d|0)){continue}break}break a}Ia();C()}Ya();C()}J[a+8>>2]=c;J[a+4>>2]=e;J[a>>2]=b}if(d){hl(d)}}function sl(a,b,c,d,e,f,g,h){var i=0,j=0,k=0;i=fa-16|0;fa=i;if((b^-1)+2147483631>>>0>=c>>>0){if(K[a+11|0]>>>7|0){k=J[a>>2]}else{k=a}if(b>>>0<1073741799){J[i+12>>2]=b<<1;J[i>>2]=b+c;c=fa-16|0;fa=c;fa=c+16|0;c=i+12|0;c=J[(M[i>>2]>2]?c:i)>>2];if(c>>>0>=11){j=c+16&-16;c=j-1|0;c=(c|0)==11?j:c}else{c=10}c=c+1|0}else{c=2147483631}ml(i,c);c=J[i>>2];if(e){jl(c,k,e)}if(g){jl(c+e|0,h,g)}j=e+f|0;h=d-j|0;if((d|0)!=(j|0)){jl((c+e|0)+g|0,(e+k|0)+f|0,h)}if((b|0)!=10){hl(k)}J[a>>2]=c;J[a+8>>2]=J[a+8>>2]&-2147483648|J[i+4>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;b=a;a=h+(e+g|0)|0;J[b+4>>2]=a;H[i+12|0]=0;H[a+c|0]=K[i+12|0];fa=i+16|0;return}xe();C()}function Ma(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;J[b>>2]=1;f=b+8|0;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){ji(f,d+4|0);c=J[f>>2]}c=c+d|0;d=J[a+4>>2];H[c|0]=d;H[c+1|0]=d>>>8;H[c+2|0]=d>>>16;H[c+3|0]=d>>>24;c=J[a+8>>2];if((c|0)!=J[a+12>>2]){d=0;while(1){g=(d<<2)+c|0;c=J[b+8>>2];e=J[b+12>>2]-c|0;if(e>>>0<=4294967291){ji(f,e+4|0);c=J[f>>2]}c=c+e|0;e=J[g>>2];H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;d=d+1|0;c=J[a+8>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}c=J[b+12>>2];b=J[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){ji(f,c+4|0);b=J[f>>2]}b=b+c|0;a=J[a+20>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function ec(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=c-b|0;g=f>>2;d=J[a+8>>2];e=J[a>>2];if(g>>>0<=d-e>>2>>>0){f=J[a+4>>2]-e|0;d=f+b|0;h=f>>2;f=h>>>0>>0?d:c;i=f-b|0;if((b|0)!=(f|0)){ok(e,b,i)}if(g>>>0>h>>>0){b=J[a+4>>2];if((c|0)!=(f|0)){while(1){J[b>>2]=J[d>>2];b=b+4|0;d=d+4|0;if((d|0)!=(c|0)){continue}break}}J[a+4>>2]=b;return}J[a+4>>2]=e+i;return}if(e){J[a+4>>2]=e;hl(e);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;d=0}a:{if((f|0)<0){break a}e=d>>>1|0;d=d>>>0>=2147483644?1073741823:e>>>0>g>>>0?e:g;if(d>>>0>=1073741824){break a}e=d<<2;d=pl(e);J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){c=b;b=(f-4&-4)+4|0;d=nk(d,c,b)+b|0}J[a+4>>2]=d;return}Ia();C()}function Pe(a,b,c){var d=0,e=0,f=0;d=fa-16|0;fa=d;J[d+12>>2]=b;b=pl(32);J[d>>2]=b;J[d+4>>2]=17;J[d+8>>2]=-2147483616;H[b+16|0]=K[1261];e=K[1257]|K[1258]<<8|(K[1259]<<16|K[1260]<<24);f=K[1253]|K[1254]<<8|(K[1255]<<16|K[1256]<<24);H[b+8|0]=f;H[b+9|0]=f>>>8;H[b+10|0]=f>>>16;H[b+11|0]=f>>>24;H[b+12|0]=e;H[b+13|0]=e>>>8;H[b+14|0]=e>>>16;H[b+15|0]=e>>>24;e=K[1249]|K[1250]<<8|(K[1251]<<16|K[1252]<<24);f=K[1245]|K[1246]<<8|(K[1247]<<16|K[1248]<<24);H[b|0]=f;H[b+1|0]=f>>>8;H[b+2|0]=f>>>16;H[b+3|0]=f>>>24;H[b+4|0]=e;H[b+5|0]=e>>>8;H[b+6|0]=e>>>16;H[b+7|0]=e>>>24;H[b+17|0]=0;Qe(a+4|0,d+12|0,d,c);if(H[d+11|0]<0){hl(J[d>>2])}fa=d+16|0}function sf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{b:{if((a|0)==(b|0)){break b}J[c>>2]=J[a>>2];e=a+4|0;if((e|0)==(b|0)){break b}a=J[d>>2];g=J[a>>2];i=J[a+4>>2]-g>>3;a=c;while(1){d=J[e>>2];if(d>>>0>=i>>>0){break a}f=J[a>>2];if(f>>>0>=i>>>0){break a}j=a+4|0;c:{if(M[(d<<3)+g>>2]>2]){J[a+4>>2]=f;h=c;d:{if((a|0)==(c|0)){break d}while(1){k=J[e>>2];if(k>>>0>=i>>>0){break a}f=a-4|0;d=J[f>>2];if(d>>>0>=i>>>0){break a}h=a;if(M[(k<<3)+g>>2]>=M[(d<<3)+g>>2]){break d}J[a>>2]=d;a=f;if((c|0)!=(a|0)){continue}break}h=c}J[h>>2]=J[e>>2];break c}J[j>>2]=d}a=j;e=e+4|0;if((e|0)!=(b|0)){continue}break}}return}Xc();C()}function Ok(a,b,c){var d=0,e=0,f=0,g=0;d=fa-208|0;fa=d;J[d+204>>2]=c;c=d+160|0;pk(c,0,40);J[d+200>>2]=J[d+204>>2];a:{if((Ik(0,b,d+200|0,d+80|0,c)|0)<0){a=-1;break a}g=J[a+76>>2]>=0;e=J[a>>2];if(J[a+72>>2]<=0){J[a>>2]=e&-33}b:{c:{d:{if(!J[a+48>>2]){J[a+48>>2]=80;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;f=J[a+44>>2];J[a+44>>2]=d;break d}if(J[a+16>>2]){break c}}c=-1;if(Fk(a)){break b}}c=Ik(a,b,d+200|0,d+80|0,d+160|0)}b=c;if(f){ka[J[a+36>>2]](a,0,0)|0;J[a+48>>2]=0;J[a+44>>2]=f;J[a+28>>2]=0;c=J[a+20>>2];J[a+16>>2]=0;J[a+20>>2]=0;b=c?b:-1}c=a;a=J[a>>2];J[c>>2]=a|e&32;a=a&32?-1:b;if(!g){break a}}fa=d+208|0;return a}function pe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=fa-32|0;fa=f;d=d-e|0;if((d|0)>0){i=a+8|0;k=0-e<<2;while(1){j=d<<2;g=j+b|0;h=g+k|0;l=J[h>>2];h=J[h+4>>2];m=J[g+4>>2];J[f+16>>2]=J[g>>2];J[f+20>>2]=m;J[f+8>>2]=l;J[f+12>>2]=h;Qd(f+24|0,i,f+16|0,f+8|0);g=c+j|0;J[g>>2]=J[f+24>>2];J[g+4>>2]=J[f+28>>2];d=d-e|0;if((d|0)>0){continue}break}}d=e>>>0>1073741823?-1:e<<2;d=pk(pl(d),0,d);e=J[d>>2];g=J[d+4>>2];i=J[b+4>>2];J[f+16>>2]=J[b>>2];J[f+20>>2]=i;J[f+8>>2]=e;J[f+12>>2]=g;Qd(f+24|0,a+8|0,f+16|0,f+8|0);J[c>>2]=J[f+24>>2];J[c+4>>2]=J[f+28>>2];hl(d);fa=f+32|0;return 1}function le(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=fa-32|0;fa=g;J[a+48>>2]=f;i=1;a:{d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;b:{if((d|0)<4){break b}l=a+44|0;m=a+8|0;f=d>>>2|0;while(1){d=J[a+40>>2];i=J[d>>2];h=J[d+4>>2]-i>>2;d=f-1|0;if(h>>>0<=d>>>0){break a}i=Cd(l,J[i+(d<<2)>>2],b,d);if(!i){break b}h=J[a+52>>2];n=J[a+56>>2];j=P(d,e)<<2;k=j+b|0;o=J[k+4>>2];J[g+16>>2]=J[k>>2];J[g+20>>2]=o;J[g+8>>2]=h;J[g+12>>2]=n;Qd(g+24|0,m,g+16|0,g+8|0);h=c+j|0;J[h>>2]=J[g+24>>2];J[h+4>>2]=J[g+28>>2];h=f>>>0>1;f=d;if(h){continue}break}}fa=g+32|0;return i|0}Xc();C()}function _d(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=fa-32|0;fa=g;J[a+48>>2]=f;i=1;a:{d=J[a+40>>2];d=J[d+4>>2]-J[d>>2]|0;b:{if((d|0)<4){break b}l=a+44|0;m=a+8|0;f=d>>>2|0;while(1){d=J[a+40>>2];i=J[d>>2];h=J[d+4>>2]-i>>2;d=f-1|0;if(h>>>0<=d>>>0){break a}i=jd(l,J[i+(d<<2)>>2],b,d);if(!i){break b}h=J[a+52>>2];n=J[a+56>>2];j=P(d,e)<<2;k=j+b|0;o=J[k+4>>2];J[g+16>>2]=J[k>>2];J[g+20>>2]=o;J[g+8>>2]=h;J[g+12>>2]=n;Qd(g+24|0,m,g+16|0,g+8|0);h=c+j|0;J[h>>2]=J[g+24>>2];J[h+4>>2]=J[g+28>>2];h=f>>>0>1;f=d;if(h){continue}break}}fa=g+32|0;return i|0}Xc();C()}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;jk(a,b,c);e=J[a+96>>2];a=J[a+100>>2];a:{if((e|0)==(a|0)){break a}d=(a-e|0)/12|0;f=d>>>0<=1?1:d;g=f&1;a=J[b>>2];c=0;if(d>>>0>=2){f=f&-2;d=0;while(1){b=P(c,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2];b=P(c|1,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2];c=c+2|0;d=d+2|0;if((f|0)!=(d|0)){continue}break}}if(!g){break a}b=P(c,12)+e|0;J[b>>2]=J[a+(J[b>>2]<<2)>>2];J[b+4>>2]=J[a+(J[b+4>>2]<<2)>>2];J[b+8>>2]=J[a+(J[b+8>>2]<<2)>>2]}}function ej(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,l=0;a=fa-16|0;fa=a;a:{if(!b){break a}J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;h=b+96|0;g=J[b+96>>2];e=(J[b+100>>2]-g|0)/12|0;b:{if(e>>>0>>0){Kj(h,c-e|0,a);break b}if(c>>>0>>0){J[b+100>>2]=g+P(c,12)}if(!c){break a}}g=J[h>>2];e=0;while(1){i=P(e,12);f=i+d|0;j=J[f>>2];k=J[f+8>>2];l=J[f+4>>2];f=(J[b+100>>2]-g|0)/12|0;c:{if(f>>>0>e>>>0){e=e+1|0;break c}J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=e+1|0;Kj(h,e-f|0,a);g=J[h>>2]}f=g+i|0;J[f+8>>2]=k;J[f+4>>2]=l;J[f>>2]=j;if((c|0)!=(e|0)){continue}break}}fa=a+16|0;return(b|0)!=0|0}function Se(a,b){var c=0,d=0,e=0,f=0;f=fa-16|0;fa=f;c=pl(16);J[f>>2]=c;J[f+4>>2]=15;J[f+8>>2]=-2147483632;d=K[1587]|K[1588]<<8|(K[1589]<<16|K[1590]<<24);e=K[1583]|K[1584]<<8|(K[1585]<<16|K[1586]<<24);H[c+7|0]=e;H[c+8|0]=e>>>8;H[c+9|0]=e>>>16;H[c+10|0]=e>>>24;H[c+11|0]=d;H[c+12|0]=d>>>8;H[c+13|0]=d>>>16;H[c+14|0]=d>>>24;d=K[1580]|K[1581]<<8|(K[1582]<<16|K[1583]<<24);e=K[1576]|K[1577]<<8|(K[1578]<<16|K[1579]<<24);H[c|0]=e;H[c+1|0]=e>>>8;H[c+2|0]=e>>>16;H[c+3|0]=e>>>24;H[c+4|0]=d;H[c+5|0]=d>>>8;H[c+6|0]=d>>>16;H[c+7|0]=d>>>24;H[c+15|0]=0;ni(a+4|0,f,b);if(H[f+11|0]<0){hl(J[f>>2])}fa=f+16|0}function Uk(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0;i=1;j=d&2147483647;l=j;k=(j|0)==2147418112;a:{if(k&!c?a|b:k&(c|0)!=0|j>>>0>2147418112){break a}j=h&2147483647;k=(j|0)==2147418112;if(k&!g?e|f:k&(g|0)!=0|j>>>0>2147418112){break a}if(!(a|e|(c|g)|(b|f|(j|l)))){return 0}i=d&h;if((i|0)>0|(i|0)>=0){i=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>>0|b>>>0>>0:c>>>0>>0&(d|0)<=(h|0)|(d|0)<(h|0)){break a}return(a^e|c^g|(b^f|d^h))!=0}i=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>e>>>0|b>>>0>f>>>0:c>>>0>g>>>0&(d|0)>=(h|0)|(d|0)>(h|0)){break a}i=(a^e|c^g|(b^f|d^h))!=0}return i}function $b(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{b:{if(b){if(b>>>0>=357913942){break b}b=P(b,12);d=pl(b);J[a+4>>2]=d;J[a>>2]=d;e=b+d|0;J[a+8>>2]=e;f=J[c+4>>2];g=J[c>>2];c:{if((f|0)==(g|0)){b=b-12|0;pk(d,0,(b-((b>>>0)%12|0)|0)+12|0);break c}h=f-g|0;if((h|0)<0){break a}i=h&-4;while(1){J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;b=pl(h);J[d>>2]=b;J[d+8>>2]=b+i;c=g;while(1){J[b>>2]=J[c>>2];b=b+4|0;c=c+4|0;if((f|0)!=(c|0)){continue}break}J[d+4>>2]=b;d=d+12|0;if((e|0)!=(d|0)){continue}break}}J[a+4>>2]=e}return}Ia();C()}J[d+8>>2]=0;J[d>>2]=0;J[d+4>>2]=0;Ia();C()}function Qa(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=c-b|0;g=f>>2;e=J[a+8>>2];d=J[a>>2];if(g>>>0<=e-d>>2>>>0){e=J[a+4>>2]-d|0;f=e>>2;e=f>>>0>>0?b+e|0:c;h=e-b|0;if((b|0)!=(e|0)){ok(d,b,h)}if(f>>>0>>0){b=c-e|0;d=J[a+4>>2];if((c|0)!=(e|0)){ok(d,e,b)}J[a+4>>2]=b+d;return}J[a+4>>2]=d+h;return}if(d){J[a+4>>2]=d;hl(d);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;e=0}a:{if((f|0)<0){break a}d=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>g>>>0?d:g;if(d>>>0>=1073741824){break a}e=d<<2;d=pl(e);J[a+4>>2]=d;J[a>>2]=d;J[a+8>>2]=d+e;if((b|0)!=(c|0)){nk(d,b,f)}J[a+4>>2]=d+(g<<2);return}Ia();C()}function bb(a,b){var c=0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+60>>2];J[a+56>>2]=J[b+56>>2];J[a+60>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+36>>2];J[a+32>>2]=J[b+32>>2];J[a+36>>2]=c;c=J[b+28>>2];J[a+24>>2]=J[b+24>>2];J[a+28>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;J[a+88>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a}function cc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;a=J[a+4>>2];a:{b:{if(!a){break b}d=K[b+11|0];c=d<<24>>24<0;g=c?J[b>>2]:b;d=c?J[b+4>>2]:d;b=f;while(1){e=K[a+27|0];c=e<<24>>24<0;e=c?J[a+20>>2]:e;h=e>>>0>d>>>0;i=h?d:e;c:{if(i){c=tk(c?J[a+16>>2]:a+16|0,g,i);if(c){break c}}c=d>>>0>e>>>0?-1:h}c=(c|0)<0;b=c?b:a;a=J[(c?a+4|0:a)>>2];if(a){continue}break}if((b|0)==(f|0)){break b}c=K[b+27|0];a=c<<24>>24<0;d:{c=a?J[b+20>>2]:c;e=c>>>0>>0?c:d;if(e){a=tk(g,a?J[b+16>>2]:b+16|0,e);if(a){break d}}if(c>>>0>d>>>0){break b}break a}if((a|0)>=0){break a}}b=f}return b}function Vb(a){var b=0,c=0,d=0,e=0;c=J[a+152>>2];if(c){d=c;b=J[a+156>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;hl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+152>>2]}J[a+156>>2]=c;hl(d)}c=J[a+140>>2];if(c){d=c;b=J[a+144>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;hl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+140>>2]}J[a+144>>2]=c;hl(d)}b=J[a+128>>2];if(b){J[a+132>>2]=b;hl(b)}b=J[a+116>>2];if(b){J[a+120>>2]=b;hl(b)}b=J[a+104>>2];if(b){J[a+108>>2]=b;hl(b)}ye(a+84|0);ye(a- -64|0);ye(a+44|0);Ae(a+12|0)}function Ll(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(El(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(El(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;b:{if(J[b+44>>2]==4){break b}I[b+52>>1]=0;a=J[a+8>>2];ka[J[J[a>>2]+20>>2]](a,b,c,c,1,e);if(K[b+53|0]){J[b+44>>2]=3;if(!K[b+52|0]){break b}break a}J[b+44>>2]=4}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}a=J[a+8>>2];ka[J[J[a>>2]+24>>2]](a,b,c,d,e)}}function fc(a,b){var c=0,d=0,e=0,f=0;c=J[a+16>>2];if(b){J[a+12>>2]=J[a+12>>2]|-2147483648>>>c}b=c+1|0;J[a+16>>2]=b;a:{b:{if((b|0)==32){b=J[a+4>>2];c:{if((b|0)!=J[a+8>>2]){J[b>>2]=J[a+12>>2];J[a+4>>2]=b+4;break c}d=b;b=J[a>>2];c=d-b|0;f=c>>2;e=f+1|0;if(e>>>0>=1073741824){break b}d=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0>>0?d:e;if(e){if(e>>>0>=1073741824){break a}d=pl(e<<2)}else{d=0}f=d+(f<<2)|0;J[f>>2]=J[a+12>>2];c=ok(d,b,c);J[a+8>>2]=c+(e<<2);J[a+4>>2]=f+4;J[a>>2]=c;if(!b){break c}hl(b)}J[a+12>>2]=0;J[a+16>>2]=0}return}Ia();C()}Ya();C()}function Yb(a){var b=0,c=0,d=0,e=0;c=J[a+140>>2];if(c){d=c;b=J[a+144>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;hl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+140>>2]}J[a+144>>2]=c;hl(d)}c=J[a+128>>2];if(c){d=c;b=J[a+132>>2];if((c|0)!=(b|0)){while(1){d=b-12|0;e=J[d>>2];if(e){J[b-8>>2]=e;hl(e)}b=d;if((c|0)!=(b|0)){continue}break}d=J[a+128>>2]}J[a+132>>2]=c;hl(d)}b=J[a+116>>2];if(b){J[a+120>>2]=b;hl(b)}b=J[a+104>>2];if(b){J[a+108>>2]=b;hl(b)}b=J[a+92>>2];if(b){J[a+96>>2]=b;hl(b)}ye(a+72|0);ye(a+52|0);ye(a+32|0);ye(a+12|0)}function Xe(a,b,c,d,e){var f=0,g=0,h=0;f=fa-16|0;fa=f;g=Ye(b,c,f+12|0,f+8|0,d);d=J[g>>2];if(d){b=0}else{d=pl(40);c=d+16|0;a:{if(H[e+11|0]>=0){h=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=h;J[c+8>>2]=J[e+8>>2];break a}tl(c,J[e>>2],J[e+4>>2])}c=d+28|0;b:{if(H[e+23|0]>=0){e=e+12|0;h=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=h;J[c+8>>2]=J[e+8>>2];break b}tl(c,J[e+12>>2],J[e+16>>2])}J[d+8>>2]=J[f+12>>2];J[d>>2]=0;J[d+4>>2]=0;J[g>>2]=d;e=d;c=J[J[b>>2]>>2];if(c){J[b>>2]=c;e=J[g>>2]}We(J[b+4>>2],e);J[b+8>>2]=J[b+8>>2]+1;b=1}H[a+4|0]=b;J[a>>2]=d;fa=f+16|0}function Vg(a){var b=0,c=0,d=0,e=0;Ce(a);c=J[a+84>>2];a:{if((c|0)<=0){break a}b=c<<5;d=pl(c>>>0>134217727?-1:b|4);J[d>>2]=c;d=d+4|0;c=d+b|0;b=d;while(1){J[b>>2]=0;J[b+4>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;b=b+32|0;if((c|0)!=(b|0)){continue}break}e=J[a+80>>2];J[a+80>>2]=d;if(e){c=e-4|0;d=J[c>>2];if(d){b=(d<<5)+e|0;while(1){b=Ae(b-32|0);if((e|0)!=(b|0)){continue}break}}hl(c)}if(J[a+84>>2]<=0){break a}b=0;while(1){Ce(J[a+80>>2]+(b<<5)|0);b=b+1|0;if((b|0)>2]){continue}break}}}function Xk(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=fa-16|0;fa=f;A(+b);g=v(1)|0;d=v(0)|0;c=g&2147483647;e=c+-1048576|0;a:{if((e|0)==2145386495|e>>>0<2145386495){h=d<<28;e=c>>>4|0;c=(c&15)<<28|d>>>4;d=e+1006632960|0;break a}if((c|0)==2146435072|c>>>0>2146435072){h=d<<28;c=(g&15)<<28|d>>>4;d=g>>>4|2147418112;break a}if(!(c|d)){c=0;d=0;break a}e=c;c=c?S(c):S(d)+32|0;Tk(f,d,e,0,0,c+49|0);i=J[f>>2];h=J[f+4>>2];e=15372-c<<16;c=J[f+8>>2];d=e|J[f+12>>2]^65536}J[a>>2]=i;J[a+4>>2]=h;J[a+8>>2]=c;J[a+12>>2]=g&-2147483648|d;fa=f+16|0}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=fa-48|0;fa=f;a:{if(!b){a=0;break a}e=f+16|0;J[e>>2]=0;J[e+4>>2]=0;H[e+24|0]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;g=0;b:{if((ck(b,0)|0)==-1){break b}if(c){g=0;if(!(ka[J[J[b>>2]+16>>2]](b)|0)){break b}ka[J[J[b>>2]+20>>2]](b)}Ge(f,a,b,e);a=J[f>>2];if(H[f+15|0]<0){hl(J[f+4>>2])}g=0;if(a){break b}Fj(d,J[e>>2],J[e+4>>2]);g=J[e+4>>2]-J[e>>2]|0}a=g;b=J[e+12>>2];J[e+12>>2]=0;if(b){hl(b)}b=J[e>>2];if(!b){break a}J[e+4>>2]=b;hl(b)}fa=f+48|0;return a|0}function ac(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2292;d=J[a+60>>2];if(d){b=d;c=J[a- -64>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){Kb(b)}if((c|0)!=(d|0)){continue}break}b=J[a+60>>2]}J[a+64>>2]=d;hl(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}d=J[a+36>>2];if(d){b=d;c=J[a+40>>2];if((b|0)!=(c|0)){while(1){c=c-24|0;ka[J[J[c>>2]>>2]](c)|0;if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;hl(b)}J[a>>2]=2196;b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;hl(b)}return a|0}function lh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=J[a+8>>2];d=J[a+4>>2];if(c-d>>2>>>0>=b>>>0){if(b){b=b<<2;d=pk(d,0,b)+b|0}J[a+4>>2]=d;return}a:{f=J[a>>2];g=d-f>>2;e=g+b|0;if(e>>>0<1073741824){c=c-f|0;h=c>>>1|0;e=c>>>0>=2147483644?1073741823:e>>>0>>0?h:e;if(e){if(e>>>0>=1073741824){break a}i=pl(e<<2)}c=(g<<2)+i|0;b=b<<2;b=pk(c,0,b)+b|0;if((d|0)!=(f|0)){while(1){c=c-4|0;d=d-4|0;J[c>>2]=J[d>>2];if((d|0)!=(f|0)){continue}break}}J[a+8>>2]=(e<<2)+i;J[a+4>>2]=b;J[a>>2]=c;if(f){hl(f)}return}Ia();C()}Ya();C()}function lj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=fa-48|0;fa=e;a:{if(!b){a=0;break a}d=e+16|0;J[d>>2]=0;J[d+4>>2]=0;H[d+24|0]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;f=0;b:{if((ck(b,0)|0)==-1){break b}f=0;if(!(ka[J[J[b>>2]+16>>2]](b)|0)){break b}ka[J[J[b>>2]+20>>2]](b);Le(e,a,b,d);a=J[e>>2];if(H[e+15|0]<0){hl(J[e+4>>2])}f=0;if(a){break b}Fj(c,J[d>>2],J[d+4>>2]);f=J[d+4>>2]-J[d>>2]|0}a=f;b=J[d+12>>2];J[d+12>>2]=0;if(b){hl(b)}b=J[d>>2];if(!b){break a}J[d+4>>2]=b;hl(b)}fa=e+48|0;return a|0}function _k(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;a:{if(f&64){c=f+-64|0;b=c&31;if((c&63)>>>0>=32){c=0;b=e>>>b|0}else{c=e>>>b|0;b=((1<>>b}d=0;e=0;break a}if(!f){break a}i=d;h=64-f|0;g=h&31;if((h&63)>>>0>=32){h=i<>>32-g|e<>>0>=32){g=0;b=c>>>b|0}else{g=c>>>b|0;b=((1<>>b}b=j|b;c=g|h;g=d;d=f&31;if((f&63)>>>0>=32){h=0;d=e>>>d|0}else{h=e>>>d|0;d=((1<>>d}e=h}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e}function Yj(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=fa-16|0;fa=c;e=K[b+11|0];e=e<<24>>24<0?J[b+4>>2]:e;a:{if(e>>>0>255){break a}if(!e){H[c+15|0]=0;b=J[a+20>>2];if(!!J[a+16>>2]&(b|0)>=0|(b|0)>0){break a}Ba(a,J[a+4>>2],c+15|0,c+16|0);break a}H[c+14|0]=e;d=J[a+20>>2];if(!!J[a+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(a,J[a+4>>2],c+14|0,c+15|0);d=J[a+20>>2];if(!!J[a+16>>2]&(d|0)>=0|(d|0)>0){break a}g=a;h=J[a+4>>2];a=K[b+11|0];d=a<<24>>24<0;f=d?J[b>>2]:b;Ba(g,h,f,(d?J[b+4>>2]:a)+f|0)}fa=c+16|0;return e>>>0<256}function il(a){a=a|0;var b=0,c=0,d=0;if(!a){if(J[4847]){b=il(J[4847])}if(J[4810]){b=il(J[4810])|b}a=J[4846];if(a){while(1){if(J[a+20>>2]!=J[a+28>>2]){b=il(a)|b}a=J[a+56>>2];if(a){continue}break}}return b|0}d=J[a+76>>2]>=0;a:{b:{if(J[a+20>>2]==J[a+28>>2]){break b}ka[J[a+36>>2]](a,0,0)|0;if(J[a+20>>2]){break b}b=-1;break a}b=J[a+8>>2];c=J[a+4>>2];if((b|0)!=(c|0)){b=c-b|0;ka[J[a+40>>2]](a,b,b>>31,1)|0}b=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;if(!d){break a}}return b|0}function ji(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=J[a+4>>2];e=J[a>>2];d=c-e|0;b:{if(d>>>0>>0){g=b-d|0;f=J[a+8>>2];if(g>>>0<=f-c>>>0){h=a,i=pk(c,0,g)+g|0,J[h+4>>2]=i;break b}if((b|0)<0){break a}c=f-e|0;f=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0>>0?f:b;f=pl(c);pk(f+d|0,0,g);d=ok(f,e,d);J[a+8>>2]=d+c;J[a+4>>2]=b+d;J[a>>2]=d;if(!e){break b}hl(e);break b}if(b>>>0>=d>>>0){break b}J[a+4>>2]=b+e}b=J[a+28>>2];c=b;d=b+1|0;b=J[a+24>>2]+1|0;e=b?c:d;J[a+24>>2]=b;J[a+28>>2]=e;return}Ia();C()}function vj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=fa-48|0;fa=d;e=J[a+4>>2];a:{if(!e){break a}if(b){if(!(ka[J[J[e>>2]+16>>2]](e)|0)){break a}b=J[a+4>>2];ka[J[J[b>>2]+20>>2]](b)}b=d+16|0;J[b>>2]=0;J[b+4>>2]=0;H[b+24|0]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;af(d,J[a>>2],b);a=J[d>>2];if(H[d+15|0]<0){hl(J[d+4>>2])}if(!a){Fj(c,J[b>>2],J[b+4>>2]);f=J[b+4>>2]-J[b>>2]|0}a=J[b+12>>2];J[b+12>>2]=0;if(a){hl(a)}a=J[b>>2];if(!a){break a}J[b+4>>2]=a;hl(a)}fa=d+48|0;return f|0}function nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=1;a:{if((ka[J[J[b>>2]+20>>2]](b)|0)<=0){break a}while(1){e=0;d=ck(J[J[a+4>>2]+4>>2],ka[J[J[b>>2]+24>>2]](b,f)|0);if((d|0)==-1){break a}c=J[a+4>>2];g=0;b:{if((d|0)<0){break b}h=J[c+4>>2];if(J[h+12>>2]-J[h+8>>2]>>2<=(d|0)){break b}c=J[J[c+8>>2]+(J[J[c+20>>2]+(d<<2)>>2]<<2)>>2];g=ka[J[J[c>>2]+36>>2]](c,d)|0}if(!(ka[J[J[b>>2]+28>>2]](b,g)|0)){break a}e=1;f=f+1|0;if((ka[J[J[b>>2]+20>>2]](b)|0)>(f|0)){continue}break}}return e|0}function Tk(a,b,c,d,e,f){var g=0,h=0,i=0;a:{if(f&64){d=b;e=f+-64|0;b=e&31;if((e&63)>>>0>=32){e=d<>>32-b|c<>>0>=32){h=g<>>32-d|e<>>0>=32){e=0;b=c>>>d|0}else{e=c>>>d|0;b=((1<>>d}d=i|b;e=e|h;b=f&31;if((f&63)>>>0>=32){h=g<>>32-b|c<>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e}function _b(a,b){Ee(a,b);Ee(a+32|0,b);Ee(a- -64|0,b);Ee(a+96|0,b);Ee(a+128|0,b);Ee(a+160|0,b);Ee(a+192|0,b);Ee(a+224|0,b);Ee(a+256|0,b);Ee(a+288|0,b);Ee(a+320|0,b);Ee(a+352|0,b);Ee(a+384|0,b);Ee(a+416|0,b);Ee(a+448|0,b);Ee(a+480|0,b);Ee(a+512|0,b);Ee(a+544|0,b);Ee(a+576|0,b);Ee(a+608|0,b);Ee(a+640|0,b);Ee(a+672|0,b);Ee(a+704|0,b);Ee(a+736|0,b);Ee(a+768|0,b);Ee(a+800|0,b);Ee(a+832|0,b);Ee(a+864|0,b);Ee(a+896|0,b);Ee(a+928|0,b);Ee(a+960|0,b);Ee(a+992|0,b);Ee(a+1024|0,b)}function lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=J[J[a+8>>2]+40>>2];h=pl((d|0)<0?-1:d);g=J[b>>2];i=J[b+4>>2];if((g|0)!=(i|0)){k=d+h|0;while(1){e=J[(j<<2)+g>>2];f=J[a+8>>2];if(!K[f+84|0]){e=J[J[f+68>>2]+(e<<2)>>2]}l=J[J[f>>2]>>2];d=J[f+40>>2];e=J[f+48>>2]+em(d,J[f+44>>2],e,0)|0;e=nk(h,e+l|0,d);d=J[c+20>>2];if(!J[c+16>>2]&(d|0)<=0|(d|0)<0){Ba(c,J[c+4>>2],e,k);g=J[b>>2];i=J[b+4>>2]}j=j+1|0;if(j>>>0>2>>>0){continue}break}}hl(h);return 1}function Rk(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!J[J[4886]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){H[a+1|0]=b&63|128;H[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){H[a+2|0]=b&63|128;H[a|0]=b>>>12|224;H[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){H[a+3|0]=b&63|128;H[a|0]=b>>>18|240;H[a+2|0]=b>>>6&63|128;H[a+1|0]=b>>>12&63|128;a=4;break a}}J[4842]=25;a=-1}else{a=1}break a}H[a|0]=b;a=1}return a}function kl(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=fa-16|0;fa=f;d=fa-32|0;fa=d;e=fa-16|0;fa=e;J[e+12>>2]=a;J[e+8>>2]=a+b;J[d+24>>2]=J[e+12>>2];J[d+28>>2]=J[e+8>>2];fa=e+16|0;b=fa-16|0;fa=b;h=J[d+28>>2];e=J[d+24>>2];g=h-e|0;if((e|0)!=(h|0)){ok(c,e,g)}J[b+12>>2]=e+g;J[b+8>>2]=c+g;J[d+16>>2]=J[b+12>>2];J[d+20>>2]=J[b+8>>2];fa=b+16|0;J[d+12>>2]=(J[d+16>>2]-a|0)+a;J[d+8>>2]=(J[d+20>>2]-c|0)+c;J[f+8>>2]=J[d+12>>2];J[f+12>>2]=J[d+8>>2];fa=d+32|0;fa=f+16|0;return J[f+12>>2]}function hi(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;d=J[a+8>>2];a:{if((d|0)==J[a+12>>2]){b=tb(pl(76),b);J[b+36>>2]=0;J[b+40>>2]=0;J[b>>2]=2292;J[b+44>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+64>>2]=0;J[b+68>>2]=0;J[b+72>>2]=0;J[c+8>>2]=b;d=J[a+12>>2];b:{if(d>>>0>2]){J[c+8>>2]=0;J[d>>2]=b;J[a+12>>2]=d+4;break b}Og(a+8|0,c+8|0)}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break a}ka[J[J[a>>2]+4>>2]](a);break a}ub(J[d>>2],b)}fa=c+16|0;return 1}function Qe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=fa-48|0;fa=e;h=J[b>>2];f=a+16|0;b=J[f>>2];a:{b:{if(!b){break b}g=f;while(1){i=J[b+16>>2]<(h|0);g=i?g:b;b=J[(i?b+4|0:b)>>2];if(b){continue}break}if((g|0)==(f|0)){break b}if(J[g+16>>2]<=(h|0)){break a}}J[e+28>>2]=0;J[e+32>>2]=0;f=e+24|0;J[e+24>>2]=f|4;b=e+16|0;J[b>>2]=0;J[b+4>>2]=0;J[e+8>>2]=h;J[e+12>>2]=b;b=a+12|0;a=e+8|0;Me(e+40|0,b,a,a);g=J[e+40>>2];Mc(a|4,J[e+16>>2]);Mc(f,J[e+28>>2])}ni(g+20|0,c,d);fa=e+48|0}function Qj(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=14964;b=J[a+68>>2];if(b){J[a+72>>2]=b;hl(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}b=J[a+44>>2];if(b){J[a+48>>2]=b;hl(b)}b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;hl(b)}b=J[a+8>>2];if(b){d=b;c=J[a+12>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;d=J[c>>2];J[c>>2]=0;if(d){Kb(d)}if((b|0)!=(c|0)){continue}break}d=J[a+8>>2]}J[a+12>>2]=b;hl(d)}b=J[a+4>>2];J[a+4>>2]=0;if(b){Jj(b)}return a|0}function Ac(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=2504;b=J[a+72>>2];J[a+72>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;hl(b)}b=J[a+48>>2];if(b){hl(b)}d=J[a+36>>2];if(d){c=J[a+40>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+36>>2]}J[a+40>>2]=d;hl(b)}J[a>>2]=2196;b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;hl(b)}return a|0}function Dl(){var a=0,b=0;a=fa-16|0;fa=a;b=J[4306];Hk(2020,11,b);J[a+12>>2]=0;Ok(b,1990,0);a=J[b+76>>2];a:{if(!((a|0)>=0&(!a|J[4868]!=(a&-1073741825)))){b:{if(J[b+80>>2]==10){break b}a=J[b+20>>2];if((a|0)==J[b+16>>2]){break b}J[b+20>>2]=a+1;H[a|0]=10;break a}rl(b);break a}a=J[b+76>>2];J[b+76>>2]=a?a:1073741823;c:{d:{if(J[b+80>>2]==10){break d}a=J[b+20>>2];if((a|0)==J[b+16>>2]){break d}J[b+20>>2]=a+1;H[a|0]=10;break c}rl(b)}J[b+76>>2]=0}ca();C()}function gh(a){J[a>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;H[a+28|0]=1;J[a+20>>2]=0;J[a+24>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+72>>2]=a+4;J[a+104>>2]=0;J[a+108>>2]=0;H[a+100|0]=1;J[a+112>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0}function La(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=pk(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>2;d=h+b|0;if(d>>>0<1073741824){e=e-c|0;f=e>>>1|0;d=e>>>0>=2147483644?1073741823:d>>>0>>0?f:d;if(d){if(d>>>0>=1073741824){break a}i=pl(d<<2)}b=b<<2;e=pk((h<<2)+i|0,0,b);f=d<<2;d=ok(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){hl(c)}return}Ia();C()}Ya();C()}function jf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=J[a+8>>2];c=J[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=pk(c,0,b)+b|0}J[a+4>>2]=c;return}a:{f=c;c=J[a>>2];g=f-c|0;h=g>>3;d=h+b|0;if(d>>>0<536870912){e=e-c|0;f=e>>>2|0;d=e>>>0>=2147483640?536870911:d>>>0>>0?f:d;if(d){if(d>>>0>=536870912){break a}i=pl(d<<3)}b=b<<3;e=pk((h<<3)+i|0,0,b);f=d<<3;d=ok(i,c,g);J[a+8>>2]=f+d;J[a+4>>2]=b+e;J[a>>2]=d;if(c){hl(c)}return}Ia();C()}Ya();C()} +function Vk(a,b,c,d,e){var f=0,g=0,h=0;h=-1;g=d&2147483647;f=(g|0)==2147418112;a:{if(f&!c?a|b:f&(c|0)!=0|g>>>0>2147418112){break a}f=e&2147483647;if(((f|0)==2147418112&0|f>>>0>2147418112)&(f|0)!=2147418112){break a}if(!(a|c|(f|g|b))){return 0}f=d&e;if((f|0)>0|(f|0)>=0){if(((c|0)!=0|(d|0)!=(e|0))&(d|0)<(e|0)){break a}return(a|c|(d^e|b))!=0}if(!c&(d|0)==(e|0)?a|b:(c|0)!=0&(d|0)>=(e|0)|(d|0)>(e|0)){break a}h=(a|c|(d^e|b))!=0}return h}function al(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0;i=em(b,c,h,i);h=ja;e=em(d,e,f,g);i=e+i|0;d=ja+h|0;h=e>>>0>i>>>0?d+1|0:d;j=g;e=0;k=c;d=0;c=em(g,e,c,d);g=c+i|0;i=ja+h|0;l=g;c=c>>>0>g>>>0?i+1|0:i;g=em(f,0,b,0);h=ja;i=0;d=em(f,i,k,d);h=h+d|0;f=ja+i|0;f=d>>>0>h>>>0?f+1|0:f;i=f+l|0;d=c;f=f>>>0>i>>>0?d+1|0:d;c=em(b,m,j,e)+h|0;e=ja;e=c>>>0>>0?e+1|0:e;h=e+i|0;i=f;J[a+8>>2]=h;J[a+12>>2]=e>>>0>h>>>0?i+1|0:i;J[a>>2]=g;J[a+4>>2]=c}function ki(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{c=J[a+4>>2];f=J[a>>2];d=c-f|0;b:{if(d>>>0>>0){g=b-d|0;e=J[a+8>>2];if(g>>>0<=e-c>>>0){h=a,i=pk(c,0,g)+g|0,J[h+4>>2]=i;return}if((b|0)<0){break a}c=e-f|0;e=c<<1;c=c>>>0>=1073741823?2147483647:b>>>0>>0?e:b;e=pl(c);pk(e+d|0,0,g);d=ok(e,f,d);J[a+8>>2]=d+c;J[a+4>>2]=b+d;J[a>>2]=d;if(!f){break b}hl(f);return}if(b>>>0>=d>>>0){break b}J[a+4>>2]=b+f}return}Ia();C()}function Sa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=fa-16|0;fa=d;e=J[a+4>>2];a:{if((e|0)==-1){break a}c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],J[a+8>>2],J[a+12>>2]);c=J[b+20>>2];if(!!J[b+16>>2]&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],a+20|0,a+24|0);c=J[b+20>>2];f=J[b+16>>2];H[d+15|0]=J[a+4>>2];if(!!f&(c|0)>=0|(c|0)>0){break a}Ba(b,J[b+4>>2],d+15|0,d+16|0)}fa=d+16|0;return(e|0)!=-1|0}function _h(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;a:{b=J[a+8>>2];b:{if((b|0)<0){break b}c=J[a+4>>2];e=J[c>>2];d=J[c+4>>2]-e>>2;c:{if(d>>>0>>0){lh(c,b-d|0);f=J[a+8>>2];break c}f=b;if(b>>>0>=d>>>0){break c}J[c+4>>2]=e+(b<<2);f=b}d=f;if((d|0)<=0){break b}a=J[a+4>>2];c=J[a>>2];e=J[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(e|0)){break a}J[c+(a<<2)>>2]=a;a=a+1|0;if((d|0)!=(a|0)){continue}break}}return(b^-1)>>>31|0}Xc();C()}function Zb(a){Ce(a);Ce(a+32|0);Ce(a- -64|0);Ce(a+96|0);Ce(a+128|0);Ce(a+160|0);Ce(a+192|0);Ce(a+224|0);Ce(a+256|0);Ce(a+288|0);Ce(a+320|0);Ce(a+352|0);Ce(a+384|0);Ce(a+416|0);Ce(a+448|0);Ce(a+480|0);Ce(a+512|0);Ce(a+544|0);Ce(a+576|0);Ce(a+608|0);Ce(a+640|0);Ce(a+672|0);Ce(a+704|0);Ce(a+736|0);Ce(a+768|0);Ce(a+800|0);Ce(a+832|0);Ce(a+864|0);Ce(a+896|0);Ce(a+928|0);Ce(a+960|0);Ce(a+992|0);Ce(a+1024|0)}function tl(a,b,c){var d=0,e=0,f=0,g=0;e=fa-16|0;fa=e;a:{b:{if(c>>>0<11){d=a;H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;break b}if(c>>>0>2147483631){break a}g=e+8|0;if(c>>>0>=11){f=c+16&-16;d=f-1|0;d=(d|0)==11?f:d}else{d=10}ml(g,d+1|0);d=J[e+8>>2];J[a>>2]=d;J[a+8>>2]=J[a+8>>2]&-2147483648|J[e+12>>2]&2147483647;J[a+8>>2]=J[a+8>>2]|-2147483648;J[a+4>>2]=c}jl(d,b,c+1|0);fa=e+16|0;return}xe();C()}function Le(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=fa-96|0;fa=e;f=$e(e+40|0,c);He(e,b,c);bf(f,e);Mc(e+24|0,J[e+28>>2]);Ie(e+12|0,J[e+16>>2]);Mc(e,J[e+4>>2]);af(a,f,d);if(!J[a>>2]){if(H[a+15|0]<0){hl(J[a+4>>2])}J[b+40>>2]=J[f+40>>2];J[b+44>>2]=J[f+44>>2];J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0}J[f>>2]=10264;Mc(f+28|0,J[f+32>>2]);Ie(f+16|0,J[f+20>>2]);Mc(f+4|0,J[f+8>>2]);fa=e+96|0}function ci(a,b){var c=0,d=0,e=0;c=J[a+4>>2];d=c+b|0;J[a+4>>2]=d;if(!((d-1^c-1)>>>0<32?c:0)){J[J[a>>2]+((d>>>0>=33?d-1>>>5|0:0)<<2)>>2]=0}a:{if(!b){break a}a=J[a>>2]+(c>>>3&536870908)|0;c=c&31;if(c){d=32-c|0;e=b>>>0>d>>>0?d:b;J[a>>2]=J[a>>2]&(-1<>>d-e^-1);b=b-e|0;a=a+4|0}c=b>>>5|0;if(b>>>0>=32){pk(a,0,c<<2)}if((b&-32)==(b|0)){break a}a=(c<<2)+a|0;J[a>>2]=J[a>>2]&(-1>>>32-(b&31)^-1)}}function zg(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=10412;b=J[a+64>>2];J[a+64>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;hl(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;hl(b)}return a|0}function tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=fa-16|0;fa=d;f=xb(a,b);a:{if(!f){break a}c=J[a+36>>2];if((c|0)==J[a+40>>2]){break a}g=d+16|0;while(1){c=J[(e<<2)+c>>2];h=d,i=ka[J[J[c>>2]+32>>2]](c)|0,H[h+15|0]=i;c=J[b+20>>2];if(!J[b+16>>2]&(c|0)<=0|(c|0)<0){Ba(b,J[b+4>>2],d+15|0,g)}e=e+1|0;c=J[a+36>>2];if(e>>>0>2]-c>>2>>>0){continue}break}}fa=d+16|0;return f|0}function Ag(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=10412;b=J[a+64>>2];J[a+64>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;hl(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;hl(b)}hl(a)}function Gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+176>>2];d=J[a+172>>2];e=(c-d|0)/136|0;a:{if((c|0)==(d|0)){break a}c=0;b:{c:{d:{if(J[d>>2]==(b|0)){b=1}else{f=e>>>0<=1?1:e;while(1){c=c+1|0;if((f|0)==(c|0)){break d}if(J[P(c,136)+d>>2]!=(b|0)){continue}break}b=c>>>0>>0}if(b){break c}break a}if(c>>>0>>0){break b}break a}d=(P(c,136)+d|0)+104|0}return d|0}return a+40|0}function Vh(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;a:{if(!b){d=pl(76);b=pl(12);J[b+8>>2]=J[J[a+4>>2]+80>>2];J[b>>2]=12404;J[b+4>>2]=0;d=rc(d,b,0);J[c+8>>2]=d;b=J[a+12>>2];b:{if(b>>>0>2]){J[c+8>>2]=0;J[b>>2]=d;J[a+12>>2]=b+4;break b}Og(a+8|0,c+8|0)}a=J[c+8>>2];J[c+8>>2]=0;if(!a){break a}ka[J[J[a>>2]+4>>2]](a);break a}ub(J[J[a+8>>2]>>2],b)}fa=c+16|0;return 1}function Nb(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+36>>2];if((c|0)!=J[a+40>>2]){while(1){c=P(d,24)+c|0;ka[J[J[c>>2]+28>>2]](c,b)|0;d=d+1|0;c=J[a+36>>2];if(d>>>0<(J[a+40>>2]-c|0)/24>>>0){continue}break}}c=J[a+48>>2];if((c|0)!=J[a+52>>2]){d=0;while(1){c=J[(d<<2)+c>>2];yb((c|0)<0?(c^-1)<<1|1:c<<1,b);d=d+1|0;c=J[a+48>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}return 1}function Ij(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=ab(pl(96));cb(g,b,d<<24>>24,f,c);b=ek(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];nk(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,(P(d,h)<<1)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function Gj(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=ab(pl(96));cb(g,b,d<<24>>24,f,c);b=ek(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];nk(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,(P(d,h)<<2)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function Za(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=fa+-64|0;fa=e;d=ka[J[J[a>>2]+44>>2]](a,b)|0;a=ka[J[J[a>>2]+40>>2]](a,b)|0;f=_a(e);g=J[b+56>>2];h=d&255;i=a;a=a-1|0;if(a>>>0<=10){a=J[(a<<2)+14832>>2]}else{a=-1}d=P(a,d);$a(f,g,0,h,i,d,d>>31);a=bb(pl(96),f);db(a,c);H[a+84|0]=1;J[a+72>>2]=J[a+68>>2];J[a+60>>2]=J[b+60>>2];fa=e- -64|0;return a|0}function Ml(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(El(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(!El(a,J[b>>2],e)){break a}if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+20>>2]=c;J[b+32>>2]=d;J[b+40>>2]=J[b+40>>2]+1;if(!(J[b+36>>2]!=1|J[b+24>>2]!=2)){H[b+54|0]=1}J[b+44>>2]=4}}function Hj(a,b,c,d,e,f){var g=0,h=0,i=0;i=-1;a:{if(!a){break a}g=ab(pl(96));cb(g,b,d<<24>>24,f,c);b=ek(a,g);if(c){g=J[J[a+8>>2]+(b<<2)>>2];while(1){f=J[g+40>>2];nk(J[J[g>>2]>>2]+P(f,K[g+84|0]?h:J[J[g+68>>2]+(h<<2)>>2])|0,P(d,h)+e|0,f);h=h+1|0;if((h|0)!=(c|0)){continue}break}}d=J[a+80>>2];b:{if(!d){J[a+80>>2]=c;break b}if((c|0)!=(d|0)){break a}}i=b}return i}function Hk(a,b,c){var d=0,e=0,f=0;a:{d=J[c+16>>2];if(!d){if(Fk(c)){break a}d=J[c+16>>2]}f=J[c+20>>2];if(d-f>>>0>>0){ka[J[c+36>>2]](c,a,b)|0;return}b:{if(J[c+80>>2]<0){break b}d=b;while(1){e=d;if(!e){break b}d=e-1|0;if(K[d+a|0]!=10){continue}break}if(ka[J[c+36>>2]](c,a,e)>>>0>>0){break a}a=a+e|0;b=b-e|0;f=J[c+20>>2]}nk(f,a,b);J[c+20>>2]=J[c+20>>2]+b}}function cb(a,b,c,d,e){var f=0,g=0,h=0;f=pl(32);J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[f+24>>2]=0;J[f+28>>2]=0;g=J[a+64>>2];J[a+64>>2]=f;if(g){f=J[g>>2];if(f){J[g+4>>2]=f;hl(f)}hl(g);f=J[a+64>>2]}h=c&255;g=d-1|0;if(g>>>0<=10){g=J[(g<<2)+14832>>2]}else{g=-1}c=P(g,c);$a(a,b,f,h,d,c,c>>31);db(a,e);H[a+84|0]=1;J[a+72>>2]=J[a+68>>2]}function nl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=J[a+84>>2];f=J[e>>2];d=J[e+4>>2];h=J[a+28>>2];g=J[a+20>>2]-h|0;g=d>>>0>>0?d:g;if(g){nk(f,h,g);f=g+J[e>>2]|0;J[e>>2]=f;d=J[e+4>>2]-g|0;J[e+4>>2]=d}d=c>>>0>d>>>0?d:c;if(d){nk(f,b,d);f=d+J[e>>2]|0;J[e>>2]=f;J[e+4>>2]=J[e+4>>2]-d}H[f|0]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;return c|0}function pf(a,b,c){var d=0,e=0,f=0,g=0;d=fa-16|0;fa=d;H[d+15|0]=a&127;a:{if(!b&a>>>0>=128|b){H[d+15|0]=a|128;e=J[c+20>>2];if(!!J[c+16>>2]&(e|0)>=0|(e|0)>0){break a}Ba(c,J[c+4>>2],d+15|0,d+16|0);f=pf((b&127)<<25|a>>>7,b>>>7|0,c);break a}a=J[c+20>>2];if(!!J[c+16>>2]&(a|0)>=0|(a|0)>0){break a}g=1;Ba(c,J[c+4>>2],d+15|0,d+16|0)}fa=d+16|0;return g|f}function Kl(a,b,c,d){H[a+53|0]=1;a:{if(J[a+4>>2]!=(c|0)){break a}H[a+52|0]=1;c=J[a+16>>2];b:{if(!c){J[a+36>>2]=1;J[a+24>>2]=d;J[a+16>>2]=b;if((d|0)!=1){break a}if(J[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=J[a+24>>2];if((c|0)==2){J[a+24>>2]=d;c=d}if(J[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}J[a+36>>2]=J[a+36>>2]+1}H[a+54|0]=1}}function Nj(a,b){var c=0,d=0,e=0,f=0;d=1;a:{if((b|0)==-1){break a}b=P(b,3);if((b|0)==-1){break a}d=-1;e=J[a>>2];a=e+(b<<2)|0;c=b+1|0;c=(c>>>0)%3|0?c:b-2|0;if((c|0)!=-1){d=J[(c<<2)+e>>2]}a=J[a>>2];f=(a|0)==(d|0);b:{c:{if((b>>>0)%3|0){b=b-1|0;break c}b=b+2|0;c=-1;if((b|0)==-1){break b}}c=J[(b<<2)+e>>2]}d=f|(c|0)==(a|0)|(d|0)==(c|0)}return d}function ul(a,b,c){var d=0,e=0,f=0;f=fa-16|0;fa=f;d=K[a+11|0]>>>7|0?(J[a+8>>2]&2147483647)-1|0:10;if(K[a+11|0]>>>7|0){e=J[a+4>>2]}else{e=K[a+11|0]&127}a:{if(d-e>>>0>=c>>>0){if(!c){break a}if(K[a+11|0]>>>7|0){d=J[a>>2]}else{d=a}jl(d+e|0,b,c);b=a;a=c+e|0;ol(b,a);H[f+15|0]=0;H[a+d|0]=K[f+15|0];break a}sl(a,d,(c+e|0)-d|0,e,e,0,c,b)}fa=f+16|0}function Fl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=fa+-64|0;fa=e;d=1;a:{if(El(a,b,0)){break a}d=0;if(!b){break a}b=Gl(b,18476,18524);d=0;if(!b){break a}d=e+8|0;pk(d|4,0,52);J[e+56>>2]=1;J[e+20>>2]=-1;J[e+16>>2]=a;J[e+8>>2]=b;ka[J[J[b>>2]+28>>2]](b,d,J[c>>2],1);a=J[e+32>>2];if((a|0)==1){J[c>>2]=J[e+24>>2]}d=(a|0)==1}fa=e- -64|0;return d|0}function sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;J[a+32>>2]=c;J[a+28>>2]=b;a:{if(!(ka[J[J[a>>2]+52>>2]](a)|0)){break a}e=J[a+4>>2];if((e|0)==J[a+8>>2]){return 1}c=0;while(1){d=c<<2;f=J[d+J[a+36>>2]>>2];d=ka[J[J[f>>2]+8>>2]](f,b,J[d+e>>2])|0;if(!d){break a}c=c+1|0;e=J[a+4>>2];if(c>>>0>2]-e>>2>>>0){continue}break}}return d|0}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=fa-16|0;fa=d;J[a+4>>2]=b;b=J[b+64>>2];e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Jg(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+56>>2];b=J[b+52>>2];H[d+14|0]=0;Jg(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;fa=d+16|0}function yb(a,b){var c=0,d=0,e=0;c=fa-16|0;fa=c;H[c+15|0]=a&127;a:{if(a>>>0>=128){H[c+15|0]=a|128;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){a=0;break a}Ba(b,J[b+4>>2],c+15|0,c+16|0);a=yb(a>>>7|0,b);break a}a=0;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}e=1;Ba(b,J[b+4>>2],c+15|0,c+16|0)}fa=c+16|0;return a|e}function uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=fa-16|0;fa=d;J[a+4>>2]=b;e=J[b>>2];b=J[b+4>>2];H[d+15|0]=0;Jg(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=J[a+4>>2];e=J[b+28>>2];b=J[b+24>>2];H[d+14|0]=0;Jg(a+36|0,e-b>>2,d+14|0);b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;fa=d+16|0}function mk(a){var b=0,c=0,d=0,e=0;while(1){b=a;a=b+1|0;c=H[b|0];if((c|0)==32|c-9>>>0<5){continue}break}a:{b:{c:{c=H[b|0];switch(c-43|0){case 0:break b;case 2:break c;default:break a}}e=1}c=H[a|0];b=a}if(c-48>>>0<10){while(1){d=(P(d,10)-H[b|0]|0)+48|0;a=H[b+1|0];b=b+1|0;if(a-48>>>0<10){continue}break}}return e?d:0-d|0}function bd(a,b){var c=0,d=0;a:{c=J[a+4>>2];d=J[a+8>>2];if((c|0)==d<<5){if((c+1|0)<0){break a}if(c>>>0<=1073741822){d=d<<6;c=(c&-32)+32|0;c=c>>>0>>0?d:c}else{c=2147483647}Gc(a,c);c=J[a+4>>2]}J[a+4>>2]=c+1;d=1<>2]+(c>>>3&536870908)|0;if(K[b|0]){J[a>>2]=d|J[a>>2];return}J[a>>2]=J[a>>2]&(d^-1);return}Ia();C()}function Th(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;hl(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;hl(b)}return a|0}function Yh(a){a=a|0;var b=0,c=0,d=0;J[a>>2]=12468;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}b=J[a+20>>2];if(b){J[a+24>>2]=b;hl(b)}d=J[a+8>>2];if(d){c=J[a+12>>2];b=d;if((c|0)!=(b|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}b=J[a+8>>2]}J[a+12>>2]=d;hl(b)}hl(a)}function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=fa-16|0;fa=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+8|0,c+12|0)}Ee(a+112|0,b);fa=c+16|0;return 1}function zk(a){var b=0;b=1;a:{if((a|0)>=1024){b=898846567431158e293;if(a>>>0<2047){a=a-1023|0;break a}b=Infinity;a=((a|0)>=3069?3069:a)-2046|0;break a}if((a|0)>-1023){break a}b=2004168360008973e-307;if(a>>>0>4294965304){a=a+969|0;break a}b=0;a=((a|0)<=-2960?-2960:a)+1938|0}x(0,0);x(1,a+1023<<20);return b*+z()}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=fa-16|0;fa=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+8|0,c+12|0)}Ee(a+96|0,b);fa=c+16|0;return 1}function Vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=fa-16|0;fa=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+16>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+8|0,c+12|0)}fa=c+16|0;return 1}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=fa-16|0;fa=c;J[c+12>>2]=J[a+12>>2];d=J[b+20>>2];a:{if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+12|0,c+16|0);d=J[b+20>>2];e=J[b+16>>2];J[c+8>>2]=J[a+24>>2];if(!!e&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+8|0,c+12|0)}fa=c+16|0;return 1}function tk(a,b,c){var d=0,e=0;a:{b:{if(c>>>0>=4){if((a|b)&3){break b}while(1){if(J[a>>2]!=J[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}while(1){d=K[a|0];e=K[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function Yk(a,b){var c=0,d=0,e=0,f=0;d=fa-16|0;fa=d;a:{if(!b){b=0;break a}c=b>>31;e=(c^b)-c|0;c=S(e);Tk(d,e,0,0,0,c+81|0);e=0+J[d+8>>2]|0;c=(J[d+12>>2]^65536)+(16414-c<<16)|0;c=e>>>0>>0?c+1|0:c;f=b&-2147483648|c;c=J[d+4>>2];b=J[d>>2]}J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=e;J[a+12>>2]=f;fa=d+16|0}function wh(a){a=a|0;var b=0;J[a+8>>2]=11436;J[a>>2]=11224;b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;hl(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;hl(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){hl(b)}b=J[a+32>>2];if(b){hl(b)}return a|0}function Jj(a){var b=0,c=0,d=0;if(a){d=J[a+24>>2];if(d){b=d;c=J[a+28>>2];if((b|0)!=(c|0)){while(1){c=c-4|0;b=J[c>>2];J[c>>2]=0;if(b){Li(b+12|0,J[b+16>>2]);Mi(b,J[b+4>>2]);hl(b)}if((c|0)!=(d|0)){continue}break}b=J[a+24>>2]}J[a+28>>2]=d;hl(b)}Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);hl(a)}}function xh(a){a=a|0;var b=0;J[a+8>>2]=11436;J[a>>2]=11224;b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+80>>2];if(b){J[a+84>>2]=b;hl(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;hl(b)}b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){hl(b)}b=J[a+32>>2];if(b){hl(b)}hl(a)}function wd(a){a=a|0;var b=0;J[a>>2]=5084;b=J[a+152>>2];if(b){J[a+156>>2]=b;hl(b)}b=J[a+112>>2];if(b){J[a+116>>2]=b;hl(b)}b=J[a+96>>2];if(b){hl(b)}b=J[a+84>>2];if(b){hl(b)}b=J[a+72>>2];if(b){hl(b)}b=J[a+60>>2];if(b){hl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function Yc(a){a=a|0;var b=0;J[a>>2]=3520;b=J[a+152>>2];if(b){J[a+156>>2]=b;hl(b)}b=J[a+112>>2];if(b){J[a+116>>2]=b;hl(b)}b=J[a+96>>2];if(b){hl(b)}b=J[a+84>>2];if(b){hl(b)}b=J[a+72>>2];if(b){hl(b)}b=J[a+60>>2];if(b){hl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function Ca(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=J[c+8>>2];e=J[c+16>>2];g=J[c+12>>2];f=g;d=J[c+20>>2];if(h>>>0>e>>>0&(f|0)>=(d|0)|(d|0)<(f|0)){b=K[J[c>>2]+e|0];i=e+1|0;f=i?d:d+1|0;J[c+16>>2]=i;J[c+20>>2]=f;J[a+4>>2]=b}return e>>>0>>0&(d|0)<=(g|0)|(d|0)<(g|0)}function El(a,b,c){var d=0;if(!c){return J[a+4>>2]==J[b+4>>2]}if((a|0)==(b|0)){return 1}d=J[a+4>>2];a=K[d|0];c=J[b+4>>2];b=K[c|0];a:{if(!a|(b|0)!=(a|0)){break a}while(1){b=K[c+1|0];a=K[d+1|0];if(!a){break a}c=c+1|0;d=d+1|0;if((a|0)==(b|0)){continue}break}}return(a|0)==(b|0)}function hf(a){var b=0,c=0;c=J[a+8>>2];if((c|0)>=2){b=+(c|0);b=W(b*sk(b)-O[a>>3]);if(R(b)<0x8000000000000000){ja=R(b)>=1?~~(b>0?T(V(b*2.3283064365386963e-10),4294967295):W((b-+(~~b>>>0>>>0))*2.3283064365386963e-10))>>>0:0;return~~b>>>0}a=-2147483648}else{a=0}ja=a;return 0}function vh(a){a=a|0;var b=0;J[a>>2]=11436;b=J[a+88>>2];if(b){J[a+92>>2]=b;hl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;hl(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;hl(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}return a|0}function Zj(a,b){var c=0,d=0,e=0;J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;a:{c=J[b+4>>2];d=J[b>>2];b:{if((c|0)==(d|0)){a=c;break b}c=c-d|0;if((c|0)<0){break a}d=c;e=pl(c);c=pk(e,0,c);d=d+c|0;J[a+8>>2]=d;J[a+4>>2]=d;J[a>>2]=c;c=J[b>>2];a=J[b+4>>2]}nk(e,c,a-c|0);return}Ia();C()}function Ch(a){a=a|0;var b=0;J[a>>2]=11436;b=J[a+88>>2];if(b){J[a+92>>2]=b;hl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;hl(b)}b=J[a+60>>2];if(b){J[a- -64>>2]=b;hl(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}hl(a)}function te(a){a=a|0;var b=0;J[a+40>>2]=2040;J[a>>2]=9996;b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=2632;b=J[a+36>>2];J[a+36>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}return a|0}function pj(a){a=a|0;var b=0,c=0;b=pl(8);J[b+4>>2]=a;J[b>>2]=0;a:{b:{c:{if(!a){break c}c=Gl(a,15016,14936);if(!c){break c}c=$e(pl(56),c);a=J[b>>2];J[b>>2]=c;if(a){break b}break a}c=_e(pl(56),a);a=J[b>>2];J[b>>2]=c;if(!a){break a}}ka[J[J[a>>2]+4>>2]](a)}return b|0}function Ge(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=fa-96|0;fa=e;f=_e(e+40|0,c);He(e,b,c);bf(f,e);Mc(e+24|0,J[e+28>>2]);Ie(e+12|0,J[e+16>>2]);Mc(e,J[e+4>>2]);af(a,f,d);J[f>>2]=10264;Mc(f+28|0,J[f+32>>2]);Ie(f+16|0,J[f+20>>2]);Mc(f+4|0,J[f+8>>2]);fa=e+96|0}function el(a,b,c){var d=0,e=0,f=0,g=0;f=fa-16|0;fa=f;d=fa-16|0;fa=d;b=b-a>>2;while(1){if(b){J[d+12>>2]=a;e=b>>>1|0;J[d+12>>2]=J[d+12>>2]+(e<<2);g=(e^-1)+b|0;b=e;e=M[J[d+12>>2]>>2]>2];b=e?g:b;a=e?J[d+12>>2]+4|0:a;continue}break}fa=d+16|0;fa=f+16|0;return a}function Tg(a){var b=0;if(a){b=J[a+76>>2];if(b){J[a+80>>2]=b;hl(b)}b=J[a- -64>>2];if(b){J[a+68>>2]=b;hl(b)}b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}b=J[a+24>>2];if(b){J[a+28>>2]=b;hl(b)}b=J[a+12>>2];if(b){J[a+16>>2]=b;hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}hl(a)}}function bh(a){var b=0;b=J[a+84>>2];if(b){J[a+88>>2]=b;hl(b)}b=J[a+72>>2];if(b){J[a+76>>2]=b;hl(b)}b=J[a+52>>2];if(b){J[a+56>>2]=b;hl(b)}b=J[a+40>>2];if(b){J[a+44>>2]=b;hl(b)}b=J[a+28>>2];if(b){J[a+32>>2]=b;hl(b)}b=J[a+12>>2];if(b){hl(b)}a=J[a>>2];if(a){hl(a)}}function Zk(a,b){var c=0,d=0,e=0,f=0;c=fa-16|0;fa=c;a:{if(!b){b=0;break a}d=b;b=S(b);Tk(c,d,0,0,0,b+81|0);d=0+J[c+8>>2]|0;b=(J[c+12>>2]^65536)+(16414-b<<16)|0;f=e>>>0>d>>>0?b+1|0:b;e=J[c+4>>2];b=J[c>>2]}J[a>>2]=b;J[a+4>>2]=e;J[a+8>>2]=d;J[a+12>>2]=f;fa=c+16|0}function ue(a){a=a|0;var b=0;J[a+40>>2]=2040;J[a>>2]=9996;b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=2632;b=J[a+36>>2];J[a+36>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}hl(a)}function Mk(a,b,c){var d=0,e=0,f=0,g=0;if(b){while(1){c=c-1|0;e=a;a=gm(a,b,10,0);d=ja;f=c,g=e-em(a,d,10,0)|48,H[f|0]=g;e=b>>>0>9;b=d;if(e){continue}break}}if(a){while(1){c=c-1|0;b=(a>>>0)/10|0;H[c|0]=a-P(b,10)|48;d=a>>>0>9;a=b;if(d){continue}break}}return c}function rl(a){var b=0,c=0,d=0;c=fa-16|0;fa=c;H[c+15|0]=10;b=J[a+16>>2];a:{if(!b){if(Fk(a)){break a}b=J[a+16>>2]}d=b;b=J[a+20>>2];if(!((d|0)==(b|0)|J[a+80>>2]==10)){J[a+20>>2]=b+1;H[b|0]=10;break a}if((ka[J[a+36>>2]](a,c+15|0,1)|0)!=1){break a}}fa=c+16|0}function uc(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+72>>2];a:{if(!c){break a}J[c+4>>2]=a+60;if(!(ka[J[J[c>>2]+12>>2]](c)|0)){break a}if(!(ka[J[J[a>>2]+40>>2]](a)|0)){break a}if(!(ka[J[J[a>>2]+44>>2]](a,b)|0)){break a}d=ka[J[J[a>>2]+48>>2]](a,b)|0}return d|0}function se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=fa-16|0;fa=e;d=a+40|0;c=Za(d,J[a+8>>2],J[b+4>>2]-J[b>>2]>>2);d=Na(d,J[a+8>>2],b,c);a:{if(d){b=J[a+32>>2];J[a+32>>2]=c;if(!b){break a}Kb(b);break a}J[e+8>>2]=0;if(!c){break a}Kb(c)}fa=e+16|0;return d|0}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=fa-16|0;fa=e;d=a+40|0;c=Za(d,J[a+8>>2],J[b+4>>2]-J[b>>2]>>2);d=xa(d,J[a+8>>2],b,c);a:{if(d){b=J[a+32>>2];J[a+32>>2]=c;if(!b){break a}Kb(b);break a}J[e+8>>2]=0;if(!c){break a}Kb(c)}fa=e+16|0;return d|0}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+172>>2];a=J[a+176>>2];if((c|0)!=(a|0)){a=(a-c|0)/136|0;d=a>>>0<=1?1:a;a=0;while(1){if(J[P(a,136)+c>>2]==(b|0)){a=P(a,136)+c|0;return(K[a+100|0]?a+4|0:0)|0}a=a+1|0;if((d|0)!=(a|0)){continue}break}}return 0}function xk(a){var b=0,c=0,d=0;b=a;a:{if(b&3){while(1){if(!K[b|0]){break a}b=b+1|0;if(b&3){continue}break}}while(1){c=b;b=b+4|0;d=J[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(K[b|0]){continue}break}}return b-a|0}function $a(a,b,c,d,e,f,g){var h=0;J[a>>2]=c;if(c){h=J[c+20>>2];J[a+8>>2]=J[c+16>>2];J[a+12>>2]=h;h=J[c+28>>2];J[a+16>>2]=J[c+24>>2];J[a+20>>2]=h}J[a+56>>2]=b;J[a+48>>2]=0;J[a+52>>2]=0;J[a+40>>2]=f;J[a+44>>2]=g;H[a+32|0]=0;J[a+28>>2]=e;H[a+24|0]=d}function Gk(a,b){var c=0,d=0,e=0;A(+a);d=v(1)|0;e=v(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=Gk(a*0x10000000000000000,b);c=J[b>>2]+-64|0}J[b>>2]=c;return a}J[b>>2]=c-1022;x(0,e|0);x(1,d&-2146435073|1071644672);a=+z()}return a}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+36>>2];if((c|0)==J[a+40>>2]){return 1}f=a+60|0;while(1){c=J[(d<<2)+c>>2];e=ka[J[J[c>>2]+20>>2]](c,f,b)|0;if(e){d=d+1|0;c=J[a+36>>2];if(d>>>0>2]-c>>2>>>0){continue}}break}return e|0}function we(a,b){var c=0,d=0,e=0;c=xk(b);if(c>>>0<2147483632){a:{b:{if(c>>>0>=11){d=(c|15)+1|0;e=pl(d);J[a+8>>2]=d|-2147483648;J[a>>2]=e;J[a+4>>2]=c;d=c+e|0;break b}H[a+11|0]=c;d=a+c|0;e=a;if(!c){break a}}ok(e,b,c)}H[d|0]=0;return a}xe();C()}function Hc(a){J[a+32>>2]=0;J[a+12>>2]=-1;J[a+4>>2]=0;J[a+8>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a>>2]=2400;H[a+21|0]=0;H[a+22|0]=0;H[a+23|0]=0;H[a+24|0]=0;H[a+25|0]=0;H[a+26|0]=0;H[a+27|0]=0;H[a+28|0]=0;J[a+36>>2]=0;J[a>>2]=2632;return a}function vc(a){a=a|0;var b=0,c=0,d=0,e=0;b=J[a+36>>2];if((b|0)==J[a+40>>2]){return 1}e=a+60|0;while(1){b=J[(c<<2)+b>>2];d=ka[J[J[b>>2]+16>>2]](b,e)|0;if(d){c=c+1|0;b=J[a+36>>2];if(c>>>0>2]-b>>2>>>0){continue}}break}return d|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;J[c+12>>2]=J[J[b+4>>2]+80>>2];b=J[b+44>>2];d=J[b+20>>2];if(!J[b+16>>2]&(d|0)<=0|(d|0)<0){Ba(b,J[b+4>>2],c+12|0,c+16|0)}J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;fa=c+16|0}function ge(a){a=a|0;var b=0;J[a>>2]=8648;b=J[a+136>>2];if(b){J[a+140>>2]=b;hl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+80>>2];if(b){hl(b)}b=J[a+68>>2];if(b){hl(b)}b=J[a+56>>2];if(b){hl(b)}b=J[a+44>>2];if(b){hl(b)}return a|0}function Rd(a){a=a|0;var b=0;J[a>>2]=7e3;b=J[a+136>>2];if(b){J[a+140>>2]=b;hl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+80>>2];if(b){hl(b)}b=J[a+68>>2];if(b){hl(b)}b=J[a+56>>2];if(b){hl(b)}b=J[a+44>>2];if(b){hl(b)}return a|0}function Kb(a){a=a|0;var b=0,c=0;if(a){b=J[a+88>>2];J[a+88>>2]=0;if(b){c=J[b+8>>2];if(c){J[b+12>>2]=c;hl(c)}hl(b)}b=J[a+68>>2];if(b){J[a+72>>2]=b;hl(b)}b=J[a+64>>2];J[a+64>>2]=0;if(b){c=J[b>>2];if(c){J[b+4>>2]=c;hl(c)}hl(b)}hl(a)}}function Kk(a){var b=0,c=0,d=0;if(H[J[a>>2]]-48>>>0>=10){return 0}while(1){d=J[a>>2];c=-1;if(b>>>0<=214748364){c=H[d|0]-48|0;b=P(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}J[a>>2]=d+1;b=c;if(H[d+1|0]-48>>>0<10){continue}break}return b}function xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[a+36>>2];if((c|0)==J[a+40>>2]){return 1}while(1){c=J[(d<<2)+c>>2];e=ka[J[J[c>>2]+24>>2]](c,b)|0;if(e){d=d+1|0;c=J[a+36>>2];if(d>>>0>2]-c>>2>>>0){continue}}break}return e|0}function he(a){a=a|0;var b=0;J[a>>2]=8648;b=J[a+136>>2];if(b){J[a+140>>2]=b;hl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+80>>2];if(b){hl(b)}b=J[a+68>>2];if(b){hl(b)}b=J[a+56>>2];if(b){hl(b)}b=J[a+44>>2];if(b){hl(b)}hl(a)}function ei(a){a=a|0;var b=0,c=0,d=0;b=J[a+32>>2];d=J[a+36>>2];if((b|0)==(d|0)){return 1}while(1){c=J[J[a+8>>2]+(J[b>>2]<<2)>>2];c=ka[J[J[c>>2]+20>>2]](c,J[a+44>>2])|0;if(c){b=b+4|0;if((d|0)!=(b|0)){continue}}break}return c|0}function Sd(a){a=a|0;var b=0;J[a>>2]=7e3;b=J[a+136>>2];if(b){J[a+140>>2]=b;hl(b)}b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+80>>2];if(b){hl(b)}b=J[a+68>>2];if(b){hl(b)}b=J[a+56>>2];if(b){hl(b)}b=J[a+44>>2];if(b){hl(b)}hl(a)}function fm(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=gm(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;ja=(g^ja)-((a>>>0>>0)+g|0)|0;return b}function vl(a,b,c){var d=0,e=0,f=0;e=fa-16|0;fa=e;d=J[a+8>>2]&2147483647;a:{if(d>>>0>c>>>0){d=J[a>>2];J[a+4>>2]=c;jl(d,b,c);H[e+15|0]=0;H[c+d|0]=K[e+15|0];break a}f=a;a=J[a+4>>2];sl(f,d-1|0,(c-d|0)+1|0,a,0,a,c,b)}fa=e+16|0}function wl(a,b,c){var d=0,e=0;d=fa-16|0;fa=d;a:{if(c>>>0<=10){H[a+11|0]=K[a+11|0]&128|c;H[a+11|0]=K[a+11|0]&127;jl(a,b,c);H[d+15|0]=0;H[a+c|0]=K[d+15|0];break a}e=a;a=K[a+11|0]&127;sl(e,10,c-10|0,a,0,a,c,b)}fa=d+16|0}function Aa(a,b){a=a|0;b=b|0;var c=0,d=0;c=fa-16|0;fa=c;a=J[a+4>>2];a:{if((a|0)==-1){break a}H[c+15|0]=a;d=J[b+20>>2];if(!!J[b+16>>2]&(d|0)>=0|(d|0)>0){break a}Ba(b,J[b+4>>2],c+15|0,c+16|0)}fa=c+16|0;return(a|0)!=-1|0}function em(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=P(e,f);g=c&65535;h=a&65535;i=P(g,h);f=(i>>>16|0)+P(f,g)|0;e=(f&65535)+P(e,h)|0;ja=(P(b,c)+j|0)+P(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function Hl(a,b,c){var d=0;d=J[a+16>>2];if(!d){J[a+36>>2]=1;J[a+24>>2]=c;J[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(J[a+24>>2]!=2){break a}J[a+24>>2]=c;return}H[a+54|0]=1;J[a+24>>2]=2;J[a+36>>2]=J[a+36>>2]+1}}function wa(a,b){a=a|0;b=b|0;var c=0,d=0;J[b>>2]=2;c=J[b+8>>2];d=J[b+12>>2]-c|0;if(d>>>0<=4294967291){ji(b+8|0,d+4|0);c=J[b+8>>2]}b=c+d|0;a=J[a+4>>2];H[b|0]=a;H[b+1|0]=a>>>8;H[b+2|0]=a>>>16;H[b+3|0]=a>>>24}function qi(a,b){var c=0,d=Q(0),e=0;b=cc(a,b);if((b|0)!=(a+4|0)){a=fa-16|0;fa=a;c=b+28|0;Ek(a,H[b+39|0]<0?J[c>>2]:c,0,1);e=cl(J[a>>2],J[a+4>>2],J[a+8>>2],J[a+12>>2]);fa=a+16|0;d=Q(e)}else{d=Q(1)}return d}function Nk(a,b,c,d,e){var f=0;f=fa-256|0;fa=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;pk(f,b&255,c?d:256);if(!c){while(1){Jk(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}Jk(a,f,d)}fa=f+256|0}function Fc(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+16>>2];c=0;a:{if(J[a+20>>2]-d>>2<=(b|0)){break a}b=J[(b<<2)+d>>2];c=0;if((b|0)<0){break a}a=J[J[a+36>>2]+(b<<2)>>2];b=J[a+32>>2];c=b?b:J[a+8>>2]}return c|0}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=-1;e=J[a+16>>2];a:{if(J[a+20>>2]-e>>2<=(b|0)){break a}b=J[(b<<2)+e>>2];if((b|0)<0){break a}d=J[J[J[J[a+36>>2]+(b<<2)>>2]+16>>2]+(c<<2)>>2]}return d|0}function Cc(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+16>>2];c=0;a:{if(J[a+20>>2]-d>>2<=(b|0)){break a}b=J[(b<<2)+d>>2];c=0;if((b|0)<0){break a}a=J[J[a+36>>2]+(b<<2)>>2];c=J[a+20>>2]-J[a+16>>2]>>2}return c|0}function Oc(a){a=a|0;var b=0;J[a>>2]=2632;b=J[a+36>>2];J[a+36>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}return a|0}function Ae(a){var b=0,c=0;c=fa-16|0;fa=c;J[c+8>>2]=0;J[c+12>>2]=0;Be(a,c+8|0);J[a+24>>2]=0;J[a+28>>2]=0;b=J[a+12>>2];J[a+16>>2]=b;if(b){hl(b)}b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}fa=c+16|0;return a}function ab(a){a=_a(a);J[a+64>>2]=0;J[a+68>>2]=0;J[a+88>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;H[a+77|0]=0;H[a+78|0]=0;H[a+79|0]=0;H[a+80|0]=0;H[a+81|0]=0;H[a+82|0]=0;H[a+83|0]=0;H[a+84|0]=0;return a}function Pc(a){a=a|0;var b=0;J[a>>2]=2632;b=J[a+36>>2];J[a+36>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}hl(a)}function $h(a){J[a+52>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=12468;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;return a}function wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=fa-16|0;fa=e;a=ea(J[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){J[4842]=a;a=-1}else{a=0}fa=e+16|0;ja=a?-1:J[e+12>>2];return(a?-1:J[e+8>>2])|0}function _a(a){J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+40>>2]=0;J[a+44>>2]=0;J[a+28>>2]=9;H[a+24|0]=1;J[a+56>>2]=-1;J[a+60>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;return a}function Fk(a){var b=0;b=J[a+72>>2];J[a+72>>2]=b-1|b;b=J[a>>2];if(b&8){J[a>>2]=b|32;return-1}J[a+4>>2]=0;J[a+8>>2]=0;b=J[a+44>>2];J[a+28>>2]=b;J[a+20>>2]=b;J[a+16>>2]=b+J[a+48>>2];return 0}function bl(a,b,c,d,e,f,g,h,i){var j=0;j=fa-16|0;fa=j;Sk(j,b,c,d,e,f,g,h,i^-2147483648);d=J[j>>2];c=J[j+4>>2];b=J[j+12>>2];J[a+8>>2]=J[j+8>>2];J[a+12>>2]=b;J[a>>2]=d;J[a+4>>2]=c;fa=j+16|0}function bj(a,b,c){a=a|0;b=b|0;c=c|0;a=0;a:{if(J[b+4>>2]|!b){break a}a=_j(pl(36),c);J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;c=J[b+4>>2];J[b+4>>2]=a;a=1;if(!c){break a}Jj(c)}return a|0}function rc(a,b,c){a=tb(a,c);J[a+36>>2]=0;J[a+40>>2]=0;J[a>>2]=2504;J[a+72>>2]=b;J[a+44>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;return a}function Tj(a,b){a=a|0;b=b|0;var c=0,d=0;gk(a,b);a:{if((b|0)<0){break a}d=J[a+88>>2];c=J[a+84>>2];if(d-c>>2<=(b|0)){break a}c=(b<<2)+c|0;b=c+4|0;ok(c,b,d-b|0);J[a+88>>2]=d-4}} +function fl(a){var b=0,c=0;b=J[4811];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>la()<<16>>>0){if(!(da(a|0)|0)){break a}}J[4811]=a;return b}J[4842]=48;return-1}function dj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=0;a:{if(!b|(c|0)<0){break a}e=J[b+12>>2];b=J[b+8>>2];if(e-b>>2<=(c|0)){break a}H[J[b+(c<<2)>>2]+32|0]=d;a=1}return a|0}function Mh(a){a=a|0;var b=0;J[a+8>>2]=10884;J[a>>2]=11984;b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}J[a+8>>2]=11136;b=J[a+44>>2];if(b){hl(b)}b=J[a+32>>2];if(b){hl(b)}return a|0}function Gh(a){a=a|0;var b=0;J[a+8>>2]=11856;J[a>>2]=11692;b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){hl(b)}b=J[a+32>>2];if(b){hl(b)}return a|0}function Nh(a){a=a|0;var b=0;J[a+8>>2]=10884;J[a>>2]=11984;b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}J[a+8>>2]=11136;b=J[a+44>>2];if(b){hl(b)}b=J[a+32>>2];if(b){hl(b)}hl(a)}function Hh(a){a=a|0;var b=0;J[a+8>>2]=11856;J[a>>2]=11692;b=J[a+56>>2];if(b){J[a+60>>2]=b;hl(b)}J[a+8>>2]=11672;b=J[a+44>>2];if(b){hl(b)}b=J[a+32>>2];if(b){hl(b)}hl(a)}function Li(a,b){if(b){Li(a,J[b>>2]);Li(a,J[b+4>>2]);a=J[b+28>>2];J[b+28>>2]=0;if(a){Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);hl(a)}if(H[b+27|0]<0){hl(J[b+16>>2])}hl(b)}}function ql(a,b){var c=0,d=0,e=0,f=0;J[a>>2]=18812;J[a>>2]=18924;c=xk(b);d=pl(c+13|0);J[d+8>>2]=0;J[d+4>>2]=c;J[d>>2]=c;e=a,f=nk(d+12|0,b,c+1|0),J[e+4>>2]=f;return a}function Bb(a,b){a=a|0;b=b|0;var c=0;a:{if(!(ka[J[J[a>>2]+40>>2]](a)|0)){break a}if(!(ka[J[J[a>>2]+44>>2]](a,b)|0)){break a}c=ka[J[J[a>>2]+48>>2]](a,b)|0}return c|0}function yg(a){a=a|0;var b=0;a:{b=J[a+64>>2];if(!b){break a}b=ka[J[J[b>>2]+32>>2]](b)|0;if(!b){break a}J[a+60>>2]=((J[b+4>>2]-J[b>>2]>>2>>>0)/3|0)-J[b+40>>2]}}function va(a,b){a=a|0;b=b|0;var c=0;b=J[b+88>>2];if(!(!b|J[b>>2]!=2)){c=a;a=J[b+8>>2];J[c+4>>2]=K[a|0]|K[a+1|0]<<8|(K[a+2|0]<<16|K[a+3|0]<<24);c=1}return c|0}function Qg(a){a=a|0;var b=0;J[a>>2]=10884;b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=11136;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}return a|0}function Fh(a){a=a|0;var b=0;J[a>>2]=11856;b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}return a|0}function ri(a,b){var c=0;a:{c=a+4|0;a=cc(a,b);if((c|0)==(a|0)){break a}b=a+28|0;a=mk(H[a+39|0]<0?J[b>>2]:b);if((a|0)==-1){break a}return(a|0)!=0}return 0}function si(a,b,c){var d=0;d=a+4|0;a=cc(a,b);a:{if((d|0)==(a|0)){break a}b=a+28|0;a=mk(H[a+39|0]<0?J[b>>2]:b);if((a|0)==-1){break a}c=(a|0)!=0}return c}function rh(a){a=a|0;var b=0;J[a>>2]=10884;b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=11136;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}hl(a)}function Lh(a){a=a|0;var b=0;J[a>>2]=11856;b=J[a+48>>2];if(b){J[a+52>>2]=b;hl(b)}J[a>>2]=11672;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}hl(a)}function tb(a,b){J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2196;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+32>>2]=0;ub(a,b);return a}function Nl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(El(a,J[b+8>>2],f)){Kl(b,c,d,e);return}a=J[a+8>>2];ka[J[J[a>>2]+20>>2]](a,b,c,d,e,f)}function od(a){a=a|0;var b=0;a:{if(!J[a- -64>>2]|!J[a+68>>2]|(!J[a+44>>2]|!J[a+48>>2])){break a}if(!J[a+52>>2]){break a}b=J[a+56>>2]!=0}return b|0}function be(a){a=a|0;var b=0;a:{if(!J[a+48>>2]|!J[a+52>>2]|(!J[a+28>>2]|!J[a+32>>2])){break a}if(!J[a+36>>2]){break a}b=J[a+40>>2]!=0}return b|0}function dk(a){var b=0,c=0;b=J[a+20>>2];a:{if((J[a+24>>2]-b|0)<=0){break a}b=J[b>>2];if((b|0)==-1){break a}c=J[J[a+8>>2]+(b<<2)>>2]}return c}function ck(a,b){var c=0;c=-1;a:{if((b|0)==-1|(b|0)>4){break a}b=P(b,12)+a|0;a=J[b+20>>2];if((J[b+24>>2]-a|0)<=0){break a}c=J[a>>2]}return c}function Gi(){var a=0;a=bk(pl(108));J[a+84>>2]=0;J[a+88>>2]=0;J[a>>2]=14892;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;return a|0}function Qk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b;b=J[b>>2]+7&-8;J[c>>2]=b+16;d=a,e=cl(J[b>>2],J[b+4>>2],J[b+8>>2],J[b+12>>2]),O[d>>3]=e}function Pj(a){a=a|0;var b=0;J[a>>2]=14892;b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;hl(b)}return Qj(a)|0}function Ce(a){var b=0;b=fa-16|0;fa=b;J[b+8>>2]=0;J[b+12>>2]=0;Be(a,b+8|0);J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=J[a+12>>2];fa=b+16|0}function Rj(a){a=a|0;var b=0;J[a>>2]=14892;b=J[a+96>>2];if(b){J[a+100>>2]=b;hl(b)}b=J[a+84>>2];if(b){J[a+88>>2]=b;hl(b)}hl(Qj(a))}function zd(a){a=a|0;var b=0;J[a>>2]=5320;b=J[a+76>>2];if(b){hl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function oc(a){a=a|0;var b=0;J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}return a|0}function cd(a){a=a|0;var b=0;J[a>>2]=3768;b=J[a+76>>2];if(b){hl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function Mi(a,b){if(b){Mi(a,J[b>>2]);Mi(a,J[b+4>>2]);a=J[b+28>>2];if(a){J[b+32>>2]=a;hl(a)}if(H[b+27|0]<0){hl(J[b+16>>2])}hl(b)}}function zb(a){a=a|0;var b=0;J[a>>2]=2196;b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}b=J[a+4>>2];if(b){J[a+8>>2]=b;hl(b)}return a|0}function Jl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(El(a,J[b+8>>2],0)){Hl(b,c,d);return}a=J[a+8>>2];ka[J[J[a>>2]+28>>2]](a,b,c,d)}function Ji(){var a=0,b=0;a=pl(24);J[a+4>>2]=0;J[a+8>>2]=0;b=a+16|0;J[b>>2]=0;J[b+4>>2]=0;J[a>>2]=a+4;J[a+12>>2]=b;return a|0}function pl(a){var b=0;a=a?a:1;a:{while(1){b=gl(a);if(b){break a}b=J[5016];if(b){ka[b|0]();continue}break}ca();C()}return b}function pc(a){a=a|0;var b=0;J[a>>2]=2400;b=J[a+32>>2];J[a+32>>2]=0;if(b){Kb(b)}b=J[a+16>>2];if(b){J[a+20>>2]=b;hl(b)}hl(a)}function dd(a){a=a|0;var b=0;J[a>>2]=3768;b=J[a+76>>2];if(b){hl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}hl(a)}function Ad(a){a=a|0;var b=0;J[a>>2]=5320;b=J[a+76>>2];if(b){hl(b)}J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}hl(a)}function Mc(a,b){if(b){Mc(a,J[b>>2]);Mc(a,J[b+4>>2]);if(H[b+39|0]<0){hl(J[b+28>>2])}if(H[b+27|0]<0){hl(J[b+16>>2])}hl(b)}}function Tl(a){a=a|0;var b=0,c=0;J[a>>2]=18924;b=J[a+4>>2]-12|0;c=J[b+8>>2]-1|0;J[b+8>>2]=c;if((c|0)<0){hl(b)}return a|0}function Pa(a,b,c,d,e){var f=0;f=b-1|0;if(f>>>0<=29){J[a+4>>2]=b;Qa(a+8|0,c,(d<<2)+c|0);N[a+20>>2]=e}return f>>>0<30}function ld(a){a=a|0;var b=0;J[a>>2]=4004;Ae(a+112|0);J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function ic(a,b,c){a=a|0;b=b|0;c=c|0;J[a+4>>2]=b;b=J[J[J[b+4>>2]+8>>2]+(c<<2)>>2];J[a+12>>2]=c;J[a+8>>2]=b;return 1}function _e(a,b){J[a>>2]=10264;Fe(a+4|0);J[a+52>>2]=0;J[a+48>>2]=b;J[a>>2]=10360;J[a+40>>2]=0;J[a+44>>2]=0;return a}function Dd(a){a=a|0;var b=0;J[a>>2]=5544;Ae(a+112|0);J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function Ak(a,b,c,d,e,f,g,h,i){J[a>>2]=b;J[a+4>>2]=c;J[a+8>>2]=d;J[a+12>>2]=e&65535|(i>>>16&32768|e>>>16&32767)<<16}function $e(a,b){J[a>>2]=10264;Fe(a+4|0);J[a+52>>2]=b;J[a+48>>2]=b;J[a>>2]=10360;J[a+40>>2]=0;J[a+44>>2]=0;return a}function fd(a){a=a|0;var b=0;if(!(!J[a+60>>2]|!J[a+44>>2]|(!J[a+48>>2]|!J[a+52>>2]))){b=J[a+56>>2]!=0}return b|0}function Xd(a){a=a|0;var b=0;if(!(!J[a+44>>2]|!J[a+28>>2]|(!J[a+32>>2]|!J[a+36>>2]))){b=J[a+40>>2]!=0}return b|0}function oj(a){a=a|0;if(a){J[a>>2]=10340;Mc(a+28|0,J[a+32>>2]);Ne(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);hl(a)}}function oi(a,b){var c=0;c=a+4|0;a=cc(a,b);if((c|0)==(a|0)){return-1}b=a+28|0;return mk(H[a+39|0]<0?J[b>>2]:b)}function md(a){a=a|0;var b=0;J[a>>2]=4004;Ae(a+112|0);J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}hl(a)}function df(a,b){var c=0,d=0;if(!(!a|!b|(a|0)==(b|0))){c=+(b>>>0)/+(a>>>0);d=1-c;c=-(c*sk(c)+d*sk(d))}return c}function Ed(a){a=a|0;var b=0;J[a>>2]=5544;Ae(a+112|0);J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}hl(a)}function Te(a){a=a|0;J[a>>2]=10340;Mc(a+28|0,J[a+32>>2]);Ne(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);return a|0}function Ke(a){a=a|0;J[a>>2]=10264;Mc(a+28|0,J[a+32>>2]);Ie(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);return a|0}function pi(a,b,c){var d=0;d=a+4|0;a=cc(a,b);if((d|0)!=(a|0)){b=a+28|0;c=mk(H[a+39|0]<0?J[b>>2]:b)}return c}function ol(a,b){if(K[a+11|0]>>>7|0){J[a+4>>2]=b;return}H[a+11|0]=K[a+11|0]&128|b;H[a+11|0]=K[a+11|0]&127}function fj(){var a=0;a=pl(48);J[a>>2]=10340;Fe(a+4|0);J[a>>2]=10124;J[a+40>>2]=0;J[a+44>>2]=0;return a|0}function Ve(a){a=a|0;J[a>>2]=10264;Mc(a+28|0,J[a+32>>2]);Ie(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);hl(a)}function Ue(a){a=a|0;J[a>>2]=10340;Mc(a+28|0,J[a+32>>2]);Ne(a+16|0,J[a+20>>2]);Mc(a+4|0,J[a+8>>2]);hl(a)}function sh(a){a=a|0;var b=0;J[a>>2]=11136;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}return a|0}function Dh(a){a=a|0;var b=0;J[a>>2]=11672;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}return a|0}function ek(a,b){ka[J[J[a>>2]+8>>2]](a,J[a+12>>2]-J[a+8>>2]>>2,b);return(J[a+12>>2]-J[a+8>>2]>>2)-1|0}function Tc(a){a=a|0;var b=0;if(!(!J[a+52>>2]|(!J[a+44>>2]|!J[a+48>>2]))){b=J[a+56>>2]!=0}return b|0}function Nd(a){a=a|0;var b=0;if(!(!J[a+36>>2]|(!J[a+28>>2]|!J[a+32>>2]))){b=J[a+40>>2]!=0}return b|0}function th(a){a=a|0;var b=0;J[a>>2]=11136;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}hl(a)}function Eh(a){a=a|0;var b=0;J[a>>2]=11672;b=J[a+36>>2];if(b){hl(b)}b=J[a+24>>2];if(b){hl(b)}hl(a)}function pd(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a- -64>>2]=b;c=1}return c|0}function gd(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+60>>2]=b;c=1}return c|0}function ce(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+48>>2]=b;c=1}return c|0}function Yd(a,b){a=a|0;b=b|0;var c=0;if(!(J[b+56>>2]|K[b+24|0]!=3)){J[a+44>>2]=b;c=1}return c|0}function Ol(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(El(a,J[b+8>>2],f)){Kl(b,c,d,e)}}function Ya(){var a=0;a=Cl(4);J[a>>2]=18812;J[a>>2]=18772;J[a>>2]=18792;Z(a|0,18904,14);C()}function yj(a){a=a|0;var b=0;if(a){b=J[a>>2];J[a>>2]=0;if(b){ka[J[J[b>>2]+4>>2]](b)}hl(a)}}function cm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=ka[a|0](b,c,d,e)|0;ga=ja;return a|0}function Qc(a){a=a|0;var b=0;J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}return a|0}function Ua(a){a=a|0;var b=0;J[a>>2]=2040;b=J[a+8>>2];if(b){J[a+12>>2]=b;hl(b)}return a|0}function ye(a){var b=0;J[a+12>>2]=0;J[a+16>>2]=0;b=a;a=J[a>>2];J[b+4>>2]=a;if(a){hl(a)}}function Xh(a){a=a|0;var b=0;b=a;a=J[a+56>>2];J[b+60>>2]=(J[a+100>>2]-J[a+96>>2]|0)/12}function aj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Gj(b,c,d,e,f,6)|0}function _i(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Ij(b,c,d,e,f,4)|0}function Zi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Ij(b,c,d,e,f,3)|0}function Yi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Hj(b,c,d,e,f,2)|0}function Xi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Hj(b,c,d,e,f,1)|0}function Wi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Gj(b,c,d,e,f,9)|0}function Rc(a){a=a|0;var b=0;J[a>>2]=3464;b=J[a+32>>2];if(b){J[a+36>>2]=b;hl(b)}hl(a)}function $i(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Gj(b,c,d,e,f,5)|0}function Va(a){a=a|0;var b=0;J[a>>2]=2040;b=J[a+8>>2];if(b){J[a+12>>2]=b;hl(b)}hl(a)}function sj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);Re(J[a>>2],b,c,d,e,f)}function Ne(a,b){if(b){Ne(a,J[b>>2]);Ne(a,J[b+4>>2]);Mc(b+20|0,J[b+24>>2]);hl(b)}}function Ie(a,b){if(b){Ie(a,J[b>>2]);Ie(a,J[b+4>>2]);Mc(b+20|0,J[b+24>>2]);hl(b)}}function wg(a,b){a=a|0;b=b|0;var c=0;c=a;a=J[b+64>>2];ka[J[J[a>>2]+28>>2]](c,a)}function je(a){a=a|0;var b=0;J[a>>2]=8908;b=J[a+60>>2];if(b){hl(b)}return a|0}function ij(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);Re(a,b,c,d,e,f)}function hm(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Vd(a){a=a|0;var b=0;J[a>>2]=7272;b=J[a+60>>2];if(b){hl(b)}return a|0}function Il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(El(a,J[b+8>>2],0)){Hl(b,c,d)}}function zl(a,b){var c=0;c=a;a=(b>>>0)/100|0;return yl(yl(c,a),b-P(a,100)|0)}function vg(a,b){a=a|0;b=b|0;a=J[a+64>>2];return ka[J[J[a>>2]+24>>2]](a,b)|0}function ug(a,b){a=a|0;b=b|0;a=J[a+64>>2];return ka[J[J[a>>2]+20>>2]](a,b)|0}function fh(a,b){a=a|0;b=b|0;return J[J[a+28>>2]+(b>>>3&536870908)>>2]>>>b&1}function Dg(a,b){a=a|0;b=b|0;a=J[a+64>>2];return ka[J[J[a>>2]+16>>2]](a,b)|0}function Cg(a,b){a=a|0;b=b|0;a=J[a+64>>2];return ka[J[J[a>>2]+12>>2]](a,b)|0}function Bl(a,b){var c=0;c=a;a=(b>>>0)/1e6|0;return Al(yl(c,a),b-P(a,1e6)|0)}function Al(a,b){var c=0;c=a;a=(b>>>0)/1e4|0;return zl(yl(c,a),b-P(a,1e4)|0)}function im(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} +function fi(a,b){a=a|0;b=b|0;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}function Qi(a){a=a|0;var b=0;if(a){b=J[a>>2];if(b){J[a+4>>2]=b;hl(b)}hl(a)}}function Ni(){var a=0;a=pl(12);J[a+8>>2]=0;J[a>>2]=0;J[a+4>>2]=0;return a|0}function kc(a,b,c){a=a|0;b=b|0;c=c|0;return ka[J[J[a>>2]+44>>2]](a,b,c)|0}function ke(a){a=a|0;var b=0;J[a>>2]=8908;b=J[a+60>>2];if(b){hl(b)}hl(a)}function Wd(a){a=a|0;var b=0;J[a>>2]=7272;b=J[a+60>>2];if(b){hl(b)}hl(a)}function wb(a,b,c){a=a|0;b=b|0;c=c|0;J[a+32>>2]=c;J[a+28>>2]=b;return 1}function td(a,b){a=a|0;b=b|0;if(b>>>0<=1){J[a+28>>2]=b}return b>>>0<2|0}function Zh(a,b){a=a|0;b=b|0;H[b+84|0]=1;J[b+72>>2]=J[b+68>>2];return 1}function Xc(){var a=0;a=ql(Cl(8),1313);J[a>>2]=19024;Z(a|0,19056,1);C()}function Rh(a){a=$h(a);J[a+56>>2]=0;J[a+60>>2]=0;J[a>>2]=12164;return a}function Ki(a){a=a|0;if(a){Li(a+12|0,J[a+16>>2]);Mi(a,J[a+4>>2]);hl(a)}}function Pl(a){a=a|0;if(!a){return 0}return(Gl(a,18476,18620)|0)!=0|0}function Bg(a){a=a|0;a=J[a+64>>2];return ka[J[J[a>>2]+32>>2]](a)|0}function jc(a,b){a=a|0;b=b|0;J[a+12>>2]=-1;J[a+8>>2]=b;return 1}function Ja(a){a=ql(Cl(8),a);J[a>>2]=18972;Z(a|0,19004,1);C()}function Hi(a){a=a|0;return(J[a+100>>2]-J[a+96>>2]|0)/12|0}function ua(){ia=85616;ha=20080;J[4886]=19424;J[4868]=42}function me(a){a=a|0;J[a>>2]=9156;Ae(a+96|0);return a|0}function $d(a){a=a|0;J[a>>2]=7532;Ae(a+96|0);return a|0}function ml(a,b){var c=0;c=pl(b);J[a+4>>2]=b;J[a>>2]=c}function tj(a,b,c){a=a|0;b=b|0;c=c|0;Oe(J[a>>2],b,c)}function rj(a,b,c){a=a|0;b=b|0;c=c|0;Pe(J[a>>2],b,c)}function bk(a){J[a>>2]=14964;pk(a+4|0,0,80);return a}function dm(a){if(a){return 31-S(a-1^a)|0}return 32}function Wh(a){a=a|0;J[a+52>>2]=J[J[a+56>>2]+80>>2]}function Ei(a){a=a|0;return J[a+12>>2]-J[a+8>>2]>>2}function re(a,b){a=a|0;b=b|0;return Sa(a+40|0,b)|0}function ne(a){a=a|0;J[a>>2]=9156;Ae(a+96|0);hl(a)}function ii(a){a=a|0;J[a+52>>2]=J[J[a+4>>2]+80>>2]}function ae(a){a=a|0;J[a>>2]=7532;Ae(a+96|0);hl(a)}function Oi(a,b){a=a|0;b=b|0;return H[J[a>>2]+b|0]}function Jd(a,b){a=a|0;b=b|0;return Aa(a+40|0,b)|0}function Fi(a){a=a|0;if(a){ka[J[J[a>>2]+4>>2]](a)}}function Zl(a){a=a|0;a=fa-a&-16;fa=a;return a|0}function Pi(a){a=a|0;return J[a+4>>2]-J[a>>2]|0}function yl(a,b){return kl((b<<1)+18240|0,2,a)}function jj(a,b,c){a=a|0;b=b|0;c=c|0;Oe(a,b,c)}function hj(a,b,c){a=a|0;b=b|0;c=c|0;Pe(a,b,c)}function Jk(a,b,c){if(!(K[a|0]&32)){Hk(b,c,a)}}function Xa(a,b){a=a|0;b=b|0;return K[b+24|0]}function Db(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function xj(a){a=a|0;return J[J[a>>2]+44>>2]}function wj(a){a=a|0;return J[J[a>>2]+40>>2]}function uk(a){a=a|0;return aa(J[a+60>>2])|0}function uj(a,b){a=a|0;b=b|0;Lj(J[a>>2],b)}function qj(a,b){a=a|0;b=b|0;Se(J[a>>2],b)}function Ii(a,b){a=a|0;b=b|0;J[a+80>>2]=b}function xi(a){a=a|0;return J[a+56>>2]}function wi(a){a=a|0;return J[a+80>>2]}function ud(a){a=a|0;return J[a+28>>2]}function nj(a){a=a|0;return J[a+44>>2]}function eh(a){a=a|0;return J[a+12>>2]}function Ci(a){a=a|0;return J[a+60>>2]}function Bi(a){a=a|0;return J[a+48>>2]}function Ai(a){a=a|0;return J[a+40>>2]}function zi(a){a=a|0;return K[a+32|0]}function yi(a){a=a|0;return H[a+24|0]}function Uc(a,b){a=a|0;b=b|0;return-1}function Sc(a){a=a|0;return J[a+4>>2]}function Ha(a,b){a=a|0;b=b|0;return 2}function Ga(a,b){a=a|0;b=b|0;return 6}function Eb(a,b){a=a|0;b=b|0;return 1}function Cl(a){return gl(a+80|0)+80|0}function Cb(a,b){a=a|0;b=b|0;return 0}function kj(a,b){a=a|0;b=b|0;Lj(a,b)}function gj(a,b){a=a|0;b=b|0;Se(a,b)}function gf(a,b,c,d){ff(a,b,c,d,1)}function ef(a,b,c,d){ff(a,b,c,d,0)}function vi(){return ab(pl(96))|0}function ui(){return _a(pl(64))|0}function ti(a){a=a|0;if(a){hl(a)}}function Di(){return bk(pl(84))|0}function Ul(a){a=a|0;Tl(a);hl(a)}function Sl(a){a=a|0;return 1472}function Rl(a){a=a|0;return 1622}function Ql(a){a=a|0;return 1364}function _l(){ia=85616;ha=20080}function Da(a){a=a|0;return a|0}function xd(a){a=a|0;hl(wd(a))}function qh(a){a=a|0;hl(ph(a))}function oh(a){a=a|0;hl(nh(a))}function lk(a){a=a|0;hl(Qj(a))}function bc(a){a=a|0;hl(ac(a))}function Zc(a){a=a|0;hl(Yc(a))}function Bc(a){a=a|0;hl(Ac(a))}function qc(a){a=a|0;return 0}function nd(a){a=a|0;return 6}function ed(a){a=a|0;return 5}function _c(a){a=a|0;return 4}function Wa(a){a=a|0;return 1}function Ld(a){a=a|0;return 3}function Fa(a){a=a|0;return 2}function jl(a,b,c){kl(b,c,a)}function Ri(){return pl(1)|0}function $l(){return fa-ha|0}function xe(){Ja(1493);C()}function qk(){return 19368}function Ia(){Ja(1313);C()}function Ea(a){a=a|0;hl(a)}function bm(){return ha|0}function am(){return ia|0}function Yl(a){a=a|0;fa=a}function Xl(){return fa|0}function Wl(){return ga|0}function Vl(a){a=a|0;ga=a}function Ab(a){a=a|0;C()}function zj(){return-1}function Ej(){return 4}function Dj(){return 3}function Cj(){return 2}function Bj(){return 1}function Aj(){return 0}function rk(a){a=a|0} // EMSCRIPTEN_END_FUNCS -e=K;p(q);var ka=c([null,Sl,Da,Ea,Fa,va,wa,xa,za,Aa,Ca,Za,Ga,Ha,Da,Ua,Va,Wa,Ka,Ma,Na,Oa,Sa,Ta,Ga,Xa,zb,Ab,wb,xb,Cl,Bb,Cb,Db,Cb,Cb,Wa,Eb,ac,bc,Fa,Fb,Ob,Nb,oc,pc,ic,jc,Eb,kc,Eb,qc,qc,mc,nc,lc,Ac,Bc,sc,tc,qc,uc,Cc,Dc,Ec,Fc,vc,wc,xc,yc,zc,Oc,Pc,Ic,Jc,Wa,Lc,Kc,Nc,Qc,Rc,Wa,Sc,Tc,qc,Uc,Cb,qc,Wa,Vc,Wc,Ab,Ab,Yc,Zc,_c,Tc,$c,ad,cd,dd,ed,fd,Wa,Cb,gd,hd,id,ld,md,nd,od,Wa,Cb,pd,qd,rd,Da,Ea,td,ud,sd,Ab,Rc,Wa,Tc,vd,Ab,wd,xd,_c,Tc,$c,yd,zd,Ad,ed,fd,Wa,Cb,gd,hd,Bd,Dd,Ed,nd,od,Wa,Cb,pd,qd,Fd,Da,Ea,td,ud,Gd,Ab,Rc,qc,Wa,Hd,Oc,Pc,Id,Jd,Wa,Ld,Md,Kd,Da,Ea,Wa,Sc,Nd,qc,Uc,Cb,Wa,Ld,Od,Pd,Rd,Sd,_c,Nd,Td,Ud,Vd,Wd,ed,Xd,Wa,Cb,Yd,Zd,_d,$d,ae,nd,be,Wa,Cb,ce,de,ee,Da,Ea,td,ud,sd,Ea,Wa,Nd,fe,ge,he,_c,Nd,Td,ie,je,ke,ed,Xd,Wa,Cb,Yd,Zd,le,me,ne,nd,be,Wa,Cb,ce,de,oe,Da,Ea,td,ud,Gd,Ea,qc,Wa,pe,te,ue,qe,re,Wa,Fa,se,Te,Ue,Ge,Le,Ke,Ve,Ue,Ve,zg,Ag,Wa,Wa,tg,Wa,Sh,bi,di,ug,vg,ei,xg,Bg,Cg,Dg,wg,yg,nh,oh,Eg,Fg,Gg,Hg,Rg,Sg,eh,fh,Sc,ph,qh,hh,Fg,Gg,ih,Rg,jh,eh,fh,Sc,Qg,rh,Pg,sh,th,wh,xh,yh,zh,vh,Ch,uh,Dh,Eh,Gh,Hh,Ih,Jh,Fh,Lh,Mh,Nh,Oh,Ph,Th,Ab,Wa,Eb,qc,Cb,Cb,Yh,qc,Vh,Wh,Uh,Xh,Da,Ea,Zh,_h,Ab,qc,fi,Yh,Wa,gi,hi,ii,Yh,qc,gi,Vh,ii,Oj,Qj,Rj,Sj,jk,gk,Nj,Pj,kk,ek,fk,ik,tk,uk,vk,Ok,Pk,ml,Da,Ea,qk,qk,El,Nl,Ll,Hl,Ea,Ml,Kl,Il,Ea,Ql,Ea,Rl,Ea,Pl,Tl,Sc,Tl,Tl]);function la(){return G.byteLength/65536|0}function qa(ra){ra=ra|0;var ma=la()|0;var na=ma+ra|0;if(ma=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}assert(!Module["STACK_SIZE"],"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;legacyModuleProp("INITIAL_MEMORY","INITIAL_MEMORY");assert(INITIAL_MEMORY>=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;assert(INITIAL_MEMORY%65536===0);var wasmTable;function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort("Stack overflow! Stack cookie has been overwritten at "+ptrToString(max)+", expected hex dwords 0x89BACDFE and 0x2135467, but received "+ptrToString(cookie2)+" "+ptrToString(cookie1))}if(HEAPU32[0]!==1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();callRuntimeCallbacks(__ATINIT__)}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var FS={error:function(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM")},init:function(){FS.error()},createDataFile:function(){FS.error()},createPreloadedFile:function(){FS.error()},createLazyFile:function(){FS.error()},open:function(){FS.error()},mkdev:function(){FS.error()},registerDevice:function(){FS.error()},analyzePath:function(){FS.error()},loadFilesFromDB:function(){FS.error()},ErrnoError:function ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}function createExportWrapper(name,fixedasm){return function(){var displayName=name;var asm=fixedasm;if(!fixedasm){asm=Module["asm"]}assert(runtimeInitialized,"native function `"+displayName+"` called before runtime initialization");if(!asm[name]){assert(asm[name],"exported native function `"+displayName+"` not found")}return asm[name].apply(null,arguments)}}var wasmBinaryFile;wasmBinaryFile="draco_encoder.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);if(isFileURI(wasmBinaryFile)){err("warning: Loading from a file URI ("+wasmBinaryFile+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing")}abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function legacyModuleProp(prop,newName){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get:function(){abort("Module."+prop+" has been replaced with plain "+newName+" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort("`Module."+prop+"` was supplied but `"+prop+"` not included in INCOMING_MODULE_JS_API")}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!=="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get:function(){warnOnce("`"+sym+"` is not longer defined by emscripten. "+msg);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");function missingLibrarySymbol(sym){if(typeof globalThis!=="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get:function(){var msg="`"+sym+"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line";var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE="+librarySymbol+")";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get:function(){var msg="'"+sym+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function intArrayToString(array){var ret=[];for(var i=0;i255){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.");chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}function ptrToString(ptr){assert(typeof ptr==="number");return"0x"+ptr.toString(16).padStart(8,"0")}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;assert(prev>0);return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -sNO_DISABLE_EXCEPTION_CATCHING or -sEXCEPTION_CATCHING_ALLOWED=[..] to catch."}function _abort(){abort("native code called abort()")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){err("emscripten_realloc_buffer: Attempted to grow heap from "+b.byteLength+" bytes to "+size+" bytes, but got error: "+e)}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err("Cannot enlarge memory, asked to go up to "+requestedSize+" bytes, but the limit is "+maxHeapSize+" bytes!");return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){err("Warning: Enlarging memory arrays, this is not fast! "+[oldSize,newSize]);return true}}err("Failed to grow the heap from "+oldSize+" bytes to "+newSize+" bytes, not enough memory!");return false}var SYSCALLS={varargs:undefined,get:function(){assert(SYSCALLS.varargs!=undefined);SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _fd_close(fd){abort("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM")}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function flush_NO_FILESYSTEM(){_fflush(0);if(printCharBuffers[1].length)printChar(1,10);if(printCharBuffers[2].length)printChar(2,10)}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();assert(!Module["_main"],'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret},copy:function(array,view,offset){offset>>>=0;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offset>>>=1;break;case 4:offset>>>=2;break;case 8:offset>>>=3;break}for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}assert(!Module["STACK_SIZE"],"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;legacyModuleProp("INITIAL_MEMORY","INITIAL_MEMORY");assert(INITIAL_MEMORY>=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;assert(INITIAL_MEMORY%65536===0);var wasmTable;function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort("Stack overflow! Stack cookie has been overwritten at "+ptrToString(max)+", expected hex dwords 0x89BACDFE and 0x2135467, but received "+ptrToString(cookie2)+" "+ptrToString(cookie1))}if(HEAPU32[0]!==1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();callRuntimeCallbacks(__ATINIT__)}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var FS={error:function(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM")},init:function(){FS.error()},createDataFile:function(){FS.error()},createPreloadedFile:function(){FS.error()},createLazyFile:function(){FS.error()},open:function(){FS.error()},mkdev:function(){FS.error()},registerDevice:function(){FS.error()},analyzePath:function(){FS.error()},loadFilesFromDB:function(){FS.error()},ErrnoError:function ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}function createExportWrapper(name,fixedasm){return function(){var displayName=name;var asm=fixedasm;if(!fixedasm){asm=Module["asm"]}assert(runtimeInitialized,"native function `"+displayName+"` called before runtime initialization");if(!asm[name]){assert(asm[name],"exported native function `"+displayName+"` not found")}return asm[name].apply(null,arguments)}}var wasmBinaryFile;wasmBinaryFile="draco_encoder.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);if(isFileURI(wasmBinaryFile)){err("warning: Loading from a file URI ("+wasmBinaryFile+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing")}abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function legacyModuleProp(prop,newName){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get:function(){abort("Module."+prop+" has been replaced with plain "+newName+" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort("`Module."+prop+"` was supplied but `"+prop+"` not included in INCOMING_MODULE_JS_API")}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!=="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get:function(){warnOnce("`"+sym+"` is not longer defined by emscripten. "+msg);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");function missingLibrarySymbol(sym){if(typeof globalThis!=="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get:function(){var msg="`"+sym+"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line";var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE="+librarySymbol+")";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get:function(){var msg="'"+sym+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function intArrayToString(array){var ret=[];for(var i=0;i255){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.");chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}function ptrToString(ptr){assert(typeof ptr==="number");return"0x"+ptr.toString(16).padStart(8,"0")}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;assert(prev>0);return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -sNO_DISABLE_EXCEPTION_CATCHING or -sEXCEPTION_CATCHING_ALLOWED=[..] to catch."}function _abort(){abort("native code called abort()")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){err("emscripten_realloc_buffer: Attempted to grow heap from "+b.byteLength+" bytes to "+size+" bytes, but got error: "+e)}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err("Cannot enlarge memory, asked to go up to "+requestedSize+" bytes, but the limit is "+maxHeapSize+" bytes!");return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){err("Warning: Enlarging memory arrays, this is not fast! "+[oldSize,newSize]);return true}}err("Failed to grow the heap from "+oldSize+" bytes to "+newSize+" bytes, not enough memory!");return false}var SYSCALLS={varargs:undefined,get:function(){assert(SYSCALLS.varargs!=undefined);SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _fd_close(fd){abort("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM")}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function flush_NO_FILESYSTEM(){_fflush(0);if(printCharBuffers[1].length)printChar(1,10);if(printCharBuffers[2].length)printChar(2,10)}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();assert(!Module["_main"],'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret},copy:function(array,view,offset){offset>>>=0;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offset>>>=1;break;case 4:offset>>>=2;break;case 8:offset>>>=3;break}for(var i=0;im?Math.max(D+m,0):Math.min(m,D);n=0>n?Math.max(D+n,0):Math.min(n,D);q=0>q?Math.max(D+q,0):Math.min(q,D);if(mn;)--q in this?this[--m]=this[q]:delete this[--m];return this}},"es6","es3"); $jscomp.typedArrayCopyWithin=function(l){return l?l:Array.prototype.copyWithin};$jscomp.polyfill("Int8Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Uint8Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Uint8ClampedArray.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Int16Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5"); $jscomp.polyfill("Uint16Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Int32Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Uint32Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Float32Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5");$jscomp.polyfill("Float64Array.prototype.copyWithin",$jscomp.typedArrayCopyWithin,"es6","es5"); -var DracoEncoderModule=function(){var l="undefined"!==typeof document&&document.currentScript?document.currentScript.src:void 0;"undefined"!==typeof __filename&&(l=l||__filename);return function(k){function m(e){return c.locateFile?c.locateFile(e,R):R+e}function n(e,a){e||v("Assertion failed"+(a?": "+a:""))}function q(){var e=ja.buffer;c.HEAP8=U=new Int8Array(e);c.HEAP16=Da=new Int16Array(e);c.HEAP32=X=new Int32Array(e);c.HEAPU8=ra=new Uint8Array(e);c.HEAPU16=new Uint16Array(e);c.HEAPU32=H=new Uint32Array(e); -c.HEAPF32=Ea=new Float32Array(e);c.HEAPF64=new Float64Array(e)}function D(){var e=Fa();n(0==(e&3));0==e&&(e+=4);H[e>>2]=34821223;H[e+4>>2]=2310721022;H[0]=1668509029}function p(){if(!sa){var e=Fa();0==e&&(e+=4);var a=H[e>>2],b=H[e+4>>2];34821223==a&&2310721022==b||v("Stack overflow! Stack cookie has been overwritten at "+ka(e)+", expected hex dwords 0x89BACDFE and 0x2135467, but received "+ka(b)+" "+ka(a));1668509029!==H[0]&&v("Runtime error: The application has corrupted its heap memory area (address zero)!")}} -function u(e){Z++;c.monitorRunDependencies&&c.monitorRunDependencies(Z);e?(n(!la[e]),la[e]=1,null===aa&&"undefined"!=typeof setInterval&&(aa=setInterval(function(){if(sa)clearInterval(aa),aa=null;else{var a=!1,b;for(b in la)a||(a=!0,J("still waiting on run dependencies:")),J("dependency: "+b);a&&J("(end of list)")}},1E4))):J("warning: run dependency added without ID")}function v(e){if(c.onAbort)c.onAbort(e);e="Aborted("+e+")";J(e);sa=!0;e=new WebAssembly.RuntimeError(e);ta(e);throw e;}function B(e){return e.startsWith("file://")} -function h(e,a){return function(){var b=a;a||(b=c.asm);n(ua,"native function `"+e+"` called before runtime initialization");b[e]||n(b[e],"exported native function `"+e+"` not found");return b[e].apply(null,arguments)}}function fa(e){try{if(e==K&&ma)return new Uint8Array(ma);if(na)return na(e);throw"both async and sync fetching of the wasm failed";}catch(a){v(a)}}function Q(){if(!ma&&(Ga||ha)){if("function"==typeof fetch&&!B(K))return fetch(K,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ -K+"'";return e.arrayBuffer()}).catch(function(){return fa(K)});if(va)return new Promise(function(e,a){va(K,function(b){e(new Uint8Array(b))},a)})}return Promise.resolve().then(function(){return fa(K)})}function G(e,a){Object.getOwnPropertyDescriptor(c,e)||Object.defineProperty(c,e,{configurable:!0,get:function(){v("Module."+e+" has been replaced with plain "+a+" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}function da(e){return"FS_createPath"=== -e||"FS_createDataFile"===e||"FS_createPreloadedFile"===e||"FS_unlink"===e||"addRunDependency"===e||"FS_createLazyFile"===e||"FS_createDevice"===e||"removeRunDependency"===e}function ea(e){Object.getOwnPropertyDescriptor(c,e)||Object.defineProperty(c,e,{configurable:!0,get:function(){var a="'"+e+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";da(e)&&(a+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you");v(a)}})}function Ha(e){for(;0>2]=34821223;H[e+4>>2]=2310721022;H[0]=1668509029}function p(){if(!sa){var e=Fa();0==e&&(e+=4);var a=H[e>>2],b=H[e+4>>2];34821223==a&&2310721022==b||v("Stack overflow! Stack cookie has been overwritten at "+ka(e)+", expected hex dwords 0x89BACDFE and 0x2135467, but received "+ka(b)+" "+ka(a));1668509029!==H[0]&&v("Runtime error: The application has corrupted its heap memory area (address zero)!")}} +function u(e){Z++;d.monitorRunDependencies&&d.monitorRunDependencies(Z);e?(n(!la[e]),la[e]=1,null===aa&&"undefined"!=typeof setInterval&&(aa=setInterval(function(){if(sa)clearInterval(aa),aa=null;else{var a=!1,b;for(b in la)a||(a=!0,J("still waiting on run dependencies:")),J("dependency: "+b);a&&J("(end of list)")}},1E4))):J("warning: run dependency added without ID")}function v(e){if(d.onAbort)d.onAbort(e);e="Aborted("+e+")";J(e);sa=!0;e=new WebAssembly.RuntimeError(e);ta(e);throw e;}function B(e){return e.startsWith("file://")} +function h(e,a){return function(){var b=a;a||(b=d.asm);n(ua,"native function `"+e+"` called before runtime initialization");b[e]||n(b[e],"exported native function `"+e+"` not found");return b[e].apply(null,arguments)}}function fa(e){try{if(e==K&&ma)return new Uint8Array(ma);if(na)return na(e);throw"both async and sync fetching of the wasm failed";}catch(a){v(a)}}function Q(){if(!ma&&(Ga||ha)){if("function"==typeof fetch&&!B(K))return fetch(K,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ +K+"'";return e.arrayBuffer()}).catch(function(){return fa(K)});if(va)return new Promise(function(e,a){va(K,function(b){e(new Uint8Array(b))},a)})}return Promise.resolve().then(function(){return fa(K)})}function G(e,a){Object.getOwnPropertyDescriptor(d,e)||Object.defineProperty(d,e,{configurable:!0,get:function(){v("Module."+e+" has been replaced with plain "+a+" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}function da(e){return"FS_createPath"=== +e||"FS_createDataFile"===e||"FS_createPreloadedFile"===e||"FS_unlink"===e||"addRunDependency"===e||"FS_createLazyFile"===e||"FS_createDevice"===e||"removeRunDependency"===e}function ea(e){Object.getOwnPropertyDescriptor(d,e)||Object.defineProperty(d,e,{configurable:!0,get:function(){var a="'"+e+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";da(e)&&(a+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you");v(a)}})}function Ha(e){for(;0>2]=a};this.get_type=function(){return H[this.ptr+4>>2]};this.set_destructor=function(a){H[this.ptr+8>>2]=a};this.get_destructor=function(){return H[this.ptr+8>>2]};this.set_refcount=function(a){X[this.ptr>>2]=a};this.set_caught=function(a){U[this.ptr+ 12>>0]=a?1:0};this.get_caught=function(){return 0!=U[this.ptr+12>>0]};this.set_rethrown=function(a){U[this.ptr+13>>0]=a?1:0};this.get_rethrown=function(){return 0!=U[this.ptr+13>>0]};this.init=function(a,b){this.set_adjusted_ptr(0);this.set_type(a);this.set_destructor(b);this.set_refcount(0);this.set_caught(!1);this.set_rethrown(!1)};this.add_ref=function(){X[this.ptr>>2]+=1};this.release_ref=function(){var a=X[this.ptr>>2];X[this.ptr>>2]=a-1;n(0>2]=a};this.get_adjusted_ptr=function(){return H[this.ptr+16>>2]};this.get_exception_ptr=function(){if(cb(this.get_type()))return H[this.excPtr>>2];var a=this.get_adjusted_ptr();return 0!==a?a:this.excPtr}}function Oa(){function e(){if(!xa&&(xa=!0,c.calledRun=!0,!sa)){n(!ua);ua=!0;p();Ha(Ia);Pa(c);if(c.onRuntimeInitialized)c.onRuntimeInitialized();n(!c._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');p();if(c.postRun)for("function"== -typeof c.postRun&&(c.postRun=[c.postRun]);c.postRun.length;)Qa.unshift(c.postRun.shift());Ha(Qa)}}if(!(0=d?a++:2047>=d?a+=2:55296<=d&&57343>=d?(a+=4,++b):a+=3}a=Array(a+1);b=0;d=a.length;if(0=g){var t=e.charCodeAt(++f);g=65536+((g&1023)<<10)|t&1023}if(127>=g){if(b>=d)break;a[b++]=g}else{if(2047>=g){if(b+1>=d)break;a[b++]=192|g>>6}else{if(65535>=g){if(b+2>=d)break;a[b++]=224|g>>12}else{if(b+3>=d)break;1114111< +16>>2]=a};this.get_adjusted_ptr=function(){return H[this.ptr+16>>2]};this.get_exception_ptr=function(){if(cb(this.get_type()))return H[this.excPtr>>2];var a=this.get_adjusted_ptr();return 0!==a?a:this.excPtr}}function Oa(){function e(){if(!xa&&(xa=!0,d.calledRun=!0,!sa)){n(!ua);ua=!0;p();Ha(Ia);Pa(d);if(d.onRuntimeInitialized)d.onRuntimeInitialized();n(!d._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');p();if(d.postRun)for("function"== +typeof d.postRun&&(d.postRun=[d.postRun]);d.postRun.length;)Qa.unshift(d.postRun.shift());Ha(Qa)}}if(!(0=c?a++:2047>=c?a+=2:55296<=c&&57343>=c?(a+=4,++b):a+=3}a=Array(a+1);b=0;c=a.length;if(0=g){var t=e.charCodeAt(++f);g=65536+((g&1023)<<10)|t&1023}if(127>=g){if(b>=c)break;a[b++]=g}else{if(2047>=g){if(b+1>=c)break;a[b++]=192|g>>6}else{if(65535>=g){if(b+2>=c)break;a[b++]=224|g>>12}else{if(b+3>=c)break;1114111< g&&Y("Invalid Unicode code point "+ka(g)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");a[b++]=240|g>>18;a[b++]=128|g>>12&63}a[b++]=128|g>>6&63}a[b++]=128|g&63}}a[b]=0}e=r.alloc(a,U);r.copy(a,U,e);return e}return e}function ya(e){if("object"===typeof e){var a=r.alloc(e,U);r.copy(e,U,a);return a}return e}function za(e){if("object"===typeof e){var a=r.alloc(e,Da);r.copy(e,Da,a);return a}return e}function ba(e){if("object"=== typeof e){var a=r.alloc(e,X);r.copy(e,X,a);return a}return e}function pa(e){if("object"===typeof e){var a=r.alloc(e,Ea);r.copy(e,Ea,a);return a}return e}function V(){throw"cannot construct a VoidPtr, no constructor in IDL";}function S(){this.ptr=db();L(S)[this.ptr]=this}function z(){this.ptr=eb();L(z)[this.ptr]=this}function M(){this.ptr=fb();L(M)[this.ptr]=this}function E(){this.ptr=gb();L(E)[this.ptr]=this}function T(){this.ptr=hb();L(T)[this.ptr]=this}function N(){this.ptr=ib();L(N)[this.ptr]= -this}function F(){this.ptr=jb();L(F)[this.ptr]=this}function x(){this.ptr=kb();L(x)[this.ptr]=this}function w(){this.ptr=lb();L(w)[this.ptr]=this}function y(){this.ptr=mb();L(y)[this.ptr]=this}function A(e){e&&"object"===typeof e&&(e=e.ptr);this.ptr=nb(e);L(A)[this.ptr]=this}k=void 0===k?{}:k;var c="undefined"!=typeof k?k:{},Pa,ta;c.ready=new Promise(function(e,a){Pa=e;ta=a});"_free _malloc _emscripten_bind_VoidPtr___destroy___0 _emscripten_bind_GeometryAttribute_GeometryAttribute_0 _emscripten_bind_GeometryAttribute___destroy___0 _emscripten_bind_PointAttribute_PointAttribute_0 _emscripten_bind_PointAttribute_size_0 _emscripten_bind_PointAttribute_attribute_type_0 _emscripten_bind_PointAttribute_data_type_0 _emscripten_bind_PointAttribute_num_components_0 _emscripten_bind_PointAttribute_normalized_0 _emscripten_bind_PointAttribute_byte_stride_0 _emscripten_bind_PointAttribute_byte_offset_0 _emscripten_bind_PointAttribute_unique_id_0 _emscripten_bind_PointAttribute___destroy___0 _emscripten_bind_PointCloud_PointCloud_0 _emscripten_bind_PointCloud_num_attributes_0 _emscripten_bind_PointCloud_num_points_0 _emscripten_bind_PointCloud___destroy___0 _emscripten_bind_Mesh_Mesh_0 _emscripten_bind_Mesh_num_faces_0 _emscripten_bind_Mesh_num_attributes_0 _emscripten_bind_Mesh_num_points_0 _emscripten_bind_Mesh_set_num_points_1 _emscripten_bind_Mesh___destroy___0 _emscripten_bind_Metadata_Metadata_0 _emscripten_bind_Metadata___destroy___0 _emscripten_bind_DracoInt8Array_DracoInt8Array_0 _emscripten_bind_DracoInt8Array_GetValue_1 _emscripten_bind_DracoInt8Array_size_0 _emscripten_bind_DracoInt8Array___destroy___0 _emscripten_bind_MetadataBuilder_MetadataBuilder_0 _emscripten_bind_MetadataBuilder_AddStringEntry_3 _emscripten_bind_MetadataBuilder_AddIntEntry_3 _emscripten_bind_MetadataBuilder_AddIntEntryArray_4 _emscripten_bind_MetadataBuilder_AddDoubleEntry_3 _emscripten_bind_MetadataBuilder___destroy___0 _emscripten_bind_PointCloudBuilder_PointCloudBuilder_0 _emscripten_bind_PointCloudBuilder_AddFloatAttribute_5 _emscripten_bind_PointCloudBuilder_AddInt8Attribute_5 _emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5 _emscripten_bind_PointCloudBuilder_AddInt16Attribute_5 _emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5 _emscripten_bind_PointCloudBuilder_AddInt32Attribute_5 _emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5 _emscripten_bind_PointCloudBuilder_AddMetadata_2 _emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3 _emscripten_bind_PointCloudBuilder___destroy___0 _emscripten_bind_MeshBuilder_MeshBuilder_0 _emscripten_bind_MeshBuilder_AddFacesToMesh_3 _emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5 _emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5 _emscripten_bind_MeshBuilder_AddMetadataToMesh_2 _emscripten_bind_MeshBuilder_AddFloatAttribute_5 _emscripten_bind_MeshBuilder_AddInt8Attribute_5 _emscripten_bind_MeshBuilder_AddUInt8Attribute_5 _emscripten_bind_MeshBuilder_AddInt16Attribute_5 _emscripten_bind_MeshBuilder_AddUInt16Attribute_5 _emscripten_bind_MeshBuilder_AddInt32Attribute_5 _emscripten_bind_MeshBuilder_AddUInt32Attribute_5 _emscripten_bind_MeshBuilder_AddMetadata_2 _emscripten_bind_MeshBuilder_SetMetadataForAttribute_3 _emscripten_bind_MeshBuilder___destroy___0 _emscripten_bind_Encoder_Encoder_0 _emscripten_bind_Encoder_SetEncodingMethod_1 _emscripten_bind_Encoder_SetAttributeQuantization_2 _emscripten_bind_Encoder_SetAttributeExplicitQuantization_5 _emscripten_bind_Encoder_SetSpeedOptions_2 _emscripten_bind_Encoder_SetTrackEncodedProperties_1 _emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2 _emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3 _emscripten_bind_Encoder_GetNumberOfEncodedPoints_0 _emscripten_bind_Encoder_GetNumberOfEncodedFaces_0 _emscripten_bind_Encoder___destroy___0 _emscripten_bind_ExpertEncoder_ExpertEncoder_1 _emscripten_bind_ExpertEncoder_SetEncodingMethod_1 _emscripten_bind_ExpertEncoder_SetAttributeQuantization_2 _emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5 _emscripten_bind_ExpertEncoder_SetSpeedOptions_2 _emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1 _emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2 _emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0 _emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0 _emscripten_bind_ExpertEncoder___destroy___0 _emscripten_enum_draco_GeometryAttribute_Type_INVALID _emscripten_enum_draco_GeometryAttribute_Type_POSITION _emscripten_enum_draco_GeometryAttribute_Type_NORMAL _emscripten_enum_draco_GeometryAttribute_Type_COLOR _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD _emscripten_enum_draco_GeometryAttribute_Type_GENERIC _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH _emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING _emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING _fflush onRuntimeInitialized".split(" ").forEach(function(e){Object.getOwnPropertyDescriptor(c.ready, -e)||Object.defineProperty(c.ready,e,{get:function(){return v("You are getting "+e+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")},set:function(){return v("You are setting "+e+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})});var Ta=!1,Ua=!1;c.onRuntimeInitialized=function(){Ta=!0;if(Ua&&"function"===typeof c.onModuleLoaded)c.onModuleLoaded(c)}; -c.onModuleParsed=function(){Ua=!0;if(Ta&&"function"===typeof c.onModuleLoaded)c.onModuleLoaded(c)};c.isVersionSupported=function(e){if("string"!==typeof e)return!1;e=e.split(".");return 2>e.length||3=e[1]?!0:0!=e[0]||10e.length||3=e[1]?!0:0!=e[0]||10>>=0;n(e>a);if(2147483648=b;b*=2){var d=a*(1+.2/b);d=Math.min(d,e+100663296);var f=Math;d=Math.max(e,d);f=f.min.call(f,2147483648,d+(65536-d%65536)%65536);a:{d=f;var g=ja.buffer;try{ja.grow(d-g.byteLength+65535>>>16);q();var t=1;break a}catch(Aa){J("emscripten_realloc_buffer: Attempted to grow heap from "+ -g.byteLength+" bytes to "+d+" bytes, but got error: "+Aa)}t=void 0}if(t)return!0}J("Failed to grow the heap from "+a+" bytes to "+f+" bytes, not enough memory!");return!1},fd_close:function(e){v("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM")},fd_seek:function(e,a,b,d,f){return 70},fd_write:function(e,a,b,d){for(var f=0,g=0;g>2],Aa=H[a+4>>2];a+=8;for(var Ma=0;Ma>>=0;n(e>a);if(2147483648=b;b*=2){var c=a*(1+.2/b);c=Math.min(c,e+100663296);var f=Math;c=Math.max(e,c);f=f.min.call(f,2147483648,c+(65536-c%65536)%65536);a:{c=f;var g=ja.buffer;try{ja.grow(c-g.byteLength+65535>>>16);q();var t=1;break a}catch(Aa){J("emscripten_realloc_buffer: Attempted to grow heap from "+ +g.byteLength+" bytes to "+c+" bytes, but got error: "+Aa)}t=void 0}if(t)return!0}J("Failed to grow the heap from "+a+" bytes to "+f+" bytes, not enough memory!");return!1},fd_close:function(e){v("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM")},fd_seek:function(e,a,b,c,f){return 70},fd_write:function(e,a,b,c){for(var f=0,g=0;g>2],Aa=H[a+4>>2];a+=8;for(var Ma=0;Ma=ca);)++ia;if(16I?ca+=String.fromCharCode(I):(I-=65536,ca+=String.fromCharCode(55296|I>>10,56320| -I&1023))}}else ca+=String.fromCharCode(I)}O=ca}Ba(O);Ca.length=0}else Ca.push(O)}f+=Aa}H[d>>2]=f;return 0}};(function(){function e(g,t){c.asm=g.exports;ja=c.asm.memory;n(ja,"memory not found in wasm exports");q();Za=c.asm.__indirect_function_table;n(Za,"table not found in wasm exports");Ia.unshift(c.asm.__wasm_call_ctors);Z--;c.monitorRunDependencies&&c.monitorRunDependencies(Z);n(la["wasm-instantiate"]);delete la["wasm-instantiate"];0==Z&&(null!==aa&&(clearInterval(aa),aa=null),qa&&(g=qa,qa=null, -g()))}function a(g){n(c===f,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");f=null;e(g.instance)}function b(g){return Q().then(function(t){return WebAssembly.instantiate(t,d)}).then(function(t){return t}).then(g,function(t){J("failed to asynchronously prepare wasm: "+t);B(K)&&J("warning: Loading from a file URI ("+K+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"); -v(t)})}var d={env:ab,wasi_snapshot_preview1:ab};u("wasm-instantiate");var f=c;if(c.instantiateWasm)try{return c.instantiateWasm(d,e)}catch(g){J("Module.instantiateWasm callback failed with error: "+g),ta(g)}(function(){return ma||"function"!=typeof WebAssembly.instantiateStreaming||K.startsWith("data:application/octet-stream;base64,")||B(K)||wa||"function"!=typeof fetch?b(a):fetch(K,{credentials:"same-origin"}).then(function(g){return WebAssembly.instantiateStreaming(g,d).then(a,function(t){J("wasm streaming compile failed: "+ -t);J("falling back to ArrayBuffer instantiation");return b(a)})})})().catch(ta);return{}})();h("__wasm_call_ctors");var rb=c._emscripten_bind_VoidPtr___destroy___0=h("emscripten_bind_VoidPtr___destroy___0"),db=c._emscripten_bind_GeometryAttribute_GeometryAttribute_0=h("emscripten_bind_GeometryAttribute_GeometryAttribute_0"),sb=c._emscripten_bind_GeometryAttribute___destroy___0=h("emscripten_bind_GeometryAttribute___destroy___0"),eb=c._emscripten_bind_PointAttribute_PointAttribute_0=h("emscripten_bind_PointAttribute_PointAttribute_0"), -tb=c._emscripten_bind_PointAttribute_size_0=h("emscripten_bind_PointAttribute_size_0"),ub=c._emscripten_bind_PointAttribute_attribute_type_0=h("emscripten_bind_PointAttribute_attribute_type_0"),vb=c._emscripten_bind_PointAttribute_data_type_0=h("emscripten_bind_PointAttribute_data_type_0"),wb=c._emscripten_bind_PointAttribute_num_components_0=h("emscripten_bind_PointAttribute_num_components_0"),xb=c._emscripten_bind_PointAttribute_normalized_0=h("emscripten_bind_PointAttribute_normalized_0"),yb=c._emscripten_bind_PointAttribute_byte_stride_0= -h("emscripten_bind_PointAttribute_byte_stride_0"),zb=c._emscripten_bind_PointAttribute_byte_offset_0=h("emscripten_bind_PointAttribute_byte_offset_0"),Ab=c._emscripten_bind_PointAttribute_unique_id_0=h("emscripten_bind_PointAttribute_unique_id_0"),Bb=c._emscripten_bind_PointAttribute___destroy___0=h("emscripten_bind_PointAttribute___destroy___0"),fb=c._emscripten_bind_PointCloud_PointCloud_0=h("emscripten_bind_PointCloud_PointCloud_0"),Cb=c._emscripten_bind_PointCloud_num_attributes_0=h("emscripten_bind_PointCloud_num_attributes_0"), -Db=c._emscripten_bind_PointCloud_num_points_0=h("emscripten_bind_PointCloud_num_points_0"),Eb=c._emscripten_bind_PointCloud___destroy___0=h("emscripten_bind_PointCloud___destroy___0"),gb=c._emscripten_bind_Mesh_Mesh_0=h("emscripten_bind_Mesh_Mesh_0"),Fb=c._emscripten_bind_Mesh_num_faces_0=h("emscripten_bind_Mesh_num_faces_0"),Gb=c._emscripten_bind_Mesh_num_attributes_0=h("emscripten_bind_Mesh_num_attributes_0"),Hb=c._emscripten_bind_Mesh_num_points_0=h("emscripten_bind_Mesh_num_points_0"),Ib=c._emscripten_bind_Mesh_set_num_points_1= -h("emscripten_bind_Mesh_set_num_points_1"),Jb=c._emscripten_bind_Mesh___destroy___0=h("emscripten_bind_Mesh___destroy___0"),hb=c._emscripten_bind_Metadata_Metadata_0=h("emscripten_bind_Metadata_Metadata_0"),Kb=c._emscripten_bind_Metadata___destroy___0=h("emscripten_bind_Metadata___destroy___0"),ib=c._emscripten_bind_DracoInt8Array_DracoInt8Array_0=h("emscripten_bind_DracoInt8Array_DracoInt8Array_0"),Lb=c._emscripten_bind_DracoInt8Array_GetValue_1=h("emscripten_bind_DracoInt8Array_GetValue_1"),Mb= -c._emscripten_bind_DracoInt8Array_size_0=h("emscripten_bind_DracoInt8Array_size_0"),Nb=c._emscripten_bind_DracoInt8Array___destroy___0=h("emscripten_bind_DracoInt8Array___destroy___0"),jb=c._emscripten_bind_MetadataBuilder_MetadataBuilder_0=h("emscripten_bind_MetadataBuilder_MetadataBuilder_0"),Ob=c._emscripten_bind_MetadataBuilder_AddStringEntry_3=h("emscripten_bind_MetadataBuilder_AddStringEntry_3"),Pb=c._emscripten_bind_MetadataBuilder_AddIntEntry_3=h("emscripten_bind_MetadataBuilder_AddIntEntry_3"), -Qb=c._emscripten_bind_MetadataBuilder_AddIntEntryArray_4=h("emscripten_bind_MetadataBuilder_AddIntEntryArray_4"),Rb=c._emscripten_bind_MetadataBuilder_AddDoubleEntry_3=h("emscripten_bind_MetadataBuilder_AddDoubleEntry_3"),Sb=c._emscripten_bind_MetadataBuilder___destroy___0=h("emscripten_bind_MetadataBuilder___destroy___0"),kb=c._emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=h("emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"),Tb=c._emscripten_bind_PointCloudBuilder_AddFloatAttribute_5= -h("emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"),Ub=c._emscripten_bind_PointCloudBuilder_AddInt8Attribute_5=h("emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"),Vb=c._emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=h("emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"),Wb=c._emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=h("emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"),Xb=c._emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5=h("emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"), -Yb=c._emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=h("emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"),Zb=c._emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=h("emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"),$b=c._emscripten_bind_PointCloudBuilder_AddMetadata_2=h("emscripten_bind_PointCloudBuilder_AddMetadata_2"),ac=c._emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=h("emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"),bc=c._emscripten_bind_PointCloudBuilder___destroy___0= -h("emscripten_bind_PointCloudBuilder___destroy___0"),lb=c._emscripten_bind_MeshBuilder_MeshBuilder_0=h("emscripten_bind_MeshBuilder_MeshBuilder_0"),cc=c._emscripten_bind_MeshBuilder_AddFacesToMesh_3=h("emscripten_bind_MeshBuilder_AddFacesToMesh_3"),dc=c._emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=h("emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"),ec=c._emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5=h("emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"),fc=c._emscripten_bind_MeshBuilder_AddMetadataToMesh_2= -h("emscripten_bind_MeshBuilder_AddMetadataToMesh_2"),gc=c._emscripten_bind_MeshBuilder_AddFloatAttribute_5=h("emscripten_bind_MeshBuilder_AddFloatAttribute_5"),hc=c._emscripten_bind_MeshBuilder_AddInt8Attribute_5=h("emscripten_bind_MeshBuilder_AddInt8Attribute_5"),ic=c._emscripten_bind_MeshBuilder_AddUInt8Attribute_5=h("emscripten_bind_MeshBuilder_AddUInt8Attribute_5"),jc=c._emscripten_bind_MeshBuilder_AddInt16Attribute_5=h("emscripten_bind_MeshBuilder_AddInt16Attribute_5"),kc=c._emscripten_bind_MeshBuilder_AddUInt16Attribute_5= -h("emscripten_bind_MeshBuilder_AddUInt16Attribute_5"),lc=c._emscripten_bind_MeshBuilder_AddInt32Attribute_5=h("emscripten_bind_MeshBuilder_AddInt32Attribute_5"),mc=c._emscripten_bind_MeshBuilder_AddUInt32Attribute_5=h("emscripten_bind_MeshBuilder_AddUInt32Attribute_5"),nc=c._emscripten_bind_MeshBuilder_AddMetadata_2=h("emscripten_bind_MeshBuilder_AddMetadata_2"),oc=c._emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=h("emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"),pc=c._emscripten_bind_MeshBuilder___destroy___0= -h("emscripten_bind_MeshBuilder___destroy___0"),mb=c._emscripten_bind_Encoder_Encoder_0=h("emscripten_bind_Encoder_Encoder_0"),qc=c._emscripten_bind_Encoder_SetEncodingMethod_1=h("emscripten_bind_Encoder_SetEncodingMethod_1"),rc=c._emscripten_bind_Encoder_SetAttributeQuantization_2=h("emscripten_bind_Encoder_SetAttributeQuantization_2"),sc=c._emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=h("emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"),tc=c._emscripten_bind_Encoder_SetSpeedOptions_2= -h("emscripten_bind_Encoder_SetSpeedOptions_2"),uc=c._emscripten_bind_Encoder_SetTrackEncodedProperties_1=h("emscripten_bind_Encoder_SetTrackEncodedProperties_1"),vc=c._emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=h("emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"),wc=c._emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=h("emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"),xc=c._emscripten_bind_Encoder_GetNumberOfEncodedPoints_0=h("emscripten_bind_Encoder_GetNumberOfEncodedPoints_0"), -yc=c._emscripten_bind_Encoder_GetNumberOfEncodedFaces_0=h("emscripten_bind_Encoder_GetNumberOfEncodedFaces_0"),zc=c._emscripten_bind_Encoder___destroy___0=h("emscripten_bind_Encoder___destroy___0"),nb=c._emscripten_bind_ExpertEncoder_ExpertEncoder_1=h("emscripten_bind_ExpertEncoder_ExpertEncoder_1"),Ac=c._emscripten_bind_ExpertEncoder_SetEncodingMethod_1=h("emscripten_bind_ExpertEncoder_SetEncodingMethod_1"),Bc=c._emscripten_bind_ExpertEncoder_SetAttributeQuantization_2=h("emscripten_bind_ExpertEncoder_SetAttributeQuantization_2"), -Cc=c._emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5=h("emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5"),Dc=c._emscripten_bind_ExpertEncoder_SetSpeedOptions_2=h("emscripten_bind_ExpertEncoder_SetSpeedOptions_2"),Ec=c._emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1=h("emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1"),Fc=c._emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2=h("emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2"),Gc=c._emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0= -h("emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0"),Hc=c._emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0=h("emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0"),Ic=c._emscripten_bind_ExpertEncoder___destroy___0=h("emscripten_bind_ExpertEncoder___destroy___0"),Jc=c._emscripten_enum_draco_GeometryAttribute_Type_INVALID=h("emscripten_enum_draco_GeometryAttribute_Type_INVALID"),Kc=c._emscripten_enum_draco_GeometryAttribute_Type_POSITION=h("emscripten_enum_draco_GeometryAttribute_Type_POSITION"), -Lc=c._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=h("emscripten_enum_draco_GeometryAttribute_Type_NORMAL"),Mc=c._emscripten_enum_draco_GeometryAttribute_Type_COLOR=h("emscripten_enum_draco_GeometryAttribute_Type_COLOR"),Nc=c._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=h("emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"),Oc=c._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=h("emscripten_enum_draco_GeometryAttribute_Type_GENERIC"),Pc=c._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE= -h("emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"),Qc=c._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=h("emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"),Rc=c._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=h("emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"),Sc=c._emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=h("emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"),Tc=c._emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING= -h("emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING");h("__errno_location");c._fflush=h("fflush");c._malloc=h("malloc");c._free=h("free");var Ra=function(){return(Ra=c.asm.emscripten_stack_init).apply(null,arguments)},Fa=function(){return(Fa=c.asm.emscripten_stack_get_end).apply(null,arguments)};h("stackSave");h("stackRestore");h("stackAlloc");var cb=h("__cxa_is_pointer_type");c.dynCall_jiji=h("dynCall_jiji");c.___start_em_js=19268;c.___stop_em_js=19366;"zeroMemory stringToNewUTF8 exitJS setErrNo inetPton4 inetNtop4 inetPton6 inetNtop6 readSockaddr writeSockaddr getHostByName getRandomDevice traverseStack convertPCtoSourceLocation readEmAsmArgs jstoi_q jstoi_s getExecutableName listenOnce autoResumeAudioContext dynCallLegacy getDynCaller dynCall handleException runtimeKeepalivePush runtimeKeepalivePop callUserCallback maybeExit safeSetTimeout asmjsMangle asyncLoad alignMemory mmapAlloc handleAllocator getNativeTypeSize STACK_SIZE STACK_ALIGN POINTER_SIZE ASSERTIONS writeI53ToI64 writeI53ToI64Clamped writeI53ToI64Signaling writeI53ToU64Clamped writeI53ToU64Signaling readI53FromI64 readI53FromU64 convertI32PairToI53 convertU32PairToI53 getCFunc ccall cwrap uleb128Encode sigToWasmTypes generateFuncType convertJsFunctionToWasm getEmptyTableSlot updateTableMap getFunctionAddress addFunction removeFunction reallyNegative unSign strLen reSign formatString intArrayToString AsciiToString stringToAscii UTF16ToString stringToUTF16 lengthBytesUTF16 UTF32ToString stringToUTF32 lengthBytesUTF32 allocateUTF8 allocateUTF8OnStack writeStringToMemory writeArrayToMemory writeAsciiToMemory getSocketFromFD getSocketAddress registerKeyEventCallback maybeCStringToJsString findEventTarget findCanvasEventTarget getBoundingClientRect fillMouseEventData registerMouseEventCallback registerWheelEventCallback registerUiEventCallback registerFocusEventCallback fillDeviceOrientationEventData registerDeviceOrientationEventCallback fillDeviceMotionEventData registerDeviceMotionEventCallback screenOrientation fillOrientationChangeEventData registerOrientationChangeEventCallback fillFullscreenChangeEventData registerFullscreenChangeEventCallback JSEvents_requestFullscreen JSEvents_resizeCanvasForFullscreen registerRestoreOldStyle hideEverythingExceptGivenElement restoreHiddenElements setLetterbox softFullscreenResizeWebGLRenderTarget doRequestFullscreen fillPointerlockChangeEventData registerPointerlockChangeEventCallback registerPointerlockErrorEventCallback requestPointerLock fillVisibilityChangeEventData registerVisibilityChangeEventCallback registerTouchEventCallback fillGamepadEventData registerGamepadEventCallback registerBeforeUnloadEventCallback fillBatteryEventData battery registerBatteryEventCallback setCanvasElementSize getCanvasElementSize demangle demangleAll jsStackTrace stackTrace getEnvStrings checkWasiClock createDyncallWrapper setImmediateWrapped clearImmediateWrapped polyfillSetImmediate newNativePromise getPromise exception_addRef exception_decRef setMainLoop heapObjectForWebGLType heapAccessShiftForWebGLHeap emscriptenWebGLGet computeUnpackAlignedImageSize emscriptenWebGLGetTexPixelData emscriptenWebGLGetUniform webglGetUniformLocation webglPrepareUniformLocationsBeforeFirstUse webglGetLeftBracePos emscriptenWebGLGetVertexAttrib writeGLArray SDL_unicode SDL_ttfContext SDL_audio GLFW_Window runAndAbortIfError ALLOC_NORMAL ALLOC_STACK allocate".split(" ").forEach(function(e){"undefined"=== +I&1023))}}else ca+=String.fromCharCode(I)}O=ca}Ba(O);Ca.length=0}else Ca.push(O)}f+=Aa}H[c>>2]=f;return 0}};(function(){function e(g,t){d.asm=g.exports;ja=d.asm.memory;n(ja,"memory not found in wasm exports");q();Za=d.asm.__indirect_function_table;n(Za,"table not found in wasm exports");Ia.unshift(d.asm.__wasm_call_ctors);Z--;d.monitorRunDependencies&&d.monitorRunDependencies(Z);n(la["wasm-instantiate"]);delete la["wasm-instantiate"];0==Z&&(null!==aa&&(clearInterval(aa),aa=null),qa&&(g=qa,qa=null, +g()))}function a(g){n(d===f,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");f=null;e(g.instance)}function b(g){return Q().then(function(t){return WebAssembly.instantiate(t,c)}).then(function(t){return t}).then(g,function(t){J("failed to asynchronously prepare wasm: "+t);B(K)&&J("warning: Loading from a file URI ("+K+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"); +v(t)})}var c={env:ab,wasi_snapshot_preview1:ab};u("wasm-instantiate");var f=d;if(d.instantiateWasm)try{return d.instantiateWasm(c,e)}catch(g){J("Module.instantiateWasm callback failed with error: "+g),ta(g)}(function(){return ma||"function"!=typeof WebAssembly.instantiateStreaming||K.startsWith("data:application/octet-stream;base64,")||B(K)||wa||"function"!=typeof fetch?b(a):fetch(K,{credentials:"same-origin"}).then(function(g){return WebAssembly.instantiateStreaming(g,c).then(a,function(t){J("wasm streaming compile failed: "+ +t);J("falling back to ArrayBuffer instantiation");return b(a)})})})().catch(ta);return{}})();h("__wasm_call_ctors");var rb=d._emscripten_bind_VoidPtr___destroy___0=h("emscripten_bind_VoidPtr___destroy___0"),db=d._emscripten_bind_GeometryAttribute_GeometryAttribute_0=h("emscripten_bind_GeometryAttribute_GeometryAttribute_0"),sb=d._emscripten_bind_GeometryAttribute___destroy___0=h("emscripten_bind_GeometryAttribute___destroy___0"),eb=d._emscripten_bind_PointAttribute_PointAttribute_0=h("emscripten_bind_PointAttribute_PointAttribute_0"), +tb=d._emscripten_bind_PointAttribute_size_0=h("emscripten_bind_PointAttribute_size_0"),ub=d._emscripten_bind_PointAttribute_attribute_type_0=h("emscripten_bind_PointAttribute_attribute_type_0"),vb=d._emscripten_bind_PointAttribute_data_type_0=h("emscripten_bind_PointAttribute_data_type_0"),wb=d._emscripten_bind_PointAttribute_num_components_0=h("emscripten_bind_PointAttribute_num_components_0"),xb=d._emscripten_bind_PointAttribute_normalized_0=h("emscripten_bind_PointAttribute_normalized_0"),yb=d._emscripten_bind_PointAttribute_byte_stride_0= +h("emscripten_bind_PointAttribute_byte_stride_0"),zb=d._emscripten_bind_PointAttribute_byte_offset_0=h("emscripten_bind_PointAttribute_byte_offset_0"),Ab=d._emscripten_bind_PointAttribute_unique_id_0=h("emscripten_bind_PointAttribute_unique_id_0"),Bb=d._emscripten_bind_PointAttribute___destroy___0=h("emscripten_bind_PointAttribute___destroy___0"),fb=d._emscripten_bind_PointCloud_PointCloud_0=h("emscripten_bind_PointCloud_PointCloud_0"),Cb=d._emscripten_bind_PointCloud_num_attributes_0=h("emscripten_bind_PointCloud_num_attributes_0"), +Db=d._emscripten_bind_PointCloud_num_points_0=h("emscripten_bind_PointCloud_num_points_0"),Eb=d._emscripten_bind_PointCloud___destroy___0=h("emscripten_bind_PointCloud___destroy___0"),gb=d._emscripten_bind_Mesh_Mesh_0=h("emscripten_bind_Mesh_Mesh_0"),Fb=d._emscripten_bind_Mesh_num_faces_0=h("emscripten_bind_Mesh_num_faces_0"),Gb=d._emscripten_bind_Mesh_num_attributes_0=h("emscripten_bind_Mesh_num_attributes_0"),Hb=d._emscripten_bind_Mesh_num_points_0=h("emscripten_bind_Mesh_num_points_0"),Ib=d._emscripten_bind_Mesh_set_num_points_1= +h("emscripten_bind_Mesh_set_num_points_1"),Jb=d._emscripten_bind_Mesh___destroy___0=h("emscripten_bind_Mesh___destroy___0"),hb=d._emscripten_bind_Metadata_Metadata_0=h("emscripten_bind_Metadata_Metadata_0"),Kb=d._emscripten_bind_Metadata___destroy___0=h("emscripten_bind_Metadata___destroy___0"),ib=d._emscripten_bind_DracoInt8Array_DracoInt8Array_0=h("emscripten_bind_DracoInt8Array_DracoInt8Array_0"),Lb=d._emscripten_bind_DracoInt8Array_GetValue_1=h("emscripten_bind_DracoInt8Array_GetValue_1"),Mb= +d._emscripten_bind_DracoInt8Array_size_0=h("emscripten_bind_DracoInt8Array_size_0"),Nb=d._emscripten_bind_DracoInt8Array___destroy___0=h("emscripten_bind_DracoInt8Array___destroy___0"),jb=d._emscripten_bind_MetadataBuilder_MetadataBuilder_0=h("emscripten_bind_MetadataBuilder_MetadataBuilder_0"),Ob=d._emscripten_bind_MetadataBuilder_AddStringEntry_3=h("emscripten_bind_MetadataBuilder_AddStringEntry_3"),Pb=d._emscripten_bind_MetadataBuilder_AddIntEntry_3=h("emscripten_bind_MetadataBuilder_AddIntEntry_3"), +Qb=d._emscripten_bind_MetadataBuilder_AddIntEntryArray_4=h("emscripten_bind_MetadataBuilder_AddIntEntryArray_4"),Rb=d._emscripten_bind_MetadataBuilder_AddDoubleEntry_3=h("emscripten_bind_MetadataBuilder_AddDoubleEntry_3"),Sb=d._emscripten_bind_MetadataBuilder___destroy___0=h("emscripten_bind_MetadataBuilder___destroy___0"),kb=d._emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=h("emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"),Tb=d._emscripten_bind_PointCloudBuilder_AddFloatAttribute_5= +h("emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"),Ub=d._emscripten_bind_PointCloudBuilder_AddInt8Attribute_5=h("emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"),Vb=d._emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=h("emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"),Wb=d._emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=h("emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"),Xb=d._emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5=h("emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"), +Yb=d._emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=h("emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"),Zb=d._emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=h("emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"),$b=d._emscripten_bind_PointCloudBuilder_AddMetadata_2=h("emscripten_bind_PointCloudBuilder_AddMetadata_2"),ac=d._emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=h("emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"),bc=d._emscripten_bind_PointCloudBuilder_SetNormalizedFlagForAttribute_3= +h("emscripten_bind_PointCloudBuilder_SetNormalizedFlagForAttribute_3"),cc=d._emscripten_bind_PointCloudBuilder___destroy___0=h("emscripten_bind_PointCloudBuilder___destroy___0"),lb=d._emscripten_bind_MeshBuilder_MeshBuilder_0=h("emscripten_bind_MeshBuilder_MeshBuilder_0"),dc=d._emscripten_bind_MeshBuilder_AddFacesToMesh_3=h("emscripten_bind_MeshBuilder_AddFacesToMesh_3"),ec=d._emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=h("emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"),fc=d._emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5= +h("emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"),gc=d._emscripten_bind_MeshBuilder_AddMetadataToMesh_2=h("emscripten_bind_MeshBuilder_AddMetadataToMesh_2"),hc=d._emscripten_bind_MeshBuilder_AddFloatAttribute_5=h("emscripten_bind_MeshBuilder_AddFloatAttribute_5"),ic=d._emscripten_bind_MeshBuilder_AddInt8Attribute_5=h("emscripten_bind_MeshBuilder_AddInt8Attribute_5"),jc=d._emscripten_bind_MeshBuilder_AddUInt8Attribute_5=h("emscripten_bind_MeshBuilder_AddUInt8Attribute_5"),kc=d._emscripten_bind_MeshBuilder_AddInt16Attribute_5= +h("emscripten_bind_MeshBuilder_AddInt16Attribute_5"),lc=d._emscripten_bind_MeshBuilder_AddUInt16Attribute_5=h("emscripten_bind_MeshBuilder_AddUInt16Attribute_5"),mc=d._emscripten_bind_MeshBuilder_AddInt32Attribute_5=h("emscripten_bind_MeshBuilder_AddInt32Attribute_5"),nc=d._emscripten_bind_MeshBuilder_AddUInt32Attribute_5=h("emscripten_bind_MeshBuilder_AddUInt32Attribute_5"),oc=d._emscripten_bind_MeshBuilder_AddMetadata_2=h("emscripten_bind_MeshBuilder_AddMetadata_2"),pc=d._emscripten_bind_MeshBuilder_SetMetadataForAttribute_3= +h("emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"),qc=d._emscripten_bind_MeshBuilder_SetNormalizedFlagForAttribute_3=h("emscripten_bind_MeshBuilder_SetNormalizedFlagForAttribute_3"),rc=d._emscripten_bind_MeshBuilder___destroy___0=h("emscripten_bind_MeshBuilder___destroy___0"),mb=d._emscripten_bind_Encoder_Encoder_0=h("emscripten_bind_Encoder_Encoder_0"),sc=d._emscripten_bind_Encoder_SetEncodingMethod_1=h("emscripten_bind_Encoder_SetEncodingMethod_1"),tc=d._emscripten_bind_Encoder_SetAttributeQuantization_2= +h("emscripten_bind_Encoder_SetAttributeQuantization_2"),uc=d._emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=h("emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"),vc=d._emscripten_bind_Encoder_SetSpeedOptions_2=h("emscripten_bind_Encoder_SetSpeedOptions_2"),wc=d._emscripten_bind_Encoder_SetTrackEncodedProperties_1=h("emscripten_bind_Encoder_SetTrackEncodedProperties_1"),xc=d._emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=h("emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"), +yc=d._emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=h("emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"),zc=d._emscripten_bind_Encoder_GetNumberOfEncodedPoints_0=h("emscripten_bind_Encoder_GetNumberOfEncodedPoints_0"),Ac=d._emscripten_bind_Encoder_GetNumberOfEncodedFaces_0=h("emscripten_bind_Encoder_GetNumberOfEncodedFaces_0"),Bc=d._emscripten_bind_Encoder___destroy___0=h("emscripten_bind_Encoder___destroy___0"),nb=d._emscripten_bind_ExpertEncoder_ExpertEncoder_1=h("emscripten_bind_ExpertEncoder_ExpertEncoder_1"), +Cc=d._emscripten_bind_ExpertEncoder_SetEncodingMethod_1=h("emscripten_bind_ExpertEncoder_SetEncodingMethod_1"),Dc=d._emscripten_bind_ExpertEncoder_SetAttributeQuantization_2=h("emscripten_bind_ExpertEncoder_SetAttributeQuantization_2"),Ec=d._emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5=h("emscripten_bind_ExpertEncoder_SetAttributeExplicitQuantization_5"),Fc=d._emscripten_bind_ExpertEncoder_SetSpeedOptions_2=h("emscripten_bind_ExpertEncoder_SetSpeedOptions_2"),Gc=d._emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1= +h("emscripten_bind_ExpertEncoder_SetTrackEncodedProperties_1"),Hc=d._emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2=h("emscripten_bind_ExpertEncoder_EncodeToDracoBuffer_2"),Ic=d._emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0=h("emscripten_bind_ExpertEncoder_GetNumberOfEncodedPoints_0"),Jc=d._emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0=h("emscripten_bind_ExpertEncoder_GetNumberOfEncodedFaces_0"),Kc=d._emscripten_bind_ExpertEncoder___destroy___0=h("emscripten_bind_ExpertEncoder___destroy___0"), +Lc=d._emscripten_enum_draco_GeometryAttribute_Type_INVALID=h("emscripten_enum_draco_GeometryAttribute_Type_INVALID"),Mc=d._emscripten_enum_draco_GeometryAttribute_Type_POSITION=h("emscripten_enum_draco_GeometryAttribute_Type_POSITION"),Nc=d._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=h("emscripten_enum_draco_GeometryAttribute_Type_NORMAL"),Oc=d._emscripten_enum_draco_GeometryAttribute_Type_COLOR=h("emscripten_enum_draco_GeometryAttribute_Type_COLOR"),Pc=d._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD= +h("emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"),Qc=d._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=h("emscripten_enum_draco_GeometryAttribute_Type_GENERIC"),Rc=d._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=h("emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"),Sc=d._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=h("emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"),Tc=d._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=h("emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"), +Uc=d._emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=h("emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"),Vc=d._emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=h("emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING");h("__errno_location");d._fflush=h("fflush");d._malloc=h("malloc");d._free=h("free");var Ra=function(){return(Ra=d.asm.emscripten_stack_init).apply(null,arguments)},Fa=function(){return(Fa=d.asm.emscripten_stack_get_end).apply(null, +arguments)};h("stackSave");h("stackRestore");h("stackAlloc");var cb=h("__cxa_is_pointer_type");d.dynCall_jiji=h("dynCall_jiji");d.___start_em_js=19268;d.___stop_em_js=19366;"zeroMemory stringToNewUTF8 exitJS setErrNo inetPton4 inetNtop4 inetPton6 inetNtop6 readSockaddr writeSockaddr getHostByName getRandomDevice traverseStack convertPCtoSourceLocation readEmAsmArgs jstoi_q jstoi_s getExecutableName listenOnce autoResumeAudioContext dynCallLegacy getDynCaller dynCall handleException runtimeKeepalivePush runtimeKeepalivePop callUserCallback maybeExit safeSetTimeout asmjsMangle asyncLoad alignMemory mmapAlloc handleAllocator getNativeTypeSize STACK_SIZE STACK_ALIGN POINTER_SIZE ASSERTIONS writeI53ToI64 writeI53ToI64Clamped writeI53ToI64Signaling writeI53ToU64Clamped writeI53ToU64Signaling readI53FromI64 readI53FromU64 convertI32PairToI53 convertU32PairToI53 getCFunc ccall cwrap uleb128Encode sigToWasmTypes generateFuncType convertJsFunctionToWasm getEmptyTableSlot updateTableMap getFunctionAddress addFunction removeFunction reallyNegative unSign strLen reSign formatString intArrayToString AsciiToString stringToAscii UTF16ToString stringToUTF16 lengthBytesUTF16 UTF32ToString stringToUTF32 lengthBytesUTF32 allocateUTF8 allocateUTF8OnStack writeStringToMemory writeArrayToMemory writeAsciiToMemory getSocketFromFD getSocketAddress registerKeyEventCallback maybeCStringToJsString findEventTarget findCanvasEventTarget getBoundingClientRect fillMouseEventData registerMouseEventCallback registerWheelEventCallback registerUiEventCallback registerFocusEventCallback fillDeviceOrientationEventData registerDeviceOrientationEventCallback fillDeviceMotionEventData registerDeviceMotionEventCallback screenOrientation fillOrientationChangeEventData registerOrientationChangeEventCallback fillFullscreenChangeEventData registerFullscreenChangeEventCallback JSEvents_requestFullscreen JSEvents_resizeCanvasForFullscreen registerRestoreOldStyle hideEverythingExceptGivenElement restoreHiddenElements setLetterbox softFullscreenResizeWebGLRenderTarget doRequestFullscreen fillPointerlockChangeEventData registerPointerlockChangeEventCallback registerPointerlockErrorEventCallback requestPointerLock fillVisibilityChangeEventData registerVisibilityChangeEventCallback registerTouchEventCallback fillGamepadEventData registerGamepadEventCallback registerBeforeUnloadEventCallback fillBatteryEventData battery registerBatteryEventCallback setCanvasElementSize getCanvasElementSize demangle demangleAll jsStackTrace stackTrace getEnvStrings checkWasiClock createDyncallWrapper setImmediateWrapped clearImmediateWrapped polyfillSetImmediate newNativePromise getPromise exception_addRef exception_decRef setMainLoop heapObjectForWebGLType heapAccessShiftForWebGLHeap emscriptenWebGLGet computeUnpackAlignedImageSize emscriptenWebGLGetTexPixelData emscriptenWebGLGetUniform webglGetUniformLocation webglPrepareUniformLocationsBeforeFirstUse webglGetLeftBracePos emscriptenWebGLGetVertexAttrib writeGLArray SDL_unicode SDL_ttfContext SDL_audio GLFW_Window runAndAbortIfError ALLOC_NORMAL ALLOC_STACK allocate".split(" ").forEach(function(e){"undefined"=== typeof globalThis||Object.getOwnPropertyDescriptor(globalThis,e)||Object.defineProperty(globalThis,e,{configurable:!0,get:function(){var a="`"+e+"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line",b=e;b.startsWith("_")||(b="$"+e);a+=" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE="+b+")";da(e)&&(a+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you");Y(a)}});ea(e)});"run UTF8ArrayToString UTF8ToString stringToUTF8Array stringToUTF8 lengthBytesUTF8 addOnPreRun addOnInit addOnPreMain addOnExit addOnPostRun addRunDependency removeRunDependency FS_createFolder FS_createPath FS_createDataFile FS_createPreloadedFile FS_createLazyFile FS_createLink FS_createDevice FS_unlink out err callMain abort keepRuntimeAlive wasmMemory stackAlloc stackSave stackRestore getTempRet0 setTempRet0 writeStackCookie checkStackCookie ptrToString getHeapMax emscripten_realloc_buffer ENV ERRNO_CODES ERRNO_MESSAGES DNS Protocols Sockets timers warnOnce UNWIND_CACHE readEmAsmArgsArray convertI32PairToI53Checked freeTableIndexes functionsInTableMap setValue getValue PATH PATH_FS intArrayFromString UTF16Decoder SYSCALLS JSEvents specialHTMLTargets currentFullscreenStrategy restoreOldWindowedStyle ExitStatus flush_NO_FILESYSTEM dlopenMissingError promiseMap uncaughtExceptionCount exceptionLast exceptionCaught ExceptionInfo Browser wget tempFixedLengthArray miniTempWebGLFloatBuffers GL AL SDL SDL_gfx GLUT EGL GLFW GLEW IDBStore".split(" ").forEach(ea); -var xa;qa=function a(){xa||Oa();xa||(qa=a)};if(c.preInit)for("function"==typeof c.preInit&&(c.preInit=[c.preInit]);0=r.size?(n(0>>=0;switch(b.BYTES_PER_ELEMENT){case 2:d>>>=1;break;case 4:d>>>=2;break;case 8:d>>>=3}for(var f=0;f=r.size?(n(0>>=0;switch(b.BYTES_PER_ELEMENT){case 2:c>>>=1;break;case 4:c>>>=2;break;case 8:c>>>=3}for(var f=0;f +#include +#include +#include + #include "draco/attributes/attribute_transform_type.h" #include "draco/core/quantization_utils.h" @@ -144,6 +149,9 @@ bool AttributeQuantizationTransform::ComputeParameters( ++i) { attribute.GetValue(i, att_val.get()); for (int c = 0; c < num_components; ++c) { + if (std::isnan(att_val[c])) { + return false; + } if (min_values_[c] > att_val[c]) { min_values_[c] = att_val[c]; } diff --git a/src/draco/attributes/geometry_attribute.cc b/src/draco/attributes/geometry_attribute.cc index 141130f4..dc5ea45b 100644 --- a/src/draco/attributes/geometry_attribute.cc +++ b/src/draco/attributes/geometry_attribute.cc @@ -59,6 +59,9 @@ bool GeometryAttribute::CopyFrom(const GeometryAttribute &src_att) { } buffer_->Update(src_att.buffer_->data(), src_att.buffer_->data_size()); } +#ifdef DRACO_TRANSCODER_SUPPORTED + name_ = src_att.name_; +#endif return true; } @@ -87,6 +90,11 @@ bool GeometryAttribute::operator==(const GeometryAttribute &va) const { if (byte_offset_ != va.byte_offset_) { return false; } +#ifdef DRACO_TRANSCODER_SUPPORTED + if (name_ != va.name_) { + return false; + } +#endif return true; } diff --git a/src/draco/attributes/geometry_attribute.h b/src/draco/attributes/geometry_attribute.h index 28f743fa..734bd73e 100644 --- a/src/draco/attributes/geometry_attribute.h +++ b/src/draco/attributes/geometry_attribute.h @@ -245,6 +245,16 @@ class GeometryAttribute { return "TEX_COORD"; case GENERIC: return "GENERIC"; +#ifdef DRACO_TRANSCODER_SUPPORTED + case TANGENT: + return "TANGENT"; + case MATERIAL: + return "MATERIAL"; + case JOINTS: + return "JOINTS"; + case WEIGHTS: + return "WEIGHTS"; +#endif default: return "UNKNOWN"; } @@ -276,6 +286,10 @@ class GeometryAttribute { DataBufferDescriptor buffer_descriptor() const { return buffer_descriptor_; } uint32_t unique_id() const { return unique_id_; } void set_unique_id(uint32_t id) { unique_id_ = id; } +#ifdef DRACO_TRANSCODER_SUPPORTED + std::string name() const { return name_; } + void set_name(std::string name) { name_ = name; } +#endif protected: // Sets a new internal storage for the attribute. @@ -445,6 +459,10 @@ class GeometryAttribute { // multiple attribute of the same type in a point cloud. uint32_t unique_id_; +#ifdef DRACO_TRANSCODER_SUPPORTED + std::string name_; +#endif + friend struct GeometryAttributeHasher; }; diff --git a/src/draco/attributes/point_attribute.cc b/src/draco/attributes/point_attribute.cc index e54ab542..5c459f3c 100644 --- a/src/draco/attributes/point_attribute.cc +++ b/src/draco/attributes/point_attribute.cc @@ -14,8 +14,8 @@ // #include "draco/attributes/point_attribute.h" +#include #include - using std::unordered_map; // Shortcut for typed conditionals. @@ -166,10 +166,12 @@ AttributeValueIndex::ValueType PointAttribute::DeduplicateFormattedValues( AttributeValueIndex unique_vals(0); typedef std::array AttributeValue; typedef std::array AttributeHashableValue; + typedef unordered_map> + ValueToIndexMap; + // Hash map storing index of the first attribute with a given value. - unordered_map> - value_to_index_map; + ValueToIndexMap value_to_index_map; AttributeValue att_value; AttributeHashableValue hashable_value; IndexTypeVector value_map( @@ -180,19 +182,19 @@ AttributeValueIndex::ValueType PointAttribute::DeduplicateFormattedValues( // Convert the value to hashable type. Bit-copy real attributes to integers. memcpy(&(hashable_value[0]), &(att_value[0]), sizeof(att_value)); - // Check if the given attribute value has been used before already. - auto it = value_to_index_map.find(hashable_value); - if (it != value_to_index_map.end()) { + typename ValueToIndexMap::iterator it; + bool inserted; + std::tie(it, inserted) = value_to_index_map.insert( + std::pair(hashable_value, + unique_vals)); + + // Try to update the hash map with a new entry pointing to the latest unique + // vertex index. + if (!inserted) { // Duplicated value found. Update index mapping. value_map[i] = it->second; } else { // New unique value. - // Update the hash map with a new entry pointing to the latest unique - // vertex index. - value_to_index_map.insert( - std::pair(hashable_value, - unique_vals)); - // Add the unique value to the mesh builder. SetAttributeValue(unique_vals, &att_value); // Update index mapping. value_map[i] = unique_vals; diff --git a/src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_encoder.h b/src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_encoder.h index 736598b1..8845b949 100644 --- a/src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_encoder.h +++ b/src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_encoder.h @@ -200,7 +200,7 @@ bool MeshPredictionSchemeConstrainedMultiParallelogramEncoder< // Bit-field used for computing permutations of excluded edges // (parallelograms). - bool exluded_parallelograms[kMaxNumParallelograms]; + bool excluded_parallelograms[kMaxNumParallelograms]; // Data about the number of used parallelogram and total number of available // parallelogram for each context. Used to compute overhead needed for storing @@ -291,12 +291,12 @@ bool MeshPredictionSchemeConstrainedMultiParallelogramEncoder< num_used_parallelograms <= num_parallelograms; ++num_used_parallelograms) { // Mark all parallelograms as excluded. - std::fill(exluded_parallelograms, - exluded_parallelograms + num_parallelograms, true); + std::fill(excluded_parallelograms, + excluded_parallelograms + num_parallelograms, true); // TODO(draco-eng) maybe this should be another std::fill. // Mark the first |num_used_parallelograms| as not excluded. for (int j = 0; j < num_used_parallelograms; ++j) { - exluded_parallelograms[j] = false; + excluded_parallelograms[j] = false; } // Permute over the excluded edges and compute error for each // configuration (permutation of excluded parallelograms). @@ -307,7 +307,7 @@ bool MeshPredictionSchemeConstrainedMultiParallelogramEncoder< } uint8_t configuration = 0; for (int j = 0; j < num_parallelograms; ++j) { - if (exluded_parallelograms[j]) { + if (excluded_parallelograms[j]) { continue; } for (int c = 0; c < num_components; ++c) { @@ -322,15 +322,13 @@ bool MeshPredictionSchemeConstrainedMultiParallelogramEncoder< } error = ComputeError(multi_pred_vals.data(), in_data + dst_offset, ¤t_residuals[0], num_components); - if (num_parallelograms > 0) { - const int64_t new_overhead_bits = ComputeOverheadBits( - total_used_parallelograms[num_parallelograms - 1] + - num_used_parallelograms, - total_parallelograms[num_parallelograms - 1]); - - // Add overhead bits to the total error. - error.num_bits += new_overhead_bits; - } + const int64_t new_overhead_bits = ComputeOverheadBits( + total_used_parallelograms[num_parallelograms - 1] + + num_used_parallelograms, + total_parallelograms[num_parallelograms - 1]); + + // Add overhead bits to the total error. + error.num_bits += new_overhead_bits; if (error < best_prediction.error) { best_prediction.error = error; best_prediction.configuration = configuration; @@ -340,8 +338,9 @@ bool MeshPredictionSchemeConstrainedMultiParallelogramEncoder< best_prediction.residuals.assign(current_residuals.begin(), current_residuals.end()); } - } while (std::next_permutation( - exluded_parallelograms, exluded_parallelograms + num_parallelograms)); + } while ( + std::next_permutation(excluded_parallelograms, + excluded_parallelograms + num_parallelograms)); } if (num_parallelograms > 0) { total_used_parallelograms[num_parallelograms - 1] += diff --git a/src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_decoder.h b/src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_decoder.h index da1387a3..badea22f 100644 --- a/src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_decoder.h +++ b/src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_decoder.h @@ -151,6 +151,10 @@ bool MeshPredictionSchemeGeometricNormalDecoder< if (!buffer->Decode(&prediction_mode)) { return false; } + if (prediction_mode > TRIANGLE_AREA) { + // Invalid prediction mode. + return false; + } if (!predictor_.SetNormalPredictionMode( NormalPredictionMode(prediction_mode))) { diff --git a/src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_predictor.h b/src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_predictor.h index 26262fb1..985a5918 100644 --- a/src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_predictor.h +++ b/src/draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_predictor.h @@ -169,7 +169,7 @@ bool MeshPredictionSchemeTexCoordsPortablePredictor< } const int64_t pn_uv_absmax_element = std::max(std::abs(pn_uv[0]), std::abs(pn_uv[1])); - if (cn_dot_pn > + if (std::abs(cn_dot_pn) > std::numeric_limits::max() / pn_uv_absmax_element) { // Return false if squared length calculation would overflow. return false; @@ -177,7 +177,8 @@ bool MeshPredictionSchemeTexCoordsPortablePredictor< const Vec2 x_uv = n_uv * pn_norm2_squared + (cn_dot_pn * pn_uv); const int64_t pn_absmax_element = std::max(std::max(std::abs(pn[0]), std::abs(pn[1])), std::abs(pn[2])); - if (cn_dot_pn > std::numeric_limits::max() / pn_absmax_element) { + if (std::abs(cn_dot_pn) > + std::numeric_limits::max() / pn_absmax_element) { // Return false if squared length calculation would overflow. return false; } diff --git a/src/draco/compression/attributes/sequential_integer_attribute_decoder.cc b/src/draco/compression/attributes/sequential_integer_attribute_decoder.cc index 17f32fc1..927a4a52 100644 --- a/src/draco/compression/attributes/sequential_integer_attribute_decoder.cc +++ b/src/draco/compression/attributes/sequential_integer_attribute_decoder.cc @@ -48,6 +48,11 @@ bool SequentialIntegerAttributeDecoder::DecodeValues( if (!in_buffer->Decode(&prediction_scheme_method)) { return false; } + // Check that decoded prediction scheme method type is valid. + if (prediction_scheme_method < PREDICTION_NONE || + prediction_scheme_method >= NUM_PREDICTION_SCHEMES) { + return false; + } if (prediction_scheme_method != PREDICTION_NONE) { int8_t prediction_transform_type; if (!in_buffer->Decode(&prediction_transform_type)) { diff --git a/src/draco/compression/encode_test.cc b/src/draco/compression/encode_test.cc index 00d83470..461dddef 100644 --- a/src/draco/compression/encode_test.cc +++ b/src/draco/compression/encode_test.cc @@ -515,6 +515,74 @@ TEST_F(EncodeTest, TestDracoCompressionOptionsGridQuantization) { 15.f * 0.1f, 1e-6f); } +TEST_F(EncodeTest, TestPointCloudGridQuantization) { + // Test verifies that we can set position quantization via grid spacing for a + // point cloud. + const auto pc = draco::ReadPointCloudFromTestFile("cube_att.obj"); + ASSERT_NE(pc, nullptr); + const int pos_att_id = + pc->GetNamedAttributeId(draco::GeometryAttribute::POSITION); + + draco::ExpertEncoder encoder(*pc); + encoder.SetAttributeGridQuantization(*pc, pos_att_id, 0.15); + draco::EncoderBuffer buffer; + DRACO_ASSERT_OK(encoder.EncodeToBuffer(&buffer)); + + // The grid options should be reflected in the |encoder|. Check that the + // computed values are correct. + draco::Vector3f origin; + encoder.options().GetAttributeVector(pos_att_id, "quantization_origin", 3, + &origin[0]); + ASSERT_EQ(origin, draco::Vector3f(0.f, 0.f, 0.f)); + + // We need 3 quantization bits for 8 grid values [0.00, 0.15, ...,1.05]. + ASSERT_EQ( + encoder.options().GetAttributeInt(pos_att_id, "quantization_bits", -1), + 3); + + // The quantization range should be ((1 << quantization_bits) - 1) * spacing. + ASSERT_NEAR(encoder.options().GetAttributeFloat(pos_att_id, + "quantization_range", 0.f), + 1.05f, 1e-6f); +} + +TEST_F(EncodeTest, TestPointCloudGridQuantizationFromCompressionOptions) { + // Test verifies that we can set position quantization via grid spacing for a + // point cloud using DracoCompressionOptions. + const auto pc = draco::ReadPointCloudFromTestFile("cube_att.obj"); + ASSERT_NE(pc, nullptr); + pc->SetCompressionEnabled(true); + + // Set grid quantization for positions. + draco::DracoCompressionOptions compression_options; + // This should result in 10x10x10 quantization. + compression_options.quantization_position.SetGrid(0.15); + pc->SetCompressionOptions(compression_options); + + draco::ExpertEncoder encoder(*pc); + draco::EncoderBuffer buffer; + DRACO_ASSERT_OK(encoder.EncodeToBuffer(&buffer)); + + // The grid options should be reflected in the |encoder|. Check that the + // computed values are correct. + const int pos_att_id = + pc->GetNamedAttributeId(draco::GeometryAttribute::POSITION); + draco::Vector3f origin; + encoder.options().GetAttributeVector(pos_att_id, "quantization_origin", 3, + &origin[0]); + ASSERT_EQ(origin, draco::Vector3f(0.f, 0.f, 0.f)); + + // We need 3 quantization bits for 8 grid values [0.00, 0.15, ...,1.05]. + ASSERT_EQ( + encoder.options().GetAttributeInt(pos_att_id, "quantization_bits", -1), + 3); + + // The quantization range should be ((1 << quantization_bits) - 1) * spacing. + ASSERT_NEAR(encoder.options().GetAttributeFloat(pos_att_id, + "quantization_range", 0.f), + 1.05f, 1e-6f); +} + TEST_F(EncodeTest, TestDracoCompressionOptionsGridQuantizationWithOffset) { // Test verifies that we can set position quantization via grid spacing when // the geometry is not perfectly aligned with the quantization grid. diff --git a/src/draco/compression/expert_encode.cc b/src/draco/compression/expert_encode.cc index a3e64919..9ed14de2 100644 --- a/src/draco/compression/expert_encode.cc +++ b/src/draco/compression/expert_encode.cc @@ -51,6 +51,11 @@ Status ExpertEncoder::EncodeToBuffer(EncoderBuffer *out_buffer) { Status ExpertEncoder::EncodePointCloudToBuffer(const PointCloud &pc, EncoderBuffer *out_buffer) { #ifdef DRACO_POINT_CLOUD_COMPRESSION_SUPPORTED +#ifdef DRACO_TRANSCODER_SUPPORTED + // Apply DracoCompressionOptions associated with the point cloud. + DRACO_RETURN_IF_ERROR(ApplyCompressionOptions(pc)); +#endif // DRACO_TRANSCODER_SUPPORTED + std::unique_ptr encoder; const int encoding_method = options().GetGlobalInt("encoding_method", -1); @@ -195,11 +200,11 @@ Status ExpertEncoder::SetAttributePredictionScheme( } #ifdef DRACO_TRANSCODER_SUPPORTED -Status ExpertEncoder::ApplyCompressionOptions(const Mesh &mesh) { - if (!mesh.IsCompressionEnabled()) { +Status ExpertEncoder::ApplyCompressionOptions(const PointCloud &pc) { + if (!pc.IsCompressionEnabled()) { return OkStatus(); } - const auto &compression_options = mesh.GetCompressionOptions(); + const auto &compression_options = pc.GetCompressionOptions(); // Set any encoder options that haven't been explicitly set by users (don't // override existing options). @@ -208,12 +213,12 @@ Status ExpertEncoder::ApplyCompressionOptions(const Mesh &mesh) { 10 - compression_options.compression_level); } - for (int ai = 0; ai < mesh.num_attributes(); ++ai) { + for (int ai = 0; ai < pc.num_attributes(); ++ai) { if (options().IsAttributeOptionSet(ai, "quantization_bits")) { continue; // Don't override options that have been set. } int quantization_bits = 0; - const auto type = mesh.attribute(ai)->attribute_type(); + const auto type = pc.attribute(ai)->attribute_type(); switch (type) { case GeometryAttribute::POSITION: if (compression_options.quantization_position @@ -221,7 +226,7 @@ Status ExpertEncoder::ApplyCompressionOptions(const Mesh &mesh) { quantization_bits = compression_options.quantization_position.quantization_bits(); } else { - DRACO_RETURN_IF_ERROR(ApplyGridQuantization(mesh, ai)); + DRACO_RETURN_IF_ERROR(ApplyGridQuantization(pc, ai)); } break; case GeometryAttribute::TEX_COORD: @@ -252,17 +257,29 @@ Status ExpertEncoder::ApplyCompressionOptions(const Mesh &mesh) { return OkStatus(); } -Status ExpertEncoder::ApplyGridQuantization(const Mesh &mesh, +Status ExpertEncoder::ApplyGridQuantization(const PointCloud &pc, int attribute_index) { - const auto compression_options = mesh.GetCompressionOptions(); - if (mesh.attribute(attribute_index)->num_components() != 3) { + const auto compression_options = pc.GetCompressionOptions(); + const float spacing = compression_options.quantization_position.spacing(); + return SetAttributeGridQuantization(pc, attribute_index, spacing); +} + +Status ExpertEncoder::SetAttributeGridQuantization(const PointCloud &pc, + int attribute_index, + float spacing) { + const auto *const att = pc.attribute(attribute_index); + if (att->attribute_type() != GeometryAttribute::POSITION) { + return ErrorStatus( + "Invalid attribute type: Grid quantization is currently supported only " + "for positions."); + } + if (att->num_components() != 3) { return ErrorStatus( "Invalid number of components: Grid quantization is currently " "supported only for 3D positions."); } - const float spacing = compression_options.quantization_position.spacing(); // Compute quantization properties based on the grid spacing. - const auto &bbox = mesh.ComputeBoundingBox(); + const auto &bbox = pc.ComputeBoundingBox(); // Snap min and max points of the |bbox| to the quantization grid vertices. Vector3f min_pos; int num_values = 0; // Number of values that we need to encode. diff --git a/src/draco/compression/expert_encode.h b/src/draco/compression/expert_encode.h index 5c1485e1..db604f1d 100644 --- a/src/draco/compression/expert_encode.h +++ b/src/draco/compression/expert_encode.h @@ -132,6 +132,13 @@ class ExpertEncoder : public EncoderBase { Status SetAttributePredictionScheme(int32_t attribute_id, int prediction_scheme_method); +#ifdef DRACO_TRANSCODER_SUPPORTED + // Applies grid quantization to position attribute in point cloud |pc| at + // |attribute_index| with a given grid |spacing|. + Status SetAttributeGridQuantization(const PointCloud &pc, int attribute_index, + float spacing); +#endif // DRACO_TRANSCODER_SUPPORTED + private: Status EncodePointCloudToBuffer(const PointCloud &pc, EncoderBuffer *out_buffer); @@ -139,9 +146,9 @@ class ExpertEncoder : public EncoderBase { Status EncodeMeshToBuffer(const Mesh &m, EncoderBuffer *out_buffer); #ifdef DRACO_TRANSCODER_SUPPORTED - // Applies compression options stored in |mesh|. - Status ApplyCompressionOptions(const Mesh &mesh); - Status ApplyGridQuantization(const Mesh &mesh, int attribute_index); + // Applies compression options stored in |pc|. + Status ApplyCompressionOptions(const PointCloud &pc); + Status ApplyGridQuantization(const PointCloud &pc, int attribute_index); #endif // DRACO_TRANSCODER_SUPPORTED const PointCloud *point_cloud_; diff --git a/src/draco/compression/mesh/mesh_edgebreaker_decoder_impl.cc b/src/draco/compression/mesh/mesh_edgebreaker_decoder_impl.cc index 21ad9959..0b89ba35 100644 --- a/src/draco/compression/mesh/mesh_edgebreaker_decoder_impl.cc +++ b/src/draco/compression/mesh/mesh_edgebreaker_decoder_impl.cc @@ -15,6 +15,7 @@ #include "draco/compression/mesh/mesh_edgebreaker_decoder_impl.h" #include +#include #include "draco/compression/attributes/sequential_attribute_decoders_controller.h" #include "draco/compression/mesh/mesh_edgebreaker_decoder.h" @@ -299,6 +300,22 @@ bool MeshEdgebreakerDecoderImpl::DecodeConnectivity() { if (static_cast(num_encoded_vertices_) > num_faces * 3) { return false; // There cannot be more vertices than 3 * num_faces. } + + // Minimum number of edges of the mesh assuming each edge is shared between + // two faces. + const uint32_t min_num_face_edges = 3 * num_faces / 2; + + // Maximum number of edges that can exist between |num_encoded_vertices_|. + // This is based on graph theory assuming simple connected graph. + const uint64_t num_encoded_vertices_64 = + static_cast(num_encoded_vertices_); + const uint64_t max_num_vertex_edges = + num_encoded_vertices_64 * (num_encoded_vertices_64 - 1) / 2; + if (max_num_vertex_edges < min_num_face_edges) { + // It is impossible to construct a manifold mesh with these properties. + return false; + } + uint8_t num_attribute_data; if (!decoder_->buffer()->Decode(&num_attribute_data)) { return false; diff --git a/src/draco/compression/mesh/mesh_sequential_decoder.cc b/src/draco/compression/mesh/mesh_sequential_decoder.cc index 595a487a..124df334 100644 --- a/src/draco/compression/mesh/mesh_sequential_decoder.cc +++ b/src/draco/compression/mesh/mesh_sequential_decoder.cc @@ -14,6 +14,9 @@ // #include "draco/compression/mesh/mesh_sequential_decoder.h" +#include +#include + #include "draco/compression/attributes/linear_sequencer.h" #include "draco/compression/attributes/sequential_attribute_decoders_controller.h" #include "draco/compression/entropy/symbol_decoding.h" @@ -48,7 +51,6 @@ bool MeshSequentialDecoder::DecodeConnectivity() { // Check that num_faces and num_points are valid values. const uint64_t faces_64 = static_cast(num_faces); - const uint64_t points_64 = static_cast(num_points); // Compressed sequential encoding can only handle (2^32 - 1) / 3 indices. if (faces_64 > 0xffffffff / 3) { return false; @@ -58,9 +60,6 @@ bool MeshSequentialDecoder::DecodeConnectivity() { // fit in the remaining size of the buffer. return false; } - if (points_64 > faces_64 * 3) { - return false; - } uint8_t connectivity_method; if (!buffer()->Decode(&connectivity_method)) { return false; @@ -147,7 +146,7 @@ bool MeshSequentialDecoder::DecodeAndDecompressIndices(uint32_t num_faces) { } // Reconstruct the indices from the differences. // See MeshSequentialEncoder::CompressAndEncodeIndices() for more details. - int32_t last_index_value = 0; + int32_t last_index_value = 0; // This will always be >= 0. int vertex_index = 0; for (uint32_t i = 0; i < num_faces; ++i) { Mesh::Face face; @@ -155,13 +154,19 @@ bool MeshSequentialDecoder::DecodeAndDecompressIndices(uint32_t num_faces) { const uint32_t encoded_val = indices_buffer[vertex_index++]; int32_t index_diff = (encoded_val >> 1); if (encoded_val & 1) { + if (index_diff > last_index_value) { + // Subtracting index_diff would result in a negative index. + return false; + } index_diff = -index_diff; + } else { + if (index_diff > + (std::numeric_limits::max() - last_index_value)) { + // Adding index_diff to last_index_value would overflow. + return false; + } } const int32_t index_value = index_diff + last_index_value; - if (index_value < 0) { - // Negative indices are not allowed. - return false; - } face[j] = index_value; last_index_value = index_value; } diff --git a/src/draco/compression/point_cloud/algorithms/float_points_tree_decoder.h b/src/draco/compression/point_cloud/algorithms/float_points_tree_decoder.h index 4f09ed2c..57597bb5 100644 --- a/src/draco/compression/point_cloud/algorithms/float_points_tree_decoder.h +++ b/src/draco/compression/point_cloud/algorithms/float_points_tree_decoder.h @@ -76,7 +76,7 @@ class FloatPointsTreeDecoder { static const uint32_t version_ = 3; QuantizationInfo qinfo_; - PointCloudCompressionMethod method_; + int8_t method_; uint32_t num_points_; uint32_t compression_level_; @@ -113,7 +113,7 @@ bool FloatPointsTreeDecoder::DecodePointCloud(DecoderBuffer *buffer, return false; } - method_ = static_cast(method_number); + method_ = method_number; if (method_ == KDTREE) { if (!DecodePointCloudKdTreeInternal(buffer, &qpoints)) { diff --git a/src/draco/core/draco_version.h b/src/draco/core/draco_version.h index 88856447..9e9dedbd 100644 --- a/src/draco/core/draco_version.h +++ b/src/draco/core/draco_version.h @@ -18,7 +18,7 @@ namespace draco { // Draco version is comprised of ... -static const char kDracoVersion[] = "1.5.6"; +static const char kDracoVersion[] = "1.5.7"; } // namespace draco diff --git a/src/draco/core/macros.h b/src/draco/core/macros.h index a31e7c44..f6eeda0a 100644 --- a/src/draco/core/macros.h +++ b/src/draco/core/macros.h @@ -34,12 +34,6 @@ #include namespace draco { -#ifndef DISALLOW_COPY_AND_ASSIGN -#define DISALLOW_COPY_AND_ASSIGN(TypeName) \ - TypeName(const TypeName &) = delete; \ - void operator=(const TypeName &) = delete; -#endif // DISALLOW_COPY_AND_ASSIGN - #ifndef FALLTHROUGH_INTENDED #if defined(__clang__) && defined(__has_warning) #if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") @@ -67,6 +61,12 @@ namespace draco { } // namespace draco +#ifndef DISALLOW_COPY_AND_ASSIGN +#define DISALLOW_COPY_AND_ASSIGN(TypeName) \ + TypeName(const TypeName &) = delete; \ + void operator=(const TypeName &) = delete; +#endif // DISALLOW_COPY_AND_ASSIGN + #ifdef DRACO_DEBUG #define DRACO_DCHECK(x) (assert(x)); #define DRACO_DCHECK_EQ(a, b) assert((a) == (b)); diff --git a/src/draco/io/gltf_decoder.cc b/src/draco/io/gltf_decoder.cc index 521b7524..ebfd3ec8 100644 --- a/src/draco/io/gltf_decoder.cc +++ b/src/draco/io/gltf_decoder.cc @@ -15,6 +15,9 @@ #include "draco/io/gltf_decoder.h" #ifdef DRACO_TRANSCODER_SUPPORTED +#include +#include +#include #include #include #include @@ -27,11 +30,15 @@ #include "draco/core/hash_utils.h" #include "draco/core/status.h" #include "draco/core/status_or.h" +#include "draco/io/file_utils.h" +#include "draco/io/texture_io.h" #include "draco/io/tiny_gltf_utils.h" #include "draco/material/material_library.h" #include "draco/mesh/mesh.h" #include "draco/mesh/mesh_features.h" #include "draco/mesh/triangle_soup_mesh_builder.h" +#include "draco/metadata/geometry_metadata.h" +#include "draco/metadata/metadata.h" #include "draco/metadata/property_table.h" #include "draco/point_cloud/point_cloud_builder.h" #include "draco/scene/scene_indices.h" @@ -80,6 +87,10 @@ GeometryAttribute::Type GltfAttributeToDracoAttribute( } else if (attribute_name.rfind("_FEATURE_ID_") == 0) { // Feature ID attribute like _FEATURE_ID_5 from EXT_mesh_features extension. return GeometryAttribute::GENERIC; + } else if (attribute_name.rfind('_', 0) == 0) { + // Feature ID attribute like _DIRECTION from EXT_structural_metadata + // extension whose name begins with an underscore. + return GeometryAttribute::GENERIC; } return GeometryAttribute::INVALID; } @@ -302,7 +313,7 @@ Status CopyDataFromBufferView(const tinygltf::Model &model, int buffer_view_id, const uint8_t *const data_start = buffer.data.data() + buffer_view.byteOffset; data->resize(buffer_view.byteLength); - memcpy(&(*data)[0], data_start, buffer_view.byteLength); + memcpy(data->data(), data_start, buffer_view.byteLength); return OkStatus(); } @@ -540,6 +551,9 @@ StatusOr> GltfDecoder::BuildMesh() { DRACO_RETURN_IF_ERROR(AddAttributesToDracoMesh(&pb_)); } + // Clear attribute indices before populating attributes in |mb_| or |pb_|. + feature_id_attribute_indices_.clear(); + for (const tinygltf::Scene &scene : gltf_model_.scenes) { for (int i = 0; i < scene.nodes.size(); ++i) { const Eigen::Matrix4d parent_matrix = Eigen::Matrix4d::Identity(); @@ -548,43 +562,59 @@ StatusOr> GltfDecoder::BuildMesh() { } DRACO_ASSIGN_OR_RETURN( std::unique_ptr mesh, - BuildMeshFromBuilder(total_face_indices_count_ > 0, &mb_, &pb_)); + BuildMeshFromBuilder(total_face_indices_count_ > 0, &mb_, &pb_, + deduplicate_vertices_)); DRACO_RETURN_IF_ERROR(CopyTextures(mesh.get())); SetAttributePropertiesOnDracoMesh(mesh.get()); DRACO_RETURN_IF_ERROR(AddMaterialsToDracoMesh(mesh.get())); - DRACO_RETURN_IF_ERROR(AddMeshFeaturesToDracoMesh(mesh.get())); + DRACO_RETURN_IF_ERROR(AddPrimitiveExtensionsToDracoMesh(mesh.get())); DRACO_RETURN_IF_ERROR(AddStructuralMetadataToGeometry(mesh.get())); MoveNonMaterialTextures(mesh.get()); + DRACO_RETURN_IF_ERROR(AddAssetMetadata(mesh.get())); return mesh; } -Status GltfDecoder::AddMeshFeaturesToDracoMesh(Mesh *mesh) { +Status GltfDecoder::AddPrimitiveExtensionsToDracoMesh(Mesh *mesh) { for (const tinygltf::Scene &scene : gltf_model_.scenes) { for (int i = 0; i < scene.nodes.size(); ++i) { - DRACO_RETURN_IF_ERROR(AddMeshFeaturesToDracoMesh(scene.nodes[i], mesh)); + DRACO_RETURN_IF_ERROR( + AddPrimitiveExtensionsToDracoMesh(scene.nodes[i], mesh)); } } return OkStatus(); } -Status GltfDecoder::AddMeshFeaturesToDracoMesh(int node_index, Mesh *mesh) { +Status GltfDecoder::AddPrimitiveExtensionsToDracoMesh(int node_index, + Mesh *mesh) { const tinygltf::Node &node = gltf_model_.nodes[node_index]; if (node.mesh >= 0) { const tinygltf::Mesh &gltf_mesh = gltf_model_.meshes[node.mesh]; for (const auto &primitive : gltf_mesh.primitives) { - // Decode mesh feature ID sets if present in this primitive. - DRACO_RETURN_IF_ERROR(DecodeMeshFeatures( + // Decode extensions present in this primitive. + DRACO_RETURN_IF_ERROR(AddPrimitiveExtensionsToDracoMesh( primitive, &mesh->GetMaterialLibrary().MutableTextureLibrary(), mesh)); } } for (int i = 0; i < node.children.size(); ++i) { - DRACO_RETURN_IF_ERROR(AddMeshFeaturesToDracoMesh(node.children[i], mesh)); + DRACO_RETURN_IF_ERROR( + AddPrimitiveExtensionsToDracoMesh(node.children[i], mesh)); } return OkStatus(); } +Status GltfDecoder::AddPrimitiveExtensionsToDracoMesh( + const tinygltf::Primitive &primitive, TextureLibrary *texture_library, + Mesh *mesh) { + // Decode mesh feature ID sets if present in this |primitive|. + DRACO_RETURN_IF_ERROR(DecodeMeshFeatures(primitive, texture_library, mesh)); + + // Decode structural metadata if present in this |primitive|. + DRACO_RETURN_IF_ERROR(DecodeStructuralMetadata(primitive, mesh)); + return OkStatus(); +} + Status GltfDecoder::CheckUnsupportedFeatures() { // Check for morph targets. for (const auto &mesh : gltf_model_.meshes) { @@ -853,6 +883,12 @@ Status GltfDecoder::AddAttributesToDracoMesh(BuilderT *builder) { attribute_name_to_draco_mesh_attribute_id_[attribute.first] = -1; continue; } + // TODO(vytyaz): Check that when glTF is decoded into a single draco::Mesh + // the feature ID vertex attributes are consistent with geometry, e.g., the + // number of values in attribute with name _FEATURE_ID_5 accumulated from + // all primitives must be equal to the accumulated number of mesh vertices. + // Furthermore, accumulated attributes should probably come from mesh + // feature ID sets with the same labels. DRACO_ASSIGN_OR_RETURN( const int att_id, AddAttribute(draco_att_type, attribute.second.component_type, @@ -875,6 +911,13 @@ Status GltfDecoder::AddAttributesToDracoMesh(BuilderT *builder) { return OkStatus(); } +// Returns the index from a feature ID vertex attribute name like _FEATURE_ID_5. +int GetIndexFromFeatureIdAttributeName(const std::string &name) { + const std::string prefix = "_FEATURE_ID_"; + const std::string number = name.substr(prefix.length()); + return std::stoi(number); +} + template Status GltfDecoder::AddAttributeValuesToBuilder( const std::string &attribute_name, const tinygltf::Accessor &accessor, @@ -903,6 +946,16 @@ Status GltfDecoder::AddAttributeValuesToBuilder( DRACO_RETURN_IF_ERROR(AddFeatureIdToBuilder( accessor, indices_data, att_id, number_of_elements, reverse_winding, attribute_name, builder)); + // Populate map from the index in attribute name like _FEATURE_ID_5 to the + // attribute index in the builder. + const int index = GetIndexFromFeatureIdAttributeName(attribute_name); + feature_id_attribute_indices_[index] = att_id; + } else if (attribute_name.rfind('_', 0) == 0) { + // This is a structural metadata property attribute with a name like + // _DIRECTION that begins with an underscore. + DRACO_RETURN_IF_ERROR(AddPropertyAttributeToBuilder( + accessor, indices_data, att_id, number_of_elements, reverse_winding, + attribute_name, builder)); } else { DRACO_RETURN_IF_ERROR(AddAttributeDataByTypes(accessor, indices_data, att_id, number_of_elements, @@ -987,12 +1040,22 @@ Status GltfDecoder::AddFeatureIdToBuilder( DRACO_RETURN_IF_ERROR(AddAttributeDataByTypes(accessor, indices_data, att_id, number_of_elements, reverse_winding, builder)); + return OkStatus(); +} - // Store feature ID attribute name with index like _FEATURE_ID_5 in Draco - // attribute metadata. - std::unique_ptr metadata(new draco::AttributeMetadata()); - metadata->AddEntryString("attribute_name", attribute_name); - builder->AddAttributeMetadata(att_id, std::move(metadata)); +template +Status GltfDecoder::AddPropertyAttributeToBuilder( + const tinygltf::Accessor &accessor, + const std::vector &indices_data, int att_id, + int number_of_elements, bool reverse_winding, + const std::string &attribute_name, BuilderT *builder) { + // Set property attribute values to mesh. + DRACO_RETURN_IF_ERROR(AddAttributeDataByTypes(accessor, indices_data, att_id, + number_of_elements, + reverse_winding, builder)); + + // Store property attribute name like _DIRECTION in Draco attribute. + builder->SetAttributeName(att_id, attribute_name); return OkStatus(); } @@ -1277,7 +1340,7 @@ Status GltfDecoder::AddMaterialsToDracoMesh(Mesh *mesh) { bool is_normal_map_used = false; int default_material_index = -1; - const auto it = gltf_primitive_material_to_draco_material_.find(-1); + auto it = gltf_primitive_material_to_draco_material_.find(-1); if (it != gltf_primitive_material_to_draco_material_.end()) { default_material_index = it->second; } @@ -1286,14 +1349,19 @@ Status GltfDecoder::AddMaterialsToDracoMesh(Mesh *mesh) { for (int input_material_index = 0; input_material_index < gltf_model_.materials.size(); ++input_material_index) { + it = gltf_primitive_material_to_draco_material_.find(input_material_index); + if (it == gltf_primitive_material_to_draco_material_.end()) { + continue; + } + output_material_index = it->second; if (default_material_index == input_material_index) { // Insert a default material here for primitives that did not have a // material index. - mesh->GetMaterialLibrary().MutableMaterial(output_material_index++); + mesh->GetMaterialLibrary().MutableMaterial(output_material_index); } Material *const output_material = - mesh->GetMaterialLibrary().MutableMaterial(output_material_index++); + mesh->GetMaterialLibrary().MutableMaterial(output_material_index); DRACO_RETURN_IF_ERROR( AddGltfMaterial(input_material_index, output_material)); if (output_material->GetTextureMapByType( @@ -1415,6 +1483,7 @@ Status GltfDecoder::DecodeGltfToScene() { DRACO_RETURN_IF_ERROR(AddMaterialsToScene()); DRACO_RETURN_IF_ERROR(AddSkinsToScene()); MoveNonMaterialTextures(scene_.get()); + DRACO_RETURN_IF_ERROR(AddAssetMetadata(scene_.get())); return OkStatus(); } @@ -1511,172 +1580,278 @@ Status GltfDecoder::AddStructuralMetadataToGeometry(GeometryT *geometry) { } const tinygltf::Value::Object &o = e->second.Get(); - // Decode property table schema. - { - const auto &value = o.find("schema"); - if (value == o.end()) { - return ErrorStatus("Structural metadata extension has no schema."); - } - const tinygltf::Value &object = value->second; - if (!object.IsObject()) { - return ErrorStatus("Structural metadata extension schema is malformed."); - } - - // Decodes tinygltf::Value into PropertyTable::Schema::Object. - struct SchemaParser { - static Status Parse(const tinygltf::Value &value, - PropertyTable::Schema::Object *object) { - switch (value.Type()) { - case tinygltf::OBJECT_TYPE: { - for (auto &it : value.Get()) { - object->SetObjects().emplace_back(it.first); - DRACO_RETURN_IF_ERROR( - Parse(it.second, &object->SetObjects().back())); - } - } break; - case tinygltf::ARRAY_TYPE: { - for (int i = 0; i < value.ArrayLen(); ++i) { - object->SetArray().emplace_back(); - DRACO_RETURN_IF_ERROR( - Parse(value.Get(i), &object->SetArray().back())); - } - } break; - case tinygltf::STRING_TYPE: - object->SetString(value.Get()); - break; - case tinygltf::INT_TYPE: - object->SetInteger(value.Get()); - break; - case tinygltf::BOOL_TYPE: - object->SetBoolean(value.Get()); - break; - case tinygltf::REAL_TYPE: - case tinygltf::BINARY_TYPE: - case tinygltf::NULL_TYPE: - default: - // Not used in the schema JSON. - return ErrorStatus("Unsupported JSON type in schema."); - } - return OkStatus(); + // Decode structural metadata schema. + DRACO_RETURN_IF_ERROR(AddStructuralMetadataSchemaToGeometry(o, geometry)); + + // Decode structural metadata property tables. + DRACO_RETURN_IF_ERROR(AddPropertyTablesToGeometry(o, geometry)); + + // Decode structural metadata property attributes. + DRACO_RETURN_IF_ERROR(AddPropertyAttributesToGeometry(o, geometry)); + + // Check that structural metadata has either property tables, or property + // attribute, or property textures (in the future). + if (geometry->GetStructuralMetadata().NumPropertyTables() == 0 && + geometry->GetStructuralMetadata().NumPropertyAttributes() == 0) { + return ErrorStatus( + "Structural metadata has no property tables, no property attributes."); + } + return OkStatus(); +} + +template +Status GltfDecoder::AddStructuralMetadataSchemaToGeometry( + const tinygltf::Value::Object &extension, GeometryT *geometry) { + const auto &value = extension.find("schema"); + if (value == extension.end()) { + return ErrorStatus("Structural metadata extension has no schema."); + } + const tinygltf::Value &object = value->second; + if (!object.IsObject()) { + return ErrorStatus("Structural metadata extension schema is malformed."); + } + + // Decodes tinygltf::Value into StructuralMetadataSchema::Object. + struct SchemaParser { + static Status Parse(const tinygltf::Value &value, + StructuralMetadataSchema::Object *object) { + switch (value.Type()) { + case tinygltf::OBJECT_TYPE: { + for (auto &it : value.Get()) { + object->SetObjects().emplace_back(it.first); + DRACO_RETURN_IF_ERROR( + Parse(it.second, &object->SetObjects().back())); + } + } break; + case tinygltf::ARRAY_TYPE: { + for (int i = 0; i < value.ArrayLen(); ++i) { + object->SetArray().emplace_back(); + DRACO_RETURN_IF_ERROR( + Parse(value.Get(i), &object->SetArray().back())); + } + } break; + case tinygltf::STRING_TYPE: + object->SetString(value.Get()); + break; + case tinygltf::INT_TYPE: + object->SetInteger(value.Get()); + break; + case tinygltf::BOOL_TYPE: + object->SetBoolean(value.Get()); + break; + case tinygltf::REAL_TYPE: + case tinygltf::BINARY_TYPE: + case tinygltf::NULL_TYPE: + default: + // Not used in the schema JSON. + return ErrorStatus("Unsupported JSON type in schema."); } - }; + return OkStatus(); + } + }; + + // Parse schema of the structural metadata and set it to |geometry|. + StructuralMetadataSchema schema; + DRACO_RETURN_IF_ERROR(SchemaParser::Parse(object, &schema.json)); + geometry->GetStructuralMetadata().SetSchema(schema); + return OkStatus(); +} - // Parse property table schema and set it to |geometry|. - PropertyTable::Schema schema; - DRACO_RETURN_IF_ERROR(SchemaParser::Parse(object, &schema.json)); - geometry->GetStructuralMetadata().SetPropertyTableSchema(schema); +template +Status GltfDecoder::AddPropertyTablesToGeometry( + const tinygltf::Value::Object &extension, GeometryT *geometry) { + const auto &tables = extension.find("propertyTables"); + if (tables == extension.end()) { + // Structural metadata has no property tables. + return OkStatus(); + } + const tinygltf::Value &tables_array = tables->second; + if (!tables_array.IsArray()) { + return ErrorStatus("Property tables array is malformed."); } - // Decode property tables. - { - const auto &tables = o.find("propertyTables"); - if (tables == o.end()) { - return ErrorStatus( - "Structural metadata extension has no property tables."); + // Loop over all property tables. + for (int i = 0; i < tables_array.Size(); i++) { + // Create a property table and populate it below. + std::unique_ptr property_table(new PropertyTable()); + + const auto &object = tables_array.Get(i); + if (!object.IsObject()) { + return ErrorStatus("Property table is malformed."); + } + const auto o = object.Get(); + + // The "class" property is required. + bool success; + std::string str_value; + DRACO_ASSIGN_OR_RETURN(success, DecodeString("class", o, &str_value)); + if (success) { + property_table->SetClass(str_value); + } else { + return ErrorStatus("Property class is malformed."); } - const tinygltf::Value &tables_array = tables->second; - if (!tables_array.IsArray()) { - return ErrorStatus("Property tables array is malformed."); + + // The "count" property is required. + int int_value; + DRACO_ASSIGN_OR_RETURN(success, DecodeInt("count", o, &int_value)); + if (success) { + property_table->SetCount(int_value); + } else { + return ErrorStatus("Property count is malformed."); } - // Loop over all property tables. - for (int i = 0; i < tables_array.Size(); i++) { - // Create a property table and populate it below. - std::unique_ptr property_table(new PropertyTable()); + // The "name" property is optional. + DRACO_ASSIGN_OR_RETURN(success, DecodeString("name", o, &str_value)); + if (success) { + property_table->SetName(str_value); + } - const auto &object = tables_array.Get(i); - if (!object.IsObject()) { + // Decode property table properties (columns). + { + constexpr char kName[] = "properties"; + if (!object.Has(kName)) { return ErrorStatus("Property table is malformed."); } - const auto o = object.Get(); - - // The "class" property is required. - bool success; - std::string str_value; - DRACO_ASSIGN_OR_RETURN(success, DecodeString("class", o, &str_value)); - if (success) { - property_table->SetClass(str_value); - } else { - return ErrorStatus("Property class is malformed."); + const tinygltf::Value &value = object.Get(kName); + if (!value.IsObject()) { + return ErrorStatus("Property table properties property is malformed."); } - // The "count" property is required. - int int_value; - DRACO_ASSIGN_OR_RETURN(success, DecodeInt("count", o, &int_value)); - if (success) { - property_table->SetCount(int_value); - } else { - return ErrorStatus("Property count is malformed."); - } + // Loop over property table properties. + for (const auto &key : value.Keys()) { + // Create a property table property and populate it below. + std::unique_ptr property( + new PropertyTable::Property()); - // The "name" property is optional. - DRACO_ASSIGN_OR_RETURN(success, DecodeString("name", o, &str_value)); - if (success) { - property_table->SetName(str_value); - } + const auto &property_object = value.Get(key); + if (!property_object.IsObject()) { + return ErrorStatus("Property entry is malformed."); + } + property->SetName(key); + const auto o = property_object.Get(); + + // The "values" property is required. + DRACO_ASSIGN_OR_RETURN(success, DecodePropertyTableData( + "values", o, &property->GetData())); + if (!success) { + return ErrorStatus("Property values property is malformed."); + } - // Decode property table properties (columns). - { - constexpr char kName[] = "properties"; - if (!object.Has(kName)) { - return ErrorStatus("Property table is malformed."); + // All other properties are not required. + DRACO_ASSIGN_OR_RETURN(success, + DecodeString("stringOffsetType", o, &str_value)); + if (success) { + property->GetStringOffsets().type = str_value; } - const tinygltf::Value &value = object.Get(kName); - if (!value.IsObject()) { - return ErrorStatus( - "Property table properties property is malformed."); + DRACO_ASSIGN_OR_RETURN(success, + DecodeString("arrayOffsetType", o, &str_value)); + if (success) { + property->GetArrayOffsets().type = str_value; } + DRACO_ASSIGN_OR_RETURN( + success, DecodePropertyTableData( + "arrayOffsets", o, &property->GetArrayOffsets().data)); + DRACO_ASSIGN_OR_RETURN( + success, + DecodePropertyTableData("stringOffsets", o, + &property->GetStringOffsets().data)); + + // Add property to the property table. + property_table->AddProperty(std::move(property)); + } + } - // Loop over property table properties. - for (const auto &key : value.Keys()) { - // Create a property table property and populate it below. - std::unique_ptr property( - new PropertyTable::Property()); + // Add property table to structural metadata. + geometry->GetStructuralMetadata().AddPropertyTable( + std::move(property_table)); + } + return OkStatus(); +} - const auto &property_object = value.Get(key); - if (!property_object.IsObject()) { - return ErrorStatus("Property entry is malformed."); - } - property->SetName(key); - const auto o = property_object.Get(); +template +Status GltfDecoder::AddPropertyAttributesToGeometry( + const tinygltf::Value::Object &extension, GeometryT *geometry) { + const auto &attributes = extension.find("propertyAttributes"); + if (attributes == extension.end()) { + // Structural metadata has no property attributes. + return OkStatus(); + } + const tinygltf::Value &attributes_array = attributes->second; + if (!attributes_array.IsArray()) { + return ErrorStatus("Property attributes array is malformed."); + } - // The "values" property is required. - DRACO_ASSIGN_OR_RETURN( - success, - DecodePropertyTableData("values", o, &property->GetData())); - if (!success) { - return ErrorStatus("Property values property is malformed."); - } + // Loop over all property attributes. + for (int i = 0; i < attributes_array.Size(); i++) { + // Create a property attribute and populate it below. + std::unique_ptr property_attribute( + new PropertyAttribute()); - // All other properties are not required. - DRACO_ASSIGN_OR_RETURN( - success, DecodeString("stringOffsetType", o, &str_value)); - if (success) { - property->GetStringOffsets().type = str_value; - } - DRACO_ASSIGN_OR_RETURN( - success, DecodeString("arrayOffsetType", o, &str_value)); - if (success) { - property->GetArrayOffsets().type = str_value; - } - DRACO_ASSIGN_OR_RETURN( - success, - DecodePropertyTableData("arrayOffsets", o, - &property->GetArrayOffsets().data)); - DRACO_ASSIGN_OR_RETURN( - success, - DecodePropertyTableData("stringOffsets", o, - &property->GetStringOffsets().data)); + const auto &object = attributes_array.Get(i); + if (!object.IsObject()) { + return ErrorStatus("Property attribute is malformed."); + } + const auto o = object.Get(); - // Add property to the property table. - property_table->AddProperty(std::move(property)); - } + // The "class" property is required. + bool success; + std::string str_value; + DRACO_ASSIGN_OR_RETURN(success, DecodeString("class", o, &str_value)); + if (success) { + property_attribute->SetClass(str_value); + } else { + return ErrorStatus("Property class is malformed."); + } + + // The "name" property is optional. + DRACO_ASSIGN_OR_RETURN(success, DecodeString("name", o, &str_value)); + if (success) { + property_attribute->SetName(str_value); + } + + // Decode property attribute properties. + { + constexpr char kName[] = "properties"; + if (!object.Has(kName)) { + return ErrorStatus("Property attribute is malformed."); } + const tinygltf::Value &value = object.Get(kName); + if (!value.IsObject()) { + return ErrorStatus( + "Property attribute properties property is malformed."); + } + + // Loop over property attribute properties. + for (const auto &key : value.Keys()) { + // Create a property attribute property and populate it below. + std::unique_ptr property( + new PropertyAttribute::Property()); - // Add property table to structural metadata. - geometry->GetStructuralMetadata().AddPropertyTable( - std::move(property_table)); + // Decode property name corresponding to a schema class property name. + const auto &property_object = value.Get(key); + if (!property_object.IsObject()) { + return ErrorStatus("Property entry is malformed."); + } + property->SetName(key); + const auto o = property_object.Get(); + + // The "attribute" property is required. + DRACO_ASSIGN_OR_RETURN(success, + DecodeString("attribute", o, &str_value)); + if (success) { + property->SetAttributeName(str_value); + } else { + return ErrorStatus("Property attribute is malformed."); + } + + // Add property to the property attribute. + property_attribute->AddProperty(std::move(property)); + } } + + // Add property attribute to structural metadata. + geometry->GetStructuralMetadata().AddPropertyAttribute( + std::move(property_attribute)); } return OkStatus(); } @@ -1829,6 +2004,9 @@ Status GltfDecoder::DecodePrimitiveForScene( pb.Start(number_of_points); } + // Clear attribute indices before populating attributes in |mb| or |pb|. + feature_id_attribute_indices_.clear(); + std::set normalized_attributes; for (const auto &attribute : primitive.attributes) { if (attribute.second >= gltf_model_.accessors.size()) { @@ -1869,15 +2047,16 @@ Status GltfDecoder::DecodePrimitiveForScene( DRACO_ASSIGN_OR_RETURN( std::unique_ptr mesh, - BuildMeshFromBuilder(primitive.mode == TINYGLTF_MODE_TRIANGLES, &mb, - &pb)); + BuildMeshFromBuilder(primitive.mode == TINYGLTF_MODE_TRIANGLES, &mb, &pb, + deduplicate_vertices_)); // Set all normalized flags for appropriate attributes. for (const int32_t att_id : normalized_attributes) { mesh->attribute(att_id)->set_normalized(true); } - // Decode mesh feature ID sets if present in this primitive. - DRACO_RETURN_IF_ERROR(DecodeMeshFeatures( + + // Decode extensions present in this primitive. + DRACO_RETURN_IF_ERROR(AddPrimitiveExtensionsToDracoMesh( primitive, &scene_->GetMaterialLibrary().MutableTextureLibrary(), mesh.get())); @@ -1973,6 +2152,33 @@ Status GltfDecoder::DecodeMeshFeatures(const tinygltf::Primitive &primitive, return OkStatus(); } +Status GltfDecoder::DecodeStructuralMetadata( + const tinygltf::Primitive &primitive, Mesh *mesh) { + const auto &e = primitive.extensions.find("EXT_structural_metadata"); + if (e == primitive.extensions.end()) { + return OkStatus(); + } + std::vector property_attributes_indices; + DRACO_RETURN_IF_ERROR(DecodeStructuralMetadata( + e->second.Get(), &property_attributes_indices)); + for (const int pai : property_attributes_indices) { + const int index = mesh->AddPropertyAttributesIndex(pai); + if (scene_ == nullptr) { + // If we are decoding to a mesh, we need to restrict the property + // attributes indices to the primitive's material. + // TODO(ostava): This will not work properly when two primitives share the + // same material but have different property attributes indices. We will + // need to duplicate the materials in this case. + const auto mat_it = + gltf_primitive_material_to_draco_material_.find(primitive.material); + if (mat_it != gltf_primitive_material_to_draco_material_.end()) { + mesh->AddPropertyAttributesIndexMaterialMask(index, mat_it->second); + } + } + } + return OkStatus(); +} + Status GltfDecoder::DecodeMeshFeatures( const tinygltf::Value::Object &extension, TextureLibrary *texture_library, std::vector> *mesh_features) { @@ -2055,7 +2261,11 @@ Status GltfDecoder::DecodeMeshFeatures( if (!value.IsInt()) { return ErrorStatus("Attribute property is malformed."); } - features.SetAttributeIndex(value.Get()); + // Convert index in feature ID vertex attribute name like _FEATURE_ID_5 + // to attribute index in draco::Mesh. + const int att_name_index = value.Get(); + const int att_index = feature_id_attribute_indices_[att_name_index]; + features.SetAttributeIndex(att_index); } } { @@ -2066,7 +2276,7 @@ Status GltfDecoder::DecodeMeshFeatures( return ErrorStatus("Texture property is malformed."); } - // Decode texture contining mesh feature IDs into the |features| object + // Decode texture containing mesh feature IDs into the |features| object // via a temporary |material| object. Material material(texture_library); const auto &container_object = object.Get(); @@ -2113,6 +2323,32 @@ Status GltfDecoder::DecodeMeshFeatures( return OkStatus(); } +Status GltfDecoder::DecodeStructuralMetadata( + const tinygltf::Value::Object &extension, + std::vector *property_attributes) { + // Decode all structural metadata from JSON like this in glTF primitive: + // "EXT_structural_metadata": { + // "propertyAttributes": [0] + // } + const auto &object = extension.find("propertyAttributes"); + if (object == extension.end()) { + // TODO(vytyaz): Extension might contain property textures, support that. + return OkStatus(); + } + const tinygltf::Value &array = object->second; + if (!array.IsArray()) { + return ErrorStatus("Property attributes array is malformed."); + } + for (int i = 0; i < array.Size(); i++) { + const auto &value = array.Get(i); + if (!value.IsInt()) { + return ErrorStatus("Property attributes array entry is malformed."); + } + property_attributes->push_back(value.Get()); + } + return OkStatus(); +} + template StatusOr GltfDecoder::AddAttribute(const std::string &attribute_name, int component_type, int type, @@ -2150,9 +2386,54 @@ StatusOr GltfDecoder::AddAttribute(GeometryAttribute::Type attribute_type, if (att_id < 0) { return Status(Status::DRACO_ERROR, "Could not add attribute."); } + + // When glTF is loaded as a mesh, initialize color attribute values to white + // opaque color. Mesh regions corresponding to glTF primitives without vertex + // color will end up having the white color. Since vertex color is used as a + // multiplier for material base color in rendering shader, the white color + // will keep the model appearance unchanged. + if (scene_ == nullptr && attribute_type == GeometryAttribute::Type::COLOR) { + SetWhiteVertexColor(att_id, draco_component_type, builder); + } return att_id; } +template +void GltfDecoder::SetWhiteVertexColor(int color_att_id, draco::DataType type, + BuilderT *builder) { + // Valid glTF vertex color types are float, unsigned byte, and unsigned short. + if (type == DT_FLOAT32) { + SetWhiteVertexColorOfType(color_att_id, builder); + } else if (type == DT_UINT8) { + SetWhiteVertexColorOfType(color_att_id, builder); + } else if (type == DT_UINT16) { + SetWhiteVertexColorOfType(color_att_id, builder); + } +} + +template +void GltfDecoder::SetWhiteVertexColorOfType(int color_att_id, + TriangleSoupMeshBuilder *builder) { + // The alpha component will not be copied for the RGB vertex colors. + std::array white{1, 1, 1, 1}; + const int num_faces = total_face_indices_count_ / 3; + for (FaceIndex fi(0); fi < num_faces; fi++) { + builder->SetAttributeValuesForFace(color_att_id, fi, white.data(), + white.data(), white.data()); + } +} + +template +void GltfDecoder::SetWhiteVertexColorOfType(int color_att_id, + PointCloudBuilder *builder) { + // The alpha component will not be copied for the RGB vertex colors. + std::array white{1, 1, 1, 1}; + const int num_points = total_point_indices_count_; + for (PointIndex pi(0); pi < num_points; pi++) { + builder->SetAttributeValueForPoint(color_att_id, pi, white.data()); + } +} + StatusOr GltfDecoder::CheckKhrTextureTransform( const tinygltf::ExtensionMap &extension, TextureTransform *transform) { bool transform_set = false; @@ -2870,12 +3151,13 @@ size_t GltfDecoder::PrimitiveSignature::Hash::operator()( } StatusOr> GltfDecoder::BuildMeshFromBuilder( - bool use_mesh_builder, TriangleSoupMeshBuilder *mb, PointCloudBuilder *pb) { + bool use_mesh_builder, TriangleSoupMeshBuilder *mb, PointCloudBuilder *pb, + bool deduplicate_vertices) { std::unique_ptr mesh; if (use_mesh_builder) { mesh = mb->Finalize(); } else { - std::unique_ptr pc = pb->Finalize(true); + std::unique_ptr pc = pb->Finalize(deduplicate_vertices); if (pc) { mesh.reset(new Mesh()); PointCloud *mesh_pc = mesh.get(); @@ -2888,6 +3170,37 @@ StatusOr> GltfDecoder::BuildMeshFromBuilder( return mesh; } +Status GltfDecoder::AddAssetMetadata(Scene *scene) { + return AddAssetMetadata(&scene->GetMetadata()); +} + +Status GltfDecoder::AddAssetMetadata(Mesh *mesh) { + Metadata *metadata = nullptr; + std::unique_ptr metadata_owned; + // Use metadata of the mesh or create new one. + if (mesh->GetMetadata() != nullptr) { + metadata = mesh->metadata(); + } else { + metadata_owned = std::make_unique(); + metadata = metadata_owned.get(); + } + DRACO_RETURN_IF_ERROR(AddAssetMetadata(metadata)); + if (metadata_owned != nullptr && metadata->num_entries() > 0) { + // Some metadata was added to the |metadata_owned| instance. Add it to the + // mesh. + mesh->AddMetadata(std::move(metadata_owned)); + } + return OkStatus(); +} + +Status GltfDecoder::AddAssetMetadata(Metadata *metadata) { + // Store the copyright information in the |metadata|. + if (!gltf_model_.asset.copyright.empty()) { + metadata->AddEntryString("copyright", gltf_model_.asset.copyright); + } + return OkStatus(); +} + } // namespace draco #endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/io/gltf_decoder.h b/src/draco/io/gltf_decoder.h index 2ae12106..b5fe7e55 100644 --- a/src/draco/io/gltf_decoder.h +++ b/src/draco/io/gltf_decoder.h @@ -71,6 +71,18 @@ class GltfDecoder { gltf_scene_graph_mode_ = mode; } + // By default, the decoder will attempt to deduplicate vertices after decoding + // the mesh. This means lower memory usage and smaller output glTFs after + // reencoding. However, for very large meshes, this may become an expensive + // operation. If that becomes an issue, you might want to consider disabling + // deduplication with |SetDeduplicateVertices(false)|. + // + // Note that at this moment, disabling deduplication works ONLY for point + // clouds. + void SetDeduplicateVertices(bool deduplicate_vertices) { + deduplicate_vertices_ = deduplicate_vertices; + } + private: // Loads |file_name| into |gltf_model_|. Fills |input_files| with paths to all // input files when non-null. @@ -192,6 +204,18 @@ class GltfDecoder { const std::string &attribute_name, BuilderT *builder); + // Copies the property attribute data from |accessor| and adds it to a + // Draco mesh. |indices_data| is the indices data from the glTF file. |att_id| + // is the attribute ID of the mesh feature ID attribute in the Draco mesh. + // |number_of_elements| is the number of faces or points this function will + // process. |reverse_winding| if set will change the orientation of the data. + template + Status AddPropertyAttributeToBuilder( + const tinygltf::Accessor &accessor, + const std::vector &indices_data, int att_id, + int number_of_elements, bool reverse_winding, + const std::string &attribute_name, BuilderT *builder); + // Copies the attribute data from |accessor| and adds it to a Draco mesh. // This function will transform all of the data by |transform_matrix| before // adding the data to the Draco mesh. |indices_data| is the indices data @@ -220,6 +244,16 @@ class GltfDecoder { const std::vector &data, bool reverse_winding, PointCloudBuilder *builder); + // Sets colors of for all vertices to white. + template + void SetWhiteVertexColor(int color_att_id, draco::DataType type, + BuilderT *builder); + template + void SetWhiteVertexColorOfType(int color_att_id, + TriangleSoupMeshBuilder *builder); + template + void SetWhiteVertexColorOfType(int color_att_id, PointCloudBuilder *builder); + // Sets values in |data| into the mesh builder |mb| for |att_id|. // |reverse_winding| if set will change the orientation of the data. template @@ -306,28 +340,55 @@ class GltfDecoder { const tinygltf::Value::Object &extension, std::vector *mappings); - // Decodes glTF mesh feature ID sets from all glTF primitives and adds them to - // |mesh|. - Status AddMeshFeaturesToDracoMesh(Mesh *mesh); - - // Decodes glTF mesh feature ID sets from glTF primitive in glTF node at - // |node_index| and adds them to |mesh|. - Status AddMeshFeaturesToDracoMesh(int node_index, Mesh *mesh); + // Decode extensions on all primitives of all scenes, such as mesh features + // and structural metadata extensions, and add their contents to |mesh|. + Status AddPrimitiveExtensionsToDracoMesh(Mesh *mesh); + Status AddPrimitiveExtensionsToDracoMesh(int node_index, Mesh *mesh); + Status AddPrimitiveExtensionsToDracoMesh(const tinygltf::Primitive &primitive, + TextureLibrary *texture_library, + Mesh *mesh); // Decodes glTF structural metadata from glTF model and adds it to |geometry|. template Status AddStructuralMetadataToGeometry(GeometryT *geometry); + // Decodes glTF structural metadata schema from |extension| and adds it to + // |geometry|. + template + Status AddStructuralMetadataSchemaToGeometry( + const tinygltf::Value::Object &extension, GeometryT *geometry); + + // Decodes glTF structural metadata property tables from |extension| and adds + // them to |geometry|. + template + Status AddPropertyTablesToGeometry(const tinygltf::Value::Object &extension, + GeometryT *geometry); + + // Decodes glTF structural metadata property attributes from |extension| and + // adds them to |geometry|. + template + Status AddPropertyAttributesToGeometry( + const tinygltf::Value::Object &extension, GeometryT *geometry); + // Decodes glTF mesh feature ID sets from |primitive| and adds them to |mesh|. Status DecodeMeshFeatures(const tinygltf::Primitive &primitive, TextureLibrary *texture_library, Mesh *mesh); + // Decodes glTF structural metadata from |primitive| and adds it to |mesh|. + Status DecodeStructuralMetadata(const tinygltf::Primitive &primitive, + Mesh *mesh); + // Decodes glTF mesh feature ID sets from |extension| and adds them to the // |mesh_features| vector. Status DecodeMeshFeatures( const tinygltf::Value::Object &extension, TextureLibrary *texture_library, std::vector> *mesh_features); + // Decodes glTF structural metadata from |extension| of a glTF primitive and + // adds its property attribute indices to the |property_attributes| vector. + Status DecodeStructuralMetadata(const tinygltf::Value::Object &extension, + std::vector *property_attributes); + // Adds an attribute of type |attribute_name| to |builder|. Returns the // attribute id. template @@ -427,6 +488,11 @@ class GltfDecoder { // Adds the skins to the scene. Status AddSkinsToScene(); + // Adds various asset metadata to the scene or mesh. + Status AddAssetMetadata(Scene *scene); + Status AddAssetMetadata(Mesh *mesh); + Status AddAssetMetadata(Metadata *metadata); + // All material and non-material textures (e.g., from EXT_mesh_features) are // initially loaded into a texture library inside the the material library. // These methods move |non_material_textures| from material texture library @@ -441,8 +507,8 @@ class GltfDecoder { // point cloud builder |pb|. Mesh builder is used if |use_mesh_builder| is set // to true. static StatusOr> BuildMeshFromBuilder( - bool use_mesh_builder, TriangleSoupMeshBuilder *mb, - PointCloudBuilder *pb); + bool use_mesh_builder, TriangleSoupMeshBuilder *mb, PointCloudBuilder *pb, + bool deduplicate_vertices); // Map of glTF Mesh to Draco scene mesh group. std::map gltf_mesh_to_scene_mesh_group_; @@ -457,6 +523,10 @@ class GltfDecoder { TriangleSoupMeshBuilder mb_; PointCloudBuilder pb_; + // Map from the index in a feature ID vertex attribute name like _FEATURE_ID_5 + // to the corresponding attribute index in the current geometry builder. + std::unordered_map feature_id_attribute_indices_; + // Next face index used when adding attribute data to the Draco mesh. int next_face_id_; @@ -504,6 +574,9 @@ class GltfDecoder { // Selected mode of the decoded scene graph. GltfSceneGraphMode gltf_scene_graph_mode_ = GltfSceneGraphMode::TREE; + // Whether vertices should be deduplicated after loading. + bool deduplicate_vertices_ = true; + // Functionality for deduping primitives on decode. struct PrimitiveSignature { const tinygltf::Primitive &primitive; diff --git a/src/draco/io/gltf_decoder_test.cc b/src/draco/io/gltf_decoder_test.cc index fade3ee2..6efc0657 100644 --- a/src/draco/io/gltf_decoder_test.cc +++ b/src/draco/io/gltf_decoder_test.cc @@ -14,9 +14,12 @@ // #include "draco/io/gltf_decoder.h" +#include #include +#include #include #include +#include #include #include #include @@ -738,17 +741,14 @@ TEST(GltfDecoderTest, TextureTransformTest) { "KhronosSampleModels/TextureTransformTest/glTF/TextureTransformTest.gltf"; const std::unique_ptr mesh(DecodeGltfFile(filename)); EXPECT_EQ(mesh->GetMaterialLibrary().NumMaterials(), 9); - for (int i = 0; i < 6; ++i) { - EXPECT_FALSE(TextureTransform::IsDefault(mesh->GetMaterialLibrary() - .GetMaterial(i) - ->GetTextureMapByIndex(0) - ->texture_transform())); - } - for (int i = 6; i < 9; ++i) { - EXPECT_TRUE(TextureTransform::IsDefault(mesh->GetMaterialLibrary() - .GetMaterial(i) - ->GetTextureMapByIndex(0) - ->texture_transform())); + std::set expected_default_transforms = {4, 5, 6}; + for (int i = 0; i < 9; ++i) { + const bool expected_default = (expected_default_transforms.count(i) != 0); + EXPECT_EQ(TextureTransform::IsDefault(mesh->GetMaterialLibrary() + .GetMaterial(i) + ->GetTextureMapByIndex(0) + ->texture_transform()), + expected_default); } const std::unique_ptr scene(DecodeGltfFileToScene(filename)); @@ -1139,7 +1139,7 @@ TEST(GltfDecoderTest, CorrectVolumeThicknessFactor) { ASSERT_NE(scene, nullptr); auto instances = draco::SceneUtils::ComputeAllInstances(*scene); ASSERT_EQ(instances.size(), 2); - ASSERT_EQ(instances[MeshInstanceIndex(0)].transform.col(0).norm(), + ASSERT_EQ(instances[MeshInstanceIndex(1)].transform.col(0).norm(), kDragonScale); ASSERT_EQ(scene->GetMaterialLibrary().GetMaterial(1)->GetThicknessFactor(), kDragonVolumeThickness); @@ -1256,47 +1256,84 @@ TEST(GltfDecoderTest, MaterialsVariants) { TEST(GltfDecoderTest, DecodeMeshWithMeshFeaturesWithStructuralMetadata) { // Checks decoding of a simple glTF with mesh features and structural metadata // property table as draco::Mesh. - constexpr bool kDracoCompressionEnabled = false; const auto path = GetTestFileFullPath("BoxMeta/glTF/BoxMeta.gltf"); + GltfTestHelper::UseCase use_case; + use_case.has_mesh_features = true; + use_case.has_structural_metadata = true; + draco::GltfDecoder decoder; DRACO_ASSIGN_OR_ASSERT(auto mesh, decoder.DecodeFromFile(path)); ASSERT_NE(mesh, nullptr); - GltfTestHelper::CheckBoxMetaMeshFeatures(*mesh, kDracoCompressionEnabled); - GltfTestHelper::CheckBoxMetaStructuralMetadata(*mesh); + GltfTestHelper::CheckBoxMetaMeshFeatures(*mesh, use_case); + GltfTestHelper::CheckBoxMetaStructuralMetadata(*mesh, use_case); +} + +TEST(GltfDecoderTest, DecodeMeshWithStructuralMetadataWithEmptyStringBuffer) { + // Checks that the decoder correctly handles 0-length buffers. An example case + // where this could happen is an EXT_structural_metadata extension with a + // buffer containing an empty string. + const auto path = + GetTestFileFullPath("ZeroLengthBufferView/ZeroLengthBufferView.gltf"); + GltfTestHelper::UseCase use_case; + use_case.has_mesh_features = true; + use_case.has_structural_metadata = true; + + draco::GltfDecoder decoder; + DRACO_ASSIGN_OR_ASSERT(auto mesh, decoder.DecodeFromFile(path)); + ASSERT_NE(mesh, nullptr); + ASSERT_EQ(mesh->GetStructuralMetadata().NumPropertyTables(), 1); + ASSERT_EQ(mesh->GetStructuralMetadata().GetPropertyTable(0).GetCount(), 1); + ASSERT_EQ(mesh->GetStructuralMetadata().GetPropertyTable(0).NumProperties(), + 1); + ASSERT_EQ(mesh->GetStructuralMetadata() + .GetPropertyTable(0) + .GetProperty(0) + .GetData() + .data.size(), + 0); } TEST(GltfDecoderTest, DecodeMeshWithMeshFeaturesWithDracoCompression) { // Checks decoding of a simple glTF with mesh features compressed with Draco // as draco::Mesh. - constexpr bool kDracoCompressionEnabled = true; const auto path = GetTestFileFullPath("BoxMetaDraco/glTF/BoxMetaDraco.gltf"); + GltfTestHelper::UseCase use_case; + use_case.has_draco_compression = true; + use_case.has_mesh_features = true; + draco::GltfDecoder decoder; DRACO_ASSIGN_OR_ASSERT(auto mesh, decoder.DecodeFromFile(path)); ASSERT_NE(mesh, nullptr); - GltfTestHelper::CheckBoxMetaMeshFeatures(*mesh, kDracoCompressionEnabled); + GltfTestHelper::CheckBoxMetaMeshFeatures(*mesh, use_case); } TEST(GltfDecoderTest, DecodeSceneWithMeshFeaturesWithStructuralMetadata) { // Checks decoding of a simple glTF with mesh features and structural metadata // property table as draco::Scene. - constexpr bool kHasDracoCompression = false; const auto path = GetTestFileFullPath("BoxMeta/glTF/BoxMeta.gltf"); + GltfTestHelper::UseCase use_case; + use_case.has_mesh_features = true; + use_case.has_structural_metadata = true; + draco::GltfDecoder decoder; DRACO_ASSIGN_OR_ASSERT(auto scene, decoder.DecodeFromFileToScene(path)); ASSERT_NE(scene, nullptr); - GltfTestHelper::CheckBoxMetaMeshFeatures(*scene, kHasDracoCompression); - GltfTestHelper::CheckBoxMetaStructuralMetadata(*scene); + GltfTestHelper::CheckBoxMetaMeshFeatures(*scene, use_case); + GltfTestHelper::CheckBoxMetaStructuralMetadata(*scene, use_case); } TEST(GltfDecoderTest, DecodeSceneWithMeshFeaturesWithDracoCompression) { // Checks decoding of a simple glTF with mesh features compressed with Draco // as draco::Scene. - constexpr bool kHasDracoCompression = true; const auto path = GetTestFileFullPath("BoxMetaDraco/glTF/BoxMetaDraco.gltf"); + GltfTestHelper::UseCase use_case; + use_case.has_draco_compression = true; + use_case.has_mesh_features = true; + draco::GltfDecoder decoder; DRACO_ASSIGN_OR_ASSERT(auto scene, decoder.DecodeFromFileToScene(path)); ASSERT_NE(scene, nullptr); - GltfTestHelper::CheckBoxMetaMeshFeatures(*scene, kHasDracoCompression); + GltfTestHelper::CheckBoxMetaMeshFeatures(*scene, use_case); } TEST(GltfDecoderTest, DecodePointCloudToMesh) { @@ -1316,6 +1353,10 @@ TEST(GltfDecoderTest, DecodePointCloudToMesh) { ASSERT_EQ(mesh->NumNamedAttributes(draco::GeometryAttribute::TANGENT), 1); ASSERT_EQ(mesh->NumNamedAttributes(draco::GeometryAttribute::MATERIAL), 1); + // Verify that vertex deduplication was performed + ASSERT_LT(mesh->GetNamedAttribute(draco::GeometryAttribute::NORMAL)->size(), + 462); + // Check the point cloud has two materials. ASSERT_EQ(mesh->GetNamedAttribute(draco::GeometryAttribute::MATERIAL)->size(), 2); @@ -1398,5 +1439,52 @@ TEST(GltfDecoderTest, TestLoadUnsupportedTexCoordAttributes) { 2); } +TEST(GltfDecoderTest, TestInvertedMaterials) { + // Checks that GltfDecoder assigns materials properly to sub-meshes when the + // material indices are in reverse order in the input glTF. + auto mesh = draco::ReadMeshFromTestFile("two_objects_inverse_materials.gltf"); + ASSERT_NE(mesh, nullptr); + ASSERT_EQ(mesh->GetMaterialLibrary().NumMaterials(), 2); + + // There are two sub-meshes. A cube with 12 faces and a sphere. The cube + // should be mapped to a "Red" material and the sphere to a "Green" material. + ASSERT_EQ(mesh->GetMaterialLibrary().GetMaterial(0)->GetName(), "Red"); + ASSERT_EQ(mesh->GetMaterialLibrary().GetMaterial(1)->GetName(), "Green"); + + // Count the number of faces for each material index in the mesh. + std::array num_material_faces = {0, 0}; + const draco::PointAttribute *const mat_att = + mesh->GetNamedAttribute(draco::GeometryAttribute::MATERIAL); + for (draco::FaceIndex i(0); i < mesh->num_faces(); ++i) { + const auto f = mesh->face(i); + uint32_t mat_index = 0; + mat_att->GetMappedValue(f[0], &mat_index); + ASSERT_TRUE(mat_index == 0 || mat_index == 1); + num_material_faces[mat_index]++; + } + + // There should be 12 faces mapped to the red material (index 0), rest should + // be mapped to the green one. + ASSERT_EQ(num_material_faces[0], 12); +} + +TEST(GltfDecoderTest, DecodePointCloudToMeshWithDeduplicationDisabled) { + // Checks that no deduplication is performed when it is explicitly disabled. + const auto path = GetTestFileFullPath( + "SphereTwoMaterials/sphere_two_materials_point_cloud.gltf"); + draco::GltfDecoder decoder; + decoder.SetDeduplicateVertices(false); + DRACO_ASSIGN_OR_ASSERT(auto mesh, decoder.DecodeFromFile(path)); + ASSERT_NE(mesh, nullptr); + + // Check the point cloud has expected number of points and attributes. + ASSERT_EQ(mesh->num_faces(), 0); + ASSERT_EQ(mesh->num_points(), 462); + + // Verify that no deduplication was performed. + ASSERT_EQ(mesh->GetNamedAttribute(draco::GeometryAttribute::NORMAL)->size(), + 462); +} + } // namespace draco #endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/io/gltf_encoder.cc b/src/draco/io/gltf_encoder.cc index 0509b588..0dfff991 100644 --- a/src/draco/io/gltf_encoder.cc +++ b/src/draco/io/gltf_encoder.cc @@ -45,6 +45,7 @@ #include "draco/mesh/mesh_features.h" #include "draco/mesh/mesh_splitter.h" #include "draco/mesh/mesh_utils.h" +#include "draco/metadata/property_attribute.h" #include "draco/scene/instance_array.h" #include "draco/scene/scene_indices.h" #include "draco/scene/scene_utils.h" @@ -90,22 +91,46 @@ int TextureAxisWrappingModeToGltfValue(TextureMap::AxisWrappingMode mode) { } } -// Checks |att| metadata entry in |mesh| with key "attribute_name" and returns -// entry value if it begins with "_FEATURE_ID_", or an empty string otherwise. -std::string GetFeatureIdAttributeName(const PointAttribute &att, - const Mesh &mesh) { - const auto *const metadata = - mesh.GetAttributeMetadataByAttributeId(att.unique_id()); - if (metadata) { - std::string attribute_name; - if (metadata->GetEntryString("attribute_name", &attribute_name)) { - constexpr char kPrefix[] = "_FEATURE_ID_"; - if (attribute_name.rfind(kPrefix) == 0) { - return attribute_name; +// Returns a boolean indicating whether |mesh| attribute at |att_index| is a +// feature ID vertex attribute referred to by any of the feature ID sets stored +// in the |mesh|. +bool IsFeatureIdAttribute(int att_index, const Mesh &mesh) { + for (MeshFeaturesIndex i(0); i < mesh.NumMeshFeatures(); ++i) { + if (mesh.GetMeshFeatures(i).GetAttributeIndex() == att_index) { + return true; + } + } + return false; +} + +// Returns a boolean indicating whether |mesh| attribute at |att_index| is a +// property attribute referred to by the |mesh| and its |structural_metadata|. +bool IsPropertyAttribute(int att_index, const Mesh &mesh, + const StructuralMetadata &structural_metadata) { + // First check if structural metadata has any property attributes. + if (structural_metadata.NumPropertyAttributes() == 0) { + return false; + } + + // Property attribute name must start with an underscore like _DIRECTION. + const std::string attribute_name = mesh.attribute(att_index)->name(); + if (attribute_name.rfind('_', 0) != 0) { + return false; + } + + // Look for an |attribute_name| among all property attributes in the |mesh|. + for (int i = 0; i < mesh.NumPropertyAttributesIndices(); ++i) { + const int property_attribute_index = mesh.GetPropertyAttributesIndex(i); + const PropertyAttribute &attribute = + structural_metadata.GetPropertyAttribute(property_attribute_index); + for (int i = 0; i < attribute.NumProperties(); ++i) { + const PropertyAttribute::Property &property = attribute.GetProperty(i); + if (property.GetAttributeName() == attribute_name) { + return true; } } } - return std::string(); + return false; } // Struct to hold glTF Scene data. @@ -123,7 +148,7 @@ struct GltfNode { root_node(false) {} std::string name; - std::vector childern_indices; + std::vector children_indices; int mesh_index; int skin_index; int light_index; @@ -220,8 +245,13 @@ struct GltfPrimitive { int material; std::vector material_variants_mappings; std::vector mesh_features; + std::vector property_attributes; std::map attributes; GltfDracoCompressedMesh compressed_mesh_info; + + // Map from the index of a feature ID vertex attribute in draco::Mesh to the + // index in the feature ID vertex attribute name like _FEATURE_ID_5. + std::unordered_map feature_id_name_indices; }; struct GltfMesh { @@ -249,6 +279,8 @@ class GltfAsset { GltfAsset(); + void set_copyright(const std::string ©right) { copyright_ = copyright; } + std::string copyright() const { return copyright_; } std::string generator() const { return generator_; } std::string version() const { return version_; } std::string buffer_name() const { return buffer_name_; } @@ -351,13 +383,12 @@ class GltfAsset { int AddDracoJoints(const Mesh &mesh, int num_encoded_points); int AddDracoWeights(const Mesh &mesh, int num_encoded_points); std::vector> AddDracoGenerics( - const Mesh &mesh, int num_encoded_points); + const Mesh &mesh, int num_encoded_points, + std::unordered_map *feature_id_name_indices); // Iterate through the materials that are associated with |mesh| and add them - // to the asset. Returns true if |mesh| does not contain any materials or all - // the materials are supported. Returns false if |mesh| contains materials - // that are not supported. - bool AddMaterials(const Mesh &mesh); + // to the asset. + void AddMaterials(const Mesh &mesh); // Checks whether a given Draco |attribute| has data of expected |data_type| // and whether the data has one of expected |num_components|. Returns true @@ -395,10 +426,8 @@ class GltfAsset { Status AddSceneNode(const Scene &scene, SceneNodeIndex scene_node_index); // Iterate through the materials that are associated with |scene| and add them - // to the asset. Returns true if |scene| does not contain any materials or all - // the materials are supported. Returns false if |scene| contains materials - // that are not supported. - bool AddMaterials(const Scene &scene); + // to the asset. + void AddMaterials(const Scene &scene); // Iterate through the animations that are associated with |scene| and add // them to the asset. Returns OkStatus() if |scene| does not contain any @@ -515,9 +544,26 @@ class GltfAsset { gltf_json_.EndArray(); } - // Add a mesh Draco attribute |att| that is comprised of floats to the glTF - // data. Returns the index accessor added to the glTF data. Returns -1 on - // error. + // Add a mesh Draco attribute |att| to the glTF data. Returns the index + // accessor added to the glTF data. Returns -1 on error. + int AddAttribute(const PointAttribute &att, int num_points, + int num_encoded_points, bool compress) { + const int nep = num_encoded_points; + switch (att.data_type()) { + case DT_UINT8: + return AddAttribute(att, num_points, nep, compress); + case DT_UINT16: + return AddAttribute(att, num_points, nep, compress); + case DT_FLOAT32: + return AddAttribute(att, num_points, nep, compress); + default: + return -1; + } + } + + // Add a mesh Draco attribute |att| that is comprised of |att_data_t| values + // to the glTF data. Returns the index accessor added to the glTF data. + // Returns -1 on error. template int AddAttribute(const PointAttribute &att, int num_points, int num_encoded_points, bool compress) { @@ -554,6 +600,10 @@ class GltfAsset { int num_encoded_points, const std::string &type, bool compress); + void SetCopyrightFromScene(const Scene &scene); + void SetCopyrightFromMesh(const Mesh &mesh); + + std::string copyright_; std::string generator_; std::string version_; std::vector scenes_; @@ -609,8 +659,7 @@ class GltfAsset { std::vector> lights_; std::vector materials_variants_names_; std::vector instance_arrays_; - PropertyTable::Schema property_table_schema_; - std::vector property_tables_; + const StructuralMetadata *structural_metadata_; // Indicates whether Draco compression is used for any of the asset meshes. bool draco_compression_used_; @@ -618,6 +667,9 @@ class GltfAsset { // Indicates whether mesh features are used. bool mesh_features_used_; + // Indicates whether structural metadata is used. + bool structural_metadata_used_; + // Counter for naming mesh feature textures. int mesh_features_texture_index_; @@ -667,8 +719,10 @@ GltfAsset::GltfAsset() version_("2.0"), scene_index_(-1), buffer_name_("buffer0.bin"), + structural_metadata_(nullptr), draco_compression_used_(false), mesh_features_used_(false), + structural_metadata_used_(false), mesh_features_texture_index_(0), add_images_to_buffer_(false), output_type_(GltfEncoder::COMPACT) {} @@ -678,14 +732,15 @@ bool GltfAsset::AddDracoMesh(const Mesh &mesh) { if (scene_index < 0) { return false; } - if (!AddMaterials(mesh)) { - return false; - } + AddMaterials(mesh); GltfMesh gltf_mesh; meshes_.push_back(gltf_mesh); AddStructuralMetadata(mesh); + if (copyright_.empty()) { + SetCopyrightFromMesh(mesh); + } const int32_t material_att_id = mesh.GetNamedAttributeId(GeometryAttribute::MATERIAL); @@ -713,6 +768,10 @@ bool GltfAsset::AddDracoMesh(const Mesh &mesh) { // Copy over mesh features for a given material index. Mesh::CopyMeshFeaturesForMaterial(mesh, split_meshes[i].get(), mat_index); + // Copy over property attributes indices for a given material index. + Mesh::CopyPropertyAttributesIndicesForMaterial( + mesh, split_meshes[i].get(), mat_index); + // Move the split mesh to a temporary storage of the GltfAsset. This will // ensure the mesh will stay alive as long the asset needs it. We have to // do this because the split mesh may contain mesh features data that are @@ -847,12 +906,19 @@ Status GltfAsset::CompressMeshWithDraco(const Mesh &mesh, // Create Draco encoder. EncoderBuffer buffer; - ExpertEncoder encoder(*mesh_copy); - encoder.SetTrackEncodedProperties(true); + std::unique_ptr encoder; + if (mesh_copy->num_faces() > 0) { + // Encode mesh. + encoder.reset(new ExpertEncoder(*mesh_copy)); + } else { + return Status(Status::DRACO_ERROR, + "Draco compression is not supported for glTF point clouds."); + } + encoder->SetTrackEncodedProperties(true); // Convert compression level to speed (that 0 = slowest, 10 = fastest). const int speed = 10 - compression_options.compression_level; - encoder.SetSpeedOptions(speed, speed); + encoder->SetSpeedOptions(speed, speed); // Configure attribute quantization. for (int i = 0; i < mesh_copy->num_attributes(); ++i) { @@ -904,19 +970,19 @@ Status GltfAsset::CompressMeshWithDraco(const Mesh &mesh, num_quantization_bits = compression_options.quantization_bits_weight; break; case GeometryAttribute::GENERIC: - if (GetFeatureIdAttributeName(*att, *mesh_copy).empty()) { + if (!IsFeatureIdAttribute(i, *mesh_copy)) { num_quantization_bits = compression_options.quantization_bits_generic; } else { // Quantization is explicitly disabled for feature ID attributes. - encoder.SetAttributeQuantization(i, -1); + encoder->SetAttributeQuantization(i, -1); } break; default: break; } if (num_quantization_bits > 0) { - encoder.SetAttributeQuantization(i, num_quantization_bits); + encoder->SetAttributeQuantization(i, num_quantization_bits); } } } @@ -947,9 +1013,13 @@ Status GltfAsset::CompressMeshWithDraco(const Mesh &mesh, // |compression_options| may have been modified and we need to update them // before we start the encoding. mesh_copy->SetCompressionOptions(compression_options); - DRACO_RETURN_IF_ERROR(encoder.EncodeToBuffer(&buffer)); - *num_encoded_points = encoder.num_encoded_points(); - *num_encoded_faces = encoder.num_encoded_faces(); + DRACO_RETURN_IF_ERROR(encoder->EncodeToBuffer(&buffer)); + *num_encoded_points = encoder->num_encoded_points(); + if (mesh_copy->num_faces() > 0) { + *num_encoded_faces = encoder->num_encoded_faces(); + } else { + *num_encoded_faces = 0; + } const size_t buffer_start_offset = buffer_.size(); if (!buffer_.Encode(buffer.data(), buffer.size())) { return Status(Status::DRACO_ERROR, "Could not copy Draco compressed data."); @@ -1056,7 +1126,8 @@ bool GltfAsset::AddDracoMesh( const int joints_accessor_index = AddDracoJoints(mesh, num_encoded_points); const int weights_accessor_index = AddDracoWeights(mesh, num_encoded_points); const std::vector> generics_accessors = - AddDracoGenerics(mesh, num_encoded_points); + AddDracoGenerics(mesh, num_encoded_points, + &primitive.feature_id_name_indices); if (num_encoded_faces == 0) { primitive.mode = 0; // POINTS mode. @@ -1067,6 +1138,10 @@ bool GltfAsset::AddDracoMesh( for (MeshFeaturesIndex i(0); i < mesh.NumMeshFeatures(); ++i) { primitive.mesh_features.push_back(&mesh.GetMeshFeatures(i)); } + primitive.property_attributes.reserve(mesh.NumPropertyAttributesIndices()); + for (int i = 0; i < mesh.NumPropertyAttributesIndices(); ++i) { + primitive.property_attributes.push_back(mesh.GetPropertyAttributesIndex(i)); + } primitive.indices = indices_index; primitive.attributes.insert( std::pair("POSITION", position_index)); @@ -1205,10 +1280,13 @@ int GltfAsset::AddDracoNormals(const Mesh &mesh, int num_encoded_points) { int GltfAsset::AddDracoColors(const Mesh &mesh, int num_encoded_points) { const PointAttribute *const att = mesh.GetNamedAttribute(GeometryAttribute::COLOR); - // TODO(b/200302561): Add support for DT_UINT16 with COLOR. - if (!CheckDracoAttribute(att, {DT_UINT8, DT_FLOAT32}, {3, 4})) { + if (!CheckDracoAttribute(att, {DT_UINT8, DT_UINT16, DT_FLOAT32}, {3, 4})) { return -1; } + if (att->data_type() == DT_UINT16) { + return AddAttribute(*att, mesh.num_points(), num_encoded_points, + mesh.IsCompressionEnabled()); + } if (att->data_type() == DT_FLOAT32) { return AddAttribute(*att, mesh.num_points(), num_encoded_points, mesh.IsCompressionEnabled()); @@ -1312,73 +1390,77 @@ int GltfAsset::AddDracoWeights(const Mesh &mesh, int num_encoded_points) { mesh.IsCompressionEnabled()); } -// Adds generic attributes that have metadata describing the attribute name. -// This allows for export of application-specific attributes and feature ID -// attributes defined in glTF extension EXT_mesh_features. Returns a vector of -// attribute-name, accessor pairs for each valid attribute. The length of the -// vector is equal to the number of generic attributes. Vector entries -// corresponding to unsupported attributes (e.g., with no metadata) contain -// empty attribute names. +// Adds generic attributes that have metadata describing the attribute name, +// attributes referred to by one of the mesh feature ID sets or in the |mesh|, +// and attributes referred to by one of the property attributes in the |mesh|. +// This allows for export of application-specific attributes, feature ID +// attributes defined in glTF extension EXT_mesh_features, and property +// attributes defined in glTF extension EXT_structural_metadata. Returns a +// vector of attribute-name, accessor pairs for each valid attribute. Populates +// map from |mesh| attribute index in the feature ID attribute name like +// _FEATURE_ID_5 or _DIRECTION for each feature ID and property attribute in the +// |mesh|. std::vector> GltfAsset::AddDracoGenerics( - const Mesh &mesh, int num_encoded_points) { - const int num_attributes = + const Mesh &mesh, int num_encoded_points, + std::unordered_map *feature_id_name_indices) { + const int num_generic_attributes = mesh.NumNamedAttributes(GeometryAttribute::GENERIC); - std::vector> attrs(num_attributes); - for (int i = 0; i < num_attributes; ++i) { - const PointAttribute *const att = - mesh.GetNamedAttribute(GeometryAttribute::GENERIC, i); - auto const *metadata = - mesh.GetAttributeMetadataByAttributeId(att->unique_id()); + std::vector> attrs; + int feature_id_count = 0; + for (int i = 0; i < num_generic_attributes; ++i) { + const int att_index = + mesh.GetNamedAttributeId(GeometryAttribute::GENERIC, i); + const PointAttribute *const att = mesh.attribute(att_index); + std::string attr_name; + int accessor = -1; + + auto const *metadata = mesh.GetAttributeMetadataByAttributeId(att_index); if (metadata) { - std::string attr_name; if (metadata->GetEntryString(GltfEncoder::kDracoMetadataGltfAttributeName, &attr_name)) { if (att->data_type() == DT_FLOAT32) { - int accessor = + accessor = AddAttribute(*att, mesh.num_points(), num_encoded_points, mesh.IsCompressionEnabled()); - attrs[i] = {attr_name, accessor}; - } - } else { - // Try to find feature ID attribute name like "_FEATURE_ID_5" then check - // that the attribute stores scalar values of complient data types as - // defined by the EXT_mesh_features glTF extension. - attr_name = GetFeatureIdAttributeName(*att, mesh); - if (!attr_name.empty() && att->num_components() == 1) { - int accessor = -1; - switch (att->data_type()) { - case DT_UINT8: - accessor = AddAttribute(*att, mesh.num_points(), - num_encoded_points, - mesh.IsCompressionEnabled()); - break; - case DT_UINT16: - accessor = AddAttribute(*att, mesh.num_points(), - num_encoded_points, - mesh.IsCompressionEnabled()); - break; - case DT_FLOAT32: - accessor = AddAttribute(*att, mesh.num_points(), - num_encoded_points, - mesh.IsCompressionEnabled()); - break; - default: - continue; - } - attrs[i] = {attr_name, accessor}; } } + } else { + if (IsFeatureIdAttribute(att_index, mesh) && att->num_components() == 1) { + // This is an attribute referred to by one of the mesh feature ID sets + // as defined by the EXT_mesh_features glTF extension. + // TODO(vytyaz): Report an error if the number of components is not one. + accessor = AddAttribute(*att, mesh.num_points(), num_encoded_points, + mesh.IsCompressionEnabled()); + + // Generate attribute name like _FEATURE_ID_N where N starts at 0 for + // the first feature ID vertex attribute and continues with consecutive + // positive integers as dictated by the EXT_mesh_features extension. + attr_name = + std::string("_FEATURE_ID_") + std::to_string(feature_id_count); + + // Populate map from attribute index in the |mesh| to the index in a + // feature ID vertex attribute name like _FEATURE_ID_5. + (*feature_id_name_indices)[att_index] = feature_id_count; + feature_id_count++; + } else if (IsPropertyAttribute(att_index, mesh, *structural_metadata_)) { + // This is a property attribute as defined by the + // EXT_structural_metadata glTF extension. + accessor = AddAttribute(*att, mesh.num_points(), num_encoded_points, + mesh.IsCompressionEnabled()); + attr_name = att->name(); + } + } + if (accessor != -1 && !attr_name.empty()) { + attrs.emplace_back(attr_name, accessor); } } return attrs; } -bool GltfAsset::AddMaterials(const Mesh &mesh) { - if (mesh.GetMaterialLibrary().NumMaterials() == 0) { - return true; +void GltfAsset::AddMaterials(const Mesh &mesh) { + if (mesh.GetMaterialLibrary().NumMaterials()) { + material_library_.Copy(mesh.GetMaterialLibrary()); } - material_library_.Copy(mesh.GetMaterialLibrary()); - return true; } bool GltfAsset::CheckDracoAttribute(const PointAttribute *attribute, @@ -1432,13 +1514,7 @@ StatusOr GltfAsset::AddImage(const std::string &image_stem, image.texture = texture; image.owned_texture = std::move(owned_texture); image.num_components = num_components; - - // Always maintain the mime_type. Used elsewhere to determine image type. - if (extension == "jpg") { - image.mime_type = "image/jpeg"; - } else { - image.mime_type = "image/" + extension; - } + image.mime_type = TextureUtils::GetTargetMimeType(*texture); // For KTX2 with Basis compression, state that its extension is required. if (extension == "ktx2") { @@ -1508,9 +1584,9 @@ Status GltfAsset::AddScene(const Scene &scene) { if (scene_index < 0) { return Status(Status::DRACO_ERROR, "Error creating a new scene."); } - if (!AddMaterials(scene)) { - return Status(Status::DRACO_ERROR, "Error adding materials to the scene."); - } + AddMaterials(scene); + AddStructuralMetadata(scene); + // Initialize base mesh transforms that may be needed when the base meshes are // compressed with Draco. base_mesh_transforms_ = SceneUtils::FindLargestBaseMeshTransforms(scene); @@ -1526,7 +1602,9 @@ Status GltfAsset::AddScene(const Scene &scene) { DRACO_RETURN_IF_ERROR(AddLights(scene)); DRACO_RETURN_IF_ERROR(AddMaterialsVariantsNames(scene)); DRACO_RETURN_IF_ERROR(AddInstanceArrays(scene)); - AddStructuralMetadata(scene); + if (copyright_.empty()) { + SetCopyrightFromScene(scene); + } return OkStatus(); } @@ -1542,7 +1620,7 @@ Status GltfAsset::AddSceneNode(const Scene &scene, node.trs_matrix.Copy(scene_node->GetTrsMatrix()); for (int i = 0; i < scene_node->NumChildren(); ++i) { - node.childern_indices.push_back(scene_node->Child(i).value()); + node.children_indices.push_back(scene_node->Child(i).value()); } const MeshGroupIndex mesh_group_index = scene_node->GetMeshGroupIndex(); @@ -1589,6 +1667,12 @@ Status GltfAsset::AddSceneNode(const Scene &scene, for (MeshFeaturesIndex j(0); j < mesh.NumMeshFeatures(); ++j) { primitive.mesh_features.push_back(&mesh.GetMeshFeatures(j)); } + primitive.property_attributes.reserve( + mesh.NumPropertyAttributesIndices()); + for (int i = 0; i < mesh.NumPropertyAttributesIndices(); ++i) { + primitive.property_attributes.push_back( + mesh.GetPropertyAttributesIndex(i)); + } meshes_.back().primitives.push_back(primitive); } } @@ -1604,12 +1688,10 @@ Status GltfAsset::AddSceneNode(const Scene &scene, return OkStatus(); } -bool GltfAsset::AddMaterials(const Scene &scene) { - if (scene.GetMaterialLibrary().NumMaterials() == 0) { - return true; +void GltfAsset::AddMaterials(const Scene &scene) { + if (scene.GetMaterialLibrary().NumMaterials()) { + material_library_.Copy(scene.GetMaterialLibrary()); } - material_library_.Copy(scene.GetMaterialLibrary()); - return true; } Status GltfAsset::AddAnimations(const Scene &scene) { @@ -1884,14 +1966,7 @@ Status GltfAsset::AddInstanceArrays(const Scene &scene) { template void GltfAsset::AddStructuralMetadata(const GeometryT &geometry) { - const StructuralMetadata &structural_metadata = - geometry.GetStructuralMetadata(); - if (!structural_metadata.GetPropertyTableSchema().Empty()) { - property_table_schema_ = structural_metadata.GetPropertyTableSchema(); - for (int i = 0; i < structural_metadata.NumPropertyTables(); ++i) { - property_tables_.push_back(&structural_metadata.GetPropertyTable(i)); - } - } + structural_metadata_ = &geometry.GetStructuralMetadata(); } StatusOr GltfAsset::AddData(const std::vector &data, @@ -1972,6 +2047,9 @@ bool GltfAsset::EncodeAssetProperty(EncoderBuffer *buf_out) { gltf_json_.BeginObject("asset"); gltf_json_.OutputValue("version", version_); gltf_json_.OutputValue("generator", generator_); + if (!copyright_.empty()) { + gltf_json_.OutputValue("copyright", copyright_); + } gltf_json_.EndObject(); const std::string asset_str = gltf_json_.MoveData(); @@ -2044,10 +2122,10 @@ bool GltfAsset::EncodeNodesProperty(EncoderBuffer *buf_out) { gltf_json_.EndObject(); } - if (!nodes_[i].childern_indices.empty()) { + if (!nodes_[i].children_indices.empty()) { gltf_json_.BeginArray("children"); - for (int j = 0; j < nodes_[i].childern_indices.size(); ++j) { - gltf_json_.OutputValue(nodes_[i].childern_indices[j]); + for (int j = 0; j < nodes_[i].children_indices.size(); ++j) { + gltf_json_.OutputValue(nodes_[i].children_indices[j]); } gltf_json_.EndArray(); } @@ -2170,9 +2248,10 @@ Status GltfAsset::EncodePrimitiveExtensionsProperty( primitive.compressed_mesh_info.buffer_view_index >= 0; const bool has_materials_variants = !primitive.material_variants_mappings.empty(); + const bool has_structural_metadata = !primitive.property_attributes.empty(); const bool has_mesh_features = !primitive.mesh_features.empty(); if (!has_draco_mesh_compression && !has_materials_variants && - !has_mesh_features) { + !has_mesh_features && !has_structural_metadata) { return OkStatus(); } @@ -2216,7 +2295,10 @@ Status GltfAsset::EncodePrimitiveExtensionsProperty( } gltf_json_.OutputValue("featureCount", features->GetFeatureCount()); if (features->GetAttributeIndex() != -1) { - gltf_json_.OutputValue("attribute", features->GetAttributeIndex()); + // Index referring to mesh feature ID attribute name like _FEATURE_ID_5. + const int index = + primitive.feature_id_name_indices.at(features->GetAttributeIndex()); + gltf_json_.OutputValue("attribute", index); } if (features->GetPropertyTableIndex() != -1) { gltf_json_.OutputValue("propertyTable", @@ -2250,6 +2332,16 @@ Status GltfAsset::EncodePrimitiveExtensionsProperty( gltf_json_.EndArray(); // featureIds array. gltf_json_.EndObject(); // EXT_mesh_features entry. } + if (has_structural_metadata) { + structural_metadata_used_ = true; + gltf_json_.BeginObject("EXT_structural_metadata"); + gltf_json_.BeginArray("propertyAttributes"); + for (const int property_attribute_index : primitive.property_attributes) { + gltf_json_.OutputValue(property_attribute_index); + } + gltf_json_.EndArray(); // propertyAttributes array. + gltf_json_.EndObject(); // EXT_structural_metadata entry. + } gltf_json_.EndObject(); // extensions entry. return OkStatus(); } @@ -2963,7 +3055,8 @@ Status GltfAsset::EncodeSkinsProperty(EncoderBuffer *buf_out) { Status GltfAsset::EncodeTopLevelExtensionsProperty(EncoderBuffer *buf_out) { // Return if there are no top-level asset extensions to encode. if (lights_.empty() && materials_variants_names_.empty() && - property_tables_.empty()) { + structural_metadata_->NumPropertyTables() == 0 && + structural_metadata_->NumPropertyAttributes() == 0) { return OkStatus(); } @@ -3048,38 +3141,39 @@ Status GltfAsset::EncodeMaterialsVariantsNamesProperty(EncoderBuffer *buf_out) { } Status GltfAsset::EncodeStructuralMetadataProperty(EncoderBuffer *buf_out) { - if (property_table_schema_.Empty()) { + if (structural_metadata_->GetSchema().Empty()) { return OkStatus(); } + structural_metadata_used_ = true; gltf_json_.BeginObject("EXT_structural_metadata"); - // Encodes property table schema. + // Encodes structural metadata schema. struct SchemaWriter { - static void Write(const PropertyTable::Schema::Object &object, - JsonWriter *json_writer) { + typedef StructuralMetadataSchema::Object Object; + static void Write(const Object &object, JsonWriter *json_writer) { switch (object.GetType()) { - case PropertyTable::Schema::Object::OBJECT: + case Object::OBJECT: json_writer->BeginObject(object.GetName()); - for (const PropertyTable::Schema::Object &obj : object.GetObjects()) { + for (const Object &obj : object.GetObjects()) { Write(obj, json_writer); } json_writer->EndObject(); break; - case PropertyTable::Schema::Object::ARRAY: + case Object::ARRAY: json_writer->BeginArray(object.GetName()); - for (const PropertyTable::Schema::Object &obj : object.GetArray()) { + for (const Object &obj : object.GetArray()) { Write(obj, json_writer); } json_writer->EndArray(); break; - case PropertyTable::Schema::Object::STRING: + case Object::STRING: json_writer->OutputValue(object.GetName(), object.GetString()); break; - case PropertyTable::Schema::Object::INTEGER: + case Object::INTEGER: json_writer->OutputValue(object.GetName(), object.GetInteger()); break; - case PropertyTable::Schema::Object::BOOLEAN: + case Object::BOOLEAN: json_writer->OutputValue(object.GetName(), object.GetBoolean()); break; } @@ -3087,11 +3181,13 @@ Status GltfAsset::EncodeStructuralMetadataProperty(EncoderBuffer *buf_out) { }; // Encode property table schema. - SchemaWriter::Write(property_table_schema_.json, &gltf_json_); + SchemaWriter::Write(structural_metadata_->GetSchema().json, &gltf_json_); // Encode all property tables. gltf_json_.BeginArray("propertyTables"); - for (const PropertyTable *const table : property_tables_) { + for (int i = 0; i < structural_metadata_->NumPropertyTables(); i++) { + const PropertyTable *const table = + &structural_metadata_->GetPropertyTable(i); gltf_json_.BeginObject(); if (!table->GetName().empty()) { gltf_json_.OutputValue("name", table->GetName()); @@ -3138,7 +3234,33 @@ Status GltfAsset::EncodeStructuralMetadataProperty(EncoderBuffer *buf_out) { gltf_json_.EndObject(); // properties entry. gltf_json_.EndObject(); } - gltf_json_.EndArray(); // propertyTables entry. + gltf_json_.EndArray(); // propertyTables entry. + + // Encode all property attributes. + gltf_json_.BeginArray("propertyAttributes"); + for (int i = 0; i < structural_metadata_->NumPropertyAttributes(); i++) { + const PropertyAttribute *const attribute = + &structural_metadata_->GetPropertyAttribute(i); + gltf_json_.BeginObject(); + if (!attribute->GetName().empty()) { + gltf_json_.OutputValue("name", attribute->GetName()); + } + if (!attribute->GetClass().empty()) { + gltf_json_.OutputValue("class", attribute->GetClass()); + } + + // Encoder all property attribute properties. + gltf_json_.BeginObject("properties"); + for (int i = 0; i < attribute->NumProperties(); ++i) { + const PropertyAttribute::Property &property = attribute->GetProperty(i); + gltf_json_.BeginObject(property.GetName()); + gltf_json_.OutputValue("attribute", property.GetAttributeName()); + gltf_json_.EndObject(); // Named property entry. + } + gltf_json_.EndObject(); // properties entry. + gltf_json_.EndObject(); + } + gltf_json_.EndArray(); // propertyAttributes entry. gltf_json_.EndObject(); // EXT_structural_metadata entry. return OkStatus(); } @@ -3246,7 +3368,7 @@ Status GltfAsset::EncodeExtensionsProperties(EncoderBuffer *buf_out) { if (mesh_features_used_) { extensions_used_.insert("EXT_mesh_features"); } - if (!property_table_schema_.Empty()) { + if (structural_metadata_used_) { extensions_used_.insert("EXT_structural_metadata"); } @@ -3383,6 +3505,20 @@ int GltfAsset::AddAttribute(const PointAttribute &att, int num_points, return static_cast(accessors_.size() - 1); } +void GltfAsset::SetCopyrightFromScene(const Scene &scene) { + std::string copyright; + scene.GetMetadata().GetEntryString("copyright", ©right); + set_copyright(copyright); +} + +void GltfAsset::SetCopyrightFromMesh(const Mesh &mesh) { + if (mesh.GetMetadata() != nullptr) { + std::string copyright; + mesh.GetMetadata()->GetEntryString("copyright", ©right); + set_copyright(copyright); + } +} + const char GltfEncoder::kDracoMetadataGltfAttributeName[] = "//GLTF/ApplicationSpecificAttributeName"; @@ -3436,6 +3572,7 @@ Status GltfEncoder::EncodeFile(const T &geometry, const std::string &filename, } GltfAsset gltf_asset; + gltf_asset.set_copyright(copyright_); gltf_asset.set_output_type(output_type_); if (extension == "gltf") { @@ -3465,6 +3602,7 @@ Status GltfEncoder::EncodeToBuffer(const T &geometry, gltf_asset.set_output_type(output_type_); gltf_asset.buffer_name(""); gltf_asset.set_add_images_to_buffer(true); + gltf_asset.set_copyright(copyright_); // Encode the geometry into a buffer. EncoderBuffer buffer; diff --git a/src/draco/io/gltf_encoder.h b/src/draco/io/gltf_encoder.h index 16403ac3..3fcf7f50 100644 --- a/src/draco/io/gltf_encoder.h +++ b/src/draco/io/gltf_encoder.h @@ -84,6 +84,9 @@ class GltfEncoder { void set_output_type(OutputType type) { output_type_ = type; } OutputType output_type() const { return output_type_; } + void set_copyright(const std::string ©right) { copyright_ = copyright; } + std::string copyright() const { return copyright_; } + // The name of the attribute metadata that contains the glTF attribute // name. For application-specific generic attributes, if the metadata for // an attribute contains this key, then the value will be used as the @@ -126,6 +129,7 @@ class GltfEncoder { EncoderBuffer *out_buffer_; OutputType output_type_; + std::string copyright_; }; } // namespace draco diff --git a/src/draco/io/gltf_encoder_test.cc b/src/draco/io/gltf_encoder_test.cc index 179256df..438fd435 100644 --- a/src/draco/io/gltf_encoder_test.cc +++ b/src/draco/io/gltf_encoder_test.cc @@ -15,10 +15,15 @@ #include "draco/io/gltf_encoder.h" #ifdef DRACO_TRANSCODER_SUPPORTED +#include +#include +#include +#include #include #include #include #include +#include #include "draco/core/draco_test_base.h" #include "draco/core/draco_test_utils.h" @@ -1278,7 +1283,7 @@ TEST_F(GltfEncoderTest, PbrNextExtensions) { const std::string tmp_name = draco::GetTestTempFileFullPath("tmp.gltf"); DRACO_ASSERT_OK(encoder.EncodeFile(*original, tmp_name)); - // Read model from the temporay file. + // Read model from the temporary file. GltfDecoder decoder; DRACO_ASSIGN_OR_ASSERT(auto encoded, decoder.DecodeFromFileToScene(tmp_name)); ASSERT_NE(encoded, nullptr); @@ -1483,6 +1488,44 @@ TEST_F(GltfEncoderTest, EncodeToBuffer) { ASSERT_EQ(std::memcmp(file_data.data(), buffer.data(), buffer.size()), 0); } +TEST_F(GltfEncoderTest, CopyrightAssetIsEncoded) { + // Load scene from file. + const std::string file_name = "CesiumMilkTruck/glTF/CesiumMilkTruck.gltf"; + const std::unique_ptr scene = ReadSceneFromTestFile(file_name); + ASSERT_NE(scene, nullptr); + + std::array, 3> test_cases = { + {{"Google", "Google"}, {"", ""}, {"GMaps", ""}}}; + + for (const std::pair &test_case : test_cases) { + // Encode scene to buffer in GLB format. + GltfEncoder encoder; + encoder.set_copyright(test_case.first); + EncoderBuffer buffer; + DRACO_ASSERT_OK(encoder.EncodeToBuffer(*scene, &buffer)); + ASSERT_NE(buffer.size(), 0); + + const std::string glb_file_path = + draco::GetTestTempFileFullPath(test_case.first + "temp.glb"); + std::string folder_path; + std::string glb_file_name; + draco::SplitPath(glb_file_path, &folder_path, &glb_file_name); + encoder.set_copyright(test_case.second); + encoder.EncodeToFile(*scene, glb_file_path, folder_path); + + std::vector file_data; + ASSERT_TRUE(ReadFileToBuffer(glb_file_path, &file_data)); + if (test_case.first == test_case.second) { + ASSERT_EQ(buffer.size(), draco::GetFileSize(glb_file_path)) + << glb_file_path; + ASSERT_EQ(std::memcmp(file_data.data(), buffer.data(), buffer.size()), 0); + } else { + ASSERT_NE(buffer.size(), draco::GetFileSize(glb_file_path)) + << glb_file_path; + } + } +} + // Tests that a scene with lights can be encoded into a file. TEST_F(GltfEncoderTest, EncodeLights) { const std::string file_name = "sphere_lights.gltf"; @@ -1565,9 +1608,9 @@ TEST_F(GltfEncoderTest, EncodeMaterialsVariants) { // structural metadata property table. TEST_F(GltfEncoderTest, EncodeSceneWithMeshFeaturesWithStructuralMetadata) { const std::string file_name = "BoxMeta/glTF/BoxMeta.gltf"; - constexpr bool kHasMeshFeatures = true; - constexpr bool kHasStructuralMetadata = true; - constexpr bool kHasDracoCompression = false; + GltfTestHelper::UseCase use_case; + use_case.has_mesh_features = true; + use_case.has_structural_metadata = true; // Read test file from file. const std::unique_ptr scene(DecodeTestGltfFileToScene(file_name)); @@ -1577,18 +1620,17 @@ TEST_F(GltfEncoderTest, EncodeSceneWithMeshFeaturesWithStructuralMetadata) { std::unique_ptr scene_from_gltf; SceneToDecodedGltfScene(*scene, &scene_from_gltf); ASSERT_NE(scene_from_gltf, nullptr); - GltfTestHelper::CheckBoxMetaMeshFeatures(*scene_from_gltf, - kHasDracoCompression); - GltfTestHelper::CheckBoxMetaStructuralMetadata(*scene_from_gltf); + GltfTestHelper::CheckBoxMetaMeshFeatures(*scene_from_gltf, use_case); + GltfTestHelper::CheckBoxMetaStructuralMetadata(*scene_from_gltf, use_case); } // Tests encoding of draco::Scene with Draco compression to glTF with various // mesh feature ID sets. TEST_F(GltfEncoderTest, EncodeSceneWithMeshFeaturesWithDracoCompression) { const std::string file_name = "BoxMetaDraco/glTF/BoxMetaDraco.gltf"; - constexpr bool kHasMeshFeatures = true; - constexpr bool kHasStructuralMetadata = false; - constexpr bool kHasDracoCompression = true; + GltfTestHelper::UseCase use_case; + use_case.has_draco_compression = true; + use_case.has_mesh_features = true; // Read test file from file. const std::unique_ptr scene(DecodeTestGltfFileToScene(file_name)); @@ -1598,15 +1640,16 @@ TEST_F(GltfEncoderTest, EncodeSceneWithMeshFeaturesWithDracoCompression) { std::unique_ptr scene_from_gltf; SceneToDecodedGltfScene(*scene, &scene_from_gltf); ASSERT_NE(scene_from_gltf, nullptr); - GltfTestHelper::CheckBoxMetaMeshFeatures(*scene_from_gltf, - kHasDracoCompression); + GltfTestHelper::CheckBoxMetaMeshFeatures(*scene_from_gltf, use_case); } // Tests encoding of draco::Mesh to glTF with various mesh feature ID sets and // structural metadata property table. TEST_F(GltfEncoderTest, EncodeMeshWithMeshFeaturesWithStructuralMetadata) { const std::string file_name = "BoxMeta/glTF/BoxMeta.gltf"; - constexpr bool kHasDracoCompression = false; + GltfTestHelper::UseCase use_case; + use_case.has_mesh_features = true; + use_case.has_structural_metadata = true; // Read test file from file. const std::unique_ptr mesh(ReadMeshFromTestFile(file_name)); @@ -1616,16 +1659,17 @@ TEST_F(GltfEncoderTest, EncodeMeshWithMeshFeaturesWithStructuralMetadata) { std::unique_ptr mesh_from_gltf; MeshToDecodedGltfMesh(*mesh, &mesh_from_gltf); ASSERT_NE(mesh_from_gltf, nullptr); - GltfTestHelper::CheckBoxMetaMeshFeatures(*mesh_from_gltf, - kHasDracoCompression); - GltfTestHelper::CheckBoxMetaStructuralMetadata(*mesh_from_gltf); + GltfTestHelper::CheckBoxMetaMeshFeatures(*mesh_from_gltf, use_case); + GltfTestHelper::CheckBoxMetaStructuralMetadata(*mesh_from_gltf, use_case); } // Tests encoding of draco::Mesh with Draco compression to glTF with various // mesh feature ID sets. TEST_F(GltfEncoderTest, EncodeMeshWithMeshFeaturesWithDracoCompression) { - constexpr bool kHasDracoCompression = true; const std::string file_name = "BoxMetaDraco/glTF/BoxMetaDraco.gltf"; + GltfTestHelper::UseCase use_case; + use_case.has_draco_compression = true; + use_case.has_mesh_features = true; // Read test file from file. const std::unique_ptr mesh(ReadMeshFromTestFile(file_name)); @@ -1635,8 +1679,37 @@ TEST_F(GltfEncoderTest, EncodeMeshWithMeshFeaturesWithDracoCompression) { std::unique_ptr mesh_from_gltf; MeshToDecodedGltfMesh(*mesh, &mesh_from_gltf); ASSERT_NE(mesh_from_gltf, nullptr); - GltfTestHelper::CheckBoxMetaMeshFeatures(*mesh_from_gltf, - kHasDracoCompression); + GltfTestHelper::CheckBoxMetaMeshFeatures(*mesh_from_gltf, use_case); +} + +// This test verifies that b/245519530 is fixed. It loads mesh with various mesh +// feature ID sets, enables Draco compression, converts mesh to scene, and +// encodes the scene to glTF. +TEST_F(GltfEncoderTest, EncodeMeshWithMeshFeaturesWithDracoCompressionAsScene) { + // Note that although the mesh is loaded from file with no Draco compression, + // the compression is enabled later on. + const std::string file_name = "BoxMeta/glTF/BoxMeta.gltf"; + GltfTestHelper::UseCase use_case; + use_case.has_draco_compression = true; + use_case.has_mesh_features = true; + use_case.has_structural_metadata = true; + + // Read test file from file. + std::unique_ptr mesh(ReadMeshFromTestFile(file_name)); + ASSERT_NE(mesh, nullptr); + + // Enable Draco compression. + mesh->SetCompressionEnabled(use_case.has_draco_compression); + + // Convert mesh to scene. + std::unique_ptr scene = + draco::SceneUtils::MeshToScene(std::move(mesh)).value(); + + // Encode the scene to glTF and decode it back to draco::Scene and check. + std::unique_ptr scene_from_gltf; + SceneToDecodedGltfScene(*scene, &scene_from_gltf); + ASSERT_NE(scene_from_gltf, nullptr); + GltfTestHelper::CheckBoxMetaMeshFeatures(*scene_from_gltf, use_case); } // Tests encoding of draco::Mesh with mesh features associated with different @@ -1688,6 +1761,49 @@ TEST_F(GltfEncoderTest, EncodeMeshWithMeshFeaturesWithMultiplePrimitives) { ASSERT_EQ(scene_from_gltf->GetNonMaterialTextureLibrary().NumTextures(), 2); } +// Tests encoding of draco::Mesh with property attributes associated with +// different mesh primitives. +TEST_F(GltfEncoderTest, + EncodeMeshWithPropertyAttributesWithMultiplePrimitives) { + const std::string file_name = "BoxesMeta/glTF/BoxesMeta.gltf"; + + // Read test file from file. + const std::unique_ptr mesh(ReadMeshFromTestFile(file_name)); + ASSERT_NE(mesh, nullptr); + ASSERT_EQ(mesh->NumPropertyAttributesIndices(), 2); + + // Encode the scene to glTF and decode it back to draco::Mesh and check. + std::unique_ptr mesh_from_gltf; + MeshToDecodedGltfMesh(*mesh, &mesh_from_gltf); + ASSERT_NE(mesh_from_gltf, nullptr); + + ASSERT_EQ(mesh_from_gltf->GetMaterialLibrary().NumMaterials(), 2); + ASSERT_EQ(mesh_from_gltf->NumPropertyAttributesIndices(), 2); + + // First property attribute should be used by material 0 and the second by + // material 1. + ASSERT_EQ(mesh_from_gltf->NumPropertyAttributesIndexMaterialMasks(0), 1); + ASSERT_EQ(mesh_from_gltf->NumPropertyAttributesIndexMaterialMasks(1), 1); + ASSERT_EQ(mesh_from_gltf->GetPropertyAttributesIndexMaterialMask(0, 0), 0); + ASSERT_EQ(mesh_from_gltf->GetPropertyAttributesIndexMaterialMask(1, 0), 1); + + // Ensure it still works correctly when we re-encode the source |mesh| as a + // scene. + std::unique_ptr scene_from_gltf; + MeshToDecodedGltfScene(*mesh, &scene_from_gltf); + ASSERT_NE(scene_from_gltf, nullptr); + + ASSERT_EQ(scene_from_gltf->NumMeshes(), 2); + + // Both meshes should have one property attributes indices. + ASSERT_EQ(scene_from_gltf->GetMesh(draco::MeshIndex(0)) + .NumPropertyAttributesIndices(), + 1); + ASSERT_EQ(scene_from_gltf->GetMesh(draco::MeshIndex(1)) + .NumPropertyAttributesIndices(), + 1); +} + // Tests encoding of draco::Mesh containing a point cloud and two materials. TEST_F(GltfEncoderTest, EncodePointCloudWithMaterials) { const std::string file_name = diff --git a/src/draco/io/gltf_test_helper.cc b/src/draco/io/gltf_test_helper.cc index 13cce6f4..4e8ed868 100644 --- a/src/draco/io/gltf_test_helper.cc +++ b/src/draco/io/gltf_test_helper.cc @@ -20,8 +20,10 @@ #include #include +#include "draco/attributes/geometry_attribute.h" #include "draco/core/draco_test_base.h" #include "draco/core/draco_test_utils.h" +#include "draco/metadata/property_attribute.h" #include "draco/metadata/property_table.h" #include "draco/texture/texture_library.h" @@ -59,9 +61,6 @@ void GltfTestHelper::AddBoxMetaMeshFeatures(Scene *scene) { pa->SetAttributeValue(avi, &val); } const int att_id = mesh.AddPerFaceAttribute(std::move(pa)); - std::unique_ptr metadata(new AttributeMetadata()); - metadata->AddEntryString("attribute_name", "_FEATURE_ID_0"); - mesh.AddAttributeMetadata(att_id, std::move(metadata)); // Add feature ID set to the mesh. std::unique_ptr features(new MeshFeatures()); @@ -69,7 +68,7 @@ void GltfTestHelper::AddBoxMetaMeshFeatures(Scene *scene) { features->SetFeatureCount(num_faces); features->SetNullFeatureId(100); features->SetPropertyTableIndex(0); - features->SetAttributeIndex(0); + features->SetAttributeIndex(att_id); mesh.AddMeshFeatures(std::move(features)); } @@ -84,9 +83,6 @@ void GltfTestHelper::AddBoxMetaMeshFeatures(Scene *scene) { pa->SetAttributeValue(avi, &val); } const int att_id = mesh.AddPerVertexAttribute(std::move(pa)); - std::unique_ptr metadata(new AttributeMetadata()); - metadata->AddEntryString("attribute_name", "_FEATURE_ID_1"); - mesh.AddAttributeMetadata(att_id, std::move(metadata)); // Add feature ID set to the mesh. std::unique_ptr features(new MeshFeatures()); @@ -94,7 +90,7 @@ void GltfTestHelper::AddBoxMetaMeshFeatures(Scene *scene) { features->SetFeatureCount(num_vertices); features->SetNullFeatureId(101); features->SetPropertyTableIndex(1); - features->SetAttributeIndex(1); + features->SetAttributeIndex(att_id); mesh.AddMeshFeatures(std::move(features)); } @@ -113,14 +109,11 @@ void GltfTestHelper::AddBoxMetaMeshFeatures(Scene *scene) { } const int att_id = mesh.AddAttributeWithConnectivity(std::move(pa), corner_to_value); - std::unique_ptr metadata(new AttributeMetadata()); - metadata->AddEntryString("attribute_name", "_FEATURE_ID_2"); - mesh.AddAttributeMetadata(att_id, std::move(metadata)); // Add feature ID set to the mesh. std::unique_ptr features(new MeshFeatures()); features->SetFeatureCount(num_corners); - features->SetAttributeIndex(2); + features->SetAttributeIndex(att_id); mesh.AddMeshFeatures(std::move(features)); } @@ -163,7 +156,7 @@ void GltfTestHelper::AddBoxMetaMeshFeatures(Scene *scene) { } void GltfTestHelper::AddBoxMetaStructuralMetadata(Scene *scene) { - // Add structural metadata property table schema in the following JSON: + // Add structural metadata schema in the following JSON: // "schema": { // "id": "galaxy", // "classes": { @@ -181,11 +174,30 @@ void GltfTestHelper::AddBoxMetaStructuralMetadata(Scene *scene) { // "type": "STRING" // } // "sequence": { + // "componentType": "FLOAT32", // "description": "The number sequence.", // "required": false, // "type": "SCALAR" // } // } + // }, + // "movement": { + // "name": "The movement.", + // "description": "Vertex movement.", + // "properties": { + // "direction": { + // "description": "Movement direction.", + // "type": "VEC3", + // "componentType": "FLOAT32", + // "required": true + // }, + // "magnitude": { + // "description": "Movement magnitude.", + // "type": "SCALAR", + // "componentType": "FLOAT32", + // "required": true + // } + // } // } // }, // "enums": { @@ -201,35 +213,76 @@ void GltfTestHelper::AddBoxMetaStructuralMetadata(Scene *scene) { // ] // } // } - // } - typedef PropertyTable::Schema::Object Object; - PropertyTable::Schema schema; + // }, + // "propertyAttributes": [{ + // "name": "The movement.", + // "class": "movement", + // "properties": { + // "direction": { + // "attribute": "_DIRECTION", + // }, + // "magnitude": { + // "attribute": "_MAGNITUDE", + // } + // } + // }] + typedef StructuralMetadataSchema::Object Object; + StructuralMetadataSchema schema; Object &json = schema.json; json.SetObjects().emplace_back("id", "galaxy"); json.SetObjects().emplace_back("classes"); - json.SetObjects().back().SetObjects().emplace_back("planet"); - Object &planet = json.SetObjects().back().SetObjects().back(); - planet.SetObjects().emplace_back("properties"); - Object &properties = planet.SetObjects().back(); - - properties.SetObjects().emplace_back("color"); - Object &color = properties.SetObjects().back(); - color.SetObjects().emplace_back("componentType", "UINT8"); - color.SetObjects().emplace_back("description", "The RGB color."); - color.SetObjects().emplace_back("required", true); - color.SetObjects().emplace_back("type", "VEC3"); - - properties.SetObjects().emplace_back("name"); - Object &name = properties.SetObjects().back(); - name.SetObjects().emplace_back("description", "The name."); - name.SetObjects().emplace_back("required", true); - name.SetObjects().emplace_back("type", "STRING"); - - properties.SetObjects().emplace_back("sequence"); - Object &sequence = properties.SetObjects().back(); - sequence.SetObjects().emplace_back("description", "The number sequence."); - sequence.SetObjects().emplace_back("required", false); - sequence.SetObjects().emplace_back("type", "SCALAR"); + + // Add class "planet" to schema. + { + json.SetObjects().back().SetObjects().emplace_back("planet"); + Object &planet = json.SetObjects().back().SetObjects().back(); + planet.SetObjects().emplace_back("properties"); + Object &properties = planet.SetObjects().back(); + + properties.SetObjects().emplace_back("color"); + Object &color = properties.SetObjects().back(); + color.SetObjects().emplace_back("componentType", "UINT8"); + color.SetObjects().emplace_back("description", "The RGB color."); + color.SetObjects().emplace_back("required", true); + color.SetObjects().emplace_back("type", "VEC3"); + + properties.SetObjects().emplace_back("name"); + Object &name = properties.SetObjects().back(); + name.SetObjects().emplace_back("description", "The name."); + name.SetObjects().emplace_back("required", true); + name.SetObjects().emplace_back("type", "STRING"); + + properties.SetObjects().emplace_back("sequence"); + Object &sequence = properties.SetObjects().back(); + sequence.SetObjects().emplace_back("componentType", "FLOAT32"); + sequence.SetObjects().emplace_back("description", "The number sequence."); + sequence.SetObjects().emplace_back("required", false); + sequence.SetObjects().emplace_back("type", "SCALAR"); + } + + // Add class "movement" to schema. + { + json.SetObjects().back().SetObjects().emplace_back("movement"); + Object &movement = json.SetObjects().back().SetObjects().back(); + movement.SetObjects().emplace_back("name", "The movement."); + movement.SetObjects().emplace_back("description", "Vertex movement."); + movement.SetObjects().emplace_back("properties"); + Object &properties = movement.SetObjects().back(); + + properties.SetObjects().emplace_back("direction"); + Object &direction = properties.SetObjects().back(); + direction.SetObjects().emplace_back("componentType", "FLOAT32"); + direction.SetObjects().emplace_back("description", "Movement direction."); + direction.SetObjects().emplace_back("required", true); + direction.SetObjects().emplace_back("type", "VEC3"); + + properties.SetObjects().emplace_back("magnitude"); + Object &mag = properties.SetObjects().back(); + mag.SetObjects().emplace_back("componentType", "FLOAT32"); + mag.SetObjects().emplace_back("description", "Movement magnitude."); + mag.SetObjects().emplace_back("required", true); + mag.SetObjects().emplace_back("type", "SCALAR"); + } json.SetObjects().emplace_back("enums"); json.SetObjects().back().SetObjects().emplace_back("classifications"); @@ -260,8 +313,8 @@ void GltfTestHelper::AddBoxMetaStructuralMetadata(Scene *scene) { values.SetArray().back().SetObjects().emplace_back("name", "Ordnance"); values.SetArray().back().SetObjects().emplace_back("value", 4); - // Add property table schema to the scene. - scene->GetStructuralMetadata().SetPropertyTableSchema(schema); + // Add structural metadata schema to the scene. + scene->GetStructuralMetadata().SetSchema(schema); // Add structural metadata property table. std::unique_ptr table(new PropertyTable()); @@ -334,9 +387,9 @@ void GltfTestHelper::AddBoxMetaStructuralMetadata(Scene *scene) { 212, 0, 0, 0, // Mustafar 232, 0, 0, 0, // Bespin 250, 0, 0, 0, // Yavin - 12, 1, 0, 0, // Geonosis - 32, 1, 0, 0, // UNLABELED - 41, 1, 0, 0}; + 11, 1, 0, 0, // Geonosis + 31, 1, 0, 0, // UNLABELED + 40, 1, 0, 0}; table->AddProperty(std::move(property)); } @@ -391,36 +444,95 @@ void GltfTestHelper::AddBoxMetaStructuralMetadata(Scene *scene) { // Add property table to the scene. scene->GetStructuralMetadata().AddPropertyTable(std::move(table)); + + // Add structural metadata property attribute. + std::unique_ptr attribute(new PropertyAttribute()); + attribute->SetName("The movement."); + attribute->SetClass("movement"); + { + std::unique_ptr property( + new PropertyAttribute::Property()); + property->SetName("direction"); + property->SetAttributeName("_DIRECTION"); + attribute->AddProperty(std::move(property)); + } + { + std::unique_ptr property( + new PropertyAttribute::Property()); + property->SetName("magnitude"); + property->SetAttributeName("_MAGNITUDE"); + attribute->AddProperty(std::move(property)); + } + scene->GetStructuralMetadata().AddPropertyAttribute(std::move(attribute)); + + // Get mesh element counts. + Mesh &mesh = scene->GetMesh(MeshIndex(0)); + ASSERT_EQ(mesh.num_faces(), 12); + ASSERT_EQ(mesh.num_points(), 36); + const int num_vertices = + mesh.GetNamedAttribute(GeometryAttribute::POSITION)->size(); + + // Add per-vertex Float32 3D vector property attribute named _DIRECTION. + { + // Create property attribute. + constexpr DataType kType = DataType::DT_FLOAT32; + std::unique_ptr pa(new PointAttribute()); + pa->Init(GeometryAttribute::GENERIC, 3, kType, false, num_vertices); + for (AttributeValueIndex avi(0); avi < num_vertices; ++avi) { + const std::array val = { + avi.value() + 0.10f, avi.value() + 0.20f, avi.value() + 0.30f}; + pa->SetAttributeValue(avi, &val); + } + const int att_id = mesh.AddPerVertexAttribute(std::move(pa)); + mesh.attribute(att_id)->set_name("_DIRECTION"); + } + + // Add per-vertex Float32 scalar property attribute named _MAGNITUDE. + { + // Create property attribute. + constexpr DataType kType = DataType::DT_FLOAT32; + std::unique_ptr pa(new PointAttribute()); + pa->Init(GeometryAttribute::GENERIC, 1, kType, false, num_vertices); + for (AttributeValueIndex avi(0); avi < num_vertices; ++avi) { + const float val = avi.value(); + pa->SetAttributeValue(avi, &val); + } + const int att_id = mesh.AddPerVertexAttribute(std::move(pa)); + mesh.attribute(att_id)->set_name("_MAGNITUDE"); + } + + // Add property attribute to the mesh. + mesh.AddPropertyAttributesIndex(0); } template <> void GltfTestHelper::CheckBoxMetaMeshFeatures(const Mesh &geometry, - bool has_draco_compression) { + const UseCase &use_case) { CheckBoxMetaMeshFeatures(geometry, geometry.GetNonMaterialTextureLibrary(), - has_draco_compression); + use_case); } template <> void GltfTestHelper::CheckBoxMetaMeshFeatures(const Scene &geometry, - bool has_draco_compression) { + const UseCase &use_case) { ASSERT_EQ(geometry.NumMeshes(), 1); CheckBoxMetaMeshFeatures(geometry.GetMesh(MeshIndex(0)), - geometry.GetNonMaterialTextureLibrary(), - has_draco_compression); + geometry.GetNonMaterialTextureLibrary(), use_case); } void GltfTestHelper::CheckBoxMetaMeshFeatures(const Mesh &mesh, const TextureLibrary &texture_lib, - bool has_draco_compression) { + const UseCase &use_case) { // Check texture library. ASSERT_EQ(texture_lib.NumTextures(), 2); // Check basic mesh properties. ASSERT_EQ(mesh.NumMeshFeatures(), 5); ASSERT_EQ(mesh.num_faces(), 12); - ASSERT_EQ(mesh.num_attributes(), 7); + ASSERT_EQ(mesh.num_attributes(), use_case.has_structural_metadata ? 9 : 7); ASSERT_EQ(mesh.num_points(), 36); - ASSERT_EQ(mesh.NumNamedAttributes(GeometryAttribute::GENERIC), 3); + ASSERT_EQ(mesh.NumNamedAttributes(GeometryAttribute::GENERIC), + use_case.has_structural_metadata ? 5 : 3); ASSERT_EQ(mesh.NumNamedAttributes(GeometryAttribute::TEX_COORD), 2); // Get mesh element counts. @@ -437,15 +549,15 @@ void GltfTestHelper::CheckBoxMetaMeshFeatures(const Mesh &mesh, ASSERT_EQ(features.GetFeatureCount(), num_faces); ASSERT_EQ(features.GetNullFeatureId(), 100); ASSERT_EQ(features.GetPropertyTableIndex(), 0); - ASSERT_EQ(features.GetAttributeIndex(), 0); + ASSERT_EQ(features.GetAttributeIndex(), + use_case.has_structural_metadata ? 5 : 4); ASSERT_TRUE(features.GetTextureChannels().empty()); ASSERT_EQ(features.GetTextureMap().texture(), nullptr); ASSERT_EQ(features.GetTextureMap().tex_coord_index(), -1); // Check per-face Uint8 attribute named _FEATURE_ID_0. - const int att_id = - mesh.GetAttributeIdByMetadataEntry("attribute_name", "_FEATURE_ID_0"); - auto att = mesh.GetAttributeByUniqueId(att_id); + const int att_id = features.GetAttributeIndex(); + const auto att = mesh.attribute(att_id); ASSERT_NE(att, nullptr); ASSERT_EQ(att->attribute_type(), GeometryAttribute::GENERIC); ASSERT_EQ(att->data_type(), DataType::DT_UINT8); @@ -455,7 +567,7 @@ void GltfTestHelper::CheckBoxMetaMeshFeatures(const Mesh &mesh, // Check that the values are all the numbers from 0 to 12. const std::vector expected_values = - has_draco_compression + use_case.has_draco_compression ? std::vector{7, 11, 10, 3, 2, 5, 4, 1, 6, 9, 8, 0} : std::vector{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; for (int i = 0; i < num_faces; i++) { @@ -482,15 +594,15 @@ void GltfTestHelper::CheckBoxMetaMeshFeatures(const Mesh &mesh, ASSERT_EQ(features.GetFeatureCount(), num_vertices); ASSERT_EQ(features.GetNullFeatureId(), 101); ASSERT_EQ(features.GetPropertyTableIndex(), 1); - ASSERT_EQ(features.GetAttributeIndex(), 1); + ASSERT_EQ(features.GetAttributeIndex(), + use_case.has_structural_metadata ? 6 : 5); ASSERT_TRUE(features.GetTextureChannels().empty()); ASSERT_EQ(features.GetTextureMap().texture(), nullptr); ASSERT_EQ(features.GetTextureMap().tex_coord_index(), -1); // Check per-vertex Uint16 attribute named _FEATURE_ID_1. - const int att_id = - mesh.GetAttributeIdByMetadataEntry("attribute_name", "_FEATURE_ID_1"); - auto att = mesh.GetAttributeByUniqueId(att_id); + const int att_id = features.GetAttributeIndex(); + const auto att = mesh.attribute(att_id); ASSERT_NE(att, nullptr); ASSERT_EQ(att->attribute_type(), GeometryAttribute::GENERIC); ASSERT_EQ(att->data_type(), DataType::DT_UINT16); @@ -500,8 +612,9 @@ void GltfTestHelper::CheckBoxMetaMeshFeatures(const Mesh &mesh, // Check that the values are all the numbers from 0 to 7. const std::vector expected_values = - has_draco_compression ? std::vector{3, 6, 7, 4, 5, 0, 1, 2} - : std::vector{0, 1, 2, 3, 4, 5, 6, 7}; + use_case.has_draco_compression + ? std::vector{3, 6, 7, 4, 5, 0, 1, 2} + : std::vector{0, 1, 2, 3, 4, 5, 6, 7}; for (int i = 0; i < num_vertices; i++) { uint16_t val; att->GetValue(AttributeValueIndex(i), &val); @@ -528,15 +641,15 @@ void GltfTestHelper::CheckBoxMetaMeshFeatures(const Mesh &mesh, ASSERT_EQ(features.GetFeatureCount(), num_corners); ASSERT_EQ(features.GetNullFeatureId(), -1); ASSERT_EQ(features.GetPropertyTableIndex(), -1); - ASSERT_EQ(features.GetAttributeIndex(), 2); + ASSERT_EQ(features.GetAttributeIndex(), + use_case.has_structural_metadata ? 7 : 6); ASSERT_TRUE(features.GetTextureChannels().empty()); ASSERT_EQ(features.GetTextureMap().texture(), nullptr); ASSERT_EQ(features.GetTextureMap().tex_coord_index(), -1); // Check per-corner Float attribute named _FEATURE_ID_2. - const int att_id = - mesh.GetAttributeIdByMetadataEntry("attribute_name", "_FEATURE_ID_2"); - auto att = mesh.GetAttributeByUniqueId(att_id); + const int att_id = features.GetAttributeIndex(); + const auto att = mesh.attribute(att_id); ASSERT_NE(att, nullptr); ASSERT_EQ(att->attribute_type(), GeometryAttribute::GENERIC); ASSERT_EQ(att->data_type(), DataType::DT_FLOAT32); @@ -547,7 +660,7 @@ void GltfTestHelper::CheckBoxMetaMeshFeatures(const Mesh &mesh, // Check that the values are from 0 to 35. const std::vector expected_values = - has_draco_compression + use_case.has_draco_compression ? std::vector{23, 21, 22, 33, 34, 35, 31, 32, 30, 9, 10, 11, 7, 8, 6, 15, 16, 17, 14, 12, 13, 5, 3, 4, 19, 20, 18, 27, 28, 29, 26, 24, 25, 1, 2, 0} @@ -598,55 +711,104 @@ void GltfTestHelper::CheckBoxMetaMeshFeatures(const Mesh &mesh, } void GltfTestHelper::CheckBoxMetaStructuralMetadata( - const StructuralMetadata &structural_metadata) { - // Check property table schema. + const Mesh &mesh, const StructuralMetadata &structural_metadata, + const UseCase &use_case) { + // Check structural metadata schema. { - const PropertyTable::Schema &schema = - structural_metadata.GetPropertyTableSchema(); + const StructuralMetadataSchema &schema = structural_metadata.GetSchema(); ASSERT_FALSE(schema.Empty()); - const PropertyTable::Schema::Object &json = schema.json; + const StructuralMetadataSchema::Object &json = schema.json; ASSERT_EQ(json.GetObjects().size(), 3); ASSERT_EQ(json.GetObjects()[0].GetName(), "classes"); - ASSERT_EQ(json.GetObjects()[0].GetObjects().size(), 1); - ASSERT_EQ(json.GetObjects()[0].GetObjects()[0].GetName(), "planet"); - ASSERT_EQ(json.GetObjects()[0].GetObjects()[0].GetObjects().size(), 1); - - const auto &properties = - json.GetObjects()[0].GetObjects()[0].GetObjects()[0]; - ASSERT_EQ(properties.GetName(), "properties"); - ASSERT_EQ(properties.GetObjects().size(), 3); - - const auto &color = properties.GetObjects()[0]; - ASSERT_EQ(color.GetName(), "color"); - ASSERT_EQ(color.GetObjects().size(), 4); - ASSERT_EQ(color.GetObjects()[0].GetName(), "componentType"); - ASSERT_EQ(color.GetObjects()[1].GetName(), "description"); - ASSERT_EQ(color.GetObjects()[2].GetName(), "required"); - ASSERT_EQ(color.GetObjects()[3].GetName(), "type"); - ASSERT_EQ(color.GetObjects()[0].GetString(), "UINT8"); - ASSERT_EQ(color.GetObjects()[1].GetString(), "The RGB color."); - ASSERT_TRUE(color.GetObjects()[2].GetBoolean()); - ASSERT_EQ(color.GetObjects()[3].GetString(), "VEC3"); - - const auto &name = properties.GetObjects()[1]; - ASSERT_EQ(name.GetName(), "name"); - ASSERT_EQ(name.GetObjects().size(), 3); - ASSERT_EQ(name.GetObjects()[0].GetName(), "description"); - ASSERT_EQ(name.GetObjects()[1].GetName(), "required"); - ASSERT_EQ(name.GetObjects()[2].GetName(), "type"); - ASSERT_EQ(name.GetObjects()[0].GetString(), "The name."); - ASSERT_TRUE(name.GetObjects()[1].GetBoolean()); - ASSERT_EQ(name.GetObjects()[2].GetString(), "STRING"); - - const auto &sequence = properties.GetObjects()[2]; - ASSERT_EQ(sequence.GetName(), "sequence"); - ASSERT_EQ(sequence.GetObjects().size(), 3); - ASSERT_EQ(sequence.GetObjects()[0].GetName(), "description"); - ASSERT_EQ(sequence.GetObjects()[1].GetName(), "required"); - ASSERT_EQ(sequence.GetObjects()[2].GetName(), "type"); - ASSERT_EQ(sequence.GetObjects()[0].GetString(), "The number sequence."); - ASSERT_FALSE(sequence.GetObjects()[1].GetBoolean()); - ASSERT_EQ(sequence.GetObjects()[2].GetString(), "SCALAR"); + ASSERT_EQ(json.GetObjects()[0].GetObjects().size(), 2); + + // Check class "movement". + { + const auto item = json.GetObjects()[0].GetObjects()[0]; + ASSERT_EQ(item.GetName(), "movement"); + ASSERT_EQ(item.GetObjects().size(), 3); + + const auto &description = item.GetObjects()[0]; + ASSERT_EQ(description.GetName(), "description"); + ASSERT_EQ(description.GetString(), "Vertex movement."); + + const auto &name = item.GetObjects()[1]; + ASSERT_EQ(name.GetName(), "name"); + ASSERT_EQ(name.GetString(), "The movement."); + + const auto &properties = item.GetObjects()[2]; + ASSERT_EQ(properties.GetName(), "properties"); + ASSERT_EQ(properties.GetObjects().size(), 2); + + const auto &direction = properties.GetObjects()[0]; + ASSERT_EQ(direction.GetName(), "direction"); + ASSERT_EQ(direction.GetObjects().size(), 4); + ASSERT_EQ(direction.GetObjects()[0].GetName(), "componentType"); + ASSERT_EQ(direction.GetObjects()[1].GetName(), "description"); + ASSERT_EQ(direction.GetObjects()[2].GetName(), "required"); + ASSERT_EQ(direction.GetObjects()[3].GetName(), "type"); + ASSERT_EQ(direction.GetObjects()[0].GetString(), "FLOAT32"); + ASSERT_EQ(direction.GetObjects()[1].GetString(), "Movement direction."); + ASSERT_EQ(direction.GetObjects()[2].GetBoolean(), true); + ASSERT_EQ(direction.GetObjects()[3].GetString(), "VEC3"); + + const auto &mag = properties.GetObjects()[1]; + ASSERT_EQ(mag.GetName(), "magnitude"); + ASSERT_EQ(mag.GetObjects().size(), 4); + ASSERT_EQ(mag.GetObjects()[0].GetName(), "componentType"); + ASSERT_EQ(mag.GetObjects()[1].GetName(), "description"); + ASSERT_EQ(mag.GetObjects()[2].GetName(), "required"); + ASSERT_EQ(mag.GetObjects()[3].GetName(), "type"); + ASSERT_EQ(mag.GetObjects()[0].GetString(), "FLOAT32"); + ASSERT_EQ(mag.GetObjects()[1].GetString(), "Movement magnitude."); + ASSERT_EQ(mag.GetObjects()[2].GetBoolean(), true); + ASSERT_EQ(mag.GetObjects()[3].GetString(), "SCALAR"); + } + + // Check class "planet". + { + const auto item = json.GetObjects()[0].GetObjects()[1]; + ASSERT_EQ(item.GetName(), "planet"); + ASSERT_EQ(item.GetObjects().size(), 1); + + const auto &properties = item.GetObjects()[0]; + ASSERT_EQ(properties.GetName(), "properties"); + ASSERT_EQ(properties.GetObjects().size(), 3); + + const auto &color = properties.GetObjects()[0]; + ASSERT_EQ(color.GetName(), "color"); + ASSERT_EQ(color.GetObjects().size(), 4); + ASSERT_EQ(color.GetObjects()[0].GetName(), "componentType"); + ASSERT_EQ(color.GetObjects()[1].GetName(), "description"); + ASSERT_EQ(color.GetObjects()[2].GetName(), "required"); + ASSERT_EQ(color.GetObjects()[3].GetName(), "type"); + ASSERT_EQ(color.GetObjects()[0].GetString(), "UINT8"); + ASSERT_EQ(color.GetObjects()[1].GetString(), "The RGB color."); + ASSERT_TRUE(color.GetObjects()[2].GetBoolean()); + ASSERT_EQ(color.GetObjects()[3].GetString(), "VEC3"); + + const auto &name = properties.GetObjects()[1]; + ASSERT_EQ(name.GetName(), "name"); + ASSERT_EQ(name.GetObjects().size(), 3); + ASSERT_EQ(name.GetObjects()[0].GetName(), "description"); + ASSERT_EQ(name.GetObjects()[1].GetName(), "required"); + ASSERT_EQ(name.GetObjects()[2].GetName(), "type"); + ASSERT_EQ(name.GetObjects()[0].GetString(), "The name."); + ASSERT_TRUE(name.GetObjects()[1].GetBoolean()); + ASSERT_EQ(name.GetObjects()[2].GetString(), "STRING"); + + const auto &sequence = properties.GetObjects()[2]; + ASSERT_EQ(sequence.GetName(), "sequence"); + ASSERT_EQ(sequence.GetObjects().size(), 4); + ASSERT_EQ(sequence.GetObjects()[0].GetName(), "componentType"); + ASSERT_EQ(sequence.GetObjects()[1].GetName(), "description"); + ASSERT_EQ(sequence.GetObjects()[2].GetName(), "required"); + ASSERT_EQ(sequence.GetObjects()[3].GetName(), "type"); + ASSERT_EQ(sequence.GetObjects()[0].GetString(), "FLOAT32"); + ASSERT_EQ(sequence.GetObjects()[1].GetString(), "The number sequence."); + ASSERT_FALSE(sequence.GetObjects()[2].GetBoolean()); + ASSERT_EQ(sequence.GetObjects()[3].GetString(), "SCALAR"); + } ASSERT_EQ(json.GetObjects()[1].GetName(), "enums"); const auto &classifications = json.GetObjects()[1].GetObjects()[0]; @@ -736,11 +898,11 @@ void GltfTestHelper::CheckBoxMetaStructuralMetadata( ASSERT_EQ(offsets[1], 0); ASSERT_EQ(offsets[2], 0); ASSERT_EQ(offsets[3], 0); - ASSERT_EQ(offsets[60], 32); // UNLABELED 287. + ASSERT_EQ(offsets[60], 31); // UNLABELED 287. ASSERT_EQ(offsets[61], 1); ASSERT_EQ(offsets[62], 0); ASSERT_EQ(offsets[63], 0); - ASSERT_EQ(offsets[64], 41); // Beyond UNLABELED 296. + ASSERT_EQ(offsets[64], 40); // Beyond UNLABELED 296. ASSERT_EQ(offsets[65], 1); ASSERT_EQ(offsets[66], 0); ASSERT_EQ(offsets[67], 0); @@ -748,8 +910,8 @@ void GltfTestHelper::CheckBoxMetaStructuralMetadata( struct Name { static std::string Extract(const std::vector &data, const std::vector &offsets, int row) { - const int b = offsets[4 * (row + 0)] + 255 * offsets[4 * (row + 0) + 1]; - const int e = offsets[4 * (row + 1)] + 255 * offsets[4 * (row + 1) + 1]; + const int b = offsets[4 * (row + 0)] + 256 * offsets[4 * (row + 0) + 1]; + const int e = offsets[4 * (row + 1)] + 256 * offsets[4 * (row + 1) + 1]; return std::string(data.begin() + b, data.begin() + e); } }; @@ -757,6 +919,9 @@ void GltfTestHelper::CheckBoxMetaStructuralMetadata( // Check that the names can be extracted from the data. ASSERT_EQ(Name::Extract(data, offsets, 0), "named_class:Tatooine"); ASSERT_EQ(Name::Extract(data, offsets, 6), "named_class:Corellia"); + ASSERT_EQ(Name::Extract(data, offsets, 12), "named_class:Bespin"); + ASSERT_EQ(Name::Extract(data, offsets, 13), "named_class:Yavin"); + ASSERT_EQ(Name::Extract(data, offsets, 14), "named_class:Geonosis"); ASSERT_EQ(Name::Extract(data, offsets, 15), "UNLABELED"); ASSERT_TRUE(property.GetArrayOffsets().type.empty()); @@ -816,6 +981,101 @@ void GltfTestHelper::CheckBoxMetaStructuralMetadata( ASSERT_TRUE(property.GetStringOffsets().data.data.empty()); ASSERT_EQ(property.GetStringOffsets().data.target, 0); } + + // Check property attributes in structural metadata. + ASSERT_EQ(structural_metadata.NumPropertyAttributes(), 1); + { + const PropertyAttribute &attribute = + structural_metadata.GetPropertyAttribute(0); + ASSERT_EQ(attribute.GetName(), "The movement."); + ASSERT_EQ(attribute.GetClass(), "movement"); + ASSERT_EQ(attribute.NumProperties(), 2); + + const PropertyAttribute::Property &direction = attribute.GetProperty(0); + ASSERT_EQ(direction.GetName(), "direction"); + ASSERT_EQ(direction.GetAttributeName(), "_DIRECTION"); + + const PropertyAttribute::Property &magnitude = attribute.GetProperty(1); + ASSERT_EQ(magnitude.GetName(), "magnitude"); + ASSERT_EQ(magnitude.GetAttributeName(), "_MAGNITUDE"); + } + + // Check property attributes in the |mesh|. + ASSERT_EQ(mesh.NumPropertyAttributesIndices(), 1); + ASSERT_EQ(mesh.GetPropertyAttributesIndex(0), 0); + ASSERT_EQ(mesh.num_faces(), 12); + ASSERT_EQ(mesh.num_attributes(), 9); + ASSERT_EQ(mesh.num_points(), 36); + ASSERT_EQ(mesh.NumNamedAttributes(GeometryAttribute::GENERIC), 5); + + // Get mesh element counts. + const int num_corners = 3 * mesh.num_faces(); + const int num_vertices = + mesh.GetNamedAttribute(GeometryAttribute::POSITION)->size(); + + // Check property attribute named _DIRECTION. + { + const auto att = + mesh.GetNamedAttributeByName(GeometryAttribute::GENERIC, "_DIRECTION"); + ASSERT_NE(att, nullptr); + ASSERT_EQ(att->attribute_type(), GeometryAttribute::GENERIC); + ASSERT_EQ(att->data_type(), DataType::DT_FLOAT32); + ASSERT_EQ(att->num_components(), 3); + ASSERT_EQ(att->size(), num_vertices); + ASSERT_EQ(att->indices_map_size(), num_corners); + + // Check attribute values. + // clang-format off + const std::vector expected_values = + use_case.has_draco_compression + ? std::vector{3.1f, 3.2f, 3.3f, + 6.1f, 6.2f, 6.3f, + 7.1f, 7.2f, 7.3f, + 4.1f, 4.2f, 4.3f, + 5.1f, 5.2f, 5.3f, + 0.1f, 0.2f, 0.3f, + 1.1f, 1.2f, 1.3f, + 2.1f, 2.2f, 2.3f} + : std::vector{0.1f, 0.2f, 0.3f, + 1.1f, 1.2f, 1.3f, + 2.1f, 2.2f, 2.3f, + 3.1f, 3.2f, 3.3f, + 4.1f, 4.2f, 4.3f, + 5.1f, 5.2f, 5.3f, + 6.1f, 6.2f, 6.3f, + 7.1f, 7.2f, 7.3f}; + // clang-format on + for (int i = 0; i < num_vertices; i++) { + std::array val; + att->GetValue(AttributeValueIndex(i), &val); + ASSERT_EQ(val[0], expected_values[3 * i + 0]); + ASSERT_EQ(val[1], expected_values[3 * i + 1]); + ASSERT_EQ(val[2], expected_values[3 * i + 2]); + } + } + + // Check property attribute named _MAGNITUDE. + { + const auto att = + mesh.GetNamedAttributeByName(GeometryAttribute::GENERIC, "_MAGNITUDE"); + ASSERT_NE(att, nullptr); + ASSERT_EQ(att->attribute_type(), GeometryAttribute::GENERIC); + ASSERT_EQ(att->data_type(), DataType::DT_FLOAT32); + ASSERT_EQ(att->num_components(), 1); + ASSERT_EQ(att->size(), num_vertices); + ASSERT_EQ(att->indices_map_size(), num_corners); + + // Check attribute values. + const std::vector expected_values = + use_case.has_draco_compression + ? std::vector{3.f, 6.f, 7.f, 4.f, 5.f, 0.f, 1.f, 2.f} + : std::vector{0.f, 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f}; + for (int i = 0; i < num_vertices; i++) { + float val; + att->GetValue(AttributeValueIndex(i), &val); + ASSERT_EQ(val, expected_values[i]); + } + } } #endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/io/gltf_test_helper.h b/src/draco/io/gltf_test_helper.h index 91aec9b0..1d56418a 100644 --- a/src/draco/io/gltf_test_helper.h +++ b/src/draco/io/gltf_test_helper.h @@ -25,9 +25,15 @@ namespace draco { // Helper class for testing Draco glTF encoder and decoder. class GltfTestHelper { public: - // Adds various mesh feature ID sets (via attributes and via textures) and - // structural metadata property table and property table schema to the box - // |scene| loaded from the test file testdata/Box/glTF/Box.gltf. + struct UseCase { + bool has_draco_compression = false; + bool has_mesh_features = false; + bool has_structural_metadata = false; + }; + + // Adds various mesh feature ID sets (via attributes and via textures), + // structural metadata schema, property table, and property attributes to the + // box |scene| loaded from the test file testdata/Box/glTF/Box.gltf. static void AddBoxMetaMeshFeatures(Scene *scene); static void AddBoxMetaStructuralMetadata(Scene *scene); @@ -37,22 +43,31 @@ class GltfTestHelper { // 2. testdata/BoxMetaDraco/glTF/BoxMetaDraco.gltf template static void CheckBoxMetaMeshFeatures(const GeometryT &geometry, - bool has_draco_compression); + const UseCase &use_case); // Checks the box |geometry| (draco::Mesh or draco::Scene) with structural - // metadata that includes property table and property table schema loaded from - // test file testdata/BoxMeta/glTF/BoxMeta.gltf. + // metadata that includes schema, property table, and property attributes + // loaded from test file testdata/BoxMeta/glTF/BoxMeta.gltf. template - static void CheckBoxMetaStructuralMetadata(const GeometryT &geometry) { - CheckBoxMetaStructuralMetadata(geometry.GetStructuralMetadata()); + static void CheckBoxMetaStructuralMetadata(const GeometryT &geometry, + const UseCase &use_case) { + if constexpr (std::is_same_v) { + CheckBoxMetaStructuralMetadata(geometry, geometry.GetStructuralMetadata(), + use_case); + } else { + CheckBoxMetaStructuralMetadata(geometry.GetMesh(MeshIndex(0)), + geometry.GetStructuralMetadata(), + use_case); + } } private: static void CheckBoxMetaMeshFeatures(const Mesh &mesh, const TextureLibrary &texture_lib, - bool has_draco_compression); + const UseCase &use_case); static void CheckBoxMetaStructuralMetadata( - const StructuralMetadata &structural_metadata); + const Mesh &mesh, const StructuralMetadata &structural_metadata, + const UseCase &use_case); }; } // namespace draco diff --git a/src/draco/io/gltf_utils.cc b/src/draco/io/gltf_utils.cc index bf5c048e..95e89c90 100644 --- a/src/draco/io/gltf_utils.cc +++ b/src/draco/io/gltf_utils.cc @@ -79,6 +79,12 @@ void JsonWriter::EndObject() { o_ << indent_ << "}"; } +void JsonWriter::BeginArray() { + FinishPreviousLine(BEGIN); + o_ << indent_ << "["; + indent_writer_.Increase(); +} + void JsonWriter::BeginArray(const std::string &name) { FinishPreviousLine(BEGIN); o_ << indent_ << "\"" << name << "\":" << separator_ << "["; diff --git a/src/draco/io/gltf_utils.h b/src/draco/io/gltf_utils.h index 2cf12fdc..befbacbb 100644 --- a/src/draco/io/gltf_utils.h +++ b/src/draco/io/gltf_utils.h @@ -90,6 +90,7 @@ class JsonWriter { void EndObject(); // Every call to BeginArray should have a matching call to EndArray. + void BeginArray(); void BeginArray(const std::string &name); void EndArray(); diff --git a/src/draco/io/gltf_utils_test.cc b/src/draco/io/gltf_utils_test.cc index 01a2d144..a5a0c75b 100644 --- a/src/draco/io/gltf_utils_test.cc +++ b/src/draco/io/gltf_utils_test.cc @@ -216,6 +216,13 @@ TEST_F(GltfUtilsTest, TestArrays) { json_writer.EndArray(); json_writer.EndArray(); CompareGolden(&json_writer, "\"array1\": [\n \"array2\": [\n ]\n]"); + + json_writer.Reset(); + json_writer.BeginArray("array1"); + json_writer.BeginArray(); + json_writer.EndArray(); + json_writer.EndArray(); + CompareGolden(&json_writer, "\"array1\": [\n [\n ]\n]"); } TEST_F(GltfUtilsTest, TestGltfValues) { @@ -359,6 +366,13 @@ TEST_F(GltfUtilsTest, TestArraysCompact) { json_writer.EndArray(); json_writer.EndArray(); CompareGolden(&json_writer, "\"array1\":[\"array2\":[]]"); + + json_writer.Reset(); + json_writer.BeginArray("array1"); + json_writer.BeginArray(); + json_writer.EndArray(); + json_writer.EndArray(); + CompareGolden(&json_writer, "\"array1\":[[]]"); } } // namespace draco diff --git a/src/draco/io/image_compression_options.h b/src/draco/io/image_compression_options.h index 722bdbd6..d29f969a 100644 --- a/src/draco/io/image_compression_options.h +++ b/src/draco/io/image_compression_options.h @@ -23,7 +23,13 @@ namespace draco { // Enum defining image compression formats. -enum class ImageFormat { NONE, PNG, JPEG, BASIS, WEBP }; +enum class ImageFormat { + NONE, + PNG, + JPEG, + BASIS, + WEBP, +}; } // namespace draco diff --git a/src/draco/io/obj_decoder.cc b/src/draco/io/obj_decoder.cc index c233c2b5..15ef51c4 100644 --- a/src/draco/io/obj_decoder.cc +++ b/src/draco/io/obj_decoder.cc @@ -541,7 +541,7 @@ bool ObjDecoder::ParseMaterial(Status * /* status */) { parser::SkipWhitespace(&line_buffer); std::string mat_name; parser::ParseLine(&line_buffer, &mat_name); - if (mat_name.length() == 0) { + if (mat_name.empty()) { return false; } auto it = material_name_to_id_.find(mat_name); @@ -572,7 +572,7 @@ bool ObjDecoder::ParseObject(Status *status) { if (!parser::ParseString(&line_buffer, &obj_name)) { return false; } - if (obj_name.length() == 0) { + if (obj_name.empty()) { return true; // Ignore empty name entries. } auto it = obj_name_to_id_.find(obj_name); diff --git a/src/draco/io/obj_encoder.cc b/src/draco/io/obj_encoder.cc index 1ddfd92b..70156fc4 100644 --- a/src/draco/io/obj_encoder.cc +++ b/src/draco/io/obj_encoder.cc @@ -407,7 +407,8 @@ bool ObjEncoder::EncodeFaceCorner(PointIndex vert_index) { } void ObjEncoder::EncodeFloat(float val) { - snprintf(num_buffer_, sizeof(num_buffer_), "%f", val); + // Use %F instead of %f to make the floating point non-locale aware. + snprintf(num_buffer_, sizeof(num_buffer_), "%F", val); buffer()->Encode(num_buffer_, strlen(num_buffer_)); } diff --git a/src/draco/io/ply_decoder.cc b/src/draco/io/ply_decoder.cc index b78c0569..bd937536 100644 --- a/src/draco/io/ply_decoder.cc +++ b/src/draco/io/ply_decoder.cc @@ -94,7 +94,7 @@ Status PlyDecoder::DecodeInternal() { Status PlyDecoder::DecodeFaceData(const PlyElement *face_element) { // We accept point clouds now. if (face_element == nullptr) { - return Status(Status::INVALID_PARAMETER, "face_element is null"); + return OkStatus(); } const PlyProperty *vertex_indices = face_element->GetPropertyByName("vertex_indices"); diff --git a/src/draco/io/ply_decoder_test.cc b/src/draco/io/ply_decoder_test.cc index 1dd70d5c..9a08252c 100644 --- a/src/draco/io/ply_decoder_test.cc +++ b/src/draco/io/ply_decoder_test.cc @@ -36,14 +36,11 @@ class PlyDecoderTest : public ::testing::Test { void test_decoding(const std::string &file_name, int num_faces, uint32_t num_points, std::unique_ptr *out_mesh) { - // Don't test mesh decoding when the input is point cloud. - if (num_faces > 0) { - std::unique_ptr mesh(DecodePly(file_name)); - ASSERT_NE(mesh, nullptr) << "Failed to load test model " << file_name; - ASSERT_EQ(mesh->num_faces(), num_faces); - if (out_mesh) { - *out_mesh = std::move(mesh); - } + std::unique_ptr mesh(DecodePly(file_name)); + ASSERT_NE(mesh, nullptr) << "Failed to load test model " << file_name; + ASSERT_EQ(mesh->num_faces(), num_faces); + if (out_mesh) { + *out_mesh = std::move(mesh); } const std::unique_ptr pc(DecodePly(file_name)); diff --git a/src/draco/io/stl_encoder_test.cc b/src/draco/io/stl_encoder_test.cc index da6298d6..adca5541 100644 --- a/src/draco/io/stl_encoder_test.cc +++ b/src/draco/io/stl_encoder_test.cc @@ -32,8 +32,15 @@ class StlEncoderTest : public ::testing::Test { ASSERT_EQ(mesh0->num_faces(), mesh1->num_faces()); ASSERT_EQ(mesh0->num_attributes(), mesh1->num_attributes()); for (size_t att_id = 0; att_id < mesh0->num_attributes(); ++att_id) { - ASSERT_EQ(mesh0->attribute(att_id)->size(), - mesh1->attribute(att_id)->size()); + ASSERT_EQ(mesh0->attribute(att_id)->attribute_type(), + mesh1->attribute(att_id)->attribute_type()); + // Normals are recomputed during STL encoding and they may not + // correspond to the source ones. + if (mesh0->attribute(att_id)->attribute_type() != + GeometryAttribute::NORMAL) { + ASSERT_EQ(mesh0->attribute(att_id)->size(), + mesh1->attribute(att_id)->size()); + } } } diff --git a/src/draco/io/texture_io.cc b/src/draco/io/texture_io.cc index cbe2915b..c0a84eac 100644 --- a/src/draco/io/texture_io.cc +++ b/src/draco/io/texture_io.cc @@ -16,7 +16,11 @@ #ifdef DRACO_TRANSCODER_SUPPORTED +#include +#include + #include "draco/io/file_utils.h" +#include "draco/texture/texture_utils.h" namespace draco { @@ -25,12 +29,74 @@ namespace { StatusOr> CreateDracoTextureInternal( const std::vector &image_data, SourceImage *out_source_image) { std::unique_ptr draco_texture(new Texture()); + const auto format = + ImageFormatFromBuffer(image_data.data(), image_data.size()); out_source_image->MutableEncodedData() = image_data; + out_source_image->set_mime_type(TextureUtils::GetMimeType(format)); return std::move(draco_texture); } } // namespace +ImageFormat ImageFormatFromBuffer(const uint8_t *buffer, size_t buffer_size) { + if (buffer_size > 4) { + // These bytes are the Start of Image (SOI) and End of Image (EOI) markers + // in a JPEG data stream. + const std::array kJpegSOIMarker = {0xFF, 0xD8}; + const std::array kJpegEOIMarker = {0xFF, 0xD9}; + + if (!memcmp(buffer, kJpegSOIMarker.data(), kJpegSOIMarker.size())) { + // Look for the last occurence of the end marker (allow trailing bytes). + if (std::find_end(buffer, buffer + buffer_size, kJpegEOIMarker.begin(), + kJpegEOIMarker.end()) != buffer + buffer_size) { + return ImageFormat::JPEG; + } + } + } + + if (buffer_size > 2) { + // For Binomial Basis format input the stream always begins with + // the signature 'B' * 256 + 's', or 0x4273. + const std::array kBasisSignature = {0x42, 0x73}; + if (!memcmp(buffer, kBasisSignature.data(), kBasisSignature.size())) { + return ImageFormat::BASIS; + } + } + + if (buffer_size > 4) { + // For Binomial Basis/KTX2 format input the stream begins with 0xab 0x4b + // 0x54 0x58. + const std::array kKtx2Signature = {0xab, 0x4b, 0x54, 0x58}; + if (!memcmp(buffer, kKtx2Signature.data(), kKtx2Signature.size())) { + return ImageFormat::BASIS; + } + } + + if (buffer_size > 8) { + // The first eight bytes of a PNG stream always contain these values: + const std::array kPngSignature = {0x89, 0x50, 0x4e, 0x47, + 0x0d, 0x0a, 0x1a, 0x0a}; + if (!memcmp(buffer, kPngSignature.data(), kPngSignature.size())) { + return ImageFormat::PNG; + } + } + + if (buffer_size > 12) { + // The WebP signature bytes are: RIFF 0 0 0 0 WEBP. The 0's are where WebP + // size information is encoded in the stream, but the check here just looks + // for RIFF and WEBP. + const std::array kRIFF = {0x52, 0x49, 0x46, 0x46}; + const std::array kWEBP = {0x57, 0x45, 0x42, 0x50}; + + if (!memcmp(buffer, kRIFF.data(), kRIFF.size()) && + !memcmp(buffer + 8, kWEBP.data(), kWEBP.size())) { + return ImageFormat::WEBP; + } + } + + return ImageFormat::NONE; +} + StatusOr> ReadTextureFromFile( const std::string &file_name) { std::vector image_data; @@ -42,25 +108,33 @@ StatusOr> ReadTextureFromFile( DRACO_ASSIGN_OR_RETURN(auto texture, CreateDracoTextureInternal(image_data, &source_image)); source_image.set_filename(file_name); - const std::string extension = LowercaseFileExtension(file_name); - const std::string mime_type = - "image/" + (extension == "jpg" ? "jpeg" : extension); - source_image.set_mime_type(mime_type); + if (source_image.mime_type().empty()) { + // Try to set mime type from extension if we were not able to detect it + // automatically. + const std::string extension = LowercaseFileExtension(file_name); + const std::string mime_type = + "image/" + (extension == "jpg" ? "jpeg" : extension); + source_image.set_mime_type(mime_type); + } texture->set_source_image(source_image); return texture; } -StatusOr> ReadTextureFromBuffer( - const uint8_t *buffer, size_t buffer_size, const std::string &mime_type) { +StatusOr> ReadTextureFromBuffer(const uint8_t *buffer, + size_t buffer_size) { SourceImage source_image; std::vector image_data(buffer, buffer + buffer_size); DRACO_ASSIGN_OR_RETURN(auto texture, CreateDracoTextureInternal(image_data, &source_image)); - source_image.set_mime_type(mime_type); texture->set_source_image(source_image); return texture; } +StatusOr> ReadTextureFromBuffer( + const uint8_t *buffer, size_t buffer_size, const std::string &mime_type) { + return ReadTextureFromBuffer(buffer, buffer_size); +} + Status WriteTextureToFile(const std::string &file_name, const Texture &texture) { std::vector buffer; diff --git a/src/draco/io/texture_io.h b/src/draco/io/texture_io.h index 4dbea755..643e4dee 100644 --- a/src/draco/io/texture_io.h +++ b/src/draco/io/texture_io.h @@ -19,6 +19,8 @@ #ifdef DRACO_TRANSCODER_SUPPORTED #include +#include +#include #include "draco/core/draco_types.h" #include "draco/core/status_or.h" @@ -32,10 +34,10 @@ StatusOr> ReadTextureFromFile( const std::string &file_name); // Same as ReadTextureFromFile() but the texture data is parsed from a |buffer|. -// |mime_type| should be set to a type of the texture encoded in |buffer|. -// Supported mime types are "image/jpeg", "image/png" and "image/webp". -// TODO(ostava): We should be able to get the mime type directly from the -// |buffer| but our image decoding library doesn't support this at this time. +StatusOr> ReadTextureFromBuffer(const uint8_t *buffer, + size_t buffer_size); +// Deprecated: |mime_type| is currently ignored and it is deducted automatically +// from the content of the |buffer|. StatusOr> ReadTextureFromBuffer( const uint8_t *buffer, size_t buffer_size, const std::string &mime_type); @@ -50,6 +52,10 @@ Status WriteTextureToFile(const std::string &file_name, const Texture &texture); Status WriteTextureToBuffer(const Texture &texture, std::vector *buffer); +// Returns the image format of an encoded texture stored in |buffer|. +// ImageFormat::NONE is returned for unknown image formats. +ImageFormat ImageFormatFromBuffer(const uint8_t *buffer, size_t buffer_size); + } // namespace draco #endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/io/texture_io_test.cc b/src/draco/io/texture_io_test.cc index 13f36e44..0f724664 100644 --- a/src/draco/io/texture_io_test.cc +++ b/src/draco/io/texture_io_test.cc @@ -15,6 +15,7 @@ #include "draco/io/texture_io.h" #ifdef DRACO_TRANSCODER_SUPPORTED +#include #include #include #include @@ -50,6 +51,29 @@ TEST(TextureIoTest, TestLoadFromBuffer) { } } +// Tests that we can set mime type correctly even when the source file had +// an incorrect extension. +TEST(TextureIoTest, TestWrongExtension) { + const std::string file_name = draco::GetTestFileFullPath("this_is_png.jpg"); + + DRACO_ASSIGN_OR_ASSERT(std::unique_ptr texture, + draco::ReadTextureFromFile(file_name)); + ASSERT_NE(texture, nullptr); + + // Ensure the mime type was set to png even though the file extension was jpg. + ASSERT_EQ(texture->source_image().mime_type(), "image/png"); +} + +// Tests that we can load jpeg files that have some trailing bytes after the +// jpeg end marker. +TEST(TextureIoTest, TestTrailingJpegBytes) { + const std::string file_name = draco::GetTestFileFullPath("trailing_zero.jpg"); + + DRACO_ASSIGN_OR_ASSERT(std::unique_ptr texture, + draco::ReadTextureFromFile(file_name)); + ASSERT_NE(texture, nullptr); +} + } // namespace #endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/javascript/emscripten/draco_web_encoder.idl b/src/draco/javascript/emscripten/draco_web_encoder.idl index d3261b18..58d6f6ac 100644 --- a/src/draco/javascript/emscripten/draco_web_encoder.idl +++ b/src/draco/javascript/emscripten/draco_web_encoder.idl @@ -115,6 +115,8 @@ interface PointCloudBuilder { boolean AddMetadata(PointCloud pc, [Const] Metadata metadata); boolean SetMetadataForAttribute(PointCloud pc, long attribute_id, [Const] Metadata metadata); + boolean SetNormalizedFlagForAttribute(PointCloud pc, long attribute_id, + boolean normalized); }; interface MeshBuilder : PointCloudBuilder { @@ -159,6 +161,8 @@ interface MeshBuilder : PointCloudBuilder { boolean AddMetadata(PointCloud pc, [Const] Metadata metadata); boolean SetMetadataForAttribute(PointCloud pc, long attribute_id, [Const] Metadata metadata); + boolean SetNormalizedFlagForAttribute(PointCloud pc, long attribute_id, + boolean normalized); }; interface Encoder { diff --git a/src/draco/javascript/emscripten/encoder_webidl_wrapper.cc b/src/draco/javascript/emscripten/encoder_webidl_wrapper.cc index 0a1ff7cd..f8b77b92 100644 --- a/src/draco/javascript/emscripten/encoder_webidl_wrapper.cc +++ b/src/draco/javascript/emscripten/encoder_webidl_wrapper.cc @@ -179,6 +179,19 @@ bool PointCloudBuilder::SetMetadataForAttribute(PointCloud *pc, return true; } +bool PointCloudBuilder::SetNormalizedFlagForAttribute(draco::PointCloud *pc, + long attribute_id, + bool normalized) { + if (!pc) { + return false; + } + if (attribute_id < 0 || attribute_id >= pc->num_attributes()) { + return false; + } + pc->attribute(attribute_id)->set_normalized(normalized); + return true; +} + MeshBuilder::MeshBuilder() {} bool MeshBuilder::AddFacesToMesh(Mesh *mesh, long num_faces, const int *faces) { diff --git a/src/draco/javascript/emscripten/encoder_webidl_wrapper.h b/src/draco/javascript/emscripten/encoder_webidl_wrapper.h index b1cce799..c09fa6c2 100644 --- a/src/draco/javascript/emscripten/encoder_webidl_wrapper.h +++ b/src/draco/javascript/emscripten/encoder_webidl_wrapper.h @@ -81,6 +81,8 @@ class PointCloudBuilder { bool SetMetadataForAttribute(draco::PointCloud *pc, long attribute_id, const draco::Metadata *metadata); bool AddMetadata(draco::PointCloud *pc, const draco::Metadata *metadata); + bool SetNormalizedFlagForAttribute(draco::PointCloud *pc, long attribute_id, + bool normalized); private: template diff --git a/src/draco/mesh/mesh.cc b/src/draco/mesh/mesh.cc index b287ecb4..086c34d4 100644 --- a/src/draco/mesh/mesh.cc +++ b/src/draco/mesh/mesh.cc @@ -26,11 +26,7 @@ namespace draco { template using conditional_t = typename std::conditional::type; -#ifdef DRACO_TRANSCODER_SUPPORTED -Mesh::Mesh() : compression_enabled_(false) {} -#else Mesh::Mesh() {} -#endif #ifdef DRACO_TRANSCODER_SUPPORTED void Mesh::Copy(const Mesh &src) { @@ -39,8 +35,6 @@ void Mesh::Copy(const Mesh &src) { faces_ = src.faces_; attribute_data_ = src.attribute_data_; material_library_.Copy(src.material_library_); - compression_enabled_ = src.compression_enabled_; - compression_options_ = src.compression_options_; // Copy mesh feature ID sets. mesh_features_.clear(); @@ -67,6 +61,8 @@ void Mesh::Copy(const Mesh &src) { // Copy structural metadata. structural_metadata_.Copy(src.structural_metadata_); + property_attributes_ = src.property_attributes_; + property_attributes_material_mask_ = src.property_attributes_material_mask_; } namespace { @@ -338,6 +334,22 @@ void Mesh::RemoveUnusedMaterials(bool remove_unused_material_indices) { } } + // Check if any of the (unused) materials is used by property attributes + // indices. If so, user should remove unused property attributes indices + // first. + for (int i = 0; i < NumPropertyAttributesIndices(); ++i) { + for (int mask_index = 0; + mask_index < NumPropertyAttributesIndexMaterialMasks(i); + ++mask_index) { + const int mat_index = + GetPropertyAttributesIndexMaterialMask(i, mask_index); + if (mat_index < num_materials && !is_material_used[mat_index]) { + is_material_used[mat_index] = true; + num_used_materials++; + } + } + } + if (num_used_materials == num_materials) { return; // All materials are used, don't do anything. } @@ -408,6 +420,30 @@ void Mesh::RemoveUnusedMaterials(bool remove_unused_material_indices) { } } } + + // Update material indices on property attributes incices. + for (int i = 0; i < NumPropertyAttributesIndices(); ++i) { + for (int mask_index = 0; + mask_index < NumPropertyAttributesIndexMaterialMasks(i); + ++mask_index) { + const int old_mat_index = + GetPropertyAttributesIndexMaterialMask(i, mask_index); + if (old_mat_index < num_materials && is_material_used[old_mat_index]) { + property_attributes_material_mask_[i][mask_index] = + old_to_new_material_index_map[old_mat_index]; + } + } + } +} + +bool Mesh::IsAttributeUsedByMeshFeatures(int att_id) const { + for (MeshFeaturesIndex mfi(0); mfi < NumMeshFeatures(); ++mfi) { + const auto &mf = GetMeshFeatures(mfi); + if (mf.GetAttributeIndex() == att_id) { + return true; + } + } + return false; } void Mesh::UpdateMeshFeaturesTexturePointer( @@ -448,6 +484,43 @@ void Mesh::CopyMeshFeaturesForMaterial(const Mesh &source_mesh, } } +void Mesh::CopyPropertyAttributesIndicesForMaterial(const Mesh &source_mesh, + Mesh *target_mesh, + int material_index) { + for (int i = 0; i < source_mesh.NumPropertyAttributesIndices(); ++i) { + // Property attributes index is used if it doesn't have any material mask or + // if one of the material masks matches |material_index|. + bool is_used = source_mesh.NumPropertyAttributesIndexMaterialMasks(i) == 0; + for (int mask_index = 0; + !is_used && + mask_index < source_mesh.NumPropertyAttributesIndexMaterialMasks(i); + ++mask_index) { + if (source_mesh.GetPropertyAttributesIndexMaterialMask(i, mask_index) == + material_index) { + is_used = true; + } + } + if (is_used) { + // Copy over the property attributes index to the target mesh. + target_mesh->AddPropertyAttributesIndex( + source_mesh.GetPropertyAttributesIndex(i)); + } + } +} + +void Mesh::UpdateMeshFeaturesAfterDeletedAttribute(int att_id) { + for (MeshFeaturesIndex mfi(0); mfi < NumMeshFeatures(); ++mfi) { + auto &mf = GetMeshFeatures(mfi); + if (mf.GetAttributeIndex() == att_id) { + // Mesh features is no longer associated with a vertex attribute. + mf.SetAttributeIndex(-1); + } else if (mf.GetAttributeIndex() > att_id) { + // Attribute index decremented by one. + mf.SetAttributeIndex(mf.GetAttributeIndex() - 1); + } + } +} + int32_t Mesh::AddPerFaceAttribute(std::unique_ptr att) { IndexTypeVector corner_map(num_faces() * 3); for (CornerIndex ci(0); ci < num_faces() * 3; ++ci) { diff --git a/src/draco/mesh/mesh.h b/src/draco/mesh/mesh.h index 652c2c01..f49ffbdf 100644 --- a/src/draco/mesh/mesh.h +++ b/src/draco/mesh/mesh.h @@ -24,7 +24,6 @@ #include "draco/core/status.h" #include "draco/draco_features.h" #ifdef DRACO_TRANSCODER_SUPPORTED -#include "draco/compression/draco_compression_options.h" #include "draco/material/material_library.h" #include "draco/mesh/mesh_features.h" #include "draco/mesh/mesh_indices.h" @@ -94,6 +93,9 @@ class Mesh : public PointCloud { if (att_id >= 0 && att_id < static_cast(attribute_data_.size())) { attribute_data_.erase(attribute_data_.begin() + att_id); } +#ifdef DRACO_TRANSCODER_SUPPORTED + UpdateMeshFeaturesAfterDeletedAttribute(att_id); +#endif } #ifdef DRACO_TRANSCODER_SUPPORTED @@ -170,22 +172,6 @@ class Mesh : public PointCloud { void RemoveUnusedMaterials(); void RemoveUnusedMaterials(bool remove_unused_material_indices); - // Enables or disables Draco geometry compression for this mesh. - void SetCompressionEnabled(bool enabled) { compression_enabled_ = enabled; } - bool IsCompressionEnabled() const { return compression_enabled_; } - - // Sets |options| that configure Draco geometry compression. This does not - // enable or disable compression. - void SetCompressionOptions(const DracoCompressionOptions &options) { - compression_options_ = options; - } - const DracoCompressionOptions &GetCompressionOptions() const { - return compression_options_; - } - DracoCompressionOptions &GetCompressionOptions() { - return compression_options_; - } - // Library that contains non-material textures. const TextureLibrary &GetNonMaterialTextureLibrary() const { return non_material_texture_library_; @@ -208,12 +194,20 @@ class Mesh : public PointCloud { MeshFeatures &GetMeshFeatures(MeshFeaturesIndex index) { return *mesh_features_[index]; } + + // Removes mesh features from the mesh. Note that removing a mesh feature does + // not delete any associated data such as vertex attributes or feature + // textures. void RemoveMeshFeatures(MeshFeaturesIndex index) { mesh_features_.erase(mesh_features_.begin() + index.value()); mesh_features_material_mask_.erase(mesh_features_material_mask_.begin() + index.value()); } + // Returns true if an attribute with |att_id| is being used by any mesh + // features attached to the mesh. + bool IsAttributeUsedByMeshFeatures(int att_id) const; + // Restricts given mesh features to faces mapped to a material with // |material_index|. Note that single mesh features can be restricted to // multiple materials. @@ -249,6 +243,49 @@ class Mesh : public PointCloud { return structural_metadata_; } StructuralMetadata &GetStructuralMetadata() { return structural_metadata_; } + + // Property attributes indices as defined by EXT_structural_metadata glTF + // extension. + int AddPropertyAttributesIndex(int property_attribute_index) { + property_attributes_.push_back(property_attribute_index); + property_attributes_material_mask_.push_back({}); + return property_attributes_.size() - 1; + } + int NumPropertyAttributesIndices() const { + return property_attributes_.size(); + } + const int &GetPropertyAttributesIndex(int index) const { + return property_attributes_[index]; + } + int &GetPropertyAttributesIndex(int index) { + return property_attributes_[index]; + } + void RemovePropertyAttributesIndex(int index) { + property_attributes_.erase(property_attributes_.begin() + index); + property_attributes_material_mask_.erase( + property_attributes_material_mask_.begin() + index); + } + + // Restricts given property attributes indices to faces mapped to a material + // with |material_index|. Note that single property attribute can be + // restricted to multiple materials. + void AddPropertyAttributesIndexMaterialMask(int index, int material_index) { + property_attributes_material_mask_[index].push_back(material_index); + } + + size_t NumPropertyAttributesIndexMaterialMasks(int index) const { + return property_attributes_material_mask_[index].size(); + } + int GetPropertyAttributesIndexMaterialMask(int index, int mask_index) const { + return property_attributes_material_mask_[index][mask_index]; + } + + // Copies over property attributes indices from |source_mesh| and stores them + // in |target_mesh| as long as the property attributes indices material mask + // is valid for given |material_index|. + static void CopyPropertyAttributesIndicesForMaterial(const Mesh &source_mesh, + Mesh *target_mesh, + int material_index); #endif // DRACO_TRANSCODER_SUPPORTED protected: @@ -266,6 +303,11 @@ class Mesh : public PointCloud { IndexTypeVector &faces() { return faces_; } private: +#ifdef DRACO_TRANSCODER_SUPPORTED + // Updates attribute indices associated to all mesh features after a mesh + // attribute is deleted. + void UpdateMeshFeaturesAfterDeletedAttribute(int att_id); +#endif // Mesh specific per-attribute data. std::vector attribute_data_; @@ -280,11 +322,6 @@ class Mesh : public PointCloud { // Materials applied to to this mesh. MaterialLibrary material_library_; - // Compression options for this mesh. - // TODO(vytyaz): Store encoded bitstream that this mesh compresses into. - bool compression_enabled_; - DracoCompressionOptions compression_options_; - // Sets of feature IDs as defined by EXT_mesh_features glTF extension. IndexTypeVector> mesh_features_; @@ -296,6 +333,15 @@ class Mesh : public PointCloud { IndexTypeVector> mesh_features_material_mask_; + // Indices pointing to property attributes in draco::StructuralMetadata. + std::vector property_attributes_; + + // When the Mesh contains multiple materials, this mask can be used to limit + // specific index into |property_attributes_| to a vector of material indices. + // If for a given property attributes index, the material indices are empty, + // the corresponding property attributes are applied to the entire mesh. + std::vector> property_attributes_material_mask_; + // Texture library for storing non-material textures used by this mesh, e.g., // textures containing mesh feature IDs of EXT_mesh_features glTF extension. // If the mesh is part of the scene then the textures are stored in the scene. diff --git a/src/draco/mesh/mesh_cleanup.cc b/src/draco/mesh/mesh_cleanup.cc index a6dc1823..99609457 100644 --- a/src/draco/mesh/mesh_cleanup.cc +++ b/src/draco/mesh/mesh_cleanup.cc @@ -75,35 +75,28 @@ void MeshCleanup::RemoveDegeneratedFaces(Mesh *mesh) { } void MeshCleanup::RemoveDuplicateFaces(Mesh *mesh) { - const PointAttribute *const pos_att = - mesh->GetNamedAttribute(GeometryAttribute::POSITION); - - typedef std::array PosTriplet; - PosTriplet pos_indices; - std::unordered_set> is_face_used; + std::unordered_set> is_face_used; uint32_t num_duplicate_faces = 0; for (FaceIndex fi(0); fi < mesh->num_faces(); ++fi) { - const auto f = mesh->face(fi); - for (int c = 0; c < 3; ++c) { - pos_indices[c] = pos_att->mapped_index(f[c]).value(); - } - // Shift the position indices until the smallest index is the first one. - while (pos_indices[0] > pos_indices[1] || pos_indices[0] > pos_indices[2]) { + auto face = mesh->face(fi); + + // Shift the face indices until the smallest index is the first one. + while (face[0] > face[1] || face[0] > face[2]) { // Shift to the left. - std::swap(pos_indices[0], pos_indices[1]); - std::swap(pos_indices[1], pos_indices[2]); + std::swap(face[0], face[1]); + std::swap(face[1], face[2]); } - // Check if have encountered the same position triplet on a different face. - if (is_face_used.find(pos_indices) != is_face_used.end()) { + // Check if have encountered the same face before. + if (is_face_used.find(face) != is_face_used.end()) { // Duplicate face. Ignore it. num_duplicate_faces++; } else { // Insert new face to the set. - is_face_used.insert(pos_indices); + is_face_used.insert(face); if (num_duplicate_faces > 0) { // Copy the face to its new location. - mesh->SetFace(fi - num_duplicate_faces, f); + mesh->SetFace(fi - num_duplicate_faces, face); } } } diff --git a/src/draco/mesh/mesh_cleanup_test.cc b/src/draco/mesh/mesh_cleanup_test.cc index 76e5206a..20e2b5ff 100644 --- a/src/draco/mesh/mesh_cleanup_test.cc +++ b/src/draco/mesh/mesh_cleanup_test.cc @@ -141,38 +141,62 @@ TEST_F(MeshCleanupTest, TestAttributes) { } TEST_F(MeshCleanupTest, TestDuplicateFaces) { + // This test verifies that the mesh cleanup tool removes duplicate faces. TriangleSoupMeshBuilder mb; mb.Start(5); const int pos_att_id = mb.AddAttribute(GeometryAttribute::POSITION, 3, DT_FLOAT32); + const int norm_att_id = + mb.AddAttribute(GeometryAttribute::NORMAL, 3, DT_FLOAT32); - // Five faces where only two are unique. + // Five faces where only two are unique in spatial domain and three are unique + // when we take into account the normal attribute. // clang-format off mb.SetAttributeValuesForFace(pos_att_id, FaceIndex(0), Vector3f(0.f, 0.f, 0.f).data(), Vector3f(1.f, 0.f, 0.f).data(), Vector3f(0.f, 1.f, 0.f).data()); + mb.SetAttributeValuesForFace(norm_att_id, FaceIndex(0), + Vector3f(0.f, 0.f, 1.f).data(), + Vector3f(0.f, 0.f, 1.f).data(), + Vector3f(0.f, 0.f, 1.f).data()); mb.SetAttributeValuesForFace(pos_att_id, FaceIndex(1), Vector3f(0.f, 0.f, 0.f).data(), Vector3f(1.f, 0.f, 0.f).data(), Vector3f(0.f, 1.f, 0.f).data()); + mb.SetAttributeValuesForFace(norm_att_id, FaceIndex(1), + Vector3f(0.f, 1.f, 0.f).data(), + Vector3f(0.f, 1.f, 0.f).data(), + Vector3f(0.f, 1.f, 0.f).data()); mb.SetAttributeValuesForFace(pos_att_id, FaceIndex(2), Vector3f(0.f, 0.f, 0.f).data(), Vector3f(1.f, 0.f, 0.f).data(), Vector3f(0.f, 1.f, 1.f).data()); + mb.SetAttributeValuesForFace(norm_att_id, FaceIndex(2), + Vector3f(0.f, 0.f, 1.f).data(), + Vector3f(0.f, 0.f, 1.f).data(), + Vector3f(0.f, 0.f, 1.f).data()); mb.SetAttributeValuesForFace(pos_att_id, FaceIndex(3), Vector3f(1.f, 0.f, 0.f).data(), Vector3f(0.f, 1.f, 0.f).data(), Vector3f(0.f, 0.f, 0.f).data()); + mb.SetAttributeValuesForFace(norm_att_id, FaceIndex(3), + Vector3f(0.f, 0.f, 1.f).data(), + Vector3f(0.f, 0.f, 1.f).data(), + Vector3f(0.f, 0.f, 1.f).data()); mb.SetAttributeValuesForFace(pos_att_id, FaceIndex(4), Vector3f(0.f, 0.f, 0.f).data(), Vector3f(1.f, 0.f, 0.f).data(), Vector3f(0.f, 1.f, 1.f).data()); + mb.SetAttributeValuesForFace(norm_att_id, FaceIndex(4), + Vector3f(0.f, 0.f, 1.f).data(), + Vector3f(0.f, 0.f, 1.f).data(), + Vector3f(0.f, 0.f, 1.f).data()); // clang-format on std::unique_ptr mesh = mb.Finalize(); @@ -180,7 +204,7 @@ TEST_F(MeshCleanupTest, TestDuplicateFaces) { ASSERT_EQ(mesh->num_faces(), 5); const MeshCleanupOptions cleanup_options; DRACO_ASSERT_OK(MeshCleanup::Cleanup(mesh.get(), cleanup_options)); - ASSERT_EQ(mesh->num_faces(), 2); + ASSERT_EQ(mesh->num_faces(), 3); } } // namespace draco diff --git a/src/draco/mesh/mesh_features.h b/src/draco/mesh/mesh_features.h index af024013..d22f5f10 100644 --- a/src/draco/mesh/mesh_features.h +++ b/src/draco/mesh/mesh_features.h @@ -53,8 +53,8 @@ class MeshFeatures { void SetNullFeatureId(int null_feature_id); int GetNullFeatureId() const; - // Index of the feature ID vertex attribute, e.g., 5 for an attribute named - // _FEATURE_ID_5, or -1 if the feature ID is not associated with vertices. + // Index of the feature ID vertex attribute in draco::Mesh or -1 if the + // feature ID is not associated with vertices. void SetAttributeIndex(int attribute_index); int GetAttributeIndex() const; diff --git a/src/draco/mesh/mesh_misc_functions.h b/src/draco/mesh/mesh_misc_functions.h index 0a3bcf49..02a4970c 100644 --- a/src/draco/mesh/mesh_misc_functions.h +++ b/src/draco/mesh/mesh_misc_functions.h @@ -18,6 +18,10 @@ #ifndef DRACO_MESH_MESH_MISC_FUNCTIONS_H_ #define DRACO_MESH_MESH_MISC_FUNCTIONS_H_ +#include +#include +#include + #include "draco/mesh/corner_table.h" #include "draco/mesh/mesh.h" @@ -77,6 +81,10 @@ InterpolatedVectorT ComputeInterpolatedAttributeValueOnMeshFace( for (int c = 0; c < 3; ++c) { attribute.GetMappedValue(face[c], &(val[c][0])); } + if (val[1] == val[0] && val[2] == val[0]) { + // No need to interpolate anything if all values are the same. + return val[0]; + } // Return an interpolated value. InterpolatedVectorT res; for (int d = 0; d < InterpolatedVectorT::dimension; ++d) { diff --git a/src/draco/mesh/mesh_splitter.cc b/src/draco/mesh/mesh_splitter.cc index ac3c4661..ad987045 100644 --- a/src/draco/mesh/mesh_splitter.cc +++ b/src/draco/mesh/mesh_splitter.cc @@ -18,10 +18,13 @@ #include #include #include +#include +#include "draco/attributes/geometry_attribute.h" #include "draco/mesh/mesh_utils.h" #include "draco/mesh/triangle_soup_mesh_builder.h" #include "draco/point_cloud/point_cloud_builder.h" +#include "draco/texture/texture_map.h" namespace draco { @@ -33,6 +36,7 @@ class MeshSplitterInternal { struct WorkData : public MeshSplitter::WorkData { // TriangleSoupMeshBuilder or PointCloudBuilder. std::vector builders; + std::vector *att_id_map; }; // Computes number of elements (faces or points) for each sub-mesh. @@ -46,8 +50,8 @@ class MeshSplitterInternal { const PointAttribute *split_attribute, WorkData *work_data) const; // Builds the meshes from the data accumulated in the builders. - StatusOr BuildMeshes(const Mesh &mesh, - WorkData *work_data) const; + StatusOr BuildMeshes( + const Mesh &mesh, WorkData *work_data, bool deduplicate_vertices) const; }; namespace { @@ -65,7 +69,9 @@ void AddElementToBuilder( MeshSplitter::MeshSplitter() : preserve_materials_(false), remove_unused_material_indices_(true), - preserve_mesh_features_(false) {} + preserve_mesh_features_(false), + preserve_structural_metadata_(false), + deduplicate_vertices_(true) {} StatusOr MeshSplitter::SplitMesh( const Mesh &mesh, uint32_t split_attribute_id) { @@ -86,7 +92,7 @@ StatusOr MeshSplitter::SplitMeshInternal( mesh.attribute(split_attribute_id); // Preserve the split attribute only if it is the material attribute and the - // |preserve_materials_| flag is set. Othwerwise the split attribute will get + // |preserve_materials_| flag is set. Otherwise, the split attribute will get // discarded. // TODO(ostava): We may revisit this later and add an option to always // preserve the split attribute. @@ -107,7 +113,8 @@ StatusOr MeshSplitter::SplitMeshInternal( // Create the sub-meshes. work_data.builders.resize(num_out_meshes); // Map between attribute ids of the input and output meshes. - work_data.att_id_map.resize(mesh.num_attributes(), -1); + att_id_map_.resize(mesh.num_attributes(), -1); + work_data.att_id_map = &att_id_map_; const int ignored_att_id = (!preserve_split_attribute ? split_attribute_id : -1); for (int mi = 0; mi < num_out_meshes; ++mi) { @@ -126,8 +133,9 @@ StatusOr MeshSplitter::SplitMeshInternal( splitter_internal.AddElementsToBuilder(mesh, split_attribute, &work_data); - DRACO_ASSIGN_OR_RETURN(MeshVector out_meshes, - splitter_internal.BuildMeshes(mesh, &work_data)); + DRACO_ASSIGN_OR_RETURN( + MeshVector out_meshes, + splitter_internal.BuildMeshes(mesh, &work_data, deduplicate_vertices_)); return FinalizeMeshes(mesh, work_data, std::move(out_meshes)); } @@ -179,9 +187,11 @@ void MeshSplitterInternal::InitializeBuilder( continue; } const GeometryAttribute *const src_att = mesh.attribute(ai); - work_data->att_id_map[ai] = work_data->builders[b_index].AddAttribute( + (*work_data->att_id_map)[ai] = work_data->builders[b_index].AddAttribute( src_att->attribute_type(), src_att->num_components(), - src_att->data_type()); + src_att->data_type(), src_att->normalized()); + work_data->builders[b_index].SetAttributeName(work_data->att_id_map->at(ai), + src_att->name()); } } @@ -220,7 +230,7 @@ void AddElementToBuilder( const auto &face = mesh.face(source_i); for (int ai = 0; ai < mesh.num_attributes(); ++ai) { const PointAttribute *const src_att = mesh.attribute(ai); - const int target_att_id = work_data->att_id_map[ai]; + const int target_att_id = work_data->att_id_map->at(ai); if (target_att_id == -1) { continue; } @@ -237,7 +247,7 @@ void AddElementToBuilder( MeshSplitterInternal::WorkData *work_data) { for (int ai = 0; ai < mesh.num_attributes(); ++ai) { const PointAttribute *const src_att = mesh.attribute(ai); - const int target_att_id = work_data->att_id_map[ai]; + const int target_att_id = work_data->att_id_map->at(ai); if (target_att_id == -1) { continue; } @@ -252,7 +262,7 @@ void AddElementToBuilder( template <> StatusOr MeshSplitterInternal::BuildMeshes( - const Mesh &mesh, WorkData *work_data) const { + const Mesh &mesh, WorkData *work_data, bool deduplicate_vertices) const { const int num_out_meshes = work_data->builders.size(); MeshSplitter::MeshVector out_meshes(num_out_meshes); for (int mi = 0; mi < num_out_meshes; ++mi) { @@ -270,7 +280,7 @@ MeshSplitterInternal::BuildMeshes( template <> StatusOr MeshSplitterInternal::BuildMeshes( - const Mesh &mesh, WorkData *work_data) const { + const Mesh &mesh, WorkData *work_data, bool deduplicate_vertices) const { const int num_out_meshes = work_data->builders.size(); MeshSplitter::MeshVector out_meshes(num_out_meshes); for (int mi = 0; mi < num_out_meshes; ++mi) { @@ -279,7 +289,8 @@ MeshSplitterInternal::BuildMeshes( } // For point clouds, we first build a point cloud and copy it over into // a draco::Mesh. - std::unique_ptr pc = work_data->builders[mi].Finalize(true); + std::unique_ptr pc = + work_data->builders[mi].Finalize(deduplicate_vertices); if (pc == nullptr) { continue; } @@ -311,7 +322,66 @@ StatusOr MeshSplitter::FinalizeMeshes( } out_meshes[mi]->SetName(mesh.GetName()); if (preserve_materials_) { - out_meshes[mi]->GetMaterialLibrary().Copy(mesh.GetMaterialLibrary()); + if (work_data.split_by_materials) { + // When splitting by material, only copy the material in use. + if (out_meshes[mi]->num_points() != 0 && + mesh.GetMaterialLibrary().NumMaterials() != 0) { + uint64_t material_index = 0; + out_meshes[mi] + ->GetNamedAttribute(GeometryAttribute::MATERIAL) + ->GetMappedValue(PointIndex(0), &material_index); + + // Populate empty materials and textures. Unused materials and + // textures will be cleared later. + out_meshes[mi]->GetMaterialLibrary().MutableMaterial( + mesh.GetMaterialLibrary().NumMaterials() - 1); + for (int i = 0; + i < mesh.GetMaterialLibrary().GetTextureLibrary().NumTextures(); + ++i) { + out_meshes[mi] + ->GetMaterialLibrary() + .MutableTextureLibrary() + .PushTexture(std::make_unique()); + } + + // Copy the material that we're actually going to use. + out_meshes[mi] + ->GetMaterialLibrary() + .MutableMaterial(material_index) + ->Copy(*mesh.GetMaterialLibrary().GetMaterial(material_index)); + std::unordered_map texture_to_index = + mesh.GetMaterialLibrary() + .GetTextureLibrary() + .ComputeTextureToIndexMap(); + for (int tmi = 0; tmi < mesh.GetMaterialLibrary() + .GetMaterial(material_index) + ->NumTextureMaps(); + ++tmi) { + const TextureMap *const source_texture_map = + mesh.GetMaterialLibrary() + .GetMaterial(material_index) + ->GetTextureMapByIndex(tmi); + + // Get the texture map index + const int texture_index = + texture_to_index[source_texture_map->texture()]; + + // Use the index to assign texture to the corresponding texture map + // on the split mesh. + TextureMap *new_texture_map = out_meshes[mi] + ->GetMaterialLibrary() + .MutableMaterial(material_index) + ->GetTextureMapByIndex(tmi); + new_texture_map->SetTexture(out_meshes[mi] + ->GetMaterialLibrary() + .MutableTextureLibrary() + .GetTexture(texture_index)); + new_texture_map->texture()->Copy(*source_texture_map->texture()); + } + } + } else { + out_meshes[mi]->GetMaterialLibrary().Copy(mesh.GetMaterialLibrary()); + } } // Copy metadata of the original mesh to the output meshes. @@ -323,7 +393,7 @@ StatusOr MeshSplitter::FinalizeMeshes( // Copy over attribute unique ids. for (int att_id = 0; att_id < mesh.num_attributes(); ++att_id) { - const int mapped_att_id = work_data.att_id_map[att_id]; + const int mapped_att_id = att_id_map_[att_id]; if (mapped_att_id == -1) { continue; } @@ -363,6 +433,14 @@ StatusOr MeshSplitter::FinalizeMeshes( // Create a copy of source mesh features. std::unique_ptr mf(new MeshFeatures()); mf->Copy(mesh.GetMeshFeatures(mfi)); + + // Update mesh features attribute index if used. + if (mf->GetAttributeIndex() != -1) { + const int new_mf_attribute_index = + att_id_map_[mf->GetAttributeIndex()]; + mf->SetAttributeIndex(new_mf_attribute_index); + } + const MeshFeaturesIndex new_mfi = out_meshes[mi]->AddMeshFeatures(std::move(mf)); if (work_data.split_by_materials && !preserve_materials_) { @@ -404,6 +482,62 @@ StatusOr MeshSplitter::FinalizeMeshes( MeshUtils::RemoveUnusedMeshFeatures(out_meshes[mi].get())); } + if (preserve_structural_metadata_) { + // Copy proeprty attributes indices from the source |mesh| to the + // |out_meshes[mi]|. + for (int i = 0; i < mesh.NumPropertyAttributesIndices(); ++i) { + if (work_data.split_by_materials) { + // Copy over only those property attribute indices that were masked to + // the material corresponding to |mi|. + bool is_used = false; + if (mesh.NumPropertyAttributesIndexMaterialMasks(i) == 0) { + is_used = true; + } else { + for (int mask_index = 0; + mask_index < mesh.NumPropertyAttributesIndexMaterialMasks(i); + ++mask_index) { + if (mesh.GetPropertyAttributesIndexMaterialMask(i, mask_index) == + mi) { + is_used = true; + break; + } + } + } + if (!is_used) { + // Ignore this property attributes index. + continue; + } + } + // Create a copy of source property attributes index. + const int new_i = out_meshes[mi]->AddPropertyAttributesIndex( + mesh.GetPropertyAttributesIndex(i)); + if (work_data.split_by_materials && !preserve_materials_) { + // If the input |mesh| was split by materials and we didn't preserve + // the materials, all property attributes indices must be masked to + // material 0. + out_meshes[mi]->AddPropertyAttributesIndexMaterialMask(new_i, 0); + } else { + // Otherwise property attributes index uses same masking as the source + // mesh because the material attribute is still present in the split + // meshes. Note that this masking can be later changed in + // RemoveUnusedMaterials() call below. + for (int mask_index = 0; + mask_index < mesh.NumPropertyAttributesIndexMaterialMasks(i); + ++mask_index) { + out_meshes[mi]->AddPropertyAttributesIndexMaterialMask( + new_i, + mesh.GetPropertyAttributesIndexMaterialMask(i, mask_index)); + } + } + } + + // This will remove any property attributes indices that may not be be + // actually used by this |out_meshes[mi]| (e.g. because corresponding + // material indices were not present in this split mesh). + DRACO_RETURN_IF_ERROR(MeshUtils::RemoveUnusedPropertyAttributesIndices( + out_meshes[mi].get())); + } + // Remove unused materials after we remove mesh features because some of // the mesh features may have referenced old material indices. if (preserve_materials_) { @@ -424,7 +558,8 @@ StatusOr MeshSplitter::SplitMeshToComponents( typename MeshSplitterInternal::WorkData work_data; work_data.builders.resize(num_out_meshes); work_data.num_sub_mesh_elements.resize(num_out_meshes, 0); - work_data.att_id_map.resize(mesh.num_attributes(), -1); + att_id_map_.resize(mesh.num_attributes(), -1); + work_data.att_id_map = &att_id_map_; for (int mi = 0; mi < num_out_meshes; ++mi) { const int num_faces = connected_components.NumConnectedComponentFaces(mi); work_data.num_sub_mesh_elements[mi] = num_faces; @@ -442,10 +577,15 @@ StatusOr MeshSplitter::SplitMeshToComponents( AddElementToBuilder(mi, fi, target_fi, mesh, &work_data); } } - DRACO_ASSIGN_OR_RETURN(auto out_meshes, - splitter_internal.BuildMeshes(mesh, &work_data)); + DRACO_ASSIGN_OR_RETURN( + auto out_meshes, + splitter_internal.BuildMeshes(mesh, &work_data, deduplicate_vertices_)); return FinalizeMeshes(mesh, work_data, std::move(out_meshes)); } +int MeshSplitter::GetSplitMeshAttributeIndex(int source_mesh_att_index) const { + return att_id_map_[source_mesh_att_index]; +} + } // namespace draco #endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/mesh/mesh_splitter.h b/src/draco/mesh/mesh_splitter.h index bf5cd979..d69d8b84 100644 --- a/src/draco/mesh/mesh_splitter.h +++ b/src/draco/mesh/mesh_splitter.h @@ -63,6 +63,25 @@ class MeshSplitter { // Default = false. void SetPreserveMeshFeatures(bool flag) { preserve_mesh_features_ = flag; } + // Sets a flag that tells the splitter to preserve structural metadata on the + // input mesh during mesh splitting. When set, the structural metadata like + // property attributes indices used on sub-meshes are going to be copied over. + // Any redundant structural metadata on sub-meshes are going to be deleted. + // Default = false. + void SetPreserveStructuralMetadata(bool flag) { + preserve_structural_metadata_ = flag; + } + + // By default, the splitter will attempt to deduplicate vertices after + // splitting the mesh. This means lower memory usage and smaller output glTFs + // after encoding. However, for very large meshes, this may become an + // expensive operation. If that becomes an issue, you might want to consider + // disabling deduplication with |SetDeduplicateVertices(false)|. + // + // Note that at this moment, disabling deduplication works ONLY for point + // clouds. + void SetDeduplicateVertices(bool flag) { deduplicate_vertices_ = flag; } + // Splits the input |mesh| according to attribute values stored in the // specified attribute. If the |mesh| contains faces, the attribute values // need to be defined per-face, that is, all points attached to a single face @@ -79,10 +98,13 @@ class MeshSplitter { StatusOr SplitMeshToComponents( const Mesh &mesh, const MeshConnectedComponents &connected_components); + // Returns attribute index on each split mesh that corresponds to the + // |source_mesh_att_index| of the source Mesh. + // Must be called after SplitMesh() or SplitMeshToComponents(). + int GetSplitMeshAttributeIndex(int source_mesh_att_index) const; + private: struct WorkData { - // Map between attribute ids of the input and output meshes. - std::vector att_id_map; std::vector num_sub_mesh_elements; bool split_by_materials = false; }; @@ -98,6 +120,11 @@ class MeshSplitter { bool preserve_materials_; bool remove_unused_material_indices_; bool preserve_mesh_features_; + bool preserve_structural_metadata_; + bool deduplicate_vertices_; + + // Map between attribute ids of the input and output meshes. + std::vector att_id_map_; template friend class MeshSplitterInternal; diff --git a/src/draco/mesh/mesh_splitter_test.cc b/src/draco/mesh/mesh_splitter_test.cc index 7432c473..72457728 100644 --- a/src/draco/mesh/mesh_splitter_test.cc +++ b/src/draco/mesh/mesh_splitter_test.cc @@ -15,14 +15,21 @@ #include "draco/mesh/mesh_splitter.h" #ifdef DRACO_TRANSCODER_SUPPORTED +#include #include +#include #include +#include +#include "draco/attributes/geometry_attribute.h" #include "draco/core/draco_test_base.h" #include "draco/core/draco_test_utils.h" +#include "draco/core/draco_types.h" #include "draco/core/vector_d.h" #include "draco/io/mesh_io.h" +#include "draco/material/material.h" #include "draco/mesh/mesh_misc_functions.h" +#include "draco/point_cloud/point_cloud_builder.h" namespace {} // namespace #endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/mesh/mesh_test.cc b/src/draco/mesh/mesh_test.cc index 7cc046a7..4b380745 100644 --- a/src/draco/mesh/mesh_test.cc +++ b/src/draco/mesh/mesh_test.cc @@ -16,6 +16,7 @@ #include #include +#include #include "draco/core/draco_test_base.h" #include "draco/core/draco_test_utils.h" @@ -539,6 +540,57 @@ TEST(MeshTest, MeshCopyWithMeshFeatures) { library_copy.GetTexture(1)); } +// Tests that mesh features are updated properly after a mesh attribute is +// deleted. +TEST(MeshTest, TestMeshFeaturesAttributeDeletion) { + const std::unique_ptr mesh = + draco::ReadMeshFromTestFile("cube_att.obj"); + ASSERT_NE(mesh, nullptr); + + // Add feature ID set referring to an attribute. + const draco::MeshFeaturesIndex index_0 = mesh->AddMeshFeatures( + std::unique_ptr(new draco::MeshFeatures())); + mesh->GetMeshFeatures(index_0).SetLabel("planet"); + mesh->GetMeshFeatures(index_0).SetFeatureCount(2); + mesh->GetMeshFeatures(index_0).SetAttributeIndex(1); + + // Delete mesh attribute 0. This should update attribute index associated with + // mesh features |index_0| by one (to 0). + ASSERT_EQ(mesh->GetMeshFeatures(index_0).GetAttributeIndex(), 1); + mesh->DeleteAttribute(0); + ASSERT_EQ(mesh->GetMeshFeatures(index_0).GetAttributeIndex(), 0); + + // Delete the new mesh attribute 0 and the mesh features |index_0| should not + // be associated with any attribute anymore. + mesh->DeleteAttribute(0); + ASSERT_EQ(mesh->GetMeshFeatures(index_0).GetAttributeIndex(), -1); +} + +// Tests that we can identify which attributes are used by mesh features. +TEST(MeshTest, TestAttributeUsedByMeshFeatures) { + const std::unique_ptr mesh = + draco::ReadMeshFromTestFile("cube_att.obj"); + ASSERT_NE(mesh, nullptr); + + // Add feature ID set referring to an attribute. + const draco::MeshFeaturesIndex index_0 = mesh->AddMeshFeatures( + std::unique_ptr(new draco::MeshFeatures())); + mesh->GetMeshFeatures(index_0).SetLabel("planet"); + mesh->GetMeshFeatures(index_0).SetFeatureCount(2); + mesh->GetMeshFeatures(index_0).SetAttributeIndex(1); + + // Ensure we can tell that attribute 1 is used by mesh features. + ASSERT_TRUE(mesh->IsAttributeUsedByMeshFeatures(1)); + + // Attribute 0 should not be used by mesh features. + ASSERT_FALSE(mesh->IsAttributeUsedByMeshFeatures(0)); + + // If the mesh features is deleted, attribute 1 should not be used by mesh + // features any more. + mesh->DeleteAttribute(1); + ASSERT_FALSE(mesh->IsAttributeUsedByMeshFeatures(1)); +} + // Tests copying of a mesh with structural metadata. TEST(MeshTest, TestCopyWithStructuralMetadata) { const std::unique_ptr mesh = @@ -546,22 +598,32 @@ TEST(MeshTest, TestCopyWithStructuralMetadata) { ASSERT_NE(mesh, nullptr); // Add structural metadata to the mesh. - draco::PropertyTable::Schema schema; + draco::StructuralMetadataSchema schema; schema.json.SetString("Data"); - mesh->GetStructuralMetadata().SetPropertyTableSchema(schema); + mesh->GetStructuralMetadata().SetSchema(schema); + mesh->AddPropertyAttributesIndex(0); + mesh->AddPropertyAttributesIndex(1); // Copy the mesh. draco::Mesh copy; copy.Copy(*mesh); // Check that the structural metadata has been copied. - ASSERT_EQ( - copy.GetStructuralMetadata().GetPropertyTableSchema().json.GetString(), - "Data"); + ASSERT_EQ(copy.GetStructuralMetadata().GetSchema().json.GetString(), "Data"); + ASSERT_EQ(copy.NumPropertyAttributesIndices(), 2); + ASSERT_EQ(copy.GetPropertyAttributesIndex(0), 0); + ASSERT_EQ(copy.GetPropertyAttributesIndex(1), 1); + + // Check that property attributes index can be removed. + copy.RemovePropertyAttributesIndex(0); + ASSERT_EQ(copy.NumPropertyAttributesIndices(), 1); + ASSERT_EQ(copy.GetPropertyAttributesIndex(0), 1); } -// Tests removing of unused materials for a mesh with mesh features. -TEST(MeshTest, RemoveUnusedMaterialsWithMeshFeatures) { +// Tests removing of unused materials for a mesh with mesh features and property +// attributes indices. +TEST(MeshTest, + RemoveUnusedMaterialsWithMeshFeaturesAndPropertyAttributesIndices) { const std::unique_ptr mesh = draco::ReadMeshFromTestFile("BoxesMeta/glTF/BoxesMeta.gltf"); ASSERT_NE(mesh, nullptr); @@ -580,6 +642,12 @@ TEST(MeshTest, RemoveUnusedMaterialsWithMeshFeatures) { ASSERT_EQ(mesh->GetMeshFeaturesMaterialMask(draco::MeshFeaturesIndex(4), 0), 1); + // Input has two property attributes, one associated with each of the two + // materials. + ASSERT_EQ(mesh->NumPropertyAttributesIndices(), 2); + ASSERT_EQ(mesh->GetPropertyAttributesIndexMaterialMask(0, 0), 0); + ASSERT_EQ(mesh->GetPropertyAttributesIndexMaterialMask(1, 0), 1); + // Remove material 0. draco::PointAttribute *mat_att = mesh->attribute( mesh->GetNamedAttributeId(draco::GeometryAttribute::MATERIAL)); @@ -588,17 +656,21 @@ TEST(MeshTest, RemoveUnusedMaterialsWithMeshFeatures) { mat_att->SetAttributeValue(draco::AttributeValueIndex(0), &new_mat_index); // This should not do anything because we still have the material 0 referenced - // by mesh features 0 and 1. + // by mesh features 0 and 1, as well as by property attributes at index 0. mesh->RemoveUnusedMaterials(); ASSERT_EQ(mesh->GetMaterialLibrary().NumMaterials(), 2); ASSERT_EQ(mesh->NumMeshFeatures(), 5); + ASSERT_EQ(mesh->NumPropertyAttributesIndices(), 2); - // Now remove unused mesh features (should be 0 and 1). + // Now remove unused mesh features (should be 0 and 1) and property attributes + // indices (should be 0). DRACO_ASSERT_OK(draco::MeshUtils::RemoveUnusedMeshFeatures(mesh.get())); + DRACO_ASSERT_OK( + draco::MeshUtils::RemoveUnusedPropertyAttributesIndices(mesh.get())); - ASSERT_EQ(mesh->NumMeshFeatures(), 3); // All remaining mesh features should be still mapped to material 1. + ASSERT_EQ(mesh->NumMeshFeatures(), 3); ASSERT_EQ(mesh->GetMeshFeaturesMaterialMask(draco::MeshFeaturesIndex(0), 0), 1); ASSERT_EQ(mesh->GetMeshFeaturesMaterialMask(draco::MeshFeaturesIndex(1), 0), @@ -606,18 +678,50 @@ TEST(MeshTest, RemoveUnusedMaterialsWithMeshFeatures) { ASSERT_EQ(mesh->GetMeshFeaturesMaterialMask(draco::MeshFeaturesIndex(2), 0), 1); + // Remaining property attributes index should be still mapped to material 1. + ASSERT_EQ(mesh->NumPropertyAttributesIndices(), 1); + ASSERT_EQ(mesh->GetPropertyAttributesIndexMaterialMask(0, 0), 1); + // Now remove the unused materials (0). mesh->RemoveUnusedMaterials(); - // Only one material should be remaining and all the mesh features should now - // be mapped to material 0. + // Only one material should be remaining. ASSERT_EQ(mesh->GetMaterialLibrary().NumMaterials(), 1); + + // All the mesh features should now be mapped to material 0. ASSERT_EQ(mesh->GetMeshFeaturesMaterialMask(draco::MeshFeaturesIndex(0), 0), 0); ASSERT_EQ(mesh->GetMeshFeaturesMaterialMask(draco::MeshFeaturesIndex(1), 0), 0); ASSERT_EQ(mesh->GetMeshFeaturesMaterialMask(draco::MeshFeaturesIndex(2), 0), 0); + + // Property attributes index should now be mapped to material 0. + ASSERT_EQ(mesh->GetPropertyAttributesIndexMaterialMask(0, 0), 0); +} + +// Tests that when we remove mesh features from a mesh, the associated vertex +// attributes and textures are not removed. +TEST(MeshTest, TestDeleteMeshFeatures) { + // The loaded mesh has several vertex attributes and textures used by the + // mesh features. + const std::unique_ptr mesh = + draco::ReadMeshFromTestFile("BoxesMeta/glTF/BoxesMeta.gltf"); + ASSERT_NE(mesh, nullptr); + ASSERT_GT(mesh->NumMeshFeatures(), 0); + + draco::Mesh mesh_copy; + mesh_copy.Copy(*mesh); + + // Delete all mesh features from the copy and ensure all vertex attributes + // and textures stay the same. + while (mesh_copy.NumMeshFeatures() > 0) { + mesh_copy.RemoveMeshFeatures(draco::MeshFeaturesIndex(0)); + } + ASSERT_EQ(mesh_copy.NumMeshFeatures(), 0); + ASSERT_EQ(mesh_copy.num_attributes(), mesh->num_attributes()); + ASSERT_EQ(mesh_copy.GetNonMaterialTextureLibrary().NumTextures(), + mesh->GetNonMaterialTextureLibrary().NumTextures()); } #endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/mesh/mesh_utils.cc b/src/draco/mesh/mesh_utils.cc index 0fbe366c..42917d1d 100644 --- a/src/draco/mesh/mesh_utils.cc +++ b/src/draco/mesh/mesh_utils.cc @@ -167,15 +167,10 @@ void MeshUtils::MergeMetadata(const Mesh &src_mesh, Mesh *dst_mesh) { } } -Status MeshUtils::RemoveUnusedMeshFeatures(Mesh *mesh) { - // Unused mesh features are features that are not used by any face / vertex - // of the |mesh|. Currently, each mesh feature can be "masked" for specific - // materials, in which case we need to check whether the mask materials - // are present in the |mesh|. If not, we can remove the mesh features from the - // mesh. +// Returns indices of all used materials on the |mesh|. +std::unordered_set FindUsedMaterials(const Mesh &mesh) { const PointAttribute *const mat_att = - mesh->GetNamedAttribute(GeometryAttribute::MATERIAL); - // Find which materials are used. + mesh.GetNamedAttribute(GeometryAttribute::MATERIAL); std::unordered_set used_materials; if (mat_att == nullptr) { // Only material with index 0 is assumed to be used. @@ -187,7 +182,16 @@ Status MeshUtils::RemoveUnusedMeshFeatures(Mesh *mesh) { used_materials.insert(mat_index); } } + return used_materials; +} +Status MeshUtils::RemoveUnusedMeshFeatures(Mesh *mesh) { + // Unused mesh features are features that are not used by any face / vertex + // of the |mesh|. Currently, each mesh feature can be "masked" for specific + // materials, in which case we need to check whether the mask materials + // are present in the |mesh|. If not, we can remove the mesh features from the + // mesh. + const std::unordered_set used_materials = FindUsedMaterials(*mesh); std::vector unused_mesh_features; for (MeshFeaturesIndex mfi(0); mfi < mesh->NumMeshFeatures(); ++mfi) { bool is_used = false; @@ -247,6 +251,44 @@ Status MeshUtils::RemoveUnusedMeshFeatures(Mesh *mesh) { return OkStatus(); } +Status MeshUtils::RemoveUnusedPropertyAttributesIndices(Mesh *mesh) { + // Unused property attributes indices are indices that are not used by any + // face / vertex of the |mesh|. Currently, each property attributes index can + // be "masked" for specific materials, in which case we need to check whether + // the mask materials are present in the |mesh|. If not, we can remove the + // property attributes from the mesh. + const std::unordered_set used_materials = FindUsedMaterials(*mesh); + std::vector unused_property_attributes_indices; + for (int i = 0; i < mesh->NumPropertyAttributesIndices(); ++i) { + bool is_used = false; + if (mesh->NumPropertyAttributesIndexMaterialMasks(i) == 0) { + is_used = true; + } else { + for (int mask_i = 0; + mask_i < mesh->NumPropertyAttributesIndexMaterialMasks(i); + ++mask_i) { + const int material_index = + mesh->GetPropertyAttributesIndexMaterialMask(i, mask_i); + if (used_materials.count(material_index)) { + is_used = true; + break; + } + } + } + if (!is_used) { + unused_property_attributes_indices.push_back(i); + } + } + + // Remove the unused property attributes indices (from back). + for (auto it = unused_property_attributes_indices.rbegin(); + it != unused_property_attributes_indices.rend(); ++it) { + const int i = *it; + mesh->RemovePropertyAttributesIndex(i); + } + return OkStatus(); +} + bool MeshUtils::FlipTextureUvValues(bool flip_u, bool flip_v, PointAttribute *att) { if (att->attribute_type() != GeometryAttribute::TEX_COORD) { diff --git a/src/draco/mesh/mesh_utils.h b/src/draco/mesh/mesh_utils.h index e17dfd8e..91833b76 100644 --- a/src/draco/mesh/mesh_utils.h +++ b/src/draco/mesh/mesh_utils.h @@ -42,6 +42,9 @@ class MeshUtils { // error is returned. static Status RemoveUnusedMeshFeatures(Mesh *mesh); + // Removes unused property attributes indices from |mesh|. + static Status RemoveUnusedPropertyAttributesIndices(Mesh *mesh); + // Flips the UV values of |att|. static bool FlipTextureUvValues(bool flip_u, bool flip_v, PointAttribute *att); diff --git a/src/draco/mesh/mesh_utils_test.cc b/src/draco/mesh/mesh_utils_test.cc index 022669cb..b14108ac 100644 --- a/src/draco/mesh/mesh_utils_test.cc +++ b/src/draco/mesh/mesh_utils_test.cc @@ -386,6 +386,47 @@ TEST(MeshUtilsTest, RemoveUnusedMeshFeatures) { } } +TEST(MeshUtilsTest, RemoveUnusedPropertyAttributesIndices) { + // Test verifies that MeshUtils::RemoveUnusedPropertyAttributesIndices works + // as intended. + std::unique_ptr mesh = + draco::ReadMeshFromTestFile("BoxesMeta/glTF/BoxesMeta.gltf"); + ASSERT_NE(mesh, nullptr); + + // The input mesh should have two property attributes indices. + ASSERT_EQ(mesh->NumPropertyAttributesIndices(), 2); + ASSERT_EQ(mesh->GetPropertyAttributesIndex(0), 0); + ASSERT_EQ(mesh->GetPropertyAttributesIndex(1), 1); + ASSERT_EQ(mesh->NumPropertyAttributesIndexMaterialMasks(0), 1); + ASSERT_EQ(mesh->NumPropertyAttributesIndexMaterialMasks(1), 1); + ASSERT_EQ(mesh->GetPropertyAttributesIndexMaterialMask(0, 0), 0); + ASSERT_EQ(mesh->GetPropertyAttributesIndexMaterialMask(1, 0), 1); + + // Both indices should be used so calling the method below shouldn't do + // anything. + draco::MeshUtils::RemoveUnusedPropertyAttributesIndices(mesh.get()); + ASSERT_EQ(mesh->NumPropertyAttributesIndices(), 2); + + // Now remove material 1 that is mapped to second property attributes index. + draco::PointAttribute *mat_att = mesh->attribute( + mesh->GetNamedAttributeId(draco::GeometryAttribute::MATERIAL)); + + // This basically remaps all faces from material 1 to material 0. + uint32_t mat_index = 0; + mat_att->SetAttributeValue(draco::AttributeValueIndex(1), &mat_index); + + // Try to remove the property attributes indices again. + draco::MeshUtils::RemoveUnusedPropertyAttributesIndices(mesh.get()); + + // One of the property attributes indices should have been removed. + ASSERT_EQ(mesh->NumPropertyAttributesIndices(), 1); + + // Ensure the remaining property attributes index is mapped to the correct + // material. + ASSERT_EQ(mesh->NumPropertyAttributesIndexMaterialMasks(0), 1); + ASSERT_EQ(mesh->GetPropertyAttributesIndexMaterialMask(0, 0), 0); +} + } // namespace #endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/mesh/triangle_soup_mesh_builder.cc b/src/draco/mesh/triangle_soup_mesh_builder.cc index 2af94a05..71553f9b 100644 --- a/src/draco/mesh/triangle_soup_mesh_builder.cc +++ b/src/draco/mesh/triangle_soup_mesh_builder.cc @@ -14,6 +14,8 @@ // #include "draco/mesh/triangle_soup_mesh_builder.h" +#include + namespace draco { void TriangleSoupMeshBuilder::Start(int num_faces) { @@ -96,4 +98,16 @@ std::unique_ptr TriangleSoupMeshBuilder::Finalize() { return std::move(mesh_); } +void TriangleSoupMeshBuilder::SetAttributeUniqueId(int att_id, + uint32_t unique_id) { + mesh_->attribute(att_id)->set_unique_id(unique_id); +} + +#ifdef DRACO_TRANSCODER_SUPPORTED +void TriangleSoupMeshBuilder::SetAttributeName(int att_id, + const std::string &name) { + mesh_->attribute(att_id)->set_name(name); +} +#endif // DRACO_TRANSCODER_SUPPORTED + } // namespace draco diff --git a/src/draco/mesh/triangle_soup_mesh_builder.h b/src/draco/mesh/triangle_soup_mesh_builder.h index 503fe84c..e91cafc6 100644 --- a/src/draco/mesh/triangle_soup_mesh_builder.h +++ b/src/draco/mesh/triangle_soup_mesh_builder.h @@ -80,6 +80,14 @@ class TriangleSoupMeshBuilder { mesh_->AddMetadata(std::move(metadata)); } + // Sets the unique ID for an attribute created with AddAttribute(). + void SetAttributeUniqueId(int att_id, uint32_t unique_id); + +#ifdef DRACO_TRANSCODER_SUPPORTED + // Sets attribute name. + void SetAttributeName(int att_id, const std::string &name); +#endif // DRACO_TRANSCODER_SUPPORTED + // Add metadata for an attribute. void AddAttributeMetadata(int32_t att_id, std::unique_ptr metadata) { diff --git a/src/draco/mesh/triangle_soup_mesh_builder_test.cc b/src/draco/mesh/triangle_soup_mesh_builder_test.cc index b2364176..e273c087 100644 --- a/src/draco/mesh/triangle_soup_mesh_builder_test.cc +++ b/src/draco/mesh/triangle_soup_mesh_builder_test.cc @@ -96,11 +96,15 @@ TEST_F(TriangleSoupMeshBuilderTest, CubeTest) { Vector3f(0.f, 0.f, 1.f).data(), Vector3f(0.f, 1.f, 0.f).data()); // clang-format on +#ifdef DRACO_TRANSCODER_SUPPORTED + mb.SetAttributeName(pos_att_id, "Bob"); +#endif std::unique_ptr mesh = mb.Finalize(); ASSERT_NE(mesh, nullptr) << "Failed to build the cube mesh."; #ifdef DRACO_TRANSCODER_SUPPORTED EXPECT_EQ(mesh->GetName(), "Cube"); + EXPECT_EQ(mesh->attribute(pos_att_id)->name(), "Bob"); #endif EXPECT_EQ(mesh->num_points(), 8) << "Unexpected number of vertices."; EXPECT_EQ(mesh->num_faces(), 12) << "Unexpected number of faces."; @@ -207,6 +211,22 @@ TEST_F(TriangleSoupMeshBuilderTest, TestPerFaceAttribs) { << "Unexpected attribute element type."; } +TEST_F(TriangleSoupMeshBuilderTest, PropagatesAttributeUniqueIds) { + // This test verifies that TriangleSoupMeshBuilder correctly applies + // unique IDs to attributes. + TriangleSoupMeshBuilder mb; + mb.Start(1); + const int pos_att_id = + mb.AddAttribute(GeometryAttribute::POSITION, 3, DT_FLOAT32); + mb.SetAttributeValuesForFace( + pos_att_id, FaceIndex(0), Vector3f(0.f, 0.f, 0.f).data(), + Vector3f(1.f, 0.f, 0.f).data(), Vector3f(0.f, 1.f, 0.f).data()); + mb.SetAttributeUniqueId(pos_att_id, 1234); + std::unique_ptr mesh = mb.Finalize(); + ASSERT_NE(mesh, nullptr); + ASSERT_EQ(mesh->GetAttributeByUniqueId(1234), mesh->attribute(pos_att_id)); +} + #ifdef DRACO_TRANSCODER_SUPPORTED TEST_F(TriangleSoupMeshBuilderTest, NormalizedColor) { // This tests, verifies that the mesh builder constructs a valid model with diff --git a/src/draco/metadata/property_attribute.cc b/src/draco/metadata/property_attribute.cc new file mode 100644 index 00000000..4ca2997f --- /dev/null +++ b/src/draco/metadata/property_attribute.cc @@ -0,0 +1,106 @@ +// Copyright 2023 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#include "draco/metadata/property_attribute.h" + +#include +#include +#include +#include + +#ifdef DRACO_TRANSCODER_SUPPORTED + +namespace draco { + +bool PropertyAttribute::Property::operator==(const Property &other) const { + return name_ == other.name_ && attribute_name_ == other.attribute_name_; +} + +void PropertyAttribute::Property::Copy(const Property &src) { + name_ = src.name_; + attribute_name_ = src.attribute_name_; +} + +void PropertyAttribute::Property::SetName(const std::string &name) { + name_ = name; +} + +const std::string &PropertyAttribute::Property::GetName() const { + return name_; +} + +void PropertyAttribute::Property::SetAttributeName(const std::string &name) { + attribute_name_ = name; +} + +const std::string &PropertyAttribute::Property::GetAttributeName() const { + return attribute_name_; +} + +bool PropertyAttribute::operator==(const PropertyAttribute &other) const { + if (name_ != other.name_ || class_ != other.class_ || + properties_.size() != other.properties_.size()) { + return false; + } + for (int i = 0; i < properties_.size(); ++i) { + if (*properties_[i] != *other.properties_[i]) { + return false; + } + } + return true; +} + +void PropertyAttribute::Copy(const PropertyAttribute &src) { + name_ = src.name_; + class_ = src.class_; + properties_.clear(); + properties_.reserve(src.properties_.size()); + for (int i = 0; i < src.properties_.size(); ++i) { + std::unique_ptr property(new Property()); + property->Copy(src.GetProperty(i)); + properties_.push_back(std::move(property)); + } +} + +void PropertyAttribute::SetName(const std::string &value) { name_ = value; } + +const std::string &PropertyAttribute::GetName() const { return name_; } + +void PropertyAttribute::SetClass(const std::string &value) { class_ = value; } + +const std::string &PropertyAttribute::GetClass() const { return class_; } + +int PropertyAttribute::AddProperty(std::unique_ptr property) { + properties_.push_back(std::move(property)); + return properties_.size() - 1; +} + +int PropertyAttribute::NumProperties() const { return properties_.size(); } + +const PropertyAttribute::Property &PropertyAttribute::GetProperty( + int index) const { + return *properties_[index]; +} + +PropertyAttribute::Property &PropertyAttribute::GetProperty(int index) { + return *properties_[index]; +} + +void PropertyAttribute::RemoveProperty(int index) { + properties_.erase(properties_.begin() + index); +} + +} // namespace draco + +#endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/metadata/property_attribute.h b/src/draco/metadata/property_attribute.h new file mode 100644 index 00000000..9dfe03a1 --- /dev/null +++ b/src/draco/metadata/property_attribute.h @@ -0,0 +1,107 @@ +// Copyright 2023 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#ifndef DRACO_METADATA_PROPERTY_ATTRIBUTE_H_ +#define DRACO_METADATA_PROPERTY_ATTRIBUTE_H_ + +#include "draco/draco_features.h" + +#ifdef DRACO_TRANSCODER_SUPPORTED + +#include +#include +#include + +#include "draco/core/status_or.h" + +namespace draco { + +// Describes a property attribute as defined in the EXT_structural_metadata glTF +// extension. +class PropertyAttribute { + public: + // Describes where property is stored (as an attribute). + class Property { + public: + // Creates an empty property. + Property() = default; + + // Methods for comparing two properties. + bool operator==(const Property &other) const; + bool operator!=(const Property &other) const { return !(*this == other); } + + // Copies all data from |src| property. + void Copy(const Property &src); + + // Name of this property. + void SetName(const std::string &name); + const std::string &GetName() const; + + // Name of glTF attribute containing property values, like "_DIRECTION". + void SetAttributeName(const std::string &name); + const std::string &GetAttributeName() const; + + private: + // Name of this property as in structural metadata schema class property. + std::string name_; + + // Name of glTF attribute containing property values, like "_DIRECTION". + std::string attribute_name_; + + // TODO(vytyaz): Support property value modifiers min, max, offset, scale. + }; + + // Creates an empty property attribute. + PropertyAttribute() = default; + + // Methods for comparing two property attributes. + bool operator==(const PropertyAttribute &other) const; + bool operator!=(const PropertyAttribute &other) const { + return !(*this == other); + } + + // Copies all data from |src| property attribute. + void Copy(const PropertyAttribute &src); + + // Name of this property attribute. + void SetName(const std::string &value); + const std::string &GetName() const; + + // Class of this property attribute. + void SetClass(const std::string &value); + const std::string &GetClass() const; + + // Properties. + int AddProperty(std::unique_ptr property); + int NumProperties() const; + const Property &GetProperty(int index) const; + Property &GetProperty(int index); + void RemoveProperty(int index); + + private: + // The name of the property attribute, e.g., for display purposes. + std::string name_; + + // The class in structural metadata schema that property values conform to. + std::string class_; + + // Properties corresponding to schema class properties, describing where the + // property values are stored (as attributes). + std::vector> properties_; +}; + +} // namespace draco + +#endif // DRACO_TRANSCODER_SUPPORTED +#endif // DRACO_METADATA_PROPERTY_ATTRIBUTE_H_ diff --git a/src/draco/metadata/property_attribute_test.cc b/src/draco/metadata/property_attribute_test.cc new file mode 100644 index 00000000..9a7abc27 --- /dev/null +++ b/src/draco/metadata/property_attribute_test.cc @@ -0,0 +1,247 @@ +// Copyright 2023 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#include "draco/metadata/property_attribute.h" + +#include +#include +#include + +#include "draco/core/draco_test_utils.h" + +namespace { + +#ifdef DRACO_TRANSCODER_SUPPORTED + +TEST(PropertyAttributeTest, TestPropertyDefaults) { + // Test construction of an empty property attribute property. + draco::PropertyAttribute::Property property; + ASSERT_TRUE(property.GetName().empty()); + ASSERT_TRUE(property.GetAttributeName().empty()); +} + +TEST(PropertyAttributeTest, TestPropertyAttributeDefaults) { + // Test construction of an empty property attribute. + draco::PropertyAttribute attribute; + ASSERT_TRUE(attribute.GetName().empty()); + ASSERT_TRUE(attribute.GetClass().empty()); + ASSERT_EQ(attribute.NumProperties(), 0); +} + +TEST(PropertyAttributeTest, TestPropertySettersAndGetters) { + // Test setter and getter methods of the property attribute property. + draco::PropertyAttribute::Property property; + property.SetName("The magnitude."); + property.SetAttributeName("_MAGNITUDE"); + + // Check that property members can be accessed via getters. + ASSERT_EQ(property.GetName(), "The magnitude."); + ASSERT_EQ(property.GetAttributeName(), "_MAGNITUDE"); +} + +TEST(PropertyAttributeTest, TestPropertyAttributeSettersAndGetters) { + // Test setter and getter methods of the property attribute. + draco::PropertyAttribute attribute; + attribute.SetName("The movement."); + attribute.SetClass("movement"); + { + std::unique_ptr property( + new draco::PropertyAttribute::Property()); + property->SetName("The magnitude."); + property->SetAttributeName("_MAGNITUDE"); + ASSERT_EQ(attribute.AddProperty(std::move(property)), 0); + } + { + std::unique_ptr property( + new draco::PropertyAttribute::Property()); + property->SetName("The direction."); + property->SetAttributeName("_DIRECTION"); + ASSERT_EQ(attribute.AddProperty(std::move(property)), 1); + } + + // Check that property attribute members can be accessed via getters. + ASSERT_EQ(attribute.GetName(), "The movement."); + ASSERT_EQ(attribute.GetClass(), "movement"); + ASSERT_EQ(attribute.NumProperties(), 2); + ASSERT_EQ(attribute.GetProperty(0).GetName(), "The magnitude."); + ASSERT_EQ(attribute.GetProperty(0).GetAttributeName(), "_MAGNITUDE"); + ASSERT_EQ(attribute.GetProperty(1).GetName(), "The direction."); + ASSERT_EQ(attribute.GetProperty(1).GetAttributeName(), "_DIRECTION"); + + // Check that properties can be removed. + attribute.RemoveProperty(0); + ASSERT_EQ(attribute.NumProperties(), 1); + ASSERT_EQ(attribute.GetProperty(0).GetName(), "The direction."); + ASSERT_EQ(attribute.GetProperty(0).GetAttributeName(), "_DIRECTION"); + attribute.RemoveProperty(0); + ASSERT_EQ(attribute.NumProperties(), 0); +} + +TEST(PropertyAttributeTest, TestPropertyCopy) { + // Test that property attribute property can be copied. + draco::PropertyAttribute::Property property; + property.SetName("The direction."); + property.SetAttributeName("_DIRECTION"); + + // Make a copy. + draco::PropertyAttribute::Property copy; + copy.Copy(property); + + // Check the copy. + ASSERT_EQ(copy.GetName(), "The direction."); + ASSERT_EQ(copy.GetAttributeName(), "_DIRECTION"); +} + +TEST(PropertyAttributeTest, TestPropertyAttributeCopy) { + // Test that property attribute can be copied. + draco::PropertyAttribute attribute; + attribute.SetName("The movement."); + attribute.SetClass("movement"); + { + std::unique_ptr property( + new draco::PropertyAttribute::Property()); + property->SetName("The magnitude."); + property->SetAttributeName("_MAGNITUDE"); + ASSERT_EQ(attribute.AddProperty(std::move(property)), 0); + } + { + std::unique_ptr property( + new draco::PropertyAttribute::Property()); + property->SetName("The direction."); + property->SetAttributeName("_DIRECTION"); + ASSERT_EQ(attribute.AddProperty(std::move(property)), 1); + } + + // Make a copy. + draco::PropertyAttribute copy; + copy.Copy(attribute); + + // Check the copy. + ASSERT_EQ(attribute.GetName(), "The movement."); + ASSERT_EQ(attribute.GetClass(), "movement"); + ASSERT_EQ(attribute.NumProperties(), 2); + ASSERT_EQ(attribute.GetProperty(0).GetName(), "The magnitude."); + ASSERT_EQ(attribute.GetProperty(0).GetAttributeName(), "_MAGNITUDE"); + ASSERT_EQ(attribute.GetProperty(1).GetName(), "The direction."); + ASSERT_EQ(attribute.GetProperty(1).GetAttributeName(), "_DIRECTION"); +} + +TEST(PropertyAttributeTest, TestPropertyCompare) { + // Test comparison of two properties. + typedef draco::PropertyAttribute::Property Property; + { + // Compare the same property object. + Property a; + ASSERT_TRUE(a == a); + ASSERT_FALSE(a != a); + } + { + // Compare two default property objects. + Property a; + Property b; + ASSERT_TRUE(a == b); + ASSERT_FALSE(a != b); + } + { + // Compare two property objects with different names. + Property a; + Property b; + a.SetName("The magnitude."); + b.SetName("The direction."); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } + { + // Compare two property objects with different attribute names. + Property a; + Property b; + a.SetAttributeName("_MAGNITUDE"); + b.SetAttributeName("_DIRECTION"); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } +} + +TEST(PropertyAttributeTest, TestPropertyAttributeCompare) { + // Test comparison of two property attributes. + typedef draco::PropertyAttribute PropertyAttribute; + typedef draco::PropertyAttribute::Property Property; + { + // Compare the same property attribute object. + PropertyAttribute a; + ASSERT_TRUE(a == a); + ASSERT_FALSE(a != a); + } + { + // Compare two default property attributes. + PropertyAttribute a; + PropertyAttribute b; + ASSERT_TRUE(a == b); + ASSERT_FALSE(a != b); + } + { + // Compare two property attributes with different names. + PropertyAttribute a; + PropertyAttribute b; + a.SetName("The movement."); + b.SetName("The reflection."); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } + { + // Compare two property attributes with different classes. + PropertyAttribute a; + PropertyAttribute b; + a.SetClass("movement"); + b.SetClass("reflection"); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } + { + // Compare two property attributes with identical properties. + PropertyAttribute a; + PropertyAttribute b; + a.AddProperty(std::unique_ptr(new Property)); + b.AddProperty(std::unique_ptr(new Property)); + ASSERT_TRUE(a == b); + ASSERT_FALSE(a != b); + } + { + // Compare two property attributes with different number of properties. + PropertyAttribute a; + PropertyAttribute b; + a.AddProperty(std::unique_ptr(new Property)); + b.AddProperty(std::unique_ptr(new Property)); + b.AddProperty(std::unique_ptr(new Property)); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } + { + // Compare two property attributes with different properties. + PropertyAttribute a; + PropertyAttribute b; + std::unique_ptr p1(new Property); + std::unique_ptr p2(new Property); + p1->SetName("The magnitude."); + p2->SetName("The direction."); + a.AddProperty(std::move(p1)); + b.AddProperty(std::move(p2)); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } +} + +#endif // DRACO_TRANSCODER_SUPPORTED + +} // namespace diff --git a/src/draco/metadata/property_table.cc b/src/draco/metadata/property_table.cc index c6a5fd98..dae45ea1 100644 --- a/src/draco/metadata/property_table.cc +++ b/src/draco/metadata/property_table.cc @@ -23,111 +23,56 @@ namespace draco { -bool PropertyTable::Schema::Object::operator==(const Object& other) const { - if (type_ != other.type_ || name_ != other.name_) { - return false; - } - switch (type_) { - case OBJECT: - if (objects_.size() != other.objects_.size()) { - return false; - } - for (int i = 0; i < objects_.size(); ++i) { - if (objects_[i] != other.objects_[i]) { - return false; - } - } - break; - case ARRAY: - if (array_.size() != other.array_.size()) { - return false; - } - for (int i = 0; i < array_.size(); ++i) { - if (array_[i] != other.array_[i]) { - return false; - } - } - break; - case STRING: - return string_ == other.string_; - case INTEGER: - return integer_ == other.integer_; - case BOOLEAN: - return boolean_ == other.boolean_; - } - return true; -} - -void PropertyTable::Schema::Object::Copy(const Object& src) { - name_ = src.name_; - type_ = src.type_; - objects_.reserve(src.objects_.size()); - for (const Object& obj : src.objects_) { - objects_.emplace_back(); - objects_.back().Copy(obj); - } - array_.reserve(src.array_.size()); - for (const Object& obj : src.array_) { - array_.emplace_back(); - array_.back().Copy(obj); - } - string_ = src.string_; - integer_ = src.integer_; - boolean_ = src.boolean_; -} - -PropertyTable::Property::Property() {} - -bool PropertyTable::Property::Data::operator==(const Data& other) const { +bool PropertyTable::Property::Data::operator==(const Data &other) const { return data == other.data && target == other.target; } -bool PropertyTable::Property::Offsets::operator==(const Offsets& other) const { +bool PropertyTable::Property::Offsets::operator==(const Offsets &other) const { return data == other.data && type == other.type; } -bool PropertyTable::Property::operator==(const Property& other) const { +bool PropertyTable::Property::operator==(const Property &other) const { return name_ == other.name_ && data_ == other.data_ && array_offsets_ == other.array_offsets_ && string_offsets_ == other.string_offsets_; } -void PropertyTable::Property::Copy(const Property& src) { +void PropertyTable::Property::Copy(const Property &src) { name_ = src.name_; data_ = src.data_; array_offsets_ = src.array_offsets_; string_offsets_ = src.string_offsets_; } -void PropertyTable::Property::SetName(const std::string& name) { name_ = name; } -const std::string& PropertyTable::Property::GetName() const { return name_; } +void PropertyTable::Property::SetName(const std::string &name) { name_ = name; } +const std::string &PropertyTable::Property::GetName() const { return name_; } -PropertyTable::Property::Data& PropertyTable::Property::GetData() { +PropertyTable::Property::Data &PropertyTable::Property::GetData() { return data_; } -const PropertyTable::Property::Data& PropertyTable::Property::GetData() const { +const PropertyTable::Property::Data &PropertyTable::Property::GetData() const { return data_; } -const PropertyTable::Property::Offsets& +const PropertyTable::Property::Offsets & PropertyTable::Property::GetArrayOffsets() const { return array_offsets_; } -PropertyTable::Property::Offsets& PropertyTable::Property::GetArrayOffsets() { +PropertyTable::Property::Offsets &PropertyTable::Property::GetArrayOffsets() { return array_offsets_; } -const PropertyTable::Property::Offsets& +const PropertyTable::Property::Offsets & PropertyTable::Property::GetStringOffsets() const { return string_offsets_; } -PropertyTable::Property::Offsets& PropertyTable::Property::GetStringOffsets() { +PropertyTable::Property::Offsets &PropertyTable::Property::GetStringOffsets() { return string_offsets_; } PropertyTable::PropertyTable() : count_(0) {} -bool PropertyTable::operator==(const PropertyTable& other) const { +bool PropertyTable::operator==(const PropertyTable &other) const { if (name_ != other.name_ || class_ != other.class_ || count_ != other.count_ || properties_.size() != other.properties_.size()) { @@ -141,7 +86,7 @@ bool PropertyTable::operator==(const PropertyTable& other) const { return true; } -void PropertyTable::Copy(const PropertyTable& src) { +void PropertyTable::Copy(const PropertyTable &src) { name_ = src.name_; class_ = src.class_; count_ = src.count_; @@ -154,11 +99,11 @@ void PropertyTable::Copy(const PropertyTable& src) { } } -void PropertyTable::SetName(const std::string& value) { name_ = value; } -const std::string& PropertyTable::GetName() const { return name_; } +void PropertyTable::SetName(const std::string &value) { name_ = value; } +const std::string &PropertyTable::GetName() const { return name_; } -void PropertyTable::SetClass(const std::string& value) { class_ = value; } -const std::string& PropertyTable::GetClass() const { return class_; } +void PropertyTable::SetClass(const std::string &value) { class_ = value; } +const std::string &PropertyTable::GetClass() const { return class_; } void PropertyTable::SetCount(int count) { count_ = count; } int PropertyTable::GetCount() const { return count_; } @@ -168,10 +113,10 @@ int PropertyTable::AddProperty(std::unique_ptr property) { return properties_.size() - 1; } int PropertyTable::NumProperties() const { return properties_.size(); } -const PropertyTable::Property& PropertyTable::GetProperty(int index) const { +const PropertyTable::Property &PropertyTable::GetProperty(int index) const { return *properties_[index]; } -PropertyTable::Property& PropertyTable::GetProperty(int index) { +PropertyTable::Property &PropertyTable::GetProperty(int index) { return *properties_[index]; } void PropertyTable::RemoveProperty(int index) { diff --git a/src/draco/metadata/property_table.h b/src/draco/metadata/property_table.h index 41efb016..db2943ee 100644 --- a/src/draco/metadata/property_table.h +++ b/src/draco/metadata/property_table.h @@ -19,116 +19,29 @@ #ifdef DRACO_TRANSCODER_SUPPORTED +#include +#include +#include #include #include #include +#include "draco/core/status_or.h" + namespace draco { -// Describes a property table as defined in the EXT_structural_metadata glTF -// extension, including property table schema and table properties (columns). +// Describes a property table (properties are table columns) as defined in the +// EXT_structural_metadata glTF extension. class PropertyTable { public: - // Describes property table schema in the form of a JSON object. - struct Schema { - // JSON object of the schema. - // TODO(vytyaz): Consider using a third_party/json library. Currently there - // is a conflict between Filament's assert_invariant() macro and JSON - // library's assert_invariant() method that causes compile errors in Draco - // visualization library. - class Object { - public: - enum Type { OBJECT, ARRAY, STRING, INTEGER, BOOLEAN }; - - // Constructors. - Object() : Object("") {} - explicit Object(const std::string& name) - : name_(name), type_(OBJECT), integer_(0), boolean_(false) {} - Object(const std::string& name, const std::string& value) : Object(name) { - SetString(value); - } - Object(const std::string& name, const char* value) : Object(name) { - SetString(value); - } - Object(const std::string& name, int value) : Object(name) { - SetInteger(value); - } - Object(const std::string& name, bool value) : Object(name) { - SetBoolean(value); - } - - // Methods for comparing two objects. - bool operator==(const Object& other) const; - bool operator!=(const Object& other) const { return !(*this == other); } - - // Method for copying the object. - void Copy(const Object& src); - - // Methods for getting object name and type. - const std::string& GetName() const { return name_; } - Type GetType() const { return type_; } - - // Methods for getting object value. - const std::vector& GetObjects() const { return objects_; } - const std::vector& GetArray() const { return array_; } - const std::string& GetString() const { return string_; } - int GetInteger() const { return integer_; } - bool GetBoolean() const { return boolean_; } - - // Methods for setting object value. - std::vector& SetObjects() { - type_ = OBJECT; - return objects_; - } - std::vector& SetArray() { - type_ = ARRAY; - return array_; - } - void SetString(const std::string& value) { - type_ = STRING; - string_ = value; - } - void SetInteger(int value) { - type_ = INTEGER; - integer_ = value; - } - void SetBoolean(bool value) { - type_ = BOOLEAN; - boolean_ = value; - } - - private: - std::string name_; - Type type_; - std::vector objects_; - std::vector array_; - std::string string_; - int integer_; - bool boolean_; - }; - - // Valid schema top-level JSON object name is "schema". - Schema() : json("schema") {} - - // Methods for comparing two schemas. - bool operator==(const Schema& other) const { return json == other.json; } - bool operator!=(const Schema& other) const { return !(*this == other); } - - // Valid schema top-level JSON object is required to have child objects. - bool Empty() const { return json.GetObjects().empty(); } - - // Top-level JSON object of the schema. - Object json; - }; - // Describes a property (column) of a property table. class Property { public: // Describes glTF buffer view data. struct Data { // Methods for comparing two data objects. - bool operator==(const Data& other) const; - bool operator!=(const Data& other) const { return !(*this == other); } + bool operator==(const Data &other) const; + bool operator!=(const Data &other) const { return !(*this == other); } // Buffer view data. std::vector data; @@ -143,36 +56,102 @@ class PropertyTable { // arrays. struct Offsets { // Methods for comparing two offsets. - bool operator==(const Offsets& other) const; - bool operator!=(const Offsets& other) const { return !(*this == other); } + bool operator==(const Offsets &other) const; + bool operator!=(const Offsets &other) const { return !(*this == other); } // Data containing the offset entries. Data data; // Data type of the offset entries. std::string type; + + // Builds a new Offsets object given the offsets in |ints|. The resultant + // offsets will choose the smallest possible result.type that can contain + // all of the input |ints|. + static Offsets MakeFromInts(const std::vector &ints) { + uint64_t max_value = 0; + for (uint64_t i = 0; i < ints.size(); ++i) { + if (ints[i] > max_value) { + max_value = ints[i]; + } + } + + Offsets result; + int bytes_per_int = 0; + if (max_value <= std::numeric_limits::max()) { + result.type = "UINT8"; + bytes_per_int = 1; + } else if (max_value <= std::numeric_limits::max()) { + result.type = "UINT16"; + bytes_per_int = 2; + } else if (max_value <= std::numeric_limits::max()) { + result.type = "UINT32"; + bytes_per_int = 4; + } else { + result.type = "UINT64"; + bytes_per_int = 8; + } + + result.data.data.resize(ints.size() * bytes_per_int); + for (uint64_t i = 0; i < ints.size(); ++i) { + // This assumes execution on a little endian platform. + memcpy(&result.data.data[i * bytes_per_int], &ints[i], bytes_per_int); + } + + return result; + } + + // Decodes the binary data in Offsets::data into offset integers as + // defined by the EXT_structural_metadata extension. Returns an error if + // Offsets::type is not one of the types allowed by the spec. + StatusOr> ParseToInts() const { + if (data.data.empty()) { + return std::vector(); + } + + int bytes_per_int = 0; + if (type == "UINT8") { + bytes_per_int = 1; + } else if (type == "UINT16") { + bytes_per_int = 2; + } else if (type == "UINT32") { + bytes_per_int = 4; + } else if (type == "UINT64") { + bytes_per_int = 8; + } else { + return Status(Status::DRACO_ERROR, "Offsets data type invalid"); + } + + const int count = data.data.size() / bytes_per_int; + std::vector result(count); + for (int i = 0; i < count; ++i) { + // This assumes execution on a little endian platform. + memcpy(&result[i], &data.data[i * bytes_per_int], bytes_per_int); + } + return result; + } }; // Creates an empty property. - Property(); + Property() = default; // Methods for comparing two properties. - bool operator==(const Property& other) const; - bool operator!=(const Property& other) const { return !(*this == other); } + bool operator==(const Property &other) const; + bool operator!=(const Property &other) const { return !(*this == other); } // Copies all data from |src| property. - void Copy(const Property& src); + void Copy(const Property &src); // Name of this property. - void SetName(const std::string& name); - const std::string& GetName() const; + void SetName(const std::string &name); + const std::string &GetName() const; // Property data stores one table column worth of data. For example, when // the data of type UINT8 is [11, 22] then the property values are 11 and 22 // for the first and second table rows. See EXT_structural_metadata glTF // extension documentation for more details. - Data& GetData(); - const Data& GetData() const; + Data &GetData(); + const Data &GetData() const; // Array offsets are used when property data contains a variable-length // number arrays. For example, when the data is [0, 1, 2, 3, 4] and the @@ -180,16 +159,16 @@ class PropertyTable { // arrays are [0, 1] and [2, 3, 4] for the first and second table rows, // respectively. See EXT_structural_metadata glTF extension documentation // for more details. - const Offsets& GetArrayOffsets() const; - Offsets& GetArrayOffsets(); + const Offsets &GetArrayOffsets() const; + Offsets &GetArrayOffsets(); // String offsets are used when property data contains strings. For example, // when the data is "SeaLand" and the array offsets are [0, 3, 7] for a // two-row table, then the property strings are "Sea" and "Land" for the // first and second table rows, respectively. See EXT_structural_metadata // glTF extension documentation for more details. - const Offsets& GetStringOffsets() const; - Offsets& GetStringOffsets(); + const Offsets &GetStringOffsets() const; + Offsets &GetStringOffsets(); private: std::string name_; @@ -203,21 +182,21 @@ class PropertyTable { PropertyTable(); // Methods for comparing two property tables. - bool operator==(const PropertyTable& other) const; - bool operator!=(const PropertyTable& other) const { + bool operator==(const PropertyTable &other) const; + bool operator!=(const PropertyTable &other) const { return !(*this == other); } // Copies all data from |src| property table. - void Copy(const PropertyTable& src); + void Copy(const PropertyTable &src); // Name of this property table. - void SetName(const std::string& value); - const std::string& GetName() const; + void SetName(const std::string &value); + const std::string &GetName() const; // Class of this property table. - void SetClass(const std::string& value); - const std::string& GetClass() const; + void SetClass(const std::string &value); + const std::string &GetClass() const; // Number of rows in this property table. void SetCount(int count); @@ -226,8 +205,8 @@ class PropertyTable { // Table properties (columns). int AddProperty(std::unique_ptr property); int NumProperties() const; - const Property& GetProperty(int index) const; - Property& GetProperty(int index); + const Property &GetProperty(int index) const; + Property &GetProperty(int index); void RemoveProperty(int index); private: diff --git a/src/draco/metadata/property_table_test.cc b/src/draco/metadata/property_table_test.cc index 4d5ee2d2..42433483 100644 --- a/src/draco/metadata/property_table_test.cc +++ b/src/draco/metadata/property_table_test.cc @@ -14,11 +14,12 @@ // #include "draco/metadata/property_table.h" +#include #include +#include #include #include -#include "draco/core/draco_test_base.h" #include "draco/core/draco_test_utils.h" namespace { @@ -60,266 +61,6 @@ TEST(PropertyTableTest, TestPropertyTableDefaults) { ASSERT_EQ(table.NumProperties(), 0); } -TEST(PropertyTableTest, TestSchemaDefaults) { - // Test construction of an empty property table schema. - draco::PropertyTable::Schema schema; - ASSERT_TRUE(schema.Empty()); - ASSERT_EQ(schema.json.GetName(), "schema"); - ASSERT_EQ(schema.json.GetType(), - draco::PropertyTable::Schema::Object::OBJECT); - ASSERT_TRUE(schema.json.GetObjects().empty()); - ASSERT_TRUE(schema.json.GetArray().empty()); - ASSERT_TRUE(schema.json.GetString().empty()); - ASSERT_EQ(schema.json.GetInteger(), 0); - ASSERT_FALSE(schema.json.GetBoolean()); -} - -TEST(PropertyTableTest, TestSchemaObjectDefaultConstructor) { - // Test construction of an empty property table schema object. - draco::PropertyTable::Schema::Object object; - ASSERT_TRUE(object.GetName().empty()); - ASSERT_EQ(object.GetType(), draco::PropertyTable::Schema::Object::OBJECT); - ASSERT_TRUE(object.GetObjects().empty()); - ASSERT_TRUE(object.GetArray().empty()); - ASSERT_TRUE(object.GetString().empty()); - ASSERT_EQ(object.GetInteger(), 0); - ASSERT_FALSE(object.GetBoolean()); -} - -TEST(PropertyTableTest, TestSchemaObjectNamedConstructor) { - // Test construction of a named property table schema object. - draco::PropertyTable::Schema::Object object("Flexible Demeanour"); - ASSERT_EQ(object.GetName(), "Flexible Demeanour"); - ASSERT_EQ(object.GetType(), draco::PropertyTable::Schema::Object::OBJECT); - ASSERT_TRUE(object.GetObjects().empty()); -} - -TEST(PropertyTableTest, TestSchemaObjectStringConstructor) { - // Test construction of property table schema object storing a string. - draco::PropertyTable::Schema::Object object("Flexible Demeanour", "GCU"); - ASSERT_EQ(object.GetName(), "Flexible Demeanour"); - ASSERT_EQ(object.GetType(), draco::PropertyTable::Schema::Object::STRING); - ASSERT_EQ(object.GetString(), "GCU"); -} - -TEST(PropertyTableTest, TestSchemaObjectIntegerConstructor) { - // Test construction of property table schema object storing an integer. - draco::PropertyTable::Schema::Object object("Flexible Demeanour", 12); - ASSERT_EQ(object.GetName(), "Flexible Demeanour"); - ASSERT_EQ(object.GetType(), draco::PropertyTable::Schema::Object::INTEGER); - ASSERT_EQ(object.GetInteger(), 12); -} - -TEST(PropertyTableTest, TestSchemaObjectBooleanConstructor) { - // Test construction of property table schema object storing a boolean. - draco::PropertyTable::Schema::Object object("Flexible Demeanour", true); - ASSERT_EQ(object.GetName(), "Flexible Demeanour"); - ASSERT_EQ(object.GetType(), draco::PropertyTable::Schema::Object::BOOLEAN); - ASSERT_TRUE(object.GetBoolean()); -} - -TEST(PropertyTableTest, TestSchemaObjectSettersAndGetters) { - // Test value setters and getters of property table schema object. - typedef draco::PropertyTable::Schema::Object Object; - Object object; - ASSERT_EQ(object.GetType(), Object::OBJECT); - - object.SetArray().push_back(Object("entry", 12)); - ASSERT_EQ(object.GetType(), Object::ARRAY); - ASSERT_EQ(object.GetArray().size(), 1); - ASSERT_EQ(object.GetArray()[0].GetName(), "entry"); - ASSERT_EQ(object.GetArray()[0].GetInteger(), 12); - - object.SetObjects().push_back(Object("object", 9)); - ASSERT_EQ(object.GetType(), Object::OBJECT); - ASSERT_EQ(object.GetObjects().size(), 1); - ASSERT_EQ(object.GetObjects()[0].GetName(), "object"); - ASSERT_EQ(object.GetObjects()[0].GetInteger(), 9); - - object.SetString("matter"); - ASSERT_EQ(object.GetType(), Object::STRING); - ASSERT_EQ(object.GetString(), "matter"); - - object.SetInteger(5); - ASSERT_EQ(object.GetType(), Object::INTEGER); - ASSERT_EQ(object.GetInteger(), 5); - - object.SetBoolean(true); - ASSERT_EQ(object.GetType(), Object::BOOLEAN); - ASSERT_EQ(object.GetBoolean(), true); -} - -TEST(PropertyTableTest, TestSchemaCompare) { - typedef draco::PropertyTable::Schema Schema; - // Test comparison of two schema objects. - { - // Compare the same empty schema object. - Schema a; - ASSERT_TRUE(a == a); - ASSERT_FALSE(a != a); - } - { - // Compare two empty schema objects. - Schema a; - Schema b; - ASSERT_TRUE(a == b); - ASSERT_FALSE(a != b); - } - { - // Compare two schema objects with different JSON objects. - Schema a; - Schema b; - a.json.SetBoolean(true); - b.json.SetBoolean(false); - ASSERT_FALSE(a == b); - ASSERT_TRUE(a != b); - } -} - -TEST(PropertyTableTest, TestSchemaObjectCompare) { - // Test comparison of two schema JSON objects. - typedef draco::PropertyTable::Schema::Object Object; - { - // Compare the same object. - Object a; - ASSERT_TRUE(a == a); - ASSERT_FALSE(a != a); - } - { - // Compare two default objects. - Object a; - Object b; - ASSERT_TRUE(a == b); - ASSERT_FALSE(a != b); - } - { - // Compare two objects with different names. - Object a("one"); - Object b("two"); - ASSERT_FALSE(a == b); - ASSERT_TRUE(a != b); - } - { - // Compare two objects with different types. - Object a; - Object b; - a.SetInteger(1); - b.SetString("one"); - ASSERT_FALSE(a == b); - ASSERT_TRUE(a != b); - } - { - // Compare two identical string-type objects. - Object a; - Object b; - a.SetString("one"); - b.SetString("one"); - ASSERT_TRUE(a == b); - ASSERT_FALSE(a != b); - } - { - // Compare two different string-type objects. - Object a; - Object b; - a.SetString("one"); - b.SetString("two"); - ASSERT_FALSE(a == b); - ASSERT_TRUE(a != b); - } - { - // Compare two identical integer-type objects. - Object a; - Object b; - a.SetInteger(1); - b.SetInteger(1); - ASSERT_TRUE(a == b); - ASSERT_FALSE(a != b); - } - { - // Compare two different integer-type objects. - Object a; - Object b; - a.SetInteger(1); - b.SetInteger(2); - ASSERT_FALSE(a == b); - ASSERT_TRUE(a != b); - } - { - // Compare two identical boolean-type objects. - Object a; - Object b; - a.SetBoolean(true); - b.SetBoolean(true); - ASSERT_TRUE(a == b); - ASSERT_FALSE(a != b); - } - { - // Compare two different boolean-type objects. - Object a; - Object b; - a.SetBoolean(true); - b.SetBoolean(false); - ASSERT_FALSE(a == b); - ASSERT_TRUE(a != b); - } - { - // Compare two identical object-type objects. - Object a; - Object b; - a.SetObjects().emplace_back("one"); - b.SetObjects().emplace_back("one"); - ASSERT_TRUE(a == b); - ASSERT_FALSE(a != b); - } - { - // Compare two different object-type objects. - Object a; - Object b; - a.SetObjects().emplace_back("one"); - b.SetObjects().emplace_back("two"); - ASSERT_FALSE(a == b); - ASSERT_TRUE(a != b); - } - { - // Compare two object-type objects with different counts. - Object a; - Object b; - a.SetObjects().emplace_back("one"); - b.SetObjects().emplace_back("one"); - b.SetObjects().emplace_back("two"); - ASSERT_FALSE(a == b); - ASSERT_TRUE(a != b); - } - { - // Compare two identical array-type objects. - Object a; - Object b; - a.SetArray().emplace_back("", 1); - b.SetArray().emplace_back("", 1); - ASSERT_TRUE(a == b); - ASSERT_FALSE(a != b); - } - { - // Compare two different array-type objects. - Object a; - Object b; - a.SetArray().emplace_back("", 1); - b.SetArray().emplace_back("", 2); - ASSERT_FALSE(a == b); - ASSERT_TRUE(a != b); - } - { - // Compare two array-type objects with different counts. - Object a; - Object b; - a.SetArray().emplace_back("", 1); - b.SetArray().emplace_back("", 1); - b.SetArray().emplace_back("", 2); - ASSERT_FALSE(a == b); - ASSERT_TRUE(a != b); - } -} - TEST(PropertyTableTest, TestPropertySettersAndGetters) { // Test setter and getter methods of the property table property. draco::PropertyTable::Property property; @@ -619,6 +360,78 @@ TEST(PropertyTableTest, TestPropertyTableCompare) { } } +TEST(PropertyTableTest, EnodesAndDecodesOffsetBuffers) { + { + // Encoding an offset buffer from small integers that should fit in an 8 bit + // integer. + std::vector sample_offsets = {0x5u, 0x21u, 0x7u, 0x32u, 0xffu}; + auto encoded_offsets = + draco::PropertyTable::Property::Offsets::MakeFromInts(sample_offsets); + ASSERT_EQ(encoded_offsets.data.data, + std::vector({0x5u, 0x21u, 0x7u, 0x32u, 0xffu})); + ASSERT_EQ(encoded_offsets.type, "UINT8"); + + DRACO_ASSIGN_OR_ASSERT(std::vector decoded_offsets, + encoded_offsets.ParseToInts()); + ASSERT_EQ(decoded_offsets, sample_offsets); + } + { + // Encoding an offset buffer from medium sized integers that should fit in a + // 16 bit integer. + std::vector sample_offsets = {0x5u, 0x21u, 0xffffu}; + auto encoded_offsets = + draco::PropertyTable::Property::Offsets::MakeFromInts(sample_offsets); + ASSERT_EQ(encoded_offsets.data.data, + std::vector({0x5u, 0u, 0x21u, 0u, 0xffu, 0xffu})); + ASSERT_EQ(encoded_offsets.type, "UINT16"); + + DRACO_ASSIGN_OR_ASSERT(std::vector decoded_offsets, + encoded_offsets.ParseToInts()); + ASSERT_EQ(decoded_offsets, sample_offsets); + } + { + // Encoding an offset buffer from medium sized integers that should fit in a + // 32 bit integer. + std::vector sample_offsets = {0x5u, 0x21u, 0xffffffffu}; + auto encoded_offsets = + draco::PropertyTable::Property::Offsets::MakeFromInts(sample_offsets); + ASSERT_EQ(encoded_offsets.data.data, + std::vector({0x5u, 0u, 0u, 0u, 0x21u, 0u, 0u, 0u, 0xffu, + 0xffu, 0xffu, 0xffu})); + ASSERT_EQ(encoded_offsets.type, "UINT32"); + + DRACO_ASSIGN_OR_ASSERT(std::vector decoded_offsets, + encoded_offsets.ParseToInts()); + ASSERT_EQ(decoded_offsets, sample_offsets); + } + { + // Encoding an offset buffer from large integers that won't fit in a 32 bit + // integer. + std::vector sample_offsets = {0x5u, 0x21u, 0x100000000u}; + auto encoded_offsets = + draco::PropertyTable::Property::Offsets::MakeFromInts(sample_offsets); + ASSERT_EQ(encoded_offsets.data.data, + std::vector({0x5u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, + 0x21u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, + 0u, 0u, 0u, 0u, 1u, 0u, 0u, 0u})); + ASSERT_EQ(encoded_offsets.type, "UINT64"); + + DRACO_ASSIGN_OR_ASSERT(std::vector decoded_offsets, + encoded_offsets.ParseToInts()); + ASSERT_EQ(decoded_offsets, sample_offsets); + } + { + // Decoding a malformed buffer should return an error. + draco::PropertyTable::Property::Offsets broken_offsets; + broken_offsets.data.data = std::vector({0, 0, 0, 0}); + broken_offsets.type = "BROKEN_TYPE"; + + draco::StatusOr> decoded_offsets = + broken_offsets.ParseToInts(); + ASSERT_FALSE(decoded_offsets.ok()); + } +} + #endif // DRACO_TRANSCODER_SUPPORTED } // namespace diff --git a/src/draco/metadata/structural_metadata.cc b/src/draco/metadata/structural_metadata.cc index 48fff2b2..a60b5c9e 100644 --- a/src/draco/metadata/structural_metadata.cc +++ b/src/draco/metadata/structural_metadata.cc @@ -21,30 +21,54 @@ namespace draco { -StructuralMetadata::StructuralMetadata() {} +// Returns true if vectors |a| and |b| have the same size and their entries +// (unique pointers) point to objects that compare equally. +template +bool VectorsAreEqual(const std::vector> &a, + const std::vector> &b) { + if (a.size() != b.size()) { + return false; + } + for (int i = 0; i < a.size(); ++i) { + if (*a[i] != *b[i]) { + return false; + } + } + return true; +} bool StructuralMetadata::operator==(const StructuralMetadata &other) const { - return property_table_schema_ == other.property_table_schema_ && - property_tables_ == other.property_tables_; + return schema_ == other.schema_ && + VectorsAreEqual(property_tables_, other.property_tables_) && + VectorsAreEqual(property_attributes_, other.property_attributes_); } void StructuralMetadata::Copy(const StructuralMetadata &src) { - property_table_schema_.json.Copy(src.property_table_schema_.json); + // Copy schema. + schema_.json.Copy(src.schema_.json); + + // Copy property tables. property_tables_.resize(src.property_tables_.size()); for (int i = 0; i < property_tables_.size(); ++i) { property_tables_[i] = std::unique_ptr(new PropertyTable()); property_tables_[i]->Copy(*src.property_tables_[i]); } + + // Copy property attributes. + property_attributes_.resize(src.property_attributes_.size()); + for (int i = 0; i < property_attributes_.size(); ++i) { + property_attributes_[i] = + std::unique_ptr(new PropertyAttribute()); + property_attributes_[i]->Copy(*src.property_attributes_[i]); + } } -void StructuralMetadata::SetPropertyTableSchema( - const PropertyTable::Schema &schema) { - property_table_schema_ = schema; +void StructuralMetadata::SetSchema(const StructuralMetadataSchema &schema) { + schema_ = schema; } -const PropertyTable::Schema &StructuralMetadata::GetPropertyTableSchema() - const { - return property_table_schema_; +const StructuralMetadataSchema &StructuralMetadata::GetSchema() const { + return schema_; } int StructuralMetadata::AddPropertyTable( @@ -69,6 +93,29 @@ void StructuralMetadata::RemovePropertyTable(int index) { property_tables_.erase(property_tables_.begin() + index); } +int StructuralMetadata::AddPropertyAttribute( + std::unique_ptr property_attribute) { + property_attributes_.push_back(std::move(property_attribute)); + return property_attributes_.size() - 1; +} + +int StructuralMetadata::NumPropertyAttributes() const { + return property_attributes_.size(); +} + +const PropertyAttribute &StructuralMetadata::GetPropertyAttribute( + int index) const { + return *property_attributes_[index]; +} + +PropertyAttribute &StructuralMetadata::GetPropertyAttribute(int index) { + return *property_attributes_[index]; +} + +void StructuralMetadata::RemovePropertyAttribute(int index) { + property_attributes_.erase(property_attributes_.begin() + index); +} + } // namespace draco #endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/metadata/structural_metadata.h b/src/draco/metadata/structural_metadata.h index 24756c70..0404370c 100644 --- a/src/draco/metadata/structural_metadata.h +++ b/src/draco/metadata/structural_metadata.h @@ -20,17 +20,18 @@ #ifdef DRACO_TRANSCODER_SUPPORTED #include -#include #include +#include "draco/metadata/property_attribute.h" #include "draco/metadata/property_table.h" +#include "draco/metadata/structural_metadata_schema.h" namespace draco { // Holds data associated with EXT_structural_metadata glTF extension. class StructuralMetadata { public: - StructuralMetadata(); + StructuralMetadata() = default; // Methods for comparing two structural metadata objects. bool operator==(const StructuralMetadata &other) const; @@ -41,9 +42,9 @@ class StructuralMetadata { // Copies |src| structural metadata into this object. void Copy(const StructuralMetadata &src); - // Property table schema. - void SetPropertyTableSchema(const PropertyTable::Schema &schema); - const PropertyTable::Schema &GetPropertyTableSchema() const; + // Schema of the structural metadata. + void SetSchema(const StructuralMetadataSchema &schema); + const StructuralMetadataSchema &GetSchema() const; // Property tables. int AddPropertyTable(std::unique_ptr property_table); @@ -52,10 +53,23 @@ class StructuralMetadata { PropertyTable &GetPropertyTable(int index); void RemovePropertyTable(int index); + // Property attributes. + int AddPropertyAttribute( + std::unique_ptr property_attribute); + int NumPropertyAttributes() const; + const PropertyAttribute &GetPropertyAttribute(int index) const; + PropertyAttribute &GetPropertyAttribute(int index); + void RemovePropertyAttribute(int index); + private: - // Property table schema and property tables. - PropertyTable::Schema property_table_schema_; + // Schema of the structural metadata. + StructuralMetadataSchema schema_; + + // Property tables. std::vector> property_tables_; + + // Property attributes. + std::vector> property_attributes_; }; } // namespace draco diff --git a/src/draco/metadata/structural_metadata_schema.cc b/src/draco/metadata/structural_metadata_schema.cc new file mode 100644 index 00000000..c63014e4 --- /dev/null +++ b/src/draco/metadata/structural_metadata_schema.cc @@ -0,0 +1,158 @@ +// Copyright 2023 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#include "draco/metadata/structural_metadata_schema.h" + +#include +#include + +#ifdef DRACO_TRANSCODER_SUPPORTED + +namespace draco { + +StructuralMetadataSchema::Object::Object() : Object("") {} + +StructuralMetadataSchema::Object::Object(const std::string &name) + : name_(name), type_(OBJECT), integer_(0), boolean_(false) {} + +StructuralMetadataSchema::Object::Object(const std::string &name, + const std::string &value) + : Object(name) { + SetString(value); +} + +StructuralMetadataSchema::Object::Object(const std::string &name, + const char *value) + : Object(name) { + SetString(value); +} + +StructuralMetadataSchema::Object::Object(const std::string &name, int value) + : Object(name) { + SetInteger(value); +} + +StructuralMetadataSchema::Object::Object(const std::string &name, bool value) + : Object(name) { + SetBoolean(value); +} + +bool StructuralMetadataSchema::Object::operator==(const Object &other) const { + if (type_ != other.type_ || name_ != other.name_) { + return false; + } + switch (type_) { + case OBJECT: + if (objects_.size() != other.objects_.size()) { + return false; + } + for (int i = 0; i < objects_.size(); ++i) { + if (objects_[i] != other.objects_[i]) { + return false; + } + } + break; + case ARRAY: + if (array_.size() != other.array_.size()) { + return false; + } + for (int i = 0; i < array_.size(); ++i) { + if (array_[i] != other.array_[i]) { + return false; + } + } + break; + case STRING: + return string_ == other.string_; + case INTEGER: + return integer_ == other.integer_; + case BOOLEAN: + return boolean_ == other.boolean_; + } + return true; +} + +bool StructuralMetadataSchema::Object::operator!=(const Object &other) const { + return !(*this == other); +} + +void StructuralMetadataSchema::Object::Copy(const Object &src) { + name_ = src.name_; + type_ = src.type_; + objects_.reserve(src.objects_.size()); + for (const Object &obj : src.objects_) { + objects_.emplace_back(); + objects_.back().Copy(obj); + } + array_.reserve(src.array_.size()); + for (const Object &obj : src.array_) { + array_.emplace_back(); + array_.back().Copy(obj); + } + string_ = src.string_; + integer_ = src.integer_; + boolean_ = src.boolean_; +} + +const StructuralMetadataSchema::Object * +StructuralMetadataSchema::Object::GetObjectByName( + const std::string &name) const { + for (const Object &obj : objects_) { + if (obj.GetName() == name) { + return &obj; + } + } + return nullptr; +} + +std::vector & +StructuralMetadataSchema::Object::SetObjects() { + type_ = OBJECT; + return objects_; +} + +std::vector & +StructuralMetadataSchema::Object::SetArray() { + type_ = ARRAY; + return array_; +} + +void StructuralMetadataSchema::Object::SetString(const std::string &value) { + type_ = STRING; + string_ = value; +} + +void StructuralMetadataSchema::Object::SetInteger(int value) { + type_ = INTEGER; + integer_ = value; +} + +void StructuralMetadataSchema::Object::SetBoolean(bool value) { + type_ = BOOLEAN; + boolean_ = value; +} + +bool StructuralMetadataSchema::operator==( + const StructuralMetadataSchema &other) const { + return json == other.json; +} + +bool StructuralMetadataSchema::operator!=( + const StructuralMetadataSchema &other) const { + return !(*this == other); +} + +} // namespace draco + +#endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/metadata/structural_metadata_schema.h b/src/draco/metadata/structural_metadata_schema.h new file mode 100644 index 00000000..dbca08cc --- /dev/null +++ b/src/draco/metadata/structural_metadata_schema.h @@ -0,0 +1,118 @@ +// Copyright 2023 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#ifndef DRACO_METADATA_SCHEMA_H_ +#define DRACO_METADATA_SCHEMA_H_ + +#include "draco/draco_features.h" + +#ifdef DRACO_TRANSCODER_SUPPORTED + +#include +#include +#include +#include +#include +#include + +#include "draco/core/status_or.h" + +namespace draco { + +// Defines schema that describes the structure of the metadata as defined in the +// EXT_structural_metadata glTF extension, in the form of a JSON object. +struct StructuralMetadataSchema { + // JSON object of the schema. + // TODO(vytyaz): Consider using a third_party/json library. Currently there + // is a conflict between Filament's assert_invariant() macro and JSON + // library's assert_invariant() method that causes compile errors in Draco + // visualization library. + class Object { + public: + enum Type { OBJECT, ARRAY, STRING, INTEGER, BOOLEAN }; + + // Constructors. + Object(); + explicit Object(const std::string &name); + Object(const std::string &name, const std::string &value); + Object(const std::string &name, const char *value); + Object(const std::string &name, int value); + Object(const std::string &name, bool value); + + // Methods for comparing two objects. + bool operator==(const Object &other) const; + bool operator!=(const Object &other) const; + + // Method for copying the object. + void Copy(const Object &src); + + // Methods for getting object name and type. + const std::string &GetName() const { return name_; } + Type GetType() const { return type_; } + + // Methods for getting object value. + const std::vector &GetObjects() const { return objects_; } + const std::vector &GetArray() const { return array_; } + const std::string &GetString() const { return string_; } + int GetInteger() const { return integer_; } + bool GetBoolean() const { return boolean_; } + + // Looks for a child object matching the given |name|. If no object is + // found, returns nullptr. + // + // Note that this is not recursive. I.e., for the following object: + // + // { "level1": { "level2": "value" } } + // + // GetObjectByName("level1") will return '{ "level2": "value" }', but + // GetObjectByName("level2") will return nullptr. Instead, the user should + // use GetObjectByName("level1")->GetObjectByName("level2") to get the + // nested child. Note that this follows the typical JSON semantics. + const Object *GetObjectByName(const std::string &name) const; + + // Methods for setting object value. + std::vector &SetObjects(); + std::vector &SetArray(); + void SetString(const std::string &value); + void SetInteger(int value); + void SetBoolean(bool value); + + private: + std::string name_; + Type type_; + std::vector objects_; + std::vector array_; + std::string string_; + int integer_; + bool boolean_; + }; + + // Valid schema top-level JSON object name is "schema". + StructuralMetadataSchema() : json("schema") {} + + // Methods for comparing two schemas. + bool operator==(const StructuralMetadataSchema &other) const; + bool operator!=(const StructuralMetadataSchema &other) const; + + // Valid schema top-level JSON object is required to have child objects. + bool Empty() const { return json.GetObjects().empty(); } + + // Top-level JSON object of the schema. + Object json; +}; + +} // namespace draco + +#endif // DRACO_TRANSCODER_SUPPORTED +#endif // DRACO_METADATA_SCHEMA_H_ diff --git a/src/draco/metadata/structural_metadata_schema_test.cc b/src/draco/metadata/structural_metadata_schema_test.cc new file mode 100644 index 00000000..79d520d7 --- /dev/null +++ b/src/draco/metadata/structural_metadata_schema_test.cc @@ -0,0 +1,323 @@ +// Copyright 2023 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#include "draco/metadata/structural_metadata_schema.h" + +#include +#include +#include +#include +#include + +#include "draco/core/draco_test_utils.h" + +namespace { + +#ifdef DRACO_TRANSCODER_SUPPORTED + +TEST(StructuralMetadataSchemaTest, TestSchemaDefaults) { + // Test construction of an empty schema. + draco::StructuralMetadataSchema schema; + ASSERT_TRUE(schema.Empty()); + ASSERT_EQ(schema.json.GetName(), "schema"); + ASSERT_EQ(schema.json.GetType(), + draco::StructuralMetadataSchema::Object::OBJECT); + ASSERT_TRUE(schema.json.GetObjects().empty()); + ASSERT_TRUE(schema.json.GetArray().empty()); + ASSERT_TRUE(schema.json.GetString().empty()); + ASSERT_EQ(schema.json.GetInteger(), 0); + ASSERT_FALSE(schema.json.GetBoolean()); +} + +TEST(StructuralMetadataSchemaTest, TestSchemaObjectDefaultConstructor) { + // Test construction of an empty schema object. + draco::StructuralMetadataSchema::Object object; + ASSERT_TRUE(object.GetName().empty()); + ASSERT_EQ(object.GetType(), draco::StructuralMetadataSchema::Object::OBJECT); + ASSERT_TRUE(object.GetObjects().empty()); + ASSERT_TRUE(object.GetArray().empty()); + ASSERT_TRUE(object.GetString().empty()); + ASSERT_EQ(object.GetInteger(), 0); + ASSERT_FALSE(object.GetBoolean()); +} + +TEST(StructuralMetadataSchemaTest, TestSchemaObjectNamedConstructor) { + // Test construction of a named schema object. + draco::StructuralMetadataSchema::Object object("Flexible Demeanour"); + ASSERT_EQ(object.GetName(), "Flexible Demeanour"); + ASSERT_EQ(object.GetType(), draco::StructuralMetadataSchema::Object::OBJECT); + ASSERT_TRUE(object.GetObjects().empty()); +} + +TEST(StructuralMetadataSchemaTest, TestSchemaObjectStringConstructor) { + // Test construction of schema object storing a string. + draco::StructuralMetadataSchema::Object object("Flexible Demeanour", "GCU"); + ASSERT_EQ(object.GetName(), "Flexible Demeanour"); + ASSERT_EQ(object.GetType(), draco::StructuralMetadataSchema::Object::STRING); + ASSERT_EQ(object.GetString(), "GCU"); +} + +TEST(StructuralMetadataSchemaTest, TestSchemaObjectIntegerConstructor) { + // Test construction of schema object storing an integer. + draco::StructuralMetadataSchema::Object object("Flexible Demeanour", 12); + ASSERT_EQ(object.GetName(), "Flexible Demeanour"); + ASSERT_EQ(object.GetType(), draco::StructuralMetadataSchema::Object::INTEGER); + ASSERT_EQ(object.GetInteger(), 12); +} + +TEST(StructuralMetadataSchemaTest, TestSchemaObjectBooleanConstructor) { + // Test construction of schema object storing a boolean. + draco::StructuralMetadataSchema::Object object("Flexible Demeanour", true); + ASSERT_EQ(object.GetName(), "Flexible Demeanour"); + ASSERT_EQ(object.GetType(), draco::StructuralMetadataSchema::Object::BOOLEAN); + ASSERT_TRUE(object.GetBoolean()); +} + +TEST(StructuralMetadataSchemaTest, TestSchemaObjectSettersAndGetters) { + // Test value setters and getters of schema object. + typedef draco::StructuralMetadataSchema::Object Object; + Object object; + ASSERT_EQ(object.GetType(), Object::OBJECT); + + object.SetArray().push_back(Object("entry", 12)); + ASSERT_EQ(object.GetType(), Object::ARRAY); + ASSERT_EQ(object.GetArray().size(), 1); + ASSERT_EQ(object.GetArray()[0].GetName(), "entry"); + ASSERT_EQ(object.GetArray()[0].GetInteger(), 12); + + object.SetObjects().push_back(Object("object", 9)); + ASSERT_EQ(object.GetType(), Object::OBJECT); + ASSERT_EQ(object.GetObjects().size(), 1); + ASSERT_EQ(object.GetObjects()[0].GetName(), "object"); + ASSERT_EQ(object.GetObjects()[0].GetInteger(), 9); + + object.SetString("matter"); + ASSERT_EQ(object.GetType(), Object::STRING); + ASSERT_EQ(object.GetString(), "matter"); + + object.SetInteger(5); + ASSERT_EQ(object.GetType(), Object::INTEGER); + ASSERT_EQ(object.GetInteger(), 5); + + object.SetBoolean(true); + ASSERT_EQ(object.GetType(), Object::BOOLEAN); + ASSERT_EQ(object.GetBoolean(), true); +} + +TEST(StructuralMetadataSchemaTest, TestSchemaObjectLookupByName) { + // Test the GetObjectByName() getter. + typedef draco::StructuralMetadataSchema::Object Object; + Object object; + ASSERT_EQ(object.GetType(), Object::OBJECT); + + auto &objects = object.SetObjects(); + + objects.push_back(Object("object1", 1)); + objects.push_back(Object("object2", "two")); + + Object object3("object3"); + object3.SetObjects().push_back(Object("child_object", "child")); + objects.push_back(object3); + + ASSERT_EQ(object.GetObjectByName("child_object"), nullptr); + + ASSERT_NE(object.GetObjectByName("object1"), nullptr); + ASSERT_EQ(object.GetObjectByName("object1")->GetInteger(), 1); + + ASSERT_NE(object.GetObjectByName("object2"), nullptr); + ASSERT_EQ(object.GetObjectByName("object2")->GetString(), "two"); + + ASSERT_NE(object.GetObjectByName("object3"), nullptr); + ASSERT_NE(object.GetObjectByName("object3")->GetObjectByName("child_object"), + nullptr); + ASSERT_EQ(object.GetObjectByName("object3") + ->GetObjectByName("child_object") + ->GetString(), + "child"); +} + +TEST(StructuralMetadataSchemaTest, TestSchemaCompare) { + typedef draco::StructuralMetadataSchema Schema; + // Test comparison of two schema objects. + { + // Compare the same empty schema object. + Schema a; + ASSERT_TRUE(a == a); + ASSERT_FALSE(a != a); + } + { + // Compare two empty schema objects. + Schema a; + Schema b; + ASSERT_TRUE(a == b); + ASSERT_FALSE(a != b); + } + { + // Compare two schema objects with different JSON objects. + Schema a; + Schema b; + a.json.SetBoolean(true); + b.json.SetBoolean(false); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } +} + +TEST(StructuralMetadataSchemaTest, TestSchemaObjectCompare) { + // Test comparison of two schema JSON objects. + typedef draco::StructuralMetadataSchema::Object Object; + { + // Compare the same object. + Object a; + ASSERT_TRUE(a == a); + ASSERT_FALSE(a != a); + } + { + // Compare two default objects. + Object a; + Object b; + ASSERT_TRUE(a == b); + ASSERT_FALSE(a != b); + } + { + // Compare two objects with different names. + Object a("one"); + Object b("two"); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } + { + // Compare two objects with different types. + Object a; + Object b; + a.SetInteger(1); + b.SetString("one"); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } + { + // Compare two identical string-type objects. + Object a; + Object b; + a.SetString("one"); + b.SetString("one"); + ASSERT_TRUE(a == b); + ASSERT_FALSE(a != b); + } + { + // Compare two different string-type objects. + Object a; + Object b; + a.SetString("one"); + b.SetString("two"); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } + { + // Compare two identical integer-type objects. + Object a; + Object b; + a.SetInteger(1); + b.SetInteger(1); + ASSERT_TRUE(a == b); + ASSERT_FALSE(a != b); + } + { + // Compare two different integer-type objects. + Object a; + Object b; + a.SetInteger(1); + b.SetInteger(2); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } + { + // Compare two identical boolean-type objects. + Object a; + Object b; + a.SetBoolean(true); + b.SetBoolean(true); + ASSERT_TRUE(a == b); + ASSERT_FALSE(a != b); + } + { + // Compare two different boolean-type objects. + Object a; + Object b; + a.SetBoolean(true); + b.SetBoolean(false); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } + { + // Compare two identical object-type objects. + Object a; + Object b; + a.SetObjects().emplace_back("one"); + b.SetObjects().emplace_back("one"); + ASSERT_TRUE(a == b); + ASSERT_FALSE(a != b); + } + { + // Compare two different object-type objects. + Object a; + Object b; + a.SetObjects().emplace_back("one"); + b.SetObjects().emplace_back("two"); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } + { + // Compare two object-type objects with different counts. + Object a; + Object b; + a.SetObjects().emplace_back("one"); + b.SetObjects().emplace_back("one"); + b.SetObjects().emplace_back("two"); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } + { + // Compare two identical array-type objects. + Object a; + Object b; + a.SetArray().emplace_back("", 1); + b.SetArray().emplace_back("", 1); + ASSERT_TRUE(a == b); + ASSERT_FALSE(a != b); + } + { + // Compare two different array-type objects. + Object a; + Object b; + a.SetArray().emplace_back("", 1); + b.SetArray().emplace_back("", 2); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } + { + // Compare two array-type objects with different counts. + Object a; + Object b; + a.SetArray().emplace_back("", 1); + b.SetArray().emplace_back("", 1); + b.SetArray().emplace_back("", 2); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } +} + +#endif // DRACO_TRANSCODER_SUPPORTED + +} // namespace diff --git a/src/draco/metadata/structural_metadata_test.cc b/src/draco/metadata/structural_metadata_test.cc index d0429a56..8db1c007 100644 --- a/src/draco/metadata/structural_metadata_test.cc +++ b/src/draco/metadata/structural_metadata_test.cc @@ -16,7 +16,6 @@ #include #include -#include #include "draco/core/draco_test_base.h" #include "draco/core/draco_test_utils.h" @@ -30,9 +29,9 @@ TEST(StructuralMetadataTest, TestCopy) { draco::StructuralMetadata structural_metadata; // Add property table schema to structural metadata. - draco::PropertyTable::Schema schema; + draco::StructuralMetadataSchema schema; schema.json.SetString("Culture"); - structural_metadata.SetPropertyTableSchema(schema); + structural_metadata.SetSchema(schema); // Add property table to structural metadata. std::unique_ptr table(new draco::PropertyTable()); @@ -58,7 +57,7 @@ TEST(StructuralMetadataTest, TestCopy) { copy.Copy(structural_metadata); // Check that the structural metadata property table schema has been copied. - ASSERT_EQ(copy.GetPropertyTableSchema().json.GetString(), "Culture"); + ASSERT_EQ(copy.GetSchema().json.GetString(), "Culture"); // Check that the structural metadata property table has been copied. ASSERT_EQ(copy.NumPropertyTables(), 1); @@ -114,6 +113,7 @@ TEST(StructuralMetadataTest, TestPropertyTables) { TEST(StructuralMetadataTest, TestCompare) { // Test comparison of two structural metadata objects. typedef draco::PropertyTable PropertyTable; + typedef draco::PropertyAttribute PropertyAttribute; { // Compare the same structural metadata object. draco::StructuralMetadata a; @@ -131,17 +131,17 @@ TEST(StructuralMetadataTest, TestCompare) { // Compare two structural metadata objects with different schemas. draco::StructuralMetadata a; draco::StructuralMetadata b; - PropertyTable::Schema s1; - PropertyTable::Schema s2; + draco::StructuralMetadataSchema s1; + draco::StructuralMetadataSchema s2; s1.json.SetString("one"); s2.json.SetString("two"); - a.SetPropertyTableSchema(s1); - b.SetPropertyTableSchema(s2); + a.SetSchema(s1); + b.SetSchema(s2); ASSERT_FALSE(a == b); ASSERT_TRUE(a != b); } { - // Compare two objects with different number of proeprty tables. + // Compare two objects with different number of property tables. draco::StructuralMetadata a; draco::StructuralMetadata b; a.AddPropertyTable(std::unique_ptr(new PropertyTable())); @@ -151,7 +151,20 @@ TEST(StructuralMetadataTest, TestCompare) { ASSERT_TRUE(a != b); } { - // Compare two objects with different proeprty tables. + // Compare two objects with identical property tables. + draco::StructuralMetadata a; + draco::StructuralMetadata b; + auto p1 = std::unique_ptr(new PropertyTable()); + auto p2 = std::unique_ptr(new PropertyTable()); + p1->SetName("one"); + p2->SetName("one"); + a.AddPropertyTable(std::move(p1)); + b.AddPropertyTable(std::move(p2)); + ASSERT_TRUE(a == b); + ASSERT_FALSE(a != b); + } + { + // Compare two objects with different property tables. draco::StructuralMetadata a; draco::StructuralMetadata b; auto p1 = std::unique_ptr(new PropertyTable()); @@ -163,6 +176,32 @@ TEST(StructuralMetadataTest, TestCompare) { ASSERT_FALSE(a == b); ASSERT_TRUE(a != b); } + { + // Compare two objects with identical property attributes. + draco::StructuralMetadata a; + draco::StructuralMetadata b; + auto p1 = std::unique_ptr(new PropertyAttribute()); + auto p2 = std::unique_ptr(new PropertyAttribute()); + p1->SetName("one"); + p2->SetName("one"); + a.AddPropertyAttribute(std::move(p1)); + b.AddPropertyAttribute(std::move(p2)); + ASSERT_TRUE(a == b); + ASSERT_FALSE(a != b); + } + { + // Compare two objects with identical property attributes. + draco::StructuralMetadata a; + draco::StructuralMetadata b; + auto p1 = std::unique_ptr(new PropertyAttribute()); + auto p2 = std::unique_ptr(new PropertyAttribute()); + p1->SetName("one"); + p2->SetName("two"); + a.AddPropertyAttribute(std::move(p1)); + b.AddPropertyAttribute(std::move(p2)); + ASSERT_FALSE(a == b); + ASSERT_TRUE(a != b); + } } #endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/point_cloud/point_cloud.cc b/src/draco/point_cloud/point_cloud.cc index 039c4f20..6e5b732f 100644 --- a/src/draco/point_cloud/point_cloud.cc +++ b/src/draco/point_cloud/point_cloud.cc @@ -37,6 +37,8 @@ void PointCloud::Copy(const PointCloud &src) { attributes_[i] = std::unique_ptr(new PointAttribute()); attributes_[i]->CopyFrom(*src.attributes_[i]); } + compression_enabled_ = src.compression_enabled_; + compression_options_ = src.compression_options_; CopyMetadata(src); } @@ -106,6 +108,20 @@ const PointAttribute *PointCloud::GetAttributeByUniqueId( return attributes_[att_id].get(); } +#ifdef DRACO_TRANSCODER_SUPPORTED +const PointAttribute *PointCloud::GetNamedAttributeByName( + GeometryAttribute::Type type, const std::string &name) const { + const auto &index = named_attribute_index_; + for (size_t i = 0; i < index[type].size(); ++i) { + const PointAttribute *const att = attributes_[index[type][i]].get(); + if (att->name() == name) { + return att; + } + } + return nullptr; +} +#endif // DRACO_TRANSCODER_SUPPORTED + int32_t PointCloud::GetAttributeIdByUniqueId(uint32_t unique_id) const { for (size_t att_id = 0; att_id < attributes_.size(); ++att_id) { if (attributes_[att_id]->unique_id() == unique_id) { diff --git a/src/draco/point_cloud/point_cloud.h b/src/draco/point_cloud/point_cloud.h index 17d0bc39..2bbfc32c 100644 --- a/src/draco/point_cloud/point_cloud.h +++ b/src/draco/point_cloud/point_cloud.h @@ -21,6 +21,10 @@ #include "draco/draco_features.h" #include "draco/metadata/geometry_metadata.h" +#ifdef DRACO_TRANSCODER_SUPPORTED +#include "draco/compression/draco_compression_options.h" +#endif + namespace draco { // PointCloud is a collection of n-dimensional points that are described by a @@ -62,6 +66,12 @@ class PointCloud { const PointAttribute *GetAttributeByUniqueId(uint32_t id) const; int32_t GetAttributeIdByUniqueId(uint32_t unique_id) const; +#ifdef DRACO_TRANSCODER_SUPPORTED + // Returns the named attribute with a given name. + const PointAttribute *GetNamedAttributeByName(GeometryAttribute::Type type, + const std::string &name) const; +#endif // DRACO_TRANSCODER_SUPPORTED + int32_t num_attributes() const { return static_cast(attributes_.size()); } @@ -189,6 +199,24 @@ class PointCloud { // cloud. void set_num_points(PointIndex::ValueType num) { num_points_ = num; } +#ifdef DRACO_TRANSCODER_SUPPORTED + // Enables or disables Draco geometry compression for this mesh. + void SetCompressionEnabled(bool enabled) { compression_enabled_ = enabled; } + bool IsCompressionEnabled() const { return compression_enabled_; } + + // Sets |options| that configure Draco geometry compression. This does not + // enable or disable compression. + void SetCompressionOptions(const DracoCompressionOptions &options) { + compression_options_ = options; + } + const DracoCompressionOptions &GetCompressionOptions() const { + return compression_options_; + } + DracoCompressionOptions &GetCompressionOptions() { + return compression_options_; + } +#endif // DRACO_TRANSCODER_SUPPORTED + protected: #ifdef DRACO_TRANSCODER_SUPPORTED // Copies metadata from the |src| point cloud. @@ -217,6 +245,13 @@ class PointCloud { // in corresponding PointAttribute instances in the |attributes_| array. PointIndex::ValueType num_points_; +#ifdef DRACO_TRANSCODER_SUPPORTED + // Compression options for this geometry. + // TODO(vytyaz): Store encoded bitstream that this geometry compresses into. + bool compression_enabled_ = false; + DracoCompressionOptions compression_options_; +#endif // DRACO_TRANSCODER_SUPPORTED + friend struct PointCloudHasher; }; diff --git a/src/draco/point_cloud/point_cloud_builder.cc b/src/draco/point_cloud/point_cloud_builder.cc index 90ec3796..51031e5e 100644 --- a/src/draco/point_cloud/point_cloud_builder.cc +++ b/src/draco/point_cloud/point_cloud_builder.cc @@ -14,6 +14,7 @@ // #include "draco/point_cloud/point_cloud_builder.h" +#include #include namespace draco { @@ -27,8 +28,14 @@ void PointCloudBuilder::Start(PointIndex::ValueType num_points) { int PointCloudBuilder::AddAttribute(GeometryAttribute::Type attribute_type, int8_t num_components, DataType data_type) { + return AddAttribute(attribute_type, num_components, data_type, false); +} + +int PointCloudBuilder::AddAttribute(GeometryAttribute::Type attribute_type, + int8_t num_components, DataType data_type, + bool normalized) { GeometryAttribute ga; - ga.Init(attribute_type, nullptr, num_components, data_type, false, + ga.Init(attribute_type, nullptr, num_components, data_type, normalized, DataTypeLength(data_type) * num_components, 0); return point_cloud_->AddAttribute(ga, true, point_cloud_->num_points()); } @@ -75,4 +82,14 @@ std::unique_ptr PointCloudBuilder::Finalize( return std::move(point_cloud_); } +void PointCloudBuilder::SetAttributeUniqueId(int att_id, uint32_t unique_id) { + point_cloud_->attribute(att_id)->set_unique_id(unique_id); +} + +#ifdef DRACO_TRANSCODER_SUPPORTED +void PointCloudBuilder::SetAttributeName(int att_id, const std::string &name) { + point_cloud_->attribute(att_id)->set_name(name); +} +#endif // DRACO_TRANSCODER_SUPPORTED + } // namespace draco diff --git a/src/draco/point_cloud/point_cloud_builder.h b/src/draco/point_cloud/point_cloud_builder.h index 512b0f71..e6c57f86 100644 --- a/src/draco/point_cloud/point_cloud_builder.h +++ b/src/draco/point_cloud/point_cloud_builder.h @@ -50,6 +50,8 @@ class PointCloudBuilder { int AddAttribute(GeometryAttribute::Type attribute_type, int8_t num_components, DataType data_type); + int AddAttribute(GeometryAttribute::Type attribute_type, + int8_t num_components, DataType data_type, bool normalized); // Sets attribute value for a specific point. // |attribute_value| must contain data in the format specified by the @@ -65,6 +67,14 @@ class PointCloudBuilder { void SetAttributeValuesForAllPoints(int att_id, const void *attribute_values, int stride); + // Sets the unique ID for an attribute created with AddAttribute(). + void SetAttributeUniqueId(int att_id, uint32_t unique_id); + +#ifdef DRACO_TRANSCODER_SUPPORTED + // Sets attribute name. + void SetAttributeName(int att_id, const std::string &name); +#endif // DRACO_TRANSCODER_SUPPORTED + // Finalizes the PointCloud or returns nullptr on error. // If |deduplicate_points| is set to true, the following happens: // 1. Attribute values with duplicate entries are deduplicated. diff --git a/src/draco/point_cloud/point_cloud_builder_test.cc b/src/draco/point_cloud/point_cloud_builder_test.cc index 3222a4c8..3d1edf3f 100644 --- a/src/draco/point_cloud/point_cloud_builder_test.cc +++ b/src/draco/point_cloud/point_cloud_builder_test.cc @@ -60,9 +60,15 @@ TEST_F(PointCloudBuilderTest, IndividualTest_NoDedup) { builder.SetAttributeValueForPoint(intensity_att_id, i, intensity_data_.data() + i.value()); } +#ifdef DRACO_TRANSCODER_SUPPORTED + builder.SetAttributeName(pos_att_id, "Bob"); +#endif std::unique_ptr res = builder.Finalize(false); ASSERT_TRUE(res != nullptr); ASSERT_EQ(res->num_points(), 10); +#ifdef DRACO_TRANSCODER_SUPPORTED + EXPECT_EQ(res->attribute(pos_att_id)->name(), "Bob"); +#endif } TEST_F(PointCloudBuilderTest, IndividualTest_Dedup) { @@ -168,4 +174,25 @@ TEST_F(PointCloudBuilderTest, MultiUse) { } } +TEST_F(PointCloudBuilderTest, PropagatesAttributeUniqueIds) { + // This test verifies that PointCloudBuilder correctly applies unique IDs to + // attributes. + PointCloudBuilder builder; + builder.Start(10); + const int pos_att_id = + builder.AddAttribute(GeometryAttribute::POSITION, 3, DT_FLOAT32); + const int intensity_att_id = + builder.AddAttribute(GeometryAttribute::GENERIC, 1, DT_INT16); + for (PointIndex i(0); i < 10; ++i) { + builder.SetAttributeValueForPoint(pos_att_id, i, + pos_data_.data() + 3 * i.value()); + builder.SetAttributeValueForPoint(intensity_att_id, i, + intensity_data_.data() + i.value()); + } + builder.SetAttributeUniqueId(pos_att_id, 1234); + std::unique_ptr res = builder.Finalize(false); + ASSERT_TRUE(res != nullptr); + ASSERT_EQ(res->GetAttributeByUniqueId(1234), res->attribute(pos_att_id)); +} + } // namespace draco diff --git a/src/draco/point_cloud/point_cloud_test.cc b/src/draco/point_cloud/point_cloud_test.cc index 1cd780db..e83b35ea 100644 --- a/src/draco/point_cloud/point_cloud_test.cc +++ b/src/draco/point_cloud/point_cloud_test.cc @@ -77,6 +77,71 @@ TEST_F(PointCloudTest, PointCloudCopy) { ASSERT_TRUE(att_metadata_copy->GetEntryInt("attribute_test", &att_test)); ASSERT_EQ(att_test, 3); } + +TEST_F(PointCloudTest, TestCompressionSettings) { + // Tests compression settings of a point cloud. + draco::PointCloud pc; + + // Check that compression is disabled and compression settings are default. + ASSERT_FALSE(pc.IsCompressionEnabled()); + const draco::DracoCompressionOptions default_compression_options; + ASSERT_EQ(pc.GetCompressionOptions(), default_compression_options); + + // Check that compression options can be set without enabling compression. + draco::DracoCompressionOptions compression_options; + compression_options.quantization_bits_normal = 12; + pc.SetCompressionOptions(compression_options); + ASSERT_EQ(pc.GetCompressionOptions(), compression_options); + ASSERT_FALSE(pc.IsCompressionEnabled()); + + // Check that compression can be enabled. + pc.SetCompressionEnabled(true); + ASSERT_TRUE(pc.IsCompressionEnabled()); + + // Check that individual compression options can be updated. + pc.GetCompressionOptions().compression_level++; + pc.GetCompressionOptions().compression_level--; + + // Check that compression settings can be copied. + draco::PointCloud pc_copy; + pc_copy.Copy(pc); + ASSERT_TRUE(pc_copy.IsCompressionEnabled()); + ASSERT_EQ(pc_copy.GetCompressionOptions(), compression_options); +} + +TEST_F(PointCloudTest, TestGetNamedAttributeByName) { + draco::PointCloud pc; + // Test whether we can get named attributes by name. + constexpr auto kPosition = draco::GeometryAttribute::POSITION; + constexpr auto kGeneric = draco::GeometryAttribute::GENERIC; + draco::GeometryAttribute pos_att; + draco::GeometryAttribute gen_att0; + draco::GeometryAttribute gen_att1; + pos_att.Init(kPosition, nullptr, 3, draco::DT_FLOAT32, false, 12, 0); + gen_att0.Init(kGeneric, nullptr, 3, draco::DT_FLOAT32, false, 12, 0); + gen_att1.Init(kGeneric, nullptr, 3, draco::DT_FLOAT32, false, 12, 0); + pos_att.set_name("Zero"); + gen_att0.set_name("Zero"); + gen_att1.set_name("One"); + + // Add one position, and two generic attributes. + pc.AddAttribute(pos_att, false, 0); + pc.AddAttribute(gen_att0, false, 0); + pc.AddAttribute(gen_att1, false, 0); + + // Check added attributes. + ASSERT_EQ(pc.attribute(0)->attribute_type(), kPosition); + ASSERT_EQ(pc.attribute(1)->attribute_type(), kGeneric); + ASSERT_EQ(pc.attribute(2)->attribute_type(), kGeneric); + ASSERT_EQ(pc.attribute(0)->name(), "Zero"); + ASSERT_EQ(pc.attribute(1)->name(), "Zero"); + ASSERT_EQ(pc.attribute(2)->name(), "One"); + + // Check that we can get correct attributes by name. + ASSERT_EQ(pc.GetNamedAttributeByName(kPosition, "Zero"), pc.attribute(0)); + ASSERT_EQ(pc.GetNamedAttributeByName(kGeneric, "Zero"), pc.attribute(1)); + ASSERT_EQ(pc.GetNamedAttributeByName(kGeneric, "One"), pc.attribute(2)); +} #endif TEST_F(PointCloudTest, TestAttributeDeletion) { diff --git a/src/draco/scene/scene.cc b/src/draco/scene/scene.cc index 9ad57483..3162f086 100644 --- a/src/draco/scene/scene.cc +++ b/src/draco/scene/scene.cc @@ -14,6 +14,7 @@ // #include "draco/scene/scene.h" +#include #include #ifdef DRACO_TRANSCODER_SUPPORTED @@ -22,6 +23,8 @@ namespace draco { +Scene::Scene() { metadata_.reset(new Metadata()); } + void Scene::Copy(const Scene &s) { meshes_.resize(s.meshes_.size()); for (MeshIndex i(0); i < meshes_.size(); ++i) { @@ -90,6 +93,9 @@ void Scene::Copy(const Scene &s) { // Copy structural metadata. structural_metadata_.Copy(s.structural_metadata_); + + // Copy general metadata. + metadata_.reset(new Metadata(*s.metadata_)); } Status Scene::RemoveMesh(MeshIndex index) { diff --git a/src/draco/scene/scene.h b/src/draco/scene/scene.h index 3c76ead7..9d9a39c9 100644 --- a/src/draco/scene/scene.h +++ b/src/draco/scene/scene.h @@ -23,6 +23,7 @@ #include "draco/animation/animation.h" #include "draco/animation/skin.h" #include "draco/mesh/mesh.h" +#include "draco/metadata/metadata.h" #include "draco/metadata/structural_metadata.h" #include "draco/scene/instance_array.h" #include "draco/scene/light.h" @@ -41,7 +42,7 @@ namespace draco { // meshes in this scene. class Scene { public: - Scene() {} + Scene(); void Copy(const Scene &s); @@ -221,6 +222,9 @@ class Scene { return instance_arrays_[index].get(); } + const Metadata &GetMetadata() const { return *metadata_; } + Metadata &GetMetadata() { return *metadata_; } + private: IndexTypeVector> meshes_; IndexTypeVector> mesh_groups_; @@ -250,6 +254,10 @@ class Scene { // Structural metadata defined by the EXT_structural_metadata glTF extension. StructuralMetadata structural_metadata_; + + // General metadata associated with the scene (not related to the + // EXT_structural_metadata extension). + std::unique_ptr metadata_; }; } // namespace draco diff --git a/src/draco/scene/scene_test.cc b/src/draco/scene/scene_test.cc index d639614c..83108abb 100644 --- a/src/draco/scene/scene_test.cc +++ b/src/draco/scene/scene_test.cc @@ -15,6 +15,7 @@ #include "draco/scene/scene.h" #include +#include #include #include @@ -276,18 +277,40 @@ TEST(SceneTest, TestCopyWithStructuralMetadata) { draco::Scene &scene = *scene_ptr; // Add structural metadata to the scene. - draco::PropertyTable::Schema schema; + draco::StructuralMetadataSchema schema; schema.json.SetString("Data"); - scene.GetStructuralMetadata().SetPropertyTableSchema(schema); + scene.GetStructuralMetadata().SetSchema(schema); // Copy the scene. draco::Scene copy; copy.Copy(scene); // Check that the structural metadata has been copied. - ASSERT_EQ( - copy.GetStructuralMetadata().GetPropertyTableSchema().json.GetString(), - "Data"); + ASSERT_EQ(copy.GetStructuralMetadata().GetSchema().json.GetString(), "Data"); +} + +TEST(SceneTest, TestCopyWithMetadata) { + // Tests copying of a scene with general metadata. + auto scene_ptr = + draco::ReadSceneFromTestFile("CesiumMilkTruck/glTF/CesiumMilkTruck.gltf"); + ASSERT_NE(scene_ptr, nullptr); + draco::Scene &scene = *scene_ptr; + + // Add metadata to the scene. + scene.GetMetadata().AddEntryString("test_name", "test_value"); + scene.GetMetadata().AddEntryInt("test_int", 101); + + // Copy the scene. + draco::Scene copy; + copy.Copy(scene); + + // Check that the metadata has been copied. + std::string string_val; + int int_val; + copy.GetMetadata().GetEntryString("test_name", &string_val); + copy.GetMetadata().GetEntryInt("test_int", &int_val); + ASSERT_EQ(string_val, "test_value"); + ASSERT_EQ(int_val, 101); } #endif // DRACO_TRANSCODER_SUPPORTED diff --git a/src/draco/scene/scene_utils.cc b/src/draco/scene/scene_utils.cc index a7bf1dcb..e43753e7 100644 --- a/src/draco/scene/scene_utils.cc +++ b/src/draco/scene/scene_utils.cc @@ -36,6 +36,22 @@ namespace draco { IndexTypeVector SceneUtils::ComputeAllInstances(const Scene &scene) { IndexTypeVector instances; + for (int i = 0; i < scene.NumRootNodes(); ++i) { + const auto node_instances = + ComputeAllInstancesFromNode(scene, scene.GetRootNodeIndex(i)); + const size_t old_size = instances.size(); + instances.resize(instances.size() + node_instances.size()); + for (MeshInstanceIndex mii(0); mii < node_instances.size(); ++mii) { + instances[mii + old_size] = node_instances[mii]; + } + } + return instances; +} + +IndexTypeVector +SceneUtils::ComputeAllInstancesFromNode(const Scene &scene, + SceneNodeIndex node_index) { + IndexTypeVector instances; // Traverse the scene assuming multiple root nodes. const Eigen::Matrix4d transform = Eigen::Matrix4d::Identity(); @@ -45,10 +61,7 @@ SceneUtils::ComputeAllInstances(const Scene &scene) { Eigen::Matrix4d transform; }; std::vector nodes; - nodes.reserve(scene.NumRootNodes()); - for (int i = 0; i < scene.NumRootNodes(); ++i) { - nodes.push_back({scene.GetRootNodeIndex(i), transform}); - } + nodes.push_back({node_index, transform}); while (!nodes.empty()) { const Node node = nodes.back(); @@ -220,7 +233,7 @@ void UpdateMeshFeaturesTexturesOnMesh( } // namespace StatusOr> SceneUtils::MeshToScene( - std::unique_ptr mesh) { + std::unique_ptr mesh, bool deduplicate_vertices) { const size_t num_mesh_materials = mesh->GetMaterialLibrary().NumMaterials(); std::unique_ptr scene(new Scene()); if (num_mesh_materials > 0) { @@ -231,6 +244,9 @@ StatusOr> SceneUtils::MeshToScene( scene->GetMaterialLibrary().MutableMaterial(0); } + // Copy structural metadata. + scene->GetStructuralMetadata().Copy(mesh->GetStructuralMetadata()); + // Copy mesh feature textures. scene->GetNonMaterialTextureLibrary().Copy( mesh->GetNonMaterialTextureLibrary()); @@ -255,6 +271,10 @@ StatusOr> SceneUtils::MeshToScene( &scene->GetNonMaterialTextureLibrary(), &scene->GetMesh(mesh_index)); + // The non-material texture library is now in the scene. The non-material + // texture library of the mesh must be cleared, because mesh features may + // contain texture pointers invalid for this non-material texture library. + scene->GetMesh(mesh_index).GetNonMaterialTextureLibrary().Clear(); } else { const int32_t mat_att_id = mesh->GetNamedAttributeId(GeometryAttribute::MATERIAL); @@ -274,6 +294,7 @@ StatusOr> SceneUtils::MeshToScene( } MeshSplitter splitter; + splitter.SetDeduplicateVertices(deduplicate_vertices); DRACO_ASSIGN_OR_RETURN(MeshSplitter::MeshVector split_meshes, splitter.SplitMesh(*mesh, mat_att_id)); // Note: cannot clear mesh here, since mat_att points into it. @@ -296,9 +317,30 @@ StatusOr> SceneUtils::MeshToScene( // Copy over mesh features that were associated with the |material_index|. Mesh &scene_mesh = scene->GetMesh(mesh_index); Mesh::CopyMeshFeaturesForMaterial(*mesh, &scene_mesh, material_index); + + // Update mesh features attribute indices if needed. + for (MeshFeaturesIndex mfi(0); mfi < scene_mesh.NumMeshFeatures(); + ++mfi) { + auto &mesh_features = scene_mesh.GetMeshFeatures(mfi); + if (mesh_features.GetAttributeIndex() != -1) { + mesh_features.SetAttributeIndex(splitter.GetSplitMeshAttributeIndex( + mesh_features.GetAttributeIndex())); + } + } + UpdateMeshFeaturesTexturesOnMesh(old_texture_to_index_map, &scene->GetNonMaterialTextureLibrary(), &scene_mesh); + + // Copy over property attibutes indices that were associated with the + // |material_index|. + Mesh::CopyPropertyAttributesIndicesForMaterial(*mesh, &scene_mesh, + material_index); + + // The non-material texture library is now in the scene. The non-material + // texture library of the mesh must be cleared, because mesh features may + // contain texture pointers invalid for this non-material texture library. + scene_mesh.GetNonMaterialTextureLibrary().Clear(); } } diff --git a/src/draco/scene/scene_utils.h b/src/draco/scene/scene_utils.h index 5b978c3c..c205e642 100644 --- a/src/draco/scene/scene_utils.h +++ b/src/draco/scene/scene_utils.h @@ -43,6 +43,12 @@ class SceneUtils { static IndexTypeVector ComputeAllInstances( const Scene &scene); + // Computes all mesh instances in the node hierarchy originating from + // |node_index|. All instance transformations will be relative to the source + // node. That is transformation of parent nodes will not be included. + static IndexTypeVector + ComputeAllInstancesFromNode(const Scene &scene, SceneNodeIndex node_index); + // Computes global transform matrix of a |scene| node given by its |index|. static Eigen::Matrix4d ComputeGlobalNodeTransform(const Scene &scene, SceneNodeIndex index); @@ -97,8 +103,15 @@ class SceneUtils { // multiple materials, the returned scene will contain multiple meshes, one // for each of the source mesh's materials; if `mesh` has no material, one // will be created for it. + // + // By default, |MeshToScene| will attempt to deduplicate vertices if the mesh + // has multiple materials. This means lower memory usage and smaller output + // glTFs after encoding. However, for very large meshes, this may become an + // expensive operation. If that becomes an issue, you might want to consider + // disabling deduplication by setting |deduplicate_vertices| to false. Note + // that at this moment, disabling deduplication works ONLY for point clouds. static StatusOr> MeshToScene( - std::unique_ptr mesh); + std::unique_ptr mesh, bool deduplicate_vertices = true); // Creates a mesh according to mesh |instance| in |scene|. Error is returned // if there is no corresponding base mesh in the |scene| or the base mesh has diff --git a/src/draco/scene/scene_utils_test.cc b/src/draco/scene/scene_utils_test.cc index 4d6bd731..c3ead1db 100644 --- a/src/draco/scene/scene_utils_test.cc +++ b/src/draco/scene/scene_utils_test.cc @@ -22,6 +22,8 @@ #include "draco/core/draco_test_base.h" #include "draco/core/draco_test_utils.h" #include "draco/io/texture_io.h" +#include "draco/metadata/property_table.h" +#include "draco/metadata/structural_metadata.h" #include "draco/scene/scene_indices.h" namespace { @@ -120,6 +122,47 @@ TEST(SceneUtilsTest, TestComputeAllInstances) { expected_transform, 1e-6f); } +TEST(SceneUtilsTest, TestComputeInstanceFromRootNode) { + // Tests that we can compute all instances from a root node of a scene. + // This should result in the same instances all the ComputeAllInstances(). + + auto scene = + draco::ReadSceneFromTestFile("CesiumMilkTruck/glTF/CesiumMilkTruck.gltf"); + const auto node_instances = draco::SceneUtils::ComputeAllInstancesFromNode( + *scene, scene->GetRootNodeIndex(0)); + const auto scene_instances = draco::SceneUtils::ComputeAllInstances(*scene); + ASSERT_EQ(node_instances.size(), scene_instances.size()); + for (draco::MeshInstanceIndex i(0); i < node_instances.size(); ++i) { + ASSERT_EQ(node_instances[i].scene_node_index, + scene_instances[i].scene_node_index); + ASSERT_EQ(node_instances[i].mesh_index, scene_instances[i].mesh_index); + ASSERT_EQ(node_instances[i].mesh_group_mesh_index, + scene_instances[i].mesh_group_mesh_index); + ASSERT_EQ(node_instances[i].transform, scene_instances[i].transform); + } +} + +TEST(SceneUtilsTest, TestComputeInstanceFromChildNode) { + // Tests that we can compute all instances from a child node of a scene. + auto scene = + draco::ReadSceneFromTestFile("CesiumMilkTruck/glTF/CesiumMilkTruck.gltf"); + const auto node_instances = draco::SceneUtils::ComputeAllInstancesFromNode( + *scene, draco::SceneNodeIndex(1)); + + // There should be only one instance in this node chain. + ASSERT_EQ(node_instances.size(), 1); + + // clang-format off + AssertMatrixNear(node_instances[draco::MeshInstanceIndex(0)].transform, + Eigen::Matrix4d{ + { 0.98434, 0.176278, 0, 1.43267}, + {-0.176278, 0.98434, 0, 0.427722}, + {0, 0, 1, -2.98e-8}, + {0, 0, 0, 1} + }, 1e-6); + // clang-format on +} + TEST(SceneUtilsTest, TestComputeAllInstancesWithShiftedGeometryRoot) { // Tests that we can compute all instances in an input scene along with their // transformations. This scene has light and camera nodes before the geometry @@ -334,8 +377,17 @@ TEST(SceneUtilsTest, TestMeshToSceneMultipleMeshFeatures) { const auto &scene_mf = scene->GetMesh(mi).GetMeshFeatures(mfi); const auto &scene_from_mesh_mf = scene_from_mesh->GetMesh(mi).GetMeshFeatures(mfi); - ASSERT_EQ(scene_mf.GetAttributeIndex(), - scene_from_mesh_mf.GetAttributeIndex()); + const int att_index_0 = scene_mf.GetAttributeIndex(); + const int att_index_1 = scene_from_mesh_mf.GetAttributeIndex(); + if (att_index_0 == -1) { + ASSERT_EQ(att_index_0, att_index_1); + } else { + ASSERT_EQ(scene->GetMesh(mi).attribute(att_index_0)->name(), + scene_from_mesh->GetMesh(mi).attribute(att_index_1)->name()); + ASSERT_EQ(scene->GetMesh(mi).attribute(att_index_0)->size(), + scene_from_mesh->GetMesh(mi).attribute(att_index_1)->size()); + } + ASSERT_EQ(scene_mf.GetPropertyTableIndex(), scene_from_mesh_mf.GetPropertyTableIndex()); ASSERT_EQ(scene_mf.GetLabel(), scene_from_mesh_mf.GetLabel()); @@ -351,6 +403,63 @@ TEST(SceneUtilsTest, TestMeshToSceneMultipleMeshFeatures) { } } +TEST(SceneUtilsTest, TestMeshToSceneMeshFeaturesWithAttributes) { + // Tests that converting a mesh into scene properly updates mesh features + // attribute indices. + auto mesh = + draco::ReadMeshFromTestFile("CesiumMilkTruck/glTF/CesiumMilkTruck.gltf"); + ASSERT_NE(mesh, nullptr); + + // Add a new dummy mesh features and mesh features attribute to the mesh. + std::unique_ptr mf_att(new draco::PointAttribute()); + mf_att->Init(draco::GeometryAttribute::GENERIC, 1, draco::DT_FLOAT32, false, + mesh->num_points()); + const int mf_att_id = mesh->AddAttribute(std::move(mf_att)); + std::unique_ptr mf(new draco::MeshFeatures()); + mf->SetAttributeIndex(mf_att_id); + mesh->AddMeshFeatures(std::move(mf)); + + // Convert the mesh into a scene. + DRACO_ASSIGN_OR_ASSERT(const std::unique_ptr scene_from_mesh, + draco::SceneUtils::MeshToScene(std::move(mesh))); + ASSERT_NE(scene_from_mesh, nullptr); + + // Ensure the attribute indices on the meshes from scene are decremented by + // one because the material attribute was removed. + ASSERT_EQ(scene_from_mesh->NumMeshes(), 4); + for (draco::MeshIndex mi(0); mi < scene_from_mesh->NumMeshes(); ++mi) { + for (draco::MeshFeaturesIndex mfi(0); + mfi < scene_from_mesh->GetMesh(mi).NumMeshFeatures(); ++mfi) { + const auto &mf = scene_from_mesh->GetMesh(mi).GetMeshFeatures(mfi); + ASSERT_EQ(mf.GetAttributeIndex(), mf_att_id - 1); + } + } +} + +TEST(SceneUtilsTest, TestMeshToSceneStructuralMetadata) { + const std::string filename = "cube_att.obj"; + std::unique_ptr mesh = draco::ReadMeshFromTestFile(filename); + ASSERT_NE(mesh, nullptr); + + // Setting a sample schema to: + // { + // "classes": [] + // } + draco::StructuralMetadataSchema sample_schema; + auto &classes_json = sample_schema.json.SetObjects().emplace_back("classes"); + classes_json.SetArray(); + + mesh->GetStructuralMetadata().SetSchema(sample_schema); + draco::StructuralMetadata mesh_structural_metadata; + mesh_structural_metadata.Copy(mesh->GetStructuralMetadata()); + ASSERT_FALSE(mesh_structural_metadata.GetSchema().Empty()); + + DRACO_ASSIGN_OR_ASSERT(const std::unique_ptr scene_from_mesh, + draco::SceneUtils::MeshToScene(std::move(mesh))); + ASSERT_NE(scene_from_mesh, nullptr); + ASSERT_EQ(scene_from_mesh->GetStructuralMetadata(), mesh_structural_metadata); +} + TEST(SceneUtilsTest, TestInstantiateMeshWithIdentityTransformation) { auto scene = draco::ReadSceneFromTestFile("CesiumMilkTruck/glTF/CesiumMilkTruck.gltf"); diff --git a/src/draco/scene/trs_matrix.h b/src/draco/scene/trs_matrix.h index 6c2ab738..837d8350 100644 --- a/src/draco/scene/trs_matrix.h +++ b/src/draco/scene/trs_matrix.h @@ -39,9 +39,10 @@ class TrsMatrix { void Copy(const TrsMatrix &tm); - void SetMatrix(const Eigen::Matrix4d &matrix) { + TrsMatrix &SetMatrix(const Eigen::Matrix4d &matrix) { matrix_ = matrix; matrix_set_ = true; + return *this; } bool MatrixSet() const { return matrix_set_; } StatusOr Matrix() const { @@ -51,9 +52,10 @@ class TrsMatrix { return matrix_; } - void SetTranslation(const Eigen::Vector3d &translation) { + TrsMatrix &SetTranslation(const Eigen::Vector3d &translation) { translation_ = translation; translation_set_ = true; + return *this; } bool TranslationSet() const { return translation_set_; } StatusOr Translation() const { @@ -63,9 +65,10 @@ class TrsMatrix { return translation_; } - void SetRotation(const Eigen::Quaterniond &rotation) { + TrsMatrix &SetRotation(const Eigen::Quaterniond &rotation) { rotation_ = rotation; rotation_set_ = true; + return *this; } bool RotationSet() const { return rotation_set_; } StatusOr Rotation() const { @@ -75,9 +78,10 @@ class TrsMatrix { return rotation_; } - void SetScale(const Eigen::Vector3d &scale) { + TrsMatrix &SetScale(const Eigen::Vector3d &scale) { scale_ = scale; scale_set_ = true; + return *this; } bool ScaleSet() const { return scale_set_; } StatusOr Scale() const { diff --git a/src/draco/texture/texture.h b/src/draco/texture/texture.h index 1d3b6e38..a0ef05c6 100644 --- a/src/draco/texture/texture.h +++ b/src/draco/texture/texture.h @@ -29,7 +29,7 @@ namespace draco { // Texture class storing the source image data. class Texture { public: - void Copy(Texture &other) { source_image_.Copy(other.source_image_); } + void Copy(const Texture &other) { source_image_.Copy(other.source_image_); } void set_source_image(const SourceImage &image) { source_image_.Copy(image); } const SourceImage &source_image() const { return source_image_; } diff --git a/src/draco/texture/texture_utils.cc b/src/draco/texture/texture_utils.cc index 7598ac78..db5fce43 100644 --- a/src/draco/texture/texture_utils.cc +++ b/src/draco/texture/texture_utils.cc @@ -23,6 +23,13 @@ #include #include +#include "draco/core/status.h" +#include "draco/core/status_or.h" +#include "draco/io/file_utils.h" +#include "draco/io/image_compression_options.h" +#include "draco/texture/texture.h" +#include "draco/texture/texture_map.h" + namespace draco { std::string TextureUtils::GetTargetStem(const Texture &texture) { @@ -61,6 +68,42 @@ std::string TextureUtils::GetTargetExtension(const Texture &texture) { return GetExtension(GetTargetFormat(texture)); } +std::string TextureUtils::GetTargetMimeType(const Texture &texture) { + const ImageFormat format = GetTargetFormat(texture); + if (format == ImageFormat::NONE) { + // Unknown format, try to re-use mime type stored in the source_image. + // This is mostly useful if users need to handle image formats not directly + // supported by the Draco library. + if (!texture.source_image().mime_type().empty()) { + return texture.source_image().mime_type(); + } else if (!texture.source_image().filename().empty()) { + // Try to set mime type based on the extension of the filename. + const std::string extension = + LowercaseFileExtension(texture.source_image().filename()); + if (!extension.empty()) { + return "image/" + extension; + } + } + } + return GetMimeType(format); +} + +std::string TextureUtils::GetMimeType(ImageFormat image_format) { + switch (image_format) { + case ImageFormat::PNG: + return "image/png"; + case ImageFormat::JPEG: + return "image/jpeg"; + case ImageFormat::BASIS: + return "image/ktx2"; + case ImageFormat::WEBP: + return "image/webp"; + case ImageFormat::NONE: + default: + return ""; + } +} + ImageFormat TextureUtils::GetSourceFormat(const Texture &texture) { // Try to get the extension based on source image mime type. std::string extension = diff --git a/src/draco/texture/texture_utils.h b/src/draco/texture/texture_utils.h index 18d29950..eb33b26f 100644 --- a/src/draco/texture/texture_utils.h +++ b/src/draco/texture/texture_utils.h @@ -48,6 +48,13 @@ class TextureUtils { // source image mime type or the source image filename. static std::string GetTargetExtension(const Texture &texture); + // Returns mime type string based on |texture| compression settings, source + // image mime type or the source image filename. + static std::string GetTargetMimeType(const Texture &texture); + + // Returns mime type string for a given |image_format|. + static std::string GetMimeType(ImageFormat image_format); + // Returns |texture| format based on source image mime type or the source // image filename. static ImageFormat GetSourceFormat(const Texture &texture); diff --git a/src/draco/texture/texture_utils_test.cc b/src/draco/texture/texture_utils_test.cc index 45873ea7..b3896f82 100644 --- a/src/draco/texture/texture_utils_test.cc +++ b/src/draco/texture/texture_utils_test.cc @@ -89,6 +89,39 @@ TEST(TextureUtilsTest, TestGetFormat) { ASSERT_EQ(draco::TextureUtils::GetFormat("bmp"), ImageFormat::NONE); } +TEST(TextureUtilsTest, TestGetTargetMimeType) { + draco::Texture texture; + texture.source_image().set_mime_type("image/jpeg"); + ASSERT_EQ(draco::TextureUtils::GetTargetMimeType(texture), "image/jpeg"); + + // Set compression settings to a different format. + draco::ImageCompressionOptions options; + options.target_image_format = draco::ImageFormat::BASIS; + texture.SetCompressionOptions(options); + ASSERT_EQ(draco::TextureUtils::GetTargetMimeType(texture), "image/ktx2"); + + // Test custom mime type in source image. + draco::Texture unknown_format; + unknown_format.source_image().set_mime_type("image/custom"); + ASSERT_EQ(draco::TextureUtils::GetTargetMimeType(unknown_format), + "image/custom"); + + // Test custom mime type from file name. + draco::Texture unknown_format_file_name; + unknown_format_file_name.source_image().set_filename("test.extension"); + ASSERT_EQ(draco::TextureUtils::GetTargetMimeType(unknown_format_file_name), + "image/extension"); +} + +TEST(TextureUtilsTest, TestGetMimeType) { + typedef draco::ImageFormat ImageFormat; + ASSERT_EQ(draco::TextureUtils::GetMimeType(ImageFormat::PNG), "image/png"); + ASSERT_EQ(draco::TextureUtils::GetMimeType(ImageFormat::JPEG), "image/jpeg"); + ASSERT_EQ(draco::TextureUtils::GetMimeType(ImageFormat::BASIS), "image/ktx2"); + ASSERT_EQ(draco::TextureUtils::GetMimeType(ImageFormat::WEBP), "image/webp"); + ASSERT_EQ(draco::TextureUtils::GetMimeType(ImageFormat::NONE), ""); +} + TEST(TextureUtilsTest, TestGetExtension) { typedef draco::ImageFormat ImageFormat; ASSERT_EQ(draco::TextureUtils::GetExtension(ImageFormat::PNG), "png"); diff --git a/testdata/BoxMeta/glTF/BoxMeta.gltf b/testdata/BoxMeta/glTF/BoxMeta.gltf index 8268319a..d423b4fd 100644 --- a/testdata/BoxMeta/glTF/BoxMeta.gltf +++ b/testdata/BoxMeta/glTF/BoxMeta.gltf @@ -36,9 +36,11 @@ "POSITION": 1, "TEXCOORD_0": 3, "TEXCOORD_1": 4, + "_DIRECTION": 8, "_FEATURE_ID_0": 5, "_FEATURE_ID_1": 6, - "_FEATURE_ID_2": 7 + "_FEATURE_ID_2": 7, + "_MAGNITUDE": 9 }, "indices": 0, "mode": 4, @@ -88,6 +90,11 @@ } } ] + }, + "EXT_structural_metadata": { + "propertyAttributes": [ + 0 + ] } } } @@ -197,6 +204,18 @@ "componentType": 5126, "count": 36, "type": "SCALAR" + }, + { + "bufferView": 8, + "componentType": 5126, + "count": 36, + "type": "VEC3" + }, + { + "bufferView": 9, + "componentType": 5126, + "count": 36, + "type": "SCALAR" } ], "extensions": { @@ -218,11 +237,30 @@ "type": "STRING" }, "sequence": { + "componentType": "FLOAT32", "description": "The number sequence.", "required": false, "type": "SCALAR" } } + }, + "movement": { + "name": "The movement.", + "description": "Vertex movement.", + "properties": { + "direction": { + "componentType": "FLOAT32", + "description": "Movement direction.", + "required": true, + "type": "VEC3" + }, + "magnitude": { + "componentType": "FLOAT32", + "description": "Movement magnitude.", + "required": true, + "type": "SCALAR" + } + } } }, "enums": { @@ -261,17 +299,31 @@ "count": 16, "properties": { "color": { - "values": 8 + "values": 10 }, "name": { - "values": 9, + "values": 11, "stringOffsetType": "UINT32", - "stringOffsets": 10 + "stringOffsets": 12 }, "sequence": { - "values": 11, + "values": 13, "arrayOffsetType": "UINT8", - "arrayOffsets": 12 + "arrayOffsets": 14 + } + } + } + ], + "propertyAttributes": [ + { + "name": "The movement.", + "class": "movement", + "properties": { + "direction": { + "attribute": "_DIRECTION" + }, + "magnitude": { + "attribute": "_MAGNITUDE" } } } @@ -322,37 +374,47 @@ { "buffer": 0, "byteOffset": 1728, + "byteLength": 432 + }, + { + "buffer": 0, + "byteOffset": 2160, + "byteLength": 144 + }, + { + "buffer": 0, + "byteOffset": 2304, "byteLength": 48, "target": 34962 }, { "buffer": 0, - "byteOffset": 1776, + "byteOffset": 2352, "byteLength": 296, "target": 34963 }, { "buffer": 0, - "byteOffset": 2072, + "byteOffset": 2648, "byteLength": 68, "target": 34963 }, { "buffer": 0, - "byteOffset": 2140, + "byteOffset": 2716, "byteLength": 164, "target": 34963 }, { "buffer": 0, - "byteOffset": 2304, + "byteOffset": 2880, "byteLength": 20, "target": 34963 } ], "buffers": [ { - "byteLength": 2324, + "byteLength": 2900, "uri": "buffer0.bin" } ], diff --git a/testdata/BoxMeta/glTF/Texture0_MeshFeatures.png b/testdata/BoxMeta/glTF/Texture0_MeshFeatures.png index 588b2534..53da815b 100644 Binary files a/testdata/BoxMeta/glTF/Texture0_MeshFeatures.png and b/testdata/BoxMeta/glTF/Texture0_MeshFeatures.png differ diff --git a/testdata/BoxMeta/glTF/Texture1_MeshFeatures.png b/testdata/BoxMeta/glTF/Texture1_MeshFeatures.png index 12fd001a..44e9917a 100644 Binary files a/testdata/BoxMeta/glTF/Texture1_MeshFeatures.png and b/testdata/BoxMeta/glTF/Texture1_MeshFeatures.png differ diff --git a/testdata/BoxMeta/glTF/buffer0.bin b/testdata/BoxMeta/glTF/buffer0.bin index 8a6f954a..c8c35787 100644 Binary files a/testdata/BoxMeta/glTF/buffer0.bin and b/testdata/BoxMeta/glTF/buffer0.bin differ diff --git a/testdata/BoxMetaDraco/glTF/BoxMetaDraco.gltf b/testdata/BoxMetaDraco/glTF/BoxMetaDraco.gltf index 736db45e..b069e864 100644 --- a/testdata/BoxMetaDraco/glTF/BoxMetaDraco.gltf +++ b/testdata/BoxMetaDraco/glTF/BoxMetaDraco.gltf @@ -207,12 +207,12 @@ { "buffer": 0, "byteOffset": 0, - "byteLength": 620 + "byteLength": 520 } ], "buffers": [ { - "byteLength": 620, + "byteLength": 520, "uri": "buffer0.bin" } ], diff --git a/testdata/BoxMetaDraco/glTF/buffer0.bin b/testdata/BoxMetaDraco/glTF/buffer0.bin index 9fc33d64..f6ba5de6 100644 Binary files a/testdata/BoxMetaDraco/glTF/buffer0.bin and b/testdata/BoxMetaDraco/glTF/buffer0.bin differ diff --git a/testdata/BoxesMeta/glTF/BoxesMeta.gltf b/testdata/BoxesMeta/glTF/BoxesMeta.gltf index 01e8b2bd..81bdbda5 100644 --- a/testdata/BoxesMeta/glTF/BoxesMeta.gltf +++ b/testdata/BoxesMeta/glTF/BoxesMeta.gltf @@ -36,7 +36,8 @@ "POSITION": 1, "TEXCOORD_0": 3, "TEXCOORD_1": 4, - "_FEATURE_ID_0": 5 + "_FEATURE_ID_0": 5, + "_MAGNITUDE": 9 }, "indices": 0, "mode": 4, @@ -65,6 +66,11 @@ } } ] + }, + "EXT_structural_metadata": { + "propertyAttributes": [ + 0 + ] } } }, @@ -75,7 +81,8 @@ "TEXCOORD_0": 3, "TEXCOORD_1": 4, "_FEATURE_ID_0": 5, - "_FEATURE_ID_1": 7 + "_FEATURE_ID_1": 7, + "_DIRECTION": 8 }, "indices": 0, "mode": 4, @@ -111,6 +118,11 @@ } } ] + }, + "EXT_structural_metadata": { + "propertyAttributes": [ + 1 + ] } } } @@ -239,8 +251,144 @@ "componentType": 5126, "count": 36, "type": "SCALAR" + }, + { + "bufferView": 8, + "componentType": 5126, + "count": 36, + "type": "VEC3" + }, + { + "bufferView": 9, + "componentType": 5126, + "count": 36, + "type": "SCALAR" } ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "galaxy", + "classes": { + "planet": { + "properties": { + "color": { + "componentType": "UINT8", + "description": "The RGB color.", + "required": true, + "type": "VEC3" + }, + "name": { + "description": "The name.", + "required": true, + "type": "STRING" + }, + "sequence": { + "description": "The number sequence.", + "required": false, + "type": "SCALAR", + "componentType": "FLOAT32" + } + } + }, + "magnitude": { + "name": "Just magnitude.", + "description": "Vertex magnitude.", + "properties": { + "magnitude": { + "componentType": "FLOAT32", + "description": "The magnitude.", + "required": true, + "type": "SCALAR" + } + } + }, + "direction": { + "name": "Just direction.", + "description": "Vertex direction.", + "properties": { + "direction": { + "componentType": "FLOAT32", + "description": "The direction.", + "required": true, + "type": "VEC3" + } + } + } + }, + "enums": { + "classifications": { + "description": "Classifications of planets.", + "name": "classifications", + "values": [ + { + "name": "Unspecified", + "value": 0 + }, + { + "name": "Gas Giant", + "value": 1 + }, + { + "name": "Waterworld", + "value": 2 + }, + { + "name": "Agriworld", + "value": 3 + }, + { + "name": "Ordnance", + "value": 4 + } + ] + } + } + }, + "propertyTables": [ + { + "name": "Galaxy far far away.", + "class": "planet", + "count": 16, + "properties": { + "color": { + "values": 10 + }, + "name": { + "values": 11, + "stringOffsetType": "UINT32", + "stringOffsets": 12 + }, + "sequence": { + "values": 13, + "arrayOffsetType": "UINT8", + "arrayOffsets": 14 + } + } + } + ], + "propertyAttributes": [ + { + "name": "The magnitude.", + "class": "magnitude", + "properties": { + "magnitude": { + "attribute": "_MAGNITUDE" + } + } + }, + { + "name": "The direction.", + "class": "direction", + "properties": { + "direction": { + "attribute": "_DIRECTION" + } + } + } + ] + } + }, "bufferViews": [ { "buffer": 0, @@ -281,15 +429,56 @@ "buffer": 0, "byteOffset": 1584, "byteLength": 144 + }, + { + "buffer": 0, + "byteOffset": 1728, + "byteLength": 432 + }, + { + "buffer": 0, + "byteOffset": 2160, + "byteLength": 144 + }, + { + "buffer": 0, + "byteOffset": 2304, + "byteLength": 48, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 2352, + "byteLength": 296, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 2648, + "byteLength": 68, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 2716, + "byteLength": 164, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 2880, + "byteLength": 20, + "target": 34963 } ], "buffers": [ { - "byteLength": 1728, + "byteLength": 2900, "uri": "buffer0.bin" } ], "extensionsUsed": [ - "EXT_mesh_features" + "EXT_mesh_features", + "EXT_structural_metadata" ] } diff --git a/testdata/BoxesMeta/glTF/buffer0.bin b/testdata/BoxesMeta/glTF/buffer0.bin index 86ecdc44..c8c35787 100644 Binary files a/testdata/BoxesMeta/glTF/buffer0.bin and b/testdata/BoxesMeta/glTF/buffer0.bin differ diff --git a/testdata/ZeroLengthBufferView/ZeroLengthBufferView.bin b/testdata/ZeroLengthBufferView/ZeroLengthBufferView.bin new file mode 100644 index 00000000..9d268a99 Binary files /dev/null and b/testdata/ZeroLengthBufferView/ZeroLengthBufferView.bin differ diff --git a/testdata/ZeroLengthBufferView/ZeroLengthBufferView.gltf b/testdata/ZeroLengthBufferView/ZeroLengthBufferView.gltf new file mode 100644 index 00000000..5f5fda60 --- /dev/null +++ b/testdata/ZeroLengthBufferView/ZeroLengthBufferView.gltf @@ -0,0 +1,130 @@ +{ + "asset": { + "generator": "by_hand", + "version": "2.0" + }, + "scenes": [ + { + "nodes": [ + 0 + ] + } + ], + "scene": 0, + "nodes": [ + { + "mesh": 0 + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 1 + }, + "indices": 0, + "mode": 4, + "material": 0 + } + ] + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "baseColorFactor": [ + 1, + 1, + 1, + 1 + ], + "metallicFactor": 0 + } + } + ], + "accessors": [ + { + "bufferView": 0, + "componentType": 5121, + "count": 6, + "type": "SCALAR" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 4, + "max": [ + 1, + 1, + 0 + ], + "min": [ + 0, + 0, + 0 + ], + "type": "VEC3" + } + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "classes": { + "class": { + "properties": { + "entity_id": { + "type": "STRING" + } + } + } + } + }, + "propertyTables": [ + { + "class": "class", + "count": 1, + "properties": { + "entity_id": { + "values": 2, + "stringOffsetType": "UINT8", + "stringOffsets": 3 + } + } + } + ], + "propertyAttributes": [] + } + }, + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 8 + }, + { + "buffer": 0, + "byteOffset": 8, + "byteLength": 48 + }, + { + "buffer": 0, + "byteOffset": 56, + "byteLength": 0 + }, + { + "buffer": 0, + "byteOffset": 56, + "byteLength": 4 + } + ], + "buffers": [ + { + "byteLength": 60, + "uri": "ZeroLengthBufferView.bin" + } + ], + "extensionsUsed": [ + "EXT_structural_metadata" + ] +} diff --git a/testdata/this_is_png.jpg b/testdata/this_is_png.jpg new file mode 100644 index 00000000..4f3606de Binary files /dev/null and b/testdata/this_is_png.jpg differ diff --git a/testdata/trailing_zero.jpg b/testdata/trailing_zero.jpg new file mode 100644 index 00000000..b9ae73d6 Binary files /dev/null and b/testdata/trailing_zero.jpg differ diff --git a/testdata/two_objects_inverse_materials.bin b/testdata/two_objects_inverse_materials.bin new file mode 100644 index 00000000..c84811c6 Binary files /dev/null and b/testdata/two_objects_inverse_materials.bin differ diff --git a/testdata/two_objects_inverse_materials.gltf b/testdata/two_objects_inverse_materials.gltf new file mode 100644 index 00000000..cd4a6fb7 --- /dev/null +++ b/testdata/two_objects_inverse_materials.gltf @@ -0,0 +1,217 @@ +{ + "asset" : { + "generator" : "Khronos glTF Blender I/O v3.4.50", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 0, + 1 + ] + } + ], + "nodes" : [ + { + "mesh" : 0, + "name" : "Cube" + }, + { + "mesh" : 1, + "name" : "Icosphere", + "translation" : [ + 0, + 0, + -2.8181216716766357 + ] + } + ], + "materials" : [ + { + "doubleSided" : true, + "name" : "Green", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.0, + 1.0, + 0.0, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.5 + } + }, + { + "doubleSided" : true, + "name" : "Red", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 1.0, + 0.0, + 0.0, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.5 + } + } + ], + "meshes" : [ + { + "name" : "Cube", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "TEXCOORD_0" : 1, + "NORMAL" : 2 + }, + "indices" : 3, + "material" : 1 + } + ] + }, + { + "name" : "Icosphere", + "primitives" : [ + { + "attributes" : { + "POSITION" : 4, + "TEXCOORD_0" : 5, + "NORMAL" : 6 + }, + "indices" : 7, + "material" : 0 + } + ] + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 24, + "max" : [ + 1, + 1, + 1 + ], + "min" : [ + -1, + -1, + -1 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 24, + "type" : "VEC2" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 24, + "type" : "VEC3" + }, + { + "bufferView" : 3, + "componentType" : 5123, + "count" : 36, + "type" : "SCALAR" + }, + { + "bufferView" : 4, + "componentType" : 5126, + "count" : 240, + "max" : [ + 0.9510578513145447, + 1, + 0.9999999403953552 + ], + "min" : [ + -0.9510578513145447, + -1, + -0.9999999403953552 + ], + "type" : "VEC3" + }, + { + "bufferView" : 5, + "componentType" : 5126, + "count" : 240, + "type" : "VEC2" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 240, + "type" : "VEC3" + }, + { + "bufferView" : 7, + "componentType" : 5123, + "count" : 240, + "type" : "SCALAR" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 288, + "byteOffset" : 0, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 192, + "byteOffset" : 288, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 288, + "byteOffset" : 480, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 72, + "byteOffset" : 768, + "target" : 34963 + }, + { + "buffer" : 0, + "byteLength" : 2880, + "byteOffset" : 840, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 1920, + "byteOffset" : 3720, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 2880, + "byteOffset" : 5640, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 480, + "byteOffset" : 8520, + "target" : 34963 + } + ], + "buffers" : [ + { + "byteLength" : 9000, + "uri" : "two_objects_inverse_materials.bin" + } + ] +} diff --git a/unity/Plugin/libdracodec_unity_android.tar.bz b/unity/Plugin/libdracodec_unity_android.tar.bz index 64007717..3ee48abf 100644 Binary files a/unity/Plugin/libdracodec_unity_android.tar.bz and b/unity/Plugin/libdracodec_unity_android.tar.bz differ diff --git a/unity/Plugin/libdracodec_unity_ios.tar.bz b/unity/Plugin/libdracodec_unity_ios.tar.bz index 1dfd1edf..0a54bff1 100644 Binary files a/unity/Plugin/libdracodec_unity_ios.tar.bz and b/unity/Plugin/libdracodec_unity_ios.tar.bz differ diff --git a/unity/Plugin/libdracodec_unity_macos.tar.bz b/unity/Plugin/libdracodec_unity_macos.tar.bz index 615c9437..997dc587 100644 Binary files a/unity/Plugin/libdracodec_unity_macos.tar.bz and b/unity/Plugin/libdracodec_unity_macos.tar.bz differ diff --git a/unity/Plugin/libdracodec_unity_windows.tar.bz b/unity/Plugin/libdracodec_unity_windows.tar.bz index dd1d4665..aef32bba 100644 Binary files a/unity/Plugin/libdracodec_unity_windows.tar.bz and b/unity/Plugin/libdracodec_unity_windows.tar.bz differ